blob: 9ac1d41ce7ddb361a0fd33d02488e2c6f3773284 [file] [log] [blame]
Bram Moolenaar7e6a5152021-01-02 16:39:53 +01001" Vim syntax file
2" Language: OPAM - OCaml package manager
3" 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"]]
14syn keyword opamKeyword1 remove depends pin-depends depopts conflicts env packages patches version maintainer tags license homepage authors doc install author available name depexts substs synopsis description
15syn match opamKeyword2 "\v(bug-reports|post-messages|ocaml-version|opam-version|dev-repo|build-test|build-doc|build)"
16
17syn keyword opamTodo FIXME NOTE NOTES TODO XXX contained
18syn match opamComment "#.*$" contains=opamTodo,@Spell
19syn match opamOperator ">\|<\|=\|<=\|>="
20
21syn region opamInterpolate start=/%{/ end=/}%/ contained
22syn region opamString start=/"/ end=/"/ contains=opamInterpolate
23syn region opamSeq start=/\[/ end=/\]/ contains=ALLBUT,opamKeyword1,opamKeyword2
24syn region opamExp start=/{/ end=/}/ contains=ALLBUT,opamKeyword1,opamKeyword2
25
26hi link opamKeyword1 Keyword
27hi link opamKeyword2 Keyword
28
29hi link opamString String
30hi link opamExp Function
31hi link opamSeq Statement
32hi link opamOperator Operator
33hi link opamComment Comment
34hi link opamInterpolate Identifier
35
36let b:current_syntax = "opam"
37
38" vim: ts=2 sw=2