Use tree-sitter-haskell from crates.io

pull/795/head
Wilfred Hughes 2024-12-19 22:31:50 +07:00
parent 943ea4b613
commit bbe4890cfd
4 changed files with 16 additions and 2 deletions

@ -10,6 +10,8 @@ with YAML.
Improved language detection when one argument is a named pipe.
Updated to the latest tree-sitter parser for Haskell.
### Syntax Highlighting
Improved syntax highlighting, particularly for keywords.

11
Cargo.lock generated

@ -249,6 +249,7 @@ dependencies = [
"strsim",
"strum",
"tree-sitter",
"tree-sitter-haskell",
"tree-sitter-language",
"tree_magic_mini",
"typed-arena",
@ -1001,6 +1002,16 @@ dependencies = [
"tree-sitter-language",
]
[[package]]
name = "tree-sitter-haskell"
version = "0.23.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "977c51e504548cba13fc27cb5a2edab2124cf6716a1934915d07ab99523b05a4"
dependencies = [
"cc",
"tree-sitter-language",
]
[[package]]
name = "tree-sitter-language"
version = "0.1.3"

@ -78,6 +78,7 @@ line-numbers = "0.3.0"
smallvec = "1.13.2"
tree-sitter-language = "0.1.3"
streaming-iterator = "0.1.9"
tree-sitter-haskell = "0.23.1"
[dev-dependencies]
# assert_cmd 2.0.10 requires predicates 3.

@ -83,7 +83,6 @@ extern "C" {
fn tree_sitter_go() -> ts::Language;
fn tree_sitter_hare() -> ts::Language;
fn tree_sitter_hack() -> ts::Language;
fn tree_sitter_haskell() -> ts::Language;
fn tree_sitter_hcl() -> ts::Language;
fn tree_sitter_html() -> ts::Language;
fn tree_sitter_janet_simple() -> ts::Language;
@ -490,7 +489,8 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig {
}
}
Haskell => {
let language = unsafe { tree_sitter_haskell() };
let language_fn = tree_sitter_haskell::LANGUAGE;
let language = tree_sitter::Language::new(language_fn);
TreeSitterConfig {
language: language.clone(),
atom_nodes: vec![