Ejemplo n.º 1
0
        public void FilterWords()
        {
            filteredItems.Clear();
            categories.Clear();
            var matcher = CompletionMatcher.CreateCompletionMatcher(CompletionString);

            for (int newSelection = 0; newSelection < win.DataProvider.ItemCount; newSelection++)
            {
                if (string.IsNullOrEmpty(CompletionString) || matcher.IsMatch(win.DataProvider.GetText(newSelection)))
                {
                    CompletionCategory completionCategory = win.DataProvider.GetCompletionCategory(newSelection);
                    GetCategory(completionCategory).Items.Add(filteredItems.Count);
                    filteredItems.Add(newSelection);
                }
            }
            categories.Sort(delegate(Category left, Category right) {
                return(right.CompletionCategory != null ? right.CompletionCategory.CompareTo(left.CompletionCategory) : -1);
            });

            SelectFirstItemInCategory();
            CalcVisibleRows();
            UpdatePage();

            OnWordsFiltered(EventArgs.Empty);
        }
Ejemplo n.º 2
0
        static Category GetCategory(List <Category> categories, CompletionCategory completionCategory)
        {
            foreach (var cat in categories)
            {
                if (cat.CompletionCategory == completionCategory)
                {
                    return(cat);
                }
            }
            var result = new Category();

            result.CompletionCategory = completionCategory;
            if (completionCategory == null)
            {
                categories.Add(result);
            }
            else
            {
                categories.Insert(0, result);
            }
            return(result);
        }
Ejemplo n.º 3
0
        Category GetCategory(CompletionCategory completionCategory)
        {
            foreach (Category cat in categories)
            {
                if (cat.CompletionCategory == completionCategory)
                {
                    return(cat);
                }
            }
            Category result = new Category();

            result.CompletionCategory = completionCategory;
            if (completionCategory == null)
            {
                categories.Add(result);
            }
            else
            {
                categories.Insert(0, result);
            }
            return(result);
        }
Ejemplo n.º 4
0
 public override int CompareTo(MonoDevelop.Ide.CodeCompletion.CompletionCategory other)
 {
     return(string.Compare(DisplayText, other.DisplayText, StringComparison.InvariantCulture));
 }