Ejemplo n.º 1
0
 public SymbolCompletionItem(
     CompletionListProvider completionProvider,
     string displayText,
     string insertionText,
     string filterText,
     TextSpan filterSpan,
     int position,
     List <ISymbol> symbols,
     string sortText,
     AbstractSyntaxContext context,
     Glyph glyph,
     bool preselect = false,
     SupportedPlatformData supportedPlatforms = null,
     CompletionItemRules rules = null)
     : base(completionProvider, displayText, filterSpan,
            descriptionFactory : null, glyph : glyph,
            sortText : sortText, filterText : filterText, preselect : preselect, showsWarningIcon : supportedPlatforms != null, rules : rules,
            filters : GetFilters(symbols))
 {
     this.InsertionText  = insertionText;
     this.Position       = position;
     this.Symbols        = symbols;
     this.Context        = context;
     _supportedPlatforms = supportedPlatforms;
 }
Ejemplo n.º 2
0
        public FileSystemCompletionHelper(
            CompletionListProvider completionProvider,
            TextSpan textChangeSpan,
            ICurrentWorkingDirectoryDiscoveryService fileSystemDiscoveryService,
            Glyph folderGlyph,
            Glyph fileGlyph,
            ImmutableArray <string> searchPaths,
            IEnumerable <string> allowableExtensions,
            Func <string, bool> exclude   = null,
            CompletionItemRules itemRules = null)
        {
            Debug.Assert(searchPaths.All(path => PathUtilities.IsAbsolute(path)));

            _completionProvider         = completionProvider;
            _textChangeSpan             = textChangeSpan;
            _searchPaths                = searchPaths;
            _allowableExtensions        = allowableExtensions.Select(e => e.ToLowerInvariant()).ToSet();
            _fileSystemDiscoveryService = fileSystemDiscoveryService;
            _folderGlyph                = folderGlyph;
            _fileGlyph = fileGlyph;
            _exclude   = exclude;
            _itemRules = itemRules;

            _lazyGetDrives = new Lazy <string[]>(() =>
                                                 IOUtilities.PerformIO(Directory.GetLogicalDrives, SpecializedCollections.EmptyArray <string>()));
        }
Ejemplo n.º 3
0
 public SymbolCompletionItem(
     CompletionListProvider completionProvider,
     string displayText,
     string insertionText,
     string filterText,
     TextSpan filterSpan,
     int position,
     List<ISymbol> symbols,
     string sortText,
     AbstractSyntaxContext context,
     Glyph glyph,
     bool preselect = false,
     SupportedPlatformData supportedPlatforms = null,
     CompletionItemRules rules = null)
 : base(completionProvider, displayText, filterSpan,
    descriptionFactory: null, glyph: glyph,
    sortText: sortText, filterText: filterText, preselect: preselect, showsWarningIcon: supportedPlatforms != null, rules: rules,
    filters: GetFilters(symbols))
 {
     this.InsertionText = insertionText;
     this.Position = position;
     this.Symbols = symbols;
     this.Context = context;
     _supportedPlatforms = supportedPlatforms;
 }
        protected AbstractCompletionProviderTests(TWorkspaceFixture workspaceFixture)
        {
            MockCompletionSession = new Mock <ICompletionSession>(MockBehavior.Strict);

            this.WorkspaceFixture   = workspaceFixture;
            this.CompletionProvider = CreateCompletionProvider();
        }
Ejemplo n.º 5
0
        public FileSystemCompletionHelper(
            CompletionListProvider completionProvider,
            TextSpan textChangeSpan,
            ICurrentWorkingDirectoryDiscoveryService fileSystemDiscoveryService,
            Glyph folderGlyph,
            Glyph fileGlyph,
            ImmutableArray<string> searchPaths,
            IEnumerable<string> allowableExtensions,
            Func<string, bool> exclude = null,
            CompletionItemRules itemRules = null)
        {
            Debug.Assert(searchPaths.All(path => PathUtilities.IsAbsolute(path)));

            _completionProvider = completionProvider;
            _textChangeSpan = textChangeSpan;
            _searchPaths = searchPaths;
            _allowableExtensions = allowableExtensions.Select(e => e.ToLowerInvariant()).ToSet();
            _fileSystemDiscoveryService = fileSystemDiscoveryService;
            _folderGlyph = folderGlyph;
            _fileGlyph = fileGlyph;
            _exclude = exclude;
            _itemRules = itemRules;

            _lazyGetDrives = new Lazy<string[]>(() =>
                IOUtilities.PerformIO(Directory.GetLogicalDrives, SpecializedCollections.EmptyArray<string>()));
        }
 public XmlDocCommentCompletionItem(CompletionListProvider provider,
                                    TextSpan filterSpan,
                                    string displayText,
                                    CompletionItemRules rules)
     : this(provider, filterSpan, displayText, displayText, string.Empty, rules)
 {
 }
