Bram Moolenaar | 7e6a515 | 2021-01-02 16:39:53 +0100 | [diff] [blame] | 1 | " Vim syntax file |
Yinzuo Jiang | 700cf8c | 2024-07-14 17:02:33 +0200 | [diff] [blame] | 2 | " Language: opam - OCaml package manager |
Bram Moolenaar | 7e6a515 | 2021-01-02 16:39:53 +0100 | [diff] [blame] | 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 | |
| 8 | if exists("b:current_syntax") |
| 9 | finish |
| 10 | endif |
| 11 | |
| 12 | " need %{vars}% |
| 13 | " env: [[CAML_LD_LIBRARY_PATH = "%{lib}%/stublibs"]] |
Yinzuo Jiang | 700cf8c | 2024-07-14 17:02:33 +0200 | [diff] [blame] | 14 | syn iskeyword a-z,A-Z,- |
| 15 | syn keyword opamKeyword1 author |
| 16 | syn keyword opamKeyword1 authors |
| 17 | syn keyword opamKeyword1 available |
| 18 | syn keyword opamKeyword1 bug-reports |
| 19 | syn keyword opamKeyword1 build |
| 20 | syn keyword opamKeyword1 build-env |
| 21 | syn keyword opamKeyword1 conflict-class |
| 22 | syn keyword opamKeyword1 conflicts |
| 23 | syn keyword opamKeyword1 depends |
| 24 | syn keyword opamKeyword1 depexts |
| 25 | syn keyword opamKeyword1 depopts |
| 26 | syn keyword opamKeyword1 description |
| 27 | syn keyword opamKeyword1 dev-repo |
| 28 | syn keyword opamKeyword1 doc |
| 29 | syn keyword opamKeyword1 extra-files |
| 30 | syn keyword opamKeyword1 features |
| 31 | syn keyword opamKeyword1 flags |
| 32 | syn keyword opamKeyword1 homepage |
| 33 | syn keyword opamKeyword1 install |
| 34 | syn keyword opamKeyword1 libraries |
| 35 | syn keyword opamKeyword1 license |
| 36 | syn keyword opamKeyword1 maintainer |
| 37 | syn keyword opamKeyword1 messages |
| 38 | syn keyword opamKeyword1 name |
| 39 | syn keyword opamKeyword1 opam-version |
| 40 | syn keyword opamKeyword1 patches |
| 41 | syn keyword opamKeyword1 pin-depends |
| 42 | syn keyword opamKeyword1 post-messages |
| 43 | syn keyword opamKeyword1 remove |
| 44 | syn keyword opamKeyword1 run-test |
| 45 | syn keyword opamKeyword1 setenv |
| 46 | syn keyword opamKeyword1 substs |
| 47 | syn keyword opamKeyword1 synopsis |
| 48 | syn keyword opamKeyword1 syntax |
| 49 | syn keyword opamKeyword1 tags |
| 50 | syn keyword opamKeyword1 version |
Bram Moolenaar | 7e6a515 | 2021-01-02 16:39:53 +0100 | [diff] [blame] | 51 | |
| 52 | syn keyword opamTodo FIXME NOTE NOTES TODO XXX contained |
| 53 | syn match opamComment "#.*$" contains=opamTodo,@Spell |
| 54 | syn match opamOperator ">\|<\|=\|<=\|>=" |
| 55 | |
Yinzuo Jiang | 700cf8c | 2024-07-14 17:02:33 +0200 | [diff] [blame] | 56 | syn match opamUnclosedInterpolate "%{[^ "]*" contained |
| 57 | syn match opamInterpolate "%{[^ "]\+}%" contained |
| 58 | syn region opamString start=/"/ end=/"/ contains=opamInterpolate,OpamUnclosedInterpolate |
| 59 | syn region opamSeq start=/\[/ end=/\]/ contains=ALLBUT,opamKeyword1 |
| 60 | syn region opamExp start=/{/ end=/}/ contains=ALLBUT,opamKeyword1 |
Bram Moolenaar | 7e6a515 | 2021-01-02 16:39:53 +0100 | [diff] [blame] | 61 | |
| 62 | hi link opamKeyword1 Keyword |
Bram Moolenaar | 7e6a515 | 2021-01-02 16:39:53 +0100 | [diff] [blame] | 63 | |
| 64 | hi link opamString String |
| 65 | hi link opamExp Function |
| 66 | hi link opamSeq Statement |
| 67 | hi link opamOperator Operator |
| 68 | hi link opamComment Comment |
| 69 | hi link opamInterpolate Identifier |
Yinzuo Jiang | 700cf8c | 2024-07-14 17:02:33 +0200 | [diff] [blame] | 70 | hi link opamUnclosedInterpolate Error |
Bram Moolenaar | 7e6a515 | 2021-01-02 16:39:53 +0100 | [diff] [blame] | 71 | |
| 72 | let b:current_syntax = "opam" |
| 73 | |
| 74 | " vim: ts=2 sw=2 |