neovim/runtime/syntax/squirrel.vim
zeertzjq f45bf44176
vim-patch:ff0baca86523 (#26476)
runtime(syntax): unlet b:filetype_in_cpp_family for cpp & squirrel

Update runtime/syntax/cpp.vim and runtime/syntax/squirrel.vim to unlet
b:filetype_in_cpp_family as it remains set even after updating the ft of
a file manually or through a modeline, not allowing c specific keywords
to be highlighted.

Since the variable b:filetype_in_cpp_family is only used by the c.vim
syntax script, unlet it directly after sourcing the c.vim runtime file
instead of at the end of the script.

Also update the last Change Header for both files.

closes: vim/vim#13650

ff0baca865

Co-authored-by: laburnumT <laburnumtec@gmail.com>
2023-12-09 07:45:31 +08:00

52 lines
1.5 KiB
VimL

" Vim syntax file
" Language: squirrel
" Current Maintainer: Matt Dunford (zenmatic@gmail.com)
" URL: https://github.com/zenmatic/vim-syntax-squirrel
" Last Change: 2023 Dec 08
" http://squirrel-lang.org/
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
" inform C syntax that the file was included from cpp.vim
let b:filetype_in_cpp_family = 1
" Read the C syntax to start with
runtime! syntax/c.vim
unlet b:current_syntax
unlet b:filetype_in_cpp_family
" squirrel extensions
syn keyword squirrelStatement delete this in yield resume base clone
syn keyword squirrelAccess local
syn keyword cConstant null
syn keyword squirrelModifier static
syn keyword squirrelType bool instanceof typeof
syn keyword squirrelExceptions throw try catch
syn keyword squirrelStructure class function extends constructor
syn keyword squirrelBoolean true false
syn keyword squirrelRepeat foreach
syn region squirrelMultiString start='@"' end='"$' end='";$'me=e-1
syn match squirrelShComment "^\s*#.*$"
" Default highlighting
hi def link squirrelAccess squirrelStatement
hi def link squirrelExceptions Exception
hi def link squirrelStatement Statement
hi def link squirrelModifier Type
hi def link squirrelType Type
hi def link squirrelStructure Structure
hi def link squirrelBoolean Boolean
hi def link squirrelMultiString String
hi def link squirrelRepeat cRepeat
hi def link squirrelShComment Comment
let b:current_syntax = "squirrel"
" vim: ts=8