1437df8f4SBram Moolenaar" Vim syntax file 2437df8f4SBram Moolenaar" Language: BibTeX Bibliography Style 3c81e5e79SBram Moolenaar" Maintainer: Tim Pope <[email protected]> 4437df8f4SBram Moolenaar" Filenames: *.bst 55c73622aSBram Moolenaar" $Id: bst.vim,v 1.2 2007/05/05 18:24:42 vimboss Exp $ 6437df8f4SBram Moolenaar 789bcfda6SBram Moolenaar" quit when a syntax file was already loaded 889bcfda6SBram Moolenaarif exists("b:current_syntax") 9437df8f4SBram Moolenaar finish 10437df8f4SBram Moolenaarendif 11437df8f4SBram Moolenaar 1289bcfda6SBram Moolenaarsetlocal iskeyword=48-57,#,$,',.,A-Z,a-z 13437df8f4SBram Moolenaar 14437df8f4SBram Moolenaarsyn case ignore 15437df8f4SBram Moolenaar 16c81e5e79SBram Moolenaarsyn match bstString +"[^"]*\%("\|$\)+ contains=bstField,bstType,bstError 17c81e5e79SBram Moolenaar" Highlight the last character of an unclosed string, but only when the cursor 18c81e5e79SBram Moolenaar" is not beyond it (i.e., it is still being edited). Imperfect. 19c81e5e79SBram Moolenaarsyn match bstError '[^"]\%#\@!$' contained 20c81e5e79SBram Moolenaar 21437df8f4SBram Moolenaarsyn match bstNumber "#-\=\d\+\>" 22437df8f4SBram Moolenaarsyn keyword bstNumber entry.max$ global.max$ 23437df8f4SBram Moolenaarsyn match bstComment "%.*" 24437df8f4SBram Moolenaar 25437df8f4SBram Moolenaarsyn keyword bstCommand ENTRY FUNCTION INTEGERS MACRO STRINGS 26437df8f4SBram Moolenaarsyn keyword bstCommand READ EXECUTE ITERATE REVERSE SORT 27437df8f4SBram Moolenaarsyn match bstBuiltIn "\s[-<>=+*]\|\s:=" 28437df8f4SBram Moolenaarsyn keyword bstBuiltIn add.period$ 29437df8f4SBram Moolenaarsyn keyword bstBuiltIn call.type$ change.case$ chr.to.int$ cite$ 30437df8f4SBram Moolenaarsyn keyword bstBuiltIn duplicate$ empty$ format.name$ 31437df8f4SBram Moolenaarsyn keyword bstBuiltIn if$ int.to.chr$ int.to.str$ 32437df8f4SBram Moolenaarsyn keyword bstBuiltIn missing$ 33437df8f4SBram Moolenaarsyn keyword bstBuiltIn newline$ num.names$ 34437df8f4SBram Moolenaarsyn keyword bstBuiltIn pop$ preamble$ purify$ quote$ 35437df8f4SBram Moolenaarsyn keyword bstBuiltIn skip$ stack$ substring$ swap$ 36437df8f4SBram Moolenaarsyn keyword bstBuiltIn text.length$ text.prefix$ top$ type$ 37437df8f4SBram Moolenaarsyn keyword bstBuiltIn warning$ while$ width$ write$ 38437df8f4SBram Moolenaarsyn match bstIdentifier "'\k*" 39437df8f4SBram Moolenaarsyn keyword bstType article book booklet conference 40437df8f4SBram Moolenaarsyn keyword bstType inbook incollection inproceedings 41437df8f4SBram Moolenaarsyn keyword bstType manual mastersthesis misc 42437df8f4SBram Moolenaarsyn keyword bstType phdthesis proceedings 43437df8f4SBram Moolenaarsyn keyword bstType techreport unpublished 44437df8f4SBram Moolenaarsyn keyword bstField abbr address annote author 45437df8f4SBram Moolenaarsyn keyword bstField booktitle chapter crossref comment 46437df8f4SBram Moolenaarsyn keyword bstField edition editor 47437df8f4SBram Moolenaarsyn keyword bstField howpublished institution journal key month 48437df8f4SBram Moolenaarsyn keyword bstField note number 49437df8f4SBram Moolenaarsyn keyword bstField organization 50437df8f4SBram Moolenaarsyn keyword bstField pages publisher 51437df8f4SBram Moolenaarsyn keyword bstField school series 52437df8f4SBram Moolenaarsyn keyword bstField title type 53437df8f4SBram Moolenaarsyn keyword bstField volume year 54437df8f4SBram Moolenaar 55437df8f4SBram Moolenaar" Define the default highlighting. 5689bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet 57437df8f4SBram Moolenaar 58*f37506f6SBram Moolenaarhi def link bstComment Comment 59*f37506f6SBram Moolenaarhi def link bstString String 60*f37506f6SBram Moolenaarhi def link bstCommand PreProc 61*f37506f6SBram Moolenaarhi def link bstBuiltIn Statement 62*f37506f6SBram Moolenaarhi def link bstField Special 63*f37506f6SBram Moolenaarhi def link bstNumber Number 64*f37506f6SBram Moolenaarhi def link bstType Type 65*f37506f6SBram Moolenaarhi def link bstIdentifier Identifier 66*f37506f6SBram Moolenaarhi def link bstError Error 67437df8f4SBram Moolenaar 68437df8f4SBram Moolenaarlet b:current_syntax = "bst" 69437df8f4SBram Moolenaar 70437df8f4SBram Moolenaar" vim:set ft=vim sts=4 sw=4: 71