Browse Source

Merge pull request #48 from tobijdc/newNR

Snippet completion and minor changes
newNRILSpyDebugger
Siegfried Oleg Pammer 12 years ago
parent
commit
3de221f072
  1. 6
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/CSharpCompletionDataFactory.cs
  2. 7
      src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditContainer.Designer.cs
  3. 3
      src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditContainer.cs
  4. 11
      src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeView.cs
  5. 110
      src/Main/Base/Project/Editor/CodeCompletion/SnippetCompletionData.cs
  6. 1
      src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj

6
src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/CSharpCompletionDataFactory.cs

@ -11,10 +11,9 @@ using ICSharpCode.NRefactory.CSharp.Resolver; @@ -11,10 +11,9 @@ using ICSharpCode.NRefactory.CSharp.Resolver;
using ICSharpCode.NRefactory.Completion;
using ICSharpCode.NRefactory.CSharp;
using ICSharpCode.NRefactory.CSharp.Completion;
using ICSharpCode.NRefactory.CSharp.TypeSystem;
using ICSharpCode.NRefactory.TypeSystem;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Editor.CodeCompletion;
namespace CSharpBinding.Completion
{
@ -127,7 +126,8 @@ namespace CSharpBinding.Completion @@ -127,7 +126,8 @@ namespace CSharpBinding.Completion
IEnumerable<ICompletionData> ICompletionDataFactory.CreateCodeTemplateCompletionData()
{
yield break;
return completionContext.Editor.GetSnippets().OfType<ISnippetCompletionItem>()
.Select(snippet => new SnippetCompletionData(snippet));
}
IEnumerable<ICompletionData> ICompletionDataFactory.CreatePreProcessorDefinesCompletionData()

7
src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditContainer.Designer.cs generated

@ -36,7 +36,7 @@ namespace HexEditor.View @@ -36,7 +36,7 @@ namespace HexEditor.View
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(HexEditContainer));
this.tbSizeToFit = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.tCBViewMode = new System.Windows.Forms.DomainUpDown();
this.tCBViewMode = new System.Windows.Forms.ToolStripComboBox();
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.tSTBCharsPerLine = new System.Windows.Forms.NumericUpDown();
this.toolStripProgressBar1 = new System.Windows.Forms.ToolStripProgressBar();
@ -69,7 +69,8 @@ namespace HexEditor.View @@ -69,7 +69,8 @@ namespace HexEditor.View
"Decimal"});
this.tCBViewMode.Name = "tCBViewMode";
this.tCBViewMode.Size = new System.Drawing.Size(121, 25);
this.tCBViewMode.SelectedItemChanged += new System.EventHandler(this.TCBViewModeSelectedIndexChanged);
this.tCBViewMode.SelectedIndexChanged += new System.EventHandler(this.TCBViewModeSelectedIndexChanged);
this.tCBViewMode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
//
// toolStrip1
//
@ -129,7 +130,7 @@ namespace HexEditor.View @@ -129,7 +130,7 @@ namespace HexEditor.View
}
private System.Windows.Forms.ToolStripProgressBar toolStripProgressBar1;
internal HexEditor.Editor hexEditControl;
private System.Windows.Forms.DomainUpDown tCBViewMode;
private System.Windows.Forms.ToolStripComboBox tCBViewMode;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
private System.Windows.Forms.ToolStripButton tbSizeToFit;
private System.Windows.Forms.ToolStrip toolStrip1;

3
src/AddIns/DisplayBindings/HexEditor/Project/Src/View/HexEditContainer.cs

@ -51,8 +51,7 @@ namespace HexEditor.View @@ -51,8 +51,7 @@ namespace HexEditor.View
ToolStripControlHost bytesPerLine = new ToolStripControlHost(tSTBCharsPerLine);
this.toolStrip1.Items.Insert(1, bytesPerLine);
ToolStripControlHost viewMode = new ToolStripControlHost(tCBViewMode);
this.toolStrip1.Items.Insert(3, viewMode);
this.toolStrip1.Items.Insert(3, tCBViewMode);
hexEditControl.BytesPerLine = Settings.BytesPerLine;
tSTBCharsPerLine.Text = hexEditControl.BytesPerLine.ToString();

