From 9385d688b7cfb4b6ba78af75af52eac4f86b0955 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Fri, 9 Jul 2010 12:56:07 +0000 Subject: [PATCH] Show only snippets with a ${Selection} in Ctrl+J list. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@6076 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../AvalonEdit.AddIn/Src/Commands/SurroundWithCommand.cs | 2 +- .../AvalonEdit.AddIn/Src/Snippets/CodeSnippet.cs | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Commands/SurroundWithCommand.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Commands/SurroundWithCommand.cs index 96691d3119..1474702098 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Commands/SurroundWithCommand.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Commands/SurroundWithCommand.cs @@ -37,7 +37,7 @@ namespace ICSharpCode.AvalonEdit.AddIn.Commands DefaultCompletionItemList list = new DefaultCompletionItemList(); - list.Items.AddRange(group.Snippets.Select(item => item.CreateCompletionItem(provider.TextEditor))); + list.Items.AddRange(group.Snippets.Where(i => i.HasSelection).Select(item => item.CreateCompletionItem(provider.TextEditor))); new CodeSnippetCompletionWindow(provider.TextEditor, list).Show(); } diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Snippets/CodeSnippet.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Snippets/CodeSnippet.cs index 3893729d8c..b14900d6fd 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Snippets/CodeSnippet.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Snippets/CodeSnippet.cs @@ -58,6 +58,14 @@ namespace ICSharpCode.AvalonEdit.AddIn.Snippets } } + public bool HasSelection { + get { + return pattern.Matches(this.Text) + .OfType() + .Any(item => item.Value == "${Selection}"); + } + } + public event PropertyChangedEventHandler PropertyChanged; protected virtual void OnPropertyChanged(string propertyName)