Improve Java highlighting

pull/594/head
Wilfred Hughes 2023-07-27 08:33:38 +07:00
parent b2c8cb640f
commit 797af40ae8
3 changed files with 22 additions and 2 deletions

@ -1,5 +1,9 @@
## 0.50 (unreleased)
### Display
Improved syntax hightling for Java built-in types.
## 0.49 (release 26th July 2023)
### Parsing

@ -95,7 +95,7 @@ sample_files/janet_before.janet sample_files/janet_after.janet
70d4add9e053b8a4355e470de52654e9 -
sample_files/java_before.java sample_files/java_after.java
96fabae990d201558531d24b777ca8f5 -
8e3b1527415d8ed3ec71d69b30a86f0b -
sample_files/javascript_before.js sample_files/javascript_after.js
d738cb26e3f5086c9aa36df22c6d9a74 -

@ -526,7 +526,23 @@ pub fn from_language(language: guess::Language) -> TreeSitterConfig {
let language = unsafe { tree_sitter_java() };
TreeSitterConfig {
language,
atom_nodes: vec!["string_literal"].into_iter().collect(),
atom_nodes: vec![
"string_literal",
// The Java parser has a subnode (boolean_type
// ("bool")) for built-in types. This isn't a
// problem for diffing, but the syntax
// highlighting only applies to the parent node, so flatten.
//
// TODO: our syntax highlighting logic should
// consider parent tree-sitter nodes when applying
// the highlights.scm.
"boolean_type",
"integral_type",
"floating_point_type",
"void_type",
]
.into_iter()
.collect(),
delimiter_tokens: vec![("(", ")"), ("{", "}"), ("[", "]")],
highlight_query: ts::Query::new(
language,