Commit Graph

76 Commits

Author SHA1 Message Date
005831bfcc refactor(lsp): let lsp-mode load lsp client packages
Most of these lsp packages are already in `lsp-client-packages`, which
lsp-mode will eagerly load the first time `lsp-mode` is activated, so we
don't need to do it ourselves, except in cases where the package isn't
in `lsp-client-packages` (like lsp-julia).
2024-09-09 17:24:45 -04:00
5e2e886b35 nit: comment revision & reformatting 2024-08-15 23:18:47 -04:00
d3124c4971 nit: add deprecation comments for projectile config
Ref: doomemacs/core#1
2024-08-09 20:42:33 -04:00
074528a89a feat(haskell): add tree-sitter support 2023-02-21 20:51:33 -05:00
ceb985673c fix(haskell): activate lsp! conditionally
use-package evaluates :preface *before* :when, so the two lsp! hooks
would run unconditionally, causing errors and warnings when opening a
haskell-mode buffer.

*
modules/lang/haskell/config.el (haskell-literate-mode-local-vars-hook):
add lsp! to hook.
2022-10-23 02:53:59 +02:00
ad6a3d0f33 refactor: deprecate featurep! for modulep!
featurep! will be renamed modulep! in the future, so it's been
deprecated. They have identical interfaces, and can be replaced without
issue.

featurep! was never quite the right name for this macro. It implied that
it had some connection to featurep, which it doesn't (only that it was
similar in purpose; still, Doom modules are not features). To undo such
implications and be consistent with its namespace (and since we're
heading into a storm of breaking changes with the v3 release anyway),
now was the best opportunity to begin the transition.
2022-08-14 20:43:35 +02:00
d58d084774 tweak(:lang,:tools): start eglot/lsp-mode later
To ensure lsp/eglot settings have precedence over local servers (e.g.
cider and lookup handlers).

Ref: clojure-emacs/cider#3170
2022-03-30 17:32:47 +02:00
7d42c60f5a refactor(haskell): move +lsp setup to config.el 2021-09-15 01:56:26 +03:00
a20cd88e8e refactor!(haskell): remove dante support
BREAKING CHANGE: Now that haskell-language-server is mature there is
little reason not to pick it over dante.
2021-09-15 01:56:26 +03:00
6f2e05ea76 refactor!(haskell): remove ghcide support
BREAKING CHANGE: ghcide was archived a while back and now primarily
exists as a library used in the development of haskell-language-server.
It is not recommended for end-users, only for development. To this end I
think including it in the module is more misleading than helpful, and
the people that really want to use it can easily set it up themselves.

Ref: https://github.com/haskell/ghcide/pull/939
2021-09-15 01:56:26 +03:00
d7061c8663 Remap haskell-mode-jump-to-def-or-tag to +lookup/definition 2020-05-12 20:07:11 -04:00
1cb753cbb1 lang/haskell: remove intero support
The package was deprecated and abandoned upstream since November 2019.

