summaryrefslogtreecommitdiffstats
path: root/runtime/syntax/bst.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/bst.vim')
-rw-r--r--runtime/syntax/bst.vim70
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: