mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-12 13:33:49 -05:00
43 lines
1.5 KiB
VimL
43 lines
1.5 KiB
VimL
let s:base = expand("<sfile>:h:h")
|
|
let Filter = { _, v -> stridx(v, s:base) == -1 && stridx(v, $VIMRUNTIME) == -1 && v !~ "after" }
|
|
let files = filter(globpath(&rtp, 'syntax/opam.vim', 1, 1), Filter)
|
|
if len(files) > 0
|
|
exec 'source ' . files[0]
|
|
finish
|
|
endif
|
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ocaml') == -1
|
|
|
|
if exists("b:current_syntax")
|
|
finish
|
|
endif
|
|
|
|
" need %{vars}%
|
|
" env: [[CAML_LD_LIBRARY_PATH = "%{lib}%/stublibs"]]
|
|
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
|
|
syn match opamKeyword2 "\v(bug-reports|post-messages|ocaml-version|opam-version|dev-repo|build-test|build-doc|build)"
|
|
|
|
syn keyword opamTodo FIXME NOTE NOTES TODO XXX contained
|
|
syn match opamComment "#.*$" contains=opamTodo,@Spell
|
|
syn match opamOperator ">\|<\|=\|<=\|>="
|
|
|
|
syn region opamInterpolate start=/%{/ end=/}%/ contained
|
|
syn region opamString start=/"/ end=/"/ contains=opamInterpolate
|
|
syn region opamSeq start=/\[/ end=/\]/ contains=ALLBUT,opamKeyword1,opamKeyword2
|
|
syn region opamExp start=/{/ end=/}/ contains=ALLBUT,opamKeyword1,opamKeyword2
|
|
|
|
hi link opamKeyword1 Keyword
|
|
hi link opamKeyword2 Keyword
|
|
|
|
hi link opamString String
|
|
hi link opamExp Function
|
|
hi link opamSeq Statement
|
|
hi link opamOperator Operator
|
|
hi link opamComment Comment
|
|
hi link opamInterpolate Identifier
|
|
|
|
let b:current_syntax = "opam"
|
|
|
|
" vim: ts=2 sw=2
|
|
|
|
endif
|