📄 iexpressionfinder.cs
字号:
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Mike Krüger" email="mike@icsharpcode.net"/>
// <version>$Revision: 915 $</version>
// </file>
using System;
namespace ICSharpCode.SharpDevelop.Dom
{
public interface IExpressionFinder
{
/// <summary>
/// Finds an expression before the current offset.
/// </summary>
ExpressionResult FindExpression(string text, int offset);
/// <summary>
/// Finds an expression around the current offset.
/// </summary>
ExpressionResult FindFullExpression(string text, int offset);
/// <summary>
/// Removed the last part of the expression.
/// </summary>
/// <example>
/// "arr[i]" => "arr"
/// "obj.Field" => "obj"
/// "obj.Method(args,...)" => "obj.Method"
/// </example>
string RemoveLastPart(string expression);
}
/// <summary>
/// Structure containing the result of a call to an expression finder.
/// </summary>
public struct ExpressionResult
{
/// <summary>The expression that has been found at the specified offset.</summary>
public string Expression;
/// <summary>Specifies the context in which the expression was found.</summary>
public ExpressionContext Context;
/// <summary>An object carrying additional language-dependend data.</summary>
public object Tag;
public ExpressionResult(string expression) : this(expression, ExpressionContext.Default, null) {}
public ExpressionResult(string expression, ExpressionContext context) : this(expression, context, null) {}
public ExpressionResult(string expression, object tag) : this(expression, ExpressionContext.Default, tag) {}
public ExpressionResult(string expression, ExpressionContext context, object tag)
{
this.Expression = expression;
this.Context = context;
this.Tag = tag;
}
public override string ToString()
{
if (Context == ExpressionContext.Default)
return "<" + Expression + ">";
else
return "<" + Expression + "> (" + Context.ToString() + ")";
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -