private CompletionSet GetElementsByClassName(IList <CompletionSet> completionSets, int position, ITextSnapshotLine line, string text, int index) { int end = text.IndexOf(')', index); if (position <= line.Start + end) { ITrackingSpan span = _buffer.CurrentSnapshot.CreateTrackingSpan(line.Start + index, end - index, SpanTrackingMode.EdgeInclusive); List <Completion> list = new List <Completion>(); if (!span.GetText(_buffer.CurrentSnapshot).Contains("\"")) { return(null); } AddExistingCompletions(completionSets, list); var names = _classNames.GetNames(new System.Uri(EditorExtensionsPackage.DTE.ActiveDocument.FullName), line.Start.Add(index), CssNameType.Class); foreach (string name in names.Select(n => n.Name).Distinct()) { list.Add(GenerateCompletion(name)); } var completions = list.OrderBy(x => x.DisplayText.TrimStart('\"')); return(new CompletionSet("classnames", "Web Essentials", span, completions, null)); } return(null); }
public override IEnumerable <Intel.Completion> GetEntries(char quote, SnapshotPoint caret) { return(_classNames.GetNames(new Uri(caret.Snapshot.TextBuffer.GetFileName()), caret, NameType) .Select(s => s.Name) .Distinct() .OrderBy(s => s) .Select(s => new Intel.Completion(quote + s + quote, quote + s + quote, null, _glyph, null))); }