| ... | ... | @@ -1,81 +0,0 @@ |
| 1 | | " Vim syntax file |
| 2 | | " Language: Zig |
| 3 | | " Maintainer: Andrew Kelley |
| 4 | | " Latest Revision: 03 August 2016 |
| 5 | | |
| 6 | | if exists("b:current_syntax") |
| 7 | | finish |
| 8 | | endif |
| 9 | | let b:current_syntax = "zig" |
| 10 | | |
| 11 | | syn keyword zigStorage const var extern packed export pub noalias inline comptime nakedcc coldcc volatile |
| 12 | | syn keyword zigStructure struct enum union |
| 13 | | syn keyword zigStatement goto break return continue asm defer unreachable |
| 14 | | syn keyword zigConditional if else switch try and or |
| 15 | | syn keyword zigRepeat while for |
| 16 | | |
| 17 | | syn keyword zigConstant null undefined this |
| 18 | | syn keyword zigKeyword fn use test |
| 19 | | syn keyword zigType bool f32 f64 void noreturn type error |
| 20 | | syn keyword zigType i8 u8 i16 u16 i32 u32 i64 u64 isize usize |
| 21 | | syn keyword zigType c_short c_ushort c_int c_uint c_long c_ulong c_longlong c_ulonglong c_long_double |
| 22 | | |
| 23 | | syn keyword zigBoolean true false |
| 24 | | |
| 25 | | syn match zigOperator display "\%(+%\?\|-%\?\|/\|*%\?\|=\|\^\|&\|?\||\|!\|>\|<\|%\|<<%\?\|>>\)=\?" |
| 26 | | syn match zigArrowCharacter display "->" |
| 27 | | |
| 28 | | syn match zigDecNumber display "\<[0-9]\+\%(.[0-9]\+\)\=\%([eE][+-]\?[0-9]\+\)\=" |
| 29 | | syn match zigHexNumber display "\<0x[a-fA-F0-9]\+\%(.[a-fA-F0-9]\+\%([pP][+-]\?[0-9]\+\)\?\)\=" |
| 30 | | syn match zigOctNumber display "\<0o[0-7]\+" |
| 31 | | syn match zigBinNumber display "\<0b[01]\+\%(.[01]\+\%([eE][+-]\?[0-9]\+\)\?\)\=" |
| 32 | | |
| 33 | | |
| 34 | | syn match zigCharacterInvalid display contained /b\?'\zs[\n\r\t']\ze'/ |
| 35 | | syn match zigCharacterInvalidUnicode display contained /b'\zs[^[:cntrl:][:graph:][:alnum:][:space:]]\ze'/ |
| 36 | | syn match zigCharacter /b'\([^\\]\|\\\(.\|x\x\{2}\)\)'/ contains=zigEscape,zigEscapeError,zigCharacterInvalid,zigCharacterInvalidUnicode |
| 37 | | syn match zigCharacter /'\([^\\]\|\\\(.\|x\x\{2}\|u\x\{4}\|U\x\{6}\)\)'/ contains=zigEscape,zigEscapeUnicode,zigEscapeError,zigCharacterInvalid |
| 38 | | |
| 39 | | syn region zigCommentLine start="//" end="$" contains=zigTodo,@Spell |
| 40 | | syn region zigCommentLineDoc start="//\%(//\@!\|!\)" end="$" contains=zigTodo,@Spell |
| 41 | | |
| 42 | | " TODO match only the first '\\' within the zigMultilineString as zigMultilineStringPrefix |
| 43 | | syn match zigMultilineStringPrefix display contained /c\?\\\\/ |
| 44 | | syn region zigMultilineString start="c\?\\\\" end="$" contains=zigMultilineStringPrefix |
| 45 | | |
| 46 | | syn keyword zigTodo contained TODO XXX |
| 47 | | |
| 48 | | syn match zigEscapeError display contained /\\./ |
| 49 | | syn match zigEscape display contained /\\\([nrt\\'"]\|x\x\{2}\)/ |
| 50 | | syn match zigEscapeUnicode display contained /\\\(u\x\{4}\|U\x\{6}\)/ |
| 51 | | syn region zigString start=+c\?"+ skip=+\\\\\|\\"+ end=+"+ oneline contains=zigEscape,zigEscapeUnicode,zigEscapeError,@Spell |
| 52 | | |
| 53 | | hi def link zigDecNumber zigNumber |
| 54 | | hi def link zigHexNumber zigNumber |
| 55 | | hi def link zigOctNumber zigNumber |
| 56 | | hi def link zigBinNumber zigNumber |
| 57 | | |
| 58 | | hi def link zigKeyword Keyword |
| 59 | | hi def link zigType Type |
| 60 | | hi def link zigCommentLine Comment |
| 61 | | hi def link zigCommentLineDoc SpecialComment |
| 62 | | hi def link zigTodo Todo |
| 63 | | hi def link zigString String |
| 64 | | hi def link zigMultilineString String |
| 65 | | hi def link zigMultilineStringPrefix Comment |
| 66 | | hi def link zigCharacterInvalid Error |
| 67 | | hi def link zigCharacterInvalidUnicode zigCharacterInvalid |
| 68 | | hi def link zigCharacter Character |
| 69 | | hi def link zigEscape Special |
| 70 | | hi def link zigEscapeUnicode zigEscape |
| 71 | | hi def link zigEscapeError Error |
| 72 | | hi def link zigBoolean Boolean |
| 73 | | hi def link zigConstant Constant |
| 74 | | hi def link zigNumber Number |
| 75 | | hi def link zigArrowCharacter zigOperator |
| 76 | | hi def link zigOperator Operator |
| 77 | | hi def link zigStorage StorageClass |
| 78 | | hi def link zigStructure Structure |
| 79 | | hi def link zigStatement Statement |
| 80 | | hi def link zigConditional Conditional |
| 81 | | hi def link zigRepeat Repeat |