public override string GetMinimalText(MinimalTextKind kind, CancellationToken cancellationToken) { // use kusto lexer to identify tokens and trivia (as best guess) var list = new SyntaxList <SyntaxToken>(Parsing.LexicalGrammar.GetTokens(this.Text).Select(t => SyntaxToken.From(t)).ToArray()); return(list.ToString(KustoCodeService.GetIncludeTrivia(kind))); }
public override string GetMinimalText(MinimalTextKind kind, CancellationToken cancellationToken = default(CancellationToken)) { if (this.TryGetBoundOrUnboundCode(cancellationToken, true, out var code)) { return(code.Syntax.ToString(GetIncludeTrivia(kind))); } return(this.Text); }
public static IncludeTrivia GetIncludeTrivia(MinimalTextKind kind) { switch (kind) { case MinimalTextKind.RemoveLeadingWhitespaceAndComments: return(IncludeTrivia.Interior); case MinimalTextKind.MinimizeWhitespaceAndRemoveComments: return(IncludeTrivia.Minimal); case MinimalTextKind.SingleLine: return(IncludeTrivia.SingleLine); default: throw new InvalidOperationException($"Unhandled MinimalTextKind '{kind}'"); } }
public override string GetMinimalText(MinimalTextKind kind, CancellationToken cancellationToken) { return(_service.GetMinimalText(kind, cancellationToken)); }
/// <summary> /// Gets the text with all whitespace/trivia minimized. /// </summary> /// <param name="kind">The kind of minimal text to produce.</param> /// <param name="cancellationToken">Optional cancellation token.</param> public abstract string GetMinimalText(MinimalTextKind kind, CancellationToken cancellationToken = default(CancellationToken));