diff options
author | Mikayla Hutchinson <m.j.hutchinson@gmail.com> | 2019-01-17 04:04:00 +0300 |
---|---|---|
committer | Mikayla Hutchinson <m.j.hutchinson@gmail.com> | 2019-01-17 07:29:30 +0300 |
commit | 7dcd2747737a86f99d073798b9d38a6e96157436 (patch) | |
tree | 2a84d3af04e196be6ce578012d77158f105f68a1 | |
parent | ec45d2e5ff61c406aa3ecc147fc5087ca655014a (diff) |
Add new MonoDevelop.TextEditor project
This is where code shared between the WPF and Cocoa implementations
will live, along with any public API and extension point surface.
4 files changed, 273 insertions, 0 deletions
diff --git a/main/Main.sln b/main/Main.sln index 20a98a746f..a8354cb132 100644 --- a/main/Main.sln +++ b/main/Main.sln @@ -341,6 +341,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "MonoDevelop.TextEditor", "M EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoDevelop.TextEditor.Wpf", "src\addins\MonoDevelop.TextEditor\MonoDevelop.TextEditor.Wpf\MonoDevelop.TextEditor.Wpf.csproj", "{29D34EA6-D312-4690-9FE9-1EA1F2EBAC2E}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoDevelop.TextEditor", "src\addins\MonoDevelop.TextEditor\MonoDevelop.TextEditor\MonoDevelop.TextEditor.csproj", "{3F5B5BDA-69D5-441A-8142-AA25C998A997}"
+EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vs-editor-core", "vs-editor-core", "{669BD438-1BDC-40C6-83CA-CEC133D036A0}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Editor", "Editor", "{5A92B792-BF17-4748-B29E-34C99B2E8722}"
@@ -2218,6 +2220,22 @@ Global {29D34EA6-D312-4690-9FE9-1EA1F2EBAC2E}.ReleaseMac|Any CPU.ActiveCfg = Release|Any CPU
{29D34EA6-D312-4690-9FE9-1EA1F2EBAC2E}.ReleaseWin32|Any CPU.ActiveCfg = Release|Any CPU
{29D34EA6-D312-4690-9FE9-1EA1F2EBAC2E}.ReleaseWin32|Any CPU.Build.0 = Release|Any CPU
+ {3F5B5BDA-69D5-441A-8142-AA25C998A997}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3F5B5BDA-69D5-441A-8142-AA25C998A997}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3F5B5BDA-69D5-441A-8142-AA25C998A997}.DebugGnome|Any CPU.ActiveCfg = Debug|Any CPU
+ {3F5B5BDA-69D5-441A-8142-AA25C998A997}.DebugGnome|Any CPU.Build.0 = Debug|Any CPU
+ {3F5B5BDA-69D5-441A-8142-AA25C998A997}.DebugMac|Any CPU.ActiveCfg = Debug|Any CPU
+ {3F5B5BDA-69D5-441A-8142-AA25C998A997}.DebugMac|Any CPU.Build.0 = Debug|Any CPU
+ {3F5B5BDA-69D5-441A-8142-AA25C998A997}.DebugWin32|Any CPU.ActiveCfg = Debug|Any CPU
+ {3F5B5BDA-69D5-441A-8142-AA25C998A997}.DebugWin32|Any CPU.Build.0 = Debug|Any CPU
+ {3F5B5BDA-69D5-441A-8142-AA25C998A997}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3F5B5BDA-69D5-441A-8142-AA25C998A997}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3F5B5BDA-69D5-441A-8142-AA25C998A997}.ReleaseGnome|Any CPU.ActiveCfg = Release|Any CPU
+ {3F5B5BDA-69D5-441A-8142-AA25C998A997}.ReleaseGnome|Any CPU.Build.0 = Release|Any CPU
+ {3F5B5BDA-69D5-441A-8142-AA25C998A997}.ReleaseMac|Any CPU.ActiveCfg = Release|Any CPU
+ {3F5B5BDA-69D5-441A-8142-AA25C998A997}.ReleaseMac|Any CPU.Build.0 = Release|Any CPU
+ {3F5B5BDA-69D5-441A-8142-AA25C998A997}.ReleaseWin32|Any CPU.ActiveCfg = Release|Any CPU
+ {3F5B5BDA-69D5-441A-8142-AA25C998A997}.ReleaseWin32|Any CPU.Build.0 = Release|Any CPU
{E397B9E6-BFF5-4BBB-B465-7CFE2AC96BF6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E397B9E6-BFF5-4BBB-B465-7CFE2AC96BF6}.DebugGnome|Any CPU.ActiveCfg = Debug|Any CPU
{E397B9E6-BFF5-4BBB-B465-7CFE2AC96BF6}.DebugMac|Any CPU.ActiveCfg = Debug|Any CPU
@@ -2835,6 +2853,7 @@ Global {44FFFDDA-156F-49F9-AE6A-BA640C198B33} = {1DEFDD53-2677-439D-906E-141ED2AEC19B}
{C14B06AC-905A-47AB-BAD9-652E3499CFE0} = {D417E929-2B3A-46AC-BBE8-027ADB63A790}
{29D34EA6-D312-4690-9FE9-1EA1F2EBAC2E} = {C14B06AC-905A-47AB-BAD9-652E3499CFE0}
+ {3F5B5BDA-69D5-441A-8142-AA25C998A997} = {C14B06AC-905A-47AB-BAD9-652E3499CFE0}
{669BD438-1BDC-40C6-83CA-CEC133D036A0} = {C14B06AC-905A-47AB-BAD9-652E3499CFE0}
{5A92B792-BF17-4748-B29E-34C99B2E8722} = {669BD438-1BDC-40C6-83CA-CEC133D036A0}
{378D061D-D16E-408F-8E01-68B04D77258A} = {669BD438-1BDC-40C6-83CA-CEC133D036A0}
diff --git a/main/src/addins/MonoDevelop.TextEditor/MonoDevelop.TextEditor/MonoDevelop.TextEditor.csproj b/main/src/addins/MonoDevelop.TextEditor/MonoDevelop.TextEditor/MonoDevelop.TextEditor.csproj new file mode 100644 index 0000000000..938aaa9d77 --- /dev/null +++ b/main/src/addins/MonoDevelop.TextEditor/MonoDevelop.TextEditor/MonoDevelop.TextEditor.csproj @@ -0,0 +1,15 @@ +<Project Sdk="Microsoft.NET.Sdk"> + <Import Project="..\..\..\..\MonoDevelop.props" /> + <Import Project="$(ReferencesVSEditor)" /> + <Import Project="$(ReferencesGtk)" /> + <PropertyGroup> + <AssemblyTitle>MonoDevelop Text Editor</AssemblyTitle> + <AssemblyDescription>Integrates the Visual Studio Editor into MonoDevelop</AssemblyDescription> + <OutputPath>..\..\..\..\build\AddIns\DisplayBindings\TextEditor</OutputPath> + <AddMonoDevelopCoreReferences>true</AddMonoDevelopCoreReferences> + </PropertyGroup> + <ItemGroup> + <InternalsVisibleTo Include="MonoDevelop.TextEditor.Cocoa" /> + <InternalsVisibleTo Include="MonoDevelop.TextEditor.Wpf" /> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/main/src/addins/MonoDevelop.TextEditor/MonoDevelop.TextEditor/Properties/AddinInfo.cs b/main/src/addins/MonoDevelop.TextEditor/MonoDevelop.TextEditor/Properties/AddinInfo.cs new file mode 100644 index 0000000000..f3d62c6875 --- /dev/null +++ b/main/src/addins/MonoDevelop.TextEditor/MonoDevelop.TextEditor/Properties/AddinInfo.cs @@ -0,0 +1,39 @@ +// +// Copyright (c) Microsoft Corp. (https://www.microsoft.com) +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +using System; +using Mono.Addins; +using Mono.Addins.Description; + +[assembly:Addin ("TextEditor", + Namespace = "MonoDevelop", + Version = MonoDevelop.BuildInfo.Version, + Category = "MonoDevelop Core")] + +[assembly:AddinName ("MonoDevelop Text Editor")] +[assembly:AddinDescription ("Integrates the Visual Studio text editor")] +[assembly: AddinFlags (AddinFlags.Hidden)] + +[assembly:AddinDependency ("Core", MonoDevelop.BuildInfo.Version)] +[assembly:AddinDependency ("Ide", MonoDevelop.BuildInfo.Version)] +[assembly:AddinDependency ("Debugger", MonoDevelop.BuildInfo.Version)] +[assembly:AddinDependency ("DesignerSupport", MonoDevelop.BuildInfo.Version)] +[assembly:AddinDependency ("Refactoring", MonoDevelop.BuildInfo.Version)] diff --git a/main/src/addins/MonoDevelop.TextEditor/MonoDevelop.TextEditor/Properties/MonoDevelop.TextEditor.addin.xml b/main/src/addins/MonoDevelop.TextEditor/MonoDevelop.TextEditor/Properties/MonoDevelop.TextEditor.addin.xml new file mode 100644 index 0000000000..61d6b6badf --- /dev/null +++ b/main/src/addins/MonoDevelop.TextEditor/MonoDevelop.TextEditor/Properties/MonoDevelop.TextEditor.addin.xml @@ -0,0 +1,200 @@ +<ExtensionModel> + <!-- Extension points --> + + <ExtensionPoint path = "/MonoDevelop/TextEditor/ContextMenu/Editor" name = "Editor context menu"> + <Description>Context menu for the editor.</Description>; + <ExtensionNodeSet id="MonoDevelop.Components.Commands.ItemSet" /> + <ConditionType id="FileType" type="MonoDevelop.Ide.Extensions.FileTypeCondition"> + <Description>Type of the file being edited.</Description> + </ConditionType> + </ExtensionPoint> +<!-- + <ExtensionPoint path = "/MonoDevelop/TextEditor/ContextMenu/NavigationBar" name = "Navigation bar context menu"> + <Description>Context menu for the navigation bar.</Description> + <ExtensionNodeSet id="MonoDevelop.Components.Commands.ItemSet" /> + </ExtensionPoint> + + <ExtensionPoint path = "/MonoDevelop/TextEditor/ContextMenu/Scrollbar" name = "Scroll bar context menu"> + <Description>Context menu for the navigation bar.</Description> + <ExtensionNodeSet id="MonoDevelop.Components.Commands.ItemSet" /> + </ExtensionPoint> + + <ExtensionPoint path = "/MonoDevelop/TextEditor/IconContextMenu/Editor" name = "Editor context menu"> + <Description>Context menu for the editor's icon margin.</Description> + <ExtensionNodeSet id="MonoDevelop.Components.Commands.ItemSet" /> + <ConditionType id="FileType" type="MonoDevelop.Ide.Extensions.FileTypeCondition"> + <Description>Type of the file being edited.</Description> + </ConditionType> + </ExtensionPoint> + + <ExtensionPoint path = "/MonoDevelop/TextEditor/EditActions" name = "Custom edit actions"> + <Description>Custom edit actions for the editor.</Description> + <ExtensionNode name="EditAction" type="MonoDevelop.SourceEditor.Codons.EditActionCodon"/> + </ExtensionPoint> + + <ExtensionPoint path = "/MonoDevelop/TextEditor/Formatters" name = "Formatters"> + <Description>Custom edit actions for the editor.</Description> + <ExtensionNode name="Class" /> + </ExtensionPoint> + + --><!-- Extensions --> + + <Extension path="/MonoDevelop/Ide/Composition"> + <!-- + <Assembly file="../../../bin/Microsoft.CodeAnalysis.EditorFeatures.Wpf.dll"/> + <Assembly file="../../../bin/Microsoft.VisualStudio.Platform.VSEditor.dll"/> + --> + <Assembly file="MonoDevelop.TextEditor.dll"/> + </Extension> + + <!-- + <Extension path = "/MonoDevelop/Ide/Editor/TooltipProviders"> + <Provider id="Debug" class="MonoDevelop.SourceEditor.DebugValueTooltipProvider" /> + <Provider id="CompileError" class="MonoDevelop.SourceEditor.CompileErrorTooltipProvider" /> + </Extension> + + <Extension path = "/MonoDevelop/Ide/Commands"> + <Command id = "MonoDevelop.SourceEditor.SourceEditorCommands.MarkerOperations" + defaultHandler = "MonoDevelop.SourceEditor.MarkerOperationsHandler" + _label = "MarkerOperations" + type = "array"/> + <Category _name = "Code Navigation" id = "CodeNavigation"> + <Command id = "MonoDevelop.SourceEditor.SourceEditorCommands.NextIssue" + _label = "Next Issue in File" + shortcut = "Alt|Page_Down" + macShortcut = "Alt|Page_Down" + /> + <Command id = "MonoDevelop.SourceEditor.SourceEditorCommands.PrevIssue" + _label = "Previous Issue in File" + shortcut = "Alt|Page_Up" + macShortcut = "Alt|Page_Up" + /> + <Command id = "MonoDevelop.SourceEditor.SourceEditorCommands.NextIssueError" + _label = "Next Error" + shortcut = "Alt|Shift|Page_Down" + macShortcut = "Alt|Shift|Page_Down Shift|Meta|F12" + /> + <Command id = "MonoDevelop.SourceEditor.SourceEditorCommands.PrevIssueError" + _label = "Previous Error" + shortcut = "Alt|Shift|Page_Up" + macShortcut = "Alt|Shift|Page_Up" + /> + </Category> + </Extension> + + <Extension path = "/MonoDevelop/Ide/Commands/Hidden"> + <Command id = "MonoDevelop.SourceEditor.QuickTasks.ScrollbarCommand.Top" + _label = "_Top"/> + <Command id = "MonoDevelop.SourceEditor.QuickTasks.ScrollbarCommand.Bottom" + _label = "_Bottom"/> + <Command id = "MonoDevelop.SourceEditor.QuickTasks.ScrollbarCommand.PgUp" + _label = "_Page Up"/> + <Command id = "MonoDevelop.SourceEditor.QuickTasks.ScrollbarCommand.PgDown" + _label = "P_age Down"/> + </Extension> + + <Extension path = "/MonoDevelop/Ide/Commands/TextEditor"> + <Command id = "MonoDevelop.SourceEditor.QuickTasks.ScrollbarCommand.ShowMinimap" + _label = "Show _Minimap" + type = "check"/> + </Extension> +--> + <Extension path = "/MonoDevelop/TextEditor/ContextMenu/Editor"> + <CommandItem id = "MonoDevelop.SourceEditor.SourceEditorCommands.MarkerOperations" /> + <CommandItem id = "MonoDevelop.Debugger.DebugCommands.ExpressionEvaluator" /> + <SeparatorItem id = "Separator1" /> + <CommandItem id = "MonoDevelop.Debugger.DebugCommands.RunToCursor" /> + <CommandItem id = "MonoDevelop.Debugger.DebugCommands.SetNextStatement" /> + <CommandItem id = "MonoDevelop.Debugger.DebugCommands.ShowNextStatement" /> + <SeparatorItem id = "Separator2" /> + <CommandItem id = "MonoDevelop.Ide.Commands.EditCommands.Cut" /> + <CommandItem id = "MonoDevelop.Ide.Commands.EditCommands.Copy" /> + <CommandItem id = "MonoDevelop.Ide.Commands.EditCommands.Paste" /> + <SeparatorItem id = "Separator3" /> + <CommandItem id = "MonoDevelop.Ide.Commands.EditCommands.ToggleCodeComment" /> + <CommandItem id = "MonoDevelop.Ide.Commands.EditCommands.IndentSelection" /> + <CommandItem id = "MonoDevelop.Ide.Commands.EditCommands.UnIndentSelection" /> + <SeparatorItem id = "Separator4" /> + <CommandItem id = "MonoDevelop.Ide.Commands.TextEditorCommands.ShowCodeSurroundingsWindow" _label = "Surround With..." /> + <CommandItem id = "MonoDevelop.Ide.Commands.TextEditorCommands.ShowCodeTemplateWindow" _label = "Insert Template..." /> + <SeparatorItem id = "Separator5" /> + </Extension> +<!--> + <Extension path = "/MonoDevelop/SourceEditor2/ContextMenu/Scrollbar"> + <CommandItem id = "MonoDevelop.SourceEditor.QuickTasks.ScrollbarCommand.Top" /> + <CommandItem id = "MonoDevelop.SourceEditor.QuickTasks.ScrollbarCommand.Bottom" /> + <SeparatorItem id = "Separator1" /> + <CommandItem id = "MonoDevelop.SourceEditor.QuickTasks.ScrollbarCommand.PgUp" /> + <CommandItem id = "MonoDevelop.SourceEditor.QuickTasks.ScrollbarCommand.PgDown" /> + <SeparatorItem id = "Separator2" /> + <CommandItem id = "MonoDevelop.SourceEditor.QuickTasks.ScrollbarCommand.ShowMinimap" /> + </Extension> + + <Extension path = "/MonoDevelop/SourceEditor2/ContextMenu/NavigationBar"> + <CommandItem id = "MonoDevelop.SourceEditor.NavigationBarCommands.ToggleNavPanelViews" /> + </Extension> + + <Extension path = "/MonoDevelop/SourceEditor2/IconContextMenu/Editor"> + <CommandItem id = "MonoDevelop.Ide.Editor.MessageBubbleCommands.Toggle" /> + <SeparatorItem id = "Separator1" /> + <CommandItem id = "MonoDevelop.Debugger.DebugCommands.ToggleBreakpoint" /> + <CommandItem id = "MonoDevelop.Ide.Commands.SearchCommands.ToggleBookmark" /> + <SeparatorItem id = "Separator1" /> + <CommandItem id = "MonoDevelop.Debugger.DebugCommands.NewBreakpoint" /> + <CommandItem id = "MonoDevelop.Debugger.DebugCommands.ShowBreakpointProperties" /> + <SeparatorItem id = "Separator1" /> + <CommandItem id = "MonoDevelop.Debugger.DebugCommands.EnableDisableBreakpoint" /> + <CommandItem id = "MonoDevelop.Debugger.DebugCommands.DisableAllBreakpoints" /> + <SeparatorItem id = "Separator1" /> + <CommandItem id = "MonoDevelop.Debugger.DebugCommands.RemoveBreakpoint" /> + <CommandItem id = "MonoDevelop.Debugger.DebugCommands.ClearAllBreakpoints" /> + <CommandItem id = "MonoDevelop.Ide.Commands.SearchCommands.ClearBookmarks" /> + </Extension> + + <Extension path="/MonoDevelop/Ide/GlobalOptionsDialog/TextEditor"> + <Section id="General" insertbefore="Formatting" _label="General" fill="true" class="MonoDevelop.SourceEditor.OptionPanels.GeneralOptionsPanel" icon="md-prefs-text-editor-general" /> + <Section id="Markers" _label="Markers and Rulers" class="MonoDevelop.SourceEditor.OptionPanels.MarkerPanel" icon="md-prefs-markers-rulers" /> + <Section id="Behavior" _label="Behavior" class="MonoDevelop.SourceEditor.OptionPanels.BehaviorPanel" icon="md-prefs-text-editor-behavior" /> + <Section id="CodeCompletion" _label="IntelliSense" icon="md-prefs-completion"> + <Panel id="CompletionBehavior" _label="Behavior" class="MonoDevelop.SourceEditor.OptionPanels.CompletionOptionsPanel" icon="md-prefs-completion" /> + --><!-- <Section id="CompletionCharacters" _label="Completion Characters" class="MonoDevelop.SourceEditor.OptionPanels.CompletionCharactersPanel" /> --><!-- + <Panel id="CompletionAppearance" _label="Appearance" class="MonoDevelop.SourceEditor.OptionPanels.CompletionAppearancePanel" icon="md-prefs-completion" /> + </Section> + <Section id="SyntaxHighlighting" _label="Color Theme" fill="true" class="MonoDevelop.SourceEditor.OptionPanels.HighlightingPanel" icon="md-prefs-syntax-highlighting" /> + </Extension> + + <Extension path = "/MonoDevelop/Ide/MainMenu/Search"> + <ItemSet id = "Inspect" _label = "Inspect" insertafter="MonoDevelop.Ide.Commands.ViewCommands.ShowNext" insertbefore="Separator3"> + <CommandItem id = "MonoDevelop.SourceEditor.SourceEditorCommands.PrevIssueError" /> + <CommandItem id = "MonoDevelop.SourceEditor.SourceEditorCommands.NextIssueError" /> + <SeparatorItem id = "InspectIssueSeparator" /> + <CommandItem id = "MonoDevelop.SourceEditor.SourceEditorCommands.PrevIssue" /> + <CommandItem id = "MonoDevelop.SourceEditor.SourceEditorCommands.NextIssue" /> + </ItemSet> + </Extension> + + <Extension path = "/MonoDevelop/Ide/Editor/EditorFactory"> + <Class id = "SourceEditor" class="MonoDevelop.SourceEditor.EditorFactory" /> + </Extension> + + <Extension path = "/MonoDevelop/Ide/AutoInsertBracketHandler"> + <Handler id = "Default" class="MonoDevelop.SourceEditor.DefaultAutoInsertBracketHandler" /> + </Extension> + + <Extension path = "/MonoDevelop/Core/UserDataMigration"> + --><!-- 2.4 --><!-- + <Migration sourceVersion="2.4" kind="UserData" path="syntaxmodes" targetPath="HighlightingSchemes" isDirectory="true" /> + --><!-- 2.6+ --><!-- + <Migration sourceVersion="2.6+" kind="UserData" path="HighlightingSchemes" isDirectory="true" /> + </Extension> + + <Extension path = "/MonoDevelop/Core/StockIcons"> + <StockIcon stockid="md-prefs-markers-rulers" resource="prefs-markers-rulers-16.png" size="Menu" /> + <StockIcon stockid="md-prefs-syntax-highlighting" resource="prefs-syntax-highlighting-16.png" size="Menu" /> + <StockIcon stockid="md-prefs-text-editor-general" resource="prefs-text-editor-general-16.png" size="Menu" /> + <StockIcon stockid="md-prefs-text-editor-behavior" resource="prefs-text-editor-behavior-16.png" size="Menu" /> + <StockIcon stockid="md-prefs-completion" resource="prefs-completion-16.png" size="Menu" /> + </Extension> + +--> +</ExtensionModel> |