zsh-workers
 help / color / mirror / code / Atom feed
3c9e0e17361041bcc77d9aeed28fcf1032425ff0 blob 3122 bytes (raw)

 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
 
"" A Vim syntax highlighting file for Test/*.ztst
"
" See ../Util/zyodl.vim for installation instructions
" See B01cd.ztst for cases we cover

" TODO: Some zsh syntax isn't highlighted, e.g., «{ cd $0 }» doesn't highlight either 'cd' or '$0'
"   Apparently because the $VIMRUNTIME/syntax/zsh.vim zshBrackets group is defined as 'contains=TOP'?
"   https://bugs.debian.org/947120
" TODO: ZTST_unimplemented ZTST_skip aren't recognized everywhere
"   I haven't found yet a legitimate use where they aren't highlighted, but
"   they aren't highlighted in theoretical cases such as (( ++ZTST_skip )).
"   (This example is theoretical because those variables are string-typed.)
" TODO: for glob-like output/errput lines, conceal the '>' or '?' to align them with adjacent lines.

"" Boilerplate:
if exists("b:current_syntax")
  finish
endif
let s:cpo_save = &cpo
set cpo&vim

"" Syntax groups:
syn clear

syn include @zsh                   syntax/zsh.vim

syn match  ztstPayload             /^\s\+\zs.*/ contains=@zsh

syn match  ztstExitCode            /^\d\+\|^-/                nextgroup=ztstFlags
syn match  ztstFlags               /[.dDq]*:/       contained nextgroup=ztstTestName contains=ztstColon
syn match  ztstColon               /:/              contained
syn region ztstTestName            start=// end=/$/ contained 

syn match  ztstInputMarker         /^</                       nextgroup=ztstInput
syn region ztstInput               start=// end=/$/ contained
syn match  ztstOutputMarker        /^[*]\?>/                  nextgroup=ztstOutput   contains=ztstPatternMarker
syn region ztstOutput              start=// end=/$/ contained
syn match  ztstErrputMarker        /^[*]\??/                  nextgroup=ztstErrput   contains=ztstPatternMarker
syn region ztstErrput              start=// end=/$/ contained
syn match  ztstPatternMarker       /[*]/            contained

syn match  ztstFrequentExplanationMarker /^F:/                nextgroup=ztstFrequentExplanation
syn region ztstFrequentExplanation start=// end=/$/ contained

syn match  ztstDirective           /^%.*/

syn match  ztstComment             /^#.*/

syn keyword ztstSpecialVariable ZTST_unimplemented ZTST_skip ZTST_testdir containedin=@zsh 

"" Highlight groups:
hi def link ztstExitCode                  Number
hi def link ztstFlags                     Normal
hi def link ztstColon                     Ignore
hi def link ztstTestName                  Title
hi def link ztstInput                     Normal
hi def link ztstInputMarker               Ignore
hi def link ztstOutput                    String
hi def link ztstOutputMarker              Ignore
hi def link ztstErrput                    Identifier
hi def link ztstErrputMarker              Ignore
hi def link ztstDirective                 Statement
hi def link ztstPatternMarker             Type
hi def link ztstComment                   Comment
hi def link ztstFrequentExplanation       PreProc
hi def link ztstFrequentExplanationMarker Ignore
hi def link ztstSpecialVariable           Underlined

"" Boilerplate:
let b:current_syntax = "ztst"
let &cpo = s:cpo_save
unlet s:cpo_save
debug log:

solving 3c9e0e173 ...
found 3c9e0e173 in https://git.vuxu.org/mirror/zsh/

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).