Add janet support

pull/190/head
sogaiu 2022-03-29 10:22:14 +07:00
parent 4b397024cb
commit 5ecc0fbde5
5 changed files with 28 additions and 0 deletions

@ -114,6 +114,11 @@ fn main() {
src_dir: "vendor/tree-sitter-haskell-src",
extra_files: vec!["scanner.cc"],
},
TreeSitterParser {
name: "tree-sitter-janet-simple",
src_dir: "vendor/tree-sitter-janet-simple-src",
extra_files: vec!["scanner.c"],
},
TreeSitterParser {
name: "tree-sitter-java",
src_dir: "vendor/tree-sitter-java-src",

@ -30,6 +30,7 @@ pub enum Language {
EmacsLisp,
Go,
Haskell,
JanetSimple,
Java,
JavaScript,
Json,
@ -94,6 +95,7 @@ fn from_emacs_mode_header(src: &str) -> Option<Language> {
"emacs-lisp" => Some(EmacsLisp),
"go" => Some(Go),
"haskell" => Some(Haskell),
"janet" => Some(JanetSimple),
"java" => Some(Java),
"js" | "js2" => Some(JavaScript),
"lisp" => Some(CommonLisp),
@ -188,6 +190,7 @@ fn from_extension(extension: &OsStr, src: &str) -> Option<Language> {
"ex" | "exs" => Some(Elixir),
"go" => Some(Go),
"hs" => Some(Haskell),
"janet" | "jdn" => Some(JanetSimple),
"java" => Some(Java),
"cjs" | "js" | "mjs" => Some(JavaScript),
"jsx" => Some(Jsx),

@ -55,6 +55,7 @@ extern "C" {
fn tree_sitter_elixir() -> ts::Language;
fn tree_sitter_go() -> ts::Language;
fn tree_sitter_haskell() -> ts::Language;
fn tree_sitter_janet_simple() -> ts::Language;
fn tree_sitter_java() -> ts::Language;
fn tree_sitter_javascript() -> ts::Language;
fn tree_sitter_json() -> ts::Language;
@ -273,6 +274,23 @@ pub fn from_language(language: guess::Language) -> TreeSitterConfig {
.unwrap(),
}
}
JanetSimple => {
let language = unsafe { tree_sitter_janet_simple() };
TreeSitterConfig {
name: "Janet Simple",
language,
atom_nodes: (vec![]).into_iter().collect(),
delimiter_tokens: (vec![("@{", "}"), ("@(", ")"), ("@[", "]"),
("{", "}"), ("(", ")"), ("[", "]")])
.into_iter()
.collect(),
highlight_query: ts::Query::new(
language,
include_str!("../vendor/highlights/janet_simple.scm"),
)
.unwrap(),
}
}
Java => {
let language = unsafe { tree_sitter_java() };
TreeSitterConfig {

@ -0,0 +1 @@
../tree-sitter-janet-simple/queries/highlights.scm

@ -0,0 +1 @@
tree-sitter-janet-simple/src