Exemple #1
0
 internal ItemManager(RecentItemsManager recentItemsManager)
 {
     // Let us make the completion Helper used for non-Roslyn items case-sensitive.
     // We can change this if get requests from partner teams.
     _defaultCompletionHelper = new CompletionHelper(isCaseSensitive: true);
     _recentItemsManager      = recentItemsManager;
 }
Exemple #2
0
            public CompletionListUpdater(
                IAsyncCompletionSession session,
                AsyncCompletionSessionDataSnapshot data,
                RecentItemsManager recentItemsManager,
                IGlobalOptionService globalOptions)
            {
                _session            = session;
                _data               = data;
                _recentItemsManager = recentItemsManager;

                _filterText = _session.ApplicableToSpan.GetText(_data.Snapshot);

                if (!_session.Properties.TryGetProperty(CompletionSource.HasSuggestionItemOptions, out bool hasSuggestedItemOptions))
                {
                    // This is the scenario when the session is created out of Roslyn, in some other provider, e.g. in Debugger.
                    // For now, the default hasSuggestedItemOptions is false.
                    hasSuggestedItemOptions = false;
                }

                _hasSuggestedItemOptions = hasSuggestedItemOptions || _data.DisplaySuggestionItem;

                // We prefer using the original snapshot, which should always be available from items provided by Roslyn's CompletionSource.
                // Only use data.Snapshot in the theoretically possible but rare case when all items we are handling are from some non-Roslyn CompletionSource.
                var snapshotForDocument = TryGetInitialTriggerLocation(_data, out var intialTriggerLocation)
                    ? intialTriggerLocation.Snapshot
                    : _data.Snapshot;

                _document = snapshotForDocument?.TextBuffer.AsTextContainer().GetOpenDocumentInCurrentContext();
                if (_document != null)
                {
                    _completionService = _document.GetLanguageService <CompletionService>();
                    _completionRules   = _completionService?.GetRules(CompletionOptions.From(_document.Project)) ?? CompletionRules.Default;

                    // Let us make the completion Helper used for non-Roslyn items case-sensitive.
                    // We can change this if get requests from partner teams.
                    _completionHelper = CompletionHelper.GetHelper(_document);
                    _filterMethod     = _completionService == null
                        ? ((itemsWithPatternMatches, text) => CompletionService.FilterItems(_completionHelper, itemsWithPatternMatches, text))
                        : ((itemsWithPatternMatches, text) => _completionService.FilterItems(_document, itemsWithPatternMatches, text));

                    // Nothing to highlight if user hasn't typed anything yet.
                    _highlightMatchingPortions = _filterText.Length > 0 &&
                                                 globalOptions.GetOption(CompletionViewOptions.HighlightMatchingPortionsOfCompletionListItems, _document.Project.Language);

                    _showCompletionItemFilters = globalOptions.GetOption(CompletionViewOptions.ShowCompletionItemFilters, _document.Project.Language);
                }
                else
                {
                    _completionService = null;
                    _completionRules   = CompletionRules.Default;

                    // Let us make the completion Helper used for non-Roslyn items case-sensitive.
                    // We can change this if get requests from partner teams.
                    _completionHelper = new CompletionHelper(isCaseSensitive: true);
                    _filterMethod     = (itemsWithPatternMatches, text) => CompletionService.FilterItems(_completionHelper, itemsWithPatternMatches, text);

                    _highlightMatchingPortions = false;
                    _showCompletionItemFilters = true;
                }
            }
 public CommitManagerProvider(
     IThreadingContext threadingContext,
     RecentItemsManager recentItemsManager
     )
 {
     _threadingContext   = threadingContext;
     _recentItemsManager = recentItemsManager;
 }
 public CommitManagerProvider(
     IThreadingContext threadingContext,
     RecentItemsManager recentItemsManager,
     IGlobalOptionService globalOptions)
 {
     _threadingContext   = threadingContext;
     _recentItemsManager = recentItemsManager;
     _globalOptions      = globalOptions;
 }
Exemple #5
0
 public CommitManagerProvider(
     IThreadingContext threadingContext,
     RecentItemsManager recentItemsManager,
     IGlobalOptionService globalOptions,
     [Import(AllowDefault = true)] ILanguageServerSnippetExpander?languageServerSnippetExpander)
 {
     _threadingContext              = threadingContext;
     _recentItemsManager            = recentItemsManager;
     _globalOptions                 = globalOptions;
     _languageServerSnippetExpander = languageServerSnippetExpander;
 }
 public ItemManagerProvider(RecentItemsManager recentItemsManager)
 => _instance = new ItemManager(recentItemsManager);
 internal ItemManager(RecentItemsManager recentItemsManager, IGlobalOptionService globalOptions)
 {
     _recentItemsManager = recentItemsManager;
     _globalOptions      = globalOptions;
 }
Exemple #8
0
 internal CommitManager(ITextView textView, RecentItemsManager recentItemsManager, IThreadingContext threadingContext) : base(threadingContext)
 {
     _recentItemsManager = recentItemsManager;
     _textView           = textView;
 }
 public ItemManagerProvider(RecentItemsManager recentItemsManager, IGlobalOptionService globalOptions)
 => _instance = new ItemManager(recentItemsManager, globalOptions);
Exemple #10
0
 public ItemManagerProvider(RecentItemsManager recentItemsManager) =>