Browse Source

moved AnchorSnippetElement integration to AnchorSnippetElementProvider

pull/1/head
Siegfried Pammer 15 years ago
parent
commit
6a89a4470c
  1. 1
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/AvalonEdit.AddIn.addin
  2. 1
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/AvalonEdit.AddIn.csproj
  3. 30
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Snippets/AnchorSnippetElementProvider.cs
  4. 10
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Snippets/CodeSnippet.cs
  5. 3
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Snippets/DefaultSnippetElementProvider.cs

1
src/AddIns/DisplayBindings/AvalonEdit.AddIn/AvalonEdit.AddIn.addin

@ -175,5 +175,6 @@
<Path name = "/SharpDevelop/ViewContent/AvalonEdit/SnippetElementProviders"> <Path name = "/SharpDevelop/ViewContent/AvalonEdit/SnippetElementProviders">
<Class id="default" class="ICSharpCode.AvalonEdit.AddIn.Snippets.DefaultSnippetElementProvider" /> <Class id="default" class="ICSharpCode.AvalonEdit.AddIn.Snippets.DefaultSnippetElementProvider" />
<Class id="anchor" class="ICSharpCode.AvalonEdit.AddIn.Snippets.AnchorSnippetElementProvider" />
</Path> </Path>
</AddIn> </AddIn>

1
src/AddIns/DisplayBindings/AvalonEdit.AddIn/AvalonEdit.AddIn.csproj

@ -134,6 +134,7 @@
<SubType>Code</SubType> <SubType>Code</SubType>
</Compile> </Compile>
<Compile Include="Src\PrintPreviewViewContent.cs" /> <Compile Include="Src\PrintPreviewViewContent.cs" />
<Compile Include="Src\Snippets\AnchorSnippetElementProvider.cs" />
<Compile Include="Src\Snippets\CodeSnippet.cs" /> <Compile Include="Src\Snippets\CodeSnippet.cs" />
<Compile Include="Src\Snippets\CodeSnippetCompletionWindow.cs" /> <Compile Include="Src\Snippets\CodeSnippetCompletionWindow.cs" />
<Compile Include="Src\Snippets\CodeSnippetGroup.cs" /> <Compile Include="Src\Snippets\CodeSnippetGroup.cs" />

30
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Snippets/AnchorSnippetElementProvider.cs

@ -0,0 +1,30 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Siegfried Pammer" email="siegfriedpammer@gmail.com" />
// <version>$Revision$</version>
// </file>
using System;
using ICSharpCode.AvalonEdit.Snippets;
using ICSharpCode.SharpDevelop.Editor.AvalonEdit;
namespace ICSharpCode.AvalonEdit.AddIn.Snippets
{
public class AnchorSnippetElementProvider : ISnippetElementProvider
{
public SnippetElement GetElement(SnippetInfo snippetInfo)
{
int typeSeparator = snippetInfo.Tag.IndexOf(':');
if (typeSeparator > 0) {
string type = snippetInfo.Tag.Substring(0, typeSeparator);
string name = snippetInfo.Tag.Substring(typeSeparator + 1);
if ("anchor".Equals(type, StringComparison.OrdinalIgnoreCase))
return new SnippetAnchorElement(name);
}
return null;
}
}
}

10
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Snippets/CodeSnippet.cs

@ -157,16 +157,6 @@ namespace ICSharpCode.AvalonEdit.AddIn.Snippets
} }
} }
int typeSeparator = val.IndexOf(':');
if (typeSeparator > 0) {
string type = val.Substring(0, typeSeparator);
string name = val.Substring(typeSeparator + 1);
switch (type.ToLowerInvariant()) {
case "anchor":
return new SnippetAnchorElement(name);
}
}
foreach (ISnippetElementProvider provider in SnippetManager.Instance.SnippetElementProviders) { foreach (ISnippetElementProvider provider in SnippetManager.Instance.SnippetElementProviders) {
SnippetElement element = provider.GetElement(new SnippetInfo(val, snippetText, offset)); SnippetElement element = provider.GetElement(new SnippetInfo(val, snippetText, offset));
if (element != null) if (element != null)

3
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Snippets/DefaultSnippetElementProvider.cs

@ -10,9 +10,6 @@ using ICSharpCode.SharpDevelop.Editor.AvalonEdit;
namespace ICSharpCode.AvalonEdit.AddIn.Snippets namespace ICSharpCode.AvalonEdit.AddIn.Snippets
{ {
/// <summary>
/// Description of DefaultSnippetElementProvider.
/// </summary>
public class DefaultSnippetElementProvider : ISnippetElementProvider public class DefaultSnippetElementProvider : ISnippetElementProvider
{ {
public SnippetElement GetElement(SnippetInfo snippetInfo) public SnippetElement GetElement(SnippetInfo snippetInfo)

Loading…
Cancel
Save