add cmake, dockerfile, php, toml and yaml tree-sitter support
This commit is contained in:
parent
25b4794d3e
commit
880a729f48
51
Cargo.lock
generated
51
Cargo.lock
generated
|
@ -1003,7 +1003,9 @@ dependencies = [
|
||||||
"tree-sitter-bash",
|
"tree-sitter-bash",
|
||||||
"tree-sitter-c",
|
"tree-sitter-c",
|
||||||
"tree-sitter-c-sharp",
|
"tree-sitter-c-sharp",
|
||||||
|
"tree-sitter-cmake",
|
||||||
"tree-sitter-cpp",
|
"tree-sitter-cpp",
|
||||||
|
"tree-sitter-dockerfile",
|
||||||
"tree-sitter-elixir",
|
"tree-sitter-elixir",
|
||||||
"tree-sitter-erlang",
|
"tree-sitter-erlang",
|
||||||
"tree-sitter-go",
|
"tree-sitter-go",
|
||||||
|
@ -1013,13 +1015,16 @@ dependencies = [
|
||||||
"tree-sitter-json",
|
"tree-sitter-json",
|
||||||
"tree-sitter-lua",
|
"tree-sitter-lua",
|
||||||
"tree-sitter-md",
|
"tree-sitter-md",
|
||||||
|
"tree-sitter-php",
|
||||||
"tree-sitter-python",
|
"tree-sitter-python",
|
||||||
"tree-sitter-r",
|
"tree-sitter-r",
|
||||||
"tree-sitter-ruby",
|
"tree-sitter-ruby",
|
||||||
"tree-sitter-rust",
|
"tree-sitter-rust",
|
||||||
"tree-sitter-scala",
|
"tree-sitter-scala",
|
||||||
"tree-sitter-swift",
|
"tree-sitter-swift",
|
||||||
|
"tree-sitter-toml",
|
||||||
"tree-sitter-typescript",
|
"tree-sitter-typescript",
|
||||||
|
"tree-sitter-yaml",
|
||||||
"uuid",
|
"uuid",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -2379,6 +2384,15 @@ dependencies = [
|
||||||
"tree-sitter-language",
|
"tree-sitter-language",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tree-sitter-cmake"
|
||||||
|
version = "0.5.0"
|
||||||
|
source = "git+https://code.blarg.ca/gered/tree-sitter-cmake.git?branch=tree-sitter-language#2a50b3b0ce318f11489dc8ec95ef165a84a262bf"
|
||||||
|
dependencies = [
|
||||||
|
"cc",
|
||||||
|
"tree-sitter-language",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tree-sitter-cpp"
|
name = "tree-sitter-cpp"
|
||||||
version = "0.23.1"
|
version = "0.23.1"
|
||||||
|
@ -2389,6 +2403,15 @@ dependencies = [
|
||||||
"tree-sitter-language",
|
"tree-sitter-language",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tree-sitter-dockerfile"
|
||||||
|
version = "0.2.0"
|
||||||
|
source = "git+https://code.blarg.ca/gered/tree-sitter-dockerfile.git?branch=tree-sitter-language#ca73f2e024e2d6d92ddd785f7275ab2c6b6666eb"
|
||||||
|
dependencies = [
|
||||||
|
"cc",
|
||||||
|
"tree-sitter-language",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tree-sitter-elixir"
|
name = "tree-sitter-elixir"
|
||||||
version = "0.3.1"
|
version = "0.3.1"
|
||||||
|
@ -2485,6 +2508,16 @@ dependencies = [
|
||||||
"tree-sitter-language",
|
"tree-sitter-language",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tree-sitter-php"
|
||||||
|
version = "0.23.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8c9e1c3e04e8aca119bebc6d26ea06b961e91c57c54d389531a62db2e8c79036"
|
||||||
|
dependencies = [
|
||||||
|
"cc",
|
||||||
|
"tree-sitter-language",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tree-sitter-python"
|
name = "tree-sitter-python"
|
||||||
version = "0.23.2"
|
version = "0.23.2"
|
||||||
|
@ -2545,6 +2578,15 @@ dependencies = [
|
||||||
"tree-sitter-language",
|
"tree-sitter-language",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tree-sitter-toml"
|
||||||
|
version = "0.20.0"
|
||||||
|
source = "git+https://code.blarg.ca/gered/tree-sitter-toml.git?branch=tree-sitter-language#0975ccfb7d7c567cbf21d24bf198ff9515af371e"
|
||||||
|
dependencies = [
|
||||||
|
"cc",
|
||||||
|
"tree-sitter-language",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tree-sitter-typescript"
|
name = "tree-sitter-typescript"
|
||||||
version = "0.23.0"
|
version = "0.23.0"
|
||||||
|
@ -2555,6 +2597,15 @@ dependencies = [
|
||||||
"tree-sitter-language",
|
"tree-sitter-language",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tree-sitter-yaml"
|
||||||
|
version = "0.6.1"
|
||||||
|
source = "git+https://code.blarg.ca/gered/tree-sitter-yaml.git?branch=tree-sitter-language#9ffe10a1b805e9ddcb926e7b0602ea7fc1b7f1e0"
|
||||||
|
dependencies = [
|
||||||
|
"cc",
|
||||||
|
"tree-sitter-language",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "try-lock"
|
name = "try-lock"
|
||||||
version = "0.2.4"
|
version = "0.2.4"
|
||||||
|
|
|
@ -36,8 +36,10 @@ tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
|
||||||
tree-sitter = "0.24.3"
|
tree-sitter = "0.24.3"
|
||||||
tree-sitter-bash = "0.23.1"
|
tree-sitter-bash = "0.23.1"
|
||||||
tree-sitter-c = "0.23.1"
|
tree-sitter-c = "0.23.1"
|
||||||
|
tree-sitter-cmake = { git = "https://code.blarg.ca/gered/tree-sitter-cmake.git", branch = "tree-sitter-language" }
|
||||||
tree-sitter-cpp = "0.23.1"
|
tree-sitter-cpp = "0.23.1"
|
||||||
tree-sitter-c-sharp = "0.23.0"
|
tree-sitter-c-sharp = "0.23.0"
|
||||||
|
tree-sitter-dockerfile = { git = "https://code.blarg.ca/gered/tree-sitter-dockerfile.git", branch = "tree-sitter-language" }
|
||||||
tree-sitter-elixir = "0.3.1"
|
tree-sitter-elixir = "0.3.1"
|
||||||
tree-sitter-erlang = "0.9.0"
|
tree-sitter-erlang = "0.9.0"
|
||||||
tree-sitter-go = "0.23.1"
|
tree-sitter-go = "0.23.1"
|
||||||
|
@ -47,13 +49,16 @@ tree-sitter-javascript = "0.23.0"
|
||||||
tree-sitter-json = "0.24.1"
|
tree-sitter-json = "0.24.1"
|
||||||
tree-sitter-lua = "0.2.0"
|
tree-sitter-lua = "0.2.0"
|
||||||
tree-sitter-md = "0.3.2"
|
tree-sitter-md = "0.3.2"
|
||||||
|
tree-sitter-php = "0.23.5"
|
||||||
tree-sitter-python = "0.23.2"
|
tree-sitter-python = "0.23.2"
|
||||||
tree-sitter-r = "1.1.0"
|
tree-sitter-r = "1.1.0"
|
||||||
tree-sitter-ruby = "0.23.0"
|
tree-sitter-ruby = "0.23.0"
|
||||||
tree-sitter-rust = "0.23.0"
|
tree-sitter-rust = "0.23.0"
|
||||||
tree-sitter-scala = "0.23.2"
|
tree-sitter-scala = "0.23.2"
|
||||||
tree-sitter-swift = "0.6.0"
|
tree-sitter-swift = "0.6.0"
|
||||||
|
tree-sitter-toml = { git = "https://code.blarg.ca/gered/tree-sitter-toml.git", branch = "tree-sitter-language" }
|
||||||
tree-sitter-typescript = "0.23.0"
|
tree-sitter-typescript = "0.23.0"
|
||||||
|
tree-sitter-yaml = { git = "https://code.blarg.ca/gered/tree-sitter-yaml.git", branch = "tree-sitter-language" }
|
||||||
|
|
||||||
[dependencies.uuid]
|
[dependencies.uuid]
|
||||||
version = "1.4"
|
version = "1.4"
|
||||||
|
|
|
@ -13,12 +13,18 @@ fn get_parser(language_id: LanguageId) -> Result<Parser> {
|
||||||
LanguageId::C => {
|
LanguageId::C => {
|
||||||
Some(tree_sitter_c::LANGUAGE)
|
Some(tree_sitter_c::LANGUAGE)
|
||||||
}
|
}
|
||||||
|
LanguageId::Cmake => {
|
||||||
|
Some(tree_sitter_cmake::LANGUAGE)
|
||||||
|
}
|
||||||
LanguageId::Cpp => {
|
LanguageId::Cpp => {
|
||||||
Some(tree_sitter_cpp::LANGUAGE)
|
Some(tree_sitter_cpp::LANGUAGE)
|
||||||
}
|
}
|
||||||
LanguageId::CSharp => {
|
LanguageId::CSharp => {
|
||||||
Some(tree_sitter_c_sharp::LANGUAGE)
|
Some(tree_sitter_c_sharp::LANGUAGE)
|
||||||
}
|
}
|
||||||
|
LanguageId::Dockerfile => {
|
||||||
|
Some(tree_sitter_dockerfile::LANGUAGE)
|
||||||
|
}
|
||||||
LanguageId::Elixir => {
|
LanguageId::Elixir => {
|
||||||
Some(tree_sitter_elixir::LANGUAGE)
|
Some(tree_sitter_elixir::LANGUAGE)
|
||||||
}
|
}
|
||||||
|
@ -46,6 +52,9 @@ fn get_parser(language_id: LanguageId) -> Result<Parser> {
|
||||||
LanguageId::Markdown => {
|
LanguageId::Markdown => {
|
||||||
Some(tree_sitter_md::LANGUAGE)
|
Some(tree_sitter_md::LANGUAGE)
|
||||||
}
|
}
|
||||||
|
LanguageId::Php => {
|
||||||
|
Some(tree_sitter_php::LANGUAGE_PHP)
|
||||||
|
}
|
||||||
LanguageId::Python => {
|
LanguageId::Python => {
|
||||||
Some(tree_sitter_python::LANGUAGE)
|
Some(tree_sitter_python::LANGUAGE)
|
||||||
}
|
}
|
||||||
|
@ -64,12 +73,18 @@ fn get_parser(language_id: LanguageId) -> Result<Parser> {
|
||||||
LanguageId::Swift => {
|
LanguageId::Swift => {
|
||||||
Some(tree_sitter_swift::LANGUAGE)
|
Some(tree_sitter_swift::LANGUAGE)
|
||||||
}
|
}
|
||||||
|
LanguageId::Toml => {
|
||||||
|
Some(tree_sitter_toml::LANGUAGE)
|
||||||
|
}
|
||||||
LanguageId::TypeScript => {
|
LanguageId::TypeScript => {
|
||||||
Some(tree_sitter_typescript::LANGUAGE_TYPESCRIPT)
|
Some(tree_sitter_typescript::LANGUAGE_TYPESCRIPT)
|
||||||
}
|
}
|
||||||
LanguageId::TypeScriptReact => {
|
LanguageId::TypeScriptReact => {
|
||||||
Some(tree_sitter_typescript::LANGUAGE_TSX)
|
Some(tree_sitter_typescript::LANGUAGE_TSX)
|
||||||
}
|
}
|
||||||
|
LanguageId::Yaml => {
|
||||||
|
Some(tree_sitter_yaml::LANGUAGE)
|
||||||
|
}
|
||||||
LanguageId::Unknown => None,
|
LanguageId::Unknown => None,
|
||||||
};
|
};
|
||||||
if let Some(language) = language {
|
if let Some(language) = language {
|
||||||
|
|
|
@ -5,8 +5,10 @@ use std::fmt;
|
||||||
pub(crate) enum LanguageId {
|
pub(crate) enum LanguageId {
|
||||||
Bash,
|
Bash,
|
||||||
C,
|
C,
|
||||||
|
Cmake,
|
||||||
Cpp,
|
Cpp,
|
||||||
CSharp,
|
CSharp,
|
||||||
|
Dockerfile,
|
||||||
Elixir,
|
Elixir,
|
||||||
Erlang,
|
Erlang,
|
||||||
Go,
|
Go,
|
||||||
|
@ -17,14 +19,17 @@ pub(crate) enum LanguageId {
|
||||||
Json,
|
Json,
|
||||||
Lua,
|
Lua,
|
||||||
Markdown,
|
Markdown,
|
||||||
|
Php,
|
||||||
Python,
|
Python,
|
||||||
R,
|
R,
|
||||||
Ruby,
|
Ruby,
|
||||||
Rust,
|
Rust,
|
||||||
Scala,
|
Scala,
|
||||||
Swift,
|
Swift,
|
||||||
|
Toml,
|
||||||
TypeScript,
|
TypeScript,
|
||||||
TypeScriptReact,
|
TypeScriptReact,
|
||||||
|
Yaml,
|
||||||
Unknown,
|
Unknown,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,8 +38,10 @@ impl fmt::Display for LanguageId {
|
||||||
match self {
|
match self {
|
||||||
Self::Bash => write!(f, "shellscript"),
|
Self::Bash => write!(f, "shellscript"),
|
||||||
Self::C => write!(f, "c"),
|
Self::C => write!(f, "c"),
|
||||||
|
Self::Cmake => write!(f, "cmake"),
|
||||||
Self::Cpp => write!(f, "cpp"),
|
Self::Cpp => write!(f, "cpp"),
|
||||||
Self::CSharp => write!(f, "csharp"),
|
Self::CSharp => write!(f, "csharp"),
|
||||||
|
Self::Dockerfile => write!(f, "dockerfile"),
|
||||||
Self::Elixir => write!(f, "elixir"),
|
Self::Elixir => write!(f, "elixir"),
|
||||||
Self::Erlang => write!(f, "erlang"),
|
Self::Erlang => write!(f, "erlang"),
|
||||||
Self::Go => write!(f, "go"),
|
Self::Go => write!(f, "go"),
|
||||||
|
@ -45,14 +52,17 @@ impl fmt::Display for LanguageId {
|
||||||
Self::Json => write!(f, "json"),
|
Self::Json => write!(f, "json"),
|
||||||
Self::Lua => write!(f, "lua"),
|
Self::Lua => write!(f, "lua"),
|
||||||
Self::Markdown => write!(f, "markdown"),
|
Self::Markdown => write!(f, "markdown"),
|
||||||
|
Self::Php => write!(f, "php"),
|
||||||
Self::Python => write!(f, "python"),
|
Self::Python => write!(f, "python"),
|
||||||
Self::R => write!(f, "r"),
|
Self::R => write!(f, "r"),
|
||||||
Self::Ruby => write!(f, "ruby"),
|
Self::Ruby => write!(f, "ruby"),
|
||||||
Self::Rust => write!(f, "rust"),
|
Self::Rust => write!(f, "rust"),
|
||||||
Self::Scala => write!(f, "scala"),
|
Self::Scala => write!(f, "scala"),
|
||||||
Self::Swift => write!(f, "swift"),
|
Self::Swift => write!(f, "swift"),
|
||||||
|
Self::Toml => write!(f, "toml"),
|
||||||
Self::TypeScript => write!(f, "typescript"),
|
Self::TypeScript => write!(f, "typescript"),
|
||||||
Self::TypeScriptReact => write!(f, "typescriptreact"),
|
Self::TypeScriptReact => write!(f, "typescriptreact"),
|
||||||
|
Self::Yaml => write!(f, "yaml"),
|
||||||
Self::Unknown => write!(f, "unknown"),
|
Self::Unknown => write!(f, "unknown"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -62,8 +72,10 @@ impl From<&str> for LanguageId {
|
||||||
fn from(value: &str) -> Self {
|
fn from(value: &str) -> Self {
|
||||||
match value {
|
match value {
|
||||||
"c" => Self::C,
|
"c" => Self::C,
|
||||||
|
"cmake" => Self::Cmake,
|
||||||
"cpp" => Self::Cpp,
|
"cpp" => Self::Cpp,
|
||||||
"csharp" => Self::CSharp,
|
"csharp" => Self::CSharp,
|
||||||
|
"dockerfile" => Self::Dockerfile,
|
||||||
"elixir" => Self::Elixir,
|
"elixir" => Self::Elixir,
|
||||||
"erlang" => Self::Erlang,
|
"erlang" => Self::Erlang,
|
||||||
"go" => Self::Go,
|
"go" => Self::Go,
|
||||||
|
@ -81,8 +93,10 @@ impl From<&str> for LanguageId {
|
||||||
"scala" => Self::Scala,
|
"scala" => Self::Scala,
|
||||||
"shellscript" => Self::Bash,
|
"shellscript" => Self::Bash,
|
||||||
"swift" => Self::Swift,
|
"swift" => Self::Swift,
|
||||||
|
"toml" => Self::Toml,
|
||||||
"typescript" => Self::TypeScript,
|
"typescript" => Self::TypeScript,
|
||||||
"typescriptreact" => Self::TypeScriptReact,
|
"typescriptreact" => Self::TypeScriptReact,
|
||||||
|
"yaml" => Self::Yaml,
|
||||||
_ => Self::Unknown,
|
_ => Self::Unknown,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue