-
Notifications
You must be signed in to change notification settings - Fork 82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Overhaul key bindings mechanism #158
Conversation
812f3b5
to
5997b4a
Compare
b8f050a
to
2495729
Compare
2327661
to
20a3980
Compare
a6831e7
to
ea1db70
Compare
ea1db70
to
db5bb0b
Compare
5f86e7f
to
f8ac6d9
Compare
f2d9671
to
3769cb1
Compare
9ac2223
to
0a64729
Compare
0a64729
to
60956cf
Compare
cfdbb39
to
2a5ad20
Compare
0354a38
to
ebaa80c
Compare
ebaa80c
to
bd5f33c
Compare
Hi @kidonng, could you provide your perspective and expansive CLI wisdom please? I'm wondering if the idea I have in this PR is too complicated. Btw, the code and the tests are done, but not the CLI help text, readme, or PR description, so don't use those things to understand what I built. |
I've decided this approach is too complicated in terms of
I'm going to close this and restart with a simpler but fairly similar approach in #172. |
Abandoned in favor of #172
Fzf.fish's key bindings are hard to manage. It's time to give it a make over!
Background and motivation
fzf.fish ships with default key bindings that are mnemonic and have minimal conflicts with existing fish key bindings out of the box. However, for the users who don't want to use them, they get no assistance from the plugin and process of customizing them is tedious, unwieldy, and difficult to learn. This frustration has culminated in a steady stream of issues, discussions, Cookbook sections, and PRs around key bindings (#17, #89, #99, #108, #103, #153, #162). Here're the shortcomings of leaving it to users to set
fzf_fish_custom_keybindings
and do all their own bindings:fzf_fish_custom_keybindings
is all or nothing; it's not possible to change just one or two key bindings. Users have to opt out of ALL default key bindings and re-bind all the functions themselves. This is tedious, verbose, and unwieldy.config/fzf.fish
to learn how to set their own key bindings.config/fzf.fish
is executed, it can't be specified in the user'sconfig.fish
, which is the traditional home for user-level fish configuration. This is a confusing point for users new to fish and also makes it more difficult for one'sfzf.fish
configuration to be checked into git.As the plugin author, I have also felt supporting all the different key binding use cases very difficult and has hindered development:
fzf_fish_custom_keybindings
has an annoying typo: key binding is two words, not one.The new solution
fzf_install_bindings
that, given an ordered list of key sequences, will install the key bindings for each command.