Fix TypeScript and C++ highlighting by including sublanguage queries
parent
e3d680a813
commit
a01275f310
|
@ -7,7 +7,8 @@ edition = "2021"
|
|||
default = ["built-in"]
|
||||
built-in = [
|
||||
"tree-sitter-rust", "tree-sitter-javascript", "tree-sitter-regex",
|
||||
"tree-sitter-python", "tree-sitter-cpp", "tree-sitter-typescript",
|
||||
"tree-sitter-python", "tree-sitter-c", "tree-sitter-cpp",
|
||||
"tree-sitter-typescript",
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
|
@ -21,5 +22,6 @@ tree-sitter-rust = { version = "0.20.1", optional = true }
|
|||
tree-sitter-javascript = { version = "0.20.0", optional = true }
|
||||
tree-sitter-regex = { git = "https://github.com/tree-sitter/tree-sitter-regex.git", rev = "e1cfca", optional = true }
|
||||
tree-sitter-python = { version = "0.19.1", optional = true }
|
||||
tree-sitter-c = { version = "0.20.1", optional = true }
|
||||
tree-sitter-cpp = { version = "0.20.0", optional = true }
|
||||
tree-sitter-typescript = { version = "0.20.1", optional = true }
|
||||
|
|
|
@ -50,6 +50,8 @@ pub fn register_builtin_languages() {
|
|||
register_language("python", python_hl_factory);
|
||||
register_language("py", python_hl_factory);
|
||||
|
||||
register_language("c", c_hl_factory);
|
||||
|
||||
register_language("cpp", cpp_hl_factory);
|
||||
register_language("c++", cpp_hl_factory);
|
||||
|
||||
|
@ -103,10 +105,23 @@ pub fn python_hl_factory() -> Result<HighlightConfiguration, QueryError> {
|
|||
)
|
||||
}
|
||||
|
||||
pub fn c_hl_factory() -> Result<HighlightConfiguration, QueryError> {
|
||||
HighlightConfiguration::new(
|
||||
tree_sitter_c::language(),
|
||||
tree_sitter_c::HIGHLIGHT_QUERY,
|
||||
"",
|
||||
"",
|
||||
)
|
||||
}
|
||||
|
||||
pub fn cpp_hl_factory() -> Result<HighlightConfiguration, QueryError> {
|
||||
HighlightConfiguration::new(
|
||||
tree_sitter_cpp::language(),
|
||||
tree_sitter_cpp::HIGHLIGHT_QUERY,
|
||||
&format!(
|
||||
"{}{}",
|
||||
tree_sitter_c::HIGHLIGHT_QUERY,
|
||||
tree_sitter_cpp::HIGHLIGHT_QUERY
|
||||
),
|
||||
"",
|
||||
"",
|
||||
)
|
||||
|
@ -115,17 +130,33 @@ pub fn cpp_hl_factory() -> Result<HighlightConfiguration, QueryError> {
|
|||
pub fn typescript_hl_factory() -> Result<HighlightConfiguration, QueryError> {
|
||||
HighlightConfiguration::new(
|
||||
tree_sitter_typescript::language_typescript(),
|
||||
tree_sitter_typescript::HIGHLIGHT_QUERY,
|
||||
"",
|
||||
tree_sitter_typescript::LOCALS_QUERY,
|
||||
&format!(
|
||||
"{}{}",
|
||||
tree_sitter_typescript::HIGHLIGHT_QUERY,
|
||||
tree_sitter_javascript::HIGHLIGHT_QUERY
|
||||
),
|
||||
tree_sitter_javascript::INJECTION_QUERY,
|
||||
&format!(
|
||||
"{}{}",
|
||||
tree_sitter_javascript::LOCALS_QUERY,
|
||||
tree_sitter_typescript::LOCALS_QUERY
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
pub fn tsx_hl_factory() -> Result<HighlightConfiguration, QueryError> {
|
||||
HighlightConfiguration::new(
|
||||
tree_sitter_typescript::language_tsx(),
|
||||
tree_sitter_typescript::HIGHLIGHT_QUERY,
|
||||
"",
|
||||
tree_sitter_typescript::LOCALS_QUERY,
|
||||
&format!(
|
||||
"{}{}",
|
||||
tree_sitter_typescript::HIGHLIGHT_QUERY,
|
||||
tree_sitter_javascript::HIGHLIGHT_QUERY
|
||||
),
|
||||
tree_sitter_javascript::INJECTION_QUERY,
|
||||
&format!(
|
||||
"{}{}",
|
||||
tree_sitter_javascript::LOCALS_QUERY,
|
||||
tree_sitter_typescript::LOCALS_QUERY
|
||||
),
|
||||
)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue