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); }
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); } }
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); } }
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); }
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; }