using System.Collections.Generic;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp;
" Console.WriteLine(\"Debug mode\");\r\n"+
" Console.WriteLine(\"Release mode\");\r\n"+
"Console.WriteLine(\"Startup Complete\");\r\n";
Console.WriteLine("```");
Console.WriteLine("```");
Console.WriteLine("Tokens");
Console.WriteLine("=====");
var tokens = SyntaxFactory.ParseTokens(code);
foreach (var token in tokens)
foreach (var trivia in token.LeadingTrivia)
Console.WriteLine($" /-- LeadingTrivia: {trivia.Kind()} '{ReplaceCRLF(trivia.ToString())}'");
Console.WriteLine($"Token: {token.Kind()} '{ReplaceCRLF(token.Text)}' [{token.Value}]");
foreach (var trivia in token.TrailingTrivia)
Console.WriteLine($" \\-- TrailingTrivia: {trivia.Kind()} FullString: '{ReplaceCRLF(trivia.ToFullString())}' ToString: '{ReplaceCRLF(trivia.ToString())}'");
static string ReplaceCRLF(string input)
return input.Replace("\r", "<CR>").Replace("\n", "<LF>");