5.1 KiB
PROJ Design Decisions
TODO
bind consult-lsp-diagnostics
to something?
WAIT Add keybinding for embark-act outside of the minibuffer
Idealy would replace C-o
as the default binding. Current suggestion is both
:leader a
and C-,
. Note that C-,
is bound to org-cycle-agenda-files
but
so is C-'
.
TODO consider dropping prescient flag
TODO
SPC s s
and SPC s S
:sw
?
There isn't really a selectrum analogue to swiper-isearch
, consult-isearch
does something else (give you previously used isearch search terms). Bound to
regular isearch for now.
TODO
SPC s B
Selectrum/Consult don't have a swiper-all
analogue either. Unbound for now.
TODO orderless style dispatchers
currently we just copy the ones of the consult wiki (sans file extentions), but
these lead to an unexpected issue: typing e.g. setq!
will not match setq!
due to the postfix without literal match (you need to type setq!=
). This is
undesireable since doom uses a lot of macros that end with !
. Having the
dispatching work in both post and prefix is useful (since it lets you do
post-hoc changes to your typing), but having a one-off extention is inconsistant
PROJ HACKs to be addressed
fboundp
issues
projectile-switch-project-action
definition
Without this change new projects don't get opened in a new tab, but the exact working of this whole set up are a bit opaque to me.
PROJ Bugs
TODO
C-SPC
and live previews
Automatic live previews have been disabled on slow consult
commands.
C-SPC
is partially implemented as the preview key for consult-*
commands.
Need to get it to work for other selectrum commands such SPC h f
.
(let ((embark-quit-after-action nil))
(map! :map minibuffer-local-map "C-SPC" #'embark-default-action)))
gets us close but moves the cursor to the new screen which is undesirable.
probable best strategy: create an embark-preview
that does this, upstream it.
TODO ripgrep height logic bad
selectrum bug caused by file descriptors https://github.com/raxod502/selectrum/issues/491
TODO
(defadvice! +orderless-match-with-one-face..
causes lexical error
probably caused by some doomism https://github.com/oantolin/orderless/issues/41
TODO
selectrum-repeat
Issues
Unlike Ivy, selectrum-repeat
doesn't restore the position of the selection in
the completion buffer. Seems to be reproduced in emacs -Q
. If so, create
upstream selectrum issue.
TODO Embark export window buffer switching logic
If we export bookmarks, grep session, or find-file
session, when pressing
enter, it opens the new buffer in another window rather than the main one, even
though at least the bookmark function ostensibly uses
pop-to-buffer-same-window
. Ivy gets the window switched in the bookmarks and
grep case due to a custom ivy occur window switching function.
TODO
selectrum SPC /
is much slower than ivy SPC /
requires further investigation. is consult-ripgrep
slower than counsel-rg
?
is it something the custom search function is doing? does ivy cache stuff?
PROJ Missing Features
WAIT C-C C-e
wgrep fun
- rework into using
embark-export
directly, after this issue gets resolved - check if we can add this to
consult-line
too
TODO bibtex-actions improvements?
currently SPC n b
is bound to a function, but bibtex-actions
doesn't have a
main dispatch function like ivy-bibtex
, rather it has a bunch of different
ones. Binding the bibtex-actions-map
there would probably be better, but there
are nontrivial loading order shenanigans happening that make that not straightforward.
TODO Ivy Parity
TODO pass module
TODO remaps
refactor these to use consult so previews can work, also maybe have narrowed number keys for workspaces?
[remap switch-to-buffer] #'+ivy/switch-buffer
[remap switch-to-buffer-other-window] #'+ivy/switch-buffer-other-window
[remap persp-switch-to-buffer] #'+ivy/switch-workspace-buffer
[remap evil-show-jumps] #'+ivy/jump-list
TODO
+irc/selectrum-jump-to-channel
rework to use consult
buffer narrowing, for some reason the current attempt breaks marginalia annotating
WAIT lookup module
dash-docs
backend (needs to be created)+lookup--online..
functionality (needs a consult analogue ofcounsel-search
)
WAIT taskrunner module
in all likelihood requires writing consult-taskrunner
.