public BicepCompletionHandler(ILogger <BicepCompletionHandler> logger, ICompilationManager compilationManager, ICompletionProvider completionProvider, IFeatureProvider featureProvider)
 {
     this.logger             = logger;
     this.compilationManager = compilationManager;
     this.completionProvider = completionProvider;
     this.featureProvider    = featureProvider;
 }
Example #2
0
        public CSharpCompletionItem(
            Workspace workspace,
            ICompletionProvider completionProvider,
            string displayText,
            TextSpan filterSpan,
            Func<CancellationToken, Task<ImmutableArray<SymbolDisplayPart>>> descriptionFactory,
            Glyph? glyph,
            string sortText = null,
            string filterText = null,
            bool preselect = false,
            bool isBuilder = false,
            bool showsWarningIcon = false,
            bool shouldFormatOnCommit = false)
            : base(completionProvider,
                   displayText,
                   filterSpan,
                   descriptionFactory,
                   glyph,
                   sortText,
                   filterText,
                   preselect,
                   isBuilder,
                   showsWarningIcon,
                   shouldFormatOnCommit)
        {
            Contract.ThrowIfNull(workspace);

            this.Workspace = workspace;
        }
Example #3
0
 public BicepCompletionHandler(ILogger <BicepCompletionHandler> logger, ICompilationManager compilationManager, ICompletionProvider completionProvider)
     : base(CreateRegistrationOptions())
 {
     this.logger             = logger;
     this.compilationManager = compilationManager;
     this.completionProvider = completionProvider;
 }
		public CompletionTrigger(ITextBuffer buffer, ICompletionProvider completionProvider, ICompletionSessionProvider completionSessionProvider)
		{
			_buffer = buffer;
			_completionProvider = completionProvider;
			_completionSessionProvider = completionSessionProvider;
			_buffer.Changed += OnBufferChanged;
		}
Example #5
0
        public CSharpCompletionItem(
            Workspace workspace,
            ICompletionProvider completionProvider,
            string displayText,
            TextSpan filterSpan,
            Func <CancellationToken, Task <ImmutableArray <SymbolDisplayPart> > > descriptionFactory,
            Glyph?glyph,
            string sortText           = null,
            string filterText         = null,
            bool preselect            = false,
            bool isBuilder            = false,
            bool showsWarningIcon     = false,
            bool shouldFormatOnCommit = false)
            : base(completionProvider,
                   displayText,
                   filterSpan,
                   descriptionFactory,
                   glyph,
                   sortText,
                   filterText,
                   preselect,
                   isBuilder,
                   showsWarningIcon,
                   shouldFormatOnCommit)
        {
            Contract.ThrowIfNull(workspace);

            this.Workspace = workspace;
        }
Example #6
0
        public CompletionItem(
            ICompletionProvider completionProvider,
            string displayText,
            TextSpan filterSpan,
            Func <CancellationToken, Task <ImmutableArray <SymbolDisplayPart> > > descriptionFactory,
            Glyph?glyph,
            string sortText           = null,
            string filterText         = null,
            bool preselect            = false,
            bool isBuilder            = false,
            bool showsWarningIcon     = false,
            bool shouldFormatOnCommit = false)
        {
            this.CompletionProvider = completionProvider;
            this.DisplayText        = displayText;
            this.Glyph                = glyph;
            this.SortText             = sortText ?? displayText;
            this.FilterText           = filterText ?? displayText;
            this.Preselect            = preselect;
            this.FilterSpan           = filterSpan;
            this.IsBuilder            = isBuilder;
            this.ShowsWarningIcon     = showsWarningIcon;
            this.ShouldFormatOnCommit = shouldFormatOnCommit;

            if (descriptionFactory != null)
            {
                this.LazyDescription = new AsyncLazy <ImmutableArray <SymbolDisplayPart> >(descriptionFactory, cacheResult: true);
            }
        }
 public CompletionTrigger(ITextBuffer buffer, ICompletionProvider completionProvider, ICompletionSessionProvider completionSessionProvider)
 {
     _buffer                    = buffer;
     _completionProvider        = completionProvider;
     _completionSessionProvider = completionSessionProvider;
     _buffer.Changed           += OnBufferChanged;
 }
Example #8
0
 public XmlItem(ICompletionProvider provider,
     TextSpan filterSpan,
     string displayText,
     string beforeCaretText,
     string afterCaretText)
     : base(provider, displayText, filterSpan, glyph: CodeAnalysis.Glyph.Keyword)
 {
     _beforeCaretText = beforeCaretText;
     _afterCaretText = afterCaretText;
 }
