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
path: root/main/src
diff options
context:
space:
mode:
authorSandy Armstrong <sandy@xamarin.com>2019-06-26 07:19:51 +0300
committerSandy Armstrong <sandy@xamarin.com>2019-06-26 07:19:51 +0300
commit625d894ddede8c2ca21332721f9fd267a62d122a (patch)
treefc0a284d8a4718bc69e23d4873e61dbb6369e12f /main/src
parent254a5ebb82bbc90847bfa6558b674c8d460bcfe1 (diff)
Legacy Editor: Use feature service to disable async completion
See https://github.com/dotnet/roslyn/pull/36584
Diffstat (limited to 'main/src')
-rw-r--r--main/src/addins/MonoDevelop.SourceEditor2/VSEditor/TextEditorInitializationService.cs14
-rw-r--r--main/src/addins/MonoDevelop.TextEditor/MonoDevelop.TextEditor/TextViewContent.cs6
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/DefaultSourceEditorOptions.cs14
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/TextEditorViewContent.cs5
4 files changed, 14 insertions, 25 deletions
diff --git a/main/src/addins/MonoDevelop.SourceEditor2/VSEditor/TextEditorInitializationService.cs b/main/src/addins/MonoDevelop.SourceEditor2/VSEditor/TextEditorInitializationService.cs
index e5e07bf5ee..6567740e6b 100644
--- a/main/src/addins/MonoDevelop.SourceEditor2/VSEditor/TextEditorInitializationService.cs
+++ b/main/src/addins/MonoDevelop.SourceEditor2/VSEditor/TextEditorInitializationService.cs
@@ -66,6 +66,9 @@ namespace Microsoft.VisualStudio.Text.Editor.Implementation
internal ITextSearchService2 TextSearchService { get; set; }
[Import]
+ internal IFeatureServiceFactory FeatureServiceFactory { get; set; }
+
+ [Import]
internal ITextStructureNavigatorSelectorService TextStructureNavigatorSelectorService { get; set; }
[Import]
@@ -140,6 +143,8 @@ namespace Microsoft.VisualStudio.Text.Editor.Implementation
view.Initialize(viewModel, roles, this.EditorOptionsFactoryService.GlobalOptions, this);
view.Properties.AddProperty(typeof(MonoDevelop.Ide.Editor.TextEditor), textEditor);
+ FeatureServiceFactory.GetOrCreate(view).Disable(PredefinedEditorFeatureNames.AsyncCompletion, EmptyFeatureController.Instance);
+
this.TextViewCreated?.Invoke(this, new TextViewCreatedEventArgs(view));
return view;
@@ -191,5 +196,14 @@ namespace Microsoft.VisualStudio.Text.Editor.Implementation
this.OrderedSpaceReservationManagerDefinitions.Add(orderedManagers[i].Metadata.Name, i);
}
}
+
+ sealed class EmptyFeatureController : IFeatureController
+ {
+ internal static readonly EmptyFeatureController Instance = new EmptyFeatureController();
+
+ private EmptyFeatureController()
+ {
+ }
+ }
}
}
diff --git a/main/src/addins/MonoDevelop.TextEditor/MonoDevelop.TextEditor/TextViewContent.cs b/main/src/addins/MonoDevelop.TextEditor/MonoDevelop.TextEditor/TextViewContent.cs
index 45214893dc..5618666b3a 100644
--- a/main/src/addins/MonoDevelop.TextEditor/MonoDevelop.TextEditor/TextViewContent.cs
+++ b/main/src/addins/MonoDevelop.TextEditor/MonoDevelop.TextEditor/TextViewContent.cs
@@ -238,12 +238,6 @@ namespace MonoDevelop.TextEditor
textBufferRegistration = IdeServices.TypeSystemService.RegisterOpenDocument (Owner, FilePath, TextBuffer);
}
- protected override void OnGrabFocus (DocumentView view)
- {
- DefaultSourceEditorOptions.SetUseAsyncCompletion (true);
- base.OnGrabFocus (view);
- }
-
protected override void OnFileNameChanged ()
{
base.OnFileNameChanged ();
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/DefaultSourceEditorOptions.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/DefaultSourceEditorOptions.cs
index 2757ac63c8..3d812dfa67 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/DefaultSourceEditorOptions.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/DefaultSourceEditorOptions.cs
@@ -993,20 +993,6 @@ namespace MonoDevelop.Ide.Editor
}
public event EventHandler Changed;
-
- /// <summary>
- /// This is to allow setting UseAsyncCompletion to true for the Cocoa editor and to false for the Gtk editor.
- /// Currently Roslyn doesn't allow setting this option per view, so we have to work around.
- /// See here for details: https://github.com/dotnet/roslyn/issues/33807
- /// </summary>
- internal static void SetUseAsyncCompletion(bool useAsyncCompletion)
- {
- var asyncCompletionService = Composition.CompositionManager.Instance.GetExportedValue<Microsoft.CodeAnalysis.Editor.IAsyncCompletionService> ();
- var field = asyncCompletionService.GetType ().GetField (
- "_newCompletionAPIEnabled",
- System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
- field.SetValue (asyncCompletionService, useAsyncCompletion);
- }
}
}
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/TextEditorViewContent.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/TextEditorViewContent.cs
index a9a219aa0f..886fb47604 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/TextEditorViewContent.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/TextEditorViewContent.cs
@@ -397,11 +397,6 @@ namespace MonoDevelop.Ide.Editor
protected override void OnGrabFocus (DocumentView view)
{
textEditor.GrabFocus ();
- try {
- DefaultSourceEditorOptions.SetUseAsyncCompletion (false);
- } catch (Exception e) {
- LoggingService.LogInternalError ("Error while setting up async completion.", e);
- }
}
}
} \ No newline at end of file