Add support for Elixir

ida_star
Wilfred Hughes 2021-09-06 15:09:44 +07:00
parent 5e82a3e409
commit 2ac459918a
4 changed files with 14 additions and 1 deletions

@ -2,7 +2,7 @@
### Parsing
Added TypeScript parser and TSX parser.
Added TypeScript parser and TSX parser. Added Elixir parser.
The following extensions are now associated with Clojure: `.bb`,
`.boot`, `.clj`, `.cljc`, `.clje`, `.cljs`, `.cljx`, `.edn`, `.joke`

@ -42,6 +42,11 @@ fn main() {
&["scanner.c"],
);
build("tree-sitter-elisp", "vendor/tree-sitter-elisp-src", &[]);
build(
"tree-sitter-elixir",
"vendor/tree-sitter-elixir-src",
&["scanner.cc"],
);
build("tree-sitter-go", "vendor/tree-sitter-go-src", &[]);
build("tree-sitter-java", "vendor/tree-sitter-java-src", &[]);
build(

@ -26,6 +26,7 @@ extern "C" {
fn tree_sitter_clojure() -> Language;
fn tree_sitter_css() -> Language;
fn tree_sitter_elisp() -> Language;
fn tree_sitter_elixir() -> Language;
fn tree_sitter_go() -> Language;
fn tree_sitter_java() -> Language;
fn tree_sitter_javascript() -> Language;
@ -62,6 +63,12 @@ pub fn from_extension(extension: &OsStr) -> Option<TreeSitterConfig> {
atom_nodes: (vec![]).into_iter().collect(),
open_delimiter_tokens: (vec!["{", "(", "["]).into_iter().collect(),
}),
"ex" | "exs" => Some(TreeSitterConfig {
name: "Elixir",
language: unsafe { tree_sitter_elixir() },
atom_nodes: (vec!["string", "heredoc"]).into_iter().collect(),
open_delimiter_tokens: (vec!["(", "{", "do"]).into_iter().collect(),
}),
"go" => Some(TreeSitterConfig {
name: "Go",
language: unsafe { tree_sitter_go() },

@ -0,0 +1 @@
tree-sitter-elixir/src