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