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