Configure typescript parser

ida_star
Wilfred Hughes 2021-09-05 19:26:44 +07:00
parent 008f55203e
commit 6d98fd86ab
5 changed files with 16 additions and 0 deletions

@ -2,6 +2,8 @@
### Parsing
Added TypeScript parser.
Fixed an issue with parsing integer values in CSS with units,
e.g. `123px`.

@ -23,6 +23,7 @@ Difftastic supports the following languages:
* OCaml
* Python
* Rust
* TypeScript
If a file has an unrecognised extension, difftastic uses a
line-oriented diff.

@ -70,4 +70,9 @@ fn main() {
"vendor/tree-sitter-rust-src",
&["scanner.c"],
);
build(
"tree-sitter-typescript",
"vendor/tree-sitter-typescript-src/typescript",
&["scanner.c"],
);
}

@ -34,6 +34,7 @@ extern "C" {
fn tree_sitter_ocaml_interface() -> Language;
fn tree_sitter_python() -> Language;
fn tree_sitter_rust() -> Language;
fn tree_sitter_typescript() -> Language;
}
pub fn from_extension(extension: &OsStr) -> Option<TreeSitterConfig> {
@ -117,6 +118,12 @@ pub fn from_extension(extension: &OsStr) -> Option<TreeSitterConfig> {
.collect(),
open_delimiter_tokens: (vec!["{", "("]).into_iter().collect(),
}),
"ts" => Some(TreeSitterConfig {
name: "TypeScript",
language: unsafe { tree_sitter_typescript() },
atom_nodes: (vec!["string", "template_string"]).into_iter().collect(),
open_delimiter_tokens: (vec!["{", "(", "[", "<"]).into_iter().collect(),
}),
_ => None,
}
}

@ -0,0 +1 @@
../tree-sitter-typescript/typescript/src