Skip to content

Instantly share code, notes, and snippets.

@jaredpar
Created January 14, 2016 20:53
Show Gist options
  • Save jaredpar/18b87de98f34d12913fe to your computer and use it in GitHub Desktop.
Save jaredpar/18b87de98f34d12913fe to your computer and use it in GitHub Desktop.
SourceText text;
using (var stream = File.OpenRead(filePath))
{
text = SourceText.From(stream);
}
var syntaxTree = CSharpSyntaxTree.ParseText(text);
var node = syntaxTree.GetRoot();
var newNode = /* maybe mutate the tree */
if (node != newNode)
{
var newSyntaxTree = syntaxTree.WithRootAndOptions(newNode, syntaxTree.Options);
using (var writer = new StreamWriter(filePath, append: false, encoding: text.Encoding))
{
newSyntaxTree.GetText().Write(writer);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment