Add ruby language support

This commit is contained in:
Liberatys 2022-04-15 10:32:02 +02:00
parent 9a8266ede9
commit 0cbd259300
3 changed files with 17 additions and 0 deletions

10
Cargo.lock generated
View File

@ -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"

View File

@ -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"

View File

@ -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()