本文整理汇总了C#中TextSpan.ToTagSpan方法的典型用法代码示例。如果您正苦于以下问题:C# TextSpan.ToTagSpan方法的具体用法?C# TextSpan.ToTagSpan怎么用?C# TextSpan.ToTagSpan使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TextSpan
的用法示例。
在下文中一共展示了TextSpan.ToTagSpan方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ExitEveryRule
public override void ExitEveryRule([NotNull] ParserRuleContext context)
{
base.ExitEveryRule(context);
if ((context is XSharpParser.Namespace_Context) ||
(context is XSharpParser.Class_Context) ||
(context is XSharpParser.PropertyContext) ||
(context is XSharpParser.PropertyAccessorContext))
{
// already done
// BEGIN NAMESPACE .... END NAMESPACE
//
TagRegion(context, context.ChildCount - 2 );
}
else if ((context is XSharpParser.FunctionContext) ||
(context is XSharpParser.ProcedureContext) ||
(context is XSharpParser.MethodContext) ||
(context is XSharpParser.ClsctorContext) ||
(context is XSharpParser.ClsdtorContext))
{
// Put a region up to the end of the Entity
TagRegion(context, context.ChildCount - 1);
}
else if (context is XSharpParser.IdentifierContext)
{
LanguageService.SyntaxTree.IToken sym = context.Start;
TextSpan tokenSpan;
tokenSpan = new TextSpan(sym.StartIndex, sym.StopIndex - sym.StartIndex + 1);
tags.Add(tokenSpan.ToTagSpan(Snapshot, xsharpIdentifierType));
}
}
示例2: TagRegion
private void TagRegion(ParserRuleContext context, int endChild)
{
var endToken = context.GetChild(endChild);
if (endToken is LanguageService.SyntaxTree.Tree.TerminalNodeImpl)
{
LanguageService.SyntaxTree.IToken sym = ((LanguageService.SyntaxTree.Tree.TerminalNodeImpl)endToken).Symbol;
var tokenSpan = new TextSpan(context.Start.StartIndex, 1);
tags.Add(tokenSpan.ToTagSpan(Snapshot, xsharpRegionStartType));
tokenSpan = new TextSpan( sym.StartIndex, sym.StopIndex - sym.StartIndex + 1);
tags.Add(tokenSpan.ToTagSpan(Snapshot, xsharpRegionStopType));
}
else if (endToken is LanguageService.CodeAnalysis.XSharp.SyntaxParser.XSharpParser.StatementBlockContext)
{
XSharpParser.StatementBlockContext lastTokenInContext = endToken as LanguageService.CodeAnalysis.XSharp.SyntaxParser.XSharpParser.StatementBlockContext;
var tokenSpan = new TextSpan(context.Start.StartIndex, 1);
tags.Add(tokenSpan.ToTagSpan(Snapshot, xsharpRegionStartType));
tokenSpan = new TextSpan(lastTokenInContext.Stop.StartIndex - 1, 1);
tags.Add(tokenSpan.ToTagSpan(Snapshot, xsharpRegionStopType));
}
}