blob: 85bdd87d9e44f59a614e0b879aef97ed29ccf9a1 [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
laburnumTff0baca2023-12-08 21:27:03 +01005" Last Change: 2023 Dec 08
Bram Moolenaar47003982021-12-05 21:54:04 +00006
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
laburnumTff0baca2023-12-08 21:27:03 +010020unlet b:filetype_in_cpp_family
Bram Moolenaar47003982021-12-05 21:54:04 +000021
22" squirrel extensions
23syn keyword squirrelStatement delete this in yield resume base clone
24syn keyword squirrelAccess local
25syn keyword cConstant null
26syn keyword squirrelModifier static
27syn keyword squirrelType bool instanceof typeof
28syn keyword squirrelExceptions throw try catch
29syn keyword squirrelStructure class function extends constructor
30syn keyword squirrelBoolean true false
31syn keyword squirrelRepeat foreach
32
33syn region squirrelMultiString start='@"' end='"$' end='";$'me=e-1
34
35syn match squirrelShComment "^\s*#.*$"
36
37" Default highlighting
38hi def link squirrelAccess squirrelStatement
39hi def link squirrelExceptions Exception
40hi def link squirrelStatement Statement
41hi def link squirrelModifier Type
42hi def link squirrelType Type
43hi def link squirrelStructure Structure
44hi def link squirrelBoolean Boolean
45hi def link squirrelMultiString String
46hi def link squirrelRepeat cRepeat
47hi def link squirrelShComment Comment
48
49let b:current_syntax = "squirrel"
50
51" vim: ts=8