Patch the apropos button types so they call helpful instead of the
built-in describe functions. Also add some bindings to apropos-mode-map
so it behaves like other help modes.
Add `doom/describe-symbol` function, which shows documentation for
callable and variable symbols. If a symbol is both a variable and a
callable, it dispatches to apropos. This gives a better workflow than
`helpful-symbol`, which annoyingly prompts the user.
Remap `describe-symbol` to `doom/describe-symbol`, and update
`+emacs-lisp-lookup-documentation` to call it also.
Done to better facilitate a non-evil config.
- Adds winum (and enables support for it in doom-modeline)
- Adds expand-region (#1231)
- Uses default smartparens config for non-evil users (WIP)
The leader keys have been redesigned a) for consistency, b) to reduce
collisions with packages, and c) to improve command coverage. However,
much of it still comes from a vim user, so it needs more testing.
When aborting a lookup handler with C-g/ESC, Doom was convinced that it
had failed legitimately, so tries the next. The expected behavior is
that it abort the entire lookup operation.
SPC h now maps to help-map to reduce redundancy. Some adjustments and
additions were made to this map so all users (evil and vanilla) can
benefit from Doom's extra help commands.
+ Add doom-switch-frame-hook
+ Replace doom-{enter,exit}-{buffer,window}-hook with
doom-switch-{buffer,window}-hook
+ New switch-buffer hooks run on buffer-list-update-hook rather than
in select-window advice.
+ Blank our buffer-list-update-hook in some places to reduce how many
times it gets triggered.
Let-binding `ivy-use-virtual-buffers` is neater and more robust than the
previous solution using some copy-pasta. Calling the unwind routine
will become important once counsel is patched to restore buffer-list.
When `+ivy-buffer-preview` is non-nil, our various switch-buffer
functions will preview the current candidate buffer, like how
`counsel-switch-buffer` works.
When `ivy-use-virtual-buffers` is non-nil, virtual buffers are *not*
previewed unless `+ivy-buffer-preview` is `'everything`.
Allow current buffer to be selected when switching other window, so you
can quickly get a second window to the current buffer.
Preselect the most recently selected buffer, so repeated C-x b RET will
switch between your two most recent buffers.