doomemacs/modules/completion/selectrum/TODO.org
Itai Y. Efrat 49a5c51615 selectrum: fix bugs when counsel is loaded (hack)
some doom functions check the completion module with `fboundp`'s instead
of `featurep!`, and counsel can be loaded by using e.g. `lispy`. we add
temporary fixes for this by checking for selectrum stuff first, but this
should be given a more robust fix later on

also we document the selectrum PR's hacks in the TODO.org

see discussion on #5013
2021-07-25 02:50:42 +03:00

3.9 KiB

PROJ Design Decisions

TODO bind consult-lsp-diagnostics to something?

TODO Make sure we have all vanilla keybindings

TODO Add keybinding for embark-act outside of the minibuffer

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.

PROJ HACKs to be addressed

fboundp issues

Even if the ivy module isn't loaded, it's packages can still get loaded by other means, such as lispy requiring counsel. This means that the fboundp logic such here and here won't work unless the selectrum option is checked first, which is what we do for now.

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 go over definition of +selectrum-file-search

check if anything else there needs to be cleaned up.

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

TODO C-C C-e wgrep fun

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

WAIT lookup module

  • dash-docs backend (needs to be created)
  • +lookup--online.. functionality (needs a consult analogue of counsel-search)

WAIT taskrunner module

in all likelihood requires writing consult-taskrunner.