Commit Graph

110 Commits

Author SHA1 Message Date
b7a98cc788 Add openSUSE prerequisite instructions
These instructions were tested on openSUSE Tumbleweed and openSUSE Leap
15.1. There are some modules left that are not documented yet, but this
already improves the sitution for common openSUSE users.
2019-10-03 16:01:35 +02:00
19ecf8e46a Correct last inline hook defuns
See a3e262c7 for rationale
2019-07-28 16:10:53 +02: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
82ae3a73f3 def-advice!->defadvice! & conform to new advice conventions
This commit does two things:

- Renames def-advice! to defadvice!, in the spirit of naming convenience
  macros after the function/macro they enhance or replace.
- Correct the names of advice functions to indicate visibility and
  intent. A public advice function like doom-set-jump-a is meant to be
  used elsewhere. A private one like +dired--cleanup-header-line-a
  shouldn't -- it likely won't work anywhere but the function(s) it was
  made to advise.
2019-07-23 17:24:56 +02:00
76cacb5bfe 💥 Rename def-package! -> use-package!
Calling this pivotal macro "def-package!" has frequently been a source
of confusion. It is a thin wrapper around use-package, and it should be
obvious that it is so. For this reason, and to match the naming
convention used with other convenience macros/wrappers, it is now
use-package!.

Also changes def-package-hook! -> use-package-hook!

The old macros are now marked obsolete and will be removed when straight
integration is merged.
2019-07-23 12:50:45 +02:00
62af55dad0 Move emacs-snippets -> doom-snippets
The repo was renamed upstream.
2019-07-14 17:05:48 +02:00
c399c07694 Add :tools lsp checks for +lsp flag
Also:
- Reorganizes some :lang modules' packages.el file.
- Adds setuptools check in lang/python
- Adds javac check in lang/java
- Removes the depends-on! macro
2019-04-24 18:16:05 -04:00
ffe297bc7f lang/haskell: rewrite README + minor refactor
- Documents lsp-haskell
- Use hie-wrapper on MacOS
- Update tools/lsp README to include :lang haskell
- Mention cabal-new-repl setting (#1140)
2019-04-07 16:46:59 -04:00
a49a9fee3a lang/haskell: fix +haskell/open-repl
REPL handlers must return a buffer but display-buffer returns a window.
2019-04-02 18:21:34 -04:00
0c891dc33e lang/haskell: minor refactor & reformatting 2019-03-04 04:57:07 -05:00
eb3c569e1d Replace +lsp|init with lsp! autodef 2019-03-02 01:34:19 -05:00
9c085c0553 Set yas-indent-line only in haskell-mode 2019-02-25 22:26:13 -05:00
69a6e60f84 lang/haskell +lsp: enable snippet completion 2019-02-26 02:18:57 +11:00
a070343e22 haskell +lsp: change lsp to +lsp|init 2019-02-23 15:15:38 +11: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
499877fcff lang/haskell: restore modified flag after flycheck
Dante quietly saves the current buffer (without triggering save hooks)
before invoking flycheck, unexpectedly leaving the buffer in an
unmodified state.

This is annoying if we depend on save hooks to do work on the
buffer (like reformatting), so we restore a (false) modified state.
2019-02-21 19:13:36 -05:00
09bdbd1bdd lang/haskell: only require intero when flag is set 2019-02-20 23:06:10 -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
d68ecb7636 lang/haskell: fix dante completion 2019-01-21 06:21:09 +11: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
3befcf934e Make +haskell-repl-buffer arg optional 2018-12-26 14:53:08 -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
d6cb0ec5f5 General cleanup & minor refactoring 2018-12-22 04:25:15 -05:00
86305f2175 lang/haskell: just detect evil
Instead of detect the feature/evil module. This is more versatile.
2018-10-24 01:14:35 -04:00
f9d6ee49ee lang/haskell: fix evil keybinds for intero/dante 2018-10-24 01:08:11 -04:00
39059702c8 lang/haskell: Register intero-company backend 2018-10-04 21:56:43 +02:00
fd19698927 doom|hack-local-variables => MODE-local-vars-hook
Uses a less destructive method (the same that Spacemacs uses) than the
one introduced in 13cee68, by introducing MODE-local-vars-hook hooks,
which run after local vars have been initialized.

The old method was to call `hack-local-variables` *before* mode hooks
run, however, this causes variables set by modes to have higher
precedence than local vars, which is unacceptable.

Also moved intero-mode & dante-mode to haskell-mode-local-vars-hook
2018-09-29 15:01:35 -04: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
cbc59f9333 Appease the byte-compiler 2018-07-30 12:10:11 +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
96ecadf9e6 Re-order blocks 2018-07-19 11:05:31 +02:00
c51b088c6e Remove attrap def-package 2018-07-19 11:04:48 +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
c233b84520 Add attrap-attrap 2018-07-17 23:43:27 +02:00
f981b9886e Add haskell keybindings 2018-07-17 23:43:08 +02:00