Feedbacks on the breaking-cleanups branch

I’d like we can set the selection orientation to the left for p and <a-!>, so we can press h to return to the previous position.

Sometimes me too, but I guess it could be relatively easy to map/wrap those command in order to keep consistency

For example you could map p to p<a-;> and define a custom command to replace ! Providing shell completion also and forwarding the prompt content to ! Args and then calling <a-;>

On this branch, I want to do xJJJ, and this mostly works because it seems to set the cursor “target” column to infinite, so the cursor always lands on the end of the line. But it also omits the trailing newline on that line, regardless.

Is there a reason to keep that behavior?

I think the same, I just comment out the key definition in normal.cc in the line 2359 in the breaking cleanups branch and recompile it, it really make writting macros easier

I did this too. However, it also breaks escape to cancel your current number in normal mode. I haven’t figured out how to fix it because it hasn’t been too much of a problem, but it is annoying sometimes.

1 Like

Wow, didn’t tripped on that yet, thanks.

I quite like this, but I have two additional suggestions. Perhaps I’ll try to split them into separate comments.

Suggestion 1: <a-X> should work the same as X, but backwards (that is, it should select one more line upwards).

Suggestion 2: Once this lands, I wish there was an easy way to make a config file that works both on older and newer versions of Kakoune and implements the same (new) behavior. So, the config has to be conditional on the Kakoune version. Is there some easy way of doing this I missed?

One possible design would be to have a command ensure_kakoune_version XXXX. It should fail if Kakoune’s version is less than XXXX. Then, one could use it in a try/catch block to have a config apply only on the older versions.

It should ideally be implemented in C++ rather than in the standard library, so that it doesn’t give a false positive when the standard library is not loaded. Or it could be a part of the standard library that is always loaded. Or perhaps this is an overly clever attempt at avoiding a conditional statement, and it should be something like if_kakoune_version --less_than XXXX %{ commands %}.

(If there is no <a-X> on newer versions of Kakoune, you could check for that, but this will break if that command is ever implemented. I’m hoping it will be, as mentioned in 1.)