Commit graph

70 commits

Author SHA1 Message Date
Henrik Lissner
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
Itai Y. Efrat
7d42c60f5a refactor(haskell): move +lsp setup to config.el 2021-09-15 01:56:26 +03:00
Itai Y. Efrat
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
Itai Y. Efrat
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
Henrik Lissner
d7061c8663
Remap haskell-mode-jump-to-def-or-tag to +lookup/definition 2020-05-12 20:07:11 -04:00
Henrik Lissner
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
Henrik Lissner
00a21e98f0
Add +ghcide flag to lang/haskell
Closes #2622
2020-03-29 19:02:09 -04:00
Henrik Lissner
55e83da9e7
Don't kill haskell REPLs on ESC/C-g #2571 2020-02-20 20:30:43 -05:00
Henrik Lissner
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
Henrik Lissner
12094788d7
Fix references to :tools fly{spell,check} 2020-01-14 03:04:26 -05:00
nam3less
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
nam3less
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
Henrik Lissner
a4494800b8
lang/haskell: mark intero as deprecated #2121 2019-12-08 20:14:17 -05:00
Henrik Lissner
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
Henrik Lissner
e1622142ed
Minor, general refactors 2019-10-23 03:57:48 -04:00
Henrik Lissner
88857b34ed
lang/haskell: prevent 'kill the whole session' prompts
When closing the haskell-interactive-mode popup.
2019-10-21 06:26:57 -04:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
9eaee096c8
Minor comment revision & general code reformatting 2019-07-23 17:30:32 +02:00
Henrik Lissner
0c891dc33e
lang/haskell: minor refactor & reformatting 2019-03-04 04:57:07 -05:00
Aria Edmonds
b8be64f3b5 Add haskell lsp mode 2019-02-23 03:21:20 +11:00
Henrik Lissner
69ed1a4a99
feature/{syntax-checker,spellcheck} -> tools/fly{check,spell} 2019-02-22 00:25:30 -05:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Patrick Elliott
9b3442edae
Removed hindent (included in format-all) 2018-08-27 12:05:03 +02:00
Henrik Lissner
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
Patrick Elliott
82fee01611 fix typo 2018-07-19 17:13:56 +02:00
Patrick Elliott
4980c66e15 Disable overlays conditionally if flycheck is loaded 2018-07-19 17:09:19 +02:00
Patrick Elliott
b0af6bcbef Add some useful haskell-mode options 2018-07-19 17:00:01 +02:00
Patrick Elliott
864e15f19d Add support for folding haskell code blocks 2018-07-19 16:37:22 +02:00
Patrick Elliott
3a5af1d591 Added subword mode hook. 2018-07-19 16:34:13 +02:00
Patrick Elliott
9d4c9c3306 Move haskell-mode bindings 2018-07-19 11:04:17 +02:00
Patrick Elliott
406e8f31f6 Move dante mode map 2018-07-19 11:03:16 +02:00
Patrick Elliott
dc68d7aad8 Moved intero map 2018-07-19 11:02:26 +02:00
Patrick Elliott
b0a754391a Added stack build support for intero users 2018-07-18 09:11:48 +02:00
Patrick Elliott
6334af8a84 Fix typo 2018-07-18 08:59:07 +02:00
Patrick Elliott
1f9fcd5c10 Lazily load bindings properly 2018-07-18 08:50:55 +02:00
Patrick Elliott
a0f800421e Merge develop 2018-07-18 08:36:29 +02:00
Henrik Lissner
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
Patrick Elliott
f981b9886e Add haskell keybindings 2018-07-17 23:43:08 +02:00
Henrik Lissner
0a4cdf8202
Make haskell-hlint setup DRY 2018-07-17 03:09:45 +02:00
Henrik Lissner
c31bb6a744
Add haskell-mode-jump-to-def-or-tag lookup handler 2018-07-15 20:44:47 +02:00
Henrik Lissner
69c8ef4141
Fix void-function haskell-interactive-mode 2018-07-15 20:44:11 +02:00
Henrik Lissner
e4db3f0020
Insert module file template in haskell files #752
Use file-template module instead of hook so it only gets triggered in a
valid project.
2018-07-14 23:16:39 +02:00
Henrik Lissner
80c4abc8bf
Enable haskell-interactive-mode in haskell-mode #752 2018-07-14 23:16:39 +02:00
Henrik Lissner
a76c080930
lang/haskell: improve REPL support #752 2018-07-14 23:16:39 +02:00
Patrick Elliott
19400598b4 got rid of hindent as a seperate feature 2018-06-26 19:34:36 +02:00
Patrick Elliott
bec2ad4859 factored hindent out as a seperate feature. 2018-06-26 19:15:07 +02:00