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