Syntax Highlighting in bat
bat uses the syntect library to highlight source
code. As a basis, syntect uses Sublime Text syntax definitions
in the .sublime-syntax format.
In order to add new syntaxes to bat, follow these steps:
-
Find a Sublime Text syntax for the given language, preferably in a separate Git repository which can be included as a submodule (under
assets/syntaxes). -
If the Sublime Text syntax is only available as a
.tmLanguagefile, open the file in Sublime Text and convert it to a.sublime-syntaxfile via Tools -> Developer -> New Syntax from XXX.tmLanguage.... Save the new file in theassets/syntaxesfolder. -
Run the
create.shscript. It callsbat cache --initto parse all available.sublime-syntaxfiles and serialize them to asyntaxes.binfile (in this folder). -
Re-compile
bat. At compilation time, thesyntaxes.binfile will be stored inside thebatbinary.
Troubleshooting
Make sure that the local cache does not interfere with the internally stored syntaxes and
themes (bat cache --clear).
Manual modifications
The following files have been manually modified after converting from a .tmLanguage file:
VimL.sublime-syntax=> added.vimrcfile type.