branch: elpa/haskell-ts-mode
commit f047919915c02c814f8836ff3e2b2cfa326b2318
Merge: 5a473f4ef7 b3b1f38b18
Author: pranshu <pran...@noreply.codeberg.org>
Commit: pranshu <pran...@noreply.codeberg.org>

    Merge pull request 'lisp: derive from haskell-mode on Emacs v30 and above' 
(#22) from acidbong/haskell-ts-mode:feat/derive into main
    
    Reviewed-on: https://codeberg.org/pranshu/haskell-ts-mode/pulls/22
---
 README.org         | 6 ++++--
 haskell-ts-mode.el | 5 ++++-
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/README.org b/README.org
index d7ea488592..557ed97ee5 100644
--- a/README.org
+++ b/README.org
@@ -112,9 +112,11 @@ you suffer from contagious dehydration, you can lower it.
 
 ** Language server
 
-=haskell-ts-mode= works with =lsp-mode=.
+=haskell-ts-mode= works with =lsp-mode= and, since Emacs 30, with
+=eglot=.
 
-To add =eglot= support, add the following code to your =init.el=:
+To add =eglot= support on Emacs 29 and earlier, add the following code
+to your =init.el=:
 
 #+begin_src emacs-lisp
   (with-eval-after-load 'eglot
diff --git a/haskell-ts-mode.el b/haskell-ts-mode.el
index bf577de9dd..f1188359e1 100644
--- a/haskell-ts-mode.el
+++ b/haskell-ts-mode.el
@@ -465,7 +465,10 @@ when `haskell-ts-prettify-words' is non-nil.")
   (setq-local treesit-font-lock-settings haskell-ts-font-lock)
   (setq-local treesit-font-lock-feature-list
               haskell-ts-font-lock-feature-list)
-  (treesit-major-mode-setup))
+  (treesit-major-mode-setup)
+  ;; derive from `haskell-mode' on emacs v30+
+  (when (functionp 'derived-mode-add-parents)
+    (derived-mode-add-parents 'haskell-ts-mode '(haskell-mode))))
 
 (defun haskell-ts--fontify-func (node face)
   (if (string= "variable" (treesit-node-type node))

Reply via email to