diff --git a/CHANGELOG.md b/CHANGELOG.md index 02d73c2ed..4624e1c47 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ Difftastic now requires Rust 1.56 to build. +### Parsing + +Fixed handling of `<` `>` delimiters in C++ and Rust. + ### Diffing Improved diff results when choosing between syntax nodes at different diff --git a/sample_files/compare.expected b/sample_files/compare.expected index 127717f3a..6cf416ba2 100644 --- a/sample_files/compare.expected +++ b/sample_files/compare.expected @@ -74,10 +74,10 @@ sample_files/simple_before.txt sample_files/simple_after.txt 4b653ebe89321835c35722dd065cf6a2 - sample_files/slider_before.rs sample_files/slider_after.rs -78de439db7fba270a0d515ee9b786d25 - +9b21c5790773eaba1a83e92fe2b9b5a8 - sample_files/slow_before.rs sample_files/slow_after.rs -367ef5db3827a8945b16cad2a8cfad47 - +07c6dda6ca91de93a0553f90060697d0 - sample_files/small_before.js sample_files/small_after.js ee97a525a74be6dd18e959395d02265b - diff --git a/src/tree_sitter_parser.rs b/src/tree_sitter_parser.rs index 39d20ae74..24114b7ab 100644 --- a/src/tree_sitter_parser.rs +++ b/src/tree_sitter_parser.rs @@ -122,7 +122,7 @@ pub fn from_language(language: guess::Language) -> TreeSitterConfig { atom_nodes: (vec!["string_literal", "char_literal"]) .into_iter() .collect(), - delimiter_tokens: (vec![("(", ")"), ("{", "}"), ("[", "]")]), + delimiter_tokens: (vec![("(", ")"), ("{", "}"), ("[", "]"), ("<", ">")]), highlight_query: ts::Query::new( language, concat!( @@ -379,7 +379,13 @@ pub fn from_language(language: guess::Language) -> TreeSitterConfig { atom_nodes: (vec!["char_literal", "string_literal"]) .into_iter() .collect(), - delimiter_tokens: (vec![("{", "}"), ("(", ")"), ("[", "]"), ("|", "|")]), + delimiter_tokens: (vec![ + ("{", "}"), + ("(", ")"), + ("[", "]"), + ("|", "|"), + ("<", ">"), + ]), highlight_query: ts::Query::new( language, include_str!("../vendor/highlights/rust.scm"),