Browse Source

only display snippets that are mapped to a currently available keyword

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@6150 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
Siegfried Pammer 16 years ago
parent
commit
9ef1561394
  1. 6
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Snippets/SnippetCompletionItem.cs
  2. 2
      src/Main/Base/Project/Src/Editor/CodeCompletion/CtrlSpaceCompletionItemProvider.cs
  3. 5
      src/Main/Base/Project/Src/Editor/CodeCompletion/ICompletionItem.cs

6
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Snippets/SnippetCompletionItem.cs

@ -21,7 +21,7 @@ namespace ICSharpCode.AvalonEdit.AddIn.Snippets @@ -21,7 +21,7 @@ namespace ICSharpCode.AvalonEdit.AddIn.Snippets
/// <summary>
/// Code completion item for snippets.
/// </summary>
public class SnippetCompletionItem : IFancyCompletionItem
public class SnippetCompletionItem : IFancyCompletionItem, ISnippetCompletionItem
{
readonly CodeSnippet codeSnippet;
readonly ITextEditor textEditor;
@ -48,6 +48,10 @@ namespace ICSharpCode.AvalonEdit.AddIn.Snippets @@ -48,6 +48,10 @@ namespace ICSharpCode.AvalonEdit.AddIn.Snippets
get { return codeSnippet.Name; }
}
public string Keyword {
get { return codeSnippet.Keyword; }
}
public string Description {
get {
return codeSnippet.Description + Environment.NewLine +

2
src/Main/Base/Project/Src/Editor/CodeCompletion/CtrlSpaceCompletionItemProvider.cs

@ -44,6 +44,8 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion @@ -44,6 +44,8 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion
if (list == null)
return;
List<ICompletionItem> snippets = editor.GetSnippets().ToList();
snippets.RemoveAll(item => item is ISnippetCompletionItem
&& !list.Items.Any(item2 => item2.Text == (item as ISnippetCompletionItem).Keyword));
list.Items.RemoveAll(item => item.Image == ClassBrowserIconService.Keyword && snippets.Exists(i => i.Text == item.Text));
list.Items.AddRange(snippets);
list.SortItems();

5
src/Main/Base/Project/Src/Editor/CodeCompletion/ICompletionItem.cs

@ -30,6 +30,11 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion @@ -30,6 +30,11 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion
}
}
public interface ISnippetCompletionItem : ICompletionItem
{
string Keyword { get; }
}
public class DefaultCompletionItem : ICompletionItem
{
public string Text { get; private set; }

Loading…
Cancel
Save