summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--book/src/generated/lang-support.md2
-rw-r--r--runtime/queries/haskell/textobjects.scm13
2 files changed, 14 insertions, 1 deletions
diff --git a/book/src/generated/lang-support.md b/book/src/generated/lang-support.md
index 28dafd7a..4dca8104 100644
--- a/book/src/generated/lang-support.md
+++ b/book/src/generated/lang-support.md
@@ -51,7 +51,7 @@
| gowork | ✓ | | | `gopls` |
| graphql | ✓ | | | |
| hare | ✓ | | | |
-| haskell | ✓ | | | `haskell-language-server-wrapper` |
+| haskell | ✓ | ✓ | | `haskell-language-server-wrapper` |
| hcl | ✓ | | ✓ | `terraform-ls` |
| heex | ✓ | ✓ | | `elixir-ls` |
| html | ✓ | | | `vscode-html-language-server` |
diff --git a/runtime/queries/haskell/textobjects.scm b/runtime/queries/haskell/textobjects.scm
new file mode 100644
index 00000000..9870dc4a
--- /dev/null
+++ b/runtime/queries/haskell/textobjects.scm
@@ -0,0 +1,13 @@
+(comment) @comment.inside
+
+[
+ (adt)
+ (decl_type)
+ (newtype)
+] @class.around
+
+((signature)? (function rhs:(_) @function.inside)) @function.around
+(exp_lambda) @function.around
+
+(adt (type_variable) @parameter.inside)
+(patterns (_) @parameter.inside)