Closes #2121
2020-04-14 19:27:33 -04:00
00a21e98f0 Add +ghcide flag to lang/haskell
Closes #2622
2020-03-29 19:02:09 -04:00
55e83da9e7 Don't kill haskell REPLs on ESC/C-g #2571 2020-02-20 20:30:43 -05:00
61ed90c273 Merge pull request #2351 from nam3less/feature-haskell-evil-integration
Correct behaviour of normal mode 'o' and 'O' in haskell-mode
2020-02-20 20:30:00 -05:00
12094788d7 Fix references to :tools fly{spell,check} 2020-01-14 03:04:26 -05:00
d990cd9bd5 Added evil integration to haskell-mode
Overwrite the 'o' and 'O' normal mode commands to correctly indent
new lines.
Code was adapted from: https://github.com/haskell/haskell-mode/issues/1265
2020-01-11 01:47:41 +01:00
18c50cbe1c Added evil integration to haskell-mode
Overwrite the 'o' and 'O' normal mode commands to correctly indent
new lines.
Code was adapted from: https://github.com/haskell/haskell-mode/issues/1265
2020-01-11 00:42:18 +01:00
a4494800b8 lang/haskell: mark intero as deprecated #2121 2019-12-08 20:14:17 -05:00
0b67251159 tools/eval: associate plist with repl handlers
Also consolidates all REPLs (opened through the :tools eval module)
under one popup rule, which inhibits ESC from prematurely closing
them (#1944), and cleans up after their buffers *only* if their handlers
weren't specified to :persist, e.g.

  (set-repl-handler! 'some-mode #'some-repl-handler :persist t)

Also standardized ESS's REPL commands.
2019-10-23 21:41:23 -04:00
e1622142ed Minor, general refactors 2019-10-23 03:57:48 -04:00
88857b34ed lang/haskell: prevent 'kill the whole session' prompts
When closing the haskell-interactive-mode popup.
2019-10-21 06:26:57 -04:00
9b25582be1 Reduce list of root files projectile searches for
And define them on a per-module basis. This reduces the number of file
checks it performs, particularly for non-project files.

Might help #1317
2019-10-19 22:22:49 -04:00
a3e262c7ac 💥 Refactor add-hook! macro & change arg order
This update may potentially break your usage of add-hook! if you pass
the :local or :append properties to it. This is how they used to work:

  (add-hook! :append 'some-mode-hook #'do-something)

Thsoe properties must now follow the hooks, e.g.

  (add-hook! 'some-mode-hook :append #'do-something)

Other changes:
- Various add-hook calls have been renamed to add-hook! because I
  incorrectly assumed `defun` always returned its definition's symbol,
  when in fact, its return value is "undefined" (so sayeth the
  documentation). This should fix #1597.
- This update adds the ability to add multiple functions to hooks
  without a list:

    (add-hook! 'some-mode-hook
               #'do-something
               #'do-something-else)

- The indentation logic has been changed so that consecutive function
  symbols at indented at the same level as the first argument, but forms
  are indent like a defun.

    (add-hook! 'some-mode-hook
               #'do-something
               #'do-something-else)

    (add-hook! 'some-mode-hook
      (message "Hello"))
2019-07-26 20:17:29 +02:00
9eaee096c8 Minor comment revision & general code reformatting 2019-07-23 17:30:32 +02:00
0c891dc33e lang/haskell: minor refactor & reformatting 2019-03-04 04:57:07 -05:00
b8be64f3b5 Add haskell lsp mode 2019-02-23 03:21:20 +11:00
69ed1a4a99 feature/{syntax-checker,spellcheck} -> tools/fly{check,spell} 2019-02-22 00:25:30 -05:00
94b16cba6c Standardize REPL commands & improve SPC o r
- SPC o r now prompts for a REPL to open when none was found for the
  current buffer.
- REPL handlers must now follow the naming convention "*/open*-repl".
  e.g. +python/open-ipython-repl, +emacs-lisp/open-repl, etc.
- +eval/open-repl has been split in two:
  - +eval/open-repl-other-window
  - +eval/open-repl-same-window
2019-02-18 01:59:56 -05:00
c82f71e7fe lang/haskell: disable subword-mode by default
subword-mode is enabled by default for no other language, nor is it the
default behavior in vim (and it affects evil word motions), so it should
be opt-in.

Mentioned in #1083
2018-12-29 21:06:49 -05:00
3f195614d9 Normalize :leader/:localleader keybinds
Evil states no longer apply to them. Also removes x-alt-keysym.
2018-12-23 23:54:27 -05:00
7d3ffdff06 Remove third line in section headers
This is truly important stuff. We've saved many lives with this update.
2018-09-09 09:58:19 -04:00
9b3442edae Removed hindent (included in format-all) 2018-08-27 12:05:03 +02:00
ce9f7f9bde lang/haskell: minor reformatting & refactor
Conform to conventions, use `add-hook!` for multiple hooks, use single semi-colon for eol comments, remove comments redundant with code, and use sharp-quote to indicate function symbol.
2018-07-19 19:03:05 +02:00
82fee01611 fix typo 2018-07-19 17:13:56 +02:00
4980c66e15 Disable overlays conditionally if flycheck is loaded 2018-07-19 17:09:19 +02:00
b0af6bcbef Add some useful haskell-mode options 2018-07-19 17:00:01 +02:00
864e15f19d Add support for folding haskell code blocks 2018-07-19 16:37:22 +02:00
3a5af1d591 Added subword mode hook. 2018-07-19 16:34:13 +02:00
9d4c9c3306 Move haskell-mode bindings 2018-07-19 11:04:17 +02:00
406e8f31f6 Move dante mode map 2018-07-19 11:03:16 +02:00
dc68d7aad8 Moved intero map 2018-07-19 11:02:26 +02:00
b0a754391a Added stack build support for intero users 2018-07-18 09:11:48 +02:00
6334af8a84 Fix typo 2018-07-18 08:59:07 +02:00
1f9fcd5c10 Lazily load bindings properly 2018-07-18 08:50:55 +02:00
a0f800421e Merge develop 2018-07-18 08:36:29 +02:00
2968374081 lang/haskell: fix haskell-hlint checker
Causing "not a valid syntax checker" errors because it haskell-hlint was
defined too soon.
2018-07-17 23:47:57 +02:00
f981b9886e Add haskell keybindings 2018-07-17 23:43:08 +02:00
0a4cdf8202 Make haskell-hlint setup DRY 2018-07-17 03:09:45 +02:00
c31bb6a744 Add haskell-mode-jump-to-def-or-tag lookup handler 2018-07-15 20:44:47 +02:00