diff options
Diffstat (limited to 'runtime/syntax/bst.vim')
-rw-r--r-- | runtime/syntax/bst.vim | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/runtime/syntax/bst.vim b/runtime/syntax/bst.vim new file mode 100644 index 0000000..5ebef16 --- /dev/null +++ b/runtime/syntax/bst.vim @@ -0,0 +1,70 @@ +" Vim syntax file +" Language: BibTeX Bibliography Style +" Maintainer: Tim Pope <vimNOSPAM@tpope.info> +" Filenames: *.bst +" $Id: bst.vim,v 1.2 2007/05/05 18:24:42 vimboss Exp $ + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +setlocal iskeyword=48-57,#,$,',.,A-Z,a-z + +syn case ignore + +syn match bstString +"[^"]*\%("\|$\)+ contains=bstField,bstType,bstError +" Highlight the last character of an unclosed string, but only when the cursor +" is not beyond it (i.e., it is still being edited). Imperfect. +syn match bstError '[^"]\%#\@!$' contained + +syn match bstNumber "#-\=\d\+\>" +syn keyword bstNumber entry.max$ global.max$ +syn match bstComment "%.*" + +syn keyword bstCommand ENTRY FUNCTION INTEGERS MACRO STRINGS +syn keyword bstCommand READ EXECUTE ITERATE REVERSE SORT +syn match bstBuiltIn "\s[-<>=+*]\|\s:=" +syn keyword bstBuiltIn add.period$ +syn keyword bstBuiltIn call.type$ change.case$ chr.to.int$ cite$ +syn keyword bstBuiltIn duplicate$ empty$ format.name$ +syn keyword bstBuiltIn if$ int.to.chr$ int.to.str$ +syn keyword bstBuiltIn missing$ +syn keyword bstBuiltIn newline$ num.names$ +syn keyword bstBuiltIn pop$ preamble$ purify$ quote$ +syn keyword bstBuiltIn skip$ stack$ substring$ swap$ +syn keyword bstBuiltIn text.length$ text.prefix$ top$ type$ +syn keyword bstBuiltIn warning$ while$ width$ write$ +syn match bstIdentifier "'\k*" +syn keyword bstType article book booklet conference +syn keyword bstType inbook incollection inproceedings +syn keyword bstType manual mastersthesis misc +syn keyword bstType phdthesis proceedings +syn keyword bstType techreport unpublished +syn keyword bstField abbr address annote author +syn keyword bstField booktitle chapter crossref comment +syn keyword bstField edition editor +syn keyword bstField howpublished institution journal key month +syn keyword bstField note number +syn keyword bstField organization +syn keyword bstField pages publisher +syn keyword bstField school series +syn keyword bstField title type +syn keyword bstField volume year + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link bstComment Comment +hi def link bstString String +hi def link bstCommand PreProc +hi def link bstBuiltIn Statement +hi def link bstField Special +hi def link bstNumber Number +hi def link bstType Type +hi def link bstIdentifier Identifier +hi def link bstError Error + +let b:current_syntax = "bst" + +" vim:set ft=vim sts=4 sw=4: |