Ori Livneh wrote:
Over the course of the next two days, a major update to
the
SyntaxHighlight_GeSHi extension will be rolled out to Wikimedia wikis. The
change swaps geshi, the unmaintained PHP library which performs the
lexical analysis and output formatting of code, for another library,
called Pygments.
The roll-out will remove support for 31 languages while adding support for
several hundred languages not previously supported, including Dart, Rust,
Julia, APL, Mathematica, SNOBOL, Puppet, Dylan, Racket, Swift, and many
others. See <https://people.wikimedia.org/~ori/geshi_changes.txt> for a
full list. The languages that will lose support are mostly obscure, with
the notable exception of ALGOL68, Oz, and MMIX.
Thanks for writing this e-mail and putting together an easy-to-read list.
I use the SyntaxHighlight_GeSHi MediaWiki extension on a few non-Wikimedia
wikis. If I just run "git pull" in the extension's directory in a few
days, is that sufficient? The upgrade path isn't totally clear to me from
your e-mail. I'm also curious if the Pygments version of the extension
will change the required MediaWiki core version needed.
Lastly, the way the extension handles unfamiliar
languages will change.
Previously, if the specified language was not supported by the extension,
instead of a code block, the extension would print an error message. From
now on, it will simply output a plain, unhighlighted block of monospaced
code.
Actually, not instead of, but in addition to. In general, your change
seems like it will be an improvement. My only feature request would be for
a tracking category to be auto-populated. Something similar to "Pages
containing invalid syntax highlight languages" which would then allow wiki
editors to find and address these pages (by setting lang="text" or by
filing Phabricator Maniphest tasks to add support for missing languages).
For what it's worth, I occasionally found the verbose error message
helpful if I tried, for example, <syntaxhighlight lang="html"> instead of
lang="html4strict" or lang="html5". I'm not sure if Pygments has
additional aliases or is a bit more lenient in cases like this?
MZMcBride