示例#1
0
 // binary back compat overload
 public static CompletionItem Create(
     string displayText,
     string filterText,
     string sortText,
     ImmutableDictionary <string, string> properties,
     ImmutableArray <string> tags,
     CompletionItemRules rules)
 {
     return(Create(displayText, filterText, sortText, properties, tags, rules, displayTextPrefix: null, displayTextSuffix: null));
 }
示例#2
0
 public static CompletionItem Create(
     string displayText,
     string filterText = null,
     string sortText   = null,
     ImmutableDictionary <string, string> properties = null,
     ImmutableArray <string> tags = default,
     CompletionItemRules rules    = null,
     string displayTextPrefix     = null,
     string displayTextSuffix     = null,
     string inlineDescription     = null)
 {
     return(new CompletionItem(
                span: default,
示例#3
0
 public static CompletionItem Create(
     string displayText,
     CompletionItemRules rules,
     Glyph?glyph = null,
     ImmutableArray <SymbolDisplayPart> description = default,
     string sortText       = null,
     string filterText     = null,
     bool showsWarningIcon = false,
     ImmutableDictionary <string, string> properties = null,
     ImmutableArray <string> tags = default)
 {
     return(Create(
                displayText, displayTextSuffix: string.Empty, rules,
                glyph, description, sortText, filterText, showsWarningIcon, properties, tags));
 }
示例#4
0
        public FileSystemCompletionHelper(
            Glyph folderGlyph,
            Glyph fileGlyph,
            ImmutableArray <string> searchPaths,
            string baseDirectoryOpt,
            ImmutableArray <string> allowableExtensions,
            CompletionItemRules itemRules)
        {
            Debug.Assert(searchPaths.All(path => PathUtilities.IsAbsolute(path)));
            Debug.Assert(baseDirectoryOpt == null || PathUtilities.IsAbsolute(baseDirectoryOpt));

            _searchPaths         = searchPaths;
            _baseDirectoryOpt    = baseDirectoryOpt;
            _allowableExtensions = allowableExtensions;
            _folderGlyph         = folderGlyph;
            _fileGlyph           = fileGlyph;
            _itemRules           = itemRules;
        }
示例#5
0
        public static CompletionItem Create(
            string displayText,
            string displayTextSuffix,
            CompletionItemRules rules,
            Glyph?glyph = null,
            ImmutableArray <SymbolDisplayPart> description = default,
            string sortText       = null,
            string filterText     = null,
            bool showsWarningIcon = false,
            ImmutableDictionary <string, string> properties = null,
            ImmutableArray <string> tags = default)
        {
            tags = tags.NullToEmpty();

            if (glyph != null)
            {
                // put glyph tags first
                tags = GlyphTags.GetTags(glyph.Value).AddRange(tags);
            }

            if (showsWarningIcon)
            {
                tags = tags.Add(WellKnownTags.Warning);
            }

            properties = properties ?? ImmutableDictionary <string, string> .Empty;
            if (!description.IsDefault && description.Length > 0)
            {
                properties = properties.Add("Description", EncodeDescription(description));
            }

            return(CompletionItem.Create(
                       displayText: displayText,
                       displayTextSuffix: displayTextSuffix,
                       filterText: filterText,
                       sortText: sortText,
                       properties: properties,
                       tags: tags,
                       rules: rules));
        }
示例#6
0
 private CompletionItem(
     string displayText,
     string filterText,
     string sortText,
     TextSpan span,
     ImmutableDictionary <string, string> properties,
     ImmutableArray <string> tags,
     CompletionItemRules rules,
     string displayTextPrefix,
     string displayTextSuffix,
     string inlineDescription)
 {
     this.DisplayText       = displayText ?? "";
     this.DisplayTextPrefix = displayTextPrefix ?? "";
     this.DisplayTextSuffix = displayTextSuffix ?? "";
     this.FilterText        = filterText ?? this.DisplayText;
     this.SortText          = sortText ?? this.DisplayText;
     this.InlineDescription = inlineDescription ?? "";
     this.Span       = span;
     this.Properties = properties ?? ImmutableDictionary <string, string> .Empty;
     this.Tags       = tags.NullToEmpty();
     this.Rules      = rules ?? CompletionItemRules.Default;
 }