annotate contrib/vim/hgtest.vim @ 16076:e7701459fb42

windows: use 'str.replace()' instead of combination of split() and join() 'str.replace()' is twice (or more) as fast as combination of split() and join(). combination of split() and join() in current 'util.pconvert()' implementation comes only from historical reason when win32mbcs extension was introduced.
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Sun, 05 Feb 2012 22:58:31 +0900
parents 4746a2e4b239
children 6db1642288c0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12509
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
1 " Vim syntax file
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
2 " Language: Mercurial unified tests
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
3 " Author: Steve Losh (steve@stevelosh.com)
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
4 "
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
5 " Add the following line to your ~/.vimrc to enable:
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
6 " au BufNewFile,BufRead *.t set filetype=hgtest
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
7 "
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
8 " If you want folding you'll need the following line as well:
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
9 " let hgtest_fold=1
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
10 "
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
11 " You might also want to set the starting foldlevel for hgtest files:
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
12 " autocmd Syntax hgtest setlocal foldlevel=1
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
13
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
14 if exists("b:current_syntax")
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
15 finish
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
16 endif
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
17
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
18 syn include @Shell syntax/sh.vim
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
19
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
20 syn match hgtestComment /^[^ ].*$/
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
21 syn region hgtestOutput start=/^ [^$>]/ start=/^ $/ end=/\v.(\n\n*[^ ])\@=/me=s end=/^ [$>]/me=e-3 end=/^$/ fold containedin=hgtestBlock
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
22 syn match hgtestCommandStart /^ \$ / containedin=hgtestCommand
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
23 syn region hgtestCommand start=/^ \$ /hs=s+4,rs=s+4 end=/^ [^>]/me=e-3 end=/^ $/me=e-2 containedin=hgtestBlock contains=@Shell keepend
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
24 syn region hgtestBlock start=/^ /ms=e-2 end=/\v.(\n\n*[^ ])\@=/me=s end=/^$/me=e-1 fold keepend
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
25
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
26 hi link hgtestCommandStart Keyword
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
27 hi link hgtestComment Normal
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
28 hi link hgtestOutput Comment
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
29
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
30 if exists("hgtest_fold")
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
31 setlocal foldmethod=syntax
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
32 endif
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
33
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
34 syn sync match hgtestSync grouphere NONE "^$"
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
35 syn sync maxlines=200
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
36
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
37 " It's okay to set tab settings here, because an indent of two spaces is specified
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
38 " by the file format.
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
39 setlocal tabstop=2 softtabstop=2 shiftwidth=2 expandtab
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
40
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
41 let b:current_syntax = "hgtest"