diff --git a/Cargo.lock b/Cargo.lock index 57cfd2f..1c4821e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1566,7 +1566,7 @@ dependencies = [ [[package]] name = "lsp-ai" -version = "0.3.0" +version = "0.4.0" dependencies = [ "anyhow", "assert_cmd", diff --git a/crates/splitter-tree-sitter/Cargo.toml b/crates/splitter-tree-sitter/Cargo.toml index 2502006..eb83827 100644 --- a/crates/splitter-tree-sitter/Cargo.toml +++ b/crates/splitter-tree-sitter/Cargo.toml @@ -16,4 +16,4 @@ tree-sitter-rust = "0.21" tree-sitter-zig = { git = "https://github.com/maxxnino/tree-sitter-zig" } [build-dependencies] -cc="*" +cc="1" diff --git a/crates/utils-tree-sitter/Cargo.toml b/crates/utils-tree-sitter/Cargo.toml index 22ebc26..1225fbf 100644 --- a/crates/utils-tree-sitter/Cargo.toml +++ b/crates/utils-tree-sitter/Cargo.toml @@ -30,8 +30,26 @@ tree-sitter-rust = { version = "0.21", optional = true } # tree-sitter-zig = { git = "https://github.com/maxxnino/tree-sitter-zig", optional = true } [build-dependencies] -cc="*" +cc="1" [features] default = [] -all = ["dep:tree-sitter-python", "dep:tree-sitter-bash", "dep:tree-sitter-c", "dep:tree-sitter-cpp", "dep:tree-sitter-c-sharp", "dep:tree-sitter-css", "dep:tree-sitter-elixir", "dep:tree-sitter-erlang", "dep:tree-sitter-go", "dep:tree-sitter-html", "dep:tree-sitter-java", "dep:tree-sitter-javascript", "dep:tree-sitter-json", "dep:tree-sitter-rust", "dep:tree-sitter-haskell", "dep:tree-sitter-lua", "dep:tree-sitter-ocaml"] +all = ["python", "bash", "c", "cpp", "csharp", "css", "elixir", "erlang", "go", "html", "java", "javascript", "json", "rust", "haskell", "lua", "ocaml"] + +python = ["dep:tree-sitter-python"] +bash = ["dep:tree-sitter-bash"] +c = ["dep:tree-sitter-c"] +cpp = ["dep:tree-sitter-cpp"] +csharp = ["dep:tree-sitter-c-sharp"] +css = ["dep:tree-sitter-css"] +elixir = ["dep:tree-sitter-elixir"] +erlang = ["dep:tree-sitter-erlang"] +go = ["dep:tree-sitter-go"] +html = ["dep:tree-sitter-html"] +java = ["dep:tree-sitter-java"] +javascript = ["dep:tree-sitter-javascript"] +json = ["dep:tree-sitter-json"] +rust = ["dep:tree-sitter-rust"] +haskell = ["dep:tree-sitter-haskell"] +lua = ["dep:tree-sitter-lua"] +ocaml = ["dep:tree-sitter-ocaml"] diff --git a/crates/utils-tree-sitter/lsp-ai-chat.md b/crates/utils-tree-sitter/lsp-ai-chat.md new file mode 100644 index 0000000..ec49d03 --- /dev/null +++ b/crates/utils-tree-sitter/lsp-ai-chat.md @@ -0,0 +1,39 @@ +!C I currently have the following in my Cargo.toml + +[features] +default = [] +all = ["dep:tree-sitter-python", "dep:tree-sitter-bash", "dep:tree-sitter-c", "dep:tree-sitter-cpp", "dep:tree-sitter-c-sharp", "dep:tree-sitter-css", "dep:tree-sitter-elixir", "dep:tree-sitter-erlang", "dep:tree-sitter-go", "dep:tree-sitter-html", "dep:tree-sitter-java", "dep:tree-sitter-javascript", "dep:tree-sitter-json", "dep:tree-sitter-rust", "dep:tree-sitter-haskell", "dep:tree-sitter-lua", "dep:tree-sitter-ocaml"] + +Update the features to include a feature for each language that activates its relevant dependency + + +<|assistant|> +Here's how you can update your `Cargo.toml` to include a feature for each language that activates its relevant dependency: + +```toml +[features] +default = [] +all = ["python", "bash", "c", "cpp", "csharp", "css", "elixir", "erlang", "go", "html", "java", "javascript", "json", "rust", "haskell", "lua", "ocaml"] + +python = ["dep:tree-sitter-python"] +bash = ["dep:tree-sitter-bash"] +c = ["dep:tree-sitter-c"] +cpp = ["dep:tree-sitter-cpp"] +csharp = ["dep:tree-sitter-c-sharp"] +css = ["dep:tree-sitter-css"] +elixir = ["dep:tree-sitter-elixir"] +erlang = ["dep:tree-sitter-erlang"] +go = ["dep:tree-sitter-go"] +html = ["dep:tree-sitter-html"] +java = ["dep:tree-sitter-java"] +javascript = ["dep:tree-sitter-javascript"] +json = ["dep:tree-sitter-json"] +rust = ["dep:tree-sitter-rust"] +haskell = ["dep:tree-sitter-haskell"] +lua = ["dep:tree-sitter-lua"] +ocaml = ["dep:tree-sitter-ocaml"] +``` + +This setup allows you to enable individual language support or use the `all` feature to enable all languages at once. + +<|user|> diff --git a/crates/utils-tree-sitter/src/lib.rs b/crates/utils-tree-sitter/src/lib.rs index 7facd50..e103d13 100644 --- a/crates/utils-tree-sitter/src/lib.rs +++ b/crates/utils-tree-sitter/src/lib.rs @@ -56,7 +56,7 @@ pub fn get_parser_for_extension(extension: &str) -> Result parser.set_language(&tree_sitter_c::language())?, #[cfg(any(feature = "all", feature = "cpp"))] "C++" => parser.set_language(&tree_sitter_cpp::language())?, - #[cfg(any(feature = "all", feature = "c-sharp"))] + #[cfg(any(feature = "all", feature = "csharp"))] "C#" => parser.set_language(&tree_sitter_c_sharp::language())?, #[cfg(any(feature = "all", feature = "css"))] "CSS" => parser.set_language(&tree_sitter_css::language())?,