Example #1
0
        private void ShowParameterInfoPopup()
        {
            _parameterInfoLocation = CurrentLocation;

            _evaluatable.Text = _syntaxEditor.Text;

            IntelliPromptParameterInfo infoTip = _syntaxEditor.IntelliPrompt.ParameterInfo;
            int lastSelectedFunction           = infoTip.SelectedIndex;

            infoTip.Info.Clear();

            try
            {
                ICodeAssistanceContextProvider codeAssistanceContextProvider = _evaluatable.GetCodeAssistanceContextProvider();
                IParameterInfoContext          parameterInfoContext          = codeAssistanceContextProvider.ProvideParameterInfoContext(CurrentLocation);
                ParameterInfoAcceptor          acceptor = new ParameterInfoAcceptor(infoTip, parameterInfoContext.ParameterIndex);
                parameterInfoContext.Enumerate(acceptor);

                if (infoTip.Info.Count == 0)
                {
                    infoTip.Hide();
                }
                else
                {
                    infoTip.SelectedIndex = lastSelectedFunction;
                    infoTip.Show(_syntaxEditor.Caret.Offset);
                }
            }
            catch (NQueryException ex)
            {
                ShowErrorQuickInfo(ex);
            }
        }