Manual pages: mc • mcdiff • mcedit • mcview

root/misc/syntax/jinja2.syntax

/* [previous][next][first][last][top][bottom][index][help]  */
# Jinja2 template syntax highlighting
#
# Reference:
#   https://jinja.palletsprojects.com/en/stable/templates/
#
# Highlights the Jinja2 template constructs:
#   {{ ... }}    output / expression tags
#   {% ... %}    statement / block tags (if / for / set / block / macro / ...)
#   {# ... #}    comments
#   # ...        line comments (typical in config templates)
#   "..." '...'  strings
#   numbers
# and colors every builtin filter, test and global function as a builtin name.
 
context default
    # numbers in the template body (engine takes the first matching rule at a
    # position, so most specific forms go first: decimal+exp, exp, decimal, int)
    keyword whole \{0123456789\}\[0123456789\]\.\{0123456789\}\[0123456789\]\{eE\}\{\+-\}\{0123456789\}\[0123456789\] cyan
    keyword whole \{0123456789\}\[0123456789\]\.\{0123456789\}\[0123456789\]\{eE\}\{0123456789\}\[0123456789\] cyan
    keyword whole \{0123456789\}\[0123456789\]\{eE\}\{\+-\}\{0123456789\}\[0123456789\] cyan
    keyword whole \{0123456789\}\[0123456789\]\{eE\}\{0123456789\}\[0123456789\] cyan
    keyword whole \{0123456789\}\[0123456789\]\.\{0123456789\}\[0123456789\] cyan
    keyword whole \{0123456789\}\[0123456789\] cyan
    keyword whole \{0123456789\} cyan
 
    # jinja2 statement / block tag: {% ... %}
    context {% %} brightcyan
        # statement keywords
        keyword whole if white
        keyword whole elif white
        keyword whole else white
        keyword whole endif white
        keyword whole for white
        keyword whole endfor white
        keyword whole set white
        keyword whole endset white
        keyword whole macro white
        keyword whole endmacro white
        keyword whole call white
        keyword whole endcall white
        keyword whole filter white
        keyword whole endfilter white
        keyword whole extends white
        keyword whole block white
        keyword whole endblock white
        keyword whole include white
        keyword whole import white
        keyword whole from white
        keyword whole as white
        keyword whole raw white
        keyword whole endraw white
        keyword whole autoescape white
        keyword whole endautoescape white
        keyword whole scoped white
        keyword whole required white
        keyword whole recursive white
        keyword whole ignore white
        keyword whole missing white
        keyword whole with white
        keyword whole without white
        keyword whole context white
 
        # operators
        keyword whole and brightmagenta
        keyword whole or brightmagenta
        keyword whole not brightmagenta
        keyword whole in brightmagenta
        keyword whole is brightmagenta
 
        # literals
        keyword whole true magenta
        keyword whole false magenta
        keyword whole none magenta
 
        # pipe (filter separator)
        keyword | brightmagenta
 
        # builtin filters
        keyword whole abs brightgreen
        keyword whole attr brightgreen
        keyword whole batch brightgreen
        keyword whole capitalize brightgreen
        keyword whole center brightgreen
        keyword whole default brightgreen
        keyword whole dictsort brightgreen
        keyword whole escape brightgreen
        keyword whole filesizeformat brightgreen
        keyword whole first brightgreen
        keyword whole float brightgreen
        keyword whole forceescape brightgreen
        keyword whole format brightgreen
        keyword whole groupby brightgreen
        keyword whole indent brightgreen
        keyword whole int brightgreen
        keyword whole items brightgreen
        keyword whole join brightgreen
        keyword whole last brightgreen
        keyword whole length brightgreen
        keyword whole list brightgreen
        keyword whole lower brightgreen
        keyword whole map brightgreen
        keyword whole max brightgreen
        keyword whole min brightgreen
        keyword whole pprint brightgreen
        keyword whole random brightgreen
        keyword whole reject brightgreen
        keyword whole rejectattr brightgreen
        keyword whole replace brightgreen
        keyword whole reverse brightgreen
        keyword whole round brightgreen
        keyword whole safe brightgreen
        keyword whole select brightgreen
        keyword whole selectattr brightgreen
        keyword whole slice brightgreen
        keyword whole sort brightgreen
        keyword whole string brightgreen
        keyword whole striptags brightgreen
        keyword whole sum brightgreen
        keyword whole title brightgreen
        keyword whole tojson brightgreen
        keyword whole trim brightgreen
        keyword whole truncate brightgreen
        keyword whole unique brightgreen
        keyword whole upper brightgreen
        keyword whole urlencode brightgreen
        keyword whole urlize brightgreen
        keyword whole wordcount brightgreen
        keyword whole wordwrap brightgreen
        keyword whole xmlattr brightgreen
 
        # builtin tests
        keyword whole boolean yellow
        keyword whole callable yellow
        keyword whole defined yellow
        keyword whole divisibleby yellow
        keyword whole eq yellow
        keyword whole escaped yellow
        keyword whole even yellow
        keyword whole ge yellow
        keyword whole gt yellow
        keyword whole integer yellow
        keyword whole iterable yellow
        keyword whole le yellow
        keyword whole lt yellow
        keyword whole mapping yellow
        keyword whole ne yellow
        keyword whole number yellow
        keyword whole odd yellow
        keyword whole sameas yellow
        keyword whole sequence yellow
        keyword whole test yellow
        keyword whole undefined yellow
 
        # builtin global functions
        keyword whole cycler brightblue
        keyword whole dict brightblue
        keyword whole joiner brightblue
        keyword whole lipsum brightblue
        keyword whole namespace brightblue
        keyword whole range brightblue
 
        # numbers (most specific first, see note in default context)
        keyword whole \{0123456789\}\[0123456789\]\.\{0123456789\}\[0123456789\]\{eE\}\{\+-\}\{0123456789\}\[0123456789\] cyan
        keyword whole \{0123456789\}\[0123456789\]\.\{0123456789\}\[0123456789\]\{eE\}\{0123456789\}\[0123456789\] cyan
        keyword whole \{0123456789\}\[0123456789\]\{eE\}\{\+-\}\{0123456789\}\[0123456789\] cyan
        keyword whole \{0123456789\}\[0123456789\]\{eE\}\{0123456789\}\[0123456789\] cyan
        keyword whole \{0123456789\}\[0123456789\]\.\{0123456789\}\[0123456789\] cyan
        keyword whole \{0123456789\}\[0123456789\] cyan
        keyword whole \{0123456789\} cyan
 
    # jinja2 expression tag: {{ ... }}
    context {{ }} brightred
        # operators (incl. inline if-expression)
        keyword whole and brightmagenta
        keyword whole or brightmagenta
        keyword whole not brightmagenta
        keyword whole in brightmagenta
        keyword whole is brightmagenta
        keyword whole if brightgreen
        keyword whole else brightgreen
 
        # literals
        keyword whole true magenta
        keyword whole false magenta
        keyword whole none magenta
 
        # pipe (filter separator)
        keyword | brightmagenta
 
        # builtin filters
        keyword whole abs brightgreen
        keyword whole attr brightgreen
        keyword whole batch brightgreen
        keyword whole capitalize brightgreen
        keyword whole center brightgreen
        keyword whole default brightgreen
        keyword whole dictsort brightgreen
        keyword whole escape brightgreen
        keyword whole filesizeformat brightgreen
        keyword whole first brightgreen
        keyword whole float brightgreen
        keyword whole forceescape brightgreen
        keyword whole format brightgreen
        keyword whole groupby brightgreen
        keyword whole indent brightgreen
        keyword whole int brightgreen
        keyword whole items brightgreen
        keyword whole join brightgreen
        keyword whole last brightgreen
        keyword whole length brightgreen
        keyword whole list brightgreen
        keyword whole lower brightgreen
        keyword whole map brightgreen
        keyword whole max brightgreen
        keyword whole min brightgreen
        keyword whole pprint brightgreen
        keyword whole random brightgreen
        keyword whole reject brightgreen
        keyword whole rejectattr brightgreen
        keyword whole replace brightgreen
        keyword whole reverse brightgreen
        keyword whole round brightgreen
        keyword whole safe brightgreen
        keyword whole select brightgreen
        keyword whole selectattr brightgreen
        keyword whole slice brightgreen
        keyword whole sort brightgreen
        keyword whole string brightgreen
        keyword whole striptags brightgreen
        keyword whole sum brightgreen
        keyword whole title brightgreen
        keyword whole tojson brightgreen
        keyword whole trim brightgreen
        keyword whole truncate brightgreen
        keyword whole unique brightgreen
        keyword whole upper brightgreen
        keyword whole urlencode brightgreen
        keyword whole urlize brightgreen
        keyword whole wordcount brightgreen
        keyword whole wordwrap brightgreen
        keyword whole xmlattr brightgreen
 
        # builtin tests
        keyword whole boolean yellow
        keyword whole callable yellow
        keyword whole defined yellow
        keyword whole divisibleby yellow
        keyword whole eq yellow
        keyword whole escaped yellow
        keyword whole even yellow
        keyword whole ge yellow
        keyword whole gt yellow
        keyword whole integer yellow
        keyword whole iterable yellow
        keyword whole le yellow
        keyword whole lt yellow
        keyword whole mapping yellow
        keyword whole ne yellow
        keyword whole number yellow
        keyword whole odd yellow
        keyword whole sameas yellow
        keyword whole sequence yellow
        keyword whole test yellow
        keyword whole undefined yellow
 
        # builtin global functions
        keyword whole cycler brightblue
        keyword whole dict brightblue
        keyword whole joiner brightblue
        keyword whole lipsum brightblue
        keyword whole namespace brightblue
        keyword whole range brightblue
 
        # builtin function
        keyword whole super yellow
 
        # numbers (most specific first, see note in default context)
        keyword whole \{0123456789\}\[0123456789\]\.\{0123456789\}\[0123456789\]\{eE\}\{\+-\}\{0123456789\}\[0123456789\] cyan
        keyword whole \{0123456789\}\[0123456789\]\.\{0123456789\}\[0123456789\]\{eE\}\{0123456789\}\[0123456789\] cyan
        keyword whole \{0123456789\}\[0123456789\]\{eE\}\{\+-\}\{0123456789\}\[0123456789\] cyan
        keyword whole \{0123456789\}\[0123456789\]\{eE\}\{0123456789\}\[0123456789\] cyan
        keyword whole \{0123456789\}\[0123456789\]\.\{0123456789\}\[0123456789\] cyan
        keyword whole \{0123456789\}\[0123456789\] cyan
        keyword whole \{0123456789\} cyan
 
    # jinja2 comment: {# ... #}
    context {# #} brown
 
    # line comment: # to end of line
    context # \n brown
 
    # strings
    context " " green
    context ' ' green

/* [previous][next][first][last][top][bottom][index][help]  */