Example #1
0
        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);
        }
Example #2
0
 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)));
 }