lervag / vimtex

VimTeX: A modern Vim and neovim filetype plugin for LaTeX files.
MIT License
5.29k stars 386 forks source link

New function to toggle `\\` #2948

Closed handcart2034 closed 1 month ago

handcart2034 commented 2 months ago

Hi, this is a new function that toggles \\ at line end. In environments like align, sometimes the formulas are changed thus the line break is not optimal. One needs $ or A to move to end of line, then either xx or \\, finally go back to the original position, which can be quite tiring for more than a couple lines.

So wrote this function and map tsb to it. If everything looks good will add tests and docs to finalize this request.

lervag commented 1 month ago

Hi, this is a new function that toggles \\ at line end. In environments like align, sometimes the formulas are changed thus the line break is not optimal. One needs $ or A to move to end of line, then either xx or \\, finally go back to the original position, which can be quite tiring for more than a couple lines.

I don't mind adding this, even though I don't think I'll end up using it. It falls nicely into the current patterns and shouldn't be "in the way" of anything that I can think of. I had a comment the implementation, see above.

So wrote this function and map tsb to it. If everything looks good will add tests and docs to finalize this request.

I think it looks good, although I would prefer if you made the suggested change. And, of course, that you add a couple of tests and docs.

And thanks! I appreciate the effort you've made here in actually implementing the feature you want added!

handcart2034 commented 1 month ago

Thanks for the suggestions and the RegEx simplification, all of them have been implemented, along with a couple tests and document updates.

lervag commented 1 month ago

Thanks! I made a minor additional change and then merged this now. The change was basically to change "Toggle line end \\" to "Toggle line-break macro \\" and to use this name consistently.

lervag commented 1 month ago

Note, though: I rebased and merged locally; for some reason, Github doesn't recognize this.

clason commented 1 month ago

Neat! Small follow-up suggestion: support for visual mode ;)

lervag commented 1 month ago

Heh, yes. @handcart2034 are you up for the challenge? One way to implement it would be to reuse the current implementation and just apply it to every line in the visual selection.