Ejemplo n.º 1
0
        /// <summary>
        /// Find a list of items in the completion and return it
        /// Uses the position to filter the list the same way the autocompletion form would
        /// </summary>
        /// <returns></returns>
        public static List <CompletionItem> FindInCompletionData(string keyword, int position, bool dontCheckLine = false)
        {
            var filteredList = AutoCompletionForm.ExternalFilterItems(SavedAllItems.ToList(), Npp.LineFromPosition(position), dontCheckLine);

            if (filteredList == null || filteredList.Count <= 0)
            {
                return(null);
            }
            var found = filteredList.Where(data => data.DisplayText.EqualsCi(keyword)).ToList();

            if (found.Count > 0)
            {
                return(found);
            }

            // search in tables fields
            var tableFound = ParserHandler.FindAnyTableOrBufferByName(Npp.GetFirstWordRightAfterPoint(position));

            if (tableFound == null)
            {
                return(null);
            }

            var listOfFields = DataBase.GetFieldsList(tableFound).ToList();

            return(listOfFields.Where(data => data.DisplayText.EqualsCi(keyword)).ToList());
        }
Ejemplo n.º 2
0
        /// <summary>
        /// try to match the keyword with an item in the autocomplete list
        /// </summary>
        /// <returns></returns>
        public static CompletionItem FindInSavedItems(string keyword, int line)
        {
            var filteredList = AutoCompletionForm.ExternalFilterItems(SavedAllItems.ToList(), line);

            if (filteredList == null || filteredList.Count <= 0)
            {
                return(null);
            }
            CompletionItem found = filteredList.FirstOrDefault(data => data.DisplayText.EqualsCi(keyword));

            return(found);
        }