blob: da296627e574030da17dcf4a4f9ee11676dbb261 [file] [log] [blame]
Bram Moolenaar7e6a5152021-01-02 16:39:53 +01001" Vim syntax file
Yinzuo Jiang700cf8c2024-07-14 17:02:33 +02002" Language: opam - OCaml package manager
Bram Moolenaar7e6a5152021-01-02 16:39:53 +01003" Maintainer: Markus Mottl <markus.mottl@gmail.com>
4" URL: https://github.com/ocaml/vim-ocaml
5" Last Change:
6" 2020 Dec 31 - Added header (Markus Mottl)
7
8if exists("b:current_syntax")
9 finish
10endif
11
12" need %{vars}%
13" env: [[CAML_LD_LIBRARY_PATH = "%{lib}%/stublibs"]]
Yinzuo Jiang700cf8c2024-07-14 17:02:33 +020014syn iskeyword a-z,A-Z,-
15syn keyword opamKeyword1 author
16syn keyword opamKeyword1 authors
17syn keyword opamKeyword1 available
18syn keyword opamKeyword1 bug-reports
19syn keyword opamKeyword1 build
20syn keyword opamKeyword1 build-env
21syn keyword opamKeyword1 conflict-class
22syn keyword opamKeyword1 conflicts
23syn keyword opamKeyword1 depends
24syn keyword opamKeyword1 depexts
25syn keyword opamKeyword1 depopts
26syn keyword opamKeyword1 description
27syn keyword opamKeyword1 dev-repo
28syn keyword opamKeyword1 doc
29syn keyword opamKeyword1 extra-files
30syn keyword opamKeyword1 features
31syn keyword opamKeyword1 flags
32syn keyword opamKeyword1 homepage
33syn keyword opamKeyword1 install
34syn keyword opamKeyword1 libraries
35syn keyword opamKeyword1 license
36syn keyword opamKeyword1 maintainer
37syn keyword opamKeyword1 messages
38syn keyword opamKeyword1 name
39syn keyword opamKeyword1 opam-version
40syn keyword opamKeyword1 patches
41syn keyword opamKeyword1 pin-depends
42syn keyword opamKeyword1 post-messages
43syn keyword opamKeyword1 remove
44syn keyword opamKeyword1 run-test
45syn keyword opamKeyword1 setenv
46syn keyword opamKeyword1 substs
47syn keyword opamKeyword1 synopsis
48syn keyword opamKeyword1 syntax
49syn keyword opamKeyword1 tags
50syn keyword opamKeyword1 version
Bram Moolenaar7e6a5152021-01-02 16:39:53 +010051
52syn keyword opamTodo FIXME NOTE NOTES TODO XXX contained
53syn match opamComment "#.*$" contains=opamTodo,@Spell
54syn match opamOperator ">\|<\|=\|<=\|>="
55
Yinzuo Jiang700cf8c2024-07-14 17:02:33 +020056syn match opamUnclosedInterpolate "%{[^ "]*" contained
57syn match opamInterpolate "%{[^ "]\+}%" contained
58syn region opamString start=/"/ end=/"/ contains=opamInterpolate,OpamUnclosedInterpolate
59syn region opamSeq start=/\[/ end=/\]/ contains=ALLBUT,opamKeyword1
60syn region opamExp start=/{/ end=/}/ contains=ALLBUT,opamKeyword1
Bram Moolenaar7e6a5152021-01-02 16:39:53 +010061
62hi link opamKeyword1 Keyword
Bram Moolenaar7e6a5152021-01-02 16:39:53 +010063
64hi link opamString String
65hi link opamExp Function
66hi link opamSeq Statement
67hi link opamOperator Operator
68hi link opamComment Comment
69hi link opamInterpolate Identifier
Yinzuo Jiang700cf8c2024-07-14 17:02:33 +020070hi link opamUnclosedInterpolate Error
Bram Moolenaar7e6a5152021-01-02 16:39:53 +010071
72let b:current_syntax = "opam"
73
74" vim: ts=2 sw=2