Example #9
0
 public XmlItem(ICompletionProvider provider,
                TextSpan filterSpan,
                string displayText,
                string beforeCaretText,
                string afterCaretText)
     : base(provider, displayText, filterSpan, glyph: CodeAnalysis.Glyph.Keyword)
 {
     _beforeCaretText = beforeCaretText;
     _afterCaretText  = afterCaretText;
 }
		public QueryIndexAutoComplete(string indexName, Observable<string> query, IList<string> fields)
		{
			this.indexName = indexName;
			this.query = query;

			this.fields.Match(fields);

			this.query.PropertyChanged += GetTermsForUsedFields;
			CompletionProvider = new QueryIntelliPromptProvider(indexName, fields, fieldsTermsDictionary);
		}
        public QueryIndexAutoComplete(string indexName, Observable <string> query, IList <string> fields)
        {
            this.indexName = indexName;
            this.query     = query;

            this.fields.Match(fields);

            this.query.PropertyChanged += GetTermsForUsedFields;
            CompletionProvider          = new QueryIntelliPromptProvider(indexName, fields, fieldsTermsDictionary);
        }
Example #12
0
        public KeystrokeService(ICodeViewModel codeViewModel, TextArea textArea, ICompletionProvider completionProvider, LanguageContext languageContext, DebuggerService debuggerService, BookmarkManager bookmarkManager)
        {
            _completionProvider = completionProvider;
            _completionProvider.OnCompletionCompleted += OnCompletionResultRetrieved;
            _languageContext = languageContext;
            _debuggerService = debuggerService;
            _bookmarkManager = bookmarkManager;
            _codeViewModel = codeViewModel;

            _textArea = textArea;
            _textArea.KeyUp += OnKeyReleased;
            _textArea.TextEntered += OnTextEntered;
        }
        public KeystrokeService(ICodeViewModel codeViewModel, TextArea textArea, ICompletionProvider completionProvider, LanguageContext languageContext, DebuggerService debuggerService, BookmarkManager bookmarkManager)
        {
            _completionProvider = completionProvider;
            _completionProvider.OnCompletionCompleted += OnCompletionResultRetrieved;
            _languageContext = languageContext;
            _debuggerService = debuggerService;
            _bookmarkManager = bookmarkManager;
            _codeViewModel   = codeViewModel;

            _textArea              = textArea;
            _textArea.KeyUp       += OnKeyReleased;
            _textArea.TextEntered += OnTextEntered;
        }
 public CrefCompletionItem(
     Workspace workspace,
     ICompletionProvider completionProvider,
     string displayText,
     string insertionText,
     TextSpan textSpan,
     Func <CancellationToken,
           Task <ImmutableArray <SymbolDisplayPart> > > descriptionFactory,
     Glyph?glyph,
     string sortText)
     : base(workspace, completionProvider, displayText, textSpan, descriptionFactory, glyph, sortText)
 {
     this.InsertionText = insertionText;
 }
Example #15
0
 private static Task <CompletionItemGroup> GetGroupAsync(
     ICompletionProvider provider,
     Document documentOpt,
     SourceText text,
     int position,
     CompletionTriggerInfo triggerInfo,
     CancellationToken cancellationToken)
 {
     return(provider is ITextCompletionProvider
         ? Task.FromResult(((ITextCompletionProvider)provider).GetGroup(text, position, triggerInfo, cancellationToken))
         : documentOpt != null
             ? provider.GetGroupAsync(documentOpt, position, triggerInfo, cancellationToken)
             : SpecializedTasks.Default <CompletionItemGroup>());
 }
        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);
            }
        }
 public CrefCompletionItem(
     Workspace workspace,
     ICompletionProvider completionProvider,
     string displayText,
     string insertionText,
     TextSpan textSpan,
     Func<CancellationToken,
     Task<ImmutableArray<SymbolDisplayPart>>> descriptionFactory,
     Glyph? glyph,
     string sortText)
     : base(workspace, completionProvider, displayText, textSpan, descriptionFactory, glyph, sortText)
 {
     this.InsertionText = insertionText;
 }
