.. | ||
syntaxes | ||
themes | ||
.ignore | ||
create.sh | ||
JavaDoc.sublime-syntax.patch | ||
README.md | ||
syntaxes.bin | ||
theme_preview.rs | ||
themes.bin |
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
.tmLanguage
file, open the file in Sublime Text and convert it to a.sublime-syntax
file via Tools -> Developer -> New Syntax from XXX.tmLanguage.... Save the new file in theassets/syntaxes
folder. -
Run the
create.sh
script. It callsbat cache --init
to parse all available.sublime-syntax
files and serialize them to asyntaxes.bin
file (in this folder). -
Re-compile
bat
. At compilation time, thesyntaxes.bin
file will be stored inside thebat
binary.
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:
Dart.sublime-syntax
=> removed#regex.dart
include.INI.sublime-syntax
=> added.hgrc
andhgrc
file types.