Ejemplo n.º 7
0
        internal static CompletionList GetCompletionList(CompletionListProvider provider, Document document, int position, CompletionTriggerInfo triggerInfo)
        {
            var context = new CompletionListContext(document, position, triggerInfo, CancellationToken.None);

            provider.ProduceCompletionListAsync(context).Wait();

            return(new CompletionList(context.GetItems(), context.Builder, context.IsExclusive));
        }
        internal static CompletionList GetCompletionList(CompletionListProvider provider, Document document, int position, CompletionTriggerInfo triggerInfo, OptionSet options = null)
        {
            options = options ?? document.Project.Solution.Workspace.Options;
            var context = new CompletionListContext(document, position, triggerInfo, options, CancellationToken.None);

            provider.ProduceCompletionListAsync(context).Wait();

            return(new CompletionList(context.GetItems(), context.Builder, context.IsExclusive));
        }
 public XmlDocCommentCompletionItem(CompletionListProvider provider,
                                    TextSpan filterSpan,
                                    string displayText,
                                    string beforeCaretText,
                                    string afterCaretText,
                                    CompletionItemRules rules)
     : base(provider, displayText, filterSpan, glyph: CodeAnalysis.Glyph.Keyword, rules: rules)
 {
     _beforeCaretText = beforeCaretText;
     _afterCaretText  = afterCaretText;
 }
 public Item(
     CompletionListProvider completionProvider,
     string displayText,
     string insertionText,
     TextSpan textSpan,
     Func <CancellationToken,
           Task <ImmutableArray <SymbolDisplayPart> > > descriptionFactory,
     Glyph?glyph,
     string sortText)
     : base(completionProvider, displayText, textSpan, descriptionFactory, glyph, sortText, rules: ItemRules.Instance)
 {
     this.InsertionText = insertionText;
 }
        protected void VerifyItemInEditorBrowsableContexts(string markup, string referencedCode, string item, int expectedSymbolsSameSolution, int expectedSymbolsMetadataReference,
                                                           string sourceLanguage, string referencedLanguage, bool hideAdvancedMembers = false)
        {
            CompletionProvider = CreateCompletionProvider();

            VerifyItemWithMetadataReference(markup, referencedCode, item, expectedSymbolsMetadataReference, sourceLanguage, referencedLanguage, hideAdvancedMembers);
            VerifyItemWithProjectReference(markup, referencedCode, item, expectedSymbolsSameSolution, sourceLanguage, referencedLanguage, hideAdvancedMembers);

            // If the source and referenced languages are different, then they cannot be in the same project
            if (sourceLanguage == referencedLanguage)
            {
                VerifyItemInSameProject(markup, referencedCode, item, expectedSymbolsSameSolution, sourceLanguage, hideAdvancedMembers);
            }
        }
Ejemplo n.º 12
0
 public SymbolCompletionItem(
     CompletionListProvider completionProvider,
     string displayText,
     string insertionText,
     string filterText,
     TextSpan filterSpan,
     int position,
     List<ISymbol> symbols,
     AbstractSyntaxContext context,
     bool preselect = false,
     SupportedPlatformData supportedPlatforms = null,
     CompletionItemRules rules = null)
 : this(completionProvider, displayText, insertionText, filterText, filterSpan, position,
       symbols, sortText: symbols[0].Name, context: context, glyph: symbols[0].GetGlyph(),
       preselect: preselect, supportedPlatforms: supportedPlatforms, rules: rules)
 {
 }
