|
|
|
|
@ -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 <?xml ...?> 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(
|
|
|
|
|
|