Browse Source

v0.2

pull/15/head
Eusebiu Marcu 15 years ago
parent
commit
a72baabcd2
  1. 3
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpBracketSearcher.cs
  2. 3
      src/AddIns/BackendBindings/VBNetBinding/Project/Src/VBNetBracketSearcher.cs
  3. 38
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/HiddenDefinition/HiddenDefinitionRenderer.cs
  4. 9
      src/Main/Base/Project/Src/Editor/IBracketSearcher.cs

3
src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpBracketSearcher.cs

@ -36,8 +36,7 @@ namespace CSharpBinding @@ -36,8 +36,7 @@ namespace CSharpBinding
if (otherOffset > -1)
return new BracketSearchResult(Math.Min(offset - 1, otherOffset), 1,
Math.Max(offset - 1, otherOffset), 1,
openingBrackets[ind].ToString(), closingBrackets[ind].ToString());
Math.Max(offset - 1, otherOffset), 1);
}
return null;

3
src/AddIns/BackendBindings/VBNetBinding/Project/Src/VBNetBracketSearcher.cs

@ -36,8 +36,7 @@ namespace ICSharpCode.VBNetBinding @@ -36,8 +36,7 @@ namespace ICSharpCode.VBNetBinding
if (otherOffset > -1)
return new BracketSearchResult(Math.Min(offset - 1, otherOffset), 1,
Math.Max(offset - 1, otherOffset), 1,
openingBrackets[ind].ToString(), closingBrackets[ind].ToString());
Math.Max(offset - 1, otherOffset), 1);
int length;
VBStatement statement;

38
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/HiddenDefinition/HiddenDefinitionRenderer.cs

@ -2,11 +2,7 @@ @@ -2,11 +2,7 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.ComponentModel.Design;
using System.Linq;
using System.Windows.Controls.Primitives;
using ICSharpCode.AvalonEdit.Document;
using ICSharpCode.Core.Presentation;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Gui;
@ -45,7 +41,11 @@ namespace ICSharpCode.AvalonEdit.AddIn.HiddenDefinition @@ -45,7 +41,11 @@ namespace ICSharpCode.AvalonEdit.AddIn.HiddenDefinition
{
ClosePopup();
if (BracketSearchResult == null || BracketSearchResult.OpeningBracket != "{") return;
if (BracketSearchResult == null) return;
// verify if we have a open bracket
if (this.editor.Document.GetCharAt(BracketSearchResult.OpeningBracketOffset) != '{')
return;
var line = GetLineText(BracketSearchResult.OpeningBracketOffset);
if(line == null) return;
@ -60,19 +60,23 @@ namespace ICSharpCode.AvalonEdit.AddIn.HiddenDefinition @@ -60,19 +60,23 @@ namespace ICSharpCode.AvalonEdit.AddIn.HiddenDefinition
private string GetLineText(int offset)
{
// get folding manager
var container = this.editor.Adapter.GetService(typeof(IServiceContainer)) as IServiceContainer;
if (container == null) return null;
var folding = container.GetService(typeof(ParserFoldingStrategy)) as ParserFoldingStrategy;
if (folding == null) return null;
// get folding
var f = folding.FoldingManager.GetFoldingsContaining(offset).LastOrDefault();
if (f == null) return null;
// get line
var line = editor.Document.GetLineByOffset(f.StartOffset);
if (line == null || line.IsDeleted) return null;
var line = editor.Document.GetLineByOffset(offset);
string text = editor.Document.Text;
while (true) {
if (line == null || line.IsDeleted) return null;
string lineString = text.Substring(line.Offset, line.Length).Trim();
if (lineString != "{" && !string.IsNullOrEmpty(lineString) &&
!lineString.StartsWith("//") && !lineString.StartsWith("/*") &&
!lineString.StartsWith("*") && !lineString.StartsWith("'"))
break;
line = line.PreviousLine;
}
if (!editor.TextArea.TextView.VisualLinesValid)
return null;
// check whether the line is visible
int off = line.Offset;

9
src/Main/Base/Project/Src/Editor/IBracketSearcher.cs

@ -40,20 +40,13 @@ namespace ICSharpCode.SharpDevelop.Editor @@ -40,20 +40,13 @@ namespace ICSharpCode.SharpDevelop.Editor
public int ClosingBracketLength { get; private set; }
public string OpeningBracket { get; private set; }
public string ClosingBracket { get; private set; }
public BracketSearchResult(int openingBracketOffset, int openingBracketLength,
int closingBracketOffset, int closingBracketLength,
string openingBracket = null, string closingBracket = null)
int closingBracketOffset, int closingBracketLength)
{
this.OpeningBracketOffset = openingBracketOffset;
this.OpeningBracketLength = openingBracketLength;
this.ClosingBracketOffset = closingBracketOffset;
this.ClosingBracketLength = closingBracketLength;
this.OpeningBracket = openingBracket;
this.ClosingBracket = closingBracket;
}
}
}

Loading…
Cancel
Save