Files
doomemacs/modules/completion/selectrum/TODO.org
2021-07-25 02:50:42 +03:00

4.3 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

The only advantage over orderless is frecency over recency, without the better integration orderless has with built in emacs completion. A compromise might be to have +prescient just add prescient sorting, but it's probably not worth the maintenance burden.

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 the ! style dispatcher is only as a prefix, due to the abundance of ! final macros. In my opinion this is useful enough to break consistency.

TODO C-c C-e

on consult-line this opens a occur-edit buffer, which is a more natural fit but breaks slightly from the C-c C-e = wgrep convention.

TODO keep or discard C-M-j and C-M-k

Scroll up and down while previewing. Essentially shortcuts for C-(j|k) C-SPC. I like having them around but I can always just add them to my private config.

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 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

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 buffer switching

  • SPC b b should switch workspace after choosing a buffer from a different one
  • universal argument for opening buffer in another window?

TODO Ivy Parity

TODO C-RET on minibuffer?

TODO pass module

TODO +ivy/jump-list analogue

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.