Why are pretty printer names uppercased?
Hi all, according to the wiki, and the current code, the arguments to \installprettytype should be uppercased. E.g.: \installprettytype [PHP] [PHP] Referring to them should be uppercased as well: \definetyping[PHP] [option=PHP] \setuptyping[option=PHP] However, the filename should be lowercase, e.g. pret-php.lua and the pretty printer should register itself in lowercase as well: buffers.newvisualizer("lua"). The first thing that happens to the arguments of installprettytype is to lowercase them, and every option= argument that points to a pretty printer is lowercased by setvisualizer in lua before being used. If everything is lowercased, why do we still recommend the arguments to \installprettytype and option= to be uppercase? IMHO this makes things confusing when trying to understand which PHP refers to which php or PHP in the greater picture of things. Why not recommend people to use lowercase identifiers instead, since we're changing everything into lowercase anyway? Or perhaps go a bit further and remove the lowercasing code alltogether, since I don't see any real gain. If the strings / filenames should just match exactly, things will get a lot more predictable? Gr. Matthijs
Matthijs Kooijman wrote:
Hi all,
according to the wiki, and the current code, the arguments to \installprettytype should be uppercased. E.g.:
because want uppercase \startTEX \stopTEX \startMP \stopMP \startLUA \stopLUA
\installprettytype [PHP] [PHP]
Referring to them should be uppercased as well: \definetyping[PHP] [option=PHP]
defining indeed, as it is an instance, but option also accepts lowercase
However, the filename should be lowercase, e.g. pret-php.lua and the pretty printer should register itself in lowercase as well: buffers.newvisualizer("lua"). The first thing that happens to the arguments of installprettytype is to lowercase them, and every option= argument that points to a pretty printer is lowercased by setvisualizer in lua before being used.
indeed. as i don't like casing in filenames, and function names
If everything is lowercased, why do we still recommend the arguments to \installprettytype and option= to be uppercase? IMHO this makes things confusing when trying to understand which PHP refers to which php or PHP in the greater picture of things.
because they generate commands and it's quite valid to say \definetyping[myphp] etc
Why not recommend people to use lowercase identifiers instead, since we're changing everything into lowercase anyway? Or perhaps go a bit further and remove the lowercasing code alltogether, since I don't see any real gain. If the strings / filenames should just match exactly, things will get a lot more predictable?
actually, the advice is that user definitions use uppercase \definehead[MySection][section] etc, just to avoid clashes with built in commands Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Hi Hans,
according to the wiki, and the current code, the arguments to \installprettytype should be uppercased. E.g.:
\installprettytype [PHP] [PHP] because want uppercase
\startTEX \stopTEX
Well, those would be coming from the first argument of definetyping. AFAIU, neither argument to installprettytype is related to these commands.
\definetyping[PHP] [option=PHP]
indeed. as i don't like casing in filenames, and function names Agreed, me neither.
actually, the advice is that user definitions use uppercase
\definehead[MySection][section]
etc, just to avoid clashes with built in commands That makes sense for commands, which is not what I'm proposing to change. I would propose making it look like the following:
\installprettytype [php] [php] \definetyping [PHP] [option=php] Here, the second "php" refers to "pret-php.lua", the first and last "php" refer to each other and to the "php" in newvisualizer("php"). The command defined is still \startPHP, but now the values that refer to other lowercase things (filename, pretty printer name) are lowercase consistently. How's this? Gr. Matthijs
Matthijs Kooijman wrote:
Hi Hans,
according to the wiki, and the current code, the arguments to \installprettytype should be uppercased. E.g.:
\installprettytype [PHP] [PHP] because want uppercase
\startTEX \stopTEX
Well, those would be coming from the first argument of definetyping. AFAIU, neither argument to installprettytype is related to these commands.
sure but they are somewhat related (also with the color palets then)
\definetyping[PHP] [option=PHP]
indeed. as i don't like casing in filenames, and function names Agreed, me neither.
actually, the advice is that user definitions use uppercase
\definehead[MySection][section]
etc, just to avoid clashes with built in commands That makes sense for commands, which is not what I'm proposing to change. I would propose making it look like the following:
\installprettytype [php] [php] \definetyping [PHP] [option=php]
Here, the second "php" refers to "pret-php.lua", the first and last "php" refer to each other and to the "php" in newvisualizer("php").
The command defined is still \startPHP, but now the values that refer to other lowercase things (filename, pretty printer name) are lowercase consistently.
How's this?
in order to get that working and remain compatible, we'd also need to redefine \definepalet [TEXcolorpretty] [colorpretty] \definepalet [TEXgraypretty] [graypretty] (ans use some nasty trickery to let texcolorpretty and TEXcolorpretty both be valid) etc and as users themselves seldom see the low level definitions it's not worth the trouble Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
participants (2)
-
Hans Hagen
-
Matthijs Kooijman