comparison runtime/syntax/bst.vim @ 0:76efa0be13f1

Initial revision
author atsuki
date Sat, 10 Nov 2007 15:07:22 +0900
parents
children e170173ecb68
comparison
equal deleted inserted replaced
-1:000000000000 0:76efa0be13f1
1 " Vim syntax file
2 " Language: BibTeX Bibliography Style
3 " Maintainer: Tim Pope <vimNOSPAM@tpope.info>
4 " Filenames: *.bst
5 " $Id$
6
7 " For version 5.x: Clear all syntax items
8 " For version 6.x: Quit when a syntax file was already loaded
9 if version < 600
10 syntax clear
11 elseif exists("b:current_syntax")
12 finish
13 endif
14
15 if version < 600
16 command -nargs=1 SetIsk set iskeyword=<args>
17 else
18 command -nargs=1 SetIsk setlocal iskeyword=<args>
19 endif
20 SetIsk 48-57,#,$,',.,A-Z,a-z
21 delcommand SetIsk
22
23 syn case ignore
24
25 syn match bstString +"[^"]*\%("\|$\)+ contains=bstField,bstType,bstError
26 " Highlight the last character of an unclosed string, but only when the cursor
27 " is not beyond it (i.e., it is still being edited). Imperfect.
28 syn match bstError '[^"]\%#\@!$' contained
29
30 syn match bstNumber "#-\=\d\+\>"
31 syn keyword bstNumber entry.max$ global.max$
32 syn match bstComment "%.*"
33
34 syn keyword bstCommand ENTRY FUNCTION INTEGERS MACRO STRINGS
35 syn keyword bstCommand READ EXECUTE ITERATE REVERSE SORT
36 syn match bstBuiltIn "\s[-<>=+*]\|\s:="
37 syn keyword bstBuiltIn add.period$
38 syn keyword bstBuiltIn call.type$ change.case$ chr.to.int$ cite$
39 syn keyword bstBuiltIn duplicate$ empty$ format.name$
40 syn keyword bstBuiltIn if$ int.to.chr$ int.to.str$
41 syn keyword bstBuiltIn missing$
42 syn keyword bstBuiltIn newline$ num.names$
43 syn keyword bstBuiltIn pop$ preamble$ purify$ quote$
44 syn keyword bstBuiltIn skip$ stack$ substring$ swap$
45 syn keyword bstBuiltIn text.length$ text.prefix$ top$ type$
46 syn keyword bstBuiltIn warning$ while$ width$ write$
47 syn match bstIdentifier "'\k*"
48 syn keyword bstType article book booklet conference
49 syn keyword bstType inbook incollection inproceedings
50 syn keyword bstType manual mastersthesis misc
51 syn keyword bstType phdthesis proceedings
52 syn keyword bstType techreport unpublished
53 syn keyword bstField abbr address annote author
54 syn keyword bstField booktitle chapter crossref comment
55 syn keyword bstField edition editor
56 syn keyword bstField howpublished institution journal key month
57 syn keyword bstField note number
58 syn keyword bstField organization
59 syn keyword bstField pages publisher
60 syn keyword bstField school series
61 syn keyword bstField title type
62 syn keyword bstField volume year
63
64 " Define the default highlighting.
65 " For version 5.7 and earlier: only when not done already
66 " For version 5.8 and later: only when an item doesn't have highlighting yet
67 if version >= 508 || !exists("did_bst_syn_inits")
68 if version < 508
69 let did_bst_syn_inits = 1
70 command -nargs=+ HiLink hi link <args>
71 else
72 command -nargs=+ HiLink hi def link <args>
73 endif
74
75 HiLink bstComment Comment
76 HiLink bstString String
77 HiLink bstCommand PreProc
78 HiLink bstBuiltIn Statement
79 HiLink bstField Special
80 HiLink bstNumber Number
81 HiLink bstType Type
82 HiLink bstIdentifier Identifier
83 HiLink bstError Error
84 delcommand HiLink
85 endif
86
87 let b:current_syntax = "bst"
88
89 " vim:set ft=vim sts=4 sw=4: