Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorOptions.cs')
-rw-r--r--main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorOptions.cs682
1 files changed, 0 insertions, 682 deletions
diff --git a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorOptions.cs b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorOptions.cs
deleted file mode 100644
index 67208ec589..0000000000
--- a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorOptions.cs
+++ /dev/null
@@ -1,682 +0,0 @@
-// SourceEditorOptions.cs
-//
-// Author:
-// Mike Krüger <mkrueger@novell.com>
-//
-// Copyright (c) 2008 Novell, Inc (http://www.novell.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.TextEditor;
-using MonoDevelop.Core;
-using MonoDevelop.Ide.Gui.Content;
-using MonoDevelop.Ide;
-using MonoDevelop.Ide.Fonts;
-
-namespace MonoDevelop.SourceEditor
-{
- [Obsolete ("Use WordNavigationStyle")]
- public enum ControlLeftRightMode
- {
- MonoDevelop,
- Emacs,
- SharpDevelop
- }
-
- public enum WordNavigationStyle
- {
- Unix,
- Windows
- }
-
- public enum LineEndingConversion {
- Ask,
- LeaveAsIs,
- ConvertAlways
- }
-
- public class DefaultSourceEditorOptions : TextEditorOptions, ISourceEditorOptions
- {
- static DefaultSourceEditorOptions instance;
- //static TextStylePolicy defaultPolicy;
- static bool inited;
-
- public static DefaultSourceEditorOptions Instance {
- get { return instance; }
- }
-
- static DefaultSourceEditorOptions ()
- {
- Init ();
- }
-
- public static void Init ()
- {
- if (inited)
- return;
- inited = true;
-
- TextStylePolicy policy = MonoDevelop.Projects.Policies.PolicyService.GetDefaultPolicy<TextStylePolicy> ("text/plain");
- instance = new DefaultSourceEditorOptions (policy);
- MonoDevelop.Projects.Policies.PolicyService.DefaultPolicies.PolicyChanged += instance.HandlePolicyChanged;
- }
-
- void HandlePolicyChanged (object sender, MonoDevelop.Projects.Policies.PolicyChangedEventArgs args)
- {
- TextStylePolicy pol = MonoDevelop.Projects.Policies.PolicyService.GetDefaultPolicy<TextStylePolicy> ("text/plain");
- UpdateStylePolicy (pol);
- }
-
- DefaultSourceEditorOptions (MonoDevelop.Ide.Gui.Content.TextStylePolicy currentPolicy)
- {
- LoadAllPrefs ();
- UpdateStylePolicy (currentPolicy);
- PropertyService.PropertyChanged += UpdatePreferences;
- FontService.RegisterFontChangedCallback ("Editor", UpdateFont);
- FontService.RegisterFontChangedCallback ("Pad", UpdateFont);
-
- }
-
- public override void Dispose()
- {
- PropertyService.PropertyChanged -= UpdatePreferences;
- FontService.RemoveCallback (UpdateFont);
- }
-
- void UpdateFont ()
- {
- base.FontName = FontName;
- base.GutterFontName = GutterFontName;
- this.OnChanged (EventArgs.Empty);
-
- }
-
- void UpdateStylePolicy (MonoDevelop.Ide.Gui.Content.TextStylePolicy currentPolicy)
- {
- this.defaultEolMarker = TextStylePolicy.GetEolMarker (currentPolicy.EolMarker);
-
- base.TabsToSpaces = currentPolicy.TabsToSpaces; // PropertyService.Get ("TabsToSpaces", false);
- base.IndentationSize = currentPolicy.TabWidth; //PropertyService.Get ("TabIndent", 4);
- base.RulerColumn = currentPolicy.FileWidth; //PropertyService.Get ("RulerColumn", 80);
- base.AllowTabsAfterNonTabs = !currentPolicy.NoTabsAfterNonTabs; //PropertyService.Get ("AllowTabsAfterNonTabs", true);
- base.RemoveTrailingWhitespaces = currentPolicy.RemoveTrailingWhitespace; //PropertyService.Get ("RemoveTrailingWhitespaces", true);
- }
-
- // Need to be picky about only updating individual properties when they change.
- // The old approach called LoadAllPrefs on any prefs event, which sometimes caused
- // massive change event storms.
- void UpdatePreferences (object sender, PropertyChangedEventArgs args)
- {
- try {
- switch (args.Key) {
- case "TabIsReindent":
- this.TabIsReindent = (bool)args.NewValue;
- break;
- case "AutoInsertMatchingBracket":
- this.AutoInsertMatchingBracket = (bool)args.NewValue;
- break;
- case "UnderlineErrors":
- this.UnderlineErrors = (bool)args.NewValue;
- break;
- case "IndentStyle":
- if (args.NewValue == null) {
- LoggingService.LogWarning ("tried to set indent style == null");
- } else if (!(args.NewValue is IndentStyle)) {
- LoggingService.LogWarning ("tried to set indent style to " + args.NewValue + " which isn't from type IndentStyle instead it is from:" + args.NewValue.GetType ());
- this.IndentStyle = (IndentStyle)Enum.Parse (typeof(IndentStyle), args.NewValue.ToString ());
- } else
- this.IndentStyle = (IndentStyle)args.NewValue;
- break;
- case "ShowLineNumberMargin":
- base.ShowLineNumberMargin = (bool)args.NewValue;
- break;
- case "ShowFoldMargin":
- base.ShowFoldMargin = (bool)args.NewValue;
- break;
- case "HighlightCaretLine":
- base.HighlightCaretLine = (bool)args.NewValue;
- break;
- case "HighlightMatchingBracket":
- base.HighlightMatchingBracket = (bool)args.NewValue;
- break;
- case "ShowRuler":
- base.ShowRuler = (bool)args.NewValue;
- break;
- case "FontName":
- base.FontName = (string)args.NewValue;
- break;
- case "GutterFontName":
- base.GutterFontName = (string)args.NewValue;
- break;
- case "ColorScheme":
- base.ColorScheme = (string)args.NewValue;
- break;
- case "DefaultRegionsFolding":
- this.DefaultRegionsFolding = (bool)args.NewValue;
- break;
- case "DefaultCommentFolding":
- this.DefaultCommentFolding = (bool)args.NewValue;
- break;
- case "UseViModes":
- this.UseViModes = (bool)args.NewValue;
- break;
- case "OnTheFlyFormatting":
- this.OnTheFlyFormatting = (bool)args.NewValue;
- break;
- case "WordNavigationStyle":
- this.WordNavigationStyle = (WordNavigationStyle)args.NewValue;
- break;
- case "EnableAnimations":
- base.EnableAnimations = (bool)args.NewValue;
- break;
- case "DrawIndentationMarkers":
- base.DrawIndentationMarkers = (bool)args.NewValue;
- break;
- case "EnableQuickDiff":
- base.EnableQuickDiff = (bool)args.NewValue;
- break;
- case "GenerateFormattingUndoStep":
- base.GenerateFormattingUndoStep = (bool)args.NewValue;
- break;
- }
- } catch (Exception ex) {
- LoggingService.LogError ("SourceEditorOptions error with property value for '" + (args.Key ?? "") + "'", ex);
- }
- }
-
- void LoadAllPrefs ()
- {
- this.tabIsReindent = PropertyService.Get ("TabIsReindent", false);
- // this.autoInsertTemplates = PropertyService.Get ("AutoInsertTemplates", false);
- this.autoInsertMatchingBracket = PropertyService.Get ("AutoInsertMatchingBracket", false);
- this.smartSemicolonPlacement = PropertyService.Get ("SmartSemicolonPlacement", false);
- this.underlineErrors = PropertyService.Get ("UnderlineErrors", true);
- this.indentStyle = PropertyService.Get ("IndentStyle", IndentStyle.Smart);
- base.ShowLineNumberMargin = PropertyService.Get ("ShowLineNumberMargin", true);
- base.ShowFoldMargin = PropertyService.Get ("ShowFoldMargin", false);
- base.HighlightCaretLine = PropertyService.Get ("HighlightCaretLine", false);
- base.HighlightMatchingBracket = PropertyService.Get ("HighlightMatchingBracket", true);
- base.ShowRuler = PropertyService.Get ("ShowRuler", false);
- base.FontName = PropertyService.Get ("FontName", "Mono 10");
- base.GutterFontName = PropertyService.Get ("GutterFontName", "");
- base.ColorScheme = PropertyService.Get ("ColorScheme", "Default");
- this.defaultRegionsFolding = PropertyService.Get ("DefaultRegionsFolding", false);
- this.defaultCommentFolding = PropertyService.Get ("DefaultCommentFolding", true);
- this.useViModes = PropertyService.Get ("UseViModes", false);
- this.onTheFlyFormatting = PropertyService.Get ("OnTheFlyFormatting", true);
-
- WordNavigationStyle defaultWordNavigation = WordNavigationStyle.Unix;
- if (Platform.IsWindows || PropertyService.Get ("ControlLeftRightMode", (string)null) == "SharpDevelop") {
- defaultWordNavigation = WordNavigationStyle.Windows;
- }
- this.WordNavigationStyle = PropertyService.Get ("WordNavigationStyle", defaultWordNavigation);
-
- base.EnableAnimations = PropertyService.Get ("EnableAnimations", true);
- this.EnableHighlightUsages = PropertyService.Get ("EnableHighlightUsages", false);
- base.DrawIndentationMarkers = PropertyService.Get ("DrawIndentationMarkers", false);
- this.lineEndingConversion = PropertyService.Get ("LineEndingConversion", LineEndingConversion.Ask);
- base.GenerateFormattingUndoStep = PropertyService.Get ("GenerateFormattingUndoStep", false);
- base.ShowWhitespaces = PropertyService.Get ("ShowWhitespaces", Mono.TextEditor.ShowWhitespaces.Never);
- base.IncludeWhitespaces = PropertyService.Get ("IncludeWhitespaces", Mono.TextEditor.IncludeWhitespaces.All);
- base.WrapLines = PropertyService.Get ("WrapLines", false);
- base.EnableQuickDiff = PropertyService.Get ("EnableQuickDiff", false);
- }
-
- #region new options
-
- public bool EnableAutoCodeCompletion {
- get { return CompletionTextEditorExtension.EnableAutoCodeCompletion; }
- set { CompletionTextEditorExtension.EnableAutoCodeCompletion.Set (value); }
- }
-
- bool defaultRegionsFolding;
- public bool DefaultRegionsFolding {
- get {
- return defaultRegionsFolding;
- }
- set {
- if (value != this.defaultRegionsFolding) {
- this.defaultRegionsFolding = value;
- PropertyService.Set ("DefaultRegionsFolding", value);
- OnChanged (EventArgs.Empty);
- }
- }
- }
-
- bool defaultCommentFolding;
- public bool DefaultCommentFolding {
- get {
- return defaultCommentFolding;
- }
- set {
- if (value != this.defaultCommentFolding) {
- this.defaultCommentFolding = value;
- PropertyService.Set ("DefaultCommentFolding", value);
- OnChanged (EventArgs.Empty);
- }
- }
- }
-
- public bool EnableSemanticHighlighting {
- get {
- return true;
- }
- }
- /*
- bool autoInsertTemplates;
- public bool AutoInsertTemplates {
- get {
- return autoInsertTemplates;
- }
- set {
- if (value != this.autoInsertTemplates) {
- this.autoInsertTemplates = value;
- PropertyService.Set ("AutoInsertTemplates", value);
- OnChanged (EventArgs.Empty);
- }
- }
- }*/
-
- bool tabIsReindent;
- public bool TabIsReindent {
- get {
- return tabIsReindent;
- }
- set {
- if (value != this.tabIsReindent) {
- this.tabIsReindent = value;
- PropertyService.Set ("TabIsReindent", value);
- OnChanged (EventArgs.Empty);
- }
- }
- }
-
- bool autoInsertMatchingBracket;
- public bool AutoInsertMatchingBracket {
- get {
- return autoInsertMatchingBracket;
- }
- set {
- if (value != this.autoInsertMatchingBracket) {
- this.autoInsertMatchingBracket = value;
- PropertyService.Set ("AutoInsertMatchingBracket", value);
- OnChanged (EventArgs.Empty);
- }
- }
- }
-
- bool smartSemicolonPlacement;
- public bool SmartSemicolonPlacement {
- get {
- return smartSemicolonPlacement;
- }
- set {
- if (value != this.smartSemicolonPlacement) {
- this.smartSemicolonPlacement= value;
- PropertyService.Set ("SmartSemicolonPlacement", value);
- OnChanged (EventArgs.Empty);
- }
- }
- }
-
- bool underlineErrors;
- public bool UnderlineErrors {
- get {
- return underlineErrors;
- }
- set {
- if (value != this.underlineErrors) {
- this.underlineErrors = value;
- PropertyService.Set ("UnderlineErrors", value);
- OnChanged (EventArgs.Empty);
- }
- }
- }
-
- IndentStyle indentStyle;
- public override IndentStyle IndentStyle {
- get {
- return indentStyle;
- }
- set {
- if (value != this.indentStyle) {
- this.indentStyle = value;
- PropertyService.Set ("IndentStyle", value);
- OnChanged (EventArgs.Empty);
- }
- }
- }
-
- EditorFontType editorFontType;
- public EditorFontType EditorFontType {
- get {
- return editorFontType;
- }
- set {
- if (value != this.editorFontType) {
- this.editorFontType = value;
- PropertyService.Set ("EditorFontType", value);
- OnChanged (EventArgs.Empty);
- }
- }
- }
-
- bool enableHighlightUsages;
- public bool EnableHighlightUsages {
- get {
- return enableHighlightUsages;
- }
- set {
- if (value != this.enableHighlightUsages) {
- this.enableHighlightUsages = value;
- PropertyService.Set ("EnableHighlightUsages", value);
- OnChanged (EventArgs.Empty);
- }
- }
- }
-
- LineEndingConversion lineEndingConversion;
- public LineEndingConversion LineEndingConversion {
- get {
- return lineEndingConversion;
- }
- set {
- if (value != this.lineEndingConversion) {
- this.lineEndingConversion = value;
- PropertyService.Set ("LineEndingConversion", value);
- OnChanged (EventArgs.Empty);
- }
- }
- }
-
-
- #endregion
-
- bool useViModes = false;
- public bool UseViModes {
- get {
- return useViModes;
- }
- set {
- if (useViModes == value)
- return;
- useViModes = value;
- PropertyService.Set ("UseViModes", value);
- OnChanged (EventArgs.Empty);
- }
- }
-
- bool onTheFlyFormatting = false;
- public bool OnTheFlyFormatting {
- get {
- return onTheFlyFormatting;
- }
- set {
- if (onTheFlyFormatting == value)
- return;
- onTheFlyFormatting = value;
- PropertyService.Set ("OnTheFlyFormatting", value);
- OnChanged (EventArgs.Empty);
- }
- }
-
- #region old options
- string defaultEolMarker;
- public override string DefaultEolMarker {
- get { return defaultEolMarker; }
- }
-
- WordNavigationStyle wordNavigationStyle = Platform.IsWindows
- ? WordNavigationStyle.Windows
- : WordNavigationStyle.Unix;
-
- [Obsolete("Use WordNavigationStyle")]
- public ControlLeftRightMode ControlLeftRightMode {
- get {
- return WordNavigationStyle == WordNavigationStyle.Unix
- ? ControlLeftRightMode.MonoDevelop
- : ControlLeftRightMode.SharpDevelop;
- }
- set {
- switch (value) {
- case ControlLeftRightMode.Emacs:
- case ControlLeftRightMode.MonoDevelop:
- WordNavigationStyle = WordNavigationStyle.Unix;
- return;
- default:
- WordNavigationStyle = WordNavigationStyle.Windows;
- return;
- }
- }
- }
-
- public WordNavigationStyle WordNavigationStyle {
- get {
- return wordNavigationStyle;
- }
- set {
- if (wordNavigationStyle != value) {
- wordNavigationStyle = value;
- PropertyService.Set ("WordNavigationStyle", value);
- SetWordFindStrategy ();
- OnChanged (EventArgs.Empty);
- }
- }
- }
-
- IWordFindStrategy wordFindStrategy = null;
- public override IWordFindStrategy WordFindStrategy {
- get {
- if (wordFindStrategy == null)
- SetWordFindStrategy ();
- return this.wordFindStrategy;
- }
- set {
- throw new System.NotImplementedException ();
- }
- }
-
- void SetWordFindStrategy ()
- {
- if (useViModes) {
- wordFindStrategy = new Mono.TextEditor.Vi.ViWordFindStrategy ();
- return;
- }
-
- switch (WordNavigationStyle) {
- case WordNavigationStyle.Windows:
- wordFindStrategy = new SharpDevelopWordFindStrategy ();
- break;
- default:
- wordFindStrategy = new EmacsWordFindStrategy ();
- break;
- }
- }
-
- public override bool AllowTabsAfterNonTabs {
- set {
- if (value != AllowTabsAfterNonTabs) {
- PropertyService.Set ("AllowTabsAfterNonTabs", value);
- base.AllowTabsAfterNonTabs = value;
- }
- }
- }
-
- public override bool TabsToSpaces {
- set {
- PropertyService.Set ("TabsToSpaces", value);
- base.TabsToSpaces = value;
- }
- }
-
- public override int IndentationSize {
- set {
- PropertyService.Set ("TabIndent", value);
- base.IndentationSize = value;
- }
- }
-
- public override int TabSize {
- get {
- return IndentationSize;
- }
- set {
- IndentationSize = value;
- }
- }
-
- public override bool RemoveTrailingWhitespaces {
- set {
- PropertyService.Set ("RemoveTrailingWhitespaces", value);
- base.RemoveTrailingWhitespaces = value;
- }
- }
-
-
- public override bool ShowLineNumberMargin {
- set {
- PropertyService.Set ("ShowLineNumberMargin", value);
- base.ShowLineNumberMargin = value;
- }
- }
-
- public override bool ShowFoldMargin {
- set {
- PropertyService.Set ("ShowFoldMargin", value);
- base.ShowFoldMargin = value;
- }
- }
-
- public override bool HighlightCaretLine {
- set {
- PropertyService.Set ("HighlightCaretLine", value);
- base.HighlightCaretLine = value;
- }
- }
-
- public override bool EnableSyntaxHighlighting {
- get {
- return true;
- }
- set {
- // nothing
- }
- }
-
- public override bool HighlightMatchingBracket {
- set {
- PropertyService.Set ("HighlightMatchingBracket", value);
- base.HighlightMatchingBracket = value;
- }
- }
-
- public override int RulerColumn {
- set {
- PropertyService.Set ("RulerColumn", value);
- base.RulerColumn = value;
- }
- }
-
- public override bool ShowRuler {
- set {
- PropertyService.Set ("ShowRuler", value);
- base.ShowRuler = value;
- }
- }
-
- public override bool EnableAnimations {
- set {
- PropertyService.Set ("EnableAnimations", value);
- base.EnableAnimations = value;
- }
- }
-
- public override bool DrawIndentationMarkers {
- set {
- PropertyService.Set ("DrawIndentationMarkers", value);
- base.DrawIndentationMarkers = value;
- }
- }
-
- public override ShowWhitespaces ShowWhitespaces {
- set {
- PropertyService.Set ("ShowWhitespaces", value);
- base.ShowWhitespaces = value;
- }
- }
-
- public override IncludeWhitespaces IncludeWhitespaces {
- set {
- PropertyService.Set ("IncludeWhitespaces", value);
- base.IncludeWhitespaces = value;
- }
- }
-
- public override bool WrapLines {
- set {
- PropertyService.Set ("WrapLines", value);
- base.WrapLines = value;
- }
- }
-
- public override bool EnableQuickDiff {
- set {
- PropertyService.Set ("EnableQuickDiff", value);
- base.EnableQuickDiff = value;
- }
- }
-
- public override string FontName {
- get {
- return FontService.FilterFontName (FontService.GetUnderlyingFontName ("Editor"));
- }
- set {
- throw new InvalidOperationException ("Set font through font service");
- }
- }
-
- public override string GutterFontName {
- get {
- return FontService.FilterFontName (FontService.GetUnderlyingFontName ("Editor"));
- }
- set {
- throw new InvalidOperationException ("Set font through font service");
- }
- }
-
- public override string ColorScheme {
- set {
- string newColorScheme = !String.IsNullOrEmpty (value) ? value : "Default";
- PropertyService.Set ("ColorScheme", newColorScheme);
- base.ColorScheme = newColorScheme;
- }
- }
-
- public override bool GenerateFormattingUndoStep {
- set {
- PropertyService.Set ("GenerateFormattingUndoStep", value);
- base.GenerateFormattingUndoStep = value;
- }
- }
-
- #endregion
- }
-}