contrib/vim/hgtest.vim
author Jun Wu <quark@fb.com>
Fri, 08 Dec 2017 14:20:34 -0800
changeset 35330 0c1aff6d73a7
parent 18052 6db1642288c0
permissions -rw-r--r--
revset: use phasecache.getrevset to calculate public() Other revsets like secret(), draft(), _nonpublic() are using phasescache.getrevset already. The latter is more efficient after D1606. So let's migrate the public() revset function too. Tested using: $ hg debugshell --hidden --cwd hg-committed` In [1]: %timeit len(repo.revs('public()')) * Before D1606: 10 loops, best of 3: 22.5 ms per loop * Before this change, after D1606: 10 loops, best of 3: 28.6 ms per loop * After this change: 10 loops, best of 3: 20.2 ms per loop Therefore `public()` revset becomes even slightly faster after the data structure change by D1606. A similar performance win could also be observed on a large repo. A side effect is `phasecache.getrevset` needs to take a `subset` parameter. That was added with a default value so it won't cause BC issues. Differential Revision: https://phab.mercurial-scm.org/D1620
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
"
18052
6db1642288c0 contrib: state explicitly how hgtest.vim can be installed
Mads Kiilerich <madski@unity3d.com>
parents: 12509
diff changeset
     5
" Place this file in ~/.vim/syntax/ and add the following line to your
6db1642288c0 contrib: state explicitly how hgtest.vim can be installed
Mads Kiilerich <madski@unity3d.com>
parents: 12509
diff changeset
     6
" ~/.vimrc to enable:
12509
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
     7
" 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
     8
"
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
     9
" 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
    10
" let hgtest_fold=1
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
    11
"
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
    12
" 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
    13
" autocmd Syntax hgtest setlocal foldlevel=1
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
    14
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
    15
if exists("b:current_syntax")
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
    16
  finish
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
    17
endif
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
    18
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
    19
syn include @Shell syntax/sh.vim
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
    20
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
    21
syn match hgtestComment /^[^ ].*$/
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
    22
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
    23
syn match hgtestCommandStart /^  \$ / containedin=hgtestCommand
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
    24
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
    25
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
    26
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
    27
hi link hgtestCommandStart Keyword
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
    28
hi link hgtestComment Normal
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
    29
hi link hgtestOutput Comment
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
    30
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
    31
if exists("hgtest_fold")
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
    32
  setlocal foldmethod=syntax
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
    33
endif
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
    34
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
    35
syn sync match hgtestSync grouphere NONE "^$"
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
    36
syn sync maxlines=200
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
    37
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
    38
" 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
    39
" by the file format.
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
    40
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
    41
4746a2e4b239 contrib/vim: add a syntax file for unified tests
Steve Losh <steve@stevelosh.com>
parents:
diff changeset
    42
let b:current_syntax = "hgtest"