{"push_id":650077468,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"cc41f9e64b35dd926e7d24d51af007a3b890339c","before":"7356d3019c36a45c15cf46264b62cb8172b32156","commits":[{"sha":"d97faabf29938aa2b02e13260198354f32586c7f","author":{"email":"43f65236355b73a20444e4e98dbe799bb5631178@microsoft.com","name":"Ravi Chande"},"message":"Use IEditorFormattingService to format on commit\n\nPreviously, if the user committed completion with semicolon (or another\nauto-format triggering character), the completion commit code would run,\nfollowed by the autoformat code. Both features run in places where\nmultiple edits happen sequentially, so they use\nAutomaticCodeChangeMergePolicy when creating undo transactions. However,\nthis meant that commit followed by format-on-typechar would only produce\none undo transaction.\n\nTo avoid this, when committing, completion queries the relevant\nIEditorFormattingService to determine if the commit character should\nresult in formatting, and then uses IEditorFormattingService to format\nwithin a separate undo transaction with the default merge policy (the\ncommand handler for format-on-typechar does essentially the same thing).\n\nThis results in two items in the undo stack: one for committing\ncompletion, and one for the format. When the normal formatting command\nhandler runs, the formatter doesn't produce any changes, so it does\nnothing.","distinct":true,"url":"https://api.github.com/repos/dotnet/roslyn/commits/d97faabf29938aa2b02e13260198354f32586c7f"},{"sha":"cc41f9e64b35dd926e7d24d51af007a3b890339c","author":{"email":"43f65236355b73a20444e4e98dbe799bb5631178@microsoft.com","name":"Ravi Chande"},"message":"Merge pull request #2372 from rchande/CompletionCommitFormatter\n\nUse IEditorFormattingService to format on commit","distinct":true,"url":"https://api.github.com/repos/dotnet/roslyn/commits/cc41f9e64b35dd926e7d24d51af007a3b890339c"}]}