public bool TryGetController(ITextView textView, ITextBuffer subjectBuffer, out Controller controller) { AssertIsForeground(); // check whether this feature is on. if (!subjectBuffer.GetOption(InternalFeatureOnOffOptions.CompletionSet)) { controller = null; return(false); } // If we don't have a presenter, then there's no point in us even being involved. Just // defer to the next handler in the chain. // Also, if there's an inline rename session then we do not want completion. if (_completionPresenter == null || _inlineRenameService.ActiveSession != null) { controller = null; return(false); } var autobraceCompletionCharSet = GetAllAutoBraceCompletionChars(subjectBuffer.ContentType); controller = Controller.GetInstance( textView, subjectBuffer, _editorOperationsFactoryService, _undoHistoryRegistry, _completionPresenter, new AggregateAsynchronousOperationListener(_asyncListeners, FeatureAttribute.CompletionSet), _allCompletionProviders, autobraceCompletionCharSet); return(true); }
public bool TryGetController(ITextView textView, ITextBuffer subjectBuffer, out Controller controller) { AssertIsForeground(); if (!UseLegacyCompletion(_featureServiceFactory, textView, subjectBuffer)) { controller = null; return(false); } if (!_featureServiceFactory.GetOrCreate(textView).IsEnabled(PredefinedEditorFeatureNames.Completion)) { controller = null; return(false); } var autobraceCompletionCharSet = GetAllAutoBraceCompletionChars(subjectBuffer.ContentType); controller = Controller.GetInstance( ThreadingContext, textView, subjectBuffer, _editorOperationsFactoryService, _undoHistoryRegistry, _completionPresenter, _listener, autobraceCompletionCharSet); return(true); }