summaryrefslogtreecommitdiffstats
path: root/syntax/jbuild.vim
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2019-03-04 12:09:44 +0100
committerAdam Stankiewicz <sheerun@sher.pl>2019-03-04 12:09:44 +0100
commit521220f389907255b6d9a87458333b468ffc7ac4 (patch)
treec644a51effe5dc1a39b22908f0506b5bea415362 /syntax/jbuild.vim
parentb4cb58661ebf82e117d0c25673e2e59cb18044d2 (diff)
downloadvim-polyglot-3.5.0.tar.gz
vim-polyglot-3.5.0.zip
Change ocaml provider, closes #320v3.5.0
Diffstat (limited to 'syntax/jbuild.vim')
-rw-r--r--syntax/jbuild.vim40
1 files changed, 40 insertions, 0 deletions
diff --git a/syntax/jbuild.vim b/syntax/jbuild.vim
new file mode 100644
index 00000000..02df5e8b
--- /dev/null
+++ b/syntax/jbuild.vim
@@ -0,0 +1,40 @@
+if exists('g:polyglot_disabled') && index(g:polyglot_disabled, 'ocaml') != -1
+ finish
+endif
+
+if exists("b:current_syntax")
+ finish
+endif
+
+set syntax=lisp
+syn case match
+
+" The syn-iskeyword setting lacks #,? from the iskeyword setting here.
+" Clearing it avoids maintaining keyword characters in multiple places.
+syn iskeyword clear
+
+syn keyword lispDecl jbuild_version library executable executables rule ocamllex ocamlyacc menhir alias install
+
+syn keyword lispKey name public_name synopsis modules libraries wrapped
+syn keyword lispKey preprocess preprocessor_deps optional c_names cxx_names
+syn keyword lispKey install_c_headers modes no_dynlink self_build_stubs_archive
+syn keyword lispKey ppx_runtime_libraries virtual_deps js_of_ocaml link_flags
+syn keyword lispKey javascript_files flags ocamlc_flags ocamlopt_flags pps staged_pps
+syn keyword lispKey library_flags c_flags c_library_flags kind package action
+syn keyword lispKey deps targets locks fallback
+syn keyword lispKey inline_tests tests names
+
+syn keyword lispAtom true false
+
+syn keyword lispFunc cat chdir copy# diff? echo run setenv
+syn keyword lispFunc ignore-stdout ignore-stderr ignore-outputs
+syn keyword lispFunc with-stdout-to with-stderr-to with-outputs-to
+syn keyword lispFunc write-file system bash
+
+syn cluster lispBaseListCluster add=jbuildVar
+syn match jbuildVar '\${[@<^]}' containedin=lispSymbol
+syn match jbuildVar '\${\k\+\(:\k\+\)\?}' containedin=lispSymbol
+
+hi def link jbuildVar Identifier
+
+let b:current_syntax = "jbuild"