4 ms·
Yeah, so it's basically a lexer with an extremely simplistic parser. Compiler parsers aren't a great fit for difftastic. They discard comments, they may not gi
by Wilfred 5y ago
Yeah, so it's basically a lexer with an extremely simplistic parser.
Compiler parsers aren't a great fit for difftastic. They discard comments, they may not give you output if there are syntax errors, and they're usually tied to a specific language version.
Since this format works well for Comby (Rijnard's talk is excellent: https://www.youtube.com/watch?v=JMZLBB_BFNg https://www.youtube.com/watch?v=JMZLBB_BFNg ) I'm hopeful it's an adequate solution for Difftastic.
It will also users to add their own custom syntax/config formats.
That said, using tree-sitter might be an option. It's more forgiving than compiler parsers.
- zhengyi13 5y agoFWIW, as soon as I saw this project, I wondered specifically about Treesitter's applicability to this problem, and I found https://github.com/afnanenayet/diffsitter https://github.com/afnanenayet/diffsitter. Maybe there's something to be learned there?
- affyboi 5y agoAuthor of diffsitter here I think some of the issues are alleviated because tree sitter was made with text editors in mind, so you're not really getting a compiler parser as editors still care about comments and whatnot. It's also fast, which was a big motivation to use it.