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

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

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 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 of counsel-search)

WAIT taskrunner module

in all likelihood requires writing consult-taskrunner.