Commit Graph

66 Commits

Author SHA1 Message Date
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
69c8ef4141 Fix void-function haskell-interactive-mode 2018-07-15 20:44:11 +02:00
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
80c4abc8bf Enable haskell-interactive-mode in haskell-mode #752 2018-07-14 23:16:39 +02:00
a76c080930 lang/haskell: improve REPL support #752 2018-07-14 23:16:39 +02:00
19400598b4 got rid of hindent as a seperate feature 2018-06-26 19:34:36 +02:00
bec2ad4859 factored hindent out as a seperate feature. 2018-06-26 19:15:07 +02:00
588359cc5f Replace :eval/:repl with autodef functions
+ :eval => set-eval-handler!
+ :repl => set-repl-handler!
+ Updates all internal references.
2018-06-15 16:20:20 +02:00
1a452b6842 💥 Change first arg of load! macro
load!'s first argument is no longer a symbol (that will cause
void-variable errors now) to save on unnecessary interning and simplify
compile-time logic. It accepts any valid form that evaluates to a string
now.

If you use load!, you need to change its argument to a string!

e.g. (load! +my-module) => (load! "+my-module")
2018-05-27 12:52:28 +02:00
09cb4f6716 Major refactor & optimization of how modules load their packages
Now that we are loading package autoloads files (as part of the
generated doom-package-autoload-file when running make autoloads), many
:commands properties are redundant. In fact, many def-package! blocks
are redundant.

In some cases, we can do without a config.el file entirely, and can move
into the autoloads file or rely entirely on package autoloads.

Also, many settings have been moved in their module's autoloads files,
which makes them available ASAP; their use no longer depends on module
load order.

This gained me a modest ~10% boost in startup speed.
2018-05-25 00:46:16 +02:00
0cfe8e305e Bring back aggressive loading of autoloads files #446
package-initialize, once again, isn't called on every startup, which
means package autoloads won't be loaded in most interactive sessions, so
must do it manually for certain packages.
2018-03-07 03:01:17 -05:00