public static RoslynCompletionSet Create(IMruCompletionService mruCompletionService, CompletionList completionList, CompletionService completionService, ITextView textView, string moniker, string displayName, ITrackingSpan applicableTo) { if (mruCompletionService == null) { throw new ArgumentNullException(nameof(mruCompletionService)); } if (completionList == null) { throw new ArgumentNullException(nameof(completionList)); } if (completionService == null) { throw new ArgumentNullException(nameof(completionService)); } if (textView == null) { throw new ArgumentNullException(nameof(textView)); } if (moniker == null) { throw new ArgumentNullException(nameof(moniker)); } if (displayName == null) { throw new ArgumentNullException(nameof(displayName)); } if (applicableTo == null) { throw new ArgumentNullException(nameof(applicableTo)); } var completions = new List <Completion>(completionList.Items.Length); var remainingFilters = new List <(RoslynIntellisenseFilter filter, int index)>(RoslynIntellisenseFilters.CreateFilters().Select((a, index) => (a, index))); var filters = new List <(RoslynIntellisenseFilter filter, int index)>(remainingFilters.Count); foreach (var item in completionList.Items) { if (string.IsNullOrEmpty(item.DisplayText)) { continue; } for (int i = remainingFilters.Count - 1; i >= 0; i--) { var kv = remainingFilters[i]; foreach (var tag in kv.filter.Tags) { if (item.Tags.Contains(tag)) { remainingFilters.RemoveAt(i); filters.Add(kv); break; } } } completions.Add(new RoslynCompletion(item)); } filters.Sort((a, b) => a.index - b.index); var completionBuilders = new List <Completion>(); return(new RoslynCompletionSet(mruCompletionService, completionService, textView, moniker, displayName, applicableTo, completions, completionBuilders, filters.Select(a => a.filter).ToArray())); }
RoslynCompletionCollection(IMruCompletionService mruCompletionService, CompletionService completionService, ITextView textView, ITrackingSpan applicableTo, List <Completion> completions, RoslynIntellisenseFilter[] filters) : base(applicableTo, completions, filters) { if (mruCompletionService == null) { throw new ArgumentNullException(nameof(mruCompletionService)); } if (completionService == null) { throw new ArgumentNullException(nameof(completionService)); } if (textView == null) { throw new ArgumentNullException(nameof(textView)); } if (applicableTo == null) { throw new ArgumentNullException(nameof(applicableTo)); } if (filters == null) { throw new ArgumentNullException(nameof(filters)); } this.mruCompletionService = mruCompletionService; this.completionService = completionService; this.textView = textView; this.filters = filters; this.originalSnapshot = applicableTo.TextBuffer.CurrentSnapshot; }
public CompletionSource(IImageMonikerService imageMonikerService, IMruCompletionService mruCompletionService) { if (imageMonikerService == null) throw new ArgumentNullException(nameof(imageMonikerService)); if (mruCompletionService == null) throw new ArgumentNullException(nameof(mruCompletionService)); this.imageMonikerService = imageMonikerService; this.mruCompletionService = mruCompletionService; }
public CompletionSource(IMruCompletionService mruCompletionService) { if (mruCompletionService == null) { throw new ArgumentNullException(nameof(mruCompletionService)); } this.mruCompletionService = mruCompletionService; }
RoslynCompletionSet(IMruCompletionService mruCompletionService, CompletionService completionService, ITextView textView, string moniker, string displayName, ITrackingSpan applicableTo, List<Completion> completions, List<Completion> completionBuilders, RoslynIntellisenseFilter[] filters) : base(moniker, displayName, applicableTo, completions, completionBuilders, filters) { this.mruCompletionService = mruCompletionService; this.completionService = completionService; this.textView = textView; originalSnapshot = applicableTo.TextBuffer.CurrentSnapshot; InitializeCompletions(completions); InitializeCompletions(completionBuilders); }
RoslynCompletionSet(IMruCompletionService mruCompletionService, CompletionService completionService, ITextView textView, string moniker, string displayName, ITrackingSpan applicableTo, List <Completion> completions, List <Completion> completionBuilders, RoslynIntellisenseFilter[] filters) : base(moniker, displayName, applicableTo, completions, completionBuilders, filters) { this.mruCompletionService = mruCompletionService; this.completionService = completionService; this.textView = textView; originalSnapshot = applicableTo.TextBuffer.CurrentSnapshot; InitializeCompletions(completions); InitializeCompletions(completionBuilders); }
public CompletionSource(IImageMonikerService imageMonikerService, IMruCompletionService mruCompletionService) { if (imageMonikerService == null) { throw new ArgumentNullException(nameof(imageMonikerService)); } if (mruCompletionService == null) { throw new ArgumentNullException(nameof(mruCompletionService)); } this.imageMonikerService = imageMonikerService; this.mruCompletionService = mruCompletionService; }
public static RoslynCompletionSet Create(IImageMonikerService imageMonikerService, IMruCompletionService mruCompletionService, CompletionList completionList, CompletionService completionService, ITextView textView, string moniker, string displayName, ITrackingSpan applicableTo) { if (imageMonikerService == null) throw new ArgumentNullException(nameof(imageMonikerService)); if (mruCompletionService == null) throw new ArgumentNullException(nameof(mruCompletionService)); if (completionList == null) throw new ArgumentNullException(nameof(completionList)); if (completionService == null) throw new ArgumentNullException(nameof(completionService)); if (textView == null) throw new ArgumentNullException(nameof(textView)); if (moniker == null) throw new ArgumentNullException(nameof(moniker)); if (displayName == null) throw new ArgumentNullException(nameof(displayName)); if (applicableTo == null) throw new ArgumentNullException(nameof(applicableTo)); var completions = new List<Completion>(completionList.Items.Length); var remainingFilters = new List<KeyValuePair<RoslynIntellisenseFilter, int>>(RoslynIntellisenseFilters.CreateFilters(imageMonikerService).Select((a, index) => new KeyValuePair<RoslynIntellisenseFilter, int>(a, index))); var filters = new List<KeyValuePair<RoslynIntellisenseFilter, int>>(remainingFilters.Count); foreach (var item in completionList.Items) { if (string.IsNullOrEmpty(item.DisplayText)) continue; for (int i = remainingFilters.Count - 1; i >= 0; i--) { var kv = remainingFilters[i]; foreach (var tag in kv.Key.Tags) { if (item.Tags.Contains(tag)) { remainingFilters.RemoveAt(i); filters.Add(kv); break; } } } completions.Add(new RoslynCompletion(imageMonikerService, item)); } filters.Sort((a, b) => a.Value - b.Value); var completionBuilders = new List<Completion>(); return new RoslynCompletionSet(mruCompletionService, completionService, textView, moniker, displayName, applicableTo, completions, completionBuilders, filters.Select(a => a.Key).ToArray()); }
CompletionSourceProvider(IImageMonikerService imageMonikerService, IMruCompletionService mruCompletionService) { this.imageMonikerService = imageMonikerService; this.mruCompletionService = mruCompletionService; }
public CompletionSource(IMruCompletionService mruCompletionService) => this.mruCompletionService = mruCompletionService ?? throw new ArgumentNullException(nameof(mruCompletionService));
CompletionSourceProvider(IMruCompletionService mruCompletionService) => this.mruCompletionService = mruCompletionService;