mirror of https://github.com/lapce/lapce.git
add elm syntax highlighting using tree-sitter-elm
Signed-off-by: Suraj Ghimire <suraj@ghishadow.com>
This commit is contained in:
parent
e8d5fd1bf1
commit
b9af8cab53
|
@ -2179,6 +2179,7 @@ dependencies = [
|
||||||
"tree-sitter-c",
|
"tree-sitter-c",
|
||||||
"tree-sitter-cpp",
|
"tree-sitter-cpp",
|
||||||
"tree-sitter-elixir",
|
"tree-sitter-elixir",
|
||||||
|
"tree-sitter-elm",
|
||||||
"tree-sitter-go",
|
"tree-sitter-go",
|
||||||
"tree-sitter-highlight",
|
"tree-sitter-highlight",
|
||||||
"tree-sitter-html",
|
"tree-sitter-html",
|
||||||
|
@ -4567,6 +4568,16 @@ dependencies = [
|
||||||
"tree-sitter",
|
"tree-sitter",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tree-sitter-elm"
|
||||||
|
version = "5.6.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1d4c28acbbdb8a0d72a5eb181e05d29f664e6631c3182f1e3d9974ae900addf3"
|
||||||
|
dependencies = [
|
||||||
|
"cc",
|
||||||
|
"tree-sitter",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tree-sitter-go"
|
name = "tree-sitter-go"
|
||||||
version = "0.19.1"
|
version = "0.19.1"
|
||||||
|
|
|
@ -30,6 +30,7 @@ tree-sitter-json = { version = "0.19.0", optional = true }
|
||||||
tree-sitter-md = { git = "https://github.com/MDeiml/tree-sitter-markdown.git", version = "0.0.1", optional = true }
|
tree-sitter-md = { git = "https://github.com/MDeiml/tree-sitter-markdown.git", version = "0.0.1", optional = true }
|
||||||
tree-sitter-html = { version = "0.19.0", optional = true }
|
tree-sitter-html = { version = "0.19.0", optional = true }
|
||||||
tree-sitter-java = { git = "https://github.com/tree-sitter/tree-sitter-java.git", version = "0.20.0", optional = true }
|
tree-sitter-java = { git = "https://github.com/tree-sitter/tree-sitter-java.git", version = "0.20.0", optional = true }
|
||||||
|
tree-sitter-elm = { version = "5.6.0", optional = true }
|
||||||
lsp-types = { version = "0.89.2", features = ["proposed"] }
|
lsp-types = { version = "0.89.2", features = ["proposed"] }
|
||||||
xi-rope = { git = "https://github.com/lapce/xi-editor", features = ["serde"] }
|
xi-rope = { git = "https://github.com/lapce/xi-editor", features = ["serde"] }
|
||||||
lapce-rpc = { path = "../lapce-rpc" }
|
lapce-rpc = { path = "../lapce-rpc" }
|
||||||
|
@ -54,3 +55,4 @@ lang-json = ["dep:tree-sitter-json"]
|
||||||
lang-md = ["dep:tree-sitter-md"]
|
lang-md = ["dep:tree-sitter-md"]
|
||||||
lang-html = ["dep:tree-sitter-html"]
|
lang-html = ["dep:tree-sitter-html"]
|
||||||
lang-java = ["dep:tree-sitter-java"]
|
lang-java = ["dep:tree-sitter-java"]
|
||||||
|
lang-elm = ["dep:tree-sitter-elm"]
|
||||||
|
|
|
@ -130,6 +130,8 @@ pub enum LapceLanguage {
|
||||||
Html,
|
Html,
|
||||||
#[cfg(feature = "lang-java")]
|
#[cfg(feature = "lang-java")]
|
||||||
Java,
|
Java,
|
||||||
|
#[cfg(feature = "lang-elm")]
|
||||||
|
Elm,
|
||||||
}
|
}
|
||||||
|
|
||||||
// NOTE: Elements in the array must be in the same order as the enum variants of
|
// NOTE: Elements in the array must be in the same order as the enum variants of
|
||||||
|
@ -328,6 +330,16 @@ pub enum LapceLanguage {
|
||||||
code_lens: (DEFAULT_CODE_LENS_LIST, DEFAULT_CODE_LENS_IGNORE_LIST),
|
code_lens: (DEFAULT_CODE_LENS_LIST, DEFAULT_CODE_LENS_IGNORE_LIST),
|
||||||
extensions: &["java"],
|
extensions: &["java"],
|
||||||
},
|
},
|
||||||
|
#[cfg(feature = "lang-elm")]
|
||||||
|
SyntaxProperties {
|
||||||
|
id: LapceLanguage::Elm,
|
||||||
|
language: tree_sitter_elm::language,
|
||||||
|
highlight: tree_sitter_elm::HIGHLIGHTS_QUERY,
|
||||||
|
comment: "#",
|
||||||
|
indent: " ",
|
||||||
|
code_lens: (DEFAULT_CODE_LENS_LIST, DEFAULT_CODE_LENS_IGNORE_LIST),
|
||||||
|
extensions: &["elm"],
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
impl LapceLanguage {
|
impl LapceLanguage {
|
||||||
|
@ -546,4 +558,9 @@ fn test_html_lang() {
|
||||||
fn test_java_lang() {
|
fn test_java_lang() {
|
||||||
assert_language(LapceLanguage::Java, &["java"]);
|
assert_language(LapceLanguage::Java, &["java"]);
|
||||||
}
|
}
|
||||||
|
#[test]
|
||||||
|
#[cfg(feature = "lang-elm")]
|
||||||
|
fn test_elm_lang() {
|
||||||
|
assert_language(LapceLanguage::Elm, &["elm"]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,7 +73,8 @@ all-languages = [
|
||||||
"lang-json",
|
"lang-json",
|
||||||
"lang-md",
|
"lang-md",
|
||||||
"lang-html",
|
"lang-html",
|
||||||
"lang-java"
|
"lang-java",
|
||||||
|
"lang-elm"
|
||||||
]
|
]
|
||||||
lang-rust = ["lapce-core/lang-rust"]
|
lang-rust = ["lapce-core/lang-rust"]
|
||||||
lang-go = ["lapce-core/lang-go"]
|
lang-go = ["lapce-core/lang-go"]
|
||||||
|
@ -90,3 +91,4 @@ lang-json= ["lapce-core/lang-json"]
|
||||||
lang-md = ["lapce-core/lang-md"]
|
lang-md = ["lapce-core/lang-md"]
|
||||||
lang-html = ["lapce-core/lang-html"]
|
lang-html = ["lapce-core/lang-html"]
|
||||||
lang-java = ["lapce-core/lang-java"]
|
lang-java = ["lapce-core/lang-java"]
|
||||||
|
lang-elm = ["lapce-core/lang-elm"]
|
Loading…
Reference in New Issue