Exemplo n.º 1
0
        public void AugmentCompletionSession(ICompletionSession session, IList <CompletionSet> completionSets)
        {
            _completionSession = session;
            var textBuffer = _textBuffer;

            if (_provider._PublicFunctionProvider != null)
            {
                _provider._PublicFunctionProvider.SetFilename(textBuffer.GetFilePath());
            }
            if (_provider._DatabaseInfoProvider != null)
            {
                _provider._DatabaseInfoProvider.SetFilename(textBuffer.GetFilePath());
            }

            var span         = session.GetApplicableSpan(textBuffer);
            var triggerPoint = session.GetTriggerPoint(textBuffer);
            var options      = session.GetOptions();
            var provider     = textBuffer.CurrentSnapshot.GetCompletions(span, triggerPoint, options, _provider._PublicFunctionProvider, _provider._DatabaseInfoProvider, _provider._ProgramFileProvider);

            provider.GlyphService = _provider._glyphService;
            var completions = provider.GetCompletions(_provider._glyphService);

            if (completions == null || completions.Completions.Count == 0)
            {
                return;
            }
            completionSets.Add(completions);
        }
Exemplo n.º 2
0
        public void AugmentCompletionSession(ICompletionSession session, IList<CompletionSet> completionSets) {
            var textBuffer = _textBuffer;
            var span = session.GetApplicableSpan(textBuffer);
            var triggerPoint = session.GetTriggerPoint(textBuffer);
            var options = session.GetOptions(_provider._serviceProvider);
            var provider = textBuffer.CurrentSnapshot.GetCompletions(_provider._serviceProvider, span, triggerPoint, options);

            var completions = provider.GetCompletions(_provider._glyphService);
           
            if (completions != null && completions.Completions.Count > 0) {
                completionSets.Add(completions);
            }
        }
Exemplo n.º 3
0
        public void AugmentCompletionSession(ICompletionSession session, IList <CompletionSet> completionSets)
        {
            var textBuffer   = _textBuffer;
            var span         = session.GetApplicableSpan(textBuffer);
            var triggerPoint = session.GetTriggerPoint(textBuffer);
            var options      = session.GetOptions(_provider._serviceProvider);
            var provider     = textBuffer.CurrentSnapshot.GetCompletions(_provider._serviceProvider, span, triggerPoint, options);

            var completions = provider.GetCompletions(_provider._glyphService);

            if (completions != null && completions.Completions.Count > 0)
            {
                completionSets.Add(completions);
            }
        }
Exemplo n.º 4
0
        public void AugmentCompletionSession(ICompletionSession session, IList<CompletionSet> completionSets)
        {
            var textBuffer = _textBuffer;
            var span = session.GetApplicableSpan(textBuffer);
            var triggerPoint = session.GetTriggerPoint(textBuffer);
            var options = session.GetOptions();
            var provider = textBuffer.CurrentSnapshot.GetCompletions(span, triggerPoint, options);

            var completions = provider.GetCompletions(_provider._glyphService);

            if (completions == null || completions.Completions.Count == 0) {
                if (JToolsPackage.Instance != null &&
                    !session.TextView.GetAnalyzer().InterpreterFactory.IsAnalysisCurrent()) {
                    // no completions, inform the user via the status bar that the analysis is not yet complete.
                    var statusBar = (IVsStatusbar)CommonPackage.GetGlobalService(typeof(SVsStatusbar));
                    statusBar.SetText(Resources.WarningAnalysisNotCurrent);
                }
                return;
            }

            completionSets.Add(completions);
        }
Exemplo n.º 5
0
        private bool EnterOnCompleteText(ICompletionSession session) {
            var selectionStatus = session.SelectedCompletionSet.SelectionStatus;
            var caret = _textView.Caret.Position.BufferPosition;
            var span = session.GetApplicableSpan(_textView.TextBuffer).GetSpan(caret.Snapshot);

            return caret == span.End &&
                span.Length == selectionStatus.Completion?.InsertionText.Length &&
                span.GetText() == selectionStatus.Completion.InsertionText;
        }