Merged from "branches/vim7.1".
[MacVim/jjgod.git] / runtime / syntax / bst.vim
blob3c549f6835b68362ce60f25a4fd52f79d1c415f4
1 " Vim syntax file
2 " Language:     BibTeX Bibliography Style
3 " Maintainer:   Tim Pope <vimNOSPAM@tpope.info>
4 " Filenames:    *.bst
5 " $Id: bst.vim,v 1.4 2007/05/10 19:28:28 vimboss Exp $
7 " For version 5.x: Clear all syntax items
8 " For version 6.x: Quit when a syntax file was already loaded
9 if version < 600
10     syntax clear
11 elseif exists("b:current_syntax")
12     finish
13 endif
15 if version < 600
16     command -nargs=1 SetIsk set iskeyword=<args>
17 else
18     command -nargs=1 SetIsk setlocal iskeyword=<args>
19 endif
20 SetIsk 48-57,#,$,',.,A-Z,a-z
21 delcommand SetIsk
23 syn case ignore
25 syn match   bstString +"[^"]*\%("\|$\)+ contains=bstField,bstType,bstError
26 " Highlight the last character of an unclosed string, but only when the cursor
27 " is not beyond it (i.e., it is still being edited). Imperfect.
28 syn match   bstError     '[^"]\%#\@!$' contained
30 syn match   bstNumber         "#-\=\d\+\>"
31 syn keyword bstNumber         entry.max$ global.max$
32 syn match   bstComment        "%.*"
34 syn keyword bstCommand        ENTRY FUNCTION INTEGERS MACRO STRINGS
35 syn keyword bstCommand        READ EXECUTE ITERATE REVERSE SORT
36 syn match   bstBuiltIn        "\s[-<>=+*]\|\s:="
37 syn keyword bstBuiltIn        add.period$
38 syn keyword bstBuiltIn        call.type$ change.case$ chr.to.int$ cite$
39 syn keyword bstBuiltIn        duplicate$ empty$ format.name$
40 syn keyword bstBuiltIn        if$ int.to.chr$ int.to.str$
41 syn keyword bstBuiltIn        missing$
42 syn keyword bstBuiltIn        newline$ num.names$
43 syn keyword bstBuiltIn        pop$ preamble$ purify$ quote$
44 syn keyword bstBuiltIn        skip$ stack$ substring$ swap$
45 syn keyword bstBuiltIn        text.length$ text.prefix$ top$ type$
46 syn keyword bstBuiltIn        warning$ while$ width$ write$
47 syn match   bstIdentifier     "'\k*"
48 syn keyword bstType           article book booklet conference
49 syn keyword bstType           inbook incollection inproceedings
50 syn keyword bstType           manual mastersthesis misc
51 syn keyword bstType           phdthesis proceedings
52 syn keyword bstType           techreport unpublished
53 syn keyword bstField          abbr address annote author
54 syn keyword bstField          booktitle chapter crossref comment
55 syn keyword bstField          edition editor
56 syn keyword bstField          howpublished institution journal key month
57 syn keyword bstField          note number
58 syn keyword bstField          organization
59 syn keyword bstField          pages publisher
60 syn keyword bstField          school series
61 syn keyword bstField          title type
62 syn keyword bstField          volume year
64 " Define the default highlighting.
65 " For version 5.7 and earlier: only when not done already
66 " For version 5.8 and later: only when an item doesn't have highlighting yet
67 if version >= 508 || !exists("did_bst_syn_inits")
68     if version < 508
69         let did_bst_syn_inits = 1
70         command -nargs=+ HiLink hi link <args>
71     else
72         command -nargs=+ HiLink hi def link <args>
73     endif
75     HiLink bstComment           Comment
76     HiLink bstString            String
77     HiLink bstCommand           PreProc
78     HiLink bstBuiltIn           Statement
79     HiLink bstField             Special
80     HiLink bstNumber            Number
81     HiLink bstType              Type
82     HiLink bstIdentifier        Identifier
83     HiLink bstError             Error
84     delcommand HiLink
85 endif
87 let b:current_syntax = "bst"
89 " vim:set ft=vim sts=4 sw=4: