2015-11-25 14:44:08 +08:00
|
|
|
" Vim syntax file
|
|
|
|
" Language: Zig
|
|
|
|
" Maintainer: Andrew Kelley
|
2015-12-03 15:47:35 +08:00
|
|
|
" Latest Revision: 02 December 2015
|
2015-11-25 14:44:08 +08:00
|
|
|
|
|
|
|
if exists("b:current_syntax")
|
|
|
|
finish
|
|
|
|
endif
|
|
|
|
|
2015-12-03 15:47:35 +08:00
|
|
|
syn keyword zigKeyword fn return mut const extern unreachable export pub as use if else let void goto
|
2015-12-02 12:19:38 +08:00
|
|
|
syn keyword zigType bool i8 u8 i16 u16 i32 u32 i64 u64 isize usize f32 f64 f128
|
2015-11-25 14:44:08 +08:00
|
|
|
|
2015-11-28 12:24:11 +08:00
|
|
|
syn region zigCommentLine start="//" end="$" contains=zigTodo,@Spell
|
|
|
|
syn region zigCommentLineDoc start="//\%(//\@!\|!\)" end="$" contains=zigTodo,@Spell
|
|
|
|
syn region zigCommentBlock matchgroup=zigCommentBlock start="/\*\%(!\|\*[*/]\@!\)\@!" end="\*/" contains=zigTodo,zigCommentBlockNest,@Spell
|
|
|
|
syn region zigCommentBlockDoc matchgroup=zigCommentBlockDoc start="/\*\%(!\|\*[*/]\@!\)" end="\*/" contains=zigTodo,zigCommentBlockDocNest,@Spell
|
|
|
|
syn region zigCommentBlockNest matchgroup=zigCommentBlock start="/\*" end="\*/" contains=zigTodo,zigCommentBlockNest,@Spell contained transparent
|
|
|
|
syn region zigCommentBlockDocNest matchgroup=zigCommentBlockDoc start="/\*" end="\*/" contains=zigTodo,zigCommentBlockDocNest,@Spell contained transparent
|
|
|
|
|
|
|
|
syn keyword zigTodo contained TODO XXX
|
|
|
|
|
2015-12-01 10:58:53 +08:00
|
|
|
syn match zigEscapeError display contained /\\./
|
|
|
|
syn match zigEscape display contained /\\\([nrt0\\'"]\|x\x\{2}\)/
|
|
|
|
syn match zigEscapeUnicode display contained /\\\(u\x\{4}\|U\x\{8}\)/
|
|
|
|
syn match zigEscapeUnicode display contained /\\u{\x\{1,6}}/
|
|
|
|
syn match zigStringContinuation display contained /\\\n\s*/
|
|
|
|
syn region zigString start=+b"+ skip=+\\\\\|\\"+ end=+"+ contains=zigEscape,zigEscapeError,zigStringContinuation
|
|
|
|
syn region zigString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=zigEscape,zigEscapeUnicode,zigEscapeError,zigStringContinuation,@Spell
|
|
|
|
syn region zigString start='b\?r\z(#*\)"' end='"\z1' contains=@Spell
|
|
|
|
|
2015-11-25 14:44:08 +08:00
|
|
|
let b:current_syntax = "zig"
|
|
|
|
|
|
|
|
hi def link zigKeyword Keyword
|
2015-11-28 09:55:06 +08:00
|
|
|
hi def link zigType Type
|
2015-11-28 12:24:11 +08:00
|
|
|
hi def link zigCommentLine Comment
|
|
|
|
hi def link zigCommentLineDoc SpecialComment
|
|
|
|
hi def link zigCommentBlock zigCommentLine
|
|
|
|
hi def link zigCommentBlockDoc zigCommentLineDoc
|
|
|
|
hi def link zigTodo Todo
|
2015-12-01 10:58:53 +08:00
|
|
|
hi def link zigStringContinuation Special
|
|
|
|
hi def link zigString String
|
|
|
|
hi def link zigEscape Special
|
|
|
|
hi def link zigEscapeUnicode zigEscape
|
|
|
|
hi def link zigEscapeError Error
|