diff --git a/src/parse/tree_sitter_parser.rs b/src/parse/tree_sitter_parser.rs index b5b60baed..7a1533b5e 100644 --- a/src/parse/tree_sitter_parser.rs +++ b/src/parse/tree_sitter_parser.rs @@ -113,7 +113,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_ada() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string_literal", "character_literal"] + atom_nodes: ["string_literal", "character_literal"] .into_iter() .collect(), delimiter_tokens: vec![("(", ")"), ("[", "]")], @@ -129,7 +129,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_apex() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec![ + atom_nodes: [ "string_literal", "null_literal", "boolean", @@ -155,7 +155,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string", "raw_string", "heredoc_body"] + atom_nodes: ["string", "raw_string", "heredoc_body"] .into_iter() .collect(), delimiter_tokens: vec![("(", ")"), ("{", "}"), ("[", "]")], @@ -169,7 +169,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = tree_sitter::Language::new(language_fn); TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string_literal", "char_literal"].into_iter().collect(), + atom_nodes: ["string_literal", "char_literal"].into_iter().collect(), delimiter_tokens: vec![("(", ")"), ("{", "}"), ("[", "]")], highlight_query: ts::Query::new(&language, tree_sitter_c::HIGHLIGHT_QUERY).unwrap(), sub_languages: vec![], @@ -186,7 +186,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { language: language.clone(), // The C++ grammar extends the C grammar, so the node // names are generally the same. - atom_nodes: vec!["string_literal", "char_literal"].into_iter().collect(), + atom_nodes: ["string_literal", "char_literal"].into_iter().collect(), delimiter_tokens: vec![("(", ")"), ("{", "}"), ("[", "]"), ("<", ">")], highlight_query: ts::Query::new(&language, &highlight_query).unwrap(), sub_languages: vec![], @@ -196,7 +196,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_clojure() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["kwd_lit", "regex_lit"].into_iter().collect(), + atom_nodes: ["kwd_lit", "regex_lit"].into_iter().collect(), delimiter_tokens: vec![("{", "}"), ("(", ")"), ("[", "]")] .into_iter() .collect(), @@ -212,7 +212,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_cmake() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["argument"].into_iter().collect(), + atom_nodes: ["argument"].into_iter().collect(), delimiter_tokens: vec![("(", ")")].into_iter().collect(), highlight_query: ts::Query::new( &language, @@ -226,7 +226,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_commonlisp() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["str_lit", "char_lit"].into_iter().collect(), + atom_nodes: ["str_lit", "char_lit"].into_iter().collect(), delimiter_tokens: vec![("(", ")")], highlight_query: ts::Query::new(&language, "").unwrap(), sub_languages: vec![], @@ -237,7 +237,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = tree_sitter::Language::new(language_fn); TreeSitterConfig { language: language.clone(), - atom_nodes: vec![ + atom_nodes: [ "string_literal", "verbatim_string_literal", "character_literal", @@ -260,7 +260,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { TreeSitterConfig { language: language.clone(), - atom_nodes: vec![ + atom_nodes: [ "integer_value", "float_value", "color_value", @@ -278,7 +278,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_dart() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string_literal", "script_tag"].into_iter().collect(), + atom_nodes: ["string_literal", "script_tag"].into_iter().collect(), delimiter_tokens: vec![("{", "}"), ("(", ")"), ("[", "]"), ("<", ">")], highlight_query: ts::Query::new( &language, @@ -292,7 +292,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_devicetree() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["byte_string_literal", "string_literal"] + atom_nodes: ["byte_string_literal", "string_literal"] .into_iter() .collect(), delimiter_tokens: vec![("<", ">"), ("{", "}"), ("(", ")")], @@ -308,7 +308,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_elisp() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec![].into_iter().collect(), + atom_nodes: [].into_iter().collect(), delimiter_tokens: vec![("{", "}"), ("(", ")"), ("[", "]")] .into_iter() .collect(), @@ -324,7 +324,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_elixir() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string", "heredoc"].into_iter().collect(), + atom_nodes: ["string", "heredoc"].into_iter().collect(), delimiter_tokens: vec![("(", ")"), ("{", "}"), ("do", "end")] .into_iter() .collect(), @@ -340,7 +340,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_elm() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string_constant_expr"].into_iter().collect(), + atom_nodes: ["string_constant_expr"].into_iter().collect(), delimiter_tokens: vec![("{", "}"), ("[", "]"), ("(", ")")], highlight_query: ts::Query::new( &language, @@ -412,7 +412,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["interpreted_string_literal", "raw_string_literal"] + atom_nodes: ["interpreted_string_literal", "raw_string_literal"] .into_iter() .collect(), delimiter_tokens: vec![("{", "}"), ("[", "]"), ("(", ")")] @@ -427,7 +427,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_hack() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["prefixed_string", "heredoc"].into_iter().collect(), + atom_nodes: ["prefixed_string", "heredoc"].into_iter().collect(), delimiter_tokens: vec![("[", "]"), ("(", ")"), ("<", ">"), ("{", "}")], highlight_query: ts::Query::new( &language, @@ -441,9 +441,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_hare() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string_constant", "rune_constant"] - .into_iter() - .collect(), + atom_nodes: ["string_constant", "rune_constant"].into_iter().collect(), delimiter_tokens: vec![("[", "]"), ("(", ")"), ("{", "}")], highlight_query: ts::Query::new( &language, @@ -458,7 +456,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = tree_sitter::Language::new(language_fn); TreeSitterConfig { language: language.clone(), - atom_nodes: vec![ + atom_nodes: [ "qualified_variable", // Work around https://github.com/tree-sitter/tree-sitter-haskell/issues/102 "qualified_module", @@ -478,7 +476,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_hcl() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string_lit", "heredoc_template"].into_iter().collect(), + atom_nodes: ["string_lit", "heredoc_template"].into_iter().collect(), delimiter_tokens: vec![ ("[", "]"), ("(", ")"), @@ -501,7 +499,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { TreeSitterConfig { language: language.clone(), - atom_nodes: vec![ + atom_nodes: [ "doctype", "quoted_attribute_value", "raw_text", @@ -533,7 +531,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_janet_simple() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec![].into_iter().collect(), + atom_nodes: [].into_iter().collect(), delimiter_tokens: vec![ ("@{", "}"), ("@(", ")"), @@ -557,7 +555,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = tree_sitter::Language::new(language_fn); TreeSitterConfig { language: language.clone(), - atom_nodes: vec![ + atom_nodes: [ "string_literal", // The Java parser has a subnode (boolean_type // ("bool")) for built-in types. This isn't a @@ -586,9 +584,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string", "template_string", "regex"] - .into_iter() - .collect(), + atom_nodes: ["string", "template_string", "regex"].into_iter().collect(), delimiter_tokens: vec![ ("[", "]"), ("(", ")"), @@ -609,7 +605,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string"].into_iter().collect(), + atom_nodes: ["string"].into_iter().collect(), delimiter_tokens: vec![("{", "}"), ("[", "]")], highlight_query: ts::Query::new(&language, tree_sitter_json::HIGHLIGHTS_QUERY) .unwrap(), @@ -622,7 +618,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { TreeSitterConfig { language: language.clone(), - atom_nodes: vec![ + atom_nodes: [ "string_literal", "prefixed_string_literal", "command_literal", @@ -647,7 +643,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { // structure of complex types within, but it beats // ignoring nullable changes. // https://github.com/Wilfred/difftastic/issues/411 - atom_nodes: vec!["line_string_literal", "character_literal", "nullable_type"] + atom_nodes: ["line_string_literal", "character_literal", "nullable_type"] .into_iter() .collect(), delimiter_tokens: vec![("(", ")"), ("{", "}"), ("[", "]"), ("<", ">")] @@ -665,7 +661,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_latex() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec![].into_iter().collect(), + atom_nodes: [].into_iter().collect(), delimiter_tokens: vec![("{", "}"), ("[", "]")], highlight_query: ts::Query::new( &language, @@ -681,7 +677,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string"].into_iter().collect(), + atom_nodes: ["string"].into_iter().collect(), delimiter_tokens: vec![("(", ")"), ("{", "}"), ("[", "]")] .into_iter() .collect(), @@ -696,7 +692,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["shell_text", "text"].into_iter().collect(), + atom_nodes: ["shell_text", "text"].into_iter().collect(), delimiter_tokens: vec![("(", ")")].into_iter().collect(), highlight_query: ts::Query::new(&language, tree_sitter_make::HIGHLIGHTS_QUERY) .unwrap(), @@ -711,7 +707,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_newick() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec![].into_iter().collect(), + atom_nodes: [].into_iter().collect(), delimiter_tokens: vec![("(", ")")], highlight_query: ts::Query::new( &language, @@ -725,7 +721,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_nix() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string_expression", "indented_string_expression"] + atom_nodes: ["string_expression", "indented_string_expression"] .into_iter() .collect(), delimiter_tokens: vec![("{", "}"), ("[", "]")].into_iter().collect(), @@ -742,7 +738,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = tree_sitter::Language::new(language_fn); TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string_literal"].into_iter().collect(), + atom_nodes: ["string_literal"].into_iter().collect(), delimiter_tokens: vec![ ("(", ")"), ("{", "}"), @@ -784,7 +780,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_pascal() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec![].into_iter().collect(), + atom_nodes: [].into_iter().collect(), delimiter_tokens: vec![("(", ")"), ("[", "]")], highlight_query: ts::Query::new( &language, @@ -798,7 +794,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_perl() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec![ + atom_nodes: [ "string_single_quoted", "string_double_quoted", "comments", @@ -825,7 +821,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string", "encapsed_string"].into_iter().collect(), + atom_nodes: ["string", "encapsed_string"].into_iter().collect(), delimiter_tokens: vec![("(", ")"), ("[", "]"), ("{", "}")], highlight_query: ts::Query::new(&language, tree_sitter_php::HIGHLIGHTS_QUERY) .unwrap(), @@ -837,7 +833,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = tree_sitter::Language::new(language_fn); TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string"].into_iter().collect(), + atom_nodes: ["string"].into_iter().collect(), delimiter_tokens: vec![("(", ")"), ("[", "]"), ("{", "}")], highlight_query: ts::Query::new(&language, tree_sitter_python::HIGHLIGHTS_QUERY) .unwrap(), @@ -853,9 +849,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string", "template_string", "regex"] - .into_iter() - .collect(), + atom_nodes: ["string", "template_string", "regex"].into_iter().collect(), delimiter_tokens: vec![("{", "}"), ("(", ")"), ("[", "]"), ("<", ">")], highlight_query: ts::Query::new(&language, &highlight_query).unwrap(), sub_languages: vec![], @@ -865,7 +859,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_r() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string", "special"].into_iter().collect(), + atom_nodes: ["string", "special"].into_iter().collect(), delimiter_tokens: vec![("{", "}"), ("(", ")"), ("[", "]")], highlight_query: ts::Query::new( &language, @@ -879,7 +873,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_racket() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string", "byte_string", "regex", "here_string"] + atom_nodes: ["string", "byte_string", "regex", "here_string"] .into_iter() .collect(), delimiter_tokens: vec![("{", "}"), ("(", ")"), ("[", "]")], @@ -896,9 +890,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = tree_sitter::Language::new(language_fn); TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string", "heredoc_body", "regex"] - .into_iter() - .collect(), + atom_nodes: ["string", "heredoc_body", "regex"].into_iter().collect(), delimiter_tokens: vec![ ("{", "}"), ("(", ")"), @@ -919,7 +911,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["char_literal", "string_literal"].into_iter().collect(), + atom_nodes: ["char_literal", "string_literal"].into_iter().collect(), delimiter_tokens: vec![("{", "}"), ("(", ")"), ("[", "]"), ("|", "|"), ("<", ">")], highlight_query: ts::Query::new(&language, tree_sitter_rust::HIGHLIGHTS_QUERY) .unwrap(), @@ -931,7 +923,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = tree_sitter::Language::new(language_fn); TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string", "template_string"].into_iter().collect(), + atom_nodes: ["string", "template_string"].into_iter().collect(), delimiter_tokens: vec![("{", "}"), ("(", ")"), ("[", "]")], highlight_query: ts::Query::new(&language, tree_sitter_scala::HIGHLIGHTS_QUERY) .unwrap(), @@ -942,7 +934,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_scheme() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string"].into_iter().collect(), + atom_nodes: ["string"].into_iter().collect(), delimiter_tokens: vec![("{", "}"), ("(", ")"), ("[", "]")], highlight_query: ts::Query::new( &language, @@ -956,7 +948,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_scss() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["integer_value", "float_value", "color_value"] + atom_nodes: ["integer_value", "float_value", "color_value"] .into_iter() .collect(), delimiter_tokens: vec![("{", "}"), ("(", ")")], @@ -972,7 +964,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_smali() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string"].into_iter().collect(), + atom_nodes: ["string"].into_iter().collect(), delimiter_tokens: Vec::new(), highlight_query: ts::Query::new( &language, @@ -986,7 +978,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_solidity() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string", "hex_string_literal", "unicode_string_literal"] + atom_nodes: ["string", "hex_string_literal", "unicode_string_literal"] .into_iter() .collect(), delimiter_tokens: vec![("[", "]"), ("(", ")"), ("{", "}")], @@ -1002,7 +994,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_sql() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string", "identifier"].into_iter().collect(), + atom_nodes: ["string", "identifier"].into_iter().collect(), delimiter_tokens: vec![("(", ")")], highlight_query: ts::Query::new( &language, @@ -1032,7 +1024,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string", "quoted_key"].into_iter().collect(), + atom_nodes: ["string", "quoted_key"].into_iter().collect(), delimiter_tokens: vec![("{", "}"), ("[", "]")], highlight_query: ts::Query::new(&language, tree_sitter_toml_ng::HIGHLIGHTS_QUERY) .unwrap(), @@ -1048,7 +1040,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string", "template_string"].into_iter().collect(), + atom_nodes: ["string", "template_string"].into_iter().collect(), delimiter_tokens: vec![("{", "}"), ("(", ")"), ("[", "]"), ("<", ">")], highlight_query: ts::Query::new(&language, &highlight_query).unwrap(), sub_languages: vec![], @@ -1063,7 +1055,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["string", "template_string", "regex", "predefined_type"] + atom_nodes: ["string", "template_string", "regex", "predefined_type"] .into_iter() .collect(), delimiter_tokens: vec![("{", "}"), ("(", ")"), ("[", "]"), ("<", ">")], @@ -1080,8 +1072,8 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { // XMLDecl is the header, but the parser // just treats it as a sequence of tokens rather than // e.g. string subexpressions, so flatten. - atom_nodes: vec!["AttValue", "XMLDecl"].into_iter().collect(), - delimiter_tokens: (vec![("<", ">")]), + atom_nodes: ["AttValue", "XMLDecl"].into_iter().collect(), + delimiter_tokens: vec![("<", ">")], highlight_query: ts::Query::new(&language, tree_sitter_xml::XML_HIGHLIGHT_QUERY) .unwrap(), sub_languages: vec![], @@ -1093,7 +1085,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { TreeSitterConfig { language: language.clone(), - atom_nodes: vec![ + atom_nodes: [ "string_scalar", "double_quote_scalar", "single_quote_scalar", @@ -1101,7 +1093,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { ] .into_iter() .collect(), - delimiter_tokens: (vec![("{", "}"), ("(", ")"), ("[", "]")]), + delimiter_tokens: vec![("{", "}"), ("(", ")"), ("[", "]")], highlight_query: ts::Query::new(&language, tree_sitter_yaml::HIGHLIGHTS_QUERY) .unwrap(), sub_languages: vec![], @@ -1111,7 +1103,7 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_vhdl() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec![].into_iter().collect(), + atom_nodes: [].into_iter().collect(), delimiter_tokens: vec![("(", ")")], highlight_query: ts::Query::new( &language, @@ -1125,10 +1117,10 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig { let language = unsafe { tree_sitter_zig() }; TreeSitterConfig { language: language.clone(), - atom_nodes: vec!["STRINGLITERALSINGLE", "BUILTINIDENTIFIER"] + atom_nodes: ["STRINGLITERALSINGLE", "BUILTINIDENTIFIER"] .into_iter() .collect(), - delimiter_tokens: (vec![("{", "}"), ("[", "]"), ("(", ")")]) + delimiter_tokens: vec![("{", "}"), ("[", "]"), ("(", ")")] .into_iter() .collect(), highlight_query: ts::Query::new(