mirror of
https://github.com/neovim/neovim.git
synced 2026-05-06 08:26:45 -04:00
09821bc04e
Removed djangoStatement: - ifequal: Depricated version 4.0. - endifequal: Depricated version 4.0. - ifnotequal: Depricated version 4.0. - endifnotequal: Depricated version 4.0. - parsed - trans: Renamed to `translate` in version 4.0. - blocktrans: Renamed to `blocktranslate` in version 4.0. - endblocktrans: Renamed to `endblocktranslate` in version 4.0. Removed djangoFilter: - fix_ampersands: Removed in version 1.8. - length_is: Removed in version 5.1. sources: - Current LTS is version [5.2](https://www.djangoproject.com/download/#supported-versions). - Documentation template builtins [5.2](https://docs.djangoproject.com/en/5.2/ref/templates/builtins/#truncatechars-html). - Documentation template builtins [6](https://docs.djangoproject.com/en/6.0/ref/templates/builtins). - [Django Deprecation Timeline](https://docs.djangoproject.com/en/6.0/internals/deprecation) closes: vim/vim#19994 https://github.com/vim/vim/commit/68d3129a05f0c97682126e51dcd7122fc6c2fbba Co-authored-by: tecis <67809811+tecis@users.noreply.github.com>
88 lines
4.1 KiB
VimL
88 lines
4.1 KiB
VimL
" Vim syntax file
|
|
" Language: Django template
|
|
" Maintainer: Dave Hodder <dmh@dmh.org.uk>
|
|
" Last Change: 2021 Nov 29
|
|
" 2026 Feb 12 by Vim Project add partial support #19386
|
|
" 2026 Apr 17 by Vim Project Update to Django 5.2 version #19994
|
|
|
|
" quit when a syntax file was already loaded
|
|
if exists("b:current_syntax")
|
|
finish
|
|
endif
|
|
|
|
syntax case match
|
|
|
|
" Mark illegal characters
|
|
syn match djangoError "%}\|}}\|#}"
|
|
|
|
" Django template built-in tags and parameters
|
|
" 'comment' doesn't appear here because it gets special treatment
|
|
syn keyword djangoStatement contained autoescape csrf_token empty
|
|
" FIXME ==, !=, <, >, <=, and >= should be djangoStatements:
|
|
" syn keyword djangoStatement contained == != < > <= >=
|
|
syn keyword djangoStatement contained and as block endblock by cycle debug else elif
|
|
syn keyword djangoStatement contained extends filter endfilter firstof for
|
|
syn keyword djangoStatement contained endfor if endif ifchanged endifchanged
|
|
syn keyword djangoStatement contained in include load not now
|
|
syn keyword djangoStatement contained regroup reversed spaceless
|
|
syn keyword djangoStatement contained endspaceless templatetag openblock
|
|
syn keyword djangoStatement contained closeblock openvariable closevariable
|
|
syn keyword djangoStatement contained openbrace closebrace opencomment or
|
|
syn keyword djangoStatement contained closecomment widthratio url with endwith
|
|
syn keyword djangoStatement contained get_current_language noop get_available_languages
|
|
syn keyword djangoStatement contained get_current_language_bidi get_language_info plural
|
|
syn keyword djangoStatement contained translate blocktranslate endblocktranslate
|
|
syn keyword djangoStatement contained partialdef endpartialdef partial
|
|
syn keyword djangoStatement contained querystring lorem verbatim
|
|
|
|
" Django templete built-in filters
|
|
syn keyword djangoFilter contained add addslashes capfirst center cut date
|
|
syn keyword djangoFilter contained default default_if_none dictsort
|
|
syn keyword djangoFilter contained dictsortreversed divisibleby escape escapejs
|
|
syn keyword djangoFilter contained filesizeformat first
|
|
syn keyword djangoFilter contained floatformat get_digit join last length length_is
|
|
syn keyword djangoFilter contained linebreaks linebreaksbr linenumbers ljust
|
|
syn keyword djangoFilter contained lower make_list phone2numeric pluralize
|
|
syn keyword djangoFilter contained pprint random removetags rjust slice slugify
|
|
syn keyword djangoFilter contained safe safeseq stringformat striptags
|
|
syn keyword djangoFilter contained time timesince timeuntil title truncatechars
|
|
syn keyword djangoFilter contained truncatewords truncatewords_html unordered_list upper urlencode
|
|
syn keyword djangoFilter contained urlize urlizetrunc wordcount wordwrap yesno
|
|
syn keyword djangoFilter contained force_escape iriencode json_script truncatechars_html
|
|
|
|
" Keywords to highlight within comments
|
|
syn keyword djangoTodo contained TODO FIXME XXX
|
|
|
|
" Django template constants (always surrounded by double quotes)
|
|
syn region djangoArgument contained start=/"/ skip=/\\"/ end=/"/
|
|
|
|
" Mark illegal characters within tag and variables blocks
|
|
syn match djangoTagError contained "#}\|{{\|[^%]}}\|[&#]"
|
|
syn match djangoVarError contained "#}\|{%\|%}\|[<>!&#%]"
|
|
|
|
" Django template tag and variable blocks
|
|
syn region djangoTagBlock start="{%" end="%}" contains=djangoStatement,djangoFilter,djangoArgument,djangoTagError display
|
|
syn region djangoVarBlock start="{{" end="}}" contains=djangoFilter,djangoArgument,djangoVarError display
|
|
|
|
" Django template 'comment' tag and comment block
|
|
syn region djangoComment start="{%\s*comment\(\s\+.\{-}\)\?%}" end="{%\s*endcomment\s*%}" contains=djangoTodo
|
|
syn region djangoComBlock start="{#" end="#}" contains=djangoTodo
|
|
|
|
" Define the default highlighting.
|
|
" Only when an item doesn't have highlighting yet
|
|
|
|
hi def link djangoTagBlock PreProc
|
|
hi def link djangoVarBlock PreProc
|
|
hi def link djangoStatement Statement
|
|
hi def link djangoFilter Identifier
|
|
hi def link djangoArgument Constant
|
|
hi def link djangoTagError Error
|
|
hi def link djangoVarError Error
|
|
hi def link djangoError Error
|
|
hi def link djangoComment Comment
|
|
hi def link djangoComBlock Comment
|
|
hi def link djangoTodo Todo
|
|
|
|
|
|
let b:current_syntax = "django"
|