Syntax highlighting for jinja(2) including HTML, Markdown, YAML and other templates.
Introduces syntax highlighting into vscode for the following languages:
Raw jinja templates: system name jinja.
no file default associations.
Jinja HTML templates: system name jinja-html.
Default file associations: .jinja, .jinja2, .j2 and .html.j2.
Jinja HTML templates: system name jinja-xml.
Default file associations: .xml.jinja, .xml.jinja2, .xml.j2.
Jinja HTML templates: system name jinja-css.
Default file associations: .css.jinja, .css.jinja2, .css.j2.
Jinja JSON templates: system name jinja-json.
Default file associations: .json.jinja, .json.jinja2, .json.j2.
Jinja markdown templates: system name jinja-md.
Default file associations: .md.jinja, .md.jinja2 and .md.j2.
Jinja YAML (sls) templates: system name jinja-yaml.
Default file associations: .yml.j2, .yaml.j2, .yaml.jinja, .yml.jinja, and .sls.
Jinja TOML templates: system name jinja-toml.
Default file associations: .toml.jinja, .toml.jinja2 and .toml.j2.
Jinja latex templates: system name jinja-latex.
Jinja's default syntax does not play nicely with LaTeX, so this extension adopts the style used in Jupyter nbconvert templates:
((*and*))(rather than{%and%}) for statements / blocks(((and)))(rather than{{and}}) for expressions / variables((=and=))(rather than{#and#}) for comments
Thus assuming the following Jinja configuration:
env = jinja2.Environment(
block_start_string="((*",
block_end_string="*))",
variable_start_string="(((",
variable_end_string=")))",
comment_start_string="((=",
comment_end_string="=))",
...
)Default file associations: .latex.j2, .tex.j2, .latex.jinja2 and .tex.jinja2.
Jinja Lua templates: system name jinja-lua.
Default file associations: .lua.jinja, .lua.jinja2 and .lua.j2.
aka config / cfg / ini file: system name jinja-properties.
Default file associations: .properties.j2, .cfg.j2, .conf.j2, .desktop.j2, .directory.j2 and .ini.j2.
Jinja shell/bash/zsh templates: system name jinja-shell.
Default file associations (same as for the shell language with .j2 appended):
.sh.j2, .bash.j2, .bashrc.j2, .bash_aliases.j2, .bash_profile.j2,
.bash_login.j2, .ebuild.j2, .install.j2, .profile.j2, .bash_logout.j2, .zsh.j2, .zshrc.j2,
.zprofile.j2, .zlogin.j2, .zlogout.j2, .zshenv.j2, .zsh-theme.j2 and .ksh.j2.
Dockerfile templates: system name jinja-dockerfile.
Default file associations: .dockerfile.j2, .dockerfile.jinja and .dockerfile.jinja2.
Unfortunately associating jinja-dockerfile with file names like Dockerfile.j2 doesn't seem to work.
Jinja SQL templates: system name jinja-sql.
Default file associations: .sql.j2, .sql.jinja and .sql.jinja2.
Jinja python templates: system name jinja-py.
Default file associations: .py.j2, .py.jinja, .py.jinja2, .pyi.j2, .pyi.jinja and .pyi.jinja2.
Jinja cython templates: system name jinja-cy.
Default file associations: .pyx.j2, .pyx.jinja, .pyx.jinja2, .pxd.j2, .pxd.jinja, .pxd.jinja2, .pxi.j2, .pxi.jinja and .pxi.jinja2.
Jinja Terraform templates: system name jinja-terraform.
Default file associations: .tf.j2, .tf.jinja, .tf.jinja2, .tfvars.j2, .tfvars.jinja, .tfvars.jinja2, .hcl.j2, .hcl.jinja and .hcl.jinja2.
Jinja Nginx Conf templates: system name jinja-nginx.
Default file associations: .conf.j2, .conf.jinja, and .conf.jinja2.
Jinja Groovy templates: system name jinja-groovy.
Default file associations: .groovy.j2, .groovy.jinja and .groovy.jinja2.
Jinja Systemd Unit File templates: system name jinja-systemd.
Default file associations: .link.j2, .link.jinja, .link.jinja2, .netdev.j2, .netdev.jinja, .netdev.jinja2, .network.j2, .network.jinja, .network.jinja2, .service.j2, .service.jinja, .service.jinja2, .socket.j2, .socket.jinja, .socket.jinja2, .device.j2, .device.jinja, .device.jinja2, .mount.j2, .mount.jinja, .mount.jinja2, .automount.j2, .automount.jinja, .automount.jinja2, .swap.j2, .swap.jinja, .swap.jinja2, .target.j2, .target.jinja, .target.jinja2, .path.j2, .path.jinja, .path.jinja2, .timer.j2, .timer.jinja, .timer.jinja2, .snapshot.j2, .snapshot.jinja, .snapshot.jinja2, .slice.j2, .slice.jinja, .slice.jinja2, .scope.j2, .scope.jinja and .scope.jinja2.
Jinja C++ templates: system name jinja-cpp.
Default file associations: .c.j2, .c.jinja, .c.jinja2, .cpp.jinja, .cpp.jinja2,.cpp.j2,.h.jinja, .h.jinja2, and .h.j2.
Jinja Java templates: system name jinja-java.
Default file associations: .java.j2, .java.jinja, and .java.jinja2.
Jinja JavaScript templates: system name jinja-js.
Default file associations: .js.j2 and .js.jinja2.
Jinja TypeScript templates: system name jinja-ts.
Default file associations: .ts.j2 and .ts.jinja2.
Jinja PHP templates: system name jinja-php.
Default file associations: .php.j2, .php.jinja, and .php.jinja2.
Cisco IOS configuration templates: system name jinja-cisco.
Default file associations: .ios.j2, .ios.jinja, .ios.jinja2, .cisco.j2, .cisco.jinja, .cisco.jinja2
Jinja Rust templates: system name jinja-rust.
Default file associations: .rs.j2, .rs.jinja, and .rs.jinja2
You can add more file associations, for example to associate .html files with jinja-html;
in your user or workspace settings add:
"files.associations": {
"*.html": "jinja-html"
},Allows to set breakpoints in template file.
In order to correctly debug template add "jinja": true option to your configuration in launch.json file.
