undo-tree-load-history was formerly advised with doom*shut-up, which
uses the quiet! macro to suppress output. quiet! accomplishes this by
temporarily redefining message to a no-op function. However, if a fatal
error occurs while this binding is active, in some cases, message will
remain redefined, perpetually silencing all output to the minibuffer.
This tries to mitigate that, at least where undo-tree is concerned.
Also sharp-quotes an unquoted function.
+ Load flyspell-mode a little later, to allow file/dir-local variables
to customize flyspell.
+ Ensure setters (in merlin's config) are used as late as possible, by
making merlin's (and all the other packages) config run after tuareg
is loaded.
+ As discussed, installing packages locally is a bit unreliable, so I'm
commenting out the +ocaml-site-lisp flag, and rely solely on packages
from MELPA.
+ Add optional ocamlformat check in doctor.el and conditionally load the
ocamlformat package (if editor/format is enabled).
+ Add docstrings to init hooks.
Also removes evil-normalize-keymaps on cider-repl-mode-hook, because cider-repl-mode isn't a minor mode. The purpose of evil-normalize-keymaps is to ensure evil is aware of evil keybinds in minor-mode keymaps when it is first enabled.
I prefer that fuzzy search is disabled by default, for consistency and performance. Fuzzy search tends to be much significantly slower, and no other company backend offers a fuzzy search mechanism (or should).
Fuzzy search is usually gated behind variables and flags, but since opting in here is a trivial one-liner, I don't think it needs one.
- Add a popup rule for the history buffer, since we want to see the REPL change while it's open
- Add hooks to enable company fuzzy completion
- Add more cider configuration options
- Configure Shift-Return to insert a newline and indent in the REPL without submitting the result
- Bind normal state keybindings for the CIDER history buffer
cider-quit kills cider-mode, rendering cider-mode-map keybinds
unavailable, so these commands have been moved to clojure-mode-map, to
ensure they're always available.
Reported by @mfiano
(set-pretty-symbols! '(c-mode c++-mode objc-mode) RULES*)
This fixes a logic bug that prevented RULES from applying to any but the
first mode in the list (e.g. only c-mode will be affected).