I am writing a major mode for a new programming language that looks very similar to Haskell, and so not surprisingly I am writing a derived mode from haskell-mode
(define-derived-mode foo-mode haskell-mode "foo mode"
"Major mode for Foo"
...
)
Separately, I have lsp-mode
enabled to run when I view a Haskell file in Emacs. Thus, every time I view a *.foo file in Emacs, lsp-mode
is enabled with haskell-language-server
as the lsp
-backend.
I would like lsp to be disabled with I view a *.foo
file (i.e. using the major mode foo-mode
, but enabled when I view a .*hs
file (i.e. using the major mode haskell-mode
.) Is this possible?
One solution I tried, which did not work: In the .dirs-local.el
file of this project, I added this line:
((foo-mode . ((eval . (lsp-mode -1)))))
which I thought would disable lsp-mode whenever the major mode foo
is enabled, but lsp is still enabled in this case.
Any suggestions?
Emacs version:
GNU Emacs 27.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.20, cairo version 1.16.0) of 2021-11-04