From 6ff9ba9d1614b984ebe00a1160400ad622e3adc1 Mon Sep 17 00:00:00 2001 From: Himadri Bhattacharjee <107522312+lavafroth@users.noreply.github.com> Date: Wed, 13 Aug 2025 19:31:26 +0530 Subject: [PATCH] feat: add javascript and cpp language support --- Cargo.lock | 22 ++++++++++++++++++++++ Cargo.toml | 4 +++- src/state.rs | 4 +++- 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 37be74b..13642db 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2510,7 +2510,9 @@ dependencies = [ "tracing-subscriber", "tree-sitter", "tree-sitter-c", + "tree-sitter-cpp", "tree-sitter-go", + "tree-sitter-javascript", "tree-sitter-rust", ] @@ -3021,6 +3023,16 @@ dependencies = [ "tree-sitter-language", ] +[[package]] +name = "tree-sitter-cpp" +version = "0.23.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df2196ea9d47b4ab4a31b9297eaa5a5d19a0b121dceb9f118f6790ad0ab94743" +dependencies = [ + "cc", + "tree-sitter-language", +] + [[package]] name = "tree-sitter-go" version = "0.23.4" @@ -3031,6 +3043,16 @@ dependencies = [ "tree-sitter-language", ] +[[package]] +name = "tree-sitter-javascript" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf40bf599e0416c16c125c3cec10ee5ddc7d1bb8b0c60fa5c4de249ad34dc1b1" +dependencies = [ + "cc", + "tree-sitter-language", +] + [[package]] name = "tree-sitter-language" version = "0.1.5" diff --git a/Cargo.toml b/Cargo.toml index b996c0c..47d0419 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "silos" -version = "5.2.1" +version = "5.2.2" edition = "2024" [dependencies] @@ -23,3 +23,5 @@ tree-sitter-go = "0.23.4" tree-sitter-rust = "0.24.0" tokio = { version = "1.45.1", features = ["io-std", "macros", "rt", "rt-multi-thread"] } tower-lsp = "0.20.0" +tree-sitter-javascript = "0.23.1" +tree-sitter-cpp = "0.23.4" diff --git a/src/state.rs b/src/state.rs index fb7672f..b3d389e 100644 --- a/src/state.rs +++ b/src/state.rs @@ -25,7 +25,9 @@ impl Refactor { fn get_lang(s: &str) -> Result { Ok(match s { "go" => tree_sitter_go::LANGUAGE, - "c" => tree_sitter_c::LANGUAGE, + "c" | "h" => tree_sitter_c::LANGUAGE, + "cpp" | "hpp" => tree_sitter_cpp::LANGUAGE, + "js" | "ts" => tree_sitter_javascript::LANGUAGE, "rs" => tree_sitter_rust::LANGUAGE, _ => return Err(Error::UnknownLang), }