xref: /vim-8.2.3635/runtime/syntax/bst.vim (revision 437df8f4)
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