##// END OF EJS Templates
contrib/vim: add a syntax file for unified tests...
Steve Losh -
r12509:4746a2e4 default
parent child Browse files
Show More
@@ -0,0 +1,41 b''
1 " Vim syntax file
2 " Language: Mercurial unified tests
3 " Author: Steve Losh (steve@stevelosh.com)
4 "
5 " Add the following line to your ~/.vimrc to enable:
6 " au BufNewFile,BufRead *.t set filetype=hgtest
7 "
8 " If you want folding you'll need the following line as well:
9 " let hgtest_fold=1
10 "
11 " You might also want to set the starting foldlevel for hgtest files:
12 " autocmd Syntax hgtest setlocal foldlevel=1
13
14 if exists("b:current_syntax")
15 finish
16 endif
17
18 syn include @Shell syntax/sh.vim
19
20 syn match hgtestComment /^[^ ].*$/
21 syn region hgtestOutput start=/^ [^$>]/ start=/^ $/ end=/\v.(\n\n*[^ ])\@=/me=s end=/^ [$>]/me=e-3 end=/^$/ fold containedin=hgtestBlock
22 syn match hgtestCommandStart /^ \$ / containedin=hgtestCommand
23 syn region hgtestCommand start=/^ \$ /hs=s+4,rs=s+4 end=/^ [^>]/me=e-3 end=/^ $/me=e-2 containedin=hgtestBlock contains=@Shell keepend
24 syn region hgtestBlock start=/^ /ms=e-2 end=/\v.(\n\n*[^ ])\@=/me=s end=/^$/me=e-1 fold keepend
25
26 hi link hgtestCommandStart Keyword
27 hi link hgtestComment Normal
28 hi link hgtestOutput Comment
29
30 if exists("hgtest_fold")
31 setlocal foldmethod=syntax
32 endif
33
34 syn sync match hgtestSync grouphere NONE "^$"
35 syn sync maxlines=200
36
37 " It's okay to set tab settings here, because an indent of two spaces is specified
38 " by the file format.
39 setlocal tabstop=2 softtabstop=2 shiftwidth=2 expandtab
40
41 let b:current_syntax = "hgtest"
General Comments 0
You need to be logged in to leave comments. Login now