mirror of
https://github.com/neovim/neovim.git
synced 2026-05-24 22:00:10 +00:00
The presence `djangoOperators` in the file `syntax/django.vim` and
having the highlight function with a `match` statement leads to a
highlight spill-over with other elements defined in `syntax/html.vim`.
To avoid the highlight spill-over declare a region called
`djangoTagBlockNaive` to limit `djangoOperator` to only be matched
within.
related: vim/vim#20225
closes: vim/vim#20232
f03155aa2a
Co-authored-by: tecis <67809811+tecis@users.noreply.github.com>
32 lines
1.4 KiB
VimL
32 lines
1.4 KiB
VimL
" Vim syntax file
|
|
" Language: Django HTML template
|
|
" Maintainer: Dave Hodder <dmh@dmh.org.uk>
|
|
" Last Change: 2014 Jul 13
|
|
" 2026 May 17 by Vim Project Add highlighting for comparison operators #20232
|
|
|
|
" quit when a syntax file was already loaded
|
|
if exists("b:current_syntax")
|
|
finish
|
|
endif
|
|
|
|
if !exists("main_syntax")
|
|
let main_syntax = 'html'
|
|
endif
|
|
|
|
runtime! syntax/django.vim
|
|
runtime! syntax/html.vim
|
|
unlet b:current_syntax
|
|
|
|
syn cluster djangoBlocks add=djangoTagBlock,djangoVarBlock,djangoComment,djangoComBlock
|
|
|
|
syn region djangoTagBlock start="{%" end="%}" contains=djangoStatement,djangoFilter,djangoArgument,djangoTagError display containedin=ALLBUT,@djangoBlocks
|
|
syn region djangoVarBlock start="{{" end="}}" contains=djangoFilter,djangoArgument,djangoVarError display containedin=ALLBUT,@djangoBlocks
|
|
syn region djangoComment start="{%\s*comment\(\s\+.\{-}\)\?%}" end="{%\s*endcomment\s*%}" contains=djangoTodo containedin=ALLBUT,@djangoBlocks
|
|
syn region djangoComBlock start="{#" end="#}" contains=djangoTodo containedin=ALLBUT,@djangoBlocks
|
|
|
|
" Use djangoTagBlockNaive to limit the djangoOperator matched characters to avoid spill-over with HTML, JS and CSS.
|
|
syn region djangoTagBlockNaive start="{%" end="%}" contains=djangoTagBlock,djangoVarBlock,djangoComment,djangoComBlock
|
|
syn match djangoOperator "==\|!=\|<=\|>=\|<\|>" contained containedin=CONTAINS,@djangoTagBlockNaive
|
|
|
|
let b:current_syntax = "htmldjango"
|