2021-05-02 19:50:10 +03:00
* PROJ Design Decisions
** TODO bind =consult-lsp-diagnostics= to something?
2021-05-23 15:11:38 +03:00
** TODO finalize =embark-act= keybindings
They are currently set to =C-;= and =<leader> a= . The motivation for this is as follows:
*** =C-;=
Least intrusive key-chord type binding I could find. Doesn't interfere with
other keybindings for the most part (unlike =C-o= which clashes for in
minibuffer =evil-want-minibuffer= users and regular buffer evil users), with the
exception of:
- =C-;= is bound to ~flyspell-auto-correct-previous-word~ . via the built in
flyspell map.
- =C-;= is bound to ~+company/complete~ in the vanilla emacs bindings.
We could also just bind it in the minibuffer if we do end up going with the
leader key.
*** Alternative chord: =C-,=
still has some overlaps, but perhaps less important:
- ~flyspell-goto-next-error~
- ~org-cycle-agenda-files~ has redundancy in =C-'= anway.
It is however less convenient than =C-;=
*** =<leader> a=
Even though top level module dependant bindings are frowned upon, here is my
case for why this should be an exception:
- It provide a useful shortcut for a bunch of commands relevant to the symbol at
point, and seems to be better at this than built in stuff, e.g. doing =<leader > f
D= to delete a file in =eshell= doesn't work, but embark recognies that it's a
file, so =<leader> a d= does.
- other than helping with discoverability for stuff this also allows for
commands for things that are too niche for top level bindings, such as actions
on ~package!~ statements and recipes or url's.
- selectrum is slated to become the default completion module, which makes this
less of an inconsistency, but I'm not sure about the performance slowdown in
~map!~ since that seems to be one of the main concerns.
- ~embark~ like most packages in the selectrum cinematic universe can be
installed independently, so if you find it sufficiently useful you could also
have a stripped down version of the config in doom core that is just used for
on-buffer actions.
2021-05-02 19:50:10 +03:00
** TODO consider dropping prescient flag
2021-05-20 22:09:41 +03:00
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.
2021-05-02 19:50:10 +03:00
** TODO =SPC s s= and =SPC s S= ~:sw~ ?
2021-04-25 21:36:21 +03:00
There isn't really a selectrum analogue to ~swiper-isearch~ , ~consult-isearch~
2021-05-17 15:44:39 +03:00
does something else (give you previously used isearch search terms). Bound to
regular isearch for now.
2021-05-08 23:36:14 +03:00
** TODO =SPC s B=
2021-05-17 15:44:39 +03:00
Selectrum/Consult don't have a ~swiper-all~ analogue either. Unbound for now.
2021-05-20 21:02:47 +03:00
** TODO orderless style dispatchers
2021-05-20 22:09:41 +03:00
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.
2021-05-21 13:19:52 +03:00
** TODO =C-c C-e=
2021-05-23 15:11:38 +03:00
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.
2021-05-22 01:21:10 +03:00
** 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.
2021-05-21 13:19:52 +03:00
2021-05-20 17:45:30 +03:00
* 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 [[file:~/.emacs.d/modules/config/default/autoload/text.el::(cond ((fboundp 'consult-yank-pop) #'consult-yank-pop) ;;HACK see @ymarco's comment on #5013 and TODO.org ][here ]] and [[file:~/.emacs.d/core/autoload/projects.el::((fboundp 'selectrum-mode) ;HACK see @ymarco's comment on #5013 and TODO.org ][here ]] won't work unless the selectrum option is checked
first, which is what we do for now.
** ~projectile-switch-project-action~ definition
Without [[file:~/.emacs.d/modules/ui/workspaces/config.el::;; HACK?? needs review ][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.
2021-05-02 19:50:10 +03:00
* 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
2021-05-17 13:20:02 +03:00
** 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.
2021-05-17 13:42:45 +03:00
** 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?
2021-05-20 21:02:47 +03:00
2021-05-02 19:50:10 +03:00
* PROJ Missing Features
2021-04-10 14:59:16 +03:00
** TODO Icons
https://github.com/minad/marginalia/issues/59
2021-05-01 17:55:02 +03:00
** 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
2021-05-23 15:11:38 +03:00
are nontrivial loading order shenanigans happening that make that not
straightforward.
2021-05-21 16:38:54 +03:00
** 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?
2021-05-02 19:50:10 +03:00
** TODO Ivy Parity
2021-05-22 01:21:10 +03:00
*** TODO =C-RET= on minibuffer?
2021-05-08 23:36:14 +03:00
*** TODO pass module
2021-05-21 16:38:54 +03:00
*** TODO ~+ivy/jump-list~ analogue
2021-05-26 01:38:18 +03:00
*** TODO marginalia stuff
**** TODO (buffer) clearly mark files opened with ~doom/sudo-find-file~ (remote?) with a different color
- including remote path in parens maybe
**** TODO (buffer) have a project column and use relative paths from that
**** TODO better colors?
2021-05-08 23:36:14 +03:00
*** WAIT lookup module
- ~dash-docs~ backend (needs to be created)
2021-05-23 15:11:38 +03:00
- ~+lookup--online..~ functionality
(needs a consult analogue of ~counsel-search~ )
2021-05-08 23:36:14 +03:00
*** WAIT taskrunner module
in all likelihood requires writing ~consult-taskrunner~ .