Pygments plugin for the CindyScript language used by Cinderella and CindyJS. It can be used to nicely format CindyScript as HTML or in other formats.
In theory, all you need to do is install Pygments
and this package here:
pip install CindyScriptPygments
This will install the latest release of each of these packages.
If you don’t want to install the package system-wide, pip
offers alternatives
like the --user
flag for a per-user installation.
See pip install --help
for details.
In that case, you may have to perform additional steps in order to ensure
that the pygmentize
command line utility is available on the PATH
,
at least if the Pygments
dependency isn’t already installed globally.
This plugin registers a Pygments lexer for a language named CindyScript
,
associated with the MIME type text/x-cindyscript
.
You can use it from the command line like this:
pygmentize -l cindyscript sourcecode.cs
To generate specific file formats, use commands like these:
pygmentize -f html -O full -l cindyscript -o sourcecode.html sourcecode.cs
pygmentize -f tex -O full -l cindyscript -o sourcecode.tex sourcecode.cs
pygmentize -f svg -O full -l cindyscript -o sourcecode.svg sourcecode.cs
The file extension *.cs
is not associated with the plugin,
since that’s already taken by C# a.k.a. csharp
.
Most often, CindyScript code is not contained in a file of its own,
but instead embedded into a *.cdy
file for Cinderella,
or a HTML page for CindyJS.
For the latter case, you can format the whole document using
pygmentize -l CindyJS-HTML sourcecode.html
This runs the HTML highlighter on the document,
which in turn delegates to the JavaScript and CSS highlighters.
But script blocks with the attribute type="text/x-cindyscript"
are handled by the CindyScript lexer.
There exist several packages which make use of Pygments for syntax highlighting. Notable examples include the minted package for LaTeX or the pygmentize-bundled package for Node.js.
The package aims to be compatible with both Python 2.7 and Python 3. It won’t support Python 3.0 through 3.2 out of the box, since it relies on Unicode literals as introduced by PEP 414 for Python 3.3. The 2to3 fixer might be able to make the code work with those versions of Python.
Contrary to the current implementation of Pygments’ built-in parsers, this package supports unicode symbols outside the basic multilingual plane even on narrow (UTF-16) builds of Python 2.7.