Example #18
0
 public CompletionItem(
     ICompletionProvider completionProvider,
     string displayText,
     TextSpan filterSpan,
     Func <CancellationToken, Task <ImmutableArray <SymbolDisplayPart> > > descriptionFactory,
     Glyph?glyph,
     string sortText           = null,
     string filterText         = null,
     bool preselect            = false,
     bool isBuilder            = false,
     bool showsWarningIcon     = false,
     bool shouldFormatOnCommit = false) :
     this(completionProvider, displayText, filterSpan, descriptionFactory, glyph, /*hasAsyncDescription*/ true, sortText, filterText, preselect, isBuilder, showsWarningIcon, shouldFormatOnCommit)
 {
 }
 public MemberInsertionCompletionItem(
     ICompletionProvider 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)
 {
     this.Modifiers = modifiers;
     this.Line = line;
     this.SymbolId = symbolId;
     this.Token = token;
 }
 public MemberInsertionCompletionItem(
     ICompletionProvider 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)
 {
     this.Modifiers = modifiers;
     this.Line      = line;
     this.SymbolId  = symbolId;
     this.Token     = token;
 }
Example #21
0
 public CompletionItem(
     ICompletionProvider completionProvider,
     string displayText,
     TextSpan filterSpan,
     ImmutableArray <SymbolDisplayPart> description = default(ImmutableArray <SymbolDisplayPart>),
     Glyph?glyph               = null,
     string sortText           = null,
     string filterText         = null,
     bool preselect            = false,
     bool isBuilder            = false,
     bool showsWarningIcon     = false,
     bool shouldFormatOnCommit = false)
     : this(completionProvider, displayText, filterSpan,
            description.IsDefault ? (Func <CancellationToken, Task <ImmutableArray <SymbolDisplayPart> > >)null : c => Task.FromResult(description),
            glyph, sortText, filterText, preselect, isBuilder, showsWarningIcon, shouldFormatOnCommit)
 {
 }
 public SymbolCompletionItem(
     ICompletionProvider 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)
 {
 }
