blob: 3feefec37b21adca0c3c5b3ccc0b474b6ee52a2a [file] [log] [blame]
Bram Moolenaar437df8f2006-04-27 21:47:44 +00001" 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
10if version < 600
11 syntax clear
12elseif exists("b:current_syntax")
13 finish
14endif
15
16if version < 600
17 command -nargs=1 SetIsk set iskeyword=<args>
18else
19 command -nargs=1 SetIsk setlocal iskeyword=<args>
20endif
21SetIsk 48-57,#,$,',.,A-Z,a-z
22delcommand SetIsk
23
24syn case ignore
25
26syn region bstString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=bstField,bstType
27syn match bstNumber "#-\=\d\+\>"
28syn keyword bstNumber entry.max$ global.max$
29syn match bstComment "%.*"
30
31syn keyword bstCommand ENTRY FUNCTION INTEGERS MACRO STRINGS
32syn keyword bstCommand READ EXECUTE ITERATE REVERSE SORT
33syn match bstBuiltIn "\s[-<>=+*]\|\s:="
34syn keyword bstBuiltIn add.period$
35syn keyword bstBuiltIn call.type$ change.case$ chr.to.int$ cite$
36syn keyword bstBuiltIn duplicate$ empty$ format.name$
37syn keyword bstBuiltIn if$ int.to.chr$ int.to.str$
38syn keyword bstBuiltIn missing$
39syn keyword bstBuiltIn newline$ num.names$
40syn keyword bstBuiltIn pop$ preamble$ purify$ quote$
41syn keyword bstBuiltIn skip$ stack$ substring$ swap$
42syn keyword bstBuiltIn text.length$ text.prefix$ top$ type$
43syn keyword bstBuiltIn warning$ while$ width$ write$
44syn match bstIdentifier "'\k*"
45syn keyword bstType article book booklet conference
46syn keyword bstType inbook incollection inproceedings
47syn keyword bstType manual mastersthesis misc
48syn keyword bstType phdthesis proceedings
49syn keyword bstType techreport unpublished
50syn keyword bstField abbr address annote author
51syn keyword bstField booktitle chapter crossref comment
52syn keyword bstField edition editor
53syn keyword bstField howpublished institution journal key month
54syn keyword bstField note number
55syn keyword bstField organization
56syn keyword bstField pages publisher
57syn keyword bstField school series
58syn keyword bstField title type
59syn 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
64if 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
81endif
82
83let b:current_syntax = "bst"
84
85" vim:set ft=vim sts=4 sw=4: