class used in the auto completion feature
Inheritance: _3PA.MainFeatures.FilteredLists.FilteredItem
Exemple #1
0
        /// <summary>
        /// Increase ranking of a given CompletionItem
        /// </summary>
        /// <param name="item"></param>
        private static void RememberUseOf(CompletionItem item)
        {
            // handles unwanted rank progression (when the user enter several times the same keyword)
            if (item.DisplayText.Equals(_lastRememberedKeyword)) return;
            _lastRememberedKeyword = item.DisplayText;

            item.Ranking++;
            if (item.FromParser)
                RememberUseOfParsedItem(item.DisplayText);
            else if (item.Type != CompletionType.Keyword && item.Type != CompletionType.Snippet)
                RememberUseOfDatabaseItem(item.DisplayText);
        }
Exemple #2
0
        /// <summary>
        /// Method called when the tooltip is opened to help the user during autocompletion
        /// </summary>
        public static void ShowToolTipFromAutocomplete(CompletionItem item, Rectangle completionRectangle, bool reversedForm)
        {
            if (Config.Instance.ToolTipDeactivate) return;

            bool lockTaken = false;
            try {
                Monitor.TryEnter(_thisLock, 0, ref lockTaken);
                if (!lockTaken) return;

                InitIfneeded();

                // sets the tooltip content
                _currentCompletionList = new List<CompletionItem> { item };
                SetToolTip();

                // update position
                _form.SetPosition(completionRectangle, reversedForm);

                _openedFromDwell = false;
                _openedForCompletion = true;
                if (!_form.Visible)
                    _form.UnCloack();

            } finally {
                if (lockTaken) Monitor.Exit(_thisLock);
            }
        }
Exemple #3
0
        /// <summary>
        /// Method called by the form when the user accepts a suggestion (tab or enter or doubleclick)
        /// </summary>
        private static void OnInsertSuggestion(CompletionItem data)
        {
            try {
                // in case of keyword, replace abbreviation if needed
                var replacementText = data.DisplayText;
                if (Config.Instance.CodeReplaceAbbreviations && (data.Type == CompletionType.Keyword || data.Type == CompletionType.KeywordObject)) {
                    var fullKeyword = Keywords.GetFullKeyword(data.DisplayText);
                    replacementText = fullKeyword ?? data.DisplayText;
                }
                replacementText = CorrectKeywordCase(replacementText, Npp.CurrentPosition) ?? replacementText;
                Npp.ReplaceKeywordWrapped(replacementText, 0);

                // Remember this item to show it higher in the list later
                RememberUseOf(data);

                if (data.Type == CompletionType.Snippet)
                    Snippets.TriggerCodeSnippetInsertion();

                Close();
            } catch (Exception e) {
                ErrorHandler.ShowErrors(e, "Error during AutoCompletionAccepted");
            }
        }
Exemple #4
0
 public TabCompletedEventArgs(CompletionItem completionItem)
 {
     CompletionItem = completionItem;
 }