Context-aware merge?
Is there any diff/merge tool for programming languages, that works in a syntax-aware way (like XML Diff Tool), doing more than compare line-by-line (and optionally ignoring whitespace). I'm interested in a program actually following the language syntax and delimeters, suggesting changes without breaking syntactic correctness, or bundling statements separated over multiple lines. Example behavior would be: *upon finding an if(){ which introduces an extra nesting level automatically bundle the closing brace } several lines below with it.) *keep matching syntax elements together, avoid silliness