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