mirror of https://github.com/lapce/lapce.git
Add ruby language support
This commit is contained in:
parent
9a8266ede9
commit
0cbd259300
|
@ -1871,6 +1871,7 @@ dependencies = [
|
|||
"tree-sitter-json",
|
||||
"tree-sitter-php",
|
||||
"tree-sitter-python",
|
||||
"tree-sitter-ruby",
|
||||
"tree-sitter-rust",
|
||||
"tree-sitter-toml",
|
||||
"tree-sitter-typescript",
|
||||
|
@ -4152,6 +4153,15 @@ dependencies = [
|
|||
"tree-sitter",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-ruby"
|
||||
version = "0.19.0"
|
||||
source = "git+https://github.com/Liberatys/tree-sitter-ruby.git?branch=chore/allow-range-of-tree-sitter#26086eeb072266abf51273af631a2cb62d0fd1e8"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-rust"
|
||||
version = "0.20.0"
|
||||
|
|
|
@ -19,6 +19,7 @@ tree-sitter-python = "0.19.1"
|
|||
tree-sitter-toml = "0.20.0"
|
||||
tree-sitter-elixir = { git = "https://github.com/elixir-lang/tree-sitter-elixir.git", version = "0.19.0" }
|
||||
tree-sitter-php = { git = "https://github.com/tree-sitter/tree-sitter-php.git", version = "0.19.1" }
|
||||
tree-sitter-ruby = { git = "https://github.com/Liberatys/tree-sitter-ruby.git", branch = "chore/allow-range-of-tree-sitter" }
|
||||
tree-sitter-c = "0.20.1"
|
||||
tree-sitter-cpp = "0.20.0"
|
||||
tree-sitter-json = "0.19.0"
|
||||
|
|
|
@ -48,6 +48,7 @@ pub enum LapceLanguage {
|
|||
C,
|
||||
Cpp,
|
||||
Json,
|
||||
Ruby,
|
||||
}
|
||||
|
||||
impl LapceLanguage {
|
||||
|
@ -69,6 +70,7 @@ pub fn from_path(path: &Path) -> Option<LapceLanguage> {
|
|||
LapceLanguage::Cpp
|
||||
}
|
||||
"json" => LapceLanguage::Json,
|
||||
"rb" => LapceLanguage::Ruby,
|
||||
_ => return None,
|
||||
})
|
||||
}
|
||||
|
@ -88,6 +90,7 @@ pub fn comment_token(&self) -> &str {
|
|||
LapceLanguage::C => "//",
|
||||
LapceLanguage::Cpp => "//",
|
||||
LapceLanguage::Json => "",
|
||||
LapceLanguage::Ruby => "#",
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -106,6 +109,7 @@ pub fn indent_unit(&self) -> &str {
|
|||
LapceLanguage::C => " ",
|
||||
LapceLanguage::Cpp => " ",
|
||||
LapceLanguage::Json => " ",
|
||||
LapceLanguage::Ruby => " ",
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -126,6 +130,7 @@ fn tree_sitter_language(&self) -> tree_sitter::Language {
|
|||
LapceLanguage::C => tree_sitter_c::language(),
|
||||
LapceLanguage::Cpp => tree_sitter_cpp::language(),
|
||||
LapceLanguage::Json => tree_sitter_json::language(),
|
||||
LapceLanguage::Ruby => tree_sitter_ruby::language(),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -152,6 +157,7 @@ pub(crate) fn new_highlight_config(&self) -> HighlightConfiguration {
|
|||
LapceLanguage::C => tree_sitter_c::HIGHLIGHT_QUERY,
|
||||
LapceLanguage::Cpp => tree_sitter_cpp::HIGHLIGHT_QUERY,
|
||||
LapceLanguage::Json => tree_sitter_json::HIGHLIGHT_QUERY,
|
||||
LapceLanguage::Ruby => tree_sitter_ruby::HIGHLIGHT_QUERY,
|
||||
};
|
||||
|
||||
HighlightConfiguration::new(language, query, "", "").unwrap()
|
||||
|
|
Loading…
Reference in New Issue