helix
                                
                                 helix copied to clipboard
                                
                                    helix copied to clipboard
                            
                            
                            
                        add `]F` and friends for consistency
I love the bracket menus ] and [ for goto_next_* and goto_prev_*, but I find it annoying that only diagnostics get special treatment with ]D and [D for going to the first and last diagnostic.
I've been looking around the code to see how to approach this and I may have sort of already started implementing it, so this is more of a "is anyone else working on this already?" because it feels quite obvious to me but I haven't found any open issue or PR.
Also what is a good place to ask the more experienced contributors here questions about what is the best way to implement something? The Matrix room seems to be a bit more focused on using Helix and more broadly where it's going
I'm not sure the first/last variants are necessary: they can be emulated for the most part by gg]f and ge[f (except for when there are no functions/classes/diagnostics/etc).
It would be interesting to have a way to create keybinds that act as a transactions so that if any of the included motions "fail" (in this case: can't find a function/class/diagnostic/etc), the overall motion is discarded. That would enable emulating this behavior exactly without the need to introduce new commands and keybinds. Though I think this idea should await better scripting/configuration support
Also what is a good place to ask the more experienced contributors here questions about what is the best way to implement something? The Matrix room seems to be a bit more focused on using Helix and more broadly where it's going
The Matrix room can be good for development discussions - it just tends to be more usage-focused at times. @archseer has considered splitting the main room into a development room and a help/usage room - so far it hasn't been so busy that this is necessary but that can be revisited
@the-mikedavis
I'm not sure the first/last variants are necessary: they can be emulated for the most part by
gg]fandge[f(except for when there are no functions/classes/diagnostics/etc).
A lot of the keybinds are "unnecessary" but I know I've been personally missing ]F and it's not like it makes much sense to assign any other action to this key combo — and as mentioned before we already have this with diagnostics, so I think this makes sense even if just for consistencies sake, wouldn't you agree?
The space Add newline below is the real anomaly?
@David-Else
The
space Add newline belowis the real anomaly?
Yeah, that also stands out, but it's also useful so I don't mind it. I personally also mapped ]] and [[ to :bn and :bp respectively,
I could see ]F/[F as useful and maybe ]T/[T but I doubt that jumping to the first/last comment, parameter or class would be practically useful. And even for ]F/[F/]T/[T, for the frequency they would probably be used I think gg]f/ge[f/gg]t/ge[t would be sufficient even if it doesn't behave exactly the same.
I see textobjects and diagnostics as different ideas so I'm not sure I agree with the consistency argument. Even supposing that, I don't think consistency alone is a strong enough reason to justify adding new commands/bindings - they should also be useful on their own and given that this can already be accomplished for the most-part with existing keybinds, I don't think that adding these is necessary. That's my take; I'm not sure how others feel about this.
Alright, I guess I'll just leave it as a customisation in my config then. If you think this feature doesn't fit in with Helix I won't die on this hill.