d12frosted / flyspell-correct

Distraction-free words correction with flyspell via selected interface.
Other
203 stars 14 forks source link

flyspell-correct-completing-read: Improve shortcut key #94

Closed minad closed 3 years ago

minad commented 3 years ago

The RET is pressed automatically for you.

(Follow up on #92 - I used it for a while and figured that pressing the RET after the actions is a bit tedious.)

minad commented 3 years ago

Converted to draft, I am still refining.

manuel-uberti commented 3 years ago

Could the automation be made opt-in? I like the shortcuts but I wouldn't want a wrong option to be automatically picked, where "wrong" means I meant to type something else but I did it quickly without thinking too much about it.

minad commented 3 years ago

Could the automation be made opt-in? I like the shortcuts but I wouldn't want a wrong option to be automatically picked, where "wrong" means I meant to type something else but I did it quickly without thinking too much about it.

One could but I think there is actually no reason. It will be made such that the quick selection is always safe. Either you press @ first for an action or a digit for a suggestion. Both keys (@ and digits) are hard to press accidentally.

manuel-uberti commented 3 years ago

I agree, you're right about @ not being that quick to type. :)

minad commented 3 years ago

Okay, it is ready now. @manuel-uberti If you have time, please give it a try. The quick keys work both for Ido and completing-read. I tested default completion, Vertico and Selectrum.

manuel-uberti commented 3 years ago

I tried it with Vertico, and @ plus the quick key worked without having to press RET. :+1:

d12frosted commented 3 years ago

Oh, I like this idea. Good job!

minad commented 3 years ago

@d12frosted Which frontend do you use btw? With this PR I think the CR frontend is almost as convenient as the avy-menu/frog-menu frontends, with the additional possibility to scroll/search through the items.

d12frosted commented 3 years ago

@minad I am using Selectrum. For a long time I've been using ivy over helm for simplicity™. But over time it become terrifically complex, so I wanted something simpler for completion, closer to default frontend, but vertical. So... Here I am :)

Now regarding your PR. I find it convenient and it boosts my velocity even better than flyspell-correct-ivy interface. Seriously, bravo @minad .

I am ready to merge this, but this needs to be documented. (1) I would love flyspell-correct--cr-index to contain your explanation in the docstring and (2) README 😸 If you don't feel like documenting - that's fine, I will do it, just let me know.

And one point that is out of scope of this PR, but I still would love to hear your opinion. What do you think about making it possible to configure indexing? While I find flyspell-correct--cr-index to be clever ergonomics wise, it's still an ergonomics hack for certain context, and maybe others would love to change it to natural numbers or something else.

minad commented 3 years ago

Now regarding your PR. I find it convenient and it boosts my velocity even better than flyspell-correct-ivy interface. Seriously, bravo @minad.

Thanks! That's good to hear.

I am ready to merge this, but this needs to be documented. (1) I would love flyspell-correct--cr-index to contain your explanation in the docstring and (2) README

I will improve the documentation and then you can take another look at and maybe improve if further according to your preferences.

And one point that is out of scope of this PR, but I still would love to hear your opinion. What do you think about making it possible to configure indexing? While I find flyspell-correct--cr-index to be clever ergonomics wise, it's still an ergonomics hack for certain context, and maybe others would love to change it to natural numbers or something else.

Yes, I think this is out of scope. Note that it is not easily possible to change this to natural numbers, since then we cannot auto submit. The idea is that the last digit is 1,2,3,4,5 which submits. The digits 6,7,8,9,0 are used to encode the number/5. This is not easy to change. I thought a bit about a nice scheme for the quick keys and this is what I came up with. I am sure someone users have their special preferences, but then they can make another proposal or even make a PR.

d12frosted commented 3 years ago

Yes, I think this is out of scope. Note that it is not easily possible to change this to natural numbers, since then we cannot auto submit. The idea is that the last digit is 1,2,3,4,5 which submits. The digits 6,7,8,9,0 are used to encode the number/5. This is not easy to change. I thought a bit about a nice scheme for the quick keys and this is what I came up with. I am sure someone users have their special preferences, but then they can make another proposal or even make a PR.

Right. Automatic commit breaks then.

I will improve the documentation and then you can take another look at and maybe improve if further according to your preferences.

~Do you wish to make a separate PR for documentation changes?~ You are quick!

minad commented 3 years ago

Do you wish to make a separate PR for documentation changes?

Just pushed it here, I hope it is good like this.

d12frosted commented 3 years ago

Thank you very much, merged as a2c5dbf, 5cb53ac and b3b7b72 💯 🎉