Example #23
0
 public SymbolCompletionItem(
     ICompletionProvider 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 QueryIndexAutoComplete(IList<string> fields, string indexName, IEditorDocument queryDocument)
		{
            if (indexName != null && queryDocument != null)
            {
                this.indexName = indexName;
                this.queryDocument = queryDocument;
                queryDocument.ObserveTextChanged()
                    .Throttle(TimeSpan.FromSeconds(0.2))
                    .ObserveOnDispatcher()
                    .SubscribeWeakly(this, (target, _) => target.GetTermsForUsedFields());

                CompletionProvider = new QueryIntelliPromptProvider(fields, indexName, fieldsTermsDictionary);
            }
            else
            {
                CompletionProvider = new QueryIntelliPromptProvider(fields, null, null);
            }

		    this.fields.Match(fields);
		}
Example #25
0
        public QueryIndexAutoComplete(IList <string> fields, string indexName, IEditorDocument queryDocument)
        {
            if (indexName != null && queryDocument != null)
            {
                this.indexName     = indexName;
                this.queryDocument = queryDocument;
                queryDocument.ObserveTextChanged()
                .Throttle(TimeSpan.FromSeconds(0.2))
                .ObserveOnDispatcher()
                .SubscribeWeakly(this, (target, _) => target.GetTermsForUsedFields());

                CompletionProvider = new QueryIntelliPromptProvider(fields, indexName, fieldsTermsDictionary);
            }
            else
            {
                CompletionProvider = new QueryIntelliPromptProvider(fields, null, null);
            }

            this.fields.Match(fields);
        }
 public SymbolCompletionItem(
     ICompletionProvider completionProvider,
     string displayText,
     string insertionText,
     string filterText,
     TextSpan filterSpan,
     int position,
     List<ISymbol> symbols,
     AbstractSyntaxContext context,
     bool preselect = false,
     SupportedPlatformData supportedPlatforms = null)
 : base(completionProvider, displayText, filterSpan,
    descriptionFactory: null, glyph: symbols[0].GetGlyph(),
    sortText: symbols[0].Name, filterText: filterText, preselect: preselect, showsWarningIcon: supportedPlatforms != null)
 {
     this.InsertionText = insertionText;
     this.Position = position;
     this.Symbols = symbols;
     this.Context = context;
     _supportedPlatorms = supportedPlatforms;
 }
Example #27
0
 public SymbolCompletionItem(
     ICompletionProvider completionProvider,
     string displayText,
     string insertionText,
     string filterText,
     TextSpan filterSpan,
     int position,
     List <ISymbol> symbols,
     AbstractSyntaxContext context,
     bool preselect = false,
     SupportedPlatformData supportedPlatforms = null)
     : base(completionProvider, displayText, filterSpan,
            descriptionFactory : null, glyph : symbols[0].GetGlyph(),
            sortText : symbols[0].Name, filterText : filterText, preselect : preselect, showsWarningIcon : supportedPlatforms != null)
 {
     this.InsertionText     = insertionText;
     this.Position          = position;
     this.Symbols           = symbols;
     this.Context           = context;
     this.supportedPlatorms = supportedPlatforms;
 }
        public FileSystemCompletionHelper(
            ICompletionProvider completionProvider,
            TextSpan textChangeSpan,
            ICurrentWorkingDirectoryDiscoveryService fileSystemDiscoveryService,
            Glyph folderGlyph,
            Glyph fileGlyph,
            ImmutableArray<string> searchPaths,
            IEnumerable<string> allowableExtensions,
            Func<string, bool> exclude = 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;

            _lazyGetDrives = new Lazy<string[]>(() =>
                IOUtilities.PerformIO(Directory.GetLogicalDrives, SpecializedCollections.EmptyArray<string>()));
        }
Example #29
0
        public FileSystemCompletionHelper(
            ICompletionProvider completionProvider,
            TextSpan textChangeSpan,
            ICurrentWorkingDirectoryDiscoveryService fileSystemDiscoveryService,
            Glyph folderGlyph,
            Glyph fileGlyph,
            ImmutableArray <string> searchPaths,
            IEnumerable <string> allowableExtensions,
            Func <string, bool> exclude = null)
        {
            Debug.Assert(searchPaths.All(path => PathUtilities.IsAbsolute(path)));

            this.completionProvider         = completionProvider;
            this.textChangeSpan             = textChangeSpan;
            this.searchPaths                = searchPaths;
            this.allowableExtensions        = allowableExtensions.Select(e => e.ToLowerInvariant()).ToSet();
            this.fileSystemDiscoveryService = fileSystemDiscoveryService;
            this.folderGlyph                = folderGlyph;
            this.fileGlyph = fileGlyph;
            this.exclude   = exclude;

            this.lazyGetDrives = new Lazy <string[]>(() =>
                                                     IOUtilities.PerformIO(Directory.GetLogicalDrives, SpecializedCollections.EmptyArray <string>()));
        }
 public void SetFixture(TWorkspaceFixture workspaceFixture)
 {
     this.workspaceFixture   = workspaceFixture;
     this.CompletionProvider = CreateCompletionProvider();
 }
 public GlobalAssemblyCacheCompletionHelper(ICompletionProvider completionProvider, TextSpan textChangeSpan)
 {
     _completionProvider = completionProvider;
     _textChangeSpan     = textChangeSpan;
 }
 private static Task<CompletionItemGroup> GetGroupAsync(
     ICompletionProvider provider,
     Document documentOpt,
     SourceText text,
     int position,
     CompletionTriggerInfo triggerInfo,
     CancellationToken cancellationToken)
 {
     return provider is ITextCompletionProvider
         ? Task.FromResult(((ITextCompletionProvider)provider).GetGroup(text, position, triggerInfo, cancellationToken))
         : documentOpt != null
             ? provider.GetGroupAsync(documentOpt, position, triggerInfo, cancellationToken)
             : SpecializedTasks.Default<CompletionItemGroup>();
 }
 public KeywordCompletionItem(ICompletionProvider completionProvider, string displayText, TextSpan filterSpan, Func<CancellationToken, Task<ImmutableArray<SymbolDisplayPart>>> descriptionFactory, Glyph? glyph, bool isIntrinsic)
     : base(completionProvider, displayText, filterSpan, descriptionFactory, glyph)
 {
     this.IsIntrinsic = isIntrinsic;
 }
Example #34
0
 public XmlItem(ICompletionProvider provider,
                TextSpan filterSpan,
                string displayText)
     : this(provider, filterSpan, displayText, displayText, string.Empty)
 {
 }
Example #35
0
 public KeywordCompletionItem(ICompletionProvider completionProvider, string displayText, TextSpan filterSpan, Func <CancellationToken, Task <ImmutableArray <SymbolDisplayPart> > > descriptionFactory, Glyph?glyph, bool isIntrinsic)
     : base(completionProvider, displayText, filterSpan, descriptionFactory, glyph)
 {
     this.IsIntrinsic = isIntrinsic;
 }
Example #36
0
 public XmlItem(ICompletionProvider provider,
     TextSpan filterSpan,
     string displayText)
     : this(provider, filterSpan, displayText, displayText, string.Empty)
 {
 }