Ejemplo n.º 13
0
 public MemberInsertionCompletionItem(
     CompletionListProvider provider,
     string displayText,
     TextSpan filterSpan,
     Func <CancellationToken, Task <ImmutableArray <SymbolDisplayPart> > > descriptionFactory,
     Glyph?glyph,
     DeclarationModifiers modifiers,
     int line,
     SymbolKey symbolId,
     SyntaxToken token)
     : base(provider, displayText, filterSpan, descriptionFactory, glyph, rules: MemberInsertingCompletionItemRules.Instance)
 {
     this.Modifiers = modifiers;
     this.Line      = line;
     this.SymbolId  = symbolId;
     this.Token     = token;
 }
Ejemplo n.º 14
0
 public SymbolCompletionItem(
     CompletionListProvider completionProvider,
     string displayText,
     string insertionText,
     string filterText,
     TextSpan filterSpan,
     int position,
     List <ISymbol> symbols,
     AbstractSyntaxContext context,
     bool preselect = false,
     SupportedPlatformData supportedPlatforms = null,
     CompletionItemRules rules = null)
     : this(completionProvider, displayText, insertionText, filterText, filterSpan, position,
            symbols, sortText : symbols[0].Name, context : context, glyph : symbols[0].GetGlyph(),
            preselect : preselect, supportedPlatforms : supportedPlatforms, rules : rules)
 {
 }
 public SymbolCompletionItem(
     CompletionListProvider completionProvider,
     string displayText,
     string insertionText,
     TextSpan filterSpan,
     int position,
     List<ISymbol> symbols,
     AbstractSyntaxContext context,
     bool preselect = false,
     SupportedPlatformData supportedPlatforms = null)
     : this(completionProvider,
           displayText,
           insertionText,
           filterText: displayText.Length > 0 && displayText[0] == '@' ? displayText : symbols[0].Name,
           filterSpan: filterSpan,
           position: position, symbols: symbols, context: context, preselect: preselect, supportedPlatforms: supportedPlatforms)
 {
 }
 public void SetFixture(TWorkspaceFixture workspaceFixture)
 {
     this.WorkspaceFixture   = workspaceFixture;
     this.CompletionProvider = CreateCompletionProvider();
 }
Ejemplo n.º 17
0
 public KeywordCompletionItem(CompletionListProvider completionProvider, string displayText, TextSpan filterSpan, Func <CancellationToken, Task <ImmutableArray <SymbolDisplayPart> > > descriptionFactory, Glyph?glyph, bool isIntrinsic, bool preselect, bool shouldFormatOnCommit = false)
     : base(completionProvider, displayText, filterSpan, descriptionFactory, glyph, shouldFormatOnCommit: shouldFormatOnCommit, rules: KeywordCompletionItemRules.Instance, preselect: preselect)
 {
     this.IsIntrinsic = isIntrinsic;
 }
 public KeywordCompletionItem(CompletionListProvider completionProvider, string displayText, TextSpan filterSpan, Func<CancellationToken, Task<ImmutableArray<SymbolDisplayPart>>> descriptionFactory, Glyph? glyph, bool isIntrinsic, bool preselect, bool shouldFormatOnCommit = false)
     : base(completionProvider, displayText, filterSpan, descriptionFactory, glyph, shouldFormatOnCommit: shouldFormatOnCommit, rules: KeywordCompletionItemRules.Instance, preselect: preselect)
 {
     this.IsIntrinsic = isIntrinsic;
 }
 public GlobalAssemblyCacheCompletionHelper(CompletionListProvider completionProvider, TextSpan textChangeSpan, CompletionItemRules itemRules = null)
 {
     _completionProvider = completionProvider;
     _textChangeSpan     = textChangeSpan;
     _itemRules          = itemRules;
 }
 public KeywordCompletionItem(CompletionListProvider completionProvider, string displayText, TextSpan filterSpan, Func<CancellationToken, Task<ImmutableArray<SymbolDisplayPart>>> descriptionFactory, Glyph? glyph, bool isIntrinsic)
     : base(completionProvider, displayText, filterSpan, descriptionFactory, glyph)
 {
     this.IsIntrinsic = isIntrinsic;
 }