mirror of
https://github.com/CatalaLang/catala.git
synced 2024-11-09 22:16:10 +03:00
cf2e80ba51
* Use the newer "pyproject.toml" for syntax highlighters * Use venv for everything (previously, the pygment lexers were installed globally, but more recent Python releases frown upon that. This will probably be more stable in the long run...) * Use one venv at the root of the project (`_python_venv/`) for both pygments and the runtime * Initialise this venv automatically from the Makefile (it should no longer be necessary to run scattered `set_up.sh` scripts with mysterious interactions) On the downsides, though: * Only tested with Python 3.11 at the moment * Need to remember to activate the venv (`. _python_venv/bin/activate`) from the root for e.g. HTML literate output to work. A more manageable solution could be for Catala to provide the lexers on-the-fly when calling `pygmentize`.
64 lines
1.8 KiB
Markdown
64 lines
1.8 KiB
Markdown
# Syntax highlighting
|
|
|
|
The Catala language also comes with syntax highlighting to
|
|
ease program development. The syntax highlighting is done, among other
|
|
techniques, with the [Iro](https://eeyo.io/iro/) compiler that allows
|
|
writing the syntax only once, and then export it to formats
|
|
understood by various IDE.
|
|
|
|
**DISCLAIMER:**
|
|
|
|
The maintenance of the various syntax highlighting plugins is *BEST-EFFORT*.
|
|
Indeed many of the plugins were developed by the community and their creators
|
|
did not commit to long-term maintenance.
|
|
|
|
## Atom
|
|
|
|
To get Catala syntax highlighting in Atom, simply enter from
|
|
the root of the repository, depending on the language you want to use :
|
|
|
|
make atom_fr
|
|
|
|
or
|
|
|
|
make atom_en
|
|
|
|
You can now reload Atom and check that you have syntax highlighting on any `.catala` file.
|
|
|
|
## VSCode
|
|
|
|
To get Catala syntax highlighting in VSCode, simply enter from
|
|
the root of the repository, depending on the language you want to use :
|
|
|
|
make vscode_fr
|
|
|
|
or
|
|
|
|
make vscode_en
|
|
|
|
You can now reload VSCode and check that you have syntax highlighting on any `.catala` file.
|
|
|
|
## Pygments
|
|
|
|
Pygments is a Python-based versatile lexer for various programming languages. To
|
|
use a version of Pygments augmented with the Catala plugin, simply enter from
|
|
the root of the repository
|
|
|
|
make pygments
|
|
|
|
This will setup a Python virtual environment ("venv"), and install the syntax
|
|
highlighting plugins that allow Pygments to handle Catala files. Those are
|
|
defined in `syntax_highlighting/XX/pygments/`.
|
|
|
|
Pygments is used for instance by the `minted` LaTeX package. To make sure it is
|
|
available, you need to "activate" the python venv each time using:
|
|
|
|
. _python_venv/bin/activate
|
|
|
|
## GNU gedit
|
|
|
|
Copy the file [catala.lang](./gnu_gedit/catala.lang) to the directory below (create if it does not exist) and then restart GEdit.
|
|
```
|
|
~/.local/share/gtksourceview-4/language-specs
|
|
```
|