Add more built-in languages: C++, TypeScript
parent
2cc38dba2c
commit
5f47ca5aa9
|
@ -5,7 +5,10 @@ edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["built-in"]
|
default = ["built-in"]
|
||||||
built-in = ["tree-sitter-rust", "tree-sitter-javascript", "tree-sitter-regex", "tree-sitter-python"]
|
built-in = [
|
||||||
|
"tree-sitter-rust", "tree-sitter-javascript", "tree-sitter-regex",
|
||||||
|
"tree-sitter-python", "tree-sitter-cpp", "tree-sitter-typescript",
|
||||||
|
]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
html-escape = "0.2.11"
|
html-escape = "0.2.11"
|
||||||
|
@ -18,3 +21,5 @@ tree-sitter-rust = { version = "0.20.1", optional = true }
|
||||||
tree-sitter-javascript = { version = "0.20.0", 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-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-python = { version = "0.19.1", optional = true }
|
||||||
|
tree-sitter-cpp = { version = "0.20.0", optional = true }
|
||||||
|
tree-sitter-typescript = { version = "0.20.1", optional = true }
|
||||||
|
|
|
@ -33,8 +33,15 @@ pub fn register_builtin_languages() {
|
||||||
|
|
||||||
register_language("regex", regex_hl_factory);
|
register_language("regex", regex_hl_factory);
|
||||||
|
|
||||||
register_language("python", tree_sitter_python);
|
register_language("python", regex_hl_python);
|
||||||
register_language("py", tree_sitter_python);
|
register_language("py", regex_hl_python);
|
||||||
|
|
||||||
|
register_language("cpp", regex_hl_cpp);
|
||||||
|
register_language("c++", regex_hl_cpp);
|
||||||
|
|
||||||
|
register_language("typescript", regex_hl_typescript);
|
||||||
|
register_language("ts", regex_hl_typescript);
|
||||||
|
register_language("tsx", regex_hl_tsx);
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn rust_hl_factory() -> Result<HighlightConfiguration, QueryError> {
|
pub fn rust_hl_factory() -> Result<HighlightConfiguration, QueryError> {
|
||||||
|
@ -73,7 +80,7 @@ pub fn regex_hl_factory() -> Result<HighlightConfiguration, QueryError> {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn tree_sitter_python() -> Result<HighlightConfiguration, QueryError> {
|
pub fn regex_hl_python() -> Result<HighlightConfiguration, QueryError> {
|
||||||
HighlightConfiguration::new(
|
HighlightConfiguration::new(
|
||||||
tree_sitter_python::language(),
|
tree_sitter_python::language(),
|
||||||
tree_sitter_python::HIGHLIGHT_QUERY,
|
tree_sitter_python::HIGHLIGHT_QUERY,
|
||||||
|
@ -81,3 +88,30 @@ pub fn tree_sitter_python() -> Result<HighlightConfiguration, QueryError> {
|
||||||
"",
|
"",
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn regex_hl_cpp() -> Result<HighlightConfiguration, QueryError> {
|
||||||
|
HighlightConfiguration::new(
|
||||||
|
tree_sitter_cpp::language(),
|
||||||
|
tree_sitter_cpp::HIGHLIGHT_QUERY,
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn regex_hl_typescript() -> Result<HighlightConfiguration, QueryError> {
|
||||||
|
HighlightConfiguration::new(
|
||||||
|
tree_sitter_typescript::language_typescript(),
|
||||||
|
tree_sitter_typescript::HIGHLIGHT_QUERY,
|
||||||
|
"",
|
||||||
|
tree_sitter_typescript::LOCALS_QUERY,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn regex_hl_tsx() -> Result<HighlightConfiguration, QueryError> {
|
||||||
|
HighlightConfiguration::new(
|
||||||
|
tree_sitter_typescript::language_tsx(),
|
||||||
|
tree_sitter_typescript::HIGHLIGHT_QUERY,
|
||||||
|
"",
|
||||||
|
tree_sitter_typescript::LOCALS_QUERY,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue