blob: 8b4ca4bcfaed615cb10dcf552405f8f20bebe5bb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
" Vim syntax file
" Language: every
" Maintainer: katherine <ageha@airen-no-jikken.icu>
" URL: https://git.airen-no-jikken.icu/ageha/every.vim
if exists("b:current_syntax")
finish
endif
syn iskeyword a-z,.
let b:current_syntax = "every"
syn region everyCommentLine start="#" end="$"
syn match everyInterval '\%([1-9]\d*[ymdHMS]\s*\)\{1,6}' contained
syn match everyDate '\%([1-9]\d*\|_\)\%(-\%([1-9]\d\|\d\=[1-9]\|_\)\%(-\%([1-9]\d\|\d\=[1-9]\|_\)\%(\s\+\%(\d\=\d\|_\)\%(:\%(\d\=\d\|_\)\%(:\%(\d\=\d\|_\)\)\=\)\=\)\=\)\=\)\=' contained
syn match everyBool "[tT][rR][uU][eE]\|[fF][aA][lL][sS][eE]\|[yY][eE][sS]\|[nN][oO]\|[oO][nN]\|[oO][fF][fF]" contained
syn keyword everyCommand .urgent .local nextgroup=everyBool skipwhite
syn keyword everyCommand .stay .warn nextgroup=everyInterval skipwhite
syn region everyMessage start=","ms=s+1 end="$" contained
syn keyword everyEveryKeys from to nextgroup=everyDate skipwhite contained
syn keyword everyEveryKeys every nextgroup=everyInterval skipwhite contained
syn region everyEveryLine start="every" end="$" contains=everyEveryKeys,everyMessage
syn keyword everyOnKeys on nextgroup=everyDate skipwhite contained
syn region everyOnLine start="on" end="$" contains=everyOnKeys,everyMessage
hi def link everyCommentLine Comment
hi def link everyInterval Number
hi def link everyDate Number
hi def link everyBool Boolean
hi def link everyCommand Define
hi def link everyMessage String
hi def link everyEveryKeys Statement
hi def link everyOnKeys Statement
|