From f906ba9d37254ea391262781ca506ac912c378a9 Mon Sep 17 00:00:00 2001 From: Daniel Shahaf Date: Sat, 21 Dec 2019 11:43:30 +0000 Subject: 45108: ztst.vim: Conceal the '>' or '?' on pattern expected output / expected errput lines. This aligns the expectations given by '*>' and '>' lines. --- Test/ztst.vim | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) (limited to 'Test') diff --git a/Test/ztst.vim b/Test/ztst.vim index 3c9e0e173..842564de2 100644 --- a/Test/ztst.vim +++ b/Test/ztst.vim @@ -1,6 +1,8 @@ "" A Vim syntax highlighting file for Test/*.ztst " -" See ../Util/zyodl.vim for installation instructions +" See ../Util/zyodl.vim for installation instructions. +" Also, it's recommended to 'setlocal conceallevel=3 concealcursor=nc'. +" " 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' @@ -10,7 +12,6 @@ " 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") @@ -33,11 +34,18 @@ syn region ztstTestName start=// end=/$/ contained syn match ztstInputMarker /^/ nextgroup=ztstOutput contains=ztstPatternMarker + +syn match ztstOutputPattern /^[*]>/ nextgroup=ztstOutput contains=ztstOutputPatternSigil,ztstOutputPatternMarker +syn match ztstOutputPatternSigil /[*]/ contained +syn match ztstOutputPatternMarker /[>]/ contained conceal +syn match ztstOutputLiteral /^>/ nextgroup=ztstOutput syn region ztstOutput start=// end=/$/ contained -syn match ztstErrputMarker /^[*]\??/ nextgroup=ztstErrput contains=ztstPatternMarker + +syn match ztstErrputPattern /^[*][?]/ nextgroup=ztstErrput contains=ztstErrputPatternSigil,ztstErrputPatternMarker +syn match ztstErrputPatternSigil /[*]/ contained +syn match ztstErrputPatternMarker /[?]/ contained conceal +syn match ztstErrputLiteral /^[?]/ nextgroup=ztstErrput syn region ztstErrput start=// end=/$/ contained -syn match ztstPatternMarker /[*]/ contained syn match ztstFrequentExplanationMarker /^F:/ nextgroup=ztstFrequentExplanation syn region ztstFrequentExplanation start=// end=/$/ contained @@ -56,11 +64,14 @@ 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 ztstOutputPatternSigil Type +hi def link ztstOutputPatternMarker Ignore +hi def link ztstOutputLiteral Ignore hi def link ztstErrput Identifier -hi def link ztstErrputMarker Ignore +hi def link ztstErrputPatternSigil Type +hi def link ztstErrputPatternMarker Ignore +hi def link ztstErrputLiteral 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 -- cgit 1.4.1