From 48b003eca6a75fd34b7b04af5016a9c2cfb74a5f Mon Sep 17 00:00:00 2001 From: Wilfred Hughes Date: Mon, 16 Aug 2021 22:26:18 -0700 Subject: [PATCH] Hook up tree-sitter-clojure --- build.rs | 5 +++++ src/sitter.rs | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/build.rs b/build.rs index 649d3b455..45d667742 100644 --- a/build.rs +++ b/build.rs @@ -32,6 +32,11 @@ fn build(package_name: &str, package_dir: &str, extra_files: &[&str]) { } fn main() { + build( + "tree-sitter-clojure", + "vendor/tree-sitter-clojure/src", + &[] + ); build( "tree-sitter-css", "vendor/tree-sitter-css/src", diff --git a/src/sitter.rs b/src/sitter.rs index 31dfc1935..aa6235931 100644 --- a/src/sitter.rs +++ b/src/sitter.rs @@ -6,6 +6,7 @@ use typed_arena::Arena; use crate::{lines::NewlinePositions, syntax::Syntax}; extern "C" { + fn tree_sitter_clojure() -> Language; fn tree_sitter_css() -> Language; fn tree_sitter_elisp() -> Language; fn tree_sitter_go() -> Language; @@ -19,6 +20,7 @@ extern "C" { pub fn supported(extension: &OsStr) -> bool { extension == "rs" || extension == "go" + || extension == "clj" || extension == "css" || extension == "el" || extension == "js" @@ -38,6 +40,8 @@ pub fn parse<'a>( unsafe { tree_sitter_rust() } } else if extension == "go" { unsafe { tree_sitter_go() } + } else if extension == "clj" { + unsafe { tree_sitter_clojure() } } else if extension == "css" { unsafe { tree_sitter_css() } } else if extension == "el" {