My only issue with selectrum was, back when I'm using ivy, I rebind forward direction keys (<right>/C-l/C-f) to `ivy-partial-or-done` which either complete the input with the selection or visit a file depending on the context. Selectrum doesn't have equivalent implementation, but it's easy enough to implement. Reposting in here in case anybody needs it:
(defun gemacs--selectrum-insert-or-submit-current-candidate ()
"Insert current candidate or forward to `selectrum-select-current-candidate'
if input text hasn't changed since last completion."
(interactive)
(let ((prev-input (selectrum-get-current-input)))
(when (> (length (selectrum-get-current-candidates)) 0)
(selectrum-insert-current-candidate))
(when (string= prev-input (selectrum-get-current-input))
(selectrum-select-current-candidate))))
[1]: https://github.com/raxod502/prescient.el^note1: I don't use rg due to dependency on PCRE2 which doesn't play nice on my OpenBSD machine.
FWIW, PCRE2 seems to be an optional dependency, and disabled by default (unless you build it with `--feature pcre2`).
I just tried installing it into a clean OpenBSD 6.7 VM, and it ran fine out of the box:
# pkg_add rust
# cargo install ripgrep
# echo hi > asdf
# .cargo/bin/rg hi
asdf
1:hiFor some reason, neither helm, ivy or selectrum allows to open a candidate buffer / file in either the current buffer, a vertical or horizontal split window, like what I have grown an addiction for with fzf.vim.
As I have also grown an addiction to org mode, emacs ergonomics always feel weird to me, even with evil mode.
Selectrum seems to explicitly exclude "alternate actions" :(
I use ivy and counsel, and both counsel-find-file and ivy-switch-buffer offer the alternate action "other window" under M-o j. I'm not sure if that covers your entire use-case, but it works fine for me.
I have come to split first and search second.
It’s all about personal preferences.
I see where you are heading and I am not following you in this rabbit hole ;)
I came to use emacs for org mode, when what I really wanted was to use org mode in vim. We can’t have All the nice things, so it’s okay, I’ll live with that. I actually found out I could use emacs as a "org mode beautifier" in neoformat.vim; it is slow, but it can tangle the org file and output back to vim. Good enough.