blob: 81d59cc98650f87d4044efd774f325b61bda6706 [file] [log] [blame]
Bram Moolenaar47003982021-12-05 21:54:04 +00001" Vim syntax file
2" Language: squirrel
3" Current Maintainer: Matt Dunford (zenmatic@gmail.com)
4" URL: https://github.com/zenmatic/vim-syntax-squirrel
5" Last Change: 2021 Nov 28
6
7" http://squirrel-lang.org/
8
9" quit when a syntax file was already loaded
10if exists("b:current_syntax")
11 finish
12endif
13
14" inform C syntax that the file was included from cpp.vim
15let b:filetype_in_cpp_family = 1
16
17" Read the C syntax to start with
18runtime! syntax/c.vim
19unlet b:current_syntax
20
21" squirrel extensions
22syn keyword squirrelStatement delete this in yield resume base clone
23syn keyword squirrelAccess local
24syn keyword cConstant null
25syn keyword squirrelModifier static
26syn keyword squirrelType bool instanceof typeof
27syn keyword squirrelExceptions throw try catch
28syn keyword squirrelStructure class function extends constructor
29syn keyword squirrelBoolean true false
30syn keyword squirrelRepeat foreach
31
32syn region squirrelMultiString start='@"' end='"$' end='";$'me=e-1
33
34syn match squirrelShComment "^\s*#.*$"
35
36" Default highlighting
37hi def link squirrelAccess squirrelStatement
38hi def link squirrelExceptions Exception
39hi def link squirrelStatement Statement
40hi def link squirrelModifier Type
41hi def link squirrelType Type
42hi def link squirrelStructure Structure
43hi def link squirrelBoolean Boolean
44hi def link squirrelMultiString String
45hi def link squirrelRepeat cRepeat
46hi def link squirrelShComment Comment
47
48let b:current_syntax = "squirrel"
49
50" vim: ts=8