Since reformat & reformat+justify are built-ins I can’t really provide decent patch w/o asking prior how we could solve the issue.
Two examples:
(1) Git commit:
I type commit message, than I press ⌃Q on 2nd paragraph.
——————————— before ——————————
Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # On branch master
——————————— after ———————————
Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # On branch master # # Initial commit #
This isn’t really what I would expect. Of course when I put empty line after 2nd paragraph it does work fine. Unfortunately I keep forgetting about that.
(2) Same applies to LaTeX, which is even more frustrating, since empty line in LaTex is actually meaningful.
——————————— before ——————————
\documentclass{article} \begin{document} \title Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. \end{document}
——————————— after ———————————
\documentclass{article} \begin{document} \title Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. \end{document}
——————————— expected ———————————
\documentclass{article} \begin{document} \title Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. \end{document}
Also this applies to following cases when new environment starts before some text block.
——————————— before —————————— long paragraph text % comment ——————————— after ——————————— long paragraph text wrapped % comment
——————————— before —————————— long paragraph text \begin{equation} … ——————————— after ——————————— long paragraph text wrapped \begin{equation} …
So basically reformat should take into account paragraph boundaries of given language (grammar). I’d say it would be just enough if paragraph boundary would be: (1) line with commend (2) ending or starting of fold scope
WDYT?
— Adam