├── .config
└── dotnet-tools.json
├── .gitattributes
├── .gitignore
├── .gitlab-ci.yml
├── .gitmodules
├── .travis.yml
├── .vscode
├── launch.json
└── tasks.json
├── AvalonBuild
├── avalon.ps1
├── avalon.sh
├── packages.config
└── packages.linux.config
├── AvalonStudio
├── .gitignore
├── AvalonStudio.Controls.Editor
│ ├── AvalonStudio.Controls.Editor.csproj
│ ├── AvaloniaEditExtensions.cs
│ ├── AvaloniaEditTextDocumentAdaptor.cs
│ ├── BracketMatchingBackgroundRenderer.cs
│ ├── BreakPointMargin.cs
│ ├── CodeEditor.cs
│ ├── CodeEditor.xaml
│ ├── CodeEditorToolTip.xaml
│ ├── CodeEditorToolTip.xaml.cs
│ ├── CodeHighlighter.cs
│ ├── Commands
│ │ └── EditorCommands.cs
│ ├── Completion
│ │ ├── CompletionDataViewModel.cs
│ │ ├── CompletionKindExtensions.cs
│ │ └── IIntellisenseControl.cs
│ ├── CompletionAssistantView.xaml
│ ├── CompletionAssistantView.xaml.cs
│ ├── CompletionAssistantViewModel.cs
│ ├── ContextActions
│ │ ├── CodeActionExtensions.cs
│ │ ├── ContextActionsBulbPopup.cs
│ │ ├── ContextActionsMargin.cs
│ │ └── ContextActionsRenderer.cs
│ ├── DocumentUtilities.cs
│ ├── EditorExtensions.cs
│ ├── EditorSettingsView.xaml
│ ├── EditorSettingsView.xaml.cs
│ ├── EditorSettingsViewModel.cs
│ ├── EditorView.xaml
│ ├── EditorView.xaml.cs
│ ├── ErrorProbe.paml.cs
│ ├── ErrorProbeView.paml
│ ├── ErrorProbeViewModel.cs
│ ├── Highlighting
│ │ ├── CustomHightlightingLoader.cs
│ │ └── Resources
│ │ │ ├── Resources.cs
│ │ │ └── XML-Mode.xshd
│ ├── Intellisense.paml.cs
│ ├── Intellisense.xaml
│ ├── IntellisenseAssistantUserControl.xaml
│ ├── IntellisenseAssistantUserControl.xaml.cs
│ ├── IntellisenseManager.cs
│ ├── IntellisenseUserControl.xaml
│ ├── IntellisenseUserControl.xaml.cs
│ ├── IntellisenseViewModel.cs
│ ├── LineNumberMargin.cs
│ ├── ParameterSymbolViewModel.cs
│ ├── ParameterViewModel.cs
│ ├── RenameControl.xaml
│ ├── RenameControl.xaml.cs
│ ├── ScopeLineBackgroundRenderer.cs
│ ├── SignatureHelpView.paml
│ ├── SignatureHelpView.paml.cs
│ ├── SignatureHelpViewModel.cs
│ ├── SignatureView.xaml
│ ├── SignatureView.xaml.cs
│ ├── SignatureViewModel.cs
│ ├── Snippets
│ │ ├── CodeSnippet.cs
│ │ ├── DefaultSnippetElementProvider.cs
│ │ ├── Extensions.cs
│ │ ├── ISnippetElementProvider.cs
│ │ ├── SnippetManager.cs
│ │ └── SnippetParser.cs
│ ├── SymbolView.xaml
│ ├── SymbolView.xaml.cs
│ └── SymbolViewModel.cs
├── AvalonStudio.Controls.Standard.Tests
│ ├── AvalonStudio.Controls.Standard.Tests.csproj
│ ├── SnippetParserTests.cs
│ └── TestLanguageService.cs
├── AvalonStudio.Controls.Standard
│ ├── AboutScreen
│ │ ├── AboutDialogView.paml
│ │ ├── AboutDialogView.paml.cs
│ │ ├── AboutDialogViewModel.cs
│ │ └── Assets
│ │ │ ├── logo-256.ico
│ │ │ ├── logo-256.png
│ │ │ ├── logo-65.png
│ │ │ └── logo.png
│ ├── AvalonStudio.Controls.Standard.csproj
│ ├── Console
│ │ ├── ConsoleCommands.cs
│ │ ├── ConsoleMainMenuItems.cs
│ │ ├── ConsoleView.paml
│ │ ├── ConsoleView.paml.cs
│ │ └── ConsoleViewModel.cs
│ ├── ErrorList
│ │ ├── ErrorListCommands.cs
│ │ ├── ErrorListMainMenuItems.cs
│ │ ├── ErrorListView.paml
│ │ ├── ErrorListView.paml.cs
│ │ └── ErrorListViewModel.cs
│ ├── ExtensionManagerDialog
│ │ ├── ExtensionManagerDialogView.paml
│ │ ├── ExtensionManagerDialogView.paml.cs
│ │ └── ExtensionManagerDialogViewModel.cs
│ ├── FindInFiles
│ │ ├── Commands
│ │ │ └── FindInFilesCommands.cs
│ │ ├── FindInFilesService.cs
│ │ ├── FindInFilesView.xaml
│ │ ├── FindInFilesView.xaml.cs
│ │ ├── FindInFilesViewModel.cs
│ │ ├── FindResultViewModel.cs
│ │ ├── IFindInFilesService.cs
│ │ └── MainMenu
│ │ │ └── FindInFilesMainMenuItems.cs
│ ├── ITooltipDataProvider.cs
│ ├── SettingsDialog
│ │ ├── SettingsDialogView.xaml
│ │ ├── SettingsDialogView.xaml.cs
│ │ └── SettingsDialogViewModel.cs
│ ├── SolutionExplorer
│ │ ├── Commands
│ │ │ └── SolutionExplorerCommands.cs
│ │ ├── Extensions.cs
│ │ ├── GenericProjectItemViewModel.cs
│ │ ├── GenericSolutionItemViewModel.cs
│ │ ├── ISolutionExplorer.cs
│ │ ├── ISolutionParentViewModel.cs
│ │ ├── Icons
│ │ │ └── Icons.xaml
│ │ ├── MainMenu
│ │ │ └── SolutionExplorerMainMenuItems.cs
│ │ ├── NewItemDialog.paml.cs
│ │ ├── NewItemDialogView.paml
│ │ ├── NewItemDialogViewModel.cs
│ │ ├── NewProjectDialogView.paml
│ │ ├── NewProjectDialogView.paml.cs
│ │ ├── NewProjectDialogViewModel.cs
│ │ ├── ProjectConfigurationDialogView.paml
│ │ ├── ProjectConfigurationDialogView.paml.cs
│ │ ├── ProjectConfigurationDialogViewModel.cs
│ │ ├── ProjectFolderViewModel.cs
│ │ ├── ProjectItemViewModel.cs
│ │ ├── ProjectViewModel.cs
│ │ ├── ReferenceFolderViewModel.cs
│ │ ├── ReferenceViewModel.cs
│ │ ├── SolutionExplorerView.paml
│ │ ├── SolutionExplorerView.paml.cs
│ │ ├── SolutionExplorerViewModel.cs
│ │ ├── SolutionExplorerViewModelExtensions.cs
│ │ ├── SolutionFolderViewModel.cs
│ │ ├── SolutionItemViewModel.cs
│ │ ├── SolutionParentViewModel.cs
│ │ ├── SolutionViewModel.cs
│ │ ├── SourceFileViewModel.cs
│ │ ├── StandardProjectViewModel.cs
│ │ ├── TemplateParameterViewModel.cs
│ │ ├── TemplateView.xaml
│ │ ├── TemplateView.xaml.cs
│ │ ├── TemplateViewModel.cs
│ │ ├── TextTemplateParameter.xaml
│ │ └── TextTemplateParameter.xaml.cs
│ ├── Terminal
│ │ ├── Commands
│ │ │ └── TerminalCommands.cs
│ │ ├── TerminalView.xaml
│ │ ├── TerminalView.xaml.cs
│ │ └── TerminalViewModel.cs
│ └── WelcomeScreen
│ │ ├── NewsFeed.cs
│ │ ├── RecentProject.cs
│ │ ├── RecentProjectViewModel.cs
│ │ ├── RecentProjectsCollection.cs
│ │ ├── VideoFeed.cs
│ │ ├── WelcomeScreen.paml.cs
│ │ ├── WelcomeScreenView.paml
│ │ └── WelcomeScreenViewModel.cs
├── AvalonStudio.Debugging.ClrDbg
│ ├── AvalonStudio.Debugging.ClrDbg.csproj
│ ├── NetCoreDebugAdaptor.cs
│ └── Properties
│ │ └── AssemblyInfo.cs
├── AvalonStudio.Debugging.Controls
│ ├── AvalonStudio.Debugging.Controls.csproj
│ ├── CallStackView.paml
│ ├── CallStackView.paml.cs
│ ├── CallStackViewModel.cs
│ ├── DebugHoverProbe.paml.cs
│ ├── DebugHoverProbeView.paml
│ ├── DebugHoverProbeViewModel.cs
│ ├── DisassemblyView.paml
│ ├── DisassemblyView.paml.cs
│ ├── DisassemblyViewModel.cs
│ ├── GenericMemoryBytesViewModel.cs
│ ├── InstructionLineViewModel.cs
│ ├── LocalsView.paml
│ ├── LocalsView.paml.cs
│ ├── LocalsViewModel.cs
│ ├── MemoryByteViewModel.cs
│ ├── MemoryBytesViewModel.cs
│ ├── MemoryView.paml
│ ├── MemoryView.paml.cs
│ ├── MemoryViewModel.cs
│ ├── RegisterViewModel.cs
│ ├── RegistersView.xaml
│ ├── RegistersView.xaml.cs
│ ├── RegistersViewModel.cs
│ ├── SourceLineViewModel.cs
│ ├── VariableControlView.paml
│ ├── VariableControlView.paml.cs
│ ├── WatchListView.paml
│ ├── WatchListView.paml.cs
│ ├── WatchListViewModel.cs
│ └── WatchViewModel.cs
├── AvalonStudio.Debugging.GDB.JLink
│ ├── AvalonStudio.Debugging.GDB.JLink.csproj
│ ├── JLinkDebugger.cs
│ ├── JLinkGdbSession.cs
│ ├── JLinkSettings.cs
│ ├── JLinkSettingsFormView.xaml
│ ├── JLinkSettingsFormView.xaml.cs
│ ├── JLinkSettingsFormViewModel.cs
│ └── JLinkTargetDeviceViewModel.cs
├── AvalonStudio.Debugging.GDB.Local
│ ├── AvalonStudio.Debugging.GDB.Local.csproj
│ └── LocalGdbDebugger.cs
├── AvalonStudio.Debugging.GDB.OpenOCD
│ ├── AvalonStudio.Debugging.GDB.OpenOCD.csproj
│ ├── OpenOCDSettings.cs
│ ├── OpenOCDSettingsFormView.xaml
│ ├── OpenOCDSettingsFormView.xaml.cs
│ └── OpenOCDSettingsFormViewModel.cs
├── AvalonStudio.Debugging.GDB.Remote
│ ├── AvalonStudio.Debugging.GDB.Remote.csproj
│ ├── RemoteGdbDebugger.cs
│ ├── RemoteGdbSession.cs
│ ├── RemoteGdbSettings.cs
│ ├── RemoteGdbSettingsFormView.xaml
│ ├── RemoteGdbSettingsFormView.xaml.cs
│ └── RemoteGdbSettingsFormViewModel.cs
├── AvalonStudio.Debugging.GDB
│ ├── AvalonStudio.Debugging.GDB.csproj
│ ├── CommandStatus.cs
│ ├── GdbBacktrace.cs
│ ├── GdbCommandResult.cs
│ ├── GdbDissassemblyBuffer.cs
│ ├── GdbEvent.cs
│ ├── GdbSession.cs
│ ├── GdbSessionFactory.cs
│ └── ResultData.cs
├── AvalonStudio.Debugging
│ ├── AvalonStudio.Debugging.csproj
│ ├── BreakPoint.cs
│ ├── Commands
│ │ └── DebugCommands.cs
│ ├── DebugManager2.cs
│ ├── DisassembledLine.cs
│ ├── DisassemblyViewTextColorizer.cs
│ ├── ExtendedDebuggerSession.cs
│ ├── FrameViewModel.cs
│ ├── IDebugManager2.cs
│ ├── IDebugger.cs
│ ├── IWatchList.cs
│ ├── Icons
│ │ └── Icons.xaml
│ ├── InstructionLine.cs
│ ├── LineViewModel.cs
│ ├── LiveBreakPoint.cs
│ ├── MainMenu
│ │ └── DebugMainMenuItems.cs
│ ├── MemoryBytes.cs
│ ├── MenuDefinitions.cs
│ ├── Register.cs
│ ├── SourceLine.cs
│ ├── Toolbars
│ │ └── DebugToolbarItems.cs
│ └── WatchPoint.cs
├── AvalonStudio.Extensibility.Editor
│ ├── AvalonStudio.Extensibility.Editor.csproj
│ ├── CodeEditorView.xaml
│ ├── CodeEditorView.xaml.cs
│ ├── CodeEditorViewModel.cs
│ ├── TextEditorView.cs
│ ├── TextEditorView.xaml
│ └── TextEditorViewModel.cs
├── AvalonStudio.Extensibility.Tests
│ ├── AvalonStudio.Extensibility.Tests.csproj
│ ├── CIndentationTests.cs
│ ├── EnvironmentVariableExpansionTests.cs
│ ├── FilePathComparisonTests.cs
│ ├── FuzzyMatchTests.cs
│ ├── TestEditorManager.cs
│ ├── TestProject.cs
│ ├── UnsavedFileUnitTests.cs
│ └── VisualStudioSolutionTests.cs
├── AvalonStudio.Extensibility
│ ├── AvalonStudio.Extensibility.csproj
│ ├── CommandLineTools
│ │ ├── PlatformSupport.cs
│ │ ├── ShellExecuteResult.cs
│ │ └── ShellExecutorType.cs
│ ├── CompletionAssistance
│ │ └── Languages
│ │ │ ├── Parameter.cs
│ │ │ ├── Signature.cs
│ │ │ └── SignatureException.cs
│ ├── Debugging
│ │ ├── DebugHighlightLocation.cs
│ │ ├── ExportDebuggerAttribute.cs
│ │ └── IDebugger.cs
│ ├── Documents
│ │ ├── IFileDocumentTabViewModel.cs
│ │ ├── ITextDocument.cs
│ │ ├── SimpleSegment.cs
│ │ ├── TextUtilities.cs
│ │ └── TooltipDataRequestEventArgs.cs
│ ├── Editor
│ │ ├── AutoBrackedInputHelper.cs
│ │ ├── CBasedLanguageIndentationInputHelper.cs
│ │ ├── ColorScheme.cs
│ │ ├── ColumnLimitBackgroundRenderer.cs
│ │ ├── DefaultIndentationInputHelper.cs
│ │ ├── EditorExtensions.cs
│ │ ├── EditorSettings.cs
│ │ ├── EditorViewModel.cs
│ │ ├── GenericLineTransformer.cs
│ │ ├── ITextEditorInputHelper.cs
│ │ ├── SelectedDebugLineBackgroundRenderer.cs
│ │ ├── SelectedLineBackgroundRenderer.cs
│ │ ├── SelectedWordBackgroundRenderer.cs
│ │ ├── SelectionBackgroundRenderer.cs
│ │ ├── TextMarkerService.cs
│ │ └── TextTransformation.cs
│ ├── IInstallable.cs
│ ├── Languages
│ │ ├── AccessType.cs
│ │ ├── CodeAnalysisResults.cs
│ │ ├── CodeCompletionData.cs
│ │ ├── CodeCompletionResults.cs
│ │ ├── CodeFix.cs
│ │ ├── CompletionAssistance
│ │ │ ├── ICompletionAssistant.cs
│ │ │ └── SignatureHelpModels.cs
│ │ ├── CompletionContext.cs
│ │ ├── ContentTypeMetadata.cs
│ │ ├── ContentTypeService.cs
│ │ ├── CursorKind.cs
│ │ ├── Diagnostic.cs
│ │ ├── ExportContentTypeAttribute.cs
│ │ ├── ExportContractNames.cs
│ │ ├── ExportLanguageServiceProviderAttribute.cs
│ │ ├── FileExtensionsAttribute.cs
│ │ ├── GotoDefinitionInfo.cs
│ │ ├── IContentType.cs
│ │ ├── IContentTypeService.cs
│ │ ├── ILanguageService.cs
│ │ ├── ILanguageServiceProvider.cs
│ │ ├── ISyntaxHighlightingProvider.cs
│ │ ├── IndexEntry.cs
│ │ ├── LanguageServiceProviderMetadata.cs
│ │ ├── LineColumnSyntaxHighlightingData.cs
│ │ ├── LinePositionSpanTextChange.cs
│ │ ├── LinkageKind.cs
│ │ ├── OffsetSyntaxHighlightingData.cs
│ │ ├── ParamterSymbol.cs
│ │ ├── QuickInfoResult.cs
│ │ ├── QuickInfoView.xaml
│ │ ├── QuickInfoView.xaml.cs
│ │ ├── QuickInfoViewModel.cs
│ │ ├── Symbol.cs
│ │ ├── SymbolRenameInfo.cs
│ │ ├── SyntaxHighlightingData.cs
│ │ ├── TextColoringTransformer.cs
│ │ └── UnsavedFile.cs
│ ├── Platforms
│ │ ├── InterfaceExtensions.cs
│ │ ├── Platform.cs
│ │ ├── ProcessRunner.cs
│ │ └── Unix
│ │ │ └── MapAttribute.cs
│ ├── Projects
│ │ ├── AvalonStudioSolution.cs
│ │ ├── DotNetInfo.cs
│ │ ├── DotnetCLI.cs
│ │ ├── ExportProjectTypeAttribute.cs
│ │ ├── ExportSolutionTypeAttribute.cs
│ │ ├── FileSystemFile.cs
│ │ ├── FileSystemFolder.cs
│ │ ├── FileSystemProject.cs
│ │ ├── IItem.cs
│ │ ├── IProject.cs
│ │ ├── IProjectExtensions.cs
│ │ ├── IProjectFolder.cs
│ │ ├── IProjectItem.cs
│ │ ├── IProjectType.cs
│ │ ├── IProjectTypeMetadata.cs
│ │ ├── IReferenceFolder.cs
│ │ ├── ISolution.cs
│ │ ├── ISolutionFolder.cs
│ │ ├── ISolutionItem.cs
│ │ ├── ISolutionType.cs
│ │ ├── ISolutionTypeMetadata.cs
│ │ ├── ISourceFile.cs
│ │ ├── MSBuildSolution
│ │ │ ├── FileManipulation
│ │ │ │ └── FileUtil.cs
│ │ │ ├── LocalizableStrings.Designer.cs
│ │ │ ├── LocalizableStrings.resx
│ │ │ ├── PathUtility.cs
│ │ │ ├── ProjectTypeGuids.cs
│ │ │ └── SlnFile.cs
│ │ ├── Project.cs
│ │ ├── ProjectTypeMetadata.cs
│ │ ├── SolutionExtensions.cs
│ │ ├── SolutionFolder.cs
│ │ ├── SolutionTypeMetadata.cs
│ │ ├── UnresolvedReference.cs
│ │ ├── UnsupportedProjectType.cs
│ │ ├── VisualStudioSolution.cs
│ │ └── VisualStudioSolutionType.cs
│ ├── Shell
│ │ ├── BuildEventArgs.cs
│ │ ├── DebugToolAttribute.cs
│ │ ├── ExportEditorProviderAttribute.cs
│ │ ├── IEditorProvider.cs
│ │ ├── IWorkspaceTaskRunner.cs
│ │ ├── ShellExtensions.cs
│ │ ├── SolutionChangedEventArgs.cs
│ │ └── WorkspaceTaskRunner.cs
│ ├── Studio
│ │ └── IStudio.cs
│ ├── Templating
│ │ ├── DotNetTemplateAdaptor.cs
│ │ ├── DotnetTemplateParameterAdaptor.cs
│ │ ├── ExtendedTemplateEngineHost.cs
│ │ ├── HelpForTemplateResolution.cs
│ │ ├── ITemplate.cs
│ │ ├── Installer.cs
│ │ ├── TemplateInfoExtensions.cs
│ │ ├── TemplateKind.cs
│ │ └── TemplateManager.cs
│ ├── TestFrameworks
│ │ ├── ExportTestFrameworkAttribute.cs
│ │ ├── ITestFramework.cs
│ │ └── Test.cs
│ ├── Threading
│ │ └── JobRunner.cs
│ ├── Toolchains
│ │ ├── ExportToolchainAttribute.cs
│ │ └── IToolchain.cs
│ └── Utils
│ │ ├── ByteSizeHelper.cs
│ │ ├── ChangingOutput.cs
│ │ ├── Constants.cs
│ │ ├── DynamicExtensions.cs
│ │ ├── ErrorViewModel.cs
│ │ ├── FuzzyMatch.cs
│ │ ├── GeneralExtensions.cs
│ │ ├── IConsole.cs
│ │ ├── IErrorList.cs
│ │ ├── SemanticVersion.cs
│ │ ├── StringUtils.cs
│ │ ├── TcpUtils.cs
│ │ └── WeakSubscriber.cs
├── AvalonStudio.LanguageSupport.TypeScript
│ ├── AvalonStudio.LanguageSupport.TypeScript.csproj
│ ├── Debugging
│ │ └── JSConsoleAdapter.cs
│ ├── LanguageService
│ │ ├── ContentCapabilities.cs
│ │ ├── ContentTypes.cs
│ │ ├── TypeScriptDataAssociation.cs
│ │ ├── TypeScriptLanguageService.cs
│ │ └── TypeScriptLanguageServiceProvider.cs
│ ├── Projects
│ │ └── TypeScriptProject.cs
│ └── Toolchain
│ │ └── TypeScriptToolchain.cs
├── AvalonStudio.Languages.CPlusPlus
│ ├── AvalonStudio.Languages.CPlusPlus.csproj
│ ├── CPlusPlusEditorProvider.cs
│ ├── CPlusPlusLanguageService.cs
│ ├── CPlusPlusLanguageServiceProvider.cs
│ ├── ClangFormat.cs
│ ├── ClangFormatSettings.cs
│ ├── ContentCapabilities.cs
│ ├── ContentTypes.cs
│ ├── DefineTextLineTransformer.cs
│ ├── IncludeTextLineTransformer.cs
│ ├── IndentationReformatter.cs
│ ├── PragmaMarkTextLineTransformer.cs
│ └── Snippets
│ │ └── cpp
│ │ ├── class.snippet
│ │ ├── for.snippet
│ │ ├── if.snippet
│ │ ├── ipropfull.snippet
│ │ ├── iroprop.snippet
│ │ ├── ppropfull.snippet
│ │ ├── proprop.snippet
│ │ └── while.snippet
├── AvalonStudio.Languages.CSharp
│ ├── AvalonStudio.Languages.CSharp.csproj
│ ├── CSharpDataAssociation.cs
│ ├── CSharpLanguageService.cs
│ ├── CSharpLanguageServiceProvider.cs
│ ├── CodeActionCommand.cs
│ ├── ContentCapabilities.cs
│ ├── ContentTypes.cs
│ ├── DocumentationComment.cs
│ ├── DocumentationConverter.cs
│ ├── IndentationReformatter.cs
│ ├── IndexBuilder.cs
│ ├── InvocationContext.cs
│ ├── MetaDataEditorProvider.cs
│ ├── MetaDataFile.cs
│ ├── MetaDataHelper.cs
│ ├── RoslynCodeAction.cs
│ ├── RoslynCodeActionOperation.cs
│ ├── RoslynContextActionProvider.cs
│ ├── SignatureHelpExtensionMethods.cs
│ ├── Snippets
│ │ └── cs
│ │ │ ├── propav.snippet
│ │ │ ├── propfull.snippet
│ │ │ └── proprxui.snippet
│ ├── SymbolExtensions.cs
│ └── TextChanges.cs
├── AvalonStudio.Languages.Xaml.Tests
│ ├── AvalonStudio.Languages.Xaml.Tests.csproj
│ └── XmlIndentationTests.cs
├── AvalonStudio.Languages.Xaml
│ ├── AvalonStudio.Languages.Xaml.csproj
│ ├── AvaloniaPreviewer.cs
│ ├── AvaloniaPreviewer.xaml
│ ├── CompleteCloseTagCodeEditorHelper.cs
│ ├── ContentCapabilities.cs
│ ├── ContentTypes.cs
│ ├── InsertExtraNewLineBetweenAttributesOnEnterCodeInputHelper.cs
│ ├── InsertQuotesForPropertyValueCodeEditorHelper.cs
│ ├── RemoteWidget.cs
│ ├── TerminateElementCodeEditorHelper.cs
│ ├── XamlEditorProvider.cs
│ ├── XamlEditorView.xaml
│ ├── XamlEditorView.xaml.cs
│ ├── XamlEditorViewModel.cs
│ ├── XamlIndentationStrategy.cs
│ ├── XamlLanguageService.cs
│ ├── XamlLanguageServiceProvider.cs
│ ├── XmlIndentationTextInputHelper.cs
│ ├── XmlLanguageService.cs
│ └── XmlLanguageServiceProvider.cs
├── AvalonStudio.Projects.CPlusPlus
│ ├── AvalonStudio.Projects.CPlusPlus.csproj
│ ├── BuildEventsSettings.cs
│ ├── BuildEventsSettingsForm.xaml.cs
│ ├── BuildEventsSettingsFormView.xaml
│ ├── BuildEventsSettingsFormViewModel.cs
│ ├── CPlusPlusProject.cs
│ ├── CPlusPlusProjectType.cs
│ ├── ComponentSettingsForm.paml
│ ├── ComponentSettingsForm.paml.cs
│ ├── DebuggerSettingsForm.paml.cs
│ ├── DebuggerSettingsFormView.paml
│ ├── DebuggerSettingsFormViewModel.cs
│ ├── DefineViewModel.cs
│ ├── IncludePathSettingsForm.paml.cs
│ ├── IncludePathSettingsFormView.paml
│ ├── IncludePathSettingsFormViewModel.cs
│ ├── IncludeViewModel.cs
│ ├── Reference.cs
│ ├── ReferenceSettingsFormView.paml
│ ├── ReferenceSettingsFormViewModel.cs
│ ├── ReferenceViewModel.cs
│ ├── ReferencesSettingsForm.paml.cs
│ ├── TargetSettingsForm.paml
│ ├── TargetSettingsForm.paml.cs
│ ├── TargetSettingsFormViewModel.cs
│ ├── Templates
│ │ ├── CppClass.template.cshtml
│ │ └── CppClassHeader.template.cshtml
│ ├── ToolchainSettingsForm.paml.cs
│ ├── ToolchainSettingsFormView.paml
│ ├── ToolchainSettingsFormViewModel.cs
│ ├── TypeSettingsForm.paml.cs
│ ├── TypeSettingsFormView.paml
│ └── TypeSettingsFormViewModel.cs
├── AvalonStudio.Projects.OmniSharp
│ ├── AvalonStudio.Projects.OmniSharp.csproj
│ ├── AvalonStudioSymbolRenamedCodeActionOperationFactoryWorkspaceService.cs
│ ├── Debugger
│ │ ├── DotNetCoreDebugSessionProvider.cs
│ │ ├── PdbSymbolReader.cs
│ │ ├── PdbSymbolReaderFactory.cs
│ │ ├── SymbolMethod.cs
│ │ ├── SymbolScope.cs
│ │ └── SymbolVariable.cs
│ ├── Extensions.cs
│ ├── MSBuild
│ │ ├── Helpers.cs
│ │ └── MSBuildHost.cs
│ ├── OmniSharp
│ │ ├── AutoCompleteOmniSharpRequest.cs
│ │ ├── CheckReadyStatusRequest.cs
│ │ ├── CompletionData.cs
│ │ ├── CsxFileProjects.cs
│ │ ├── CsxLoadReferences.cs
│ │ ├── CsxReferences.cs
│ │ ├── CsxUsings.cs
│ │ ├── DotNet.cs
│ │ ├── Highlight.cs
│ │ ├── HighlightOmniSharpRequest.cs
│ │ ├── MsBuild.cs
│ │ ├── OmniSharpHighlightData.cs
│ │ ├── OmniSharpRequest.cs
│ │ ├── OmniSharpServer.cs
│ │ ├── Project.cs
│ │ ├── ProjectInformationRequest.cs
│ │ ├── ScriptCs.cs
│ │ ├── SignatureHelpOmniSharpRequest.cs
│ │ ├── Workspace.cs
│ │ └── WorkspaceInformationRequest.cs
│ ├── OmniSharpProject.cs
│ ├── ProjectTypes
│ │ ├── CSharpProjectType.cs
│ │ └── DotNetCoreCSharpProjectType.cs
│ ├── Roslyn
│ │ ├── CodeFixService.cs
│ │ ├── Common
│ │ │ ├── NuGetConfiguration.cs
│ │ │ └── NuGetConfigurationExtensions.cs
│ │ ├── Diagnostics
│ │ │ ├── DiagnosticData.cs
│ │ │ ├── DiagnosticDataLocation.cs
│ │ │ ├── DiagnosticsService.cs
│ │ │ ├── DiagnosticsUpdatedArgs.cs
│ │ │ ├── DiagnosticsUpdatedKind.cs
│ │ │ ├── IDiagnosticService.cs
│ │ │ └── UpdatedEventArgs.cs
│ │ ├── DocumentationProvider.cs
│ │ ├── Editor
│ │ │ └── AvalonEditTextContainer.cs
│ │ ├── FileTextLoader.cs
│ │ ├── PasteTrackingService.cs
│ │ ├── RoslynWorkspace.cs
│ │ └── WorkspaceExtensions.cs
│ ├── RoslynInternalKey.Private.snk
│ └── Toolchain
│ │ ├── BuildQueue.cs
│ │ ├── BuildRunner.cs
│ │ └── MSBuildToolchain.cs
├── AvalonStudio.Projects.Standard
│ ├── AvalonStudio.Projects.Standard.csproj
│ ├── Definition.cs
│ ├── ExportableProperty.cs
│ ├── IStandardProject.cs
│ ├── Include.cs
│ └── ReferenceFolder.cs
├── AvalonStudio.Sdk
│ ├── AvalonStudio.Sdk.csproj
│ ├── GenerateExtensionManifest.cs
│ └── build
│ │ └── AvalonStudio.Sdk.targets
├── AvalonStudio.Studio
│ ├── AvalonStudio.Studio.csproj
│ ├── QuickCommander.xaml
│ ├── QuickCommander.xaml.cs
│ ├── QuickCommanderViewModel.cs
│ ├── SearchResult.xaml
│ ├── SearchResult.xaml.cs
│ ├── SearchResultViewModel.cs
│ ├── Shell
│ │ └── Commands
│ │ │ └── EditCommands.cs
│ └── StudioViewModel.cs
├── AvalonStudio.TestFrameworks.Catch
│ ├── AvalonStudio.TestFrameworks.Catch.csproj
│ └── CatchTestFramework.cs
├── AvalonStudio.TextEditor
│ ├── AvalonStudio.TextEditor.csproj
│ ├── Behaviours
│ │ └── PointerHoverBehaviour.cs
│ ├── Document
│ │ ├── DocumentChangeOperation.cs
│ │ ├── DocumentChangedEventArgs.cs
│ │ ├── DocumentLine.cs
│ │ ├── DocumentLineTree.cs
│ │ ├── DocumentTextWriter.cs
│ │ ├── IDocument.cs
│ │ ├── ILineTracker.cs
│ │ ├── ITextAnchor.cs
│ │ ├── ITextSource.cs
│ │ ├── IUndoableOperation.cs
│ │ ├── LineManager.cs
│ │ ├── LineNode.cs
│ │ ├── NewLineFinder.cs
│ │ ├── OffsetChangeMap.cs
│ │ ├── RopeTextSource.cs
│ │ ├── SimpleSegment.cs
│ │ ├── TextAnchor.cs
│ │ ├── TextAnchorNode.cs
│ │ ├── TextAnchorTree.cs
│ │ ├── TextDocument.cs
│ │ ├── TextLocation.cs
│ │ ├── TextSegment.cs
│ │ ├── TextSegmentCollection.cs
│ │ ├── TextSourceVersionProvider.cs
│ │ ├── TextUtilities.cs
│ │ ├── UndoOperationGroup.cs
│ │ ├── UndoStack.cs
│ │ └── WeakLineTracker.cs
│ ├── FormattedTextExtensions.cs
│ ├── ICloneable.cs
│ ├── Indentation
│ │ ├── CSharp
│ │ │ ├── CSharpIndentationStrategy.cs
│ │ │ ├── DocumentAssessor.cs
│ │ │ └── IndentationReformatter.cs
│ │ ├── DefaultIndentationStrategy.cs
│ │ └── IIndentationStrategy.cs
│ ├── LineNumberMargin.cs
│ ├── Rendering
│ │ ├── IBackgroundRenderer.cs
│ │ ├── IDocumentLineTransformer.cs
│ │ ├── TextInfo.cs
│ │ ├── TextTransformation.cs
│ │ ├── TextView.cs
│ │ ├── TextView.paml
│ │ ├── TextViewMargin.cs
│ │ ├── TextViewPosition.cs
│ │ ├── VisualLine.cs
│ │ └── VisualLineGeometryBuilder.cs
│ ├── TextEditor.cs
│ ├── TextEditor.paml
│ ├── TextEditorTheme.paml
│ ├── TextEditorTheme.paml.cs
│ └── Utils
│ │ ├── CallbackOnDispose.cs
│ │ ├── CharRope.cs
│ │ ├── DelayedEvents.cs
│ │ ├── Deque.cs
│ │ ├── Empty.cs
│ │ ├── ImmutableStack.cs
│ │ ├── Rope.cs
│ │ ├── RopeNode.cs
│ │ ├── RopeTextReader.cs
│ │ ├── ThrowUtil.cs
│ │ └── WeakEventManagerBase.cs
├── AvalonStudio.Toolchains.Clang
│ ├── AvalonStudio.Toolchains.Clang.csproj
│ └── ClangToolchain.cs
├── AvalonStudio.Toolchains.CustomGCC
│ ├── AvalonStudio.Toolchains.CustomGCC.csproj
│ ├── CustomGCCToolchain.cs
│ ├── CustomGCCToolchainProfiles.cs
│ ├── CustomGCCToolchainSettings.cs
│ ├── GccConfiguration.cs
│ ├── GccProfileForm.xaml.cs
│ ├── GccProfileFormView.xaml
│ ├── GccProfileFormViewModel.cs
│ ├── GccProfilesSettingsView.xaml
│ ├── GccProfilesSettingsView.xaml.cs
│ └── GccProfilesSettingsViewModel.cs
├── AvalonStudio.Toolchains.GCC
│ ├── AvalonStudio.Toolchains.GCC.csproj
│ ├── CompileSettings.cs
│ ├── CompileSettingsForm.paml.cs
│ ├── CompileSettingsFormView.paml
│ ├── CompileSettingsFormViewModel.cs
│ ├── GCCToolchain.cs
│ ├── GccToolchainSettings.cs
│ ├── LinkSettings.cs
│ ├── LinkerSettingsForm.paml.cs
│ ├── LinkerSettingsFormView.paml
│ ├── LinkerSettingsFormViewModel.cs
│ ├── SysRootSettingsFormView.xaml
│ ├── SysRootSettingsFormView.xaml.cs
│ ├── SysRootSettingsFormViewModel.cs
│ └── ToolchainSettingsViewModel.cs
├── AvalonStudio.Toolchains.LocalGCC
│ ├── AvalonStudio.Toolchains.LocalGCC.csproj
│ └── LocalGCCToolchain.cs
├── AvalonStudio.Toolchains.PublishedGCC
│ ├── AvalonStudio.Toolchains.PublishedGCC.csproj
│ ├── PublishedGCCToolchain.cs
│ ├── PublishedGCCToolchainSettings.cs
│ ├── PublishedToolchainSettingsView.xaml
│ ├── PublishedToolchainSettingsView.xaml.cs
│ └── PublishedToolchainSettingsViewModel.cs
├── AvalonStudio.Toolchains.STM32
│ ├── AvalonStudio.Toolchains.STM32.csproj
│ ├── STM32GCCToolchain.cs
│ ├── STM32ProjectSetupModalDialog.cs
│ ├── STM32ProjectSetupModalDialogView.xaml
│ └── STM32ProjectSetupModalDialogView.xaml.cs
├── AvalonStudio.Toolchains.Standard
│ ├── AvalonStudio.Toolchains.Standard.csproj
│ ├── CompileResult.cs
│ ├── LinkResult.cs
│ ├── ProcessResult.cs
│ ├── ProjectExtensions.cs
│ ├── StandardToolchain.cs
│ ├── StringBuilderConsole.cs
│ └── ToolchainSettings.cs
├── AvalonStudio.Windows.Installer
│ ├── Assets
│ │ └── License.rtf
│ ├── AvalonStudio.Installer.wixproj
│ ├── Common.wxl
│ ├── Components.wxs
│ ├── Directories.wxs
│ └── Product.wxs
├── AvalonStudio.sln
├── AvalonStudio
│ ├── App.paml
│ ├── App.paml.cs
│ ├── Assets
│ │ └── icon.ico
│ ├── AvalonStudio.csproj
│ ├── Behaviors
│ │ ├── EditorToolTipBehavior.cs
│ │ └── TooltipBehavior.cs
│ ├── Controls
│ │ ├── PackageIdentityViewModel.cs
│ │ ├── PackageManagerDialog.paml.cs
│ │ ├── PackageManagerDialogView.paml
│ │ └── PackageManagerDialogViewModel.cs
│ ├── GlobalAssemblyInfo.cs
│ ├── MainWindow.xaml
│ ├── MainWindow.xaml.cs
│ ├── MainWindowViewModel.cs
│ ├── Program.cs
│ ├── Shell
│ │ ├── Commands
│ │ │ ├── BuildCommands.cs
│ │ │ ├── EditCommands.cs
│ │ │ ├── FileCommands.cs
│ │ │ ├── HelpCommands.cs
│ │ │ └── ToolsCommands.cs
│ │ ├── MainMenu
│ │ │ ├── EditMainMenuItems.cs
│ │ │ ├── FileMainMenuItems.cs
│ │ │ ├── HelpMainMenuItems.cs
│ │ │ ├── ToolsMainMenuItems.cs
│ │ │ └── ViewMainMenuItems.cs
│ │ └── Toolbars
│ │ │ └── StandardToolbar.cs
│ └── logo-256.ico
├── AvalonStudioBuild
│ ├── App.config
│ ├── AvalonStudioBuild.csproj
│ ├── BuildOptions.cs
│ ├── CleanOptions.cs
│ ├── CompositionRoot.cs
│ ├── CreateOptions.cs
│ ├── Dockerfile
│ ├── GlobalAssemblyInfo.cs
│ ├── Options.cs
│ ├── Program.cs
│ ├── ProgramConsole.cs
│ ├── ProjectOption.cs
│ └── TestOptions.cs
├── Avalonia.Designer.HostApp
│ ├── Avalonia.Designer.HostApp.csproj
│ └── Program.cs
├── CorApi.Portable
│ ├── AppDomain.cs
│ ├── ArrayValue.cs
│ ├── Assembly.cs
│ ├── AssemblyAttributes.cs
│ ├── Chain.cs
│ ├── ChainEnumerator.cs
│ ├── Class.cs
│ ├── Controller.cs
│ ├── CorApi.Portable.csproj
│ ├── CorElemenetTypeExtra.cs
│ ├── Eval.cs
│ ├── Frame.cs
│ ├── FrameEnumerator.cs
│ ├── Generated
│ │ ├── Enumerations.cs
│ │ ├── Functions.cs
│ │ ├── Interfaces.cs
│ │ ├── LocalInterop.cs
│ │ ├── Structures.cs
│ │ └── Win32
│ │ │ ├── Enumerations.cs
│ │ │ ├── Functions.cs
│ │ │ ├── Interfaces.cs
│ │ │ └── Structures.cs
│ ├── GenericValue.cs
│ ├── HeapValue.cs
│ ├── MDA.cs
│ ├── ManagedCallback.cs
│ ├── ManagedCallback2.cs
│ ├── ManagedCallbackImpl.cs
│ ├── ManagedCallbackShadow.cs
│ ├── Mapping.xml
│ ├── Module.cs
│ ├── Process.cs
│ ├── ProcessEnumerator.cs
│ ├── ProcessExtensions.cs
│ ├── Stepper.cs
│ ├── StringValue.cs
│ ├── Thread.cs
│ ├── ThreadEnumerator.cs
│ ├── Type.cs
│ ├── TypeEnumerator.cs
│ └── Value.cs
├── Inconsolata-Regular.ttf
├── PackageManager
│ ├── Compression
│ │ ├── Implementation
│ │ │ ├── CRC.cs
│ │ │ ├── Core.cs
│ │ │ ├── LzFind.cs
│ │ │ ├── LzFindMt.cs
│ │ │ ├── LzHash.cs
│ │ │ ├── Lzma2Dec.cs
│ │ │ ├── Lzma2Enc.cs
│ │ │ ├── LzmaDec.cs
│ │ │ ├── LzmaEnc.cs
│ │ │ ├── LzmaLib.cs
│ │ │ ├── MtCoder.cs
│ │ │ ├── Threads.cs
│ │ │ └── Types.cs
│ │ ├── Lzma
│ │ │ ├── Decoder.cs
│ │ │ ├── DecoderSettings.cs
│ │ │ ├── DecoderStream.cs
│ │ │ ├── Encoder.cs
│ │ │ ├── EncoderSettings.cs
│ │ │ └── EncoderStream.cs
│ │ └── Lzma2
│ │ │ ├── Decoder.cs
│ │ │ ├── DecoderSettings.cs
│ │ │ ├── Encoder.cs
│ │ │ └── EncoderSettings.cs
│ ├── IPackageAssetLoader.cs
│ ├── PackageManager.cs
│ ├── PackageManager.csproj
│ ├── PackageManifest.cs
│ ├── SevenZip
│ │ ├── ArchiveDecoder.cs
│ │ ├── ArchiveFileModel.cs
│ │ ├── ArchiveMetadata.cs
│ │ ├── ArchiveMetadataDataReader.cs
│ │ ├── ArchiveMetadataFileFormat.cs
│ │ ├── ArchiveMetadataReader.cs
│ │ ├── ArchiveReader.cs
│ │ ├── ArchiveWriter.cs
│ │ ├── ArchivedAttributes.cs
│ │ ├── BitVector.cs
│ │ ├── CompressionMethod.cs
│ │ ├── Decoders
│ │ │ ├── AesDecoder.cs
│ │ │ ├── Bcj2Decoder.cs
│ │ │ ├── BcjDecoder.cs
│ │ │ ├── CopyDecoder.cs
│ │ │ ├── Lzma2Decoder.cs
│ │ │ ├── LzmaDecoder.cs
│ │ │ └── PpmdDecoder.cs
│ │ └── Encoders
│ │ │ ├── AesEncoder.cs
│ │ │ ├── CopyEncoder.cs
│ │ │ ├── Definition.cs
│ │ │ ├── Lzma2Encoder.cs
│ │ │ ├── LzmaEncoder.cs
│ │ │ └── Runtime.cs
│ └── Utilities
│ │ ├── CRC.cs
│ │ ├── Checksum.cs
│ │ ├── ConstrainedReadStream.cs
│ │ ├── Helper.cs
│ │ ├── Password.cs
│ │ ├── Pointer.cs
│ │ ├── Shared.cs
│ │ ├── StreamHelper.cs
│ │ ├── Trace.cs
│ │ ├── Utilities.cs
│ │ └── Utils.cs
├── SourceCodePro-Regular.ttf
├── SourceSansPro-Regular.ttf
├── build
│ └── SharedVersion.props
├── buildmono.sh
├── dependencies.sh
├── icon.ico
├── plugin
├── plugin.bat
├── postbuild
└── postbuild.bat
├── Directory.Build.props
├── Directory.Build.targets
├── LICENSE.md
├── README.md
├── appveyor.yml
├── azure-pipelines.yml
├── build.cake
├── build.ps1
├── build.sh
├── dependencies.sh
├── download.ps1
├── install-latest-dotnet.sh
├── nuget.config
├── packages
├── deb
│ ├── DEBIAN
│ │ └── control
│ └── rootfs
│ │ └── usr
│ │ └── share
│ │ └── applications
│ │ └── avalon-studio.desktop
├── osx
│ └── AvalonStudio.app
│ │ └── Contents
│ │ ├── Info.plist
│ │ └── Resources
│ │ └── icon.icns
├── package-debian.sh
└── package-osx.sh
└── tools
└── packages.config
/.config/dotnet-tools.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": 1,
3 | "isRoot": true,
4 | "tools": {
5 | "cake.tool": {
6 | "version": "1.3.0",
7 | "commands": [
8 | "dotnet-cake"
9 | ]
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/.gitlab-ci.yml:
--------------------------------------------------------------------------------
1 | image: vitalelement/avalonci:latest
2 | before_script:
3 | # Create symlinks for nuget.
4 | - mkdir -p /cache/.nuget
5 | - ln -s /cache/.nuget ~/.nuget
6 |
7 | AvalonStudio:
8 | script:
9 | # update all submodules.
10 | - git submodule sync --recursive
11 | - git submodule update --init --recursive
12 | - dotnet --info
13 | - ./build.sh
14 | - cd ./packages
15 | - ./package-debian.sh
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "debugger-libs"]
2 | path = debugger-libs
3 | url = https://github.com/VitalElement/AvalonStudio.DebuggerLibs.git
4 | [submodule "AvaloniaEdit"]
5 | path = AvaloniaEdit
6 | url = https://github.com/AvaloniaUI/AvaloniaEdit
7 | [submodule "AvalonStudio/Avalonia.Ide"]
8 | path = AvalonStudio/Avalonia.Ide
9 | url = https://github.com/kekekeks/Avalonia.Ide.git
10 | [submodule "templating"]
11 | path = templating
12 | url = https://github.com/VitalElement/templating.git
13 | [submodule "AvalonStudio.Shell"]
14 | path = AvalonStudio.Shell
15 | url = https://github.com/VitalElement/AvalonStudio.Shell.git
16 | [submodule "AvalonStudio.TerminalEmulator"]
17 | path = AvalonStudio.TerminalEmulator
18 | url = https://github.com/VitalElement/AvalonStudio.TerminalEmulator.git
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | sudo: required
2 | language: csharp
3 |
4 | # Use latest images for building
5 | group: travis_latest
6 | os:
7 | - linux
8 |
9 | dotnet: 2.1.300
10 | script:
11 | - ./build.sh --configuration "Release"
12 |
13 | notifications:
14 | webhooks:
15 | urls:
16 | - https://webhooks.gitter.im/e/abf03510b7719b383e2b
17 | on_success: change # options: [always|never|change] default: always
18 | on_failure: always # options: [always|never|change] default: always
19 | on_start: never # options: [always|never|change] default: never
20 |
--------------------------------------------------------------------------------
/.vscode/tasks.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "0.1.0",
3 | "command": "dotnet",
4 | "isShellCommand": true,
5 | "args": [],
6 | "tasks": [
7 | {
8 | "taskName": "build",
9 | "args": [
10 | "${workspaceRoot}/AvalonStudio/AvalonStudio/AvalonStudio.csproj"
11 | ],
12 | "isBuildCommand": true,
13 | "problemMatcher": "$msCompile"
14 | }
15 | ]
16 | }
--------------------------------------------------------------------------------
/AvalonBuild/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/AvalonBuild/packages.linux.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/AvalonStudio/.gitignore:
--------------------------------------------------------------------------------
1 | .idea
2 | .nuget
3 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Editor/AvalonStudio.Controls.Editor.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Editor/AvaloniaEditExtensions.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using AvaloniaEdit;
3 | using AvaloniaEdit.Document;
4 | using AvaloniaEdit.Rendering;
5 |
6 | namespace AvalonStudio.Controls.Editor
7 | {
8 | internal static class AvaloniaEditExtensions
9 | {
10 | public static Point GetPosition(this TextView textView, int line, int column)
11 | {
12 | var visualPosition = textView.GetVisualPosition(
13 | new TextViewPosition(line, column), VisualYPosition.LineBottom) - textView.ScrollOffset;
14 | return visualPosition;
15 | }
16 |
17 | public static int FindPreviousWordStart(this ITextSource textSource, int offset)
18 | {
19 | return TextUtilities.GetNextCaretPosition(textSource, offset, LogicalDirection.Backward, CaretPositioningMode.WordStart);
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Editor/CodeHighlighter.cs:
--------------------------------------------------------------------------------
1 | using AvaloniaEdit.Rendering;
2 | using System.Collections.Generic;
3 |
4 | namespace AvalonStudio.Controls.Editor
5 | {
6 | class CodeHighlighter : IVisualLineTransformer
7 | {
8 | public void Transform(ITextRunConstructionContext context, IList elements)
9 | {
10 |
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Editor/Completion/IIntellisenseControl.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace AvalonStudio.Controls.Editor.Completion
4 | {
5 | public interface IIntellisenseControl
6 | {
7 | IList CompletionData { get; set; }
8 | CompletionDataViewModel SelectedCompletion { get; set; }
9 | bool IsVisible { get; set; }
10 | }
11 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Editor/CompletionAssistantView.xaml:
--------------------------------------------------------------------------------
1 |
4 |
13 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Editor/ContextActions/CodeActionExtensions.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.Languages;
2 | using System;
3 | using System.Collections.Immutable;
4 |
5 | namespace AvalonStudio.Controls.Editor.ContextActions
6 | {
7 | public static class CodeActionExtensions
8 | {
9 | public static bool HasCodeActions(this ICodeAction codeAction)
10 | {
11 | if (codeAction == null) throw new ArgumentNullException(nameof(codeAction));
12 |
13 | return !codeAction.NestedCodeActions.IsDefaultOrEmpty;
14 | }
15 |
16 | public static ImmutableArray GetCodeActions(this ICodeAction codeAction)
17 | {
18 | if (codeAction == null) throw new ArgumentNullException(nameof(codeAction));
19 |
20 | return codeAction.NestedCodeActions;
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Editor/EditorSettingsView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Controls.Editor
5 | {
6 | public class EditorSettingsView : UserControl
7 | {
8 | public EditorSettingsView()
9 | {
10 | this.InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Editor/EditorView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.LogicalTree;
3 | using Avalonia.Markup.Xaml;
4 |
5 | namespace AvalonStudio.Extensibility.Editor
6 | {
7 | public class EditorView : UserControl
8 | {
9 | public EditorView()
10 | {
11 | InitializeComponent();
12 | }
13 |
14 | ~EditorView ()
15 | {
16 | }
17 |
18 | private void InitializeComponent()
19 | {
20 | AvaloniaXamlLoader.Load(this);
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Editor/ErrorProbe.paml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Controls.Editor
5 | {
6 | public class ErrorProbeView : UserControl
7 | {
8 | public ErrorProbeView()
9 | {
10 | this.InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Editor/ErrorProbeView.paml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Editor/ErrorProbeViewModel.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.Languages;
2 | using AvalonStudio.MVVM;
3 |
4 | namespace AvalonStudio.Controls.Editor
5 | {
6 | public class ErrorProbeViewModel : ViewModel
7 | {
8 | public ErrorProbeViewModel(Diagnostic model) : base(model)
9 | {
10 | }
11 |
12 | public string Tooltip
13 | {
14 | get
15 | {
16 | return Model.Spelling;
17 | }
18 | }
19 | }
20 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Editor/Highlighting/Resources/Resources.cs:
--------------------------------------------------------------------------------
1 | using System.IO;
2 | using System.Reflection;
3 |
4 | namespace AvalonStudio.Controls.Editor.Highlighting.Resources
5 | {
6 | internal static class Resources
7 | {
8 | private const string Prefix = "AvalonStudio.Controls.Editor.Highlighting.Resources.";
9 |
10 | public static Stream OpenStream(string name)
11 | {
12 | var s = typeof(Resources).GetTypeInfo().Assembly.GetManifestResourceStream(Prefix + name);
13 | if (s == null)
14 | throw new FileNotFoundException("The resource file '" + name + "' was not found.");
15 | return s;
16 | }
17 |
18 | internal static void RegisterBuiltInHighlightings(CustomHighlightingManager hlm)
19 | {
20 | hlm.RegisterHighlighting("XML-Mode.xshd");
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Editor/IntellisenseAssistantUserControl.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Controls.Editor
5 | {
6 | public class IntellisenseAssistantUserControl : UserControl
7 | {
8 | public IntellisenseAssistantUserControl()
9 | {
10 | this.InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Editor/IntellisenseUserControl.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Controls.Editor
5 | {
6 | public class IntellisenseUserControl : UserControl
7 | {
8 | public IntellisenseUserControl()
9 | {
10 | this.InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Editor/RenameControl.xaml:
--------------------------------------------------------------------------------
1 |
4 |
15 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Editor/SignatureHelpView.paml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Controls.Editor
5 | {
6 | public class SignatureHelpView : UserControl
7 | {
8 | public SignatureHelpView()
9 | {
10 | this.InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Editor/SignatureView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Controls.Editor
5 | {
6 | public class SignatureView : UserControl
7 | {
8 | public SignatureView()
9 | {
10 | this.InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Editor/Snippets/CodeSnippet.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace AvalonStudio.Controls.Editor.Snippets
4 | {
5 | public class CodeSnippet : IComparable
6 | {
7 | public string Name { get; set; }
8 | public string Description { get; set; }
9 | public string Snippet { get; set; }
10 |
11 | public int CompareTo(CodeSnippet other)
12 | {
13 | return Name.CompareTo(other.Name);
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Editor/Snippets/Extensions.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 |
5 | namespace AvalonStudio.Controls.Editor.Snippets
6 | {
7 | public static class Extensions
8 | {
9 | public static int FindIndex(this IList list, Func predicate)
10 | {
11 | for (int i = 0; i < list.Count; i++)
12 | {
13 | if (predicate(list[i]))
14 | {
15 | return i;
16 | }
17 | }
18 |
19 | return -1;
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Editor/Snippets/ISnippetElementProvider.cs:
--------------------------------------------------------------------------------
1 | using AvaloniaEdit.Snippets;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Text;
5 |
6 | namespace AvalonStudio.Controls.Editor.Snippets
7 | {
8 | ///
9 | /// Used in "/SharpDevelop/ViewContent/AvalonEdit/SnippetElementProviders" to allow AddIns to provide custom snippet elements.
10 | ///
11 | public interface ISnippetElementProvider
12 | {
13 | SnippetElement GetElement(SnippetInfo snippetInfo);
14 | }
15 |
16 | public class SnippetInfo
17 | {
18 | public readonly string Tag;
19 | public readonly string SnippetText;
20 | public readonly int Position;
21 |
22 | public SnippetInfo(string tag, string snippetText, int position)
23 | {
24 | this.Tag = tag;
25 | this.SnippetText = snippetText;
26 | this.Position = position;
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Editor/SymbolView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Controls.Editor
5 | {
6 | public class SymbolView : UserControl
7 | {
8 | public SymbolView()
9 | {
10 | InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/AboutScreen/AboutDialogView.paml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Controls.Standard.AboutScreen
5 | {
6 | public class AboutDialogView : UserControl
7 | {
8 | public AboutDialogView()
9 | {
10 | InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/AboutScreen/AboutDialogViewModel.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.Extensibility.Dialogs;
2 | using AvalonStudio.Platforms;
3 | using ReactiveUI;
4 | using System;
5 | using System.Diagnostics;
6 | using System.Reactive;
7 | using System.Reflection;
8 |
9 | namespace AvalonStudio.Controls.Standard.AboutScreen
10 | {
11 | public class AboutDialogViewModel : ModalDialogViewModelBase
12 | {
13 | public AboutDialogViewModel() : base("About", true, false)
14 | {
15 | OKCommand = ReactiveCommand.Create(()=>Close());
16 |
17 | PlatformString = Platform.OSDescription + " " + Platform.AvalonRID;
18 | }
19 |
20 | public override ReactiveCommand OKCommand { get; protected set; }
21 |
22 | public string Version => FileVersionInfo.GetVersionInfo(Assembly.GetEntryAssembly().Location).FileVersion;
23 |
24 | public string DescriptiveVersion => ThisAssembly.Git.Tag;
25 |
26 | public string PlatformString { get; }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/AboutScreen/Assets/logo-256.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VitalElement/AvalonStudio/2ee2adbf1772c54531f0d5b0bc96a4789d6b826f/AvalonStudio/AvalonStudio.Controls.Standard/AboutScreen/Assets/logo-256.ico
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/AboutScreen/Assets/logo-256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VitalElement/AvalonStudio/2ee2adbf1772c54531f0d5b0bc96a4789d6b826f/AvalonStudio/AvalonStudio.Controls.Standard/AboutScreen/Assets/logo-256.png
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/AboutScreen/Assets/logo-65.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VitalElement/AvalonStudio/2ee2adbf1772c54531f0d5b0bc96a4789d6b826f/AvalonStudio/AvalonStudio.Controls.Standard/AboutScreen/Assets/logo-65.png
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/AboutScreen/Assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VitalElement/AvalonStudio/2ee2adbf1772c54531f0d5b0bc96a4789d6b826f/AvalonStudio/AvalonStudio.Controls.Standard/AboutScreen/Assets/logo.png
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/Console/ConsoleMainMenuItems.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.MainMenu;
2 | using AvalonStudio.Menus;
3 | using System.Composition;
4 |
5 | namespace AvalonStudio.Controls.Standard.Console
6 | {
7 | internal class ConsoleMainMenuItems
8 | {
9 | [ExportMainMenuItem("View", "Console")]
10 | [DefaultGroup("DefaultTools")]
11 | [DefaultOrder(0)]
12 | public IMenuItem ViewConsole => _menuItemFactory.CreateCommandMenuItem("View.Console");
13 |
14 | [ExportMainMenuItem("View", "Welcome Screen")]
15 | [DefaultGroup("DefaultTools")]
16 | [DefaultOrder(0)]
17 | public IMenuItem ViewWelcomeScreen => _menuItemFactory.CreateCommandMenuItem("View.WelcomeScreen");
18 |
19 | private readonly IMenuItemFactory _menuItemFactory;
20 |
21 | [ImportingConstructor]
22 | public ConsoleMainMenuItems(IMenuItemFactory menuItemFactory)
23 | {
24 | _menuItemFactory = menuItemFactory;
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/Console/ConsoleView.paml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Controls.Standard.Console
5 | {
6 | public class ConsoleView : UserControl
7 | {
8 | public ConsoleView()
9 | {
10 | InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/ErrorList/ErrorListMainMenuItems.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.MainMenu;
2 | using AvalonStudio.Menus;
3 | using System.Composition;
4 |
5 | namespace AvalonStudio.Controls.Standard.ErrorList
6 | {
7 | internal class ErrorListMainMenuItems
8 | {
9 | [ExportMainMenuItem("View", "Error List")]
10 | [DefaultGroup("DefaultTools")]
11 | [DefaultOrder(0)]
12 | public IMenuItem ViewErrorList => _menuItemFactory.CreateCommandMenuItem("View.ErrorList");
13 |
14 | private readonly IMenuItemFactory _menuItemFactory;
15 |
16 | [ImportingConstructor]
17 | public ErrorListMainMenuItems(IMenuItemFactory menuItemFactory)
18 | {
19 | _menuItemFactory = menuItemFactory;
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/ErrorList/ErrorListView.paml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Controls.Standard.ErrorList
5 | {
6 | public class ErrorListView : UserControl
7 | {
8 | public ErrorListView()
9 | {
10 | InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/ExtensionManagerDialog/ExtensionManagerDialogView.paml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Controls.Standard.ExtensionManagerDialog
5 | {
6 | public class ExtensionManagerDialogView : UserControl
7 | {
8 | public ExtensionManagerDialogView()
9 | {
10 | this.InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/FindInFiles/Commands/FindInFilesCommands.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.Extensibility;
2 | using AvalonStudio.Commands;
3 | using ReactiveUI;
4 | using AvalonStudio.Shell;
5 |
6 | namespace AvalonStudio.Controls.Standard.FindInFiles.Commands
7 | {
8 | internal class FindInFilesCommands
9 | {
10 | [ExportCommandDefinition("Edit.FindInFiles")]
11 | [DefaultKeyGesture("CTRL + SHIFT + F")]
12 | public CommandDefinition FindInFilesCommandDefinition { get; }
13 |
14 | public FindInFilesCommands()
15 | {
16 | FindInFilesCommandDefinition = new CommandDefinition(
17 | "Find in Files",
18 | null,
19 | ReactiveCommand.Create(() =>
20 | {
21 | var vm = IoC.Get();
22 |
23 | IoC.Get().CurrentPerspective.AddOrSelectTool(vm);
24 | }));
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/FindInFiles/FindInFilesView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 |
5 | namespace AvalonStudio.Controls.Standard.FindInFiles
6 | {
7 | public class FindInFilesView : UserControl
8 | {
9 | public FindInFilesView()
10 | {
11 | InitializeComponent();
12 | }
13 |
14 | private void InitializeComponent()
15 | {
16 | AvaloniaXamlLoader.Load(this);
17 | }
18 | }
19 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/FindInFiles/IFindInFilesService.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Threading.Tasks;
3 |
4 | namespace AvalonStudio.Controls.Standard.FindInFiles
5 | {
6 | public interface IFindInFilesService
7 | {
8 | IEnumerable Find(string searchString, bool caseSensitive, bool wholeWords, bool regex, string[] fileMasks);
9 | }
10 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/FindInFiles/MainMenu/FindInFilesMainMenuItems.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.MainMenu;
2 | using AvalonStudio.Menus;
3 | using System.Composition;
4 |
5 | namespace AvalonStudio.Controls.Standard.FindInFiles.MainMenu
6 | {
7 | internal class FindInFilesMainMenuItems
8 | {
9 | [ExportMainMenuDefaultGroup("Edit", "Find")]
10 | [DefaultOrder(300)]
11 | public object FindGroup => null;
12 |
13 | [ExportMainMenuItem("Edit", "FindInFiles")]
14 | [DefaultGroup("Find")]
15 | [DefaultOrder(0)]
16 | public IMenuItem NewSolution => _menuItemFactory.CreateCommandMenuItem("Edit.FindInFiles");
17 |
18 | private readonly IMenuItemFactory _menuItemFactory;
19 |
20 | [ImportingConstructor]
21 | public FindInFilesMainMenuItems(IMenuItemFactory menuItemFactory)
22 | {
23 | _menuItemFactory = menuItemFactory;
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/ITooltipDataProvider.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 | using System.Threading.Tasks;
5 |
6 | namespace AvalonStudio.Controls.Standard
7 | {
8 | interface ITooltipDataProvider
9 | {
10 | Task GetTooltipDataAsync();
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/SettingsDialog/SettingsDialogView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Controls.Standard.SettingsDialog
5 | {
6 | public class SettingsDialogView : UserControl
7 | {
8 | public SettingsDialogView()
9 | {
10 | this.InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/SolutionExplorer/ISolutionExplorer.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.MVVM;
2 |
3 | namespace AvalonStudio.Controls.Standard.SolutionExplorer
4 | {
5 | public interface ISolutionExplorer : IToolViewModel
6 | {
7 | void NewSolution();
8 |
9 | void OpenSolution();
10 | }
11 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/SolutionExplorer/ISolutionParentViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace AvalonStudio.Controls.Standard.SolutionExplorer
2 | {
3 | using System;
4 |
5 | public interface ISolutionParentViewModel
6 | {
7 | bool IsExpanded { get; set; }
8 |
9 | ISolutionParentViewModel Parent { get; }
10 |
11 | void VisitChildren(Action visitor);
12 | }
13 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/SolutionExplorer/NewItemDialog.paml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Controls.Standard.SolutionExplorer
5 | {
6 | public class NewItemDialogView : UserControl
7 | {
8 | public NewItemDialogView()
9 | {
10 | InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/SolutionExplorer/NewProjectDialogView.paml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Controls.Standard.SolutionExplorer
5 | {
6 | public class NewProjectDialogView : UserControl
7 | {
8 | public NewProjectDialogView()
9 | {
10 | InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/SolutionExplorer/ProjectConfigurationDialogView.paml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Controls.Standard.SolutionExplorer
5 | {
6 | public class ProjectConfigurationDialogView : UserControl
7 | {
8 | public ProjectConfigurationDialogView()
9 | {
10 | InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/SolutionExplorer/ReferenceViewModel.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Media;
2 | using AvalonStudio.MVVM;
3 | using AvalonStudio.Projects;
4 |
5 | namespace AvalonStudio.Controls.Standard.SolutionExplorer
6 | {
7 | public class ReferenceViewModel : ViewModel
8 | {
9 | public ReferenceViewModel(IProject model) : base(model)
10 | {
11 | }
12 |
13 | public string Name
14 | {
15 | get { return Model.Name; }
16 | }
17 |
18 | public DrawingGroup Icon => "ReferenceIcon".GetIcon();
19 | }
20 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/SolutionExplorer/SolutionFolderViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace AvalonStudio.Controls.Standard.SolutionExplorer
2 | {
3 | using Avalonia.Media;
4 | using AvalonStudio.MVVM;
5 | using AvalonStudio.Projects;
6 |
7 | public class SolutionFolderViewModel : SolutionParentViewModel
8 | {
9 | private DrawingGroup _folderOpenIcon;
10 | private DrawingGroup _folderIcon;
11 |
12 | public SolutionFolderViewModel(ISolutionParentViewModel parent, ISolutionFolder folder) : base(parent, folder)
13 | {
14 | _folderIcon = "FolderIcon".GetIcon();
15 | _folderOpenIcon = "FolderOpenIcon".GetIcon();
16 | }
17 |
18 | public override DrawingGroup Icon => IsExpanded ? _folderOpenIcon : _folderIcon;
19 | }
20 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/SolutionExplorer/TemplateView.xaml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/SolutionExplorer/TemplateView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 |
5 | namespace AvalonStudio.Controls.Standard.SolutionExplorer
6 | {
7 | public class TemplateView : UserControl
8 | {
9 | public TemplateView()
10 | {
11 | this.InitializeComponent();
12 | }
13 |
14 | private void InitializeComponent()
15 | {
16 | AvaloniaXamlLoader.Load(this);
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/SolutionExplorer/TemplateViewModel.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.Extensibility.Templating;
2 | using AvalonStudio.MVVM;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 |
6 | namespace AvalonStudio.Controls.Standard.SolutionExplorer
7 | {
8 | class TemplateViewModel : ViewModel
9 | {
10 | private ITemplate _inner;
11 |
12 | public TemplateViewModel(ITemplate template)
13 | {
14 | _inner = template;
15 |
16 | Parameters = _inner.Parameters.Select(p => new TemplateParameterViewModel(_inner, p)).ToList();
17 | }
18 |
19 | public IEnumerable Parameters { get; }
20 |
21 | public string Name => _inner.Name;
22 |
23 | public ITemplate Template => _inner;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/SolutionExplorer/TextTemplateParameter.xaml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/Terminal/TerminalView.xaml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
11 |
12 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/Terminal/TerminalView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 |
5 | namespace AvalonStudio.Controls.Standard.Terminal
6 | {
7 | public class TerminalView : UserControl
8 | {
9 | public TerminalView()
10 | {
11 | this.InitializeComponent();
12 | }
13 |
14 | private void InitializeComponent()
15 | {
16 | AvaloniaXamlLoader.Load(this);
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/WelcomeScreen/RecentProject.cs:
--------------------------------------------------------------------------------
1 | namespace AvalonStudio.Controls.Standard.WelcomeScreen
2 | {
3 | using System;
4 |
5 | public class RecentProject : IEquatable
6 | {
7 | public string Name { get; set; }
8 | public string Path { get; set; }
9 |
10 | public bool Equals(RecentProject other)
11 | {
12 | return Name == other.Name && Path == other.Path;
13 | }
14 |
15 | public override bool Equals(object obj)
16 | {
17 | return Equals(obj as RecentProject);
18 | }
19 |
20 | public override int GetHashCode() => (string.IsNullOrEmpty(Name) ? 0 : Name.GetHashCode()) + (string.IsNullOrEmpty(Path) ? 0 : Path.GetHashCode());
21 | }
22 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Controls.Standard/WelcomeScreen/WelcomeScreen.paml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Controls.Standard.WelcomeScreen
5 | {
6 | public class WelcomeScreenView : UserControl
7 | {
8 | public WelcomeScreenView()
9 | {
10 | this.InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging.Controls/AvalonStudio.Debugging.Controls.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging.Controls/CallStackView.paml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Debugging.Controls
5 | {
6 | public class CallStackView : UserControl
7 | {
8 | public CallStackView()
9 | {
10 | InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging.Controls/DebugHoverProbe.paml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Debugging.Controls
5 | {
6 | public class DebugHoverProbeView : UserControl
7 | {
8 | public DebugHoverProbeView()
9 | {
10 | InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging.Controls/DebugHoverProbeView.paml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging.Controls/DebugHoverProbeViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace AvalonStudio.Debugging.Controls
2 | {
3 | using AvalonStudio.Debugging;
4 | using System.Composition;
5 |
6 | [PartNotDiscoverable]
7 | public class DebugHoverProbeViewModel : WatchListViewModel
8 | {
9 | public DebugHoverProbeViewModel() : base()
10 | {
11 | }
12 | }
13 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging.Controls/DisassemblyView.paml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 | using System.Collections;
4 |
5 | namespace AvalonStudio.Debugging.Controls
6 | {
7 | public class DisassemblyView : UserControl
8 | {
9 | public DisassemblyView()
10 | {
11 | InitializeComponent();
12 | }
13 |
14 | private void InitializeComponent()
15 | {
16 | AvaloniaXamlLoader.Load(this);
17 | }
18 | }
19 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging.Controls/LocalsView.paml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging.Controls/LocalsView.paml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Debugging.Controls
5 | {
6 | public class LocalsView : UserControl
7 | {
8 | public LocalsView()
9 | {
10 | InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging.Controls/MemoryBytesViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace AvalonStudio.Debugging.Controls
2 | {
3 | using AvalonStudio.Debugging;
4 | using MVVM;
5 | using System.Threading.Tasks;
6 |
7 | public abstract class MemoryBytesViewModel : ViewModel
8 | {
9 | public abstract Task InvalidateAsync(IDebugger2 debugger);
10 | }
11 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging.Controls/MemoryView.paml.cs:
--------------------------------------------------------------------------------
1 | namespace AvalonStudio.Debugging.Controls
2 | {
3 | using Avalonia.Controls;
4 | using Avalonia.Markup.Xaml;
5 |
6 | ///
7 | /// Interaction logic for MemoryView.xaml
8 | ///
9 | public partial class MemoryView : UserControl
10 | {
11 | public MemoryView()
12 | {
13 | InitializeComponent();
14 | }
15 |
16 | private void InitializeComponent()
17 | {
18 | AvaloniaXamlLoader.Load(this);
19 | }
20 | }
21 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging.Controls/RegistersView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Debugging.Controls
5 | {
6 | public class RegistersView : UserControl
7 | {
8 | public RegistersView()
9 | {
10 | InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging.Controls/SourceLineViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace AvalonStudio.Debugging.Controls
2 | {
3 | using AvalonStudio.Debugging;
4 |
5 | public class SourceLineViewModel : LineViewModel
6 | {
7 | public SourceLineViewModel(SourceLine model) : base(model)
8 | {
9 | }
10 |
11 | public string LineText
12 | {
13 | get { return Model.LineText; }
14 | }
15 |
16 | public new SourceLine Model
17 | {
18 | get { return (SourceLine)base.Model; }
19 | }
20 | }
21 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging.Controls/VariableControlView.paml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Debugging.Controls
5 | {
6 | public class VariableControlView : UserControl
7 | {
8 | public VariableControlView()
9 | {
10 | InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging.Controls/WatchListView.paml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging.Controls/WatchListView.paml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Debugging.Controls
5 | {
6 | public class WatchListView : UserControl
7 | {
8 | public WatchListView()
9 | {
10 | InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging.GDB.JLink/AvalonStudio.Debugging.GDB.JLink.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | netstandard2.0
4 | NU1701
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging.GDB.JLink/JLinkSettingsFormView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Debugging.GDB.JLink
5 | {
6 | public class JLinkSettingsFormView : UserControl
7 | {
8 | public JLinkSettingsFormView()
9 | {
10 | InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging.GDB.Local/AvalonStudio.Debugging.GDB.Local.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | netstandard2.0
4 | NU1701
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging.GDB.OpenOCD/AvalonStudio.Debugging.GDB.OpenOCD.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | netstandard2.0
4 | NU1701
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging.GDB.OpenOCD/OpenOCDSettings.cs:
--------------------------------------------------------------------------------
1 | namespace AvalonStudio.Debugging.GDB.OpenOCD
2 | {
3 | public class OpenOCDSettings
4 | {
5 | public string InterfaceConfigFile { get; set; }
6 | public string TargetConfigFile { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging.GDB.OpenOCD/OpenOCDSettingsFormView.xaml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging.GDB.OpenOCD/OpenOCDSettingsFormView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Debugging.GDB.OpenOCD
5 | {
6 | public class OpenOCDSettingsFormView : UserControl
7 | {
8 | public OpenOCDSettingsFormView()
9 | {
10 | InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging.GDB.Remote/AvalonStudio.Debugging.GDB.Remote.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 | NU1701
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging.GDB.Remote/RemoteGdbSettings.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace AvalonStudio.Debugging.GDB.Remote
4 | {
5 | public class RemoteGdbSettings
6 | {
7 | public string PreInitCommand { get; set; }
8 | public string PreInitCommandArgs { get; set; }
9 | public string Host { get; set; }
10 | public string Port { get; set; }
11 | public string GDBInitCommands { get; set; }
12 | public string PostInitCommand { get; set; }
13 | public string PostInitCommandArgs { get; set; }
14 | public string GDBExitCommands { get; set; }
15 | }
16 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging.GDB.Remote/RemoteGdbSettingsFormView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Debugging.GDB.Remote
5 | {
6 | public class RemoteGdbSettingsFormView : UserControl
7 | {
8 | public RemoteGdbSettingsFormView()
9 | {
10 | InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging.GDB/AvalonStudio.Debugging.GDB.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | netstandard2.0
4 | NU1701
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging/AvalonStudio.Debugging.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | netstandard2.0
4 | NU1701
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging/BreakPoint.cs:
--------------------------------------------------------------------------------
1 | namespace AvalonStudio.Debugging
2 | {
3 | public class BreakPoint
4 | {
5 | public string File { get; set; }
6 |
7 | public uint Line { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging/DisassembledLine.cs:
--------------------------------------------------------------------------------
1 | namespace AvalonStudio.Debugging
2 | {
3 | public abstract class DisassembledLine
4 | {
5 | }
6 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging/ExtendedDebuggerSession.cs:
--------------------------------------------------------------------------------
1 | using Mono.Debugging.Client;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Text;
5 |
6 | namespace AvalonStudio.Debugging
7 | {
8 | public abstract class ExtendedDebuggerSession : DebuggerSession
9 | {
10 | public List GetRegisters()
11 | {
12 | return OnGetRegisters();
13 | }
14 |
15 | public Dictionary GetRegisterChanges()
16 | {
17 | return OnGetRegisterChanges();
18 | }
19 |
20 | protected abstract List OnGetRegisters();
21 |
22 | protected abstract Dictionary OnGetRegisterChanges();
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging/IDebugger.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.Projects;
2 | using Mono.Debugging.Client;
3 |
4 | namespace AvalonStudio.Debugging
5 | {
6 | public enum WatchFormat
7 | {
8 | Binary,
9 | Decimal,
10 | Hexadecimal,
11 | Octal,
12 | Natural
13 | }
14 |
15 | public interface IDebugger2 : IDebugger
16 | {
17 | DebuggerSession CreateSession(IProject project);
18 |
19 | DebuggerStartInfo GetDebuggerStartInfo(IProject project);
20 |
21 | DebuggerSessionOptions GetDebuggerSessionOptions(IProject project);
22 | }
23 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging/IWatchList.cs:
--------------------------------------------------------------------------------
1 | using Mono.Debugging.Client;
2 |
3 | namespace AvalonStudio.Debugging
4 | {
5 | public interface IWatchList
6 | {
7 | bool AddWatch(string expression);
8 |
9 | void Add(ObjectValue value);
10 |
11 | void Remove(ObjectValue value);
12 | }
13 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging/InstructionLine.cs:
--------------------------------------------------------------------------------
1 | namespace AvalonStudio.Debugging
2 | {
3 | public class InstructionLine : DisassembledLine
4 | {
5 | public InstructionLine()
6 | {
7 | Visible = true;
8 | }
9 |
10 | public ulong Address { get; set; }
11 |
12 | public string FormattedAddress
13 | {
14 | get { return string.Format("0x{0:X8}", Address); }
15 | }
16 |
17 | public string FunctionName { get; set; }
18 | public int Offset { get; set; }
19 | public string OpCodes { get; set; }
20 | public string Instruction { get; set; }
21 | public bool Visible { get; set; }
22 |
23 | public string Symbol
24 | {
25 | get { return string.Format("<{0} + {1}>", FunctionName, Offset); }
26 | }
27 | }
28 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging/LineViewModel.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.MVVM;
2 |
3 | namespace AvalonStudio.Debugging
4 | {
5 | public abstract class LineViewModel : ViewModel
6 | {
7 | public LineViewModel(DisassembledLine model) : base(model)
8 | {
9 | }
10 | }
11 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging/MemoryBytes.cs:
--------------------------------------------------------------------------------
1 | namespace AvalonStudio.Debugging
2 | {
3 | public class MemoryBytes
4 | {
5 | public ulong Address { get; set; }
6 |
7 | public ulong Offset { get; set; }
8 |
9 | public ulong End { get; set; }
10 |
11 | public byte[] Data { get; set; }
12 |
13 | public string Values { get; set; }
14 | }
15 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging/Register.cs:
--------------------------------------------------------------------------------
1 | namespace AvalonStudio.Debugging
2 | {
3 | public class Register
4 | {
5 | public string Name { get; set; }
6 | public string Value { get; set; }
7 | public int Index { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Debugging/SourceLine.cs:
--------------------------------------------------------------------------------
1 | using System.Linq;
2 |
3 | namespace AvalonStudio.Debugging
4 | {
5 | public class SourceLine : DisassembledLine
6 | {
7 | private string lineText;
8 |
9 | public string LineText
10 | {
11 | get
12 | {
13 | if (lineText == null)
14 | {
15 | lineText = System.IO.File.ReadLines(File).Skip(Line - 1).Take(1).First();
16 | }
17 |
18 | return lineText;
19 | }
20 | }
21 |
22 | public int Line { get; set; }
23 | public string File { get; set; }
24 | public string FullFileName { get; set; }
25 | }
26 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility.Editor/AvalonStudio.Extensibility.Editor.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility.Editor/CodeEditorView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.LogicalTree;
3 | using Avalonia.Markup.Xaml;
4 |
5 | namespace AvalonStudio.Extensibility.Editor
6 | {
7 | public class CodeEditorView : UserControl
8 | {
9 | public CodeEditorView()
10 | {
11 | InitializeComponent();
12 | }
13 |
14 | private void InitializeComponent()
15 | {
16 | AvaloniaXamlLoader.Load(this);
17 | }
18 | }
19 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility.Editor/TextEditorView.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Extensibility.Editor
5 | {
6 | public class TextEditorView : UserControl
7 | {
8 | public TextEditorView()
9 | {
10 | InitializeComponent();
11 | }
12 |
13 | ~TextEditorView ()
14 | {
15 | }
16 |
17 | private void InitializeComponent()
18 | {
19 | AvaloniaXamlLoader.Load(this);
20 | }
21 | }
22 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility.Editor/TextEditorView.xaml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/CommandLineTools/ShellExecuteResult.cs:
--------------------------------------------------------------------------------
1 | namespace AvalonStudio.CommandLineTools
2 | {
3 | public struct ShellExecuteResult
4 | {
5 | public int ExitCode { get; set; }
6 | public string Output { get; set; }
7 | public string ErrorOutput { get; set; }
8 | }
9 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/CommandLineTools/ShellExecutorType.cs:
--------------------------------------------------------------------------------
1 | namespace AvalonStudio.CommandLineTools
2 | {
3 | public enum ShellExecutorType
4 | {
5 | Generic,
6 | Windows,
7 | Unix
8 | }
9 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/CompletionAssistance/Languages/Parameter.cs:
--------------------------------------------------------------------------------
1 | namespace AvalonStudio.Extensibility.Languages.CompletionAssistance
2 | {
3 | public class Parameter
4 | {
5 | public string Name { get; set; }
6 | public string BuiltInType { get; set; }
7 | public string Type { get; set; }
8 | public string Label { get; set; }
9 | public string Documentation { get; set; }
10 | }
11 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/CompletionAssistance/Languages/Signature.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace AvalonStudio.Extensibility.Languages.CompletionAssistance
4 | {
5 | public class Signature
6 | {
7 | public Signature()
8 | {
9 | Parameters = new List();
10 | Exceptions = new List();
11 | }
12 |
13 | public string Name { get; set; }
14 | public string BuiltInReturnType { get; set; }
15 | public string ReturnType { get; set; }
16 | public string Label { get; set; }
17 | public string Description { get; set; }
18 | public List Parameters { get; set; }
19 | public List Exceptions { get; set; }
20 | }
21 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/CompletionAssistance/Languages/SignatureException.cs:
--------------------------------------------------------------------------------
1 | namespace AvalonStudio.Extensibility.Languages.CompletionAssistance
2 | {
3 | public class SignatureException
4 | {
5 | public string Type { get; set; }
6 | public string Documentation { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Debugging/DebugHighlightLocation.cs:
--------------------------------------------------------------------------------
1 | namespace AvalonStudio.Debugging
2 | {
3 | public class DebugHighlightLocation
4 | {
5 | public int Line { get; set; }
6 |
7 | public int StartColumn { get; set; }
8 |
9 | public int EndColumn { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Debugging/ExportDebuggerAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Composition;
3 |
4 | namespace AvalonStudio.Debugging
5 | {
6 | [AttributeUsage(AttributeTargets.Class)]
7 | public class ExportDebuggerAttribute : ExportAttribute
8 | {
9 | public ExportDebuggerAttribute()
10 | : base(typeof(IDebugger))
11 | {
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Debugging/IDebugger.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.Extensibility;
2 | using AvalonStudio.Projects;
3 |
4 | namespace AvalonStudio.Debugging
5 | {
6 | ///
7 | /// Provides method for dealing with managing debuggers.
8 | ///
9 | public interface IDebugger : IInstallable, IExtension
10 | {
11 | object GetSettingsControl(IProject project);
12 |
13 | string BinDirectory { get; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Documents/TooltipDataRequestEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Threading.Tasks;
3 |
4 | namespace AvalonStudio.Documents
5 | {
6 | public class TooltipDataRequestEventArgs
7 | {
8 | public TooltipDataRequestEventArgs(ITextEditor editor, int offset)
9 | {
10 | Editor = editor;
11 | Offset = offset;
12 | }
13 |
14 | public ITextEditor Editor { get; }
15 | public int Offset { get; }
16 |
17 | public Func> GetViewModelAsyncTask { get; set; }
18 | }
19 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Editor/EditorSettings.cs:
--------------------------------------------------------------------------------
1 | namespace AvalonStudio.Extensibility.Editor
2 | {
3 | public class EditorSettings
4 | {
5 | public double GlobalZoomLevel { get; set; } = 100;
6 |
7 | public bool RemoveTrailingWhitespaceOnSave { get; set; } = true;
8 |
9 | public bool AutoFormat { get; set; } = true;
10 |
11 | public string ColorScheme { get; set; } = Editor.ColorScheme.Default.Name;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Editor/ITextEditorInputHelper.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.Documents;
2 |
3 | namespace AvalonStudio.Editor
4 | {
5 | public interface ITextEditorInputHelper
6 | {
7 | bool BeforeTextInput(ITextEditor editor, string inputText);
8 | bool AfterTextInput(ITextEditor editor, string inputText);
9 | void CaretMovedToEmptyLine(ITextEditor editor);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/IInstallable.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.Projects;
2 | using AvalonStudio.Utils;
3 | using System.Threading.Tasks;
4 |
5 | namespace AvalonStudio.Extensibility
6 | {
7 | public interface IInstallable
8 | {
9 | Task InstallAsync(IConsole console, IProject project);
10 | }
11 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Languages/AccessType.cs:
--------------------------------------------------------------------------------
1 | namespace AvalonStudio.Languages
2 | {
3 | ///
4 | /// Represents the C++ access control level to a base class for a
5 | /// cursor with kind CX_CXXBaseSpecifier.
6 | ///
7 | public enum AccessType
8 | {
9 | Invalid,
10 | Public,
11 | Protected,
12 | Private
13 | }
14 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Languages/CodeAnalysisResults.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.Extensibility.Languages;
2 | using System.Collections.Generic;
3 |
4 | namespace AvalonStudio.Languages
5 | {
6 | public class CodeAnalysisResults
7 | {
8 | public CodeAnalysisResults()
9 | {
10 | SyntaxHighlightingData = new SyntaxHighlightDataList();
11 | IndexItems = new List();
12 | }
13 |
14 | public SyntaxHighlightDataList SyntaxHighlightingData { get; set; }
15 | public List IndexItems { get; set; }
16 | }
17 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Languages/CodeCompletionResults.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace AvalonStudio.Languages
4 | {
5 | public class CodeCompletionResults
6 | {
7 | public CodeCompletionResults()
8 | {
9 | Completions = new List();
10 | }
11 |
12 | public List Completions { get; set; }
13 |
14 | public CompletionContext Contexts { get; set; }
15 |
16 | public int? StartOffset { get; set; }
17 | }
18 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Languages/CompletionAssistance/ICompletionAssistant.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace AvalonStudio.Extensibility.Languages.CompletionAssistance
4 | {
5 | public interface ICompletionAssistant
6 | {
7 | void PushMethod(SignatureHelp methodInfo);
8 |
9 | void PopMethod();
10 |
11 | IReadOnlyList Stack { get; }
12 |
13 | SignatureHelp CurrentSignatureHelp { get; }
14 |
15 | void SelectStack(SignatureHelp stack);
16 |
17 | void SetParameterIndex(int index);
18 |
19 | void IncrementSignatureIndex();
20 |
21 | void DecrementSignatureIndex();
22 |
23 | void Close();
24 |
25 | bool IsVisible { get; set; }
26 | }
27 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Languages/CompletionAssistance/SignatureHelpModels.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace AvalonStudio.Extensibility.Languages.CompletionAssistance
4 | {
5 | public class SignatureHelp
6 | {
7 | public SignatureHelp(int offset)
8 | {
9 | Signatures = new List();
10 | Offset = offset;
11 | }
12 |
13 | public SignatureHelp(List signatures, int offset)
14 | {
15 | Signatures = signatures;
16 | Offset = offset;
17 | }
18 |
19 | public List Signatures { get; set; }
20 | public int ActiveSignature { get; set; }
21 | public int ActiveParameter { get; set; }
22 | public int Offset { get; }
23 | }
24 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Languages/ContentTypeMetadata.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.ComponentModel;
3 |
4 | namespace AvalonStudio.Languages
5 | {
6 | internal class ContentTypeMetadata : IContentType
7 | {
8 | public string Name { get; set; }
9 | public IEnumerable Capabilities { get; set; }
10 | [DefaultValue(new string[0])]
11 | public IEnumerable Extensions { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Languages/ExportContentTypeAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Composition;
4 |
5 | namespace AvalonStudio.Languages
6 | {
7 | [MetadataAttribute]
8 | [AttributeUsage(AttributeTargets.Property)]
9 | public class ExportContentTypeAttribute : ExportAttribute
10 | {
11 | public string Name { get; }
12 | public IEnumerable Capabilities { get; }
13 |
14 | public ExportContentTypeAttribute(string name, params string[] capabilities)
15 | : base(ExportContractNames.ContentType, typeof(object))
16 | {
17 | Name = name;
18 | Capabilities = capabilities;
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Languages/ExportContractNames.cs:
--------------------------------------------------------------------------------
1 | namespace AvalonStudio.Languages
2 | {
3 | internal static class ExportContractNames
4 | {
5 | public const string ContentType = "AvalonStudio.Languages.ContentType";
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Languages/ExportLanguageServiceProviderAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Composition;
4 |
5 | namespace AvalonStudio.Languages
6 | {
7 | [MetadataAttribute]
8 | [AttributeUsage(AttributeTargets.Class)]
9 | public class ExportLanguageServiceProviderAttribute : ExportAttribute
10 | {
11 | public IEnumerable TargetCapabilities { get; }
12 |
13 | public ExportLanguageServiceProviderAttribute(params string[] targetCapabilities)
14 | : base (typeof(ILanguageServiceProvider))
15 | {
16 | TargetCapabilities = targetCapabilities;
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Languages/FileExtensionsAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Composition;
4 |
5 | namespace AvalonStudio.Languages
6 | {
7 | [MetadataAttribute]
8 | [AttributeUsage(AttributeTargets.Property)]
9 | public class FileExtensionsAttribute : Attribute
10 | {
11 | public IEnumerable Extensions { get; }
12 |
13 | public FileExtensionsAttribute(params string[] extensions)
14 | {
15 | Extensions = extensions;
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Languages/GotoDefinitionInfo.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.Projects;
2 |
3 | namespace AvalonStudio.Languages
4 | {
5 | public class GotoDefinitionInfo
6 | {
7 | public string FileName { get; set; }
8 | public int Line { get; set; }
9 | public int Column { get; set; }
10 | public ISourceFile MetaDataFile { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Languages/IContentType.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace AvalonStudio.Languages
4 | {
5 | public interface IContentType
6 | {
7 | string Name { get; set; }
8 | IEnumerable Extensions { get; set; }
9 | IEnumerable Capabilities { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Languages/IContentTypeService.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace AvalonStudio.Languages
4 | {
5 | public interface IContentTypeService
6 | {
7 | IReadOnlyDictionary ContentTypes { get; }
8 |
9 | bool CapabilityAppliesToContentType(string capability, string contentType);
10 | string GetContentTypeForExtension(string extension);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Languages/ILanguageServiceProvider.cs:
--------------------------------------------------------------------------------
1 | namespace AvalonStudio.Languages
2 | {
3 | public interface ILanguageServiceProvider
4 | {
5 | ILanguageService CreateLanguageService();
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Languages/ISyntaxHighlightingProvider.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.Documents;
2 | using AvalonStudio.Languages;
3 | using System.Collections.Generic;
4 | using System.Threading.Tasks;
5 |
6 | namespace AvalonStudio.Extensibility.Languages
7 | {
8 | public interface ISyntaxHighlightingProvider
9 | {
10 | List GetHighlightedLine (ISegment line);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Languages/IndexEntry.cs:
--------------------------------------------------------------------------------
1 | using AvaloniaEdit.Document;
2 | using AvalonStudio.Languages;
3 | using System;
4 |
5 | namespace AvalonStudio.Extensibility.Languages
6 | {
7 | public class IndexEntry : TextSegment, IComparable
8 | {
9 | public IndexEntry(string spelling, int offset, int endOffset, CursorKind kind)
10 | {
11 | Spelling = spelling;
12 | Kind = kind;
13 | StartOffset = offset;
14 | EndOffset = endOffset;
15 | }
16 |
17 | public string Spelling { get; set; }
18 |
19 | public CursorKind Kind { get; set; }
20 |
21 | public int CompareTo(IndexEntry other)
22 | {
23 | if (StartOffset == other.StartOffset)
24 | {
25 | return EndOffset.CompareTo(other.EndOffset);
26 | }
27 |
28 | return StartOffset.CompareTo(other.StartOffset);
29 | }
30 | }
31 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Languages/LanguageServiceProviderMetadata.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace AvalonStudio.Languages
4 | {
5 | public class LanguageServiceProviderMetadata
6 | {
7 | public IEnumerable TargetCapabilities { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Languages/LineColumnSyntaxHighlightingData.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace AvalonStudio.Languages
4 | {
5 | public class LineColumnSyntaxHighlightingData : OffsetSyntaxHighlightingData, IComparable
6 | {
7 | public int StartColumn { get; set; }
8 | public int EndColumn { get; set; }
9 | public int StartLine { get; set; }
10 | public int EndLine { get; set; }
11 |
12 | public int CompareTo(LineColumnSyntaxHighlightingData other)
13 | {
14 | if (StartLine > other.StartLine)
15 | {
16 | return 1;
17 | }
18 | else if (StartLine > other.StartLine && EndLine > other.EndLine)
19 | {
20 | return 1;
21 | }
22 | else if (StartColumn > other.StartColumn && EndLine > other.EndColumn)
23 | {
24 | return 1;
25 | }
26 |
27 | return -1;
28 | }
29 | }
30 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Languages/OffsetSyntaxHighlightingData.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace AvalonStudio.Languages
4 | {
5 | public class OffsetSyntaxHighlightingData : IComparable
6 | {
7 | public HighlightType Type { get; set; }
8 | public int Start { get; set; }
9 | public int Length { get; set; }
10 |
11 | public int CompareTo(OffsetSyntaxHighlightingData other)
12 | {
13 | if (Start > other.Start)
14 | {
15 | return 1;
16 | }
17 |
18 | if (Start == other.Start)
19 | {
20 | return 0;
21 | }
22 |
23 | return -1;
24 | }
25 | }
26 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Languages/ParamterSymbol.cs:
--------------------------------------------------------------------------------
1 | namespace AvalonStudio.Languages
2 | {
3 | public class ParameterSymbol
4 | {
5 | public string TypeDescription { get; set; }
6 |
7 | public string Name { get; set; }
8 |
9 | public string Comment { get; set; }
10 |
11 | public bool IsBuiltInType { get; set; }
12 | }
13 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Languages/QuickInfoResult.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.Controls;
2 |
3 | namespace AvalonStudio.Languages
4 | {
5 | public class QuickInfoResult
6 | {
7 | public QuickInfoResult(StyledText text)
8 | {
9 | Text = text;
10 | }
11 |
12 | public StyledText Text { get; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Languages/QuickInfoView.xaml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Languages/QuickInfoView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace AvalonStudio.Extensibility.Languages
5 | {
6 | public class QuickInfoView : UserControl
7 | {
8 | public QuickInfoView()
9 | {
10 | this.InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Languages/QuickInfoViewModel.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.Controls;
2 | using AvalonStudio.Languages;
3 | using AvalonStudio.MVVM;
4 |
5 | namespace AvalonStudio.Extensibility.Languages
6 | {
7 | public class QuickInfoViewModel : ViewModel
8 | {
9 | public QuickInfoViewModel(QuickInfoResult model) : base(model)
10 | {
11 | }
12 |
13 | public StyledText StyledText => Model.Text;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Languages/SymbolRenameInfo.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.Documents;
2 | using System.Collections.Generic;
3 |
4 | namespace AvalonStudio.Languages
5 | {
6 | public class SymbolRenameInfo
7 | {
8 | public SymbolRenameInfo(string filePath)
9 | {
10 | FileName = filePath;
11 | }
12 |
13 | public string FileName { get; }
14 |
15 | public IEnumerable Changes { get; set; }
16 |
17 | public IEnumerable<(TextLocation start, TextLocation end)> InitialLocations { get; set; }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Languages/UnsavedFile.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.Platforms;
2 | using System;
3 |
4 | namespace AvalonStudio.Languages
5 | {
6 | public class UnsavedFile : IComparable, IComparable
7 | {
8 | public readonly string FileName;
9 | public string Contents { get; set; }
10 |
11 | public UnsavedFile(string filename, string contents)
12 | {
13 | FileName = filename;
14 | Contents = contents;
15 | }
16 |
17 | public int CompareTo(string other)
18 | {
19 | return FileName.CompareFilePath(other);
20 | }
21 |
22 | public int CompareTo(UnsavedFile other)
23 | {
24 | return FileName.CompareFilePath(other.FileName);
25 | }
26 | }
27 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Projects/ExportSolutionTypeAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Composition;
4 |
5 | namespace AvalonStudio.Projects
6 | {
7 | [MetadataAttribute]
8 | [AttributeUsage(AttributeTargets.Class, AllowMultiple = false)]
9 | public class ExportSolutionTypeAttribute : ExportAttribute, ISolutionTypeMetadata
10 | {
11 | public IEnumerable SupportedExtensions { get; }
12 |
13 | public ExportSolutionTypeAttribute(params string[] supportedExtensions)
14 | : base (typeof(ISolutionType))
15 | {
16 | SupportedExtensions = supportedExtensions;
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Projects/IItem.cs:
--------------------------------------------------------------------------------
1 | namespace AvalonStudio.Projects
2 | {
3 | public interface IItem
4 | {
5 | string Name { get; set; }
6 |
7 | bool CanRename { get; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Projects/IProjectFolder.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.ObjectModel;
3 |
4 | namespace AvalonStudio.Projects
5 | {
6 | public interface IProjectFolder : IProjectItem, IComparable, IComparable
7 | {
8 | ///
9 | /// List of items within the project folder
10 | ///
11 | ObservableCollection Items { get; }
12 |
13 | string Location { get; }
14 |
15 | string LocationDirectory { get; }
16 |
17 | void ExcludeFile(ISourceFile file);
18 |
19 | void ExcludeFolder(IProjectFolder folder);
20 | }
21 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Projects/IProjectType.cs:
--------------------------------------------------------------------------------
1 | using System.Threading.Tasks;
2 |
3 | namespace AvalonStudio.Projects
4 | {
5 | public interface IProjectType
6 | {
7 | Task LoadAsync(ISolution solution, string filePath);
8 | }
9 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Projects/IProjectTypeMetadata.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace AvalonStudio.Projects
5 | {
6 | public interface IProjectTypeMetadata
7 | {
8 | string Description { get; }
9 |
10 | string DefaultExtension { get; }
11 | IEnumerable PossibleExtensions { get; }
12 |
13 | Guid ProjectTypeGuid { get; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Projects/IReferenceFolder.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.ObjectModel;
2 |
3 | namespace AvalonStudio.Projects
4 | {
5 | public interface IReferenceFolder : IProjectItem
6 | {
7 | ObservableCollection References { get; }
8 | }
9 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Projects/ISolutionFolder.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.ObjectModel;
3 |
4 | namespace AvalonStudio.Projects
5 | {
6 | public interface ISolutionFolder : ISolutionItem
7 | {
8 | void VisitChildren(Action visitor);
9 |
10 | ObservableCollection Items { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Projects/ISolutionItem.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace AvalonStudio.Projects
4 | {
5 | public interface ISolutionItem : IItem, IComparable
6 | {
7 | Guid Id { get; set; }
8 |
9 | ISolution Solution { get; set; }
10 |
11 | ISolutionFolder Parent { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Projects/ISolutionType.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.Projects;
2 | using System.Threading.Tasks;
3 |
4 | namespace AvalonStudio.Projects
5 | {
6 | public interface ISolutionType
7 | {
8 | string Description { get; }
9 |
10 | Task LoadAsync(string path);
11 | }
12 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Projects/ISolutionTypeMetadata.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace AvalonStudio.Projects
4 | {
5 | public interface ISolutionTypeMetadata
6 | {
7 | IEnumerable SupportedExtensions { get; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Projects/ISourceFile.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 |
4 | namespace AvalonStudio.Projects
5 | {
6 | public interface ISourceFile : IProjectItem, IComparable, IDeleteable, IComparable
7 | {
8 | string ContentType { get; }
9 |
10 | string FilePath { get; }
11 | string Extension { get; }
12 | string CurrentDirectory { get; }
13 | string Location { get; }
14 |
15 | void RaiseFileModifiedEvent();
16 |
17 | Stream OpenText();
18 |
19 | event EventHandler FileModifiedExternally;
20 | }
21 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Projects/MSBuildSolution/ProjectTypeGuids.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved.
2 | // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3 |
4 | namespace Microsoft.DotNet.Cli.Sln.Internal
5 | {
6 | public static class ProjectTypeGuids
7 | {
8 | public const string CSharpProjectTypeGuid = "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}";
9 | public const string SolutionFolderGuid = "{2150E333-8FDC-42A3-9474-1A3956D46DE8}";
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Projects/ProjectTypeMetadata.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace AvalonStudio.Projects
5 | {
6 | public class ProjectTypeMetadata : IProjectTypeMetadata
7 | {
8 | public string Description { get; set; }
9 |
10 | public string DefaultExtension { get; set; }
11 | public IEnumerable PossibleExtensions { get; set; }
12 |
13 | public Guid ProjectTypeGuid { get; set; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Projects/SolutionTypeMetadata.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace AvalonStudio.Projects
4 | {
5 | public class SolutionTypeMetadata : ISolutionTypeMetadata
6 | {
7 | public IEnumerable SupportedExtensions { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Projects/UnsupportedProjectType.cs:
--------------------------------------------------------------------------------
1 | namespace AvalonStudio.Projects
2 | {
3 | class UnsupportedProjectType : PlaceHolderProject
4 | {
5 | /*public UnsupportedProjectType(string location)
6 | {
7 | Name = Path.GetFileName(location);
8 | Location = location;
9 | LocationDirectory = Path.GetDirectoryName(location);
10 | Project = this;
11 | Parent = this;
12 | }*/
13 |
14 | public UnsupportedProjectType(ISolution solution, string location) : base(solution, location)
15 | {
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Projects/VisualStudioSolutionType.cs:
--------------------------------------------------------------------------------
1 | using System.Threading.Tasks;
2 |
3 | namespace AvalonStudio.Projects
4 | {
5 | [ExportSolutionType("sln")]
6 | public class VisualStudioSolutionType : ISolutionType
7 | {
8 | public string Description => "Solution File";
9 |
10 | public async Task LoadAsync(string path)
11 | {
12 | return await Task.Run(() => VisualStudioSolution.Load(path));
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Shell/BuildEventArgs.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.Projects;
2 | using System;
3 |
4 | namespace AvalonStudio.Shell
5 | {
6 | public enum BuildType
7 | {
8 | Clean,
9 | Build
10 | }
11 |
12 | public class BuildEventArgs : EventArgs
13 | {
14 | public BuildEventArgs(BuildType type, IProject project)
15 | {
16 | Type = type;
17 | Project = project;
18 | }
19 |
20 | public BuildType Type { get; }
21 |
22 | public IProject Project { get; }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Shell/DebugToolAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 |
5 | namespace AvalonStudio.Extensibility.Shell
6 | {
7 | public enum Perspective
8 | {
9 | Normal,
10 | Debugging
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Shell/ExportEditorProviderAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Composition;
3 |
4 | namespace AvalonStudio.Shell
5 | {
6 | [AttributeUsage(AttributeTargets.Class)]
7 | public class ExportEditorProviderAttribute : ExportAttribute
8 | {
9 | public ExportEditorProviderAttribute()
10 | : base(typeof(IEditorProvider))
11 | {
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Shell/IEditorProvider.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.Documents;
2 | using AvalonStudio.Projects;
3 | using System.Threading.Tasks;
4 |
5 | namespace AvalonStudio.Shell
6 | {
7 | public interface IEditorProvider
8 | {
9 | bool CanEdit(ISourceFile file);
10 | Task CreateViewModel(ISourceFile file);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Shell/IWorkspaceTaskRunner.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Threading.Tasks;
3 |
4 | namespace AvalonStudio.Shell
5 | {
6 | public interface IWorkspaceTaskRunner
7 | {
8 | Task RunTask(Action action);
9 |
10 | Task CurrentTask { get; }
11 |
12 | IObservable OnTaskChanged { get; }
13 | }
14 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Shell/ShellExtensions.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.Extensibility.Studio;
2 | using System;
3 | using System.Reactive.Linq;
4 |
5 | namespace AvalonStudio.Shell
6 | {
7 | public static class ShellExtensions
8 | {
9 | public static IObservable OnSolutionLoaded(this IStudio studio) => studio.OnSolutionChanged.Select(s => s != null).StartWith(false);
10 |
11 | public static IObservable OnCurrentTaskChanged(this IStudio studio) => studio.TaskRunner.OnTaskChanged.Select(t => t != null).StartWith(false);
12 |
13 | public static IObservable CanRunTask (this IStudio studio) => studio.OnSolutionLoaded().CombineLatest(studio.OnCurrentTaskChanged(), (loaded, running) => loaded & !running);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Shell/SolutionChangedEventArgs.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.Projects;
2 | using System;
3 |
4 | namespace AvalonStudio.Shell
5 | {
6 | public class SolutionChangedEventArgs : EventArgs
7 | {
8 | public ISolution OldValue { get; set; }
9 | public ISolution NewValue { get; set; }
10 | }
11 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Templating/TemplateKind.cs:
--------------------------------------------------------------------------------
1 | namespace AvalonStudio.Extensibility.Templating
2 | {
3 | public enum TemplateKind
4 | {
5 | Project,
6 | Item,
7 | Other
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/TestFrameworks/ExportTestFrameworkAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Composition;
3 |
4 | namespace AvalonStudio.TestFrameworks
5 | {
6 | [AttributeUsage(AttributeTargets.Class)]
7 | public class ExportTestFrameworkAttribute : ExportAttribute
8 | {
9 | public ExportTestFrameworkAttribute()
10 | : base(typeof(ITestFramework))
11 | {
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/TestFrameworks/ITestFramework.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.Projects;
2 | using System.Collections.Generic;
3 | using System.Threading.Tasks;
4 |
5 | namespace AvalonStudio.TestFrameworks
6 | {
7 | public interface ITestFramework
8 | {
9 | Task> EnumerateTestsAsync(IProject project);
10 |
11 | Task RunTestAsync(Test test, IProject project);
12 | }
13 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/TestFrameworks/Test.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.Projects;
2 |
3 | namespace AvalonStudio.TestFrameworks
4 | {
5 | public class Test
6 | {
7 | private readonly IProject _project;
8 |
9 | public Test(IProject project)
10 | {
11 | _project = project;
12 | }
13 |
14 | public string Name { get; set; }
15 | public string File { get; set; }
16 | public int Line { get; set; }
17 | public string Assertion { get; set; }
18 | public bool Pass { get; set; }
19 |
20 | public void Run()
21 | {
22 | _project.TestFramework.RunTestAsync(this, _project).Wait();
23 | }
24 | }
25 | }
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Toolchains/ExportToolchainAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Composition;
3 |
4 | namespace AvalonStudio.Toolchains
5 | {
6 | [MetadataAttribute]
7 | [AttributeUsage(AttributeTargets.Class)]
8 | public class ExportToolchainAttribute : ExportAttribute
9 | {
10 | public ExportToolchainAttribute()
11 | : base(typeof(IToolchain))
12 | {
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/AvalonStudio/AvalonStudio.Extensibility/Toolchains/IToolchain.cs:
--------------------------------------------------------------------------------
1 | using AvalonStudio.Extensibility;
2 | using AvalonStudio.Projects;
3 | using AvalonStudio.Utils;
4 | using System.Collections.Generic;
5 | using System.Text.RegularExpressions;
6 | using System.Threading.Tasks;
7 |
8 | namespace AvalonStudio.Toolchains
9 | {
10 | public interface IToolchain : IInstallable, IExtension
11 | {
12 | IEnumerable GetToolchainIncludes(ISourceFile file);
13 |
14 | IEnumerable GetToolchainFlags(ISourceFile file);
15 |
16 | Task BuildAsync(IConsole console, IProject project, string label = "", IEnumerable definitions = null);
17 |
18 | Task Clean(IConsole console, IProject project);
19 |
20 | IList