11
src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeView.cs

@ -239,11 +239,20 @@ namespace ICSharpCode.TreeView @@ -239,11 +239,20 @@ namespace ICSharpCode.TreeView
}
break;
case Key.Return:
case Key.Space:
if (container != null && Keyboard.Modifiers == ModifierKeys.None && this.SelectedItems.Count == 1 && this.SelectedItem == container.Node) {
container.Node.ActivateItem(e);
}
break;
case Key.Space:
if (container != null && Keyboard.Modifiers == ModifierKeys.None && this.SelectedItems.Count == 1 && this.SelectedItem == container.Node) {
if(container.Node.IsCheckable) {
if(container.Node.IsChecked == null) // If partially selected, we want to select everything
container.Node.IsChecked = true;
else
container.Node.IsChecked = !container.Node.IsChecked;
}
}
break;
case Key.Add:
if (container != null && ItemsControl.ItemsControlFromItemContainer(container) == this) {
container.Node.IsExpanded = true;

110
src/Main/Base/Project/Editor/CodeCompletion/SnippetCompletionData.cs

@ -0,0 +1,110 @@ @@ -0,0 +1,110 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using ICSharpCode.NRefactory;
using ICSharpCode.NRefactory.Completion;
using ICSharpCode.SharpDevelop.Editor.CodeCompletion;
namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion
{
/// <summary>
/// Code completion data for snippets.
/// </summary>
public class SnippetCompletionData : IFancyCompletionItem, ISnippetCompletionItem, ICompletionData, ICompletionItem
{
#region ICompletionData implementation
void ICompletionData.AddOverload(ICompletionData data) { }
CompletionCategory category;
CompletionCategory ICompletionData.CompletionCategory {
get { return category; }
set { category = value; }
}
string ICompletionData.DisplayText {
get { return snippet.Text; }
set { }
}
string ICompletionData.Description {
get { return snippet.Description; }
set { }
}
string ICompletionData.CompletionText {
get { return snippet.Text; }
set { }
}
DisplayFlags displayFlags;
DisplayFlags ICompletionData.DisplayFlags {
get { return displayFlags; }
set { displayFlags = value; }
}
bool ICompletionData.HasOverloads {
get { return false; }
}
System.Collections.Generic.IEnumerable<ICompletionData> ICompletionData.OverloadedData {
get { return EmptyList<ICompletionData>.Instance; }
}
#endregion
ISnippetCompletionItem snippet;
public SnippetCompletionData(ISnippetCompletionItem completionItem)
{
snippet = completionItem;
}
#region ISnippetCompletionItem implementation
public string Keyword {
get { return snippet.Keyword; }
}
#endregion
#region ICompletionItem implementation
public void Complete(CompletionContext context)
{
snippet.Complete(context);
}
public string Text {
get { return snippet.Text; }
}
string ICompletionItem.Description {
get { return snippet.Description; }
}
public ICSharpCode.SharpDevelop.IImage Image {
get { return snippet.Image; }
}
public double Priority {
get { return snippet.Priority; }
}
#endregion
#region IFancyCompletionItem implementation
public object Content {
get { return snippet.Text; }
}
public object Description {
get { return snippet.Description; }
}
#endregion
}
}

1
src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj

@ -126,6 +126,7 @@ @@ -126,6 +126,7 @@
<Compile Include="Editor\Bookmarks\IBookmarkMargin.cs" />
<Compile Include="Editor\Bookmarks\SDBookmark.cs" />
<Compile Include="Editor\Bookmarks\SDMarkerBookmark.cs" />
<Compile Include="Editor\CodeCompletion\SnippetCompletionData.cs" />
<Compile Include="Editor\DocumentServiceAttribute.cs" />
<Compile Include="Editor\DocumentUtilities.cs" />
<Compile Include="Editor\IBracketSearcher.cs" />

Loading…
Cancel
Save