1" Vim syntax file 2" Language: BibTeX Bibliography Style 3" Maintainer: Tim Pope <[email protected]> 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: 86