Hi Florent, Florent Rougon <[email protected]> writes:
> Arash Esbati <[email protected]> wrote: > >> Sorry for my late response. I had a second thought on this and came up >> with the name `font-latex-fontify-replacement-text'. A patch to >> xparse.el can look like this: > > (...) > >> The variable will eventually land in font-latex.el, I put it in >> xparse.el for testing purposes. The style file is attached, do you want >> to give it a roll? > > I couldn't apply the patch on top of current 'master' > (087b0300012d14cc86dec946d6c225cdb06460a1) because it has had whitespace > “cleaned up” (at least one tab replaced with spaces and the space above > '(defun' at the end removed). Sorry for the inconvenience; the inline diff was meant to be read :-) > However, I could test with the complete xparse.el style file you > attached, which appears to be precisely the desired result of this > patch. It works perfectly. Thanks for testing. > If you allow me to suggest a few related possible improvements: > > - Maybe rename the variable to something like > `font-latex-fontify-replacement-text-in-single-color'. Rationale: when > the var is set to nil, the replacement text *does* get fontified... > in a better way IMO! :-) I'm not sure about the name. In this setup, every unknown macro \foo gets fontified with `font-latex-sedate-face' like in your example here: https://imgur.com/a/7ADVb5e I find your suggestion somewhat misleading. > - My custom config does similar changes to a few basic LaTeX2e commands: > > \newenvironment > \renewenvironment > \newcommand > \renewcommand > \providecommand > \fbox > \mbox > \sbox > > Maybe you won't feel like doing it on the three *box commands, but I > think that at least the other ones (\newenvironment,... > \providecommand) should be handled in the same way as you did for > \NewDocumentCommand and friends from xparse. I'm easy with adding them to the new setup. My plan is to allow the variable to be set as a file-local variables (as you may have seen in the patch). This should give users better control between normal documents and package writing. > - My custom config does similar changes to the following commands from > ltx-base.el: > > \AtBeginDocument > \AtEndDocument > \AtEndOfPackage > \AtEndOfClass > \DeclareRobustCommand > > Again, at your discretion but in particular, I think > \DeclareRobustCommand should be handled the same way as > \NewDocumentCommand and friends. They are defined in ltx-base.el but not added to fontification. They can be added in this way. > - My custom config does similar changes to the following commands from > environ.el: > > \NewEnviron > \RenewEnviron > > These commands are analogous to \NewDocumentEnvironment and > \RenewDocumentEnvironment. Again, easy with me. > I believe users who write macros or environments longer than a couple of > lines will love these changes. I'd like to hear some other comments on this. Then we can proceed. Best, Arash
