opam.vim 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. " 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. if exists("b:current_syntax")
  8. finish
  9. endif
  10. " need %{vars}%
  11. " env: [[CAML_LD_LIBRARY_PATH = "%{lib}%/stublibs"]]
  12. syn 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
  13. syn match opamKeyword2 "\v(bug-reports|post-messages|ocaml-version|opam-version|dev-repo|build-test|build-doc|build)"
  14. syn keyword opamTodo FIXME NOTE NOTES TODO XXX contained
  15. syn match opamComment "#.*$" contains=opamTodo,@Spell
  16. syn match opamOperator ">\|<\|=\|<=\|>="
  17. syn region opamInterpolate start=/%{/ end=/}%/ contained
  18. syn region opamString start=/"/ end=/"/ contains=opamInterpolate
  19. syn region opamSeq start=/\[/ end=/\]/ contains=ALLBUT,opamKeyword1,opamKeyword2
  20. syn region opamExp start=/{/ end=/}/ contains=ALLBUT,opamKeyword1,opamKeyword2
  21. hi link opamKeyword1 Keyword
  22. hi link opamKeyword2 Keyword
  23. hi link opamString String
  24. hi link opamExp Function
  25. hi link opamSeq Statement
  26. hi link opamOperator Operator
  27. hi link opamComment Comment
  28. hi link opamInterpolate Identifier
  29. let b:current_syntax = "opam"
  30. " vim: ts=2 sw=2