summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilfred Hughes <me@wilfred.me.uk>2023-12-28 19:24:35 -0800
committerWilfred Hughes <me@wilfred.me.uk>2023-12-28 19:24:35 -0800
commitc180fb52a9a8df98145373cdc1b155c0e4ce11ec (patch)
treedf824922f2d74da61e561d8e02d8dc95d2a67e91
parente39bef9611c501004b9d97aae98735e4ec34520e (diff)
Treat strict types in Haskell as atoms
This isn't ideal: it prevents a finegrained diff of syntax within a type, but it beats claiming that the code is unchanged. Fixes #607
-rw-r--r--CHANGELOG.md3
-rw-r--r--src/parse/tree_sitter_parser.rs3
2 files changed, 5 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index efdea5925..14e021b93 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,7 +4,8 @@
Added support for Salesforce Apex.
-Improved parsing of regex literals in Clojure.
+Improved parsing of regex literals in Clojure and strictness
+annotations in Haskell.
### Display
diff --git a/src/parse/tree_sitter_parser.rs b/src/parse/tree_sitter_parser.rs
index a18d89412..1f4a2ebc6 100644
--- a/src/parse/tree_sitter_parser.rs
+++ b/src/parse/tree_sitter_parser.rs
@@ -453,8 +453,11 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig {
language,
atom_nodes: vec![
"qualified_variable",
+ // Work around https://github.com/tree-sitter/tree-sitter-haskell/issues/102
"qualified_module",
"qualified_constructor",
+ // Work around https://github.com/tree-sitter/tree-sitter-haskell/issues/107
+ "strict_type",
]
.into_iter()
.collect(),