From 2eae5db069dc171f74cd863487655f6a88e5384d Mon Sep 17 00:00:00 2001 From: Mehmet Samet Duman Date: Fri, 3 Apr 2026 22:21:25 +0300 Subject: NOISSUE rebrand vim to MNV's not Vim Signed-off-by: Mehmet Samet Duman --- uvim/runtime/syntax/2html.mnv | 2072 ++++++++ uvim/runtime/syntax/2html.vim | 2072 -------- uvim/runtime/syntax/8th.mnv | 510 ++ uvim/runtime/syntax/8th.vim | 510 -- uvim/runtime/syntax/Makefile | 32 +- uvim/runtime/syntax/README.txt | 32 +- uvim/runtime/syntax/a2ps.mnv | 71 + uvim/runtime/syntax/a2ps.vim | 71 - uvim/runtime/syntax/a65.mnv | 153 + uvim/runtime/syntax/a65.vim | 153 - uvim/runtime/syntax/aap.mnv | 159 + uvim/runtime/syntax/aap.vim | 159 - uvim/runtime/syntax/abap.mnv | 196 + uvim/runtime/syntax/abap.vim | 196 - uvim/runtime/syntax/abaqus.mnv | 34 + uvim/runtime/syntax/abaqus.vim | 34 - uvim/runtime/syntax/abc.mnv | 51 + uvim/runtime/syntax/abc.vim | 51 - uvim/runtime/syntax/abel.mnv | 161 + uvim/runtime/syntax/abel.vim | 161 - uvim/runtime/syntax/abnf.mnv | 33 + uvim/runtime/syntax/abnf.vim | 33 - uvim/runtime/syntax/acedb.mnv | 110 + uvim/runtime/syntax/acedb.vim | 110 - uvim/runtime/syntax/ada.mnv | 368 ++ uvim/runtime/syntax/ada.vim | 368 -- uvim/runtime/syntax/aflex.mnv | 82 + uvim/runtime/syntax/aflex.vim | 82 - uvim/runtime/syntax/ahdl.mnv | 81 + uvim/runtime/syntax/ahdl.vim | 81 - uvim/runtime/syntax/aidl.mnv | 23 + uvim/runtime/syntax/aidl.vim | 23 - uvim/runtime/syntax/alsaconf.mnv | 49 + uvim/runtime/syntax/alsaconf.vim | 49 - uvim/runtime/syntax/amiga.mnv | 303 ++ uvim/runtime/syntax/amiga.vim | 303 -- uvim/runtime/syntax/aml.mnv | 144 + uvim/runtime/syntax/aml.vim | 144 - uvim/runtime/syntax/ampl.mnv | 140 + uvim/runtime/syntax/ampl.vim | 140 - uvim/runtime/syntax/ant.mnv | 97 + uvim/runtime/syntax/ant.vim | 97 - uvim/runtime/syntax/antlr.mnv | 54 + uvim/runtime/syntax/antlr.vim | 54 - uvim/runtime/syntax/antlr4.mnv | 30 + uvim/runtime/syntax/antlr4.vim | 30 - uvim/runtime/syntax/apache.mnv | 206 + uvim/runtime/syntax/apache.vim | 206 - uvim/runtime/syntax/apachestyle.mnv | 54 + uvim/runtime/syntax/apachestyle.vim | 54 - uvim/runtime/syntax/apkbuild.mnv | 17 + uvim/runtime/syntax/apkbuild.vim | 17 - uvim/runtime/syntax/aptconf.mnv | 577 +++ uvim/runtime/syntax/aptconf.vim | 577 --- uvim/runtime/syntax/arch.mnv | 41 + uvim/runtime/syntax/arch.vim | 41 - uvim/runtime/syntax/arduino.mnv | 83 + uvim/runtime/syntax/arduino.vim | 83 - uvim/runtime/syntax/art.mnv | 50 + uvim/runtime/syntax/art.vim | 50 - uvim/runtime/syntax/asciidoc.mnv | 185 + uvim/runtime/syntax/asciidoc.vim | 185 - uvim/runtime/syntax/asm.mnv | 167 + uvim/runtime/syntax/asm.vim | 167 - uvim/runtime/syntax/asm68k.mnv | 378 ++ uvim/runtime/syntax/asm68k.vim | 378 -- uvim/runtime/syntax/asmh8300.mnv | 58 + uvim/runtime/syntax/asmh8300.vim | 58 - uvim/runtime/syntax/asn.mnv | 73 + uvim/runtime/syntax/asn.vim | 73 - uvim/runtime/syntax/aspperl.mnv | 25 + uvim/runtime/syntax/aspperl.vim | 25 - uvim/runtime/syntax/aspvbs.mnv | 182 + uvim/runtime/syntax/aspvbs.vim | 182 - uvim/runtime/syntax/asterisk.mnv | 88 + uvim/runtime/syntax/asterisk.vim | 88 - uvim/runtime/syntax/asteriskvm.mnv | 51 + uvim/runtime/syntax/asteriskvm.vim | 51 - uvim/runtime/syntax/astro.mnv | 190 + uvim/runtime/syntax/astro.vim | 190 - uvim/runtime/syntax/asy.mnv | 249 + uvim/runtime/syntax/asy.vim | 249 - uvim/runtime/syntax/atlas.mnv | 85 + uvim/runtime/syntax/atlas.vim | 85 - uvim/runtime/syntax/autodoc.mnv | 101 + uvim/runtime/syntax/autodoc.vim | 101 - uvim/runtime/syntax/autohotkey.mnv | 325 ++ uvim/runtime/syntax/autohotkey.vim | 325 -- uvim/runtime/syntax/autoit.mnv | 1125 +++++ uvim/runtime/syntax/autoit.vim | 1125 ----- uvim/runtime/syntax/automake.mnv | 77 + uvim/runtime/syntax/automake.vim | 77 - uvim/runtime/syntax/autopkgtest.mnv | 95 + uvim/runtime/syntax/autopkgtest.vim | 95 - uvim/runtime/syntax/ave.mnv | 79 + uvim/runtime/syntax/ave.vim | 79 - uvim/runtime/syntax/avra.mnv | 71 + uvim/runtime/syntax/avra.vim | 71 - uvim/runtime/syntax/awk.mnv | 217 + uvim/runtime/syntax/awk.vim | 217 - uvim/runtime/syntax/ayacc.mnv | 75 + uvim/runtime/syntax/ayacc.vim | 75 - uvim/runtime/syntax/b.mnv | 114 + uvim/runtime/syntax/b.vim | 114 - uvim/runtime/syntax/baan.mnv | 1917 ++++++++ uvim/runtime/syntax/baan.vim | 1917 -------- uvim/runtime/syntax/bash.mnv | 20 + uvim/runtime/syntax/bash.vim | 20 - uvim/runtime/syntax/basic.mnv | 380 ++ uvim/runtime/syntax/basic.vim | 380 -- uvim/runtime/syntax/bc.mnv | 66 + uvim/runtime/syntax/bc.vim | 66 - uvim/runtime/syntax/bdf.mnv | 97 + uvim/runtime/syntax/bdf.vim | 97 - uvim/runtime/syntax/bib.mnv | 121 + uvim/runtime/syntax/bib.vim | 121 - uvim/runtime/syntax/bindzone.mnv | 97 + uvim/runtime/syntax/bindzone.vim | 97 - uvim/runtime/syntax/bitbake.mnv | 128 + uvim/runtime/syntax/bitbake.vim | 128 - uvim/runtime/syntax/blank.mnv | 39 + uvim/runtime/syntax/blank.vim | 39 - uvim/runtime/syntax/bpftrace.mnv | 66 + uvim/runtime/syntax/bpftrace.vim | 66 - uvim/runtime/syntax/bsdl.mnv | 17 + uvim/runtime/syntax/bsdl.vim | 17 - uvim/runtime/syntax/bst.mnv | 70 + uvim/runtime/syntax/bst.vim | 70 - uvim/runtime/syntax/btm.mnv | 216 + uvim/runtime/syntax/btm.vim | 216 - uvim/runtime/syntax/bzl.mnv | 16 + uvim/runtime/syntax/bzl.vim | 16 - uvim/runtime/syntax/bzr.mnv | 50 + uvim/runtime/syntax/bzr.vim | 50 - uvim/runtime/syntax/c.mnv | 642 +++ uvim/runtime/syntax/c.vim | 642 --- uvim/runtime/syntax/cabal.mnv | 278 ++ uvim/runtime/syntax/cabal.vim | 278 -- uvim/runtime/syntax/cabalconfig.mnv | 30 + uvim/runtime/syntax/cabalconfig.vim | 30 - uvim/runtime/syntax/cabalproject.mnv | 28 + uvim/runtime/syntax/cabalproject.vim | 28 - uvim/runtime/syntax/calendar.mnv | 110 + uvim/runtime/syntax/calendar.vim | 110 - uvim/runtime/syntax/cangjie.mnv | 225 + uvim/runtime/syntax/cangjie.vim | 225 - uvim/runtime/syntax/catalog.mnv | 30 + uvim/runtime/syntax/catalog.vim | 30 - uvim/runtime/syntax/cdl.mnv | 78 + uvim/runtime/syntax/cdl.vim | 78 - uvim/runtime/syntax/cdrdaoconf.mnv | 139 + uvim/runtime/syntax/cdrdaoconf.vim | 139 - uvim/runtime/syntax/cdrtoc.mnv | 537 +++ uvim/runtime/syntax/cdrtoc.vim | 537 --- uvim/runtime/syntax/cf.mnv | 1018 ++++ uvim/runtime/syntax/cf.vim | 1018 ---- uvim/runtime/syntax/cfg.mnv | 49 + uvim/runtime/syntax/cfg.vim | 49 - uvim/runtime/syntax/cgdbrc.mnv | 16 + uvim/runtime/syntax/cgdbrc.vim | 16 - uvim/runtime/syntax/ch.mnv | 38 + uvim/runtime/syntax/ch.vim | 38 - uvim/runtime/syntax/chaiscript.mnv | 94 + uvim/runtime/syntax/chaiscript.vim | 94 - uvim/runtime/syntax/change.mnv | 29 + uvim/runtime/syntax/change.vim | 29 - uvim/runtime/syntax/changelog.mnv | 58 + uvim/runtime/syntax/changelog.vim | 58 - uvim/runtime/syntax/chaskell.mnv | 14 + uvim/runtime/syntax/chaskell.vim | 14 - uvim/runtime/syntax/chatito.mnv | 62 + uvim/runtime/syntax/chatito.vim | 62 - uvim/runtime/syntax/cheetah.mnv | 47 + uvim/runtime/syntax/cheetah.vim | 47 - uvim/runtime/syntax/chicken.mnv | 94 + uvim/runtime/syntax/chicken.vim | 94 - uvim/runtime/syntax/chill.mnv | 178 + uvim/runtime/syntax/chill.vim | 178 - uvim/runtime/syntax/chordpro.mnv | 174 + uvim/runtime/syntax/chordpro.vim | 174 - uvim/runtime/syntax/chuck.mnv | 187 + uvim/runtime/syntax/chuck.vim | 187 - uvim/runtime/syntax/cl.mnv | 98 + uvim/runtime/syntax/cl.vim | 98 - uvim/runtime/syntax/clean.mnv | 90 + uvim/runtime/syntax/clean.vim | 90 - uvim/runtime/syntax/clipper.mnv | 135 + uvim/runtime/syntax/clipper.vim | 135 - uvim/runtime/syntax/clojure.mnv | 218 + uvim/runtime/syntax/clojure.vim | 218 - uvim/runtime/syntax/cmacro.mnv | 77 + uvim/runtime/syntax/cmacro.vim | 77 - uvim/runtime/syntax/cmake.mnv | 4980 ++++++++++++++++++++ uvim/runtime/syntax/cmake.vim | 4980 -------------------- uvim/runtime/syntax/cmakecache.mnv | 60 + uvim/runtime/syntax/cmakecache.vim | 60 - uvim/runtime/syntax/cmod.mnv | 144 + uvim/runtime/syntax/cmod.vim | 144 - uvim/runtime/syntax/cmusrc.mnv | 309 ++ uvim/runtime/syntax/cmusrc.vim | 309 -- uvim/runtime/syntax/cobol.mnv | 260 + uvim/runtime/syntax/cobol.vim | 260 - uvim/runtime/syntax/coco.mnv | 33 + uvim/runtime/syntax/coco.vim | 33 - uvim/runtime/syntax/codeowners.mnv | 23 + uvim/runtime/syntax/codeowners.vim | 23 - uvim/runtime/syntax/colortest.mnv | 82 + uvim/runtime/syntax/colortest.vim | 82 - uvim/runtime/syntax/conaryrecipe.mnv | 137 + uvim/runtime/syntax/conaryrecipe.vim | 137 - uvim/runtime/syntax/conf.mnv | 27 + uvim/runtime/syntax/conf.vim | 27 - uvim/runtime/syntax/config.mnv | 60 + uvim/runtime/syntax/config.vim | 60 - uvim/runtime/syntax/confini.mnv | 18 + uvim/runtime/syntax/confini.vim | 18 - uvim/runtime/syntax/context.mnv | 144 + uvim/runtime/syntax/context.vim | 144 - uvim/runtime/syntax/cpp.mnv | 134 + uvim/runtime/syntax/cpp.vim | 134 - uvim/runtime/syntax/crm.mnv | 41 + uvim/runtime/syntax/crm.vim | 41 - uvim/runtime/syntax/crontab.mnv | 67 + uvim/runtime/syntax/crontab.vim | 67 - uvim/runtime/syntax/cs.mnv | 360 ++ uvim/runtime/syntax/cs.vim | 360 -- uvim/runtime/syntax/csc.mnv | 191 + uvim/runtime/syntax/csc.vim | 191 - uvim/runtime/syntax/csdl.mnv | 536 +++ uvim/runtime/syntax/csdl.vim | 536 --- uvim/runtime/syntax/csh.mnv | 142 + uvim/runtime/syntax/csh.vim | 142 - uvim/runtime/syntax/csp.mnv | 182 + uvim/runtime/syntax/csp.vim | 182 - uvim/runtime/syntax/css.mnv | 675 +++ uvim/runtime/syntax/css.vim | 675 --- uvim/runtime/syntax/csv.mnv | 39 + uvim/runtime/syntax/csv.vim | 39 - uvim/runtime/syntax/cterm.mnv | 177 + uvim/runtime/syntax/cterm.vim | 177 - uvim/runtime/syntax/ctrlh.mnv | 24 + uvim/runtime/syntax/ctrlh.vim | 24 - uvim/runtime/syntax/cucumber.mnv | 170 + uvim/runtime/syntax/cucumber.vim | 170 - uvim/runtime/syntax/cuda.mnv | 53 + uvim/runtime/syntax/cuda.vim | 53 - uvim/runtime/syntax/cupl.mnv | 124 + uvim/runtime/syntax/cupl.vim | 124 - uvim/runtime/syntax/cuplsim.mnv | 63 + uvim/runtime/syntax/cuplsim.vim | 63 - uvim/runtime/syntax/cvs.mnv | 29 + uvim/runtime/syntax/cvs.vim | 29 - uvim/runtime/syntax/cvsrc.mnv | 39 + uvim/runtime/syntax/cvsrc.vim | 39 - uvim/runtime/syntax/cweb.mnv | 68 + uvim/runtime/syntax/cweb.vim | 68 - uvim/runtime/syntax/cynlib.mnv | 74 + uvim/runtime/syntax/cynlib.vim | 74 - uvim/runtime/syntax/cynpp.mnv | 50 + uvim/runtime/syntax/cynpp.vim | 50 - uvim/runtime/syntax/d.mnv | 573 +++ uvim/runtime/syntax/d.vim | 573 --- uvim/runtime/syntax/dart.mnv | 90 + uvim/runtime/syntax/dart.vim | 90 - uvim/runtime/syntax/datascript.mnv | 102 + uvim/runtime/syntax/datascript.vim | 102 - uvim/runtime/syntax/dax.mnv | 151 + uvim/runtime/syntax/dax.vim | 151 - uvim/runtime/syntax/dcd.mnv | 51 + uvim/runtime/syntax/dcd.vim | 51 - uvim/runtime/syntax/dcl.mnv | 153 + uvim/runtime/syntax/dcl.vim | 153 - uvim/runtime/syntax/deb822sources.mnv | 63 + uvim/runtime/syntax/deb822sources.vim | 63 - uvim/runtime/syntax/debchangelog.mnv | 62 + uvim/runtime/syntax/debchangelog.vim | 62 - uvim/runtime/syntax/debcontrol.mnv | 152 + uvim/runtime/syntax/debcontrol.vim | 152 - uvim/runtime/syntax/debcopyright.mnv | 33 + uvim/runtime/syntax/debcopyright.vim | 33 - uvim/runtime/syntax/debsources.mnv | 46 + uvim/runtime/syntax/debsources.vim | 46 - uvim/runtime/syntax/def.mnv | 44 + uvim/runtime/syntax/def.vim | 44 - uvim/runtime/syntax/denyhosts.mnv | 289 ++ uvim/runtime/syntax/denyhosts.vim | 289 -- uvim/runtime/syntax/dep3patch.mnv | 57 + uvim/runtime/syntax/dep3patch.vim | 57 - uvim/runtime/syntax/desc.mnv | 88 + uvim/runtime/syntax/desc.vim | 88 - uvim/runtime/syntax/desktop.mnv | 267 ++ uvim/runtime/syntax/desktop.vim | 267 -- uvim/runtime/syntax/dictconf.mnv | 80 + uvim/runtime/syntax/dictconf.vim | 80 - uvim/runtime/syntax/dictdconf.mnv | 146 + uvim/runtime/syntax/dictdconf.vim | 146 - uvim/runtime/syntax/diff.mnv | 390 ++ uvim/runtime/syntax/diff.vim | 390 -- uvim/runtime/syntax/dircolors.mnv | 222 + uvim/runtime/syntax/dircolors.vim | 222 - uvim/runtime/syntax/dirpager.mnv | 56 + uvim/runtime/syntax/dirpager.vim | 56 - uvim/runtime/syntax/diva.mnv | 96 + uvim/runtime/syntax/diva.vim | 96 - uvim/runtime/syntax/django.mnv | 86 + uvim/runtime/syntax/django.vim | 86 - uvim/runtime/syntax/dns.mnv | 5 + uvim/runtime/syntax/dns.vim | 5 - uvim/runtime/syntax/dnsmasq.mnv | 242 + uvim/runtime/syntax/dnsmasq.vim | 242 - uvim/runtime/syntax/docbk.mnv | 186 + uvim/runtime/syntax/docbk.vim | 186 - uvim/runtime/syntax/docbksgml.mnv | 7 + uvim/runtime/syntax/docbksgml.vim | 7 - uvim/runtime/syntax/docbkxml.mnv | 7 + uvim/runtime/syntax/docbkxml.vim | 7 - uvim/runtime/syntax/dockerfile.mnv | 44 + uvim/runtime/syntax/dockerfile.vim | 44 - uvim/runtime/syntax/dosbatch.mnv | 164 + uvim/runtime/syntax/dosbatch.vim | 164 - uvim/runtime/syntax/dosini.mnv | 49 + uvim/runtime/syntax/dosini.vim | 49 - uvim/runtime/syntax/dot.mnv | 121 + uvim/runtime/syntax/dot.vim | 121 - uvim/runtime/syntax/doxygen.mnv | 633 +++ uvim/runtime/syntax/doxygen.vim | 633 --- uvim/runtime/syntax/dracula.mnv | 72 + uvim/runtime/syntax/dracula.vim | 72 - uvim/runtime/syntax/dsl.mnv | 38 + uvim/runtime/syntax/dsl.vim | 38 - uvim/runtime/syntax/dtd.mnv | 161 + uvim/runtime/syntax/dtd.vim | 161 - uvim/runtime/syntax/dtml.mnv | 208 + uvim/runtime/syntax/dtml.vim | 208 - uvim/runtime/syntax/dtrace.mnv | 145 + uvim/runtime/syntax/dtrace.vim | 145 - uvim/runtime/syntax/dts.mnv | 80 + uvim/runtime/syntax/dts.vim | 80 - uvim/runtime/syntax/dune.mnv | 50 + uvim/runtime/syntax/dune.vim | 50 - uvim/runtime/syntax/dylan.mnv | 92 + uvim/runtime/syntax/dylan.vim | 92 - uvim/runtime/syntax/dylanintr.mnv | 39 + uvim/runtime/syntax/dylanintr.vim | 39 - uvim/runtime/syntax/dylanlid.mnv | 29 + uvim/runtime/syntax/dylanlid.vim | 29 - uvim/runtime/syntax/ecd.mnv | 44 + uvim/runtime/syntax/ecd.vim | 44 - uvim/runtime/syntax/edif.mnv | 45 + uvim/runtime/syntax/edif.vim | 45 - uvim/runtime/syntax/editorconfig.mnv | 21 + uvim/runtime/syntax/editorconfig.vim | 21 - uvim/runtime/syntax/eiffel.mnv | 199 + uvim/runtime/syntax/eiffel.vim | 199 - uvim/runtime/syntax/elf.mnv | 82 + uvim/runtime/syntax/elf.vim | 82 - uvim/runtime/syntax/elinks.mnv | 188 + uvim/runtime/syntax/elinks.vim | 188 - uvim/runtime/syntax/elm.mnv | 105 + uvim/runtime/syntax/elm.vim | 105 - uvim/runtime/syntax/elmfilt.mnv | 59 + uvim/runtime/syntax/elmfilt.vim | 59 - uvim/runtime/syntax/env.mnv | 28 + uvim/runtime/syntax/env.vim | 28 - uvim/runtime/syntax/erlang.mnv | 408 ++ uvim/runtime/syntax/erlang.vim | 408 -- uvim/runtime/syntax/eruby.mnv | 78 + uvim/runtime/syntax/eruby.vim | 78 - uvim/runtime/syntax/esmtprc.mnv | 31 + uvim/runtime/syntax/esmtprc.vim | 31 - uvim/runtime/syntax/esqlc.mnv | 58 + uvim/runtime/syntax/esqlc.vim | 58 - uvim/runtime/syntax/esterel.mnv | 78 + uvim/runtime/syntax/esterel.vim | 78 - uvim/runtime/syntax/eterm.mnv | 429 ++ uvim/runtime/syntax/eterm.vim | 429 -- uvim/runtime/syntax/euphoria3.mnv | 133 + uvim/runtime/syntax/euphoria3.vim | 133 - uvim/runtime/syntax/euphoria4.mnv | 245 + uvim/runtime/syntax/euphoria4.vim | 245 - uvim/runtime/syntax/eviews.mnv | 87 + uvim/runtime/syntax/eviews.vim | 87 - uvim/runtime/syntax/exim.mnv | 105 + uvim/runtime/syntax/exim.vim | 105 - uvim/runtime/syntax/expect.mnv | 103 + uvim/runtime/syntax/expect.vim | 103 - uvim/runtime/syntax/exports.mnv | 59 + uvim/runtime/syntax/exports.vim | 59 - uvim/runtime/syntax/falcon.mnv | 197 + uvim/runtime/syntax/falcon.vim | 197 - uvim/runtime/syntax/fan.mnv | 132 + uvim/runtime/syntax/fan.vim | 132 - uvim/runtime/syntax/fasm.mnv | 151 + uvim/runtime/syntax/fasm.vim | 151 - uvim/runtime/syntax/fdcc.mnv | 101 + uvim/runtime/syntax/fdcc.vim | 101 - uvim/runtime/syntax/fetchmail.mnv | 83 + uvim/runtime/syntax/fetchmail.vim | 83 - uvim/runtime/syntax/fgl.mnv | 134 + uvim/runtime/syntax/fgl.vim | 134 - uvim/runtime/syntax/fish.mnv | 225 + uvim/runtime/syntax/fish.vim | 225 - uvim/runtime/syntax/flexwiki.mnv | 133 + uvim/runtime/syntax/flexwiki.vim | 133 - uvim/runtime/syntax/focexec.mnv | 88 + uvim/runtime/syntax/focexec.vim | 88 - uvim/runtime/syntax/form.mnv | 145 + uvim/runtime/syntax/form.vim | 145 - uvim/runtime/syntax/forth.mnv | 455 ++ uvim/runtime/syntax/forth.vim | 455 -- uvim/runtime/syntax/fortran.mnv | 490 ++ uvim/runtime/syntax/fortran.vim | 490 -- uvim/runtime/syntax/foxpro.mnv | 716 +++ uvim/runtime/syntax/foxpro.vim | 716 --- uvim/runtime/syntax/fpcmake.mnv | 58 + uvim/runtime/syntax/fpcmake.vim | 58 - uvim/runtime/syntax/framescript.mnv | 491 ++ uvim/runtime/syntax/framescript.vim | 491 -- uvim/runtime/syntax/freebasic.mnv | 674 +++ uvim/runtime/syntax/freebasic.vim | 674 --- uvim/runtime/syntax/fstab.mnv | 530 +++ uvim/runtime/syntax/fstab.vim | 530 --- uvim/runtime/syntax/fvwm.mnv | 646 +++ uvim/runtime/syntax/fvwm.vim | 646 --- uvim/runtime/syntax/fvwm2m4.mnv | 32 + uvim/runtime/syntax/fvwm2m4.vim | 32 - uvim/runtime/syntax/gdb.mnv | 1645 +++++++ uvim/runtime/syntax/gdb.vim | 1645 ------- uvim/runtime/syntax/gdmo.mnv | 83 + uvim/runtime/syntax/gdmo.vim | 83 - uvim/runtime/syntax/gdresource.mnv | 65 + uvim/runtime/syntax/gdresource.vim | 65 - uvim/runtime/syntax/gdscript.mnv | 103 + uvim/runtime/syntax/gdscript.vim | 103 - uvim/runtime/syntax/gdshader.mnv | 57 + uvim/runtime/syntax/gdshader.vim | 57 - uvim/runtime/syntax/gedcom.mnv | 53 + uvim/runtime/syntax/gedcom.vim | 53 - uvim/runtime/syntax/gel.mnv | 19 + uvim/runtime/syntax/gel.vim | 19 - uvim/runtime/syntax/gemtext.mnv | 24 + uvim/runtime/syntax/gemtext.vim | 24 - uvim/runtime/syntax/generator/Makefile | 28 +- uvim/runtime/syntax/generator/README.md | 22 +- uvim/runtime/syntax/generator/gen_syntax_mnv.mnv | 1136 +++++ uvim/runtime/syntax/generator/gen_syntax_vim.vim | 1136 ----- uvim/runtime/syntax/generator/mnv.mnv.base | 2868 +++++++++++ uvim/runtime/syntax/generator/update_date.mnv | 13 + uvim/runtime/syntax/generator/update_date.vim | 13 - uvim/runtime/syntax/generator/vim.vim.base | 2868 ----------- uvim/runtime/syntax/gift.mnv | 216 + uvim/runtime/syntax/gift.vim | 216 - uvim/runtime/syntax/git.mnv | 111 + uvim/runtime/syntax/git.vim | 111 - uvim/runtime/syntax/gitattributes.mnv | 63 + uvim/runtime/syntax/gitattributes.vim | 63 - uvim/runtime/syntax/gitcommit.mnv | 111 + uvim/runtime/syntax/gitcommit.vim | 111 - uvim/runtime/syntax/gitconfig.mnv | 36 + uvim/runtime/syntax/gitconfig.vim | 36 - uvim/runtime/syntax/gitignore.mnv | 29 + uvim/runtime/syntax/gitignore.vim | 29 - uvim/runtime/syntax/gitolite.mnv | 94 + uvim/runtime/syntax/gitolite.vim | 94 - uvim/runtime/syntax/gitrebase.mnv | 62 + uvim/runtime/syntax/gitrebase.vim | 62 - uvim/runtime/syntax/gitsendemail.mnv | 23 + uvim/runtime/syntax/gitsendemail.vim | 23 - uvim/runtime/syntax/gkrellmrc.mnv | 75 + uvim/runtime/syntax/gkrellmrc.vim | 75 - uvim/runtime/syntax/gleam.mnv | 98 + uvim/runtime/syntax/gleam.vim | 98 - uvim/runtime/syntax/glimmer.mnv | 51 + uvim/runtime/syntax/glimmer.vim | 51 - uvim/runtime/syntax/glsl.mnv | 752 +++ uvim/runtime/syntax/glsl.vim | 752 --- uvim/runtime/syntax/gnash.mnv | 96 + uvim/runtime/syntax/gnash.vim | 96 - uvim/runtime/syntax/gnuplot.mnv | 549 +++ uvim/runtime/syntax/gnuplot.vim | 549 --- uvim/runtime/syntax/go.mnv | 561 +++ uvim/runtime/syntax/go.vim | 561 --- uvim/runtime/syntax/goaccess.mnv | 34 + uvim/runtime/syntax/goaccess.vim | 34 - uvim/runtime/syntax/godoc.mnv | 19 + uvim/runtime/syntax/godoc.vim | 19 - uvim/runtime/syntax/gp.mnv | 88 + uvim/runtime/syntax/gp.vim | 88 - uvim/runtime/syntax/gpg.mnv | 191 + uvim/runtime/syntax/gpg.vim | 191 - uvim/runtime/syntax/gprof.mnv | 70 + uvim/runtime/syntax/gprof.vim | 70 - uvim/runtime/syntax/grads.mnv | 73 + uvim/runtime/syntax/grads.vim | 73 - uvim/runtime/syntax/graphql.mnv | 90 + uvim/runtime/syntax/graphql.vim | 90 - uvim/runtime/syntax/gretl.mnv | 85 + uvim/runtime/syntax/gretl.vim | 85 - uvim/runtime/syntax/groff.mnv | 10 + uvim/runtime/syntax/groff.vim | 10 - uvim/runtime/syntax/groovy.mnv | 452 ++ uvim/runtime/syntax/groovy.vim | 452 -- uvim/runtime/syntax/group.mnv | 52 + uvim/runtime/syntax/group.vim | 52 - uvim/runtime/syntax/grub.mnv | 93 + uvim/runtime/syntax/grub.vim | 93 - uvim/runtime/syntax/gsp.mnv | 54 + uvim/runtime/syntax/gsp.vim | 54 - uvim/runtime/syntax/gtkrc.mnv | 126 + uvim/runtime/syntax/gtkrc.vim | 126 - uvim/runtime/syntax/gvpr.mnv | 85 + uvim/runtime/syntax/gvpr.vim | 85 - uvim/runtime/syntax/gyp.mnv | 49 + uvim/runtime/syntax/gyp.vim | 49 - uvim/runtime/syntax/haml.mnv | 109 + uvim/runtime/syntax/haml.vim | 109 - uvim/runtime/syntax/hamster.mnv | 370 ++ uvim/runtime/syntax/hamster.vim | 370 -- uvim/runtime/syntax/handlebars.mnv | 144 + uvim/runtime/syntax/handlebars.vim | 144 - uvim/runtime/syntax/hare.mnv | 262 + uvim/runtime/syntax/hare.vim | 262 - uvim/runtime/syntax/haredoc.mnv | 42 + uvim/runtime/syntax/haredoc.vim | 42 - uvim/runtime/syntax/haskell.mnv | 196 + uvim/runtime/syntax/haskell.vim | 196 - uvim/runtime/syntax/haste.mnv | 142 + uvim/runtime/syntax/haste.vim | 142 - uvim/runtime/syntax/hastepreproc.mnv | 38 + uvim/runtime/syntax/hastepreproc.vim | 38 - uvim/runtime/syntax/hb.mnv | 89 + uvim/runtime/syntax/hb.vim | 89 - uvim/runtime/syntax/hcl.mnv | 81 + uvim/runtime/syntax/hcl.vim | 81 - uvim/runtime/syntax/help.mnv | 319 ++ uvim/runtime/syntax/help.vim | 319 -- uvim/runtime/syntax/help_it.mnv | 17 + uvim/runtime/syntax/help_it.vim | 17 - uvim/runtime/syntax/help_ru.mnv | 67 + uvim/runtime/syntax/help_ru.vim | 67 - uvim/runtime/syntax/hercules.mnv | 119 + uvim/runtime/syntax/hercules.vim | 119 - uvim/runtime/syntax/hex.mnv | 89 + uvim/runtime/syntax/hex.vim | 89 - uvim/runtime/syntax/hgcommit.mnv | 30 + uvim/runtime/syntax/hgcommit.vim | 30 - uvim/runtime/syntax/hitest.mnv | 10 + uvim/runtime/syntax/hitest.vim | 10 - uvim/runtime/syntax/hlsplaylist.mnv | 120 + uvim/runtime/syntax/hlsplaylist.vim | 120 - uvim/runtime/syntax/hog.mnv | 208 + uvim/runtime/syntax/hog.vim | 208 - uvim/runtime/syntax/hollywood.mnv | 186 + uvim/runtime/syntax/hollywood.vim | 186 - uvim/runtime/syntax/hostconf.mnv | 147 + uvim/runtime/syntax/hostconf.vim | 147 - uvim/runtime/syntax/hostsaccess.mnv | 23 + uvim/runtime/syntax/hostsaccess.vim | 23 - uvim/runtime/syntax/html.mnv | 414 ++ uvim/runtime/syntax/html.vim | 414 -- uvim/runtime/syntax/htmlangular.mnv | 18 + uvim/runtime/syntax/htmlangular.vim | 18 - uvim/runtime/syntax/htmlcheetah.mnv | 24 + uvim/runtime/syntax/htmlcheetah.vim | 24 - uvim/runtime/syntax/htmldjango.mnv | 26 + uvim/runtime/syntax/htmldjango.vim | 26 - uvim/runtime/syntax/htmlm4.mnv | 31 + uvim/runtime/syntax/htmlm4.vim | 31 - uvim/runtime/syntax/htmlos.mnv | 149 + uvim/runtime/syntax/htmlos.vim | 149 - uvim/runtime/syntax/hyprlang.mnv | 65 + uvim/runtime/syntax/hyprlang.vim | 65 - uvim/runtime/syntax/i3config.mnv | 356 ++ uvim/runtime/syntax/i3config.vim | 356 -- uvim/runtime/syntax/ia64.mnv | 293 ++ uvim/runtime/syntax/ia64.vim | 293 -- uvim/runtime/syntax/ibasic.mnv | 176 + uvim/runtime/syntax/ibasic.vim | 176 - uvim/runtime/syntax/icemenu.mnv | 34 + uvim/runtime/syntax/icemenu.vim | 34 - uvim/runtime/syntax/icon.mnv | 211 + uvim/runtime/syntax/icon.vim | 211 - uvim/runtime/syntax/idl.mnv | 324 ++ uvim/runtime/syntax/idl.vim | 324 -- uvim/runtime/syntax/idlang.mnv | 241 + uvim/runtime/syntax/idlang.vim | 241 - uvim/runtime/syntax/idris2.mnv | 86 + uvim/runtime/syntax/idris2.vim | 86 - uvim/runtime/syntax/indent.mnv | 153 + uvim/runtime/syntax/indent.vim | 153 - uvim/runtime/syntax/inform.mnv | 392 ++ uvim/runtime/syntax/inform.vim | 392 -- uvim/runtime/syntax/initex.mnv | 376 ++ uvim/runtime/syntax/initex.vim | 376 -- uvim/runtime/syntax/initng.mnv | 90 + uvim/runtime/syntax/initng.vim | 90 - uvim/runtime/syntax/inittab.mnv | 62 + uvim/runtime/syntax/inittab.vim | 62 - uvim/runtime/syntax/ipfilter.mnv | 55 + uvim/runtime/syntax/ipfilter.vim | 55 - uvim/runtime/syntax/ipkg.mnv | 66 + uvim/runtime/syntax/ipkg.vim | 66 - uvim/runtime/syntax/ishd.mnv | 409 ++ uvim/runtime/syntax/ishd.vim | 409 -- uvim/runtime/syntax/iss.mnv | 138 + uvim/runtime/syntax/iss.vim | 138 - uvim/runtime/syntax/ist.mnv | 58 + uvim/runtime/syntax/ist.vim | 58 - uvim/runtime/syntax/j.mnv | 146 + uvim/runtime/syntax/j.vim | 146 - uvim/runtime/syntax/jal.mnv | 236 + uvim/runtime/syntax/jal.vim | 236 - uvim/runtime/syntax/jam.mnv | 240 + uvim/runtime/syntax/jam.vim | 240 - uvim/runtime/syntax/jargon.mnv | 24 + uvim/runtime/syntax/jargon.vim | 24 - uvim/runtime/syntax/java.mnv | 1018 ++++ uvim/runtime/syntax/java.vim | 1018 ---- uvim/runtime/syntax/javacc.mnv | 65 + uvim/runtime/syntax/javacc.vim | 65 - uvim/runtime/syntax/javascript.mnv | 147 + uvim/runtime/syntax/javascript.vim | 147 - uvim/runtime/syntax/javascriptreact.mnv | 3 + uvim/runtime/syntax/javascriptreact.vim | 3 - uvim/runtime/syntax/jess.mnv | 144 + uvim/runtime/syntax/jess.vim | 144 - uvim/runtime/syntax/jgraph.mnv | 45 + uvim/runtime/syntax/jgraph.vim | 45 - uvim/runtime/syntax/jinja.mnv | 87 + uvim/runtime/syntax/jinja.vim | 87 - uvim/runtime/syntax/jjdescription.mnv | 25 + uvim/runtime/syntax/jjdescription.vim | 25 - uvim/runtime/syntax/jovial.mnv | 110 + uvim/runtime/syntax/jovial.vim | 110 - uvim/runtime/syntax/jproperties.mnv | 135 + uvim/runtime/syntax/jproperties.vim | 135 - uvim/runtime/syntax/jq.mnv | 137 + uvim/runtime/syntax/jq.vim | 137 - uvim/runtime/syntax/json.mnv | 136 + uvim/runtime/syntax/json.vim | 136 - uvim/runtime/syntax/json5.mnv | 76 + uvim/runtime/syntax/json5.vim | 76 - uvim/runtime/syntax/jsonc.mnv | 44 + uvim/runtime/syntax/jsonc.vim | 44 - uvim/runtime/syntax/jsp.mnv | 68 + uvim/runtime/syntax/jsp.vim | 68 - uvim/runtime/syntax/julia.mnv | 552 +++ uvim/runtime/syntax/julia.vim | 552 --- uvim/runtime/syntax/just.mnv | 406 ++ uvim/runtime/syntax/just.vim | 406 -- uvim/runtime/syntax/karel.mnv | 112 + uvim/runtime/syntax/karel.vim | 112 - uvim/runtime/syntax/kconfig.mnv | 737 +++ uvim/runtime/syntax/kconfig.vim | 737 --- uvim/runtime/syntax/kdl.mnv | 48 + uvim/runtime/syntax/kdl.vim | 48 - uvim/runtime/syntax/kitty.mnv | 118 + uvim/runtime/syntax/kitty.vim | 118 - uvim/runtime/syntax/kivy.mnv | 36 + uvim/runtime/syntax/kivy.vim | 36 - uvim/runtime/syntax/kix.mnv | 170 + uvim/runtime/syntax/kix.vim | 170 - uvim/runtime/syntax/kotlin.mnv | 157 + uvim/runtime/syntax/kotlin.vim | 157 - uvim/runtime/syntax/krl.mnv | 486 ++ uvim/runtime/syntax/krl.vim | 486 -- uvim/runtime/syntax/kscript.mnv | 57 + uvim/runtime/syntax/kscript.vim | 57 - uvim/runtime/syntax/kwt.mnv | 70 + uvim/runtime/syntax/kwt.vim | 70 - uvim/runtime/syntax/lace.mnv | 122 + uvim/runtime/syntax/lace.vim | 122 - uvim/runtime/syntax/latte.mnv | 81 + uvim/runtime/syntax/latte.vim | 81 - uvim/runtime/syntax/lc.mnv | 31 + uvim/runtime/syntax/lc.vim | 31 - uvim/runtime/syntax/ld.mnv | 82 + uvim/runtime/syntax/ld.vim | 82 - uvim/runtime/syntax/ldapconf.mnv | 338 ++ uvim/runtime/syntax/ldapconf.vim | 338 -- uvim/runtime/syntax/ldif.mnv | 33 + uvim/runtime/syntax/ldif.vim | 33 - uvim/runtime/syntax/leex.mnv | 63 + uvim/runtime/syntax/leex.vim | 63 - uvim/runtime/syntax/less.mnv | 78 + uvim/runtime/syntax/less.vim | 78 - uvim/runtime/syntax/lex.mnv | 190 + uvim/runtime/syntax/lex.vim | 190 - uvim/runtime/syntax/lf.mnv | 254 + uvim/runtime/syntax/lf.vim | 254 - uvim/runtime/syntax/lftp.mnv | 152 + uvim/runtime/syntax/lftp.vim | 152 - uvim/runtime/syntax/lhaskell.mnv | 135 + uvim/runtime/syntax/lhaskell.vim | 135 - uvim/runtime/syntax/libao.mnv | 27 + uvim/runtime/syntax/libao.vim | 27 - uvim/runtime/syntax/lidris2.mnv | 25 + uvim/runtime/syntax/lidris2.vim | 25 - uvim/runtime/syntax/lifelines.mnv | 154 + uvim/runtime/syntax/lifelines.vim | 154 - uvim/runtime/syntax/lilo.mnv | 174 + uvim/runtime/syntax/lilo.vim | 174 - uvim/runtime/syntax/limits.mnv | 44 + uvim/runtime/syntax/limits.vim | 44 - uvim/runtime/syntax/liquid.mnv | 138 + uvim/runtime/syntax/liquid.vim | 138 - uvim/runtime/syntax/lisp.mnv | 624 +++ uvim/runtime/syntax/lisp.vim | 624 --- uvim/runtime/syntax/lite.mnv | 168 + uvim/runtime/syntax/lite.vim | 168 - uvim/runtime/syntax/litestep.mnv | 269 ++ uvim/runtime/syntax/litestep.vim | 269 -- uvim/runtime/syntax/livebook.mnv | 8 + uvim/runtime/syntax/livebook.vim | 8 - uvim/runtime/syntax/lnk.mnv | 40 + uvim/runtime/syntax/lnk.vim | 40 - uvim/runtime/syntax/lnkmap.mnv | 35 + uvim/runtime/syntax/lnkmap.vim | 35 - uvim/runtime/syntax/log.mnv | 222 + uvim/runtime/syntax/log.vim | 222 - uvim/runtime/syntax/loginaccess.mnv | 96 + uvim/runtime/syntax/loginaccess.vim | 96 - uvim/runtime/syntax/logindefs.mnv | 195 + uvim/runtime/syntax/logindefs.vim | 195 - uvim/runtime/syntax/logtalk.mnv | 456 ++ uvim/runtime/syntax/logtalk.vim | 456 -- uvim/runtime/syntax/lotos.mnv | 69 + uvim/runtime/syntax/lotos.vim | 69 - uvim/runtime/syntax/lout.mnv | 135 + uvim/runtime/syntax/lout.vim | 135 - uvim/runtime/syntax/lpc.mnv | 447 ++ uvim/runtime/syntax/lpc.vim | 447 -- uvim/runtime/syntax/lprolog.mnv | 124 + uvim/runtime/syntax/lprolog.vim | 124 - uvim/runtime/syntax/lscript.mnv | 200 + uvim/runtime/syntax/lscript.vim | 200 - uvim/runtime/syntax/lsl.mnv | 277 ++ uvim/runtime/syntax/lsl.vim | 277 -- uvim/runtime/syntax/lss.mnv | 123 + uvim/runtime/syntax/lss.vim | 123 - uvim/runtime/syntax/lua.mnv | 443 ++ uvim/runtime/syntax/lua.vim | 443 -- uvim/runtime/syntax/luau.mnv | 15 + uvim/runtime/syntax/luau.vim | 15 - uvim/runtime/syntax/lynx.mnv | 146 + uvim/runtime/syntax/lynx.vim | 146 - uvim/runtime/syntax/lyrics.mnv | 43 + uvim/runtime/syntax/lyrics.vim | 43 - uvim/runtime/syntax/m17ndb.mnv | 28 + uvim/runtime/syntax/m17ndb.vim | 28 - uvim/runtime/syntax/m3build.mnv | 177 + uvim/runtime/syntax/m3build.vim | 177 - uvim/runtime/syntax/m3quake.mnv | 74 + uvim/runtime/syntax/m3quake.vim | 74 - uvim/runtime/syntax/m4.mnv | 105 + uvim/runtime/syntax/m4.vim | 105 - uvim/runtime/syntax/mail.mnv | 117 + uvim/runtime/syntax/mail.vim | 117 - uvim/runtime/syntax/mailaliases.mnv | 71 + uvim/runtime/syntax/mailaliases.vim | 71 - uvim/runtime/syntax/mailcap.mnv | 35 + uvim/runtime/syntax/mailcap.vim | 35 - uvim/runtime/syntax/make.mnv | 195 + uvim/runtime/syntax/make.vim | 195 - uvim/runtime/syntax/mallard.mnv | 37 + uvim/runtime/syntax/mallard.vim | 37 - uvim/runtime/syntax/man.mnv | 58 + uvim/runtime/syntax/man.vim | 58 - uvim/runtime/syntax/manconf.mnv | 117 + uvim/runtime/syntax/manconf.vim | 117 - uvim/runtime/syntax/manual.mnv | 30 + uvim/runtime/syntax/manual.vim | 30 - uvim/runtime/syntax/maple.mnv | 624 +++ uvim/runtime/syntax/maple.vim | 624 --- uvim/runtime/syntax/markdown.mnv | 200 + uvim/runtime/syntax/markdown.vim | 200 - uvim/runtime/syntax/masm.mnv | 560 +++ uvim/runtime/syntax/masm.vim | 560 --- uvim/runtime/syntax/mason.mnv | 85 + uvim/runtime/syntax/mason.vim | 85 - uvim/runtime/syntax/master.mnv | 37 + uvim/runtime/syntax/master.vim | 37 - uvim/runtime/syntax/matlab.mnv | 119 + uvim/runtime/syntax/matlab.vim | 119 - uvim/runtime/syntax/maxima.mnv | 261 + uvim/runtime/syntax/maxima.vim | 261 - uvim/runtime/syntax/mbsync.mnv | 222 + uvim/runtime/syntax/mbsync.vim | 222 - uvim/runtime/syntax/mediawiki.mnv | 292 ++ uvim/runtime/syntax/mediawiki.vim | 292 -- uvim/runtime/syntax/mel.mnv | 108 + uvim/runtime/syntax/mel.vim | 108 - uvim/runtime/syntax/mermaid.mnv | 131 + uvim/runtime/syntax/mermaid.vim | 131 - uvim/runtime/syntax/meson.mnv | 162 + uvim/runtime/syntax/meson.vim | 162 - uvim/runtime/syntax/messages.mnv | 74 + uvim/runtime/syntax/messages.vim | 74 - uvim/runtime/syntax/mf.mnv | 308 ++ uvim/runtime/syntax/mf.vim | 308 -- uvim/runtime/syntax/mgl.mnv | 117 + uvim/runtime/syntax/mgl.vim | 117 - uvim/runtime/syntax/mgp.mnv | 69 + uvim/runtime/syntax/mgp.vim | 69 - uvim/runtime/syntax/mib.mnv | 57 + uvim/runtime/syntax/mib.vim | 57 - uvim/runtime/syntax/mix.mnv | 84 + uvim/runtime/syntax/mix.vim | 84 - uvim/runtime/syntax/mma.mnv | 321 ++ uvim/runtime/syntax/mma.vim | 321 -- uvim/runtime/syntax/mmix.mnv | 152 + uvim/runtime/syntax/mmix.vim | 152 - uvim/runtime/syntax/mmp.mnv | 49 + uvim/runtime/syntax/mmp.vim | 49 - uvim/runtime/syntax/mnv.mnv | 2931 ++++++++++++ uvim/runtime/syntax/mnvinfo.mnv | 49 + uvim/runtime/syntax/mnvnormal.mnv | 16 + uvim/runtime/syntax/modconf.mnv | 44 + uvim/runtime/syntax/modconf.vim | 44 - uvim/runtime/syntax/model.mnv | 45 + uvim/runtime/syntax/model.vim | 45 - uvim/runtime/syntax/modsim3.mnv | 97 + uvim/runtime/syntax/modsim3.vim | 97 - uvim/runtime/syntax/modula2.mnv | 23 + uvim/runtime/syntax/modula2.vim | 23 - uvim/runtime/syntax/modula2/opt/iso.mnv | 380 ++ uvim/runtime/syntax/modula2/opt/iso.vim | 380 -- uvim/runtime/syntax/modula2/opt/pim.mnv | 377 ++ uvim/runtime/syntax/modula2/opt/pim.vim | 377 -- uvim/runtime/syntax/modula2/opt/r10.mnv | 452 ++ uvim/runtime/syntax/modula2/opt/r10.vim | 452 -- uvim/runtime/syntax/modula3.mnv | 145 + uvim/runtime/syntax/modula3.vim | 145 - uvim/runtime/syntax/mojo.mnv | 316 ++ uvim/runtime/syntax/mojo.vim | 316 -- uvim/runtime/syntax/monk.mnv | 217 + uvim/runtime/syntax/monk.vim | 217 - uvim/runtime/syntax/moo.mnv | 173 + uvim/runtime/syntax/moo.vim | 173 - uvim/runtime/syntax/mp.mnv | 273 ++ uvim/runtime/syntax/mp.vim | 273 -- uvim/runtime/syntax/mplayerconf.mnv | 128 + uvim/runtime/syntax/mplayerconf.vim | 128 - uvim/runtime/syntax/mrxvtrc.mnv | 282 ++ uvim/runtime/syntax/mrxvtrc.vim | 282 -- uvim/runtime/syntax/msidl.mnv | 84 + uvim/runtime/syntax/msidl.vim | 84 - uvim/runtime/syntax/msmessages.mnv | 132 + uvim/runtime/syntax/msmessages.vim | 132 - uvim/runtime/syntax/msql.mnv | 83 + uvim/runtime/syntax/msql.vim | 83 - uvim/runtime/syntax/mss.mnv | 23 + uvim/runtime/syntax/mss.vim | 23 - uvim/runtime/syntax/mupad.mnv | 284 ++ uvim/runtime/syntax/mupad.vim | 284 -- uvim/runtime/syntax/murphi.mnv | 126 + uvim/runtime/syntax/murphi.vim | 126 - uvim/runtime/syntax/mush.mnv | 215 + uvim/runtime/syntax/mush.vim | 215 - uvim/runtime/syntax/muttrc.mnv | 847 ++++ uvim/runtime/syntax/muttrc.vim | 847 ---- uvim/runtime/syntax/mysql.mnv | 312 ++ uvim/runtime/syntax/mysql.vim | 312 -- uvim/runtime/syntax/n1ql.mnv | 434 ++ uvim/runtime/syntax/n1ql.vim | 434 -- uvim/runtime/syntax/named.mnv | 229 + uvim/runtime/syntax/named.vim | 229 - uvim/runtime/syntax/nanorc.mnv | 243 + uvim/runtime/syntax/nanorc.vim | 243 - uvim/runtime/syntax/nasm.mnv | 1192 +++++ uvim/runtime/syntax/nasm.vim | 1192 ----- uvim/runtime/syntax/nastran.mnv | 181 + uvim/runtime/syntax/nastran.vim | 181 - uvim/runtime/syntax/natural.mnv | 201 + uvim/runtime/syntax/natural.vim | 201 - uvim/runtime/syntax/ncf.mnv | 247 + uvim/runtime/syntax/ncf.vim | 247 - uvim/runtime/syntax/neomuttlog.mnv | 69 + uvim/runtime/syntax/neomuttlog.vim | 69 - uvim/runtime/syntax/neomuttrc.mnv | 911 ++++ uvim/runtime/syntax/neomuttrc.vim | 911 ---- uvim/runtime/syntax/netrc.mnv | 56 + uvim/runtime/syntax/netrc.vim | 56 - uvim/runtime/syntax/nginx.mnv | 2340 +++++++++ uvim/runtime/syntax/nginx.vim | 2340 --------- uvim/runtime/syntax/ninja.mnv | 87 + uvim/runtime/syntax/ninja.vim | 87 - uvim/runtime/syntax/nix.mnv | 212 + uvim/runtime/syntax/nix.vim | 212 - uvim/runtime/syntax/nosyntax.mnv | 31 + uvim/runtime/syntax/nosyntax.vim | 31 - uvim/runtime/syntax/nqc.mnv | 365 ++ uvim/runtime/syntax/nqc.vim | 365 -- uvim/runtime/syntax/nroff.mnv | 237 + uvim/runtime/syntax/nroff.vim | 237 - uvim/runtime/syntax/nsis.mnv | 730 +++ uvim/runtime/syntax/nsis.vim | 730 --- uvim/runtime/syntax/nu.mnv | 720 +++ uvim/runtime/syntax/nu.vim | 720 --- uvim/runtime/syntax/obj.mnv | 83 + uvim/runtime/syntax/obj.vim | 83 - uvim/runtime/syntax/objc.mnv | 534 +++ uvim/runtime/syntax/objc.vim | 534 --- uvim/runtime/syntax/objcpp.mnv | 20 + uvim/runtime/syntax/objcpp.vim | 20 - uvim/runtime/syntax/obse.mnv | 3360 +++++++++++++ uvim/runtime/syntax/obse.vim | 3360 ------------- uvim/runtime/syntax/ocaml.mnv | 668 +++ uvim/runtime/syntax/ocaml.vim | 668 --- uvim/runtime/syntax/occam.mnv | 116 + uvim/runtime/syntax/occam.vim | 116 - uvim/runtime/syntax/odin.mnv | 105 + uvim/runtime/syntax/odin.vim | 105 - uvim/runtime/syntax/omnimark.mnv | 833 ++++ uvim/runtime/syntax/omnimark.vim | 833 ---- uvim/runtime/syntax/ondir.mnv | 35 + uvim/runtime/syntax/ondir.vim | 35 - uvim/runtime/syntax/opam.mnv | 74 + uvim/runtime/syntax/opam.vim | 74 - uvim/runtime/syntax/opencl.mnv | 13 + uvim/runtime/syntax/opencl.vim | 13 - uvim/runtime/syntax/openroad.mnv | 252 + uvim/runtime/syntax/openroad.vim | 252 - uvim/runtime/syntax/openscad.mnv | 129 + uvim/runtime/syntax/openscad.vim | 129 - uvim/runtime/syntax/openvpn.mnv | 72 + uvim/runtime/syntax/openvpn.vim | 72 - uvim/runtime/syntax/opl.mnv | 89 + uvim/runtime/syntax/opl.vim | 89 - uvim/runtime/syntax/ora.mnv | 464 ++ uvim/runtime/syntax/ora.vim | 464 -- uvim/runtime/syntax/org.mnv | 72 + uvim/runtime/syntax/org.vim | 72 - uvim/runtime/syntax/pacmanlog.mnv | 48 + uvim/runtime/syntax/pacmanlog.vim | 48 - uvim/runtime/syntax/pamconf.mnv | 140 + uvim/runtime/syntax/pamconf.vim | 140 - uvim/runtime/syntax/pamenv.mnv | 28 + uvim/runtime/syntax/pamenv.vim | 28 - uvim/runtime/syntax/pandoc.mnv | 714 +++ uvim/runtime/syntax/pandoc.vim | 714 --- uvim/runtime/syntax/papp.mnv | 76 + uvim/runtime/syntax/papp.vim | 76 - uvim/runtime/syntax/pascal.mnv | 384 ++ uvim/runtime/syntax/pascal.vim | 384 -- uvim/runtime/syntax/passwd.mnv | 71 + uvim/runtime/syntax/passwd.vim | 71 - uvim/runtime/syntax/pbtxt.mnv | 44 + uvim/runtime/syntax/pbtxt.vim | 44 - uvim/runtime/syntax/pcap.mnv | 48 + uvim/runtime/syntax/pcap.vim | 48 - uvim/runtime/syntax/pccts.mnv | 89 + uvim/runtime/syntax/pccts.vim | 89 - uvim/runtime/syntax/pdf.mnv | 73 + uvim/runtime/syntax/pdf.vim | 73 - uvim/runtime/syntax/perl.mnv | 662 +++ uvim/runtime/syntax/perl.vim | 662 --- uvim/runtime/syntax/pf.mnv | 333 ++ uvim/runtime/syntax/pf.vim | 333 -- uvim/runtime/syntax/pfmain.mnv | 1835 ++++++++ uvim/runtime/syntax/pfmain.vim | 1835 -------- uvim/runtime/syntax/php.mnv | 978 ++++ uvim/runtime/syntax/php.vim | 978 ---- uvim/runtime/syntax/phtml.mnv | 6 + uvim/runtime/syntax/phtml.vim | 6 - uvim/runtime/syntax/pic.mnv | 114 + uvim/runtime/syntax/pic.vim | 114 - uvim/runtime/syntax/pike.mnv | 386 ++ uvim/runtime/syntax/pike.vim | 386 -- uvim/runtime/syntax/pilrc.mnv | 136 + uvim/runtime/syntax/pilrc.vim | 136 - uvim/runtime/syntax/pine.mnv | 355 ++ uvim/runtime/syntax/pine.vim | 355 -- uvim/runtime/syntax/pinfo.mnv | 110 + uvim/runtime/syntax/pinfo.vim | 110 - uvim/runtime/syntax/pkl.mnv | 169 + uvim/runtime/syntax/pkl.vim | 169 - uvim/runtime/syntax/plaintex.mnv | 170 + uvim/runtime/syntax/plaintex.vim | 170 - uvim/runtime/syntax/pli.mnv | 266 ++ uvim/runtime/syntax/pli.vim | 266 -- uvim/runtime/syntax/plm.mnv | 134 + uvim/runtime/syntax/plm.vim | 134 - uvim/runtime/syntax/plp.mnv | 37 + uvim/runtime/syntax/plp.vim | 37 - uvim/runtime/syntax/plsql.mnv | 862 ++++ uvim/runtime/syntax/plsql.vim | 862 ---- uvim/runtime/syntax/po.mnv | 171 + uvim/runtime/syntax/po.vim | 171 - uvim/runtime/syntax/pod.mnv | 222 + uvim/runtime/syntax/pod.vim | 222 - uvim/runtime/syntax/poefilter.mnv | 167 + uvim/runtime/syntax/poefilter.vim | 167 - uvim/runtime/syntax/poke.mnv | 151 + uvim/runtime/syntax/poke.vim | 151 - uvim/runtime/syntax/postscr.mnv | 780 +++ uvim/runtime/syntax/postscr.vim | 780 --- uvim/runtime/syntax/pov.mnv | 146 + uvim/runtime/syntax/pov.vim | 146 - uvim/runtime/syntax/povini.mnv | 56 + uvim/runtime/syntax/povini.vim | 56 - uvim/runtime/syntax/ppd.mnv | 35 + uvim/runtime/syntax/ppd.vim | 35 - uvim/runtime/syntax/ppwiz.mnv | 84 + uvim/runtime/syntax/ppwiz.vim | 84 - uvim/runtime/syntax/pq.mnv | 337 ++ uvim/runtime/syntax/pq.vim | 337 -- uvim/runtime/syntax/prescribe.mnv | 56 + uvim/runtime/syntax/prescribe.vim | 56 - uvim/runtime/syntax/privoxy.mnv | 183 + uvim/runtime/syntax/privoxy.vim | 183 - uvim/runtime/syntax/procmail.mnv | 54 + uvim/runtime/syntax/procmail.vim | 54 - uvim/runtime/syntax/progress.mnv | 316 ++ uvim/runtime/syntax/progress.vim | 316 -- uvim/runtime/syntax/prolog.mnv | 118 + uvim/runtime/syntax/prolog.vim | 118 - uvim/runtime/syntax/promela.mnv | 53 + uvim/runtime/syntax/promela.vim | 53 - uvim/runtime/syntax/proto.mnv | 83 + uvim/runtime/syntax/proto.vim | 83 - uvim/runtime/syntax/protocols.mnv | 44 + uvim/runtime/syntax/protocols.vim | 44 - uvim/runtime/syntax/prql.mnv | 178 + uvim/runtime/syntax/prql.vim | 178 - uvim/runtime/syntax/ps1.mnv | 182 + uvim/runtime/syntax/ps1.vim | 182 - uvim/runtime/syntax/ps1xml.mnv | 51 + uvim/runtime/syntax/ps1xml.vim | 51 - uvim/runtime/syntax/psf.mnv | 91 + uvim/runtime/syntax/psf.vim | 91 - uvim/runtime/syntax/psl.mnv | 83 + uvim/runtime/syntax/psl.vim | 83 - uvim/runtime/syntax/ptcap.mnv | 95 + uvim/runtime/syntax/ptcap.vim | 95 - uvim/runtime/syntax/ptx.mnv | 52 + uvim/runtime/syntax/ptx.vim | 52 - uvim/runtime/syntax/purifylog.mnv | 106 + uvim/runtime/syntax/purifylog.vim | 106 - uvim/runtime/syntax/pymanifest.mnv | 44 + uvim/runtime/syntax/pymanifest.vim | 44 - uvim/runtime/syntax/pyrex.mnv | 51 + uvim/runtime/syntax/pyrex.vim | 51 - uvim/runtime/syntax/python.mnv | 461 ++ uvim/runtime/syntax/python.vim | 461 -- uvim/runtime/syntax/python2.mnv | 378 ++ uvim/runtime/syntax/python2.vim | 378 -- uvim/runtime/syntax/qb64.mnv | 409 ++ uvim/runtime/syntax/qb64.vim | 409 -- uvim/runtime/syntax/qf.mnv | 34 + uvim/runtime/syntax/qf.vim | 34 - uvim/runtime/syntax/qml.mnv | 1130 +++++ uvim/runtime/syntax/qml.vim | 1130 ----- uvim/runtime/syntax/quake.mnv | 170 + uvim/runtime/syntax/quake.vim | 170 - uvim/runtime/syntax/quarto.mnv | 19 + uvim/runtime/syntax/quarto.vim | 19 - uvim/runtime/syntax/r.mnv | 388 ++ uvim/runtime/syntax/r.vim | 388 -- uvim/runtime/syntax/racc.mnv | 142 + uvim/runtime/syntax/racc.vim | 142 - uvim/runtime/syntax/racket.mnv | 665 +++ uvim/runtime/syntax/racket.vim | 665 --- uvim/runtime/syntax/radiance.mnv | 142 + uvim/runtime/syntax/radiance.vim | 142 - uvim/runtime/syntax/raku.mnv | 1971 ++++++++ uvim/runtime/syntax/raku.vim | 1971 -------- uvim/runtime/syntax/raml.mnv | 106 + uvim/runtime/syntax/raml.vim | 106 - uvim/runtime/syntax/rapid.mnv | 698 +++ uvim/runtime/syntax/rapid.vim | 698 --- uvim/runtime/syntax/rasi.mnv | 304 ++ uvim/runtime/syntax/rasi.vim | 304 -- uvim/runtime/syntax/ratpoison.mnv | 275 ++ uvim/runtime/syntax/ratpoison.vim | 275 -- uvim/runtime/syntax/rc.mnv | 191 + uvim/runtime/syntax/rc.vim | 191 - uvim/runtime/syntax/rcs.mnv | 63 + uvim/runtime/syntax/rcs.vim | 63 - uvim/runtime/syntax/rcslog.mnv | 25 + uvim/runtime/syntax/rcslog.vim | 25 - uvim/runtime/syntax/readline.mnv | 411 ++ uvim/runtime/syntax/readline.vim | 411 -- uvim/runtime/syntax/rebol.mnv | 199 + uvim/runtime/syntax/rebol.vim | 199 - uvim/runtime/syntax/redif.mnv | 970 ++++ uvim/runtime/syntax/redif.vim | 970 ---- uvim/runtime/syntax/registry.mnv | 103 + uvim/runtime/syntax/registry.vim | 103 - uvim/runtime/syntax/rego.mnv | 120 + uvim/runtime/syntax/rego.vim | 120 - uvim/runtime/syntax/remind.mnv | 73 + uvim/runtime/syntax/remind.vim | 73 - uvim/runtime/syntax/requirements.mnv | 67 + uvim/runtime/syntax/requirements.vim | 67 - uvim/runtime/syntax/resolv.mnv | 119 + uvim/runtime/syntax/resolv.vim | 119 - uvim/runtime/syntax/reva.mnv | 191 + uvim/runtime/syntax/reva.vim | 191 - uvim/runtime/syntax/rexx.mnv | 318 ++ uvim/runtime/syntax/rexx.vim | 318 -- uvim/runtime/syntax/rhelp.mnv | 276 ++ uvim/runtime/syntax/rhelp.vim | 276 -- uvim/runtime/syntax/rib.mnv | 62 + uvim/runtime/syntax/rib.vim | 62 - uvim/runtime/syntax/rmd.mnv | 268 ++ uvim/runtime/syntax/rmd.vim | 268 -- uvim/runtime/syntax/rnc.mnv | 68 + uvim/runtime/syntax/rnc.vim | 68 - uvim/runtime/syntax/rng.mnv | 25 + uvim/runtime/syntax/rng.vim | 25 - uvim/runtime/syntax/rnoweb.mnv | 52 + uvim/runtime/syntax/rnoweb.vim | 52 - uvim/runtime/syntax/robots.mnv | 57 + uvim/runtime/syntax/robots.vim | 57 - uvim/runtime/syntax/routeros.mnv | 91 + uvim/runtime/syntax/routeros.vim | 91 - uvim/runtime/syntax/rpcgen.mnv | 48 + uvim/runtime/syntax/rpcgen.vim | 48 - uvim/runtime/syntax/rpl.mnv | 483 ++ uvim/runtime/syntax/rpl.vim | 483 -- uvim/runtime/syntax/rrst.mnv | 43 + uvim/runtime/syntax/rrst.vim | 43 - uvim/runtime/syntax/rst.mnv | 316 ++ uvim/runtime/syntax/rst.vim | 316 -- uvim/runtime/syntax/rtf.mnv | 75 + uvim/runtime/syntax/rtf.vim | 75 - uvim/runtime/syntax/ruby.mnv | 605 +++ uvim/runtime/syntax/ruby.vim | 605 --- uvim/runtime/syntax/rust.mnv | 387 ++ uvim/runtime/syntax/rust.vim | 387 -- uvim/runtime/syntax/salt.mnv | 16 + uvim/runtime/syntax/salt.vim | 16 - uvim/runtime/syntax/samba.mnv | 118 + uvim/runtime/syntax/samba.vim | 118 - uvim/runtime/syntax/sas.mnv | 265 ++ uvim/runtime/syntax/sas.vim | 265 -- uvim/runtime/syntax/sass.mnv | 106 + uvim/runtime/syntax/sass.vim | 106 - uvim/runtime/syntax/sather.mnv | 92 + uvim/runtime/syntax/sather.vim | 92 - uvim/runtime/syntax/sbt.mnv | 32 + uvim/runtime/syntax/sbt.vim | 32 - uvim/runtime/syntax/scala.mnv | 233 + uvim/runtime/syntax/scala.vim | 233 - uvim/runtime/syntax/scdoc.mnv | 63 + uvim/runtime/syntax/scdoc.vim | 63 - uvim/runtime/syntax/scheme.mnv | 470 ++ uvim/runtime/syntax/scheme.vim | 470 -- uvim/runtime/syntax/scilab.mnv | 102 + uvim/runtime/syntax/scilab.vim | 102 - uvim/runtime/syntax/screen.mnv | 260 + uvim/runtime/syntax/screen.vim | 260 - uvim/runtime/syntax/scss.mnv | 25 + uvim/runtime/syntax/scss.vim | 25 - uvim/runtime/syntax/sd.mnv | 71 + uvim/runtime/syntax/sd.vim | 71 - uvim/runtime/syntax/sdc.mnv | 77 + uvim/runtime/syntax/sdc.vim | 77 - uvim/runtime/syntax/sdl.mnv | 153 + uvim/runtime/syntax/sdl.vim | 153 - uvim/runtime/syntax/sed.mnv | 173 + uvim/runtime/syntax/sed.vim | 173 - uvim/runtime/syntax/sendpr.mnv | 37 + uvim/runtime/syntax/sendpr.vim | 37 - uvim/runtime/syntax/sensors.mnv | 52 + uvim/runtime/syntax/sensors.vim | 52 - uvim/runtime/syntax/services.mnv | 54 + uvim/runtime/syntax/services.vim | 54 - uvim/runtime/syntax/setserial.mnv | 120 + uvim/runtime/syntax/setserial.vim | 120 - uvim/runtime/syntax/sexplib.mnv | 88 + uvim/runtime/syntax/sexplib.vim | 88 - uvim/runtime/syntax/sgml.mnv | 334 ++ uvim/runtime/syntax/sgml.vim | 334 -- uvim/runtime/syntax/sgmldecl.mnv | 72 + uvim/runtime/syntax/sgmldecl.vim | 72 - uvim/runtime/syntax/sgmllnx.mnv | 54 + uvim/runtime/syntax/sgmllnx.vim | 54 - uvim/runtime/syntax/sh.mnv | 1049 +++++ uvim/runtime/syntax/sh.vim | 1049 ----- uvim/runtime/syntax/shaderslang.mnv | 360 ++ uvim/runtime/syntax/shaderslang.vim | 360 -- uvim/runtime/syntax/shared/README.txt | 2 +- uvim/runtime/syntax/shared/debarchitectures.mnv | 27 + uvim/runtime/syntax/shared/debarchitectures.vim | 27 - uvim/runtime/syntax/shared/debversions.mnv | 32 + uvim/runtime/syntax/shared/debversions.vim | 32 - uvim/runtime/syntax/shared/hgcommitDiff.mnv | 391 ++ uvim/runtime/syntax/shared/hgcommitDiff.vim | 391 -- uvim/runtime/syntax/shared/typescriptcommon.mnv | 2118 +++++++++ uvim/runtime/syntax/shared/typescriptcommon.vim | 2118 --------- uvim/runtime/syntax/sicad.mnv | 390 ++ uvim/runtime/syntax/sicad.vim | 390 -- uvim/runtime/syntax/sieve.mnv | 55 + uvim/runtime/syntax/sieve.vim | 55 - uvim/runtime/syntax/sil.mnv | 179 + uvim/runtime/syntax/sil.vim | 179 - uvim/runtime/syntax/simula.mnv | 87 + uvim/runtime/syntax/simula.vim | 87 - uvim/runtime/syntax/sinda.mnv | 129 + uvim/runtime/syntax/sinda.vim | 129 - uvim/runtime/syntax/sindacmp.mnv | 61 + uvim/runtime/syntax/sindacmp.vim | 61 - uvim/runtime/syntax/sindaout.mnv | 83 + uvim/runtime/syntax/sindaout.vim | 83 - uvim/runtime/syntax/sisu.mnv | 275 ++ uvim/runtime/syntax/sisu.vim | 275 -- uvim/runtime/syntax/skhd.mnv | 137 + uvim/runtime/syntax/skhd.vim | 137 - uvim/runtime/syntax/skill.mnv | 550 +++ uvim/runtime/syntax/skill.vim | 550 --- uvim/runtime/syntax/sl.mnv | 107 + uvim/runtime/syntax/sl.vim | 107 - uvim/runtime/syntax/slang.mnv | 89 + uvim/runtime/syntax/slang.vim | 89 - uvim/runtime/syntax/slice.mnv | 78 + uvim/runtime/syntax/slice.vim | 78 - uvim/runtime/syntax/slpconf.mnv | 273 ++ uvim/runtime/syntax/slpconf.vim | 273 -- uvim/runtime/syntax/slpreg.mnv | 122 + uvim/runtime/syntax/slpreg.vim | 122 - uvim/runtime/syntax/slpspi.mnv | 39 + uvim/runtime/syntax/slpspi.vim | 39 - uvim/runtime/syntax/slrnrc.mnv | 181 + uvim/runtime/syntax/slrnrc.vim | 181 - uvim/runtime/syntax/slrnsc.mnv | 68 + uvim/runtime/syntax/slrnsc.vim | 68 - uvim/runtime/syntax/sm.mnv | 82 + uvim/runtime/syntax/sm.vim | 82 - uvim/runtime/syntax/smarty.mnv | 76 + uvim/runtime/syntax/smarty.vim | 76 - uvim/runtime/syntax/smcl.mnv | 307 ++ uvim/runtime/syntax/smcl.vim | 307 -- uvim/runtime/syntax/smil.mnv | 146 + uvim/runtime/syntax/smil.vim | 146 - uvim/runtime/syntax/smith.mnv | 39 + uvim/runtime/syntax/smith.vim | 39 - uvim/runtime/syntax/sml.mnv | 242 + uvim/runtime/syntax/sml.vim | 242 - uvim/runtime/syntax/snnsnet.mnv | 67 + uvim/runtime/syntax/snnsnet.vim | 67 - uvim/runtime/syntax/snnspat.mnv | 62 + uvim/runtime/syntax/snnspat.vim | 62 - uvim/runtime/syntax/snnsres.mnv | 50 + uvim/runtime/syntax/snnsres.vim | 50 - uvim/runtime/syntax/snobol4.mnv | 113 + uvim/runtime/syntax/snobol4.vim | 113 - uvim/runtime/syntax/solidity.mnv | 183 + uvim/runtime/syntax/solidity.vim | 183 - uvim/runtime/syntax/spajson.mnv | 50 + uvim/runtime/syntax/spajson.vim | 50 - uvim/runtime/syntax/spec.mnv | 229 + uvim/runtime/syntax/spec.vim | 229 - uvim/runtime/syntax/specman.mnv | 169 + uvim/runtime/syntax/specman.vim | 169 - uvim/runtime/syntax/spice.mnv | 75 + uvim/runtime/syntax/spice.vim | 75 - uvim/runtime/syntax/splint.mnv | 243 + uvim/runtime/syntax/splint.vim | 243 - uvim/runtime/syntax/spup.mnv | 269 ++ uvim/runtime/syntax/spup.vim | 269 -- uvim/runtime/syntax/spyce.mnv | 104 + uvim/runtime/syntax/spyce.vim | 104 - uvim/runtime/syntax/sql.mnv | 36 + uvim/runtime/syntax/sql.vim | 36 - uvim/runtime/syntax/sqlanywhere.mnv | 905 ++++ uvim/runtime/syntax/sqlanywhere.vim | 905 ---- uvim/runtime/syntax/sqlforms.mnv | 152 + uvim/runtime/syntax/sqlforms.vim | 152 - uvim/runtime/syntax/sqlhana.mnv | 290 ++ uvim/runtime/syntax/sqlhana.vim | 290 -- uvim/runtime/syntax/sqlinformix.mnv | 183 + uvim/runtime/syntax/sqlinformix.vim | 183 - uvim/runtime/syntax/sqlj.mnv | 91 + uvim/runtime/syntax/sqlj.vim | 91 - uvim/runtime/syntax/sqloracle.mnv | 151 + uvim/runtime/syntax/sqloracle.vim | 151 - uvim/runtime/syntax/sqr.mnv | 262 + uvim/runtime/syntax/sqr.vim | 262 - uvim/runtime/syntax/squid.mnv | 140 + uvim/runtime/syntax/squid.vim | 140 - uvim/runtime/syntax/squirrel.mnv | 51 + uvim/runtime/syntax/squirrel.vim | 51 - uvim/runtime/syntax/srec.mnv | 83 + uvim/runtime/syntax/srec.vim | 83 - uvim/runtime/syntax/srt.mnv | 62 + uvim/runtime/syntax/srt.vim | 62 - uvim/runtime/syntax/ssa.mnv | 67 + uvim/runtime/syntax/ssa.vim | 67 - uvim/runtime/syntax/sshconfig.mnv | 304 ++ uvim/runtime/syntax/sshconfig.vim | 304 -- uvim/runtime/syntax/sshdconfig.mnv | 310 ++ uvim/runtime/syntax/sshdconfig.vim | 310 -- uvim/runtime/syntax/st.mnv | 95 + uvim/runtime/syntax/st.vim | 95 - uvim/runtime/syntax/stata.mnv | 450 ++ uvim/runtime/syntax/stata.vim | 450 -- uvim/runtime/syntax/stp.mnv | 154 + uvim/runtime/syntax/stp.vim | 154 - uvim/runtime/syntax/strace.mnv | 52 + uvim/runtime/syntax/strace.vim | 52 - uvim/runtime/syntax/structurizr.mnv | 113 + uvim/runtime/syntax/structurizr.vim | 113 - uvim/runtime/syntax/stylus.mnv | 51 + uvim/runtime/syntax/stylus.vim | 51 - uvim/runtime/syntax/sudoers.mnv | 578 +++ uvim/runtime/syntax/sudoers.vim | 578 --- uvim/runtime/syntax/svg.mnv | 15 + uvim/runtime/syntax/svg.vim | 15 - uvim/runtime/syntax/svn.mnv | 56 + uvim/runtime/syntax/svn.vim | 56 - uvim/runtime/syntax/swayconfig.mnv | 188 + uvim/runtime/syntax/swayconfig.vim | 188 - uvim/runtime/syntax/swift.mnv | 286 ++ uvim/runtime/syntax/swift.vim | 286 -- uvim/runtime/syntax/swiftgyb.mnv | 24 + uvim/runtime/syntax/swiftgyb.vim | 24 - uvim/runtime/syntax/swig.mnv | 99 + uvim/runtime/syntax/swig.vim | 99 - uvim/runtime/syntax/syncolor.mnv | 97 + uvim/runtime/syntax/syncolor.vim | 97 - uvim/runtime/syntax/synload.mnv | 84 + uvim/runtime/syntax/synload.vim | 84 - uvim/runtime/syntax/syntax.mnv | 45 + uvim/runtime/syntax/syntax.vim | 45 - uvim/runtime/syntax/sysctl.mnv | 39 + uvim/runtime/syntax/sysctl.vim | 39 - uvim/runtime/syntax/systemd.mnv | 8 + uvim/runtime/syntax/systemd.vim | 8 - uvim/runtime/syntax/systemverilog.mnv | 90 + uvim/runtime/syntax/systemverilog.vim | 90 - uvim/runtime/syntax/tads.mnv | 171 + uvim/runtime/syntax/tads.vim | 171 - uvim/runtime/syntax/tags.mnv | 33 + uvim/runtime/syntax/tags.vim | 33 - uvim/runtime/syntax/tak.mnv | 119 + uvim/runtime/syntax/tak.vim | 119 - uvim/runtime/syntax/takcmp.mnv | 69 + uvim/runtime/syntax/takcmp.vim | 69 - uvim/runtime/syntax/takout.mnv | 85 + uvim/runtime/syntax/takout.vim | 85 - uvim/runtime/syntax/tap.mnv | 86 + uvim/runtime/syntax/tap.vim | 86 - uvim/runtime/syntax/tar.mnv | 19 + uvim/runtime/syntax/tar.vim | 19 - uvim/runtime/syntax/taskdata.mnv | 45 + uvim/runtime/syntax/taskdata.vim | 45 - uvim/runtime/syntax/taskedit.mnv | 37 + uvim/runtime/syntax/taskedit.vim | 37 - uvim/runtime/syntax/tasm.mnv | 115 + uvim/runtime/syntax/tasm.vim | 115 - uvim/runtime/syntax/tcl.mnv | 274 ++ uvim/runtime/syntax/tcl.vim | 274 -- uvim/runtime/syntax/tcsh.mnv | 256 + uvim/runtime/syntax/tcsh.vim | 256 - uvim/runtime/syntax/template.mnv | 16 + uvim/runtime/syntax/template.vim | 16 - uvim/runtime/syntax/tera.mnv | 120 + uvim/runtime/syntax/tera.vim | 120 - uvim/runtime/syntax/teraterm.mnv | 140 + uvim/runtime/syntax/teraterm.vim | 140 - uvim/runtime/syntax/terminfo.mnv | 93 + uvim/runtime/syntax/terminfo.vim | 93 - uvim/runtime/syntax/terraform.mnv | 32 + uvim/runtime/syntax/terraform.vim | 32 - uvim/runtime/syntax/testdir/README.txt | 42 +- .../syntax/testdir/dumps/mnv9_blocks_00.dump | 20 + .../syntax/testdir/dumps/mnv9_blocks_01.dump | 20 + .../syntax/testdir/dumps/mnv9_blocks_02.dump | 20 + .../dumps/mnv9_builtin_object_methods2_00.dump | 20 + .../dumps/mnv9_builtin_object_methods2_01.dump | 20 + .../dumps/mnv9_builtin_object_methods2_02.dump | 20 + .../dumps/mnv9_builtin_object_methods2_03.dump | 20 + .../dumps/mnv9_builtin_object_methods_00.dump | 20 + .../dumps/mnv9_builtin_object_methods_01.dump | 20 + .../dumps/mnv9_builtin_object_methods_02.dump | 20 + .../dumps/mnv9_builtin_object_methods_03.dump | 20 + .../dumps/mnv9_builtin_object_methods_04.dump | 20 + .../dumps/mnv9_builtin_object_methods_05.dump | 20 + .../dumps/mnv9_builtin_object_methods_06.dump | 20 + .../testdir/dumps/mnv9_comment_strings_00.dump | 20 + .../testdir/dumps/mnv9_comment_strings_01.dump | 20 + .../syntax/testdir/dumps/mnv9_comments_00.dump | 20 + .../syntax/testdir/dumps/mnv9_comments_01.dump | 20 + .../syntax/testdir/dumps/mnv9_comments_02.dump | 20 + .../syntax/testdir/dumps/mnv9_comments_03.dump | 20 + .../syntax/testdir/dumps/mnv9_comments_04.dump | 20 + .../syntax/testdir/dumps/mnv9_comments_05.dump | 20 + .../syntax/testdir/dumps/mnv9_constructors_00.dump | 20 + .../testdir/dumps/mnv9_def_variables_00.dump | 20 + .../testdir/dumps/mnv9_def_variables_01.dump | 20 + .../testdir/dumps/mnv9_def_variables_02.dump | 20 + .../testdir/dumps/mnv9_def_variables_03.dump | 20 + .../testdir/dumps/mnv9_def_variables_04.dump | 20 + .../testdir/dumps/mnv9_def_variables_05.dump | 20 + .../testdir/dumps/mnv9_def_variables_06.dump | 20 + .../testdir/dumps/mnv9_def_variables_07.dump | 20 + .../testdir/dumps/mnv9_def_variables_08.dump | 20 + .../testdir/dumps/mnv9_def_variables_09.dump | 20 + .../testdir/dumps/mnv9_def_variables_10.dump | 20 + .../testdir/dumps/mnv9_def_variables_11.dump | 20 + .../testdir/dumps/mnv9_def_variables_12.dump | 20 + .../testdir/dumps/mnv9_ex_class_fold_00.dump | 20 + .../testdir/dumps/mnv9_ex_class_fold_01.dump | 20 + .../testdir/dumps/mnv9_ex_class_fold_02.dump | 20 + .../testdir/dumps/mnv9_ex_class_fold_03.dump | 20 + .../testdir/dumps/mnv9_ex_class_fold_04.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_00.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_01.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_02.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_03.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_04.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_05.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_06.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_07.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_08.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_09.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_10.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_11.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_12.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_13.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_14.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_15.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_16.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_17.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_18.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_19.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_20.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_21.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_22.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_23.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_24.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_25.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_26.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_27.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_28.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_29.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_30.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_31.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_32.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_33.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_34.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_35.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_36.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_37.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_38.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_39.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_40.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_41.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_42.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_43.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_44.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_45.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_46.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_47.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_48.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_49.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_50.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_51.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_52.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_53.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_54.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_55.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_56.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_57.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_58.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_59.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_60.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_61.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_62.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_63.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_64.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_65.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_66.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_commands_67.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_echo_00.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_echo_01.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_echo_02.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_enum2_00.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_enum2_01.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_enum_00.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_enum_01.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_enum_02.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_enum_03.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_enum_04.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_enum_05.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_enum_06.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_enum_fold_00.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_enum_fold_01.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_enum_fold_02.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_for_00.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_for_01.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_for_02.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_for_03.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_for_04.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_for_05.dump | 20 + ...nv9_ex_function_def_tail_comment_errors_00.dump | 20 + ...nv9_ex_function_def_tail_comment_errors_01.dump | 20 + ...nv9_ex_function_def_tail_comment_errors_02.dump | 20 + .../mnv9_ex_function_def_tail_comments_00.dump | 20 + .../mnv9_ex_function_def_tail_comments_01.dump | 20 + .../mnv9_ex_function_def_tail_comments_02.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_import_00.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_import_01.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_import_02.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_import_03.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_import_04.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_import_05.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_import_06.dump | 20 + .../testdir/dumps/mnv9_ex_interface_fold_00.dump | 20 + .../testdir/dumps/mnv9_ex_interface_fold_01.dump | 20 + .../testdir/dumps/mnv9_ex_interface_fold_02.dump | 20 + .../testdir/dumps/mnv9_ex_let_heredoc_00.dump | 20 + .../testdir/dumps/mnv9_ex_let_heredoc_01.dump | 20 + .../testdir/dumps/mnv9_ex_let_heredoc_02.dump | 20 + .../testdir/dumps/mnv9_ex_let_heredoc_03.dump | 20 + .../testdir/dumps/mnv9_ex_let_heredoc_04.dump | 20 + .../testdir/dumps/mnv9_ex_let_heredoc_05.dump | 20 + .../testdir/dumps/mnv9_ex_let_heredoc_06.dump | 20 + .../testdir/dumps/mnv9_ex_let_heredoc_07.dump | 20 + .../testdir/dumps/mnv9_ex_let_heredoc_08.dump | 20 + .../testdir/dumps/mnv9_ex_let_heredoc_09.dump | 20 + .../testdir/dumps/mnv9_ex_let_heredoc_10.dump | 20 + .../testdir/dumps/mnv9_ex_let_heredoc_11.dump | 20 + .../testdir/dumps/mnv9_ex_let_heredoc_12.dump | 20 + .../testdir/dumps/mnv9_ex_let_heredoc_13.dump | 20 + .../testdir/dumps/mnv9_ex_let_heredoc_14.dump | 20 + .../testdir/dumps/mnv9_ex_let_heredoc_15.dump | 20 + .../testdir/dumps/mnv9_ex_let_heredoc_16.dump | 20 + .../testdir/dumps/mnv9_ex_loadkeymap_00.dump | 20 + .../testdir/dumps/mnv9_ex_loadkeymap_01.dump | 20 + .../syntax/testdir/dumps/mnv9_ex_type_00.dump | 20 + .../syntax/testdir/dumps/mnv9_expressions_00.dump | 20 + .../syntax/testdir/dumps/mnv9_expressions_01.dump | 20 + .../syntax/testdir/dumps/mnv9_expressions_02.dump | 20 + .../syntax/testdir/dumps/mnv9_expressions_03.dump | 20 + .../syntax/testdir/dumps/mnv9_expressions_04.dump | 20 + .../syntax/testdir/dumps/mnv9_expressions_05.dump | 20 + .../syntax/testdir/dumps/mnv9_expressions_06.dump | 20 + .../syntax/testdir/dumps/mnv9_expressions_07.dump | 20 + .../syntax/testdir/dumps/mnv9_expressions_08.dump | 20 + .../syntax/testdir/dumps/mnv9_expressions_09.dump | 20 + .../syntax/testdir/dumps/mnv9_expressions_10.dump | 20 + .../syntax/testdir/dumps/mnv9_expressions_11.dump | 20 + .../syntax/testdir/dumps/mnv9_expressions_12.dump | 20 + .../testdir/dumps/mnv9_function_calls_00.dump | 20 + .../testdir/dumps/mnv9_function_calls_01.dump | 20 + .../testdir/dumps/mnv9_function_calls_02.dump | 20 + .../testdir/dumps/mnv9_function_calls_03.dump | 20 + .../testdir/dumps/mnv9_function_calls_04.dump | 20 + .../testdir/dumps/mnv9_function_calls_05.dump | 20 + .../testdir/dumps/mnv9_function_calls_06.dump | 20 + .../testdir/dumps/mnv9_function_calls_07.dump | 20 + .../testdir/dumps/mnv9_function_calls_08.dump | 20 + .../testdir/dumps/mnv9_function_calls_09.dump | 20 + .../testdir/dumps/mnv9_function_calls_10.dump | 20 + .../testdir/dumps/mnv9_function_calls_11.dump | 20 + .../testdir/dumps/mnv9_function_calls_12.dump | 20 + .../testdir/dumps/mnv9_function_calls_13.dump | 20 + .../testdir/dumps/mnv9_function_calls_14.dump | 20 + .../testdir/dumps/mnv9_function_calls_15.dump | 20 + .../testdir/dumps/mnv9_function_calls_16.dump | 20 + .../testdir/dumps/mnv9_function_calls_17.dump | 20 + .../mnv9_generic_function_example_enum_00.dump | 20 + .../mnv9_generic_function_example_enum_01.dump | 20 + .../mnv9_generic_function_example_enum_02.dump | 20 + .../mnv9_generic_function_example_list_00.dump | 20 + .../mnv9_generic_function_example_list_01.dump | 20 + .../mnv9_generic_function_example_list_02.dump | 20 + .../mnv9_generic_function_example_list_03.dump | 20 + .../mnv9_generic_function_example_list_04.dump | 20 + .../mnv9_generic_function_example_list_05.dump | 20 + .../mnv9_generic_function_example_list_06.dump | 20 + .../mnv9_generic_function_example_list_07.dump | 20 + .../mnv9_generic_function_example_list_08.dump | 20 + .../mnv9_generic_function_example_list_09.dump | 20 + .../mnv9_generic_function_example_list_10.dump | 20 + .../mnv9_generic_function_example_list_11.dump | 20 + .../mnv9_generic_function_example_list_12.dump | 20 + .../mnv9_generic_function_example_set_00.dump | 20 + .../mnv9_generic_function_example_set_01.dump | 20 + .../mnv9_generic_function_example_set_02.dump | 20 + .../mnv9_generic_function_example_set_03.dump | 20 + .../mnv9_generic_function_example_set_04.dump | 20 + .../mnv9_generic_function_example_set_05.dump | 20 + .../mnv9_generic_function_example_set_06.dump | 20 + .../mnv9_generic_function_example_set_07.dump | 20 + .../mnv9_generic_function_example_set_08.dump | 20 + .../mnv9_generic_function_example_set_09.dump | 20 + .../mnv9_generic_function_example_set_10.dump | 20 + .../testdir/dumps/mnv9_generic_functions_00.dump | 20 + .../testdir/dumps/mnv9_generic_functions_01.dump | 20 + .../testdir/dumps/mnv9_generic_functions_02.dump | 20 + .../testdir/dumps/mnv9_generic_functions_03.dump | 20 + .../testdir/dumps/mnv9_generic_functions_04.dump | 20 + .../testdir/dumps/mnv9_generic_functions_05.dump | 20 + .../syntax/testdir/dumps/mnv9_lambdas_00.dump | 20 + .../syntax/testdir/dumps/mnv9_lambdas_01.dump | 20 + .../syntax/testdir/dumps/mnv9_lambdas_02.dump | 20 + .../syntax/testdir/dumps/mnv9_lambdas_03.dump | 20 + .../syntax/testdir/dumps/mnv9_lambdas_04.dump | 20 + .../syntax/testdir/dumps/mnv9_lambdas_05.dump | 20 + .../syntax/testdir/dumps/mnv9_lambdas_06.dump | 20 + .../syntax/testdir/dumps/mnv9_lambdas_07.dump | 20 + .../syntax/testdir/dumps/mnv9_lambdas_08.dump | 20 + .../syntax/testdir/dumps/mnv9_lambdas_09.dump | 20 + .../testdir/dumps/mnv9_legacy_header_00.dump | 20 + .../testdir/dumps/mnv9_legacy_header_01.dump | 20 + .../testdir/dumps/mnv9_legacy_header_fold_00.dump | 20 + .../testdir/dumps/mnv9_legacy_header_fold_01.dump | 20 + .../testdir/dumps/mnv9_no_comment_strings_00.dump | 20 + .../testdir/dumps/mnv9_no_comment_strings_01.dump | 20 + .../syntax/testdir/dumps/mnv9_shebang_00.dump | 20 + .../dumps/mnv9_super_this_keywords2_00.dump | 20 + .../dumps/mnv9_super_this_keywords2_01.dump | 20 + .../dumps/mnv9_super_this_keywords2_02.dump | 20 + .../dumps/mnv9_super_this_keywords2_03.dump | 20 + .../dumps/mnv9_super_this_keywords3_00.dump | 20 + .../dumps/mnv9_super_this_keywords3_01.dump | 20 + .../testdir/dumps/mnv9_super_this_keywords_00.dump | 20 + .../testdir/dumps/mnv9_super_this_keywords_01.dump | 20 + .../testdir/dumps/mnv9_super_this_keywords_02.dump | 20 + .../testdir/dumps/mnv9_super_this_keywords_03.dump | 20 + .../testdir/dumps/mnv9_super_this_keywords_04.dump | 20 + .../testdir/dumps/mnv9_super_this_keywords_05.dump | 20 + .../syntax/testdir/dumps/mnv9_tuples_00.dump | 20 + .../syntax/testdir/dumps/mnv9_tuples_01.dump | 20 + .../syntax/testdir/dumps/mnv9_types_00.dump | 20 + .../dumps/mnv9_types_example_object_00.dump | 20 + .../dumps/mnv9_types_example_object_01.dump | 20 + .../syntax/testdir/dumps/mnv9_types_object_00.dump | 20 + .../syntax/testdir/dumps/mnv9_types_object_01.dump | 20 + .../syntax/testdir/dumps/mnv9_variables_00.dump | 20 + .../syntax/testdir/dumps/mnv9_variables_01.dump | 20 + .../syntax/testdir/dumps/mnv9_variables_02.dump | 20 + .../syntax/testdir/dumps/mnv9_variables_03.dump | 20 + .../syntax/testdir/dumps/mnv9_variables_04.dump | 20 + .../syntax/testdir/dumps/mnv9_variables_05.dump | 20 + .../syntax/testdir/dumps/mnv9_variables_06.dump | 20 + .../syntax/testdir/dumps/mnv9_variables_07.dump | 20 + .../syntax/testdir/dumps/mnv9_variables_08.dump | 20 + .../syntax/testdir/dumps/mnv9_variables_09.dump | 20 + .../syntax/testdir/dumps/mnv9_variables_10.dump | 20 + .../syntax/testdir/dumps/mnv9_variables_11.dump | 20 + .../syntax/testdir/dumps/mnv9_variables_12.dump | 20 + .../syntax/testdir/dumps/mnv9_variables_13.dump | 20 + .../syntax/testdir/dumps/mnv9_variables_14.dump | 20 + .../syntax/testdir/dumps/mnv9_variables_15.dump | 20 + .../testdir/dumps/mnv_comment_strings_00.dump | 20 + .../testdir/dumps/mnv_comment_strings_01.dump | 20 + .../syntax/testdir/dumps/mnv_comments_00.dump | 20 + .../syntax/testdir/dumps/mnv_comments_01.dump | 20 + .../syntax/testdir/dumps/mnv_comments_02.dump | 20 + .../syntax/testdir/dumps/mnv_comments_03.dump | 20 + .../syntax/testdir/dumps/mnv_comments_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_abbreviate_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_abbreviate_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_abbreviate_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_abbreviate_03.dump | 20 + .../runtime/syntax/testdir/dumps/mnv_ex_at_00.dump | 20 + .../runtime/syntax/testdir/dumps/mnv_ex_at_01.dump | 20 + .../runtime/syntax/testdir/dumps/mnv_ex_at_02.dump | 20 + .../runtime/syntax/testdir/dumps/mnv_ex_at_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_augroup_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_augroup_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_augroup_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_augroup_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_augroup_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_autocmd_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_autocmd_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_autocmd_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_autocmd_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_autocmd_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_autocmd_05.dump | 20 + .../syntax/testdir/dumps/mnv_ex_autocmd_06.dump | 20 + .../syntax/testdir/dumps/mnv_ex_autocmd_07.dump | 20 + .../syntax/testdir/dumps/mnv_ex_autocmd_08.dump | 20 + .../syntax/testdir/dumps/mnv_ex_autocmd_09.dump | 20 + .../syntax/testdir/dumps/mnv_ex_autocmd_10.dump | 20 + .../syntax/testdir/dumps/mnv_ex_autocmd_11.dump | 20 + .../syntax/testdir/dumps/mnv_ex_autocmd_12.dump | 20 + .../syntax/testdir/dumps/mnv_ex_autocmd_13.dump | 20 + .../syntax/testdir/dumps/mnv_ex_autocmd_14.dump | 20 + .../syntax/testdir/dumps/mnv_ex_autocmd_15.dump | 20 + .../syntax/testdir/dumps/mnv_ex_behave_00.dump | 20 + .../dumps/mnv_ex_breakpoint_commands_00.dump | 20 + .../dumps/mnv_ex_breakpoint_commands_01.dump | 20 + .../dumps/mnv_ex_breakpoint_commands_02.dump | 20 + .../dumps/mnv_ex_breakpoint_commands_03.dump | 20 + .../dumps/mnv_ex_breakpoint_commands_04.dump | 20 + .../dumps/mnv_ex_breakpoint_commands_05.dump | 20 + .../syntax/testdir/dumps/mnv_ex_call_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_call_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_call_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_call_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_catch_00.dump | 20 + .../runtime/syntax/testdir/dumps/mnv_ex_cd_00.dump | 20 + .../runtime/syntax/testdir/dumps/mnv_ex_cd_01.dump | 20 + .../runtime/syntax/testdir/dumps/mnv_ex_cd_02.dump | 20 + .../runtime/syntax/testdir/dumps/mnv_ex_cd_03.dump | 20 + .../runtime/syntax/testdir/dumps/mnv_ex_cd_04.dump | 20 + .../runtime/syntax/testdir/dumps/mnv_ex_cd_05.dump | 20 + .../runtime/syntax/testdir/dumps/mnv_ex_cd_06.dump | 20 + .../syntax/testdir/dumps/mnv_ex_command_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_command_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_command_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_command_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_command_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_command_05.dump | 20 + .../syntax/testdir/dumps/mnv_ex_command_06.dump | 20 + .../syntax/testdir/dumps/mnv_ex_command_07.dump | 20 + .../syntax/testdir/dumps/mnv_ex_command_08.dump | 20 + .../syntax/testdir/dumps/mnv_ex_command_09.dump | 20 + .../syntax/testdir/dumps/mnv_ex_command_10.dump | 20 + .../syntax/testdir/dumps/mnv_ex_command_11.dump | 20 + .../testdir/dumps/mnv_ex_command_modifiers_00.dump | 20 + .../testdir/dumps/mnv_ex_command_modifiers_01.dump | 20 + .../testdir/dumps/mnv_ex_command_modifiers_02.dump | 20 + .../testdir/dumps/mnv_ex_command_modifiers_03.dump | 20 + .../testdir/dumps/mnv_ex_command_modifiers_04.dump | 20 + .../testdir/dumps/mnv_ex_command_modifiers_05.dump | 20 + .../testdir/dumps/mnv_ex_command_modifiers_06.dump | 20 + .../testdir/dumps/mnv_ex_command_modifiers_07.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_05.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_06.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_07.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_08.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_09.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_10.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_11.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_12.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_13.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_14.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_15.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_16.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_17.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_18.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_19.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_20.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_21.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_22.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_23.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_24.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_25.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_26.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_27.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_28.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_29.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_30.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_31.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_32.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_33.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_34.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_35.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_36.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_37.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_38.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_39.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_40.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_41.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_42.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_43.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_44.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_45.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_46.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_47.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_48.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_49.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_50.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_51.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_52.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_53.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_54.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_55.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_56.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_57.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_58.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_59.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_60.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_61.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_62.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_63.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_64.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_65.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_66.dump | 20 + .../syntax/testdir/dumps/mnv_ex_commands_67.dump | 20 + .../syntax/testdir/dumps/mnv_ex_debug_00.dump | 20 + .../testdir/dumps/mnv_ex_debuggreedy_00.dump | 20 + .../testdir/dumps/mnv_ex_debuggreedy_01.dump | 20 + .../testdir/dumps/mnv_ex_debuggreedy_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_def_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_def_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_def_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_def_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_def_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_def_05.dump | 20 + .../syntax/testdir/dumps/mnv_ex_def_06.dump | 20 + .../syntax/testdir/dumps/mnv_ex_def_07.dump | 20 + .../syntax/testdir/dumps/mnv_ex_def_fold_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_def_fold_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_def_fold_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_def_fold_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_def_fold_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_def_fold_05.dump | 20 + .../syntax/testdir/dumps/mnv_ex_def_fold_06.dump | 20 + .../syntax/testdir/dumps/mnv_ex_def_fold_07.dump | 20 + .../syntax/testdir/dumps/mnv_ex_def_fold_08.dump | 20 + .../syntax/testdir/dumps/mnv_ex_def_fold_09.dump | 20 + .../syntax/testdir/dumps/mnv_ex_def_fold_10.dump | 20 + .../syntax/testdir/dumps/mnv_ex_def_nested_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_def_nested_01.dump | 20 + .../testdir/dumps/mnv_ex_def_nested_fold_00.dump | 20 + .../testdir/dumps/mnv_ex_def_return_type_00.dump | 20 + .../testdir/dumps/mnv_ex_def_return_type_01.dump | 20 + .../testdir/dumps/mnv_ex_def_return_type_02.dump | 20 + .../testdir/dumps/mnv_ex_def_return_type_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_defer_00.dump | 20 + .../testdir/dumps/mnv_ex_delfunction_00.dump | 20 + .../testdir/dumps/mnv_ex_delfunction_01.dump | 20 + .../testdir/dumps/mnv_ex_delfunction_02.dump | 20 + .../testdir/dumps/mnv_ex_do_commands_00.dump | 20 + .../testdir/dumps/mnv_ex_do_commands_01.dump | 20 + .../testdir/dumps/mnv_ex_do_commands_02.dump | 20 + .../testdir/dumps/mnv_ex_do_commands_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_echo_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_echo_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_echo_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_echo_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_eval_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_eval_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_execute_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_execute_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_execute_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_execute_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_filetype_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_filetype_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_filter_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_for_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_for_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_for_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_for_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_function_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_function_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_function_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_function_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_function_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_function_05.dump | 20 + .../syntax/testdir/dumps/mnv_ex_function_06.dump | 20 + .../syntax/testdir/dumps/mnv_ex_function_07.dump | 20 + .../syntax/testdir/dumps/mnv_ex_function_08.dump | 20 + .../syntax/testdir/dumps/mnv_ex_function_09.dump | 20 + .../syntax/testdir/dumps/mnv_ex_function_10.dump | 20 + .../syntax/testdir/dumps/mnv_ex_function_11.dump | 20 + .../syntax/testdir/dumps/mnv_ex_function_12.dump | 20 + .../syntax/testdir/dumps/mnv_ex_function_13.dump | 20 + .../syntax/testdir/dumps/mnv_ex_function_14.dump | 20 + .../syntax/testdir/dumps/mnv_ex_function_15.dump | 20 + ...mnv_ex_function_def_tail_comment_errors_00.dump | 20 + ...mnv_ex_function_def_tail_comment_errors_01.dump | 20 + ...mnv_ex_function_def_tail_comment_errors_02.dump | 20 + .../mnv_ex_function_def_tail_comments_00.dump | 20 + .../mnv_ex_function_def_tail_comments_01.dump | 20 + .../mnv_ex_function_def_tail_comments_02.dump | 20 + .../testdir/dumps/mnv_ex_function_fold_00.dump | 20 + .../testdir/dumps/mnv_ex_function_fold_01.dump | 20 + .../testdir/dumps/mnv_ex_function_fold_02.dump | 20 + .../testdir/dumps/mnv_ex_function_fold_03.dump | 20 + .../testdir/dumps/mnv_ex_function_fold_04.dump | 20 + .../testdir/dumps/mnv_ex_function_fold_05.dump | 20 + .../testdir/dumps/mnv_ex_function_fold_06.dump | 20 + .../testdir/dumps/mnv_ex_function_fold_07.dump | 20 + .../testdir/dumps/mnv_ex_function_fold_08.dump | 20 + .../testdir/dumps/mnv_ex_function_fold_09.dump | 20 + .../testdir/dumps/mnv_ex_function_fold_10.dump | 20 + .../testdir/dumps/mnv_ex_function_fold_11.dump | 20 + .../testdir/dumps/mnv_ex_function_fold_12.dump | 20 + .../testdir/dumps/mnv_ex_function_fold_13.dump | 20 + .../testdir/dumps/mnv_ex_function_fold_14.dump | 20 + .../testdir/dumps/mnv_ex_function_fold_15.dump | 20 + .../testdir/dumps/mnv_ex_function_fold_16.dump | 20 + .../testdir/dumps/mnv_ex_function_fold_17.dump | 20 + .../testdir/dumps/mnv_ex_function_fold_18.dump | 20 + .../testdir/dumps/mnv_ex_function_fold_19.dump | 20 + .../testdir/dumps/mnv_ex_function_nested_00.dump | 20 + .../testdir/dumps/mnv_ex_function_nested_01.dump | 20 + .../testdir/dumps/mnv_ex_function_nested_02.dump | 20 + .../dumps/mnv_ex_function_nested_fold_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_grep_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_grep_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_grep_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_help_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_help_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_help_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_help_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_helpgrep_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_highlight_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_highlight_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_highlight_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_highlight_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_highlight_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_highlight_05.dump | 20 + .../syntax/testdir/dumps/mnv_ex_highlight_06.dump | 20 + .../syntax/testdir/dumps/mnv_ex_history_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_history_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_history_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_history_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_history_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_history_05.dump | 20 + .../syntax/testdir/dumps/mnv_ex_import_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_import_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_import_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_import_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_import_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_import_05.dump | 20 + .../syntax/testdir/dumps/mnv_ex_import_06.dump | 20 + .../syntax/testdir/dumps/mnv_ex_language_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_language_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_language_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_language_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_language_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_language_05.dump | 20 + .../syntax/testdir/dumps/mnv_ex_language_06.dump | 20 + .../syntax/testdir/dumps/mnv_ex_language_07.dump | 20 + .../syntax/testdir/dumps/mnv_ex_language_08.dump | 20 + .../syntax/testdir/dumps/mnv_ex_language_09.dump | 20 + .../testdir/dumps/mnv_ex_let_heredoc_00.dump | 20 + .../testdir/dumps/mnv_ex_let_heredoc_01.dump | 20 + .../testdir/dumps/mnv_ex_let_heredoc_02.dump | 20 + .../testdir/dumps/mnv_ex_let_heredoc_03.dump | 20 + .../testdir/dumps/mnv_ex_let_heredoc_04.dump | 20 + .../testdir/dumps/mnv_ex_let_heredoc_05.dump | 20 + .../testdir/dumps/mnv_ex_let_heredoc_06.dump | 20 + .../testdir/dumps/mnv_ex_let_heredoc_07.dump | 20 + .../testdir/dumps/mnv_ex_let_heredoc_08.dump | 20 + .../testdir/dumps/mnv_ex_let_heredoc_09.dump | 20 + .../testdir/dumps/mnv_ex_let_heredoc_10.dump | 20 + .../testdir/dumps/mnv_ex_let_heredoc_11.dump | 20 + .../testdir/dumps/mnv_ex_let_heredoc_12.dump | 20 + .../testdir/dumps/mnv_ex_let_heredoc_13.dump | 20 + .../testdir/dumps/mnv_ex_let_heredoc_14.dump | 20 + .../syntax/testdir/dumps/mnv_ex_loadkeymap_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_loadkeymap_01.dump | 20 + .../dumps/mnv_ex_loadkeymap_after_bar_00.dump | 20 + .../dumps/mnv_ex_loadkeymap_after_colon_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_lua_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_lua_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_lua_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_lua_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_lua_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_lua_05.dump | 20 + .../syntax/testdir/dumps/mnv_ex_lua_06.dump | 20 + .../syntax/testdir/dumps/mnv_ex_lua_07.dump | 20 + .../syntax/testdir/dumps/mnv_ex_lua_08.dump | 20 + .../syntax/testdir/dumps/mnv_ex_make_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_make_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_make_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_map_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_map_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_map_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_map_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_map_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_map_05.dump | 20 + .../syntax/testdir/dumps/mnv_ex_map_06.dump | 20 + .../syntax/testdir/dumps/mnv_ex_map_07.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mark_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mark_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mark_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mark_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mark_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mark_05.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mark_06.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mark_07.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mark_08.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mark_09.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mark_10.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mark_11.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mark_12.dump | 20 + .../syntax/testdir/dumps/mnv_ex_match_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_match_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_match_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_match_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_menu_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_menu_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_menu_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_menu_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_menu_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_menu_05.dump | 20 + .../testdir/dumps/mnv_ex_menutranslate_00.dump | 20 + .../testdir/dumps/mnv_ex_menutranslate_01.dump | 20 + .../testdir/dumps/mnv_ex_menutranslate_02.dump | 20 + .../testdir/dumps/mnv_ex_menutranslate_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mnvgrep_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mnvgrep_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mnvgrep_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mnvgrep_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mnvgrep_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mzscheme_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mzscheme_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mzscheme_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mzscheme_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mzscheme_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mzscheme_05.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mzscheme_06.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mzscheme_07.dump | 20 + .../syntax/testdir/dumps/mnv_ex_mzscheme_08.dump | 20 + .../syntax/testdir/dumps/mnv_ex_normal_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_normal_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_perl_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_perl_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_perl_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_perl_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_perl_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_perl_05.dump | 20 + .../syntax/testdir/dumps/mnv_ex_perl_06.dump | 20 + .../syntax/testdir/dumps/mnv_ex_perl_07.dump | 20 + .../syntax/testdir/dumps/mnv_ex_perl_08.dump | 20 + .../syntax/testdir/dumps/mnv_ex_profile_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_profile_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_profile_02.dump | 20 + .../testdir/dumps/mnv_ex_prompt_commands_00.dump | 20 + .../testdir/dumps/mnv_ex_prompt_commands_01.dump | 20 + .../testdir/dumps/mnv_ex_prompt_commands_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_python_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_python_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_python_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_python_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_python_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_python_05.dump | 20 + .../syntax/testdir/dumps/mnv_ex_python_06.dump | 20 + .../syntax/testdir/dumps/mnv_ex_python_07.dump | 20 + .../syntax/testdir/dumps/mnv_ex_python_08.dump | 20 + .../syntax/testdir/dumps/mnv_ex_python_09.dump | 20 + .../syntax/testdir/dumps/mnv_ex_range_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_range_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_range_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_range_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_range_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_range_05.dump | 20 + .../syntax/testdir/dumps/mnv_ex_redir_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_redir_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_redir_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_redir_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_redir_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_ruby_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_ruby_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_ruby_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_ruby_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_ruby_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_ruby_05.dump | 20 + .../syntax/testdir/dumps/mnv_ex_ruby_06.dump | 20 + .../syntax/testdir/dumps/mnv_ex_ruby_07.dump | 20 + .../syntax/testdir/dumps/mnv_ex_ruby_08.dump | 20 + .../syntax/testdir/dumps/mnv_ex_set_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_set_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_set_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_set_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_set_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_set_05.dump | 20 + .../syntax/testdir/dumps/mnv_ex_set_06.dump | 20 + .../syntax/testdir/dumps/mnv_ex_set_07.dump | 20 + .../testdir/dumps/mnv_ex_set_backslash_00.dump | 20 + .../testdir/dumps/mnv_ex_set_backslash_01.dump | 20 + .../testdir/dumps/mnv_ex_set_backslash_02.dump | 20 + .../testdir/dumps/mnv_ex_set_backslash_03.dump | 20 + .../testdir/dumps/mnv_ex_set_backslash_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_sleep_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_sort_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_sort_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_sort_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_sort_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_substitute_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_substitute_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_substitute_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_substitute_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_substitute_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_substitute_05.dump | 20 + .../syntax/testdir/dumps/mnv_ex_substitute_06.dump | 20 + .../syntax/testdir/dumps/mnv_ex_substitute_07.dump | 20 + .../syntax/testdir/dumps/mnv_ex_substitute_08.dump | 20 + .../syntax/testdir/dumps/mnv_ex_substitute_09.dump | 20 + .../syntax/testdir/dumps/mnv_ex_substitute_10.dump | 20 + .../syntax/testdir/dumps/mnv_ex_substitute_11.dump | 20 + .../syntax/testdir/dumps/mnv_ex_syntax_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_syntax_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_syntax_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_syntax_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_syntax_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_syntax_05.dump | 20 + .../syntax/testdir/dumps/mnv_ex_syntax_06.dump | 20 + .../syntax/testdir/dumps/mnv_ex_syntax_07.dump | 20 + .../syntax/testdir/dumps/mnv_ex_syntax_08.dump | 20 + .../syntax/testdir/dumps/mnv_ex_syntax_09.dump | 20 + .../syntax/testdir/dumps/mnv_ex_syntax_10.dump | 20 + .../syntax/testdir/dumps/mnv_ex_syntax_11.dump | 20 + .../syntax/testdir/dumps/mnv_ex_syntax_12.dump | 20 + .../syntax/testdir/dumps/mnv_ex_syntax_13.dump | 20 + .../syntax/testdir/dumps/mnv_ex_syntax_14.dump | 20 + .../syntax/testdir/dumps/mnv_ex_syntax_15.dump | 20 + .../syntax/testdir/dumps/mnv_ex_syntax_16.dump | 20 + .../syntax/testdir/dumps/mnv_ex_syntax_17.dump | 20 + .../syntax/testdir/dumps/mnv_ex_syntax_18.dump | 20 + .../syntax/testdir/dumps/mnv_ex_syntax_19.dump | 20 + .../syntax/testdir/dumps/mnv_ex_syntax_20.dump | 20 + .../syntax/testdir/dumps/mnv_ex_syntax_21.dump | 20 + .../syntax/testdir/dumps/mnv_ex_syntime_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_syntime_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_syntime_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_tcl_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_tcl_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_tcl_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_tcl_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_tcl_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_tcl_05.dump | 20 + .../syntax/testdir/dumps/mnv_ex_tcl_06.dump | 20 + .../syntax/testdir/dumps/mnv_ex_tcl_07.dump | 20 + .../syntax/testdir/dumps/mnv_ex_tcl_08.dump | 20 + .../syntax/testdir/dumps/mnv_ex_terminal_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_terminal_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_terminal_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_terminal_03.dump | 20 + .../syntax/testdir/dumps/mnv_ex_terminal_04.dump | 20 + .../syntax/testdir/dumps/mnv_ex_throw_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_uniq_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_uniq_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_wincmd_00.dump | 20 + .../syntax/testdir/dumps/mnv_ex_wincmd_01.dump | 20 + .../syntax/testdir/dumps/mnv_ex_wincmd_02.dump | 20 + .../syntax/testdir/dumps/mnv_ex_wincmd_03.dump | 20 + .../syntax/testdir/dumps/mnv_expressions_00.dump | 20 + .../syntax/testdir/dumps/mnv_expressions_01.dump | 20 + .../syntax/testdir/dumps/mnv_expressions_02.dump | 20 + .../syntax/testdir/dumps/mnv_expressions_03.dump | 20 + .../syntax/testdir/dumps/mnv_expressions_04.dump | 20 + .../syntax/testdir/dumps/mnv_expressions_05.dump | 20 + .../syntax/testdir/dumps/mnv_expressions_06.dump | 20 + .../syntax/testdir/dumps/mnv_expressions_07.dump | 20 + .../syntax/testdir/dumps/mnv_expressions_08.dump | 20 + .../syntax/testdir/dumps/mnv_expressions_09.dump | 20 + .../syntax/testdir/dumps/mnv_expressions_10.dump | 20 + .../syntax/testdir/dumps/mnv_expressions_11.dump | 20 + .../syntax/testdir/dumps/mnv_expressions_12.dump | 20 + .../syntax/testdir/dumps/mnv_expressions_13.dump | 20 + .../syntax/testdir/dumps/mnv_expressions_14.dump | 20 + .../syntax/testdir/dumps/mnv_expressions_15.dump | 20 + .../syntax/testdir/dumps/mnv_expressions_16.dump | 20 + .../syntax/testdir/dumps/mnv_expressions_17.dump | 20 + .../syntax/testdir/dumps/mnv_expressions_18.dump | 20 + .../syntax/testdir/dumps/mnv_expressions_19.dump | 20 + .../syntax/testdir/dumps/mnv_expressions_20.dump | 20 + .../syntax/testdir/dumps/mnv_expressions_21.dump | 20 + .../syntax/testdir/dumps/mnv_expressions_22.dump | 20 + .../syntax/testdir/dumps/mnv_expressions_23.dump | 20 + .../syntax/testdir/dumps/mnv_expressions_24.dump | 20 + .../testdir/dumps/mnv_function_calls_00.dump | 20 + .../testdir/dumps/mnv_function_calls_01.dump | 20 + .../testdir/dumps/mnv_function_calls_02.dump | 20 + .../testdir/dumps/mnv_function_calls_03.dump | 20 + .../testdir/dumps/mnv_function_calls_04.dump | 20 + .../testdir/dumps/mnv_function_calls_05.dump | 20 + .../testdir/dumps/mnv_function_calls_06.dump | 20 + .../testdir/dumps/mnv_function_calls_07.dump | 20 + .../testdir/dumps/mnv_function_calls_08.dump | 20 + .../testdir/dumps/mnv_function_calls_09.dump | 20 + .../testdir/dumps/mnv_function_calls_10.dump | 20 + .../testdir/dumps/mnv_function_calls_11.dump | 20 + .../testdir/dumps/mnv_function_calls_12.dump | 20 + .../testdir/dumps/mnv_function_calls_13.dump | 20 + .../testdir/dumps/mnv_function_calls_14.dump | 20 + .../testdir/dumps/mnv_function_calls_15.dump | 20 + .../testdir/dumps/mnv_function_variables_00.dump | 20 + .../testdir/dumps/mnv_function_variables_01.dump | 20 + .../testdir/dumps/mnv_function_variables_02.dump | 20 + .../testdir/dumps/mnv_function_variables_03.dump | 20 + .../testdir/dumps/mnv_function_variables_04.dump | 20 + .../testdir/dumps/mnv_function_variables_05.dump | 20 + .../testdir/dumps/mnv_function_variables_06.dump | 20 + .../testdir/dumps/mnv_function_variables_07.dump | 20 + .../testdir/dumps/mnv_function_variables_08.dump | 20 + .../testdir/dumps/mnv_function_variables_09.dump | 20 + .../testdir/dumps/mnv_function_variables_10.dump | 20 + .../testdir/dumps/mnv_function_variables_11.dump | 20 + .../testdir/dumps/mnv_function_variables_12.dump | 20 + .../testdir/dumps/mnv_function_variables_13.dump | 20 + .../testdir/dumps/mnv_function_variables_14.dump | 20 + .../testdir/dumps/mnv_function_variables_15.dump | 20 + .../testdir/dumps/mnv_function_variables_16.dump | 20 + .../testdir/dumps/mnv_function_variables_17.dump | 20 + .../testdir/dumps/mnv_function_variables_18.dump | 20 + .../testdir/dumps/mnv_function_variables_19.dump | 20 + .../testdir/dumps/mnv_function_variables_20.dump | 20 + .../testdir/dumps/mnv_function_variables_21.dump | 20 + .../testdir/dumps/mnv_function_variables_22.dump | 20 + .../testdir/dumps/mnv_function_variables_23.dump | 20 + .../syntax/testdir/dumps/mnv_key_notation_00.dump | 20 + .../syntax/testdir/dumps/mnv_key_notation_01.dump | 20 + .../syntax/testdir/dumps/mnv_key_notation_02.dump | 20 + .../syntax/testdir/dumps/mnv_key_notation_03.dump | 20 + .../syntax/testdir/dumps/mnv_key_notation_04.dump | 20 + .../syntax/testdir/dumps/mnv_key_notation_05.dump | 20 + .../syntax/testdir/dumps/mnv_key_notation_06.dump | 20 + .../syntax/testdir/dumps/mnv_key_notation_07.dump | 20 + .../syntax/testdir/dumps/mnv_key_notation_08.dump | 20 + .../syntax/testdir/dumps/mnv_key_notation_09.dump | 20 + .../syntax/testdir/dumps/mnv_lambdas_00.dump | 20 + .../syntax/testdir/dumps/mnv_lambdas_01.dump | 20 + .../syntax/testdir/dumps/mnv_lambdas_02.dump | 20 + .../syntax/testdir/dumps/mnv_lambdas_03.dump | 20 + .../syntax/testdir/dumps/mnv_lambdas_04.dump | 20 + .../syntax/testdir/dumps/mnv_lambdas_05.dump | 20 + .../syntax/testdir/dumps/mnv_lambdas_06.dump | 20 + .../syntax/testdir/dumps/mnv_lambdas_07.dump | 20 + .../testdir/dumps/mnv_line_continuation_00.dump | 20 + .../testdir/dumps/mnv_line_continuation_01.dump | 20 + .../testdir/dumps/mnv_line_continuation_02.dump | 20 + .../testdir/dumps/mnv_line_continuation_03.dump | 20 + uvim/runtime/syntax/testdir/dumps/mnv_new_00.dump | 20 + uvim/runtime/syntax/testdir/dumps/mnv_new_01.dump | 20 + .../syntax/testdir/dumps/mnv_nmnv_features_00.dump | 20 + .../syntax/testdir/dumps/mnv_nmnv_features_01.dump | 20 + .../syntax/testdir/dumps/mnv_nmnv_features_02.dump | 20 + .../syntax/testdir/dumps/mnv_nmnv_features_03.dump | 20 + .../syntax/testdir/dumps/mnv_nmnv_features_04.dump | 20 + .../syntax/testdir/dumps/mnv_nmnv_features_05.dump | 20 + .../syntax/testdir/dumps/mnv_nmnv_features_06.dump | 20 + .../syntax/testdir/dumps/mnv_nmnv_features_07.dump | 20 + .../syntax/testdir/dumps/mnv_nmnv_features_08.dump | 20 + .../syntax/testdir/dumps/mnv_nmnv_features_09.dump | 20 + .../syntax/testdir/dumps/mnv_nmnv_features_10.dump | 20 + .../syntax/testdir/dumps/mnv_nmnv_features_11.dump | 20 + .../syntax/testdir/dumps/mnv_nmnv_features_12.dump | 20 + .../testdir/dumps/mnv_no_comment_strings_00.dump | 20 + .../testdir/dumps/mnv_no_comment_strings_01.dump | 20 + .../dumps/mnv_predefined_user_commands_00.dump | 20 + .../dumps/mnv_predefined_user_commands_01.dump | 20 + .../syntax/testdir/dumps/mnv_shebang_00.dump | 20 + .../syntax/testdir/dumps/mnv_variables_00.dump | 20 + .../syntax/testdir/dumps/mnv_variables_01.dump | 20 + .../syntax/testdir/dumps/mnv_variables_02.dump | 20 + .../syntax/testdir/dumps/mnv_variables_03.dump | 20 + .../syntax/testdir/dumps/mnv_variables_04.dump | 20 + .../syntax/testdir/dumps/mnv_variables_05.dump | 20 + .../syntax/testdir/dumps/mnv_variables_06.dump | 20 + .../syntax/testdir/dumps/mnv_variables_07.dump | 20 + .../syntax/testdir/dumps/mnv_variables_08.dump | 20 + .../syntax/testdir/dumps/mnv_variables_09.dump | 20 + .../syntax/testdir/dumps/mnv_variables_10.dump | 20 + .../syntax/testdir/dumps/mnv_variables_11.dump | 20 + .../syntax/testdir/dumps/mnv_variables_12.dump | 20 + .../syntax/testdir/dumps/mnv_variables_13.dump | 20 + .../syntax/testdir/dumps/mnv_variables_14.dump | 20 + .../syntax/testdir/dumps/mnv_variables_15.dump | 20 + .../syntax/testdir/dumps/mnv_variables_16.dump | 20 + .../syntax/testdir/dumps/mnv_variables_17.dump | 20 + .../syntax/testdir/dumps/mnv_variables_18.dump | 20 + .../syntax/testdir/dumps/mnv_variables_19.dump | 20 + .../syntax/testdir/dumps/mnv_variables_20.dump | 20 + .../syntax/testdir/dumps/mnv_variables_21.dump | 20 + .../syntax/testdir/dumps/mnv_variables_22.dump | 20 + .../syntax/testdir/dumps/mnv_variables_23.dump | 20 + .../syntax/testdir/dumps/vim9_blocks_00.dump | 20 - .../syntax/testdir/dumps/vim9_blocks_01.dump | 20 - .../syntax/testdir/dumps/vim9_blocks_02.dump | 20 - .../dumps/vim9_builtin_object_methods2_00.dump | 20 - .../dumps/vim9_builtin_object_methods2_01.dump | 20 - .../dumps/vim9_builtin_object_methods2_02.dump | 20 - .../dumps/vim9_builtin_object_methods2_03.dump | 20 - .../dumps/vim9_builtin_object_methods_00.dump | 20 - .../dumps/vim9_builtin_object_methods_01.dump | 20 - .../dumps/vim9_builtin_object_methods_02.dump | 20 - .../dumps/vim9_builtin_object_methods_03.dump | 20 - .../dumps/vim9_builtin_object_methods_04.dump | 20 - .../dumps/vim9_builtin_object_methods_05.dump | 20 - .../dumps/vim9_builtin_object_methods_06.dump | 20 - .../testdir/dumps/vim9_comment_strings_00.dump | 20 - .../testdir/dumps/vim9_comment_strings_01.dump | 20 - .../syntax/testdir/dumps/vim9_comments_00.dump | 20 - .../syntax/testdir/dumps/vim9_comments_01.dump | 20 - .../syntax/testdir/dumps/vim9_comments_02.dump | 20 - .../syntax/testdir/dumps/vim9_comments_03.dump | 20 - .../syntax/testdir/dumps/vim9_comments_04.dump | 20 - .../syntax/testdir/dumps/vim9_comments_05.dump | 20 - .../syntax/testdir/dumps/vim9_constructors_00.dump | 20 - .../testdir/dumps/vim9_def_variables_00.dump | 20 - .../testdir/dumps/vim9_def_variables_01.dump | 20 - .../testdir/dumps/vim9_def_variables_02.dump | 20 - .../testdir/dumps/vim9_def_variables_03.dump | 20 - .../testdir/dumps/vim9_def_variables_04.dump | 20 - .../testdir/dumps/vim9_def_variables_05.dump | 20 - .../testdir/dumps/vim9_def_variables_06.dump | 20 - .../testdir/dumps/vim9_def_variables_07.dump | 20 - .../testdir/dumps/vim9_def_variables_08.dump | 20 - .../testdir/dumps/vim9_def_variables_09.dump | 20 - .../testdir/dumps/vim9_def_variables_10.dump | 20 - .../testdir/dumps/vim9_def_variables_11.dump | 20 - .../testdir/dumps/vim9_def_variables_12.dump | 20 - .../testdir/dumps/vim9_ex_class_fold_00.dump | 20 - .../testdir/dumps/vim9_ex_class_fold_01.dump | 20 - .../testdir/dumps/vim9_ex_class_fold_02.dump | 20 - .../testdir/dumps/vim9_ex_class_fold_03.dump | 20 - .../testdir/dumps/vim9_ex_class_fold_04.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_00.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_01.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_02.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_03.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_04.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_05.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_06.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_07.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_08.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_09.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_10.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_11.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_12.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_13.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_14.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_15.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_16.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_17.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_18.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_19.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_20.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_21.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_22.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_23.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_24.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_25.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_26.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_27.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_28.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_29.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_30.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_31.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_32.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_33.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_34.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_35.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_36.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_37.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_38.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_39.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_40.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_41.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_42.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_43.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_44.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_45.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_46.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_47.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_48.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_49.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_50.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_51.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_52.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_53.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_54.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_55.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_56.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_57.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_58.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_59.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_60.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_61.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_62.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_63.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_64.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_65.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_66.dump | 20 - .../syntax/testdir/dumps/vim9_ex_commands_67.dump | 20 - .../syntax/testdir/dumps/vim9_ex_echo_00.dump | 20 - .../syntax/testdir/dumps/vim9_ex_echo_01.dump | 20 - .../syntax/testdir/dumps/vim9_ex_echo_02.dump | 20 - .../syntax/testdir/dumps/vim9_ex_enum2_00.dump | 20 - .../syntax/testdir/dumps/vim9_ex_enum2_01.dump | 20 - .../syntax/testdir/dumps/vim9_ex_enum_00.dump | 20 - .../syntax/testdir/dumps/vim9_ex_enum_01.dump | 20 - .../syntax/testdir/dumps/vim9_ex_enum_02.dump | 20 - .../syntax/testdir/dumps/vim9_ex_enum_03.dump | 20 - .../syntax/testdir/dumps/vim9_ex_enum_04.dump | 20 - .../syntax/testdir/dumps/vim9_ex_enum_05.dump | 20 - .../syntax/testdir/dumps/vim9_ex_enum_06.dump | 20 - .../syntax/testdir/dumps/vim9_ex_enum_fold_00.dump | 20 - .../syntax/testdir/dumps/vim9_ex_enum_fold_01.dump | 20 - .../syntax/testdir/dumps/vim9_ex_enum_fold_02.dump | 20 - .../syntax/testdir/dumps/vim9_ex_for_00.dump | 20 - .../syntax/testdir/dumps/vim9_ex_for_01.dump | 20 - .../syntax/testdir/dumps/vim9_ex_for_02.dump | 20 - .../syntax/testdir/dumps/vim9_ex_for_03.dump | 20 - .../syntax/testdir/dumps/vim9_ex_for_04.dump | 20 - .../syntax/testdir/dumps/vim9_ex_for_05.dump | 20 - ...im9_ex_function_def_tail_comment_errors_00.dump | 20 - ...im9_ex_function_def_tail_comment_errors_01.dump | 20 - ...im9_ex_function_def_tail_comment_errors_02.dump | 20 - .../vim9_ex_function_def_tail_comments_00.dump | 20 - .../vim9_ex_function_def_tail_comments_01.dump | 20 - .../vim9_ex_function_def_tail_comments_02.dump | 20 - .../syntax/testdir/dumps/vim9_ex_import_00.dump | 20 - .../syntax/testdir/dumps/vim9_ex_import_01.dump | 20 - .../syntax/testdir/dumps/vim9_ex_import_02.dump | 20 - .../syntax/testdir/dumps/vim9_ex_import_03.dump | 20 - .../syntax/testdir/dumps/vim9_ex_import_04.dump | 20 - .../syntax/testdir/dumps/vim9_ex_import_05.dump | 20 - .../syntax/testdir/dumps/vim9_ex_import_06.dump | 20 - .../testdir/dumps/vim9_ex_interface_fold_00.dump | 20 - .../testdir/dumps/vim9_ex_interface_fold_01.dump | 20 - .../testdir/dumps/vim9_ex_interface_fold_02.dump | 20 - .../testdir/dumps/vim9_ex_let_heredoc_00.dump | 20 - .../testdir/dumps/vim9_ex_let_heredoc_01.dump | 20 - .../testdir/dumps/vim9_ex_let_heredoc_02.dump | 20 - .../testdir/dumps/vim9_ex_let_heredoc_03.dump | 20 - .../testdir/dumps/vim9_ex_let_heredoc_04.dump | 20 - .../testdir/dumps/vim9_ex_let_heredoc_05.dump | 20 - .../testdir/dumps/vim9_ex_let_heredoc_06.dump | 20 - .../testdir/dumps/vim9_ex_let_heredoc_07.dump | 20 - .../testdir/dumps/vim9_ex_let_heredoc_08.dump | 20 - .../testdir/dumps/vim9_ex_let_heredoc_09.dump | 20 - .../testdir/dumps/vim9_ex_let_heredoc_10.dump | 20 - .../testdir/dumps/vim9_ex_let_heredoc_11.dump | 20 - .../testdir/dumps/vim9_ex_let_heredoc_12.dump | 20 - .../testdir/dumps/vim9_ex_let_heredoc_13.dump | 20 - .../testdir/dumps/vim9_ex_let_heredoc_14.dump | 20 - .../testdir/dumps/vim9_ex_let_heredoc_15.dump | 20 - .../testdir/dumps/vim9_ex_let_heredoc_16.dump | 20 - .../testdir/dumps/vim9_ex_loadkeymap_00.dump | 20 - .../testdir/dumps/vim9_ex_loadkeymap_01.dump | 20 - .../syntax/testdir/dumps/vim9_ex_type_00.dump | 20 - .../syntax/testdir/dumps/vim9_expressions_00.dump | 20 - .../syntax/testdir/dumps/vim9_expressions_01.dump | 20 - .../syntax/testdir/dumps/vim9_expressions_02.dump | 20 - .../syntax/testdir/dumps/vim9_expressions_03.dump | 20 - .../syntax/testdir/dumps/vim9_expressions_04.dump | 20 - .../syntax/testdir/dumps/vim9_expressions_05.dump | 20 - .../syntax/testdir/dumps/vim9_expressions_06.dump | 20 - .../syntax/testdir/dumps/vim9_expressions_07.dump | 20 - .../syntax/testdir/dumps/vim9_expressions_08.dump | 20 - .../syntax/testdir/dumps/vim9_expressions_09.dump | 20 - .../syntax/testdir/dumps/vim9_expressions_10.dump | 20 - .../syntax/testdir/dumps/vim9_expressions_11.dump | 20 - .../syntax/testdir/dumps/vim9_expressions_12.dump | 20 - .../testdir/dumps/vim9_function_calls_00.dump | 20 - .../testdir/dumps/vim9_function_calls_01.dump | 20 - .../testdir/dumps/vim9_function_calls_02.dump | 20 - .../testdir/dumps/vim9_function_calls_03.dump | 20 - .../testdir/dumps/vim9_function_calls_04.dump | 20 - .../testdir/dumps/vim9_function_calls_05.dump | 20 - .../testdir/dumps/vim9_function_calls_06.dump | 20 - .../testdir/dumps/vim9_function_calls_07.dump | 20 - .../testdir/dumps/vim9_function_calls_08.dump | 20 - .../testdir/dumps/vim9_function_calls_09.dump | 20 - .../testdir/dumps/vim9_function_calls_10.dump | 20 - .../testdir/dumps/vim9_function_calls_11.dump | 20 - .../testdir/dumps/vim9_function_calls_12.dump | 20 - .../testdir/dumps/vim9_function_calls_13.dump | 20 - .../testdir/dumps/vim9_function_calls_14.dump | 20 - .../testdir/dumps/vim9_function_calls_15.dump | 20 - .../testdir/dumps/vim9_function_calls_16.dump | 20 - .../testdir/dumps/vim9_function_calls_17.dump | 20 - .../vim9_generic_function_example_enum_00.dump | 20 - .../vim9_generic_function_example_enum_01.dump | 20 - .../vim9_generic_function_example_enum_02.dump | 20 - .../vim9_generic_function_example_list_00.dump | 20 - .../vim9_generic_function_example_list_01.dump | 20 - .../vim9_generic_function_example_list_02.dump | 20 - .../vim9_generic_function_example_list_03.dump | 20 - .../vim9_generic_function_example_list_04.dump | 20 - .../vim9_generic_function_example_list_05.dump | 20 - .../vim9_generic_function_example_list_06.dump | 20 - .../vim9_generic_function_example_list_07.dump | 20 - .../vim9_generic_function_example_list_08.dump | 20 - .../vim9_generic_function_example_list_09.dump | 20 - .../vim9_generic_function_example_list_10.dump | 20 - .../vim9_generic_function_example_list_11.dump | 20 - .../vim9_generic_function_example_list_12.dump | 20 - .../vim9_generic_function_example_set_00.dump | 20 - .../vim9_generic_function_example_set_01.dump | 20 - .../vim9_generic_function_example_set_02.dump | 20 - .../vim9_generic_function_example_set_03.dump | 20 - .../vim9_generic_function_example_set_04.dump | 20 - .../vim9_generic_function_example_set_05.dump | 20 - .../vim9_generic_function_example_set_06.dump | 20 - .../vim9_generic_function_example_set_07.dump | 20 - .../vim9_generic_function_example_set_08.dump | 20 - .../vim9_generic_function_example_set_09.dump | 20 - .../vim9_generic_function_example_set_10.dump | 20 - .../testdir/dumps/vim9_generic_functions_00.dump | 20 - .../testdir/dumps/vim9_generic_functions_01.dump | 20 - .../testdir/dumps/vim9_generic_functions_02.dump | 20 - .../testdir/dumps/vim9_generic_functions_03.dump | 20 - .../testdir/dumps/vim9_generic_functions_04.dump | 20 - .../testdir/dumps/vim9_generic_functions_05.dump | 20 - .../syntax/testdir/dumps/vim9_lambdas_00.dump | 20 - .../syntax/testdir/dumps/vim9_lambdas_01.dump | 20 - .../syntax/testdir/dumps/vim9_lambdas_02.dump | 20 - .../syntax/testdir/dumps/vim9_lambdas_03.dump | 20 - .../syntax/testdir/dumps/vim9_lambdas_04.dump | 20 - .../syntax/testdir/dumps/vim9_lambdas_05.dump | 20 - .../syntax/testdir/dumps/vim9_lambdas_06.dump | 20 - .../syntax/testdir/dumps/vim9_lambdas_07.dump | 20 - .../syntax/testdir/dumps/vim9_lambdas_08.dump | 20 - .../syntax/testdir/dumps/vim9_lambdas_09.dump | 20 - .../testdir/dumps/vim9_legacy_header_00.dump | 20 - .../testdir/dumps/vim9_legacy_header_01.dump | 20 - .../testdir/dumps/vim9_legacy_header_fold_00.dump | 20 - .../testdir/dumps/vim9_legacy_header_fold_01.dump | 20 - .../testdir/dumps/vim9_no_comment_strings_00.dump | 20 - .../testdir/dumps/vim9_no_comment_strings_01.dump | 20 - .../syntax/testdir/dumps/vim9_shebang_00.dump | 20 - .../dumps/vim9_super_this_keywords2_00.dump | 20 - .../dumps/vim9_super_this_keywords2_01.dump | 20 - .../dumps/vim9_super_this_keywords2_02.dump | 20 - .../dumps/vim9_super_this_keywords2_03.dump | 20 - .../dumps/vim9_super_this_keywords3_00.dump | 20 - .../dumps/vim9_super_this_keywords3_01.dump | 20 - .../testdir/dumps/vim9_super_this_keywords_00.dump | 20 - .../testdir/dumps/vim9_super_this_keywords_01.dump | 20 - .../testdir/dumps/vim9_super_this_keywords_02.dump | 20 - .../testdir/dumps/vim9_super_this_keywords_03.dump | 20 - .../testdir/dumps/vim9_super_this_keywords_04.dump | 20 - .../testdir/dumps/vim9_super_this_keywords_05.dump | 20 - .../syntax/testdir/dumps/vim9_tuples_00.dump | 20 - .../syntax/testdir/dumps/vim9_tuples_01.dump | 20 - .../syntax/testdir/dumps/vim9_types_00.dump | 20 - .../dumps/vim9_types_example_object_00.dump | 20 - .../dumps/vim9_types_example_object_01.dump | 20 - .../syntax/testdir/dumps/vim9_types_object_00.dump | 20 - .../syntax/testdir/dumps/vim9_types_object_01.dump | 20 - .../syntax/testdir/dumps/vim9_variables_00.dump | 20 - .../syntax/testdir/dumps/vim9_variables_01.dump | 20 - .../syntax/testdir/dumps/vim9_variables_02.dump | 20 - .../syntax/testdir/dumps/vim9_variables_03.dump | 20 - .../syntax/testdir/dumps/vim9_variables_04.dump | 20 - .../syntax/testdir/dumps/vim9_variables_05.dump | 20 - .../syntax/testdir/dumps/vim9_variables_06.dump | 20 - .../syntax/testdir/dumps/vim9_variables_07.dump | 20 - .../syntax/testdir/dumps/vim9_variables_08.dump | 20 - .../syntax/testdir/dumps/vim9_variables_09.dump | 20 - .../syntax/testdir/dumps/vim9_variables_10.dump | 20 - .../syntax/testdir/dumps/vim9_variables_11.dump | 20 - .../syntax/testdir/dumps/vim9_variables_12.dump | 20 - .../syntax/testdir/dumps/vim9_variables_13.dump | 20 - .../syntax/testdir/dumps/vim9_variables_14.dump | 20 - .../syntax/testdir/dumps/vim9_variables_15.dump | 20 - .../testdir/dumps/vim_comment_strings_00.dump | 20 - .../testdir/dumps/vim_comment_strings_01.dump | 20 - .../syntax/testdir/dumps/vim_comments_00.dump | 20 - .../syntax/testdir/dumps/vim_comments_01.dump | 20 - .../syntax/testdir/dumps/vim_comments_02.dump | 20 - .../syntax/testdir/dumps/vim_comments_03.dump | 20 - .../syntax/testdir/dumps/vim_comments_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_abbreviate_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_abbreviate_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_abbreviate_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_abbreviate_03.dump | 20 - .../runtime/syntax/testdir/dumps/vim_ex_at_00.dump | 20 - .../runtime/syntax/testdir/dumps/vim_ex_at_01.dump | 20 - .../runtime/syntax/testdir/dumps/vim_ex_at_02.dump | 20 - .../runtime/syntax/testdir/dumps/vim_ex_at_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_augroup_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_augroup_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_augroup_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_augroup_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_augroup_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_autocmd_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_autocmd_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_autocmd_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_autocmd_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_autocmd_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_autocmd_05.dump | 20 - .../syntax/testdir/dumps/vim_ex_autocmd_06.dump | 20 - .../syntax/testdir/dumps/vim_ex_autocmd_07.dump | 20 - .../syntax/testdir/dumps/vim_ex_autocmd_08.dump | 20 - .../syntax/testdir/dumps/vim_ex_autocmd_09.dump | 20 - .../syntax/testdir/dumps/vim_ex_autocmd_10.dump | 20 - .../syntax/testdir/dumps/vim_ex_autocmd_11.dump | 20 - .../syntax/testdir/dumps/vim_ex_autocmd_12.dump | 20 - .../syntax/testdir/dumps/vim_ex_autocmd_13.dump | 20 - .../syntax/testdir/dumps/vim_ex_autocmd_14.dump | 20 - .../syntax/testdir/dumps/vim_ex_autocmd_15.dump | 20 - .../syntax/testdir/dumps/vim_ex_behave_00.dump | 20 - .../dumps/vim_ex_breakpoint_commands_00.dump | 20 - .../dumps/vim_ex_breakpoint_commands_01.dump | 20 - .../dumps/vim_ex_breakpoint_commands_02.dump | 20 - .../dumps/vim_ex_breakpoint_commands_03.dump | 20 - .../dumps/vim_ex_breakpoint_commands_04.dump | 20 - .../dumps/vim_ex_breakpoint_commands_05.dump | 20 - .../syntax/testdir/dumps/vim_ex_call_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_call_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_call_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_call_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_catch_00.dump | 20 - .../runtime/syntax/testdir/dumps/vim_ex_cd_00.dump | 20 - .../runtime/syntax/testdir/dumps/vim_ex_cd_01.dump | 20 - .../runtime/syntax/testdir/dumps/vim_ex_cd_02.dump | 20 - .../runtime/syntax/testdir/dumps/vim_ex_cd_03.dump | 20 - .../runtime/syntax/testdir/dumps/vim_ex_cd_04.dump | 20 - .../runtime/syntax/testdir/dumps/vim_ex_cd_05.dump | 20 - .../runtime/syntax/testdir/dumps/vim_ex_cd_06.dump | 20 - .../syntax/testdir/dumps/vim_ex_command_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_command_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_command_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_command_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_command_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_command_05.dump | 20 - .../syntax/testdir/dumps/vim_ex_command_06.dump | 20 - .../syntax/testdir/dumps/vim_ex_command_07.dump | 20 - .../syntax/testdir/dumps/vim_ex_command_08.dump | 20 - .../syntax/testdir/dumps/vim_ex_command_09.dump | 20 - .../syntax/testdir/dumps/vim_ex_command_10.dump | 20 - .../syntax/testdir/dumps/vim_ex_command_11.dump | 20 - .../testdir/dumps/vim_ex_command_modifiers_00.dump | 20 - .../testdir/dumps/vim_ex_command_modifiers_01.dump | 20 - .../testdir/dumps/vim_ex_command_modifiers_02.dump | 20 - .../testdir/dumps/vim_ex_command_modifiers_03.dump | 20 - .../testdir/dumps/vim_ex_command_modifiers_04.dump | 20 - .../testdir/dumps/vim_ex_command_modifiers_05.dump | 20 - .../testdir/dumps/vim_ex_command_modifiers_06.dump | 20 - .../testdir/dumps/vim_ex_command_modifiers_07.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_05.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_06.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_07.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_08.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_09.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_10.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_11.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_12.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_13.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_14.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_15.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_16.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_17.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_18.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_19.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_20.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_21.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_22.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_23.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_24.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_25.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_26.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_27.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_28.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_29.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_30.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_31.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_32.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_33.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_34.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_35.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_36.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_37.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_38.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_39.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_40.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_41.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_42.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_43.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_44.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_45.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_46.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_47.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_48.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_49.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_50.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_51.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_52.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_53.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_54.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_55.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_56.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_57.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_58.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_59.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_60.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_61.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_62.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_63.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_64.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_65.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_66.dump | 20 - .../syntax/testdir/dumps/vim_ex_commands_67.dump | 20 - .../syntax/testdir/dumps/vim_ex_debug_00.dump | 20 - .../testdir/dumps/vim_ex_debuggreedy_00.dump | 20 - .../testdir/dumps/vim_ex_debuggreedy_01.dump | 20 - .../testdir/dumps/vim_ex_debuggreedy_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_def_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_def_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_def_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_def_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_def_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_def_05.dump | 20 - .../syntax/testdir/dumps/vim_ex_def_06.dump | 20 - .../syntax/testdir/dumps/vim_ex_def_07.dump | 20 - .../syntax/testdir/dumps/vim_ex_def_fold_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_def_fold_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_def_fold_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_def_fold_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_def_fold_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_def_fold_05.dump | 20 - .../syntax/testdir/dumps/vim_ex_def_fold_06.dump | 20 - .../syntax/testdir/dumps/vim_ex_def_fold_07.dump | 20 - .../syntax/testdir/dumps/vim_ex_def_fold_08.dump | 20 - .../syntax/testdir/dumps/vim_ex_def_fold_09.dump | 20 - .../syntax/testdir/dumps/vim_ex_def_fold_10.dump | 20 - .../syntax/testdir/dumps/vim_ex_def_nested_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_def_nested_01.dump | 20 - .../testdir/dumps/vim_ex_def_nested_fold_00.dump | 20 - .../testdir/dumps/vim_ex_def_return_type_00.dump | 20 - .../testdir/dumps/vim_ex_def_return_type_01.dump | 20 - .../testdir/dumps/vim_ex_def_return_type_02.dump | 20 - .../testdir/dumps/vim_ex_def_return_type_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_defer_00.dump | 20 - .../testdir/dumps/vim_ex_delfunction_00.dump | 20 - .../testdir/dumps/vim_ex_delfunction_01.dump | 20 - .../testdir/dumps/vim_ex_delfunction_02.dump | 20 - .../testdir/dumps/vim_ex_do_commands_00.dump | 20 - .../testdir/dumps/vim_ex_do_commands_01.dump | 20 - .../testdir/dumps/vim_ex_do_commands_02.dump | 20 - .../testdir/dumps/vim_ex_do_commands_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_echo_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_echo_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_echo_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_echo_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_eval_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_eval_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_execute_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_execute_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_execute_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_execute_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_filetype_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_filetype_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_filter_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_for_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_for_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_for_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_for_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_function_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_function_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_function_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_function_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_function_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_function_05.dump | 20 - .../syntax/testdir/dumps/vim_ex_function_06.dump | 20 - .../syntax/testdir/dumps/vim_ex_function_07.dump | 20 - .../syntax/testdir/dumps/vim_ex_function_08.dump | 20 - .../syntax/testdir/dumps/vim_ex_function_09.dump | 20 - .../syntax/testdir/dumps/vim_ex_function_10.dump | 20 - .../syntax/testdir/dumps/vim_ex_function_11.dump | 20 - .../syntax/testdir/dumps/vim_ex_function_12.dump | 20 - .../syntax/testdir/dumps/vim_ex_function_13.dump | 20 - .../syntax/testdir/dumps/vim_ex_function_14.dump | 20 - .../syntax/testdir/dumps/vim_ex_function_15.dump | 20 - ...vim_ex_function_def_tail_comment_errors_00.dump | 20 - ...vim_ex_function_def_tail_comment_errors_01.dump | 20 - ...vim_ex_function_def_tail_comment_errors_02.dump | 20 - .../vim_ex_function_def_tail_comments_00.dump | 20 - .../vim_ex_function_def_tail_comments_01.dump | 20 - .../vim_ex_function_def_tail_comments_02.dump | 20 - .../testdir/dumps/vim_ex_function_fold_00.dump | 20 - .../testdir/dumps/vim_ex_function_fold_01.dump | 20 - .../testdir/dumps/vim_ex_function_fold_02.dump | 20 - .../testdir/dumps/vim_ex_function_fold_03.dump | 20 - .../testdir/dumps/vim_ex_function_fold_04.dump | 20 - .../testdir/dumps/vim_ex_function_fold_05.dump | 20 - .../testdir/dumps/vim_ex_function_fold_06.dump | 20 - .../testdir/dumps/vim_ex_function_fold_07.dump | 20 - .../testdir/dumps/vim_ex_function_fold_08.dump | 20 - .../testdir/dumps/vim_ex_function_fold_09.dump | 20 - .../testdir/dumps/vim_ex_function_fold_10.dump | 20 - .../testdir/dumps/vim_ex_function_fold_11.dump | 20 - .../testdir/dumps/vim_ex_function_fold_12.dump | 20 - .../testdir/dumps/vim_ex_function_fold_13.dump | 20 - .../testdir/dumps/vim_ex_function_fold_14.dump | 20 - .../testdir/dumps/vim_ex_function_fold_15.dump | 20 - .../testdir/dumps/vim_ex_function_fold_16.dump | 20 - .../testdir/dumps/vim_ex_function_fold_17.dump | 20 - .../testdir/dumps/vim_ex_function_fold_18.dump | 20 - .../testdir/dumps/vim_ex_function_fold_19.dump | 20 - .../testdir/dumps/vim_ex_function_nested_00.dump | 20 - .../testdir/dumps/vim_ex_function_nested_01.dump | 20 - .../testdir/dumps/vim_ex_function_nested_02.dump | 20 - .../dumps/vim_ex_function_nested_fold_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_grep_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_grep_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_grep_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_help_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_help_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_help_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_help_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_helpgrep_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_highlight_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_highlight_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_highlight_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_highlight_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_highlight_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_highlight_05.dump | 20 - .../syntax/testdir/dumps/vim_ex_highlight_06.dump | 20 - .../syntax/testdir/dumps/vim_ex_history_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_history_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_history_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_history_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_history_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_history_05.dump | 20 - .../syntax/testdir/dumps/vim_ex_import_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_import_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_import_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_import_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_import_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_import_05.dump | 20 - .../syntax/testdir/dumps/vim_ex_import_06.dump | 20 - .../syntax/testdir/dumps/vim_ex_language_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_language_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_language_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_language_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_language_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_language_05.dump | 20 - .../syntax/testdir/dumps/vim_ex_language_06.dump | 20 - .../syntax/testdir/dumps/vim_ex_language_07.dump | 20 - .../syntax/testdir/dumps/vim_ex_language_08.dump | 20 - .../syntax/testdir/dumps/vim_ex_language_09.dump | 20 - .../testdir/dumps/vim_ex_let_heredoc_00.dump | 20 - .../testdir/dumps/vim_ex_let_heredoc_01.dump | 20 - .../testdir/dumps/vim_ex_let_heredoc_02.dump | 20 - .../testdir/dumps/vim_ex_let_heredoc_03.dump | 20 - .../testdir/dumps/vim_ex_let_heredoc_04.dump | 20 - .../testdir/dumps/vim_ex_let_heredoc_05.dump | 20 - .../testdir/dumps/vim_ex_let_heredoc_06.dump | 20 - .../testdir/dumps/vim_ex_let_heredoc_07.dump | 20 - .../testdir/dumps/vim_ex_let_heredoc_08.dump | 20 - .../testdir/dumps/vim_ex_let_heredoc_09.dump | 20 - .../testdir/dumps/vim_ex_let_heredoc_10.dump | 20 - .../testdir/dumps/vim_ex_let_heredoc_11.dump | 20 - .../testdir/dumps/vim_ex_let_heredoc_12.dump | 20 - .../testdir/dumps/vim_ex_let_heredoc_13.dump | 20 - .../testdir/dumps/vim_ex_let_heredoc_14.dump | 20 - .../syntax/testdir/dumps/vim_ex_loadkeymap_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_loadkeymap_01.dump | 20 - .../dumps/vim_ex_loadkeymap_after_bar_00.dump | 20 - .../dumps/vim_ex_loadkeymap_after_colon_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_lua_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_lua_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_lua_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_lua_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_lua_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_lua_05.dump | 20 - .../syntax/testdir/dumps/vim_ex_lua_06.dump | 20 - .../syntax/testdir/dumps/vim_ex_lua_07.dump | 20 - .../syntax/testdir/dumps/vim_ex_lua_08.dump | 20 - .../syntax/testdir/dumps/vim_ex_make_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_make_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_make_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_map_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_map_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_map_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_map_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_map_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_map_05.dump | 20 - .../syntax/testdir/dumps/vim_ex_map_06.dump | 20 - .../syntax/testdir/dumps/vim_ex_map_07.dump | 20 - .../syntax/testdir/dumps/vim_ex_mark_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_mark_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_mark_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_mark_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_mark_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_mark_05.dump | 20 - .../syntax/testdir/dumps/vim_ex_mark_06.dump | 20 - .../syntax/testdir/dumps/vim_ex_mark_07.dump | 20 - .../syntax/testdir/dumps/vim_ex_mark_08.dump | 20 - .../syntax/testdir/dumps/vim_ex_mark_09.dump | 20 - .../syntax/testdir/dumps/vim_ex_mark_10.dump | 20 - .../syntax/testdir/dumps/vim_ex_mark_11.dump | 20 - .../syntax/testdir/dumps/vim_ex_mark_12.dump | 20 - .../syntax/testdir/dumps/vim_ex_match_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_match_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_match_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_match_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_menu_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_menu_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_menu_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_menu_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_menu_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_menu_05.dump | 20 - .../testdir/dumps/vim_ex_menutranslate_00.dump | 20 - .../testdir/dumps/vim_ex_menutranslate_01.dump | 20 - .../testdir/dumps/vim_ex_menutranslate_02.dump | 20 - .../testdir/dumps/vim_ex_menutranslate_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_mzscheme_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_mzscheme_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_mzscheme_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_mzscheme_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_mzscheme_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_mzscheme_05.dump | 20 - .../syntax/testdir/dumps/vim_ex_mzscheme_06.dump | 20 - .../syntax/testdir/dumps/vim_ex_mzscheme_07.dump | 20 - .../syntax/testdir/dumps/vim_ex_mzscheme_08.dump | 20 - .../syntax/testdir/dumps/vim_ex_normal_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_normal_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_perl_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_perl_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_perl_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_perl_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_perl_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_perl_05.dump | 20 - .../syntax/testdir/dumps/vim_ex_perl_06.dump | 20 - .../syntax/testdir/dumps/vim_ex_perl_07.dump | 20 - .../syntax/testdir/dumps/vim_ex_perl_08.dump | 20 - .../syntax/testdir/dumps/vim_ex_profile_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_profile_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_profile_02.dump | 20 - .../testdir/dumps/vim_ex_prompt_commands_00.dump | 20 - .../testdir/dumps/vim_ex_prompt_commands_01.dump | 20 - .../testdir/dumps/vim_ex_prompt_commands_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_python_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_python_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_python_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_python_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_python_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_python_05.dump | 20 - .../syntax/testdir/dumps/vim_ex_python_06.dump | 20 - .../syntax/testdir/dumps/vim_ex_python_07.dump | 20 - .../syntax/testdir/dumps/vim_ex_python_08.dump | 20 - .../syntax/testdir/dumps/vim_ex_python_09.dump | 20 - .../syntax/testdir/dumps/vim_ex_range_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_range_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_range_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_range_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_range_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_range_05.dump | 20 - .../syntax/testdir/dumps/vim_ex_redir_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_redir_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_redir_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_redir_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_redir_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_ruby_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_ruby_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_ruby_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_ruby_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_ruby_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_ruby_05.dump | 20 - .../syntax/testdir/dumps/vim_ex_ruby_06.dump | 20 - .../syntax/testdir/dumps/vim_ex_ruby_07.dump | 20 - .../syntax/testdir/dumps/vim_ex_ruby_08.dump | 20 - .../syntax/testdir/dumps/vim_ex_set_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_set_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_set_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_set_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_set_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_set_05.dump | 20 - .../syntax/testdir/dumps/vim_ex_set_06.dump | 20 - .../syntax/testdir/dumps/vim_ex_set_07.dump | 20 - .../testdir/dumps/vim_ex_set_backslash_00.dump | 20 - .../testdir/dumps/vim_ex_set_backslash_01.dump | 20 - .../testdir/dumps/vim_ex_set_backslash_02.dump | 20 - .../testdir/dumps/vim_ex_set_backslash_03.dump | 20 - .../testdir/dumps/vim_ex_set_backslash_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_sleep_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_sort_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_sort_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_sort_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_sort_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_substitute_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_substitute_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_substitute_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_substitute_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_substitute_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_substitute_05.dump | 20 - .../syntax/testdir/dumps/vim_ex_substitute_06.dump | 20 - .../syntax/testdir/dumps/vim_ex_substitute_07.dump | 20 - .../syntax/testdir/dumps/vim_ex_substitute_08.dump | 20 - .../syntax/testdir/dumps/vim_ex_substitute_09.dump | 20 - .../syntax/testdir/dumps/vim_ex_substitute_10.dump | 20 - .../syntax/testdir/dumps/vim_ex_substitute_11.dump | 20 - .../syntax/testdir/dumps/vim_ex_syntax_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_syntax_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_syntax_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_syntax_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_syntax_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_syntax_05.dump | 20 - .../syntax/testdir/dumps/vim_ex_syntax_06.dump | 20 - .../syntax/testdir/dumps/vim_ex_syntax_07.dump | 20 - .../syntax/testdir/dumps/vim_ex_syntax_08.dump | 20 - .../syntax/testdir/dumps/vim_ex_syntax_09.dump | 20 - .../syntax/testdir/dumps/vim_ex_syntax_10.dump | 20 - .../syntax/testdir/dumps/vim_ex_syntax_11.dump | 20 - .../syntax/testdir/dumps/vim_ex_syntax_12.dump | 20 - .../syntax/testdir/dumps/vim_ex_syntax_13.dump | 20 - .../syntax/testdir/dumps/vim_ex_syntax_14.dump | 20 - .../syntax/testdir/dumps/vim_ex_syntax_15.dump | 20 - .../syntax/testdir/dumps/vim_ex_syntax_16.dump | 20 - .../syntax/testdir/dumps/vim_ex_syntax_17.dump | 20 - .../syntax/testdir/dumps/vim_ex_syntax_18.dump | 20 - .../syntax/testdir/dumps/vim_ex_syntax_19.dump | 20 - .../syntax/testdir/dumps/vim_ex_syntax_20.dump | 20 - .../syntax/testdir/dumps/vim_ex_syntax_21.dump | 20 - .../syntax/testdir/dumps/vim_ex_syntime_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_syntime_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_syntime_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_tcl_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_tcl_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_tcl_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_tcl_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_tcl_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_tcl_05.dump | 20 - .../syntax/testdir/dumps/vim_ex_tcl_06.dump | 20 - .../syntax/testdir/dumps/vim_ex_tcl_07.dump | 20 - .../syntax/testdir/dumps/vim_ex_tcl_08.dump | 20 - .../syntax/testdir/dumps/vim_ex_terminal_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_terminal_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_terminal_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_terminal_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_terminal_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_throw_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_uniq_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_uniq_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_vimgrep_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_vimgrep_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_vimgrep_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_vimgrep_03.dump | 20 - .../syntax/testdir/dumps/vim_ex_vimgrep_04.dump | 20 - .../syntax/testdir/dumps/vim_ex_wincmd_00.dump | 20 - .../syntax/testdir/dumps/vim_ex_wincmd_01.dump | 20 - .../syntax/testdir/dumps/vim_ex_wincmd_02.dump | 20 - .../syntax/testdir/dumps/vim_ex_wincmd_03.dump | 20 - .../syntax/testdir/dumps/vim_expressions_00.dump | 20 - .../syntax/testdir/dumps/vim_expressions_01.dump | 20 - .../syntax/testdir/dumps/vim_expressions_02.dump | 20 - .../syntax/testdir/dumps/vim_expressions_03.dump | 20 - .../syntax/testdir/dumps/vim_expressions_04.dump | 20 - .../syntax/testdir/dumps/vim_expressions_05.dump | 20 - .../syntax/testdir/dumps/vim_expressions_06.dump | 20 - .../syntax/testdir/dumps/vim_expressions_07.dump | 20 - .../syntax/testdir/dumps/vim_expressions_08.dump | 20 - .../syntax/testdir/dumps/vim_expressions_09.dump | 20 - .../syntax/testdir/dumps/vim_expressions_10.dump | 20 - .../syntax/testdir/dumps/vim_expressions_11.dump | 20 - .../syntax/testdir/dumps/vim_expressions_12.dump | 20 - .../syntax/testdir/dumps/vim_expressions_13.dump | 20 - .../syntax/testdir/dumps/vim_expressions_14.dump | 20 - .../syntax/testdir/dumps/vim_expressions_15.dump | 20 - .../syntax/testdir/dumps/vim_expressions_16.dump | 20 - .../syntax/testdir/dumps/vim_expressions_17.dump | 20 - .../syntax/testdir/dumps/vim_expressions_18.dump | 20 - .../syntax/testdir/dumps/vim_expressions_19.dump | 20 - .../syntax/testdir/dumps/vim_expressions_20.dump | 20 - .../syntax/testdir/dumps/vim_expressions_21.dump | 20 - .../syntax/testdir/dumps/vim_expressions_22.dump | 20 - .../syntax/testdir/dumps/vim_expressions_23.dump | 20 - .../syntax/testdir/dumps/vim_expressions_24.dump | 20 - .../testdir/dumps/vim_function_calls_00.dump | 20 - .../testdir/dumps/vim_function_calls_01.dump | 20 - .../testdir/dumps/vim_function_calls_02.dump | 20 - .../testdir/dumps/vim_function_calls_03.dump | 20 - .../testdir/dumps/vim_function_calls_04.dump | 20 - .../testdir/dumps/vim_function_calls_05.dump | 20 - .../testdir/dumps/vim_function_calls_06.dump | 20 - .../testdir/dumps/vim_function_calls_07.dump | 20 - .../testdir/dumps/vim_function_calls_08.dump | 20 - .../testdir/dumps/vim_function_calls_09.dump | 20 - .../testdir/dumps/vim_function_calls_10.dump | 20 - .../testdir/dumps/vim_function_calls_11.dump | 20 - .../testdir/dumps/vim_function_calls_12.dump | 20 - .../testdir/dumps/vim_function_calls_13.dump | 20 - .../testdir/dumps/vim_function_calls_14.dump | 20 - .../testdir/dumps/vim_function_calls_15.dump | 20 - .../testdir/dumps/vim_function_variables_00.dump | 20 - .../testdir/dumps/vim_function_variables_01.dump | 20 - .../testdir/dumps/vim_function_variables_02.dump | 20 - .../testdir/dumps/vim_function_variables_03.dump | 20 - .../testdir/dumps/vim_function_variables_04.dump | 20 - .../testdir/dumps/vim_function_variables_05.dump | 20 - .../testdir/dumps/vim_function_variables_06.dump | 20 - .../testdir/dumps/vim_function_variables_07.dump | 20 - .../testdir/dumps/vim_function_variables_08.dump | 20 - .../testdir/dumps/vim_function_variables_09.dump | 20 - .../testdir/dumps/vim_function_variables_10.dump | 20 - .../testdir/dumps/vim_function_variables_11.dump | 20 - .../testdir/dumps/vim_function_variables_12.dump | 20 - .../testdir/dumps/vim_function_variables_13.dump | 20 - .../testdir/dumps/vim_function_variables_14.dump | 20 - .../testdir/dumps/vim_function_variables_15.dump | 20 - .../testdir/dumps/vim_function_variables_16.dump | 20 - .../testdir/dumps/vim_function_variables_17.dump | 20 - .../testdir/dumps/vim_function_variables_18.dump | 20 - .../testdir/dumps/vim_function_variables_19.dump | 20 - .../testdir/dumps/vim_function_variables_20.dump | 20 - .../testdir/dumps/vim_function_variables_21.dump | 20 - .../testdir/dumps/vim_function_variables_22.dump | 20 - .../testdir/dumps/vim_function_variables_23.dump | 20 - .../syntax/testdir/dumps/vim_key_notation_00.dump | 20 - .../syntax/testdir/dumps/vim_key_notation_01.dump | 20 - .../syntax/testdir/dumps/vim_key_notation_02.dump | 20 - .../syntax/testdir/dumps/vim_key_notation_03.dump | 20 - .../syntax/testdir/dumps/vim_key_notation_04.dump | 20 - .../syntax/testdir/dumps/vim_key_notation_05.dump | 20 - .../syntax/testdir/dumps/vim_key_notation_06.dump | 20 - .../syntax/testdir/dumps/vim_key_notation_07.dump | 20 - .../syntax/testdir/dumps/vim_key_notation_08.dump | 20 - .../syntax/testdir/dumps/vim_key_notation_09.dump | 20 - .../syntax/testdir/dumps/vim_lambdas_00.dump | 20 - .../syntax/testdir/dumps/vim_lambdas_01.dump | 20 - .../syntax/testdir/dumps/vim_lambdas_02.dump | 20 - .../syntax/testdir/dumps/vim_lambdas_03.dump | 20 - .../syntax/testdir/dumps/vim_lambdas_04.dump | 20 - .../syntax/testdir/dumps/vim_lambdas_05.dump | 20 - .../syntax/testdir/dumps/vim_lambdas_06.dump | 20 - .../syntax/testdir/dumps/vim_lambdas_07.dump | 20 - .../testdir/dumps/vim_line_continuation_00.dump | 20 - .../testdir/dumps/vim_line_continuation_01.dump | 20 - .../testdir/dumps/vim_line_continuation_02.dump | 20 - .../testdir/dumps/vim_line_continuation_03.dump | 20 - uvim/runtime/syntax/testdir/dumps/vim_new_00.dump | 20 - uvim/runtime/syntax/testdir/dumps/vim_new_01.dump | 20 - .../testdir/dumps/vim_no_comment_strings_00.dump | 20 - .../testdir/dumps/vim_no_comment_strings_01.dump | 20 - .../syntax/testdir/dumps/vim_nvim_features_00.dump | 20 - .../syntax/testdir/dumps/vim_nvim_features_01.dump | 20 - .../syntax/testdir/dumps/vim_nvim_features_02.dump | 20 - .../syntax/testdir/dumps/vim_nvim_features_03.dump | 20 - .../syntax/testdir/dumps/vim_nvim_features_04.dump | 20 - .../syntax/testdir/dumps/vim_nvim_features_05.dump | 20 - .../syntax/testdir/dumps/vim_nvim_features_06.dump | 20 - .../syntax/testdir/dumps/vim_nvim_features_07.dump | 20 - .../syntax/testdir/dumps/vim_nvim_features_08.dump | 20 - .../syntax/testdir/dumps/vim_nvim_features_09.dump | 20 - .../syntax/testdir/dumps/vim_nvim_features_10.dump | 20 - .../syntax/testdir/dumps/vim_nvim_features_11.dump | 20 - .../syntax/testdir/dumps/vim_nvim_features_12.dump | 20 - .../dumps/vim_predefined_user_commands_00.dump | 20 - .../dumps/vim_predefined_user_commands_01.dump | 20 - .../syntax/testdir/dumps/vim_shebang_00.dump | 20 - .../syntax/testdir/dumps/vim_variables_00.dump | 20 - .../syntax/testdir/dumps/vim_variables_01.dump | 20 - .../syntax/testdir/dumps/vim_variables_02.dump | 20 - .../syntax/testdir/dumps/vim_variables_03.dump | 20 - .../syntax/testdir/dumps/vim_variables_04.dump | 20 - .../syntax/testdir/dumps/vim_variables_05.dump | 20 - .../syntax/testdir/dumps/vim_variables_06.dump | 20 - .../syntax/testdir/dumps/vim_variables_07.dump | 20 - .../syntax/testdir/dumps/vim_variables_08.dump | 20 - .../syntax/testdir/dumps/vim_variables_09.dump | 20 - .../syntax/testdir/dumps/vim_variables_10.dump | 20 - .../syntax/testdir/dumps/vim_variables_11.dump | 20 - .../syntax/testdir/dumps/vim_variables_12.dump | 20 - .../syntax/testdir/dumps/vim_variables_13.dump | 20 - .../syntax/testdir/dumps/vim_variables_14.dump | 20 - .../syntax/testdir/dumps/vim_variables_15.dump | 20 - .../syntax/testdir/dumps/vim_variables_16.dump | 20 - .../syntax/testdir/dumps/vim_variables_17.dump | 20 - .../syntax/testdir/dumps/vim_variables_18.dump | 20 - .../syntax/testdir/dumps/vim_variables_19.dump | 20 - .../syntax/testdir/dumps/vim_variables_20.dump | 20 - .../syntax/testdir/dumps/vim_variables_21.dump | 20 - .../syntax/testdir/dumps/vim_variables_22.dump | 20 - .../syntax/testdir/dumps/vim_variables_23.dump | 20 - uvim/runtime/syntax/testdir/ftplugin/java.mnv | 5 + uvim/runtime/syntax/testdir/ftplugin/java.vim | 5 - uvim/runtime/syntax/testdir/input/c.c | 26 +- uvim/runtime/syntax/testdir/input/codeowners.txt | 2 +- uvim/runtime/syntax/testdir/input/cpp_noreturn.cpp | 2 +- uvim/runtime/syntax/testdir/input/csh.csh | 2 +- .../testdir/input/gdb_multiline_commands.gdb | 2 +- uvim/runtime/syntax/testdir/input/help.txt | 32 +- .../syntax/testdir/input/help_ex_version.txt | 20 +- uvim/runtime/syntax/testdir/input/html.html | 2 +- .../syntax/testdir/input/html_fold_expr.html | 2 +- .../syntax/testdir/input/html_fold_syntax.html | 4 +- .../syntax/testdir/input/java_annotations.java | 2 +- .../testdir/input/java_annotations_signature.java | 4 +- .../syntax/testdir/input/java_comments_html.java | 18 +- .../testdir/input/java_comments_markdown.java | 30 +- .../testdir/input/java_contextual_keywords.java | 2 +- .../syntax/testdir/input/java_enfoldment.java | 14 +- .../syntax/testdir/input/java_generics.java | 12 +- .../testdir/input/java_generics_signature.java | 16 +- .../testdir/input/java_lambda_expressions.java | 2 +- .../input/java_lambda_expressions_signature.java | 4 +- .../testdir/input/java_method_references.java | 4 +- .../input/java_method_references_signature.java | 6 +- .../syntax/testdir/input/java_methods_indent2.java | 6 +- .../input/java_methods_indent2_signature.java | 6 +- .../syntax/testdir/input/java_methods_indent4.java | 6 +- .../input/java_methods_indent4_signature.java | 6 +- .../syntax/testdir/input/java_methods_indent8.java | 6 +- .../input/java_methods_indent8_signature.java | 6 +- .../syntax/testdir/input/java_methods_style.java | 6 +- .../input/java_methods_style_signature.java | 6 +- .../syntax/testdir/input/java_previews_430.java | 2 +- .../syntax/testdir/input/java_previews_455.java | 2 +- .../syntax/testdir/input/java_unfoldment.java | 14 +- uvim/runtime/syntax/testdir/input/mnv9_blocks.mnv | 49 + .../testdir/input/mnv9_builtin_object_methods.mnv | 114 + .../testdir/input/mnv9_builtin_object_methods2.mnv | 58 + .../syntax/testdir/input/mnv9_comment_strings.mnv | 27 + .../runtime/syntax/testdir/input/mnv9_comments.mnv | 99 + .../syntax/testdir/input/mnv9_constructors.mnv | 18 + .../syntax/testdir/input/mnv9_def_variables.mnv | 226 + .../syntax/testdir/input/mnv9_ex_class_fold.mnv | 71 + .../syntax/testdir/input/mnv9_ex_commands.mnv | 1211 +++++ uvim/runtime/syntax/testdir/input/mnv9_ex_echo.mnv | 36 + uvim/runtime/syntax/testdir/input/mnv9_ex_enum.mnv | 111 + .../runtime/syntax/testdir/input/mnv9_ex_enum2.mnv | 31 + .../syntax/testdir/input/mnv9_ex_enum_fold.mnv | 50 + uvim/runtime/syntax/testdir/input/mnv9_ex_for.mnv | 88 + .../mnv9_ex_function_def_tail_comment_errors.mnv | 45 + .../input/mnv9_ex_function_def_tail_comments.mnv | 45 + .../syntax/testdir/input/mnv9_ex_import.mnv | 120 + .../testdir/input/mnv9_ex_interface_fold.mnv | 38 + .../syntax/testdir/input/mnv9_ex_let_heredoc.mnv | 299 ++ .../syntax/testdir/input/mnv9_ex_loadkeymap.mnv | 28 + uvim/runtime/syntax/testdir/input/mnv9_ex_type.mnv | 12 + .../syntax/testdir/input/mnv9_expressions.mnv | 215 + .../syntax/testdir/input/mnv9_function_calls.mnv | 317 ++ .../input/mnv9_generic_function_example_enum.mnv | 36 + .../input/mnv9_generic_function_example_list.mnv | 215 + .../input/mnv9_generic_function_example_set.mnv | 177 + .../testdir/input/mnv9_generic_functions.mnv | 97 + uvim/runtime/syntax/testdir/input/mnv9_lambdas.mnv | 161 + .../syntax/testdir/input/mnv9_legacy_header.mnv | 20 + .../testdir/input/mnv9_legacy_header_fold.mnv | 22 + .../testdir/input/mnv9_no_comment_strings.mnv | 27 + uvim/runtime/syntax/testdir/input/mnv9_shebang.mnv | 8 + .../testdir/input/mnv9_super_this_keywords.mnv | 87 + .../testdir/input/mnv9_super_this_keywords2.mnv | 63 + .../testdir/input/mnv9_super_this_keywords3.mnv | 27 + uvim/runtime/syntax/testdir/input/mnv9_tuples.mnv | 25 + uvim/runtime/syntax/testdir/input/mnv9_types.mnv | 17 + .../testdir/input/mnv9_types_example_object.mnv | 29 + .../syntax/testdir/input/mnv9_types_object.mnv | 27 + .../syntax/testdir/input/mnv9_variables.mnv | 269 ++ .../syntax/testdir/input/mnv_comment_strings.mnv | 22 + uvim/runtime/syntax/testdir/input/mnv_comments.mnv | 83 + .../syntax/testdir/input/mnv_ex_abbreviate.mnv | 54 + uvim/runtime/syntax/testdir/input/mnv_ex_at.mnv | 66 + .../syntax/testdir/input/mnv_ex_augroup.mnv | 71 + .../syntax/testdir/input/mnv_ex_autocmd.mnv | 257 + .../runtime/syntax/testdir/input/mnv_ex_behave.mnv | 9 + .../testdir/input/mnv_ex_breakpoint_commands.mnv | 95 + uvim/runtime/syntax/testdir/input/mnv_ex_call.mnv | 52 + uvim/runtime/syntax/testdir/input/mnv_ex_catch.mnv | 19 + uvim/runtime/syntax/testdir/input/mnv_ex_cd.mnv | 110 + .../syntax/testdir/input/mnv_ex_command.mnv | 196 + .../testdir/input/mnv_ex_command_modifiers.mnv | 135 + .../syntax/testdir/input/mnv_ex_commands.mnv | 1210 +++++ uvim/runtime/syntax/testdir/input/mnv_ex_debug.mnv | 13 + .../syntax/testdir/input/mnv_ex_debuggreedy.mnv | 34 + uvim/runtime/syntax/testdir/input/mnv_ex_def.mnv | 126 + .../syntax/testdir/input/mnv_ex_def_fold.mnv | 185 + .../syntax/testdir/input/mnv_ex_def_nested.mnv | 23 + .../testdir/input/mnv_ex_def_nested_fold.mnv | 25 + .../testdir/input/mnv_ex_def_return_type.mnv | 60 + uvim/runtime/syntax/testdir/input/mnv_ex_defer.mnv | 17 + .../syntax/testdir/input/mnv_ex_delfunction.mnv | 34 + .../syntax/testdir/input/mnv_ex_do_commands.mnv | 58 + uvim/runtime/syntax/testdir/input/mnv_ex_echo.mnv | 58 + uvim/runtime/syntax/testdir/input/mnv_ex_eval.mnv | 20 + .../syntax/testdir/input/mnv_ex_execute.mnv | 64 + .../syntax/testdir/input/mnv_ex_filetype.mnv | 30 + .../runtime/syntax/testdir/input/mnv_ex_filter.mnv | 16 + uvim/runtime/syntax/testdir/input/mnv_ex_for.mnv | 60 + .../syntax/testdir/input/mnv_ex_function.mnv | 266 ++ .../mnv_ex_function_def_tail_comment_errors.mnv | 45 + .../input/mnv_ex_function_def_tail_comments.mnv | 45 + .../syntax/testdir/input/mnv_ex_function_fold.mnv | 349 ++ .../testdir/input/mnv_ex_function_nested.mnv | 40 + .../testdir/input/mnv_ex_function_nested_fold.mnv | 42 + uvim/runtime/syntax/testdir/input/mnv_ex_grep.mnv | 47 + uvim/runtime/syntax/testdir/input/mnv_ex_help.mnv | Bin 0 -> 986 bytes .../syntax/testdir/input/mnv_ex_helpgrep.mnv | 18 + .../syntax/testdir/input/mnv_ex_highlight.mnv | 108 + .../syntax/testdir/input/mnv_ex_history.mnv | 89 + .../runtime/syntax/testdir/input/mnv_ex_import.mnv | 119 + .../syntax/testdir/input/mnv_ex_language.mnv | 172 + .../syntax/testdir/input/mnv_ex_let_heredoc.mnv | 250 + .../syntax/testdir/input/mnv_ex_loadkeymap.mnv | 27 + .../testdir/input/mnv_ex_loadkeymap_after_bar.mnv | 11 + .../input/mnv_ex_loadkeymap_after_colon.mnv | 11 + uvim/runtime/syntax/testdir/input/mnv_ex_lua.mnv | 157 + uvim/runtime/syntax/testdir/input/mnv_ex_make.mnv | 38 + uvim/runtime/syntax/testdir/input/mnv_ex_map.mnv | 124 + uvim/runtime/syntax/testdir/input/mnv_ex_mark.mnv | 215 + uvim/runtime/syntax/testdir/input/mnv_ex_match.mnv | 64 + uvim/runtime/syntax/testdir/input/mnv_ex_menu.mnv | 88 + .../syntax/testdir/input/mnv_ex_menutranslate.mnv | 52 + .../syntax/testdir/input/mnv_ex_mnvgrep.mnv | 69 + .../syntax/testdir/input/mnv_ex_mzscheme.mnv | 157 + .../runtime/syntax/testdir/input/mnv_ex_normal.mnv | 30 + uvim/runtime/syntax/testdir/input/mnv_ex_perl.mnv | 157 + .../syntax/testdir/input/mnv_ex_profile.mnv | 48 + .../testdir/input/mnv_ex_prompt_commands.mnv | 46 + .../runtime/syntax/testdir/input/mnv_ex_python.mnv | 159 + uvim/runtime/syntax/testdir/input/mnv_ex_range.mnv | 90 + uvim/runtime/syntax/testdir/input/mnv_ex_redir.mnv | 71 + uvim/runtime/syntax/testdir/input/mnv_ex_ruby.mnv | 157 + uvim/runtime/syntax/testdir/input/mnv_ex_set.mnv | 131 + .../syntax/testdir/input/mnv_ex_set_backslash.mnv | 79 + uvim/runtime/syntax/testdir/input/mnv_ex_sleep.mnv | 13 + uvim/runtime/syntax/testdir/input/mnv_ex_sort.mnv | 64 + .../syntax/testdir/input/mnv_ex_substitute.mnv | 208 + .../runtime/syntax/testdir/input/mnv_ex_syntax.mnv | 377 ++ .../syntax/testdir/input/mnv_ex_syntime.mnv | 38 + uvim/runtime/syntax/testdir/input/mnv_ex_tcl.mnv | 157 + .../syntax/testdir/input/mnv_ex_terminal.mnv | 69 + uvim/runtime/syntax/testdir/input/mnv_ex_throw.mnv | 7 + uvim/runtime/syntax/testdir/input/mnv_ex_uniq.mnv | 31 + .../runtime/syntax/testdir/input/mnv_ex_wincmd.mnv | 67 + .../syntax/testdir/input/mnv_expressions.mnv | 426 ++ .../syntax/testdir/input/mnv_function_calls.mnv | 277 ++ .../testdir/input/mnv_function_variables.mnv | 414 ++ .../syntax/testdir/input/mnv_key_notation.mnv | 166 + uvim/runtime/syntax/testdir/input/mnv_lambdas.mnv | 135 + .../syntax/testdir/input/mnv_line_continuation.mnv | 51 + uvim/runtime/syntax/testdir/input/mnv_new.mnv | 21 + .../syntax/testdir/input/mnv_nmnv_features.mnv | 229 + .../testdir/input/mnv_no_comment_strings.mnv | 22 + .../testdir/input/mnv_predefined_user_commands.mnv | 21 + uvim/runtime/syntax/testdir/input/mnv_shebang.mnv | 5 + .../runtime/syntax/testdir/input/mnv_variables.mnv | 411 ++ uvim/runtime/syntax/testdir/input/modula2_iso.def | 6 +- uvim/runtime/syntax/testdir/input/modula2_pim.def | 6 +- uvim/runtime/syntax/testdir/input/modula2_r10.def | 6 +- .../syntax/testdir/input/progress_comments.p | 2 +- .../syntax/testdir/input/python2_strings.py | 2 +- .../input/python_constants_builtin_default.py | 4 +- .../input/python_constants_builtin_highlight.py | 4 +- .../input/python_constants_keyword_default.py | 4 +- .../input/python_constants_keyword_highlight.py | 4 +- .../syntax/testdir/input/selftestdir/README.txt | 2 +- uvim/runtime/syntax/testdir/input/setup/help.mnv | 1 + uvim/runtime/syntax/testdir/input/setup/help.vim | 1 - .../syntax/testdir/input/setup/help_ex_version.mnv | 1 + .../syntax/testdir/input/setup/help_ex_version.vim | 1 - .../syntax/testdir/input/setup/html_fold_expr.mnv | 2 + .../syntax/testdir/input/setup/html_fold_expr.vim | 2 - .../testdir/input/setup/java_module_info.mnv | 30 + .../testdir/input/setup/java_module_info.vim | 30 - .../testdir/input/setup/markdown_circularity.mnv | 4 + .../testdir/input/setup/markdown_circularity.vim | 4 - .../testdir/input/setup/markdown_conceal.mnv | 8 + .../testdir/input/setup/markdown_conceal.vim | 8 - .../syntax/testdir/input/setup/mnv9_blocks.mnv | 1 + .../input/setup/mnv9_builtin_object_methods2.mnv | 1 + .../syntax/testdir/input/setup/mnv9_comments.mnv | 1 + .../testdir/input/setup/mnv9_def_variables.mnv | 1 + .../testdir/input/setup/mnv9_ex_class_fold.mnv | 1 + .../testdir/input/setup/mnv9_ex_commands.mnv | 1 + .../syntax/testdir/input/setup/mnv9_ex_enum.mnv | 1 + .../syntax/testdir/input/setup/mnv9_ex_enum2.mnv | 1 + .../syntax/testdir/input/setup/mnv9_ex_for.mnv | 1 + .../mnv9_ex_function_def_tail_comment_errors.mnv | 2 + .../setup/mnv9_ex_function_def_tail_comments.mnv | 2 + .../syntax/testdir/input/setup/mnv9_ex_import.mnv | 1 + .../testdir/input/setup/mnv9_ex_interface_fold.mnv | 1 + .../testdir/input/setup/mnv9_ex_let_heredoc.mnv | 2 + .../testdir/input/setup/mnv9_ex_loadkeymap.mnv | 1 + .../testdir/input/setup/mnv9_expressions.mnv | 1 + .../syntax/testdir/input/setup/mnv9_lambdas.mnv | 1 + .../testdir/input/setup/mnv9_legacy_header.mnv | 1 + .../input/setup/mnv9_super_this_keywords.mnv | 1 + .../input/setup/mnv9_super_this_keywords2.mnv | 1 + .../input/setup/mnv9_super_this_keywords3.mnv | 1 + .../syntax/testdir/input/setup/mnv9_variables.mnv | 1 + .../syntax/testdir/input/setup/mnv_comments.mnv | 1 + .../syntax/testdir/input/setup/mnv_ex_call.mnv | 1 + .../syntax/testdir/input/setup/mnv_ex_command.mnv | 1 + .../syntax/testdir/input/setup/mnv_ex_commands.mnv | 1 + .../syntax/testdir/input/setup/mnv_ex_def.mnv | 2 + .../syntax/testdir/input/setup/mnv_ex_def_fold.mnv | 2 + .../testdir/input/setup/mnv_ex_def_nested.mnv | 1 + .../testdir/input/setup/mnv_ex_def_nested_fold.mnv | 1 + .../syntax/testdir/input/setup/mnv_ex_echo.mnv | 1 + .../syntax/testdir/input/setup/mnv_ex_execute.mnv | 1 + .../syntax/testdir/input/setup/mnv_ex_for.mnv | 1 + .../syntax/testdir/input/setup/mnv_ex_function.mnv | 2 + .../mnv_ex_function_def_tail_comment_errors.mnv | 2 + .../setup/mnv_ex_function_def_tail_comments.mnv | 2 + .../testdir/input/setup/mnv_ex_function_fold.mnv | 2 + .../syntax/testdir/input/setup/mnv_ex_import.mnv | 1 + .../testdir/input/setup/mnv_ex_let_heredoc.mnv | 1 + .../testdir/input/setup/mnv_ex_loadkeymap.mnv | 1 + .../input/setup/mnv_ex_loadkeymap_after_bar.mnv | 1 + .../input/setup/mnv_ex_loadkeymap_after_colon.mnv | 1 + .../syntax/testdir/input/setup/mnv_ex_map.mnv | 1 + .../syntax/testdir/input/setup/mnv_ex_match.mnv | 1 + .../syntax/testdir/input/setup/mnv_ex_menu.mnv | 1 + .../syntax/testdir/input/setup/mnv_ex_redir.mnv | 2 + .../testdir/input/setup/mnv_ex_substitute.mnv | 1 + .../syntax/testdir/input/setup/mnv_ex_syntax.mnv | 2 + .../syntax/testdir/input/setup/mnv_expressions.mnv | 1 + .../testdir/input/setup/mnv_function_variables.mnv | 1 + .../syntax/testdir/input/setup/mnv_lambdas.mnv | 1 + .../testdir/input/setup/mnv_line_continuation.mnv | 1 + .../syntax/testdir/input/setup/mnv_variables.mnv | 1 + .../syntax/testdir/input/setup/vim9_blocks.vim | 1 - .../input/setup/vim9_builtin_object_methods2.vim | 1 - .../syntax/testdir/input/setup/vim9_comments.vim | 1 - .../testdir/input/setup/vim9_def_variables.vim | 1 - .../testdir/input/setup/vim9_ex_class_fold.vim | 1 - .../testdir/input/setup/vim9_ex_commands.vim | 1 - .../syntax/testdir/input/setup/vim9_ex_enum.vim | 1 - .../syntax/testdir/input/setup/vim9_ex_enum2.vim | 1 - .../syntax/testdir/input/setup/vim9_ex_for.vim | 1 - .../vim9_ex_function_def_tail_comment_errors.vim | 2 - .../setup/vim9_ex_function_def_tail_comments.vim | 2 - .../syntax/testdir/input/setup/vim9_ex_import.vim | 1 - .../testdir/input/setup/vim9_ex_interface_fold.vim | 1 - .../testdir/input/setup/vim9_ex_let_heredoc.vim | 2 - .../testdir/input/setup/vim9_ex_loadkeymap.vim | 1 - .../testdir/input/setup/vim9_expressions.vim | 1 - .../syntax/testdir/input/setup/vim9_lambdas.vim | 1 - .../testdir/input/setup/vim9_legacy_header.vim | 1 - .../input/setup/vim9_super_this_keywords.vim | 1 - .../input/setup/vim9_super_this_keywords2.vim | 1 - .../input/setup/vim9_super_this_keywords3.vim | 1 - .../syntax/testdir/input/setup/vim9_variables.vim | 1 - .../syntax/testdir/input/setup/vim_comments.vim | 1 - .../syntax/testdir/input/setup/vim_ex_call.vim | 1 - .../syntax/testdir/input/setup/vim_ex_command.vim | 1 - .../syntax/testdir/input/setup/vim_ex_commands.vim | 1 - .../syntax/testdir/input/setup/vim_ex_def.vim | 2 - .../syntax/testdir/input/setup/vim_ex_def_fold.vim | 2 - .../testdir/input/setup/vim_ex_def_nested.vim | 1 - .../testdir/input/setup/vim_ex_def_nested_fold.vim | 1 - .../syntax/testdir/input/setup/vim_ex_echo.vim | 1 - .../syntax/testdir/input/setup/vim_ex_execute.vim | 1 - .../syntax/testdir/input/setup/vim_ex_for.vim | 1 - .../syntax/testdir/input/setup/vim_ex_function.vim | 2 - .../vim_ex_function_def_tail_comment_errors.vim | 2 - .../setup/vim_ex_function_def_tail_comments.vim | 2 - .../testdir/input/setup/vim_ex_function_fold.vim | 2 - .../syntax/testdir/input/setup/vim_ex_import.vim | 1 - .../testdir/input/setup/vim_ex_let_heredoc.vim | 1 - .../testdir/input/setup/vim_ex_loadkeymap.vim | 1 - .../input/setup/vim_ex_loadkeymap_after_bar.vim | 1 - .../input/setup/vim_ex_loadkeymap_after_colon.vim | 1 - .../syntax/testdir/input/setup/vim_ex_map.vim | 1 - .../syntax/testdir/input/setup/vim_ex_match.vim | 1 - .../syntax/testdir/input/setup/vim_ex_menu.vim | 1 - .../syntax/testdir/input/setup/vim_ex_redir.vim | 2 - .../testdir/input/setup/vim_ex_substitute.vim | 1 - .../syntax/testdir/input/setup/vim_ex_syntax.vim | 2 - .../syntax/testdir/input/setup/vim_expressions.vim | 1 - .../testdir/input/setup/vim_function_variables.vim | 1 - .../syntax/testdir/input/setup/vim_lambdas.vim | 1 - .../testdir/input/setup/vim_line_continuation.vim | 1 - .../syntax/testdir/input/setup/vim_variables.vim | 1 - uvim/runtime/syntax/testdir/input/sh_09.sh | 2 +- uvim/runtime/syntax/testdir/input/sh_12.sh | 8 +- uvim/runtime/syntax/testdir/input/sh_13.sh | 2 +- .../syntax/testdir/input/sh_functions_bash.sh | 4 +- .../syntax/testdir/input/sh_functions_dash.sh | 4 +- .../syntax/testdir/input/sh_functions_ksh2020.sh | 4 +- .../syntax/testdir/input/sh_functions_ksh88.sh | 4 +- .../syntax/testdir/input/sh_functions_mksh.sh | 4 +- uvim/runtime/syntax/testdir/input/skhdrc.skhdrc | 2 +- .../syntax/testdir/input/sudoers_Defaults.sudoers | 6 +- uvim/runtime/syntax/testdir/input/tcsh.tcsh | 2 +- uvim/runtime/syntax/testdir/input/vim9_blocks.vim | 49 - .../testdir/input/vim9_builtin_object_methods.vim | 114 - .../testdir/input/vim9_builtin_object_methods2.vim | 58 - .../syntax/testdir/input/vim9_comment_strings.vim | 27 - .../runtime/syntax/testdir/input/vim9_comments.vim | 99 - .../syntax/testdir/input/vim9_constructors.vim | 18 - .../syntax/testdir/input/vim9_def_variables.vim | 226 - .../syntax/testdir/input/vim9_ex_class_fold.vim | 71 - .../syntax/testdir/input/vim9_ex_commands.vim | 1211 ----- uvim/runtime/syntax/testdir/input/vim9_ex_echo.vim | 36 - uvim/runtime/syntax/testdir/input/vim9_ex_enum.vim | 111 - .../runtime/syntax/testdir/input/vim9_ex_enum2.vim | 31 - .../syntax/testdir/input/vim9_ex_enum_fold.vim | 50 - uvim/runtime/syntax/testdir/input/vim9_ex_for.vim | 88 - .../vim9_ex_function_def_tail_comment_errors.vim | 45 - .../input/vim9_ex_function_def_tail_comments.vim | 45 - .../syntax/testdir/input/vim9_ex_import.vim | 120 - .../testdir/input/vim9_ex_interface_fold.vim | 38 - .../syntax/testdir/input/vim9_ex_let_heredoc.vim | 299 -- .../syntax/testdir/input/vim9_ex_loadkeymap.vim | 28 - uvim/runtime/syntax/testdir/input/vim9_ex_type.vim | 12 - .../syntax/testdir/input/vim9_expressions.vim | 215 - .../syntax/testdir/input/vim9_function_calls.vim | 317 -- .../input/vim9_generic_function_example_enum.vim | 36 - .../input/vim9_generic_function_example_list.vim | 215 - .../input/vim9_generic_function_example_set.vim | 177 - .../testdir/input/vim9_generic_functions.vim | 97 - uvim/runtime/syntax/testdir/input/vim9_lambdas.vim | 161 - .../syntax/testdir/input/vim9_legacy_header.vim | 20 - .../testdir/input/vim9_legacy_header_fold.vim | 22 - .../testdir/input/vim9_no_comment_strings.vim | 27 - uvim/runtime/syntax/testdir/input/vim9_shebang.vim | 8 - .../testdir/input/vim9_super_this_keywords.vim | 87 - .../testdir/input/vim9_super_this_keywords2.vim | 63 - .../testdir/input/vim9_super_this_keywords3.vim | 27 - uvim/runtime/syntax/testdir/input/vim9_tuples.vim | 25 - uvim/runtime/syntax/testdir/input/vim9_types.vim | 17 - .../testdir/input/vim9_types_example_object.vim | 29 - .../syntax/testdir/input/vim9_types_object.vim | 27 - .../syntax/testdir/input/vim9_variables.vim | 269 -- .../syntax/testdir/input/vim_comment_strings.vim | 22 - uvim/runtime/syntax/testdir/input/vim_comments.vim | 83 - .../syntax/testdir/input/vim_ex_abbreviate.vim | 54 - uvim/runtime/syntax/testdir/input/vim_ex_at.vim | 66 - .../syntax/testdir/input/vim_ex_augroup.vim | 71 - .../syntax/testdir/input/vim_ex_autocmd.vim | 257 - .../runtime/syntax/testdir/input/vim_ex_behave.vim | 9 - .../testdir/input/vim_ex_breakpoint_commands.vim | 95 - uvim/runtime/syntax/testdir/input/vim_ex_call.vim | 52 - uvim/runtime/syntax/testdir/input/vim_ex_catch.vim | 19 - uvim/runtime/syntax/testdir/input/vim_ex_cd.vim | 110 - .../syntax/testdir/input/vim_ex_command.vim | 196 - .../testdir/input/vim_ex_command_modifiers.vim | 135 - .../syntax/testdir/input/vim_ex_commands.vim | 1210 ----- uvim/runtime/syntax/testdir/input/vim_ex_debug.vim | 13 - .../syntax/testdir/input/vim_ex_debuggreedy.vim | 34 - uvim/runtime/syntax/testdir/input/vim_ex_def.vim | 126 - .../syntax/testdir/input/vim_ex_def_fold.vim | 185 - .../syntax/testdir/input/vim_ex_def_nested.vim | 23 - .../testdir/input/vim_ex_def_nested_fold.vim | 25 - .../testdir/input/vim_ex_def_return_type.vim | 60 - uvim/runtime/syntax/testdir/input/vim_ex_defer.vim | 17 - .../syntax/testdir/input/vim_ex_delfunction.vim | 34 - .../syntax/testdir/input/vim_ex_do_commands.vim | 58 - uvim/runtime/syntax/testdir/input/vim_ex_echo.vim | 58 - uvim/runtime/syntax/testdir/input/vim_ex_eval.vim | 20 - .../syntax/testdir/input/vim_ex_execute.vim | 64 - .../syntax/testdir/input/vim_ex_filetype.vim | 30 - .../runtime/syntax/testdir/input/vim_ex_filter.vim | 16 - uvim/runtime/syntax/testdir/input/vim_ex_for.vim | 60 - .../syntax/testdir/input/vim_ex_function.vim | 266 -- .../vim_ex_function_def_tail_comment_errors.vim | 45 - .../input/vim_ex_function_def_tail_comments.vim | 45 - .../syntax/testdir/input/vim_ex_function_fold.vim | 349 -- .../testdir/input/vim_ex_function_nested.vim | 40 - .../testdir/input/vim_ex_function_nested_fold.vim | 42 - uvim/runtime/syntax/testdir/input/vim_ex_grep.vim | 47 - uvim/runtime/syntax/testdir/input/vim_ex_help.vim | Bin 986 -> 0 bytes .../syntax/testdir/input/vim_ex_helpgrep.vim | 18 - .../syntax/testdir/input/vim_ex_highlight.vim | 108 - .../syntax/testdir/input/vim_ex_history.vim | 89 - .../runtime/syntax/testdir/input/vim_ex_import.vim | 119 - .../syntax/testdir/input/vim_ex_language.vim | 172 - .../syntax/testdir/input/vim_ex_let_heredoc.vim | 250 - .../syntax/testdir/input/vim_ex_loadkeymap.vim | 27 - .../testdir/input/vim_ex_loadkeymap_after_bar.vim | 11 - .../input/vim_ex_loadkeymap_after_colon.vim | 11 - uvim/runtime/syntax/testdir/input/vim_ex_lua.vim | 157 - uvim/runtime/syntax/testdir/input/vim_ex_make.vim | 38 - uvim/runtime/syntax/testdir/input/vim_ex_map.vim | 124 - uvim/runtime/syntax/testdir/input/vim_ex_mark.vim | 215 - uvim/runtime/syntax/testdir/input/vim_ex_match.vim | 64 - uvim/runtime/syntax/testdir/input/vim_ex_menu.vim | 88 - .../syntax/testdir/input/vim_ex_menutranslate.vim | 52 - .../syntax/testdir/input/vim_ex_mzscheme.vim | 157 - .../runtime/syntax/testdir/input/vim_ex_normal.vim | 30 - uvim/runtime/syntax/testdir/input/vim_ex_perl.vim | 157 - .../syntax/testdir/input/vim_ex_profile.vim | 48 - .../testdir/input/vim_ex_prompt_commands.vim | 46 - .../runtime/syntax/testdir/input/vim_ex_python.vim | 159 - uvim/runtime/syntax/testdir/input/vim_ex_range.vim | 90 - uvim/runtime/syntax/testdir/input/vim_ex_redir.vim | 71 - uvim/runtime/syntax/testdir/input/vim_ex_ruby.vim | 157 - uvim/runtime/syntax/testdir/input/vim_ex_set.vim | 131 - .../syntax/testdir/input/vim_ex_set_backslash.vim | 79 - uvim/runtime/syntax/testdir/input/vim_ex_sleep.vim | 13 - uvim/runtime/syntax/testdir/input/vim_ex_sort.vim | 64 - .../syntax/testdir/input/vim_ex_substitute.vim | 208 - .../runtime/syntax/testdir/input/vim_ex_syntax.vim | 377 -- .../syntax/testdir/input/vim_ex_syntime.vim | 38 - uvim/runtime/syntax/testdir/input/vim_ex_tcl.vim | 157 - .../syntax/testdir/input/vim_ex_terminal.vim | 69 - uvim/runtime/syntax/testdir/input/vim_ex_throw.vim | 7 - uvim/runtime/syntax/testdir/input/vim_ex_uniq.vim | 31 - .../syntax/testdir/input/vim_ex_vimgrep.vim | 69 - .../runtime/syntax/testdir/input/vim_ex_wincmd.vim | 67 - .../syntax/testdir/input/vim_expressions.vim | 426 -- .../syntax/testdir/input/vim_function_calls.vim | 277 -- .../testdir/input/vim_function_variables.vim | 414 -- .../syntax/testdir/input/vim_key_notation.vim | 166 - uvim/runtime/syntax/testdir/input/vim_lambdas.vim | 135 - .../syntax/testdir/input/vim_line_continuation.vim | 51 - uvim/runtime/syntax/testdir/input/vim_new.vim | 21 - .../testdir/input/vim_no_comment_strings.vim | 22 - .../syntax/testdir/input/vim_nvim_features.vim | 229 - .../testdir/input/vim_predefined_user_commands.vim | 21 - uvim/runtime/syntax/testdir/input/vim_shebang.vim | 5 - .../runtime/syntax/testdir/input/vim_variables.vim | 411 -- uvim/runtime/syntax/testdir/runtest.mnv | 623 +++ uvim/runtime/syntax/testdir/runtest.vim | 623 --- uvim/runtime/syntax/testdir/tools/maketestdeps | 12 +- .../syntax/testdir/tools/regenerate_screendumps.sh | 10 +- uvim/runtime/syntax/testdir/viewdumps.mnv | 24 + uvim/runtime/syntax/testdir/viewdumps.vim | 24 - uvim/runtime/syntax/tex.mnv | 1395 ++++++ uvim/runtime/syntax/tex.vim | 1395 ------ uvim/runtime/syntax/texinfo.mnv | 46 + uvim/runtime/syntax/texinfo.vim | 46 - uvim/runtime/syntax/texmf.mnv | 74 + uvim/runtime/syntax/texmf.vim | 74 - uvim/runtime/syntax/tf.mnv | 196 + uvim/runtime/syntax/tf.vim | 196 - uvim/runtime/syntax/thrift.mnv | 74 + uvim/runtime/syntax/thrift.vim | 74 - uvim/runtime/syntax/tiasm.mnv | 102 + uvim/runtime/syntax/tiasm.vim | 102 - uvim/runtime/syntax/tidy.mnv | 276 ++ uvim/runtime/syntax/tidy.vim | 276 -- uvim/runtime/syntax/tilde.mnv | 41 + uvim/runtime/syntax/tilde.vim | 41 - uvim/runtime/syntax/tli.mnv | 58 + uvim/runtime/syntax/tli.vim | 58 - uvim/runtime/syntax/tmux.mnv | 172 + uvim/runtime/syntax/tmux.vim | 172 - uvim/runtime/syntax/toml.mnv | 82 + uvim/runtime/syntax/toml.vim | 82 - uvim/runtime/syntax/tpp.mnv | 83 + uvim/runtime/syntax/tpp.vim | 83 - uvim/runtime/syntax/trasys.mnv | 160 + uvim/runtime/syntax/trasys.vim | 160 - uvim/runtime/syntax/treetop.mnv | 110 + uvim/runtime/syntax/treetop.vim | 110 - uvim/runtime/syntax/trustees.mnv | 44 + uvim/runtime/syntax/trustees.vim | 44 - uvim/runtime/syntax/tsalt.mnv | 206 + uvim/runtime/syntax/tsalt.vim | 206 - uvim/runtime/syntax/tsscl.mnv | 204 + uvim/runtime/syntax/tsscl.vim | 204 - uvim/runtime/syntax/tssgm.mnv | 98 + uvim/runtime/syntax/tssgm.vim | 98 - uvim/runtime/syntax/tssop.mnv | 74 + uvim/runtime/syntax/tssop.vim | 74 - uvim/runtime/syntax/tsv.mnv | 12 + uvim/runtime/syntax/tsv.vim | 12 - uvim/runtime/syntax/tt2.mnv | 209 + uvim/runtime/syntax/tt2.vim | 209 - uvim/runtime/syntax/tt2html.mnv | 22 + uvim/runtime/syntax/tt2html.vim | 22 - uvim/runtime/syntax/tt2js.mnv | 22 + uvim/runtime/syntax/tt2js.vim | 22 - uvim/runtime/syntax/tutor.mnv | 86 + uvim/runtime/syntax/tutor.vim | 86 - uvim/runtime/syntax/typescript.mnv | 47 + uvim/runtime/syntax/typescript.vim | 47 - uvim/runtime/syntax/typescriptreact.mnv | 161 + uvim/runtime/syntax/typescriptreact.vim | 161 - uvim/runtime/syntax/typst.mnv | 479 ++ uvim/runtime/syntax/typst.vim | 479 -- uvim/runtime/syntax/uc.mnv | 165 + uvim/runtime/syntax/uc.vim | 165 - uvim/runtime/syntax/uci.mnv | 33 + uvim/runtime/syntax/uci.vim | 33 - uvim/runtime/syntax/udevconf.mnv | 39 + uvim/runtime/syntax/udevconf.vim | 39 - uvim/runtime/syntax/udevperm.mnv | 69 + uvim/runtime/syntax/udevperm.vim | 69 - uvim/runtime/syntax/udevrules.mnv | 171 + uvim/runtime/syntax/udevrules.vim | 171 - uvim/runtime/syntax/uil.mnv | 75 + uvim/runtime/syntax/uil.vim | 75 - uvim/runtime/syntax/unison.mnv | 105 + uvim/runtime/syntax/unison.vim | 105 - uvim/runtime/syntax/updatedb.mnv | 41 + uvim/runtime/syntax/updatedb.vim | 41 - uvim/runtime/syntax/upstart.mnv | 111 + uvim/runtime/syntax/upstart.vim | 111 - uvim/runtime/syntax/upstreamdat.mnv | 305 ++ uvim/runtime/syntax/upstreamdat.vim | 305 -- uvim/runtime/syntax/upstreaminstalllog.mnv | 27 + uvim/runtime/syntax/upstreaminstalllog.vim | 27 - uvim/runtime/syntax/upstreamlog.mnv | 54 + uvim/runtime/syntax/upstreamlog.vim | 54 - uvim/runtime/syntax/upstreamrpt.mnv | 310 ++ uvim/runtime/syntax/upstreamrpt.vim | 310 -- uvim/runtime/syntax/urlshortcut.mnv | 14 + uvim/runtime/syntax/urlshortcut.vim | 14 - uvim/runtime/syntax/usserverlog.mnv | 60 + uvim/runtime/syntax/usserverlog.vim | 60 - uvim/runtime/syntax/usw2kagtlog.mnv | 54 + uvim/runtime/syntax/usw2kagtlog.vim | 54 - uvim/runtime/syntax/valgrind.mnv | 110 + uvim/runtime/syntax/valgrind.vim | 110 - uvim/runtime/syntax/vb.mnv | 375 ++ uvim/runtime/syntax/vb.vim | 375 -- uvim/runtime/syntax/vdf.mnv | 54 + uvim/runtime/syntax/vdf.vim | 54 - uvim/runtime/syntax/vera.mnv | 348 ++ uvim/runtime/syntax/vera.vim | 348 -- uvim/runtime/syntax/verilog.mnv | 119 + uvim/runtime/syntax/verilog.vim | 119 - uvim/runtime/syntax/verilogams.mnv | 132 + uvim/runtime/syntax/verilogams.vim | 132 - uvim/runtime/syntax/vgrindefs.mnv | 46 + uvim/runtime/syntax/vgrindefs.vim | 46 - uvim/runtime/syntax/vhdl.mnv | 268 ++ uvim/runtime/syntax/vhdl.vim | 268 -- uvim/runtime/syntax/vim.vim | 2931 ------------ uvim/runtime/syntax/viminfo.vim | 49 - uvim/runtime/syntax/vimnormal.vim | 16 - uvim/runtime/syntax/virata.mnv | 207 + uvim/runtime/syntax/virata.vim | 207 - uvim/runtime/syntax/vmasm.mnv | 238 + uvim/runtime/syntax/vmasm.vim | 238 - uvim/runtime/syntax/voscm.mnv | 94 + uvim/runtime/syntax/voscm.vim | 94 - uvim/runtime/syntax/vrml.mnv | 222 + uvim/runtime/syntax/vrml.vim | 222 - uvim/runtime/syntax/vroom.mnv | 110 + uvim/runtime/syntax/vroom.vim | 110 - uvim/runtime/syntax/vsejcl.mnv | 36 + uvim/runtime/syntax/vsejcl.vim | 36 - uvim/runtime/syntax/vue.mnv | 14 + uvim/runtime/syntax/vue.vim | 14 - uvim/runtime/syntax/wat.mnv | 97 + uvim/runtime/syntax/wat.vim | 97 - uvim/runtime/syntax/wdiff.mnv | 29 + uvim/runtime/syntax/wdiff.vim | 29 - uvim/runtime/syntax/wdl.mnv | 41 + uvim/runtime/syntax/wdl.vim | 41 - uvim/runtime/syntax/web.mnv | 32 + uvim/runtime/syntax/web.vim | 32 - uvim/runtime/syntax/webmacro.mnv | 67 + uvim/runtime/syntax/webmacro.vim | 67 - uvim/runtime/syntax/wget.mnv | 241 + uvim/runtime/syntax/wget.vim | 241 - uvim/runtime/syntax/wget2.mnv | 251 + uvim/runtime/syntax/wget2.vim | 251 - uvim/runtime/syntax/whitespace.mnv | 13 + uvim/runtime/syntax/whitespace.vim | 13 - uvim/runtime/syntax/winbatch.mnv | 174 + uvim/runtime/syntax/winbatch.vim | 174 - uvim/runtime/syntax/wks.mnv | 29 + uvim/runtime/syntax/wks.vim | 29 - uvim/runtime/syntax/wml.mnv | 150 + uvim/runtime/syntax/wml.vim | 150 - uvim/runtime/syntax/wsh.mnv | 45 + uvim/runtime/syntax/wsh.vim | 45 - uvim/runtime/syntax/wsml.mnv | 113 + uvim/runtime/syntax/wsml.vim | 113 - uvim/runtime/syntax/wvdial.mnv | 28 + uvim/runtime/syntax/wvdial.vim | 28 - uvim/runtime/syntax/xbl.mnv | 29 + uvim/runtime/syntax/xbl.vim | 29 - uvim/runtime/syntax/xcompose.mnv | 37 + uvim/runtime/syntax/xcompose.vim | 37 - uvim/runtime/syntax/xdefaults.mnv | 132 + uvim/runtime/syntax/xdefaults.vim | 132 - uvim/runtime/syntax/xf86conf.mnv | 207 + uvim/runtime/syntax/xf86conf.vim | 207 - uvim/runtime/syntax/xhtml.mnv | 11 + uvim/runtime/syntax/xhtml.vim | 11 - uvim/runtime/syntax/xinetd.mnv | 347 ++ uvim/runtime/syntax/xinetd.vim | 347 -- uvim/runtime/syntax/xkb.mnv | 79 + uvim/runtime/syntax/xkb.vim | 79 - uvim/runtime/syntax/xmath.mnv | 227 + uvim/runtime/syntax/xmath.vim | 227 - uvim/runtime/syntax/xml.mnv | 361 ++ uvim/runtime/syntax/xml.vim | 361 -- uvim/runtime/syntax/xmodmap.mnv | 677 +++ uvim/runtime/syntax/xmodmap.vim | 677 --- uvim/runtime/syntax/xpm.mnv | 154 + uvim/runtime/syntax/xpm.vim | 154 - uvim/runtime/syntax/xpm2.mnv | 153 + uvim/runtime/syntax/xpm2.vim | 153 - uvim/runtime/syntax/xquery.mnv | 82 + uvim/runtime/syntax/xquery.vim | 82 - uvim/runtime/syntax/xs.mnv | 3680 +++++++++++++++ uvim/runtime/syntax/xs.vim | 3680 --------------- uvim/runtime/syntax/xsd.mnv | 61 + uvim/runtime/syntax/xsd.vim | 61 - uvim/runtime/syntax/xslt.mnv | 71 + uvim/runtime/syntax/xslt.vim | 71 - uvim/runtime/syntax/xxd.mnv | 32 + uvim/runtime/syntax/xxd.vim | 32 - uvim/runtime/syntax/yacc.mnv | 121 + uvim/runtime/syntax/yacc.vim | 121 - uvim/runtime/syntax/yaml.mnv | 275 ++ uvim/runtime/syntax/yaml.vim | 275 -- uvim/runtime/syntax/z8a.mnv | 101 + uvim/runtime/syntax/z8a.vim | 101 - uvim/runtime/syntax/zathurarc.mnv | 37 + uvim/runtime/syntax/zathurarc.vim | 37 - uvim/runtime/syntax/zig.mnv | 297 ++ uvim/runtime/syntax/zig.vim | 297 -- uvim/runtime/syntax/zimbu.mnv | 161 + uvim/runtime/syntax/zimbu.vim | 161 - uvim/runtime/syntax/zir.mnv | 49 + uvim/runtime/syntax/zir.vim | 49 - uvim/runtime/syntax/zserio.mnv | 112 + uvim/runtime/syntax/zserio.vim | 112 - uvim/runtime/syntax/zsh.mnv | 361 ++ uvim/runtime/syntax/zsh.vim | 361 -- 3798 files changed, 195845 insertions(+), 195845 deletions(-) create mode 100644 uvim/runtime/syntax/2html.mnv delete mode 100644 uvim/runtime/syntax/2html.vim create mode 100644 uvim/runtime/syntax/8th.mnv delete mode 100644 uvim/runtime/syntax/8th.vim create mode 100644 uvim/runtime/syntax/a2ps.mnv delete mode 100644 uvim/runtime/syntax/a2ps.vim create mode 100644 uvim/runtime/syntax/a65.mnv delete mode 100644 uvim/runtime/syntax/a65.vim create mode 100644 uvim/runtime/syntax/aap.mnv delete mode 100644 uvim/runtime/syntax/aap.vim create mode 100644 uvim/runtime/syntax/abap.mnv delete mode 100644 uvim/runtime/syntax/abap.vim create mode 100644 uvim/runtime/syntax/abaqus.mnv delete mode 100644 uvim/runtime/syntax/abaqus.vim create mode 100644 uvim/runtime/syntax/abc.mnv delete mode 100644 uvim/runtime/syntax/abc.vim create mode 100644 uvim/runtime/syntax/abel.mnv delete mode 100644 uvim/runtime/syntax/abel.vim create mode 100644 uvim/runtime/syntax/abnf.mnv delete mode 100644 uvim/runtime/syntax/abnf.vim create mode 100644 uvim/runtime/syntax/acedb.mnv delete mode 100644 uvim/runtime/syntax/acedb.vim create mode 100644 uvim/runtime/syntax/ada.mnv delete mode 100644 uvim/runtime/syntax/ada.vim create mode 100644 uvim/runtime/syntax/aflex.mnv delete mode 100644 uvim/runtime/syntax/aflex.vim create mode 100644 uvim/runtime/syntax/ahdl.mnv delete mode 100644 uvim/runtime/syntax/ahdl.vim create mode 100644 uvim/runtime/syntax/aidl.mnv delete mode 100644 uvim/runtime/syntax/aidl.vim create mode 100644 uvim/runtime/syntax/alsaconf.mnv delete mode 100644 uvim/runtime/syntax/alsaconf.vim create mode 100644 uvim/runtime/syntax/amiga.mnv delete mode 100644 uvim/runtime/syntax/amiga.vim create mode 100644 uvim/runtime/syntax/aml.mnv delete mode 100644 uvim/runtime/syntax/aml.vim create mode 100644 uvim/runtime/syntax/ampl.mnv delete mode 100644 uvim/runtime/syntax/ampl.vim create mode 100644 uvim/runtime/syntax/ant.mnv delete mode 100644 uvim/runtime/syntax/ant.vim create mode 100644 uvim/runtime/syntax/antlr.mnv delete mode 100644 uvim/runtime/syntax/antlr.vim create mode 100644 uvim/runtime/syntax/antlr4.mnv delete mode 100644 uvim/runtime/syntax/antlr4.vim create mode 100644 uvim/runtime/syntax/apache.mnv delete mode 100644 uvim/runtime/syntax/apache.vim create mode 100644 uvim/runtime/syntax/apachestyle.mnv delete mode 100644 uvim/runtime/syntax/apachestyle.vim create mode 100644 uvim/runtime/syntax/apkbuild.mnv delete mode 100644 uvim/runtime/syntax/apkbuild.vim create mode 100644 uvim/runtime/syntax/aptconf.mnv delete mode 100644 uvim/runtime/syntax/aptconf.vim create mode 100644 uvim/runtime/syntax/arch.mnv delete mode 100644 uvim/runtime/syntax/arch.vim create mode 100644 uvim/runtime/syntax/arduino.mnv delete mode 100644 uvim/runtime/syntax/arduino.vim create mode 100644 uvim/runtime/syntax/art.mnv delete mode 100644 uvim/runtime/syntax/art.vim create mode 100644 uvim/runtime/syntax/asciidoc.mnv delete mode 100644 uvim/runtime/syntax/asciidoc.vim create mode 100644 uvim/runtime/syntax/asm.mnv delete mode 100644 uvim/runtime/syntax/asm.vim create mode 100644 uvim/runtime/syntax/asm68k.mnv delete mode 100644 uvim/runtime/syntax/asm68k.vim create mode 100644 uvim/runtime/syntax/asmh8300.mnv delete mode 100644 uvim/runtime/syntax/asmh8300.vim create mode 100644 uvim/runtime/syntax/asn.mnv delete mode 100644 uvim/runtime/syntax/asn.vim create mode 100644 uvim/runtime/syntax/aspperl.mnv delete mode 100644 uvim/runtime/syntax/aspperl.vim create mode 100644 uvim/runtime/syntax/aspvbs.mnv delete mode 100644 uvim/runtime/syntax/aspvbs.vim create mode 100644 uvim/runtime/syntax/asterisk.mnv delete mode 100644 uvim/runtime/syntax/asterisk.vim create mode 100644 uvim/runtime/syntax/asteriskvm.mnv delete mode 100644 uvim/runtime/syntax/asteriskvm.vim create mode 100644 uvim/runtime/syntax/astro.mnv delete mode 100644 uvim/runtime/syntax/astro.vim create mode 100644 uvim/runtime/syntax/asy.mnv delete mode 100644 uvim/runtime/syntax/asy.vim create mode 100644 uvim/runtime/syntax/atlas.mnv delete mode 100644 uvim/runtime/syntax/atlas.vim create mode 100644 uvim/runtime/syntax/autodoc.mnv delete mode 100644 uvim/runtime/syntax/autodoc.vim create mode 100644 uvim/runtime/syntax/autohotkey.mnv delete mode 100644 uvim/runtime/syntax/autohotkey.vim create mode 100644 uvim/runtime/syntax/autoit.mnv delete mode 100644 uvim/runtime/syntax/autoit.vim create mode 100644 uvim/runtime/syntax/automake.mnv delete mode 100644 uvim/runtime/syntax/automake.vim create mode 100644 uvim/runtime/syntax/autopkgtest.mnv delete mode 100644 uvim/runtime/syntax/autopkgtest.vim create mode 100644 uvim/runtime/syntax/ave.mnv delete mode 100644 uvim/runtime/syntax/ave.vim create mode 100644 uvim/runtime/syntax/avra.mnv delete mode 100644 uvim/runtime/syntax/avra.vim create mode 100644 uvim/runtime/syntax/awk.mnv delete mode 100644 uvim/runtime/syntax/awk.vim create mode 100644 uvim/runtime/syntax/ayacc.mnv delete mode 100644 uvim/runtime/syntax/ayacc.vim create mode 100644 uvim/runtime/syntax/b.mnv delete mode 100644 uvim/runtime/syntax/b.vim create mode 100644 uvim/runtime/syntax/baan.mnv delete mode 100644 uvim/runtime/syntax/baan.vim create mode 100644 uvim/runtime/syntax/bash.mnv delete mode 100644 uvim/runtime/syntax/bash.vim create mode 100644 uvim/runtime/syntax/basic.mnv delete mode 100644 uvim/runtime/syntax/basic.vim create mode 100644 uvim/runtime/syntax/bc.mnv delete mode 100644 uvim/runtime/syntax/bc.vim create mode 100644 uvim/runtime/syntax/bdf.mnv delete mode 100644 uvim/runtime/syntax/bdf.vim create mode 100644 uvim/runtime/syntax/bib.mnv delete mode 100644 uvim/runtime/syntax/bib.vim create mode 100644 uvim/runtime/syntax/bindzone.mnv delete mode 100644 uvim/runtime/syntax/bindzone.vim create mode 100644 uvim/runtime/syntax/bitbake.mnv delete mode 100644 uvim/runtime/syntax/bitbake.vim create mode 100644 uvim/runtime/syntax/blank.mnv delete mode 100644 uvim/runtime/syntax/blank.vim create mode 100644 uvim/runtime/syntax/bpftrace.mnv delete mode 100644 uvim/runtime/syntax/bpftrace.vim create mode 100644 uvim/runtime/syntax/bsdl.mnv delete mode 100644 uvim/runtime/syntax/bsdl.vim create mode 100644 uvim/runtime/syntax/bst.mnv delete mode 100644 uvim/runtime/syntax/bst.vim create mode 100644 uvim/runtime/syntax/btm.mnv delete mode 100644 uvim/runtime/syntax/btm.vim create mode 100644 uvim/runtime/syntax/bzl.mnv delete mode 100644 uvim/runtime/syntax/bzl.vim create mode 100644 uvim/runtime/syntax/bzr.mnv delete mode 100644 uvim/runtime/syntax/bzr.vim create mode 100644 uvim/runtime/syntax/c.mnv delete mode 100644 uvim/runtime/syntax/c.vim create mode 100644 uvim/runtime/syntax/cabal.mnv delete mode 100644 uvim/runtime/syntax/cabal.vim create mode 100644 uvim/runtime/syntax/cabalconfig.mnv delete mode 100644 uvim/runtime/syntax/cabalconfig.vim create mode 100644 uvim/runtime/syntax/cabalproject.mnv delete mode 100644 uvim/runtime/syntax/cabalproject.vim create mode 100644 uvim/runtime/syntax/calendar.mnv delete mode 100644 uvim/runtime/syntax/calendar.vim create mode 100644 uvim/runtime/syntax/cangjie.mnv delete mode 100644 uvim/runtime/syntax/cangjie.vim create mode 100644 uvim/runtime/syntax/catalog.mnv delete mode 100644 uvim/runtime/syntax/catalog.vim create mode 100644 uvim/runtime/syntax/cdl.mnv delete mode 100644 uvim/runtime/syntax/cdl.vim create mode 100644 uvim/runtime/syntax/cdrdaoconf.mnv delete mode 100644 uvim/runtime/syntax/cdrdaoconf.vim create mode 100644 uvim/runtime/syntax/cdrtoc.mnv delete mode 100644 uvim/runtime/syntax/cdrtoc.vim create mode 100644 uvim/runtime/syntax/cf.mnv delete mode 100644 uvim/runtime/syntax/cf.vim create mode 100644 uvim/runtime/syntax/cfg.mnv delete mode 100644 uvim/runtime/syntax/cfg.vim create mode 100644 uvim/runtime/syntax/cgdbrc.mnv delete mode 100644 uvim/runtime/syntax/cgdbrc.vim create mode 100644 uvim/runtime/syntax/ch.mnv delete mode 100644 uvim/runtime/syntax/ch.vim create mode 100644 uvim/runtime/syntax/chaiscript.mnv delete mode 100644 uvim/runtime/syntax/chaiscript.vim create mode 100644 uvim/runtime/syntax/change.mnv delete mode 100644 uvim/runtime/syntax/change.vim create mode 100644 uvim/runtime/syntax/changelog.mnv delete mode 100644 uvim/runtime/syntax/changelog.vim create mode 100644 uvim/runtime/syntax/chaskell.mnv delete mode 100644 uvim/runtime/syntax/chaskell.vim create mode 100644 uvim/runtime/syntax/chatito.mnv delete mode 100644 uvim/runtime/syntax/chatito.vim create mode 100644 uvim/runtime/syntax/cheetah.mnv delete mode 100644 uvim/runtime/syntax/cheetah.vim create mode 100644 uvim/runtime/syntax/chicken.mnv delete mode 100644 uvim/runtime/syntax/chicken.vim create mode 100644 uvim/runtime/syntax/chill.mnv delete mode 100644 uvim/runtime/syntax/chill.vim create mode 100644 uvim/runtime/syntax/chordpro.mnv delete mode 100644 uvim/runtime/syntax/chordpro.vim create mode 100644 uvim/runtime/syntax/chuck.mnv delete mode 100644 uvim/runtime/syntax/chuck.vim create mode 100644 uvim/runtime/syntax/cl.mnv delete mode 100644 uvim/runtime/syntax/cl.vim create mode 100644 uvim/runtime/syntax/clean.mnv delete mode 100644 uvim/runtime/syntax/clean.vim create mode 100644 uvim/runtime/syntax/clipper.mnv delete mode 100644 uvim/runtime/syntax/clipper.vim create mode 100644 uvim/runtime/syntax/clojure.mnv delete mode 100644 uvim/runtime/syntax/clojure.vim create mode 100644 uvim/runtime/syntax/cmacro.mnv delete mode 100644 uvim/runtime/syntax/cmacro.vim create mode 100644 uvim/runtime/syntax/cmake.mnv delete mode 100644 uvim/runtime/syntax/cmake.vim create mode 100644 uvim/runtime/syntax/cmakecache.mnv delete mode 100644 uvim/runtime/syntax/cmakecache.vim create mode 100644 uvim/runtime/syntax/cmod.mnv delete mode 100644 uvim/runtime/syntax/cmod.vim create mode 100644 uvim/runtime/syntax/cmusrc.mnv delete mode 100644 uvim/runtime/syntax/cmusrc.vim create mode 100644 uvim/runtime/syntax/cobol.mnv delete mode 100644 uvim/runtime/syntax/cobol.vim create mode 100644 uvim/runtime/syntax/coco.mnv delete mode 100644 uvim/runtime/syntax/coco.vim create mode 100644 uvim/runtime/syntax/codeowners.mnv delete mode 100644 uvim/runtime/syntax/codeowners.vim create mode 100644 uvim/runtime/syntax/colortest.mnv delete mode 100644 uvim/runtime/syntax/colortest.vim create mode 100644 uvim/runtime/syntax/conaryrecipe.mnv delete mode 100644 uvim/runtime/syntax/conaryrecipe.vim create mode 100644 uvim/runtime/syntax/conf.mnv delete mode 100644 uvim/runtime/syntax/conf.vim create mode 100644 uvim/runtime/syntax/config.mnv delete mode 100644 uvim/runtime/syntax/config.vim create mode 100644 uvim/runtime/syntax/confini.mnv delete mode 100644 uvim/runtime/syntax/confini.vim create mode 100644 uvim/runtime/syntax/context.mnv delete mode 100644 uvim/runtime/syntax/context.vim create mode 100644 uvim/runtime/syntax/cpp.mnv delete mode 100644 uvim/runtime/syntax/cpp.vim create mode 100644 uvim/runtime/syntax/crm.mnv delete mode 100644 uvim/runtime/syntax/crm.vim create mode 100644 uvim/runtime/syntax/crontab.mnv delete mode 100644 uvim/runtime/syntax/crontab.vim create mode 100644 uvim/runtime/syntax/cs.mnv delete mode 100644 uvim/runtime/syntax/cs.vim create mode 100644 uvim/runtime/syntax/csc.mnv delete mode 100644 uvim/runtime/syntax/csc.vim create mode 100644 uvim/runtime/syntax/csdl.mnv delete mode 100644 uvim/runtime/syntax/csdl.vim create mode 100644 uvim/runtime/syntax/csh.mnv delete mode 100644 uvim/runtime/syntax/csh.vim create mode 100644 uvim/runtime/syntax/csp.mnv delete mode 100644 uvim/runtime/syntax/csp.vim create mode 100644 uvim/runtime/syntax/css.mnv delete mode 100644 uvim/runtime/syntax/css.vim create mode 100644 uvim/runtime/syntax/csv.mnv delete mode 100644 uvim/runtime/syntax/csv.vim create mode 100644 uvim/runtime/syntax/cterm.mnv delete mode 100644 uvim/runtime/syntax/cterm.vim create mode 100644 uvim/runtime/syntax/ctrlh.mnv delete mode 100644 uvim/runtime/syntax/ctrlh.vim create mode 100644 uvim/runtime/syntax/cucumber.mnv delete mode 100644 uvim/runtime/syntax/cucumber.vim create mode 100644 uvim/runtime/syntax/cuda.mnv delete mode 100644 uvim/runtime/syntax/cuda.vim create mode 100644 uvim/runtime/syntax/cupl.mnv delete mode 100644 uvim/runtime/syntax/cupl.vim create mode 100644 uvim/runtime/syntax/cuplsim.mnv delete mode 100644 uvim/runtime/syntax/cuplsim.vim create mode 100644 uvim/runtime/syntax/cvs.mnv delete mode 100644 uvim/runtime/syntax/cvs.vim create mode 100644 uvim/runtime/syntax/cvsrc.mnv delete mode 100644 uvim/runtime/syntax/cvsrc.vim create mode 100644 uvim/runtime/syntax/cweb.mnv delete mode 100644 uvim/runtime/syntax/cweb.vim create mode 100644 uvim/runtime/syntax/cynlib.mnv delete mode 100644 uvim/runtime/syntax/cynlib.vim create mode 100644 uvim/runtime/syntax/cynpp.mnv delete mode 100644 uvim/runtime/syntax/cynpp.vim create mode 100644 uvim/runtime/syntax/d.mnv delete mode 100644 uvim/runtime/syntax/d.vim create mode 100644 uvim/runtime/syntax/dart.mnv delete mode 100644 uvim/runtime/syntax/dart.vim create mode 100644 uvim/runtime/syntax/datascript.mnv delete mode 100644 uvim/runtime/syntax/datascript.vim create mode 100644 uvim/runtime/syntax/dax.mnv delete mode 100644 uvim/runtime/syntax/dax.vim create mode 100644 uvim/runtime/syntax/dcd.mnv delete mode 100644 uvim/runtime/syntax/dcd.vim create mode 100644 uvim/runtime/syntax/dcl.mnv delete mode 100644 uvim/runtime/syntax/dcl.vim create mode 100644 uvim/runtime/syntax/deb822sources.mnv delete mode 100644 uvim/runtime/syntax/deb822sources.vim create mode 100644 uvim/runtime/syntax/debchangelog.mnv delete mode 100644 uvim/runtime/syntax/debchangelog.vim create mode 100644 uvim/runtime/syntax/debcontrol.mnv delete mode 100644 uvim/runtime/syntax/debcontrol.vim create mode 100644 uvim/runtime/syntax/debcopyright.mnv delete mode 100644 uvim/runtime/syntax/debcopyright.vim create mode 100644 uvim/runtime/syntax/debsources.mnv delete mode 100644 uvim/runtime/syntax/debsources.vim create mode 100644 uvim/runtime/syntax/def.mnv delete mode 100644 uvim/runtime/syntax/def.vim create mode 100644 uvim/runtime/syntax/denyhosts.mnv delete mode 100644 uvim/runtime/syntax/denyhosts.vim create mode 100644 uvim/runtime/syntax/dep3patch.mnv delete mode 100644 uvim/runtime/syntax/dep3patch.vim create mode 100644 uvim/runtime/syntax/desc.mnv delete mode 100644 uvim/runtime/syntax/desc.vim create mode 100644 uvim/runtime/syntax/desktop.mnv delete mode 100644 uvim/runtime/syntax/desktop.vim create mode 100644 uvim/runtime/syntax/dictconf.mnv delete mode 100644 uvim/runtime/syntax/dictconf.vim create mode 100644 uvim/runtime/syntax/dictdconf.mnv delete mode 100644 uvim/runtime/syntax/dictdconf.vim create mode 100644 uvim/runtime/syntax/diff.mnv delete mode 100644 uvim/runtime/syntax/diff.vim create mode 100644 uvim/runtime/syntax/dircolors.mnv delete mode 100644 uvim/runtime/syntax/dircolors.vim create mode 100644 uvim/runtime/syntax/dirpager.mnv delete mode 100644 uvim/runtime/syntax/dirpager.vim create mode 100644 uvim/runtime/syntax/diva.mnv delete mode 100644 uvim/runtime/syntax/diva.vim create mode 100644 uvim/runtime/syntax/django.mnv delete mode 100644 uvim/runtime/syntax/django.vim create mode 100644 uvim/runtime/syntax/dns.mnv delete mode 100644 uvim/runtime/syntax/dns.vim create mode 100644 uvim/runtime/syntax/dnsmasq.mnv delete mode 100644 uvim/runtime/syntax/dnsmasq.vim create mode 100644 uvim/runtime/syntax/docbk.mnv delete mode 100644 uvim/runtime/syntax/docbk.vim create mode 100644 uvim/runtime/syntax/docbksgml.mnv delete mode 100644 uvim/runtime/syntax/docbksgml.vim create mode 100644 uvim/runtime/syntax/docbkxml.mnv delete mode 100644 uvim/runtime/syntax/docbkxml.vim create mode 100644 uvim/runtime/syntax/dockerfile.mnv delete mode 100644 uvim/runtime/syntax/dockerfile.vim create mode 100644 uvim/runtime/syntax/dosbatch.mnv delete mode 100644 uvim/runtime/syntax/dosbatch.vim create mode 100644 uvim/runtime/syntax/dosini.mnv delete mode 100644 uvim/runtime/syntax/dosini.vim create mode 100644 uvim/runtime/syntax/dot.mnv delete mode 100644 uvim/runtime/syntax/dot.vim create mode 100644 uvim/runtime/syntax/doxygen.mnv delete mode 100644 uvim/runtime/syntax/doxygen.vim create mode 100644 uvim/runtime/syntax/dracula.mnv delete mode 100644 uvim/runtime/syntax/dracula.vim create mode 100644 uvim/runtime/syntax/dsl.mnv delete mode 100644 uvim/runtime/syntax/dsl.vim create mode 100644 uvim/runtime/syntax/dtd.mnv delete mode 100644 uvim/runtime/syntax/dtd.vim create mode 100644 uvim/runtime/syntax/dtml.mnv delete mode 100644 uvim/runtime/syntax/dtml.vim create mode 100644 uvim/runtime/syntax/dtrace.mnv delete mode 100644 uvim/runtime/syntax/dtrace.vim create mode 100644 uvim/runtime/syntax/dts.mnv delete mode 100644 uvim/runtime/syntax/dts.vim create mode 100644 uvim/runtime/syntax/dune.mnv delete mode 100644 uvim/runtime/syntax/dune.vim create mode 100644 uvim/runtime/syntax/dylan.mnv delete mode 100644 uvim/runtime/syntax/dylan.vim create mode 100644 uvim/runtime/syntax/dylanintr.mnv delete mode 100644 uvim/runtime/syntax/dylanintr.vim create mode 100644 uvim/runtime/syntax/dylanlid.mnv delete mode 100644 uvim/runtime/syntax/dylanlid.vim create mode 100644 uvim/runtime/syntax/ecd.mnv delete mode 100644 uvim/runtime/syntax/ecd.vim create mode 100644 uvim/runtime/syntax/edif.mnv delete mode 100644 uvim/runtime/syntax/edif.vim create mode 100644 uvim/runtime/syntax/editorconfig.mnv delete mode 100644 uvim/runtime/syntax/editorconfig.vim create mode 100644 uvim/runtime/syntax/eiffel.mnv delete mode 100644 uvim/runtime/syntax/eiffel.vim create mode 100644 uvim/runtime/syntax/elf.mnv delete mode 100644 uvim/runtime/syntax/elf.vim create mode 100644 uvim/runtime/syntax/elinks.mnv delete mode 100644 uvim/runtime/syntax/elinks.vim create mode 100644 uvim/runtime/syntax/elm.mnv delete mode 100644 uvim/runtime/syntax/elm.vim create mode 100644 uvim/runtime/syntax/elmfilt.mnv delete mode 100644 uvim/runtime/syntax/elmfilt.vim create mode 100644 uvim/runtime/syntax/env.mnv delete mode 100644 uvim/runtime/syntax/env.vim create mode 100644 uvim/runtime/syntax/erlang.mnv delete mode 100644 uvim/runtime/syntax/erlang.vim create mode 100644 uvim/runtime/syntax/eruby.mnv delete mode 100644 uvim/runtime/syntax/eruby.vim create mode 100644 uvim/runtime/syntax/esmtprc.mnv delete mode 100644 uvim/runtime/syntax/esmtprc.vim create mode 100644 uvim/runtime/syntax/esqlc.mnv delete mode 100644 uvim/runtime/syntax/esqlc.vim create mode 100644 uvim/runtime/syntax/esterel.mnv delete mode 100644 uvim/runtime/syntax/esterel.vim create mode 100644 uvim/runtime/syntax/eterm.mnv delete mode 100644 uvim/runtime/syntax/eterm.vim create mode 100644 uvim/runtime/syntax/euphoria3.mnv delete mode 100644 uvim/runtime/syntax/euphoria3.vim create mode 100644 uvim/runtime/syntax/euphoria4.mnv delete mode 100644 uvim/runtime/syntax/euphoria4.vim create mode 100644 uvim/runtime/syntax/eviews.mnv delete mode 100644 uvim/runtime/syntax/eviews.vim create mode 100644 uvim/runtime/syntax/exim.mnv delete mode 100644 uvim/runtime/syntax/exim.vim create mode 100644 uvim/runtime/syntax/expect.mnv delete mode 100644 uvim/runtime/syntax/expect.vim create mode 100644 uvim/runtime/syntax/exports.mnv delete mode 100644 uvim/runtime/syntax/exports.vim create mode 100644 uvim/runtime/syntax/falcon.mnv delete mode 100644 uvim/runtime/syntax/falcon.vim create mode 100644 uvim/runtime/syntax/fan.mnv delete mode 100644 uvim/runtime/syntax/fan.vim create mode 100644 uvim/runtime/syntax/fasm.mnv delete mode 100644 uvim/runtime/syntax/fasm.vim create mode 100644 uvim/runtime/syntax/fdcc.mnv delete mode 100644 uvim/runtime/syntax/fdcc.vim create mode 100644 uvim/runtime/syntax/fetchmail.mnv delete mode 100644 uvim/runtime/syntax/fetchmail.vim create mode 100644 uvim/runtime/syntax/fgl.mnv delete mode 100644 uvim/runtime/syntax/fgl.vim create mode 100644 uvim/runtime/syntax/fish.mnv delete mode 100644 uvim/runtime/syntax/fish.vim create mode 100644 uvim/runtime/syntax/flexwiki.mnv delete mode 100644 uvim/runtime/syntax/flexwiki.vim create mode 100644 uvim/runtime/syntax/focexec.mnv delete mode 100644 uvim/runtime/syntax/focexec.vim create mode 100644 uvim/runtime/syntax/form.mnv delete mode 100644 uvim/runtime/syntax/form.vim create mode 100644 uvim/runtime/syntax/forth.mnv delete mode 100644 uvim/runtime/syntax/forth.vim create mode 100644 uvim/runtime/syntax/fortran.mnv delete mode 100644 uvim/runtime/syntax/fortran.vim create mode 100644 uvim/runtime/syntax/foxpro.mnv delete mode 100644 uvim/runtime/syntax/foxpro.vim create mode 100644 uvim/runtime/syntax/fpcmake.mnv delete mode 100644 uvim/runtime/syntax/fpcmake.vim create mode 100644 uvim/runtime/syntax/framescript.mnv delete mode 100644 uvim/runtime/syntax/framescript.vim create mode 100644 uvim/runtime/syntax/freebasic.mnv delete mode 100644 uvim/runtime/syntax/freebasic.vim create mode 100644 uvim/runtime/syntax/fstab.mnv delete mode 100644 uvim/runtime/syntax/fstab.vim create mode 100644 uvim/runtime/syntax/fvwm.mnv delete mode 100644 uvim/runtime/syntax/fvwm.vim create mode 100644 uvim/runtime/syntax/fvwm2m4.mnv delete mode 100644 uvim/runtime/syntax/fvwm2m4.vim create mode 100644 uvim/runtime/syntax/gdb.mnv delete mode 100644 uvim/runtime/syntax/gdb.vim create mode 100644 uvim/runtime/syntax/gdmo.mnv delete mode 100644 uvim/runtime/syntax/gdmo.vim create mode 100644 uvim/runtime/syntax/gdresource.mnv delete mode 100644 uvim/runtime/syntax/gdresource.vim create mode 100644 uvim/runtime/syntax/gdscript.mnv delete mode 100644 uvim/runtime/syntax/gdscript.vim create mode 100644 uvim/runtime/syntax/gdshader.mnv delete mode 100644 uvim/runtime/syntax/gdshader.vim create mode 100644 uvim/runtime/syntax/gedcom.mnv delete mode 100644 uvim/runtime/syntax/gedcom.vim create mode 100644 uvim/runtime/syntax/gel.mnv delete mode 100644 uvim/runtime/syntax/gel.vim create mode 100644 uvim/runtime/syntax/gemtext.mnv delete mode 100644 uvim/runtime/syntax/gemtext.vim create mode 100644 uvim/runtime/syntax/generator/gen_syntax_mnv.mnv delete mode 100644 uvim/runtime/syntax/generator/gen_syntax_vim.vim create mode 100644 uvim/runtime/syntax/generator/mnv.mnv.base create mode 100644 uvim/runtime/syntax/generator/update_date.mnv delete mode 100644 uvim/runtime/syntax/generator/update_date.vim delete mode 100644 uvim/runtime/syntax/generator/vim.vim.base create mode 100644 uvim/runtime/syntax/gift.mnv delete mode 100644 uvim/runtime/syntax/gift.vim create mode 100644 uvim/runtime/syntax/git.mnv delete mode 100644 uvim/runtime/syntax/git.vim create mode 100644 uvim/runtime/syntax/gitattributes.mnv delete mode 100644 uvim/runtime/syntax/gitattributes.vim create mode 100644 uvim/runtime/syntax/gitcommit.mnv delete mode 100644 uvim/runtime/syntax/gitcommit.vim create mode 100644 uvim/runtime/syntax/gitconfig.mnv delete mode 100644 uvim/runtime/syntax/gitconfig.vim create mode 100644 uvim/runtime/syntax/gitignore.mnv delete mode 100644 uvim/runtime/syntax/gitignore.vim create mode 100644 uvim/runtime/syntax/gitolite.mnv delete mode 100644 uvim/runtime/syntax/gitolite.vim create mode 100644 uvim/runtime/syntax/gitrebase.mnv delete mode 100644 uvim/runtime/syntax/gitrebase.vim create mode 100644 uvim/runtime/syntax/gitsendemail.mnv delete mode 100644 uvim/runtime/syntax/gitsendemail.vim create mode 100644 uvim/runtime/syntax/gkrellmrc.mnv delete mode 100644 uvim/runtime/syntax/gkrellmrc.vim create mode 100644 uvim/runtime/syntax/gleam.mnv delete mode 100644 uvim/runtime/syntax/gleam.vim create mode 100644 uvim/runtime/syntax/glimmer.mnv delete mode 100644 uvim/runtime/syntax/glimmer.vim create mode 100644 uvim/runtime/syntax/glsl.mnv delete mode 100644 uvim/runtime/syntax/glsl.vim create mode 100644 uvim/runtime/syntax/gnash.mnv delete mode 100644 uvim/runtime/syntax/gnash.vim create mode 100644 uvim/runtime/syntax/gnuplot.mnv delete mode 100644 uvim/runtime/syntax/gnuplot.vim create mode 100644 uvim/runtime/syntax/go.mnv delete mode 100644 uvim/runtime/syntax/go.vim create mode 100644 uvim/runtime/syntax/goaccess.mnv delete mode 100644 uvim/runtime/syntax/goaccess.vim create mode 100644 uvim/runtime/syntax/godoc.mnv delete mode 100644 uvim/runtime/syntax/godoc.vim create mode 100644 uvim/runtime/syntax/gp.mnv delete mode 100644 uvim/runtime/syntax/gp.vim create mode 100644 uvim/runtime/syntax/gpg.mnv delete mode 100644 uvim/runtime/syntax/gpg.vim create mode 100644 uvim/runtime/syntax/gprof.mnv delete mode 100644 uvim/runtime/syntax/gprof.vim create mode 100644 uvim/runtime/syntax/grads.mnv delete mode 100644 uvim/runtime/syntax/grads.vim create mode 100644 uvim/runtime/syntax/graphql.mnv delete mode 100644 uvim/runtime/syntax/graphql.vim create mode 100644 uvim/runtime/syntax/gretl.mnv delete mode 100644 uvim/runtime/syntax/gretl.vim create mode 100644 uvim/runtime/syntax/groff.mnv delete mode 100644 uvim/runtime/syntax/groff.vim create mode 100644 uvim/runtime/syntax/groovy.mnv delete mode 100644 uvim/runtime/syntax/groovy.vim create mode 100644 uvim/runtime/syntax/group.mnv delete mode 100644 uvim/runtime/syntax/group.vim create mode 100644 uvim/runtime/syntax/grub.mnv delete mode 100644 uvim/runtime/syntax/grub.vim create mode 100644 uvim/runtime/syntax/gsp.mnv delete mode 100644 uvim/runtime/syntax/gsp.vim create mode 100644 uvim/runtime/syntax/gtkrc.mnv delete mode 100644 uvim/runtime/syntax/gtkrc.vim create mode 100644 uvim/runtime/syntax/gvpr.mnv delete mode 100644 uvim/runtime/syntax/gvpr.vim create mode 100644 uvim/runtime/syntax/gyp.mnv delete mode 100644 uvim/runtime/syntax/gyp.vim create mode 100644 uvim/runtime/syntax/haml.mnv delete mode 100644 uvim/runtime/syntax/haml.vim create mode 100644 uvim/runtime/syntax/hamster.mnv delete mode 100644 uvim/runtime/syntax/hamster.vim create mode 100644 uvim/runtime/syntax/handlebars.mnv delete mode 100644 uvim/runtime/syntax/handlebars.vim create mode 100644 uvim/runtime/syntax/hare.mnv delete mode 100644 uvim/runtime/syntax/hare.vim create mode 100644 uvim/runtime/syntax/haredoc.mnv delete mode 100644 uvim/runtime/syntax/haredoc.vim create mode 100644 uvim/runtime/syntax/haskell.mnv delete mode 100644 uvim/runtime/syntax/haskell.vim create mode 100644 uvim/runtime/syntax/haste.mnv delete mode 100644 uvim/runtime/syntax/haste.vim create mode 100644 uvim/runtime/syntax/hastepreproc.mnv delete mode 100644 uvim/runtime/syntax/hastepreproc.vim create mode 100644 uvim/runtime/syntax/hb.mnv delete mode 100644 uvim/runtime/syntax/hb.vim create mode 100644 uvim/runtime/syntax/hcl.mnv delete mode 100644 uvim/runtime/syntax/hcl.vim create mode 100644 uvim/runtime/syntax/help.mnv delete mode 100644 uvim/runtime/syntax/help.vim create mode 100644 uvim/runtime/syntax/help_it.mnv delete mode 100644 uvim/runtime/syntax/help_it.vim create mode 100644 uvim/runtime/syntax/help_ru.mnv delete mode 100644 uvim/runtime/syntax/help_ru.vim create mode 100644 uvim/runtime/syntax/hercules.mnv delete mode 100644 uvim/runtime/syntax/hercules.vim create mode 100644 uvim/runtime/syntax/hex.mnv delete mode 100644 uvim/runtime/syntax/hex.vim create mode 100644 uvim/runtime/syntax/hgcommit.mnv delete mode 100644 uvim/runtime/syntax/hgcommit.vim create mode 100644 uvim/runtime/syntax/hitest.mnv delete mode 100644 uvim/runtime/syntax/hitest.vim create mode 100644 uvim/runtime/syntax/hlsplaylist.mnv delete mode 100644 uvim/runtime/syntax/hlsplaylist.vim create mode 100644 uvim/runtime/syntax/hog.mnv delete mode 100644 uvim/runtime/syntax/hog.vim create mode 100644 uvim/runtime/syntax/hollywood.mnv delete mode 100644 uvim/runtime/syntax/hollywood.vim create mode 100644 uvim/runtime/syntax/hostconf.mnv delete mode 100644 uvim/runtime/syntax/hostconf.vim create mode 100644 uvim/runtime/syntax/hostsaccess.mnv delete mode 100644 uvim/runtime/syntax/hostsaccess.vim create mode 100644 uvim/runtime/syntax/html.mnv delete mode 100644 uvim/runtime/syntax/html.vim create mode 100644 uvim/runtime/syntax/htmlangular.mnv delete mode 100644 uvim/runtime/syntax/htmlangular.vim create mode 100644 uvim/runtime/syntax/htmlcheetah.mnv delete mode 100644 uvim/runtime/syntax/htmlcheetah.vim create mode 100644 uvim/runtime/syntax/htmldjango.mnv delete mode 100644 uvim/runtime/syntax/htmldjango.vim create mode 100644 uvim/runtime/syntax/htmlm4.mnv delete mode 100644 uvim/runtime/syntax/htmlm4.vim create mode 100644 uvim/runtime/syntax/htmlos.mnv delete mode 100644 uvim/runtime/syntax/htmlos.vim create mode 100644 uvim/runtime/syntax/hyprlang.mnv delete mode 100644 uvim/runtime/syntax/hyprlang.vim create mode 100644 uvim/runtime/syntax/i3config.mnv delete mode 100644 uvim/runtime/syntax/i3config.vim create mode 100644 uvim/runtime/syntax/ia64.mnv delete mode 100644 uvim/runtime/syntax/ia64.vim create mode 100644 uvim/runtime/syntax/ibasic.mnv delete mode 100644 uvim/runtime/syntax/ibasic.vim create mode 100644 uvim/runtime/syntax/icemenu.mnv delete mode 100644 uvim/runtime/syntax/icemenu.vim create mode 100644 uvim/runtime/syntax/icon.mnv delete mode 100644 uvim/runtime/syntax/icon.vim create mode 100644 uvim/runtime/syntax/idl.mnv delete mode 100644 uvim/runtime/syntax/idl.vim create mode 100644 uvim/runtime/syntax/idlang.mnv delete mode 100644 uvim/runtime/syntax/idlang.vim create mode 100644 uvim/runtime/syntax/idris2.mnv delete mode 100644 uvim/runtime/syntax/idris2.vim create mode 100644 uvim/runtime/syntax/indent.mnv delete mode 100644 uvim/runtime/syntax/indent.vim create mode 100644 uvim/runtime/syntax/inform.mnv delete mode 100644 uvim/runtime/syntax/inform.vim create mode 100644 uvim/runtime/syntax/initex.mnv delete mode 100644 uvim/runtime/syntax/initex.vim create mode 100644 uvim/runtime/syntax/initng.mnv delete mode 100644 uvim/runtime/syntax/initng.vim create mode 100644 uvim/runtime/syntax/inittab.mnv delete mode 100644 uvim/runtime/syntax/inittab.vim create mode 100644 uvim/runtime/syntax/ipfilter.mnv delete mode 100644 uvim/runtime/syntax/ipfilter.vim create mode 100644 uvim/runtime/syntax/ipkg.mnv delete mode 100644 uvim/runtime/syntax/ipkg.vim create mode 100644 uvim/runtime/syntax/ishd.mnv delete mode 100644 uvim/runtime/syntax/ishd.vim create mode 100644 uvim/runtime/syntax/iss.mnv delete mode 100644 uvim/runtime/syntax/iss.vim create mode 100644 uvim/runtime/syntax/ist.mnv delete mode 100644 uvim/runtime/syntax/ist.vim create mode 100644 uvim/runtime/syntax/j.mnv delete mode 100644 uvim/runtime/syntax/j.vim create mode 100644 uvim/runtime/syntax/jal.mnv delete mode 100644 uvim/runtime/syntax/jal.vim create mode 100644 uvim/runtime/syntax/jam.mnv delete mode 100644 uvim/runtime/syntax/jam.vim create mode 100644 uvim/runtime/syntax/jargon.mnv delete mode 100644 uvim/runtime/syntax/jargon.vim create mode 100644 uvim/runtime/syntax/java.mnv delete mode 100644 uvim/runtime/syntax/java.vim create mode 100644 uvim/runtime/syntax/javacc.mnv delete mode 100644 uvim/runtime/syntax/javacc.vim create mode 100644 uvim/runtime/syntax/javascript.mnv delete mode 100644 uvim/runtime/syntax/javascript.vim create mode 100644 uvim/runtime/syntax/javascriptreact.mnv delete mode 100644 uvim/runtime/syntax/javascriptreact.vim create mode 100644 uvim/runtime/syntax/jess.mnv delete mode 100644 uvim/runtime/syntax/jess.vim create mode 100644 uvim/runtime/syntax/jgraph.mnv delete mode 100644 uvim/runtime/syntax/jgraph.vim create mode 100644 uvim/runtime/syntax/jinja.mnv delete mode 100644 uvim/runtime/syntax/jinja.vim create mode 100644 uvim/runtime/syntax/jjdescription.mnv delete mode 100644 uvim/runtime/syntax/jjdescription.vim create mode 100644 uvim/runtime/syntax/jovial.mnv delete mode 100644 uvim/runtime/syntax/jovial.vim create mode 100644 uvim/runtime/syntax/jproperties.mnv delete mode 100644 uvim/runtime/syntax/jproperties.vim create mode 100644 uvim/runtime/syntax/jq.mnv delete mode 100644 uvim/runtime/syntax/jq.vim create mode 100644 uvim/runtime/syntax/json.mnv delete mode 100644 uvim/runtime/syntax/json.vim create mode 100644 uvim/runtime/syntax/json5.mnv delete mode 100644 uvim/runtime/syntax/json5.vim create mode 100644 uvim/runtime/syntax/jsonc.mnv delete mode 100644 uvim/runtime/syntax/jsonc.vim create mode 100644 uvim/runtime/syntax/jsp.mnv delete mode 100644 uvim/runtime/syntax/jsp.vim create mode 100644 uvim/runtime/syntax/julia.mnv delete mode 100644 uvim/runtime/syntax/julia.vim create mode 100644 uvim/runtime/syntax/just.mnv delete mode 100644 uvim/runtime/syntax/just.vim create mode 100644 uvim/runtime/syntax/karel.mnv delete mode 100644 uvim/runtime/syntax/karel.vim create mode 100644 uvim/runtime/syntax/kconfig.mnv delete mode 100644 uvim/runtime/syntax/kconfig.vim create mode 100644 uvim/runtime/syntax/kdl.mnv delete mode 100644 uvim/runtime/syntax/kdl.vim create mode 100644 uvim/runtime/syntax/kitty.mnv delete mode 100644 uvim/runtime/syntax/kitty.vim create mode 100644 uvim/runtime/syntax/kivy.mnv delete mode 100644 uvim/runtime/syntax/kivy.vim create mode 100644 uvim/runtime/syntax/kix.mnv delete mode 100644 uvim/runtime/syntax/kix.vim create mode 100644 uvim/runtime/syntax/kotlin.mnv delete mode 100644 uvim/runtime/syntax/kotlin.vim create mode 100644 uvim/runtime/syntax/krl.mnv delete mode 100644 uvim/runtime/syntax/krl.vim create mode 100644 uvim/runtime/syntax/kscript.mnv delete mode 100644 uvim/runtime/syntax/kscript.vim create mode 100644 uvim/runtime/syntax/kwt.mnv delete mode 100644 uvim/runtime/syntax/kwt.vim create mode 100644 uvim/runtime/syntax/lace.mnv delete mode 100644 uvim/runtime/syntax/lace.vim create mode 100644 uvim/runtime/syntax/latte.mnv delete mode 100644 uvim/runtime/syntax/latte.vim create mode 100644 uvim/runtime/syntax/lc.mnv delete mode 100644 uvim/runtime/syntax/lc.vim create mode 100644 uvim/runtime/syntax/ld.mnv delete mode 100644 uvim/runtime/syntax/ld.vim create mode 100644 uvim/runtime/syntax/ldapconf.mnv delete mode 100644 uvim/runtime/syntax/ldapconf.vim create mode 100644 uvim/runtime/syntax/ldif.mnv delete mode 100644 uvim/runtime/syntax/ldif.vim create mode 100644 uvim/runtime/syntax/leex.mnv delete mode 100644 uvim/runtime/syntax/leex.vim create mode 100644 uvim/runtime/syntax/less.mnv delete mode 100644 uvim/runtime/syntax/less.vim create mode 100644 uvim/runtime/syntax/lex.mnv delete mode 100644 uvim/runtime/syntax/lex.vim create mode 100644 uvim/runtime/syntax/lf.mnv delete mode 100644 uvim/runtime/syntax/lf.vim create mode 100644 uvim/runtime/syntax/lftp.mnv delete mode 100644 uvim/runtime/syntax/lftp.vim create mode 100644 uvim/runtime/syntax/lhaskell.mnv delete mode 100644 uvim/runtime/syntax/lhaskell.vim create mode 100644 uvim/runtime/syntax/libao.mnv delete mode 100644 uvim/runtime/syntax/libao.vim create mode 100644 uvim/runtime/syntax/lidris2.mnv delete mode 100644 uvim/runtime/syntax/lidris2.vim create mode 100644 uvim/runtime/syntax/lifelines.mnv delete mode 100644 uvim/runtime/syntax/lifelines.vim create mode 100644 uvim/runtime/syntax/lilo.mnv delete mode 100644 uvim/runtime/syntax/lilo.vim create mode 100644 uvim/runtime/syntax/limits.mnv delete mode 100644 uvim/runtime/syntax/limits.vim create mode 100644 uvim/runtime/syntax/liquid.mnv delete mode 100644 uvim/runtime/syntax/liquid.vim create mode 100644 uvim/runtime/syntax/lisp.mnv delete mode 100644 uvim/runtime/syntax/lisp.vim create mode 100644 uvim/runtime/syntax/lite.mnv delete mode 100644 uvim/runtime/syntax/lite.vim create mode 100644 uvim/runtime/syntax/litestep.mnv delete mode 100644 uvim/runtime/syntax/litestep.vim create mode 100644 uvim/runtime/syntax/livebook.mnv delete mode 100644 uvim/runtime/syntax/livebook.vim create mode 100644 uvim/runtime/syntax/lnk.mnv delete mode 100644 uvim/runtime/syntax/lnk.vim create mode 100644 uvim/runtime/syntax/lnkmap.mnv delete mode 100644 uvim/runtime/syntax/lnkmap.vim create mode 100644 uvim/runtime/syntax/log.mnv delete mode 100644 uvim/runtime/syntax/log.vim create mode 100644 uvim/runtime/syntax/loginaccess.mnv delete mode 100644 uvim/runtime/syntax/loginaccess.vim create mode 100644 uvim/runtime/syntax/logindefs.mnv delete mode 100644 uvim/runtime/syntax/logindefs.vim create mode 100644 uvim/runtime/syntax/logtalk.mnv delete mode 100644 uvim/runtime/syntax/logtalk.vim create mode 100644 uvim/runtime/syntax/lotos.mnv delete mode 100644 uvim/runtime/syntax/lotos.vim create mode 100644 uvim/runtime/syntax/lout.mnv delete mode 100644 uvim/runtime/syntax/lout.vim create mode 100644 uvim/runtime/syntax/lpc.mnv delete mode 100644 uvim/runtime/syntax/lpc.vim create mode 100644 uvim/runtime/syntax/lprolog.mnv delete mode 100644 uvim/runtime/syntax/lprolog.vim create mode 100644 uvim/runtime/syntax/lscript.mnv delete mode 100644 uvim/runtime/syntax/lscript.vim create mode 100644 uvim/runtime/syntax/lsl.mnv delete mode 100644 uvim/runtime/syntax/lsl.vim create mode 100644 uvim/runtime/syntax/lss.mnv delete mode 100644 uvim/runtime/syntax/lss.vim create mode 100644 uvim/runtime/syntax/lua.mnv delete mode 100644 uvim/runtime/syntax/lua.vim create mode 100644 uvim/runtime/syntax/luau.mnv delete mode 100644 uvim/runtime/syntax/luau.vim create mode 100644 uvim/runtime/syntax/lynx.mnv delete mode 100644 uvim/runtime/syntax/lynx.vim create mode 100644 uvim/runtime/syntax/lyrics.mnv delete mode 100644 uvim/runtime/syntax/lyrics.vim create mode 100644 uvim/runtime/syntax/m17ndb.mnv delete mode 100644 uvim/runtime/syntax/m17ndb.vim create mode 100644 uvim/runtime/syntax/m3build.mnv delete mode 100644 uvim/runtime/syntax/m3build.vim create mode 100644 uvim/runtime/syntax/m3quake.mnv delete mode 100644 uvim/runtime/syntax/m3quake.vim create mode 100644 uvim/runtime/syntax/m4.mnv delete mode 100644 uvim/runtime/syntax/m4.vim create mode 100644 uvim/runtime/syntax/mail.mnv delete mode 100644 uvim/runtime/syntax/mail.vim create mode 100644 uvim/runtime/syntax/mailaliases.mnv delete mode 100644 uvim/runtime/syntax/mailaliases.vim create mode 100644 uvim/runtime/syntax/mailcap.mnv delete mode 100644 uvim/runtime/syntax/mailcap.vim create mode 100644 uvim/runtime/syntax/make.mnv delete mode 100644 uvim/runtime/syntax/make.vim create mode 100644 uvim/runtime/syntax/mallard.mnv delete mode 100644 uvim/runtime/syntax/mallard.vim create mode 100644 uvim/runtime/syntax/man.mnv delete mode 100644 uvim/runtime/syntax/man.vim create mode 100644 uvim/runtime/syntax/manconf.mnv delete mode 100644 uvim/runtime/syntax/manconf.vim create mode 100644 uvim/runtime/syntax/manual.mnv delete mode 100644 uvim/runtime/syntax/manual.vim create mode 100644 uvim/runtime/syntax/maple.mnv delete mode 100644 uvim/runtime/syntax/maple.vim create mode 100644 uvim/runtime/syntax/markdown.mnv delete mode 100644 uvim/runtime/syntax/markdown.vim create mode 100644 uvim/runtime/syntax/masm.mnv delete mode 100644 uvim/runtime/syntax/masm.vim create mode 100644 uvim/runtime/syntax/mason.mnv delete mode 100644 uvim/runtime/syntax/mason.vim create mode 100644 uvim/runtime/syntax/master.mnv delete mode 100644 uvim/runtime/syntax/master.vim create mode 100644 uvim/runtime/syntax/matlab.mnv delete mode 100644 uvim/runtime/syntax/matlab.vim create mode 100644 uvim/runtime/syntax/maxima.mnv delete mode 100644 uvim/runtime/syntax/maxima.vim create mode 100644 uvim/runtime/syntax/mbsync.mnv delete mode 100644 uvim/runtime/syntax/mbsync.vim create mode 100644 uvim/runtime/syntax/mediawiki.mnv delete mode 100644 uvim/runtime/syntax/mediawiki.vim create mode 100644 uvim/runtime/syntax/mel.mnv delete mode 100644 uvim/runtime/syntax/mel.vim create mode 100644 uvim/runtime/syntax/mermaid.mnv delete mode 100644 uvim/runtime/syntax/mermaid.vim create mode 100644 uvim/runtime/syntax/meson.mnv delete mode 100644 uvim/runtime/syntax/meson.vim create mode 100644 uvim/runtime/syntax/messages.mnv delete mode 100644 uvim/runtime/syntax/messages.vim create mode 100644 uvim/runtime/syntax/mf.mnv delete mode 100644 uvim/runtime/syntax/mf.vim create mode 100644 uvim/runtime/syntax/mgl.mnv delete mode 100644 uvim/runtime/syntax/mgl.vim create mode 100644 uvim/runtime/syntax/mgp.mnv delete mode 100644 uvim/runtime/syntax/mgp.vim create mode 100644 uvim/runtime/syntax/mib.mnv delete mode 100644 uvim/runtime/syntax/mib.vim create mode 100644 uvim/runtime/syntax/mix.mnv delete mode 100644 uvim/runtime/syntax/mix.vim create mode 100644 uvim/runtime/syntax/mma.mnv delete mode 100644 uvim/runtime/syntax/mma.vim create mode 100644 uvim/runtime/syntax/mmix.mnv delete mode 100644 uvim/runtime/syntax/mmix.vim create mode 100644 uvim/runtime/syntax/mmp.mnv delete mode 100644 uvim/runtime/syntax/mmp.vim create mode 100644 uvim/runtime/syntax/mnv.mnv create mode 100644 uvim/runtime/syntax/mnvinfo.mnv create mode 100644 uvim/runtime/syntax/mnvnormal.mnv create mode 100644 uvim/runtime/syntax/modconf.mnv delete mode 100644 uvim/runtime/syntax/modconf.vim create mode 100644 uvim/runtime/syntax/model.mnv delete mode 100644 uvim/runtime/syntax/model.vim create mode 100644 uvim/runtime/syntax/modsim3.mnv delete mode 100644 uvim/runtime/syntax/modsim3.vim create mode 100644 uvim/runtime/syntax/modula2.mnv delete mode 100644 uvim/runtime/syntax/modula2.vim create mode 100644 uvim/runtime/syntax/modula2/opt/iso.mnv delete mode 100644 uvim/runtime/syntax/modula2/opt/iso.vim create mode 100644 uvim/runtime/syntax/modula2/opt/pim.mnv delete mode 100644 uvim/runtime/syntax/modula2/opt/pim.vim create mode 100644 uvim/runtime/syntax/modula2/opt/r10.mnv delete mode 100644 uvim/runtime/syntax/modula2/opt/r10.vim create mode 100644 uvim/runtime/syntax/modula3.mnv delete mode 100644 uvim/runtime/syntax/modula3.vim create mode 100644 uvim/runtime/syntax/mojo.mnv delete mode 100644 uvim/runtime/syntax/mojo.vim create mode 100644 uvim/runtime/syntax/monk.mnv delete mode 100644 uvim/runtime/syntax/monk.vim create mode 100644 uvim/runtime/syntax/moo.mnv delete mode 100644 uvim/runtime/syntax/moo.vim create mode 100644 uvim/runtime/syntax/mp.mnv delete mode 100644 uvim/runtime/syntax/mp.vim create mode 100644 uvim/runtime/syntax/mplayerconf.mnv delete mode 100644 uvim/runtime/syntax/mplayerconf.vim create mode 100644 uvim/runtime/syntax/mrxvtrc.mnv delete mode 100644 uvim/runtime/syntax/mrxvtrc.vim create mode 100644 uvim/runtime/syntax/msidl.mnv delete mode 100644 uvim/runtime/syntax/msidl.vim create mode 100644 uvim/runtime/syntax/msmessages.mnv delete mode 100644 uvim/runtime/syntax/msmessages.vim create mode 100644 uvim/runtime/syntax/msql.mnv delete mode 100644 uvim/runtime/syntax/msql.vim create mode 100644 uvim/runtime/syntax/mss.mnv delete mode 100644 uvim/runtime/syntax/mss.vim create mode 100644 uvim/runtime/syntax/mupad.mnv delete mode 100644 uvim/runtime/syntax/mupad.vim create mode 100644 uvim/runtime/syntax/murphi.mnv delete mode 100644 uvim/runtime/syntax/murphi.vim create mode 100644 uvim/runtime/syntax/mush.mnv delete mode 100644 uvim/runtime/syntax/mush.vim create mode 100644 uvim/runtime/syntax/muttrc.mnv delete mode 100644 uvim/runtime/syntax/muttrc.vim create mode 100644 uvim/runtime/syntax/mysql.mnv delete mode 100644 uvim/runtime/syntax/mysql.vim create mode 100644 uvim/runtime/syntax/n1ql.mnv delete mode 100644 uvim/runtime/syntax/n1ql.vim create mode 100644 uvim/runtime/syntax/named.mnv delete mode 100644 uvim/runtime/syntax/named.vim create mode 100644 uvim/runtime/syntax/nanorc.mnv delete mode 100644 uvim/runtime/syntax/nanorc.vim create mode 100644 uvim/runtime/syntax/nasm.mnv delete mode 100644 uvim/runtime/syntax/nasm.vim create mode 100644 uvim/runtime/syntax/nastran.mnv delete mode 100644 uvim/runtime/syntax/nastran.vim create mode 100644 uvim/runtime/syntax/natural.mnv delete mode 100644 uvim/runtime/syntax/natural.vim create mode 100644 uvim/runtime/syntax/ncf.mnv delete mode 100644 uvim/runtime/syntax/ncf.vim create mode 100644 uvim/runtime/syntax/neomuttlog.mnv delete mode 100644 uvim/runtime/syntax/neomuttlog.vim create mode 100644 uvim/runtime/syntax/neomuttrc.mnv delete mode 100644 uvim/runtime/syntax/neomuttrc.vim create mode 100644 uvim/runtime/syntax/netrc.mnv delete mode 100644 uvim/runtime/syntax/netrc.vim create mode 100644 uvim/runtime/syntax/nginx.mnv delete mode 100644 uvim/runtime/syntax/nginx.vim create mode 100644 uvim/runtime/syntax/ninja.mnv delete mode 100644 uvim/runtime/syntax/ninja.vim create mode 100644 uvim/runtime/syntax/nix.mnv delete mode 100644 uvim/runtime/syntax/nix.vim create mode 100644 uvim/runtime/syntax/nosyntax.mnv delete mode 100644 uvim/runtime/syntax/nosyntax.vim create mode 100644 uvim/runtime/syntax/nqc.mnv delete mode 100644 uvim/runtime/syntax/nqc.vim create mode 100644 uvim/runtime/syntax/nroff.mnv delete mode 100644 uvim/runtime/syntax/nroff.vim create mode 100644 uvim/runtime/syntax/nsis.mnv delete mode 100644 uvim/runtime/syntax/nsis.vim create mode 100644 uvim/runtime/syntax/nu.mnv delete mode 100644 uvim/runtime/syntax/nu.vim create mode 100644 uvim/runtime/syntax/obj.mnv delete mode 100644 uvim/runtime/syntax/obj.vim create mode 100644 uvim/runtime/syntax/objc.mnv delete mode 100644 uvim/runtime/syntax/objc.vim create mode 100644 uvim/runtime/syntax/objcpp.mnv delete mode 100644 uvim/runtime/syntax/objcpp.vim create mode 100644 uvim/runtime/syntax/obse.mnv delete mode 100644 uvim/runtime/syntax/obse.vim create mode 100644 uvim/runtime/syntax/ocaml.mnv delete mode 100644 uvim/runtime/syntax/ocaml.vim create mode 100644 uvim/runtime/syntax/occam.mnv delete mode 100644 uvim/runtime/syntax/occam.vim create mode 100644 uvim/runtime/syntax/odin.mnv delete mode 100644 uvim/runtime/syntax/odin.vim create mode 100644 uvim/runtime/syntax/omnimark.mnv delete mode 100644 uvim/runtime/syntax/omnimark.vim create mode 100644 uvim/runtime/syntax/ondir.mnv delete mode 100644 uvim/runtime/syntax/ondir.vim create mode 100644 uvim/runtime/syntax/opam.mnv delete mode 100644 uvim/runtime/syntax/opam.vim create mode 100644 uvim/runtime/syntax/opencl.mnv delete mode 100644 uvim/runtime/syntax/opencl.vim create mode 100644 uvim/runtime/syntax/openroad.mnv delete mode 100644 uvim/runtime/syntax/openroad.vim create mode 100644 uvim/runtime/syntax/openscad.mnv delete mode 100644 uvim/runtime/syntax/openscad.vim create mode 100644 uvim/runtime/syntax/openvpn.mnv delete mode 100644 uvim/runtime/syntax/openvpn.vim create mode 100644 uvim/runtime/syntax/opl.mnv delete mode 100644 uvim/runtime/syntax/opl.vim create mode 100644 uvim/runtime/syntax/ora.mnv delete mode 100644 uvim/runtime/syntax/ora.vim create mode 100644 uvim/runtime/syntax/org.mnv delete mode 100644 uvim/runtime/syntax/org.vim create mode 100644 uvim/runtime/syntax/pacmanlog.mnv delete mode 100644 uvim/runtime/syntax/pacmanlog.vim create mode 100644 uvim/runtime/syntax/pamconf.mnv delete mode 100644 uvim/runtime/syntax/pamconf.vim create mode 100644 uvim/runtime/syntax/pamenv.mnv delete mode 100644 uvim/runtime/syntax/pamenv.vim create mode 100644 uvim/runtime/syntax/pandoc.mnv delete mode 100644 uvim/runtime/syntax/pandoc.vim create mode 100644 uvim/runtime/syntax/papp.mnv delete mode 100644 uvim/runtime/syntax/papp.vim create mode 100644 uvim/runtime/syntax/pascal.mnv delete mode 100644 uvim/runtime/syntax/pascal.vim create mode 100644 uvim/runtime/syntax/passwd.mnv delete mode 100644 uvim/runtime/syntax/passwd.vim create mode 100644 uvim/runtime/syntax/pbtxt.mnv delete mode 100644 uvim/runtime/syntax/pbtxt.vim create mode 100644 uvim/runtime/syntax/pcap.mnv delete mode 100644 uvim/runtime/syntax/pcap.vim create mode 100644 uvim/runtime/syntax/pccts.mnv delete mode 100644 uvim/runtime/syntax/pccts.vim create mode 100644 uvim/runtime/syntax/pdf.mnv delete mode 100644 uvim/runtime/syntax/pdf.vim create mode 100644 uvim/runtime/syntax/perl.mnv delete mode 100644 uvim/runtime/syntax/perl.vim create mode 100644 uvim/runtime/syntax/pf.mnv delete mode 100644 uvim/runtime/syntax/pf.vim create mode 100644 uvim/runtime/syntax/pfmain.mnv delete mode 100644 uvim/runtime/syntax/pfmain.vim create mode 100644 uvim/runtime/syntax/php.mnv delete mode 100644 uvim/runtime/syntax/php.vim create mode 100644 uvim/runtime/syntax/phtml.mnv delete mode 100644 uvim/runtime/syntax/phtml.vim create mode 100644 uvim/runtime/syntax/pic.mnv delete mode 100644 uvim/runtime/syntax/pic.vim create mode 100644 uvim/runtime/syntax/pike.mnv delete mode 100644 uvim/runtime/syntax/pike.vim create mode 100644 uvim/runtime/syntax/pilrc.mnv delete mode 100644 uvim/runtime/syntax/pilrc.vim create mode 100644 uvim/runtime/syntax/pine.mnv delete mode 100644 uvim/runtime/syntax/pine.vim create mode 100644 uvim/runtime/syntax/pinfo.mnv delete mode 100644 uvim/runtime/syntax/pinfo.vim create mode 100644 uvim/runtime/syntax/pkl.mnv delete mode 100644 uvim/runtime/syntax/pkl.vim create mode 100644 uvim/runtime/syntax/plaintex.mnv delete mode 100644 uvim/runtime/syntax/plaintex.vim create mode 100644 uvim/runtime/syntax/pli.mnv delete mode 100644 uvim/runtime/syntax/pli.vim create mode 100644 uvim/runtime/syntax/plm.mnv delete mode 100644 uvim/runtime/syntax/plm.vim create mode 100644 uvim/runtime/syntax/plp.mnv delete mode 100644 uvim/runtime/syntax/plp.vim create mode 100644 uvim/runtime/syntax/plsql.mnv delete mode 100644 uvim/runtime/syntax/plsql.vim create mode 100644 uvim/runtime/syntax/po.mnv delete mode 100644 uvim/runtime/syntax/po.vim create mode 100644 uvim/runtime/syntax/pod.mnv delete mode 100644 uvim/runtime/syntax/pod.vim create mode 100644 uvim/runtime/syntax/poefilter.mnv delete mode 100644 uvim/runtime/syntax/poefilter.vim create mode 100644 uvim/runtime/syntax/poke.mnv delete mode 100644 uvim/runtime/syntax/poke.vim create mode 100644 uvim/runtime/syntax/postscr.mnv delete mode 100644 uvim/runtime/syntax/postscr.vim create mode 100644 uvim/runtime/syntax/pov.mnv delete mode 100644 uvim/runtime/syntax/pov.vim create mode 100644 uvim/runtime/syntax/povini.mnv delete mode 100644 uvim/runtime/syntax/povini.vim create mode 100644 uvim/runtime/syntax/ppd.mnv delete mode 100644 uvim/runtime/syntax/ppd.vim create mode 100644 uvim/runtime/syntax/ppwiz.mnv delete mode 100644 uvim/runtime/syntax/ppwiz.vim create mode 100644 uvim/runtime/syntax/pq.mnv delete mode 100644 uvim/runtime/syntax/pq.vim create mode 100644 uvim/runtime/syntax/prescribe.mnv delete mode 100644 uvim/runtime/syntax/prescribe.vim create mode 100644 uvim/runtime/syntax/privoxy.mnv delete mode 100644 uvim/runtime/syntax/privoxy.vim create mode 100644 uvim/runtime/syntax/procmail.mnv delete mode 100644 uvim/runtime/syntax/procmail.vim create mode 100644 uvim/runtime/syntax/progress.mnv delete mode 100644 uvim/runtime/syntax/progress.vim create mode 100644 uvim/runtime/syntax/prolog.mnv delete mode 100644 uvim/runtime/syntax/prolog.vim create mode 100644 uvim/runtime/syntax/promela.mnv delete mode 100644 uvim/runtime/syntax/promela.vim create mode 100644 uvim/runtime/syntax/proto.mnv delete mode 100644 uvim/runtime/syntax/proto.vim create mode 100644 uvim/runtime/syntax/protocols.mnv delete mode 100644 uvim/runtime/syntax/protocols.vim create mode 100644 uvim/runtime/syntax/prql.mnv delete mode 100644 uvim/runtime/syntax/prql.vim create mode 100644 uvim/runtime/syntax/ps1.mnv delete mode 100644 uvim/runtime/syntax/ps1.vim create mode 100644 uvim/runtime/syntax/ps1xml.mnv delete mode 100644 uvim/runtime/syntax/ps1xml.vim create mode 100644 uvim/runtime/syntax/psf.mnv delete mode 100644 uvim/runtime/syntax/psf.vim create mode 100644 uvim/runtime/syntax/psl.mnv delete mode 100644 uvim/runtime/syntax/psl.vim create mode 100644 uvim/runtime/syntax/ptcap.mnv delete mode 100644 uvim/runtime/syntax/ptcap.vim create mode 100644 uvim/runtime/syntax/ptx.mnv delete mode 100644 uvim/runtime/syntax/ptx.vim create mode 100644 uvim/runtime/syntax/purifylog.mnv delete mode 100644 uvim/runtime/syntax/purifylog.vim create mode 100644 uvim/runtime/syntax/pymanifest.mnv delete mode 100644 uvim/runtime/syntax/pymanifest.vim create mode 100644 uvim/runtime/syntax/pyrex.mnv delete mode 100644 uvim/runtime/syntax/pyrex.vim create mode 100644 uvim/runtime/syntax/python.mnv delete mode 100644 uvim/runtime/syntax/python.vim create mode 100644 uvim/runtime/syntax/python2.mnv delete mode 100644 uvim/runtime/syntax/python2.vim create mode 100644 uvim/runtime/syntax/qb64.mnv delete mode 100644 uvim/runtime/syntax/qb64.vim create mode 100644 uvim/runtime/syntax/qf.mnv delete mode 100644 uvim/runtime/syntax/qf.vim create mode 100644 uvim/runtime/syntax/qml.mnv delete mode 100644 uvim/runtime/syntax/qml.vim create mode 100644 uvim/runtime/syntax/quake.mnv delete mode 100644 uvim/runtime/syntax/quake.vim create mode 100644 uvim/runtime/syntax/quarto.mnv delete mode 100644 uvim/runtime/syntax/quarto.vim create mode 100644 uvim/runtime/syntax/r.mnv delete mode 100644 uvim/runtime/syntax/r.vim create mode 100644 uvim/runtime/syntax/racc.mnv delete mode 100644 uvim/runtime/syntax/racc.vim create mode 100644 uvim/runtime/syntax/racket.mnv delete mode 100644 uvim/runtime/syntax/racket.vim create mode 100644 uvim/runtime/syntax/radiance.mnv delete mode 100644 uvim/runtime/syntax/radiance.vim create mode 100644 uvim/runtime/syntax/raku.mnv delete mode 100644 uvim/runtime/syntax/raku.vim create mode 100644 uvim/runtime/syntax/raml.mnv delete mode 100644 uvim/runtime/syntax/raml.vim create mode 100644 uvim/runtime/syntax/rapid.mnv delete mode 100644 uvim/runtime/syntax/rapid.vim create mode 100644 uvim/runtime/syntax/rasi.mnv delete mode 100644 uvim/runtime/syntax/rasi.vim create mode 100644 uvim/runtime/syntax/ratpoison.mnv delete mode 100644 uvim/runtime/syntax/ratpoison.vim create mode 100644 uvim/runtime/syntax/rc.mnv delete mode 100644 uvim/runtime/syntax/rc.vim create mode 100644 uvim/runtime/syntax/rcs.mnv delete mode 100644 uvim/runtime/syntax/rcs.vim create mode 100644 uvim/runtime/syntax/rcslog.mnv delete mode 100644 uvim/runtime/syntax/rcslog.vim create mode 100644 uvim/runtime/syntax/readline.mnv delete mode 100644 uvim/runtime/syntax/readline.vim create mode 100644 uvim/runtime/syntax/rebol.mnv delete mode 100644 uvim/runtime/syntax/rebol.vim create mode 100644 uvim/runtime/syntax/redif.mnv delete mode 100644 uvim/runtime/syntax/redif.vim create mode 100644 uvim/runtime/syntax/registry.mnv delete mode 100644 uvim/runtime/syntax/registry.vim create mode 100644 uvim/runtime/syntax/rego.mnv delete mode 100644 uvim/runtime/syntax/rego.vim create mode 100644 uvim/runtime/syntax/remind.mnv delete mode 100644 uvim/runtime/syntax/remind.vim create mode 100644 uvim/runtime/syntax/requirements.mnv delete mode 100644 uvim/runtime/syntax/requirements.vim create mode 100644 uvim/runtime/syntax/resolv.mnv delete mode 100644 uvim/runtime/syntax/resolv.vim create mode 100644 uvim/runtime/syntax/reva.mnv delete mode 100644 uvim/runtime/syntax/reva.vim create mode 100644 uvim/runtime/syntax/rexx.mnv delete mode 100644 uvim/runtime/syntax/rexx.vim create mode 100644 uvim/runtime/syntax/rhelp.mnv delete mode 100644 uvim/runtime/syntax/rhelp.vim create mode 100644 uvim/runtime/syntax/rib.mnv delete mode 100644 uvim/runtime/syntax/rib.vim create mode 100644 uvim/runtime/syntax/rmd.mnv delete mode 100644 uvim/runtime/syntax/rmd.vim create mode 100644 uvim/runtime/syntax/rnc.mnv delete mode 100644 uvim/runtime/syntax/rnc.vim create mode 100644 uvim/runtime/syntax/rng.mnv delete mode 100644 uvim/runtime/syntax/rng.vim create mode 100644 uvim/runtime/syntax/rnoweb.mnv delete mode 100644 uvim/runtime/syntax/rnoweb.vim create mode 100644 uvim/runtime/syntax/robots.mnv delete mode 100644 uvim/runtime/syntax/robots.vim create mode 100644 uvim/runtime/syntax/routeros.mnv delete mode 100644 uvim/runtime/syntax/routeros.vim create mode 100644 uvim/runtime/syntax/rpcgen.mnv delete mode 100644 uvim/runtime/syntax/rpcgen.vim create mode 100644 uvim/runtime/syntax/rpl.mnv delete mode 100644 uvim/runtime/syntax/rpl.vim create mode 100644 uvim/runtime/syntax/rrst.mnv delete mode 100644 uvim/runtime/syntax/rrst.vim create mode 100644 uvim/runtime/syntax/rst.mnv delete mode 100644 uvim/runtime/syntax/rst.vim create mode 100644 uvim/runtime/syntax/rtf.mnv delete mode 100644 uvim/runtime/syntax/rtf.vim create mode 100644 uvim/runtime/syntax/ruby.mnv delete mode 100644 uvim/runtime/syntax/ruby.vim create mode 100644 uvim/runtime/syntax/rust.mnv delete mode 100644 uvim/runtime/syntax/rust.vim create mode 100644 uvim/runtime/syntax/salt.mnv delete mode 100644 uvim/runtime/syntax/salt.vim create mode 100644 uvim/runtime/syntax/samba.mnv delete mode 100644 uvim/runtime/syntax/samba.vim create mode 100644 uvim/runtime/syntax/sas.mnv delete mode 100644 uvim/runtime/syntax/sas.vim create mode 100644 uvim/runtime/syntax/sass.mnv delete mode 100644 uvim/runtime/syntax/sass.vim create mode 100644 uvim/runtime/syntax/sather.mnv delete mode 100644 uvim/runtime/syntax/sather.vim create mode 100644 uvim/runtime/syntax/sbt.mnv delete mode 100644 uvim/runtime/syntax/sbt.vim create mode 100644 uvim/runtime/syntax/scala.mnv delete mode 100644 uvim/runtime/syntax/scala.vim create mode 100644 uvim/runtime/syntax/scdoc.mnv delete mode 100644 uvim/runtime/syntax/scdoc.vim create mode 100644 uvim/runtime/syntax/scheme.mnv delete mode 100644 uvim/runtime/syntax/scheme.vim create mode 100644 uvim/runtime/syntax/scilab.mnv delete mode 100644 uvim/runtime/syntax/scilab.vim create mode 100644 uvim/runtime/syntax/screen.mnv delete mode 100644 uvim/runtime/syntax/screen.vim create mode 100644 uvim/runtime/syntax/scss.mnv delete mode 100644 uvim/runtime/syntax/scss.vim create mode 100644 uvim/runtime/syntax/sd.mnv delete mode 100644 uvim/runtime/syntax/sd.vim create mode 100644 uvim/runtime/syntax/sdc.mnv delete mode 100644 uvim/runtime/syntax/sdc.vim create mode 100644 uvim/runtime/syntax/sdl.mnv delete mode 100644 uvim/runtime/syntax/sdl.vim create mode 100644 uvim/runtime/syntax/sed.mnv delete mode 100644 uvim/runtime/syntax/sed.vim create mode 100644 uvim/runtime/syntax/sendpr.mnv delete mode 100644 uvim/runtime/syntax/sendpr.vim create mode 100644 uvim/runtime/syntax/sensors.mnv delete mode 100644 uvim/runtime/syntax/sensors.vim create mode 100644 uvim/runtime/syntax/services.mnv delete mode 100644 uvim/runtime/syntax/services.vim create mode 100644 uvim/runtime/syntax/setserial.mnv delete mode 100644 uvim/runtime/syntax/setserial.vim create mode 100644 uvim/runtime/syntax/sexplib.mnv delete mode 100644 uvim/runtime/syntax/sexplib.vim create mode 100644 uvim/runtime/syntax/sgml.mnv delete mode 100644 uvim/runtime/syntax/sgml.vim create mode 100644 uvim/runtime/syntax/sgmldecl.mnv delete mode 100644 uvim/runtime/syntax/sgmldecl.vim create mode 100644 uvim/runtime/syntax/sgmllnx.mnv delete mode 100644 uvim/runtime/syntax/sgmllnx.vim create mode 100644 uvim/runtime/syntax/sh.mnv delete mode 100644 uvim/runtime/syntax/sh.vim create mode 100644 uvim/runtime/syntax/shaderslang.mnv delete mode 100644 uvim/runtime/syntax/shaderslang.vim create mode 100644 uvim/runtime/syntax/shared/debarchitectures.mnv delete mode 100644 uvim/runtime/syntax/shared/debarchitectures.vim create mode 100644 uvim/runtime/syntax/shared/debversions.mnv delete mode 100644 uvim/runtime/syntax/shared/debversions.vim create mode 100644 uvim/runtime/syntax/shared/hgcommitDiff.mnv delete mode 100644 uvim/runtime/syntax/shared/hgcommitDiff.vim create mode 100644 uvim/runtime/syntax/shared/typescriptcommon.mnv delete mode 100644 uvim/runtime/syntax/shared/typescriptcommon.vim create mode 100644 uvim/runtime/syntax/sicad.mnv delete mode 100644 uvim/runtime/syntax/sicad.vim create mode 100644 uvim/runtime/syntax/sieve.mnv delete mode 100644 uvim/runtime/syntax/sieve.vim create mode 100644 uvim/runtime/syntax/sil.mnv delete mode 100644 uvim/runtime/syntax/sil.vim create mode 100644 uvim/runtime/syntax/simula.mnv delete mode 100644 uvim/runtime/syntax/simula.vim create mode 100644 uvim/runtime/syntax/sinda.mnv delete mode 100644 uvim/runtime/syntax/sinda.vim create mode 100644 uvim/runtime/syntax/sindacmp.mnv delete mode 100644 uvim/runtime/syntax/sindacmp.vim create mode 100644 uvim/runtime/syntax/sindaout.mnv delete mode 100644 uvim/runtime/syntax/sindaout.vim create mode 100644 uvim/runtime/syntax/sisu.mnv delete mode 100644 uvim/runtime/syntax/sisu.vim create mode 100644 uvim/runtime/syntax/skhd.mnv delete mode 100644 uvim/runtime/syntax/skhd.vim create mode 100644 uvim/runtime/syntax/skill.mnv delete mode 100644 uvim/runtime/syntax/skill.vim create mode 100644 uvim/runtime/syntax/sl.mnv delete mode 100644 uvim/runtime/syntax/sl.vim create mode 100644 uvim/runtime/syntax/slang.mnv delete mode 100644 uvim/runtime/syntax/slang.vim create mode 100644 uvim/runtime/syntax/slice.mnv delete mode 100644 uvim/runtime/syntax/slice.vim create mode 100644 uvim/runtime/syntax/slpconf.mnv delete mode 100644 uvim/runtime/syntax/slpconf.vim create mode 100644 uvim/runtime/syntax/slpreg.mnv delete mode 100644 uvim/runtime/syntax/slpreg.vim create mode 100644 uvim/runtime/syntax/slpspi.mnv delete mode 100644 uvim/runtime/syntax/slpspi.vim create mode 100644 uvim/runtime/syntax/slrnrc.mnv delete mode 100644 uvim/runtime/syntax/slrnrc.vim create mode 100644 uvim/runtime/syntax/slrnsc.mnv delete mode 100644 uvim/runtime/syntax/slrnsc.vim create mode 100644 uvim/runtime/syntax/sm.mnv delete mode 100644 uvim/runtime/syntax/sm.vim create mode 100644 uvim/runtime/syntax/smarty.mnv delete mode 100644 uvim/runtime/syntax/smarty.vim create mode 100644 uvim/runtime/syntax/smcl.mnv delete mode 100644 uvim/runtime/syntax/smcl.vim create mode 100644 uvim/runtime/syntax/smil.mnv delete mode 100644 uvim/runtime/syntax/smil.vim create mode 100644 uvim/runtime/syntax/smith.mnv delete mode 100644 uvim/runtime/syntax/smith.vim create mode 100644 uvim/runtime/syntax/sml.mnv delete mode 100644 uvim/runtime/syntax/sml.vim create mode 100644 uvim/runtime/syntax/snnsnet.mnv delete mode 100644 uvim/runtime/syntax/snnsnet.vim create mode 100644 uvim/runtime/syntax/snnspat.mnv delete mode 100644 uvim/runtime/syntax/snnspat.vim create mode 100644 uvim/runtime/syntax/snnsres.mnv delete mode 100644 uvim/runtime/syntax/snnsres.vim create mode 100644 uvim/runtime/syntax/snobol4.mnv delete mode 100644 uvim/runtime/syntax/snobol4.vim create mode 100644 uvim/runtime/syntax/solidity.mnv delete mode 100644 uvim/runtime/syntax/solidity.vim create mode 100644 uvim/runtime/syntax/spajson.mnv delete mode 100644 uvim/runtime/syntax/spajson.vim create mode 100644 uvim/runtime/syntax/spec.mnv delete mode 100644 uvim/runtime/syntax/spec.vim create mode 100644 uvim/runtime/syntax/specman.mnv delete mode 100644 uvim/runtime/syntax/specman.vim create mode 100644 uvim/runtime/syntax/spice.mnv delete mode 100644 uvim/runtime/syntax/spice.vim create mode 100644 uvim/runtime/syntax/splint.mnv delete mode 100644 uvim/runtime/syntax/splint.vim create mode 100644 uvim/runtime/syntax/spup.mnv delete mode 100644 uvim/runtime/syntax/spup.vim create mode 100644 uvim/runtime/syntax/spyce.mnv delete mode 100644 uvim/runtime/syntax/spyce.vim create mode 100644 uvim/runtime/syntax/sql.mnv delete mode 100644 uvim/runtime/syntax/sql.vim create mode 100644 uvim/runtime/syntax/sqlanywhere.mnv delete mode 100644 uvim/runtime/syntax/sqlanywhere.vim create mode 100644 uvim/runtime/syntax/sqlforms.mnv delete mode 100644 uvim/runtime/syntax/sqlforms.vim create mode 100644 uvim/runtime/syntax/sqlhana.mnv delete mode 100644 uvim/runtime/syntax/sqlhana.vim create mode 100644 uvim/runtime/syntax/sqlinformix.mnv delete mode 100644 uvim/runtime/syntax/sqlinformix.vim create mode 100644 uvim/runtime/syntax/sqlj.mnv delete mode 100644 uvim/runtime/syntax/sqlj.vim create mode 100644 uvim/runtime/syntax/sqloracle.mnv delete mode 100644 uvim/runtime/syntax/sqloracle.vim create mode 100644 uvim/runtime/syntax/sqr.mnv delete mode 100644 uvim/runtime/syntax/sqr.vim create mode 100644 uvim/runtime/syntax/squid.mnv delete mode 100644 uvim/runtime/syntax/squid.vim create mode 100644 uvim/runtime/syntax/squirrel.mnv delete mode 100644 uvim/runtime/syntax/squirrel.vim create mode 100644 uvim/runtime/syntax/srec.mnv delete mode 100644 uvim/runtime/syntax/srec.vim create mode 100644 uvim/runtime/syntax/srt.mnv delete mode 100644 uvim/runtime/syntax/srt.vim create mode 100644 uvim/runtime/syntax/ssa.mnv delete mode 100644 uvim/runtime/syntax/ssa.vim create mode 100644 uvim/runtime/syntax/sshconfig.mnv delete mode 100644 uvim/runtime/syntax/sshconfig.vim create mode 100644 uvim/runtime/syntax/sshdconfig.mnv delete mode 100644 uvim/runtime/syntax/sshdconfig.vim create mode 100644 uvim/runtime/syntax/st.mnv delete mode 100644 uvim/runtime/syntax/st.vim create mode 100644 uvim/runtime/syntax/stata.mnv delete mode 100644 uvim/runtime/syntax/stata.vim create mode 100644 uvim/runtime/syntax/stp.mnv delete mode 100644 uvim/runtime/syntax/stp.vim create mode 100644 uvim/runtime/syntax/strace.mnv delete mode 100644 uvim/runtime/syntax/strace.vim create mode 100644 uvim/runtime/syntax/structurizr.mnv delete mode 100644 uvim/runtime/syntax/structurizr.vim create mode 100644 uvim/runtime/syntax/stylus.mnv delete mode 100644 uvim/runtime/syntax/stylus.vim create mode 100644 uvim/runtime/syntax/sudoers.mnv delete mode 100644 uvim/runtime/syntax/sudoers.vim create mode 100644 uvim/runtime/syntax/svg.mnv delete mode 100644 uvim/runtime/syntax/svg.vim create mode 100644 uvim/runtime/syntax/svn.mnv delete mode 100644 uvim/runtime/syntax/svn.vim create mode 100644 uvim/runtime/syntax/swayconfig.mnv delete mode 100644 uvim/runtime/syntax/swayconfig.vim create mode 100644 uvim/runtime/syntax/swift.mnv delete mode 100644 uvim/runtime/syntax/swift.vim create mode 100644 uvim/runtime/syntax/swiftgyb.mnv delete mode 100644 uvim/runtime/syntax/swiftgyb.vim create mode 100644 uvim/runtime/syntax/swig.mnv delete mode 100644 uvim/runtime/syntax/swig.vim create mode 100644 uvim/runtime/syntax/syncolor.mnv delete mode 100644 uvim/runtime/syntax/syncolor.vim create mode 100644 uvim/runtime/syntax/synload.mnv delete mode 100644 uvim/runtime/syntax/synload.vim create mode 100644 uvim/runtime/syntax/syntax.mnv delete mode 100644 uvim/runtime/syntax/syntax.vim create mode 100644 uvim/runtime/syntax/sysctl.mnv delete mode 100644 uvim/runtime/syntax/sysctl.vim create mode 100644 uvim/runtime/syntax/systemd.mnv delete mode 100644 uvim/runtime/syntax/systemd.vim create mode 100644 uvim/runtime/syntax/systemverilog.mnv delete mode 100644 uvim/runtime/syntax/systemverilog.vim create mode 100644 uvim/runtime/syntax/tads.mnv delete mode 100644 uvim/runtime/syntax/tads.vim create mode 100644 uvim/runtime/syntax/tags.mnv delete mode 100644 uvim/runtime/syntax/tags.vim create mode 100644 uvim/runtime/syntax/tak.mnv delete mode 100644 uvim/runtime/syntax/tak.vim create mode 100644 uvim/runtime/syntax/takcmp.mnv delete mode 100644 uvim/runtime/syntax/takcmp.vim create mode 100644 uvim/runtime/syntax/takout.mnv delete mode 100644 uvim/runtime/syntax/takout.vim create mode 100644 uvim/runtime/syntax/tap.mnv delete mode 100644 uvim/runtime/syntax/tap.vim create mode 100644 uvim/runtime/syntax/tar.mnv delete mode 100644 uvim/runtime/syntax/tar.vim create mode 100644 uvim/runtime/syntax/taskdata.mnv delete mode 100644 uvim/runtime/syntax/taskdata.vim create mode 100644 uvim/runtime/syntax/taskedit.mnv delete mode 100644 uvim/runtime/syntax/taskedit.vim create mode 100644 uvim/runtime/syntax/tasm.mnv delete mode 100644 uvim/runtime/syntax/tasm.vim create mode 100644 uvim/runtime/syntax/tcl.mnv delete mode 100644 uvim/runtime/syntax/tcl.vim create mode 100644 uvim/runtime/syntax/tcsh.mnv delete mode 100644 uvim/runtime/syntax/tcsh.vim create mode 100644 uvim/runtime/syntax/template.mnv delete mode 100644 uvim/runtime/syntax/template.vim create mode 100644 uvim/runtime/syntax/tera.mnv delete mode 100644 uvim/runtime/syntax/tera.vim create mode 100644 uvim/runtime/syntax/teraterm.mnv delete mode 100644 uvim/runtime/syntax/teraterm.vim create mode 100644 uvim/runtime/syntax/terminfo.mnv delete mode 100644 uvim/runtime/syntax/terminfo.vim create mode 100644 uvim/runtime/syntax/terraform.mnv delete mode 100644 uvim/runtime/syntax/terraform.vim create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_blocks_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_blocks_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_blocks_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_builtin_object_methods2_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_builtin_object_methods2_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_builtin_object_methods2_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_builtin_object_methods2_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_builtin_object_methods_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_builtin_object_methods_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_builtin_object_methods_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_builtin_object_methods_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_builtin_object_methods_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_builtin_object_methods_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_builtin_object_methods_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_comment_strings_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_comment_strings_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_comments_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_comments_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_comments_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_comments_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_comments_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_comments_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_constructors_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_def_variables_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_def_variables_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_def_variables_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_def_variables_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_def_variables_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_def_variables_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_def_variables_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_def_variables_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_def_variables_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_def_variables_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_def_variables_10.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_def_variables_11.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_def_variables_12.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_class_fold_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_class_fold_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_class_fold_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_class_fold_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_class_fold_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_10.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_11.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_12.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_13.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_14.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_15.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_16.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_17.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_18.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_19.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_20.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_21.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_22.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_23.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_24.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_25.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_26.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_27.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_28.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_29.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_30.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_31.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_32.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_33.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_34.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_35.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_36.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_37.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_38.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_39.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_40.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_41.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_42.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_43.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_44.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_45.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_46.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_47.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_48.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_49.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_50.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_51.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_52.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_53.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_54.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_55.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_56.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_57.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_58.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_59.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_60.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_61.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_62.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_63.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_64.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_65.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_66.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_commands_67.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_echo_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_echo_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_echo_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_enum2_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_enum2_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_enum_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_enum_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_enum_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_enum_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_enum_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_enum_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_enum_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_enum_fold_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_enum_fold_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_enum_fold_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_for_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_for_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_for_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_for_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_for_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_for_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_function_def_tail_comment_errors_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_function_def_tail_comment_errors_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_function_def_tail_comment_errors_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_function_def_tail_comments_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_function_def_tail_comments_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_function_def_tail_comments_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_import_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_import_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_import_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_import_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_import_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_import_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_import_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_interface_fold_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_interface_fold_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_interface_fold_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_let_heredoc_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_let_heredoc_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_let_heredoc_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_let_heredoc_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_let_heredoc_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_let_heredoc_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_let_heredoc_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_let_heredoc_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_let_heredoc_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_let_heredoc_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_let_heredoc_10.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_let_heredoc_11.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_let_heredoc_12.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_let_heredoc_13.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_let_heredoc_14.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_let_heredoc_15.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_let_heredoc_16.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_loadkeymap_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_loadkeymap_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_ex_type_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_expressions_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_expressions_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_expressions_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_expressions_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_expressions_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_expressions_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_expressions_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_expressions_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_expressions_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_expressions_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_expressions_10.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_expressions_11.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_expressions_12.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_function_calls_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_function_calls_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_function_calls_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_function_calls_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_function_calls_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_function_calls_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_function_calls_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_function_calls_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_function_calls_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_function_calls_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_function_calls_10.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_function_calls_11.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_function_calls_12.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_function_calls_13.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_function_calls_14.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_function_calls_15.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_function_calls_16.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_function_calls_17.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_enum_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_enum_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_enum_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_list_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_list_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_list_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_list_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_list_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_list_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_list_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_list_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_list_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_list_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_list_10.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_list_11.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_list_12.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_set_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_set_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_set_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_set_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_set_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_set_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_set_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_set_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_set_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_set_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_function_example_set_10.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_functions_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_functions_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_functions_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_functions_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_functions_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_generic_functions_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_lambdas_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_lambdas_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_lambdas_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_lambdas_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_lambdas_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_lambdas_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_lambdas_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_lambdas_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_lambdas_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_lambdas_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_legacy_header_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_legacy_header_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_legacy_header_fold_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_legacy_header_fold_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_no_comment_strings_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_no_comment_strings_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_shebang_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_super_this_keywords2_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_super_this_keywords2_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_super_this_keywords2_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_super_this_keywords2_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_super_this_keywords3_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_super_this_keywords3_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_super_this_keywords_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_super_this_keywords_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_super_this_keywords_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_super_this_keywords_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_super_this_keywords_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_super_this_keywords_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_tuples_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_tuples_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_types_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_types_example_object_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_types_example_object_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_types_object_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_types_object_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_variables_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_variables_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_variables_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_variables_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_variables_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_variables_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_variables_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_variables_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_variables_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_variables_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_variables_10.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_variables_11.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_variables_12.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_variables_13.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_variables_14.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv9_variables_15.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_comment_strings_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_comment_strings_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_comments_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_comments_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_comments_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_comments_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_comments_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_abbreviate_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_abbreviate_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_abbreviate_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_abbreviate_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_at_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_at_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_at_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_at_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_augroup_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_augroup_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_augroup_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_augroup_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_augroup_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_autocmd_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_autocmd_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_autocmd_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_autocmd_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_autocmd_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_autocmd_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_autocmd_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_autocmd_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_autocmd_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_autocmd_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_autocmd_10.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_autocmd_11.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_autocmd_12.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_autocmd_13.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_autocmd_14.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_autocmd_15.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_behave_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_breakpoint_commands_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_breakpoint_commands_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_breakpoint_commands_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_breakpoint_commands_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_breakpoint_commands_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_breakpoint_commands_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_call_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_call_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_call_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_call_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_catch_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_cd_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_cd_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_cd_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_cd_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_cd_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_cd_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_cd_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_command_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_command_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_command_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_command_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_command_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_command_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_command_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_command_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_command_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_command_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_command_10.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_command_11.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_command_modifiers_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_command_modifiers_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_command_modifiers_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_command_modifiers_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_command_modifiers_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_command_modifiers_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_command_modifiers_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_command_modifiers_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_10.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_11.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_12.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_13.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_14.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_15.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_16.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_17.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_18.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_19.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_20.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_21.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_22.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_23.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_24.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_25.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_26.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_27.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_28.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_29.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_30.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_31.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_32.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_33.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_34.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_35.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_36.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_37.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_38.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_39.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_40.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_41.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_42.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_43.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_44.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_45.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_46.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_47.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_48.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_49.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_50.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_51.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_52.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_53.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_54.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_55.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_56.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_57.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_58.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_59.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_60.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_61.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_62.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_63.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_64.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_65.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_66.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_commands_67.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_debug_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_debuggreedy_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_debuggreedy_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_debuggreedy_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_def_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_def_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_def_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_def_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_def_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_def_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_def_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_def_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_def_fold_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_def_fold_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_def_fold_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_def_fold_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_def_fold_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_def_fold_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_def_fold_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_def_fold_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_def_fold_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_def_fold_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_def_fold_10.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_def_nested_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_def_nested_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_def_nested_fold_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_def_return_type_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_def_return_type_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_def_return_type_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_def_return_type_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_defer_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_delfunction_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_delfunction_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_delfunction_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_do_commands_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_do_commands_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_do_commands_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_do_commands_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_echo_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_echo_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_echo_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_echo_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_eval_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_eval_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_execute_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_execute_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_execute_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_execute_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_filetype_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_filetype_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_filter_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_for_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_for_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_for_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_for_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_10.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_11.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_12.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_13.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_14.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_15.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_def_tail_comment_errors_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_def_tail_comment_errors_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_def_tail_comment_errors_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_def_tail_comments_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_def_tail_comments_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_def_tail_comments_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_fold_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_fold_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_fold_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_fold_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_fold_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_fold_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_fold_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_fold_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_fold_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_fold_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_fold_10.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_fold_11.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_fold_12.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_fold_13.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_fold_14.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_fold_15.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_fold_16.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_fold_17.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_fold_18.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_fold_19.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_nested_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_nested_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_nested_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_function_nested_fold_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_grep_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_grep_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_grep_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_help_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_help_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_help_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_help_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_helpgrep_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_highlight_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_highlight_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_highlight_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_highlight_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_highlight_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_highlight_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_highlight_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_history_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_history_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_history_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_history_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_history_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_history_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_import_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_import_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_import_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_import_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_import_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_import_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_import_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_language_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_language_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_language_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_language_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_language_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_language_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_language_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_language_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_language_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_language_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_let_heredoc_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_let_heredoc_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_let_heredoc_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_let_heredoc_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_let_heredoc_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_let_heredoc_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_let_heredoc_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_let_heredoc_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_let_heredoc_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_let_heredoc_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_let_heredoc_10.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_let_heredoc_11.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_let_heredoc_12.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_let_heredoc_13.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_let_heredoc_14.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_loadkeymap_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_loadkeymap_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_loadkeymap_after_bar_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_loadkeymap_after_colon_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_lua_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_lua_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_lua_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_lua_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_lua_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_lua_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_lua_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_lua_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_lua_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_make_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_make_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_make_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_map_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_map_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_map_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_map_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_map_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_map_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_map_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_map_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mark_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mark_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mark_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mark_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mark_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mark_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mark_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mark_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mark_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mark_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mark_10.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mark_11.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mark_12.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_match_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_match_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_match_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_match_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_menu_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_menu_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_menu_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_menu_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_menu_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_menu_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_menutranslate_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_menutranslate_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_menutranslate_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_menutranslate_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mnvgrep_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mnvgrep_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mnvgrep_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mnvgrep_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mnvgrep_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mzscheme_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mzscheme_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mzscheme_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mzscheme_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mzscheme_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mzscheme_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mzscheme_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mzscheme_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_mzscheme_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_normal_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_normal_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_perl_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_perl_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_perl_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_perl_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_perl_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_perl_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_perl_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_perl_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_perl_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_profile_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_profile_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_profile_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_prompt_commands_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_prompt_commands_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_prompt_commands_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_python_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_python_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_python_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_python_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_python_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_python_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_python_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_python_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_python_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_python_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_range_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_range_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_range_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_range_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_range_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_range_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_redir_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_redir_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_redir_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_redir_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_redir_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_ruby_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_ruby_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_ruby_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_ruby_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_ruby_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_ruby_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_ruby_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_ruby_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_ruby_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_set_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_set_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_set_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_set_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_set_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_set_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_set_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_set_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_set_backslash_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_set_backslash_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_set_backslash_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_set_backslash_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_set_backslash_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_sleep_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_sort_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_sort_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_sort_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_sort_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_substitute_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_substitute_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_substitute_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_substitute_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_substitute_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_substitute_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_substitute_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_substitute_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_substitute_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_substitute_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_substitute_10.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_substitute_11.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_syntax_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_syntax_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_syntax_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_syntax_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_syntax_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_syntax_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_syntax_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_syntax_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_syntax_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_syntax_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_syntax_10.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_syntax_11.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_syntax_12.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_syntax_13.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_syntax_14.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_syntax_15.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_syntax_16.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_syntax_17.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_syntax_18.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_syntax_19.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_syntax_20.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_syntax_21.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_syntime_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_syntime_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_syntime_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_tcl_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_tcl_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_tcl_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_tcl_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_tcl_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_tcl_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_tcl_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_tcl_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_tcl_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_terminal_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_terminal_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_terminal_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_terminal_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_terminal_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_throw_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_uniq_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_uniq_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_wincmd_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_wincmd_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_wincmd_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_ex_wincmd_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_expressions_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_expressions_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_expressions_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_expressions_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_expressions_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_expressions_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_expressions_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_expressions_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_expressions_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_expressions_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_expressions_10.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_expressions_11.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_expressions_12.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_expressions_13.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_expressions_14.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_expressions_15.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_expressions_16.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_expressions_17.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_expressions_18.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_expressions_19.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_expressions_20.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_expressions_21.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_expressions_22.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_expressions_23.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_expressions_24.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_calls_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_calls_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_calls_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_calls_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_calls_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_calls_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_calls_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_calls_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_calls_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_calls_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_calls_10.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_calls_11.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_calls_12.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_calls_13.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_calls_14.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_calls_15.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_variables_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_variables_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_variables_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_variables_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_variables_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_variables_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_variables_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_variables_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_variables_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_variables_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_variables_10.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_variables_11.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_variables_12.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_variables_13.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_variables_14.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_variables_15.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_variables_16.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_variables_17.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_variables_18.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_variables_19.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_variables_20.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_variables_21.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_variables_22.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_function_variables_23.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_key_notation_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_key_notation_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_key_notation_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_key_notation_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_key_notation_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_key_notation_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_key_notation_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_key_notation_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_key_notation_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_key_notation_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_lambdas_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_lambdas_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_lambdas_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_lambdas_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_lambdas_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_lambdas_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_lambdas_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_lambdas_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_line_continuation_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_line_continuation_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_line_continuation_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_line_continuation_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_new_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_new_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_nmnv_features_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_nmnv_features_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_nmnv_features_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_nmnv_features_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_nmnv_features_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_nmnv_features_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_nmnv_features_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_nmnv_features_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_nmnv_features_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_nmnv_features_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_nmnv_features_10.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_nmnv_features_11.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_nmnv_features_12.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_no_comment_strings_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_no_comment_strings_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_predefined_user_commands_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_predefined_user_commands_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_shebang_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_variables_00.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_variables_01.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_variables_02.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_variables_03.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_variables_04.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_variables_05.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_variables_06.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_variables_07.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_variables_08.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_variables_09.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_variables_10.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_variables_11.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_variables_12.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_variables_13.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_variables_14.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_variables_15.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_variables_16.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_variables_17.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_variables_18.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_variables_19.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_variables_20.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_variables_21.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_variables_22.dump create mode 100644 uvim/runtime/syntax/testdir/dumps/mnv_variables_23.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_blocks_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_blocks_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_blocks_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_builtin_object_methods2_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_builtin_object_methods2_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_builtin_object_methods2_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_builtin_object_methods2_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_builtin_object_methods_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_builtin_object_methods_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_builtin_object_methods_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_builtin_object_methods_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_builtin_object_methods_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_builtin_object_methods_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_builtin_object_methods_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_comment_strings_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_comment_strings_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_comments_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_comments_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_comments_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_comments_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_comments_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_comments_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_constructors_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_def_variables_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_def_variables_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_def_variables_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_def_variables_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_def_variables_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_def_variables_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_def_variables_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_def_variables_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_def_variables_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_def_variables_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_def_variables_10.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_def_variables_11.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_def_variables_12.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_class_fold_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_class_fold_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_class_fold_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_class_fold_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_class_fold_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_10.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_11.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_12.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_13.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_14.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_15.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_16.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_17.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_18.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_19.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_20.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_21.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_22.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_23.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_24.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_25.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_26.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_27.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_28.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_29.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_30.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_31.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_32.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_33.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_34.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_35.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_36.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_37.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_38.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_39.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_40.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_41.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_42.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_43.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_44.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_45.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_46.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_47.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_48.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_49.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_50.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_51.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_52.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_53.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_54.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_55.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_56.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_57.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_58.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_59.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_60.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_61.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_62.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_63.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_64.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_65.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_66.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_commands_67.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_echo_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_echo_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_echo_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_enum2_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_enum2_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_enum_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_enum_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_enum_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_enum_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_enum_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_enum_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_enum_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_enum_fold_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_enum_fold_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_enum_fold_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_for_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_for_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_for_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_for_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_for_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_for_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comment_errors_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comment_errors_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comment_errors_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comments_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comments_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_function_def_tail_comments_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_import_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_import_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_import_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_import_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_import_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_import_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_import_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_interface_fold_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_interface_fold_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_interface_fold_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_let_heredoc_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_let_heredoc_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_let_heredoc_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_let_heredoc_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_let_heredoc_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_let_heredoc_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_let_heredoc_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_let_heredoc_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_let_heredoc_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_let_heredoc_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_let_heredoc_10.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_let_heredoc_11.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_let_heredoc_12.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_let_heredoc_13.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_let_heredoc_14.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_let_heredoc_15.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_let_heredoc_16.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_loadkeymap_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_loadkeymap_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_ex_type_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_expressions_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_expressions_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_expressions_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_expressions_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_expressions_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_expressions_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_expressions_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_expressions_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_expressions_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_expressions_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_expressions_10.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_expressions_11.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_expressions_12.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_function_calls_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_function_calls_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_function_calls_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_function_calls_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_function_calls_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_function_calls_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_function_calls_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_function_calls_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_function_calls_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_function_calls_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_function_calls_10.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_function_calls_11.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_function_calls_12.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_function_calls_13.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_function_calls_14.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_function_calls_15.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_function_calls_16.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_function_calls_17.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_enum_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_enum_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_enum_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_list_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_list_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_list_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_list_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_list_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_list_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_list_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_list_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_list_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_list_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_list_10.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_list_11.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_list_12.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_set_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_set_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_set_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_set_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_set_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_set_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_set_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_set_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_set_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_set_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_function_example_set_10.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_functions_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_functions_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_functions_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_functions_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_functions_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_generic_functions_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_lambdas_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_lambdas_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_lambdas_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_lambdas_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_lambdas_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_lambdas_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_lambdas_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_lambdas_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_lambdas_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_lambdas_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_legacy_header_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_legacy_header_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_legacy_header_fold_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_legacy_header_fold_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_no_comment_strings_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_no_comment_strings_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_shebang_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_super_this_keywords2_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_super_this_keywords2_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_super_this_keywords2_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_super_this_keywords2_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_super_this_keywords3_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_super_this_keywords3_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_super_this_keywords_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_super_this_keywords_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_super_this_keywords_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_super_this_keywords_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_super_this_keywords_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_super_this_keywords_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_tuples_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_tuples_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_types_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_types_example_object_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_types_example_object_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_types_object_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_types_object_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_variables_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_variables_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_variables_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_variables_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_variables_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_variables_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_variables_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_variables_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_variables_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_variables_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_variables_10.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_variables_11.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_variables_12.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_variables_13.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_variables_14.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim9_variables_15.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_comment_strings_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_comment_strings_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_comments_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_comments_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_comments_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_comments_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_comments_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_abbreviate_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_abbreviate_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_abbreviate_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_abbreviate_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_at_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_at_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_at_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_at_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_augroup_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_augroup_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_augroup_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_augroup_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_augroup_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_autocmd_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_autocmd_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_autocmd_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_autocmd_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_autocmd_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_autocmd_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_autocmd_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_autocmd_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_autocmd_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_autocmd_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_autocmd_10.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_autocmd_11.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_autocmd_12.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_autocmd_13.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_autocmd_14.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_autocmd_15.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_behave_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_breakpoint_commands_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_breakpoint_commands_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_breakpoint_commands_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_breakpoint_commands_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_breakpoint_commands_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_breakpoint_commands_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_call_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_call_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_call_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_call_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_catch_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_cd_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_cd_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_cd_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_cd_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_cd_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_cd_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_cd_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_command_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_command_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_command_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_command_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_command_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_command_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_command_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_command_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_command_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_command_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_command_10.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_command_11.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_command_modifiers_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_command_modifiers_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_command_modifiers_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_command_modifiers_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_command_modifiers_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_command_modifiers_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_command_modifiers_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_command_modifiers_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_10.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_11.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_12.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_13.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_14.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_15.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_16.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_17.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_18.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_19.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_20.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_21.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_22.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_23.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_24.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_25.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_26.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_27.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_28.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_29.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_30.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_31.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_32.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_33.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_34.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_35.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_36.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_37.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_38.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_39.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_40.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_41.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_42.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_43.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_44.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_45.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_46.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_47.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_48.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_49.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_50.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_51.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_52.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_53.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_54.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_55.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_56.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_57.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_58.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_59.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_60.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_61.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_62.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_63.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_64.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_65.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_66.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_commands_67.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_debug_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_debuggreedy_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_debuggreedy_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_debuggreedy_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_def_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_def_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_def_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_def_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_def_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_def_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_def_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_def_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_def_fold_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_def_fold_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_def_fold_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_def_fold_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_def_fold_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_def_fold_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_def_fold_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_def_fold_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_def_fold_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_def_fold_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_def_fold_10.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_def_nested_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_def_nested_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_def_nested_fold_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_def_return_type_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_def_return_type_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_def_return_type_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_def_return_type_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_defer_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_delfunction_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_delfunction_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_delfunction_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_do_commands_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_do_commands_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_do_commands_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_do_commands_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_echo_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_echo_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_echo_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_echo_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_eval_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_eval_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_execute_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_execute_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_execute_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_execute_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_filetype_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_filetype_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_filter_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_for_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_for_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_for_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_for_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_10.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_11.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_12.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_13.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_14.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_15.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comment_errors_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comment_errors_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comment_errors_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comments_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comments_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_def_tail_comments_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_fold_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_fold_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_fold_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_fold_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_fold_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_fold_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_fold_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_fold_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_fold_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_fold_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_fold_10.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_fold_11.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_fold_12.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_fold_13.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_fold_14.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_fold_15.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_fold_16.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_fold_17.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_fold_18.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_fold_19.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_nested_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_nested_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_nested_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_function_nested_fold_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_grep_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_grep_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_grep_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_help_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_help_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_help_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_help_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_helpgrep_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_highlight_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_highlight_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_highlight_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_highlight_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_highlight_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_highlight_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_highlight_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_history_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_history_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_history_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_history_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_history_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_history_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_import_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_import_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_import_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_import_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_import_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_import_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_import_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_language_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_language_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_language_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_language_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_language_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_language_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_language_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_language_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_language_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_language_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_let_heredoc_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_let_heredoc_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_let_heredoc_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_let_heredoc_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_let_heredoc_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_let_heredoc_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_let_heredoc_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_let_heredoc_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_let_heredoc_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_let_heredoc_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_let_heredoc_10.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_let_heredoc_11.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_let_heredoc_12.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_let_heredoc_13.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_let_heredoc_14.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_loadkeymap_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_loadkeymap_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_loadkeymap_after_bar_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_loadkeymap_after_colon_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_lua_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_lua_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_lua_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_lua_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_lua_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_lua_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_lua_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_lua_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_lua_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_make_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_make_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_make_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_map_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_map_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_map_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_map_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_map_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_map_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_map_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_map_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_mark_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_mark_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_mark_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_mark_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_mark_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_mark_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_mark_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_mark_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_mark_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_mark_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_mark_10.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_mark_11.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_mark_12.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_match_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_match_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_match_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_match_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_menu_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_menu_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_menu_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_menu_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_menu_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_menu_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_menutranslate_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_menutranslate_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_menutranslate_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_menutranslate_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_mzscheme_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_mzscheme_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_mzscheme_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_mzscheme_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_mzscheme_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_mzscheme_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_mzscheme_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_mzscheme_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_mzscheme_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_normal_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_normal_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_perl_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_perl_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_perl_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_perl_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_perl_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_perl_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_perl_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_perl_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_perl_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_profile_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_profile_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_profile_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_prompt_commands_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_prompt_commands_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_prompt_commands_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_python_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_python_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_python_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_python_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_python_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_python_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_python_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_python_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_python_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_python_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_range_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_range_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_range_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_range_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_range_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_range_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_redir_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_redir_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_redir_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_redir_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_redir_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_ruby_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_ruby_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_ruby_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_ruby_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_ruby_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_ruby_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_ruby_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_ruby_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_ruby_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_set_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_set_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_set_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_set_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_set_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_set_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_set_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_set_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_set_backslash_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_set_backslash_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_set_backslash_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_set_backslash_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_set_backslash_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_sleep_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_sort_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_sort_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_sort_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_sort_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_substitute_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_substitute_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_substitute_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_substitute_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_substitute_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_substitute_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_substitute_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_substitute_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_substitute_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_substitute_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_substitute_10.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_substitute_11.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_syntax_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_syntax_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_syntax_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_syntax_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_syntax_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_syntax_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_syntax_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_syntax_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_syntax_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_syntax_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_syntax_10.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_syntax_11.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_syntax_12.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_syntax_13.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_syntax_14.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_syntax_15.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_syntax_16.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_syntax_17.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_syntax_18.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_syntax_19.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_syntax_20.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_syntax_21.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_syntime_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_syntime_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_syntime_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_tcl_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_tcl_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_tcl_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_tcl_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_tcl_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_tcl_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_tcl_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_tcl_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_tcl_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_terminal_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_terminal_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_terminal_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_terminal_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_terminal_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_throw_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_uniq_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_uniq_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_vimgrep_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_vimgrep_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_vimgrep_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_vimgrep_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_vimgrep_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_wincmd_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_wincmd_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_wincmd_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_ex_wincmd_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_expressions_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_expressions_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_expressions_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_expressions_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_expressions_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_expressions_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_expressions_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_expressions_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_expressions_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_expressions_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_expressions_10.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_expressions_11.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_expressions_12.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_expressions_13.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_expressions_14.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_expressions_15.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_expressions_16.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_expressions_17.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_expressions_18.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_expressions_19.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_expressions_20.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_expressions_21.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_expressions_22.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_expressions_23.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_expressions_24.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_calls_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_calls_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_calls_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_calls_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_calls_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_calls_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_calls_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_calls_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_calls_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_calls_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_calls_10.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_calls_11.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_calls_12.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_calls_13.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_calls_14.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_calls_15.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_variables_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_variables_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_variables_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_variables_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_variables_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_variables_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_variables_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_variables_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_variables_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_variables_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_variables_10.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_variables_11.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_variables_12.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_variables_13.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_variables_14.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_variables_15.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_variables_16.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_variables_17.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_variables_18.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_variables_19.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_variables_20.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_variables_21.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_variables_22.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_function_variables_23.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_key_notation_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_key_notation_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_key_notation_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_key_notation_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_key_notation_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_key_notation_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_key_notation_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_key_notation_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_key_notation_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_key_notation_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_lambdas_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_lambdas_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_lambdas_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_lambdas_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_lambdas_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_lambdas_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_lambdas_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_lambdas_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_line_continuation_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_line_continuation_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_line_continuation_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_line_continuation_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_new_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_new_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_no_comment_strings_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_no_comment_strings_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_nvim_features_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_nvim_features_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_nvim_features_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_nvim_features_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_nvim_features_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_nvim_features_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_nvim_features_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_nvim_features_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_nvim_features_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_nvim_features_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_nvim_features_10.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_nvim_features_11.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_nvim_features_12.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_predefined_user_commands_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_predefined_user_commands_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_shebang_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_variables_00.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_variables_01.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_variables_02.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_variables_03.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_variables_04.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_variables_05.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_variables_06.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_variables_07.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_variables_08.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_variables_09.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_variables_10.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_variables_11.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_variables_12.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_variables_13.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_variables_14.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_variables_15.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_variables_16.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_variables_17.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_variables_18.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_variables_19.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_variables_20.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_variables_21.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_variables_22.dump delete mode 100644 uvim/runtime/syntax/testdir/dumps/vim_variables_23.dump create mode 100644 uvim/runtime/syntax/testdir/ftplugin/java.mnv delete mode 100644 uvim/runtime/syntax/testdir/ftplugin/java.vim create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_blocks.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_builtin_object_methods.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_builtin_object_methods2.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_comment_strings.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_comments.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_constructors.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_def_variables.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_ex_class_fold.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_ex_commands.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_ex_echo.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_ex_enum.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_ex_enum2.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_ex_enum_fold.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_ex_for.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_ex_function_def_tail_comment_errors.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_ex_function_def_tail_comments.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_ex_import.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_ex_interface_fold.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_ex_let_heredoc.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_ex_loadkeymap.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_ex_type.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_expressions.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_function_calls.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_generic_function_example_enum.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_generic_function_example_list.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_generic_function_example_set.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_generic_functions.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_lambdas.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_legacy_header.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_legacy_header_fold.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_no_comment_strings.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_shebang.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_super_this_keywords.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_super_this_keywords2.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_super_this_keywords3.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_tuples.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_types.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_types_example_object.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_types_object.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv9_variables.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_comment_strings.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_comments.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_abbreviate.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_at.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_augroup.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_autocmd.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_behave.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_breakpoint_commands.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_call.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_catch.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_cd.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_command.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_command_modifiers.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_commands.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_debug.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_debuggreedy.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_def.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_def_fold.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_def_nested.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_def_nested_fold.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_def_return_type.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_defer.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_delfunction.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_do_commands.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_echo.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_eval.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_execute.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_filetype.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_filter.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_for.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_function.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_function_def_tail_comment_errors.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_function_def_tail_comments.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_function_fold.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_function_nested.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_function_nested_fold.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_grep.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_help.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_helpgrep.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_highlight.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_history.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_import.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_language.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_let_heredoc.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_loadkeymap.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_loadkeymap_after_bar.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_loadkeymap_after_colon.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_lua.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_make.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_map.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_mark.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_match.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_menu.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_menutranslate.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_mnvgrep.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_mzscheme.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_normal.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_perl.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_profile.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_prompt_commands.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_python.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_range.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_redir.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_ruby.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_set.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_set_backslash.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_sleep.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_sort.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_substitute.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_syntax.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_syntime.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_tcl.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_terminal.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_throw.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_uniq.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_ex_wincmd.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_expressions.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_function_calls.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_function_variables.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_key_notation.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_lambdas.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_line_continuation.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_new.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_nmnv_features.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_no_comment_strings.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_predefined_user_commands.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_shebang.mnv create mode 100644 uvim/runtime/syntax/testdir/input/mnv_variables.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/help.mnv delete mode 100644 uvim/runtime/syntax/testdir/input/setup/help.vim create mode 100644 uvim/runtime/syntax/testdir/input/setup/help_ex_version.mnv delete mode 100644 uvim/runtime/syntax/testdir/input/setup/help_ex_version.vim create mode 100644 uvim/runtime/syntax/testdir/input/setup/html_fold_expr.mnv delete mode 100644 uvim/runtime/syntax/testdir/input/setup/html_fold_expr.vim create mode 100644 uvim/runtime/syntax/testdir/input/setup/java_module_info.mnv delete mode 100644 uvim/runtime/syntax/testdir/input/setup/java_module_info.vim create mode 100644 uvim/runtime/syntax/testdir/input/setup/markdown_circularity.mnv delete mode 100644 uvim/runtime/syntax/testdir/input/setup/markdown_circularity.vim create mode 100644 uvim/runtime/syntax/testdir/input/setup/markdown_conceal.mnv delete mode 100644 uvim/runtime/syntax/testdir/input/setup/markdown_conceal.vim create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv9_blocks.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv9_builtin_object_methods2.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv9_comments.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv9_def_variables.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv9_ex_class_fold.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv9_ex_commands.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv9_ex_enum.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv9_ex_enum2.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv9_ex_for.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv9_ex_function_def_tail_comment_errors.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv9_ex_function_def_tail_comments.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv9_ex_import.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv9_ex_interface_fold.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv9_ex_let_heredoc.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv9_ex_loadkeymap.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv9_expressions.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv9_lambdas.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv9_legacy_header.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv9_super_this_keywords.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv9_super_this_keywords2.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv9_super_this_keywords3.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv9_variables.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_comments.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_ex_call.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_ex_command.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_ex_commands.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_ex_def.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_ex_def_fold.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_ex_def_nested.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_ex_def_nested_fold.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_ex_echo.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_ex_execute.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_ex_for.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_ex_function.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_ex_function_def_tail_comment_errors.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_ex_function_def_tail_comments.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_ex_function_fold.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_ex_import.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_ex_let_heredoc.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_ex_loadkeymap.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_ex_loadkeymap_after_bar.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_ex_loadkeymap_after_colon.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_ex_map.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_ex_match.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_ex_menu.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_ex_redir.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_ex_substitute.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_ex_syntax.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_expressions.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_function_variables.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_lambdas.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_line_continuation.mnv create mode 100644 uvim/runtime/syntax/testdir/input/setup/mnv_variables.mnv delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim9_blocks.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim9_builtin_object_methods2.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim9_comments.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim9_def_variables.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim9_ex_class_fold.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim9_ex_commands.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim9_ex_enum.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim9_ex_enum2.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim9_ex_for.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim9_ex_function_def_tail_comment_errors.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim9_ex_function_def_tail_comments.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim9_ex_import.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim9_ex_interface_fold.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim9_ex_let_heredoc.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim9_ex_loadkeymap.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim9_expressions.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim9_lambdas.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim9_legacy_header.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim9_super_this_keywords.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim9_super_this_keywords2.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim9_super_this_keywords3.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim9_variables.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_comments.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_ex_call.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_ex_command.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_ex_commands.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_ex_def.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_ex_def_fold.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_ex_def_nested.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_ex_def_nested_fold.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_ex_echo.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_ex_execute.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_ex_for.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_ex_function.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_ex_function_def_tail_comment_errors.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_ex_function_def_tail_comments.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_ex_function_fold.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_ex_import.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_ex_let_heredoc.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_ex_loadkeymap.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_ex_loadkeymap_after_bar.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_ex_loadkeymap_after_colon.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_ex_map.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_ex_match.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_ex_menu.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_ex_redir.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_ex_substitute.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_ex_syntax.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_expressions.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_function_variables.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_lambdas.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_line_continuation.vim delete mode 100644 uvim/runtime/syntax/testdir/input/setup/vim_variables.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_blocks.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_builtin_object_methods.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_builtin_object_methods2.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_comment_strings.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_comments.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_constructors.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_def_variables.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_ex_class_fold.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_ex_commands.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_ex_echo.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_ex_enum.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_ex_enum2.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_ex_enum_fold.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_ex_for.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_ex_function_def_tail_comment_errors.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_ex_function_def_tail_comments.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_ex_import.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_ex_interface_fold.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_ex_let_heredoc.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_ex_loadkeymap.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_ex_type.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_expressions.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_function_calls.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_generic_function_example_enum.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_generic_function_example_list.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_generic_function_example_set.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_generic_functions.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_lambdas.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_legacy_header.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_legacy_header_fold.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_no_comment_strings.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_shebang.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_super_this_keywords.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_super_this_keywords2.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_super_this_keywords3.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_tuples.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_types.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_types_example_object.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_types_object.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim9_variables.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_comment_strings.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_comments.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_abbreviate.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_at.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_augroup.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_autocmd.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_behave.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_breakpoint_commands.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_call.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_catch.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_cd.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_command.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_command_modifiers.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_commands.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_debug.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_debuggreedy.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_def.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_def_fold.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_def_nested.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_def_nested_fold.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_def_return_type.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_defer.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_delfunction.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_do_commands.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_echo.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_eval.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_execute.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_filetype.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_filter.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_for.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_function.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_function_def_tail_comment_errors.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_function_def_tail_comments.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_function_fold.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_function_nested.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_function_nested_fold.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_grep.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_help.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_helpgrep.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_highlight.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_history.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_import.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_language.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_let_heredoc.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_loadkeymap.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_loadkeymap_after_bar.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_loadkeymap_after_colon.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_lua.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_make.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_map.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_mark.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_match.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_menu.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_menutranslate.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_mzscheme.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_normal.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_perl.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_profile.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_prompt_commands.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_python.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_range.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_redir.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_ruby.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_set.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_set_backslash.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_sleep.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_sort.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_substitute.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_syntax.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_syntime.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_tcl.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_terminal.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_throw.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_uniq.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_vimgrep.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_ex_wincmd.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_expressions.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_function_calls.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_function_variables.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_key_notation.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_lambdas.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_line_continuation.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_new.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_no_comment_strings.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_nvim_features.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_predefined_user_commands.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_shebang.vim delete mode 100644 uvim/runtime/syntax/testdir/input/vim_variables.vim create mode 100644 uvim/runtime/syntax/testdir/runtest.mnv delete mode 100644 uvim/runtime/syntax/testdir/runtest.vim create mode 100644 uvim/runtime/syntax/testdir/viewdumps.mnv delete mode 100644 uvim/runtime/syntax/testdir/viewdumps.vim create mode 100644 uvim/runtime/syntax/tex.mnv delete mode 100644 uvim/runtime/syntax/tex.vim create mode 100644 uvim/runtime/syntax/texinfo.mnv delete mode 100644 uvim/runtime/syntax/texinfo.vim create mode 100644 uvim/runtime/syntax/texmf.mnv delete mode 100644 uvim/runtime/syntax/texmf.vim create mode 100644 uvim/runtime/syntax/tf.mnv delete mode 100644 uvim/runtime/syntax/tf.vim create mode 100644 uvim/runtime/syntax/thrift.mnv delete mode 100644 uvim/runtime/syntax/thrift.vim create mode 100644 uvim/runtime/syntax/tiasm.mnv delete mode 100644 uvim/runtime/syntax/tiasm.vim create mode 100644 uvim/runtime/syntax/tidy.mnv delete mode 100644 uvim/runtime/syntax/tidy.vim create mode 100644 uvim/runtime/syntax/tilde.mnv delete mode 100644 uvim/runtime/syntax/tilde.vim create mode 100644 uvim/runtime/syntax/tli.mnv delete mode 100644 uvim/runtime/syntax/tli.vim create mode 100644 uvim/runtime/syntax/tmux.mnv delete mode 100644 uvim/runtime/syntax/tmux.vim create mode 100644 uvim/runtime/syntax/toml.mnv delete mode 100644 uvim/runtime/syntax/toml.vim create mode 100644 uvim/runtime/syntax/tpp.mnv delete mode 100644 uvim/runtime/syntax/tpp.vim create mode 100644 uvim/runtime/syntax/trasys.mnv delete mode 100644 uvim/runtime/syntax/trasys.vim create mode 100644 uvim/runtime/syntax/treetop.mnv delete mode 100644 uvim/runtime/syntax/treetop.vim create mode 100644 uvim/runtime/syntax/trustees.mnv delete mode 100644 uvim/runtime/syntax/trustees.vim create mode 100644 uvim/runtime/syntax/tsalt.mnv delete mode 100644 uvim/runtime/syntax/tsalt.vim create mode 100644 uvim/runtime/syntax/tsscl.mnv delete mode 100644 uvim/runtime/syntax/tsscl.vim create mode 100644 uvim/runtime/syntax/tssgm.mnv delete mode 100644 uvim/runtime/syntax/tssgm.vim create mode 100644 uvim/runtime/syntax/tssop.mnv delete mode 100644 uvim/runtime/syntax/tssop.vim create mode 100644 uvim/runtime/syntax/tsv.mnv delete mode 100644 uvim/runtime/syntax/tsv.vim create mode 100644 uvim/runtime/syntax/tt2.mnv delete mode 100644 uvim/runtime/syntax/tt2.vim create mode 100644 uvim/runtime/syntax/tt2html.mnv delete mode 100644 uvim/runtime/syntax/tt2html.vim create mode 100644 uvim/runtime/syntax/tt2js.mnv delete mode 100644 uvim/runtime/syntax/tt2js.vim create mode 100644 uvim/runtime/syntax/tutor.mnv delete mode 100644 uvim/runtime/syntax/tutor.vim create mode 100644 uvim/runtime/syntax/typescript.mnv delete mode 100644 uvim/runtime/syntax/typescript.vim create mode 100644 uvim/runtime/syntax/typescriptreact.mnv delete mode 100644 uvim/runtime/syntax/typescriptreact.vim create mode 100644 uvim/runtime/syntax/typst.mnv delete mode 100644 uvim/runtime/syntax/typst.vim create mode 100644 uvim/runtime/syntax/uc.mnv delete mode 100644 uvim/runtime/syntax/uc.vim create mode 100644 uvim/runtime/syntax/uci.mnv delete mode 100644 uvim/runtime/syntax/uci.vim create mode 100644 uvim/runtime/syntax/udevconf.mnv delete mode 100644 uvim/runtime/syntax/udevconf.vim create mode 100644 uvim/runtime/syntax/udevperm.mnv delete mode 100644 uvim/runtime/syntax/udevperm.vim create mode 100644 uvim/runtime/syntax/udevrules.mnv delete mode 100644 uvim/runtime/syntax/udevrules.vim create mode 100644 uvim/runtime/syntax/uil.mnv delete mode 100644 uvim/runtime/syntax/uil.vim create mode 100644 uvim/runtime/syntax/unison.mnv delete mode 100644 uvim/runtime/syntax/unison.vim create mode 100644 uvim/runtime/syntax/updatedb.mnv delete mode 100644 uvim/runtime/syntax/updatedb.vim create mode 100644 uvim/runtime/syntax/upstart.mnv delete mode 100644 uvim/runtime/syntax/upstart.vim create mode 100644 uvim/runtime/syntax/upstreamdat.mnv delete mode 100644 uvim/runtime/syntax/upstreamdat.vim create mode 100644 uvim/runtime/syntax/upstreaminstalllog.mnv delete mode 100644 uvim/runtime/syntax/upstreaminstalllog.vim create mode 100644 uvim/runtime/syntax/upstreamlog.mnv delete mode 100644 uvim/runtime/syntax/upstreamlog.vim create mode 100644 uvim/runtime/syntax/upstreamrpt.mnv delete mode 100644 uvim/runtime/syntax/upstreamrpt.vim create mode 100644 uvim/runtime/syntax/urlshortcut.mnv delete mode 100644 uvim/runtime/syntax/urlshortcut.vim create mode 100644 uvim/runtime/syntax/usserverlog.mnv delete mode 100644 uvim/runtime/syntax/usserverlog.vim create mode 100644 uvim/runtime/syntax/usw2kagtlog.mnv delete mode 100644 uvim/runtime/syntax/usw2kagtlog.vim create mode 100644 uvim/runtime/syntax/valgrind.mnv delete mode 100644 uvim/runtime/syntax/valgrind.vim create mode 100644 uvim/runtime/syntax/vb.mnv delete mode 100644 uvim/runtime/syntax/vb.vim create mode 100644 uvim/runtime/syntax/vdf.mnv delete mode 100644 uvim/runtime/syntax/vdf.vim create mode 100644 uvim/runtime/syntax/vera.mnv delete mode 100644 uvim/runtime/syntax/vera.vim create mode 100644 uvim/runtime/syntax/verilog.mnv delete mode 100644 uvim/runtime/syntax/verilog.vim create mode 100644 uvim/runtime/syntax/verilogams.mnv delete mode 100644 uvim/runtime/syntax/verilogams.vim create mode 100644 uvim/runtime/syntax/vgrindefs.mnv delete mode 100644 uvim/runtime/syntax/vgrindefs.vim create mode 100644 uvim/runtime/syntax/vhdl.mnv delete mode 100644 uvim/runtime/syntax/vhdl.vim delete mode 100644 uvim/runtime/syntax/vim.vim delete mode 100644 uvim/runtime/syntax/viminfo.vim delete mode 100644 uvim/runtime/syntax/vimnormal.vim create mode 100644 uvim/runtime/syntax/virata.mnv delete mode 100644 uvim/runtime/syntax/virata.vim create mode 100644 uvim/runtime/syntax/vmasm.mnv delete mode 100644 uvim/runtime/syntax/vmasm.vim create mode 100644 uvim/runtime/syntax/voscm.mnv delete mode 100644 uvim/runtime/syntax/voscm.vim create mode 100644 uvim/runtime/syntax/vrml.mnv delete mode 100644 uvim/runtime/syntax/vrml.vim create mode 100644 uvim/runtime/syntax/vroom.mnv delete mode 100644 uvim/runtime/syntax/vroom.vim create mode 100644 uvim/runtime/syntax/vsejcl.mnv delete mode 100644 uvim/runtime/syntax/vsejcl.vim create mode 100644 uvim/runtime/syntax/vue.mnv delete mode 100644 uvim/runtime/syntax/vue.vim create mode 100644 uvim/runtime/syntax/wat.mnv delete mode 100644 uvim/runtime/syntax/wat.vim create mode 100644 uvim/runtime/syntax/wdiff.mnv delete mode 100644 uvim/runtime/syntax/wdiff.vim create mode 100644 uvim/runtime/syntax/wdl.mnv delete mode 100644 uvim/runtime/syntax/wdl.vim create mode 100644 uvim/runtime/syntax/web.mnv delete mode 100644 uvim/runtime/syntax/web.vim create mode 100644 uvim/runtime/syntax/webmacro.mnv delete mode 100644 uvim/runtime/syntax/webmacro.vim create mode 100644 uvim/runtime/syntax/wget.mnv delete mode 100644 uvim/runtime/syntax/wget.vim create mode 100644 uvim/runtime/syntax/wget2.mnv delete mode 100644 uvim/runtime/syntax/wget2.vim create mode 100644 uvim/runtime/syntax/whitespace.mnv delete mode 100644 uvim/runtime/syntax/whitespace.vim create mode 100644 uvim/runtime/syntax/winbatch.mnv delete mode 100644 uvim/runtime/syntax/winbatch.vim create mode 100644 uvim/runtime/syntax/wks.mnv delete mode 100644 uvim/runtime/syntax/wks.vim create mode 100644 uvim/runtime/syntax/wml.mnv delete mode 100644 uvim/runtime/syntax/wml.vim create mode 100644 uvim/runtime/syntax/wsh.mnv delete mode 100644 uvim/runtime/syntax/wsh.vim create mode 100644 uvim/runtime/syntax/wsml.mnv delete mode 100644 uvim/runtime/syntax/wsml.vim create mode 100644 uvim/runtime/syntax/wvdial.mnv delete mode 100644 uvim/runtime/syntax/wvdial.vim create mode 100644 uvim/runtime/syntax/xbl.mnv delete mode 100644 uvim/runtime/syntax/xbl.vim create mode 100644 uvim/runtime/syntax/xcompose.mnv delete mode 100644 uvim/runtime/syntax/xcompose.vim create mode 100644 uvim/runtime/syntax/xdefaults.mnv delete mode 100644 uvim/runtime/syntax/xdefaults.vim create mode 100644 uvim/runtime/syntax/xf86conf.mnv delete mode 100644 uvim/runtime/syntax/xf86conf.vim create mode 100644 uvim/runtime/syntax/xhtml.mnv delete mode 100644 uvim/runtime/syntax/xhtml.vim create mode 100644 uvim/runtime/syntax/xinetd.mnv delete mode 100644 uvim/runtime/syntax/xinetd.vim create mode 100644 uvim/runtime/syntax/xkb.mnv delete mode 100644 uvim/runtime/syntax/xkb.vim create mode 100644 uvim/runtime/syntax/xmath.mnv delete mode 100644 uvim/runtime/syntax/xmath.vim create mode 100644 uvim/runtime/syntax/xml.mnv delete mode 100644 uvim/runtime/syntax/xml.vim create mode 100644 uvim/runtime/syntax/xmodmap.mnv delete mode 100644 uvim/runtime/syntax/xmodmap.vim create mode 100644 uvim/runtime/syntax/xpm.mnv delete mode 100644 uvim/runtime/syntax/xpm.vim create mode 100644 uvim/runtime/syntax/xpm2.mnv delete mode 100644 uvim/runtime/syntax/xpm2.vim create mode 100644 uvim/runtime/syntax/xquery.mnv delete mode 100644 uvim/runtime/syntax/xquery.vim create mode 100644 uvim/runtime/syntax/xs.mnv delete mode 100644 uvim/runtime/syntax/xs.vim create mode 100644 uvim/runtime/syntax/xsd.mnv delete mode 100644 uvim/runtime/syntax/xsd.vim create mode 100644 uvim/runtime/syntax/xslt.mnv delete mode 100644 uvim/runtime/syntax/xslt.vim create mode 100644 uvim/runtime/syntax/xxd.mnv delete mode 100644 uvim/runtime/syntax/xxd.vim create mode 100644 uvim/runtime/syntax/yacc.mnv delete mode 100644 uvim/runtime/syntax/yacc.vim create mode 100644 uvim/runtime/syntax/yaml.mnv delete mode 100644 uvim/runtime/syntax/yaml.vim create mode 100644 uvim/runtime/syntax/z8a.mnv delete mode 100644 uvim/runtime/syntax/z8a.vim create mode 100644 uvim/runtime/syntax/zathurarc.mnv delete mode 100644 uvim/runtime/syntax/zathurarc.vim create mode 100644 uvim/runtime/syntax/zig.mnv delete mode 100644 uvim/runtime/syntax/zig.vim create mode 100644 uvim/runtime/syntax/zimbu.mnv delete mode 100644 uvim/runtime/syntax/zimbu.vim create mode 100644 uvim/runtime/syntax/zir.mnv delete mode 100644 uvim/runtime/syntax/zir.vim create mode 100644 uvim/runtime/syntax/zserio.mnv delete mode 100644 uvim/runtime/syntax/zserio.vim create mode 100644 uvim/runtime/syntax/zsh.mnv delete mode 100644 uvim/runtime/syntax/zsh.vim (limited to 'uvim/runtime/syntax') diff --git a/uvim/runtime/syntax/2html.mnv b/uvim/runtime/syntax/2html.mnv new file mode 100644 index 0000000000..76bac07038 --- /dev/null +++ b/uvim/runtime/syntax/2html.mnv @@ -0,0 +1,2072 @@ +" MNV syntax support file +" Maintainer: Ben Fritz +" Last Change: 2024 Nov 02 +" +" Additional contributors: +" +" Original by Bram Moolenaar +" Modified by David Ne\v{c}as (Yeti) +" XHTML support by Panagiotis Issaris +" Made w3 compliant by Edd Barrett +" Added html_font. Edd Barrett +" Progress bar based off code from "progressbar widget" plugin by +" Andreas Politz, heavily modified: +" http://www.mnv.org/scripts/script.php?script_id=2006 +" +" See Mercurial change logs for more! + +" Transform a file into HTML, using the current syntax highlighting. + +" this file uses line continuations +let s:cpo_sav = &cpo +let s:ls = &ls +let s:ei_sav = &eventignore +set cpo&mnv + +" HTML filetype can take a while to load/highlight if the destination file +" already exists. +set eventignore+=FileType + +let s:end=line('$') + +" Font +if exists("g:html_font") + if type(g:html_font) == type([]) + let s:htmlfont = "'".. join(g:html_font,"','") .. "', monospace" + else + let s:htmlfont = "'".. g:html_font .. "', monospace" + endif +else + let s:htmlfont = "monospace" +endif + +let s:settings = tohtml#GetUserSettings() + +if s:settings.use_xhtml + let s:html5 = 0 +elseif s:settings.use_css && !s:settings.no_pre + let s:html5 = 1 +else + let s:html5 = 0 +endif + +if !exists('s:FOLDED_ID') + let s:FOLDED_ID = hlID("Folded") | lockvar s:FOLDED_ID + let s:FOLD_C_ID = hlID("FoldColumn") | lockvar s:FOLD_C_ID + let s:LINENR_ID = hlID('LineNr') | lockvar s:LINENR_ID + let s:DIFF_D_ID = hlID("DiffDelete") | lockvar s:DIFF_D_ID + let s:DIFF_A_ID = hlID("DiffAdd") | lockvar s:DIFF_A_ID + let s:DIFF_C_ID = hlID("DiffChange") | lockvar s:DIFF_C_ID + let s:DIFF_T_ID = hlID("DiffText") | lockvar s:DIFF_T_ID + let s:CONCEAL_ID = hlID('Conceal') | lockvar s:CONCEAL_ID +endif + +" Whitespace +if s:settings.pre_wrap + let s:whitespace = "white-space: pre-wrap; " +else + let s:whitespace = "" +endif + +if !empty(s:settings.prevent_copy) + if s:settings.no_invalid + " User has decided they don't want invalid markup. Still works in + " OpenOffice, and for text editors, but when pasting into Microsoft Word the + " input elements get pasted too and they cannot be deleted (at least not + " easily). + let s:unselInputType = "" + else + " Prevent from copy-pasting the input elements into Microsoft Word where + " they cannot be deleted easily by deliberately inserting invalid markup. + let s:unselInputType = " type='invalid_input_type'" + endif +endif + +" When gui colors are not supported, we can only guess the colors. +" TODO - is this true anymore? Is there a way to ask the terminal what colors +" each number means or read them from some file? +if &termguicolors || has("gui_running") + let s:whatterm = "gui" +else + let s:whatterm = "cterm" + if &t_Co == 8 + let s:cterm_color = { + \ 0: "#808080", 1: "#ff6060", 2: "#00ff00", 3: "#ffff00", + \ 4: "#8080ff", 5: "#ff40ff", 6: "#00ffff", 7: "#ffffff" + \ } + else + let s:cterm_color = { + \ 0: "#000000", 1: "#c00000", 2: "#008000", 3: "#804000", + \ 4: "#0000c0", 5: "#c000c0", 6: "#008080", 7: "#c0c0c0", + \ 8: "#808080", 9: "#ff6060", 10: "#00ff00", 11: "#ffff00", + \ 12: "#8080ff", 13: "#ff40ff", 14: "#00ffff", 15: "#ffffff" + \ } + + " Colors for 88 and 256 come from xterm. + if &t_Co == 88 + call extend(s:cterm_color, { + \ 16: "#000000", 17: "#00008b", 18: "#0000cd", 19: "#0000ff", + \ 20: "#008b00", 21: "#008b8b", 22: "#008bcd", 23: "#008bff", + \ 24: "#00cd00", 25: "#00cd8b", 26: "#00cdcd", 27: "#00cdff", + \ 28: "#00ff00", 29: "#00ff8b", 30: "#00ffcd", 31: "#00ffff", + \ 32: "#8b0000", 33: "#8b008b", 34: "#8b00cd", 35: "#8b00ff", + \ 36: "#8b8b00", 37: "#8b8b8b", 38: "#8b8bcd", 39: "#8b8bff", + \ 40: "#8bcd00", 41: "#8bcd8b", 42: "#8bcdcd", 43: "#8bcdff", + \ 44: "#8bff00", 45: "#8bff8b", 46: "#8bffcd", 47: "#8bffff", + \ 48: "#cd0000", 49: "#cd008b", 50: "#cd00cd", 51: "#cd00ff", + \ 52: "#cd8b00", 53: "#cd8b8b", 54: "#cd8bcd", 55: "#cd8bff", + \ 56: "#cdcd00", 57: "#cdcd8b", 58: "#cdcdcd", 59: "#cdcdff", + \ 60: "#cdff00", 61: "#cdff8b", 62: "#cdffcd", 63: "#cdffff", + \ 64: "#ff0000" + \ }) + call extend(s:cterm_color, { + \ 65: "#ff008b", 66: "#ff00cd", 67: "#ff00ff", 68: "#ff8b00", + \ 69: "#ff8b8b", 70: "#ff8bcd", 71: "#ff8bff", 72: "#ffcd00", + \ 73: "#ffcd8b", 74: "#ffcdcd", 75: "#ffcdff", 76: "#ffff00", + \ 77: "#ffff8b", 78: "#ffffcd", 79: "#ffffff", 80: "#2e2e2e", + \ 81: "#5c5c5c", 82: "#737373", 83: "#8b8b8b", 84: "#a2a2a2", + \ 85: "#b9b9b9", 86: "#d0d0d0", 87: "#e7e7e7" + \ }) + elseif &t_Co == 256 + call extend(s:cterm_color, { + \ 16: "#000000", 17: "#00005f", 18: "#000087", 19: "#0000af", + \ 20: "#0000d7", 21: "#0000ff", 22: "#005f00", 23: "#005f5f", + \ 24: "#005f87", 25: "#005faf", 26: "#005fd7", 27: "#005fff", + \ 28: "#008700", 29: "#00875f", 30: "#008787", 31: "#0087af", + \ 32: "#0087d7", 33: "#0087ff", 34: "#00af00", 35: "#00af5f", + \ 36: "#00af87", 37: "#00afaf", 38: "#00afd7", 39: "#00afff", + \ 40: "#00d700", 41: "#00d75f", 42: "#00d787", 43: "#00d7af", + \ 44: "#00d7d7", 45: "#00d7ff", 46: "#00ff00", 47: "#00ff5f", + \ 48: "#00ff87", 49: "#00ffaf", 50: "#00ffd7", 51: "#00ffff", + \ 52: "#5f0000", 53: "#5f005f", 54: "#5f0087", 55: "#5f00af", + \ 56: "#5f00d7", 57: "#5f00ff", 58: "#5f5f00", 59: "#5f5f5f", + \ 60: "#5f5f87", 61: "#5f5faf", 62: "#5f5fd7", 63: "#5f5fff", + \ 64: "#5f8700" + \ }) + call extend(s:cterm_color, { + \ 65: "#5f875f", 66: "#5f8787", 67: "#5f87af", 68: "#5f87d7", + \ 69: "#5f87ff", 70: "#5faf00", 71: "#5faf5f", 72: "#5faf87", + \ 73: "#5fafaf", 74: "#5fafd7", 75: "#5fafff", 76: "#5fd700", + \ 77: "#5fd75f", 78: "#5fd787", 79: "#5fd7af", 80: "#5fd7d7", + \ 81: "#5fd7ff", 82: "#5fff00", 83: "#5fff5f", 84: "#5fff87", + \ 85: "#5fffaf", 86: "#5fffd7", 87: "#5fffff", 88: "#870000", + \ 89: "#87005f", 90: "#870087", 91: "#8700af", 92: "#8700d7", + \ 93: "#8700ff", 94: "#875f00", 95: "#875f5f", 96: "#875f87", + \ 97: "#875faf", 98: "#875fd7", 99: "#875fff", 100: "#878700", + \ 101: "#87875f", 102: "#878787", 103: "#8787af", 104: "#8787d7", + \ 105: "#8787ff", 106: "#87af00", 107: "#87af5f", 108: "#87af87", + \ 109: "#87afaf", 110: "#87afd7", 111: "#87afff", 112: "#87d700" + \ }) + call extend(s:cterm_color, { + \ 113: "#87d75f", 114: "#87d787", 115: "#87d7af", 116: "#87d7d7", + \ 117: "#87d7ff", 118: "#87ff00", 119: "#87ff5f", 120: "#87ff87", + \ 121: "#87ffaf", 122: "#87ffd7", 123: "#87ffff", 124: "#af0000", + \ 125: "#af005f", 126: "#af0087", 127: "#af00af", 128: "#af00d7", + \ 129: "#af00ff", 130: "#af5f00", 131: "#af5f5f", 132: "#af5f87", + \ 133: "#af5faf", 134: "#af5fd7", 135: "#af5fff", 136: "#af8700", + \ 137: "#af875f", 138: "#af8787", 139: "#af87af", 140: "#af87d7", + \ 141: "#af87ff", 142: "#afaf00", 143: "#afaf5f", 144: "#afaf87", + \ 145: "#afafaf", 146: "#afafd7", 147: "#afafff", 148: "#afd700", + \ 149: "#afd75f", 150: "#afd787", 151: "#afd7af", 152: "#afd7d7", + \ 153: "#afd7ff", 154: "#afff00", 155: "#afff5f", 156: "#afff87", + \ 157: "#afffaf", 158: "#afffd7" + \ }) + call extend(s:cterm_color, { + \ 159: "#afffff", 160: "#d70000", 161: "#d7005f", 162: "#d70087", + \ 163: "#d700af", 164: "#d700d7", 165: "#d700ff", 166: "#d75f00", + \ 167: "#d75f5f", 168: "#d75f87", 169: "#d75faf", 170: "#d75fd7", + \ 171: "#d75fff", 172: "#d78700", 173: "#d7875f", 174: "#d78787", + \ 175: "#d787af", 176: "#d787d7", 177: "#d787ff", 178: "#d7af00", + \ 179: "#d7af5f", 180: "#d7af87", 181: "#d7afaf", 182: "#d7afd7", + \ 183: "#d7afff", 184: "#d7d700", 185: "#d7d75f", 186: "#d7d787", + \ 187: "#d7d7af", 188: "#d7d7d7", 189: "#d7d7ff", 190: "#d7ff00", + \ 191: "#d7ff5f", 192: "#d7ff87", 193: "#d7ffaf", 194: "#d7ffd7", + \ 195: "#d7ffff", 196: "#ff0000", 197: "#ff005f", 198: "#ff0087", + \ 199: "#ff00af", 200: "#ff00d7", 201: "#ff00ff", 202: "#ff5f00", + \ 203: "#ff5f5f", 204: "#ff5f87" + \ }) + call extend(s:cterm_color, { + \ 205: "#ff5faf", 206: "#ff5fd7", 207: "#ff5fff", 208: "#ff8700", + \ 209: "#ff875f", 210: "#ff8787", 211: "#ff87af", 212: "#ff87d7", + \ 213: "#ff87ff", 214: "#ffaf00", 215: "#ffaf5f", 216: "#ffaf87", + \ 217: "#ffafaf", 218: "#ffafd7", 219: "#ffafff", 220: "#ffd700", + \ 221: "#ffd75f", 222: "#ffd787", 223: "#ffd7af", 224: "#ffd7d7", + \ 225: "#ffd7ff", 226: "#ffff00", 227: "#ffff5f", 228: "#ffff87", + \ 229: "#ffffaf", 230: "#ffffd7", 231: "#ffffff", 232: "#080808", + \ 233: "#121212", 234: "#1c1c1c", 235: "#262626", 236: "#303030", + \ 237: "#3a3a3a", 238: "#444444", 239: "#4e4e4e", 240: "#585858", + \ 241: "#626262", 242: "#6c6c6c", 243: "#767676", 244: "#808080", + \ 245: "#8a8a8a", 246: "#949494", 247: "#9e9e9e", 248: "#a8a8a8", + \ 249: "#b2b2b2", 250: "#bcbcbc", 251: "#c6c6c6", 252: "#d0d0d0", + \ 253: "#dadada", 254: "#e4e4e4", 255: "#eeeeee" + \ }) + endif + endif +endif + +" Return good color specification: in GUI no transformation is done, in +" terminal return RGB values of known colors and empty string for unknown +if s:whatterm == "gui" + function! s:HtmlColor(color) + return a:color + endfun +else + function! s:HtmlColor(color) + if has_key(s:cterm_color, a:color) + return s:cterm_color[a:color] + else + return "" + endif + endfun +endif + +" Find out the background and foreground color for use later +let s:fgc = s:HtmlColor(synIDattr(hlID("Normal")->synIDtrans(), "fg#", s:whatterm)) +let s:bgc = s:HtmlColor(synIDattr(hlID("Normal")->synIDtrans(), "bg#", s:whatterm)) +if s:fgc == "" + let s:fgc = ( &background == "dark" ? "#ffffff" : "#000000" ) +endif +if s:bgc == "" + let s:bgc = ( &background == "dark" ? "#000000" : "#ffffff" ) +endif + +if !s:settings.use_css + " Return opening HTML tag for given highlight id + function! s:HtmlOpening(id, extra_attrs) + let a = "" + let translated_ID = synIDtrans(a:id) + if synIDattr(translated_ID, "inverse") + " For inverse, we always must set both colors (and exchange them) + let x = s:HtmlColor(synIDattr(translated_ID, "fg#", s:whatterm)) + let a = a .. '' + let x = s:HtmlColor(synIDattr(translated_ID, "bg#", s:whatterm)) + let a = a .. '' + else + let x = s:HtmlColor(synIDattr(translated_ID, "bg#", s:whatterm)) + if x != "" + let a = a .. '' + elseif !empty(a:extra_attrs) + let a = a .. '' + endif + let x = s:HtmlColor(synIDattr(translated_ID, "fg#", s:whatterm)) + if x != "" | let a = a .. '' | endif + endif + if synIDattr(translated_ID, "bold") | let a = a .. "" | endif + if synIDattr(translated_ID, "italic") | let a = a .. "" | endif + if synIDattr(translated_ID, "underline") | let a = a .. "" | endif + return a + endfun + + " Return closing HTML tag for given highlight id + function! s:HtmlClosing(id, has_extra_attrs) + let a = "" + let translated_ID = synIDtrans(a:id) + if synIDattr(translated_ID, "underline") | let a = a .. "" | endif + if synIDattr(translated_ID, "italic") | let a = a .. "" | endif + if synIDattr(translated_ID, "bold") | let a = a .. "" | endif + if synIDattr(translated_ID, "inverse") + let a = a .. '' + else + let x = s:HtmlColor(synIDattr(translated_ID, "fg#", s:whatterm)) + if x != "" | let a = a .. '' | endif + let x = s:HtmlColor(synIDattr(translated_ID, "bg#", s:whatterm)) + if x != "" || a:has_extra_attrs | let a = a .. '' | endif + endif + return a + endfun +endif + +" Use a different function for formatting based on user options. This way we +" can avoid a lot of logic during the actual execution. +" +" Build the function line by line containing only what is needed for the options +" in use for maximum code sharing with minimal branch logic for greater speed. +" +" Note, 'exec' commands do not recognize line continuations, so must concatenate +" lines rather than continue them. +if s:settings.use_css + " save CSS to a list of rules to add to the output at the end of processing + + " first, get the style names we need + let s:wrapperfunc_lines = [] + call add(s:wrapperfunc_lines, []) + let s:wrapperfunc_lines[-1] =<< trim ENDLET + function! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, make_unselectable, unformatted) + + let l:style_name = synIDattr(a:style_id, "name", s:whatterm) + ENDLET + if &diff + call add(s:wrapperfunc_lines, []) + let s:wrapperfunc_lines[-1] =<< trim ENDLET + let l:diff_style_name = synIDattr(a:diff_style_id, "name", s:whatterm) + ENDLET + + " Add normal groups and diff groups to separate lists so we can order them to + " allow diff highlight to override normal highlight + + " if primary style IS a diff style, grab it from the diff cache instead + " (always succeeds because we pre-populate it) + call add(s:wrapperfunc_lines, []) + let s:wrapperfunc_lines[-1] =<< trim ENDLET + + if a:style_id == s:DIFF_D_ID || a:style_id == s:DIFF_A_ID || a:style_id == s:DIFF_C_ID || a:style_id == s:DIFF_T_ID + let l:saved_style = get(s:diffstylelist,a:style_id) + else + ENDLET + endif + + " get primary style info from cache or build it on the fly if not found + call add(s:wrapperfunc_lines, []) + let s:wrapperfunc_lines[-1] =<< trim ENDLET + let l:saved_style = get(s:stylelist,a:style_id) + if type(l:saved_style) == type(0) + unlet l:saved_style + let l:saved_style = s:CSS1(a:style_id) + if l:saved_style != "" + let l:saved_style = "." .. l:style_name .. " { " .. l:saved_style .. "}" + endif + let s:stylelist[a:style_id] = l:saved_style + endif + ENDLET + if &diff + call add(s:wrapperfunc_lines, []) + let s:wrapperfunc_lines[-1] =<< trim ENDLET + endif + ENDLET + endif +" Ignore this comment, just bypassing a highlighting issue: if + + " Build the wrapper tags around the text. It turns out that caching these + " gives pretty much zero performance gain and adds a lot of logic. + + call add(s:wrapperfunc_lines, []) + let s:wrapperfunc_lines[-1] =<< trim ENDLET + + if l:saved_style == "" && empty(a:extra_attrs) + ENDLET + if &diff + call add(s:wrapperfunc_lines, []) + let s:wrapperfunc_lines[-1] =<< trim ENDLET + if a:diff_style_id <= 0 + ENDLET + endif + " no surroundings if neither primary nor diff style has any info + call add(s:wrapperfunc_lines, []) + let s:wrapperfunc_lines[-1] =<< trim ENDLET + return a:text + ENDLET + if &diff + " no primary style, but diff style + call add(s:wrapperfunc_lines, []) + let s:wrapperfunc_lines[-1] =<< trim ENDLET + else + return ''..a:text.."" + endif + ENDLET + endif + " Ignore this comment, just bypassing a highlighting issue: if + + " open tag for non-empty primary style + call add(s:wrapperfunc_lines, []) + let s:wrapperfunc_lines[-1] =<< trim ENDLET + else + ENDLET + " non-empty primary style. handle either empty or non-empty diff style. + " + " separate the two classes by a space to apply them both if there is a diff + " style name, unless the primary style is empty, then just use the diff style + " name + let s:diffstyle = + \ (&diff ? '(a:diff_style_id <= 0 ? "" : " " .. l:diff_style_name)..' + \ : '') + if s:settings.prevent_copy == "" + call add(s:wrapperfunc_lines, []) + let s:wrapperfunc_lines[-1] =<< trim eval ENDLET + return "'..a:text.."" + ENDLET + else + + " New method: use generated content in the CSS. The only thing needed here + " is a span with no content, with an attribute holding the desired text. + " + " Old method: use an element when text is unsectable. This is still + " used in conditional comments for Internet Explorer, where the new method + " doesn't work. + " + " Wrap the in a to allow fixing the stupid bug in some fonts + " which cause browsers to display a 1px gap between lines when these + " s have a background color (maybe not really a bug, this isn't + " well-defined) + " + " use strwidth, because we care only about how many character boxes are + " needed to size the input, we don't care how many characters (including + " separately counted composing chars, from strchars()) or bytes (from + " len())the string contains. strdisplaywidth() is not needed because none of + " the unselectable groups can contain tab characters (fold column, fold + " text, line number). + " + " Note, if maxlength property needs to be added in the future, it will need + " to use strchars(), because HTML specifies that the maxlength parameter + " uses the number of unique codepoints for its limit. + call add(s:wrapperfunc_lines, []) + let s:wrapperfunc_lines[-1] =<< trim eval ENDLET + if a:make_unselectable + let return_span = "' : '>') + ENDLET + endif + call add(s:wrapperfunc_lines, []) + let s:wrapperfunc_lines[-1] =<< trim eval ENDLET + return return_span..'' + else + return "'..a:text.."" + endif + ENDLET + endif + call add(s:wrapperfunc_lines, []) + let s:wrapperfunc_lines[-1] =<< trim ENDLET + endif + endfun + ENDLET +else + " Non-CSS method just needs the wrapper. + " + " Functions used to get opening/closing automatically return null strings if + " no styles exist. + if &diff + let s:wrapperfunc_lines =<< trim ENDLET + function! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, unusedarg, unusedarg2) + if a:diff_style_id <= 0 + let l:diff_opening = s:HtmlOpening(a:diff_style_id, "") + let l:diff_closing = s:HtmlClosing(a:diff_style_id, 0) + else + let l:diff_opening = "" + let l:diff_closing = "" + endif + return s:HtmlOpening(a:style_id, a:extra_attrs)..l:diff_opening..a:text..l:diff_closing..s:HtmlClosing(a:style_id, !empty(a:extra_attrs)) + endfun + ENDLET + else + let s:wrapperfunc_lines =<< trim ENDLET + function! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, unusedarg, unusedarg2) + return s:HtmlOpening(a:style_id, a:extra_attrs)..a:text..s:HtmlClosing(a:style_id, !empty(a:extra_attrs)) + endfun + ENDLET + endif +endif + +" create the function we built line by line above +exec join(flatten(s:wrapperfunc_lines), "\n") + +let s:diff_mode = &diff + +" Return HTML valid characters enclosed in a span of class style_name with +" unprintable characters expanded and double spaces replaced as necessary. +" +" TODO: eliminate unneeded logic like done for BuildStyleWrapper +function! s:HtmlFormat(text, style_id, diff_style_id, extra_attrs, make_unselectable) + " Replace unprintable characters + let unformatted = strtrans(a:text) + + let formatted = unformatted + + " Replace the reserved html characters + let formatted = substitute(formatted, '&', '\&', 'g') + let formatted = substitute(formatted, '<', '\<', 'g') + let formatted = substitute(formatted, '>', '\>', 'g') + let formatted = substitute(formatted, '"', '\"', 'g') + " ' is not valid in HTML but it is in XHTML, so just use the numeric + " reference for it instead. Needed because it could appear in quotes + " especially if unselectable regions is turned on. + let formatted = substitute(formatted, '"', '\'', 'g') + + " Replace a "form feed" character with HTML to do a page break + " TODO: need to prevent this in unselectable areas? Probably it should never + " BE in an unselectable area... + let formatted = substitute(formatted, "\x0c", '
', 'g') + + " Replace double spaces, leading spaces, and trailing spaces if needed + if ' ' != s:HtmlSpace + let formatted = substitute(formatted, ' ', s:HtmlSpace .. s:HtmlSpace, 'g') + let formatted = substitute(formatted, '^ ', s:HtmlSpace, 'g') + let formatted = substitute(formatted, ' \+$', s:HtmlSpace, 'g') + endif + + " Enclose in the correct format + return s:BuildStyleWrapper(a:style_id, a:diff_style_id, a:extra_attrs, formatted, a:make_unselectable, unformatted) +endfun + +" set up functions to call HtmlFormat in certain ways based on whether the +" element is supposed to be unselectable or not +if s:settings.prevent_copy =~# 'n' + if s:settings.number_lines + if s:settings.line_ids + function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr) + if a:lnr > 0 + return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id="'..(exists('g:html_diff_win_num') ? 'W'..g:html_diff_win_num : "")..'L'..a:lnr..s:settings.id_suffix..'" ', 1) + else + return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, "", 1) + endif + endfun + else + function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr) + return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, "", 1) + endfun + endif + elseif s:settings.line_ids + " if lines are not being numbered the only reason this function gets called + " is to put the line IDs on each line; "text" will be empty but lnr will + " always be non-zero, however we don't want to use the because that + " won't work as nice for empty text + function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr) + return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id="'..(exists('g:html_diff_win_num') ? 'W'..g:html_diff_win_num : "")..'L'..a:lnr..s:settings.id_suffix..'" ', 0) + endfun + endif +else + if s:settings.line_ids + function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr) + if a:lnr > 0 + return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id="'..(exists('g:html_diff_win_num') ? 'W'..g:html_diff_win_num : "")..'L'..a:lnr..s:settings.id_suffix..'" ', 0) + else + return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, "", 0) + endif + endfun + else + function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr) + return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, "", 0) + endfun + endif +endif +if s:settings.prevent_copy =~# 'd' + function! s:HtmlFormat_d(text, style_id, diff_style_id) + return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, "", 1) + endfun +else + function! s:HtmlFormat_d(text, style_id, diff_style_id) + return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, "", 0) + endfun +endif +if s:settings.prevent_copy =~# 'f' + if s:settings.use_input_for_pc ==# 'none' + " Simply space-pad to the desired width inside the generated content (note + " that the FoldColumn definition includes a whitespace:pre rule) + function! s:FoldColumn_build(char, len, numfill, char2, class, click) + return "" + endfun + function! s:FoldColumn_fill() + return s:HtmlFormat(repeat(' ', s:foldcolumn), s:FOLD_C_ID, 0, "", 1) + endfun + else + " Note the elements for fill spaces will have a single space for + " content, to allow active cursor CSS selection to work. + " + " Wrap the whole thing in a span for the 1px padding workaround for gaps. + " + " Build the function line by line containing only what is needed for the + " options in use for maximum code sharing with minimal branch logic for + " greater speed. + " + " Note, 'exec' commands do not recognize line continuations, so must + " concatenate lines rather than continue them. + let s:build_fun_lines = [] + call add(s:build_fun_lines, []) + let s:build_fun_lines[-1] =<< trim ENDLET + function! s:FoldColumn_build(char, len, numfill, char2, class, click) + let l:input_open = "" : "'>") + let l:return_span = "" + let l:return_span ..= l:input_open..l:common_attrs..repeat(a:char, a:len)..(a:char2) + let l:return_span ..= l:input_close + ENDLET + if s:settings.use_input_for_pc ==# 'fallback' + call add(s:build_fun_lines, []) + let s:build_fun_lines[-1] =<< trim ENDLET + let l:return_span ..= "". + \ repeat(a:char, a:len)..a:char2..repeat(' ', a:numfill). + \ "" + endfun + function! s:FoldColumn_fill() + return s:HtmlFormat(repeat(' ', s:foldcolumn), s:FOLD_C_ID, 0, "", 0) + endfun +endif +if s:settings.prevent_copy =~# 't' + " put an extra empty span at the end for dynamic folds, so the linebreak can + " be surrounded. Otherwise do it as normal. + " + " TODO: isn't there a better way to do this, than placing it here and using a + " substitute later? + if s:settings.dynamic_folds + function! s:HtmlFormat_t(text, style_id, diff_style_id) + return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, "", 1) . + \ s:HtmlFormat("", a:style_id, 0, "", 0) + endfun + else + function! s:HtmlFormat_t(text, style_id, diff_style_id) + return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, "", 1) + endfun + endif +else + function! s:HtmlFormat_t(text, style_id, diff_style_id) + return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, "", 0) + endfun +endif + +" Return CSS style describing given highlight id (can be empty) +function! s:CSS1(id) + let a = "" + let translated_ID = synIDtrans(a:id) + if synIDattr(translated_ID, "inverse") + " For inverse, we always must set both colors (and exchange them) + let x = s:HtmlColor(synIDattr(translated_ID, "bg#", s:whatterm)) + let a = a .. "color: " .. ( x != "" ? x : s:bgc ) .. "; " + let x = s:HtmlColor(synIDattr(translated_ID, "fg#", s:whatterm)) + let a = a .. "background-color: " .. ( x != "" ? x : s:fgc ) .. "; " + else + let x = s:HtmlColor(synIDattr(translated_ID, "fg#", s:whatterm)) + if x != "" | let a = a .. "color: " .. x .. "; " | endif + let x = s:HtmlColor(synIDattr(translated_ID, "bg#", s:whatterm)) + if x != "" + let a = a .. "background-color: " .. x .. "; " + " stupid hack because almost every browser seems to have at least one font + " which shows 1px gaps between lines which have background + let a = a .. "padding-bottom: 1px; " + elseif (translated_ID == s:FOLDED_ID || translated_ID == s:LINENR_ID || translated_ID == s:FOLD_C_ID) && !empty(s:settings.prevent_copy) + " input elements default to a different color than the rest of the page + let a = a .. "background-color: " .. s:bgc .. "; " + endif + endif + if synIDattr(translated_ID, "bold") | let a = a .. "font-weight: bold; " | endif + if synIDattr(translated_ID, "italic") | let a = a .. "font-style: italic; " | endif + if synIDattr(translated_ID, "underline") | let a = a .. "text-decoration: underline; " | endif + return a +endfun + +if s:settings.dynamic_folds + " compares two folds as stored in our list of folds + " A fold is "less" than another if it starts at an earlier line number, + " or ends at a later line number, ties broken by fold level + function! s:FoldCompare(f1, f2) + if a:f1.firstline != a:f2.firstline + " put it before if it starts earlier + return a:f1.firstline - a:f2.firstline + elseif a:f1.lastline != a:f2.lastline + " put it before if it ends later + return a:f2.lastline - a:f1.lastline + else + " if folds begin and end on the same lines, put lowest fold level first + return a:f1.level - a:f2.level + endif + endfunction + +endif + + +" Set some options to make it work faster. +" Don't report changes for :substitute, there will be many of them. +" Don't change other windows; turn off scroll bind temporarily +let s:old_title = &title +let s:old_icon = &icon +let s:old_et = &l:et +let s:old_bind = &l:scrollbind +let s:old_report = &report +let s:old_search = @/ +let s:old_more = &more +set notitle noicon +setlocal et +set nomore +set report=1000000 +setlocal noscrollbind + +if exists(':ownsyntax') && exists('w:current_syntax') + let s:current_syntax = w:current_syntax +elseif exists('b:current_syntax') + let s:current_syntax = b:current_syntax +else + let s:current_syntax = 'none' +endif + +if s:current_syntax == '' + let s:current_syntax = 'none' +endif + +" If the user is sourcing this script directly then the plugin version isn't +" known because the main plugin script didn't load. In the usual case where the +" user still has the full MNV runtime installed, or has this full plugin +" installed in a package or something, then we can extract the version from the +" main plugin file at it's usual spot relative to this file. Otherwise the user +" is assembling their runtime piecemeal and we have no idea what versions of +" other files may be present so don't even try to make a guess or assume the +" presence of other specific files with specific meaning. +" +" We don't want to actually source the main plugin file here because the user +" may have a good reason not to (e.g. they define their own TOhtml command or +" something). +" +" If this seems way too complicated and convoluted, it is. Probably I should +" have put the version information in the autoload file from the start. But the +" version has been in the global variable for so long that changing it could +" break a lot of user scripts. +if exists("g:loaded_2html_plugin") + let s:pluginversion = g:loaded_2html_plugin +else + if !exists("g:unloaded_tohtml_plugin") + let s:main_plugin_path = expand(":p:h:h").."/plugin/tohtml.mnv" + if filereadable(s:main_plugin_path) + let s:lines = readfile(s:main_plugin_path, "", 20) + call filter(s:lines, 'v:val =~ "loaded_2html_plugin = "') + if empty(s:lines) + let g:unloaded_tohtml_plugin = "unknown" + else + let g:unloaded_tohtml_plugin = substitute(s:lines[0], '.*loaded_2html_plugin = \([''"]\)\(\%(\1\@!.\)\+\)\1', '\2', '') + endif + unlet s:lines + else + let g:unloaded_tohtml_plugin = "unknown" + endif + unlet s:main_plugin_path + endif + let s:pluginversion = g:unloaded_tohtml_plugin +endif + +" Split window to create a buffer with the HTML file. +let s:orgbufnr = winbufnr(0) +let s:origwin_stl = &l:stl +if expand("%") == "" + if exists('g:html_diff_win_num') + exec 'new Untitled_win'..g:html_diff_win_num..'.'.(s:settings.use_xhtml ? 'xhtml' : 'html') + else + exec 'new Untitled.'..(s:settings.use_xhtml ? 'xhtml' : 'html') + endif +else + exec 'new %.'..(s:settings.use_xhtml ? 'xhtml' : 'html') +endif + +" Resize the new window to very small in order to make it draw faster +let s:old_winheight = winheight(0) +let s:old_winfixheight = &l:winfixheight +if s:old_winheight > 2 + resize 1 " leave enough room to view one line at a time + norm! G + norm! zt +endif +setlocal winfixheight + +let s:newwin_stl = &l:stl + +" on the new window, set the least time-consuming fold method +let s:old_fen = &foldenable +setlocal foldmethod=manual +setlocal nofoldenable + +let s:newwin = winnr() +let s:orgwin = bufwinnr(s:orgbufnr) + +setlocal modifiable +%d +let s:old_paste = &paste +set paste +let s:old_magic = &magic +set magic + +" set the fileencoding to match the charset we'll be using +let &l:fileencoding=s:settings.mnv_encoding + +" According to http://www.w3.org/TR/html4/charset.html#doc-char-set, the byte +" order mark is highly recommend on the web when using multibyte encodings. But, +" it is not a good idea to include it on UTF-8 files. Otherwise, let MNV +" determine when it is actually inserted. +if s:settings.mnv_encoding == 'utf-8' + setlocal nobomb +else + setlocal bomb +endif + +let s:lines = [] + +if s:settings.use_xhtml + if s:settings.encoding != "" + call add(s:lines, "") + else + call add(s:lines, "") + endif + let s:tag_close = ' />' +else + let s:tag_close = '>' +endif + +let s:HtmlSpace = ' ' +let s:LeadingSpace = ' ' +let s:HtmlEndline = '' +if s:settings.no_pre + let s:HtmlEndline = '", + \ ""]) + " include encoding as close to the top as possible, but only if not already + " contained in XML information (to avoid haggling over content type) + if s:settings.encoding != "" && !s:settings.use_xhtml + if s:html5 + call add(s:lines, '"..expand("%:p:~")..""), + \ ("", + \ s:settings.use_xhtml ? "" : "", + \] + else + " if we aren't doing hover_unfold, use CSS 1 only + call extend(s:lines, [ + \ ".FoldColumn { text-decoration: none; white-space: pre; }", + \ ".open-fold .fulltext { display: inline; }", + \ ".open-fold span.Folded { display: none; }", + \ ".open-fold .toggle-open { display: none; }", + \ ".open-fold .toggle-closed { display: inline; }", + \ "", + \ ".closed-fold .fulltext { display: none; }", + \ ".closed-fold span.Folded { display: inline; }", + \ ".closed-fold .toggle-open { display: inline; }", + \ ".closed-fold .toggle-closed { display: none; }", + \]) + endif + endif + " else we aren't doing any dynamic folding, no need for any special rules + + call extend(s:lines, [ + \ s:settings.use_xhtml ? "" : '-->', + \ "", + \]) + call extend(s:lines, s:ieonly) + unlet s:ieonly + endif + + let s:uses_script = s:settings.dynamic_folds || s:settings.line_ids + + " insert script tag if needed + if s:uses_script + call extend(s:lines, [ + \ "", + \ "", + \ s:settings.use_xhtml ? '//' : '-->', + \ "" + \ ]) + endif + + call extend(s:lines, ["", + \ ""]) +endif + +if s:settings.no_pre + " if we're not using CSS we use a font tag which can't have a div inside + if s:settings.use_css + call extend(s:lines, ["
"]) + endif +else + call extend(s:lines, ["
"])
+endif
+
+exe s:orgwin .. "wincmd w"
+
+" caches of style data
+" initialize to include line numbers if using them
+if s:settings.number_lines
+  let s:stylelist = { s:LINENR_ID : ".LineNr { " .. s:CSS1( s:LINENR_ID ) .. "}" }
+else
+  let s:stylelist = {}
+endif
+let s:diffstylelist = {
+      \   s:DIFF_A_ID : ".DiffAdd { " .. s:CSS1( s:DIFF_A_ID ) .. "}",
+      \   s:DIFF_C_ID : ".DiffChange { " .. s:CSS1( s:DIFF_C_ID ) .. "}",
+      \   s:DIFF_D_ID : ".DiffDelete { " .. s:CSS1( s:DIFF_D_ID ) .. "}",
+      \   s:DIFF_T_ID : ".DiffText { " .. s:CSS1( s:DIFF_T_ID ) .. "}"
+      \ }
+
+" set up progress bar in the status line
+if !s:settings.no_progress
+  " ProgressBar Indicator
+  let s:progressbar={}
+
+  " Progressbar specific functions
+
+  func! s:SetProgbarColor()
+    if hlID("TOhtmlProgress") != 0
+      hi! link TOhtmlProgress_auto TOhtmlProgress
+    elseif hlID("TOhtmlProgress_auto")==0 ||
+       \ !exists("s:last_colors_name") || !exists("g:colors_name") ||
+       \ g:colors_name != s:last_colors_name
+      let s:last_colors_name = exists("g:colors_name") ? g:colors_name : "none"
+
+      let l:diffatr = synIDattr(hlID("DiffDelete")->synIDtrans(), "reverse", s:whatterm) ? "fg#" : "bg#"
+      let l:stlatr = synIDattr(hlID("StatusLine")->synIDtrans(), "reverse", s:whatterm) ? "fg#" : "bg#"
+
+      let l:progbar_color = synIDattr(hlID("DiffDelete")->synIDtrans(), l:diffatr, s:whatterm)
+      let l:stl_color = synIDattr(hlID("StatusLine")->synIDtrans(), l:stlatr, s:whatterm)
+
+      if "" == l:progbar_color
+	let l:progbar_color = synIDattr(hlID("DiffDelete")->synIDtrans(), "reverse", s:whatterm) ? s:fgc : s:bgc
+      endif
+      if "" == l:stl_color
+	let l:stl_color = synIDattr(hlID("StatusLine")->synIDtrans(), "reverse", s:whatterm) ? s:fgc : s:bgc
+      endif
+
+      if l:progbar_color == l:stl_color
+	if s:whatterm == 'cterm'
+	  if l:progbar_color >= (&t_Co/2)
+	    let l:progbar_color-=1
+	  else
+	    let l:progbar_color+=1
+	  endif
+	else
+	  let l:rgb = map(matchlist(l:progbar_color, '#\zs\x\x\ze\(\x\x\)\(\x\x\)')[:2], 'str2nr(v:val, 16)')
+	  let l:avg = (l:rgb[0] + l:rgb[1] + l:rgb[2])/3
+	  if l:avg >= 128
+	    let l:avg_new = l:avg
+	    while l:avg - l:avg_new < 0x15
+	      let l:rgb = map(l:rgb, 'v:val * 3 / 4')
+	      let l:avg_new = (l:rgb[0] + l:rgb[1] + l:rgb[2])/3
+	    endwhile
+	  else
+	    let l:avg_new = l:avg
+	    while l:avg_new - l:avg < 0x15
+	      let l:rgb = map(l:rgb, 'min([max([v:val, 4]) * 5 / 4, 255])')
+	      let l:avg_new = (l:rgb[0] + l:rgb[1] + l:rgb[2])/3
+	    endwhile
+	  endif
+	  let l:progbar_color = printf("#%02x%02x%02x", l:rgb[0], l:rgb[1], l:rgb[2])
+	endif
+	echomsg "diff detected progbar color set to" l:progbar_color
+      endif
+      exe "hi TOhtmlProgress_auto" s:whatterm.."bg="..l:progbar_color
+    endif
+  endfun
+
+  func! s:ProgressBar(title, max_value, winnr)
+    let pgb=copy(s:progressbar)
+    let pgb.title = a:title..' '
+    let pgb.max_value = a:max_value
+    let pgb.winnr = a:winnr
+    let pgb.cur_value = 0
+
+    let pgb.items = { 'title'   : { 'color' : 'Statusline' },
+	  \'bar'     : { 'color' : 'Statusline' , 'fillcolor' : 'TOhtmlProgress_auto' , 'bg' : 'Statusline' } ,
+	  \'counter' : { 'color' : 'Statusline' } }
+    let pgb.last_value = 0
+    let pgb.needs_redraw = 0
+    " Note that you must use len(split) instead of len() if you want to use 
+    " unicode in title.
+    "
+    " Subtract 3 for spacing around the title.
+    " Subtract 4 for the percentage display.
+    " Subtract 2 for spacing before this.
+    " Subtract 2 more for the '|' on either side of the progress bar
+    let pgb.subtractedlen=len(split(pgb.title, '\zs'))+3+4+2+2
+    let pgb.max_len = 0
+    set laststatus=2
+    return pgb
+  endfun
+
+  " Function: progressbar.calculate_ticks() {{{1
+  func! s:progressbar.calculate_ticks(pb_len)
+    if a:pb_len<=0
+      let pb_len = 100
+    else
+      let pb_len = a:pb_len
+    endif
+    let self.progress_ticks = map(range(pb_len+1), "v:val * self.max_value / pb_len")
+  endfun
+
+  "Function: progressbar.paint()
+  func! s:progressbar.paint()
+    " Recalculate widths.
+    let max_len = winwidth(self.winnr)
+    let pb_len = 0
+    " always true on first call because of initial value of self.max_len
+    if max_len != self.max_len
+      let self.max_len = max_len
+
+      " Progressbar length
+      let pb_len = max_len - self.subtractedlen
+
+      call self.calculate_ticks(pb_len)
+
+      let self.needs_redraw = 1
+      let cur_value = 0
+      let self.pb_len = pb_len
+    else
+      " start searching at the last found index to make the search for the
+      " appropriate tick value normally take 0 or 1 comparisons
+      let cur_value = self.last_value
+      let pb_len = self.pb_len
+    endif
+
+    let cur_val_max = pb_len > 0 ? pb_len : 100
+
+    " find the current progress bar position based on precalculated thresholds
+    while cur_value < cur_val_max && self.cur_value > self.progress_ticks[cur_value]
+      let cur_value += 1
+    endwhile
+
+    " update progress bar
+    if self.last_value != cur_value || self.needs_redraw || self.cur_value == self.max_value
+      let self.needs_redraw = 1
+      let self.last_value = cur_value
+
+      let t_color  = self.items.title.color
+      let b_fcolor = self.items.bar.fillcolor
+      let b_color  = self.items.bar.color
+      let c_color  = self.items.counter.color
+
+      let stl =  "%#".t_color."#%-( ".self.title." %)".
+	    \"%#".b_color."#".
+	    \(pb_len>0 ?
+	    \	('|%#'.b_fcolor."#%-(".repeat(" ",cur_value)."%)".
+	    \	 '%#'.b_color."#".repeat(" ",pb_len-cur_value)."|"):
+	    \	('')).
+	    \"%=%#".c_color."#%( ".printf("%3.d ",100*self.cur_value/self.max_value)."%% %)"
+      call setwinvar(self.winnr, '&stl', stl)
+    endif
+  endfun
+
+  func! s:progressbar.incr( ... )
+    let self.cur_value += (a:0 ? a:1 : 1)
+    " if we were making a general-purpose progress bar, we'd need to limit to a
+    " lower limit as well, but since we always increment with a positive value
+    " in this script, we only need limit the upper value
+    let self.cur_value = (self.cur_value > self.max_value ? self.max_value : self.cur_value)
+    call self.paint()
+  endfun
+  " }}}
+  if s:settings.dynamic_folds
+    " to process folds we make two passes through each line
+    let s:pgb = s:ProgressBar("Processing folds:", line('$')*2, s:orgwin)
+  endif
+
+  call s:SetProgbarColor()
+endif
+
+let s:build_fun_lines = []
+call add(s:build_fun_lines, [])
+let s:build_fun_lines[-1] =<< trim ENDLET
+    func! s:Add_diff_fill(lnum)
+      let l:filler = diff_filler(a:lnum)
+      if l:filler > 0
+	let l:to_insert = l:filler
+	while l:to_insert > 0
+	  let l:new = repeat(s:difffillchar, 3)
+
+	  if l:to_insert > 2 && l:to_insert < l:filler && !s:settings.whole_filler
+	    let l:new = l:new .. " " .. l:filler .. " inserted lines "
+	    let l:to_insert = 2
+	  endif
+ENDLET
+call add(s:build_fun_lines, [])
+if !s:settings.no_pre
+  let s:build_fun_lines[-1] =<< trim ENDLET
+	  " HTML line wrapping is off--go ahead and fill to the margin
+	  " TODO: what about when CSS wrapping is turned on?
+	  let l:new = l:new .. repeat(s:difffillchar, &columns - strlen(l:new) - s:margin)
+  ENDLET
+else
+  let s:build_fun_lines[-1] =<< trim ENDLET
+	  let l:new = l:new .. repeat(s:difffillchar, 3)
+  ENDLET
+endif
+call add(s:build_fun_lines, [])
+let s:build_fun_lines[-1] =<< trim ENDLET
+	let l:new = s:HtmlFormat_d(l:new, s:DIFF_D_ID, 0)
+ENDLET
+if s:settings.number_lines
+  call add(s:build_fun_lines, [])
+  let s:build_fun_lines[-1] =<< trim ENDLET
+	  " Indent if line numbering is on. Indent gets style of line number
+	  " column.
+	  let l:new = s:HtmlFormat_n(repeat(' ', s:margin), s:LINENR_ID, 0, 0) .. l:new
+  ENDLET
+endif
+if s:settings.dynamic_folds && !s:settings.no_foldcolumn 
+  call add(s:build_fun_lines, [])
+  let s:build_fun_lines[-1] =<< trim ENDLET
+	  if s:foldcolumn > 0
+	    " Indent for foldcolumn if there is one. Assume it's empty, there should
+	    " not be a fold for deleted lines in diff mode.
+	    let l:new = s:FoldColumn_fill() .. l:new
+	  endif
+  ENDLET
+endif
+" Ignore this comment, just bypassing a highlighting issue: if
+call add(s:build_fun_lines, [])
+let s:build_fun_lines[-1] =<< trim ENDLET
+	call add(s:lines, l:new..s:HtmlEndline)
+	let l:to_insert = l:to_insert - 1
+      endwhile
+    endif
+  endfun
+ENDLET
+exec join(flatten(s:build_fun_lines), "\n")
+
+" First do some preprocessing for dynamic folding. Do this for the entire file
+" so we don't accidentally start within a closed fold or something.
+let s:allfolds = []
+
+if s:settings.dynamic_folds
+  let s:lnum = 1
+  let s:end = line('$')
+  " save the fold text and set it to the default so we can find fold levels
+  let s:foldtext_save = &foldtext
+  setlocal foldtext&
+
+  " we will set the foldcolumn in the html to the greater of the maximum fold
+  " level and the current foldcolumn setting
+  let s:foldcolumn = &foldcolumn
+
+  " get all info needed to describe currently closed folds
+  while s:lnum <= s:end
+    if foldclosed(s:lnum) == s:lnum
+      " default fold text has '+-' and then a number of dashes equal to fold
+      " level, so subtract 2 from index of first non-dash after the dashes
+      " in order to get the fold level of the current fold
+      let s:level = match(foldtextresult(s:lnum), '+-*\zs[^-]') - 2
+      " store fold info for later use
+      let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': "closed-fold"}
+      call add(s:allfolds, s:newfold)
+      " open the fold so we can find any contained folds
+      execute s:lnum.."foldopen"
+    else
+      if !s:settings.no_progress
+	call s:pgb.incr()
+	if s:pgb.needs_redraw
+	  redrawstatus
+	  let s:pgb.needs_redraw = 0
+	endif
+      endif
+      let s:lnum = s:lnum + 1
+    endif
+  endwhile
+
+  " close all folds to get info for originally open folds
+  silent! %foldclose!
+  let s:lnum = 1
+
+  " the originally open folds will be all folds we encounter that aren't
+  " already in the list of closed folds
+  while s:lnum <= s:end
+    if foldclosed(s:lnum) == s:lnum
+      " default fold text has '+-' and then a number of dashes equal to fold
+      " level, so subtract 2 from index of first non-dash after the dashes
+      " in order to get the fold level of the current fold
+      let s:level = match(foldtextresult(s:lnum), '+-*\zs[^-]') - 2
+      let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': "closed-fold"}
+      " only add the fold if we don't already have it
+      if empty(s:allfolds) || index(s:allfolds, s:newfold) == -1
+	let s:newfold.type = "open-fold"
+	call add(s:allfolds, s:newfold)
+      endif
+      " open the fold so we can find any contained folds
+      execute s:lnum.."foldopen"
+    else
+      if !s:settings.no_progress
+	call s:pgb.incr()
+	if s:pgb.needs_redraw
+	  redrawstatus
+	  let s:pgb.needs_redraw = 0
+	endif
+      endif
+      let s:lnum = s:lnum + 1
+    endif
+  endwhile
+
+  " sort the folds so that we only ever need to look at the first item in the
+  " list of folds
+  call sort(s:allfolds, "s:FoldCompare")
+
+  let &l:foldtext = s:foldtext_save
+  unlet s:foldtext_save
+
+  " close all folds again so we can get the fold text as we go
+  silent! %foldclose!
+
+  " Go through and remove folds we don't need to (or cannot) process in the
+  " current conversion range
+  "
+  " If a fold is removed which contains other folds, which are included, we need
+  " to adjust the level of the included folds as used by the conversion logic
+  " (avoiding special cases is good)
+  "
+  " Note any time we remove a fold, either all of the included folds are in it,
+  " or none of them, because we only remove a fold if neither its start nor its
+  " end are within the conversion range.
+  let leveladjust = 0
+  for afold in s:allfolds
+    let removed = 0
+    if exists("g:html_start_line") && exists("g:html_end_line")
+      if afold.firstline < g:html_start_line
+	if afold.lastline <= g:html_end_line && afold.lastline >= g:html_start_line
+	  " if a fold starts before the range to convert but stops within the
+	  " range, we need to include it. Make it start on the first converted
+	  " line.
+	  let afold.firstline = g:html_start_line
+	else
+	  " if the fold lies outside the range or the start and stop enclose
+	  " the entire range, don't bother parsing it
+	  call remove(s:allfolds, index(s:allfolds, afold))
+	  let removed = 1
+	  if afold.lastline > g:html_end_line
+	    let leveladjust += 1
+	  endif
+	endif
+      elseif afold.firstline > g:html_end_line
+	" If the entire fold lies outside the range we need to remove it.
+	call remove(s:allfolds, index(s:allfolds, afold))
+	let removed = 1
+      endif
+    elseif exists("g:html_start_line")
+      if afold.firstline < g:html_start_line
+	" if there is no last line, but there is a first line, the end of the
+	" fold will always lie within the region of interest, so keep it
+	let afold.firstline = g:html_start_line
+      endif
+    elseif exists("g:html_end_line")
+      " if there is no first line we default to the first line in the buffer so
+      " the fold start will always be included if the fold itself is included.
+      " If however the entire fold lies outside the range we need to remove it.
+      if afold.firstline > g:html_end_line
+	call remove(s:allfolds, index(s:allfolds, afold))
+	let removed = 1
+      endif
+    endif
+    if !removed
+      let afold.level -= leveladjust
+      if afold.level+1 > s:foldcolumn
+	let s:foldcolumn = afold.level+1
+      endif
+    endif
+  endfor
+
+  " if we've removed folds containing the conversion range from processing,
+  " getting foldtext as we go won't know to open the removed folds, so the
+  " foldtext would be wrong; open them now.
+  "
+  " Note that only when a start and an end line is specified will a fold
+  " containing the current range ever be removed.
+  while leveladjust > 0
+    exe g:html_start_line.."foldopen"
+    let leveladjust -= 1
+  endwhile
+endif
+
+" Now loop over all lines in the original text to convert to html.
+" Use html_start_line and html_end_line if they are set.
+if exists("g:html_start_line")
+  let s:lnum = html_start_line
+  if s:lnum < 1 || s:lnum > line("$")
+    let s:lnum = 1
+  endif
+else
+  let s:lnum = 1
+endif
+if exists("g:html_end_line")
+  let s:end = html_end_line
+  if s:end < s:lnum || s:end > line("$")
+    let s:end = line("$")
+  endif
+else
+  let s:end = line("$")
+endif
+
+" stack to keep track of all the folds containing the current line
+let s:foldstack = []
+
+if !s:settings.no_progress
+  let s:pgb = s:ProgressBar("Processing lines:", s:end - s:lnum + 1, s:orgwin)
+endif
+
+if s:settings.number_lines
+  let s:margin = strlen(s:end) + 1
+else
+  let s:margin = 0
+endif
+
+if has('folding') && !s:settings.ignore_folding
+  let s:foldfillchar = &fillchars[matchend(&fillchars, 'fold:')]
+  if s:foldfillchar == ''
+    let s:foldfillchar = '-'
+  endif
+endif
+let s:difffillchar = &fillchars[matchend(&fillchars, 'diff:')]
+if s:difffillchar == ''
+  let s:difffillchar = '-'
+endif
+
+let s:foldId = 0
+
+if !s:settings.expand_tabs
+  " If keeping tabs, add them to printable characters so we keep them when
+  " formatting text (strtrans() doesn't replace printable chars)
+  let s:old_isprint = &isprint
+  setlocal isprint+=9
+endif
+
+while s:lnum <= s:end
+
+  " If there are filler lines for diff mode, show these above the line.
+  call s:Add_diff_fill(s:lnum)
+
+  " Start the line with the line number.
+  if s:settings.number_lines
+    let s:numcol = repeat(' ', s:margin - 1 - strlen(s:lnum)) .. s:lnum .. ' '
+  endif
+
+  let s:new = ""
+
+  if has('folding') && !s:settings.ignore_folding && foldclosed(s:lnum) > -1 && !s:settings.dynamic_folds
+    "
+    " This is the beginning of a folded block (with no dynamic folding)
+    let s:new = foldtextresult(s:lnum)
+    if !s:settings.no_pre
+      " HTML line wrapping is off--go ahead and fill to the margin
+      let s:new = s:new .. repeat(s:foldfillchar, &columns - strlen(s:new))
+    endif
+
+    " put numcol in a separate group for sake of unselectable text
+    let s:new = (s:settings.number_lines ? s:HtmlFormat_n(s:numcol, s:FOLDED_ID, 0, s:lnum): "") .. s:HtmlFormat_t(s:new, s:FOLDED_ID, 0)
+
+    " Skip to the end of the fold
+    let s:new_lnum = foldclosedend(s:lnum)
+
+    if !s:settings.no_progress
+      call s:pgb.incr(s:new_lnum - s:lnum)
+    endif
+
+    let s:lnum = s:new_lnum
+
+  else
+    "
+    " A line that is not folded, or doing dynamic folding.
+    "
+    let s:line = getline(s:lnum)
+    let s:len = strlen(s:line)
+
+    if s:settings.dynamic_folds
+      " First insert a closing for any open folds that end on this line
+      while !empty(s:foldstack) && get(s:foldstack,0).lastline == s:lnum-1
+	let s:new = s:new..""
+	call remove(s:foldstack, 0)
+      endwhile
+
+      " Now insert an opening for any new folds that start on this line
+      let s:firstfold = 1
+      while !empty(s:allfolds) && get(s:allfolds,0).firstline == s:lnum
+	let s:foldId = s:foldId + 1
+	let s:new ..= ""
+
+
+	" Unless disabled, add a fold column for the opening line of a fold.
+	"
+	" Note that dynamic folds require using css so we just use css to take
+	" care of the leading spaces rather than using   in the case of
+	" html_no_pre to make it easier
+	if !s:settings.no_foldcolumn
+	  " add fold column that can open the new fold
+	  if s:allfolds[0].level > 1 && s:firstfold
+	    let s:new = s:new .. s:FoldColumn_build('|', s:allfolds[0].level - 1, 0, "",
+		  \ 'toggle-open FoldColumn','javascript:toggleFold("fold'..s:foldstack[0].id..s:settings.id_suffix..'");')
+	  endif
+	  " add the filler spaces separately from the '+' char so that it can be
+	  " shown/hidden separately during a hover unfold
+	  let s:new = s:new .. s:FoldColumn_build("+", 1, 0, "",
+		\ 'toggle-open FoldColumn', 'javascript:toggleFold("fold'..s:foldId..s:settings.id_suffix..'");')
+	  " If this is not the last fold we're opening on this line, we need
+	  " to keep the filler spaces hidden if the fold is opened by mouse
+	  " hover. If it is the last fold to open in the line, we shouldn't hide
+	  " them, so don't apply the toggle-filler class.
+	  let s:new = s:new .. s:FoldColumn_build(" ", 1, s:foldcolumn - s:allfolds[0].level - 1, "",
+		\ 'toggle-open FoldColumn'.. (get(s:allfolds, 1, {'firstline': 0}).firstline == s:lnum ?" toggle-filler" :""),
+		\ 'javascript:toggleFold("fold'..s:foldId..s:settings.id_suffix..'");')
+
+	  " add fold column that can close the new fold
+	  " only add extra blank space if we aren't opening another fold on the
+	  " same line
+	  if get(s:allfolds, 1, {'firstline': 0}).firstline != s:lnum
+	    let s:extra_space = s:foldcolumn - s:allfolds[0].level
+	  else
+	    let s:extra_space = 0
+	  endif
+	  if s:firstfold
+	    " the first fold in a line has '|' characters from folds opened in
+	    " previous lines, before the '-' for this fold
+	    let s:new ..= s:FoldColumn_build('|', s:allfolds[0].level - 1, s:extra_space, '-',
+		  \ 'toggle-closed FoldColumn', 'javascript:toggleFold("fold'..s:foldId..s:settings.id_suffix..'");')
+	  else
+	    " any subsequent folds in the line only add a single '-'
+	    let s:new = s:new .. s:FoldColumn_build("-", 1, s:extra_space, "",
+		  \ 'toggle-closed FoldColumn', 'javascript:toggleFold("fold'..s:foldId..s:settings.id_suffix..'");')
+	  endif
+	  let s:firstfold = 0
+	endif
+
+	" Add fold text, moving the span ending to the next line so collapsing
+	" of folds works correctly.
+	" Put numcol in a separate group for sake of unselectable text.
+	let s:new = s:new .. (s:settings.number_lines ? s:HtmlFormat_n(s:numcol, s:FOLDED_ID, 0, 0) : "") .. substitute(s:HtmlFormat_t(foldtextresult(s:lnum), s:FOLDED_ID, 0), '', s:HtmlEndline..'\n\0', '')
+	let s:new = s:new .. ""
+
+	" open the fold now that we have the fold text to allow retrieval of
+	" fold text for subsequent folds
+	execute s:lnum.."foldopen"
+	call insert(s:foldstack, remove(s:allfolds,0))
+	let s:foldstack[0].id = s:foldId
+      endwhile
+
+      " Unless disabled, add a fold column for other lines.
+      "
+      " Note that dynamic folds require using css so we just use css to take
+      " care of the leading spaces rather than using   in the case of
+      " html_no_pre to make it easier
+      if !s:settings.no_foldcolumn
+	if empty(s:foldstack)
+	  " add the empty foldcolumn for unfolded lines if there is a fold
+	  " column at all
+	  if s:foldcolumn > 0
+	    let s:new = s:new .. s:FoldColumn_fill()
+	  endif
+	else
+	  " add the fold column for folds not on the opening line
+	  if get(s:foldstack, 0).firstline < s:lnum
+	    let s:new = s:new .. s:FoldColumn_build('|', s:foldstack[0].level, s:foldcolumn - s:foldstack[0].level, "",
+		  \ 'FoldColumn', 'javascript:toggleFold("fold'..s:foldstack[0].id..s:settings.id_suffix..'");')
+	  endif
+	endif
+      endif
+    endif
+
+    " Now continue with the unfolded line text
+    if s:settings.number_lines
+      let s:new = s:new .. s:HtmlFormat_n(s:numcol, s:LINENR_ID, 0, s:lnum)
+    elseif s:settings.line_ids
+      let s:new = s:new .. s:HtmlFormat_n("", s:LINENR_ID, 0, s:lnum)
+    endif
+
+    " Get the diff attribute, if any.
+    let s:diffattr = diff_hlID(s:lnum, 1)
+
+    " initialize conceal info to act like not concealed, just in case
+    let s:concealinfo = [0, '']
+
+    " Loop over each character in the line
+    let s:col = 1
+
+    " most of the time we won't use the diff_id, initialize to zero
+    let s:diff_id = 0
+
+    while s:col <= s:len || (s:col == 1 && s:diffattr)
+      let s:startcol = s:col " The start column for processing text
+      if !s:settings.ignore_conceal && has('conceal')
+	let s:concealinfo = synconcealed(s:lnum, s:col)
+      endif
+      if !s:settings.ignore_conceal && s:concealinfo[0]
+	let s:col = s:col + 1
+	" Speed loop (it's small - that's the trick)
+	" Go along till we find a change in the match sequence number (ending
+	" the specific concealed region) or until there are no more concealed
+	" characters.
+	while s:col <= s:len && s:concealinfo == synconcealed(s:lnum, s:col) | let s:col = s:col + 1 | endwhile
+      elseif s:diffattr
+	let s:diff_id = diff_hlID(s:lnum, s:col)
+	let s:id = synID(s:lnum, s:col, 1)
+	let s:col = s:col + 1
+	" Speed loop (it's small - that's the trick)
+	" Go along till we find a change in hlID
+	while s:col <= s:len && s:id == synID(s:lnum, s:col, 1)
+	      \   && s:diff_id == diff_hlID(s:lnum, s:col) |
+	      \     let s:col = s:col + 1 |
+	      \ endwhile
+	if s:len < &columns && !s:settings.no_pre
+	  " Add spaces at the end of the raw text line to extend the changed
+	  " line to the full width.
+	  let s:line = s:line .. repeat(' ', &columns - virtcol([s:lnum, s:len]) - s:margin)
+	  let s:len = &columns
+	endif
+      else
+	let s:id = synID(s:lnum, s:col, 1)
+	let s:col = s:col + 1
+	" Speed loop (it's small - that's the trick)
+	" Go along till we find a change in synID
+	while s:col <= s:len && s:id == synID(s:lnum, s:col, 1) | let s:col = s:col + 1 | endwhile
+      endif
+
+      if s:settings.ignore_conceal || !s:concealinfo[0]
+	" Expand tabs if needed
+	let s:expandedtab = strpart(s:line, s:startcol - 1, s:col - s:startcol)
+	if s:settings.expand_tabs
+	  let s:offset = 0
+	  let s:idx = stridx(s:expandedtab, "\t")
+	  let s:tablist = split(&vts,',')
+	  if empty(s:tablist)
+	    let s:tablist = [ &ts ]
+	  endif
+	  let s:tabidx = 0
+	  let s:tabwidth = 0
+	  while s:idx >= 0
+	    if s:startcol + s:idx == 1
+	      let s:i = s:tablist[0]
+	    else
+	      " Get the character, which could be multiple bytes, which falls
+	      " immediately before the found tab. Extract it by matching a
+	      " character just prior to the column where the tab matches.
+	      " We'll use this to get the byte index of the character
+	      " immediately preceding the tab, so we can then look up the
+	      " virtual column that character appears in, to determine how
+	      " much of the current tabstop has been used up.
+	      if s:idx == 0
+		" if the found tab is the first character in the text being
+		" processed, we need to get the character prior to the text,
+		" given by startcol.
+		let s:prevc = matchstr(s:line, '.\%' .. (s:startcol + s:offset) .. 'c')
+	      else
+		" Otherwise, the byte index of the tab into s:expandedtab is
+		" given by s:idx.
+		let s:prevc = matchstr(s:expandedtab, '.\%' .. (s:idx + 1) .. 'c')
+	      endif
+	      let s:vcol = virtcol([s:lnum, s:startcol + s:idx + s:offset - len(s:prevc)])
+
+	      " find the tabstop interval to use for the tab we just found. Keep
+	      " adding tabstops (which could be variable) until we would exceed
+	      " the virtual screen position of the start of the found tab.
+	      while s:vcol >= s:tabwidth + s:tablist[s:tabidx]
+		let s:tabwidth += s:tablist[s:tabidx]
+		if s:tabidx < len(s:tablist)-1
+		  let s:tabidx = s:tabidx+1
+		endif
+	      endwhile
+	      let s:i = s:tablist[s:tabidx] - (s:vcol - s:tabwidth)
+	    endif
+	    " update offset to keep the index within the line corresponding to
+	    " actual tab characters instead of replaced spaces; s:idx reflects
+	    " replaced spaces in s:expandedtab, s:offset cancels out all but
+	    " the tab character itself.
+	    let s:offset -= s:i - 1
+	    let s:expandedtab = substitute(s:expandedtab, '\t', repeat(' ', s:i), '')
+	    let s:idx = stridx(s:expandedtab, "\t")
+	  endwhile
+	end
+
+	" get the highlight group name to use
+	let s:id = synIDtrans(s:id)
+      else
+	" use Conceal highlighting for concealed text
+	let s:id = s:CONCEAL_ID
+	let s:expandedtab = s:concealinfo[1]
+      endif
+
+      " Output the text with the same synID, with class set to the highlight ID
+      " name, unless it has been concealed completely.
+      if strlen(s:expandedtab) > 0
+	let s:new = s:new .. s:HtmlFormat(s:expandedtab,  s:id, s:diff_id, "", 0)
+      endif
+    endwhile
+  endif
+
+  call extend(s:lines, split(s:new..s:HtmlEndline, '\n', 1))
+  if !s:settings.no_progress && s:pgb.needs_redraw
+    redrawstatus
+    let s:pgb.needs_redraw = 0
+  endif
+  let s:lnum = s:lnum + 1
+
+  if !s:settings.no_progress
+    call s:pgb.incr()
+  endif
+endwhile
+
+" Diff filler is returned based on what needs inserting *before* the given line.
+" So to get diff filler at the end of the buffer, we need to use last line + 1
+call s:Add_diff_fill(s:end+1)
+
+if s:settings.dynamic_folds
+  " finish off any open folds
+  while !empty(s:foldstack)
+    let s:lines[-1]..=""
+    call remove(s:foldstack, 0)
+  endwhile
+
+  " add fold column to the style list if not already there
+  let s:id = s:FOLD_C_ID
+  if !has_key(s:stylelist, s:id)
+    let s:stylelist[s:id] = '.FoldColumn { ' .. s:CSS1(s:id) .. '}'
+  endif
+endif
+
+if s:settings.no_pre
+  if !s:settings.use_css
+    " Close off the font tag that encapsulates the whole 
+    call extend(s:lines, [""])
+  else
+    call extend(s:lines, ["
"]) + endif +else + call extend(s:lines, [""]) +endif +if !s:settings.no_doc + call extend(s:lines, ["", ""]) +endif + +exe s:newwin .. "wincmd w" +call setline(1, s:lines) +unlet s:lines + +" Mangle modelines so MNV doesn't try to use HTML text as a modeline if editing +" this file in the future; need to do this after generating all the text in case +" the modeline text has different highlight groups which all turn out to be +" stripped from the final output. +%s!\v(%(^|\s+)%([Vv]i%(m%([<=>]?\d+)?)?|ex)):!\1\:!ge + +" The generated HTML is admittedly ugly and takes a LONG time to fold. +" Make sure the user doesn't do syntax folding when loading a generated file, +" using a modeline. +if !s:settings.no_modeline + call append(line('$'), "") +endif + +" Now, when we finally know which, we define the colors and styles +if s:settings.use_css && !s:settings.no_doc + 1;//+1 + + " Normal/global attributes + if s:settings.no_pre + call append('.', "body { color: " .. s:fgc .. "; background-color: " .. s:bgc .. "; font-family: ".. s:htmlfont .."; }") + + + else + call append('.', "pre { " .. s:whitespace .. "font-family: ".. s:htmlfont .."; color: " .. s:fgc .. "; background-color: " .. s:bgc .. "; }") + + + yank + put + execute "normal! ^cwbody\e" + " body should not have the wrap formatting, only the pre section + if s:whitespace != '' + exec 's#'..s:whitespace + endif + endif + " fix browser inconsistencies (sometimes within the same browser) of different + " default font size for different elements + call append('.', '* { font-size: 1em; }') + + + " use color scheme styles for links + " browser-default blue/purple colors for links don't look like the existing theme and are unreadable on dark backgrounds + call append('.', 'a { color: inherit; }') + + + " if we use any input elements for unselectable content, make sure they look + " like normal text + if !empty(s:settings.prevent_copy) + if s:settings.use_input_for_pc !=# "none" + call append('.', 'input { border: none; margin: 0; padding: 0; font-family: '..s:htmlfont..'; }') + + + " ch units for browsers which support them, em units for a somewhat + " reasonable fallback. + for w in range(1, 20, 1) + call append('.', [ + \ "input[size='"..w.."'] { width: "..w.."em; width: "..w.."ch; }" + \ ]) + + + endfor + endif + + if s:settings.use_input_for_pc !=# 'all' + let s:unselectable_styles = [] + if s:settings.prevent_copy =~# 'f' + call add(s:unselectable_styles, 'FoldColumn') + endif + if s:settings.prevent_copy =~# 'n' + call add(s:unselectable_styles, 'LineNr') + endif + if s:settings.prevent_copy =~# 't' && !s:settings.ignore_folding + call add(s:unselectable_styles, 'Folded') + endif + if s:settings.prevent_copy =~# 'd' + call add(s:unselectable_styles, 'DiffDelete') + endif + if s:settings.use_input_for_pc !=# 'none' + call append('.', [ + \ '/* Note: IE does not support @supports conditionals, but also does not fully support', + \ ' "content:" with custom content, so we *want* the check to fail */', + \ '@supports ( content: attr(data-custom-content) ) {' + \ ]) + +3 + endif + " The line number column inside the foldtext is styled just like the fold + " text in MNV, but it should use the prevent_copy settings of line number + " rather than fold text. Apply the prevent_copy styles to foldtext + " specifically for line numbers, which always come after the fold column, + " or at the beginning of the line. + if s:settings.prevent_copy =~# 'n' && !s:settings.ignore_folding + call append('.', [ + \ ' .FoldColumn + .Folded, .Folded:first-child { user-select: none; }', + \ ' .FoldColumn + [data-Folded-content]::before, [data-Folded-content]:first-child::before { content: attr(data-Folded-content); }', + \ ' .FoldColumn + [data-Folded-content]::before, [data-Folded-content]:first-child::before { padding-bottom: 1px; display: inline-block; /* match the 1-px padding of standard items with background */ }', + \ ' .FoldColumn + span[data-Folded-content]::before, [data-Folded-content]:first-child::before { cursor: default; }', + \ ]) + +4 + endif + for s:style_name in s:unselectable_styles + call append('.', [ + \ ' .'..s:style_name..' { user-select: none; }', + \ ' [data-'..s:style_name..'-content]::before { content: attr(data-'..s:style_name..'-content); }', + \ ' [data-'..s:style_name..'-content]::before { padding-bottom: 1px; display: inline-block; /* match the 1-px padding of standard items with background */ }', + \ ' span[data-'..s:style_name..'-content]::before { cursor: default; }', + \ ]) + +4 + endfor + if s:settings.use_input_for_pc !=# 'none' + " Note, the extra '}' is to match the "@supports" above + call append('.', [ + \ ' input { display: none; }', + \ '}' + \ ]) + +2 + endif + unlet s:unselectable_styles + endif + + " Fix mouse cursor shape for the fallback method of uncopyable text + if s:settings.use_input_for_pc !=# 'none' + if s:settings.prevent_copy =~# 'f' + " Make the cursor show active fold columns as active areas, and empty fold + " columns as not interactive. + call append('.', ['input.FoldColumn { cursor: pointer; }', + \ 'input.FoldColumn[value="'..repeat(' ', s:foldcolumn)..'"] { cursor: default; }' + \ ]) + +2 + if s:settings.use_input_for_pc !=# 'all' + call append('.', [ + \ 'a[data-FoldColumn-content="'..repeat(' ', s:foldcolumn)..'"] { cursor: default; }' + \ ]) + +1 + end + endif + " make line number column show as non-interactive if not selectable + if s:settings.prevent_copy =~# 'n' + call append('.', 'input.LineNr { cursor: default; }') + + + endif + " make fold text and line number column within fold text show as + " non-interactive if not selectable + if (s:settings.prevent_copy =~# 'n' || s:settings.prevent_copy =~# 't') && !s:settings.ignore_folding + call append('.', 'input.Folded { cursor: default; }') + + + endif + " make diff filler show as non-interactive if not selectable + if s:settings.prevent_copy =~# 'd' + call append('.', 'input.DiffDelete { cursor: default; }') + + + endif + endif + endif +endif + +if !s:settings.use_css && !s:settings.no_doc + " For Netscape 4, set attributes too, though, strictly speaking, it's + " incorrect. + execute '%s:]*\):\r]\|>\|<\|"\)+\1\2+ge +endif + +" The DTD +if !s:settings.no_doc + if s:settings.use_xhtml + exe "normal! gg$a\n" + elseif s:html5 + exe "normal! gg0i\n" + else + exe "normal! gg0i\n" + endif +endif + +if s:settings.use_xhtml && !s:settings.no_doc + exe "normal! gg/ -" Last Change: 2024 Nov 02 -" -" Additional contributors: -" -" Original by Bram Moolenaar -" Modified by David Ne\v{c}as (Yeti) -" XHTML support by Panagiotis Issaris -" Made w3 compliant by Edd Barrett -" Added html_font. Edd Barrett -" Progress bar based off code from "progressbar widget" plugin by -" Andreas Politz, heavily modified: -" http://www.vim.org/scripts/script.php?script_id=2006 -" -" See Mercurial change logs for more! - -" Transform a file into HTML, using the current syntax highlighting. - -" this file uses line continuations -let s:cpo_sav = &cpo -let s:ls = &ls -let s:ei_sav = &eventignore -set cpo&vim - -" HTML filetype can take a while to load/highlight if the destination file -" already exists. -set eventignore+=FileType - -let s:end=line('$') - -" Font -if exists("g:html_font") - if type(g:html_font) == type([]) - let s:htmlfont = "'".. join(g:html_font,"','") .. "', monospace" - else - let s:htmlfont = "'".. g:html_font .. "', monospace" - endif -else - let s:htmlfont = "monospace" -endif - -let s:settings = tohtml#GetUserSettings() - -if s:settings.use_xhtml - let s:html5 = 0 -elseif s:settings.use_css && !s:settings.no_pre - let s:html5 = 1 -else - let s:html5 = 0 -endif - -if !exists('s:FOLDED_ID') - let s:FOLDED_ID = hlID("Folded") | lockvar s:FOLDED_ID - let s:FOLD_C_ID = hlID("FoldColumn") | lockvar s:FOLD_C_ID - let s:LINENR_ID = hlID('LineNr') | lockvar s:LINENR_ID - let s:DIFF_D_ID = hlID("DiffDelete") | lockvar s:DIFF_D_ID - let s:DIFF_A_ID = hlID("DiffAdd") | lockvar s:DIFF_A_ID - let s:DIFF_C_ID = hlID("DiffChange") | lockvar s:DIFF_C_ID - let s:DIFF_T_ID = hlID("DiffText") | lockvar s:DIFF_T_ID - let s:CONCEAL_ID = hlID('Conceal') | lockvar s:CONCEAL_ID -endif - -" Whitespace -if s:settings.pre_wrap - let s:whitespace = "white-space: pre-wrap; " -else - let s:whitespace = "" -endif - -if !empty(s:settings.prevent_copy) - if s:settings.no_invalid - " User has decided they don't want invalid markup. Still works in - " OpenOffice, and for text editors, but when pasting into Microsoft Word the - " input elements get pasted too and they cannot be deleted (at least not - " easily). - let s:unselInputType = "" - else - " Prevent from copy-pasting the input elements into Microsoft Word where - " they cannot be deleted easily by deliberately inserting invalid markup. - let s:unselInputType = " type='invalid_input_type'" - endif -endif - -" When gui colors are not supported, we can only guess the colors. -" TODO - is this true anymore? Is there a way to ask the terminal what colors -" each number means or read them from some file? -if &termguicolors || has("gui_running") - let s:whatterm = "gui" -else - let s:whatterm = "cterm" - if &t_Co == 8 - let s:cterm_color = { - \ 0: "#808080", 1: "#ff6060", 2: "#00ff00", 3: "#ffff00", - \ 4: "#8080ff", 5: "#ff40ff", 6: "#00ffff", 7: "#ffffff" - \ } - else - let s:cterm_color = { - \ 0: "#000000", 1: "#c00000", 2: "#008000", 3: "#804000", - \ 4: "#0000c0", 5: "#c000c0", 6: "#008080", 7: "#c0c0c0", - \ 8: "#808080", 9: "#ff6060", 10: "#00ff00", 11: "#ffff00", - \ 12: "#8080ff", 13: "#ff40ff", 14: "#00ffff", 15: "#ffffff" - \ } - - " Colors for 88 and 256 come from xterm. - if &t_Co == 88 - call extend(s:cterm_color, { - \ 16: "#000000", 17: "#00008b", 18: "#0000cd", 19: "#0000ff", - \ 20: "#008b00", 21: "#008b8b", 22: "#008bcd", 23: "#008bff", - \ 24: "#00cd00", 25: "#00cd8b", 26: "#00cdcd", 27: "#00cdff", - \ 28: "#00ff00", 29: "#00ff8b", 30: "#00ffcd", 31: "#00ffff", - \ 32: "#8b0000", 33: "#8b008b", 34: "#8b00cd", 35: "#8b00ff", - \ 36: "#8b8b00", 37: "#8b8b8b", 38: "#8b8bcd", 39: "#8b8bff", - \ 40: "#8bcd00", 41: "#8bcd8b", 42: "#8bcdcd", 43: "#8bcdff", - \ 44: "#8bff00", 45: "#8bff8b", 46: "#8bffcd", 47: "#8bffff", - \ 48: "#cd0000", 49: "#cd008b", 50: "#cd00cd", 51: "#cd00ff", - \ 52: "#cd8b00", 53: "#cd8b8b", 54: "#cd8bcd", 55: "#cd8bff", - \ 56: "#cdcd00", 57: "#cdcd8b", 58: "#cdcdcd", 59: "#cdcdff", - \ 60: "#cdff00", 61: "#cdff8b", 62: "#cdffcd", 63: "#cdffff", - \ 64: "#ff0000" - \ }) - call extend(s:cterm_color, { - \ 65: "#ff008b", 66: "#ff00cd", 67: "#ff00ff", 68: "#ff8b00", - \ 69: "#ff8b8b", 70: "#ff8bcd", 71: "#ff8bff", 72: "#ffcd00", - \ 73: "#ffcd8b", 74: "#ffcdcd", 75: "#ffcdff", 76: "#ffff00", - \ 77: "#ffff8b", 78: "#ffffcd", 79: "#ffffff", 80: "#2e2e2e", - \ 81: "#5c5c5c", 82: "#737373", 83: "#8b8b8b", 84: "#a2a2a2", - \ 85: "#b9b9b9", 86: "#d0d0d0", 87: "#e7e7e7" - \ }) - elseif &t_Co == 256 - call extend(s:cterm_color, { - \ 16: "#000000", 17: "#00005f", 18: "#000087", 19: "#0000af", - \ 20: "#0000d7", 21: "#0000ff", 22: "#005f00", 23: "#005f5f", - \ 24: "#005f87", 25: "#005faf", 26: "#005fd7", 27: "#005fff", - \ 28: "#008700", 29: "#00875f", 30: "#008787", 31: "#0087af", - \ 32: "#0087d7", 33: "#0087ff", 34: "#00af00", 35: "#00af5f", - \ 36: "#00af87", 37: "#00afaf", 38: "#00afd7", 39: "#00afff", - \ 40: "#00d700", 41: "#00d75f", 42: "#00d787", 43: "#00d7af", - \ 44: "#00d7d7", 45: "#00d7ff", 46: "#00ff00", 47: "#00ff5f", - \ 48: "#00ff87", 49: "#00ffaf", 50: "#00ffd7", 51: "#00ffff", - \ 52: "#5f0000", 53: "#5f005f", 54: "#5f0087", 55: "#5f00af", - \ 56: "#5f00d7", 57: "#5f00ff", 58: "#5f5f00", 59: "#5f5f5f", - \ 60: "#5f5f87", 61: "#5f5faf", 62: "#5f5fd7", 63: "#5f5fff", - \ 64: "#5f8700" - \ }) - call extend(s:cterm_color, { - \ 65: "#5f875f", 66: "#5f8787", 67: "#5f87af", 68: "#5f87d7", - \ 69: "#5f87ff", 70: "#5faf00", 71: "#5faf5f", 72: "#5faf87", - \ 73: "#5fafaf", 74: "#5fafd7", 75: "#5fafff", 76: "#5fd700", - \ 77: "#5fd75f", 78: "#5fd787", 79: "#5fd7af", 80: "#5fd7d7", - \ 81: "#5fd7ff", 82: "#5fff00", 83: "#5fff5f", 84: "#5fff87", - \ 85: "#5fffaf", 86: "#5fffd7", 87: "#5fffff", 88: "#870000", - \ 89: "#87005f", 90: "#870087", 91: "#8700af", 92: "#8700d7", - \ 93: "#8700ff", 94: "#875f00", 95: "#875f5f", 96: "#875f87", - \ 97: "#875faf", 98: "#875fd7", 99: "#875fff", 100: "#878700", - \ 101: "#87875f", 102: "#878787", 103: "#8787af", 104: "#8787d7", - \ 105: "#8787ff", 106: "#87af00", 107: "#87af5f", 108: "#87af87", - \ 109: "#87afaf", 110: "#87afd7", 111: "#87afff", 112: "#87d700" - \ }) - call extend(s:cterm_color, { - \ 113: "#87d75f", 114: "#87d787", 115: "#87d7af", 116: "#87d7d7", - \ 117: "#87d7ff", 118: "#87ff00", 119: "#87ff5f", 120: "#87ff87", - \ 121: "#87ffaf", 122: "#87ffd7", 123: "#87ffff", 124: "#af0000", - \ 125: "#af005f", 126: "#af0087", 127: "#af00af", 128: "#af00d7", - \ 129: "#af00ff", 130: "#af5f00", 131: "#af5f5f", 132: "#af5f87", - \ 133: "#af5faf", 134: "#af5fd7", 135: "#af5fff", 136: "#af8700", - \ 137: "#af875f", 138: "#af8787", 139: "#af87af", 140: "#af87d7", - \ 141: "#af87ff", 142: "#afaf00", 143: "#afaf5f", 144: "#afaf87", - \ 145: "#afafaf", 146: "#afafd7", 147: "#afafff", 148: "#afd700", - \ 149: "#afd75f", 150: "#afd787", 151: "#afd7af", 152: "#afd7d7", - \ 153: "#afd7ff", 154: "#afff00", 155: "#afff5f", 156: "#afff87", - \ 157: "#afffaf", 158: "#afffd7" - \ }) - call extend(s:cterm_color, { - \ 159: "#afffff", 160: "#d70000", 161: "#d7005f", 162: "#d70087", - \ 163: "#d700af", 164: "#d700d7", 165: "#d700ff", 166: "#d75f00", - \ 167: "#d75f5f", 168: "#d75f87", 169: "#d75faf", 170: "#d75fd7", - \ 171: "#d75fff", 172: "#d78700", 173: "#d7875f", 174: "#d78787", - \ 175: "#d787af", 176: "#d787d7", 177: "#d787ff", 178: "#d7af00", - \ 179: "#d7af5f", 180: "#d7af87", 181: "#d7afaf", 182: "#d7afd7", - \ 183: "#d7afff", 184: "#d7d700", 185: "#d7d75f", 186: "#d7d787", - \ 187: "#d7d7af", 188: "#d7d7d7", 189: "#d7d7ff", 190: "#d7ff00", - \ 191: "#d7ff5f", 192: "#d7ff87", 193: "#d7ffaf", 194: "#d7ffd7", - \ 195: "#d7ffff", 196: "#ff0000", 197: "#ff005f", 198: "#ff0087", - \ 199: "#ff00af", 200: "#ff00d7", 201: "#ff00ff", 202: "#ff5f00", - \ 203: "#ff5f5f", 204: "#ff5f87" - \ }) - call extend(s:cterm_color, { - \ 205: "#ff5faf", 206: "#ff5fd7", 207: "#ff5fff", 208: "#ff8700", - \ 209: "#ff875f", 210: "#ff8787", 211: "#ff87af", 212: "#ff87d7", - \ 213: "#ff87ff", 214: "#ffaf00", 215: "#ffaf5f", 216: "#ffaf87", - \ 217: "#ffafaf", 218: "#ffafd7", 219: "#ffafff", 220: "#ffd700", - \ 221: "#ffd75f", 222: "#ffd787", 223: "#ffd7af", 224: "#ffd7d7", - \ 225: "#ffd7ff", 226: "#ffff00", 227: "#ffff5f", 228: "#ffff87", - \ 229: "#ffffaf", 230: "#ffffd7", 231: "#ffffff", 232: "#080808", - \ 233: "#121212", 234: "#1c1c1c", 235: "#262626", 236: "#303030", - \ 237: "#3a3a3a", 238: "#444444", 239: "#4e4e4e", 240: "#585858", - \ 241: "#626262", 242: "#6c6c6c", 243: "#767676", 244: "#808080", - \ 245: "#8a8a8a", 246: "#949494", 247: "#9e9e9e", 248: "#a8a8a8", - \ 249: "#b2b2b2", 250: "#bcbcbc", 251: "#c6c6c6", 252: "#d0d0d0", - \ 253: "#dadada", 254: "#e4e4e4", 255: "#eeeeee" - \ }) - endif - endif -endif - -" Return good color specification: in GUI no transformation is done, in -" terminal return RGB values of known colors and empty string for unknown -if s:whatterm == "gui" - function! s:HtmlColor(color) - return a:color - endfun -else - function! s:HtmlColor(color) - if has_key(s:cterm_color, a:color) - return s:cterm_color[a:color] - else - return "" - endif - endfun -endif - -" Find out the background and foreground color for use later -let s:fgc = s:HtmlColor(synIDattr(hlID("Normal")->synIDtrans(), "fg#", s:whatterm)) -let s:bgc = s:HtmlColor(synIDattr(hlID("Normal")->synIDtrans(), "bg#", s:whatterm)) -if s:fgc == "" - let s:fgc = ( &background == "dark" ? "#ffffff" : "#000000" ) -endif -if s:bgc == "" - let s:bgc = ( &background == "dark" ? "#000000" : "#ffffff" ) -endif - -if !s:settings.use_css - " Return opening HTML tag for given highlight id - function! s:HtmlOpening(id, extra_attrs) - let a = "" - let translated_ID = synIDtrans(a:id) - if synIDattr(translated_ID, "inverse") - " For inverse, we always must set both colors (and exchange them) - let x = s:HtmlColor(synIDattr(translated_ID, "fg#", s:whatterm)) - let a = a .. '' - let x = s:HtmlColor(synIDattr(translated_ID, "bg#", s:whatterm)) - let a = a .. '' - else - let x = s:HtmlColor(synIDattr(translated_ID, "bg#", s:whatterm)) - if x != "" - let a = a .. '' - elseif !empty(a:extra_attrs) - let a = a .. '' - endif - let x = s:HtmlColor(synIDattr(translated_ID, "fg#", s:whatterm)) - if x != "" | let a = a .. '' | endif - endif - if synIDattr(translated_ID, "bold") | let a = a .. "" | endif - if synIDattr(translated_ID, "italic") | let a = a .. "" | endif - if synIDattr(translated_ID, "underline") | let a = a .. "" | endif - return a - endfun - - " Return closing HTML tag for given highlight id - function! s:HtmlClosing(id, has_extra_attrs) - let a = "" - let translated_ID = synIDtrans(a:id) - if synIDattr(translated_ID, "underline") | let a = a .. "" | endif - if synIDattr(translated_ID, "italic") | let a = a .. "" | endif - if synIDattr(translated_ID, "bold") | let a = a .. "" | endif - if synIDattr(translated_ID, "inverse") - let a = a .. '' - else - let x = s:HtmlColor(synIDattr(translated_ID, "fg#", s:whatterm)) - if x != "" | let a = a .. '' | endif - let x = s:HtmlColor(synIDattr(translated_ID, "bg#", s:whatterm)) - if x != "" || a:has_extra_attrs | let a = a .. '' | endif - endif - return a - endfun -endif - -" Use a different function for formatting based on user options. This way we -" can avoid a lot of logic during the actual execution. -" -" Build the function line by line containing only what is needed for the options -" in use for maximum code sharing with minimal branch logic for greater speed. -" -" Note, 'exec' commands do not recognize line continuations, so must concatenate -" lines rather than continue them. -if s:settings.use_css - " save CSS to a list of rules to add to the output at the end of processing - - " first, get the style names we need - let s:wrapperfunc_lines = [] - call add(s:wrapperfunc_lines, []) - let s:wrapperfunc_lines[-1] =<< trim ENDLET - function! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, make_unselectable, unformatted) - - let l:style_name = synIDattr(a:style_id, "name", s:whatterm) - ENDLET - if &diff - call add(s:wrapperfunc_lines, []) - let s:wrapperfunc_lines[-1] =<< trim ENDLET - let l:diff_style_name = synIDattr(a:diff_style_id, "name", s:whatterm) - ENDLET - - " Add normal groups and diff groups to separate lists so we can order them to - " allow diff highlight to override normal highlight - - " if primary style IS a diff style, grab it from the diff cache instead - " (always succeeds because we pre-populate it) - call add(s:wrapperfunc_lines, []) - let s:wrapperfunc_lines[-1] =<< trim ENDLET - - if a:style_id == s:DIFF_D_ID || a:style_id == s:DIFF_A_ID || a:style_id == s:DIFF_C_ID || a:style_id == s:DIFF_T_ID - let l:saved_style = get(s:diffstylelist,a:style_id) - else - ENDLET - endif - - " get primary style info from cache or build it on the fly if not found - call add(s:wrapperfunc_lines, []) - let s:wrapperfunc_lines[-1] =<< trim ENDLET - let l:saved_style = get(s:stylelist,a:style_id) - if type(l:saved_style) == type(0) - unlet l:saved_style - let l:saved_style = s:CSS1(a:style_id) - if l:saved_style != "" - let l:saved_style = "." .. l:style_name .. " { " .. l:saved_style .. "}" - endif - let s:stylelist[a:style_id] = l:saved_style - endif - ENDLET - if &diff - call add(s:wrapperfunc_lines, []) - let s:wrapperfunc_lines[-1] =<< trim ENDLET - endif - ENDLET - endif -" Ignore this comment, just bypassing a highlighting issue: if - - " Build the wrapper tags around the text. It turns out that caching these - " gives pretty much zero performance gain and adds a lot of logic. - - call add(s:wrapperfunc_lines, []) - let s:wrapperfunc_lines[-1] =<< trim ENDLET - - if l:saved_style == "" && empty(a:extra_attrs) - ENDLET - if &diff - call add(s:wrapperfunc_lines, []) - let s:wrapperfunc_lines[-1] =<< trim ENDLET - if a:diff_style_id <= 0 - ENDLET - endif - " no surroundings if neither primary nor diff style has any info - call add(s:wrapperfunc_lines, []) - let s:wrapperfunc_lines[-1] =<< trim ENDLET - return a:text - ENDLET - if &diff - " no primary style, but diff style - call add(s:wrapperfunc_lines, []) - let s:wrapperfunc_lines[-1] =<< trim ENDLET - else - return ''..a:text.."" - endif - ENDLET - endif - " Ignore this comment, just bypassing a highlighting issue: if - - " open tag for non-empty primary style - call add(s:wrapperfunc_lines, []) - let s:wrapperfunc_lines[-1] =<< trim ENDLET - else - ENDLET - " non-empty primary style. handle either empty or non-empty diff style. - " - " separate the two classes by a space to apply them both if there is a diff - " style name, unless the primary style is empty, then just use the diff style - " name - let s:diffstyle = - \ (&diff ? '(a:diff_style_id <= 0 ? "" : " " .. l:diff_style_name)..' - \ : '') - if s:settings.prevent_copy == "" - call add(s:wrapperfunc_lines, []) - let s:wrapperfunc_lines[-1] =<< trim eval ENDLET - return "'..a:text.."" - ENDLET - else - - " New method: use generated content in the CSS. The only thing needed here - " is a span with no content, with an attribute holding the desired text. - " - " Old method: use an element when text is unsectable. This is still - " used in conditional comments for Internet Explorer, where the new method - " doesn't work. - " - " Wrap the in a to allow fixing the stupid bug in some fonts - " which cause browsers to display a 1px gap between lines when these - " s have a background color (maybe not really a bug, this isn't - " well-defined) - " - " use strwidth, because we care only about how many character boxes are - " needed to size the input, we don't care how many characters (including - " separately counted composing chars, from strchars()) or bytes (from - " len())the string contains. strdisplaywidth() is not needed because none of - " the unselectable groups can contain tab characters (fold column, fold - " text, line number). - " - " Note, if maxlength property needs to be added in the future, it will need - " to use strchars(), because HTML specifies that the maxlength parameter - " uses the number of unique codepoints for its limit. - call add(s:wrapperfunc_lines, []) - let s:wrapperfunc_lines[-1] =<< trim eval ENDLET - if a:make_unselectable - let return_span = "' : '>') - ENDLET - endif - call add(s:wrapperfunc_lines, []) - let s:wrapperfunc_lines[-1] =<< trim eval ENDLET - return return_span..'' - else - return "'..a:text.."" - endif - ENDLET - endif - call add(s:wrapperfunc_lines, []) - let s:wrapperfunc_lines[-1] =<< trim ENDLET - endif - endfun - ENDLET -else - " Non-CSS method just needs the wrapper. - " - " Functions used to get opening/closing automatically return null strings if - " no styles exist. - if &diff - let s:wrapperfunc_lines =<< trim ENDLET - function! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, unusedarg, unusedarg2) - if a:diff_style_id <= 0 - let l:diff_opening = s:HtmlOpening(a:diff_style_id, "") - let l:diff_closing = s:HtmlClosing(a:diff_style_id, 0) - else - let l:diff_opening = "" - let l:diff_closing = "" - endif - return s:HtmlOpening(a:style_id, a:extra_attrs)..l:diff_opening..a:text..l:diff_closing..s:HtmlClosing(a:style_id, !empty(a:extra_attrs)) - endfun - ENDLET - else - let s:wrapperfunc_lines =<< trim ENDLET - function! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, unusedarg, unusedarg2) - return s:HtmlOpening(a:style_id, a:extra_attrs)..a:text..s:HtmlClosing(a:style_id, !empty(a:extra_attrs)) - endfun - ENDLET - endif -endif - -" create the function we built line by line above -exec join(flatten(s:wrapperfunc_lines), "\n") - -let s:diff_mode = &diff - -" Return HTML valid characters enclosed in a span of class style_name with -" unprintable characters expanded and double spaces replaced as necessary. -" -" TODO: eliminate unneeded logic like done for BuildStyleWrapper -function! s:HtmlFormat(text, style_id, diff_style_id, extra_attrs, make_unselectable) - " Replace unprintable characters - let unformatted = strtrans(a:text) - - let formatted = unformatted - - " Replace the reserved html characters - let formatted = substitute(formatted, '&', '\&', 'g') - let formatted = substitute(formatted, '<', '\<', 'g') - let formatted = substitute(formatted, '>', '\>', 'g') - let formatted = substitute(formatted, '"', '\"', 'g') - " ' is not valid in HTML but it is in XHTML, so just use the numeric - " reference for it instead. Needed because it could appear in quotes - " especially if unselectable regions is turned on. - let formatted = substitute(formatted, '"', '\'', 'g') - - " Replace a "form feed" character with HTML to do a page break - " TODO: need to prevent this in unselectable areas? Probably it should never - " BE in an unselectable area... - let formatted = substitute(formatted, "\x0c", '
', 'g') - - " Replace double spaces, leading spaces, and trailing spaces if needed - if ' ' != s:HtmlSpace - let formatted = substitute(formatted, ' ', s:HtmlSpace .. s:HtmlSpace, 'g') - let formatted = substitute(formatted, '^ ', s:HtmlSpace, 'g') - let formatted = substitute(formatted, ' \+$', s:HtmlSpace, 'g') - endif - - " Enclose in the correct format - return s:BuildStyleWrapper(a:style_id, a:diff_style_id, a:extra_attrs, formatted, a:make_unselectable, unformatted) -endfun - -" set up functions to call HtmlFormat in certain ways based on whether the -" element is supposed to be unselectable or not -if s:settings.prevent_copy =~# 'n' - if s:settings.number_lines - if s:settings.line_ids - function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr) - if a:lnr > 0 - return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id="'..(exists('g:html_diff_win_num') ? 'W'..g:html_diff_win_num : "")..'L'..a:lnr..s:settings.id_suffix..'" ', 1) - else - return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, "", 1) - endif - endfun - else - function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr) - return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, "", 1) - endfun - endif - elseif s:settings.line_ids - " if lines are not being numbered the only reason this function gets called - " is to put the line IDs on each line; "text" will be empty but lnr will - " always be non-zero, however we don't want to use the because that - " won't work as nice for empty text - function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr) - return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id="'..(exists('g:html_diff_win_num') ? 'W'..g:html_diff_win_num : "")..'L'..a:lnr..s:settings.id_suffix..'" ', 0) - endfun - endif -else - if s:settings.line_ids - function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr) - if a:lnr > 0 - return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id="'..(exists('g:html_diff_win_num') ? 'W'..g:html_diff_win_num : "")..'L'..a:lnr..s:settings.id_suffix..'" ', 0) - else - return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, "", 0) - endif - endfun - else - function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr) - return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, "", 0) - endfun - endif -endif -if s:settings.prevent_copy =~# 'd' - function! s:HtmlFormat_d(text, style_id, diff_style_id) - return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, "", 1) - endfun -else - function! s:HtmlFormat_d(text, style_id, diff_style_id) - return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, "", 0) - endfun -endif -if s:settings.prevent_copy =~# 'f' - if s:settings.use_input_for_pc ==# 'none' - " Simply space-pad to the desired width inside the generated content (note - " that the FoldColumn definition includes a whitespace:pre rule) - function! s:FoldColumn_build(char, len, numfill, char2, class, click) - return "" - endfun - function! s:FoldColumn_fill() - return s:HtmlFormat(repeat(' ', s:foldcolumn), s:FOLD_C_ID, 0, "", 1) - endfun - else - " Note the elements for fill spaces will have a single space for - " content, to allow active cursor CSS selection to work. - " - " Wrap the whole thing in a span for the 1px padding workaround for gaps. - " - " Build the function line by line containing only what is needed for the - " options in use for maximum code sharing with minimal branch logic for - " greater speed. - " - " Note, 'exec' commands do not recognize line continuations, so must - " concatenate lines rather than continue them. - let s:build_fun_lines = [] - call add(s:build_fun_lines, []) - let s:build_fun_lines[-1] =<< trim ENDLET - function! s:FoldColumn_build(char, len, numfill, char2, class, click) - let l:input_open = "" : "'>") - let l:return_span = "" - let l:return_span ..= l:input_open..l:common_attrs..repeat(a:char, a:len)..(a:char2) - let l:return_span ..= l:input_close - ENDLET - if s:settings.use_input_for_pc ==# 'fallback' - call add(s:build_fun_lines, []) - let s:build_fun_lines[-1] =<< trim ENDLET - let l:return_span ..= "". - \ repeat(a:char, a:len)..a:char2..repeat(' ', a:numfill). - \ "" - endfun - function! s:FoldColumn_fill() - return s:HtmlFormat(repeat(' ', s:foldcolumn), s:FOLD_C_ID, 0, "", 0) - endfun -endif -if s:settings.prevent_copy =~# 't' - " put an extra empty span at the end for dynamic folds, so the linebreak can - " be surrounded. Otherwise do it as normal. - " - " TODO: isn't there a better way to do this, than placing it here and using a - " substitute later? - if s:settings.dynamic_folds - function! s:HtmlFormat_t(text, style_id, diff_style_id) - return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, "", 1) . - \ s:HtmlFormat("", a:style_id, 0, "", 0) - endfun - else - function! s:HtmlFormat_t(text, style_id, diff_style_id) - return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, "", 1) - endfun - endif -else - function! s:HtmlFormat_t(text, style_id, diff_style_id) - return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, "", 0) - endfun -endif - -" Return CSS style describing given highlight id (can be empty) -function! s:CSS1(id) - let a = "" - let translated_ID = synIDtrans(a:id) - if synIDattr(translated_ID, "inverse") - " For inverse, we always must set both colors (and exchange them) - let x = s:HtmlColor(synIDattr(translated_ID, "bg#", s:whatterm)) - let a = a .. "color: " .. ( x != "" ? x : s:bgc ) .. "; " - let x = s:HtmlColor(synIDattr(translated_ID, "fg#", s:whatterm)) - let a = a .. "background-color: " .. ( x != "" ? x : s:fgc ) .. "; " - else - let x = s:HtmlColor(synIDattr(translated_ID, "fg#", s:whatterm)) - if x != "" | let a = a .. "color: " .. x .. "; " | endif - let x = s:HtmlColor(synIDattr(translated_ID, "bg#", s:whatterm)) - if x != "" - let a = a .. "background-color: " .. x .. "; " - " stupid hack because almost every browser seems to have at least one font - " which shows 1px gaps between lines which have background - let a = a .. "padding-bottom: 1px; " - elseif (translated_ID == s:FOLDED_ID || translated_ID == s:LINENR_ID || translated_ID == s:FOLD_C_ID) && !empty(s:settings.prevent_copy) - " input elements default to a different color than the rest of the page - let a = a .. "background-color: " .. s:bgc .. "; " - endif - endif - if synIDattr(translated_ID, "bold") | let a = a .. "font-weight: bold; " | endif - if synIDattr(translated_ID, "italic") | let a = a .. "font-style: italic; " | endif - if synIDattr(translated_ID, "underline") | let a = a .. "text-decoration: underline; " | endif - return a -endfun - -if s:settings.dynamic_folds - " compares two folds as stored in our list of folds - " A fold is "less" than another if it starts at an earlier line number, - " or ends at a later line number, ties broken by fold level - function! s:FoldCompare(f1, f2) - if a:f1.firstline != a:f2.firstline - " put it before if it starts earlier - return a:f1.firstline - a:f2.firstline - elseif a:f1.lastline != a:f2.lastline - " put it before if it ends later - return a:f2.lastline - a:f1.lastline - else - " if folds begin and end on the same lines, put lowest fold level first - return a:f1.level - a:f2.level - endif - endfunction - -endif - - -" Set some options to make it work faster. -" Don't report changes for :substitute, there will be many of them. -" Don't change other windows; turn off scroll bind temporarily -let s:old_title = &title -let s:old_icon = &icon -let s:old_et = &l:et -let s:old_bind = &l:scrollbind -let s:old_report = &report -let s:old_search = @/ -let s:old_more = &more -set notitle noicon -setlocal et -set nomore -set report=1000000 -setlocal noscrollbind - -if exists(':ownsyntax') && exists('w:current_syntax') - let s:current_syntax = w:current_syntax -elseif exists('b:current_syntax') - let s:current_syntax = b:current_syntax -else - let s:current_syntax = 'none' -endif - -if s:current_syntax == '' - let s:current_syntax = 'none' -endif - -" If the user is sourcing this script directly then the plugin version isn't -" known because the main plugin script didn't load. In the usual case where the -" user still has the full Vim runtime installed, or has this full plugin -" installed in a package or something, then we can extract the version from the -" main plugin file at it's usual spot relative to this file. Otherwise the user -" is assembling their runtime piecemeal and we have no idea what versions of -" other files may be present so don't even try to make a guess or assume the -" presence of other specific files with specific meaning. -" -" We don't want to actually source the main plugin file here because the user -" may have a good reason not to (e.g. they define their own TOhtml command or -" something). -" -" If this seems way too complicated and convoluted, it is. Probably I should -" have put the version information in the autoload file from the start. But the -" version has been in the global variable for so long that changing it could -" break a lot of user scripts. -if exists("g:loaded_2html_plugin") - let s:pluginversion = g:loaded_2html_plugin -else - if !exists("g:unloaded_tohtml_plugin") - let s:main_plugin_path = expand(":p:h:h").."/plugin/tohtml.vim" - if filereadable(s:main_plugin_path) - let s:lines = readfile(s:main_plugin_path, "", 20) - call filter(s:lines, 'v:val =~ "loaded_2html_plugin = "') - if empty(s:lines) - let g:unloaded_tohtml_plugin = "unknown" - else - let g:unloaded_tohtml_plugin = substitute(s:lines[0], '.*loaded_2html_plugin = \([''"]\)\(\%(\1\@!.\)\+\)\1', '\2', '') - endif - unlet s:lines - else - let g:unloaded_tohtml_plugin = "unknown" - endif - unlet s:main_plugin_path - endif - let s:pluginversion = g:unloaded_tohtml_plugin -endif - -" Split window to create a buffer with the HTML file. -let s:orgbufnr = winbufnr(0) -let s:origwin_stl = &l:stl -if expand("%") == "" - if exists('g:html_diff_win_num') - exec 'new Untitled_win'..g:html_diff_win_num..'.'.(s:settings.use_xhtml ? 'xhtml' : 'html') - else - exec 'new Untitled.'..(s:settings.use_xhtml ? 'xhtml' : 'html') - endif -else - exec 'new %.'..(s:settings.use_xhtml ? 'xhtml' : 'html') -endif - -" Resize the new window to very small in order to make it draw faster -let s:old_winheight = winheight(0) -let s:old_winfixheight = &l:winfixheight -if s:old_winheight > 2 - resize 1 " leave enough room to view one line at a time - norm! G - norm! zt -endif -setlocal winfixheight - -let s:newwin_stl = &l:stl - -" on the new window, set the least time-consuming fold method -let s:old_fen = &foldenable -setlocal foldmethod=manual -setlocal nofoldenable - -let s:newwin = winnr() -let s:orgwin = bufwinnr(s:orgbufnr) - -setlocal modifiable -%d -let s:old_paste = &paste -set paste -let s:old_magic = &magic -set magic - -" set the fileencoding to match the charset we'll be using -let &l:fileencoding=s:settings.vim_encoding - -" According to http://www.w3.org/TR/html4/charset.html#doc-char-set, the byte -" order mark is highly recommend on the web when using multibyte encodings. But, -" it is not a good idea to include it on UTF-8 files. Otherwise, let Vim -" determine when it is actually inserted. -if s:settings.vim_encoding == 'utf-8' - setlocal nobomb -else - setlocal bomb -endif - -let s:lines = [] - -if s:settings.use_xhtml - if s:settings.encoding != "" - call add(s:lines, "") - else - call add(s:lines, "") - endif - let s:tag_close = ' />' -else - let s:tag_close = '>' -endif - -let s:HtmlSpace = ' ' -let s:LeadingSpace = ' ' -let s:HtmlEndline = '' -if s:settings.no_pre - let s:HtmlEndline = '", - \ ""]) - " include encoding as close to the top as possible, but only if not already - " contained in XML information (to avoid haggling over content type) - if s:settings.encoding != "" && !s:settings.use_xhtml - if s:html5 - call add(s:lines, '"..expand("%:p:~")..""), - \ ("", - \ s:settings.use_xhtml ? "" : "", - \] - else - " if we aren't doing hover_unfold, use CSS 1 only - call extend(s:lines, [ - \ ".FoldColumn { text-decoration: none; white-space: pre; }", - \ ".open-fold .fulltext { display: inline; }", - \ ".open-fold span.Folded { display: none; }", - \ ".open-fold .toggle-open { display: none; }", - \ ".open-fold .toggle-closed { display: inline; }", - \ "", - \ ".closed-fold .fulltext { display: none; }", - \ ".closed-fold span.Folded { display: inline; }", - \ ".closed-fold .toggle-open { display: inline; }", - \ ".closed-fold .toggle-closed { display: none; }", - \]) - endif - endif - " else we aren't doing any dynamic folding, no need for any special rules - - call extend(s:lines, [ - \ s:settings.use_xhtml ? "" : '-->', - \ "", - \]) - call extend(s:lines, s:ieonly) - unlet s:ieonly - endif - - let s:uses_script = s:settings.dynamic_folds || s:settings.line_ids - - " insert script tag if needed - if s:uses_script - call extend(s:lines, [ - \ "", - \ "", - \ s:settings.use_xhtml ? '//' : '-->', - \ "" - \ ]) - endif - - call extend(s:lines, ["", - \ ""]) -endif - -if s:settings.no_pre - " if we're not using CSS we use a font tag which can't have a div inside - if s:settings.use_css - call extend(s:lines, ["
"]) - endif -else - call extend(s:lines, ["
"])
-endif
-
-exe s:orgwin .. "wincmd w"
-
-" caches of style data
-" initialize to include line numbers if using them
-if s:settings.number_lines
-  let s:stylelist = { s:LINENR_ID : ".LineNr { " .. s:CSS1( s:LINENR_ID ) .. "}" }
-else
-  let s:stylelist = {}
-endif
-let s:diffstylelist = {
-      \   s:DIFF_A_ID : ".DiffAdd { " .. s:CSS1( s:DIFF_A_ID ) .. "}",
-      \   s:DIFF_C_ID : ".DiffChange { " .. s:CSS1( s:DIFF_C_ID ) .. "}",
-      \   s:DIFF_D_ID : ".DiffDelete { " .. s:CSS1( s:DIFF_D_ID ) .. "}",
-      \   s:DIFF_T_ID : ".DiffText { " .. s:CSS1( s:DIFF_T_ID ) .. "}"
-      \ }
-
-" set up progress bar in the status line
-if !s:settings.no_progress
-  " ProgressBar Indicator
-  let s:progressbar={}
-
-  " Progressbar specific functions
-
-  func! s:SetProgbarColor()
-    if hlID("TOhtmlProgress") != 0
-      hi! link TOhtmlProgress_auto TOhtmlProgress
-    elseif hlID("TOhtmlProgress_auto")==0 ||
-       \ !exists("s:last_colors_name") || !exists("g:colors_name") ||
-       \ g:colors_name != s:last_colors_name
-      let s:last_colors_name = exists("g:colors_name") ? g:colors_name : "none"
-
-      let l:diffatr = synIDattr(hlID("DiffDelete")->synIDtrans(), "reverse", s:whatterm) ? "fg#" : "bg#"
-      let l:stlatr = synIDattr(hlID("StatusLine")->synIDtrans(), "reverse", s:whatterm) ? "fg#" : "bg#"
-
-      let l:progbar_color = synIDattr(hlID("DiffDelete")->synIDtrans(), l:diffatr, s:whatterm)
-      let l:stl_color = synIDattr(hlID("StatusLine")->synIDtrans(), l:stlatr, s:whatterm)
-
-      if "" == l:progbar_color
-	let l:progbar_color = synIDattr(hlID("DiffDelete")->synIDtrans(), "reverse", s:whatterm) ? s:fgc : s:bgc
-      endif
-      if "" == l:stl_color
-	let l:stl_color = synIDattr(hlID("StatusLine")->synIDtrans(), "reverse", s:whatterm) ? s:fgc : s:bgc
-      endif
-
-      if l:progbar_color == l:stl_color
-	if s:whatterm == 'cterm'
-	  if l:progbar_color >= (&t_Co/2)
-	    let l:progbar_color-=1
-	  else
-	    let l:progbar_color+=1
-	  endif
-	else
-	  let l:rgb = map(matchlist(l:progbar_color, '#\zs\x\x\ze\(\x\x\)\(\x\x\)')[:2], 'str2nr(v:val, 16)')
-	  let l:avg = (l:rgb[0] + l:rgb[1] + l:rgb[2])/3
-	  if l:avg >= 128
-	    let l:avg_new = l:avg
-	    while l:avg - l:avg_new < 0x15
-	      let l:rgb = map(l:rgb, 'v:val * 3 / 4')
-	      let l:avg_new = (l:rgb[0] + l:rgb[1] + l:rgb[2])/3
-	    endwhile
-	  else
-	    let l:avg_new = l:avg
-	    while l:avg_new - l:avg < 0x15
-	      let l:rgb = map(l:rgb, 'min([max([v:val, 4]) * 5 / 4, 255])')
-	      let l:avg_new = (l:rgb[0] + l:rgb[1] + l:rgb[2])/3
-	    endwhile
-	  endif
-	  let l:progbar_color = printf("#%02x%02x%02x", l:rgb[0], l:rgb[1], l:rgb[2])
-	endif
-	echomsg "diff detected progbar color set to" l:progbar_color
-      endif
-      exe "hi TOhtmlProgress_auto" s:whatterm.."bg="..l:progbar_color
-    endif
-  endfun
-
-  func! s:ProgressBar(title, max_value, winnr)
-    let pgb=copy(s:progressbar)
-    let pgb.title = a:title..' '
-    let pgb.max_value = a:max_value
-    let pgb.winnr = a:winnr
-    let pgb.cur_value = 0
-
-    let pgb.items = { 'title'   : { 'color' : 'Statusline' },
-	  \'bar'     : { 'color' : 'Statusline' , 'fillcolor' : 'TOhtmlProgress_auto' , 'bg' : 'Statusline' } ,
-	  \'counter' : { 'color' : 'Statusline' } }
-    let pgb.last_value = 0
-    let pgb.needs_redraw = 0
-    " Note that you must use len(split) instead of len() if you want to use 
-    " unicode in title.
-    "
-    " Subtract 3 for spacing around the title.
-    " Subtract 4 for the percentage display.
-    " Subtract 2 for spacing before this.
-    " Subtract 2 more for the '|' on either side of the progress bar
-    let pgb.subtractedlen=len(split(pgb.title, '\zs'))+3+4+2+2
-    let pgb.max_len = 0
-    set laststatus=2
-    return pgb
-  endfun
-
-  " Function: progressbar.calculate_ticks() {{{1
-  func! s:progressbar.calculate_ticks(pb_len)
-    if a:pb_len<=0
-      let pb_len = 100
-    else
-      let pb_len = a:pb_len
-    endif
-    let self.progress_ticks = map(range(pb_len+1), "v:val * self.max_value / pb_len")
-  endfun
-
-  "Function: progressbar.paint()
-  func! s:progressbar.paint()
-    " Recalculate widths.
-    let max_len = winwidth(self.winnr)
-    let pb_len = 0
-    " always true on first call because of initial value of self.max_len
-    if max_len != self.max_len
-      let self.max_len = max_len
-
-      " Progressbar length
-      let pb_len = max_len - self.subtractedlen
-
-      call self.calculate_ticks(pb_len)
-
-      let self.needs_redraw = 1
-      let cur_value = 0
-      let self.pb_len = pb_len
-    else
-      " start searching at the last found index to make the search for the
-      " appropriate tick value normally take 0 or 1 comparisons
-      let cur_value = self.last_value
-      let pb_len = self.pb_len
-    endif
-
-    let cur_val_max = pb_len > 0 ? pb_len : 100
-
-    " find the current progress bar position based on precalculated thresholds
-    while cur_value < cur_val_max && self.cur_value > self.progress_ticks[cur_value]
-      let cur_value += 1
-    endwhile
-
-    " update progress bar
-    if self.last_value != cur_value || self.needs_redraw || self.cur_value == self.max_value
-      let self.needs_redraw = 1
-      let self.last_value = cur_value
-
-      let t_color  = self.items.title.color
-      let b_fcolor = self.items.bar.fillcolor
-      let b_color  = self.items.bar.color
-      let c_color  = self.items.counter.color
-
-      let stl =  "%#".t_color."#%-( ".self.title." %)".
-	    \"%#".b_color."#".
-	    \(pb_len>0 ?
-	    \	('|%#'.b_fcolor."#%-(".repeat(" ",cur_value)."%)".
-	    \	 '%#'.b_color."#".repeat(" ",pb_len-cur_value)."|"):
-	    \	('')).
-	    \"%=%#".c_color."#%( ".printf("%3.d ",100*self.cur_value/self.max_value)."%% %)"
-      call setwinvar(self.winnr, '&stl', stl)
-    endif
-  endfun
-
-  func! s:progressbar.incr( ... )
-    let self.cur_value += (a:0 ? a:1 : 1)
-    " if we were making a general-purpose progress bar, we'd need to limit to a
-    " lower limit as well, but since we always increment with a positive value
-    " in this script, we only need limit the upper value
-    let self.cur_value = (self.cur_value > self.max_value ? self.max_value : self.cur_value)
-    call self.paint()
-  endfun
-  " }}}
-  if s:settings.dynamic_folds
-    " to process folds we make two passes through each line
-    let s:pgb = s:ProgressBar("Processing folds:", line('$')*2, s:orgwin)
-  endif
-
-  call s:SetProgbarColor()
-endif
-
-let s:build_fun_lines = []
-call add(s:build_fun_lines, [])
-let s:build_fun_lines[-1] =<< trim ENDLET
-    func! s:Add_diff_fill(lnum)
-      let l:filler = diff_filler(a:lnum)
-      if l:filler > 0
-	let l:to_insert = l:filler
-	while l:to_insert > 0
-	  let l:new = repeat(s:difffillchar, 3)
-
-	  if l:to_insert > 2 && l:to_insert < l:filler && !s:settings.whole_filler
-	    let l:new = l:new .. " " .. l:filler .. " inserted lines "
-	    let l:to_insert = 2
-	  endif
-ENDLET
-call add(s:build_fun_lines, [])
-if !s:settings.no_pre
-  let s:build_fun_lines[-1] =<< trim ENDLET
-	  " HTML line wrapping is off--go ahead and fill to the margin
-	  " TODO: what about when CSS wrapping is turned on?
-	  let l:new = l:new .. repeat(s:difffillchar, &columns - strlen(l:new) - s:margin)
-  ENDLET
-else
-  let s:build_fun_lines[-1] =<< trim ENDLET
-	  let l:new = l:new .. repeat(s:difffillchar, 3)
-  ENDLET
-endif
-call add(s:build_fun_lines, [])
-let s:build_fun_lines[-1] =<< trim ENDLET
-	let l:new = s:HtmlFormat_d(l:new, s:DIFF_D_ID, 0)
-ENDLET
-if s:settings.number_lines
-  call add(s:build_fun_lines, [])
-  let s:build_fun_lines[-1] =<< trim ENDLET
-	  " Indent if line numbering is on. Indent gets style of line number
-	  " column.
-	  let l:new = s:HtmlFormat_n(repeat(' ', s:margin), s:LINENR_ID, 0, 0) .. l:new
-  ENDLET
-endif
-if s:settings.dynamic_folds && !s:settings.no_foldcolumn 
-  call add(s:build_fun_lines, [])
-  let s:build_fun_lines[-1] =<< trim ENDLET
-	  if s:foldcolumn > 0
-	    " Indent for foldcolumn if there is one. Assume it's empty, there should
-	    " not be a fold for deleted lines in diff mode.
-	    let l:new = s:FoldColumn_fill() .. l:new
-	  endif
-  ENDLET
-endif
-" Ignore this comment, just bypassing a highlighting issue: if
-call add(s:build_fun_lines, [])
-let s:build_fun_lines[-1] =<< trim ENDLET
-	call add(s:lines, l:new..s:HtmlEndline)
-	let l:to_insert = l:to_insert - 1
-      endwhile
-    endif
-  endfun
-ENDLET
-exec join(flatten(s:build_fun_lines), "\n")
-
-" First do some preprocessing for dynamic folding. Do this for the entire file
-" so we don't accidentally start within a closed fold or something.
-let s:allfolds = []
-
-if s:settings.dynamic_folds
-  let s:lnum = 1
-  let s:end = line('$')
-  " save the fold text and set it to the default so we can find fold levels
-  let s:foldtext_save = &foldtext
-  setlocal foldtext&
-
-  " we will set the foldcolumn in the html to the greater of the maximum fold
-  " level and the current foldcolumn setting
-  let s:foldcolumn = &foldcolumn
-
-  " get all info needed to describe currently closed folds
-  while s:lnum <= s:end
-    if foldclosed(s:lnum) == s:lnum
-      " default fold text has '+-' and then a number of dashes equal to fold
-      " level, so subtract 2 from index of first non-dash after the dashes
-      " in order to get the fold level of the current fold
-      let s:level = match(foldtextresult(s:lnum), '+-*\zs[^-]') - 2
-      " store fold info for later use
-      let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': "closed-fold"}
-      call add(s:allfolds, s:newfold)
-      " open the fold so we can find any contained folds
-      execute s:lnum.."foldopen"
-    else
-      if !s:settings.no_progress
-	call s:pgb.incr()
-	if s:pgb.needs_redraw
-	  redrawstatus
-	  let s:pgb.needs_redraw = 0
-	endif
-      endif
-      let s:lnum = s:lnum + 1
-    endif
-  endwhile
-
-  " close all folds to get info for originally open folds
-  silent! %foldclose!
-  let s:lnum = 1
-
-  " the originally open folds will be all folds we encounter that aren't
-  " already in the list of closed folds
-  while s:lnum <= s:end
-    if foldclosed(s:lnum) == s:lnum
-      " default fold text has '+-' and then a number of dashes equal to fold
-      " level, so subtract 2 from index of first non-dash after the dashes
-      " in order to get the fold level of the current fold
-      let s:level = match(foldtextresult(s:lnum), '+-*\zs[^-]') - 2
-      let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': "closed-fold"}
-      " only add the fold if we don't already have it
-      if empty(s:allfolds) || index(s:allfolds, s:newfold) == -1
-	let s:newfold.type = "open-fold"
-	call add(s:allfolds, s:newfold)
-      endif
-      " open the fold so we can find any contained folds
-      execute s:lnum.."foldopen"
-    else
-      if !s:settings.no_progress
-	call s:pgb.incr()
-	if s:pgb.needs_redraw
-	  redrawstatus
-	  let s:pgb.needs_redraw = 0
-	endif
-      endif
-      let s:lnum = s:lnum + 1
-    endif
-  endwhile
-
-  " sort the folds so that we only ever need to look at the first item in the
-  " list of folds
-  call sort(s:allfolds, "s:FoldCompare")
-
-  let &l:foldtext = s:foldtext_save
-  unlet s:foldtext_save
-
-  " close all folds again so we can get the fold text as we go
-  silent! %foldclose!
-
-  " Go through and remove folds we don't need to (or cannot) process in the
-  " current conversion range
-  "
-  " If a fold is removed which contains other folds, which are included, we need
-  " to adjust the level of the included folds as used by the conversion logic
-  " (avoiding special cases is good)
-  "
-  " Note any time we remove a fold, either all of the included folds are in it,
-  " or none of them, because we only remove a fold if neither its start nor its
-  " end are within the conversion range.
-  let leveladjust = 0
-  for afold in s:allfolds
-    let removed = 0
-    if exists("g:html_start_line") && exists("g:html_end_line")
-      if afold.firstline < g:html_start_line
-	if afold.lastline <= g:html_end_line && afold.lastline >= g:html_start_line
-	  " if a fold starts before the range to convert but stops within the
-	  " range, we need to include it. Make it start on the first converted
-	  " line.
-	  let afold.firstline = g:html_start_line
-	else
-	  " if the fold lies outside the range or the start and stop enclose
-	  " the entire range, don't bother parsing it
-	  call remove(s:allfolds, index(s:allfolds, afold))
-	  let removed = 1
-	  if afold.lastline > g:html_end_line
-	    let leveladjust += 1
-	  endif
-	endif
-      elseif afold.firstline > g:html_end_line
-	" If the entire fold lies outside the range we need to remove it.
-	call remove(s:allfolds, index(s:allfolds, afold))
-	let removed = 1
-      endif
-    elseif exists("g:html_start_line")
-      if afold.firstline < g:html_start_line
-	" if there is no last line, but there is a first line, the end of the
-	" fold will always lie within the region of interest, so keep it
-	let afold.firstline = g:html_start_line
-      endif
-    elseif exists("g:html_end_line")
-      " if there is no first line we default to the first line in the buffer so
-      " the fold start will always be included if the fold itself is included.
-      " If however the entire fold lies outside the range we need to remove it.
-      if afold.firstline > g:html_end_line
-	call remove(s:allfolds, index(s:allfolds, afold))
-	let removed = 1
-      endif
-    endif
-    if !removed
-      let afold.level -= leveladjust
-      if afold.level+1 > s:foldcolumn
-	let s:foldcolumn = afold.level+1
-      endif
-    endif
-  endfor
-
-  " if we've removed folds containing the conversion range from processing,
-  " getting foldtext as we go won't know to open the removed folds, so the
-  " foldtext would be wrong; open them now.
-  "
-  " Note that only when a start and an end line is specified will a fold
-  " containing the current range ever be removed.
-  while leveladjust > 0
-    exe g:html_start_line.."foldopen"
-    let leveladjust -= 1
-  endwhile
-endif
-
-" Now loop over all lines in the original text to convert to html.
-" Use html_start_line and html_end_line if they are set.
-if exists("g:html_start_line")
-  let s:lnum = html_start_line
-  if s:lnum < 1 || s:lnum > line("$")
-    let s:lnum = 1
-  endif
-else
-  let s:lnum = 1
-endif
-if exists("g:html_end_line")
-  let s:end = html_end_line
-  if s:end < s:lnum || s:end > line("$")
-    let s:end = line("$")
-  endif
-else
-  let s:end = line("$")
-endif
-
-" stack to keep track of all the folds containing the current line
-let s:foldstack = []
-
-if !s:settings.no_progress
-  let s:pgb = s:ProgressBar("Processing lines:", s:end - s:lnum + 1, s:orgwin)
-endif
-
-if s:settings.number_lines
-  let s:margin = strlen(s:end) + 1
-else
-  let s:margin = 0
-endif
-
-if has('folding') && !s:settings.ignore_folding
-  let s:foldfillchar = &fillchars[matchend(&fillchars, 'fold:')]
-  if s:foldfillchar == ''
-    let s:foldfillchar = '-'
-  endif
-endif
-let s:difffillchar = &fillchars[matchend(&fillchars, 'diff:')]
-if s:difffillchar == ''
-  let s:difffillchar = '-'
-endif
-
-let s:foldId = 0
-
-if !s:settings.expand_tabs
-  " If keeping tabs, add them to printable characters so we keep them when
-  " formatting text (strtrans() doesn't replace printable chars)
-  let s:old_isprint = &isprint
-  setlocal isprint+=9
-endif
-
-while s:lnum <= s:end
-
-  " If there are filler lines for diff mode, show these above the line.
-  call s:Add_diff_fill(s:lnum)
-
-  " Start the line with the line number.
-  if s:settings.number_lines
-    let s:numcol = repeat(' ', s:margin - 1 - strlen(s:lnum)) .. s:lnum .. ' '
-  endif
-
-  let s:new = ""
-
-  if has('folding') && !s:settings.ignore_folding && foldclosed(s:lnum) > -1 && !s:settings.dynamic_folds
-    "
-    " This is the beginning of a folded block (with no dynamic folding)
-    let s:new = foldtextresult(s:lnum)
-    if !s:settings.no_pre
-      " HTML line wrapping is off--go ahead and fill to the margin
-      let s:new = s:new .. repeat(s:foldfillchar, &columns - strlen(s:new))
-    endif
-
-    " put numcol in a separate group for sake of unselectable text
-    let s:new = (s:settings.number_lines ? s:HtmlFormat_n(s:numcol, s:FOLDED_ID, 0, s:lnum): "") .. s:HtmlFormat_t(s:new, s:FOLDED_ID, 0)
-
-    " Skip to the end of the fold
-    let s:new_lnum = foldclosedend(s:lnum)
-
-    if !s:settings.no_progress
-      call s:pgb.incr(s:new_lnum - s:lnum)
-    endif
-
-    let s:lnum = s:new_lnum
-
-  else
-    "
-    " A line that is not folded, or doing dynamic folding.
-    "
-    let s:line = getline(s:lnum)
-    let s:len = strlen(s:line)
-
-    if s:settings.dynamic_folds
-      " First insert a closing for any open folds that end on this line
-      while !empty(s:foldstack) && get(s:foldstack,0).lastline == s:lnum-1
-	let s:new = s:new..""
-	call remove(s:foldstack, 0)
-      endwhile
-
-      " Now insert an opening for any new folds that start on this line
-      let s:firstfold = 1
-      while !empty(s:allfolds) && get(s:allfolds,0).firstline == s:lnum
-	let s:foldId = s:foldId + 1
-	let s:new ..= ""
-
-
-	" Unless disabled, add a fold column for the opening line of a fold.
-	"
-	" Note that dynamic folds require using css so we just use css to take
-	" care of the leading spaces rather than using   in the case of
-	" html_no_pre to make it easier
-	if !s:settings.no_foldcolumn
-	  " add fold column that can open the new fold
-	  if s:allfolds[0].level > 1 && s:firstfold
-	    let s:new = s:new .. s:FoldColumn_build('|', s:allfolds[0].level - 1, 0, "",
-		  \ 'toggle-open FoldColumn','javascript:toggleFold("fold'..s:foldstack[0].id..s:settings.id_suffix..'");')
-	  endif
-	  " add the filler spaces separately from the '+' char so that it can be
-	  " shown/hidden separately during a hover unfold
-	  let s:new = s:new .. s:FoldColumn_build("+", 1, 0, "",
-		\ 'toggle-open FoldColumn', 'javascript:toggleFold("fold'..s:foldId..s:settings.id_suffix..'");')
-	  " If this is not the last fold we're opening on this line, we need
-	  " to keep the filler spaces hidden if the fold is opened by mouse
-	  " hover. If it is the last fold to open in the line, we shouldn't hide
-	  " them, so don't apply the toggle-filler class.
-	  let s:new = s:new .. s:FoldColumn_build(" ", 1, s:foldcolumn - s:allfolds[0].level - 1, "",
-		\ 'toggle-open FoldColumn'.. (get(s:allfolds, 1, {'firstline': 0}).firstline == s:lnum ?" toggle-filler" :""),
-		\ 'javascript:toggleFold("fold'..s:foldId..s:settings.id_suffix..'");')
-
-	  " add fold column that can close the new fold
-	  " only add extra blank space if we aren't opening another fold on the
-	  " same line
-	  if get(s:allfolds, 1, {'firstline': 0}).firstline != s:lnum
-	    let s:extra_space = s:foldcolumn - s:allfolds[0].level
-	  else
-	    let s:extra_space = 0
-	  endif
-	  if s:firstfold
-	    " the first fold in a line has '|' characters from folds opened in
-	    " previous lines, before the '-' for this fold
-	    let s:new ..= s:FoldColumn_build('|', s:allfolds[0].level - 1, s:extra_space, '-',
-		  \ 'toggle-closed FoldColumn', 'javascript:toggleFold("fold'..s:foldId..s:settings.id_suffix..'");')
-	  else
-	    " any subsequent folds in the line only add a single '-'
-	    let s:new = s:new .. s:FoldColumn_build("-", 1, s:extra_space, "",
-		  \ 'toggle-closed FoldColumn', 'javascript:toggleFold("fold'..s:foldId..s:settings.id_suffix..'");')
-	  endif
-	  let s:firstfold = 0
-	endif
-
-	" Add fold text, moving the span ending to the next line so collapsing
-	" of folds works correctly.
-	" Put numcol in a separate group for sake of unselectable text.
-	let s:new = s:new .. (s:settings.number_lines ? s:HtmlFormat_n(s:numcol, s:FOLDED_ID, 0, 0) : "") .. substitute(s:HtmlFormat_t(foldtextresult(s:lnum), s:FOLDED_ID, 0), '', s:HtmlEndline..'\n\0', '')
-	let s:new = s:new .. ""
-
-	" open the fold now that we have the fold text to allow retrieval of
-	" fold text for subsequent folds
-	execute s:lnum.."foldopen"
-	call insert(s:foldstack, remove(s:allfolds,0))
-	let s:foldstack[0].id = s:foldId
-      endwhile
-
-      " Unless disabled, add a fold column for other lines.
-      "
-      " Note that dynamic folds require using css so we just use css to take
-      " care of the leading spaces rather than using   in the case of
-      " html_no_pre to make it easier
-      if !s:settings.no_foldcolumn
-	if empty(s:foldstack)
-	  " add the empty foldcolumn for unfolded lines if there is a fold
-	  " column at all
-	  if s:foldcolumn > 0
-	    let s:new = s:new .. s:FoldColumn_fill()
-	  endif
-	else
-	  " add the fold column for folds not on the opening line
-	  if get(s:foldstack, 0).firstline < s:lnum
-	    let s:new = s:new .. s:FoldColumn_build('|', s:foldstack[0].level, s:foldcolumn - s:foldstack[0].level, "",
-		  \ 'FoldColumn', 'javascript:toggleFold("fold'..s:foldstack[0].id..s:settings.id_suffix..'");')
-	  endif
-	endif
-      endif
-    endif
-
-    " Now continue with the unfolded line text
-    if s:settings.number_lines
-      let s:new = s:new .. s:HtmlFormat_n(s:numcol, s:LINENR_ID, 0, s:lnum)
-    elseif s:settings.line_ids
-      let s:new = s:new .. s:HtmlFormat_n("", s:LINENR_ID, 0, s:lnum)
-    endif
-
-    " Get the diff attribute, if any.
-    let s:diffattr = diff_hlID(s:lnum, 1)
-
-    " initialize conceal info to act like not concealed, just in case
-    let s:concealinfo = [0, '']
-
-    " Loop over each character in the line
-    let s:col = 1
-
-    " most of the time we won't use the diff_id, initialize to zero
-    let s:diff_id = 0
-
-    while s:col <= s:len || (s:col == 1 && s:diffattr)
-      let s:startcol = s:col " The start column for processing text
-      if !s:settings.ignore_conceal && has('conceal')
-	let s:concealinfo = synconcealed(s:lnum, s:col)
-      endif
-      if !s:settings.ignore_conceal && s:concealinfo[0]
-	let s:col = s:col + 1
-	" Speed loop (it's small - that's the trick)
-	" Go along till we find a change in the match sequence number (ending
-	" the specific concealed region) or until there are no more concealed
-	" characters.
-	while s:col <= s:len && s:concealinfo == synconcealed(s:lnum, s:col) | let s:col = s:col + 1 | endwhile
-      elseif s:diffattr
-	let s:diff_id = diff_hlID(s:lnum, s:col)
-	let s:id = synID(s:lnum, s:col, 1)
-	let s:col = s:col + 1
-	" Speed loop (it's small - that's the trick)
-	" Go along till we find a change in hlID
-	while s:col <= s:len && s:id == synID(s:lnum, s:col, 1)
-	      \   && s:diff_id == diff_hlID(s:lnum, s:col) |
-	      \     let s:col = s:col + 1 |
-	      \ endwhile
-	if s:len < &columns && !s:settings.no_pre
-	  " Add spaces at the end of the raw text line to extend the changed
-	  " line to the full width.
-	  let s:line = s:line .. repeat(' ', &columns - virtcol([s:lnum, s:len]) - s:margin)
-	  let s:len = &columns
-	endif
-      else
-	let s:id = synID(s:lnum, s:col, 1)
-	let s:col = s:col + 1
-	" Speed loop (it's small - that's the trick)
-	" Go along till we find a change in synID
-	while s:col <= s:len && s:id == synID(s:lnum, s:col, 1) | let s:col = s:col + 1 | endwhile
-      endif
-
-      if s:settings.ignore_conceal || !s:concealinfo[0]
-	" Expand tabs if needed
-	let s:expandedtab = strpart(s:line, s:startcol - 1, s:col - s:startcol)
-	if s:settings.expand_tabs
-	  let s:offset = 0
-	  let s:idx = stridx(s:expandedtab, "\t")
-	  let s:tablist = split(&vts,',')
-	  if empty(s:tablist)
-	    let s:tablist = [ &ts ]
-	  endif
-	  let s:tabidx = 0
-	  let s:tabwidth = 0
-	  while s:idx >= 0
-	    if s:startcol + s:idx == 1
-	      let s:i = s:tablist[0]
-	    else
-	      " Get the character, which could be multiple bytes, which falls
-	      " immediately before the found tab. Extract it by matching a
-	      " character just prior to the column where the tab matches.
-	      " We'll use this to get the byte index of the character
-	      " immediately preceding the tab, so we can then look up the
-	      " virtual column that character appears in, to determine how
-	      " much of the current tabstop has been used up.
-	      if s:idx == 0
-		" if the found tab is the first character in the text being
-		" processed, we need to get the character prior to the text,
-		" given by startcol.
-		let s:prevc = matchstr(s:line, '.\%' .. (s:startcol + s:offset) .. 'c')
-	      else
-		" Otherwise, the byte index of the tab into s:expandedtab is
-		" given by s:idx.
-		let s:prevc = matchstr(s:expandedtab, '.\%' .. (s:idx + 1) .. 'c')
-	      endif
-	      let s:vcol = virtcol([s:lnum, s:startcol + s:idx + s:offset - len(s:prevc)])
-
-	      " find the tabstop interval to use for the tab we just found. Keep
-	      " adding tabstops (which could be variable) until we would exceed
-	      " the virtual screen position of the start of the found tab.
-	      while s:vcol >= s:tabwidth + s:tablist[s:tabidx]
-		let s:tabwidth += s:tablist[s:tabidx]
-		if s:tabidx < len(s:tablist)-1
-		  let s:tabidx = s:tabidx+1
-		endif
-	      endwhile
-	      let s:i = s:tablist[s:tabidx] - (s:vcol - s:tabwidth)
-	    endif
-	    " update offset to keep the index within the line corresponding to
-	    " actual tab characters instead of replaced spaces; s:idx reflects
-	    " replaced spaces in s:expandedtab, s:offset cancels out all but
-	    " the tab character itself.
-	    let s:offset -= s:i - 1
-	    let s:expandedtab = substitute(s:expandedtab, '\t', repeat(' ', s:i), '')
-	    let s:idx = stridx(s:expandedtab, "\t")
-	  endwhile
-	end
-
-	" get the highlight group name to use
-	let s:id = synIDtrans(s:id)
-      else
-	" use Conceal highlighting for concealed text
-	let s:id = s:CONCEAL_ID
-	let s:expandedtab = s:concealinfo[1]
-      endif
-
-      " Output the text with the same synID, with class set to the highlight ID
-      " name, unless it has been concealed completely.
-      if strlen(s:expandedtab) > 0
-	let s:new = s:new .. s:HtmlFormat(s:expandedtab,  s:id, s:diff_id, "", 0)
-      endif
-    endwhile
-  endif
-
-  call extend(s:lines, split(s:new..s:HtmlEndline, '\n', 1))
-  if !s:settings.no_progress && s:pgb.needs_redraw
-    redrawstatus
-    let s:pgb.needs_redraw = 0
-  endif
-  let s:lnum = s:lnum + 1
-
-  if !s:settings.no_progress
-    call s:pgb.incr()
-  endif
-endwhile
-
-" Diff filler is returned based on what needs inserting *before* the given line.
-" So to get diff filler at the end of the buffer, we need to use last line + 1
-call s:Add_diff_fill(s:end+1)
-
-if s:settings.dynamic_folds
-  " finish off any open folds
-  while !empty(s:foldstack)
-    let s:lines[-1]..=""
-    call remove(s:foldstack, 0)
-  endwhile
-
-  " add fold column to the style list if not already there
-  let s:id = s:FOLD_C_ID
-  if !has_key(s:stylelist, s:id)
-    let s:stylelist[s:id] = '.FoldColumn { ' .. s:CSS1(s:id) .. '}'
-  endif
-endif
-
-if s:settings.no_pre
-  if !s:settings.use_css
-    " Close off the font tag that encapsulates the whole 
-    call extend(s:lines, [""])
-  else
-    call extend(s:lines, ["
"]) - endif -else - call extend(s:lines, [""]) -endif -if !s:settings.no_doc - call extend(s:lines, ["", ""]) -endif - -exe s:newwin .. "wincmd w" -call setline(1, s:lines) -unlet s:lines - -" Mangle modelines so Vim doesn't try to use HTML text as a modeline if editing -" this file in the future; need to do this after generating all the text in case -" the modeline text has different highlight groups which all turn out to be -" stripped from the final output. -%s!\v(%(^|\s+)%([Vv]i%(m%([<=>]?\d+)?)?|ex)):!\1\:!ge - -" The generated HTML is admittedly ugly and takes a LONG time to fold. -" Make sure the user doesn't do syntax folding when loading a generated file, -" using a modeline. -if !s:settings.no_modeline - call append(line('$'), "") -endif - -" Now, when we finally know which, we define the colors and styles -if s:settings.use_css && !s:settings.no_doc - 1;//+1 - - " Normal/global attributes - if s:settings.no_pre - call append('.', "body { color: " .. s:fgc .. "; background-color: " .. s:bgc .. "; font-family: ".. s:htmlfont .."; }") - + - else - call append('.', "pre { " .. s:whitespace .. "font-family: ".. s:htmlfont .."; color: " .. s:fgc .. "; background-color: " .. s:bgc .. "; }") - + - yank - put - execute "normal! ^cwbody\e" - " body should not have the wrap formatting, only the pre section - if s:whitespace != '' - exec 's#'..s:whitespace - endif - endif - " fix browser inconsistencies (sometimes within the same browser) of different - " default font size for different elements - call append('.', '* { font-size: 1em; }') - + - " use color scheme styles for links - " browser-default blue/purple colors for links don't look like the existing theme and are unreadable on dark backgrounds - call append('.', 'a { color: inherit; }') - + - " if we use any input elements for unselectable content, make sure they look - " like normal text - if !empty(s:settings.prevent_copy) - if s:settings.use_input_for_pc !=# "none" - call append('.', 'input { border: none; margin: 0; padding: 0; font-family: '..s:htmlfont..'; }') - + - " ch units for browsers which support them, em units for a somewhat - " reasonable fallback. - for w in range(1, 20, 1) - call append('.', [ - \ "input[size='"..w.."'] { width: "..w.."em; width: "..w.."ch; }" - \ ]) - + - endfor - endif - - if s:settings.use_input_for_pc !=# 'all' - let s:unselectable_styles = [] - if s:settings.prevent_copy =~# 'f' - call add(s:unselectable_styles, 'FoldColumn') - endif - if s:settings.prevent_copy =~# 'n' - call add(s:unselectable_styles, 'LineNr') - endif - if s:settings.prevent_copy =~# 't' && !s:settings.ignore_folding - call add(s:unselectable_styles, 'Folded') - endif - if s:settings.prevent_copy =~# 'd' - call add(s:unselectable_styles, 'DiffDelete') - endif - if s:settings.use_input_for_pc !=# 'none' - call append('.', [ - \ '/* Note: IE does not support @supports conditionals, but also does not fully support', - \ ' "content:" with custom content, so we *want* the check to fail */', - \ '@supports ( content: attr(data-custom-content) ) {' - \ ]) - +3 - endif - " The line number column inside the foldtext is styled just like the fold - " text in Vim, but it should use the prevent_copy settings of line number - " rather than fold text. Apply the prevent_copy styles to foldtext - " specifically for line numbers, which always come after the fold column, - " or at the beginning of the line. - if s:settings.prevent_copy =~# 'n' && !s:settings.ignore_folding - call append('.', [ - \ ' .FoldColumn + .Folded, .Folded:first-child { user-select: none; }', - \ ' .FoldColumn + [data-Folded-content]::before, [data-Folded-content]:first-child::before { content: attr(data-Folded-content); }', - \ ' .FoldColumn + [data-Folded-content]::before, [data-Folded-content]:first-child::before { padding-bottom: 1px; display: inline-block; /* match the 1-px padding of standard items with background */ }', - \ ' .FoldColumn + span[data-Folded-content]::before, [data-Folded-content]:first-child::before { cursor: default; }', - \ ]) - +4 - endif - for s:style_name in s:unselectable_styles - call append('.', [ - \ ' .'..s:style_name..' { user-select: none; }', - \ ' [data-'..s:style_name..'-content]::before { content: attr(data-'..s:style_name..'-content); }', - \ ' [data-'..s:style_name..'-content]::before { padding-bottom: 1px; display: inline-block; /* match the 1-px padding of standard items with background */ }', - \ ' span[data-'..s:style_name..'-content]::before { cursor: default; }', - \ ]) - +4 - endfor - if s:settings.use_input_for_pc !=# 'none' - " Note, the extra '}' is to match the "@supports" above - call append('.', [ - \ ' input { display: none; }', - \ '}' - \ ]) - +2 - endif - unlet s:unselectable_styles - endif - - " Fix mouse cursor shape for the fallback method of uncopyable text - if s:settings.use_input_for_pc !=# 'none' - if s:settings.prevent_copy =~# 'f' - " Make the cursor show active fold columns as active areas, and empty fold - " columns as not interactive. - call append('.', ['input.FoldColumn { cursor: pointer; }', - \ 'input.FoldColumn[value="'..repeat(' ', s:foldcolumn)..'"] { cursor: default; }' - \ ]) - +2 - if s:settings.use_input_for_pc !=# 'all' - call append('.', [ - \ 'a[data-FoldColumn-content="'..repeat(' ', s:foldcolumn)..'"] { cursor: default; }' - \ ]) - +1 - end - endif - " make line number column show as non-interactive if not selectable - if s:settings.prevent_copy =~# 'n' - call append('.', 'input.LineNr { cursor: default; }') - + - endif - " make fold text and line number column within fold text show as - " non-interactive if not selectable - if (s:settings.prevent_copy =~# 'n' || s:settings.prevent_copy =~# 't') && !s:settings.ignore_folding - call append('.', 'input.Folded { cursor: default; }') - + - endif - " make diff filler show as non-interactive if not selectable - if s:settings.prevent_copy =~# 'd' - call append('.', 'input.DiffDelete { cursor: default; }') - + - endif - endif - endif -endif - -if !s:settings.use_css && !s:settings.no_doc - " For Netscape 4, set attributes too, though, strictly speaking, it's - " incorrect. - execute '%s:]*\):\r]\|>\|<\|"\)+\1\2+ge -endif - -" The DTD -if !s:settings.no_doc - if s:settings.use_xhtml - exe "normal! gg$a\n" - elseif s:html5 - exe "normal! gg0i\n" - else - exe "normal! gg0i\n" - endif -endif - -if s:settings.use_xhtml && !s:settings.no_doc - exe "normal! gg/ +" URL: https://8th-dev.com/ +" Filetypes: *.8th +" NOTE: You should also have the ftplugin/8th.mnv file to set 'isk' + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv +syn clear + +syn sync ccomment +syn sync maxlines=200 + +syn case match +syn iskeyword 33-255 + +syn match eighthColonName "\S\+" contained +syn match eighthColonDef ":\s\+\S\+" contains=eighthColonName + +" new words +syn match eighthClasses "\<\S\+:" contained +syn match eighthClassWord "\<\S\+:.\+" contains=eighthClasses + +syn keyword eighthEndOfColonDef ; i; +syn keyword eighthDefine var var, + +" Built in words: +com! -nargs=+ Builtin syn keyword eighthBuiltin + + +Builtin gen-secret 2fa:gen-secret gen-url 2fa:gen-url validate-code 2fa:validate-code cb AWS:cb cli AWS:cli +Builtin cmd AWS:cmd cp AWS:cp rc AWS:rc LIBS DBUS:LIBS call DBUS:call init DBUS:init + DOM:+ - DOM:- +Builtin attr! DOM:attr! attr@ DOM:attr@ attrs DOM:attrs children DOM:children css-parse DOM:css-parse +Builtin each DOM:each find DOM:find new DOM:new type DOM:type ! G:! !if G:!if #! G:#! ## G:## #if G:#if +Builtin #ifdef G:#ifdef #ifeval G:#ifeval ' G:' ( G:( (:) G:(:) (code) G:(code) (defer) G:(defer) (dump) G:(dump) +Builtin (getc) G:(getc) (gets) G:(gets) (interp) G:(interp) (log) G:(log) (needs) G:(needs) (parseln) G:(parseln) +Builtin (putc) G:(putc) (puts) G:(puts) (stat) G:(stat) (with) G:(with) ) G:) +hook G:+hook +ref G:+ref +Builtin ,# G:,# -----BEGIN G:-----BEGIN -Inf G:-Inf -Inf? G:-Inf? -hook G:-hook -ref G:-ref -rot G:-rot +Builtin . G:. .# G:.# .hook G:.hook .needs G:.needs .r G:.r .s G:.s .s-truncate G:.s-truncate .stats G:.stats +Builtin .ver G:.ver .with G:.with 0; G:0; 2dip G:2dip 2drop G:2drop 2dup G:2dup 2nip G:2nip 2over G:2over +Builtin 2swap G:2swap 2tuck G:2tuck 3drop G:3drop 3dup G:3dup 3rev G:3rev 4drop G:4drop 8thdt? G:8thdt? +Builtin 8thsku? G:8thsku? 8thver? G:8thver? 8thvernum? G:8thvernum? : G:: ; G:; ;; G:;; ;;; G:;;; ;with G:;with +Builtin >clip G:>clip >clip-mime G:>clip-mime >json G:>json >kind G:>kind >n G:>n >r G:>r >s G:>s ?: G:?: +Builtin ?@ G:?@ @ G:@ BITMAP: G:BITMAP: ENUM: G:ENUM: FLAG: G:FLAG: I G:I Inf G:Inf Inf? G:Inf? J G:J +Builtin K G:K NaN G:NaN NaN? G:NaN? SED-CHECK G:SED-CHECK SED: G:SED: SED: G:SED: X G:X \ G:\ _dup G:_dup +Builtin _swap G:_swap actor: G:actor: again G:again ahead G:ahead all-words G:all-words and G:and apropos G:apropos +Builtin argc G:argc args G:args array? G:array? assert G:assert base G:base base>n G:base>n bi G:bi +Builtin bits G:bits break G:break break? G:break? breakif G:breakif build? G:build? buildver? G:buildver? +Builtin bye G:bye c/does G:c/does case: G:case: catch G:catch chdir G:chdir clip-mime-types G:clip-mime-types +Builtin clip-mime> G:clip-mime> clip-mime? G:clip-mime? clip> G:clip> clone G:clone clone-shallow G:clone-shallow +Builtin cold G:cold compile G:compile compile? G:compile? compiling? G:compiling? conflict G:conflict +Builtin const G:const container? G:container? counting-allocations G:counting-allocations cr G:cr critical: G:critical: +Builtin critical; G:critical; curlang G:curlang curry G:curry curry: G:curry: decimal G:decimal default: G:default: +Builtin defer: G:defer: deferred: G:deferred: deg>rad G:deg>rad depth G:depth die G:die dip G:dip drop G:drop +Builtin dstack G:dstack dump G:dump dup G:dup dup>r G:dup>r dup? G:dup? e# G:e# enum: G:enum: error? G:error? +Builtin eval G:eval eval! G:eval! eval0 G:eval0 exit G:exit expect G:expect extra! G:extra! extra@ G:extra@ +Builtin false G:false fnv G:fnv fourth G:fourth free G:free func: G:func: getc G:getc getcwd G:getcwd +Builtin getenv G:getenv gets G:gets goto G:goto handler G:handler header G:header help G:help help_db G:help_db +Builtin here G:here hex G:hex i: G:i: i; G:i; immutable G:immutable isa? G:isa? items-used G:items-used +Builtin jcall G:jcall jclass G:jclass jmethod G:jmethod json! G:json! json-8th> G:json-8th> json-nesting G:json-nesting +Builtin json-pretty G:json-pretty json-throw G:json-throw json> G:json> json@ G:json@ k32 G:k32 keep G:keep +Builtin l: G:l: last G:last lib G:lib libbin G:libbin libc G:libc libimg G:libimg literal G:literal +Builtin locals: G:locals: lock G:lock lock-to G:lock-to locked? G:locked? log G:log logl G:logl long-days G:long-days +Builtin long-months G:long-months longjmp G:longjmp lookup G:lookup loop G:loop loop- G:loop- map? G:map? +Builtin mark G:mark mark? G:mark? mobile? G:mobile? n# G:n# name>os G:name>os name>sem G:name>sem ndrop G:ndrop +Builtin needs G:needs needs-throws G:needs-throws new G:new next-arg G:next-arg next-num-var G:next-num-var +Builtin next-var G:next-var nip G:nip noop G:noop not G:not nothrow G:nothrow ns G:ns ns: G:ns: ns>ls G:ns>ls +Builtin ns>s G:ns>s ns? G:ns? null G:null null; G:null; null? G:null? nullvar G:nullvar number? G:number? +Builtin of: G:of: off G:off on G:on onexit G:onexit only G:only op! G:op! or G:or os G:os os-names G:os-names +Builtin os>long-name G:os>long-name os>name G:os>name over G:over p: G:p: pack G:pack parse G:parse +Builtin parse-csv G:parse-csv parse-date G:parse-date parsech G:parsech parseln G:parseln parsews G:parsews +Builtin pick G:pick poke G:poke pool-clear G:pool-clear pool-clear-all G:pool-clear-all prior G:prior +Builtin private G:private process-args G:process-args process-args-fancy G:process-args-fancy process-args-help G:process-args-help +Builtin prompt G:prompt public G:public putc G:putc puts G:puts quote G:quote r! G:r! r> G:r> r@ G:r@ +Builtin rad>deg G:rad>deg rand-float G:rand-float rand-float-signed G:rand-float-signed rand-jit G:rand-jit +Builtin rand-jsf G:rand-jsf rand-native G:rand-native rand-normal G:rand-normal rand-pcg G:rand-pcg +Builtin rand-pcg-seed G:rand-pcg-seed rand-range G:rand-range rand-select G:rand-select randbuf-pcg G:randbuf-pcg +Builtin random G:random rdrop G:rdrop recurse G:recurse recurse-stack G:recurse-stack ref@ G:ref@ reg! G:reg! +Builtin reg@ G:reg@ regbin@ G:regbin@ remaining-args G:remaining-args repeat G:repeat requires G:requires +Builtin reset G:reset roll G:roll rop! G:rop! rot G:rot rpick G:rpick rreset G:rreset rroll G:rroll +Builtin rstack G:rstack rswap G:rswap rusage G:rusage s>ns G:s>ns same? G:same? scriptdir G:scriptdir +Builtin scriptfile G:scriptfile sem G:sem sem-post G:sem-post sem-rm G:sem-rm sem-wait G:sem-wait sem-wait? G:sem-wait? +Builtin sem>name G:sem>name semi-throw G:semi-throw set-wipe G:set-wipe setenv G:setenv setjmp G:setjmp +Builtin settings! G:settings! settings![] G:settings![] settings-clear G:settings-clear settings-db-name G:settings-db-name +Builtin settings-gather G:settings-gather settings-load G:settings-load settings-save G:settings-save +Builtin settings-save-these G:settings-save-these settings-ungather G:settings-ungather settings@ G:settings@ +Builtin settings@? G:settings@? settings@[] G:settings@[] sh G:sh sh! G:sh! sh!to G:sh!to sh$ G:sh$ +Builtin short-days G:short-days short-months G:short-months sleep G:sleep sleep-msec G:sleep-msec sleep-nsec G:sleep-nsec +Builtin sleep-until G:sleep-until slog G:slog space G:space stack-check G:stack-check stack-size G:stack-size +Builtin step G:step sthrow G:sthrow string? G:string? struct: G:struct: swap G:swap tab-hook G:tab-hook +Builtin tell-conflict G:tell-conflict tempdir G:tempdir tempfilename G:tempfilename third G:third throw G:throw +Builtin thrownull G:thrownull times G:times toggle G:toggle tri G:tri true G:true tuck G:tuck type-check G:type-check +Builtin typeassert G:typeassert uid G:uid uname G:uname unlock G:unlock unpack G:unpack until G:until +Builtin until! G:until! while G:while while! G:while! with: G:with: word? G:word? words G:words words-like G:words-like +Builtin words/ G:words/ xchg G:xchg xor G:xor >auth HTTP:>auth (curry) I:(curry) appopts I:appopts +Builtin notimpl I:notimpl sh I:sh call JSONRPC:call auth-string OAuth:auth-string gen-nonce OAuth:gen-nonce +Builtin params OAuth:params call SOAP:call ! a:! + a:+ - a:- / a:/ 2each a:2each 2len a:2len 2map a:2map +Builtin 2map+ a:2map+ 2map= a:2map= <> a:<> = a:= @ a:@ @? a:@? _@ a:_@ _len a:_len _push a:_push all a:all +Builtin any a:any bsearch a:bsearch centroid a:centroid clear a:clear close a:close cmp a:cmp diff a:diff +Builtin dot a:dot each a:each each! a:each! each-par a:each-par each-slice a:each-slice exists? a:exists? +Builtin filter a:filter filter-par a:filter-par generate a:generate group a:group indexof a:indexof +Builtin insert a:insert intersect a:intersect join a:join len a:len map a:map map+ a:map+ map-par a:map-par +Builtin map= a:map= maxlen a:maxlen mean a:mean mean&variance a:mean&variance merge a:merge new a:new +Builtin op! a:op! open a:open pigeon a:pigeon pivot a:pivot pop a:pop push a:push push-n a:push-n qsort a:qsort +Builtin randeach a:randeach reduce a:reduce reduce+ a:reduce+ remove a:remove rev a:rev rindexof a:rindexof +Builtin search a:search shift a:shift shuffle a:shuffle slice a:slice slice+ a:slice+ slide a:slide +Builtin smear a:smear sort a:sort split a:split squash a:squash union a:union uniq a:uniq unzip a:unzip +Builtin when-n a:when-n x a:x x-each a:x-each xchg a:xchg y a:y zip a:zip 8thdir app:8thdir asset app:asset +Builtin atrun app:atrun atrun app:atrun atrun app:atrun basedir app:basedir basename app:basename config-file-name app:config-file-name +Builtin current app:current datadir app:datadir display-moved app:display-moved exename app:exename +Builtin localechanged app:localechanged lowmem app:lowmem main app:main meta! app:meta! meta@ app:meta@ +Builtin name app:name onback app:onback oncrash app:oncrash opts! app:opts! opts@ app:opts@ orientation app:orientation +Builtin orientation! app:orientation! pid app:pid post-main app:post-main pre-main app:pre-main privdir app:privdir +Builtin quiet? app:quiet? raise app:raise read-config app:read-config read-config-map app:read-config-map +Builtin read-config-var app:read-config-var read-config-vars app:read-config-vars request-perm app:request-perm +Builtin restart app:restart resumed app:resumed save-config-vars app:save-config-vars signal app:signal +Builtin standalone app:standalone standalone! app:standalone! subdir app:subdir suspended app:suspended +Builtin sysquit app:sysquit terminated app:terminated theme? app:theme? themechanged app:themechanged +Builtin ticks app:ticks timeout app:timeout trap app:trap dawn astro:dawn do-dawn astro:do-dawn do-dusk astro:do-dusk +Builtin do-rise astro:do-rise dst! astro:dst! dusk astro:dusk latitude astro:latitude location! astro:location! +Builtin longitude astro:longitude sunrise astro:sunrise genkeys auth:genkeys secret auth:secret session-id auth:session-id +Builtin session-key auth:session-key validate auth:validate ! b:! + b:+ / b:/ 1+ b:1+ 1- b:1- <> b:<> +Builtin = b:= >base16 b:>base16 >base32 b:>base32 >base64 b:>base64 >base85 b:>base85 >hex b:>hex >mpack b:>mpack +Builtin @ b:@ ICONVLIBS b:ICONVLIBS append b:append base16> b:base16> base32> b:base32> base64> b:base64> +Builtin base85> b:base85> bit! b:bit! bit@ b:bit@ clear b:clear compress b:compress conv b:conv each b:each +Builtin each! b:each! each-slice b:each-slice expand b:expand fill b:fill getb b:getb hex> b:hex> len b:len +Builtin mem> b:mem> move b:move mpack-compat b:mpack-compat mpack-date b:mpack-date mpack-ignore b:mpack-ignore +Builtin mpack> b:mpack> n! b:n! n+ b:n+ n@ b:n@ new b:new op b:op op! b:op! pad b:pad rev b:rev search b:search +Builtin shmem b:shmem slice b:slice splice b:splice ungetb b:ungetb unpad b:unpad writable b:writable +Builtin xor b:xor +block bc:+block .blocks bc:.blocks add-block bc:add-block block-hash bc:block-hash +Builtin block@ bc:block@ first-block bc:first-block hash bc:hash last-block bc:last-block load bc:load +Builtin new bc:new save bc:save set-sql bc:set-sql validate bc:validate validate-block bc:validate-block +Builtin add bloom:add filter bloom:filter in? bloom:in? parse bson:parse LIBS bt:LIBS accept bt:accept +Builtin ch! bt:ch! ch@ bt:ch@ connect bt:connect disconnect bt:disconnect init bt:init leconnect bt:leconnect +Builtin lescan bt:lescan listen bt:listen on? bt:on? read bt:read scan bt:scan service? bt:service? +Builtin services? bt:services? write bt:write * c:* * c:* + c:+ + c:+ = c:= = c:= >polar c:>polar >polar c:>polar +Builtin >ri c:>ri >ri c:>ri ^ c:^ ^ c:^ abs c:abs abs c:abs arg c:arg arg c:arg conj c:conj conj c:conj +Builtin im c:im im c:im log c:log log c:log n> c:n> n> c:n> new c:new new c:new polar> c:polar> polar> c:polar> +Builtin re c:re re c:re (.hebrew) cal:(.hebrew) (.islamic) cal:(.islamic) .hebrew cal:.hebrew .islamic cal:.islamic +Builtin >hebepoch cal:>hebepoch >jdn cal:>jdn Adar cal:Adar Adar2 cal:Adar2 Av cal:Av Elul cal:Elul +Builtin Heshvan cal:Heshvan Iyar cal:Iyar Kislev cal:Kislev Nissan cal:Nissan Shevat cal:Shevat Sivan cal:Sivan +Builtin Tammuz cal:Tammuz Tevet cal:Tevet Tishrei cal:Tishrei d>iso cal:d>iso d>week cal:d>week days-in-hebrew-year cal:days-in-hebrew-year +Builtin displaying-hebrew cal:displaying-hebrew fixed>hebrew cal:fixed>hebrew fixed>islamic cal:fixed>islamic +Builtin gershayim cal:gershayim hanukkah cal:hanukkah hebrew-epoch cal:hebrew-epoch hebrew-leap-year? cal:hebrew-leap-year? +Builtin hebrew-leap-year? cal:hebrew-leap-year? hebrew>fixed cal:hebrew>fixed hebrewtoday cal:hebrewtoday +Builtin hmonth-name cal:hmonth-name islamic.epoch cal:islamic.epoch islamic>fixed cal:islamic>fixed +Builtin islamictoday cal:islamictoday iso>d cal:iso>d jdn> cal:jdn> last-day-of-hebrew-month cal:last-day-of-hebrew-month +Builtin number>hebrew cal:number>hebrew omer cal:omer pesach cal:pesach purim cal:purim rosh-chodesh? cal:rosh-chodesh? +Builtin rosh-hashanah cal:rosh-hashanah shavuot cal:shavuot taanit-esther cal:taanit-esther tisha-beav cal:tisha-beav +Builtin week>d cal:week>d yom-haatsmaut cal:yom-haatsmaut yom-kippur cal:yom-kippur >hsva clr:>hsva +Builtin complement clr:complement dist clr:dist gradient clr:gradient hsva> clr:hsva> invert clr:invert +Builtin names clr:names nearest-name clr:nearest-name parse clr:parse >redir con:>redir accept con:accept +Builtin accept-nl con:accept-nl accept-pwd con:accept-pwd alert con:alert ansi? con:ansi? black con:black +Builtin blue con:blue clreol con:clreol cls con:cls ctrld-empty con:ctrld-empty cyan con:cyan down con:down +Builtin file>history con:file>history free con:free getxy con:getxy gotoxy con:gotoxy green con:green +Builtin history-handler con:history-handler history>file con:history>file init con:init key con:key +Builtin key? con:key? left con:left load-history con:load-history magenta con:magenta max-history con:max-history +Builtin onBlack con:onBlack onBlue con:onBlue onCyan con:onCyan onGreen con:onGreen onMagenta con:onMagenta +Builtin onRed con:onRed onWhite con:onWhite onYellow con:onYellow print con:print red con:red redir> con:redir> +Builtin redir? con:redir? right con:right save-history con:save-history size? con:size? up con:up white con:white +Builtin yellow con:yellow >aes128gcm cr:>aes128gcm >aes256gcm cr:>aes256gcm >cp cr:>cp >cpe cr:>cpe +Builtin >decrypt cr:>decrypt >edbox cr:>edbox >encrypt cr:>encrypt >nbuf cr:>nbuf >rsabox cr:>rsabox +Builtin >uuid cr:>uuid aad? cr:aad? aes128box-sig cr:aes128box-sig aes128gcm> cr:aes128gcm> aes256box-sig cr:aes256box-sig +Builtin aes256gcm> cr:aes256gcm> aesgcm cr:aesgcm blakehash cr:blakehash chacha20box-sig cr:chacha20box-sig +Builtin chachapoly cr:chachapoly cipher! cr:cipher! cipher@ cr:cipher@ ciphers cr:ciphers cp> cr:cp> +Builtin cpe> cr:cpe> decrypt cr:decrypt decrypt+ cr:decrypt+ decrypt> cr:decrypt> ebox-sig cr:ebox-sig +Builtin ecc-curves cr:ecc-curves ecc-genkey cr:ecc-genkey ecc-secret cr:ecc-secret ecc-sign cr:ecc-sign +Builtin ecc-verify cr:ecc-verify ed25519 cr:ed25519 ed25519-secret cr:ed25519-secret ed25519-sign cr:ed25519-sign +Builtin ed25519-verify cr:ed25519-verify edbox-sig cr:edbox-sig edbox> cr:edbox> encrypt cr:encrypt +Builtin encrypt+ cr:encrypt+ encrypt> cr:encrypt> ensurekey cr:ensurekey genkey cr:genkey hash cr:hash +Builtin hash! cr:hash! hash+ cr:hash+ hash>b cr:hash>b hash>s cr:hash>s hash@ cr:hash@ hashes cr:hashes +Builtin hmac cr:hmac hotp cr:hotp iv? cr:iv? pem-read cr:pem-read pem-write cr:pem-write pwd-valid? cr:pwd-valid? +Builtin pwd/ cr:pwd/ pwd>hash cr:pwd>hash rand cr:rand randbuf cr:randbuf randkey cr:randkey random-salt cr:random-salt +Builtin restore cr:restore root-certs cr:root-certs rsa_decrypt cr:rsa_decrypt rsa_encrypt cr:rsa_encrypt +Builtin rsa_sign cr:rsa_sign rsa_verify cr:rsa_verify rsabox-sig cr:rsabox-sig rsabox> cr:rsabox> rsagenkey cr:rsagenkey +Builtin save cr:save sbox-sig cr:sbox-sig sha1-hmac cr:sha1-hmac shard cr:shard tag? cr:tag? totp cr:totp +Builtin totp-epoch cr:totp-epoch totp-time-step cr:totp-time-step unshard cr:unshard uuid cr:uuid uuid> cr:uuid> +Builtin validate-pgp-sig cr:validate-pgp-sig validate-pwd cr:validate-pwd (.time) d:(.time) + d:+ +day d:+day +Builtin +hour d:+hour +min d:+min +msec d:+msec - d:- .time d:.time / d:/ = d:= >fixed d:>fixed >hmds d:>hmds +Builtin >hmds: d:>hmds: >msec d:>msec >unix d:>unix >ymd d:>ymd ?= d:?= Fri d:Fri Mon d:Mon Sat d:Sat +Builtin Sun d:Sun Thu d:Thu Tue d:Tue Wed d:Wed adjust-dst d:adjust-dst alarm d:alarm approx! d:approx! +Builtin approx? d:approx? approximates! d:approximates! between d:between cmp d:cmp d. d:d. daylight-db d:daylight-db +Builtin default-now d:default-now doy d:doy dst-ofs d:dst-ofs dst? d:dst? dstinfo d:dstinfo dstquery d:dstquery +Builtin dstzones? d:dstzones? elapsed-timer d:elapsed-timer elapsed-timer-hmds d:elapsed-timer-hmds +Builtin elapsed-timer-msec d:elapsed-timer-msec elapsed-timer-seconds d:elapsed-timer-seconds first-dow d:first-dow +Builtin fixed> d:fixed> fixed>dow d:fixed>dow fixed>iso d:fixed>iso format d:format iso>fixed d:iso>fixed +Builtin join d:join last-dow d:last-dow last-month d:last-month last-week d:last-week last-year d:last-year +Builtin leap? d:leap? mdays d:mdays msec d:msec msec> d:msec> new d:new next-dow d:next-dow next-month d:next-month +Builtin next-week d:next-week next-year d:next-year parse d:parse parse-approx d:parse-approx parse-range d:parse-range +Builtin prev-dow d:prev-dow relative d:relative rfc5322 d:rfc5322 start-timer d:start-timer ticks d:ticks +Builtin ticks/sec d:ticks/sec timer d:timer timer-ctrl d:timer-ctrl tzadjust d:tzadjust unix> d:unix> +Builtin unknown d:unknown unknown? d:unknown? updatetz d:updatetz year@ d:year@ ymd d:ymd ymd> d:ymd> +Builtin MYSQLLIB db:MYSQLLIB ODBCLIB db:ODBCLIB add-func db:add-func aes! db:aes! again? db:again? +Builtin begin db:begin begin! db:begin! bind db:bind bind-exec db:bind-exec bind-exec{} db:bind-exec{} +Builtin close db:close col db:col col{} db:col{} commit db:commit commit! db:commit! db db:db dbpush db:dbpush +Builtin disuse db:disuse each db:each ensure db:ensure err-handler db:err-handler exec db:exec exec-cb db:exec-cb +Builtin exec-name db:exec-name exec{} db:exec{} get db:get get-sub db:get-sub get-sub[] db:get-sub[] +Builtin get[] db:get[] key db:key kind? db:kind? last-rowid db:last-rowid mysql? db:mysql? odbc? db:odbc? +Builtin open db:open open? db:open? prep-name db:prep-name prepare db:prepare query db:query query-all db:query-all +Builtin rekey db:rekey rollback db:rollback rollback! db:rollback! rowid@ db:rowid@ set db:set set-sub db:set-sub +Builtin set-sub[] db:set-sub[] set[] db:set[] sql@ db:sql@ sql[] db:sql[] sql[np] db:sql[np] sql{np} db:sql{np} +Builtin sql{} db:sql{} table-exists db:table-exists use db:use zip db:zip .state dbg:.state bp dbg:bp +Builtin bt dbg:bt except-task@ dbg:except-task@ go dbg:go prompt dbg:prompt see dbg:see stop dbg:stop +Builtin trace dbg:trace pso ds:pso / f:/ >posix f:>posix abspath f:abspath absrel f:absrel append f:append +Builtin associate f:associate atime f:atime autodel f:autodel canwrite? f:canwrite? chmod f:chmod close f:close +Builtin copy f:copy copydir f:copydir create f:create ctime f:ctime dir? f:dir? dname f:dname eachbuf f:eachbuf +Builtin eachline f:eachline enssep f:enssep eof? f:eof? epub-meta f:epub-meta exec f:exec exists? f:exists? +Builtin expand f:expand expand-home f:expand-home flush f:flush fname f:fname getb f:getb getc f:getc +Builtin getline f:getline getmod f:getmod glob f:glob glob-links f:glob-links glob-nocase f:glob-nocase +Builtin globfilter f:globfilter gunz f:gunz homedir f:homedir homedir! f:homedir! include f:include +Builtin ioctl f:ioctl join f:join launch f:launch link f:link link> f:link> link? f:link? lock f:lock +Builtin mkdir f:mkdir mmap f:mmap mmap-range f:mmap-range mmap-range? f:mmap-range? mtime f:mtime mv f:mv +Builtin name@ f:name@ open f:open open! f:open! open-ro f:open-ro popen f:popen popen3 f:popen3 prepend f:prepend +Builtin print f:print read f:read read-buf f:read-buf read? f:read? relpath f:relpath rglob f:rglob +Builtin rm f:rm rmdir f:rmdir seek f:seek sep f:sep size f:size slurp f:slurp sparse? f:sparse? spit f:spit +Builtin stderr f:stderr stdin f:stdin stdout f:stdout tell f:tell tempfile f:tempfile tilde f:tilde +Builtin tilde? f:tilde? times f:times tmpspit f:tmpspit trash f:trash truncate f:truncate ungetb f:ungetb +Builtin ungetc f:ungetc unzip f:unzip unzip-entry f:unzip-entry watch f:watch write f:write writen f:writen +Builtin zip+ f:zip+ zip@ f:zip@ zipentry f:zipentry zipnew f:zipnew zipopen f:zipopen zipsave f:zipsave +Builtin atlas font:atlas atlas! font:atlas! atlas@ font:atlas@ default-size font:default-size default-size@ font:default-size@ +Builtin info font:info ls font:ls ls font:ls measure font:measure new font:new oversample font:oversample +Builtin pixels font:pixels pixels? font:pixels? pt2pix font:pt2pix system font:system filebrowser g:filebrowser +Builtin media? g:media? event-loop game:event-loop init game:init state! game:state! state@ game:state@ +Builtin distance geo:distance km/deg-lat geo:km/deg-lat km/deg-lon geo:km/deg-lon nearest geo:nearest +Builtin close gpio:close flags! gpio:flags! info gpio:info init gpio:init line gpio:line open gpio:open +Builtin read gpio:read req gpio:req ver gpio:ver write gpio:write +edge gr:+edge +edge+w gr:+edge+w +Builtin +node gr:+node connect gr:connect each gr:each edges gr:edges edges! gr:edges! info gr:info +Builtin m! gr:m! m@ gr:m@ neighbors gr:neighbors new gr:new node-edges gr:node-edges nodes gr:nodes +Builtin search gr:search traverse gr:traverse weight! gr:weight! + h:+ >a h:>a @ h:@ clear h:clear +Builtin cmp! h:cmp! len h:len max! h:max! new h:new peek h:peek pop h:pop push h:push unique h:unique +Builtin parse html:parse arm? hw:arm? camera hw:camera camera-img hw:camera-img camera? hw:camera? +Builtin cpu? hw:cpu? device? hw:device? displays? hw:displays? displaysize? hw:displaysize? finger-match hw:finger-match +Builtin finger-support hw:finger-support i2c hw:i2c i2c! hw:i2c! i2c!reg hw:i2c!reg i2c@ hw:i2c@ i2c@reg hw:i2c@reg +Builtin isround? hw:isround? iswatch? hw:iswatch? mac? hw:mac? mem? hw:mem? model? hw:model? poll hw:poll +Builtin sensor hw:sensor sensor-event hw:sensor-event sensors? hw:sensors? start hw:start stop hw:stop +Builtin touch? hw:touch? uid? hw:uid? fetch-full imap:fetch-full fetch-uid-mail imap:fetch-uid-mail +Builtin login imap:login logout imap:logout new imap:new search imap:search select-inbox imap:select-inbox +Builtin >file img:>file >fmt img:>fmt ECC-HIGH img:ECC-HIGH ECC-LOW img:ECC-LOW ECC-MEDIUM img:ECC-MEDIUM +Builtin ECC-QUARTILE img:ECC-QUARTILE copy img:copy crop img:crop data img:data desat img:desat draw img:draw +Builtin draw-sub img:draw-sub exif img:exif exif-rotate? img:exif-rotate? fill img:fill fillrect img:fillrect +Builtin filter img:filter fit img:fit flip img:flip from-svg img:from-svg line img:line new img:new +Builtin pikchr img:pikchr pix! img:pix! pix@ img:pix@ qr-black img:qr-black qr-block img:qr-block qr-gen img:qr-gen +Builtin qr-margin img:qr-margin qr-parse img:qr-parse qr-white img:qr-white qr>img img:qr>img rect img:rect +Builtin rotate img:rotate scale img:scale scroll img:scroll size img:size countries iso:countries languages iso:languages +Builtin bearing loc:bearing city loc:city city-db loc:city-db city-exact loc:city-exact city-exact loc:city-exact +Builtin city-version loc:city-version city_country loc:city_country find loc:find sort loc:sort console log:console +Builtin file log:file hook log:hook level log:level local log:local qsize log:qsize syslog log:syslog +Builtin task log:task time log:time ! m:! !? m:!? + m:+ +? m:+? - m:- <> m:<> = m:= >arr m:>arr @ m:@ +Builtin @? m:@? _! m:_! _@ m:_@ _@? m:_@? accumulate m:accumulate alias m:alias arr> m:arr> bitmap m:bitmap +Builtin clear m:clear data m:data each m:each exists? m:exists? filter m:filter ic m:ic iter m:iter +Builtin iter-all m:iter-all iter-sorted m:iter-sorted iter-sorted-vals m:iter-sorted-vals keys m:keys +Builtin len m:len map m:map merge m:merge new m:new op! m:op! open m:open slice m:slice vals m:vals +Builtin xchg m:xchg zip m:zip ! mat:! * mat:* + mat:+ = mat:= @ mat:@ affine mat:affine col mat:col +Builtin data mat:data det mat:det dim? mat:dim? get-n mat:get-n ident mat:ident inv mat:inv m. mat:m. +Builtin minor mat:minor n* mat:n* new mat:new new-minor mat:new-minor rotate mat:rotate row mat:row +Builtin same-size? mat:same-size? scale mat:scale shear mat:shear trans mat:trans translate mat:translate +Builtin xform mat:xform 2console md:2console 2html md:2html 2nk md:2nk 8th? md:8th? user! md:user! +Builtin user!@ md:user!@ user@ md:user@ user@@ md:user@@ color meta:color console meta:console gui meta:gui +Builtin meta meta:meta ! n:! * n:* */ n:*/ + n:+ +! n:+! - n:- / n:/ /mod n:/mod 1+ n:1+ 1- n:1- < n:< +Builtin = n:= > n:> >bool n:>bool BIGE n:BIGE BIGPI n:BIGPI E n:E PI n:PI ^ n:^ _mod n:_mod abs n:abs +Builtin acos n:acos acosd n:acosd acosh n:acosh andor n:andor asin n:asin asind n:asind asinh n:asinh +Builtin atan n:atan atan2 n:atan2 atand n:atand atanh n:atanh band n:band between n:between bfloat n:bfloat +Builtin bic n:bic bint n:bint binv n:binv bits? n:bits? bnot n:bnot bor n:bor bxor n:bxor cast n:cast +Builtin ceil n:ceil clamp n:clamp clz? n:clz? cmp n:cmp comb n:comb cos n:cos cosd n:cosd cosh n:cosh +Builtin ctz? n:ctz? emod n:emod erf n:erf erfc n:erfc exp n:exp expm1 n:expm1 expmod n:expmod float n:float +Builtin floor n:floor fmod n:fmod frac n:frac gcd n:gcd int n:int invmod n:invmod kind? n:kind? lcm n:lcm +Builtin lerp n:lerp ln n:ln ln1p n:ln1p lnerp n:lnerp logistic n:logistic max n:max median n:median +Builtin min n:min mod n:mod neg n:neg odd? n:odd? parity? n:parity? perm n:perm prime? n:prime? quantize n:quantize +Builtin quantize! n:quantize! r+ n:r+ range n:range rot32l n:rot32l rot32r n:rot32r round n:round round2 n:round2 +Builtin rounding n:rounding running-variance n:running-variance running-variance-finalize n:running-variance-finalize +Builtin sgn n:sgn shl n:shl shr n:shr sin n:sin sincos n:sincos sind n:sind sinh n:sinh sqr n:sqr sqrt n:sqrt +Builtin tan n:tan tand n:tand tanh n:tanh trunc n:trunc ~= n:~= ! net:! !? net:!? - net:- >base64url net:>base64url +Builtin >url net:>url @ net:@ @? net:@? CGI net:CGI DGRAM net:DGRAM INET4 net:INET4 INET6 net:INET6 +Builtin PROTO_TCP net:PROTO_TCP PROTO_UDP net:PROTO_UDP REMOTE_IP net:REMOTE_IP STREAM net:STREAM accept net:accept +Builtin active? net:active? addrinfo>o net:addrinfo>o again? net:again? alloc-and-read net:alloc-and-read +Builtin alloc-buf net:alloc-buf avail? net:avail? base64url> net:base64url> bind net:bind cgi-get net:cgi-get +Builtin cgi-http-header net:cgi-http-header cgi-init net:cgi-init cgi-init-stunnel net:cgi-init-stunnel +Builtin cgi-out net:cgi-out close net:close closed? net:closed? connect net:connect curnet net:curnet +Builtin debug? net:debug? delete net:delete dns net:dns get net:get getaddrinfo net:getaddrinfo getpeername net:getpeername +Builtin head net:head ifaces? net:ifaces? interp8th net:interp8th ipv6? net:ipv6? launch net:launch +Builtin listen net:listen map>url net:map>url mime-type net:mime-type net-socket net:net-socket opts net:opts +Builtin port-is-ssl? net:port-is-ssl? post net:post proxy! net:proxy! put net:put read net:read read-all net:read-all +Builtin read-buf net:read-buf recvfrom net:recvfrom s>url net:s>url sendto net:sendto server net:server +Builtin setsockopt net:setsockopt socket net:socket socket-mcast net:socket-mcast spamcheck net:spamcheck +Builtin tcp-connect net:tcp-connect tlserr net:tlserr tlshello net:tlshello udp-connect net:udp-connect +Builtin url> net:url> user-agent net:user-agent valid-email? net:valid-email? vpncheck net:vpncheck +Builtin wait net:wait webserver net:webserver write net:write ws-parse net:ws-parse init nfc:init list nfc:list +Builtin name nfc:name open nfc:open present? nfc:present? read nfc:read ver nfc:ver write nfc:write +Builtin (begin) nk:(begin) (chart-begin) nk:(chart-begin) (chart-begin-colored) nk:(chart-begin-colored) +Builtin (chart-end) nk:(chart-end) (end) nk:(end) (group-begin) nk:(group-begin) (group-end) nk:(group-end) +Builtin (property) nk:(property) >img nk:>img PIXEL-FORMATS nk:PIXEL-FORMATS addfont nk:addfont affine nk:affine +Builtin anti-alias nk:anti-alias any-active nk:any-active any-clicked? nk:any-clicked? app-render nk:app-render +Builtin app-template nk:app-template bounds nk:bounds bounds! nk:bounds! button nk:button button-color nk:button-color +Builtin button-label nk:button-label button-set-behavior nk:button-set-behavior button-symbol nk:button-symbol +Builtin button-symbol-label nk:button-symbol-label calendar nk:calendar chart-add-slot nk:chart-add-slot +Builtin chart-add-slot-colored nk:chart-add-slot-colored chart-push nk:chart-push chart-push-slot nk:chart-push-slot +Builtin checkbox nk:checkbox circle nk:circle clicked? nk:clicked? clipping nk:clipping close-this! nk:close-this! +Builtin close-this? nk:close-this? close? nk:close? color-chooser nk:color-chooser color-picker nk:color-picker +Builtin combo nk:combo combo-begin-color nk:combo-begin-color combo-begin-label nk:combo-begin-label +Builtin combo-cb nk:combo-cb combo-end nk:combo-end content-region nk:content-region contextual-begin nk:contextual-begin +Builtin contextual-close nk:contextual-close contextual-end nk:contextual-end contextual-item-image-text nk:contextual-item-image-text +Builtin contextual-item-symbol-text nk:contextual-item-symbol-text contextual-item-text nk:contextual-item-text +Builtin cp! nk:cp! cp@ nk:cp@ curpos nk:curpos cursor-load nk:cursor-load cursor-set nk:cursor-set +Builtin cursor-show nk:cursor-show density@ nk:density@ display-change nk:display-change display-info nk:display-info +Builtin display-scale@ nk:display-scale@ display@ nk:display@ do nk:do down? nk:down? draw-image nk:draw-image +Builtin draw-image-at nk:draw-image-at draw-image-centered nk:draw-image-centered draw-sub-image nk:draw-sub-image +Builtin draw-text nk:draw-text draw-text-centered nk:draw-text-centered draw-text-high nk:draw-text-high +Builtin draw-text-wrap nk:draw-text-wrap driver nk:driver drivers nk:drivers dropped nk:dropped dropping nk:dropping +Builtin edit-focus nk:edit-focus edit-pwd nk:edit-pwd edit-string nk:edit-string event nk:event event-boost nk:event-boost +Builtin event-msec nk:event-msec event-wait nk:event-wait event? nk:event? file-dlg nk:file-dlg fill-arc nk:fill-arc +Builtin fill-circle nk:fill-circle fill-color nk:fill-color fill-poly nk:fill-poly fill-rect nk:fill-rect +Builtin fill-rect-color nk:fill-rect-color fill-triangle nk:fill-triangle finger nk:finger flags! nk:flags! +Builtin flags@ nk:flags@ flash nk:flash fullscreen nk:fullscreen get nk:get get-row-height nk:get-row-height +Builtin getfont nk:getfont getmap nk:getmap getmap! nk:getmap! gget nk:gget grid nk:grid grid! nk:grid! +Builtin grid-peek nk:grid-peek grid-push nk:grid-push group-scroll-ofs nk:group-scroll-ofs group-scroll-ofs! nk:group-scroll-ofs! +Builtin gset nk:gset hints nk:hints hovered? nk:hovered? hrule nk:hrule ident nk:ident image nk:image +Builtin init nk:init init-flags nk:init-flags init-sub nk:init-sub input-button nk:input-button input-key nk:input-key +Builtin input-motion nk:input-motion input-scroll nk:input-scroll input-string nk:input-string key-down? nk:key-down? +Builtin key-pressed? nk:key-pressed? key-released? nk:key-released? knob nk:knob label nk:label label-colored nk:label-colored +Builtin label-wrap nk:label-wrap label-wrap-colored nk:label-wrap-colored layout-bounds nk:layout-bounds +Builtin layout-grid-begin nk:layout-grid-begin layout-grid-end nk:layout-grid-end layout-push-dynamic nk:layout-push-dynamic +Builtin layout-push-static nk:layout-push-static layout-push-variable nk:layout-push-variable layout-ratio-from-pixel nk:layout-ratio-from-pixel +Builtin layout-reset-row-height nk:layout-reset-row-height layout-row nk:layout-row layout-row-begin nk:layout-row-begin +Builtin layout-row-dynamic nk:layout-row-dynamic layout-row-end nk:layout-row-end layout-row-height nk:layout-row-height +Builtin layout-row-push nk:layout-row-push layout-row-static nk:layout-row-static layout-row-template-begin nk:layout-row-template-begin +Builtin layout-row-template-end nk:layout-row-template-end layout-space-begin nk:layout-space-begin +Builtin layout-space-end nk:layout-space-end layout-space-push nk:layout-space-push layout-widget-bounds nk:layout-widget-bounds +Builtin line-rel nk:line-rel line-to nk:line-to list-begin nk:list-begin list-end nk:list-end list-new nk:list-new +Builtin list-ofs nk:list-ofs list-range nk:list-range longpress nk:longpress m! nk:m! m@ nk:m@ make-style nk:make-style +Builtin max-vertex-element nk:max-vertex-element maximize nk:maximize measure nk:measure measure-font nk:measure-font +Builtin menu-begin nk:menu-begin menu-close nk:menu-close menu-end nk:menu-end menu-item-image nk:menu-item-image +Builtin menu-item-label nk:menu-item-label menu-item-symbol nk:menu-item-symbol menubar-begin nk:menubar-begin +Builtin menubar-end nk:menubar-end minimize nk:minimize mouse-moved? nk:mouse-moved? mouse-pos nk:mouse-pos +Builtin move-back nk:move-back move-rel nk:move-rel move-to nk:move-to msg nk:msg msgdlg nk:msgdlg +Builtin ontop nk:ontop option nk:option params! nk:params! pen-color nk:pen-color pen-width nk:pen-width +Builtin pinch nk:pinch pix! nk:pix! plot nk:plot plot-fn nk:plot-fn polygon nk:polygon pop-font nk:pop-font +Builtin popup-begin nk:popup-begin popup-close nk:popup-close popup-end nk:popup-end popup-scroll-ofs nk:popup-scroll-ofs +Builtin popup-scroll-ofs! nk:popup-scroll-ofs! progress nk:progress prop-float nk:prop-float prop-int nk:prop-int +Builtin pt-in? nk:pt-in? pt>local nk:pt>local pt>screen nk:pt>screen pump nk:pump push-font nk:push-font +Builtin raise nk:raise rect-rel nk:rect-rel rect-to nk:rect-to rect>local nk:rect>local rect>screen nk:rect>screen +Builtin released? nk:released? render nk:render render! nk:render! render-loop nk:render-loop render-loop-max nk:render-loop-max +Builtin render-loop-timed nk:render-loop-timed render-timed nk:render-timed render@ nk:render@ renderers nk:renderers +Builtin rendering nk:rendering restore nk:restore rotate nk:rotate rotate-rel nk:rotate-rel rtl! nk:rtl! +Builtin rtl? nk:rtl? safe-bounds nk:safe-bounds save nk:save scale nk:scale scale@ nk:scale@ scancode? nk:scancode? +Builtin screen-saver nk:screen-saver screen-size nk:screen-size screen-win-close nk:screen-win-close +Builtin selectable nk:selectable set nk:set set-font nk:set-font set-hint nk:set-hint set-num-vertices nk:set-num-vertices +Builtin set-radius nk:set-radius setpos nk:setpos setwin nk:setwin show nk:show skew nk:skew slider nk:slider +Builtin slider-int nk:slider-int space nk:space spacing nk:spacing start-text nk:start-text stroke-arc nk:stroke-arc +Builtin stroke-circle nk:stroke-circle stroke-curve nk:stroke-curve stroke-line nk:stroke-line stroke-polygon nk:stroke-polygon +Builtin stroke-polyline nk:stroke-polyline stroke-rect nk:stroke-rect stroke-tri nk:stroke-tri style-from-table nk:style-from-table +Builtin swipe nk:swipe text nk:text text-align nk:text-align text-font nk:text-font text-pad nk:text-pad +Builtin text? nk:text? timer-delay nk:timer-delay timer? nk:timer? toast nk:toast tooltip nk:tooltip +Builtin translate nk:translate tree-pop nk:tree-pop tree-state-push nk:tree-state-push triangle nk:triangle +Builtin use-style nk:use-style vsync nk:vsync widget nk:widget widget-bounds nk:widget-bounds widget-disable nk:widget-disable +Builtin widget-fitting nk:widget-fitting widget-high nk:widget-high widget-hovered? nk:widget-hovered? +Builtin widget-mouse-click-down? nk:widget-mouse-click-down? widget-mouse-clicked? nk:widget-mouse-clicked? +Builtin widget-pos nk:widget-pos widget-size nk:widget-size widget-size-allot nk:widget-size-allot +Builtin widget-wide nk:widget-wide win nk:win win-bounds nk:win-bounds win-bounds! nk:win-bounds! win-close nk:win-close +Builtin win-closed? nk:win-closed? win-collapse nk:win-collapse win-collapsed? nk:win-collapsed? win-content-bounds nk:win-content-bounds +Builtin win-focus nk:win-focus win-focused? nk:win-focused? win-hidden? nk:win-hidden? win-high nk:win-high +Builtin win-hovered? nk:win-hovered? win-icon! nk:win-icon! win-pos nk:win-pos win-scroll-ofs nk:win-scroll-ofs +Builtin win-scroll-ofs! nk:win-scroll-ofs! win-show nk:win-show win-size nk:win-size win-title! nk:win-title! +Builtin win-wide nk:win-wide win? nk:win? xchg nk:xchg MAX ns:MAX ! o:! + o:+ +? o:+? ??? o:??? @ o:@ +Builtin class o:class exec o:exec isa o:isa method o:method mutate o:mutate new o:new super o:super +Builtin POSIX os:POSIX chroot os:chroot devname os:devname docker? os:docker? env os:env lang os:lang +Builtin locales os:locales notify os:notify power-state os:power-state region os:region waitpid os:waitpid +Builtin bezier pdf:bezier bezierq pdf:bezierq circle pdf:circle color pdf:color ellipse pdf:ellipse +Builtin font pdf:font img pdf:img line pdf:line new pdf:new page pdf:page page-size pdf:page-size rect pdf:rect +Builtin save pdf:save size pdf:size text pdf:text text-rotate pdf:text-rotate text-size pdf:text-size +Builtin text-width pdf:text-width text-wrap pdf:text-wrap text-wrap-rotate pdf:text-wrap-rotate cast ptr:cast +Builtin deref ptr:deref len ptr:len null? ptr:null? pack ptr:pack unpack ptr:unpack unpack_orig ptr:unpack_orig +Builtin publish pubsub:publish qsize pubsub:qsize subscribe pubsub:subscribe + q:+ >a q:>a clear q:clear +Builtin len q:len new q:new notify q:notify overwrite q:overwrite peek q:peek pick q:pick pop q:pop +Builtin push q:push remove q:remove shift q:shift size q:size slide q:slide throwing q:throwing wait q:wait +Builtin ++match r:++match +/ r:+/ +match r:+match / r:/ @ r:@ _@ r:_@ len r:len match r:match match[] r:match[] +Builtin matchall[] r:matchall[] new r:new rx r:rx str r:str * rat:* + rat:+ - rat:- / rat:/ >n rat:>n +Builtin >s rat:>s new rat:new proper rat:proper ! rect:! /high rect:/high /wide rect:/wide = rect:= +Builtin >a rect:>a >pts rect:>pts >pts4 rect:>pts4 @ rect:@ center rect:center center-pt rect:center-pt +Builtin intersect rect:intersect new rect:new new-pt rect:new-pt ofs rect:ofs open rect:open pad rect:pad +Builtin pos rect:pos pt-open rect:pt-open pt>a rect:pt>a pt>rect rect:pt>rect pts> rect:pts> restrict rect:restrict +Builtin shrink rect:shrink size rect:size union rect:union ! s:! * s:* + s:+ - s:- / s:/ /scripts s:/scripts +Builtin /ws s:/ws 2len s:2len <+ s:<+ <> s:<> = s:= =ic s:=ic >base64 s:>base64 >ucs2 s:>ucs2 @ s:@ +Builtin _len s:_len append s:append base64> s:base64> clear s:clear cmp s:cmp cmpi s:cmpi compress s:compress +Builtin count-match s:count-match days! s:days! dist s:dist each s:each each! s:each! eachline s:eachline +Builtin escape s:escape expand s:expand expand-env s:expand-env fill s:fill fold s:fold gen-uid s:gen-uid +Builtin globmatch s:globmatch hexupr s:hexupr insert s:insert intl s:intl intl! s:intl! lang s:lang +Builtin lc s:lc lc? s:lc? len s:len lsub s:lsub ltrim s:ltrim map s:map months! s:months! n> s:n> new s:new +Builtin norm s:norm reduce s:reduce repinsert s:repinsert replace s:replace replace! s:replace! rev s:rev +Builtin rsearch s:rsearch rsub s:rsub rtl s:rtl rtrim s:rtrim scan-match s:scan-match script? s:script? +Builtin search s:search size s:size slice s:slice soundex s:soundex strfmap s:strfmap strfmt s:strfmt +Builtin term s:term text-wrap s:text-wrap tr s:tr transform s:transform trim s:trim tsub s:tsub uc s:uc +Builtin uc? s:uc? ucs2> s:ucs2> utf8? s:utf8? zt s:zt >a set:>a add set:add add[] set:add[] del set:del +Builtin difference set:difference has set:has intersect set:intersect new set:new union set:union bits! sio:bits! +Builtin bits@ sio:bits@ close sio:close enum sio:enum hz! sio:hz! hz@ sio:hz@ mode! sio:mode! mode@ sio:mode@ +Builtin open sio:open open sio:open opts! sio:opts! opts@ sio:opts@ read sio:read read sio:read write sio:write +Builtin write sio:write @ slv:@ auto slv:auto build slv:build constraint slv:constraint edit slv:edit +Builtin named-variable slv:named-variable new slv:new relation slv:relation reset slv:reset suggest slv:suggest +Builtin term slv:term update slv:update v[] slv:v[] variable slv:variable v{} slv:v{} new smtp:new +Builtin send smtp:send apply-filter snd:apply-filter devices? snd:devices? end-record snd:end-record +Builtin filter snd:filter freq snd:freq gain snd:gain gain? snd:gain? init snd:init len snd:len loop snd:loop +Builtin loop? snd:loop? mix snd:mix new snd:new pause snd:pause play snd:play played snd:played rate snd:rate +Builtin ready? snd:ready? record snd:record resume snd:resume seek snd:seek stop snd:stop stopall snd:stopall +Builtin volume snd:volume volume? snd:volume? + st:+ . st:. >a st:>a clear st:clear dot-depth st:dot-depth +Builtin len st:len list st:list ndrop st:ndrop new st:new op! st:op! peek st:peek pick st:pick pop st:pop +Builtin push st:push roll st:roll shift st:shift size st:size slide st:slide swap st:swap throwing st:throwing +Builtin >buf struct:>buf arr> struct:arr> buf struct:buf buf> struct:buf> byte struct:byte double struct:double +Builtin field! struct:field! field@ struct:field@ float struct:float ignore struct:ignore int struct:int +Builtin long struct:long struct; struct:struct; word struct:word ! t:! @ t:@ by-name t:by-name curtask t:curtask +Builtin def-queue t:def-queue def-stack t:def-stack done? t:done? dtor t:dtor err! t:err! err? t:err? +Builtin errno? t:errno? extra t:extra getq t:getq handler t:handler handler@ t:handler@ kill t:kill +Builtin list t:list main t:main max-exceptions t:max-exceptions name! t:name! name@ t:name@ notify t:notify +Builtin parent t:parent pop t:pop priority t:priority push t:push push! t:push! q-notify t:q-notify +Builtin q-wait t:q-wait qlen t:qlen result t:result set-affinity t:set-affinity setq t:setq task t:task +Builtin task-n t:task-n task-stop t:task-stop ticks t:ticks to? t:to? wait t:wait add tree:add binary tree:binary +Builtin bk tree:bk btree tree:btree cmp! tree:cmp! data tree:data del tree:del find tree:find iter tree:iter +Builtin next tree:next nodes tree:nodes parent tree:parent parse tree:parse prev tree:prev root tree:root +Builtin search tree:search trie tree:trie ! w:! (is) w:(is) @ w:@ alias: w:alias: cb w:cb deprecate w:deprecate +Builtin dlcall w:dlcall dlopen w:dlopen dlsym w:dlsym exec w:exec exec? w:exec? ffifail w:ffifail find w:find +Builtin forget w:forget is w:is name w:name undo w:undo xt w:xt xt> w:xt> close ws:close decode ws:decode +Builtin encode ws:encode encode-nomask ws:encode-nomask gen-accept-header ws:gen-accept-header gen-accept-key ws:gen-accept-key +Builtin opcodes ws:opcodes open ws:open >s xml:>s >txt xml:>txt md-init xml:md-init md-parse xml:md-parse +Builtin parse xml:parse parse-html xml:parse-html parse-stream xml:parse-stream getmsg[] zmq:getmsg[] +Builtin sendmsg[] zmq:sendmsg[] + + +" numbers +syn keyword eighthMath decimal hex base@ base! +syn match eighthInteger '\<-\=[0-9.]*[0-9.]\+\>' + +" recognize hex and binary numbers, the '$' and '%' notation is for eighth +syn match eighthInteger '\<\$\x*\x\+\>' " *1* --- dont't mess +syn match eighthInteger '\<\x*\d\x*\>' " *2* --- this order! +syn match eighthInteger '\<%[0-1]*[0-1]\+\>' +syn match eighthInteger "\<'.\>" + +syn include @SQL syntax/sql.mnv +syn region eightSQL matchgroup=Define start=/\/ contains=@SQL keepend +syn region eightSQL matchgroup=Define start=/\/ contains=@SQL keepend +syn region eightSQL matchgroup=Define start=/\/ contains=@SQL keepend + +" Strings +syn region eighthString start=+\.\?\"+ skip=+"+ end=+$+ +syn keyword jsonNull null +syn keyword jsonBool /\(true\|false\)/ +syn region eighthString start=/\<"/ end=/"\>/ +syn match jsonObjEntry /"\"[^"]\+\"\ze\s*:/ + +syn region eighthNeeds start=+needs\[+ end=+]+ matchgroup=eighthNeeds2 transparent +syn match eighthNeeds2 /\/ + +syn match eighthBuiltin /m:\[]!/ +syn match eighthBuiltin /v:\[]/ +syn match eighthBuiltin /db:bind-exec\[]/ +syn match eighthBuiltin /db:exec\[]/ +syn match eighthBuiltin /db:col\[]/ + +syn region eighthComment start="\zs\\" end="$" contains=eighthTodo,@Spell +syn region eighthComment start="\zs--\s" end="$" contains=eighthTodo,@Spell +syn region eighthComment start="\zs(\*" end="\*)\ze" contains=eightTodo,@Spell + +" The default methods for highlighting. Can be overriden later. +hi def link eighthTodo Todo +hi def link eighthNeeds2 Include +hi def link eighthNeeds Error +hi def link eighthOperators Operator +hi def link eighthMath Number +hi def link eighthInteger Number +hi def link eighthStack Special +hi def link eighthFStack Special +hi def link eighthFname Operator +hi def link eighthSP Special +hi def link eighthColonDef Define +hi def link eighthColonName Operator +hi def link eighthEndOfColonDef Define +hi def link eighthDefine Define +hi def link eighthDebug Debug +hi def link eighthCharOps Character +hi def link eighthConversion String +hi def link eighthForth Statement +hi def link eighthVocs Statement +hi def link eighthString String +hi def link eighthComment Comment +hi def link eighthClassDef Define +hi def link eighthEndOfClassDef Define +hi def link eighthObjectDef Define +hi def link eighthEndOfObjectDef Define +hi def link eighthInclude Include +hi def link eighthBuiltin Define +hi def link eighthClasses Define +hi def link eighthClassWord Keyword +hi def link jsonObject Delimiter +hi def link jsonObjEntry Label +hi def link jsonArray Special +hi def link jsonNull Function +hi def link jsonBool Boolean + +delcommand Builtin +let b:current_syntax = "8th" +let &cpo = s:cpo_save +unlet s:cpo_save + +" mnv: ft=mnv ts=4 sw=4 nocin:si diff --git a/uvim/runtime/syntax/8th.vim b/uvim/runtime/syntax/8th.vim deleted file mode 100644 index b84bfbf251..0000000000 --- a/uvim/runtime/syntax/8th.vim +++ /dev/null @@ -1,510 +0,0 @@ -" Vim syntax file -" Language: 8th -" Version: 26.02 -" Last Change: 2026 Jan 28 -" Maintainer: Ron Aaron -" URL: https://8th-dev.com/ -" Filetypes: *.8th -" NOTE: You should also have the ftplugin/8th.vim file to set 'isk' - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim -syn clear - -syn sync ccomment -syn sync maxlines=200 - -syn case match -syn iskeyword 33-255 - -syn match eighthColonName "\S\+" contained -syn match eighthColonDef ":\s\+\S\+" contains=eighthColonName - -" new words -syn match eighthClasses "\<\S\+:" contained -syn match eighthClassWord "\<\S\+:.\+" contains=eighthClasses - -syn keyword eighthEndOfColonDef ; i; -syn keyword eighthDefine var var, - -" Built in words: -com! -nargs=+ Builtin syn keyword eighthBuiltin - - -Builtin gen-secret 2fa:gen-secret gen-url 2fa:gen-url validate-code 2fa:validate-code cb AWS:cb cli AWS:cli -Builtin cmd AWS:cmd cp AWS:cp rc AWS:rc LIBS DBUS:LIBS call DBUS:call init DBUS:init + DOM:+ - DOM:- -Builtin attr! DOM:attr! attr@ DOM:attr@ attrs DOM:attrs children DOM:children css-parse DOM:css-parse -Builtin each DOM:each find DOM:find new DOM:new type DOM:type ! G:! !if G:!if #! G:#! ## G:## #if G:#if -Builtin #ifdef G:#ifdef #ifeval G:#ifeval ' G:' ( G:( (:) G:(:) (code) G:(code) (defer) G:(defer) (dump) G:(dump) -Builtin (getc) G:(getc) (gets) G:(gets) (interp) G:(interp) (log) G:(log) (needs) G:(needs) (parseln) G:(parseln) -Builtin (putc) G:(putc) (puts) G:(puts) (stat) G:(stat) (with) G:(with) ) G:) +hook G:+hook +ref G:+ref -Builtin ,# G:,# -----BEGIN G:-----BEGIN -Inf G:-Inf -Inf? G:-Inf? -hook G:-hook -ref G:-ref -rot G:-rot -Builtin . G:. .# G:.# .hook G:.hook .needs G:.needs .r G:.r .s G:.s .s-truncate G:.s-truncate .stats G:.stats -Builtin .ver G:.ver .with G:.with 0; G:0; 2dip G:2dip 2drop G:2drop 2dup G:2dup 2nip G:2nip 2over G:2over -Builtin 2swap G:2swap 2tuck G:2tuck 3drop G:3drop 3dup G:3dup 3rev G:3rev 4drop G:4drop 8thdt? G:8thdt? -Builtin 8thsku? G:8thsku? 8thver? G:8thver? 8thvernum? G:8thvernum? : G:: ; G:; ;; G:;; ;;; G:;;; ;with G:;with -Builtin >clip G:>clip >clip-mime G:>clip-mime >json G:>json >kind G:>kind >n G:>n >r G:>r >s G:>s ?: G:?: -Builtin ?@ G:?@ @ G:@ BITMAP: G:BITMAP: ENUM: G:ENUM: FLAG: G:FLAG: I G:I Inf G:Inf Inf? G:Inf? J G:J -Builtin K G:K NaN G:NaN NaN? G:NaN? SED-CHECK G:SED-CHECK SED: G:SED: SED: G:SED: X G:X \ G:\ _dup G:_dup -Builtin _swap G:_swap actor: G:actor: again G:again ahead G:ahead all-words G:all-words and G:and apropos G:apropos -Builtin argc G:argc args G:args array? G:array? assert G:assert base G:base base>n G:base>n bi G:bi -Builtin bits G:bits break G:break break? G:break? breakif G:breakif build? G:build? buildver? G:buildver? -Builtin bye G:bye c/does G:c/does case: G:case: catch G:catch chdir G:chdir clip-mime-types G:clip-mime-types -Builtin clip-mime> G:clip-mime> clip-mime? G:clip-mime? clip> G:clip> clone G:clone clone-shallow G:clone-shallow -Builtin cold G:cold compile G:compile compile? G:compile? compiling? G:compiling? conflict G:conflict -Builtin const G:const container? G:container? counting-allocations G:counting-allocations cr G:cr critical: G:critical: -Builtin critical; G:critical; curlang G:curlang curry G:curry curry: G:curry: decimal G:decimal default: G:default: -Builtin defer: G:defer: deferred: G:deferred: deg>rad G:deg>rad depth G:depth die G:die dip G:dip drop G:drop -Builtin dstack G:dstack dump G:dump dup G:dup dup>r G:dup>r dup? G:dup? e# G:e# enum: G:enum: error? G:error? -Builtin eval G:eval eval! G:eval! eval0 G:eval0 exit G:exit expect G:expect extra! G:extra! extra@ G:extra@ -Builtin false G:false fnv G:fnv fourth G:fourth free G:free func: G:func: getc G:getc getcwd G:getcwd -Builtin getenv G:getenv gets G:gets goto G:goto handler G:handler header G:header help G:help help_db G:help_db -Builtin here G:here hex G:hex i: G:i: i; G:i; immutable G:immutable isa? G:isa? items-used G:items-used -Builtin jcall G:jcall jclass G:jclass jmethod G:jmethod json! G:json! json-8th> G:json-8th> json-nesting G:json-nesting -Builtin json-pretty G:json-pretty json-throw G:json-throw json> G:json> json@ G:json@ k32 G:k32 keep G:keep -Builtin l: G:l: last G:last lib G:lib libbin G:libbin libc G:libc libimg G:libimg literal G:literal -Builtin locals: G:locals: lock G:lock lock-to G:lock-to locked? G:locked? log G:log logl G:logl long-days G:long-days -Builtin long-months G:long-months longjmp G:longjmp lookup G:lookup loop G:loop loop- G:loop- map? G:map? -Builtin mark G:mark mark? G:mark? mobile? G:mobile? n# G:n# name>os G:name>os name>sem G:name>sem ndrop G:ndrop -Builtin needs G:needs needs-throws G:needs-throws new G:new next-arg G:next-arg next-num-var G:next-num-var -Builtin next-var G:next-var nip G:nip noop G:noop not G:not nothrow G:nothrow ns G:ns ns: G:ns: ns>ls G:ns>ls -Builtin ns>s G:ns>s ns? G:ns? null G:null null; G:null; null? G:null? nullvar G:nullvar number? G:number? -Builtin of: G:of: off G:off on G:on onexit G:onexit only G:only op! G:op! or G:or os G:os os-names G:os-names -Builtin os>long-name G:os>long-name os>name G:os>name over G:over p: G:p: pack G:pack parse G:parse -Builtin parse-csv G:parse-csv parse-date G:parse-date parsech G:parsech parseln G:parseln parsews G:parsews -Builtin pick G:pick poke G:poke pool-clear G:pool-clear pool-clear-all G:pool-clear-all prior G:prior -Builtin private G:private process-args G:process-args process-args-fancy G:process-args-fancy process-args-help G:process-args-help -Builtin prompt G:prompt public G:public putc G:putc puts G:puts quote G:quote r! G:r! r> G:r> r@ G:r@ -Builtin rad>deg G:rad>deg rand-float G:rand-float rand-float-signed G:rand-float-signed rand-jit G:rand-jit -Builtin rand-jsf G:rand-jsf rand-native G:rand-native rand-normal G:rand-normal rand-pcg G:rand-pcg -Builtin rand-pcg-seed G:rand-pcg-seed rand-range G:rand-range rand-select G:rand-select randbuf-pcg G:randbuf-pcg -Builtin random G:random rdrop G:rdrop recurse G:recurse recurse-stack G:recurse-stack ref@ G:ref@ reg! G:reg! -Builtin reg@ G:reg@ regbin@ G:regbin@ remaining-args G:remaining-args repeat G:repeat requires G:requires -Builtin reset G:reset roll G:roll rop! G:rop! rot G:rot rpick G:rpick rreset G:rreset rroll G:rroll -Builtin rstack G:rstack rswap G:rswap rusage G:rusage s>ns G:s>ns same? G:same? scriptdir G:scriptdir -Builtin scriptfile G:scriptfile sem G:sem sem-post G:sem-post sem-rm G:sem-rm sem-wait G:sem-wait sem-wait? G:sem-wait? -Builtin sem>name G:sem>name semi-throw G:semi-throw set-wipe G:set-wipe setenv G:setenv setjmp G:setjmp -Builtin settings! G:settings! settings![] G:settings![] settings-clear G:settings-clear settings-db-name G:settings-db-name -Builtin settings-gather G:settings-gather settings-load G:settings-load settings-save G:settings-save -Builtin settings-save-these G:settings-save-these settings-ungather G:settings-ungather settings@ G:settings@ -Builtin settings@? G:settings@? settings@[] G:settings@[] sh G:sh sh! G:sh! sh!to G:sh!to sh$ G:sh$ -Builtin short-days G:short-days short-months G:short-months sleep G:sleep sleep-msec G:sleep-msec sleep-nsec G:sleep-nsec -Builtin sleep-until G:sleep-until slog G:slog space G:space stack-check G:stack-check stack-size G:stack-size -Builtin step G:step sthrow G:sthrow string? G:string? struct: G:struct: swap G:swap tab-hook G:tab-hook -Builtin tell-conflict G:tell-conflict tempdir G:tempdir tempfilename G:tempfilename third G:third throw G:throw -Builtin thrownull G:thrownull times G:times toggle G:toggle tri G:tri true G:true tuck G:tuck type-check G:type-check -Builtin typeassert G:typeassert uid G:uid uname G:uname unlock G:unlock unpack G:unpack until G:until -Builtin until! G:until! while G:while while! G:while! with: G:with: word? G:word? words G:words words-like G:words-like -Builtin words/ G:words/ xchg G:xchg xor G:xor >auth HTTP:>auth (curry) I:(curry) appopts I:appopts -Builtin notimpl I:notimpl sh I:sh call JSONRPC:call auth-string OAuth:auth-string gen-nonce OAuth:gen-nonce -Builtin params OAuth:params call SOAP:call ! a:! + a:+ - a:- / a:/ 2each a:2each 2len a:2len 2map a:2map -Builtin 2map+ a:2map+ 2map= a:2map= <> a:<> = a:= @ a:@ @? a:@? _@ a:_@ _len a:_len _push a:_push all a:all -Builtin any a:any bsearch a:bsearch centroid a:centroid clear a:clear close a:close cmp a:cmp diff a:diff -Builtin dot a:dot each a:each each! a:each! each-par a:each-par each-slice a:each-slice exists? a:exists? -Builtin filter a:filter filter-par a:filter-par generate a:generate group a:group indexof a:indexof -Builtin insert a:insert intersect a:intersect join a:join len a:len map a:map map+ a:map+ map-par a:map-par -Builtin map= a:map= maxlen a:maxlen mean a:mean mean&variance a:mean&variance merge a:merge new a:new -Builtin op! a:op! open a:open pigeon a:pigeon pivot a:pivot pop a:pop push a:push push-n a:push-n qsort a:qsort -Builtin randeach a:randeach reduce a:reduce reduce+ a:reduce+ remove a:remove rev a:rev rindexof a:rindexof -Builtin search a:search shift a:shift shuffle a:shuffle slice a:slice slice+ a:slice+ slide a:slide -Builtin smear a:smear sort a:sort split a:split squash a:squash union a:union uniq a:uniq unzip a:unzip -Builtin when-n a:when-n x a:x x-each a:x-each xchg a:xchg y a:y zip a:zip 8thdir app:8thdir asset app:asset -Builtin atrun app:atrun atrun app:atrun atrun app:atrun basedir app:basedir basename app:basename config-file-name app:config-file-name -Builtin current app:current datadir app:datadir display-moved app:display-moved exename app:exename -Builtin localechanged app:localechanged lowmem app:lowmem main app:main meta! app:meta! meta@ app:meta@ -Builtin name app:name onback app:onback oncrash app:oncrash opts! app:opts! opts@ app:opts@ orientation app:orientation -Builtin orientation! app:orientation! pid app:pid post-main app:post-main pre-main app:pre-main privdir app:privdir -Builtin quiet? app:quiet? raise app:raise read-config app:read-config read-config-map app:read-config-map -Builtin read-config-var app:read-config-var read-config-vars app:read-config-vars request-perm app:request-perm -Builtin restart app:restart resumed app:resumed save-config-vars app:save-config-vars signal app:signal -Builtin standalone app:standalone standalone! app:standalone! subdir app:subdir suspended app:suspended -Builtin sysquit app:sysquit terminated app:terminated theme? app:theme? themechanged app:themechanged -Builtin ticks app:ticks timeout app:timeout trap app:trap dawn astro:dawn do-dawn astro:do-dawn do-dusk astro:do-dusk -Builtin do-rise astro:do-rise dst! astro:dst! dusk astro:dusk latitude astro:latitude location! astro:location! -Builtin longitude astro:longitude sunrise astro:sunrise genkeys auth:genkeys secret auth:secret session-id auth:session-id -Builtin session-key auth:session-key validate auth:validate ! b:! + b:+ / b:/ 1+ b:1+ 1- b:1- <> b:<> -Builtin = b:= >base16 b:>base16 >base32 b:>base32 >base64 b:>base64 >base85 b:>base85 >hex b:>hex >mpack b:>mpack -Builtin @ b:@ ICONVLIBS b:ICONVLIBS append b:append base16> b:base16> base32> b:base32> base64> b:base64> -Builtin base85> b:base85> bit! b:bit! bit@ b:bit@ clear b:clear compress b:compress conv b:conv each b:each -Builtin each! b:each! each-slice b:each-slice expand b:expand fill b:fill getb b:getb hex> b:hex> len b:len -Builtin mem> b:mem> move b:move mpack-compat b:mpack-compat mpack-date b:mpack-date mpack-ignore b:mpack-ignore -Builtin mpack> b:mpack> n! b:n! n+ b:n+ n@ b:n@ new b:new op b:op op! b:op! pad b:pad rev b:rev search b:search -Builtin shmem b:shmem slice b:slice splice b:splice ungetb b:ungetb unpad b:unpad writable b:writable -Builtin xor b:xor +block bc:+block .blocks bc:.blocks add-block bc:add-block block-hash bc:block-hash -Builtin block@ bc:block@ first-block bc:first-block hash bc:hash last-block bc:last-block load bc:load -Builtin new bc:new save bc:save set-sql bc:set-sql validate bc:validate validate-block bc:validate-block -Builtin add bloom:add filter bloom:filter in? bloom:in? parse bson:parse LIBS bt:LIBS accept bt:accept -Builtin ch! bt:ch! ch@ bt:ch@ connect bt:connect disconnect bt:disconnect init bt:init leconnect bt:leconnect -Builtin lescan bt:lescan listen bt:listen on? bt:on? read bt:read scan bt:scan service? bt:service? -Builtin services? bt:services? write bt:write * c:* * c:* + c:+ + c:+ = c:= = c:= >polar c:>polar >polar c:>polar -Builtin >ri c:>ri >ri c:>ri ^ c:^ ^ c:^ abs c:abs abs c:abs arg c:arg arg c:arg conj c:conj conj c:conj -Builtin im c:im im c:im log c:log log c:log n> c:n> n> c:n> new c:new new c:new polar> c:polar> polar> c:polar> -Builtin re c:re re c:re (.hebrew) cal:(.hebrew) (.islamic) cal:(.islamic) .hebrew cal:.hebrew .islamic cal:.islamic -Builtin >hebepoch cal:>hebepoch >jdn cal:>jdn Adar cal:Adar Adar2 cal:Adar2 Av cal:Av Elul cal:Elul -Builtin Heshvan cal:Heshvan Iyar cal:Iyar Kislev cal:Kislev Nissan cal:Nissan Shevat cal:Shevat Sivan cal:Sivan -Builtin Tammuz cal:Tammuz Tevet cal:Tevet Tishrei cal:Tishrei d>iso cal:d>iso d>week cal:d>week days-in-hebrew-year cal:days-in-hebrew-year -Builtin displaying-hebrew cal:displaying-hebrew fixed>hebrew cal:fixed>hebrew fixed>islamic cal:fixed>islamic -Builtin gershayim cal:gershayim hanukkah cal:hanukkah hebrew-epoch cal:hebrew-epoch hebrew-leap-year? cal:hebrew-leap-year? -Builtin hebrew-leap-year? cal:hebrew-leap-year? hebrew>fixed cal:hebrew>fixed hebrewtoday cal:hebrewtoday -Builtin hmonth-name cal:hmonth-name islamic.epoch cal:islamic.epoch islamic>fixed cal:islamic>fixed -Builtin islamictoday cal:islamictoday iso>d cal:iso>d jdn> cal:jdn> last-day-of-hebrew-month cal:last-day-of-hebrew-month -Builtin number>hebrew cal:number>hebrew omer cal:omer pesach cal:pesach purim cal:purim rosh-chodesh? cal:rosh-chodesh? -Builtin rosh-hashanah cal:rosh-hashanah shavuot cal:shavuot taanit-esther cal:taanit-esther tisha-beav cal:tisha-beav -Builtin week>d cal:week>d yom-haatsmaut cal:yom-haatsmaut yom-kippur cal:yom-kippur >hsva clr:>hsva -Builtin complement clr:complement dist clr:dist gradient clr:gradient hsva> clr:hsva> invert clr:invert -Builtin names clr:names nearest-name clr:nearest-name parse clr:parse >redir con:>redir accept con:accept -Builtin accept-nl con:accept-nl accept-pwd con:accept-pwd alert con:alert ansi? con:ansi? black con:black -Builtin blue con:blue clreol con:clreol cls con:cls ctrld-empty con:ctrld-empty cyan con:cyan down con:down -Builtin file>history con:file>history free con:free getxy con:getxy gotoxy con:gotoxy green con:green -Builtin history-handler con:history-handler history>file con:history>file init con:init key con:key -Builtin key? con:key? left con:left load-history con:load-history magenta con:magenta max-history con:max-history -Builtin onBlack con:onBlack onBlue con:onBlue onCyan con:onCyan onGreen con:onGreen onMagenta con:onMagenta -Builtin onRed con:onRed onWhite con:onWhite onYellow con:onYellow print con:print red con:red redir> con:redir> -Builtin redir? con:redir? right con:right save-history con:save-history size? con:size? up con:up white con:white -Builtin yellow con:yellow >aes128gcm cr:>aes128gcm >aes256gcm cr:>aes256gcm >cp cr:>cp >cpe cr:>cpe -Builtin >decrypt cr:>decrypt >edbox cr:>edbox >encrypt cr:>encrypt >nbuf cr:>nbuf >rsabox cr:>rsabox -Builtin >uuid cr:>uuid aad? cr:aad? aes128box-sig cr:aes128box-sig aes128gcm> cr:aes128gcm> aes256box-sig cr:aes256box-sig -Builtin aes256gcm> cr:aes256gcm> aesgcm cr:aesgcm blakehash cr:blakehash chacha20box-sig cr:chacha20box-sig -Builtin chachapoly cr:chachapoly cipher! cr:cipher! cipher@ cr:cipher@ ciphers cr:ciphers cp> cr:cp> -Builtin cpe> cr:cpe> decrypt cr:decrypt decrypt+ cr:decrypt+ decrypt> cr:decrypt> ebox-sig cr:ebox-sig -Builtin ecc-curves cr:ecc-curves ecc-genkey cr:ecc-genkey ecc-secret cr:ecc-secret ecc-sign cr:ecc-sign -Builtin ecc-verify cr:ecc-verify ed25519 cr:ed25519 ed25519-secret cr:ed25519-secret ed25519-sign cr:ed25519-sign -Builtin ed25519-verify cr:ed25519-verify edbox-sig cr:edbox-sig edbox> cr:edbox> encrypt cr:encrypt -Builtin encrypt+ cr:encrypt+ encrypt> cr:encrypt> ensurekey cr:ensurekey genkey cr:genkey hash cr:hash -Builtin hash! cr:hash! hash+ cr:hash+ hash>b cr:hash>b hash>s cr:hash>s hash@ cr:hash@ hashes cr:hashes -Builtin hmac cr:hmac hotp cr:hotp iv? cr:iv? pem-read cr:pem-read pem-write cr:pem-write pwd-valid? cr:pwd-valid? -Builtin pwd/ cr:pwd/ pwd>hash cr:pwd>hash rand cr:rand randbuf cr:randbuf randkey cr:randkey random-salt cr:random-salt -Builtin restore cr:restore root-certs cr:root-certs rsa_decrypt cr:rsa_decrypt rsa_encrypt cr:rsa_encrypt -Builtin rsa_sign cr:rsa_sign rsa_verify cr:rsa_verify rsabox-sig cr:rsabox-sig rsabox> cr:rsabox> rsagenkey cr:rsagenkey -Builtin save cr:save sbox-sig cr:sbox-sig sha1-hmac cr:sha1-hmac shard cr:shard tag? cr:tag? totp cr:totp -Builtin totp-epoch cr:totp-epoch totp-time-step cr:totp-time-step unshard cr:unshard uuid cr:uuid uuid> cr:uuid> -Builtin validate-pgp-sig cr:validate-pgp-sig validate-pwd cr:validate-pwd (.time) d:(.time) + d:+ +day d:+day -Builtin +hour d:+hour +min d:+min +msec d:+msec - d:- .time d:.time / d:/ = d:= >fixed d:>fixed >hmds d:>hmds -Builtin >hmds: d:>hmds: >msec d:>msec >unix d:>unix >ymd d:>ymd ?= d:?= Fri d:Fri Mon d:Mon Sat d:Sat -Builtin Sun d:Sun Thu d:Thu Tue d:Tue Wed d:Wed adjust-dst d:adjust-dst alarm d:alarm approx! d:approx! -Builtin approx? d:approx? approximates! d:approximates! between d:between cmp d:cmp d. d:d. daylight-db d:daylight-db -Builtin default-now d:default-now doy d:doy dst-ofs d:dst-ofs dst? d:dst? dstinfo d:dstinfo dstquery d:dstquery -Builtin dstzones? d:dstzones? elapsed-timer d:elapsed-timer elapsed-timer-hmds d:elapsed-timer-hmds -Builtin elapsed-timer-msec d:elapsed-timer-msec elapsed-timer-seconds d:elapsed-timer-seconds first-dow d:first-dow -Builtin fixed> d:fixed> fixed>dow d:fixed>dow fixed>iso d:fixed>iso format d:format iso>fixed d:iso>fixed -Builtin join d:join last-dow d:last-dow last-month d:last-month last-week d:last-week last-year d:last-year -Builtin leap? d:leap? mdays d:mdays msec d:msec msec> d:msec> new d:new next-dow d:next-dow next-month d:next-month -Builtin next-week d:next-week next-year d:next-year parse d:parse parse-approx d:parse-approx parse-range d:parse-range -Builtin prev-dow d:prev-dow relative d:relative rfc5322 d:rfc5322 start-timer d:start-timer ticks d:ticks -Builtin ticks/sec d:ticks/sec timer d:timer timer-ctrl d:timer-ctrl tzadjust d:tzadjust unix> d:unix> -Builtin unknown d:unknown unknown? d:unknown? updatetz d:updatetz year@ d:year@ ymd d:ymd ymd> d:ymd> -Builtin MYSQLLIB db:MYSQLLIB ODBCLIB db:ODBCLIB add-func db:add-func aes! db:aes! again? db:again? -Builtin begin db:begin begin! db:begin! bind db:bind bind-exec db:bind-exec bind-exec{} db:bind-exec{} -Builtin close db:close col db:col col{} db:col{} commit db:commit commit! db:commit! db db:db dbpush db:dbpush -Builtin disuse db:disuse each db:each ensure db:ensure err-handler db:err-handler exec db:exec exec-cb db:exec-cb -Builtin exec-name db:exec-name exec{} db:exec{} get db:get get-sub db:get-sub get-sub[] db:get-sub[] -Builtin get[] db:get[] key db:key kind? db:kind? last-rowid db:last-rowid mysql? db:mysql? odbc? db:odbc? -Builtin open db:open open? db:open? prep-name db:prep-name prepare db:prepare query db:query query-all db:query-all -Builtin rekey db:rekey rollback db:rollback rollback! db:rollback! rowid@ db:rowid@ set db:set set-sub db:set-sub -Builtin set-sub[] db:set-sub[] set[] db:set[] sql@ db:sql@ sql[] db:sql[] sql[np] db:sql[np] sql{np} db:sql{np} -Builtin sql{} db:sql{} table-exists db:table-exists use db:use zip db:zip .state dbg:.state bp dbg:bp -Builtin bt dbg:bt except-task@ dbg:except-task@ go dbg:go prompt dbg:prompt see dbg:see stop dbg:stop -Builtin trace dbg:trace pso ds:pso / f:/ >posix f:>posix abspath f:abspath absrel f:absrel append f:append -Builtin associate f:associate atime f:atime autodel f:autodel canwrite? f:canwrite? chmod f:chmod close f:close -Builtin copy f:copy copydir f:copydir create f:create ctime f:ctime dir? f:dir? dname f:dname eachbuf f:eachbuf -Builtin eachline f:eachline enssep f:enssep eof? f:eof? epub-meta f:epub-meta exec f:exec exists? f:exists? -Builtin expand f:expand expand-home f:expand-home flush f:flush fname f:fname getb f:getb getc f:getc -Builtin getline f:getline getmod f:getmod glob f:glob glob-links f:glob-links glob-nocase f:glob-nocase -Builtin globfilter f:globfilter gunz f:gunz homedir f:homedir homedir! f:homedir! include f:include -Builtin ioctl f:ioctl join f:join launch f:launch link f:link link> f:link> link? f:link? lock f:lock -Builtin mkdir f:mkdir mmap f:mmap mmap-range f:mmap-range mmap-range? f:mmap-range? mtime f:mtime mv f:mv -Builtin name@ f:name@ open f:open open! f:open! open-ro f:open-ro popen f:popen popen3 f:popen3 prepend f:prepend -Builtin print f:print read f:read read-buf f:read-buf read? f:read? relpath f:relpath rglob f:rglob -Builtin rm f:rm rmdir f:rmdir seek f:seek sep f:sep size f:size slurp f:slurp sparse? f:sparse? spit f:spit -Builtin stderr f:stderr stdin f:stdin stdout f:stdout tell f:tell tempfile f:tempfile tilde f:tilde -Builtin tilde? f:tilde? times f:times tmpspit f:tmpspit trash f:trash truncate f:truncate ungetb f:ungetb -Builtin ungetc f:ungetc unzip f:unzip unzip-entry f:unzip-entry watch f:watch write f:write writen f:writen -Builtin zip+ f:zip+ zip@ f:zip@ zipentry f:zipentry zipnew f:zipnew zipopen f:zipopen zipsave f:zipsave -Builtin atlas font:atlas atlas! font:atlas! atlas@ font:atlas@ default-size font:default-size default-size@ font:default-size@ -Builtin info font:info ls font:ls ls font:ls measure font:measure new font:new oversample font:oversample -Builtin pixels font:pixels pixels? font:pixels? pt2pix font:pt2pix system font:system filebrowser g:filebrowser -Builtin media? g:media? event-loop game:event-loop init game:init state! game:state! state@ game:state@ -Builtin distance geo:distance km/deg-lat geo:km/deg-lat km/deg-lon geo:km/deg-lon nearest geo:nearest -Builtin close gpio:close flags! gpio:flags! info gpio:info init gpio:init line gpio:line open gpio:open -Builtin read gpio:read req gpio:req ver gpio:ver write gpio:write +edge gr:+edge +edge+w gr:+edge+w -Builtin +node gr:+node connect gr:connect each gr:each edges gr:edges edges! gr:edges! info gr:info -Builtin m! gr:m! m@ gr:m@ neighbors gr:neighbors new gr:new node-edges gr:node-edges nodes gr:nodes -Builtin search gr:search traverse gr:traverse weight! gr:weight! + h:+ >a h:>a @ h:@ clear h:clear -Builtin cmp! h:cmp! len h:len max! h:max! new h:new peek h:peek pop h:pop push h:push unique h:unique -Builtin parse html:parse arm? hw:arm? camera hw:camera camera-img hw:camera-img camera? hw:camera? -Builtin cpu? hw:cpu? device? hw:device? displays? hw:displays? displaysize? hw:displaysize? finger-match hw:finger-match -Builtin finger-support hw:finger-support i2c hw:i2c i2c! hw:i2c! i2c!reg hw:i2c!reg i2c@ hw:i2c@ i2c@reg hw:i2c@reg -Builtin isround? hw:isround? iswatch? hw:iswatch? mac? hw:mac? mem? hw:mem? model? hw:model? poll hw:poll -Builtin sensor hw:sensor sensor-event hw:sensor-event sensors? hw:sensors? start hw:start stop hw:stop -Builtin touch? hw:touch? uid? hw:uid? fetch-full imap:fetch-full fetch-uid-mail imap:fetch-uid-mail -Builtin login imap:login logout imap:logout new imap:new search imap:search select-inbox imap:select-inbox -Builtin >file img:>file >fmt img:>fmt ECC-HIGH img:ECC-HIGH ECC-LOW img:ECC-LOW ECC-MEDIUM img:ECC-MEDIUM -Builtin ECC-QUARTILE img:ECC-QUARTILE copy img:copy crop img:crop data img:data desat img:desat draw img:draw -Builtin draw-sub img:draw-sub exif img:exif exif-rotate? img:exif-rotate? fill img:fill fillrect img:fillrect -Builtin filter img:filter fit img:fit flip img:flip from-svg img:from-svg line img:line new img:new -Builtin pikchr img:pikchr pix! img:pix! pix@ img:pix@ qr-black img:qr-black qr-block img:qr-block qr-gen img:qr-gen -Builtin qr-margin img:qr-margin qr-parse img:qr-parse qr-white img:qr-white qr>img img:qr>img rect img:rect -Builtin rotate img:rotate scale img:scale scroll img:scroll size img:size countries iso:countries languages iso:languages -Builtin bearing loc:bearing city loc:city city-db loc:city-db city-exact loc:city-exact city-exact loc:city-exact -Builtin city-version loc:city-version city_country loc:city_country find loc:find sort loc:sort console log:console -Builtin file log:file hook log:hook level log:level local log:local qsize log:qsize syslog log:syslog -Builtin task log:task time log:time ! m:! !? m:!? + m:+ +? m:+? - m:- <> m:<> = m:= >arr m:>arr @ m:@ -Builtin @? m:@? _! m:_! _@ m:_@ _@? m:_@? accumulate m:accumulate alias m:alias arr> m:arr> bitmap m:bitmap -Builtin clear m:clear data m:data each m:each exists? m:exists? filter m:filter ic m:ic iter m:iter -Builtin iter-all m:iter-all iter-sorted m:iter-sorted iter-sorted-vals m:iter-sorted-vals keys m:keys -Builtin len m:len map m:map merge m:merge new m:new op! m:op! open m:open slice m:slice vals m:vals -Builtin xchg m:xchg zip m:zip ! mat:! * mat:* + mat:+ = mat:= @ mat:@ affine mat:affine col mat:col -Builtin data mat:data det mat:det dim? mat:dim? get-n mat:get-n ident mat:ident inv mat:inv m. mat:m. -Builtin minor mat:minor n* mat:n* new mat:new new-minor mat:new-minor rotate mat:rotate row mat:row -Builtin same-size? mat:same-size? scale mat:scale shear mat:shear trans mat:trans translate mat:translate -Builtin xform mat:xform 2console md:2console 2html md:2html 2nk md:2nk 8th? md:8th? user! md:user! -Builtin user!@ md:user!@ user@ md:user@ user@@ md:user@@ color meta:color console meta:console gui meta:gui -Builtin meta meta:meta ! n:! * n:* */ n:*/ + n:+ +! n:+! - n:- / n:/ /mod n:/mod 1+ n:1+ 1- n:1- < n:< -Builtin = n:= > n:> >bool n:>bool BIGE n:BIGE BIGPI n:BIGPI E n:E PI n:PI ^ n:^ _mod n:_mod abs n:abs -Builtin acos n:acos acosd n:acosd acosh n:acosh andor n:andor asin n:asin asind n:asind asinh n:asinh -Builtin atan n:atan atan2 n:atan2 atand n:atand atanh n:atanh band n:band between n:between bfloat n:bfloat -Builtin bic n:bic bint n:bint binv n:binv bits? n:bits? bnot n:bnot bor n:bor bxor n:bxor cast n:cast -Builtin ceil n:ceil clamp n:clamp clz? n:clz? cmp n:cmp comb n:comb cos n:cos cosd n:cosd cosh n:cosh -Builtin ctz? n:ctz? emod n:emod erf n:erf erfc n:erfc exp n:exp expm1 n:expm1 expmod n:expmod float n:float -Builtin floor n:floor fmod n:fmod frac n:frac gcd n:gcd int n:int invmod n:invmod kind? n:kind? lcm n:lcm -Builtin lerp n:lerp ln n:ln ln1p n:ln1p lnerp n:lnerp logistic n:logistic max n:max median n:median -Builtin min n:min mod n:mod neg n:neg odd? n:odd? parity? n:parity? perm n:perm prime? n:prime? quantize n:quantize -Builtin quantize! n:quantize! r+ n:r+ range n:range rot32l n:rot32l rot32r n:rot32r round n:round round2 n:round2 -Builtin rounding n:rounding running-variance n:running-variance running-variance-finalize n:running-variance-finalize -Builtin sgn n:sgn shl n:shl shr n:shr sin n:sin sincos n:sincos sind n:sind sinh n:sinh sqr n:sqr sqrt n:sqrt -Builtin tan n:tan tand n:tand tanh n:tanh trunc n:trunc ~= n:~= ! net:! !? net:!? - net:- >base64url net:>base64url -Builtin >url net:>url @ net:@ @? net:@? CGI net:CGI DGRAM net:DGRAM INET4 net:INET4 INET6 net:INET6 -Builtin PROTO_TCP net:PROTO_TCP PROTO_UDP net:PROTO_UDP REMOTE_IP net:REMOTE_IP STREAM net:STREAM accept net:accept -Builtin active? net:active? addrinfo>o net:addrinfo>o again? net:again? alloc-and-read net:alloc-and-read -Builtin alloc-buf net:alloc-buf avail? net:avail? base64url> net:base64url> bind net:bind cgi-get net:cgi-get -Builtin cgi-http-header net:cgi-http-header cgi-init net:cgi-init cgi-init-stunnel net:cgi-init-stunnel -Builtin cgi-out net:cgi-out close net:close closed? net:closed? connect net:connect curnet net:curnet -Builtin debug? net:debug? delete net:delete dns net:dns get net:get getaddrinfo net:getaddrinfo getpeername net:getpeername -Builtin head net:head ifaces? net:ifaces? interp8th net:interp8th ipv6? net:ipv6? launch net:launch -Builtin listen net:listen map>url net:map>url mime-type net:mime-type net-socket net:net-socket opts net:opts -Builtin port-is-ssl? net:port-is-ssl? post net:post proxy! net:proxy! put net:put read net:read read-all net:read-all -Builtin read-buf net:read-buf recvfrom net:recvfrom s>url net:s>url sendto net:sendto server net:server -Builtin setsockopt net:setsockopt socket net:socket socket-mcast net:socket-mcast spamcheck net:spamcheck -Builtin tcp-connect net:tcp-connect tlserr net:tlserr tlshello net:tlshello udp-connect net:udp-connect -Builtin url> net:url> user-agent net:user-agent valid-email? net:valid-email? vpncheck net:vpncheck -Builtin wait net:wait webserver net:webserver write net:write ws-parse net:ws-parse init nfc:init list nfc:list -Builtin name nfc:name open nfc:open present? nfc:present? read nfc:read ver nfc:ver write nfc:write -Builtin (begin) nk:(begin) (chart-begin) nk:(chart-begin) (chart-begin-colored) nk:(chart-begin-colored) -Builtin (chart-end) nk:(chart-end) (end) nk:(end) (group-begin) nk:(group-begin) (group-end) nk:(group-end) -Builtin (property) nk:(property) >img nk:>img PIXEL-FORMATS nk:PIXEL-FORMATS addfont nk:addfont affine nk:affine -Builtin anti-alias nk:anti-alias any-active nk:any-active any-clicked? nk:any-clicked? app-render nk:app-render -Builtin app-template nk:app-template bounds nk:bounds bounds! nk:bounds! button nk:button button-color nk:button-color -Builtin button-label nk:button-label button-set-behavior nk:button-set-behavior button-symbol nk:button-symbol -Builtin button-symbol-label nk:button-symbol-label calendar nk:calendar chart-add-slot nk:chart-add-slot -Builtin chart-add-slot-colored nk:chart-add-slot-colored chart-push nk:chart-push chart-push-slot nk:chart-push-slot -Builtin checkbox nk:checkbox circle nk:circle clicked? nk:clicked? clipping nk:clipping close-this! nk:close-this! -Builtin close-this? nk:close-this? close? nk:close? color-chooser nk:color-chooser color-picker nk:color-picker -Builtin combo nk:combo combo-begin-color nk:combo-begin-color combo-begin-label nk:combo-begin-label -Builtin combo-cb nk:combo-cb combo-end nk:combo-end content-region nk:content-region contextual-begin nk:contextual-begin -Builtin contextual-close nk:contextual-close contextual-end nk:contextual-end contextual-item-image-text nk:contextual-item-image-text -Builtin contextual-item-symbol-text nk:contextual-item-symbol-text contextual-item-text nk:contextual-item-text -Builtin cp! nk:cp! cp@ nk:cp@ curpos nk:curpos cursor-load nk:cursor-load cursor-set nk:cursor-set -Builtin cursor-show nk:cursor-show density@ nk:density@ display-change nk:display-change display-info nk:display-info -Builtin display-scale@ nk:display-scale@ display@ nk:display@ do nk:do down? nk:down? draw-image nk:draw-image -Builtin draw-image-at nk:draw-image-at draw-image-centered nk:draw-image-centered draw-sub-image nk:draw-sub-image -Builtin draw-text nk:draw-text draw-text-centered nk:draw-text-centered draw-text-high nk:draw-text-high -Builtin draw-text-wrap nk:draw-text-wrap driver nk:driver drivers nk:drivers dropped nk:dropped dropping nk:dropping -Builtin edit-focus nk:edit-focus edit-pwd nk:edit-pwd edit-string nk:edit-string event nk:event event-boost nk:event-boost -Builtin event-msec nk:event-msec event-wait nk:event-wait event? nk:event? file-dlg nk:file-dlg fill-arc nk:fill-arc -Builtin fill-circle nk:fill-circle fill-color nk:fill-color fill-poly nk:fill-poly fill-rect nk:fill-rect -Builtin fill-rect-color nk:fill-rect-color fill-triangle nk:fill-triangle finger nk:finger flags! nk:flags! -Builtin flags@ nk:flags@ flash nk:flash fullscreen nk:fullscreen get nk:get get-row-height nk:get-row-height -Builtin getfont nk:getfont getmap nk:getmap getmap! nk:getmap! gget nk:gget grid nk:grid grid! nk:grid! -Builtin grid-peek nk:grid-peek grid-push nk:grid-push group-scroll-ofs nk:group-scroll-ofs group-scroll-ofs! nk:group-scroll-ofs! -Builtin gset nk:gset hints nk:hints hovered? nk:hovered? hrule nk:hrule ident nk:ident image nk:image -Builtin init nk:init init-flags nk:init-flags init-sub nk:init-sub input-button nk:input-button input-key nk:input-key -Builtin input-motion nk:input-motion input-scroll nk:input-scroll input-string nk:input-string key-down? nk:key-down? -Builtin key-pressed? nk:key-pressed? key-released? nk:key-released? knob nk:knob label nk:label label-colored nk:label-colored -Builtin label-wrap nk:label-wrap label-wrap-colored nk:label-wrap-colored layout-bounds nk:layout-bounds -Builtin layout-grid-begin nk:layout-grid-begin layout-grid-end nk:layout-grid-end layout-push-dynamic nk:layout-push-dynamic -Builtin layout-push-static nk:layout-push-static layout-push-variable nk:layout-push-variable layout-ratio-from-pixel nk:layout-ratio-from-pixel -Builtin layout-reset-row-height nk:layout-reset-row-height layout-row nk:layout-row layout-row-begin nk:layout-row-begin -Builtin layout-row-dynamic nk:layout-row-dynamic layout-row-end nk:layout-row-end layout-row-height nk:layout-row-height -Builtin layout-row-push nk:layout-row-push layout-row-static nk:layout-row-static layout-row-template-begin nk:layout-row-template-begin -Builtin layout-row-template-end nk:layout-row-template-end layout-space-begin nk:layout-space-begin -Builtin layout-space-end nk:layout-space-end layout-space-push nk:layout-space-push layout-widget-bounds nk:layout-widget-bounds -Builtin line-rel nk:line-rel line-to nk:line-to list-begin nk:list-begin list-end nk:list-end list-new nk:list-new -Builtin list-ofs nk:list-ofs list-range nk:list-range longpress nk:longpress m! nk:m! m@ nk:m@ make-style nk:make-style -Builtin max-vertex-element nk:max-vertex-element maximize nk:maximize measure nk:measure measure-font nk:measure-font -Builtin menu-begin nk:menu-begin menu-close nk:menu-close menu-end nk:menu-end menu-item-image nk:menu-item-image -Builtin menu-item-label nk:menu-item-label menu-item-symbol nk:menu-item-symbol menubar-begin nk:menubar-begin -Builtin menubar-end nk:menubar-end minimize nk:minimize mouse-moved? nk:mouse-moved? mouse-pos nk:mouse-pos -Builtin move-back nk:move-back move-rel nk:move-rel move-to nk:move-to msg nk:msg msgdlg nk:msgdlg -Builtin ontop nk:ontop option nk:option params! nk:params! pen-color nk:pen-color pen-width nk:pen-width -Builtin pinch nk:pinch pix! nk:pix! plot nk:plot plot-fn nk:plot-fn polygon nk:polygon pop-font nk:pop-font -Builtin popup-begin nk:popup-begin popup-close nk:popup-close popup-end nk:popup-end popup-scroll-ofs nk:popup-scroll-ofs -Builtin popup-scroll-ofs! nk:popup-scroll-ofs! progress nk:progress prop-float nk:prop-float prop-int nk:prop-int -Builtin pt-in? nk:pt-in? pt>local nk:pt>local pt>screen nk:pt>screen pump nk:pump push-font nk:push-font -Builtin raise nk:raise rect-rel nk:rect-rel rect-to nk:rect-to rect>local nk:rect>local rect>screen nk:rect>screen -Builtin released? nk:released? render nk:render render! nk:render! render-loop nk:render-loop render-loop-max nk:render-loop-max -Builtin render-loop-timed nk:render-loop-timed render-timed nk:render-timed render@ nk:render@ renderers nk:renderers -Builtin rendering nk:rendering restore nk:restore rotate nk:rotate rotate-rel nk:rotate-rel rtl! nk:rtl! -Builtin rtl? nk:rtl? safe-bounds nk:safe-bounds save nk:save scale nk:scale scale@ nk:scale@ scancode? nk:scancode? -Builtin screen-saver nk:screen-saver screen-size nk:screen-size screen-win-close nk:screen-win-close -Builtin selectable nk:selectable set nk:set set-font nk:set-font set-hint nk:set-hint set-num-vertices nk:set-num-vertices -Builtin set-radius nk:set-radius setpos nk:setpos setwin nk:setwin show nk:show skew nk:skew slider nk:slider -Builtin slider-int nk:slider-int space nk:space spacing nk:spacing start-text nk:start-text stroke-arc nk:stroke-arc -Builtin stroke-circle nk:stroke-circle stroke-curve nk:stroke-curve stroke-line nk:stroke-line stroke-polygon nk:stroke-polygon -Builtin stroke-polyline nk:stroke-polyline stroke-rect nk:stroke-rect stroke-tri nk:stroke-tri style-from-table nk:style-from-table -Builtin swipe nk:swipe text nk:text text-align nk:text-align text-font nk:text-font text-pad nk:text-pad -Builtin text? nk:text? timer-delay nk:timer-delay timer? nk:timer? toast nk:toast tooltip nk:tooltip -Builtin translate nk:translate tree-pop nk:tree-pop tree-state-push nk:tree-state-push triangle nk:triangle -Builtin use-style nk:use-style vsync nk:vsync widget nk:widget widget-bounds nk:widget-bounds widget-disable nk:widget-disable -Builtin widget-fitting nk:widget-fitting widget-high nk:widget-high widget-hovered? nk:widget-hovered? -Builtin widget-mouse-click-down? nk:widget-mouse-click-down? widget-mouse-clicked? nk:widget-mouse-clicked? -Builtin widget-pos nk:widget-pos widget-size nk:widget-size widget-size-allot nk:widget-size-allot -Builtin widget-wide nk:widget-wide win nk:win win-bounds nk:win-bounds win-bounds! nk:win-bounds! win-close nk:win-close -Builtin win-closed? nk:win-closed? win-collapse nk:win-collapse win-collapsed? nk:win-collapsed? win-content-bounds nk:win-content-bounds -Builtin win-focus nk:win-focus win-focused? nk:win-focused? win-hidden? nk:win-hidden? win-high nk:win-high -Builtin win-hovered? nk:win-hovered? win-icon! nk:win-icon! win-pos nk:win-pos win-scroll-ofs nk:win-scroll-ofs -Builtin win-scroll-ofs! nk:win-scroll-ofs! win-show nk:win-show win-size nk:win-size win-title! nk:win-title! -Builtin win-wide nk:win-wide win? nk:win? xchg nk:xchg MAX ns:MAX ! o:! + o:+ +? o:+? ??? o:??? @ o:@ -Builtin class o:class exec o:exec isa o:isa method o:method mutate o:mutate new o:new super o:super -Builtin POSIX os:POSIX chroot os:chroot devname os:devname docker? os:docker? env os:env lang os:lang -Builtin locales os:locales notify os:notify power-state os:power-state region os:region waitpid os:waitpid -Builtin bezier pdf:bezier bezierq pdf:bezierq circle pdf:circle color pdf:color ellipse pdf:ellipse -Builtin font pdf:font img pdf:img line pdf:line new pdf:new page pdf:page page-size pdf:page-size rect pdf:rect -Builtin save pdf:save size pdf:size text pdf:text text-rotate pdf:text-rotate text-size pdf:text-size -Builtin text-width pdf:text-width text-wrap pdf:text-wrap text-wrap-rotate pdf:text-wrap-rotate cast ptr:cast -Builtin deref ptr:deref len ptr:len null? ptr:null? pack ptr:pack unpack ptr:unpack unpack_orig ptr:unpack_orig -Builtin publish pubsub:publish qsize pubsub:qsize subscribe pubsub:subscribe + q:+ >a q:>a clear q:clear -Builtin len q:len new q:new notify q:notify overwrite q:overwrite peek q:peek pick q:pick pop q:pop -Builtin push q:push remove q:remove shift q:shift size q:size slide q:slide throwing q:throwing wait q:wait -Builtin ++match r:++match +/ r:+/ +match r:+match / r:/ @ r:@ _@ r:_@ len r:len match r:match match[] r:match[] -Builtin matchall[] r:matchall[] new r:new rx r:rx str r:str * rat:* + rat:+ - rat:- / rat:/ >n rat:>n -Builtin >s rat:>s new rat:new proper rat:proper ! rect:! /high rect:/high /wide rect:/wide = rect:= -Builtin >a rect:>a >pts rect:>pts >pts4 rect:>pts4 @ rect:@ center rect:center center-pt rect:center-pt -Builtin intersect rect:intersect new rect:new new-pt rect:new-pt ofs rect:ofs open rect:open pad rect:pad -Builtin pos rect:pos pt-open rect:pt-open pt>a rect:pt>a pt>rect rect:pt>rect pts> rect:pts> restrict rect:restrict -Builtin shrink rect:shrink size rect:size union rect:union ! s:! * s:* + s:+ - s:- / s:/ /scripts s:/scripts -Builtin /ws s:/ws 2len s:2len <+ s:<+ <> s:<> = s:= =ic s:=ic >base64 s:>base64 >ucs2 s:>ucs2 @ s:@ -Builtin _len s:_len append s:append base64> s:base64> clear s:clear cmp s:cmp cmpi s:cmpi compress s:compress -Builtin count-match s:count-match days! s:days! dist s:dist each s:each each! s:each! eachline s:eachline -Builtin escape s:escape expand s:expand expand-env s:expand-env fill s:fill fold s:fold gen-uid s:gen-uid -Builtin globmatch s:globmatch hexupr s:hexupr insert s:insert intl s:intl intl! s:intl! lang s:lang -Builtin lc s:lc lc? s:lc? len s:len lsub s:lsub ltrim s:ltrim map s:map months! s:months! n> s:n> new s:new -Builtin norm s:norm reduce s:reduce repinsert s:repinsert replace s:replace replace! s:replace! rev s:rev -Builtin rsearch s:rsearch rsub s:rsub rtl s:rtl rtrim s:rtrim scan-match s:scan-match script? s:script? -Builtin search s:search size s:size slice s:slice soundex s:soundex strfmap s:strfmap strfmt s:strfmt -Builtin term s:term text-wrap s:text-wrap tr s:tr transform s:transform trim s:trim tsub s:tsub uc s:uc -Builtin uc? s:uc? ucs2> s:ucs2> utf8? s:utf8? zt s:zt >a set:>a add set:add add[] set:add[] del set:del -Builtin difference set:difference has set:has intersect set:intersect new set:new union set:union bits! sio:bits! -Builtin bits@ sio:bits@ close sio:close enum sio:enum hz! sio:hz! hz@ sio:hz@ mode! sio:mode! mode@ sio:mode@ -Builtin open sio:open open sio:open opts! sio:opts! opts@ sio:opts@ read sio:read read sio:read write sio:write -Builtin write sio:write @ slv:@ auto slv:auto build slv:build constraint slv:constraint edit slv:edit -Builtin named-variable slv:named-variable new slv:new relation slv:relation reset slv:reset suggest slv:suggest -Builtin term slv:term update slv:update v[] slv:v[] variable slv:variable v{} slv:v{} new smtp:new -Builtin send smtp:send apply-filter snd:apply-filter devices? snd:devices? end-record snd:end-record -Builtin filter snd:filter freq snd:freq gain snd:gain gain? snd:gain? init snd:init len snd:len loop snd:loop -Builtin loop? snd:loop? mix snd:mix new snd:new pause snd:pause play snd:play played snd:played rate snd:rate -Builtin ready? snd:ready? record snd:record resume snd:resume seek snd:seek stop snd:stop stopall snd:stopall -Builtin volume snd:volume volume? snd:volume? + st:+ . st:. >a st:>a clear st:clear dot-depth st:dot-depth -Builtin len st:len list st:list ndrop st:ndrop new st:new op! st:op! peek st:peek pick st:pick pop st:pop -Builtin push st:push roll st:roll shift st:shift size st:size slide st:slide swap st:swap throwing st:throwing -Builtin >buf struct:>buf arr> struct:arr> buf struct:buf buf> struct:buf> byte struct:byte double struct:double -Builtin field! struct:field! field@ struct:field@ float struct:float ignore struct:ignore int struct:int -Builtin long struct:long struct; struct:struct; word struct:word ! t:! @ t:@ by-name t:by-name curtask t:curtask -Builtin def-queue t:def-queue def-stack t:def-stack done? t:done? dtor t:dtor err! t:err! err? t:err? -Builtin errno? t:errno? extra t:extra getq t:getq handler t:handler handler@ t:handler@ kill t:kill -Builtin list t:list main t:main max-exceptions t:max-exceptions name! t:name! name@ t:name@ notify t:notify -Builtin parent t:parent pop t:pop priority t:priority push t:push push! t:push! q-notify t:q-notify -Builtin q-wait t:q-wait qlen t:qlen result t:result set-affinity t:set-affinity setq t:setq task t:task -Builtin task-n t:task-n task-stop t:task-stop ticks t:ticks to? t:to? wait t:wait add tree:add binary tree:binary -Builtin bk tree:bk btree tree:btree cmp! tree:cmp! data tree:data del tree:del find tree:find iter tree:iter -Builtin next tree:next nodes tree:nodes parent tree:parent parse tree:parse prev tree:prev root tree:root -Builtin search tree:search trie tree:trie ! w:! (is) w:(is) @ w:@ alias: w:alias: cb w:cb deprecate w:deprecate -Builtin dlcall w:dlcall dlopen w:dlopen dlsym w:dlsym exec w:exec exec? w:exec? ffifail w:ffifail find w:find -Builtin forget w:forget is w:is name w:name undo w:undo xt w:xt xt> w:xt> close ws:close decode ws:decode -Builtin encode ws:encode encode-nomask ws:encode-nomask gen-accept-header ws:gen-accept-header gen-accept-key ws:gen-accept-key -Builtin opcodes ws:opcodes open ws:open >s xml:>s >txt xml:>txt md-init xml:md-init md-parse xml:md-parse -Builtin parse xml:parse parse-html xml:parse-html parse-stream xml:parse-stream getmsg[] zmq:getmsg[] -Builtin sendmsg[] zmq:sendmsg[] - - -" numbers -syn keyword eighthMath decimal hex base@ base! -syn match eighthInteger '\<-\=[0-9.]*[0-9.]\+\>' - -" recognize hex and binary numbers, the '$' and '%' notation is for eighth -syn match eighthInteger '\<\$\x*\x\+\>' " *1* --- dont't mess -syn match eighthInteger '\<\x*\d\x*\>' " *2* --- this order! -syn match eighthInteger '\<%[0-1]*[0-1]\+\>' -syn match eighthInteger "\<'.\>" - -syn include @SQL syntax/sql.vim -syn region eightSQL matchgroup=Define start=/\/ contains=@SQL keepend -syn region eightSQL matchgroup=Define start=/\/ contains=@SQL keepend -syn region eightSQL matchgroup=Define start=/\/ contains=@SQL keepend - -" Strings -syn region eighthString start=+\.\?\"+ skip=+"+ end=+$+ -syn keyword jsonNull null -syn keyword jsonBool /\(true\|false\)/ -syn region eighthString start=/\<"/ end=/"\>/ -syn match jsonObjEntry /"\"[^"]\+\"\ze\s*:/ - -syn region eighthNeeds start=+needs\[+ end=+]+ matchgroup=eighthNeeds2 transparent -syn match eighthNeeds2 /\/ - -syn match eighthBuiltin /m:\[]!/ -syn match eighthBuiltin /v:\[]/ -syn match eighthBuiltin /db:bind-exec\[]/ -syn match eighthBuiltin /db:exec\[]/ -syn match eighthBuiltin /db:col\[]/ - -syn region eighthComment start="\zs\\" end="$" contains=eighthTodo,@Spell -syn region eighthComment start="\zs--\s" end="$" contains=eighthTodo,@Spell -syn region eighthComment start="\zs(\*" end="\*)\ze" contains=eightTodo,@Spell - -" The default methods for highlighting. Can be overriden later. -hi def link eighthTodo Todo -hi def link eighthNeeds2 Include -hi def link eighthNeeds Error -hi def link eighthOperators Operator -hi def link eighthMath Number -hi def link eighthInteger Number -hi def link eighthStack Special -hi def link eighthFStack Special -hi def link eighthFname Operator -hi def link eighthSP Special -hi def link eighthColonDef Define -hi def link eighthColonName Operator -hi def link eighthEndOfColonDef Define -hi def link eighthDefine Define -hi def link eighthDebug Debug -hi def link eighthCharOps Character -hi def link eighthConversion String -hi def link eighthForth Statement -hi def link eighthVocs Statement -hi def link eighthString String -hi def link eighthComment Comment -hi def link eighthClassDef Define -hi def link eighthEndOfClassDef Define -hi def link eighthObjectDef Define -hi def link eighthEndOfObjectDef Define -hi def link eighthInclude Include -hi def link eighthBuiltin Define -hi def link eighthClasses Define -hi def link eighthClassWord Keyword -hi def link jsonObject Delimiter -hi def link jsonObjEntry Label -hi def link jsonArray Special -hi def link jsonNull Function -hi def link jsonBool Boolean - -delcommand Builtin -let b:current_syntax = "8th" -let &cpo = s:cpo_save -unlet s:cpo_save - -" vim: ft=vim ts=4 sw=4 nocin:si diff --git a/uvim/runtime/syntax/Makefile b/uvim/runtime/syntax/Makefile index d0f71270ac..c2239bf943 100644 --- a/uvim/runtime/syntax/Makefile +++ b/uvim/runtime/syntax/Makefile @@ -1,27 +1,27 @@ # Portable Makefile for running syntax tests. # To run the test manually: -# ../../src/vim -u 'testdir/runtest.vim' --cmd 'breakadd func RunTest' +# ../../src/mnv -u 'testdir/runtest.mnv' --cmd 'breakadd func RunTest' -# Override this if needed, the default assumes Vim was built in the src dir. -#VIMPROG = vim -VIMPROG = ../../src/vim +# Override this if needed, the default assumes MNV was built in the src dir. +#MNVPROG = mnv +MNVPROG = ../../src/mnv # "runtime" relative to "runtime/syntax/testdir" -VIMRUNTIME = ../.. +MNVRUNTIME = ../.. # Uncomment this line to use valgrind for memory leaks and extra warnings. # VALGRIND = valgrind --tool=memcheck --leak-check=yes --num-callers=45 --log-file=valgrind.$* # Trace ruler liveness on demand. -# VIM_SYNTAX_TEST_LOG = `pwd`/testdir/failed/00-TRACE_LOG +# MNV_SYNTAX_TEST_LOG = `pwd`/testdir/failed/00-TRACE_LOG -# ENVVARS = LC_ALL=C VIM_SYNTAX_TEST_LOG="$(VIM_SYNTAX_TEST_LOG)" +# ENVVARS = LC_ALL=C MNV_SYNTAX_TEST_LOG="$(MNV_SYNTAX_TEST_LOG)" # ENVVARS = LC_ALL=C LANG=C LANGUAGE=C # Run the syntax tests with a C locale ENVVARS = LC_ALL=C -RUN_VIMTEST = VIMRUNTIME=$(VIMRUNTIME) $(VALGRIND) $(ENVVARS) ../$(VIMPROG) -f $(GUI_FLAG) +RUN_MNVTEST = MNVRUNTIME=$(MNVRUNTIME) $(VALGRIND) $(ENVVARS) ../$(MNVPROG) -f $(GUI_FLAG) # Uncomment this line for debugging # DEBUGLOG = --log testlog @@ -34,15 +34,15 @@ phonies = clean executables test testclean # If a test succeeds a testdir/done/{name} file will be written. # If a test fails a testdir/failed/{name}.dump file will be written. # Progress and error messages can be found in "testdir/messages". -# Comment out the "> /dev/null" part to see the in-progress Vim behaviors. +# Comment out the "> /dev/null" part to see the in-progress MNV behaviors. test: - @# the "vimcmd" file is used by the screendump utils - @echo "../$(VIMPROG)" > testdir/vimcmd - @echo "$(RUN_VIMTEST)" >> testdir/vimcmd + @# the "mnvcmd" file is used by the screendump utils + @echo "../$(MNVPROG)" > testdir/mnvcmd + @echo "$(RUN_MNVTEST)" >> testdir/mnvcmd @# Trace ruler liveness on demand. @#mkdir -p testdir/failed - @#touch "$(VIM_SYNTAX_TEST_LOG)" - VIMRUNTIME=$(VIMRUNTIME) $(ENVVARS) $(VIMPROG) --clean --not-a-term $(DEBUGLOG) -u testdir/runtest.vim > /dev/null + @#touch "$(MNV_SYNTAX_TEST_LOG)" + MNVRUNTIME=$(MNVRUNTIME) $(ENVVARS) $(MNVPROG) --clean --not-a-term $(DEBUGLOG) -u testdir/runtest.mnv > /dev/null @# FIXME: Temporarily show the whole file to find out what goes wrong @#if [ -f testdir/messages ]; then tail -n 6 testdir/messages; fi @if [ -f testdir/messages ]; then cat testdir/messages; fi @@ -57,7 +57,7 @@ executables: @! find testdir/input -type f -perm /a+x -exec echo Executable syntax test found: \{\} \; | grep : clean testclean: - rm -f testdir/failed/* testdir/done/* testdir/vimcmd testdir/messages testdir/Xtestscript testdir/Xfilter testdir/testdeps.mk + rm -f testdir/failed/* testdir/done/* testdir/mnvcmd testdir/messages testdir/Xtestscript testdir/Xfilter testdir/testdeps.mk # Collect all input filenames and their file types. testnames != set +f; \ @@ -68,7 +68,7 @@ awk 'BEGIN { \ types[parts[1]]; \ print names[3]; \ } \ - delete types["vim9"]; \ + delete types["mnv9"]; \ split("$(phonies)", scratch); \ for (phony in scratch) \ phonies[scratch[phony]]; \ diff --git a/uvim/runtime/syntax/README.txt b/uvim/runtime/syntax/README.txt index 756ae41587..cd27f82dab 100644 --- a/uvim/runtime/syntax/README.txt +++ b/uvim/runtime/syntax/README.txt @@ -1,17 +1,17 @@ -This directory contains Vim scripts for syntax highlighting. +This directory contains MNV scripts for syntax highlighting. -These scripts are not for a language, but are used by Vim itself: +These scripts are not for a language, but are used by MNV itself: -syntax.vim Used for the ":syntax on" command. Uses synload.vim. +syntax.mnv Used for the ":syntax on" command. Uses synload.mnv. -manual.vim Used for the ":syntax manual" command. Uses synload.vim. +manual.mnv Used for the ":syntax manual" command. Uses synload.mnv. -synload.vim Contains autocommands to load a language file when a certain +synload.mnv Contains autocommands to load a language file when a certain file name (extension) is used. And sets up the Syntax menu for the GUI. -nosyntax.vim Used for the ":syntax off" command. Undo the loading of - synload.vim. +nosyntax.mnv Used for the ":syntax off" command. Undo the loading of + synload.mnv. The "shared" directory contains generated files and what is used by more than one syntax. @@ -19,25 +19,25 @@ one syntax. A few special files: -2html.vim Converts any highlighted file to HTML (GUI only). -colortest.vim Check for color names and actual color on screen. -hitest.vim View the current highlight settings. -whitespace.vim View Tabs and Spaces. +2html.mnv Converts any highlighted file to HTML (GUI only). +colortest.mnv Check for color names and actual color on screen. +hitest.mnv View the current highlight settings. +whitespace.mnv View Tabs and Spaces. If you want to write a syntax file, read the docs at ":help usr_44.txt". If you make a new syntax file which would be useful for others, please send it -to the vim-dev mailing list . Include instructions for +to the mnv-dev mailing list . Include instructions for detecting the file type for this language, by file name extension or by checking a few lines in the file. And please write the file in a portable way, see ":help 44.12". If you have remarks about an existing file, send them to the maintainer of -that file. Only when you get no response send a message to the vim-dev -mailing list: . +that file. Only when you get no response send a message to the mnv-dev +mailing list: . If you are the maintainer of a syntax file and make improvements, send the new -version to the vim-dev mailing list: +version to the mnv-dev mailing list: -For further info see ":help syntax" in Vim. +For further info see ":help syntax" in MNV. diff --git a/uvim/runtime/syntax/a2ps.mnv b/uvim/runtime/syntax/a2ps.mnv new file mode 100644 index 0000000000..d80b17b5f3 --- /dev/null +++ b/uvim/runtime/syntax/a2ps.mnv @@ -0,0 +1,71 @@ +" MNV syntax file +" Language: a2ps(1) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2006-04-19 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn keyword a2psPreProc Include + \ nextgroup=a2psKeywordColon + +syn keyword a2psMacro UserOption + \ nextgroup=a2psKeywordColon + +syn keyword a2psKeyword LibraryPath AppendLibraryPath PrependLibraryPath + \ Options Medium Printer UnknownPrinter + \ DefaultPrinter OutputFirstLine + \ PageLabelFormat Delegation FileCommand + \ nextgroup=a2psKeywordColon + +syn match a2psKeywordColon contained display ':' + +syn keyword a2psKeyword Variable nextgroup=a2psVariableColon + +syn match a2psVariableColon contained display ':' + \ nextgroup=a2psVariable skipwhite + +syn match a2psVariable contained display '[^ \t:(){}]\+' + \ contains=a2psVarPrefix + +syn match a2psVarPrefix contained display + \ '\<\%(del\|pro\|ps\|pl\|toc\|user\|\)\ze\.' + +syn match a2psLineCont display '\\$' + +syn match a2psSubst display '$\%(-\=.\=\d\+\)\=\h\d\=' +syn match a2psSubst display '#[?!]\=\w\d\=' +syn match a2psSubst display '#{[^}]\+}' + +syn region a2psString display oneline start=+'+ end=+'+ + \ contains=a2psSubst + +syn region a2psString display oneline start=+"+ end=+"+ + \ contains=a2psSubst + +syn keyword a2psTodo contained TODO FIXME XXX NOTE + +syn region a2psComment display oneline start='^\s*#' end='$' + \ contains=a2psTodo,@Spell + +hi def link a2psTodo Todo +hi def link a2psComment Comment +hi def link a2psPreProc PreProc +hi def link a2psMacro Macro +hi def link a2psKeyword Keyword +hi def link a2psKeywordColon Delimiter +hi def link a2psVariableColon Delimiter +hi def link a2psVariable Identifier +hi def link a2psVarPrefix Type +hi def link a2psLineCont Special +hi def link a2psSubst PreProc +hi def link a2psString String + +let b:current_syntax = "a2ps" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/a2ps.vim b/uvim/runtime/syntax/a2ps.vim deleted file mode 100644 index afe3af1eed..0000000000 --- a/uvim/runtime/syntax/a2ps.vim +++ /dev/null @@ -1,71 +0,0 @@ -" Vim syntax file -" Language: a2ps(1) configuration file -" Previous Maintainer: Nikolai Weibull -" Latest Revision: 2006-04-19 - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn keyword a2psPreProc Include - \ nextgroup=a2psKeywordColon - -syn keyword a2psMacro UserOption - \ nextgroup=a2psKeywordColon - -syn keyword a2psKeyword LibraryPath AppendLibraryPath PrependLibraryPath - \ Options Medium Printer UnknownPrinter - \ DefaultPrinter OutputFirstLine - \ PageLabelFormat Delegation FileCommand - \ nextgroup=a2psKeywordColon - -syn match a2psKeywordColon contained display ':' - -syn keyword a2psKeyword Variable nextgroup=a2psVariableColon - -syn match a2psVariableColon contained display ':' - \ nextgroup=a2psVariable skipwhite - -syn match a2psVariable contained display '[^ \t:(){}]\+' - \ contains=a2psVarPrefix - -syn match a2psVarPrefix contained display - \ '\<\%(del\|pro\|ps\|pl\|toc\|user\|\)\ze\.' - -syn match a2psLineCont display '\\$' - -syn match a2psSubst display '$\%(-\=.\=\d\+\)\=\h\d\=' -syn match a2psSubst display '#[?!]\=\w\d\=' -syn match a2psSubst display '#{[^}]\+}' - -syn region a2psString display oneline start=+'+ end=+'+ - \ contains=a2psSubst - -syn region a2psString display oneline start=+"+ end=+"+ - \ contains=a2psSubst - -syn keyword a2psTodo contained TODO FIXME XXX NOTE - -syn region a2psComment display oneline start='^\s*#' end='$' - \ contains=a2psTodo,@Spell - -hi def link a2psTodo Todo -hi def link a2psComment Comment -hi def link a2psPreProc PreProc -hi def link a2psMacro Macro -hi def link a2psKeyword Keyword -hi def link a2psKeywordColon Delimiter -hi def link a2psVariableColon Delimiter -hi def link a2psVariable Identifier -hi def link a2psVarPrefix Type -hi def link a2psLineCont Special -hi def link a2psSubst PreProc -hi def link a2psString String - -let b:current_syntax = "a2ps" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/a65.mnv b/uvim/runtime/syntax/a65.mnv new file mode 100644 index 0000000000..594f682b9f --- /dev/null +++ b/uvim/runtime/syntax/a65.mnv @@ -0,0 +1,153 @@ +" MNV syntax file +" Language: xa 6502 cross assembler +" Maintainer: Clemens Kirchgatterer +" Last Change: 2016 Aug 31 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn case ignore + +" Opcodes +syn match a65Opcode "\" +syn match a65Number "#\=$[0-9A-F]*\>" +syn match a65Number "#\=&[0-7]*\>" +syn match a65Number "#\=%[01]*\>" + +syn case match + +" Types +syn match a65Type "\(^\|\s\)\.byt\($\|\s\)" +syn match a65Type "\(^\|\s\)\.word\($\|\s\)" +syn match a65Type "\(^\|\s\)\.asc\($\|\s\)" +syn match a65Type "\(^\|\s\)\.dsb\($\|\s\)" +syn match a65Type "\(^\|\s\)\.fopt\($\|\s\)" +syn match a65Type "\(^\|\s\)\.text\($\|\s\)" +syn match a65Type "\(^\|\s\)\.data\($\|\s\)" +syn match a65Type "\(^\|\s\)\.bss\($\|\s\)" +syn match a65Type "\(^\|\s\)\.zero\($\|\s\)" +syn match a65Type "\(^\|\s\)\.align\($\|\s\)" + +" Blocks +syn match a65Section "\(^\|\s\)\.(\($\|\s\)" +syn match a65Section "\(^\|\s\)\.)\($\|\s\)" + +" Strings +syn match a65String "\".*\"" + +" Program Counter +syn region a65PC start="\*=" end="\>" keepend + +" HI/LO Byte +syn region a65HiLo start="#[<>]" end="$\|\s" contains=a65Comment keepend + +" Comments +syn keyword a65Todo TODO XXX FIXME BUG contained +syn match a65Comment ";.*"hs=s+1 contains=a65Todo +syn region a65Comment start="/\*" end="\*/" contains=a65Todo,a65Comment + +" Preprocessor +syn region a65PreProc start="^#" end="$" contains=a65Comment,a65Continue +syn match a65End excludenl /end$/ contained +syn match a65Continue "\\$" contained + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link a65Section Special +hi def link a65Address Special +hi def link a65Comment Comment +hi def link a65PreProc PreProc +hi def link a65Number Number +hi def link a65String String +hi def link a65Type Statement +hi def link a65Opcode Type +hi def link a65PC Error +hi def link a65Todo Todo +hi def link a65HiLo Number + + +let b:current_syntax = "a65" diff --git a/uvim/runtime/syntax/a65.vim b/uvim/runtime/syntax/a65.vim deleted file mode 100644 index 6445b9438b..0000000000 --- a/uvim/runtime/syntax/a65.vim +++ /dev/null @@ -1,153 +0,0 @@ -" Vim syntax file -" Language: xa 6502 cross assembler -" Maintainer: Clemens Kirchgatterer -" Last Change: 2016 Aug 31 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn case ignore - -" Opcodes -syn match a65Opcode "\" -syn match a65Number "#\=$[0-9A-F]*\>" -syn match a65Number "#\=&[0-7]*\>" -syn match a65Number "#\=%[01]*\>" - -syn case match - -" Types -syn match a65Type "\(^\|\s\)\.byt\($\|\s\)" -syn match a65Type "\(^\|\s\)\.word\($\|\s\)" -syn match a65Type "\(^\|\s\)\.asc\($\|\s\)" -syn match a65Type "\(^\|\s\)\.dsb\($\|\s\)" -syn match a65Type "\(^\|\s\)\.fopt\($\|\s\)" -syn match a65Type "\(^\|\s\)\.text\($\|\s\)" -syn match a65Type "\(^\|\s\)\.data\($\|\s\)" -syn match a65Type "\(^\|\s\)\.bss\($\|\s\)" -syn match a65Type "\(^\|\s\)\.zero\($\|\s\)" -syn match a65Type "\(^\|\s\)\.align\($\|\s\)" - -" Blocks -syn match a65Section "\(^\|\s\)\.(\($\|\s\)" -syn match a65Section "\(^\|\s\)\.)\($\|\s\)" - -" Strings -syn match a65String "\".*\"" - -" Program Counter -syn region a65PC start="\*=" end="\>" keepend - -" HI/LO Byte -syn region a65HiLo start="#[<>]" end="$\|\s" contains=a65Comment keepend - -" Comments -syn keyword a65Todo TODO XXX FIXME BUG contained -syn match a65Comment ";.*"hs=s+1 contains=a65Todo -syn region a65Comment start="/\*" end="\*/" contains=a65Todo,a65Comment - -" Preprocessor -syn region a65PreProc start="^#" end="$" contains=a65Comment,a65Continue -syn match a65End excludenl /end$/ contained -syn match a65Continue "\\$" contained - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link a65Section Special -hi def link a65Address Special -hi def link a65Comment Comment -hi def link a65PreProc PreProc -hi def link a65Number Number -hi def link a65String String -hi def link a65Type Statement -hi def link a65Opcode Type -hi def link a65PC Error -hi def link a65Todo Todo -hi def link a65HiLo Number - - -let b:current_syntax = "a65" diff --git a/uvim/runtime/syntax/aap.mnv b/uvim/runtime/syntax/aap.mnv new file mode 100644 index 0000000000..268836967c --- /dev/null +++ b/uvim/runtime/syntax/aap.mnv @@ -0,0 +1,159 @@ +" MNV syntax file +" Language: A-A-P recipe +" Maintainer: The MNV Project +" Last Change: 2023 Aug 10 +" Former Maintainer: Bram Moolenaar + +" Quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn include @aapPythonScript syntax/python.mnv + +syn match aapVariable /$[-+?*="'\\!]*[a-zA-Z0-9_.]*/ +syn match aapVariable /$[-+?*="'\\!]*([a-zA-Z0-9_.]*)/ +syn keyword aapTodo contained TODO Todo +syn match aapString +'[^']\{-}'+ +syn match aapString +"[^"]\{-}"+ + +syn match aapCommand '^\s*:action\>' +syn match aapCommand '^\s*:add\>' +syn match aapCommand '^\s*:addall\>' +syn match aapCommand '^\s*:asroot\>' +syn match aapCommand '^\s*:assertpkg\>' +syn match aapCommand '^\s*:attr\>' +syn match aapCommand '^\s*:attribute\>' +syn match aapCommand '^\s*:autodepend\>' +syn match aapCommand '^\s*:buildcheck\>' +syn match aapCommand '^\s*:cd\>' +syn match aapCommand '^\s*:chdir\>' +syn match aapCommand '^\s*:checkin\>' +syn match aapCommand '^\s*:checkout\>' +syn match aapCommand '^\s*:child\>' +syn match aapCommand '^\s*:chmod\>' +syn match aapCommand '^\s*:commit\>' +syn match aapCommand '^\s*:commitall\>' +syn match aapCommand '^\s*:conf\>' +syn match aapCommand '^\s*:copy\>' +syn match aapCommand '^\s*:del\>' +syn match aapCommand '^\s*:deldir\>' +syn match aapCommand '^\s*:delete\>' +syn match aapCommand '^\s*:delrule\>' +syn match aapCommand '^\s*:dll\>' +syn match aapCommand '^\s*:do\>' +syn match aapCommand '^\s*:error\>' +syn match aapCommand '^\s*:execute\>' +syn match aapCommand '^\s*:exit\>' +syn match aapCommand '^\s*:export\>' +syn match aapCommand '^\s*:fetch\>' +syn match aapCommand '^\s*:fetchall\>' +syn match aapCommand '^\s*:filetype\>' +syn match aapCommand '^\s*:finish\>' +syn match aapCommand '^\s*:global\>' +syn match aapCommand '^\s*:import\>' +syn match aapCommand '^\s*:include\>' +syn match aapCommand '^\s*:installpkg\>' +syn match aapCommand '^\s*:lib\>' +syn match aapCommand '^\s*:local\>' +syn match aapCommand '^\s*:log\>' +syn match aapCommand '^\s*:ltlib\>' +syn match aapCommand '^\s*:mkdir\>' +syn match aapCommand '^\s*:mkdownload\>' +syn match aapCommand '^\s*:move\>' +syn match aapCommand '^\s*:pass\>' +syn match aapCommand '^\s*:popdir\>' +syn match aapCommand '^\s*:produce\>' +syn match aapCommand '^\s*:program\>' +syn match aapCommand '^\s*:progsearch\>' +syn match aapCommand '^\s*:publish\>' +syn match aapCommand '^\s*:publishall\>' +syn match aapCommand '^\s*:pushdir\>' +syn match aapCommand '^\s*:quit\>' +syn match aapCommand '^\s*:recipe\>' +syn match aapCommand '^\s*:refresh\>' +syn match aapCommand '^\s*:remove\>' +syn match aapCommand '^\s*:removeall\>' +syn match aapCommand '^\s*:require\>' +syn match aapCommand '^\s*:revise\>' +syn match aapCommand '^\s*:reviseall\>' +syn match aapCommand '^\s*:route\>' +syn match aapCommand '^\s*:rule\>' +syn match aapCommand '^\s*:start\>' +syn match aapCommand '^\s*:symlink\>' +syn match aapCommand '^\s*:sys\>' +syn match aapCommand '^\s*:sysdepend\>' +syn match aapCommand '^\s*:syspath\>' +syn match aapCommand '^\s*:system\>' +syn match aapCommand '^\s*:tag\>' +syn match aapCommand '^\s*:tagall\>' +syn match aapCommand '^\s*:toolsearch\>' +syn match aapCommand '^\s*:totype\>' +syn match aapCommand '^\s*:touch\>' +syn match aapCommand '^\s*:tree\>' +syn match aapCommand '^\s*:unlock\>' +syn match aapCommand '^\s*:update\>' +syn match aapCommand '^\s*:usetool\>' +syn match aapCommand '^\s*:variant\>' +syn match aapCommand '^\s*:verscont\>' + +syn match aapCommand '^\s*:print\>' nextgroup=aapPipeEnd +syn match aapPipeCmd '\s*:print\>' nextgroup=aapPipeEnd contained +syn match aapCommand '^\s*:cat\>' nextgroup=aapPipeEnd +syn match aapPipeCmd '\s*:cat\>' nextgroup=aapPipeEnd contained +syn match aapCommand '^\s*:syseval\>' nextgroup=aapPipeEnd +syn match aapPipeCmd '\s*:syseval\>' nextgroup=aapPipeEnd contained +syn match aapPipeCmd '\s*:assign\>' contained +syn match aapCommand '^\s*:eval\>' nextgroup=aapPipeEnd +syn match aapPipeCmd '\s*:eval\>' nextgroup=aapPipeEndPy contained +syn match aapPipeCmd '\s*:tee\>' nextgroup=aapPipeEnd contained +syn match aapPipeCmd '\s*:log\>' nextgroup=aapPipeEnd contained +syn match aapPipeEnd '[^|]*|' nextgroup=aapPipeCmd contained skipnl +syn match aapPipeEndPy '[^|]*|' nextgroup=aapPipeCmd contained skipnl contains=@aapPythonScript +syn match aapPipeStart '^\s*|' nextgroup=aapPipeCmd + +" +" A Python line starts with @. Can be continued with a trailing backslash. +syn region aapPythonRegion start="\s*@" skip='\\$' end=+$+ contains=@aapPythonScript keepend +" +" A Python block starts with ":python" and continues so long as the indent is +" bigger. +syn region aapPythonRegion matchgroup=aapCommand start="\z(\s*\):python" skip='\n\z1\s\|\n\s*\n' end=+$+ contains=@aapPythonScript + +" A Python expression is enclosed in backticks. +syn region aapPythonRegion start="`" skip="``" end="`" contains=@aapPythonScript + +" TODO: There is something wrong with line continuation. +syn match aapComment '#.*' contains=aapTodo +syn match aapComment '#.*\(\\\n.*\)' contains=aapTodo + +syn match aapSpecial '$#' +syn match aapSpecial '$\$' +syn match aapSpecial '$(.)' + +" A heredoc assignment. +syn region aapHeredoc start="^\s*\k\+\s*$\=+\=?\=<<\s*\z(\S*\)"hs=e+1 end="^\s*\z1\s*$"he=s-1 + +" Syncing is needed for ":python" and "VAR << EOF". Don't use Python syncing +syn sync clear +syn sync fromstart + +" The default highlighting. +hi def link aapTodo Todo +hi def link aapString String +hi def link aapComment Comment +hi def link aapSpecial Special +hi def link aapVariable Identifier +hi def link aapPipeCmd aapCommand +hi def link aapCommand Statement +hi def link aapHeredoc Constant + +let b:current_syntax = "aap" + +let &cpo = s:cpo_save +unlet s:cpo_save + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/aap.vim b/uvim/runtime/syntax/aap.vim deleted file mode 100644 index 87cedab30f..0000000000 --- a/uvim/runtime/syntax/aap.vim +++ /dev/null @@ -1,159 +0,0 @@ -" Vim syntax file -" Language: A-A-P recipe -" Maintainer: The Vim Project -" Last Change: 2023 Aug 10 -" Former Maintainer: Bram Moolenaar - -" Quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn include @aapPythonScript syntax/python.vim - -syn match aapVariable /$[-+?*="'\\!]*[a-zA-Z0-9_.]*/ -syn match aapVariable /$[-+?*="'\\!]*([a-zA-Z0-9_.]*)/ -syn keyword aapTodo contained TODO Todo -syn match aapString +'[^']\{-}'+ -syn match aapString +"[^"]\{-}"+ - -syn match aapCommand '^\s*:action\>' -syn match aapCommand '^\s*:add\>' -syn match aapCommand '^\s*:addall\>' -syn match aapCommand '^\s*:asroot\>' -syn match aapCommand '^\s*:assertpkg\>' -syn match aapCommand '^\s*:attr\>' -syn match aapCommand '^\s*:attribute\>' -syn match aapCommand '^\s*:autodepend\>' -syn match aapCommand '^\s*:buildcheck\>' -syn match aapCommand '^\s*:cd\>' -syn match aapCommand '^\s*:chdir\>' -syn match aapCommand '^\s*:checkin\>' -syn match aapCommand '^\s*:checkout\>' -syn match aapCommand '^\s*:child\>' -syn match aapCommand '^\s*:chmod\>' -syn match aapCommand '^\s*:commit\>' -syn match aapCommand '^\s*:commitall\>' -syn match aapCommand '^\s*:conf\>' -syn match aapCommand '^\s*:copy\>' -syn match aapCommand '^\s*:del\>' -syn match aapCommand '^\s*:deldir\>' -syn match aapCommand '^\s*:delete\>' -syn match aapCommand '^\s*:delrule\>' -syn match aapCommand '^\s*:dll\>' -syn match aapCommand '^\s*:do\>' -syn match aapCommand '^\s*:error\>' -syn match aapCommand '^\s*:execute\>' -syn match aapCommand '^\s*:exit\>' -syn match aapCommand '^\s*:export\>' -syn match aapCommand '^\s*:fetch\>' -syn match aapCommand '^\s*:fetchall\>' -syn match aapCommand '^\s*:filetype\>' -syn match aapCommand '^\s*:finish\>' -syn match aapCommand '^\s*:global\>' -syn match aapCommand '^\s*:import\>' -syn match aapCommand '^\s*:include\>' -syn match aapCommand '^\s*:installpkg\>' -syn match aapCommand '^\s*:lib\>' -syn match aapCommand '^\s*:local\>' -syn match aapCommand '^\s*:log\>' -syn match aapCommand '^\s*:ltlib\>' -syn match aapCommand '^\s*:mkdir\>' -syn match aapCommand '^\s*:mkdownload\>' -syn match aapCommand '^\s*:move\>' -syn match aapCommand '^\s*:pass\>' -syn match aapCommand '^\s*:popdir\>' -syn match aapCommand '^\s*:produce\>' -syn match aapCommand '^\s*:program\>' -syn match aapCommand '^\s*:progsearch\>' -syn match aapCommand '^\s*:publish\>' -syn match aapCommand '^\s*:publishall\>' -syn match aapCommand '^\s*:pushdir\>' -syn match aapCommand '^\s*:quit\>' -syn match aapCommand '^\s*:recipe\>' -syn match aapCommand '^\s*:refresh\>' -syn match aapCommand '^\s*:remove\>' -syn match aapCommand '^\s*:removeall\>' -syn match aapCommand '^\s*:require\>' -syn match aapCommand '^\s*:revise\>' -syn match aapCommand '^\s*:reviseall\>' -syn match aapCommand '^\s*:route\>' -syn match aapCommand '^\s*:rule\>' -syn match aapCommand '^\s*:start\>' -syn match aapCommand '^\s*:symlink\>' -syn match aapCommand '^\s*:sys\>' -syn match aapCommand '^\s*:sysdepend\>' -syn match aapCommand '^\s*:syspath\>' -syn match aapCommand '^\s*:system\>' -syn match aapCommand '^\s*:tag\>' -syn match aapCommand '^\s*:tagall\>' -syn match aapCommand '^\s*:toolsearch\>' -syn match aapCommand '^\s*:totype\>' -syn match aapCommand '^\s*:touch\>' -syn match aapCommand '^\s*:tree\>' -syn match aapCommand '^\s*:unlock\>' -syn match aapCommand '^\s*:update\>' -syn match aapCommand '^\s*:usetool\>' -syn match aapCommand '^\s*:variant\>' -syn match aapCommand '^\s*:verscont\>' - -syn match aapCommand '^\s*:print\>' nextgroup=aapPipeEnd -syn match aapPipeCmd '\s*:print\>' nextgroup=aapPipeEnd contained -syn match aapCommand '^\s*:cat\>' nextgroup=aapPipeEnd -syn match aapPipeCmd '\s*:cat\>' nextgroup=aapPipeEnd contained -syn match aapCommand '^\s*:syseval\>' nextgroup=aapPipeEnd -syn match aapPipeCmd '\s*:syseval\>' nextgroup=aapPipeEnd contained -syn match aapPipeCmd '\s*:assign\>' contained -syn match aapCommand '^\s*:eval\>' nextgroup=aapPipeEnd -syn match aapPipeCmd '\s*:eval\>' nextgroup=aapPipeEndPy contained -syn match aapPipeCmd '\s*:tee\>' nextgroup=aapPipeEnd contained -syn match aapPipeCmd '\s*:log\>' nextgroup=aapPipeEnd contained -syn match aapPipeEnd '[^|]*|' nextgroup=aapPipeCmd contained skipnl -syn match aapPipeEndPy '[^|]*|' nextgroup=aapPipeCmd contained skipnl contains=@aapPythonScript -syn match aapPipeStart '^\s*|' nextgroup=aapPipeCmd - -" -" A Python line starts with @. Can be continued with a trailing backslash. -syn region aapPythonRegion start="\s*@" skip='\\$' end=+$+ contains=@aapPythonScript keepend -" -" A Python block starts with ":python" and continues so long as the indent is -" bigger. -syn region aapPythonRegion matchgroup=aapCommand start="\z(\s*\):python" skip='\n\z1\s\|\n\s*\n' end=+$+ contains=@aapPythonScript - -" A Python expression is enclosed in backticks. -syn region aapPythonRegion start="`" skip="``" end="`" contains=@aapPythonScript - -" TODO: There is something wrong with line continuation. -syn match aapComment '#.*' contains=aapTodo -syn match aapComment '#.*\(\\\n.*\)' contains=aapTodo - -syn match aapSpecial '$#' -syn match aapSpecial '$\$' -syn match aapSpecial '$(.)' - -" A heredoc assignment. -syn region aapHeredoc start="^\s*\k\+\s*$\=+\=?\=<<\s*\z(\S*\)"hs=e+1 end="^\s*\z1\s*$"he=s-1 - -" Syncing is needed for ":python" and "VAR << EOF". Don't use Python syncing -syn sync clear -syn sync fromstart - -" The default highlighting. -hi def link aapTodo Todo -hi def link aapString String -hi def link aapComment Comment -hi def link aapSpecial Special -hi def link aapVariable Identifier -hi def link aapPipeCmd aapCommand -hi def link aapCommand Statement -hi def link aapHeredoc Constant - -let b:current_syntax = "aap" - -let &cpo = s:cpo_save -unlet s:cpo_save - -" vim: ts=8 diff --git a/uvim/runtime/syntax/abap.mnv b/uvim/runtime/syntax/abap.mnv new file mode 100644 index 0000000000..85f7a4c852 --- /dev/null +++ b/uvim/runtime/syntax/abap.mnv @@ -0,0 +1,196 @@ +" MNV ABAP syntax file +" Language: SAP - ABAP/R4 +" Maintainer: Marius Piedallu van Wyk +" Last Change: 2021 Jan 02 +" Comment: Thanks to EPI-USE Labs for all your assistance. :) + +" Quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" Always ignore case +syn case ignore + +" Symbol Operators (space delimited) +syn match abapSymbolOperator "\W+\W" +syn match abapSymbolOperator "\W-\W" +syn match abapSymbolOperator "\W/\W" +syn match abapSymbolOperator "\W%\W" +syn match abapSymbolOperator "\W=\W" +syn match abapSymbolOperator "\W<\W" +syn match abapSymbolOperator "\W>\W" +syn match abapSymbolOperator "\W\*\W" +syn match abapSymbolOperator "\W[<>]=\W" +syn match abapSymbolOperator "\W<>\W" +syn match abapSymbolOperator "\W\*\*\W" +syn match abapSymbolOperator "\[\]" +syn match abapSymbolOperator "->\*\?" +syn match abapSymbolOperator "=>" +syn match abapSymbolOperator "[()~:,\.&$]" + +" Literals +syn region abapCharString matchgroup=abapCharString start="'" end="'" contains=abapCharStringEscape +syn match abapCharStringEscape contained "''" + +syn region abapString matchgroup=abapString start="`" end="`" contains=abapStringEscape +syn match abapStringEscape contained "``" + +syn match abapNumber "\-\=\<\d\+\>" +syn region abapHex matchgroup=abapHex start="X'" end="'" + +setlocal iskeyword=48-57,_,A-Z,a-z,/ + +syn match abapNamespace "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\<\(EXIT\W\+FROM\W\+STEP\W\+LOOP\|EXIT\)\>" +syn match abapComplexStatement "\<\(BEGIN\W\+OF\W\+\(BLOCK\|LINE\)\|BEGIN\W\+OF\)\>" +syn match abapComplexStatement "\<\(END\W\+OF\W\+\(BLOCK\|LINE\)\|END\W\+OF\)\>" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\<\(PUBLIC\|PRIVATE\|PROTECTED\)\(\W\+SECTION\)\?\>" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\<\(ALL\W\+OCCURRENCES\)\|\(\(FIRST\|LAST\)\W\+OCCURRENCE\)\>" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\<\(UP\W\+\)\?TO\>" + +" hyphenated-word statements +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" +syn match abapComplexStatement "\" + +" ABAP statements +syn keyword abapStatement ADD ALIAS ALIASES ASSERT ASSIGN ASSIGNING AT +syn keyword abapStatement BACK +syn keyword abapStatement CALL CASE CATCH CHECK CLASS CLEAR CLOSE CNT COLLECT COMMIT COMMUNICATION COMPUTE CONCATENATE CONDENSE CONSTANTS CONTINUE CONTROLS CONVERT CREATE CURRENCY +syn keyword abapStatement DATA DEFINE DEFINITION DEFERRED DELETE DESCRIBE DETAIL DIVIDE DO +syn keyword abapStatement ELSE ELSEIF ENDAT ENDCASE ENDCLASS ENDDO ENDEXEC ENDFORM ENDFUNCTION ENDIF ENDIFEND ENDINTERFACE ENDLOOP ENDMETHOD ENDMODULE ENDON ENDPROVIDE ENDSELECT ENDTRY ENDWHILE EVENT EVENTS EXEC EXIT EXPORT EXPORTING EXTRACT +syn keyword abapStatement FETCH FIELDS FORM FORMAT FREE FROM FUNCTION +syn keyword abapStatement GENERATE +syn keyword abapStatement HIDE +syn keyword abapStatement IF IMPORT IMPORTING INDEX INFOTYPES INITIALIZATION INTERFACE INTERFACES INPUT INSERT IMPLEMENTATION +syn keyword abapStatement LEAVE LIKE LINE LOAD LOCAL LOOP +syn keyword abapStatement MESSAGE METHOD METHODS MODIFY MODULE MOVE MULTIPLY +syn keyword abapStatement ON OVERLAY OPTIONAL OTHERS +syn keyword abapStatement PACK PARAMETERS PERFORM POSITION PROGRAM PROVIDE PUT +syn keyword abapStatement RAISE RANGES RECEIVE RECEIVING REDEFINITION REFERENCE REFRESH REJECT REPLACE REPORT RESERVE RESTORE RETURNING ROLLBACK +syn keyword abapStatement SCAN SCROLL SEARCH SELECT SET SHIFT SKIP SORT SORTED SPLIT STANDARD STATICS STEP STOP SUBMIT SUBTRACT SUM SUMMARY SUPPRESS +syn keyword abapStatement TABLES TIMES TRANSFER TRANSLATE TRY TYPE TYPES +syn keyword abapStatement UNASSIGN ULINE UNPACK UPDATE +syn keyword abapStatement WHEN WHILE WINDOW WRITE + +" More statements +syn keyword abapStatement LINES +syn keyword abapStatement INTO GROUP BY HAVING ORDER BY SINGLE +syn keyword abapStatement APPENDING CORRESPONDING FIELDS OF TABLE +syn keyword abapStatement LEFT RIGHT OUTER INNER JOIN AS CLIENT SPECIFIED BYPASSING BUFFER ROWS CONNECTING +syn keyword abapStatement OCCURS STRUCTURE OBJECT PROPERTY +syn keyword abapStatement CASTING APPEND RAISING VALUE COLOR +syn keyword abapStatement CHANGING EXCEPTION EXCEPTIONS DEFAULT CHECKBOX COMMENT +syn keyword abapStatement ID NUMBER FOR TITLE OUTPUT + +" Special ABAP specific tables: +syn match abapSpecialTables "\<\(sy\|\(hrp\|p\|pa\)\d\d\d\d\|t\d\d\d.\|innnn\)-"me=e-1 contained +syn match abapStructure "\<\w\+-[^\>]"me=e-2 contains=abapSpecialTables,abapStatement,abapComplexStatement +syn match abapField "-\w\+"ms=s+1 + +" Pointer +syn match abapSpecial "<\w\+>" + +" Abap common constants: +syn keyword abapSpecial TRUE FALSE NULL SPACE + +" Includes +syn region abapInclude start="include" end="." contains=abapComment + +" Types +syn keyword abapTypes c n i int8 p f d t x string xstring decfloat16 decfloat34 + +" Atritmitic operators +syn keyword abapOperator abs sign ceil floor trunc frac acos asin atan cos sin tan +syn keyword abapOperator cosh sinh tanh exp log log10 sqrt + +" String operators +syn keyword abapStatement strlen xstrlen charlen numofchar dbmaxlen + +syn keyword abapOperator EQ NE LT LE GT GE NOT AND OR XOR IN LIKE BETWEEN + +" An error? Not strictly... but cannot think of reason this is intended. +syn match abapError "\.\." + +" Comments +syn region abapComment start="^\*" end="$" contains=abapTodo +syn match abapComment "\".*" contains=abapTodo +syn keyword abapTodo contained TODO NOTE +syn match abapTodo "\#EC\W\+\w\+" + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link abapError Error +hi def link abapComment Comment +hi def link abapInclude Include +hi def link abapStatement Statement +hi def link abapComplexStatement Statement +hi def link abapSpecial Special +hi def link abapNamespace Special +hi def link abapSpecialTables Special +hi def link abapSymbolOperator abapOperator +hi def link abapOperator Operator +hi def link abapCharString String +hi def link abapString String +hi def link abapFloat Float +hi def link abapTypes Type +hi def link abapSymbol Structure +hi def link abapStructure Structure +hi def link abapField Variable +hi def link abapNumber Number +hi def link abapHex Number + + +let b:current_syntax = "abap" + +" mnv: ts=8 sw=2 diff --git a/uvim/runtime/syntax/abap.vim b/uvim/runtime/syntax/abap.vim deleted file mode 100644 index 627e51504a..0000000000 --- a/uvim/runtime/syntax/abap.vim +++ /dev/null @@ -1,196 +0,0 @@ -" Vim ABAP syntax file -" Language: SAP - ABAP/R4 -" Maintainer: Marius Piedallu van Wyk -" Last Change: 2021 Jan 02 -" Comment: Thanks to EPI-USE Labs for all your assistance. :) - -" Quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" Always ignore case -syn case ignore - -" Symbol Operators (space delimited) -syn match abapSymbolOperator "\W+\W" -syn match abapSymbolOperator "\W-\W" -syn match abapSymbolOperator "\W/\W" -syn match abapSymbolOperator "\W%\W" -syn match abapSymbolOperator "\W=\W" -syn match abapSymbolOperator "\W<\W" -syn match abapSymbolOperator "\W>\W" -syn match abapSymbolOperator "\W\*\W" -syn match abapSymbolOperator "\W[<>]=\W" -syn match abapSymbolOperator "\W<>\W" -syn match abapSymbolOperator "\W\*\*\W" -syn match abapSymbolOperator "\[\]" -syn match abapSymbolOperator "->\*\?" -syn match abapSymbolOperator "=>" -syn match abapSymbolOperator "[()~:,\.&$]" - -" Literals -syn region abapCharString matchgroup=abapCharString start="'" end="'" contains=abapCharStringEscape -syn match abapCharStringEscape contained "''" - -syn region abapString matchgroup=abapString start="`" end="`" contains=abapStringEscape -syn match abapStringEscape contained "``" - -syn match abapNumber "\-\=\<\d\+\>" -syn region abapHex matchgroup=abapHex start="X'" end="'" - -setlocal iskeyword=48-57,_,A-Z,a-z,/ - -syn match abapNamespace "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\<\(EXIT\W\+FROM\W\+STEP\W\+LOOP\|EXIT\)\>" -syn match abapComplexStatement "\<\(BEGIN\W\+OF\W\+\(BLOCK\|LINE\)\|BEGIN\W\+OF\)\>" -syn match abapComplexStatement "\<\(END\W\+OF\W\+\(BLOCK\|LINE\)\|END\W\+OF\)\>" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\<\(PUBLIC\|PRIVATE\|PROTECTED\)\(\W\+SECTION\)\?\>" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\<\(ALL\W\+OCCURRENCES\)\|\(\(FIRST\|LAST\)\W\+OCCURRENCE\)\>" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\<\(UP\W\+\)\?TO\>" - -" hyphenated-word statements -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" -syn match abapComplexStatement "\" - -" ABAP statements -syn keyword abapStatement ADD ALIAS ALIASES ASSERT ASSIGN ASSIGNING AT -syn keyword abapStatement BACK -syn keyword abapStatement CALL CASE CATCH CHECK CLASS CLEAR CLOSE CNT COLLECT COMMIT COMMUNICATION COMPUTE CONCATENATE CONDENSE CONSTANTS CONTINUE CONTROLS CONVERT CREATE CURRENCY -syn keyword abapStatement DATA DEFINE DEFINITION DEFERRED DELETE DESCRIBE DETAIL DIVIDE DO -syn keyword abapStatement ELSE ELSEIF ENDAT ENDCASE ENDCLASS ENDDO ENDEXEC ENDFORM ENDFUNCTION ENDIF ENDIFEND ENDINTERFACE ENDLOOP ENDMETHOD ENDMODULE ENDON ENDPROVIDE ENDSELECT ENDTRY ENDWHILE EVENT EVENTS EXEC EXIT EXPORT EXPORTING EXTRACT -syn keyword abapStatement FETCH FIELDS FORM FORMAT FREE FROM FUNCTION -syn keyword abapStatement GENERATE -syn keyword abapStatement HIDE -syn keyword abapStatement IF IMPORT IMPORTING INDEX INFOTYPES INITIALIZATION INTERFACE INTERFACES INPUT INSERT IMPLEMENTATION -syn keyword abapStatement LEAVE LIKE LINE LOAD LOCAL LOOP -syn keyword abapStatement MESSAGE METHOD METHODS MODIFY MODULE MOVE MULTIPLY -syn keyword abapStatement ON OVERLAY OPTIONAL OTHERS -syn keyword abapStatement PACK PARAMETERS PERFORM POSITION PROGRAM PROVIDE PUT -syn keyword abapStatement RAISE RANGES RECEIVE RECEIVING REDEFINITION REFERENCE REFRESH REJECT REPLACE REPORT RESERVE RESTORE RETURNING ROLLBACK -syn keyword abapStatement SCAN SCROLL SEARCH SELECT SET SHIFT SKIP SORT SORTED SPLIT STANDARD STATICS STEP STOP SUBMIT SUBTRACT SUM SUMMARY SUPPRESS -syn keyword abapStatement TABLES TIMES TRANSFER TRANSLATE TRY TYPE TYPES -syn keyword abapStatement UNASSIGN ULINE UNPACK UPDATE -syn keyword abapStatement WHEN WHILE WINDOW WRITE - -" More statements -syn keyword abapStatement LINES -syn keyword abapStatement INTO GROUP BY HAVING ORDER BY SINGLE -syn keyword abapStatement APPENDING CORRESPONDING FIELDS OF TABLE -syn keyword abapStatement LEFT RIGHT OUTER INNER JOIN AS CLIENT SPECIFIED BYPASSING BUFFER ROWS CONNECTING -syn keyword abapStatement OCCURS STRUCTURE OBJECT PROPERTY -syn keyword abapStatement CASTING APPEND RAISING VALUE COLOR -syn keyword abapStatement CHANGING EXCEPTION EXCEPTIONS DEFAULT CHECKBOX COMMENT -syn keyword abapStatement ID NUMBER FOR TITLE OUTPUT - -" Special ABAP specific tables: -syn match abapSpecialTables "\<\(sy\|\(hrp\|p\|pa\)\d\d\d\d\|t\d\d\d.\|innnn\)-"me=e-1 contained -syn match abapStructure "\<\w\+-[^\>]"me=e-2 contains=abapSpecialTables,abapStatement,abapComplexStatement -syn match abapField "-\w\+"ms=s+1 - -" Pointer -syn match abapSpecial "<\w\+>" - -" Abap common constants: -syn keyword abapSpecial TRUE FALSE NULL SPACE - -" Includes -syn region abapInclude start="include" end="." contains=abapComment - -" Types -syn keyword abapTypes c n i int8 p f d t x string xstring decfloat16 decfloat34 - -" Atritmitic operators -syn keyword abapOperator abs sign ceil floor trunc frac acos asin atan cos sin tan -syn keyword abapOperator cosh sinh tanh exp log log10 sqrt - -" String operators -syn keyword abapStatement strlen xstrlen charlen numofchar dbmaxlen - -syn keyword abapOperator EQ NE LT LE GT GE NOT AND OR XOR IN LIKE BETWEEN - -" An error? Not strictly... but cannot think of reason this is intended. -syn match abapError "\.\." - -" Comments -syn region abapComment start="^\*" end="$" contains=abapTodo -syn match abapComment "\".*" contains=abapTodo -syn keyword abapTodo contained TODO NOTE -syn match abapTodo "\#EC\W\+\w\+" - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link abapError Error -hi def link abapComment Comment -hi def link abapInclude Include -hi def link abapStatement Statement -hi def link abapComplexStatement Statement -hi def link abapSpecial Special -hi def link abapNamespace Special -hi def link abapSpecialTables Special -hi def link abapSymbolOperator abapOperator -hi def link abapOperator Operator -hi def link abapCharString String -hi def link abapString String -hi def link abapFloat Float -hi def link abapTypes Type -hi def link abapSymbol Structure -hi def link abapStructure Structure -hi def link abapField Variable -hi def link abapNumber Number -hi def link abapHex Number - - -let b:current_syntax = "abap" - -" vim: ts=8 sw=2 diff --git a/uvim/runtime/syntax/abaqus.mnv b/uvim/runtime/syntax/abaqus.mnv new file mode 100644 index 0000000000..0ad9586191 --- /dev/null +++ b/uvim/runtime/syntax/abaqus.mnv @@ -0,0 +1,34 @@ +" MNV syntax file +" Language: Abaqus finite element input file (www.hks.com) +" Maintainer: Carl Osterwisch +" Last Change: 2002 Feb 24 +" Remark: Huge improvement in folding performance--see filetype plugin + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" Abaqus comment lines +syn match abaqusComment "^\*\*.*$" + +" Abaqus keyword lines +syn match abaqusKeywordLine "^\*\h.*" contains=abaqusKeyword,abaqusParameter,abaqusValue display +syn match abaqusKeyword "^\*\h[^,]*" contained display +syn match abaqusParameter ",[^,=]\+"lc=1 contained display +syn match abaqusValue "=\s*[^,]*"lc=1 contained display + +" Illegal syntax +syn match abaqusBadLine "^\s\+\*.*" display + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +" The default methods for highlighting. Can be overridden later +hi def link abaqusComment Comment +hi def link abaqusKeyword Statement +hi def link abaqusParameter Identifier +hi def link abaqusValue Constant +hi def link abaqusBadLine Error + +let b:current_syntax = "abaqus" diff --git a/uvim/runtime/syntax/abaqus.vim b/uvim/runtime/syntax/abaqus.vim deleted file mode 100644 index e6f025d8f4..0000000000 --- a/uvim/runtime/syntax/abaqus.vim +++ /dev/null @@ -1,34 +0,0 @@ -" Vim syntax file -" Language: Abaqus finite element input file (www.hks.com) -" Maintainer: Carl Osterwisch -" Last Change: 2002 Feb 24 -" Remark: Huge improvement in folding performance--see filetype plugin - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" Abaqus comment lines -syn match abaqusComment "^\*\*.*$" - -" Abaqus keyword lines -syn match abaqusKeywordLine "^\*\h.*" contains=abaqusKeyword,abaqusParameter,abaqusValue display -syn match abaqusKeyword "^\*\h[^,]*" contained display -syn match abaqusParameter ",[^,=]\+"lc=1 contained display -syn match abaqusValue "=\s*[^,]*"lc=1 contained display - -" Illegal syntax -syn match abaqusBadLine "^\s\+\*.*" display - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -" The default methods for highlighting. Can be overridden later -hi def link abaqusComment Comment -hi def link abaqusKeyword Statement -hi def link abaqusParameter Identifier -hi def link abaqusValue Constant -hi def link abaqusBadLine Error - -let b:current_syntax = "abaqus" diff --git a/uvim/runtime/syntax/abc.mnv b/uvim/runtime/syntax/abc.mnv new file mode 100644 index 0000000000..aa88f527ba --- /dev/null +++ b/uvim/runtime/syntax/abc.mnv @@ -0,0 +1,51 @@ +" MNV syntax file +" Language: abc music notation language +" Maintainer: James Allwright +" URL: http://perun.hscs.wmin.ac.uk/~jra/mnv/syntax/abc.mnv +" Last Change: 27th April 2001 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" tags +syn region abcGuitarChord start=+"[A-G]+ end=+"+ contained +syn match abcNote "z[1-9]*[0-9]*" contained +syn match abcNote "z[1-9]*[0-9]*/[248]\=" contained +syn match abcNote "[=_\^]\{,2}[A-G],*[1-9]*[0-9]*" contained +syn match abcNote "[=_\^]\{,2}[A-G],*[1-9]*[0-9]*/[248]\=" contained +syn match abcNote "[=_\^]\{,2}[a-g]'*[1-9]*[0-9]*" contained +syn match abcNote "[=_\^]\{,2}[a-g]'*[1-9]*[0-9]*/[248]\=" contained +syn match abcBar "|" contained +syn match abcBar "[:|][:|]" contained +syn match abcBar ":|2" contained +syn match abcBar "|1" contained +syn match abcBar "\[[12]" contained +syn match abcTuple "([1-9]\+:\=[0-9]*:\=[0-9]*" contained +syn match abcBroken "<\|<<\|<<<\|>\|>>\|>>>" contained +syn match abcTie "-" +syn match abcHeadField "^[A-EGHIK-TVWXZ]:.*$" contained +syn match abcBodyField "^[KLMPQWVw]:.*$" contained +syn region abcHeader start="^X:" end="^K:.*$" contained contains=abcHeadField,abcComment keepend +syn region abcTune start="^X:" end="^ *$" contains=abcHeader,abcComment,abcBar,abcNote,abcBodyField,abcGuitarChord,abcTuple,abcBroken,abcTie +syn match abcComment "%.*$" + + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link abcComment Comment +hi def link abcHeadField Type +hi def link abcBodyField Special +hi def link abcBar Statement +hi def link abcTuple Statement +hi def link abcBroken Statement +hi def link abcTie Statement +hi def link abcGuitarChord Identifier +hi def link abcNote Constant + + +let b:current_syntax = "abc" + +" mnv: ts=4 diff --git a/uvim/runtime/syntax/abc.vim b/uvim/runtime/syntax/abc.vim deleted file mode 100644 index 1a7b3bf4be..0000000000 --- a/uvim/runtime/syntax/abc.vim +++ /dev/null @@ -1,51 +0,0 @@ -" Vim syntax file -" Language: abc music notation language -" Maintainer: James Allwright -" URL: http://perun.hscs.wmin.ac.uk/~jra/vim/syntax/abc.vim -" Last Change: 27th April 2001 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" tags -syn region abcGuitarChord start=+"[A-G]+ end=+"+ contained -syn match abcNote "z[1-9]*[0-9]*" contained -syn match abcNote "z[1-9]*[0-9]*/[248]\=" contained -syn match abcNote "[=_\^]\{,2}[A-G],*[1-9]*[0-9]*" contained -syn match abcNote "[=_\^]\{,2}[A-G],*[1-9]*[0-9]*/[248]\=" contained -syn match abcNote "[=_\^]\{,2}[a-g]'*[1-9]*[0-9]*" contained -syn match abcNote "[=_\^]\{,2}[a-g]'*[1-9]*[0-9]*/[248]\=" contained -syn match abcBar "|" contained -syn match abcBar "[:|][:|]" contained -syn match abcBar ":|2" contained -syn match abcBar "|1" contained -syn match abcBar "\[[12]" contained -syn match abcTuple "([1-9]\+:\=[0-9]*:\=[0-9]*" contained -syn match abcBroken "<\|<<\|<<<\|>\|>>\|>>>" contained -syn match abcTie "-" -syn match abcHeadField "^[A-EGHIK-TVWXZ]:.*$" contained -syn match abcBodyField "^[KLMPQWVw]:.*$" contained -syn region abcHeader start="^X:" end="^K:.*$" contained contains=abcHeadField,abcComment keepend -syn region abcTune start="^X:" end="^ *$" contains=abcHeader,abcComment,abcBar,abcNote,abcBodyField,abcGuitarChord,abcTuple,abcBroken,abcTie -syn match abcComment "%.*$" - - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link abcComment Comment -hi def link abcHeadField Type -hi def link abcBodyField Special -hi def link abcBar Statement -hi def link abcTuple Statement -hi def link abcBroken Statement -hi def link abcTie Statement -hi def link abcGuitarChord Identifier -hi def link abcNote Constant - - -let b:current_syntax = "abc" - -" vim: ts=4 diff --git a/uvim/runtime/syntax/abel.mnv b/uvim/runtime/syntax/abel.mnv new file mode 100644 index 0000000000..45377458b7 --- /dev/null +++ b/uvim/runtime/syntax/abel.mnv @@ -0,0 +1,161 @@ +" MNV syntax file +" Language: ABEL +" Maintainer: John Cook +" Last Change: 2011 Dec 27 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +" this language is oblivious to case +syn case ignore + +" A bunch of keywords +syn keyword abelHeader module title device options +syn keyword abelSection declarations equations test_vectors end +syn keyword abelDeclaration state truth_table state_diagram property +syn keyword abelType pin node attribute constant macro library + +syn keyword abelTypeId com reg neg pos buffer dc reg_d reg_t contained +syn keyword abelTypeId reg_sr reg_jk reg_g retain xor invert contained + +syn keyword abelStatement when then else if with endwith case endcase +syn keyword abelStatement fuses expr trace + +" option to omit obsolete statements +if exists("abel_obsolete_ok") + syn keyword abelStatement enable flag in +else + syn keyword abelError enable flag in +endif + +" directives +syn match abelDirective "@alternate" +syn match abelDirective "@standard" +syn match abelDirective "@const" +syn match abelDirective "@dcset" +syn match abelDirective "@include" +syn match abelDirective "@page" +syn match abelDirective "@radix" +syn match abelDirective "@repeat" +syn match abelDirective "@irp" +syn match abelDirective "@expr" +syn match abelDirective "@if" +syn match abelDirective "@ifb" +syn match abelDirective "@ifnb" +syn match abelDirective "@ifdef" +syn match abelDirective "@ifndef" +syn match abelDirective "@ifiden" +syn match abelDirective "@ifniden" + +syn keyword abelTodo contained TODO XXX FIXME + +" wrap up type identifiers to differentiate them from normal strings +syn region abelSpecifier start='istype' end=';' contains=abelTypeIdChar,abelTypeId,abelTypeIdEnd keepend +syn match abelTypeIdChar "[,']" contained +syn match abelTypeIdEnd ";" contained + +" string constants and special characters within them +syn match abelSpecial contained "\\['\\]" +syn region abelString start=+'+ skip=+\\"+ end=+'+ contains=abelSpecial + +" valid integer number formats (decimal, binary, octal, hex) +syn match abelNumber "\<[-+]\=[0-9]\+\>" +syn match abelNumber "\^d[0-9]\+\>" +syn match abelNumber "\^b[01]\+\>" +syn match abelNumber "\^o[0-7]\+\>" +syn match abelNumber "\^h[0-9a-f]\+\>" + +" special characters +" (define these after abelOperator so ?= overrides ?) +syn match abelSpecialChar "[\[\](){},;:?]" + +" operators +syn match abelLogicalOperator "[!#&$]" +syn match abelRangeOperator "\.\." +syn match abelAlternateOperator "[/*+]" +syn match abelAlternateOperator ":[+*]:" +syn match abelArithmeticOperator "[-%]" +syn match abelArithmeticOperator "<<" +syn match abelArithmeticOperator ">>" +syn match abelRelationalOperator "[<>!=]=" +syn match abelRelationalOperator "[<>]" +syn match abelAssignmentOperator "[:?]\==" +syn match abelAssignmentOperator "?:=" +syn match abelTruthTableOperator "->" + +" signal extensions +syn match abelExtension "\.aclr\>" +syn match abelExtension "\.aset\>" +syn match abelExtension "\.clk\>" +syn match abelExtension "\.clr\>" +syn match abelExtension "\.com\>" +syn match abelExtension "\.fb\>" +syn match abelExtension "\.[co]e\>" +syn match abelExtension "\.l[eh]\>" +syn match abelExtension "\.fc\>" +syn match abelExtension "\.pin\>" +syn match abelExtension "\.set\>" +syn match abelExtension "\.[djksrtq]\>" +syn match abelExtension "\.pr\>" +syn match abelExtension "\.re\>" +syn match abelExtension "\.a[pr]\>" +syn match abelExtension "\.s[pr]\>" + +" special constants +syn match abelConstant "\.[ckudfpxz]\." +syn match abelConstant "\.sv[2-9]\." + +" one-line comments +syn region abelComment start=+"+ end=+"\|$+ contains=abelNumber,abelTodo +" option to prevent C++ style comments +if !exists("abel_cpp_comments_illegal") + syn region abelComment start=+//+ end=+$+ contains=abelNumber,abelTodo +endif + +syn sync minlines=1 + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +" The default highlighting. +hi def link abelHeader abelStatement +hi def link abelSection abelStatement +hi def link abelDeclaration abelStatement +hi def link abelLogicalOperator abelOperator +hi def link abelRangeOperator abelOperator +hi def link abelAlternateOperator abelOperator +hi def link abelArithmeticOperator abelOperator +hi def link abelRelationalOperator abelOperator +hi def link abelAssignmentOperator abelOperator +hi def link abelTruthTableOperator abelOperator +hi def link abelSpecifier abelStatement +hi def link abelOperator abelStatement +hi def link abelStatement Statement +hi def link abelIdentifier Identifier +hi def link abelTypeId abelType +hi def link abelTypeIdChar abelType +hi def link abelType Type +hi def link abelNumber abelString +hi def link abelString String +hi def link abelConstant Constant +hi def link abelComment Comment +hi def link abelExtension abelSpecial +hi def link abelSpecialChar abelSpecial +hi def link abelTypeIdEnd abelSpecial +hi def link abelSpecial Special +hi def link abelDirective PreProc +hi def link abelTodo Todo +hi def link abelError Error + + +let b:current_syntax = "abel" + +let &cpo = s:cpo_save +unlet s:cpo_save + +" mnv:ts=8 diff --git a/uvim/runtime/syntax/abel.vim b/uvim/runtime/syntax/abel.vim deleted file mode 100644 index dbed541ba8..0000000000 --- a/uvim/runtime/syntax/abel.vim +++ /dev/null @@ -1,161 +0,0 @@ -" Vim syntax file -" Language: ABEL -" Maintainer: John Cook -" Last Change: 2011 Dec 27 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -" this language is oblivious to case -syn case ignore - -" A bunch of keywords -syn keyword abelHeader module title device options -syn keyword abelSection declarations equations test_vectors end -syn keyword abelDeclaration state truth_table state_diagram property -syn keyword abelType pin node attribute constant macro library - -syn keyword abelTypeId com reg neg pos buffer dc reg_d reg_t contained -syn keyword abelTypeId reg_sr reg_jk reg_g retain xor invert contained - -syn keyword abelStatement when then else if with endwith case endcase -syn keyword abelStatement fuses expr trace - -" option to omit obsolete statements -if exists("abel_obsolete_ok") - syn keyword abelStatement enable flag in -else - syn keyword abelError enable flag in -endif - -" directives -syn match abelDirective "@alternate" -syn match abelDirective "@standard" -syn match abelDirective "@const" -syn match abelDirective "@dcset" -syn match abelDirective "@include" -syn match abelDirective "@page" -syn match abelDirective "@radix" -syn match abelDirective "@repeat" -syn match abelDirective "@irp" -syn match abelDirective "@expr" -syn match abelDirective "@if" -syn match abelDirective "@ifb" -syn match abelDirective "@ifnb" -syn match abelDirective "@ifdef" -syn match abelDirective "@ifndef" -syn match abelDirective "@ifiden" -syn match abelDirective "@ifniden" - -syn keyword abelTodo contained TODO XXX FIXME - -" wrap up type identifiers to differentiate them from normal strings -syn region abelSpecifier start='istype' end=';' contains=abelTypeIdChar,abelTypeId,abelTypeIdEnd keepend -syn match abelTypeIdChar "[,']" contained -syn match abelTypeIdEnd ";" contained - -" string constants and special characters within them -syn match abelSpecial contained "\\['\\]" -syn region abelString start=+'+ skip=+\\"+ end=+'+ contains=abelSpecial - -" valid integer number formats (decimal, binary, octal, hex) -syn match abelNumber "\<[-+]\=[0-9]\+\>" -syn match abelNumber "\^d[0-9]\+\>" -syn match abelNumber "\^b[01]\+\>" -syn match abelNumber "\^o[0-7]\+\>" -syn match abelNumber "\^h[0-9a-f]\+\>" - -" special characters -" (define these after abelOperator so ?= overrides ?) -syn match abelSpecialChar "[\[\](){},;:?]" - -" operators -syn match abelLogicalOperator "[!#&$]" -syn match abelRangeOperator "\.\." -syn match abelAlternateOperator "[/*+]" -syn match abelAlternateOperator ":[+*]:" -syn match abelArithmeticOperator "[-%]" -syn match abelArithmeticOperator "<<" -syn match abelArithmeticOperator ">>" -syn match abelRelationalOperator "[<>!=]=" -syn match abelRelationalOperator "[<>]" -syn match abelAssignmentOperator "[:?]\==" -syn match abelAssignmentOperator "?:=" -syn match abelTruthTableOperator "->" - -" signal extensions -syn match abelExtension "\.aclr\>" -syn match abelExtension "\.aset\>" -syn match abelExtension "\.clk\>" -syn match abelExtension "\.clr\>" -syn match abelExtension "\.com\>" -syn match abelExtension "\.fb\>" -syn match abelExtension "\.[co]e\>" -syn match abelExtension "\.l[eh]\>" -syn match abelExtension "\.fc\>" -syn match abelExtension "\.pin\>" -syn match abelExtension "\.set\>" -syn match abelExtension "\.[djksrtq]\>" -syn match abelExtension "\.pr\>" -syn match abelExtension "\.re\>" -syn match abelExtension "\.a[pr]\>" -syn match abelExtension "\.s[pr]\>" - -" special constants -syn match abelConstant "\.[ckudfpxz]\." -syn match abelConstant "\.sv[2-9]\." - -" one-line comments -syn region abelComment start=+"+ end=+"\|$+ contains=abelNumber,abelTodo -" option to prevent C++ style comments -if !exists("abel_cpp_comments_illegal") - syn region abelComment start=+//+ end=+$+ contains=abelNumber,abelTodo -endif - -syn sync minlines=1 - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -" The default highlighting. -hi def link abelHeader abelStatement -hi def link abelSection abelStatement -hi def link abelDeclaration abelStatement -hi def link abelLogicalOperator abelOperator -hi def link abelRangeOperator abelOperator -hi def link abelAlternateOperator abelOperator -hi def link abelArithmeticOperator abelOperator -hi def link abelRelationalOperator abelOperator -hi def link abelAssignmentOperator abelOperator -hi def link abelTruthTableOperator abelOperator -hi def link abelSpecifier abelStatement -hi def link abelOperator abelStatement -hi def link abelStatement Statement -hi def link abelIdentifier Identifier -hi def link abelTypeId abelType -hi def link abelTypeIdChar abelType -hi def link abelType Type -hi def link abelNumber abelString -hi def link abelString String -hi def link abelConstant Constant -hi def link abelComment Comment -hi def link abelExtension abelSpecial -hi def link abelSpecialChar abelSpecial -hi def link abelTypeIdEnd abelSpecial -hi def link abelSpecial Special -hi def link abelDirective PreProc -hi def link abelTodo Todo -hi def link abelError Error - - -let b:current_syntax = "abel" - -let &cpo = s:cpo_save -unlet s:cpo_save - -" vim:ts=8 diff --git a/uvim/runtime/syntax/abnf.mnv b/uvim/runtime/syntax/abnf.mnv new file mode 100644 index 0000000000..832828ee86 --- /dev/null +++ b/uvim/runtime/syntax/abnf.mnv @@ -0,0 +1,33 @@ +" MNV compiler file +" Language: abnf +" Maintainer: A4-Tacks +" Last Change: 2025 Mar 05 +" Upstream: https://github.com/A4-Tacks/abnf.mnv + +" Implementing RFC-5234, RFC-7405 + +if exists('b:current_syntax') + finish +endif + +syn case ignore + +syn match abnfError /[<>"]/ +syn match abnfComment /;.*/ +syn match abnfOption /[[/\]]/ +syn region abnfString start=/\(%[si]\)\="/ end=/"/ oneline +syn region abnfProse start=// oneline +syn match abnfNumVal /\v\%b[01]+%(%(\.[01]+)+|-[01]+)=>/ +syn match abnfNumVal /\v\%d\d+%(%(\.\d+)+|-\d+)=>/ +syn match abnfNumVal /\v\%x[0-9a-f]+%(%(\.[0-9a-f]+)+|-[0-9a-f]+)=>/ +syn match abnfRepeat /\v%(%(<\d+)=\*\d*|<\d+ =)\ze[^ \t\r\n0-9*/)\]]/ + +hi def link abnfError Error +hi def link abnfComment Comment +hi def link abnfOption PreProc +hi def link abnfString String +hi def link abnfProse String +hi def link abnfNumVal Number +hi def link abnfRepeat Repeat + +" mnv:noet:ts=8:sts=8:nowrap diff --git a/uvim/runtime/syntax/abnf.vim b/uvim/runtime/syntax/abnf.vim deleted file mode 100644 index 13459eb9f8..0000000000 --- a/uvim/runtime/syntax/abnf.vim +++ /dev/null @@ -1,33 +0,0 @@ -" Vim compiler file -" Language: abnf -" Maintainer: A4-Tacks -" Last Change: 2025 Mar 05 -" Upstream: https://github.com/A4-Tacks/abnf.vim - -" Implementing RFC-5234, RFC-7405 - -if exists('b:current_syntax') - finish -endif - -syn case ignore - -syn match abnfError /[<>"]/ -syn match abnfComment /;.*/ -syn match abnfOption /[[/\]]/ -syn region abnfString start=/\(%[si]\)\="/ end=/"/ oneline -syn region abnfProse start=// oneline -syn match abnfNumVal /\v\%b[01]+%(%(\.[01]+)+|-[01]+)=>/ -syn match abnfNumVal /\v\%d\d+%(%(\.\d+)+|-\d+)=>/ -syn match abnfNumVal /\v\%x[0-9a-f]+%(%(\.[0-9a-f]+)+|-[0-9a-f]+)=>/ -syn match abnfRepeat /\v%(%(<\d+)=\*\d*|<\d+ =)\ze[^ \t\r\n0-9*/)\]]/ - -hi def link abnfError Error -hi def link abnfComment Comment -hi def link abnfOption PreProc -hi def link abnfString String -hi def link abnfProse String -hi def link abnfNumVal Number -hi def link abnfRepeat Repeat - -" vim:noet:ts=8:sts=8:nowrap diff --git a/uvim/runtime/syntax/acedb.mnv b/uvim/runtime/syntax/acedb.mnv new file mode 100644 index 0000000000..33628e2ec9 --- /dev/null +++ b/uvim/runtime/syntax/acedb.mnv @@ -0,0 +1,110 @@ +" MNV syntax file +" Language: AceDB model files +" Maintainer: Stewart Morris (Stewart.Morris@ed.ac.uk) +" Last change: Thu Apr 26 10:38:01 BST 2001 +" URL: http://www.ed.ac.uk/~swmorris/mnv/acedb.mnv + +" Syntax file to handle all $ACEDB/wspec/*.wrm files, primarily models.wrm +" AceDB software is available from http://www.acedb.org + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn keyword acedbXref XREF +syn keyword acedbModifier UNIQUE REPEAT + +syn case ignore +syn keyword acedbModifier Constraints +syn keyword acedbType DateType Int Text Float + +" Magic tags from: http://genome.cornell.edu/acedocs/magic/summary.html +syn keyword acedbMagic pick_me_to_call No_cache Non_graphic Title +syn keyword acedbMagic Flipped Centre Extent View Default_view +syn keyword acedbMagic From_map Minimal_view Main_Marker Map Includes +syn keyword acedbMagic Mapping_data More_data Position Ends Left Right +syn keyword acedbMagic Multi_Position Multi_Ends With Error Relative +syn keyword acedbMagic Min Anchor Gmap Grid_map Grid Submenus Cambridge +syn keyword acedbMagic No_buttons Columns Colour Surround_colour Tag +syn keyword acedbMagic Scale_unit Cursor Cursor_on Cursor_unit +syn keyword acedbMagic Locator Magnification Projection_lines_on +syn keyword acedbMagic Marker_points Marker_intervals Contigs +syn keyword acedbMagic Physical_genes Two_point Multi_point Likelihood +syn keyword acedbMagic Point_query Point_yellow Point_width +syn keyword acedbMagic Point_pne Point_pe Point_nne Point_ne +syn keyword acedbMagic Derived_tags DT_query DT_width DT_no_duplicates +syn keyword acedbMagic RH_data RH_query RH_spacing RH_show_all +syn keyword acedbMagic Names_on Width Symbol Colours Pne Pe Nne pMap +syn keyword acedbMagic Sequence Gridded FingerPrint In_Situ Cosmid_grid +syn keyword acedbMagic Layout Lines_at Space_at No_stagger A1_labelling +syn keyword acedbMagic DNA Structure From Source Source_Exons +syn keyword acedbMagic Coding CDS Transcript Assembly_tags Allele +syn keyword acedbMagic Display Colour Frame_sensitive Strand_sensitive +syn keyword acedbMagic Score_bounds Percent Bumpable Width Symbol +syn keyword acedbMagic Blixem_N Address E_mail Paper Reference Title +syn keyword acedbMagic Point_1 Point_2 Calculation Full One_recombinant +syn keyword acedbMagic Tested Selected_trans Backcross Back_one +syn keyword acedbMagic Dom_semi Dom_let Direct Complex_mixed Calc +syn keyword acedbMagic Calc_upper_conf Item_1 Item_2 Results A_non_B +syn keyword acedbMagic Score Score_by_offset Score_by_width +syn keyword acedbMagic Right_priority Blastn Blixem Blixem_X +syn keyword acedbMagic Journal Year Volume Page Author +syn keyword acedbMagic Selected One_all Recs_all One_let +syn keyword acedbMagic Sex_full Sex_one Sex_cis Dom_one Dom_selected +syn keyword acedbMagic Calc_distance Calc_lower_conf Canon_for_cosmid +syn keyword acedbMagic Reversed_physical Points Positive Negative +syn keyword acedbMagic Point_error_scale Point_segregate_ordered +syn keyword acedbMagic Point_symbol Interval_JTM Interval_RD +syn keyword acedbMagic EMBL_feature Homol Feature +syn keyword acedbMagic DT_tag Spacer Spacer_colour Spacer_width +syn keyword acedbMagic RH_positive RH_negative RH_contradictory Query +syn keyword acedbMagic Clone Y_remark PCR_remark Hybridizes_to +syn keyword acedbMagic Row Virtual_row Mixed In_pool Subpool B_non_A +syn keyword acedbMagic Interval_SRK Point_show_marginal Subsequence +syn keyword acedbMagic Visible Properties Transposon + +syn match acedbClass "^?\w\+\|^#\w\+" +syn match acedbComment "//.*" +syn region acedbComment start="/\*" end="\*/" +syn match acedbComment "^#\W.*" +syn match acedbHelp "^\*\*\w\+$" +syn match acedbTag "[^^]?\w\+\|[^^]#\w\+" +syn match acedbBlock "//#.\+#$" +syn match acedbOption "^_[DVH]\S\+" +syn match acedbFlag "\s\+-\h\+" +syn match acedbSubclass "^Class" +syn match acedbSubtag "^Visible\|^Is_a_subclass_of\|^Filter\|^Hidden" +syn match acedbNumber "\<\d\+\>" +syn match acedbNumber "\<\d\+\.\d\+\>" +syn match acedbHyb "\\|\" +syn region acedbString start=/"/ end=/"/ skip=/\\"/ oneline + +" Rest of syntax highlighting rules start here + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link acedbMagic Special +hi def link acedbHyb Special +hi def link acedbType Type +hi def link acedbOption Type +hi def link acedbSubclass Type +hi def link acedbSubtag Include +hi def link acedbFlag Include +hi def link acedbTag Include +hi def link acedbClass Todo +hi def link acedbHelp Todo +hi def link acedbXref Identifier +hi def link acedbModifier Label +hi def link acedbComment Comment +hi def link acedbBlock ModeMsg +hi def link acedbNumber Number +hi def link acedbString String + + +let b:current_syntax = "acedb" + +" The structure of the model.wrm file is sensitive to mixed tab and space +" indentation and assumes tabs are 8 so... +se ts=8 diff --git a/uvim/runtime/syntax/acedb.vim b/uvim/runtime/syntax/acedb.vim deleted file mode 100644 index 2c2cd701b7..0000000000 --- a/uvim/runtime/syntax/acedb.vim +++ /dev/null @@ -1,110 +0,0 @@ -" Vim syntax file -" Language: AceDB model files -" Maintainer: Stewart Morris (Stewart.Morris@ed.ac.uk) -" Last change: Thu Apr 26 10:38:01 BST 2001 -" URL: http://www.ed.ac.uk/~swmorris/vim/acedb.vim - -" Syntax file to handle all $ACEDB/wspec/*.wrm files, primarily models.wrm -" AceDB software is available from http://www.acedb.org - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn keyword acedbXref XREF -syn keyword acedbModifier UNIQUE REPEAT - -syn case ignore -syn keyword acedbModifier Constraints -syn keyword acedbType DateType Int Text Float - -" Magic tags from: http://genome.cornell.edu/acedocs/magic/summary.html -syn keyword acedbMagic pick_me_to_call No_cache Non_graphic Title -syn keyword acedbMagic Flipped Centre Extent View Default_view -syn keyword acedbMagic From_map Minimal_view Main_Marker Map Includes -syn keyword acedbMagic Mapping_data More_data Position Ends Left Right -syn keyword acedbMagic Multi_Position Multi_Ends With Error Relative -syn keyword acedbMagic Min Anchor Gmap Grid_map Grid Submenus Cambridge -syn keyword acedbMagic No_buttons Columns Colour Surround_colour Tag -syn keyword acedbMagic Scale_unit Cursor Cursor_on Cursor_unit -syn keyword acedbMagic Locator Magnification Projection_lines_on -syn keyword acedbMagic Marker_points Marker_intervals Contigs -syn keyword acedbMagic Physical_genes Two_point Multi_point Likelihood -syn keyword acedbMagic Point_query Point_yellow Point_width -syn keyword acedbMagic Point_pne Point_pe Point_nne Point_ne -syn keyword acedbMagic Derived_tags DT_query DT_width DT_no_duplicates -syn keyword acedbMagic RH_data RH_query RH_spacing RH_show_all -syn keyword acedbMagic Names_on Width Symbol Colours Pne Pe Nne pMap -syn keyword acedbMagic Sequence Gridded FingerPrint In_Situ Cosmid_grid -syn keyword acedbMagic Layout Lines_at Space_at No_stagger A1_labelling -syn keyword acedbMagic DNA Structure From Source Source_Exons -syn keyword acedbMagic Coding CDS Transcript Assembly_tags Allele -syn keyword acedbMagic Display Colour Frame_sensitive Strand_sensitive -syn keyword acedbMagic Score_bounds Percent Bumpable Width Symbol -syn keyword acedbMagic Blixem_N Address E_mail Paper Reference Title -syn keyword acedbMagic Point_1 Point_2 Calculation Full One_recombinant -syn keyword acedbMagic Tested Selected_trans Backcross Back_one -syn keyword acedbMagic Dom_semi Dom_let Direct Complex_mixed Calc -syn keyword acedbMagic Calc_upper_conf Item_1 Item_2 Results A_non_B -syn keyword acedbMagic Score Score_by_offset Score_by_width -syn keyword acedbMagic Right_priority Blastn Blixem Blixem_X -syn keyword acedbMagic Journal Year Volume Page Author -syn keyword acedbMagic Selected One_all Recs_all One_let -syn keyword acedbMagic Sex_full Sex_one Sex_cis Dom_one Dom_selected -syn keyword acedbMagic Calc_distance Calc_lower_conf Canon_for_cosmid -syn keyword acedbMagic Reversed_physical Points Positive Negative -syn keyword acedbMagic Point_error_scale Point_segregate_ordered -syn keyword acedbMagic Point_symbol Interval_JTM Interval_RD -syn keyword acedbMagic EMBL_feature Homol Feature -syn keyword acedbMagic DT_tag Spacer Spacer_colour Spacer_width -syn keyword acedbMagic RH_positive RH_negative RH_contradictory Query -syn keyword acedbMagic Clone Y_remark PCR_remark Hybridizes_to -syn keyword acedbMagic Row Virtual_row Mixed In_pool Subpool B_non_A -syn keyword acedbMagic Interval_SRK Point_show_marginal Subsequence -syn keyword acedbMagic Visible Properties Transposon - -syn match acedbClass "^?\w\+\|^#\w\+" -syn match acedbComment "//.*" -syn region acedbComment start="/\*" end="\*/" -syn match acedbComment "^#\W.*" -syn match acedbHelp "^\*\*\w\+$" -syn match acedbTag "[^^]?\w\+\|[^^]#\w\+" -syn match acedbBlock "//#.\+#$" -syn match acedbOption "^_[DVH]\S\+" -syn match acedbFlag "\s\+-\h\+" -syn match acedbSubclass "^Class" -syn match acedbSubtag "^Visible\|^Is_a_subclass_of\|^Filter\|^Hidden" -syn match acedbNumber "\<\d\+\>" -syn match acedbNumber "\<\d\+\.\d\+\>" -syn match acedbHyb "\\|\" -syn region acedbString start=/"/ end=/"/ skip=/\\"/ oneline - -" Rest of syntax highlighting rules start here - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link acedbMagic Special -hi def link acedbHyb Special -hi def link acedbType Type -hi def link acedbOption Type -hi def link acedbSubclass Type -hi def link acedbSubtag Include -hi def link acedbFlag Include -hi def link acedbTag Include -hi def link acedbClass Todo -hi def link acedbHelp Todo -hi def link acedbXref Identifier -hi def link acedbModifier Label -hi def link acedbComment Comment -hi def link acedbBlock ModeMsg -hi def link acedbNumber Number -hi def link acedbString String - - -let b:current_syntax = "acedb" - -" The structure of the model.wrm file is sensitive to mixed tab and space -" indentation and assumes tabs are 8 so... -se ts=8 diff --git a/uvim/runtime/syntax/ada.mnv b/uvim/runtime/syntax/ada.mnv new file mode 100644 index 0000000000..e7827a3175 --- /dev/null +++ b/uvim/runtime/syntax/ada.mnv @@ -0,0 +1,368 @@ +"---------------------------------------------------------------------------- +" Description: MNV Ada syntax file +" Language: Ada (2005) +" $Id: ada.mnv 887 2008-07-08 14:29:01Z krischik $ +" Copyright: Copyright (C) 2006 Martin Krischik +" Maintainer: Martin Krischik +" David A. Wheeler +" Simon Bradley +" Contributors: Preben Randhol. +" $Author: krischik $ +" $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $ +" Version: 4.6 +" $Revision: 887 $ +" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/mnv/syntax/ada.mnv $ +" http://www.dwheeler.com/mnv +" History: 24.05.2006 MK Unified Headers +" 26.05.2006 MK ' should not be in iskeyword. +" 16.07.2006 MK Ada-Mode as mnv-ball +" 02.10.2006 MK Better folding. +" 15.10.2006 MK Bram's suggestion for runtime integration +" 05.11.2006 MK Spell check for comments and strings only +" 05.11.2006 MK Bram suggested to save on spaces +" Help Page: help ft-ada-syntax +"------------------------------------------------------------------------------ +" The formal spec of Ada 2005 (ARM) is the "Ada 2005 Reference Manual". +" For more Ada 2005 info, see http://www.gnuada.org and http://www.adapower.com. +" +" This mnv syntax file works on mnv 7.0 only and makes use of most of Voim 7.0 +" advanced features. +"------------------------------------------------------------------------------ + +if exists("b:current_syntax") || version < 700 + finish +endif +let s:keepcpo= &cpo +set cpo&mnv + +let b:current_syntax = "ada" + +" Section: Ada is entirely case-insensitive. {{{1 +" +syntax case ignore + +" Section: Highlighting commands {{{1 +" +" There are 72 reserved words in total in Ada2005. Some keywords are +" used in more than one way. For example: +" 1. "end" is a general keyword, but "end if" ends a Conditional. +" 2. "then" is a conditional, but "and then" is an operator. +" +for b:Item in g:ada#Keywords + " Standard Exceptions (including I/O). + " We'll highlight the standard exceptions, similar to mnv's Python mode. + " It's possible to redefine the standard exceptions as something else, + " but doing so is very bad practice, so simply highlighting them makes sense. + if b:Item['kind'] == "x" + execute "syntax keyword adaException " . b:Item['word'] + endif + if b:Item['kind'] == "a" + execute 'syntax match adaAttribute "\V' . b:Item['word'] . '"' + endif + " We don't normally highlight types in package Standard + " (Integer, Character, Float, etc.). I don't think it looks good + " with the other type keywords, and many Ada programs define + " so many of their own types that it looks inconsistent. + " However, if you want this highlighting, turn on "ada_standard_types". + " For package Standard's definition, see ARM section A.1. + if b:Item['kind'] == "t" && exists ("g:ada_standard_types") + execute "syntax keyword adaBuiltinType " . b:Item['word'] + endif +endfor + +" Section: others {{{1 +" +syntax keyword adaLabel others + +" Section: Operatoren {{{1 +" +syntax keyword adaOperator abs mod not rem xor +syntax match adaOperator "\" +syntax match adaOperator "\" +syntax match adaOperator "\" +syntax match adaOperator "\" +syntax match adaOperator "[-+*/<>&]" +syntax keyword adaOperator ** +syntax match adaOperator "[/<>]=" +syntax keyword adaOperator => +syntax match adaOperator "\.\." +syntax match adaOperator "=" + +" Section: <> {{{1 +" +" Handle the box, <>, specially: +" +syntax keyword adaSpecial <> + +" Section: rainbow color {{{1 +" +if exists("g:ada_rainbow_color") + syntax match adaSpecial "[:;.,]" + call rainbow_parenthsis#LoadRound () + call rainbow_parenthsis#Activate () +else + syntax match adaSpecial "[:;().,]" +endif + +" Section: := {{{1 +" +" We won't map "adaAssignment" by default, but we need to map ":=" to +" something or the "=" inside it will be mislabelled as an operator. +" Note that in Ada, assignment (:=) is not considered an operator. +" +syntax match adaAssignment ":=" + +" Section: Numbers, including floating point, exponents, and alternate bases. {{{1 +" +syntax match adaNumber "\<\d[0-9_]*\(\.\d[0-9_]*\)\=\([Ee][+-]\=\d[0-9_]*\)\=\>" +syntax match adaNumber "\<\d\d\=#\x[0-9A-Fa-f_]*\(\.\x[0-9A-Fa-f_]*\)\=#\([Ee][+-]\=\d[0-9_]*\)\=" + +" Section: Identify leading numeric signs {{{1 +" +" In "A-5" the "-" is an operator, " but in "A:=-5" the "-" is a sign. This +" handles "A3+-5" (etc.) correctly. " This assumes that if you put a +" don't put a space after +/- when it's used " as an operator, you won't +" put a space before it either -- which is true " in code I've seen. +" +syntax match adaSign "[[:space:]<>=(,|:;&*/+-][+-]\d"lc=1,hs=s+1,he=e-1,me=e-1 + +" Section: Labels for the goto statement. {{{1 +" +syntax region adaLabel start="<<" end=">>" + +" Section: Boolean Constants {{{1 +" Boolean Constants. +syntax keyword adaBoolean true false + +" Section: Warn C/C++ {{{1 +" +" Warn people who try to use C/C++ notation erroneously: +" +syntax match adaError "//" +syntax match adaError "/\*" +syntax match adaError "==" + + +" Section: Space Errors {{{1 +" +if exists("g:ada_space_errors") + if !exists("g:ada_no_trail_space_error") + syntax match adaSpaceError excludenl "\s\+$" + endif + if !exists("g:ada_no_tab_space_error") + syntax match adaSpaceError " \+\t"me=e-1 + endif + if !exists("g:ada_all_tab_usage") + syntax match adaSpecial "\t" + endif +endif + +" Section: end {{{1 +" Unless special ("end loop", "end if", etc.), "end" marks the end of a +" begin, package, task etc. Assigning it to adaEnd. +syntax match adaEnd /\/ + +syntax keyword adaPreproc pragma + +syntax keyword adaRepeat exit for loop reverse while +syntax match adaRepeat "\" + +syntax keyword adaStatement accept delay goto raise requeue return +syntax keyword adaStatement terminate +syntax match adaStatement "\" + +" Section: Handle Ada's record keywords. {{{1 +" +" 'record' usually starts a structure, but "with null record;" does not, +" and 'end record;' ends a structure. The ordering here is critical - +" 'record;' matches a "with null record", so make it a keyword (this can +" match when the 'with' or 'null' is on a previous line). +" We see the "end" in "end record" before the word record, so we match that +" pattern as adaStructure (and it won't match the "record;" pattern). +" +syntax match adaStructure "\" contains=adaRecord +syntax match adaStructure "\" contains=adaRecord +syntax match adaKeyword "\" +syntax match adaConditional "\" +syntax match adaConditional "\" +syntax match adaConditional "\" +syntax match adaConditional "\" +syntax match adaConditional "\" +syntax keyword adaConditional if case select +syntax keyword adaConditional elsif when + +" Section: other keywords {{{1 +syntax match adaKeyword "\" contains=adaRecord +syntax keyword adaKeyword all do exception in new null out +syntax keyword adaKeyword separate until overriding + +" Section: begin keywords {{{1 +" +" These keywords begin various constructs, and you _might_ want to +" highlight them differently. +" +syntax keyword adaBegin begin body declare entry generic +syntax keyword adaBegin protected renames task + +syntax match adaBegin "\" contains=adaFunction +syntax match adaBegin "\" contains=adaProcedure +syntax match adaBegin "\" contains=adaPackage + +if exists("ada_with_gnat_project_files") + syntax keyword adaBegin project +endif + +" Section: with, use {{{1 +" +if exists("ada_withuse_ordinary") + " Don't be fancy. Display "with" and "use" as ordinary keywords in all cases. + syntax keyword adaKeyword with use +else + " Highlight "with" and "use" clauses like C's "#include" when they're used + " to reference other compilation units; otherwise they're ordinary keywords. + " If we have mnv 6.0 or later, we'll use its advanced pattern-matching + " capabilities so that we won't match leading spaces. + syntax match adaKeyword "\" + syntax match adaKeyword "\" + syntax match adaBeginWith "^\s*\zs\(\(with\(\s\+type\)\=\)\|\(use\)\)\>" contains=adaInc + syntax match adaSemiWith ";\s*\zs\(\(with\(\s\+type\)\=\)\|\(use\)\)\>" contains=adaInc + syntax match adaInc "\" contained contains=NONE + syntax match adaInc "\" contained contains=NONE + syntax match adaInc "\" contained contains=NONE + " Recognize "with null record" as a keyword (even the "record"). + syntax match adaKeyword "\" + " Consider generic formal parameters of subprograms and packages as keywords. + syntax match adaKeyword ";\s*\zswith\s\+\(function\|procedure\|package\)\>" + syntax match adaKeyword "^\s*\zswith\s\+\(function\|procedure\|package\)\>" +endif + +" Section: String and character constants. {{{1 +" +syntax region adaString contains=@Spell start=+"+ skip=+""+ end=+"+ +syntax match adaCharacter "'.'" + +" Section: Todo (only highlighted in comments) {{{1 +" +syntax keyword adaTodo contained TODO FIXME XXX NOTE + +" Section: Comments. {{{1 +" +syntax region adaComment + \ oneline + \ contains=adaTodo,adaLineError,@Spell + \ start="--" + \ end="$" + +" Section: line errors {{{1 +" +" Note: Line errors have become quite slow with MNV 7.0 +" +if exists("g:ada_line_errors") + syntax match adaLineError "\(^.\{79}\)\@<=." contains=ALL containedin=ALL +endif + +" Section: syntax folding {{{1 +" +" Syntax folding is very tricky - for now I still suggest to use +" indent folding +" +if exists("g:ada_folding") && g:ada_folding[0] == 's' + if stridx (g:ada_folding, 'p') >= 0 + syntax region adaPackage + \ start="\(\\|\\)\s*\z(\k*\)" + \ end="end\s\+\z1\s*;" + \ keepend extend transparent fold contains=ALL + endif + if stridx (g:ada_folding, 'f') >= 0 + syntax region adaProcedure + \ start="\\s*\z(\k*\)" + \ end="\\s\+\z1\s*;" + \ keepend extend transparent fold contains=ALL + syntax region adaFunction + \ start="\\s*\z(\k*\)" + \ end="end\s\+\z1\s*;" + \ keepend extend transparent fold contains=ALL + endif + if stridx (g:ada_folding, 'f') >= 0 + syntax region adaRecord + \ start="\" + \ end="\" + \ keepend extend transparent fold contains=ALL + endif +endif + +" Section: The default methods for highlighting. Can be overridden later. {{{1 +" +highlight def link adaCharacter Character +highlight def link adaComment Comment +highlight def link adaConditional Conditional +highlight def link adaKeyword Keyword +highlight def link adaLabel Label +highlight def link adaNumber Number +highlight def link adaSign Number +highlight def link adaOperator Operator +highlight def link adaPreproc PreProc +highlight def link adaRepeat Repeat +highlight def link adaSpecial Special +highlight def link adaStatement Statement +highlight def link adaString String +highlight def link adaStructure Structure +highlight def link adaTodo Todo +highlight def link adaType Type +highlight def link adaTypedef Typedef +highlight def link adaStorageClass StorageClass +highlight def link adaBoolean Boolean +highlight def link adaException Exception +highlight def link adaAttribute Tag +highlight def link adaInc Include +highlight def link adaError Error +highlight def link adaSpaceError Error +highlight def link adaLineError Error +highlight def link adaBuiltinType Type +highlight def link adaAssignment Special + +" Subsection: Begin, End {{{2 +" +if exists ("ada_begin_preproc") + " This is the old default display: + highlight def link adaBegin PreProc + highlight def link adaEnd PreProc +else + " This is the new default display: + highlight def link adaBegin Keyword + highlight def link adaEnd Keyword +endif + + + +" Section: sync {{{1 +" +" We don't need to look backwards to highlight correctly; +" this speeds things up greatly. +syntax sync minlines=1 maxlines=1 + +let &cpo = s:keepcpo +unlet s:keepcpo + +finish " 1}}} + +"------------------------------------------------------------------------------ +" Copyright (C) 2006 Martin Krischik +" +" MNV is Charityware - see ":help license" or uganda.txt for licence details. +"------------------------------------------------------------------------------ +"mnv: textwidth=78 nowrap tabstop=8 shiftwidth=3 softtabstop=3 noexpandtab +"mnv: foldmethod=marker diff --git a/uvim/runtime/syntax/ada.vim b/uvim/runtime/syntax/ada.vim deleted file mode 100644 index 415c9522fb..0000000000 --- a/uvim/runtime/syntax/ada.vim +++ /dev/null @@ -1,368 +0,0 @@ -"---------------------------------------------------------------------------- -" Description: Vim Ada syntax file -" Language: Ada (2005) -" $Id: ada.vim 887 2008-07-08 14:29:01Z krischik $ -" Copyright: Copyright (C) 2006 Martin Krischik -" Maintainer: Martin Krischik -" David A. Wheeler -" Simon Bradley -" Contributors: Preben Randhol. -" $Author: krischik $ -" $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $ -" Version: 4.6 -" $Revision: 887 $ -" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/syntax/ada.vim $ -" http://www.dwheeler.com/vim -" History: 24.05.2006 MK Unified Headers -" 26.05.2006 MK ' should not be in iskeyword. -" 16.07.2006 MK Ada-Mode as vim-ball -" 02.10.2006 MK Better folding. -" 15.10.2006 MK Bram's suggestion for runtime integration -" 05.11.2006 MK Spell check for comments and strings only -" 05.11.2006 MK Bram suggested to save on spaces -" Help Page: help ft-ada-syntax -"------------------------------------------------------------------------------ -" The formal spec of Ada 2005 (ARM) is the "Ada 2005 Reference Manual". -" For more Ada 2005 info, see http://www.gnuada.org and http://www.adapower.com. -" -" This vim syntax file works on vim 7.0 only and makes use of most of Voim 7.0 -" advanced features. -"------------------------------------------------------------------------------ - -if exists("b:current_syntax") || version < 700 - finish -endif -let s:keepcpo= &cpo -set cpo&vim - -let b:current_syntax = "ada" - -" Section: Ada is entirely case-insensitive. {{{1 -" -syntax case ignore - -" Section: Highlighting commands {{{1 -" -" There are 72 reserved words in total in Ada2005. Some keywords are -" used in more than one way. For example: -" 1. "end" is a general keyword, but "end if" ends a Conditional. -" 2. "then" is a conditional, but "and then" is an operator. -" -for b:Item in g:ada#Keywords - " Standard Exceptions (including I/O). - " We'll highlight the standard exceptions, similar to vim's Python mode. - " It's possible to redefine the standard exceptions as something else, - " but doing so is very bad practice, so simply highlighting them makes sense. - if b:Item['kind'] == "x" - execute "syntax keyword adaException " . b:Item['word'] - endif - if b:Item['kind'] == "a" - execute 'syntax match adaAttribute "\V' . b:Item['word'] . '"' - endif - " We don't normally highlight types in package Standard - " (Integer, Character, Float, etc.). I don't think it looks good - " with the other type keywords, and many Ada programs define - " so many of their own types that it looks inconsistent. - " However, if you want this highlighting, turn on "ada_standard_types". - " For package Standard's definition, see ARM section A.1. - if b:Item['kind'] == "t" && exists ("g:ada_standard_types") - execute "syntax keyword adaBuiltinType " . b:Item['word'] - endif -endfor - -" Section: others {{{1 -" -syntax keyword adaLabel others - -" Section: Operatoren {{{1 -" -syntax keyword adaOperator abs mod not rem xor -syntax match adaOperator "\" -syntax match adaOperator "\" -syntax match adaOperator "\" -syntax match adaOperator "\" -syntax match adaOperator "[-+*/<>&]" -syntax keyword adaOperator ** -syntax match adaOperator "[/<>]=" -syntax keyword adaOperator => -syntax match adaOperator "\.\." -syntax match adaOperator "=" - -" Section: <> {{{1 -" -" Handle the box, <>, specially: -" -syntax keyword adaSpecial <> - -" Section: rainbow color {{{1 -" -if exists("g:ada_rainbow_color") - syntax match adaSpecial "[:;.,]" - call rainbow_parenthsis#LoadRound () - call rainbow_parenthsis#Activate () -else - syntax match adaSpecial "[:;().,]" -endif - -" Section: := {{{1 -" -" We won't map "adaAssignment" by default, but we need to map ":=" to -" something or the "=" inside it will be mislabelled as an operator. -" Note that in Ada, assignment (:=) is not considered an operator. -" -syntax match adaAssignment ":=" - -" Section: Numbers, including floating point, exponents, and alternate bases. {{{1 -" -syntax match adaNumber "\<\d[0-9_]*\(\.\d[0-9_]*\)\=\([Ee][+-]\=\d[0-9_]*\)\=\>" -syntax match adaNumber "\<\d\d\=#\x[0-9A-Fa-f_]*\(\.\x[0-9A-Fa-f_]*\)\=#\([Ee][+-]\=\d[0-9_]*\)\=" - -" Section: Identify leading numeric signs {{{1 -" -" In "A-5" the "-" is an operator, " but in "A:=-5" the "-" is a sign. This -" handles "A3+-5" (etc.) correctly. " This assumes that if you put a -" don't put a space after +/- when it's used " as an operator, you won't -" put a space before it either -- which is true " in code I've seen. -" -syntax match adaSign "[[:space:]<>=(,|:;&*/+-][+-]\d"lc=1,hs=s+1,he=e-1,me=e-1 - -" Section: Labels for the goto statement. {{{1 -" -syntax region adaLabel start="<<" end=">>" - -" Section: Boolean Constants {{{1 -" Boolean Constants. -syntax keyword adaBoolean true false - -" Section: Warn C/C++ {{{1 -" -" Warn people who try to use C/C++ notation erroneously: -" -syntax match adaError "//" -syntax match adaError "/\*" -syntax match adaError "==" - - -" Section: Space Errors {{{1 -" -if exists("g:ada_space_errors") - if !exists("g:ada_no_trail_space_error") - syntax match adaSpaceError excludenl "\s\+$" - endif - if !exists("g:ada_no_tab_space_error") - syntax match adaSpaceError " \+\t"me=e-1 - endif - if !exists("g:ada_all_tab_usage") - syntax match adaSpecial "\t" - endif -endif - -" Section: end {{{1 -" Unless special ("end loop", "end if", etc.), "end" marks the end of a -" begin, package, task etc. Assigning it to adaEnd. -syntax match adaEnd /\/ - -syntax keyword adaPreproc pragma - -syntax keyword adaRepeat exit for loop reverse while -syntax match adaRepeat "\" - -syntax keyword adaStatement accept delay goto raise requeue return -syntax keyword adaStatement terminate -syntax match adaStatement "\" - -" Section: Handle Ada's record keywords. {{{1 -" -" 'record' usually starts a structure, but "with null record;" does not, -" and 'end record;' ends a structure. The ordering here is critical - -" 'record;' matches a "with null record", so make it a keyword (this can -" match when the 'with' or 'null' is on a previous line). -" We see the "end" in "end record" before the word record, so we match that -" pattern as adaStructure (and it won't match the "record;" pattern). -" -syntax match adaStructure "\" contains=adaRecord -syntax match adaStructure "\" contains=adaRecord -syntax match adaKeyword "\" -syntax match adaConditional "\" -syntax match adaConditional "\" -syntax match adaConditional "\" -syntax match adaConditional "\" -syntax match adaConditional "\" -syntax keyword adaConditional if case select -syntax keyword adaConditional elsif when - -" Section: other keywords {{{1 -syntax match adaKeyword "\" contains=adaRecord -syntax keyword adaKeyword all do exception in new null out -syntax keyword adaKeyword separate until overriding - -" Section: begin keywords {{{1 -" -" These keywords begin various constructs, and you _might_ want to -" highlight them differently. -" -syntax keyword adaBegin begin body declare entry generic -syntax keyword adaBegin protected renames task - -syntax match adaBegin "\" contains=adaFunction -syntax match adaBegin "\" contains=adaProcedure -syntax match adaBegin "\" contains=adaPackage - -if exists("ada_with_gnat_project_files") - syntax keyword adaBegin project -endif - -" Section: with, use {{{1 -" -if exists("ada_withuse_ordinary") - " Don't be fancy. Display "with" and "use" as ordinary keywords in all cases. - syntax keyword adaKeyword with use -else - " Highlight "with" and "use" clauses like C's "#include" when they're used - " to reference other compilation units; otherwise they're ordinary keywords. - " If we have vim 6.0 or later, we'll use its advanced pattern-matching - " capabilities so that we won't match leading spaces. - syntax match adaKeyword "\" - syntax match adaKeyword "\" - syntax match adaBeginWith "^\s*\zs\(\(with\(\s\+type\)\=\)\|\(use\)\)\>" contains=adaInc - syntax match adaSemiWith ";\s*\zs\(\(with\(\s\+type\)\=\)\|\(use\)\)\>" contains=adaInc - syntax match adaInc "\" contained contains=NONE - syntax match adaInc "\" contained contains=NONE - syntax match adaInc "\" contained contains=NONE - " Recognize "with null record" as a keyword (even the "record"). - syntax match adaKeyword "\" - " Consider generic formal parameters of subprograms and packages as keywords. - syntax match adaKeyword ";\s*\zswith\s\+\(function\|procedure\|package\)\>" - syntax match adaKeyword "^\s*\zswith\s\+\(function\|procedure\|package\)\>" -endif - -" Section: String and character constants. {{{1 -" -syntax region adaString contains=@Spell start=+"+ skip=+""+ end=+"+ -syntax match adaCharacter "'.'" - -" Section: Todo (only highlighted in comments) {{{1 -" -syntax keyword adaTodo contained TODO FIXME XXX NOTE - -" Section: Comments. {{{1 -" -syntax region adaComment - \ oneline - \ contains=adaTodo,adaLineError,@Spell - \ start="--" - \ end="$" - -" Section: line errors {{{1 -" -" Note: Line errors have become quite slow with Vim 7.0 -" -if exists("g:ada_line_errors") - syntax match adaLineError "\(^.\{79}\)\@<=." contains=ALL containedin=ALL -endif - -" Section: syntax folding {{{1 -" -" Syntax folding is very tricky - for now I still suggest to use -" indent folding -" -if exists("g:ada_folding") && g:ada_folding[0] == 's' - if stridx (g:ada_folding, 'p') >= 0 - syntax region adaPackage - \ start="\(\\|\\)\s*\z(\k*\)" - \ end="end\s\+\z1\s*;" - \ keepend extend transparent fold contains=ALL - endif - if stridx (g:ada_folding, 'f') >= 0 - syntax region adaProcedure - \ start="\\s*\z(\k*\)" - \ end="\\s\+\z1\s*;" - \ keepend extend transparent fold contains=ALL - syntax region adaFunction - \ start="\\s*\z(\k*\)" - \ end="end\s\+\z1\s*;" - \ keepend extend transparent fold contains=ALL - endif - if stridx (g:ada_folding, 'f') >= 0 - syntax region adaRecord - \ start="\" - \ end="\" - \ keepend extend transparent fold contains=ALL - endif -endif - -" Section: The default methods for highlighting. Can be overridden later. {{{1 -" -highlight def link adaCharacter Character -highlight def link adaComment Comment -highlight def link adaConditional Conditional -highlight def link adaKeyword Keyword -highlight def link adaLabel Label -highlight def link adaNumber Number -highlight def link adaSign Number -highlight def link adaOperator Operator -highlight def link adaPreproc PreProc -highlight def link adaRepeat Repeat -highlight def link adaSpecial Special -highlight def link adaStatement Statement -highlight def link adaString String -highlight def link adaStructure Structure -highlight def link adaTodo Todo -highlight def link adaType Type -highlight def link adaTypedef Typedef -highlight def link adaStorageClass StorageClass -highlight def link adaBoolean Boolean -highlight def link adaException Exception -highlight def link adaAttribute Tag -highlight def link adaInc Include -highlight def link adaError Error -highlight def link adaSpaceError Error -highlight def link adaLineError Error -highlight def link adaBuiltinType Type -highlight def link adaAssignment Special - -" Subsection: Begin, End {{{2 -" -if exists ("ada_begin_preproc") - " This is the old default display: - highlight def link adaBegin PreProc - highlight def link adaEnd PreProc -else - " This is the new default display: - highlight def link adaBegin Keyword - highlight def link adaEnd Keyword -endif - - - -" Section: sync {{{1 -" -" We don't need to look backwards to highlight correctly; -" this speeds things up greatly. -syntax sync minlines=1 maxlines=1 - -let &cpo = s:keepcpo -unlet s:keepcpo - -finish " 1}}} - -"------------------------------------------------------------------------------ -" Copyright (C) 2006 Martin Krischik -" -" Vim is Charityware - see ":help license" or uganda.txt for licence details. -"------------------------------------------------------------------------------ -"vim: textwidth=78 nowrap tabstop=8 shiftwidth=3 softtabstop=3 noexpandtab -"vim: foldmethod=marker diff --git a/uvim/runtime/syntax/aflex.mnv b/uvim/runtime/syntax/aflex.mnv new file mode 100644 index 0000000000..24f3d1b0ba --- /dev/null +++ b/uvim/runtime/syntax/aflex.mnv @@ -0,0 +1,82 @@ + +" MNV syntax file +" Language: AfLex (from Lex syntax file) +" Maintainer: Mathieu Clabaut +" LastChange: 02 May 2001 +" Original: Lex, maintained by Dr. Charles E. Campbell, Jr. +" Comment: Replaced sourcing c.mnv file by ada.mnv and rename lex* +" in aflex* + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" Read the Ada syntax to start with +runtime! syntax/ada.mnv +unlet b:current_syntax + + +" --- AfLex stuff --- + +"I'd prefer to use aflex.* , but it doesn't handle forward definitions yet +syn cluster aflexListGroup contains=aflexAbbrvBlock,aflexAbbrv,aflexAbbrv,aflexAbbrvRegExp,aflexInclude,aflexPatBlock,aflexPat,aflexBrace,aflexPatString,aflexPatTag,aflexPatTag,aflexPatComment,aflexPatCodeLine,aflexMorePat,aflexPatSep,aflexSlashQuote,aflexPatCode,cInParen,cUserLabel,cOctalZero,cCppSkip,cErrInBracket,cErrInParen,cOctalError,cCppOut2 +syn cluster aflexListPatCodeGroup contains=aflexAbbrvBlock,aflexAbbrv,aflexAbbrv,aflexAbbrvRegExp,aflexInclude,aflexPatBlock,aflexPat,aflexBrace,aflexPatTag,aflexPatTag,aflexPatComment,aflexPatCodeLine,aflexMorePat,aflexPatSep,aflexSlashQuote,cInParen,cUserLabel,cOctalZero,cCppSkip,cErrInBracket,cErrInParen,cOctalError,cCppOut2 + +" Abbreviations Section +syn region aflexAbbrvBlock start="^\([a-zA-Z_]\+\t\|%{\)" end="^%%$"me=e-2 skipnl nextgroup=aflexPatBlock contains=aflexAbbrv,aflexInclude,aflexAbbrvComment +syn match aflexAbbrv "^\I\i*\s"me=e-1 skipwhite contained nextgroup=aflexAbbrvRegExp +syn match aflexAbbrv "^%[sx]" contained +syn match aflexAbbrvRegExp "\s\S.*$"lc=1 contained nextgroup=aflexAbbrv,aflexInclude +syn region aflexInclude matchgroup=aflexSep start="^%{" end="%}" contained contains=ALLBUT,@aflexListGroup +syn region aflexAbbrvComment start="^\s\+/\*" end="\*/" + +"%% : Patterns {Actions} +syn region aflexPatBlock matchgroup=Todo start="^%%$" matchgroup=Todo end="^%%$" skipnl skipwhite contains=aflexPat,aflexPatTag,aflexPatComment +syn region aflexPat start=+\S+ skip="\\\\\|\\." end="\s"me=e-1 contained nextgroup=aflexMorePat,aflexPatSep contains=aflexPatString,aflexSlashQuote,aflexBrace +syn region aflexBrace start="\[" skip=+\\\\\|\\+ end="]" contained +syn region aflexPatString matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained +syn match aflexPatTag "^<\I\i*\(,\I\i*\)*>*" contained nextgroup=aflexPat,aflexPatTag,aflexMorePat,aflexPatSep +syn match aflexPatTag +^<\I\i*\(,\I\i*\)*>*\(\\\\\)*\\"+ contained nextgroup=aflexPat,aflexPatTag,aflexMorePat,aflexPatSep +syn region aflexPatComment start="^\s*/\*" end="\*/" skipnl contained contains=cTodo nextgroup=aflexPatComment,aflexPat,aflexPatString,aflexPatTag +syn match aflexPatCodeLine ".*$" contained contains=ALLBUT,@aflexListGroup +syn match aflexMorePat "\s*|\s*$" skipnl contained nextgroup=aflexPat,aflexPatTag,aflexPatComment +syn match aflexPatSep "\s\+" contained nextgroup=aflexMorePat,aflexPatCode,aflexPatCodeLine +syn match aflexSlashQuote +\(\\\\\)*\\"+ contained +syn region aflexPatCode matchgroup=Delimiter start="{" matchgroup=Delimiter end="}" skipnl contained contains=ALLBUT,@aflexListPatCodeGroup + +syn keyword aflexCFunctions BEGIN input unput woutput yyleng yylook yytext +syn keyword aflexCFunctions ECHO output winput wunput yyless yymore yywrap + +" includes several ALLBUTs; these have to be treated so as to exclude aflex* groups +syn cluster cParenGroup add=aflex.* +syn cluster cDefineGroup add=aflex.* +syn cluster cPreProcGroup add=aflex.* +syn cluster cMultiGroup add=aflex.* + +" Synchronization +syn sync clear +syn sync minlines=300 +syn sync match aflexSyncPat grouphere aflexPatBlock "^%[a-zA-Z]" +syn sync match aflexSyncPat groupthere aflexPatBlock "^<$" +syn sync match aflexSyncPat groupthere aflexPatBlock "^%%$" + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet +hi def link aflexSlashQuote aflexPat +hi def link aflexBrace aflexPat +hi def link aflexAbbrvComment aflexPatComment + +hi def link aflexAbbrv SpecialChar +hi def link aflexAbbrvRegExp Macro +hi def link aflexCFunctions Function +hi def link aflexMorePat SpecialChar +hi def link aflexPat Function +hi def link aflexPatComment Comment +hi def link aflexPatString Function +hi def link aflexPatTag Special +hi def link aflexSep Delimiter + +let b:current_syntax = "aflex" + +" mnv:ts=10 diff --git a/uvim/runtime/syntax/aflex.vim b/uvim/runtime/syntax/aflex.vim deleted file mode 100644 index aa8b5f84fe..0000000000 --- a/uvim/runtime/syntax/aflex.vim +++ /dev/null @@ -1,82 +0,0 @@ - -" Vim syntax file -" Language: AfLex (from Lex syntax file) -" Maintainer: Mathieu Clabaut -" LastChange: 02 May 2001 -" Original: Lex, maintained by Dr. Charles E. Campbell, Jr. -" Comment: Replaced sourcing c.vim file by ada.vim and rename lex* -" in aflex* - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" Read the Ada syntax to start with -runtime! syntax/ada.vim -unlet b:current_syntax - - -" --- AfLex stuff --- - -"I'd prefer to use aflex.* , but it doesn't handle forward definitions yet -syn cluster aflexListGroup contains=aflexAbbrvBlock,aflexAbbrv,aflexAbbrv,aflexAbbrvRegExp,aflexInclude,aflexPatBlock,aflexPat,aflexBrace,aflexPatString,aflexPatTag,aflexPatTag,aflexPatComment,aflexPatCodeLine,aflexMorePat,aflexPatSep,aflexSlashQuote,aflexPatCode,cInParen,cUserLabel,cOctalZero,cCppSkip,cErrInBracket,cErrInParen,cOctalError,cCppOut2 -syn cluster aflexListPatCodeGroup contains=aflexAbbrvBlock,aflexAbbrv,aflexAbbrv,aflexAbbrvRegExp,aflexInclude,aflexPatBlock,aflexPat,aflexBrace,aflexPatTag,aflexPatTag,aflexPatComment,aflexPatCodeLine,aflexMorePat,aflexPatSep,aflexSlashQuote,cInParen,cUserLabel,cOctalZero,cCppSkip,cErrInBracket,cErrInParen,cOctalError,cCppOut2 - -" Abbreviations Section -syn region aflexAbbrvBlock start="^\([a-zA-Z_]\+\t\|%{\)" end="^%%$"me=e-2 skipnl nextgroup=aflexPatBlock contains=aflexAbbrv,aflexInclude,aflexAbbrvComment -syn match aflexAbbrv "^\I\i*\s"me=e-1 skipwhite contained nextgroup=aflexAbbrvRegExp -syn match aflexAbbrv "^%[sx]" contained -syn match aflexAbbrvRegExp "\s\S.*$"lc=1 contained nextgroup=aflexAbbrv,aflexInclude -syn region aflexInclude matchgroup=aflexSep start="^%{" end="%}" contained contains=ALLBUT,@aflexListGroup -syn region aflexAbbrvComment start="^\s\+/\*" end="\*/" - -"%% : Patterns {Actions} -syn region aflexPatBlock matchgroup=Todo start="^%%$" matchgroup=Todo end="^%%$" skipnl skipwhite contains=aflexPat,aflexPatTag,aflexPatComment -syn region aflexPat start=+\S+ skip="\\\\\|\\." end="\s"me=e-1 contained nextgroup=aflexMorePat,aflexPatSep contains=aflexPatString,aflexSlashQuote,aflexBrace -syn region aflexBrace start="\[" skip=+\\\\\|\\+ end="]" contained -syn region aflexPatString matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained -syn match aflexPatTag "^<\I\i*\(,\I\i*\)*>*" contained nextgroup=aflexPat,aflexPatTag,aflexMorePat,aflexPatSep -syn match aflexPatTag +^<\I\i*\(,\I\i*\)*>*\(\\\\\)*\\"+ contained nextgroup=aflexPat,aflexPatTag,aflexMorePat,aflexPatSep -syn region aflexPatComment start="^\s*/\*" end="\*/" skipnl contained contains=cTodo nextgroup=aflexPatComment,aflexPat,aflexPatString,aflexPatTag -syn match aflexPatCodeLine ".*$" contained contains=ALLBUT,@aflexListGroup -syn match aflexMorePat "\s*|\s*$" skipnl contained nextgroup=aflexPat,aflexPatTag,aflexPatComment -syn match aflexPatSep "\s\+" contained nextgroup=aflexMorePat,aflexPatCode,aflexPatCodeLine -syn match aflexSlashQuote +\(\\\\\)*\\"+ contained -syn region aflexPatCode matchgroup=Delimiter start="{" matchgroup=Delimiter end="}" skipnl contained contains=ALLBUT,@aflexListPatCodeGroup - -syn keyword aflexCFunctions BEGIN input unput woutput yyleng yylook yytext -syn keyword aflexCFunctions ECHO output winput wunput yyless yymore yywrap - -" includes several ALLBUTs; these have to be treated so as to exclude aflex* groups -syn cluster cParenGroup add=aflex.* -syn cluster cDefineGroup add=aflex.* -syn cluster cPreProcGroup add=aflex.* -syn cluster cMultiGroup add=aflex.* - -" Synchronization -syn sync clear -syn sync minlines=300 -syn sync match aflexSyncPat grouphere aflexPatBlock "^%[a-zA-Z]" -syn sync match aflexSyncPat groupthere aflexPatBlock "^<$" -syn sync match aflexSyncPat groupthere aflexPatBlock "^%%$" - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet -hi def link aflexSlashQuote aflexPat -hi def link aflexBrace aflexPat -hi def link aflexAbbrvComment aflexPatComment - -hi def link aflexAbbrv SpecialChar -hi def link aflexAbbrvRegExp Macro -hi def link aflexCFunctions Function -hi def link aflexMorePat SpecialChar -hi def link aflexPat Function -hi def link aflexPatComment Comment -hi def link aflexPatString Function -hi def link aflexPatTag Special -hi def link aflexSep Delimiter - -let b:current_syntax = "aflex" - -" vim:ts=10 diff --git a/uvim/runtime/syntax/ahdl.mnv b/uvim/runtime/syntax/ahdl.mnv new file mode 100644 index 0000000000..c898a09505 --- /dev/null +++ b/uvim/runtime/syntax/ahdl.mnv @@ -0,0 +1,81 @@ +" MNV syn file +" Language: Altera AHDL +" Maintainer: John Cook +" Last Change: 2001 Apr 25 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +"this language is oblivious to case. +syn case ignore + +" a bunch of keywords +syn keyword ahdlKeyword assert begin bidir bits buried case clique +syn keyword ahdlKeyword connected_pins constant defaults define design +syn keyword ahdlKeyword device else elsif end for function generate +syn keyword ahdlKeyword gnd help_id if in include input is machine +syn keyword ahdlKeyword node of options others output parameters +syn keyword ahdlKeyword returns states subdesign table then title to +syn keyword ahdlKeyword tri_state_node variable vcc when with + +" a bunch of types +syn keyword ahdlIdentifier carry cascade dffe dff exp global +syn keyword ahdlIdentifier jkffe jkff latch lcell mcell memory opendrn +syn keyword ahdlIdentifier soft srffe srff tffe tff tri wire x + +syn keyword ahdlMegafunction lpm_and lpm_bustri lpm_clshift lpm_constant +syn keyword ahdlMegafunction lpm_decode lpm_inv lpm_mux lpm_or lpm_xor +syn keyword ahdlMegafunction busmux mux + +syn keyword ahdlMegafunction divide lpm_abs lpm_add_sub lpm_compare +syn keyword ahdlMegafunction lpm_counter lpm_mult + +syn keyword ahdlMegafunction altdpram csfifo dcfifo scfifo csdpram lpm_ff +syn keyword ahdlMegafunction lpm_latch lpm_shiftreg lpm_ram_dq lpm_ram_io +syn keyword ahdlMegafunction lpm_rom lpm_dff lpm_tff clklock pll ntsc + +syn keyword ahdlTodo contained TODO + +" String constants +syn region ahdlString start=+"+ skip=+\\"+ end=+"+ + +" valid integer number formats (decimal, binary, octal, hex) +syn match ahdlNumber '\<\d\+\>' +syn match ahdlNumber '\=?:\^]" +syn keyword ahdlOperator not and nand or nor xor xnor +syn keyword ahdlOperator mod div log2 used ceil floor + +" one line and multi-line comments +" (define these after ahdlOperator so -- overrides -) +syn match ahdlComment "--.*" contains=ahdlNumber,ahdlTodo +syn region ahdlComment start="%" end="%" contains=ahdlNumber,ahdlTodo + +" other special characters +syn match ahdlSpecialChar "[\[\]().,;]" + +syn sync minlines=1 + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +" The default highlighting. +hi def link ahdlNumber ahdlString +hi def link ahdlMegafunction ahdlIdentifier +hi def link ahdlSpecialChar SpecialChar +hi def link ahdlKeyword Statement +hi def link ahdlString String +hi def link ahdlComment Comment +hi def link ahdlIdentifier Identifier +hi def link ahdlOperator Operator +hi def link ahdlTodo Todo + + +let b:current_syntax = "ahdl" +" mnv:ts=8 diff --git a/uvim/runtime/syntax/ahdl.vim b/uvim/runtime/syntax/ahdl.vim deleted file mode 100644 index 3a40dcfaea..0000000000 --- a/uvim/runtime/syntax/ahdl.vim +++ /dev/null @@ -1,81 +0,0 @@ -" Vim syn file -" Language: Altera AHDL -" Maintainer: John Cook -" Last Change: 2001 Apr 25 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -"this language is oblivious to case. -syn case ignore - -" a bunch of keywords -syn keyword ahdlKeyword assert begin bidir bits buried case clique -syn keyword ahdlKeyword connected_pins constant defaults define design -syn keyword ahdlKeyword device else elsif end for function generate -syn keyword ahdlKeyword gnd help_id if in include input is machine -syn keyword ahdlKeyword node of options others output parameters -syn keyword ahdlKeyword returns states subdesign table then title to -syn keyword ahdlKeyword tri_state_node variable vcc when with - -" a bunch of types -syn keyword ahdlIdentifier carry cascade dffe dff exp global -syn keyword ahdlIdentifier jkffe jkff latch lcell mcell memory opendrn -syn keyword ahdlIdentifier soft srffe srff tffe tff tri wire x - -syn keyword ahdlMegafunction lpm_and lpm_bustri lpm_clshift lpm_constant -syn keyword ahdlMegafunction lpm_decode lpm_inv lpm_mux lpm_or lpm_xor -syn keyword ahdlMegafunction busmux mux - -syn keyword ahdlMegafunction divide lpm_abs lpm_add_sub lpm_compare -syn keyword ahdlMegafunction lpm_counter lpm_mult - -syn keyword ahdlMegafunction altdpram csfifo dcfifo scfifo csdpram lpm_ff -syn keyword ahdlMegafunction lpm_latch lpm_shiftreg lpm_ram_dq lpm_ram_io -syn keyword ahdlMegafunction lpm_rom lpm_dff lpm_tff clklock pll ntsc - -syn keyword ahdlTodo contained TODO - -" String constants -syn region ahdlString start=+"+ skip=+\\"+ end=+"+ - -" valid integer number formats (decimal, binary, octal, hex) -syn match ahdlNumber '\<\d\+\>' -syn match ahdlNumber '\=?:\^]" -syn keyword ahdlOperator not and nand or nor xor xnor -syn keyword ahdlOperator mod div log2 used ceil floor - -" one line and multi-line comments -" (define these after ahdlOperator so -- overrides -) -syn match ahdlComment "--.*" contains=ahdlNumber,ahdlTodo -syn region ahdlComment start="%" end="%" contains=ahdlNumber,ahdlTodo - -" other special characters -syn match ahdlSpecialChar "[\[\]().,;]" - -syn sync minlines=1 - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -" The default highlighting. -hi def link ahdlNumber ahdlString -hi def link ahdlMegafunction ahdlIdentifier -hi def link ahdlSpecialChar SpecialChar -hi def link ahdlKeyword Statement -hi def link ahdlString String -hi def link ahdlComment Comment -hi def link ahdlIdentifier Identifier -hi def link ahdlOperator Operator -hi def link ahdlTodo Todo - - -let b:current_syntax = "ahdl" -" vim:ts=8 diff --git a/uvim/runtime/syntax/aidl.mnv b/uvim/runtime/syntax/aidl.mnv new file mode 100644 index 0000000000..2f89ef478b --- /dev/null +++ b/uvim/runtime/syntax/aidl.mnv @@ -0,0 +1,23 @@ +" MNV syntax file +" Language: aidl (Android Interface Definition Language) +" https://developer.android.com/guide/components/aidl +" Maintainer: Dominique Pelle +" LastChange: 2020/12/03 + +" Quit when a syntax file was already loaded. +if exists("b:current_syntax") + finish +endif + +source :p:h/java.mnv + +syn keyword aidlParamDir in out inout +syn keyword aidlKeyword const oneway parcelable + +" Needed for the 'in', 'out', 'inout' keywords to be highlighted. +syn cluster javaTop add=aidlParamDir + +hi def link aidlParamDir StorageClass +hi def link aidlKeyword Keyword + +let b:current_syntax = "aidl" diff --git a/uvim/runtime/syntax/aidl.vim b/uvim/runtime/syntax/aidl.vim deleted file mode 100644 index 3a79433aa9..0000000000 --- a/uvim/runtime/syntax/aidl.vim +++ /dev/null @@ -1,23 +0,0 @@ -" Vim syntax file -" Language: aidl (Android Interface Definition Language) -" https://developer.android.com/guide/components/aidl -" Maintainer: Dominique Pelle -" LastChange: 2020/12/03 - -" Quit when a syntax file was already loaded. -if exists("b:current_syntax") - finish -endif - -source :p:h/java.vim - -syn keyword aidlParamDir in out inout -syn keyword aidlKeyword const oneway parcelable - -" Needed for the 'in', 'out', 'inout' keywords to be highlighted. -syn cluster javaTop add=aidlParamDir - -hi def link aidlParamDir StorageClass -hi def link aidlKeyword Keyword - -let b:current_syntax = "aidl" diff --git a/uvim/runtime/syntax/alsaconf.mnv b/uvim/runtime/syntax/alsaconf.mnv new file mode 100644 index 0000000000..65fc448b3b --- /dev/null +++ b/uvim/runtime/syntax/alsaconf.mnv @@ -0,0 +1,49 @@ +" MNV syntax file +" Language: alsaconf(8) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2006-04-19 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn keyword alsoconfTodo contained FIXME TODO XXX NOTE + +syn region alsaconfComment display oneline + \ start='#' end='$' + \ contains=alsaconfTodo,@Spell + +syn match alsaconfSpecialChar contained display '\\[ntvbrf]' +syn match alsaconfSpecialChar contained display '\\\o\+' + +syn region alsaconfString start=+"+ skip=+\\$+ end=+"\|$+ + \ contains=alsaconfSpecialChar + +syn match alsaconfSpecial contained display 'confdir:' + +syn region alsaconfPreProc start='<' end='>' contains=alsaconfSpecial + +syn match alsaconfMode display '[+?!-]' + +syn keyword alsaconfKeyword card default device errors files func strings +syn keyword alsaconfKeyword subdevice type vars + +syn match alsaconfVariables display '@\(hooks\|func\|args\)' + +hi def link alsoconfTodo Todo +hi def link alsaconfComment Comment +hi def link alsaconfSpecialChar SpecialChar +hi def link alsaconfString String +hi def link alsaconfSpecial Special +hi def link alsaconfPreProc PreProc +hi def link alsaconfMode Special +hi def link alsaconfKeyword Keyword +hi def link alsaconfVariables Identifier + +let b:current_syntax = "alsaconf" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/alsaconf.vim b/uvim/runtime/syntax/alsaconf.vim deleted file mode 100644 index 143fcc0a2e..0000000000 --- a/uvim/runtime/syntax/alsaconf.vim +++ /dev/null @@ -1,49 +0,0 @@ -" Vim syntax file -" Language: alsaconf(8) configuration file -" Previous Maintainer: Nikolai Weibull -" Latest Revision: 2006-04-19 - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn keyword alsoconfTodo contained FIXME TODO XXX NOTE - -syn region alsaconfComment display oneline - \ start='#' end='$' - \ contains=alsaconfTodo,@Spell - -syn match alsaconfSpecialChar contained display '\\[ntvbrf]' -syn match alsaconfSpecialChar contained display '\\\o\+' - -syn region alsaconfString start=+"+ skip=+\\$+ end=+"\|$+ - \ contains=alsaconfSpecialChar - -syn match alsaconfSpecial contained display 'confdir:' - -syn region alsaconfPreProc start='<' end='>' contains=alsaconfSpecial - -syn match alsaconfMode display '[+?!-]' - -syn keyword alsaconfKeyword card default device errors files func strings -syn keyword alsaconfKeyword subdevice type vars - -syn match alsaconfVariables display '@\(hooks\|func\|args\)' - -hi def link alsoconfTodo Todo -hi def link alsaconfComment Comment -hi def link alsaconfSpecialChar SpecialChar -hi def link alsaconfString String -hi def link alsaconfSpecial Special -hi def link alsaconfPreProc PreProc -hi def link alsaconfMode Special -hi def link alsaconfKeyword Keyword -hi def link alsaconfVariables Identifier - -let b:current_syntax = "alsaconf" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/amiga.mnv b/uvim/runtime/syntax/amiga.mnv new file mode 100644 index 0000000000..0b00adce89 --- /dev/null +++ b/uvim/runtime/syntax/amiga.mnv @@ -0,0 +1,303 @@ +" MNV syntax file +" Language: AmigaDOS +" Maintainer: Ola Söder +" First Author: Charles E. Campbell +" Last Change: 2026 Mar 25 +" Version: 11 + +if exists("b:current_syntax") + finish +endif + +syn case ignore + +" Directives +syn match amiDirective "^\.\(key\|k\)\>.*$" contains=amiTemplate +syn match amiDirective "^\.\(bra\|ket\|dot\|dollar\|dol\|def\|default\)\>.*$" + +" Template arguments +syn match amiTemplate contained "/[AKSNMF]\>" + +" Strings +syn region amiString start=+"+ end=+"+ oneline contains=amiEscape,amiVar,amiSubst,@Spell + +" Escape sequences +syn match amiEscape contained "\*[nNeE"*]" + +" Numbers +syn match amiNumber "\<\d\+\>" + +" Variables +syn match amiVar "\$[a-zA-Z_][a-zA-Z0-9_]*" +syn match amiVar "\$\$" + +" Parameters +syn region amiSubst start="<\a" end=">" oneline contains=amiVar +syn match amiSubst "<\$\$>" + +" Devices / assigns / paths +syn match amiPath "\<[a-zA-Z][a-zA-Z0-9]*:[^ \t]*" + +" Redirection +syn match amiOperator ">>" +syn match amiOperator "[<>|]" + +" Control flow +syn region amiIfBlock matchgroup=amiConditional start="\" matchgroup=amiConditional end="\" contains=ALLBUT,amiIfError +syn keyword amiIfError ELSE ENDIF +syn keyword amiElse contained ELSE +syn keyword amiConditional SKIP ENDSKIP +syn keyword amiLabel LAB +syn keyword amiRepeat FOREACH + +" Conditions +syn keyword amiCondition contained NOT WARN ERROR FAIL EQ GT GE VAL EXISTS + +" Echo +syn region amiEcho matchgroup=amiCommand start="\" end="$" oneline contains=amiComment,amiVar,amiSubst,amiBacktick,amiEscape + +" Commands +syn keyword amiCommand ADDAUDIOMODES +syn keyword amiCommand ADDBUFFERS +syn keyword amiCommand ADDDATATYPES +syn keyword amiCommand ADDMONITOR +syn keyword amiCommand ADDNETINTERFACE +syn keyword amiCommand ADDNETROUTE +syn keyword amiCommand ALIAS +syn keyword amiCommand APPLISTINFO +syn keyword amiCommand ARP +syn keyword amiCommand ASK +syn keyword amiCommand ASSIGN +syn keyword amiCommand AVAIL +syn keyword amiCommand BINDDRIVERS +syn keyword amiCommand BINDMONITOR +syn keyword amiCommand BREAK +syn keyword amiCommand BUILDMAPTABLE +syn keyword amiCommand CACHESTAT +syn keyword amiCommand CD +syn keyword amiCommand CHANGETASKPRI +syn keyword amiCommand CHARSETCONVERT +syn keyword amiCommand CLIP +syn keyword amiCommand CLOCK +syn keyword amiCommand CMD +syn keyword amiCommand CONCLIP +syn keyword amiCommand CONFIGURENETINTERFACE +syn keyword amiCommand COPY +syn keyword amiCommand COUNTLINES +syn keyword amiCommand CPU +syn keyword amiCommand CROSSDOS +syn keyword amiCommand CUT +syn keyword amiCommand DATE +syn keyword amiCommand DELETE +syn keyword amiCommand DELETENETROUTE +syn keyword amiCommand DIR +syn keyword amiCommand DISKCHANGE +syn keyword amiCommand DISKCOPY +syn keyword amiCommand DISKDOCTOR +syn keyword amiCommand DISMOUNT +syn keyword amiCommand ENDCLI +syn keyword amiCommand ENDSHELL +syn keyword amiCommand EVAL +syn keyword amiCommand EXECUTE +syn keyword amiCommand FAILAT +syn keyword amiCommand FAULT +syn keyword amiCommand FDTOOL +syn keyword amiCommand FILENOTE +syn keyword amiCommand FILESIZE +syn keyword amiCommand FORMAT +syn keyword amiCommand GET +syn keyword amiCommand GETENV +syn keyword amiCommand GETNETSTATUS +syn keyword amiCommand GROUP +syn keyword amiCommand HELP +syn keyword amiCommand HI +syn keyword amiCommand HISTORY +syn keyword amiCommand IHELP +syn keyword amiCommand INFO +syn keyword amiCommand INITPRINTER +syn keyword amiCommand INPUT +syn keyword amiCommand INSTALL +syn keyword amiCommand INTELLIFONT +syn keyword amiCommand IPMON +syn keyword amiCommand IPNAT +syn keyword amiCommand JOIN +syn keyword amiCommand KDEBUG +syn keyword amiCommand LAB +syn keyword amiCommand LIST +syn keyword amiCommand LOADMONDRVS +syn keyword amiCommand LOADRESOURCE +syn keyword amiCommand LOADWB +syn keyword amiCommand LOCALE +syn keyword amiCommand LOCK +syn keyword amiCommand MAKEDIR +syn keyword amiCommand MAKELINK +syn keyword amiCommand MEMSTAT +syn keyword amiCommand MORE +syn keyword amiCommand MOUNT +syn keyword amiCommand MOUNTINFO +syn keyword amiCommand MOVE +syn keyword amiCommand NETLOGVIEWER +syn keyword amiCommand NETSHUTDOWN +syn keyword amiCommand NEWCLI +syn keyword amiCommand NEWSHELL +syn keyword amiCommand OWNER +syn keyword amiCommand PATH +syn keyword amiCommand PATHPART +syn keyword amiCommand PIPE +syn keyword amiCommand POINTER +syn keyword amiCommand POOLSTAT +syn keyword amiCommand POPCD +syn keyword amiCommand PREPCARD +syn keyword amiCommand PROMPT +syn keyword amiCommand PROTECT +syn keyword amiCommand PUSHCD +syn keyword amiCommand QUIT +syn keyword amiCommand REBOOT +syn keyword amiCommand RELABEL +syn keyword amiCommand RELOADAPPLIST +syn keyword amiCommand REMOVENETINTERFACE +syn keyword amiCommand REMRAD +syn keyword amiCommand RENAME +syn keyword amiCommand REQUESTCHOICE +syn keyword amiCommand REQUESTFILE +syn keyword amiCommand REQUESTSTRING +syn keyword amiCommand RESIDENT +syn keyword amiCommand ROADSHOWCONTROL +syn keyword amiCommand RUN +syn keyword amiCommand RX +syn keyword amiCommand RXC +syn keyword amiCommand RXLIB +syn keyword amiCommand RXSET +syn keyword amiCommand SAY +syn keyword amiCommand SEARCH +syn keyword amiCommand SET +syn keyword amiCommand SETCLOCK +syn keyword amiCommand SETDATE +syn keyword amiCommand SETDOSDEBUG +syn keyword amiCommand SETENV +syn keyword amiCommand SETFONT +syn keyword amiCommand SETFONTCHARSET +syn keyword amiCommand SETKEYBOARD +syn keyword amiCommand SETMAP +syn keyword amiCommand SETPATCH +syn keyword amiCommand SHOW68LOADS +syn keyword amiCommand SHOWAPPLIST +syn keyword amiCommand SHOWNETSTATUS +syn keyword amiCommand SMARTCTL +syn keyword amiCommand SORT +syn keyword amiCommand SOUNDPLAYER +syn keyword amiCommand STACK +syn keyword amiCommand STATUS +syn keyword amiCommand SWAPCD +syn keyword amiCommand TYPE +syn keyword amiCommand UNALIAS +syn keyword amiCommand UNSET +syn keyword amiCommand UNSETENV +syn keyword amiCommand UPTIME +syn keyword amiCommand URLOPEN +syn keyword amiCommand VERSION +syn keyword amiCommand WAIT +syn keyword amiCommand WAITFORPORT +syn keyword amiCommand WBRUN +syn keyword amiCommand WBSTARTUPCTRL +syn keyword amiCommand WHICH +syn keyword amiCommand WHY + +" Options +syn keyword amiOption ADD +syn keyword amiOption ALL +syn keyword amiOption APPEND +syn keyword amiOption BACK +syn keyword amiOption BODY +syn keyword amiOption BUF +syn keyword amiOption BUFFER +syn keyword amiOption CASE +syn keyword amiOption CHARSET +syn keyword amiOption CHECK +syn keyword amiOption CLEAR +syn keyword amiOption CLONE +syn keyword amiOption COPYLINKS +syn keyword amiOption DATES +syn keyword amiOption DEBUG +syn keyword amiOption DEVICE +syn keyword amiOption DIRS +syn keyword amiOption DRIVE +syn keyword amiOption FILE +syn keyword amiOption FILES +syn keyword amiOption FOLLOWLINKS +syn keyword amiOption FORCE +syn keyword amiOption FROM +syn keyword amiOption FULL +syn keyword amiOption HARD +syn keyword amiOption INTERACTIVE +syn keyword amiOption LFORMAT +syn keyword amiOption LOAD +syn keyword amiOption LOCK +syn keyword amiOption MULTI +syn keyword amiOption NAME +syn keyword amiOption NEGATIVE +syn keyword amiOption NOHEAD +syn keyword amiOption NONUM +syn keyword amiOption NOREPLACE +syn keyword amiOption NOREQ +syn keyword amiOption NUMERIC +syn keyword amiOption OFF +syn keyword amiOption ON +syn keyword amiOption PATTERN +syn keyword amiOption POSITIVE +syn keyword amiOption PREPEND +syn keyword amiOption PUBSCREEN +syn keyword amiOption QUICK +syn keyword amiOption QUIET +syn keyword amiOption REMOVE +syn keyword amiOption REPLACE +syn keyword amiOption RESET +syn keyword amiOption SAVE +syn keyword amiOption SHOW +syn keyword amiOption SINCE +syn keyword amiOption SOFT +syn keyword amiOption SORT +syn keyword amiOption SUB +syn keyword amiOption TIMEOUT +syn keyword amiOption TITLE +syn keyword amiOption TO +syn keyword amiOption UNLOCK +syn keyword amiOption UPTO +syn keyword amiOption VERBOSE +syn keyword amiOption WITH + +" Comments +syn match amiComment ";.*$" contains=amiTodo,@Spell +syn match amiComment "^\.\s.*$" contains=amiTodo,@Spell +syn match amiComment "^\.$" + +" Miscellaneous +syn keyword amiTodo contained TODO FIXME XXX NOTE +syn region amiBacktick start="`" end="`" oneline + +" Define the default highlighting. +if !exists("skip_amiga_syntax_inits") + hi def link amiBacktick Special + hi def link amiCommand Statement + hi def link amiComment Comment + hi def link amiCondition Special + hi def link amiConditional Conditional + hi def link amiDirective PreProc + hi def link amiEcho String + hi def link amiElse Conditional + hi def link amiEscape SpecialChar + hi def link amiIfError Error + hi def link amiLabel Label + hi def link amiNumber Number + hi def link amiOperator Operator + hi def link amiOption Identifier + hi def link amiPath Type + hi def link amiRepeat Repeat + hi def link amiString String + hi def link amiSubst Special + hi def link amiTemplate Type + hi def link amiTodo Todo + hi def link amiVar Special +endif + +let b:current_syntax = "amiga" diff --git a/uvim/runtime/syntax/amiga.vim b/uvim/runtime/syntax/amiga.vim deleted file mode 100644 index 858c1a430e..0000000000 --- a/uvim/runtime/syntax/amiga.vim +++ /dev/null @@ -1,303 +0,0 @@ -" Vim syntax file -" Language: AmigaDOS -" Maintainer: Ola Söder -" First Author: Charles E. Campbell -" Last Change: 2026 Mar 25 -" Version: 11 - -if exists("b:current_syntax") - finish -endif - -syn case ignore - -" Directives -syn match amiDirective "^\.\(key\|k\)\>.*$" contains=amiTemplate -syn match amiDirective "^\.\(bra\|ket\|dot\|dollar\|dol\|def\|default\)\>.*$" - -" Template arguments -syn match amiTemplate contained "/[AKSNMF]\>" - -" Strings -syn region amiString start=+"+ end=+"+ oneline contains=amiEscape,amiVar,amiSubst,@Spell - -" Escape sequences -syn match amiEscape contained "\*[nNeE"*]" - -" Numbers -syn match amiNumber "\<\d\+\>" - -" Variables -syn match amiVar "\$[a-zA-Z_][a-zA-Z0-9_]*" -syn match amiVar "\$\$" - -" Parameters -syn region amiSubst start="<\a" end=">" oneline contains=amiVar -syn match amiSubst "<\$\$>" - -" Devices / assigns / paths -syn match amiPath "\<[a-zA-Z][a-zA-Z0-9]*:[^ \t]*" - -" Redirection -syn match amiOperator ">>" -syn match amiOperator "[<>|]" - -" Control flow -syn region amiIfBlock matchgroup=amiConditional start="\" matchgroup=amiConditional end="\" contains=ALLBUT,amiIfError -syn keyword amiIfError ELSE ENDIF -syn keyword amiElse contained ELSE -syn keyword amiConditional SKIP ENDSKIP -syn keyword amiLabel LAB -syn keyword amiRepeat FOREACH - -" Conditions -syn keyword amiCondition contained NOT WARN ERROR FAIL EQ GT GE VAL EXISTS - -" Echo -syn region amiEcho matchgroup=amiCommand start="\" end="$" oneline contains=amiComment,amiVar,amiSubst,amiBacktick,amiEscape - -" Commands -syn keyword amiCommand ADDAUDIOMODES -syn keyword amiCommand ADDBUFFERS -syn keyword amiCommand ADDDATATYPES -syn keyword amiCommand ADDMONITOR -syn keyword amiCommand ADDNETINTERFACE -syn keyword amiCommand ADDNETROUTE -syn keyword amiCommand ALIAS -syn keyword amiCommand APPLISTINFO -syn keyword amiCommand ARP -syn keyword amiCommand ASK -syn keyword amiCommand ASSIGN -syn keyword amiCommand AVAIL -syn keyword amiCommand BINDDRIVERS -syn keyword amiCommand BINDMONITOR -syn keyword amiCommand BREAK -syn keyword amiCommand BUILDMAPTABLE -syn keyword amiCommand CACHESTAT -syn keyword amiCommand CD -syn keyword amiCommand CHANGETASKPRI -syn keyword amiCommand CHARSETCONVERT -syn keyword amiCommand CLIP -syn keyword amiCommand CLOCK -syn keyword amiCommand CMD -syn keyword amiCommand CONCLIP -syn keyword amiCommand CONFIGURENETINTERFACE -syn keyword amiCommand COPY -syn keyword amiCommand COUNTLINES -syn keyword amiCommand CPU -syn keyword amiCommand CROSSDOS -syn keyword amiCommand CUT -syn keyword amiCommand DATE -syn keyword amiCommand DELETE -syn keyword amiCommand DELETENETROUTE -syn keyword amiCommand DIR -syn keyword amiCommand DISKCHANGE -syn keyword amiCommand DISKCOPY -syn keyword amiCommand DISKDOCTOR -syn keyword amiCommand DISMOUNT -syn keyword amiCommand ENDCLI -syn keyword amiCommand ENDSHELL -syn keyword amiCommand EVAL -syn keyword amiCommand EXECUTE -syn keyword amiCommand FAILAT -syn keyword amiCommand FAULT -syn keyword amiCommand FDTOOL -syn keyword amiCommand FILENOTE -syn keyword amiCommand FILESIZE -syn keyword amiCommand FORMAT -syn keyword amiCommand GET -syn keyword amiCommand GETENV -syn keyword amiCommand GETNETSTATUS -syn keyword amiCommand GROUP -syn keyword amiCommand HELP -syn keyword amiCommand HI -syn keyword amiCommand HISTORY -syn keyword amiCommand IHELP -syn keyword amiCommand INFO -syn keyword amiCommand INITPRINTER -syn keyword amiCommand INPUT -syn keyword amiCommand INSTALL -syn keyword amiCommand INTELLIFONT -syn keyword amiCommand IPMON -syn keyword amiCommand IPNAT -syn keyword amiCommand JOIN -syn keyword amiCommand KDEBUG -syn keyword amiCommand LAB -syn keyword amiCommand LIST -syn keyword amiCommand LOADMONDRVS -syn keyword amiCommand LOADRESOURCE -syn keyword amiCommand LOADWB -syn keyword amiCommand LOCALE -syn keyword amiCommand LOCK -syn keyword amiCommand MAKEDIR -syn keyword amiCommand MAKELINK -syn keyword amiCommand MEMSTAT -syn keyword amiCommand MORE -syn keyword amiCommand MOUNT -syn keyword amiCommand MOUNTINFO -syn keyword amiCommand MOVE -syn keyword amiCommand NETLOGVIEWER -syn keyword amiCommand NETSHUTDOWN -syn keyword amiCommand NEWCLI -syn keyword amiCommand NEWSHELL -syn keyword amiCommand OWNER -syn keyword amiCommand PATH -syn keyword amiCommand PATHPART -syn keyword amiCommand PIPE -syn keyword amiCommand POINTER -syn keyword amiCommand POOLSTAT -syn keyword amiCommand POPCD -syn keyword amiCommand PREPCARD -syn keyword amiCommand PROMPT -syn keyword amiCommand PROTECT -syn keyword amiCommand PUSHCD -syn keyword amiCommand QUIT -syn keyword amiCommand REBOOT -syn keyword amiCommand RELABEL -syn keyword amiCommand RELOADAPPLIST -syn keyword amiCommand REMOVENETINTERFACE -syn keyword amiCommand REMRAD -syn keyword amiCommand RENAME -syn keyword amiCommand REQUESTCHOICE -syn keyword amiCommand REQUESTFILE -syn keyword amiCommand REQUESTSTRING -syn keyword amiCommand RESIDENT -syn keyword amiCommand ROADSHOWCONTROL -syn keyword amiCommand RUN -syn keyword amiCommand RX -syn keyword amiCommand RXC -syn keyword amiCommand RXLIB -syn keyword amiCommand RXSET -syn keyword amiCommand SAY -syn keyword amiCommand SEARCH -syn keyword amiCommand SET -syn keyword amiCommand SETCLOCK -syn keyword amiCommand SETDATE -syn keyword amiCommand SETDOSDEBUG -syn keyword amiCommand SETENV -syn keyword amiCommand SETFONT -syn keyword amiCommand SETFONTCHARSET -syn keyword amiCommand SETKEYBOARD -syn keyword amiCommand SETMAP -syn keyword amiCommand SETPATCH -syn keyword amiCommand SHOW68LOADS -syn keyword amiCommand SHOWAPPLIST -syn keyword amiCommand SHOWNETSTATUS -syn keyword amiCommand SMARTCTL -syn keyword amiCommand SORT -syn keyword amiCommand SOUNDPLAYER -syn keyword amiCommand STACK -syn keyword amiCommand STATUS -syn keyword amiCommand SWAPCD -syn keyword amiCommand TYPE -syn keyword amiCommand UNALIAS -syn keyword amiCommand UNSET -syn keyword amiCommand UNSETENV -syn keyword amiCommand UPTIME -syn keyword amiCommand URLOPEN -syn keyword amiCommand VERSION -syn keyword amiCommand WAIT -syn keyword amiCommand WAITFORPORT -syn keyword amiCommand WBRUN -syn keyword amiCommand WBSTARTUPCTRL -syn keyword amiCommand WHICH -syn keyword amiCommand WHY - -" Options -syn keyword amiOption ADD -syn keyword amiOption ALL -syn keyword amiOption APPEND -syn keyword amiOption BACK -syn keyword amiOption BODY -syn keyword amiOption BUF -syn keyword amiOption BUFFER -syn keyword amiOption CASE -syn keyword amiOption CHARSET -syn keyword amiOption CHECK -syn keyword amiOption CLEAR -syn keyword amiOption CLONE -syn keyword amiOption COPYLINKS -syn keyword amiOption DATES -syn keyword amiOption DEBUG -syn keyword amiOption DEVICE -syn keyword amiOption DIRS -syn keyword amiOption DRIVE -syn keyword amiOption FILE -syn keyword amiOption FILES -syn keyword amiOption FOLLOWLINKS -syn keyword amiOption FORCE -syn keyword amiOption FROM -syn keyword amiOption FULL -syn keyword amiOption HARD -syn keyword amiOption INTERACTIVE -syn keyword amiOption LFORMAT -syn keyword amiOption LOAD -syn keyword amiOption LOCK -syn keyword amiOption MULTI -syn keyword amiOption NAME -syn keyword amiOption NEGATIVE -syn keyword amiOption NOHEAD -syn keyword amiOption NONUM -syn keyword amiOption NOREPLACE -syn keyword amiOption NOREQ -syn keyword amiOption NUMERIC -syn keyword amiOption OFF -syn keyword amiOption ON -syn keyword amiOption PATTERN -syn keyword amiOption POSITIVE -syn keyword amiOption PREPEND -syn keyword amiOption PUBSCREEN -syn keyword amiOption QUICK -syn keyword amiOption QUIET -syn keyword amiOption REMOVE -syn keyword amiOption REPLACE -syn keyword amiOption RESET -syn keyword amiOption SAVE -syn keyword amiOption SHOW -syn keyword amiOption SINCE -syn keyword amiOption SOFT -syn keyword amiOption SORT -syn keyword amiOption SUB -syn keyword amiOption TIMEOUT -syn keyword amiOption TITLE -syn keyword amiOption TO -syn keyword amiOption UNLOCK -syn keyword amiOption UPTO -syn keyword amiOption VERBOSE -syn keyword amiOption WITH - -" Comments -syn match amiComment ";.*$" contains=amiTodo,@Spell -syn match amiComment "^\.\s.*$" contains=amiTodo,@Spell -syn match amiComment "^\.$" - -" Miscellaneous -syn keyword amiTodo contained TODO FIXME XXX NOTE -syn region amiBacktick start="`" end="`" oneline - -" Define the default highlighting. -if !exists("skip_amiga_syntax_inits") - hi def link amiBacktick Special - hi def link amiCommand Statement - hi def link amiComment Comment - hi def link amiCondition Special - hi def link amiConditional Conditional - hi def link amiDirective PreProc - hi def link amiEcho String - hi def link amiElse Conditional - hi def link amiEscape SpecialChar - hi def link amiIfError Error - hi def link amiLabel Label - hi def link amiNumber Number - hi def link amiOperator Operator - hi def link amiOption Identifier - hi def link amiPath Type - hi def link amiRepeat Repeat - hi def link amiString String - hi def link amiSubst Special - hi def link amiTemplate Type - hi def link amiTodo Todo - hi def link amiVar Special -endif - -let b:current_syntax = "amiga" diff --git a/uvim/runtime/syntax/aml.mnv b/uvim/runtime/syntax/aml.mnv new file mode 100644 index 0000000000..b5bfbdfdf8 --- /dev/null +++ b/uvim/runtime/syntax/aml.mnv @@ -0,0 +1,144 @@ +" MNV syntax file +" Language: AML (ARC/INFO Arc Macro Language) +" Written By: Nikki Knuit +" Maintainer: Todd Glover +" Last Change: 2001 May 10 + +" FUTURE CODING: Bold application commands after &sys, &tty +" Only highlight aml Functions at the beginning +" of [], in order to avoid -read highlighted, +" or [quote] strings highlighted + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn case ignore + +" ARC, ARCEDIT, ARCPLOT, LIBRARIAN, GRID, SCHEMAEDIT reserved words, +" defined as keywords. + +syn keyword amlArcCmd contained 2button abb abb[reviations] abs ac acos acosh add addc[ogoatt] addcogoatt addf[eatureclass] addh[istory] addi addim[age] addindexatt addit[em] additem addressb[uild] addressc[reate] addresse[rrors] addressedit addressm[atch] addressp[arse] addresst[est] addro[utemeasure] addroutemeasure addte[xt] addto[stack] addw[orktable] addx[y] adj[ust] adm[inlicense] adr[ggrid] ads adsa[rc] ae af ag[gregate] ai ai[request] airequest al alia[s] alig[n] alt[erarchive] am[sarc] and annoa[lignment] annoadd annocapture annocl[ip] annoco[verage] annocurve annoe[dit] annoedit annof annofeature annofit annoitem annola[yer] annole[vel] annolevel annoline annooffset annop[osition] annoplace annos[ize] annoselectfeatur annoset annosum annosymbol annot annot[ext] annotext annotype ao ap apm[ode] app[end] arc arcad[s] arcar[rows] arcc[ogo] arcdf[ad] arcdi[me] arcdl[g] arcdx[f] arced[it] arcedit arcen[dtext] arcf[ont] arcigd[s] arcige[s] arcla[bel] arcli[nes] arcma[rkers] arcmo[ss] +syn keyword amlArcCmd contained arcpl[ot] arcplot arcpo[int] arcr[oute] arcs arcsc[itex] arcse[ction] arcsh[ape] arcsl[f] arcsn[ap] arcsp[ot] arcte[xt] arctig[er] arctin arcto[ols] arctools arcty[pe] area areaq[uery] arm arrow arrows[ize] arrowt[ype] as asc asciig[rid] asciih[elp] asciihelp asco[nnect] asconnect asd asda[tabase] asdi[sconnect] asdisconnect asel[ect] asex[ecute] asf asin asinh asp[ect] asr[eadlocks] ast[race] at atan atan2 atanh atusage aud[ittrail] autoi[ncrement] autol[ink] axis axish[atch] axisl[abels] axisr[uler] axist[ext] bac[klocksymbol] backcoverage backenvironment backnodeangleite backsymbolitem backtextitem base[select] basi[n] bat[ch] bc be be[lls] blackout blockmaj[ority] blockmax blockmea[n] blockmed[ian] blockmin blockmino[rity] blockr[ange] blockst[d] blocksu[m] blockv[ariety] bnai bou[ndaryclean] box br[ief] bsi bti buf[fer] bug[form] bugform build builds[ta] buildv[at] calco[mp] calcomp calcu[late] cali[brateroutes] calibrateroutes can[d] cartr[ead] cartread +syn keyword amlArcCmd contained cartw[rite] cartwrite cei[l] cel[lvalue] cen[troidlabels] cgm cgme[scape] cha[nge] checkin checkinrel checkout checkoutrel chm[od] chown chownt[ransaction] chowntran chowntransaction ci ci[rcle] cir class classp[rob] classs[ig] classsample clean clear clears[elect] clip clipg[raphextent] clipm[apextent] clo[sedatabase] cntvrt co cod[efind] cog[oinverse] cogocom cogoenv cogomenu coll[ocate] color color2b[lue] color2g[reen] color2h[ue] color2r[ed] color2s[at] color2v[al] colorchart coloredit colorh[cbs] colorhcbs colu[mns] comb[ine] comm[ands] commands con connect connectu[ser] cons[ist] conto[ur] contr[olpoints] convertd[oc] convertdoc converti[mage] convertla[yer] convertli[brary] convertr[emap] convertw[orkspace] coo[rdinate] coordinate coordinates copy copyf[eatures] copyi[nfo] copyl[ayer] copyo copyo[ut] copyout copys[tack] copyw[orkspace] copyworkspace cor corr[idor] correlation cos cosh costa[llocation] costb[acklink] costd[istance] costp[ath] cou[ntvertices] +syn keyword amlArcCmd contained countvertices cpw cr create create2[dindex] createa[ttributes] createca[talog] createco[go] createcogo createf[eature] createind[ex] createinf[otable] createlab[els] createlay[er] createli[brary] createn[etindex] creater[emap] creates[ystables] createta[blespace] createti[n] createw[orkspace] createworkspace cs culdesac curs[or] curv[ature] curve3pt cut[fill] cutoff cw cx[or] da dar[cyflow] dat[aset] dba[seinfo] dbmsc dbmsc[ursor] dbmscursor dbmse[xecute] dbmsi[nfo] dbmss[et] de delete deletea[rrows] deletet[ic] deletew[orkspace] deleteworkspace demg[rid] deml[attice] dend[rogram] densify densifya[rc] describe describea[rchive] describel[attice] describeti[n] describetr[ans] describetrans dev df[adarc] dg dif[f] digi[tizer] digt[est] dim[earc] dir dir[ectory] directory disa[blepanzoom] disconnect disconnectu[ser] disp disp[lay] display dissolve dissolvee[vents] dissolveevents dista[nce] distr[ibutebuild] div dl[garc] do doce[ll] docu[ment] document dogroup drag +syn keyword amlArcCmd contained draw drawenvironment draworder draws[ig] drawselect drawt[raverses] drawz[oneshape] drop2[dindex] dropa[rchive] dropfeaturec[lass] dropfeatures dropfr[omstack] dropgroup droph[istory] dropind[ex] dropinf[otable] dropit[em] dropla[yer] droplib[rary] droplin[e] dropline dropn[etindex] dropt[ablespace] dropw[orktable] ds dt[edgrid] dtrans du[plicate] duplicatearcs dw dxf dxfa[rc] dxfi[nfo] dynamicpan dynpan ebe ec ed edg[esnap] edgematch editboundaryerro edit[coverage] editdistance editf editfeature editp[lot] editplot edits[ig] editsymbol ef el[iminate] em[f] en[d] envrst envsav ep[s] eq equ[alto] er[ase] es et et[akarc] euca[llocation] eucdir[ection] eucdis[tance] eval eventa[rc] evente[nds] eventh[atch] eventi[nfo] eventlinee[ndtext] eventlines eventlinet[ext] eventlis[t] eventma[rkers] eventme[nu] eventmenu eventpoint eventpointt[ext] eventse[ction] eventso[urce] eventt[ransform] eventtransform exi[t] exp exp1[0] exp2 expa[nd] expo[rt] exten[d] external externala[ll] +syn keyword amlArcCmd contained fd[convert] featuregroup fg fie[lddata] file fill filt[er] fix[ownership] flip flipa[ngle] float floatg[rid] floo[r] flowa[ccumulation] flowd[irection] flowl[ength] fm[od] focalf[low] focalmaj[ority] focalmax focalmea[n] focalmed[ian] focalmin focalmino[rity] focalr[ange] focalst[d] focalsu[m] focalv[ariety] fonta[rc] fontco[py] fontcr[eate] fontd[elete] fontdump fontl[oad] fontload forc[e] form[edit] formedit forms fr[equency] ge geary general[ize] generat[e] gerbera[rc] gerberr[ead] gerberread gerberw[rite] gerberwrite get getz[factor] gi gi[rasarc] gnds grai[n] graphb[ar] graphe[xtent] graphi[cs] graphicimage graphicview graphlim[its] graphlin[e] graphp[oint] graphs[hade] gray[shade] gre[aterthan] grid grida[scii] gridcl[ip] gridclip gridco[mposite] griddesk[ew] griddesp[eckle] griddi[rection] gride[dit] gridfli[p] gridflo[at] gridim[age] gridin[sert] gridl[ine] gridma[jority] gridmi[rror] gridmo[ss] gridn[et] gridnodatasymbol gridpa[int] gridpoi[nt] gridpol[y] +syn keyword amlArcCmd contained gridq[uery] gridr[otate] gridshad[es] gridshap[e] gridshi[ft] gridw[arp] group groupb[y] gt gv gv[tolerance] ha[rdcopy] he[lp] help hid[densymbol] hig[hlow] hil[lshade] his[togram] historicalview ho[ldadjust] hpgl hpgl2 hsv2b[lue] hsv2g[reen] hsv2r[ed] ht[ml] hview ia ided[it] identif[y] identit[y] idw if igdsa[rc] igdsi[nfo] ige[sarc] il[lustrator] illustrator image imageg[rid] imagep[lot] imageplot imageview imp[ort] in index indexi[tem] info infodba[se] infodbm[s] infof[ile] init90[00] init9100 init9100b init91[00] init95[00] int intersect intersectarcs intersecte[rr] isn[ull] iso[cluster] it[ems] iview j[oinitem] join keeps keepselect keyan[gle] keyar[ea] keyb[ox] keyf[orms] keyl[ine] keym keym[arker] keymap keyp[osition] keyse[paration] keysh[ade] keyspot kill killm[ap] kr[iging] la labela[ngle] labele[rrors] labelm[arkers] labels labelsc[ale] labelsp[ot] labelt[ext] lal latticecl[ip] latticeco[ntour] latticed[em] latticem[erge] latticemarkers latticeo[perate] +syn keyword amlArcCmd contained latticep[oly] latticerep[lace] latticeres[ample] lattices[pot] latticet[in] latticetext layer layera[nno] layerca[lculate] layerco[lumns] layerde[lete] layerdo[ts] layerdr[aw] layere[xport] layerf[ilter] layerid[entify] layerim[port] layerio[mode] layerli[st] layerloc[k] layerlog[file] layerq[uery] layerse[arch] layersp[ot] layert[ext] lc ldbmst le leadera[rrows] leaders leadersy[mbol] leadert[olerance] len[gth] les[sthan] lf lg lh li lib librari[an] library limitadjust limitautolink line line2pt linea[djustment] linecl[osureangle] linecolor linecolorr[amp] linecopy linecopyl[ayer] linedelete linedeletel[ayer] lineden[sity] linedir[ection] linedis[t] lineedit lineg[rid] lineh[ollow] lineinf[o] lineint[erval] linel[ayer] linelist linem[iterangle] lineo[ffset] linepa[ttern] linepe[n] linepu[t] linesa[ve] linesc[ale] linese[t] linesi[ze] linest[ats] linesy[mbol] linete[mplate] +syn keyword amlArcCmd contained linety[pe] link[s] linkfeatures list listarchives listatt listc[overages] listcoverages listdbmstables listg[rids] listgrids listhistory listi[mages] listimages listinfotables listlayers listlibraries listo[utput] listse[lect] listst[acks] liststacks listtablespaces listti[ns] listtins listtr[averses] listtran listtransactions listw[orkspaces] listworkspaces lit ll ll[sfit] lla lm ln load loada[djacent] loadcolormap locko[nly] locks[ymbol] log log1[0] log2 logf[ile] logg[ing] loo[kup] lot[area] lp[os] lstk lt lts lw madditem majority majorityf[ilter] makere[gion] makero[ute] makese[ction] makest[ack] mal[ign] map mapa[ngle] mape[xtent] mapextent mapi[nfo] mapj[oin] mapl[imits] mappo[sition] mappr[ojection] mapsc[ale] mapsh[ift] mapu[nits] mapw[arp] mapz[oom] marker markera[ngle] markercolor markercolorr[amp] markercopy markercopyl[ayer] markerdelete markerdeletel[aye] markeredit markerf[ont] markeri[nfo] markerl[ayer] markerlist markerm[ask] markero[ffset] +syn keyword amlArcCmd contained markerpa[ttern] markerpe[n] markerpu[t] markersa[ve] markersc[ale] markerse[t] markersi[ze] markersy[mbol] mas[elect] matchc[over] matchn[ode] max mb[egin] mc[opy] md[elete] me mean measure measurer[oute] measureroute med mend menu[cover] menuedit menv[ironment] merge mergeh[istory] mergev[at] mfi[t] mfr[esh] mg[roup] miadsa[rc] miadsr[ead] miadsread min minf[o] mino[rity] mir[ror] mitems mjoin ml[classify] mma[sk] mmo[ve] mn[select] mod mor[der] moran mosa[ic] mossa[rc] mossg[rid] move movee[nd] movei[tem] mp[osition] mr mr[otate] msc[ale] mse[lect] mselect mt[olerance] mu[nselect] multcurve multinv multipleadditem multipleitems multiplejoin multipleselect multprop mw[ho] nai ne near neatline neatlineg[rid] neatlineh[atch] neatlinel[abels] neatlinet[ics] new next ni[bble] nodeangleitem nodec[olor] nodee[rrors] nodem[arkers] nodep[oint] nodes nodesi[ze] nodesn[ap] nodesp[ot] nodet[ext] nor[mal] not ns[elect] oe ogrid ogridt[ool] oldwindow oo[ps] op[endatabase] or +syn keyword amlArcCmd contained osymbol over overflow overflowa[rea] overflowp[osition] overflows[eparati] overl[ayevents] overlapsymbol overlayevents overp[ost] pagee[xtent] pages[ize] pageu[nits] pal[info] pan panview par[ticletrack] patc[h] path[distance] pe[nsize] pi[ck] pli[st] plot plotcopy plotg[erber] ploti[con] plotmany plotpanel plotsc[itex] plotsi[f] pointde[nsity] pointdist pointdista[nce] pointdo[ts] pointg[rid] pointi[nterp] pointm[arkers] pointn[ode] points pointsp[ot] pointst[ats] pointt[ext] polygonb[ordertex] polygond[ots] polygone[vents] polygonevents polygonl[ines] polygons polygonsh[ades] polygonsi[zelimit] polygonsp[ot] polygont[ext] polygr[id] polyr[egion] pop[ularity] por[ouspuff] pos pos[tscript] positions postscript pow prec[ision] prep[are] princ[omp] print product producti[nfo] project projectcom[pare] projectcop[y] projectd[efine] pul[litems] pur[gehistory] put pv q q[uit] quit rand rang[e] rank rb rc re readg[raphic] reads[elect] reb[ox] recl[ass] recoverdb rect[ify] +syn keyword amlArcCmd contained red[o] refreshview regionb[uffer] regioncla[ss] regioncle[an] regiondi[ssolve] regiondo[ts] regione[rrors] regiong[roup] regionj[oin] regionl[ines] regionpoly regionpolyc[ount] regionpolycount regionpolyl[ist] regionpolylist regionq[uery] regions regionse[lect] regionsh[ades] regionsp[ot] regiont[ext] regionxa[rea] regionxarea regionxt[ab] regionxtab register registerd[bms] regr[ession] reindex rej[ects] rela[te] rele[ase] rem remapgrid reme[asure] remo[vescalar] remove removeback removecover removeedit removesnap removetransfer rename renamew[orkspace] renameworkspace reno[de] rep[lace] reposition resa[mple] resel[ect] reset resh[ape] restore restorearce[dit] restorearch[ive] resu[me] rgb2h[ue] rgb2s[at] rgb2v[al] rotate rotatep[lot] routea[rc] routeends routeendt[ext] routeer[rors] routeev[entspot] routeh[atch] routel[ines] routes routesp[ot] routest[ats] routet[ext] rp rs rt rt[l] rtl rv rw sa sai sample samples[ig] sav[e] savecolormap sc scal[ar] scat[tergram] +syn keyword amlArcCmd contained scenefog sceneformat scenehaze sceneoversample sceneroll scenesave scenesize scenesky scitexl[ine] scitexpoi[nt] scitexpol[y] scitexr[ead] scitexread scitexw[rite] scitexwrite sco screenr[estore] screens[ave] sd sds sdtse[xport] sdtsim[port] sdtsin[fo] sdtsl[ist] se sea[rchtolerance] sectiona[rc] sectionends sectionendt[ext] sectionh[atch] sectionl[ines] sections sectionsn[ap] sectionsp[ot] sectiont[ext] sel select selectb[ox] selectc[ircle] selectg[et] selectm[ask] selectmode selectpoi[nt] selectpol[ygon] selectpu[t] selectt[ype] selectw[ithin] semivariogram sep[arator] separator ser[verstatus] setan[gle] setar[row] setce[ll] setcoa[lesce] setcon[nectinfo] setd[bmscheckin] setdrawsymbol sete[ditmode] setincrement setm[ask] setn[ull] setools setreference setsymbol setturn setw[indow] sext sf sfmt sfo sha shade shadea[ngle] shadeb[ackcolor] shadecolor shadecolorr[amp] shadecopy shadecopyl[ayer] shadedelete shadedeletel[ayer] shadeedit shadegrid shadei[nfo] shadela[yer] +syn keyword amlArcCmd contained shadeli[nepattern] shadelist shadeo[ffset] shadepa[ttern] shadepe[n] shadepu[t] shadesa[ve] shadesc[ale] shadesep[aration] shadeset shadesi[ze] shadesy[mbol] shadet[ype] shapea[rc] shapef[ile] shapeg[rid] shi[ft] show showconstants showe[ditmode] shr[ink] si sin sinfo sing[leuser] sinh sink sit[e] sl slf[arc] sli[ce] slo[pe] sm smartanno snap snapc[over] snapcover snapcoverage snapenvironment snapfeatures snapitems snapo[rder] snappi[ng] snappo[ur] so[rt] sobs sos spi[der] spiraltrans spline splinem[ethod] split spot spoto[ffset] spots[ize] sproj sqr sqrt sra sre srl ss ssc ssh ssi ssky ssz sta stackh[istogram] stackprofile stacksc[attergram] stackshade stackst[ats] stati[stics] statu[s] statuscogo std stra[ighten] streamline streamlink streamo[rder] stri[pmap] subm[it] subs[elect] sum surface surfaceabbrev surfacecontours surfacedefaults surfacedrape surfaceextent surfaceinfo surfacel[ength] surfacelimits surfacemarker surfacemenu surfaceobserver surfaceprofile +syn keyword amlArcCmd contained surfaceprojectio surfacerange surfaceresolutio surfacesave surfacescene surfaceshade surfacesighting surfacetarget surfacevalue surfaceviewfield surfaceviewshed surfacevisibility surfacexsection surfacezoom surfacezscale sv svfd svs sxs symboldump symboli[tem] symbolsa[ve] symbolsc[ale] symbolse[t] symbolset sz tab[les] tal[ly] tan tanh tc te tes[t] text textal[ignment] textan[gle] textcolor textcolorr[amp] textcop[y] textde[lete] textdi[rection] textedit textfil[e] textfit textfo[nt] textin[fo] textit[em] textj[ustificatio] textlist textm[ask] texto[ffset] textpe[n] textpr[ecision] textpu[t] textq[uality] textsa[ve] textsc[ale] textse[t] textset textsi[ze] textsl[ant] textspa[cing] textspl[ine] textst[yle] textsy[mbol] tf th thie[ssen] thin ti tics tict[ext] tigera[rc] tigert[ool] tigertool til[es] timped tin tina[rc] tinc[ontour] tinerrors tinhull tinl[attice] tinlines tinmarkers tins[pot] tinshades tintext tinv[rml] tl tm tol[erance] top[ogrid] topogridtool +syn keyword amlArcCmd contained transa[ction] transfe[r] transfercoverage transferfeature transferitems transfersymbol transfo[rm] travrst travsav tre[nd] ts tsy tt tur[ntable] turnimpedance tut[orial] una[ry] unde[lete] undo ungenerate ungeneratet[in] unio[n] unit[s] unr[egisterdbms] unse[lect] unsp[lit] update updatei[nfoschema] updatel[abels] upo[s] us[age] v va[riety] vcgl vcgl2 veri[fy] vers[ion] vertex viewrst viewsav vip visd[ecode] visdecode vise[ncode] visencode visi[bility] vo[lume] vpfe[xport] vpfi[mport] vpfl[ist] vpft[ile] w war[p] wat[ershed] weedd[raw] weedo[perator] weedt[olerance] weedtolerance whe[re] whi[le] who wi[ndows] wm[f] wo[rkspace] workspace writec[andidates] writeg[raphic] writes[elect] wt x[or] ze[ta] zeta zi zo zonala[rea] zonalc[entroid] zonalf[ill] zonalg[eometry] zonalmaj[ority] zonalmax zonalmea[n] zonalmed[ian] zonalmin zonalmino[rity] zonalp[erimeter] zonalr[ange] zonalsta[ts] zonalstd zonalsu[m] zonalt[hickness] zonalv[ariety] zoomview zv + +" FORMEDIT reserved words, defined as keywords. + +syn keyword amlFormedCmd contained button choice display help input slider text + +" TABLES reserved words, defined as keywords. + +syn keyword amlTabCmd contained add additem alter asciihelp aselect at calc calculate change commands commit copy define directory dropindex dropitem erase external get help indexitem items kill list move nselect purge quit redefine rename reselect rollback save select show sort statistics unload update usagecontained + +" INFO reserved words, defined as keywords. + +syn keyword amlInfoCmd contained accept add adir alter dialog alter alt directory aret arithmetic expressions aselect automatic return calculate cchr change options change comi cominput commands list como comoutput compile concatenate controlling defaults copy cursor data delete data entry data manipulate data retrieval data update date format datafile create datafile management decode define delimiter dfmt directory management directory display do doend documentation done end environment erase execute exiting expand export external fc files first format forms control get goto help import input form ipf internal item types items label lchar list logical expressions log merge modify options modify move next nselect output password prif print programming program protect purge query quit recase redefine relate relate release notes remark rename report options reporting report reselect reserved words restrictions run save security select set sleep sort special form spool stop items system variables take terminal types terminal time topics list type update upf + +" VTRACE reserved words, defined as keywords. + +syn keyword amlVtrCmd contained add al arcscan arrowlength arrowwidth as aw backtrack branch bt cj clearjunction commands cs dash endofline endofsession eol eos fan fg foreground gap generalizetolerance gtol help hole js junctionsensitivity linesymbol linevariation linewidth ls lv lw markersymbol mode ms raster regionofinterest reset restore retrace roi save searchradius skip sr sta status stc std str straightenangle straightencorner straightendistance straightenrange vt vtrace + +" The AML reserved words, defined as keywords. + +syn keyword amlFunction contained abs access acos after angrad asin atan before calc close copy cos cover coverage cvtdistance date delete dignum dir directory entryname exist[s] exp extract file filelist format formatdate full getchar getchoice getcover getdatabase getdeflayers getfile getgrid getimage getitem getlayercols getlibrary getstack getsymbol gettin getunique iacclose iacconnect iacdisconnect iacopen iacrequest index indexed info invangle invdistance iteminfo joinfile keyword length listfile listitem listunique locase log max menu min mod noecho null okangle okdistance open pathname prefix query quote quoteexists r radang random read rename response round scratchname search show sin sort sqrt subst substr suffix tan task token translate trim truncate type unquote upcase username value variable verify write + +syn keyword amlDir contained abbreviations above all aml amlpath append arc args atool brief by call canvas cc center cl codepage commands conv_watch_to_aml coordinates cr create current cursor cwta dalines data date_format delete delvar describe dfmt digitizer display do doend dv echo else enable encode encrypt end error expansion fail file flushpoints force form format frame fullscreen function getlastpoint getpoint goto iacreturn if ignore info inform key keypad label lc left lf lg list listchar listfiles listglobal listheader listlocal listprogram listvar ll lp lr lv map matrix menu menupath menutype mess message[s] modal mouse nopaging off on others page pause pinaction popup position pt pulldown push pushpoint r repeat return right routine run runwatch rw screen seconds select self setchar severity show sidebar single size staggered station stop stripe sys system tablet tb terminal test then thread to top translate tty ty type uc ul until ur usage w warning watch when while window workspace + +syn keyword amlDir2 contained delvar dv s set setvar sv + +syn keyword amlOutput contained inform warning error pause stop tty ty type + + +" AML Directives: +syn match amlDirSym "&" +syn match amlDirective "&[a-zA-Z]*" contains=amlDir,amlDir2,amlDirSym + +" AML Functions +syn region amlFunc start="\[ *[a-zA-Z]*" end="\]" contains=amlFunction,amlVar +syn match amlFunc2 "\[.*\[.*\].*\]" contains=amlFunction,amlVar + +" Numbers: +"syn match amlNumber "-\=\<[0-9]*\.\=[0-9_]\>" + +" Quoted Strings: +syn region amlQuote start=+"+ skip=+\\"+ end=+"+ contains=amlVar +syn region amlQuote start=+'+ skip=+\\'+ end=+'+ + +" ARC Application Commands only selected at the beginning of the line, +" or after a one line &if &then statement +syn match amlAppCmd "^ *[a-zA-Z]*" contains=amlArcCmd,amlInfoCmd,amlTabCmd,amlVtrCmd,amlFormedCmd +syn region amlAppCmd start="&then" end="$" contains=amlArcCmd,amlFormedCmd,amlInfoCmd,amlTabCmd,amlVtrCmd,amlFunction,amlDirective,amlVar2,amlSkip,amlVar,amlComment + +" Variables +syn region amlVar start="%" end="%" +syn region amlVar start="%" end="%" contained +syn match amlVar2 "&s [a-zA-Z_.0-9]*" contains=amlDir2,amlDirSym +syn match amlVar2 "&sv [a-zA-Z_.0-9]*" contains=amlDir2,amlDirSym +syn match amlVar2 "&set [a-zA-Z_.0-9]*" contains=amlDir2,amlDirSym +syn match amlVar2 "&setvar [a-zA-Z_.0-9]*" contains=amlDir2,amlDirSym +syn match amlVar2 "&dv [a-zA-Z_.0-9]*" contains=amlDir2,amlDirSym +syn match amlVar2 "&delvar [a-zA-Z_.0-9]*" contains=amlDir2,amlDirSym + +" Formedit 2 word commands +syn match amlFormed "^ *check box" +syn match amlFormed "^ *data list" +syn match amlFormed "^ *symbol list" + +" Tables 2 word commands +syn match amlTab "^ *q stop" +syn match amlTab "^ *quit stop" + +" Comments: +syn match amlComment "/\*.*" + +" Regions for skipping over (not highlighting) program output strings: +syn region amlSkip matchgroup=amlOutput start="&call" end="$" contains=amlVar +syn region amlSkip matchgroup=amlOutput start="&routine" end="$" contains=amlVar +syn region amlSkip matchgroup=amlOutput start="&inform" end="$" contains=amlVar +syn region amlSkip matchgroup=amlOutput start="&return &inform" end="$" contains=amlVar +syn region amlSkip matchgroup=amlOutput start="&return &warning" end="$" contains=amlVar +syn region amlSkip matchgroup=amlOutput start="&return &error" end="$" contains=amlVar +syn region amlSkip matchgroup=amlOutput start="&pause" end="$" contains=amlVar +syn region amlSkip matchgroup=amlOutput start="&stop" end="$" contains=amlVar +syn region amlSkip matchgroup=amlOutput start="&tty" end="$" contains=amlVar +syn region amlSkip matchgroup=amlOutput start="&ty" end="$" contains=amlVar +syn region amlSkip matchgroup=amlOutput start="&typ" end="$" contains=amlVar +syn region amlSkip matchgroup=amlOutput start="&type" end="$" contains=amlVar + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link amlComment Comment +hi def link amlNumber Number +hi def link amlQuote String +hi def link amlVar Identifier +hi def link amlVar2 Identifier +hi def link amlFunction PreProc +hi def link amlDir Statement +hi def link amlDir2 Statement +hi def link amlDirSym Statement +hi def link amlOutput Statement +hi def link amlArcCmd ModeMsg +hi def link amlFormedCmd amlArcCmd +hi def link amlTabCmd amlArcCmd +hi def link amlInfoCmd amlArcCmd +hi def link amlVtrCmd amlArcCmd +hi def link amlFormed amlArcCmd +hi def link amlTab amlArcCmd + + +let b:current_syntax = "aml" diff --git a/uvim/runtime/syntax/aml.vim b/uvim/runtime/syntax/aml.vim deleted file mode 100644 index 46621edbe9..0000000000 --- a/uvim/runtime/syntax/aml.vim +++ /dev/null @@ -1,144 +0,0 @@ -" Vim syntax file -" Language: AML (ARC/INFO Arc Macro Language) -" Written By: Nikki Knuit -" Maintainer: Todd Glover -" Last Change: 2001 May 10 - -" FUTURE CODING: Bold application commands after &sys, &tty -" Only highlight aml Functions at the beginning -" of [], in order to avoid -read highlighted, -" or [quote] strings highlighted - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn case ignore - -" ARC, ARCEDIT, ARCPLOT, LIBRARIAN, GRID, SCHEMAEDIT reserved words, -" defined as keywords. - -syn keyword amlArcCmd contained 2button abb abb[reviations] abs ac acos acosh add addc[ogoatt] addcogoatt addf[eatureclass] addh[istory] addi addim[age] addindexatt addit[em] additem addressb[uild] addressc[reate] addresse[rrors] addressedit addressm[atch] addressp[arse] addresst[est] addro[utemeasure] addroutemeasure addte[xt] addto[stack] addw[orktable] addx[y] adj[ust] adm[inlicense] adr[ggrid] ads adsa[rc] ae af ag[gregate] ai ai[request] airequest al alia[s] alig[n] alt[erarchive] am[sarc] and annoa[lignment] annoadd annocapture annocl[ip] annoco[verage] annocurve annoe[dit] annoedit annof annofeature annofit annoitem annola[yer] annole[vel] annolevel annoline annooffset annop[osition] annoplace annos[ize] annoselectfeatur annoset annosum annosymbol annot annot[ext] annotext annotype ao ap apm[ode] app[end] arc arcad[s] arcar[rows] arcc[ogo] arcdf[ad] arcdi[me] arcdl[g] arcdx[f] arced[it] arcedit arcen[dtext] arcf[ont] arcigd[s] arcige[s] arcla[bel] arcli[nes] arcma[rkers] arcmo[ss] -syn keyword amlArcCmd contained arcpl[ot] arcplot arcpo[int] arcr[oute] arcs arcsc[itex] arcse[ction] arcsh[ape] arcsl[f] arcsn[ap] arcsp[ot] arcte[xt] arctig[er] arctin arcto[ols] arctools arcty[pe] area areaq[uery] arm arrow arrows[ize] arrowt[ype] as asc asciig[rid] asciih[elp] asciihelp asco[nnect] asconnect asd asda[tabase] asdi[sconnect] asdisconnect asel[ect] asex[ecute] asf asin asinh asp[ect] asr[eadlocks] ast[race] at atan atan2 atanh atusage aud[ittrail] autoi[ncrement] autol[ink] axis axish[atch] axisl[abels] axisr[uler] axist[ext] bac[klocksymbol] backcoverage backenvironment backnodeangleite backsymbolitem backtextitem base[select] basi[n] bat[ch] bc be be[lls] blackout blockmaj[ority] blockmax blockmea[n] blockmed[ian] blockmin blockmino[rity] blockr[ange] blockst[d] blocksu[m] blockv[ariety] bnai bou[ndaryclean] box br[ief] bsi bti buf[fer] bug[form] bugform build builds[ta] buildv[at] calco[mp] calcomp calcu[late] cali[brateroutes] calibrateroutes can[d] cartr[ead] cartread -syn keyword amlArcCmd contained cartw[rite] cartwrite cei[l] cel[lvalue] cen[troidlabels] cgm cgme[scape] cha[nge] checkin checkinrel checkout checkoutrel chm[od] chown chownt[ransaction] chowntran chowntransaction ci ci[rcle] cir class classp[rob] classs[ig] classsample clean clear clears[elect] clip clipg[raphextent] clipm[apextent] clo[sedatabase] cntvrt co cod[efind] cog[oinverse] cogocom cogoenv cogomenu coll[ocate] color color2b[lue] color2g[reen] color2h[ue] color2r[ed] color2s[at] color2v[al] colorchart coloredit colorh[cbs] colorhcbs colu[mns] comb[ine] comm[ands] commands con connect connectu[ser] cons[ist] conto[ur] contr[olpoints] convertd[oc] convertdoc converti[mage] convertla[yer] convertli[brary] convertr[emap] convertw[orkspace] coo[rdinate] coordinate coordinates copy copyf[eatures] copyi[nfo] copyl[ayer] copyo copyo[ut] copyout copys[tack] copyw[orkspace] copyworkspace cor corr[idor] correlation cos cosh costa[llocation] costb[acklink] costd[istance] costp[ath] cou[ntvertices] -syn keyword amlArcCmd contained countvertices cpw cr create create2[dindex] createa[ttributes] createca[talog] createco[go] createcogo createf[eature] createind[ex] createinf[otable] createlab[els] createlay[er] createli[brary] createn[etindex] creater[emap] creates[ystables] createta[blespace] createti[n] createw[orkspace] createworkspace cs culdesac curs[or] curv[ature] curve3pt cut[fill] cutoff cw cx[or] da dar[cyflow] dat[aset] dba[seinfo] dbmsc dbmsc[ursor] dbmscursor dbmse[xecute] dbmsi[nfo] dbmss[et] de delete deletea[rrows] deletet[ic] deletew[orkspace] deleteworkspace demg[rid] deml[attice] dend[rogram] densify densifya[rc] describe describea[rchive] describel[attice] describeti[n] describetr[ans] describetrans dev df[adarc] dg dif[f] digi[tizer] digt[est] dim[earc] dir dir[ectory] directory disa[blepanzoom] disconnect disconnectu[ser] disp disp[lay] display dissolve dissolvee[vents] dissolveevents dista[nce] distr[ibutebuild] div dl[garc] do doce[ll] docu[ment] document dogroup drag -syn keyword amlArcCmd contained draw drawenvironment draworder draws[ig] drawselect drawt[raverses] drawz[oneshape] drop2[dindex] dropa[rchive] dropfeaturec[lass] dropfeatures dropfr[omstack] dropgroup droph[istory] dropind[ex] dropinf[otable] dropit[em] dropla[yer] droplib[rary] droplin[e] dropline dropn[etindex] dropt[ablespace] dropw[orktable] ds dt[edgrid] dtrans du[plicate] duplicatearcs dw dxf dxfa[rc] dxfi[nfo] dynamicpan dynpan ebe ec ed edg[esnap] edgematch editboundaryerro edit[coverage] editdistance editf editfeature editp[lot] editplot edits[ig] editsymbol ef el[iminate] em[f] en[d] envrst envsav ep[s] eq equ[alto] er[ase] es et et[akarc] euca[llocation] eucdir[ection] eucdis[tance] eval eventa[rc] evente[nds] eventh[atch] eventi[nfo] eventlinee[ndtext] eventlines eventlinet[ext] eventlis[t] eventma[rkers] eventme[nu] eventmenu eventpoint eventpointt[ext] eventse[ction] eventso[urce] eventt[ransform] eventtransform exi[t] exp exp1[0] exp2 expa[nd] expo[rt] exten[d] external externala[ll] -syn keyword amlArcCmd contained fd[convert] featuregroup fg fie[lddata] file fill filt[er] fix[ownership] flip flipa[ngle] float floatg[rid] floo[r] flowa[ccumulation] flowd[irection] flowl[ength] fm[od] focalf[low] focalmaj[ority] focalmax focalmea[n] focalmed[ian] focalmin focalmino[rity] focalr[ange] focalst[d] focalsu[m] focalv[ariety] fonta[rc] fontco[py] fontcr[eate] fontd[elete] fontdump fontl[oad] fontload forc[e] form[edit] formedit forms fr[equency] ge geary general[ize] generat[e] gerbera[rc] gerberr[ead] gerberread gerberw[rite] gerberwrite get getz[factor] gi gi[rasarc] gnds grai[n] graphb[ar] graphe[xtent] graphi[cs] graphicimage graphicview graphlim[its] graphlin[e] graphp[oint] graphs[hade] gray[shade] gre[aterthan] grid grida[scii] gridcl[ip] gridclip gridco[mposite] griddesk[ew] griddesp[eckle] griddi[rection] gride[dit] gridfli[p] gridflo[at] gridim[age] gridin[sert] gridl[ine] gridma[jority] gridmi[rror] gridmo[ss] gridn[et] gridnodatasymbol gridpa[int] gridpoi[nt] gridpol[y] -syn keyword amlArcCmd contained gridq[uery] gridr[otate] gridshad[es] gridshap[e] gridshi[ft] gridw[arp] group groupb[y] gt gv gv[tolerance] ha[rdcopy] he[lp] help hid[densymbol] hig[hlow] hil[lshade] his[togram] historicalview ho[ldadjust] hpgl hpgl2 hsv2b[lue] hsv2g[reen] hsv2r[ed] ht[ml] hview ia ided[it] identif[y] identit[y] idw if igdsa[rc] igdsi[nfo] ige[sarc] il[lustrator] illustrator image imageg[rid] imagep[lot] imageplot imageview imp[ort] in index indexi[tem] info infodba[se] infodbm[s] infof[ile] init90[00] init9100 init9100b init91[00] init95[00] int intersect intersectarcs intersecte[rr] isn[ull] iso[cluster] it[ems] iview j[oinitem] join keeps keepselect keyan[gle] keyar[ea] keyb[ox] keyf[orms] keyl[ine] keym keym[arker] keymap keyp[osition] keyse[paration] keysh[ade] keyspot kill killm[ap] kr[iging] la labela[ngle] labele[rrors] labelm[arkers] labels labelsc[ale] labelsp[ot] labelt[ext] lal latticecl[ip] latticeco[ntour] latticed[em] latticem[erge] latticemarkers latticeo[perate] -syn keyword amlArcCmd contained latticep[oly] latticerep[lace] latticeres[ample] lattices[pot] latticet[in] latticetext layer layera[nno] layerca[lculate] layerco[lumns] layerde[lete] layerdo[ts] layerdr[aw] layere[xport] layerf[ilter] layerid[entify] layerim[port] layerio[mode] layerli[st] layerloc[k] layerlog[file] layerq[uery] layerse[arch] layersp[ot] layert[ext] lc ldbmst le leadera[rrows] leaders leadersy[mbol] leadert[olerance] len[gth] les[sthan] lf lg lh li lib librari[an] library limitadjust limitautolink line line2pt linea[djustment] linecl[osureangle] linecolor linecolorr[amp] linecopy linecopyl[ayer] linedelete linedeletel[ayer] lineden[sity] linedir[ection] linedis[t] lineedit lineg[rid] lineh[ollow] lineinf[o] lineint[erval] linel[ayer] linelist linem[iterangle] lineo[ffset] linepa[ttern] linepe[n] linepu[t] linesa[ve] linesc[ale] linese[t] linesi[ze] linest[ats] linesy[mbol] linete[mplate] -syn keyword amlArcCmd contained linety[pe] link[s] linkfeatures list listarchives listatt listc[overages] listcoverages listdbmstables listg[rids] listgrids listhistory listi[mages] listimages listinfotables listlayers listlibraries listo[utput] listse[lect] listst[acks] liststacks listtablespaces listti[ns] listtins listtr[averses] listtran listtransactions listw[orkspaces] listworkspaces lit ll ll[sfit] lla lm ln load loada[djacent] loadcolormap locko[nly] locks[ymbol] log log1[0] log2 logf[ile] logg[ing] loo[kup] lot[area] lp[os] lstk lt lts lw madditem majority majorityf[ilter] makere[gion] makero[ute] makese[ction] makest[ack] mal[ign] map mapa[ngle] mape[xtent] mapextent mapi[nfo] mapj[oin] mapl[imits] mappo[sition] mappr[ojection] mapsc[ale] mapsh[ift] mapu[nits] mapw[arp] mapz[oom] marker markera[ngle] markercolor markercolorr[amp] markercopy markercopyl[ayer] markerdelete markerdeletel[aye] markeredit markerf[ont] markeri[nfo] markerl[ayer] markerlist markerm[ask] markero[ffset] -syn keyword amlArcCmd contained markerpa[ttern] markerpe[n] markerpu[t] markersa[ve] markersc[ale] markerse[t] markersi[ze] markersy[mbol] mas[elect] matchc[over] matchn[ode] max mb[egin] mc[opy] md[elete] me mean measure measurer[oute] measureroute med mend menu[cover] menuedit menv[ironment] merge mergeh[istory] mergev[at] mfi[t] mfr[esh] mg[roup] miadsa[rc] miadsr[ead] miadsread min minf[o] mino[rity] mir[ror] mitems mjoin ml[classify] mma[sk] mmo[ve] mn[select] mod mor[der] moran mosa[ic] mossa[rc] mossg[rid] move movee[nd] movei[tem] mp[osition] mr mr[otate] msc[ale] mse[lect] mselect mt[olerance] mu[nselect] multcurve multinv multipleadditem multipleitems multiplejoin multipleselect multprop mw[ho] nai ne near neatline neatlineg[rid] neatlineh[atch] neatlinel[abels] neatlinet[ics] new next ni[bble] nodeangleitem nodec[olor] nodee[rrors] nodem[arkers] nodep[oint] nodes nodesi[ze] nodesn[ap] nodesp[ot] nodet[ext] nor[mal] not ns[elect] oe ogrid ogridt[ool] oldwindow oo[ps] op[endatabase] or -syn keyword amlArcCmd contained osymbol over overflow overflowa[rea] overflowp[osition] overflows[eparati] overl[ayevents] overlapsymbol overlayevents overp[ost] pagee[xtent] pages[ize] pageu[nits] pal[info] pan panview par[ticletrack] patc[h] path[distance] pe[nsize] pi[ck] pli[st] plot plotcopy plotg[erber] ploti[con] plotmany plotpanel plotsc[itex] plotsi[f] pointde[nsity] pointdist pointdista[nce] pointdo[ts] pointg[rid] pointi[nterp] pointm[arkers] pointn[ode] points pointsp[ot] pointst[ats] pointt[ext] polygonb[ordertex] polygond[ots] polygone[vents] polygonevents polygonl[ines] polygons polygonsh[ades] polygonsi[zelimit] polygonsp[ot] polygont[ext] polygr[id] polyr[egion] pop[ularity] por[ouspuff] pos pos[tscript] positions postscript pow prec[ision] prep[are] princ[omp] print product producti[nfo] project projectcom[pare] projectcop[y] projectd[efine] pul[litems] pur[gehistory] put pv q q[uit] quit rand rang[e] rank rb rc re readg[raphic] reads[elect] reb[ox] recl[ass] recoverdb rect[ify] -syn keyword amlArcCmd contained red[o] refreshview regionb[uffer] regioncla[ss] regioncle[an] regiondi[ssolve] regiondo[ts] regione[rrors] regiong[roup] regionj[oin] regionl[ines] regionpoly regionpolyc[ount] regionpolycount regionpolyl[ist] regionpolylist regionq[uery] regions regionse[lect] regionsh[ades] regionsp[ot] regiont[ext] regionxa[rea] regionxarea regionxt[ab] regionxtab register registerd[bms] regr[ession] reindex rej[ects] rela[te] rele[ase] rem remapgrid reme[asure] remo[vescalar] remove removeback removecover removeedit removesnap removetransfer rename renamew[orkspace] renameworkspace reno[de] rep[lace] reposition resa[mple] resel[ect] reset resh[ape] restore restorearce[dit] restorearch[ive] resu[me] rgb2h[ue] rgb2s[at] rgb2v[al] rotate rotatep[lot] routea[rc] routeends routeendt[ext] routeer[rors] routeev[entspot] routeh[atch] routel[ines] routes routesp[ot] routest[ats] routet[ext] rp rs rt rt[l] rtl rv rw sa sai sample samples[ig] sav[e] savecolormap sc scal[ar] scat[tergram] -syn keyword amlArcCmd contained scenefog sceneformat scenehaze sceneoversample sceneroll scenesave scenesize scenesky scitexl[ine] scitexpoi[nt] scitexpol[y] scitexr[ead] scitexread scitexw[rite] scitexwrite sco screenr[estore] screens[ave] sd sds sdtse[xport] sdtsim[port] sdtsin[fo] sdtsl[ist] se sea[rchtolerance] sectiona[rc] sectionends sectionendt[ext] sectionh[atch] sectionl[ines] sections sectionsn[ap] sectionsp[ot] sectiont[ext] sel select selectb[ox] selectc[ircle] selectg[et] selectm[ask] selectmode selectpoi[nt] selectpol[ygon] selectpu[t] selectt[ype] selectw[ithin] semivariogram sep[arator] separator ser[verstatus] setan[gle] setar[row] setce[ll] setcoa[lesce] setcon[nectinfo] setd[bmscheckin] setdrawsymbol sete[ditmode] setincrement setm[ask] setn[ull] setools setreference setsymbol setturn setw[indow] sext sf sfmt sfo sha shade shadea[ngle] shadeb[ackcolor] shadecolor shadecolorr[amp] shadecopy shadecopyl[ayer] shadedelete shadedeletel[ayer] shadeedit shadegrid shadei[nfo] shadela[yer] -syn keyword amlArcCmd contained shadeli[nepattern] shadelist shadeo[ffset] shadepa[ttern] shadepe[n] shadepu[t] shadesa[ve] shadesc[ale] shadesep[aration] shadeset shadesi[ze] shadesy[mbol] shadet[ype] shapea[rc] shapef[ile] shapeg[rid] shi[ft] show showconstants showe[ditmode] shr[ink] si sin sinfo sing[leuser] sinh sink sit[e] sl slf[arc] sli[ce] slo[pe] sm smartanno snap snapc[over] snapcover snapcoverage snapenvironment snapfeatures snapitems snapo[rder] snappi[ng] snappo[ur] so[rt] sobs sos spi[der] spiraltrans spline splinem[ethod] split spot spoto[ffset] spots[ize] sproj sqr sqrt sra sre srl ss ssc ssh ssi ssky ssz sta stackh[istogram] stackprofile stacksc[attergram] stackshade stackst[ats] stati[stics] statu[s] statuscogo std stra[ighten] streamline streamlink streamo[rder] stri[pmap] subm[it] subs[elect] sum surface surfaceabbrev surfacecontours surfacedefaults surfacedrape surfaceextent surfaceinfo surfacel[ength] surfacelimits surfacemarker surfacemenu surfaceobserver surfaceprofile -syn keyword amlArcCmd contained surfaceprojectio surfacerange surfaceresolutio surfacesave surfacescene surfaceshade surfacesighting surfacetarget surfacevalue surfaceviewfield surfaceviewshed surfacevisibility surfacexsection surfacezoom surfacezscale sv svfd svs sxs symboldump symboli[tem] symbolsa[ve] symbolsc[ale] symbolse[t] symbolset sz tab[les] tal[ly] tan tanh tc te tes[t] text textal[ignment] textan[gle] textcolor textcolorr[amp] textcop[y] textde[lete] textdi[rection] textedit textfil[e] textfit textfo[nt] textin[fo] textit[em] textj[ustificatio] textlist textm[ask] texto[ffset] textpe[n] textpr[ecision] textpu[t] textq[uality] textsa[ve] textsc[ale] textse[t] textset textsi[ze] textsl[ant] textspa[cing] textspl[ine] textst[yle] textsy[mbol] tf th thie[ssen] thin ti tics tict[ext] tigera[rc] tigert[ool] tigertool til[es] timped tin tina[rc] tinc[ontour] tinerrors tinhull tinl[attice] tinlines tinmarkers tins[pot] tinshades tintext tinv[rml] tl tm tol[erance] top[ogrid] topogridtool -syn keyword amlArcCmd contained transa[ction] transfe[r] transfercoverage transferfeature transferitems transfersymbol transfo[rm] travrst travsav tre[nd] ts tsy tt tur[ntable] turnimpedance tut[orial] una[ry] unde[lete] undo ungenerate ungeneratet[in] unio[n] unit[s] unr[egisterdbms] unse[lect] unsp[lit] update updatei[nfoschema] updatel[abels] upo[s] us[age] v va[riety] vcgl vcgl2 veri[fy] vers[ion] vertex viewrst viewsav vip visd[ecode] visdecode vise[ncode] visencode visi[bility] vo[lume] vpfe[xport] vpfi[mport] vpfl[ist] vpft[ile] w war[p] wat[ershed] weedd[raw] weedo[perator] weedt[olerance] weedtolerance whe[re] whi[le] who wi[ndows] wm[f] wo[rkspace] workspace writec[andidates] writeg[raphic] writes[elect] wt x[or] ze[ta] zeta zi zo zonala[rea] zonalc[entroid] zonalf[ill] zonalg[eometry] zonalmaj[ority] zonalmax zonalmea[n] zonalmed[ian] zonalmin zonalmino[rity] zonalp[erimeter] zonalr[ange] zonalsta[ts] zonalstd zonalsu[m] zonalt[hickness] zonalv[ariety] zoomview zv - -" FORMEDIT reserved words, defined as keywords. - -syn keyword amlFormedCmd contained button choice display help input slider text - -" TABLES reserved words, defined as keywords. - -syn keyword amlTabCmd contained add additem alter asciihelp aselect at calc calculate change commands commit copy define directory dropindex dropitem erase external get help indexitem items kill list move nselect purge quit redefine rename reselect rollback save select show sort statistics unload update usagecontained - -" INFO reserved words, defined as keywords. - -syn keyword amlInfoCmd contained accept add adir alter dialog alter alt directory aret arithmetic expressions aselect automatic return calculate cchr change options change comi cominput commands list como comoutput compile concatenate controlling defaults copy cursor data delete data entry data manipulate data retrieval data update date format datafile create datafile management decode define delimiter dfmt directory management directory display do doend documentation done end environment erase execute exiting expand export external fc files first format forms control get goto help import input form ipf internal item types items label lchar list logical expressions log merge modify options modify move next nselect output password prif print programming program protect purge query quit recase redefine relate relate release notes remark rename report options reporting report reselect reserved words restrictions run save security select set sleep sort special form spool stop items system variables take terminal types terminal time topics list type update upf - -" VTRACE reserved words, defined as keywords. - -syn keyword amlVtrCmd contained add al arcscan arrowlength arrowwidth as aw backtrack branch bt cj clearjunction commands cs dash endofline endofsession eol eos fan fg foreground gap generalizetolerance gtol help hole js junctionsensitivity linesymbol linevariation linewidth ls lv lw markersymbol mode ms raster regionofinterest reset restore retrace roi save searchradius skip sr sta status stc std str straightenangle straightencorner straightendistance straightenrange vt vtrace - -" The AML reserved words, defined as keywords. - -syn keyword amlFunction contained abs access acos after angrad asin atan before calc close copy cos cover coverage cvtdistance date delete dignum dir directory entryname exist[s] exp extract file filelist format formatdate full getchar getchoice getcover getdatabase getdeflayers getfile getgrid getimage getitem getlayercols getlibrary getstack getsymbol gettin getunique iacclose iacconnect iacdisconnect iacopen iacrequest index indexed info invangle invdistance iteminfo joinfile keyword length listfile listitem listunique locase log max menu min mod noecho null okangle okdistance open pathname prefix query quote quoteexists r radang random read rename response round scratchname search show sin sort sqrt subst substr suffix tan task token translate trim truncate type unquote upcase username value variable verify write - -syn keyword amlDir contained abbreviations above all aml amlpath append arc args atool brief by call canvas cc center cl codepage commands conv_watch_to_aml coordinates cr create current cursor cwta dalines data date_format delete delvar describe dfmt digitizer display do doend dv echo else enable encode encrypt end error expansion fail file flushpoints force form format frame fullscreen function getlastpoint getpoint goto iacreturn if ignore info inform key keypad label lc left lf lg list listchar listfiles listglobal listheader listlocal listprogram listvar ll lp lr lv map matrix menu menupath menutype mess message[s] modal mouse nopaging off on others page pause pinaction popup position pt pulldown push pushpoint r repeat return right routine run runwatch rw screen seconds select self setchar severity show sidebar single size staggered station stop stripe sys system tablet tb terminal test then thread to top translate tty ty type uc ul until ur usage w warning watch when while window workspace - -syn keyword amlDir2 contained delvar dv s set setvar sv - -syn keyword amlOutput contained inform warning error pause stop tty ty type - - -" AML Directives: -syn match amlDirSym "&" -syn match amlDirective "&[a-zA-Z]*" contains=amlDir,amlDir2,amlDirSym - -" AML Functions -syn region amlFunc start="\[ *[a-zA-Z]*" end="\]" contains=amlFunction,amlVar -syn match amlFunc2 "\[.*\[.*\].*\]" contains=amlFunction,amlVar - -" Numbers: -"syn match amlNumber "-\=\<[0-9]*\.\=[0-9_]\>" - -" Quoted Strings: -syn region amlQuote start=+"+ skip=+\\"+ end=+"+ contains=amlVar -syn region amlQuote start=+'+ skip=+\\'+ end=+'+ - -" ARC Application Commands only selected at the beginning of the line, -" or after a one line &if &then statement -syn match amlAppCmd "^ *[a-zA-Z]*" contains=amlArcCmd,amlInfoCmd,amlTabCmd,amlVtrCmd,amlFormedCmd -syn region amlAppCmd start="&then" end="$" contains=amlArcCmd,amlFormedCmd,amlInfoCmd,amlTabCmd,amlVtrCmd,amlFunction,amlDirective,amlVar2,amlSkip,amlVar,amlComment - -" Variables -syn region amlVar start="%" end="%" -syn region amlVar start="%" end="%" contained -syn match amlVar2 "&s [a-zA-Z_.0-9]*" contains=amlDir2,amlDirSym -syn match amlVar2 "&sv [a-zA-Z_.0-9]*" contains=amlDir2,amlDirSym -syn match amlVar2 "&set [a-zA-Z_.0-9]*" contains=amlDir2,amlDirSym -syn match amlVar2 "&setvar [a-zA-Z_.0-9]*" contains=amlDir2,amlDirSym -syn match amlVar2 "&dv [a-zA-Z_.0-9]*" contains=amlDir2,amlDirSym -syn match amlVar2 "&delvar [a-zA-Z_.0-9]*" contains=amlDir2,amlDirSym - -" Formedit 2 word commands -syn match amlFormed "^ *check box" -syn match amlFormed "^ *data list" -syn match amlFormed "^ *symbol list" - -" Tables 2 word commands -syn match amlTab "^ *q stop" -syn match amlTab "^ *quit stop" - -" Comments: -syn match amlComment "/\*.*" - -" Regions for skipping over (not highlighting) program output strings: -syn region amlSkip matchgroup=amlOutput start="&call" end="$" contains=amlVar -syn region amlSkip matchgroup=amlOutput start="&routine" end="$" contains=amlVar -syn region amlSkip matchgroup=amlOutput start="&inform" end="$" contains=amlVar -syn region amlSkip matchgroup=amlOutput start="&return &inform" end="$" contains=amlVar -syn region amlSkip matchgroup=amlOutput start="&return &warning" end="$" contains=amlVar -syn region amlSkip matchgroup=amlOutput start="&return &error" end="$" contains=amlVar -syn region amlSkip matchgroup=amlOutput start="&pause" end="$" contains=amlVar -syn region amlSkip matchgroup=amlOutput start="&stop" end="$" contains=amlVar -syn region amlSkip matchgroup=amlOutput start="&tty" end="$" contains=amlVar -syn region amlSkip matchgroup=amlOutput start="&ty" end="$" contains=amlVar -syn region amlSkip matchgroup=amlOutput start="&typ" end="$" contains=amlVar -syn region amlSkip matchgroup=amlOutput start="&type" end="$" contains=amlVar - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link amlComment Comment -hi def link amlNumber Number -hi def link amlQuote String -hi def link amlVar Identifier -hi def link amlVar2 Identifier -hi def link amlFunction PreProc -hi def link amlDir Statement -hi def link amlDir2 Statement -hi def link amlDirSym Statement -hi def link amlOutput Statement -hi def link amlArcCmd ModeMsg -hi def link amlFormedCmd amlArcCmd -hi def link amlTabCmd amlArcCmd -hi def link amlInfoCmd amlArcCmd -hi def link amlVtrCmd amlArcCmd -hi def link amlFormed amlArcCmd -hi def link amlTab amlArcCmd - - -let b:current_syntax = "aml" diff --git a/uvim/runtime/syntax/ampl.mnv b/uvim/runtime/syntax/ampl.mnv new file mode 100644 index 0000000000..fb57353d1b --- /dev/null +++ b/uvim/runtime/syntax/ampl.mnv @@ -0,0 +1,140 @@ +" Language: ampl (A Mathematical Programming Language) +" Maintainer: Krief David or +" Last Change: 2003 May 11 + + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + + + + +"-- +syn match amplEntityKeyword "\(subject to\)\|\(subj to\)\|\(s\.t\.\)" +syn keyword amplEntityKeyword minimize maximize objective + +syn keyword amplEntityKeyword coeff coef cover obj default +syn keyword amplEntityKeyword from to to_come net_in net_out +syn keyword amplEntityKeyword dimen dimension + + + +"-- +syn keyword amplType integer binary set param var +syn keyword amplType node ordered circular reversed symbolic +syn keyword amplType arc + + + +"-- +syn keyword amplStatement check close \display drop include +syn keyword amplStatement print printf quit reset restore +syn keyword amplStatement solve update write shell model +syn keyword amplStatement data option let solution fix +syn keyword amplStatement unfix end function pipe format + + + +"-- +syn keyword amplConditional if then else and or +syn keyword amplConditional exists forall in not within + + + +"-- +syn keyword amplRepeat while repeat for + + + +"-- +syn keyword amplOperators union diff difference symdiff sum +syn keyword amplOperators inter intersect intersection cross setof +syn keyword amplOperators by less mod div product +"syn keyword amplOperators min max +"conflict between functions max, min and operators max, min + +syn match amplBasicOperators "||\|<=\|==\|\^\|<\|=\|!\|-\|\.\.\|:=" +syn match amplBasicOperators "&&\|>=\|!=\|\*\|>\|:\|/\|+\|\*\*" + + + + +"-- +syn match amplComment "\#.*" +syn region amplComment start=+\/\*+ end=+\*\/+ + +syn region amplStrings start=+\'+ skip=+\\'+ end=+\'+ +syn region amplStrings start=+\"+ skip=+\\"+ end=+\"+ + +syn match amplNumerics "[+-]\=\<\d\+\(\.\d\+\)\=\([dDeE][-+]\=\d\+\)\=\>" +syn match amplNumerics "[+-]\=Infinity" + + +"-- +syn keyword amplSetFunction card next nextw prev prevw +syn keyword amplSetFunction first last member ord ord0 + +syn keyword amplBuiltInFunction abs acos acosh alias asin +syn keyword amplBuiltInFunction asinh atan atan2 atanh ceil +syn keyword amplBuiltInFunction cos exp floor log log10 +syn keyword amplBuiltInFunction max min precision round sin +syn keyword amplBuiltInFunction sinh sqrt tan tanh trunc + +syn keyword amplRandomGenerator Beta Cauchy Exponential Gamma Irand224 +syn keyword amplRandomGenerator Normal Poisson Uniform Uniform01 + + + +"-- to highlight the 'dot-suffixes' +syn match amplDotSuffix "\h\w*\.\(lb\|ub\)"hs=e-2 +syn match amplDotSuffix "\h\w*\.\(lb0\|lb1\|lb2\|lrc\|ub0\)"hs=e-3 +syn match amplDotSuffix "\h\w*\.\(ub1\|ub2\|urc\|val\|lbs\|ubs\)"hs=e-3 +syn match amplDotSuffix "\h\w*\.\(init\|body\|dinit\|dual\)"hs=e-4 +syn match amplDotSuffix "\h\w*\.\(init0\|ldual\|slack\|udual\)"hs=e-5 +syn match amplDotSuffix "\h\w*\.\(lslack\|uslack\|dinit0\)"hs=e-6 + + + +"-- +syn match amplPiecewise "<<\|>>" + + + +"-- Todo. +syn keyword amplTodo contained TODO FIXME XXX + + + + + + + + + + + +" The default methods for highlighting. Can be overridden later. +hi def link amplEntityKeyword Keyword +hi def link amplType Type +hi def link amplStatement Statement +hi def link amplOperators Operator +hi def link amplBasicOperators Operator +hi def link amplConditional Conditional +hi def link amplRepeat Repeat +hi def link amplStrings String +hi def link amplNumerics Number +hi def link amplSetFunction Function +hi def link amplBuiltInFunction Function +hi def link amplRandomGenerator Function +hi def link amplComment Comment +hi def link amplDotSuffix Special +hi def link amplPiecewise Special + + +let b:current_syntax = "ampl" + +" mnv: ts=8 + + diff --git a/uvim/runtime/syntax/ampl.vim b/uvim/runtime/syntax/ampl.vim deleted file mode 100644 index ad78f7d729..0000000000 --- a/uvim/runtime/syntax/ampl.vim +++ /dev/null @@ -1,140 +0,0 @@ -" Language: ampl (A Mathematical Programming Language) -" Maintainer: Krief David or -" Last Change: 2003 May 11 - - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - - - - -"-- -syn match amplEntityKeyword "\(subject to\)\|\(subj to\)\|\(s\.t\.\)" -syn keyword amplEntityKeyword minimize maximize objective - -syn keyword amplEntityKeyword coeff coef cover obj default -syn keyword amplEntityKeyword from to to_come net_in net_out -syn keyword amplEntityKeyword dimen dimension - - - -"-- -syn keyword amplType integer binary set param var -syn keyword amplType node ordered circular reversed symbolic -syn keyword amplType arc - - - -"-- -syn keyword amplStatement check close \display drop include -syn keyword amplStatement print printf quit reset restore -syn keyword amplStatement solve update write shell model -syn keyword amplStatement data option let solution fix -syn keyword amplStatement unfix end function pipe format - - - -"-- -syn keyword amplConditional if then else and or -syn keyword amplConditional exists forall in not within - - - -"-- -syn keyword amplRepeat while repeat for - - - -"-- -syn keyword amplOperators union diff difference symdiff sum -syn keyword amplOperators inter intersect intersection cross setof -syn keyword amplOperators by less mod div product -"syn keyword amplOperators min max -"conflict between functions max, min and operators max, min - -syn match amplBasicOperators "||\|<=\|==\|\^\|<\|=\|!\|-\|\.\.\|:=" -syn match amplBasicOperators "&&\|>=\|!=\|\*\|>\|:\|/\|+\|\*\*" - - - - -"-- -syn match amplComment "\#.*" -syn region amplComment start=+\/\*+ end=+\*\/+ - -syn region amplStrings start=+\'+ skip=+\\'+ end=+\'+ -syn region amplStrings start=+\"+ skip=+\\"+ end=+\"+ - -syn match amplNumerics "[+-]\=\<\d\+\(\.\d\+\)\=\([dDeE][-+]\=\d\+\)\=\>" -syn match amplNumerics "[+-]\=Infinity" - - -"-- -syn keyword amplSetFunction card next nextw prev prevw -syn keyword amplSetFunction first last member ord ord0 - -syn keyword amplBuiltInFunction abs acos acosh alias asin -syn keyword amplBuiltInFunction asinh atan atan2 atanh ceil -syn keyword amplBuiltInFunction cos exp floor log log10 -syn keyword amplBuiltInFunction max min precision round sin -syn keyword amplBuiltInFunction sinh sqrt tan tanh trunc - -syn keyword amplRandomGenerator Beta Cauchy Exponential Gamma Irand224 -syn keyword amplRandomGenerator Normal Poisson Uniform Uniform01 - - - -"-- to highlight the 'dot-suffixes' -syn match amplDotSuffix "\h\w*\.\(lb\|ub\)"hs=e-2 -syn match amplDotSuffix "\h\w*\.\(lb0\|lb1\|lb2\|lrc\|ub0\)"hs=e-3 -syn match amplDotSuffix "\h\w*\.\(ub1\|ub2\|urc\|val\|lbs\|ubs\)"hs=e-3 -syn match amplDotSuffix "\h\w*\.\(init\|body\|dinit\|dual\)"hs=e-4 -syn match amplDotSuffix "\h\w*\.\(init0\|ldual\|slack\|udual\)"hs=e-5 -syn match amplDotSuffix "\h\w*\.\(lslack\|uslack\|dinit0\)"hs=e-6 - - - -"-- -syn match amplPiecewise "<<\|>>" - - - -"-- Todo. -syn keyword amplTodo contained TODO FIXME XXX - - - - - - - - - - - -" The default methods for highlighting. Can be overridden later. -hi def link amplEntityKeyword Keyword -hi def link amplType Type -hi def link amplStatement Statement -hi def link amplOperators Operator -hi def link amplBasicOperators Operator -hi def link amplConditional Conditional -hi def link amplRepeat Repeat -hi def link amplStrings String -hi def link amplNumerics Number -hi def link amplSetFunction Function -hi def link amplBuiltInFunction Function -hi def link amplRandomGenerator Function -hi def link amplComment Comment -hi def link amplDotSuffix Special -hi def link amplPiecewise Special - - -let b:current_syntax = "ampl" - -" vim: ts=8 - - diff --git a/uvim/runtime/syntax/ant.mnv b/uvim/runtime/syntax/ant.mnv new file mode 100644 index 0000000000..a38264e632 --- /dev/null +++ b/uvim/runtime/syntax/ant.mnv @@ -0,0 +1,97 @@ +" MNV syntax file +" Language: ANT build file (xml) +" Maintainer: Doug Kearns +" Previous Maintainer: Johannes Zellner +" Last Change: 2024 Jan 27 +" Filenames: build.xml + +" Quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:ant_cpo_save = &cpo +set cpo&mnv + +runtime! syntax/xml.mnv + +syn case ignore + +if !exists('*AntSyntaxScript') + fun AntSyntaxScript(tagname, synfilename) + unlet b:current_syntax + let s:include = expand(":p:h").'/'.a:synfilename + if filereadable(s:include) + exe 'syn include @ant'.a:tagname.' '.s:include + else + exe 'syn include @ant'.a:tagname." $MNVRUNTIME/syntax/".a:synfilename + endif + + exe 'syn region ant'.a:tagname + \." start=#]\\{-}language\\s*=\\s*['\"]".a:tagname."['\"]\\(>\\|[^>]*[^/>]>\\)#" + \.' end=##' + \.' fold' + \.' contains=@ant'.a:tagname.',xmlCdataStart,xmlCdataEnd,xmlTag,xmlEndTag' + \.' keepend' + exe 'syn cluster xmlRegionHook add=ant'.a:tagname + endfun +endif + +" TODO: add more script languages here ? +call AntSyntaxScript('javascript', 'javascript.mnv') +call AntSyntaxScript('jpython', 'python.mnv') + + +syn cluster xmlTagHook add=antElement + +syn keyword antElement WsdlToDotnet addfiles and ant antcall antstructure apply archives arg argument +syn keyword antElement assertions attrib attribute available basename bcc blgenclient bootclasspath +syn keyword antElement borland bottom buildnumber buildpath buildpathelement bunzip2 bzip2 cab +syn keyword antElement catalogpath cc cccheckin cccheckout cclock ccmcheckin ccmcheckintask ccmcheckout +syn keyword antElement ccmcreatetask ccmkattr ccmkbl ccmkdir ccmkelem ccmklabel ccmklbtype +syn keyword antElement ccmreconfigure ccrmtype ccuncheckout ccunlock ccupdate checksum chgrp chmod +syn keyword antElement chown classconstants classes classfileset classpath commandline comment +syn keyword antElement compilerarg compilerclasspath concat concatfilter condition copy copydir +syn keyword antElement copyfile coveragepath csc custom cvs cvschangelog cvspass cvstagdiff cvsversion +syn keyword antElement daemons date defaultexcludes define delete deletecharacters deltree depend +syn keyword antElement depends dependset depth description different dirname dirset disable dname +syn keyword antElement doclet doctitle dtd ear echo echoproperties ejbjar element enable entity entry +syn keyword antElement env equals escapeunicode exclude excludepackage excludesfile exec execon +syn keyword antElement existing expandproperties extdirs extension extensionSet extensionset factory +syn keyword antElement fail filelist filename filepath fileset filesmatch filetokenizer filter +syn keyword antElement filterchain filterreader filters filterset filtersfile fixcrlf footer format +syn keyword antElement from ftp generic genkey get gjdoc grant group gunzip gzip header headfilter http +syn keyword antElement ignoreblank ilasm ildasm import importtypelib include includesfile input iplanet +syn keyword antElement iplanet-ejbc isfalse isreference isset istrue jar jarlib-available +syn keyword antElement jarlib-manifest jarlib-resolve java javac javacc javadoc javadoc2 jboss jdepend +syn keyword antElement jjdoc jjtree jlink jonas jpcoverage jpcovmerge jpcovreport jsharpc jspc +syn keyword antElement junitreport jvmarg lib libfileset linetokenizer link loadfile loadproperties +syn keyword antElement location macrodef mail majority manifest map mapper marker mergefiles message +syn keyword antElement metainf method mimemail mkdir mmetrics modified move mparse none not options or +syn keyword antElement os outputproperty package packageset parallel param patch path pathconvert +syn keyword antElement pathelement patternset permissions prefixlines present presetdef project +syn keyword antElement property propertyfile propertyref propertyset pvcs pvcsproject record reference +syn keyword antElement regexp rename renameext replace replacefilter replaceregex replaceregexp +syn keyword antElement replacestring replacetoken replacetokens replacevalue replyto report resource +syn keyword antElement revoke rmic root rootfileset rpm scp section selector sequential serverdeploy +syn keyword antElement setproxy signjar size sleep socket soscheckin soscheckout sosget soslabel source +syn keyword antElement sourcepath sql src srcfile srcfilelist srcfiles srcfileset sshexec stcheckin +syn keyword antElement stcheckout stlabel stlist stringtokenizer stripjavacomments striplinebreaks +syn keyword antElement striplinecomments style subant substitution support symlink sync sysproperty +syn keyword antElement syspropertyset tabstospaces tag taglet tailfilter tar tarfileset target +syn keyword antElement targetfile targetfilelist targetfileset taskdef tempfile test testlet text title +syn keyword antElement to token tokenfilter touch transaction translate triggers trim tstamp type +syn keyword antElement typedef unjar untar unwar unzip uptodate url user vbc vssadd vsscheckin +syn keyword antElement vsscheckout vsscp vsscreate vssget vsshistory vsslabel waitfor war wasclasspath +syn keyword antElement webapp webinf weblogic weblogictoplink websphere whichresource wlclasspath +syn keyword antElement wljspc wsdltodotnet xmlcatalog xmlproperty xmlvalidate xslt zip zipfileset +syn keyword antElement zipgroupfileset + +hi def link antElement Statement + +let b:current_syntax = "ant" + +let &cpo = s:ant_cpo_save +unlet s:ant_cpo_save + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/ant.vim b/uvim/runtime/syntax/ant.vim deleted file mode 100644 index b0231236dd..0000000000 --- a/uvim/runtime/syntax/ant.vim +++ /dev/null @@ -1,97 +0,0 @@ -" Vim syntax file -" Language: ANT build file (xml) -" Maintainer: Doug Kearns -" Previous Maintainer: Johannes Zellner -" Last Change: 2024 Jan 27 -" Filenames: build.xml - -" Quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -let s:ant_cpo_save = &cpo -set cpo&vim - -runtime! syntax/xml.vim - -syn case ignore - -if !exists('*AntSyntaxScript') - fun AntSyntaxScript(tagname, synfilename) - unlet b:current_syntax - let s:include = expand(":p:h").'/'.a:synfilename - if filereadable(s:include) - exe 'syn include @ant'.a:tagname.' '.s:include - else - exe 'syn include @ant'.a:tagname." $VIMRUNTIME/syntax/".a:synfilename - endif - - exe 'syn region ant'.a:tagname - \." start=#]\\{-}language\\s*=\\s*['\"]".a:tagname."['\"]\\(>\\|[^>]*[^/>]>\\)#" - \.' end=##' - \.' fold' - \.' contains=@ant'.a:tagname.',xmlCdataStart,xmlCdataEnd,xmlTag,xmlEndTag' - \.' keepend' - exe 'syn cluster xmlRegionHook add=ant'.a:tagname - endfun -endif - -" TODO: add more script languages here ? -call AntSyntaxScript('javascript', 'javascript.vim') -call AntSyntaxScript('jpython', 'python.vim') - - -syn cluster xmlTagHook add=antElement - -syn keyword antElement WsdlToDotnet addfiles and ant antcall antstructure apply archives arg argument -syn keyword antElement assertions attrib attribute available basename bcc blgenclient bootclasspath -syn keyword antElement borland bottom buildnumber buildpath buildpathelement bunzip2 bzip2 cab -syn keyword antElement catalogpath cc cccheckin cccheckout cclock ccmcheckin ccmcheckintask ccmcheckout -syn keyword antElement ccmcreatetask ccmkattr ccmkbl ccmkdir ccmkelem ccmklabel ccmklbtype -syn keyword antElement ccmreconfigure ccrmtype ccuncheckout ccunlock ccupdate checksum chgrp chmod -syn keyword antElement chown classconstants classes classfileset classpath commandline comment -syn keyword antElement compilerarg compilerclasspath concat concatfilter condition copy copydir -syn keyword antElement copyfile coveragepath csc custom cvs cvschangelog cvspass cvstagdiff cvsversion -syn keyword antElement daemons date defaultexcludes define delete deletecharacters deltree depend -syn keyword antElement depends dependset depth description different dirname dirset disable dname -syn keyword antElement doclet doctitle dtd ear echo echoproperties ejbjar element enable entity entry -syn keyword antElement env equals escapeunicode exclude excludepackage excludesfile exec execon -syn keyword antElement existing expandproperties extdirs extension extensionSet extensionset factory -syn keyword antElement fail filelist filename filepath fileset filesmatch filetokenizer filter -syn keyword antElement filterchain filterreader filters filterset filtersfile fixcrlf footer format -syn keyword antElement from ftp generic genkey get gjdoc grant group gunzip gzip header headfilter http -syn keyword antElement ignoreblank ilasm ildasm import importtypelib include includesfile input iplanet -syn keyword antElement iplanet-ejbc isfalse isreference isset istrue jar jarlib-available -syn keyword antElement jarlib-manifest jarlib-resolve java javac javacc javadoc javadoc2 jboss jdepend -syn keyword antElement jjdoc jjtree jlink jonas jpcoverage jpcovmerge jpcovreport jsharpc jspc -syn keyword antElement junitreport jvmarg lib libfileset linetokenizer link loadfile loadproperties -syn keyword antElement location macrodef mail majority manifest map mapper marker mergefiles message -syn keyword antElement metainf method mimemail mkdir mmetrics modified move mparse none not options or -syn keyword antElement os outputproperty package packageset parallel param patch path pathconvert -syn keyword antElement pathelement patternset permissions prefixlines present presetdef project -syn keyword antElement property propertyfile propertyref propertyset pvcs pvcsproject record reference -syn keyword antElement regexp rename renameext replace replacefilter replaceregex replaceregexp -syn keyword antElement replacestring replacetoken replacetokens replacevalue replyto report resource -syn keyword antElement revoke rmic root rootfileset rpm scp section selector sequential serverdeploy -syn keyword antElement setproxy signjar size sleep socket soscheckin soscheckout sosget soslabel source -syn keyword antElement sourcepath sql src srcfile srcfilelist srcfiles srcfileset sshexec stcheckin -syn keyword antElement stcheckout stlabel stlist stringtokenizer stripjavacomments striplinebreaks -syn keyword antElement striplinecomments style subant substitution support symlink sync sysproperty -syn keyword antElement syspropertyset tabstospaces tag taglet tailfilter tar tarfileset target -syn keyword antElement targetfile targetfilelist targetfileset taskdef tempfile test testlet text title -syn keyword antElement to token tokenfilter touch transaction translate triggers trim tstamp type -syn keyword antElement typedef unjar untar unwar unzip uptodate url user vbc vssadd vsscheckin -syn keyword antElement vsscheckout vsscp vsscreate vssget vsshistory vsslabel waitfor war wasclasspath -syn keyword antElement webapp webinf weblogic weblogictoplink websphere whichresource wlclasspath -syn keyword antElement wljspc wsdltodotnet xmlcatalog xmlproperty xmlvalidate xslt zip zipfileset -syn keyword antElement zipgroupfileset - -hi def link antElement Statement - -let b:current_syntax = "ant" - -let &cpo = s:ant_cpo_save -unlet s:ant_cpo_save - -" vim: ts=8 diff --git a/uvim/runtime/syntax/antlr.mnv b/uvim/runtime/syntax/antlr.mnv new file mode 100644 index 0000000000..53658adcbb --- /dev/null +++ b/uvim/runtime/syntax/antlr.mnv @@ -0,0 +1,54 @@ +" MNV syntax file +" Antlr: ANTLR, Another Tool For Language Recognition +" Maintainer: Mathieu Clabaut +" LastChange: 02 May 2001 +" Original: Comes from JavaCC.mnv + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" This syntac file is a first attempt. It is far from perfect... + +" Uses java.mnv, and adds a few special things for JavaCC Parser files. +" Those files usually have the extension *.jj + +" source the java.mnv file +runtime! syntax/java.mnv +unlet b:current_syntax + +"remove catching errors caused by wrong parenthesis (does not work in antlr +"files) (first define them in case they have not been defined in java) +syn match javaParen "--" +syn match javaParenError "--" +syn match javaInParen "--" +syn match javaError2 "--" +syn clear javaParen +syn clear javaParenError +syn clear javaInParen +syn clear javaError2 + +" remove function definitions (they look different) (first define in +" in case it was not defined in java.mnv) +"syn match javaFuncDef "--" +"syn clear javaFuncDef +"syn match javaFuncDef "[a-zA-Z][a-zA-Z0-9_. \[\]]*([^-+*/()]*)[ \t]*:" contains=javaType +" syn region javaFuncDef start=+t[a-zA-Z][a-zA-Z0-9_. \[\]]*([^-+*/()]*,[ ]*+ end=+)[ \t]*:+ + +syn keyword antlrPackages options language buildAST +syn match antlrPackages "PARSER_END([^)]*)" +syn match antlrPackages "PARSER_BEGIN([^)]*)" +syn match antlrSpecToken "" +" the dot is necessary as otherwise it will be matched as a keyword. +syn match antlrSpecToken ".LOOKAHEAD("ms=s+1,me=e-1 +syn match antlrSep "[|:]\|\.\." +syn keyword antlrActionToken TOKEN SKIP MORE SPECIAL_TOKEN +syn keyword antlrError DEBUG IGNORE_IN_BNF + +hi def link antlrSep Statement +hi def link antlrPackages Statement + +let b:current_syntax = "antlr" + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/antlr.vim b/uvim/runtime/syntax/antlr.vim deleted file mode 100644 index 9b0b061ae1..0000000000 --- a/uvim/runtime/syntax/antlr.vim +++ /dev/null @@ -1,54 +0,0 @@ -" Vim syntax file -" Antlr: ANTLR, Another Tool For Language Recognition -" Maintainer: Mathieu Clabaut -" LastChange: 02 May 2001 -" Original: Comes from JavaCC.vim - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" This syntac file is a first attempt. It is far from perfect... - -" Uses java.vim, and adds a few special things for JavaCC Parser files. -" Those files usually have the extension *.jj - -" source the java.vim file -runtime! syntax/java.vim -unlet b:current_syntax - -"remove catching errors caused by wrong parenthesis (does not work in antlr -"files) (first define them in case they have not been defined in java) -syn match javaParen "--" -syn match javaParenError "--" -syn match javaInParen "--" -syn match javaError2 "--" -syn clear javaParen -syn clear javaParenError -syn clear javaInParen -syn clear javaError2 - -" remove function definitions (they look different) (first define in -" in case it was not defined in java.vim) -"syn match javaFuncDef "--" -"syn clear javaFuncDef -"syn match javaFuncDef "[a-zA-Z][a-zA-Z0-9_. \[\]]*([^-+*/()]*)[ \t]*:" contains=javaType -" syn region javaFuncDef start=+t[a-zA-Z][a-zA-Z0-9_. \[\]]*([^-+*/()]*,[ ]*+ end=+)[ \t]*:+ - -syn keyword antlrPackages options language buildAST -syn match antlrPackages "PARSER_END([^)]*)" -syn match antlrPackages "PARSER_BEGIN([^)]*)" -syn match antlrSpecToken "" -" the dot is necessary as otherwise it will be matched as a keyword. -syn match antlrSpecToken ".LOOKAHEAD("ms=s+1,me=e-1 -syn match antlrSep "[|:]\|\.\." -syn keyword antlrActionToken TOKEN SKIP MORE SPECIAL_TOKEN -syn keyword antlrError DEBUG IGNORE_IN_BNF - -hi def link antlrSep Statement -hi def link antlrPackages Statement - -let b:current_syntax = "antlr" - -" vim: ts=8 diff --git a/uvim/runtime/syntax/antlr4.mnv b/uvim/runtime/syntax/antlr4.mnv new file mode 100644 index 0000000000..047f73e7ca --- /dev/null +++ b/uvim/runtime/syntax/antlr4.mnv @@ -0,0 +1,30 @@ +" MNV syntax file +" Language: ANTLR4, ANother Tool for Language Recognition v4 +" Maintainer: Yinzuo Jiang +" Last Change: 2024 July 09 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" Keywords. See https://github.com/antlr/antlr4/blob/4.13.1/doc/lexicon.md +syn keyword antlr4Include import +" https://github.com/antlr/antlr4/blob/4.13.1/doc/options.md +" https://github.com/antlr/antlr4/blob/4.13.1/doc/grammars.md +syn keyword antlr4Structure fragment lexer parser grammar options channels tokens mode +syn keyword antlr4Statement returns locals +syn keyword antlr4Exceptions throws catch finally + +" Comments. +syn keyword antlr4Todo contained TODO FIXME XXX NOTE +syn region antlr4Comment start="//" end="$" contains=antlr4Todo,@Spell +syn region antlr4Comment start="/\*" end="\*/" contains=antlr4Todo,@Spell + +hi def link antlr4Include Include +hi def link antlr4Structure Structure +hi def link antlr4Statement Statement +hi def link antlr4Exceptions Structure +hi def link antlr4Comment Comment + +let b:current_syntax = "antlr4" diff --git a/uvim/runtime/syntax/antlr4.vim b/uvim/runtime/syntax/antlr4.vim deleted file mode 100644 index 33cc865ccc..0000000000 --- a/uvim/runtime/syntax/antlr4.vim +++ /dev/null @@ -1,30 +0,0 @@ -" Vim syntax file -" Language: ANTLR4, ANother Tool for Language Recognition v4 -" Maintainer: Yinzuo Jiang -" Last Change: 2024 July 09 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" Keywords. See https://github.com/antlr/antlr4/blob/4.13.1/doc/lexicon.md -syn keyword antlr4Include import -" https://github.com/antlr/antlr4/blob/4.13.1/doc/options.md -" https://github.com/antlr/antlr4/blob/4.13.1/doc/grammars.md -syn keyword antlr4Structure fragment lexer parser grammar options channels tokens mode -syn keyword antlr4Statement returns locals -syn keyword antlr4Exceptions throws catch finally - -" Comments. -syn keyword antlr4Todo contained TODO FIXME XXX NOTE -syn region antlr4Comment start="//" end="$" contains=antlr4Todo,@Spell -syn region antlr4Comment start="/\*" end="\*/" contains=antlr4Todo,@Spell - -hi def link antlr4Include Include -hi def link antlr4Structure Structure -hi def link antlr4Statement Statement -hi def link antlr4Exceptions Structure -hi def link antlr4Comment Comment - -let b:current_syntax = "antlr4" diff --git a/uvim/runtime/syntax/apache.mnv b/uvim/runtime/syntax/apache.mnv new file mode 100644 index 0000000000..438fcef2d5 --- /dev/null +++ b/uvim/runtime/syntax/apache.mnv @@ -0,0 +1,206 @@ +" MNV syntax file +" Language: Apache configuration (httpd.conf, srm.conf, access.conf, .htaccess) +" Maintainer: David Necas (Yeti) +" License: This file can be redistribued and/or modified under the same terms +" as MNV itself. +" Last Change: 2024 Nov 24 +" 2026 Feb 19 by MNV project: Add SSLVHostSNIPolicy +" Notes: Last synced with apache-2.4.62, version 1.x is no longer supported +" TODO: see particular FIXME's scattered through the file +" make it really linewise? +" + add `display' where appropriate + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn iskeyword @,48-57,_,192-255,- +syn case ignore + +" Base constructs +syn match apacheComment "^\s*#.*$" contains=apacheFixme +syn match apacheUserID "#-\?\d\+\>" +syn case match +syn keyword apacheFixme FIXME TODO XXX NOT +syn case ignore +syn match apacheAnything "\s[^>]*" contained +syn match apacheError "\w\+" contained +syn region apacheString start=+"+ end=+"+ skip=+\\\\\|\\\"+ oneline + +" Following is to prevent escaped quotes from being parsed as strings. +syn match apacheSkipQuote +\\"+ + +" Core and mpm +syn keyword apacheDeclaration AccessFileName AddDefaultCharset AllowOverride AuthName AuthType ContentDigest DefaultType DocumentRoot ErrorDocument ErrorLog HostNameLookups IdentityCheck Include KeepAlive KeepAliveTimeout LimitRequestBody LimitRequestFields LimitRequestFieldsize LimitRequestLine LogLevel MaxKeepAliveRequests NameVirtualHost Options Require RLimitCPU RLimitMEM RLimitNPROC Satisfy ScriptInterpreterSource ServerAdmin ServerAlias ServerName ServerPath ServerRoot ServerSignature ServerTokens TimeOut UseCanonicalName +syn keyword apacheDeclaration AcceptPathInfo CGIMapExtension EnableMMAP FileETag ForceType LimitXMLRequestBody SetHandler SetInputFilter SetOutputFilter +syn keyword apacheDeclaration AcceptFilter AllowEncodedSlashes EnableSendfile LimitInternalRecursion TraceEnable +syn keyword apacheOption INode MTime Size +syn keyword apacheOption Any All On Off Double EMail DNS Min Minimal OS Prod ProductOnly Full +syn keyword apacheOption emerg alert crit error warn notice info debug +syn keyword apacheOption registry script inetd standalone +syn match apacheOptionOption "[+-]\?\<\(ExecCGI\|FollowSymLinks\|Includes\|IncludesNoExec\|Indexes\|MultiViews\|SymLinksIfOwnerMatch\)\>" +syn keyword apacheOption user group +syn match apacheOption "\" +syn case match +syn keyword apacheMethodOption GET POST PUT DELETE CONNECT OPTIONS TRACE PATCH PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK contained +" Added as suggested by Mikko Koivunalho +syn keyword apacheMethodOption BASELINE-CONTROL CHECKIN CHECKOUT LABEL MERGE MKACTIVITY MKWORKSPACE REPORT UNCHECKOUT UPDATE VERSION-CONTROL contained +syn case ignore +syn match apacheSection "<\/\=\(Directory\|Files\|If\|Else\|Location\|VirtualHost\)[^>]*>" contains=apacheAnything +syn match apacheSection "<\/\=\(RequireAll\|RequireAny\|RequireNone\)>" contains=apacheAnything +syn match apacheLimitSection "<\/\=Limit[^>]*>" contains=apacheLimitSectionKeyword,apacheMethodOption,apacheError +syn keyword apacheLimitSectionKeyword Limit LimitExcept contained +syn match apacheAuthType "AuthType\s.*$" contains=apacheAuthTypeValue +syn keyword apacheAuthTypeValue Basic Digest +syn match apacheAllowOverride "AllowOverride\s.*$" contains=apacheAllowOverrideValue,apacheComment +syn keyword apacheAllowOverrideValue AuthConfig FileInfo Indexes Limit Options contained +syn keyword apacheDeclaration CoreDumpDirectory EnableExceptionHook GracefulShutdownTimeout Group Listen ListenBacklog LockFile MaxClients MaxMemFree MaxRequestsPerChild MaxSpareThreads MaxSpareThreadsPerChild MinSpareThreads NumServers PidFile ScoreBoardFile SendBufferSize ServerLimit StartServers StartThreads ThreadLimit ThreadsPerChild User +syn keyword apacheDeclaration MaxThreads ThreadStackSize +syn keyword apacheDeclaration Win32DisableAcceptEx +syn keyword apacheDeclaration AssignUserId ChildPerUserId +syn keyword apacheDeclaration AcceptMutex MaxSpareServers MinSpareServers +syn keyword apacheOption flock fcntl sysvsem pthread + +" Modules +syn keyword apacheDeclaration Action Script +syn keyword apacheDeclaration Alias AliasMatch Redirect RedirectMatch RedirectTemp RedirectPermanent ScriptAlias ScriptAliasMatch +syn keyword apacheOption permanent temp seeother gone +syn keyword apacheDeclaration AuthAuthoritative AuthGroupFile AuthUserFile +syn keyword apacheDeclaration AuthBasicAuthoritative AuthBasicProvider +syn keyword apacheDeclaration AuthDigestAlgorithm AuthDigestDomain AuthDigestNcCheck AuthDigestNonceFormat AuthDigestNonceLifetime AuthDigestProvider AuthDigestQop AuthDigestShmemSize +syn keyword apacheOption none auth auth-int MD5 MD5-sess +syn match apacheSection "<\/\=Auth[ntz]ProviderAlias[^>]*>" contains=apacheAnything +syn keyword apacheDeclaration Anonymous Anonymous_Authoritative Anonymous_LogEmail Anonymous_MustGiveEmail Anonymous_NoUserID Anonymous_VerifyEmail +syn keyword apacheDeclaration AuthDBDUserPWQuery AuthDBDUserRealmQuery +syn keyword apacheDeclaration AuthDBMGroupFile AuthDBMAuthoritative +syn keyword apacheDeclaration AuthDBM TypeAuthDBMUserFile +syn keyword apacheOption default SDBM GDBM NDBM DB +syn keyword apacheDeclaration AuthDefaultAuthoritative +syn keyword apacheDeclaration AuthUserFile +syn keyword apacheDeclaration AuthLDAPBindON AuthLDAPEnabled AuthLDAPFrontPageHack AuthLDAPStartTLS +syn keyword apacheDeclaration AuthLDAPBindDN AuthLDAPBindPassword AuthLDAPCharsetConfig AuthLDAPCompareDNOnServer AuthLDAPDereferenceAliases AuthLDAPGroupAttribute AuthLDAPGroupAttributeIsDN AuthLDAPRemoteUserIsDN AuthLDAPUrl AuthzLDAPAuthoritative +syn keyword apacheOption always never searching finding +syn keyword apacheOption ldap-user ldap-group ldap-dn ldap-attribute ldap-filter +syn keyword apacheDeclaration AuthDBMGroupFile AuthzDBMAuthoritative AuthzDBMType +syn keyword apacheDeclaration AuthzDefaultAuthoritative +syn keyword apacheDeclaration AuthGroupFile AuthzGroupFileAuthoritative +syn match apacheAllowDeny "Allow\s\+from.*$" contains=apacheAllowDenyValue,apacheComment +syn match apacheAllowDeny "Deny\s\+from.*$" contains=apacheAllowDenyValue,apacheComment +syn keyword apacheAllowDenyValue All None contained +syn match apacheOrder "^\s*Order\s.*$" contains=apacheOrderValue,apacheComment +syn keyword apacheOrderValue Deny Allow contained +syn keyword apacheDeclaration AuthzOwnerAuthoritative +syn keyword apacheDeclaration AuthzUserAuthoritative +syn keyword apacheDeclaration AddAlt AddAltByEncoding AddAltByType AddDescription AddIcon AddIconByEncoding AddIconByType DefaultIcon HeaderName IndexIgnore IndexOptions IndexOrderDefault ReadmeName +syn keyword apacheDeclaration IndexStyleSheet +syn keyword apacheOption DescriptionWidth FancyIndexing FoldersFirst IconHeight IconsAreLinks IconWidth NameWidth ScanHTMLTitles SuppressColumnSorting SuppressDescription SuppressHTMLPreamble SuppressLastModified SuppressSize TrackModified +syn keyword apacheOption Ascending Descending Name Date Size Description +syn keyword apacheOption HTMLTable SuppressIcon SuppressRules VersionSort XHTML +syn keyword apacheOption IgnoreClient IgnoreCase ShowForbidden SuppresRules +syn keyword apacheDeclaration CacheForceCompletion CacheMaxStreamingBuffer +syn keyword apacheDeclaration CacheDefaultExpire CacheDisable CacheEnable CacheIgnoreCacheControl CacheIgnoreHeaders CacheIgnoreNoLastMod CacheLastModifiedFactor CacheMaxExpire CacheStoreNoStore CacheStorePrivate +syn keyword apacheDeclaration MetaFiles MetaDir MetaSuffix +syn keyword apacheDeclaration ScriptLog ScriptLogLength ScriptLogBuffer +syn keyword apacheDeclaration ScriptStock +syn keyword apacheDeclaration CharsetDefault CharsetOptions CharsetSourceEnc +syn keyword apacheOption DebugLevel ImplicitAdd NoImplicitAdd +syn keyword apacheDeclaration Dav DavDepthInfinity DavMinTimeout +syn keyword apacheDeclaration DavLockDB +syn keyword apacheDeclaration DavGenericLockDB +syn keyword apacheDeclaration DBDExptime DBDKeep DBDMax DBDMin DBDParams DBDPersist DBDPrepareSQL DBDriver +syn keyword apacheDeclaration DeflateCompressionLevel DeflateBufferSize DeflateFilterNote DeflateMemLevel DeflateWindowSize +syn keyword apacheDeclaration DirectoryIndex DirectorySlash +syn keyword apacheDeclaration CacheExpiryCheck CacheGcClean CacheGcDaily CacheGcInterval CacheGcMemUsage CacheGcUnused CacheSize CacheTimeMargin +syn keyword apacheDeclaration CacheDirLength CacheDirLevels CacheMaxFileSize CacheMinFileSize CacheRoot +syn keyword apacheDeclaration DumpIOInput DumpIOOutput +syn keyword apacheDeclaration ProtocolEcho +syn keyword apacheDeclaration PassEnv SetEnv UnsetEnv +syn keyword apacheDeclaration Example +syn keyword apacheDeclaration ExpiresActive ExpiresByType ExpiresDefault +syn keyword apacheDeclaration ExtFilterDefine ExtFilterOptions +syn keyword apacheOption PreservesContentLength DebugLevel LogStderr NoLogStderr +syn match apacheOption "\<\(cmd\|mode\|intype\|outtype\|ftype\|disableenv\|enableenv\)\ze=" +syn keyword apacheDeclaration CacheFile MMapFile +syn keyword apacheDeclaration FilterChain FilterDeclare FilterProtocol FilterProvider FilterTrace +syn keyword apacheDeclaration Header +syn keyword apacheDeclaration RequestHeader +syn keyword apacheOption set unset append add +syn keyword apacheDeclaration IdentityCheck IdentityCheckTimeout +syn keyword apacheDeclaration ImapMenu ImapDefault ImapBase +syn keyword apacheOption none formatted semiformatted unformatted +syn keyword apacheOption nocontent referer error map +syn keyword apacheDeclaration SSIEndTag SSIErrorMsg SSIStartTag SSITimeFormat SSIUndefinedEcho XBitHack +syn keyword apacheOption on off full +syn keyword apacheDeclaration AddModuleInfo +syn keyword apacheDeclaration ISAPIReadAheadBuffer ISAPILogNotSupported ISAPIAppendLogToErrors ISAPIAppendLogToQuery +syn keyword apacheDeclaration ISAPICacheFile ISAIPFakeAsync +syn keyword apacheDeclaration LDAPCertDBPath +syn keyword apacheDeclaration LDAPCacheEntries LDAPCacheTTL LDAPConnectionTimeout LDAPOpCacheEntries LDAPOpCacheTTL LDAPSharedCacheFile LDAPSharedCacheSize LDAPTrustedClientCert LDAPTrustedGlobalCert LDAPTrustedMode LDAPVerifyServerCert +syn keyword apacheOption CA_DER CA_BASE64 CA_CERT7_DB CA_SECMOD CERT_DER CERT_BASE64 CERT_KEY3_DB CERT_NICKNAME CERT_PFX KEY_DER KEY_BASE64 KEY_PFX +syn keyword apacheDeclaration BufferedLogs CookieLog CustomLog LogFormat TransferLog +syn keyword apacheDeclaration ForensicLog +syn keyword apacheDeclaration MCacheMaxObjectCount MCacheMaxObjectSize MCacheMaxStreamingBuffer MCacheMinObjectSize MCacheRemovalAlgorithm MCacheSize +syn keyword apacheDeclaration AddCharset AddEncoding AddHandler AddLanguage AddType DefaultLanguage RemoveEncoding RemoveHandler RemoveType TypesConfig +syn keyword apacheDeclaration AddInputFilter AddOutputFilter ModMimeUsePathInfo MultiviewsMatch RemoveInputFilter RemoveOutputFilter RemoveCharset +syn keyword apacheOption NegotiatedOnly Filters Handlers +syn keyword apacheDeclaration MimeMagicFile +syn keyword apacheDeclaration MMapFile +syn keyword apacheDeclaration CacheNegotiatedDocs LanguagePriority ForceLanguagePriority +syn keyword apacheDeclaration NWSSLTrustedCerts NWSSLUpgradeable SecureListen +syn keyword apacheDeclaration PerlModule PerlRequire PerlTaintCheck PerlWarn +syn keyword apacheDeclaration PerlSetVar PerlSetEnv PerlPassEnv PerlSetupEnv +syn keyword apacheDeclaration PerlInitHandler PerlPostReadRequestHandler PerlHeaderParserHandler +syn keyword apacheDeclaration PerlTransHandler PerlAccessHandler PerlAuthenHandler PerlAuthzHandler +syn keyword apacheDeclaration PerlTypeHandler PerlFixupHandler PerlHandler PerlLogHandler +syn keyword apacheDeclaration PerlCleanupHandler PerlChildInitHandler PerlChildExitHandler +syn keyword apacheDeclaration PerlRestartHandler PerlDispatchHandler +syn keyword apacheDeclaration PerlFreshRestart PerlSendHeader +syn keyword apacheDeclaration php_value php_flag php_admin_value php_admin_flag +syn match apacheSection "<\/\=\(Macro\|MDomain\|Proxy\)[^>]*>" contains=apacheAnything +syn keyword apacheDeclaration AllowCONNECT NoProxy ProxyBadHeader ProxyBlock ProxyDomain ProxyErrorOverride ProxyIOBufferSize ProxyMaxForwards ProxyPass ProxyPassMatch ProxyPassReverse ProxyPassReverseCookieDomain ProxyPassReverseCookiePath ProxyPreserveHost ProxyReceiveBufferSize ProxyRemote ProxyRemoteMatch ProxyRequests ProxyTimeout ProxyVia +syn keyword apacheDeclaration RewriteBase RewriteCond RewriteEngine RewriteLock RewriteLog RewriteLogLevel RewriteMap RewriteOptions RewriteRule +syn keyword apacheOption inherit +syn keyword apacheDeclaration BrowserMatch BrowserMatchNoCase SetEnvIf SetEnvIfNoCase +syn keyword apacheDeclaration LoadFile LoadModule +syn keyword apacheDeclaration CheckSpelling CheckCaseOnly +syn keyword apacheDeclaration SSLCACertificateFile SSLCACertificatePath SSLCADNRequestFile SSLCADNRequestPath SSLCARevocationFile SSLCARevocationPath SSLCertificateChainFile SSLCertificateFile SSLCertificateKeyFile SSLCipherSuite SSLCompression SSLCryptoDevice SSLEngine SSLFIPS SSLHonorCipherOrder SSLInsecureRenegotiation SSLMutex SSLOptions SSLPassPhraseDialog SSLProtocol SSLProxyCACertificateFile SSLProxyCACertificatePath SSLProxyCARevocationFile SSLProxyCARevocationPath SSLProxyCheckPeerCN SSLProxyCheckPeerExpire SSLProxyCipherSuite SSLProxyEngine SSLProxyMachineCertificateChainFile SSLProxyMachineCertificateFile SSLProxyMachineCertificatePath SSLProxyProtocol SSLProxyVerify SSLProxyVerifyDepth SSLRandomSeed SSLRenegBufferSize SSLRequire SSLRequireSSL SSLSessionCache SSLSessionCacheTimeout SSLSessionTicketKeyFile SSLSessionTickets SSLStrictSNIVHostCheck SSLUserName SSLVerifyClient SSLVerifyDepth SSLVHostSNIPolicy +syn match apacheOption "[+-]\?\<\(StdEnvVars\|CompatEnvVars\|ExportCertData\|FakeBasicAuth\|StrictRequire\|OptRenegotiate\)\>" +syn keyword apacheOption builtin sem +syn match apacheOption "\(file\|exec\|egd\|dbm\|shm\):" +syn match apacheOption "[+-]\?\<\(SSLv2\|SSLv3\|TLSv1\|kRSA\|kHDr\|kDHd\|kEDH\|aNULL\|aRSA\|aDSS\|aRH\|eNULL\|DES\|3DES\|RC2\|RC4\|IDEA\|MD5\|SHA1\|SHA\|EXP\|EXPORT40\|EXPORT56\|LOW\|MEDIUM\|HIGH\|RSA\|DH\|EDH\|ADH\|DSS\|NULL\)\>" +syn keyword apacheOption optional optional_no_ca +syn keyword apacheDeclaration ExtendedStatus +syn keyword apacheDeclaration SuexecUserGroup +syn keyword apacheDeclaration UserDir +syn keyword apacheDeclaration CookieDomain CookieExpires CookieName CookieStyle CookieTracking +syn keyword apacheOption Netscape Cookie Cookie2 RFC2109 RFC2965 +syn keyword apacheDeclaration VirtualDocumentRoot VirtualDocumentRootIP VirtualScriptAlias VirtualScriptAliasIP +syn keyword apacheDeclaration AcceptErrorsNonFatal AsyncFilter AsyncRequestWorkerFactor AuthBasicFake AuthBasicUseDigestAlgorithm AuthBearerAuthoritative AuthBearerProvider AuthBearerProxy AuthDBMType AuthDBMUserFile AuthFormAuthoritative AuthFormBody AuthFormDisableNoStore AuthFormFakeBasicAuth AuthFormLocation AuthFormLoginRequiredLocation AuthFormLoginSuccessLocation AuthFormLogoutLocation AuthFormMethod AuthFormMimetype AuthFormPassword AuthFormProvider AuthFormSitePassphrase AuthFormSize AuthFormUsername AuthLDAPAuthorizePrefix AuthLDAPBindAuthoritative AuthLDAPCompareAsUser AuthLDAPInitialBindAsUser AuthLDAPInitialBindPattern AuthLDAPMaxSubGroupDepth AuthLDAPRemoteUserAttribute AuthLDAPSearchAsUser AuthLDAPSubGroupAttribute AuthLDAPSubGroupClass AuthLDAPURL AuthMerging AuthnCacheContext AuthnCacheEnable AuthnCacheProvideFor AuthnCacheSOCache AuthnCacheTimeout AuthnzFcgiCheckAuthnProvider AuthnzFcgiDefineProvider AuthtJwtClaim AuthtJwtDriver AuthtJwtSign AuthtJwtVerify AuthzDBDLoginToReferer AuthzDBDQuery AuthzDBDRedirectQuery AuthzSendForbiddenOnFailure BalancerGrowth BalancerInherit BalancerMember BalancerPersist BrotliAlterETag BrotliCompressionMaxInputBlock BrotliCompressionQuality BrotliCompressionWindow BrotliFilterNote BufferSize CacheDetailHeader CacheHeader CacheIgnoreQueryString CacheIgnoreURLSessionIdentifiers CacheKeyBaseURL CacheLock CacheLockMaxAge CacheLockPath CacheMinExpire CacheQuickHandler CacheReadSize CacheReadTime CacheSocache CacheSocacheMaxSize CacheSocacheMaxTime CacheSocacheMinTime CacheSocacheReadSize CacheSocacheReadTime CacheStaleOnError CacheStoreExpired CGIDScriptTimeout CGIPassAuth CGIScriptTimeout CGIVar CheckBasenameMatch ChrootDir CookieHTTPOnly CookieSameSite CookieSecure CryptoCipher CryptoDriver CryptoIV CryptoKey CryptoSize CTAuditStorage CTLogClient CTLogConfigDB CTMaxSCTAge CTProxyAwareness CTSCTStorage CTServerHelloSCTLimit CTStaticLogConfig CTStaticSCTs DBDInitSQL DefaultRuntimeDir DefaultStateDir DeflateAlterETag DeflateInflateLimitRequestBody DeflateInflateRatioBurst DeflateInflateRatioLimit DirectoryCheckHandler DTracePrivileges FallbackResource Files FilesMatch FirehoseConnectionInput FirehoseConnectionOutput FirehoseProxyConnectionInput FirehoseProxyConnectionOutput FirehoseRequestInput FirehoseRequestOutput FlushMaxPipelined FlushMaxThreshold GlobalLog GprofDir H2CopyFiles H2Direct H2EarlyHint H2EarlyHints H2MaxDataFrameLen H2MaxSessionStreams H2MaxWorkerIdleSeconds H2MaxWorkers H2MinWorkers H2ModernTLSOnly H2OutputBuffering H2Padding H2ProxyRequests H2Push H2PushDiarySize H2PushPriority H2PushResource H2SerializeHeaders H2StreamMaxMemSize H2StreamTimeout H2TLSCoolDownSecs H2TLSWarmUpSize H2Upgrade H2WebSockets H2WindowSize HeartbeatAddress HeartbeatListen HeartbeatMaxServers HeartbeatStorage HeartbeatStorage HostnameLookups HttpProtocolOptions IndexForbiddenReturn404 IndexHeadInsert InputSed ISAPIFakeAsync KeptBodySize LDAPConnectionPoolTTL LDAPLibraryDebug LDAPReferralHopLimit LDAPReferrals LDAPRetries LDAPRetryDelay LDAPTimeout Location LocationMatch LogIOTrackTTFB LogIOTrackTTFU LogMessage LuaAuthzProvider LuaCodeCache LuaHookAccessChecker LuaHookAuthChecker LuaHookCheckUserID LuaHookFixups LuaHookInsertFilter LuaHookLog LuaHookMapToStorage LuaHookPreTranslate LuaHookTranslateName LuaHookTypeChecker LuaInherit LuaInputFilter LuaMapHandler LuaOutputFilter LuaPackageCPath LuaPackagePath LuaQuickHandler LuaRoot LuaScope MacroIgnoreBadNesting MacroIgnoreEmptyArgs MaxConnectionsPerChild MaxRangeOverlaps MaxRangeReversals MaxRanges MaxRequestWorkers MDActivationDelay MDBaseServer MDCAChallenges MDCertificateAgreement MDCertificateAuthority MDCertificateCheck MDCertificateFile MDCertificateKeyFile MDCertificateMonitor MDCertificateProtocol MDCertificateStatus MDChallengeDns01 MDChallengeDns01Version MDCheckInterval MDContactEmail MDDriveMode MDExternalAccountBinding MDHttpProxy MDMatchNames MDMember MDMembers MDMessageCmd MDMustStaple MDNotifyCmd MDomain MDPortMap MDPrivateKeys MDRenewMode MDRenewWindow MDRequireHttps MDRetryDelay MDRetryFailover MDServerStatus MDStapleOthers MDStapling MDStaplingKeepResponse MDStaplingRenewWindow MDStoreDir MDStoreLocks MDWarnWindow MemcacheConnTTL MergeSlashes MergeTrailers MimeOptions ModemStandard Mutex Order OutputSed PolicyConditional PolicyConditionalURL PolicyEnvironment PolicyFilter PolicyKeepalive PolicyKeepaliveURL PolicyLength PolicyLengthURL PolicyMaxage PolicyMaxageURL PolicyNocache PolicyNocacheURL PolicyType PolicyTypeURL PolicyValidation PolicyValidationURL PolicyVary PolicyVaryURL PolicyVersion PolicyVersionURL PrivilegesMode Protocol Protocols ProtocolsHonorOrder Proxy100Continue ProxyAddHeaders ProxyExpressDBMFile ProxyExpressDBMType ProxyExpressEnable ProxyFCGIBackendType ProxyFCGISetEnvIf ProxyFtpDirCharset ProxyFtpEscapeWildcards ProxyFtpListOnWildcard ProxyHCExpr ProxyHCTemplate ProxyHCTPsize ProxyHTMLBufSize ProxyHTMLCharsetOut ProxyHTMLDocType ProxyHTMLEnable ProxyHTMLEvents ProxyHTMLExtended ProxyHTMLFixups ProxyHTMLInterp ProxyHTMLLinks ProxyHTMLMeta ProxyHTMLStripComments ProxyHTMLURLMap ProxySCGIInternalRedirect ProxySCGISendfile ProxySet ProxySourceAddress ProxyStatus ProxyWebsocketAsync ProxyWebsocketAsyncDelay ProxyWebsocketFallbackToProxyHttp ProxyWebsocketIdleTimeout QualifyRedirectURL ReadBufferSize ReceiveBufferSize RedisConnPoolTTL RedisTimeout ReflectorHeader RegexDefaultOptions RegisterHttpMethod RemoteIPHeader RemoteIPInternalProxy RemoteIPInternalProxyList RemoteIPProxiesHeader RemoteIPProxyProtocol RemoteIPProxyProtocolExceptions RemoteIPTrustedProxy RemoteIPTrustedProxyList RemoveLanguage RequestReadTimeout SeeRequestTail Session SessionCookieMaxAge SessionCookieName SessionCookieName2 SessionCookieRemove SessionCryptoCipher SessionCryptoDriver SessionCryptoPassphrase SessionCryptoPassphraseFile SessionDBDCookieName SessionDBDCookieName2 SessionDBDCookieRemove SessionDBDDeleteLabel SessionDBDInsertLabel SessionDBDPerUser SessionDBDSelectLabel SessionDBDUpdateLabel SessionEnv SessionExclude SessionExpiryUpdateInterval SessionHeader SessionInclude SessionMaxAge SSIETag SSILastModified SSILegacyExprParser SSLCARevocationCheck SSLClientHelloVars SSLOCSPDefaultResponder SSLOCSPEnable SSLOCSPNoverify SSLOCSPOverrideResponder SSLOCSPProxyURL SSLOCSPResponderCertificateFile SSLOCSPResponderTimeout SSLOCSPResponseMaxAge SSLOCSPResponseTimeSkew SSLOCSPUseRequestNonce SSLOpenSSLConfCmd SSLPolicy SSLProxyCARevocationCheck SSLProxyCheckPeerName SSLSRPUnknownUserSeed SSLSRPVerifierFile SSLStaplingCache SSLStaplingErrorCacheTimeout SSLStaplingFakeTryLater SSLStaplingForceURL SSLStaplingResponderTimeout SSLStaplingResponseMaxAge SSLStaplingResponseTimeSkew SSLStaplingReturnResponderErrors SSLStaplingStandardCacheTimeout SSLUseStapling StrictHostCheck Substitute SubstituteInheritBefore SubstituteMaxLineLength Suexec UNCList UnDefine UndefMacro Use UseCanonicalPhysicalPort VHostCGIMode VHostCGIPrivs VHostGroup VHostPrivs VHostSecure VHostUser Warning WatchdogInterval xml2EncAlias xml2EncDefault xml2StartParse + +" Define the default highlighting + +hi def link apacheAllowOverride apacheDeclaration +hi def link apacheAllowOverrideValue apacheOption +hi def link apacheAuthType apacheDeclaration +hi def link apacheAuthTypeValue apacheOption +hi def link apacheOptionOption apacheOption +hi def link apacheDeclaration Function +hi def link apacheAnything apacheOption +hi def link apacheOption Number +hi def link apacheComment Comment +hi def link apacheFixme Todo +hi def link apacheLimitSectionKeyword apacheLimitSection +hi def link apacheLimitSection apacheSection +hi def link apacheSection Label +hi def link apacheMethodOption Type +hi def link apacheAllowDeny Include +hi def link apacheAllowDenyValue Identifier +hi def link apacheOrder Special +hi def link apacheOrderValue String +hi def link apacheString String +hi def link apacheError Error +hi def link apacheUserID Number + + +let b:current_syntax = "apache" diff --git a/uvim/runtime/syntax/apache.vim b/uvim/runtime/syntax/apache.vim deleted file mode 100644 index edc650e9df..0000000000 --- a/uvim/runtime/syntax/apache.vim +++ /dev/null @@ -1,206 +0,0 @@ -" Vim syntax file -" Language: Apache configuration (httpd.conf, srm.conf, access.conf, .htaccess) -" Maintainer: David Necas (Yeti) -" License: This file can be redistribued and/or modified under the same terms -" as Vim itself. -" Last Change: 2024 Nov 24 -" 2026 Feb 19 by Vim project: Add SSLVHostSNIPolicy -" Notes: Last synced with apache-2.4.62, version 1.x is no longer supported -" TODO: see particular FIXME's scattered through the file -" make it really linewise? -" + add `display' where appropriate - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn iskeyword @,48-57,_,192-255,- -syn case ignore - -" Base constructs -syn match apacheComment "^\s*#.*$" contains=apacheFixme -syn match apacheUserID "#-\?\d\+\>" -syn case match -syn keyword apacheFixme FIXME TODO XXX NOT -syn case ignore -syn match apacheAnything "\s[^>]*" contained -syn match apacheError "\w\+" contained -syn region apacheString start=+"+ end=+"+ skip=+\\\\\|\\\"+ oneline - -" Following is to prevent escaped quotes from being parsed as strings. -syn match apacheSkipQuote +\\"+ - -" Core and mpm -syn keyword apacheDeclaration AccessFileName AddDefaultCharset AllowOverride AuthName AuthType ContentDigest DefaultType DocumentRoot ErrorDocument ErrorLog HostNameLookups IdentityCheck Include KeepAlive KeepAliveTimeout LimitRequestBody LimitRequestFields LimitRequestFieldsize LimitRequestLine LogLevel MaxKeepAliveRequests NameVirtualHost Options Require RLimitCPU RLimitMEM RLimitNPROC Satisfy ScriptInterpreterSource ServerAdmin ServerAlias ServerName ServerPath ServerRoot ServerSignature ServerTokens TimeOut UseCanonicalName -syn keyword apacheDeclaration AcceptPathInfo CGIMapExtension EnableMMAP FileETag ForceType LimitXMLRequestBody SetHandler SetInputFilter SetOutputFilter -syn keyword apacheDeclaration AcceptFilter AllowEncodedSlashes EnableSendfile LimitInternalRecursion TraceEnable -syn keyword apacheOption INode MTime Size -syn keyword apacheOption Any All On Off Double EMail DNS Min Minimal OS Prod ProductOnly Full -syn keyword apacheOption emerg alert crit error warn notice info debug -syn keyword apacheOption registry script inetd standalone -syn match apacheOptionOption "[+-]\?\<\(ExecCGI\|FollowSymLinks\|Includes\|IncludesNoExec\|Indexes\|MultiViews\|SymLinksIfOwnerMatch\)\>" -syn keyword apacheOption user group -syn match apacheOption "\" -syn case match -syn keyword apacheMethodOption GET POST PUT DELETE CONNECT OPTIONS TRACE PATCH PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK contained -" Added as suggested by Mikko Koivunalho -syn keyword apacheMethodOption BASELINE-CONTROL CHECKIN CHECKOUT LABEL MERGE MKACTIVITY MKWORKSPACE REPORT UNCHECKOUT UPDATE VERSION-CONTROL contained -syn case ignore -syn match apacheSection "<\/\=\(Directory\|Files\|If\|Else\|Location\|VirtualHost\)[^>]*>" contains=apacheAnything -syn match apacheSection "<\/\=\(RequireAll\|RequireAny\|RequireNone\)>" contains=apacheAnything -syn match apacheLimitSection "<\/\=Limit[^>]*>" contains=apacheLimitSectionKeyword,apacheMethodOption,apacheError -syn keyword apacheLimitSectionKeyword Limit LimitExcept contained -syn match apacheAuthType "AuthType\s.*$" contains=apacheAuthTypeValue -syn keyword apacheAuthTypeValue Basic Digest -syn match apacheAllowOverride "AllowOverride\s.*$" contains=apacheAllowOverrideValue,apacheComment -syn keyword apacheAllowOverrideValue AuthConfig FileInfo Indexes Limit Options contained -syn keyword apacheDeclaration CoreDumpDirectory EnableExceptionHook GracefulShutdownTimeout Group Listen ListenBacklog LockFile MaxClients MaxMemFree MaxRequestsPerChild MaxSpareThreads MaxSpareThreadsPerChild MinSpareThreads NumServers PidFile ScoreBoardFile SendBufferSize ServerLimit StartServers StartThreads ThreadLimit ThreadsPerChild User -syn keyword apacheDeclaration MaxThreads ThreadStackSize -syn keyword apacheDeclaration Win32DisableAcceptEx -syn keyword apacheDeclaration AssignUserId ChildPerUserId -syn keyword apacheDeclaration AcceptMutex MaxSpareServers MinSpareServers -syn keyword apacheOption flock fcntl sysvsem pthread - -" Modules -syn keyword apacheDeclaration Action Script -syn keyword apacheDeclaration Alias AliasMatch Redirect RedirectMatch RedirectTemp RedirectPermanent ScriptAlias ScriptAliasMatch -syn keyword apacheOption permanent temp seeother gone -syn keyword apacheDeclaration AuthAuthoritative AuthGroupFile AuthUserFile -syn keyword apacheDeclaration AuthBasicAuthoritative AuthBasicProvider -syn keyword apacheDeclaration AuthDigestAlgorithm AuthDigestDomain AuthDigestNcCheck AuthDigestNonceFormat AuthDigestNonceLifetime AuthDigestProvider AuthDigestQop AuthDigestShmemSize -syn keyword apacheOption none auth auth-int MD5 MD5-sess -syn match apacheSection "<\/\=Auth[ntz]ProviderAlias[^>]*>" contains=apacheAnything -syn keyword apacheDeclaration Anonymous Anonymous_Authoritative Anonymous_LogEmail Anonymous_MustGiveEmail Anonymous_NoUserID Anonymous_VerifyEmail -syn keyword apacheDeclaration AuthDBDUserPWQuery AuthDBDUserRealmQuery -syn keyword apacheDeclaration AuthDBMGroupFile AuthDBMAuthoritative -syn keyword apacheDeclaration AuthDBM TypeAuthDBMUserFile -syn keyword apacheOption default SDBM GDBM NDBM DB -syn keyword apacheDeclaration AuthDefaultAuthoritative -syn keyword apacheDeclaration AuthUserFile -syn keyword apacheDeclaration AuthLDAPBindON AuthLDAPEnabled AuthLDAPFrontPageHack AuthLDAPStartTLS -syn keyword apacheDeclaration AuthLDAPBindDN AuthLDAPBindPassword AuthLDAPCharsetConfig AuthLDAPCompareDNOnServer AuthLDAPDereferenceAliases AuthLDAPGroupAttribute AuthLDAPGroupAttributeIsDN AuthLDAPRemoteUserIsDN AuthLDAPUrl AuthzLDAPAuthoritative -syn keyword apacheOption always never searching finding -syn keyword apacheOption ldap-user ldap-group ldap-dn ldap-attribute ldap-filter -syn keyword apacheDeclaration AuthDBMGroupFile AuthzDBMAuthoritative AuthzDBMType -syn keyword apacheDeclaration AuthzDefaultAuthoritative -syn keyword apacheDeclaration AuthGroupFile AuthzGroupFileAuthoritative -syn match apacheAllowDeny "Allow\s\+from.*$" contains=apacheAllowDenyValue,apacheComment -syn match apacheAllowDeny "Deny\s\+from.*$" contains=apacheAllowDenyValue,apacheComment -syn keyword apacheAllowDenyValue All None contained -syn match apacheOrder "^\s*Order\s.*$" contains=apacheOrderValue,apacheComment -syn keyword apacheOrderValue Deny Allow contained -syn keyword apacheDeclaration AuthzOwnerAuthoritative -syn keyword apacheDeclaration AuthzUserAuthoritative -syn keyword apacheDeclaration AddAlt AddAltByEncoding AddAltByType AddDescription AddIcon AddIconByEncoding AddIconByType DefaultIcon HeaderName IndexIgnore IndexOptions IndexOrderDefault ReadmeName -syn keyword apacheDeclaration IndexStyleSheet -syn keyword apacheOption DescriptionWidth FancyIndexing FoldersFirst IconHeight IconsAreLinks IconWidth NameWidth ScanHTMLTitles SuppressColumnSorting SuppressDescription SuppressHTMLPreamble SuppressLastModified SuppressSize TrackModified -syn keyword apacheOption Ascending Descending Name Date Size Description -syn keyword apacheOption HTMLTable SuppressIcon SuppressRules VersionSort XHTML -syn keyword apacheOption IgnoreClient IgnoreCase ShowForbidden SuppresRules -syn keyword apacheDeclaration CacheForceCompletion CacheMaxStreamingBuffer -syn keyword apacheDeclaration CacheDefaultExpire CacheDisable CacheEnable CacheIgnoreCacheControl CacheIgnoreHeaders CacheIgnoreNoLastMod CacheLastModifiedFactor CacheMaxExpire CacheStoreNoStore CacheStorePrivate -syn keyword apacheDeclaration MetaFiles MetaDir MetaSuffix -syn keyword apacheDeclaration ScriptLog ScriptLogLength ScriptLogBuffer -syn keyword apacheDeclaration ScriptStock -syn keyword apacheDeclaration CharsetDefault CharsetOptions CharsetSourceEnc -syn keyword apacheOption DebugLevel ImplicitAdd NoImplicitAdd -syn keyword apacheDeclaration Dav DavDepthInfinity DavMinTimeout -syn keyword apacheDeclaration DavLockDB -syn keyword apacheDeclaration DavGenericLockDB -syn keyword apacheDeclaration DBDExptime DBDKeep DBDMax DBDMin DBDParams DBDPersist DBDPrepareSQL DBDriver -syn keyword apacheDeclaration DeflateCompressionLevel DeflateBufferSize DeflateFilterNote DeflateMemLevel DeflateWindowSize -syn keyword apacheDeclaration DirectoryIndex DirectorySlash -syn keyword apacheDeclaration CacheExpiryCheck CacheGcClean CacheGcDaily CacheGcInterval CacheGcMemUsage CacheGcUnused CacheSize CacheTimeMargin -syn keyword apacheDeclaration CacheDirLength CacheDirLevels CacheMaxFileSize CacheMinFileSize CacheRoot -syn keyword apacheDeclaration DumpIOInput DumpIOOutput -syn keyword apacheDeclaration ProtocolEcho -syn keyword apacheDeclaration PassEnv SetEnv UnsetEnv -syn keyword apacheDeclaration Example -syn keyword apacheDeclaration ExpiresActive ExpiresByType ExpiresDefault -syn keyword apacheDeclaration ExtFilterDefine ExtFilterOptions -syn keyword apacheOption PreservesContentLength DebugLevel LogStderr NoLogStderr -syn match apacheOption "\<\(cmd\|mode\|intype\|outtype\|ftype\|disableenv\|enableenv\)\ze=" -syn keyword apacheDeclaration CacheFile MMapFile -syn keyword apacheDeclaration FilterChain FilterDeclare FilterProtocol FilterProvider FilterTrace -syn keyword apacheDeclaration Header -syn keyword apacheDeclaration RequestHeader -syn keyword apacheOption set unset append add -syn keyword apacheDeclaration IdentityCheck IdentityCheckTimeout -syn keyword apacheDeclaration ImapMenu ImapDefault ImapBase -syn keyword apacheOption none formatted semiformatted unformatted -syn keyword apacheOption nocontent referer error map -syn keyword apacheDeclaration SSIEndTag SSIErrorMsg SSIStartTag SSITimeFormat SSIUndefinedEcho XBitHack -syn keyword apacheOption on off full -syn keyword apacheDeclaration AddModuleInfo -syn keyword apacheDeclaration ISAPIReadAheadBuffer ISAPILogNotSupported ISAPIAppendLogToErrors ISAPIAppendLogToQuery -syn keyword apacheDeclaration ISAPICacheFile ISAIPFakeAsync -syn keyword apacheDeclaration LDAPCertDBPath -syn keyword apacheDeclaration LDAPCacheEntries LDAPCacheTTL LDAPConnectionTimeout LDAPOpCacheEntries LDAPOpCacheTTL LDAPSharedCacheFile LDAPSharedCacheSize LDAPTrustedClientCert LDAPTrustedGlobalCert LDAPTrustedMode LDAPVerifyServerCert -syn keyword apacheOption CA_DER CA_BASE64 CA_CERT7_DB CA_SECMOD CERT_DER CERT_BASE64 CERT_KEY3_DB CERT_NICKNAME CERT_PFX KEY_DER KEY_BASE64 KEY_PFX -syn keyword apacheDeclaration BufferedLogs CookieLog CustomLog LogFormat TransferLog -syn keyword apacheDeclaration ForensicLog -syn keyword apacheDeclaration MCacheMaxObjectCount MCacheMaxObjectSize MCacheMaxStreamingBuffer MCacheMinObjectSize MCacheRemovalAlgorithm MCacheSize -syn keyword apacheDeclaration AddCharset AddEncoding AddHandler AddLanguage AddType DefaultLanguage RemoveEncoding RemoveHandler RemoveType TypesConfig -syn keyword apacheDeclaration AddInputFilter AddOutputFilter ModMimeUsePathInfo MultiviewsMatch RemoveInputFilter RemoveOutputFilter RemoveCharset -syn keyword apacheOption NegotiatedOnly Filters Handlers -syn keyword apacheDeclaration MimeMagicFile -syn keyword apacheDeclaration MMapFile -syn keyword apacheDeclaration CacheNegotiatedDocs LanguagePriority ForceLanguagePriority -syn keyword apacheDeclaration NWSSLTrustedCerts NWSSLUpgradeable SecureListen -syn keyword apacheDeclaration PerlModule PerlRequire PerlTaintCheck PerlWarn -syn keyword apacheDeclaration PerlSetVar PerlSetEnv PerlPassEnv PerlSetupEnv -syn keyword apacheDeclaration PerlInitHandler PerlPostReadRequestHandler PerlHeaderParserHandler -syn keyword apacheDeclaration PerlTransHandler PerlAccessHandler PerlAuthenHandler PerlAuthzHandler -syn keyword apacheDeclaration PerlTypeHandler PerlFixupHandler PerlHandler PerlLogHandler -syn keyword apacheDeclaration PerlCleanupHandler PerlChildInitHandler PerlChildExitHandler -syn keyword apacheDeclaration PerlRestartHandler PerlDispatchHandler -syn keyword apacheDeclaration PerlFreshRestart PerlSendHeader -syn keyword apacheDeclaration php_value php_flag php_admin_value php_admin_flag -syn match apacheSection "<\/\=\(Macro\|MDomain\|Proxy\)[^>]*>" contains=apacheAnything -syn keyword apacheDeclaration AllowCONNECT NoProxy ProxyBadHeader ProxyBlock ProxyDomain ProxyErrorOverride ProxyIOBufferSize ProxyMaxForwards ProxyPass ProxyPassMatch ProxyPassReverse ProxyPassReverseCookieDomain ProxyPassReverseCookiePath ProxyPreserveHost ProxyReceiveBufferSize ProxyRemote ProxyRemoteMatch ProxyRequests ProxyTimeout ProxyVia -syn keyword apacheDeclaration RewriteBase RewriteCond RewriteEngine RewriteLock RewriteLog RewriteLogLevel RewriteMap RewriteOptions RewriteRule -syn keyword apacheOption inherit -syn keyword apacheDeclaration BrowserMatch BrowserMatchNoCase SetEnvIf SetEnvIfNoCase -syn keyword apacheDeclaration LoadFile LoadModule -syn keyword apacheDeclaration CheckSpelling CheckCaseOnly -syn keyword apacheDeclaration SSLCACertificateFile SSLCACertificatePath SSLCADNRequestFile SSLCADNRequestPath SSLCARevocationFile SSLCARevocationPath SSLCertificateChainFile SSLCertificateFile SSLCertificateKeyFile SSLCipherSuite SSLCompression SSLCryptoDevice SSLEngine SSLFIPS SSLHonorCipherOrder SSLInsecureRenegotiation SSLMutex SSLOptions SSLPassPhraseDialog SSLProtocol SSLProxyCACertificateFile SSLProxyCACertificatePath SSLProxyCARevocationFile SSLProxyCARevocationPath SSLProxyCheckPeerCN SSLProxyCheckPeerExpire SSLProxyCipherSuite SSLProxyEngine SSLProxyMachineCertificateChainFile SSLProxyMachineCertificateFile SSLProxyMachineCertificatePath SSLProxyProtocol SSLProxyVerify SSLProxyVerifyDepth SSLRandomSeed SSLRenegBufferSize SSLRequire SSLRequireSSL SSLSessionCache SSLSessionCacheTimeout SSLSessionTicketKeyFile SSLSessionTickets SSLStrictSNIVHostCheck SSLUserName SSLVerifyClient SSLVerifyDepth SSLVHostSNIPolicy -syn match apacheOption "[+-]\?\<\(StdEnvVars\|CompatEnvVars\|ExportCertData\|FakeBasicAuth\|StrictRequire\|OptRenegotiate\)\>" -syn keyword apacheOption builtin sem -syn match apacheOption "\(file\|exec\|egd\|dbm\|shm\):" -syn match apacheOption "[+-]\?\<\(SSLv2\|SSLv3\|TLSv1\|kRSA\|kHDr\|kDHd\|kEDH\|aNULL\|aRSA\|aDSS\|aRH\|eNULL\|DES\|3DES\|RC2\|RC4\|IDEA\|MD5\|SHA1\|SHA\|EXP\|EXPORT40\|EXPORT56\|LOW\|MEDIUM\|HIGH\|RSA\|DH\|EDH\|ADH\|DSS\|NULL\)\>" -syn keyword apacheOption optional optional_no_ca -syn keyword apacheDeclaration ExtendedStatus -syn keyword apacheDeclaration SuexecUserGroup -syn keyword apacheDeclaration UserDir -syn keyword apacheDeclaration CookieDomain CookieExpires CookieName CookieStyle CookieTracking -syn keyword apacheOption Netscape Cookie Cookie2 RFC2109 RFC2965 -syn keyword apacheDeclaration VirtualDocumentRoot VirtualDocumentRootIP VirtualScriptAlias VirtualScriptAliasIP -syn keyword apacheDeclaration AcceptErrorsNonFatal AsyncFilter AsyncRequestWorkerFactor AuthBasicFake AuthBasicUseDigestAlgorithm AuthBearerAuthoritative AuthBearerProvider AuthBearerProxy AuthDBMType AuthDBMUserFile AuthFormAuthoritative AuthFormBody AuthFormDisableNoStore AuthFormFakeBasicAuth AuthFormLocation AuthFormLoginRequiredLocation AuthFormLoginSuccessLocation AuthFormLogoutLocation AuthFormMethod AuthFormMimetype AuthFormPassword AuthFormProvider AuthFormSitePassphrase AuthFormSize AuthFormUsername AuthLDAPAuthorizePrefix AuthLDAPBindAuthoritative AuthLDAPCompareAsUser AuthLDAPInitialBindAsUser AuthLDAPInitialBindPattern AuthLDAPMaxSubGroupDepth AuthLDAPRemoteUserAttribute AuthLDAPSearchAsUser AuthLDAPSubGroupAttribute AuthLDAPSubGroupClass AuthLDAPURL AuthMerging AuthnCacheContext AuthnCacheEnable AuthnCacheProvideFor AuthnCacheSOCache AuthnCacheTimeout AuthnzFcgiCheckAuthnProvider AuthnzFcgiDefineProvider AuthtJwtClaim AuthtJwtDriver AuthtJwtSign AuthtJwtVerify AuthzDBDLoginToReferer AuthzDBDQuery AuthzDBDRedirectQuery AuthzSendForbiddenOnFailure BalancerGrowth BalancerInherit BalancerMember BalancerPersist BrotliAlterETag BrotliCompressionMaxInputBlock BrotliCompressionQuality BrotliCompressionWindow BrotliFilterNote BufferSize CacheDetailHeader CacheHeader CacheIgnoreQueryString CacheIgnoreURLSessionIdentifiers CacheKeyBaseURL CacheLock CacheLockMaxAge CacheLockPath CacheMinExpire CacheQuickHandler CacheReadSize CacheReadTime CacheSocache CacheSocacheMaxSize CacheSocacheMaxTime CacheSocacheMinTime CacheSocacheReadSize CacheSocacheReadTime CacheStaleOnError CacheStoreExpired CGIDScriptTimeout CGIPassAuth CGIScriptTimeout CGIVar CheckBasenameMatch ChrootDir CookieHTTPOnly CookieSameSite CookieSecure CryptoCipher CryptoDriver CryptoIV CryptoKey CryptoSize CTAuditStorage CTLogClient CTLogConfigDB CTMaxSCTAge CTProxyAwareness CTSCTStorage CTServerHelloSCTLimit CTStaticLogConfig CTStaticSCTs DBDInitSQL DefaultRuntimeDir DefaultStateDir DeflateAlterETag DeflateInflateLimitRequestBody DeflateInflateRatioBurst DeflateInflateRatioLimit DirectoryCheckHandler DTracePrivileges FallbackResource Files FilesMatch FirehoseConnectionInput FirehoseConnectionOutput FirehoseProxyConnectionInput FirehoseProxyConnectionOutput FirehoseRequestInput FirehoseRequestOutput FlushMaxPipelined FlushMaxThreshold GlobalLog GprofDir H2CopyFiles H2Direct H2EarlyHint H2EarlyHints H2MaxDataFrameLen H2MaxSessionStreams H2MaxWorkerIdleSeconds H2MaxWorkers H2MinWorkers H2ModernTLSOnly H2OutputBuffering H2Padding H2ProxyRequests H2Push H2PushDiarySize H2PushPriority H2PushResource H2SerializeHeaders H2StreamMaxMemSize H2StreamTimeout H2TLSCoolDownSecs H2TLSWarmUpSize H2Upgrade H2WebSockets H2WindowSize HeartbeatAddress HeartbeatListen HeartbeatMaxServers HeartbeatStorage HeartbeatStorage HostnameLookups HttpProtocolOptions IndexForbiddenReturn404 IndexHeadInsert InputSed ISAPIFakeAsync KeptBodySize LDAPConnectionPoolTTL LDAPLibraryDebug LDAPReferralHopLimit LDAPReferrals LDAPRetries LDAPRetryDelay LDAPTimeout Location LocationMatch LogIOTrackTTFB LogIOTrackTTFU LogMessage LuaAuthzProvider LuaCodeCache LuaHookAccessChecker LuaHookAuthChecker LuaHookCheckUserID LuaHookFixups LuaHookInsertFilter LuaHookLog LuaHookMapToStorage LuaHookPreTranslate LuaHookTranslateName LuaHookTypeChecker LuaInherit LuaInputFilter LuaMapHandler LuaOutputFilter LuaPackageCPath LuaPackagePath LuaQuickHandler LuaRoot LuaScope MacroIgnoreBadNesting MacroIgnoreEmptyArgs MaxConnectionsPerChild MaxRangeOverlaps MaxRangeReversals MaxRanges MaxRequestWorkers MDActivationDelay MDBaseServer MDCAChallenges MDCertificateAgreement MDCertificateAuthority MDCertificateCheck MDCertificateFile MDCertificateKeyFile MDCertificateMonitor MDCertificateProtocol MDCertificateStatus MDChallengeDns01 MDChallengeDns01Version MDCheckInterval MDContactEmail MDDriveMode MDExternalAccountBinding MDHttpProxy MDMatchNames MDMember MDMembers MDMessageCmd MDMustStaple MDNotifyCmd MDomain MDPortMap MDPrivateKeys MDRenewMode MDRenewWindow MDRequireHttps MDRetryDelay MDRetryFailover MDServerStatus MDStapleOthers MDStapling MDStaplingKeepResponse MDStaplingRenewWindow MDStoreDir MDStoreLocks MDWarnWindow MemcacheConnTTL MergeSlashes MergeTrailers MimeOptions ModemStandard Mutex Order OutputSed PolicyConditional PolicyConditionalURL PolicyEnvironment PolicyFilter PolicyKeepalive PolicyKeepaliveURL PolicyLength PolicyLengthURL PolicyMaxage PolicyMaxageURL PolicyNocache PolicyNocacheURL PolicyType PolicyTypeURL PolicyValidation PolicyValidationURL PolicyVary PolicyVaryURL PolicyVersion PolicyVersionURL PrivilegesMode Protocol Protocols ProtocolsHonorOrder Proxy100Continue ProxyAddHeaders ProxyExpressDBMFile ProxyExpressDBMType ProxyExpressEnable ProxyFCGIBackendType ProxyFCGISetEnvIf ProxyFtpDirCharset ProxyFtpEscapeWildcards ProxyFtpListOnWildcard ProxyHCExpr ProxyHCTemplate ProxyHCTPsize ProxyHTMLBufSize ProxyHTMLCharsetOut ProxyHTMLDocType ProxyHTMLEnable ProxyHTMLEvents ProxyHTMLExtended ProxyHTMLFixups ProxyHTMLInterp ProxyHTMLLinks ProxyHTMLMeta ProxyHTMLStripComments ProxyHTMLURLMap ProxySCGIInternalRedirect ProxySCGISendfile ProxySet ProxySourceAddress ProxyStatus ProxyWebsocketAsync ProxyWebsocketAsyncDelay ProxyWebsocketFallbackToProxyHttp ProxyWebsocketIdleTimeout QualifyRedirectURL ReadBufferSize ReceiveBufferSize RedisConnPoolTTL RedisTimeout ReflectorHeader RegexDefaultOptions RegisterHttpMethod RemoteIPHeader RemoteIPInternalProxy RemoteIPInternalProxyList RemoteIPProxiesHeader RemoteIPProxyProtocol RemoteIPProxyProtocolExceptions RemoteIPTrustedProxy RemoteIPTrustedProxyList RemoveLanguage RequestReadTimeout SeeRequestTail Session SessionCookieMaxAge SessionCookieName SessionCookieName2 SessionCookieRemove SessionCryptoCipher SessionCryptoDriver SessionCryptoPassphrase SessionCryptoPassphraseFile SessionDBDCookieName SessionDBDCookieName2 SessionDBDCookieRemove SessionDBDDeleteLabel SessionDBDInsertLabel SessionDBDPerUser SessionDBDSelectLabel SessionDBDUpdateLabel SessionEnv SessionExclude SessionExpiryUpdateInterval SessionHeader SessionInclude SessionMaxAge SSIETag SSILastModified SSILegacyExprParser SSLCARevocationCheck SSLClientHelloVars SSLOCSPDefaultResponder SSLOCSPEnable SSLOCSPNoverify SSLOCSPOverrideResponder SSLOCSPProxyURL SSLOCSPResponderCertificateFile SSLOCSPResponderTimeout SSLOCSPResponseMaxAge SSLOCSPResponseTimeSkew SSLOCSPUseRequestNonce SSLOpenSSLConfCmd SSLPolicy SSLProxyCARevocationCheck SSLProxyCheckPeerName SSLSRPUnknownUserSeed SSLSRPVerifierFile SSLStaplingCache SSLStaplingErrorCacheTimeout SSLStaplingFakeTryLater SSLStaplingForceURL SSLStaplingResponderTimeout SSLStaplingResponseMaxAge SSLStaplingResponseTimeSkew SSLStaplingReturnResponderErrors SSLStaplingStandardCacheTimeout SSLUseStapling StrictHostCheck Substitute SubstituteInheritBefore SubstituteMaxLineLength Suexec UNCList UnDefine UndefMacro Use UseCanonicalPhysicalPort VHostCGIMode VHostCGIPrivs VHostGroup VHostPrivs VHostSecure VHostUser Warning WatchdogInterval xml2EncAlias xml2EncDefault xml2StartParse - -" Define the default highlighting - -hi def link apacheAllowOverride apacheDeclaration -hi def link apacheAllowOverrideValue apacheOption -hi def link apacheAuthType apacheDeclaration -hi def link apacheAuthTypeValue apacheOption -hi def link apacheOptionOption apacheOption -hi def link apacheDeclaration Function -hi def link apacheAnything apacheOption -hi def link apacheOption Number -hi def link apacheComment Comment -hi def link apacheFixme Todo -hi def link apacheLimitSectionKeyword apacheLimitSection -hi def link apacheLimitSection apacheSection -hi def link apacheSection Label -hi def link apacheMethodOption Type -hi def link apacheAllowDeny Include -hi def link apacheAllowDenyValue Identifier -hi def link apacheOrder Special -hi def link apacheOrderValue String -hi def link apacheString String -hi def link apacheError Error -hi def link apacheUserID Number - - -let b:current_syntax = "apache" diff --git a/uvim/runtime/syntax/apachestyle.mnv b/uvim/runtime/syntax/apachestyle.mnv new file mode 100644 index 0000000000..752368076e --- /dev/null +++ b/uvim/runtime/syntax/apachestyle.mnv @@ -0,0 +1,54 @@ +" MNV syntax file +" Language: Apache-Style configuration files (proftpd.conf/apache.conf/..) +" Maintainer: Ben RUBSON +" Former Maintainer: Christian Hammers +" ChangeLog: +" 2017-12-17,ch +" correctly detect comments +" 2001-05-04,ch +" adopted MNV 6.0 syntax style +" 1999-10-28,ch +" initial release + +" The following formats are recognised: +" Apache-style .conf +" # Comment +" Option value +" Option value1 value2 +" Option = value1 value2 #not apache but also allowed +"
+" Option value +" +" +"
+ +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn case ignore + +syn match apOption /^\s*[^ \t#<=]*/ +syn match apComment /^\s*#.*$/ +"syn match apLastValue /[^ \t<=#]*$/ contains=apComment ugly + +" tags +syn region apTag start=// contains=apTagOption,apTagError +" the following should originally be " [^<>]+" but this didn't work :( +syn match apTagOption contained / [-\/_\.:*a-zA-Z0-9]\+/ms=s+1 +syn match apTagError contained /[^>] -" Former Maintainer: Christian Hammers -" ChangeLog: -" 2017-12-17,ch -" correctly detect comments -" 2001-05-04,ch -" adopted Vim 6.0 syntax style -" 1999-10-28,ch -" initial release - -" The following formats are recognised: -" Apache-style .conf -" # Comment -" Option value -" Option value1 value2 -" Option = value1 value2 #not apache but also allowed -"
-" Option value -" -" -"
- -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn case ignore - -syn match apOption /^\s*[^ \t#<=]*/ -syn match apComment /^\s*#.*$/ -"syn match apLastValue /[^ \t<=#]*$/ contains=apComment ugly - -" tags -syn region apTag start=// contains=apTagOption,apTagError -" the following should originally be " [^<>]+" but this didn't work :( -syn match apTagOption contained / [-\/_\.:*a-zA-Z0-9]\+/ms=s+1 -syn match apTagError contained /[^>] +" Last Change: 2024 Dec 22 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" The actual syntax is in sh.mnv and controlled by buffer-local variables. +unlet! b:is_bash b:is_kornshell +let b:is_sh = 1 + +runtime! syntax/sh.mnv + +let b:current_syntax = 'apkbuild' diff --git a/uvim/runtime/syntax/apkbuild.vim b/uvim/runtime/syntax/apkbuild.vim deleted file mode 100644 index f969ff0e2e..0000000000 --- a/uvim/runtime/syntax/apkbuild.vim +++ /dev/null @@ -1,17 +0,0 @@ -" Vim syntax file -" Language: apkbuild -" Maintainer: The Vim Project -" Last Change: 2024 Dec 22 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" The actual syntax is in sh.vim and controlled by buffer-local variables. -unlet! b:is_bash b:is_kornshell -let b:is_sh = 1 - -runtime! syntax/sh.vim - -let b:current_syntax = 'apkbuild' diff --git a/uvim/runtime/syntax/aptconf.mnv b/uvim/runtime/syntax/aptconf.mnv new file mode 100644 index 0000000000..1d0313a3fb --- /dev/null +++ b/uvim/runtime/syntax/aptconf.mnv @@ -0,0 +1,577 @@ +" MNV syntax file +" Language: APT config file +" Maintainer: Yann Amar +" Last Change: 2021 Jul 12 + +" quit when a syntax file was already loaded +if !exists("main_syntax") + if exists("b:current_syntax") + finish + endif + let main_syntax = 'aptconf' +endif + +let s:cpo_save = &cpo +set cpo&mnv + +" Errors: +" Catch all that is not overridden by next rules/items: +syn match aptconfError display '[^[:blank:]]' +syn match aptconfError display '^[^[:blank:]][^:{]*' + +" Options: +" Define a general regular expression for the options that are not defined +" later as keywords. Following apt.conf(5), we know that options are case +" insensitive, and can contain alphanumeric characters and '/-:._+'; we +" assume that there can not be consecutive colons (::) which is used as +" syntax operator; we also assume that an option name can not start or end +" by a colon. +syn case ignore +syn match aptconfRegexpOpt '[-[:alnum:]/.+_]\+\(:[-[:alnum:]/.+_]\+\)*' contained display + +" Keywords: +setlocal iskeyword+=/,-,.,_,+ +"setlocal iskeyword+=: is problematic, because of the '::' separator + +" Incomplete keywords will be treated differently than completely bad strings: +syn keyword aptconfGroupIncomplete + \ a[cquire] a[dequate] a[ptitude] a[ptlistbugs] d[ebtags] d[ebug] + \ d[ir] d[pkg] d[select] o[rderlist] p[ackagemanager] p[kgcachegen] + \ q[uiet] r[pm] s[ynaptic] u[nattended-upgrade] w[hatmaps] + +" Only the following keywords can be used at toplevel (to begin an option): +syn keyword aptconfGroup + \ acquire adequate apt aptitude aptlistbugs debtags debug + \ dir dpkg dselect orderlist packagemanager pkgcachegen + \ quiet rpm synaptic unattended-upgrade whatmaps + +" Possible options for each group: +" Acquire: {{{ +syn keyword aptconfAcquire contained + \ cdrom Check-Valid-Until CompressionTypes ForceHash ForceIPv4 + \ ForceIPv6 ftp gpgv GzipIndexes http https Languages Max-ValidTime + \ Min-ValidTime PDiffs Queue-Mode Retries Source-Symlinks + +syn keyword aptconfAcquireCDROM contained + \ AutoDetect CdromOnly Mount UMount + +syn keyword aptconfAcquireCompressionTypes contained + \ bz2 lzma gz Order + +syn keyword aptconfAcquireFTP contained + \ ForceExtended Passive Proxy ProxyLogin Timeout + +syn keyword aptconfAcquireHTTP contained + \ AllowRedirect Dl-Limit Max-Age No-Cache No-Store Pipeline-Depth + \ Proxy ProxyAutoDetect Proxy-Auto-Detect Timeout User-Agent + +syn keyword aptconfAcquireHTTPS contained + \ AllowRedirect CaInfo CaPath CrlFile Dl-Limit IssuerCert Max-Age + \ No-Cache No-Store Proxy SslCert SslForceVersion SslKey Timeout + \ Verify-Host Verify-Peer + +syn keyword aptconfAcquireMaxValidTime contained + \ Debian Debian-Security + +syn keyword aptconfAcquirePDiffs contained + \ FileLimit SizeLimit + +syn cluster aptconfAcquire_ contains=aptconfAcquire, + \ aptconfAcquireCDROM,aptconfAcquireCompressionTypes,aptconfAcquireFTP, + \ aptconfAcquireHTTP,aptconfAcquireHTTPS,aptconfAcquireMaxValidTime, + \ aptconfAcquirePDiffs +" }}} +" Adequate: {{{ +syn keyword aptconfAdequate contained + \ Enabled + +syn cluster aptconfAdequate_ contains=aptconfAdequate +" }}} +" Apt: {{{ +syn keyword aptconfApt contained + \ Architecture Architectures Archive Authentication AutoRemove + \ Build-Essential Build-Profiles Cache Cache-Grow Cache-Limit + \ Cache-Start CDROM Changelogs Clean-Installed Compressor + \ Default-Release Force-LoopBreak Get Ignore-Hold Immediate-Configure + \ Install-Recommends Install-Suggests Keep-Fds List-Cleanup + \ Move-Autobit-Sections NeverAutoRemove Never-MarkAuto-Sections + \ Periodic Status-Fd Update VersionedKernelPackages + +syn keyword aptconfAptAuthentication contained + \ TrustCDROM + +syn keyword aptconfAptAutoRemove contained + \ RecommendsImportant SuggestsImportant + +syn keyword aptconfAptCache contained + \ AllNames AllVersions Generate GivenOnly Important Installed NamesOnly + \ RecurseDepends ShowFull + +syn keyword aptconfAptCDROM contained + \ Fast NoAct NoMount Rename + +syn keyword aptconfAptChangelogs contained + \ Server + +syn keyword aptconfAptCompressor contained + \ bzip2 gzip lzma xz + +syn keyword aptconfAptCompressorAll contained + \ Binary CompressArg Cost Extension Name UncompressArg + +syn keyword aptconfAptGet contained + \ AllowUnauthenticated Arch-Only Assume-No Assume-Yes AutomaticRemove + \ Build-Dep-Automatic Compile Diff-Only Download Download-Only Dsc-Only + \ Fix-Broken Fix-Missing Force-Yes HideAutoRemove Host-Architecture + \ List-Cleanup Only-Source Print-URIs Purge ReInstall Remove + \ Show-Upgraded Show-User-Simulation-Note Show-Versions Simulate + \ Tar-Only Trivial-Only Upgrade + +syn keyword aptconfAptPeriodic contained + \ AutocleanInterval BackupArchiveInterval BackupLevel + \ Download-Upgradeable-Packages Download-Upgradeable-Packages-Debdelta + \ Enable MaxAge MaxSize MinAge Unattended-Upgrade Update-Package-Lists + \ Verbose + +syn keyword aptconfAptUpdate contained + \ List-Refresh Pre-Invoke Post-Invoke Post-Invoke-Success + +syn cluster aptconfApt_ contains=aptconfApt, + \ aptconfAptAuthentication,aptconfAptAutoRemove,aptconfAptCache, + \ aptconfAptCDROM,aptconfAptChangelogs,aptconfAptCompressor, + \ aptconfAptCompressorAll,aptconfAptGet,aptconfAptPeriodic, + \ aptconfAptUpdate +" }}} +" Aptitude: {{{ +syn keyword aptconfAptitude contained + \ Allow-Null-Upgrade Always-Use-Safe-Resolver Autoclean-After-Update + \ Auto-Install Auto-Fix-Broken Cmdline Debtags-Binary + \ Debtags-Update-Options Delete-Unused Delete-Unused-Pattern + \ Display-Planned-Action Forget-New-On-Install Forget-New-On-Update + \ Get-Root-Command Ignore-Old-Tmp Ignore-Recommends-Important + \ Keep-Recommends Keep-Suggests Keep-Unused-Pattern LockFile Log + \ Logging Parse-Description-Bullets Pkg-Display-Limit ProblemResolver + \ Purge-Unused Recommends-Important Safe-Resolver Screenshot Sections + \ Simulate Spin-Interval Suggests-Important Suppress-Read-Only-Warning + \ Theme Track-Dselect-State UI Warn-Not-Root + +syn keyword aptconfAptitudeCmdline contained + \ Always-Prompt Assume-Yes Disable-Columns Download-Only Fix-Broken + \ Ignore-Trust-Violations Package-Display-Format Package-Display-Width + \ Progress Request-Strictness Resolver-Debug Resolver-Dump + \ Resolver-Show-Steps Safe-Upgrade Show-Deps Show-Size-Changes + \ Show-Versions Show-Why Simulate Verbose Version-Display-Format + \ Versions-Group-By Versions-Show-Package-Names Visual-Preview + \ Why-Display-Mode + +syn keyword aptconfAptitudeCmdlineProgress contained + \ Percent-On-Right Retain-Completed + +syn keyword aptconfAptitudeCmdlineSafeUpgrade contained + \ No-New-Installs + +syn keyword aptconfAptitudeLogging contained + \ File Levels + +syn keyword aptconfAptitudeProblemResolver contained + \ Allow-Break-Holds BreakHoldScore Break-Hold-Level BrokenScore + \ DefaultResolutionScore Discard-Null-Solution + \ EssentialRemoveScore ExtraScore FullReplacementScore FutureHorizon + \ Hints ImportantScore Infinity InstallScore Keep-All-Level KeepScore + \ NonDefaultScore Non-Default-Level OptionalScore PreserveAutoScore + \ PreserveManualScore RemoveScore Remove-Essential-Level Remove-Level + \ RequiredScore ResolutionScore Safe-Level SolutionCost StandardScore + \ StepLimit StepScore Trace-Directory Trace-File + \ UndoFullReplacementScore UnfixedSoftScore UpgradeScore + +syn keyword aptconfAptitudeSafeResolver contained + \ No-New-Installs No-New-Upgrades Show-Resolver-Actions + +syn keyword aptconfAptitudeScreenshot contained + \ Cache-Max IncrementalLoadLimit + +syn keyword aptconfAptitudeSections contained + \ Descriptions Top-Sections + +syn keyword aptconfAptitudeUI contained + \ Advance-On-Action Auto-Show-Reasons Default-Grouping + \ Default-Package-View Default-Preview-Grouping Default-Sorting + \ Description-Visible-By-Default Exit-On-Last-Close Fill-Text + \ Flat-View-As-First-View HelpBar Incremental-Search InfoAreaTabs + \ KeyBindings MenuBar-Autohide Minibuf-Download-Bar Minibuf-Prompts + \ New-package-Commands Package-Display-Format Package-Header-Format + \ Package-Status-Format Pause-After-Download Preview-Limit + \ Prompt-On-Exit Styles ViewTabs + +syn keyword aptconfAptitudeUIKeyBindings contained + \ ApplySolution Begin BugReport Cancel Changelog ChangePkgTreeGrouping + \ ChangePkgTreeLimit ChangePkgTreeSorting ClearAuto CollapseAll + \ CollapseTree Commit Confirm Cycle CycleNext CycleOrder CyclePrev + \ DelBOL DelBack DelEOL DelForward Dependencies DescriptionCycle + \ DescriptionDown DescriptionUp DoInstallRun Down DpkgReconfigure + \ DumpResolver EditHier End ExamineSolution ExpandAll ExpandTree + \ FirstSolution ForbidUpgrade ForgetNewPackages Help HistoryNext + \ HistoryPrev Hold Install InstallSingle Keep LastSolution Left + \ LevelDown LevelUp MarkUpgradable MineFlagSquare MineLoadGame + \ MineSaveGame MineSweepSquare MineUncoverSquare MineUncoverSweepSquare + \ NextPage NextSolution No Parent PrevPage PrevSolution Purge + \ PushButton Quit QuitProgram RejectBreakHolds Refresh Remove + \ ReInstall RepeatSearchBack ReSearch ReverseDependencies Right + \ SaveHier Search SearchBack SearchBroken SetAuto ShowHideDescription + \ SolutionActionApprove SolutionActionReject ToggleExpanded + \ ToggleMenuActive Undo Up UpdatePackageList Versions Yes + +syn keyword aptconfAptitudeUIStyles contained + \ Bullet ChangeLogNewerVersion Default DepBroken DisabledMenuEntry + \ DownloadHit DownloadProgress EditLine Error Header HighlightedMenuBar + \ HighlightedMenuEntry MediaChange MenuBar MenuBorder MenuEntry + \ MineBomb MineBorder MineFlag MineNumber1 MineNumber2 MineNumber3 + \ MineNumber4 MineNumber5 MineNumber6 MineNumber7 MineNumber8 + \ MultiplexTab MultiplexTabHighlighted PkgBroken PkgBrokenHighlighted + \ PkgIsInstalled PkgIsInstalledHighlighted PkgNotInstalled + \ PkgNotInstalledHighlighted PkgToDowngrade PkgToDowngradeHighlighted + \ PkgToHold PkgToHoldHighlighted PkgToInstall PkgToInstallHighlighted + \ PkgToRemove PkgToRemoveHighlighted PkgToUpgrade + \ PkgToUpgradeHighlighted Progress SolutionActionApproved + \ SolutionActionRejected Status TreeBackground TrustWarning + +syn keyword aptconfAptitudeUIStylesElements contained + \ bg clear fg flip set + +syn cluster aptconfAptitude_ contains=aptconfAptitude, + \ aptconfAptitudeCmdline,aptconfAptitudeCmdlineProgress, + \ aptconfAptitudeCmdlineSafeUpgrade,aptconfAptitudeLogging, + \ aptconfAptitudeProblemResolver,aptconfAptitudeSafeResolver, + \ aptconfAptitudeScreenshot,aptconfAptitudeSections,aptconfAptitudeUI, + \ aptconfAptitudeUIKeyBindings,aptconfAptitudeUIStyles, + \ aptconfAptitudeUIStylesElements +" }}} +" AptListbugs: {{{ +syn keyword aptconfAptListbugs contained + \ IgnoreRegexp Severities + +syn cluster aptconfAptListbugs_ contains=aptconfAptListbugs +" }}} +" DebTags: {{{ +syn keyword aptconfDebTags contained + \ Vocabulary + +syn cluster aptconfDebTags_ contains=aptconfDebTags +" }}} +" Debug: {{{ +syn keyword aptconfDebug contained + \ Acquire aptcdrom BuildDeps Hashes IdentCdrom Nolocking + \ pkgAcquire pkgAutoRemove pkgCacheGen pkgDepCache pkgDPkgPM + \ pkgDPkgProgressReporting pkgInitialize pkgOrderList + \ pkgPackageManager pkgPolicy pkgProblemResolver RunScripts + \ sourceList + +syn keyword aptconfDebugAcquire contained + \ cdrom Ftp gpgv Http Https netrc + +syn keyword aptconfDebugPkgAcquire contained + \ Auth Diffs RRed Worker + +syn keyword aptconfDebugPkgDepCache contained + \ AutoInstall Marker + +syn keyword aptconfDebugPkgProblemResolver contained + \ ShowScores + +syn cluster aptconfDebug_ contains=aptconfDebug, + \ aptconfDebugAcquire,aptconfDebugPkgAcquire,aptconfDebugPkgDepCache, + \ aptconfDebugPkgProblemResolver +" }}} +" Dir: {{{ +syn keyword aptconfDir contained + \ Aptitude Bin Cache Etc Ignore-Files-Silently Log Media Parts RootDir + \ State + +syn keyword aptconfDirAptitude contained + \ state + +syn keyword aptconfDirBin contained + \ apt-get apt-cache dpkg dpkg-buildpackage dpkg-source gpg gzip Methods + \ solvers + +syn keyword aptconfDirCache contained + \ Archives Backup pkgcache srcpkgcache + +syn keyword aptconfDirEtc contained + \ Main Netrc Parts Preferences PreferencesParts SourceList SourceParts + \ VendorList VendorParts Trusted TrustedParts + +syn keyword aptconfDirLog contained + \ History Terminal + +syn keyword aptconfDirMedia contained + \ MountPath + +syn keyword aptconfDirState contained + \ cdroms extended_states Lists mirrors preferences status + +syn cluster aptconfDir_ contains=aptconfDir, + \ aptconfDirAptitude,aptconfDirBin,aptconfDirCache,aptconfDirEtc, + \ aptconfDirLog,aptconfDirMedia,aptconfDirState +" }}} +" DPkg: {{{ +syn keyword aptconfDPkg contained + \ Build-Options Chroot-Directory ConfigurePending FlushSTDIN + \ MaxArgBytes MaxArgs MaxBytes NoTriggers options + \ Pre-Install-Pkgs Pre-Invoke Post-Invoke + \ Run-Directory StopOnError Tools TriggersPending + +syn keyword aptconfDPkgTools contained + \ adequate InfoFD Options Version + +syn cluster aptconfDPkg_ contains=aptconfDPkg, + \ aptconfDPkgTools +" }}} +" DSelect: {{{ +syn keyword aptconfDSelect contained + \ CheckDir Clean Options PromptAfterUpdate UpdateOptions + +syn cluster aptconfDSelect_ contains=aptconfDSelect +" }}} +" OrderList: {{{ +syn keyword aptconfOrderList contained + \ Score + +syn keyword aptconfOrderListScore contained + \ Delete Essential Immediate PreDepends + +syn cluster aptconfOrderList_ contains=aptconfOrderList, + \ aptconfOrderListScore +" }}} +" PackageManager: {{{ +syn keyword aptconfPackageManager contained + \ Configure + +syn cluster aptconfPackageManager_ contains=aptconfPackageManager +" }}} +" PkgCacheGen: {{{ +syn keyword aptconfPkgCacheGen contained + \ Essential + +syn cluster aptconfPkgCacheGen_ contains=aptconfPkgCacheGen +" }}} +" Quiet: {{{ +syn keyword aptconfQuiet contained + \ NoUpdate + +syn cluster aptconfQuiet_ contains=aptconfQuiet +" }}} +" Rpm: {{{ +syn keyword aptconfRpm contained + \ Post-Invoke Pre-Invoke + +syn cluster aptconfRpm_ contains=aptconfRpm +" }}} +" Synaptic: {{{ +syn keyword aptconfSynaptic contained + \ AskQuitOnProceed AskRelated AutoCleanCache CleanCache DefaultDistro + \ delAction delHistory Download-Only ftpProxy ftpProxyPort httpProxy + \ httpProxyPort Install-Recommends LastSearchType Maximized noProxy + \ OneClickOnStatusActions ShowAllPkgInfoInMain showWelcomeDialog + \ ToolbarState undoStackSize update upgradeType useProxy UseStatusColors + \ UseTerminal useUserFont useUserTerminalFont ViewMode + \ availVerColumnPos availVerColumnVisible componentColumnPos + \ componentColumnVisible descrColumnPos descrColumnVisible + \ downloadSizeColumnPos downloadSizeColumnVisible hpanedPos + \ instVerColumnPos instVerColumnVisible instSizeColumnPos + \ instSizeColumnVisible nameColumnPos nameColumnVisible + \ sectionColumnPos sectionColumnVisible statusColumnPos + \ statusColumnVisible supportedColumnPos supportedColumnVisible + \ vpanedPos windowWidth windowHeight windowX windowY closeZvt + \ color-available color-available-locked color-broken color-downgrade + \ color-install color-installed-locked color-installed-outdated + \ color-installed-updated color-new color-purge color-reinstall + \ color-remove color-upgrade + +syn keyword aptconfSynapticUpdate contained + \ last type + +syn cluster aptconfSynaptic_ contains=aptconfSynaptic, + \ aptconfSynapticUpdate +" }}} +" Unattended Upgrade: {{{ +syn keyword aptconfUnattendedUpgrade contained + \ Allow-APT-Mark-Fallback Allow-downgrade AutoFixInterruptedDpkg + \ Automatic-Reboot Automatic-Reboot-Time Automatic-Reboot-WithUsers + \ Debug InstallOnShutdown Mail MailOnlyOnError MailReport MinimalSteps + \ OnlyOnACPower Origins-Pattern Package-Blacklist + \ Remove-New-Unused-Dependencies Remove-Unused-Dependencies + \ Remove-Unused-Kernel-Packages Skip-Updates-On-Metered-Connections + \ SyslogEnable SyslogFacility Verbose + +syn cluster aptconfUnattendedUpgrade_ contains=aptconfUnattendedUpgrade +" }}} +" Whatmaps: {{{ +syn keyword aptconfWhatmaps contained + \ Enable-Restart Security-Update-Origins + +syn cluster aptconfWhatmaps_ contains=aptconfWhatmaps +" }}} + +syn case match + +" Now put all the keywords (and 'valid' options) in a single cluster: +syn cluster aptconfOptions contains=aptconfRegexpOpt, + \ @aptconfAcquire_,@aptconfAdequate_,@aptconfApt_,@aptconfAptitude_, + \ @aptconfAptListbugs_,@aptconfDebTags_,@aptconfDebug_,@aptconfDir_, + \ @aptconfDPkg_,@aptconfDSelect_,@aptconfOrderList_, + \ @aptconfPackageManager_,@aptconfPkgCacheGen_,@aptconfQuiet_, + \ @aptconfRpm_,@aptconfSynaptic_,@aptconfUnattendedUpgrade_, + \ @aptconfWhatmaps_ + +" Syntax: +syn match aptconfSemiColon ';' +syn match aptconfDoubleColon '::' +syn match aptconfCurlyBraces '[{}]' +syn region aptconfValue start='"' end='"' oneline display +syn region aptconfInclude matchgroup=aptconfOperator start='{' end='}' contains=ALLBUT,aptconfGroup,aptconfGroupIncomplete,@aptconfCommentSpecial +syn region aptconfInclude matchgroup=aptconfOperator start='::' end='{'me=s-1 contains=@aptconfOptions,aptconfError display +syn region aptconfInclude matchgroup=aptconfOperator start='::' end='::\|\s'me=s-1 oneline contains=@aptconfOptions,aptconfError display + +" Basic Syntax Errors: XXX avoid to generate false positives !!! +" +" * Undocumented inline comment. Since it is currently largely used, and does +" not seem to cause trouble ('apt-config dump' never complains when # is used +" the same way than //) it has been moved to aptconfComment group. But it +" still needs to be defined here (i.e. before #clear and #include directives) +syn match aptconfComment '#.*' contains=@aptconfCommentSpecial +" +" * When a semicolon is missing after a double-quoted string: +" There are some cases (for example in the Dir group of options, but not only) +" where this syntax is valid. So we don't treat it as a strict error. +syn match aptconfAsError display '"[^"]*"[^;]'me=e-1 +syn match aptconfAsError display '"[^"]*"$' +" +" * When double quotes are missing around a value (before a semicolon): +" This omission has no effect if the value is a single string (without blank +" characters). But apt.conf(5) says that quotes are required, and this item +" avoids to match unquoted keywords. +syn match aptconfAsError display '\s[^"[:blank:]]*[^}"];'me=e-1 +" +" * When only one double quote is missing around a value (before a semicolon): +" No comment for that: it must be highly visible. +syn match aptconfError display '\(\s\|;\)"[^"[:blank:]]\+;'me=e-1 +syn match aptconfError display '\(\s\|;\)[^"[:blank:]]\+";'me=e-1 +" +" * When space is missing between option and (quoted) value: +" TODO (partially implemented) +syn match aptconfError display '::[^[:blank:]]*"' + +" Special Actions: +syn match aptconfAction '^#\(clear\|include\)\>' +syn region aptconfAction matchgroup=aptconfAction start='^#clear\>' end=';'me=s-1 oneline contains=aptconfGroup,aptconfDoubleColon,@aptconfOptions +syn region aptconfAction matchgroup=aptconfAction start='^#include\>' end=';'me=s-1 oneline contains=aptconfRegexpOpt + +" Comments: +syn keyword aptconfTodo TODO FIXME NOTE XXX contained +syn cluster aptconfCommentSpecial contains=@Spell,aptconfTodo +syn match aptconfComment '//.*' contains=@aptconfCommentSpecial +syn region aptconfComment start='/\*' end='\*/' contains=@aptconfCommentSpecial + +" Highlight Definitions: +hi def link aptconfTodo Todo +hi def link aptconfError Error +hi def link aptconfComment Comment +hi def link aptconfOperator Operator + +hi def link aptconfAction PreProc +hi def link aptconfOption Type +hi def link aptconfValue String +hi def link aptconfRegexpOpt Normal +hi def link aptconfAsError Special + +hi def link aptconfSemiColon aptconfOperator +hi def link aptconfDoubleColon aptconfOperator +hi def link aptconfCurlyBraces aptconfOperator + +hi def link aptconfGroupIncomplete Special +hi def link aptconfGroup aptconfOption + +hi def link aptconfAcquire aptconfOption +hi def link aptconfAcquireCDROM aptconfOption +hi def link aptconfAcquireCompressionTypes aptconfOption +hi def link aptconfAcquireFTP aptconfOption +hi def link aptconfAcquireHTTP aptconfOption +hi def link aptconfAcquireHTTPS aptconfOption +hi def link aptconfAcquireMaxValidTime aptconfOption +hi def link aptconfAcquirePDiffs aptconfOption + +hi def link aptconfAdequate aptconfOption + +hi def link aptconfApt aptconfOption +hi def link aptconfAptAuthentication aptconfOption +hi def link aptconfAptAutoRemove aptconfOption +hi def link aptconfAptCache aptconfOption +hi def link aptconfAptCDROM aptconfOption +hi def link aptconfAptChangelogs aptconfOption +hi def link aptconfAptCompressor aptconfOption +hi def link aptconfAptCompressorAll aptconfOption +hi def link aptconfAptGet aptconfOption +hi def link aptconfAptPeriodic aptconfOption +hi def link aptconfAptUpdate aptconfOption + +hi def link aptconfAptitude aptconfOption +hi def link aptconfAptitudeCmdline aptconfOption +hi def link aptconfAptitudeCmdlineProgress aptconfOption +hi def link aptconfAptitudeCmdlineSafeUpgrade aptconfOption +hi def link aptconfAptitudeLogging aptconfOption +hi def link aptconfAptitudeProblemResolver aptconfOption +hi def link aptconfAptitudeSafeResolver aptconfOption +hi def link aptconfAptitudeScreenshot aptconfOption +hi def link aptconfAptitudeSections aptconfOption +hi def link aptconfAptitudeUI aptconfOption +hi def link aptconfAptitudeUIKeyBindings aptconfOption +hi def link aptconfAptitudeUIStyles aptconfOption +hi def link aptconfAptitudeUIStylesElements aptconfOption + +hi def link aptconfAptListbugs aptconfOption + +hi def link aptconfDebTags aptconfOption + +hi def link aptconfDebug aptconfOption +hi def link aptconfDebugAcquire aptconfOption +hi def link aptconfDebugPkgAcquire aptconfOption +hi def link aptconfDebugPkgDepCache aptconfOption +hi def link aptconfDebugPkgProblemResolver aptconfOption + +hi def link aptconfDir aptconfOption +hi def link aptconfDirAptitude aptconfOption +hi def link aptconfDirBin aptconfOption +hi def link aptconfDirCache aptconfOption +hi def link aptconfDirEtc aptconfOption +hi def link aptconfDirLog aptconfOption +hi def link aptconfDirMedia aptconfOption +hi def link aptconfDirState aptconfOption + +hi def link aptconfDPkg aptconfOption +hi def link aptconfDPkgTools aptconfOption + +hi def link aptconfDSelect aptconfOption + +hi def link aptconfOrderList aptconfOption +hi def link aptconfOrderListScore aptconfOption + +hi def link aptconfPackageManager aptconfOption + +hi def link aptconfPkgCacheGen aptconfOption + +hi def link aptconfQuiet aptconfOption + +hi def link aptconfRpm aptconfOption + +hi def link aptconfSynaptic aptconfOption +hi def link aptconfSynapticUpdate aptconfOption + +hi def link aptconfUnattendedUpgrade aptconfOption + +hi def link aptconfWhatmaps aptconfOption + +let b:current_syntax = "aptconf" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/aptconf.vim b/uvim/runtime/syntax/aptconf.vim deleted file mode 100644 index d51e7bdfa9..0000000000 --- a/uvim/runtime/syntax/aptconf.vim +++ /dev/null @@ -1,577 +0,0 @@ -" Vim syntax file -" Language: APT config file -" Maintainer: Yann Amar -" Last Change: 2021 Jul 12 - -" quit when a syntax file was already loaded -if !exists("main_syntax") - if exists("b:current_syntax") - finish - endif - let main_syntax = 'aptconf' -endif - -let s:cpo_save = &cpo -set cpo&vim - -" Errors: -" Catch all that is not overridden by next rules/items: -syn match aptconfError display '[^[:blank:]]' -syn match aptconfError display '^[^[:blank:]][^:{]*' - -" Options: -" Define a general regular expression for the options that are not defined -" later as keywords. Following apt.conf(5), we know that options are case -" insensitive, and can contain alphanumeric characters and '/-:._+'; we -" assume that there can not be consecutive colons (::) which is used as -" syntax operator; we also assume that an option name can not start or end -" by a colon. -syn case ignore -syn match aptconfRegexpOpt '[-[:alnum:]/.+_]\+\(:[-[:alnum:]/.+_]\+\)*' contained display - -" Keywords: -setlocal iskeyword+=/,-,.,_,+ -"setlocal iskeyword+=: is problematic, because of the '::' separator - -" Incomplete keywords will be treated differently than completely bad strings: -syn keyword aptconfGroupIncomplete - \ a[cquire] a[dequate] a[ptitude] a[ptlistbugs] d[ebtags] d[ebug] - \ d[ir] d[pkg] d[select] o[rderlist] p[ackagemanager] p[kgcachegen] - \ q[uiet] r[pm] s[ynaptic] u[nattended-upgrade] w[hatmaps] - -" Only the following keywords can be used at toplevel (to begin an option): -syn keyword aptconfGroup - \ acquire adequate apt aptitude aptlistbugs debtags debug - \ dir dpkg dselect orderlist packagemanager pkgcachegen - \ quiet rpm synaptic unattended-upgrade whatmaps - -" Possible options for each group: -" Acquire: {{{ -syn keyword aptconfAcquire contained - \ cdrom Check-Valid-Until CompressionTypes ForceHash ForceIPv4 - \ ForceIPv6 ftp gpgv GzipIndexes http https Languages Max-ValidTime - \ Min-ValidTime PDiffs Queue-Mode Retries Source-Symlinks - -syn keyword aptconfAcquireCDROM contained - \ AutoDetect CdromOnly Mount UMount - -syn keyword aptconfAcquireCompressionTypes contained - \ bz2 lzma gz Order - -syn keyword aptconfAcquireFTP contained - \ ForceExtended Passive Proxy ProxyLogin Timeout - -syn keyword aptconfAcquireHTTP contained - \ AllowRedirect Dl-Limit Max-Age No-Cache No-Store Pipeline-Depth - \ Proxy ProxyAutoDetect Proxy-Auto-Detect Timeout User-Agent - -syn keyword aptconfAcquireHTTPS contained - \ AllowRedirect CaInfo CaPath CrlFile Dl-Limit IssuerCert Max-Age - \ No-Cache No-Store Proxy SslCert SslForceVersion SslKey Timeout - \ Verify-Host Verify-Peer - -syn keyword aptconfAcquireMaxValidTime contained - \ Debian Debian-Security - -syn keyword aptconfAcquirePDiffs contained - \ FileLimit SizeLimit - -syn cluster aptconfAcquire_ contains=aptconfAcquire, - \ aptconfAcquireCDROM,aptconfAcquireCompressionTypes,aptconfAcquireFTP, - \ aptconfAcquireHTTP,aptconfAcquireHTTPS,aptconfAcquireMaxValidTime, - \ aptconfAcquirePDiffs -" }}} -" Adequate: {{{ -syn keyword aptconfAdequate contained - \ Enabled - -syn cluster aptconfAdequate_ contains=aptconfAdequate -" }}} -" Apt: {{{ -syn keyword aptconfApt contained - \ Architecture Architectures Archive Authentication AutoRemove - \ Build-Essential Build-Profiles Cache Cache-Grow Cache-Limit - \ Cache-Start CDROM Changelogs Clean-Installed Compressor - \ Default-Release Force-LoopBreak Get Ignore-Hold Immediate-Configure - \ Install-Recommends Install-Suggests Keep-Fds List-Cleanup - \ Move-Autobit-Sections NeverAutoRemove Never-MarkAuto-Sections - \ Periodic Status-Fd Update VersionedKernelPackages - -syn keyword aptconfAptAuthentication contained - \ TrustCDROM - -syn keyword aptconfAptAutoRemove contained - \ RecommendsImportant SuggestsImportant - -syn keyword aptconfAptCache contained - \ AllNames AllVersions Generate GivenOnly Important Installed NamesOnly - \ RecurseDepends ShowFull - -syn keyword aptconfAptCDROM contained - \ Fast NoAct NoMount Rename - -syn keyword aptconfAptChangelogs contained - \ Server - -syn keyword aptconfAptCompressor contained - \ bzip2 gzip lzma xz - -syn keyword aptconfAptCompressorAll contained - \ Binary CompressArg Cost Extension Name UncompressArg - -syn keyword aptconfAptGet contained - \ AllowUnauthenticated Arch-Only Assume-No Assume-Yes AutomaticRemove - \ Build-Dep-Automatic Compile Diff-Only Download Download-Only Dsc-Only - \ Fix-Broken Fix-Missing Force-Yes HideAutoRemove Host-Architecture - \ List-Cleanup Only-Source Print-URIs Purge ReInstall Remove - \ Show-Upgraded Show-User-Simulation-Note Show-Versions Simulate - \ Tar-Only Trivial-Only Upgrade - -syn keyword aptconfAptPeriodic contained - \ AutocleanInterval BackupArchiveInterval BackupLevel - \ Download-Upgradeable-Packages Download-Upgradeable-Packages-Debdelta - \ Enable MaxAge MaxSize MinAge Unattended-Upgrade Update-Package-Lists - \ Verbose - -syn keyword aptconfAptUpdate contained - \ List-Refresh Pre-Invoke Post-Invoke Post-Invoke-Success - -syn cluster aptconfApt_ contains=aptconfApt, - \ aptconfAptAuthentication,aptconfAptAutoRemove,aptconfAptCache, - \ aptconfAptCDROM,aptconfAptChangelogs,aptconfAptCompressor, - \ aptconfAptCompressorAll,aptconfAptGet,aptconfAptPeriodic, - \ aptconfAptUpdate -" }}} -" Aptitude: {{{ -syn keyword aptconfAptitude contained - \ Allow-Null-Upgrade Always-Use-Safe-Resolver Autoclean-After-Update - \ Auto-Install Auto-Fix-Broken Cmdline Debtags-Binary - \ Debtags-Update-Options Delete-Unused Delete-Unused-Pattern - \ Display-Planned-Action Forget-New-On-Install Forget-New-On-Update - \ Get-Root-Command Ignore-Old-Tmp Ignore-Recommends-Important - \ Keep-Recommends Keep-Suggests Keep-Unused-Pattern LockFile Log - \ Logging Parse-Description-Bullets Pkg-Display-Limit ProblemResolver - \ Purge-Unused Recommends-Important Safe-Resolver Screenshot Sections - \ Simulate Spin-Interval Suggests-Important Suppress-Read-Only-Warning - \ Theme Track-Dselect-State UI Warn-Not-Root - -syn keyword aptconfAptitudeCmdline contained - \ Always-Prompt Assume-Yes Disable-Columns Download-Only Fix-Broken - \ Ignore-Trust-Violations Package-Display-Format Package-Display-Width - \ Progress Request-Strictness Resolver-Debug Resolver-Dump - \ Resolver-Show-Steps Safe-Upgrade Show-Deps Show-Size-Changes - \ Show-Versions Show-Why Simulate Verbose Version-Display-Format - \ Versions-Group-By Versions-Show-Package-Names Visual-Preview - \ Why-Display-Mode - -syn keyword aptconfAptitudeCmdlineProgress contained - \ Percent-On-Right Retain-Completed - -syn keyword aptconfAptitudeCmdlineSafeUpgrade contained - \ No-New-Installs - -syn keyword aptconfAptitudeLogging contained - \ File Levels - -syn keyword aptconfAptitudeProblemResolver contained - \ Allow-Break-Holds BreakHoldScore Break-Hold-Level BrokenScore - \ DefaultResolutionScore Discard-Null-Solution - \ EssentialRemoveScore ExtraScore FullReplacementScore FutureHorizon - \ Hints ImportantScore Infinity InstallScore Keep-All-Level KeepScore - \ NonDefaultScore Non-Default-Level OptionalScore PreserveAutoScore - \ PreserveManualScore RemoveScore Remove-Essential-Level Remove-Level - \ RequiredScore ResolutionScore Safe-Level SolutionCost StandardScore - \ StepLimit StepScore Trace-Directory Trace-File - \ UndoFullReplacementScore UnfixedSoftScore UpgradeScore - -syn keyword aptconfAptitudeSafeResolver contained - \ No-New-Installs No-New-Upgrades Show-Resolver-Actions - -syn keyword aptconfAptitudeScreenshot contained - \ Cache-Max IncrementalLoadLimit - -syn keyword aptconfAptitudeSections contained - \ Descriptions Top-Sections - -syn keyword aptconfAptitudeUI contained - \ Advance-On-Action Auto-Show-Reasons Default-Grouping - \ Default-Package-View Default-Preview-Grouping Default-Sorting - \ Description-Visible-By-Default Exit-On-Last-Close Fill-Text - \ Flat-View-As-First-View HelpBar Incremental-Search InfoAreaTabs - \ KeyBindings MenuBar-Autohide Minibuf-Download-Bar Minibuf-Prompts - \ New-package-Commands Package-Display-Format Package-Header-Format - \ Package-Status-Format Pause-After-Download Preview-Limit - \ Prompt-On-Exit Styles ViewTabs - -syn keyword aptconfAptitudeUIKeyBindings contained - \ ApplySolution Begin BugReport Cancel Changelog ChangePkgTreeGrouping - \ ChangePkgTreeLimit ChangePkgTreeSorting ClearAuto CollapseAll - \ CollapseTree Commit Confirm Cycle CycleNext CycleOrder CyclePrev - \ DelBOL DelBack DelEOL DelForward Dependencies DescriptionCycle - \ DescriptionDown DescriptionUp DoInstallRun Down DpkgReconfigure - \ DumpResolver EditHier End ExamineSolution ExpandAll ExpandTree - \ FirstSolution ForbidUpgrade ForgetNewPackages Help HistoryNext - \ HistoryPrev Hold Install InstallSingle Keep LastSolution Left - \ LevelDown LevelUp MarkUpgradable MineFlagSquare MineLoadGame - \ MineSaveGame MineSweepSquare MineUncoverSquare MineUncoverSweepSquare - \ NextPage NextSolution No Parent PrevPage PrevSolution Purge - \ PushButton Quit QuitProgram RejectBreakHolds Refresh Remove - \ ReInstall RepeatSearchBack ReSearch ReverseDependencies Right - \ SaveHier Search SearchBack SearchBroken SetAuto ShowHideDescription - \ SolutionActionApprove SolutionActionReject ToggleExpanded - \ ToggleMenuActive Undo Up UpdatePackageList Versions Yes - -syn keyword aptconfAptitudeUIStyles contained - \ Bullet ChangeLogNewerVersion Default DepBroken DisabledMenuEntry - \ DownloadHit DownloadProgress EditLine Error Header HighlightedMenuBar - \ HighlightedMenuEntry MediaChange MenuBar MenuBorder MenuEntry - \ MineBomb MineBorder MineFlag MineNumber1 MineNumber2 MineNumber3 - \ MineNumber4 MineNumber5 MineNumber6 MineNumber7 MineNumber8 - \ MultiplexTab MultiplexTabHighlighted PkgBroken PkgBrokenHighlighted - \ PkgIsInstalled PkgIsInstalledHighlighted PkgNotInstalled - \ PkgNotInstalledHighlighted PkgToDowngrade PkgToDowngradeHighlighted - \ PkgToHold PkgToHoldHighlighted PkgToInstall PkgToInstallHighlighted - \ PkgToRemove PkgToRemoveHighlighted PkgToUpgrade - \ PkgToUpgradeHighlighted Progress SolutionActionApproved - \ SolutionActionRejected Status TreeBackground TrustWarning - -syn keyword aptconfAptitudeUIStylesElements contained - \ bg clear fg flip set - -syn cluster aptconfAptitude_ contains=aptconfAptitude, - \ aptconfAptitudeCmdline,aptconfAptitudeCmdlineProgress, - \ aptconfAptitudeCmdlineSafeUpgrade,aptconfAptitudeLogging, - \ aptconfAptitudeProblemResolver,aptconfAptitudeSafeResolver, - \ aptconfAptitudeScreenshot,aptconfAptitudeSections,aptconfAptitudeUI, - \ aptconfAptitudeUIKeyBindings,aptconfAptitudeUIStyles, - \ aptconfAptitudeUIStylesElements -" }}} -" AptListbugs: {{{ -syn keyword aptconfAptListbugs contained - \ IgnoreRegexp Severities - -syn cluster aptconfAptListbugs_ contains=aptconfAptListbugs -" }}} -" DebTags: {{{ -syn keyword aptconfDebTags contained - \ Vocabulary - -syn cluster aptconfDebTags_ contains=aptconfDebTags -" }}} -" Debug: {{{ -syn keyword aptconfDebug contained - \ Acquire aptcdrom BuildDeps Hashes IdentCdrom Nolocking - \ pkgAcquire pkgAutoRemove pkgCacheGen pkgDepCache pkgDPkgPM - \ pkgDPkgProgressReporting pkgInitialize pkgOrderList - \ pkgPackageManager pkgPolicy pkgProblemResolver RunScripts - \ sourceList - -syn keyword aptconfDebugAcquire contained - \ cdrom Ftp gpgv Http Https netrc - -syn keyword aptconfDebugPkgAcquire contained - \ Auth Diffs RRed Worker - -syn keyword aptconfDebugPkgDepCache contained - \ AutoInstall Marker - -syn keyword aptconfDebugPkgProblemResolver contained - \ ShowScores - -syn cluster aptconfDebug_ contains=aptconfDebug, - \ aptconfDebugAcquire,aptconfDebugPkgAcquire,aptconfDebugPkgDepCache, - \ aptconfDebugPkgProblemResolver -" }}} -" Dir: {{{ -syn keyword aptconfDir contained - \ Aptitude Bin Cache Etc Ignore-Files-Silently Log Media Parts RootDir - \ State - -syn keyword aptconfDirAptitude contained - \ state - -syn keyword aptconfDirBin contained - \ apt-get apt-cache dpkg dpkg-buildpackage dpkg-source gpg gzip Methods - \ solvers - -syn keyword aptconfDirCache contained - \ Archives Backup pkgcache srcpkgcache - -syn keyword aptconfDirEtc contained - \ Main Netrc Parts Preferences PreferencesParts SourceList SourceParts - \ VendorList VendorParts Trusted TrustedParts - -syn keyword aptconfDirLog contained - \ History Terminal - -syn keyword aptconfDirMedia contained - \ MountPath - -syn keyword aptconfDirState contained - \ cdroms extended_states Lists mirrors preferences status - -syn cluster aptconfDir_ contains=aptconfDir, - \ aptconfDirAptitude,aptconfDirBin,aptconfDirCache,aptconfDirEtc, - \ aptconfDirLog,aptconfDirMedia,aptconfDirState -" }}} -" DPkg: {{{ -syn keyword aptconfDPkg contained - \ Build-Options Chroot-Directory ConfigurePending FlushSTDIN - \ MaxArgBytes MaxArgs MaxBytes NoTriggers options - \ Pre-Install-Pkgs Pre-Invoke Post-Invoke - \ Run-Directory StopOnError Tools TriggersPending - -syn keyword aptconfDPkgTools contained - \ adequate InfoFD Options Version - -syn cluster aptconfDPkg_ contains=aptconfDPkg, - \ aptconfDPkgTools -" }}} -" DSelect: {{{ -syn keyword aptconfDSelect contained - \ CheckDir Clean Options PromptAfterUpdate UpdateOptions - -syn cluster aptconfDSelect_ contains=aptconfDSelect -" }}} -" OrderList: {{{ -syn keyword aptconfOrderList contained - \ Score - -syn keyword aptconfOrderListScore contained - \ Delete Essential Immediate PreDepends - -syn cluster aptconfOrderList_ contains=aptconfOrderList, - \ aptconfOrderListScore -" }}} -" PackageManager: {{{ -syn keyword aptconfPackageManager contained - \ Configure - -syn cluster aptconfPackageManager_ contains=aptconfPackageManager -" }}} -" PkgCacheGen: {{{ -syn keyword aptconfPkgCacheGen contained - \ Essential - -syn cluster aptconfPkgCacheGen_ contains=aptconfPkgCacheGen -" }}} -" Quiet: {{{ -syn keyword aptconfQuiet contained - \ NoUpdate - -syn cluster aptconfQuiet_ contains=aptconfQuiet -" }}} -" Rpm: {{{ -syn keyword aptconfRpm contained - \ Post-Invoke Pre-Invoke - -syn cluster aptconfRpm_ contains=aptconfRpm -" }}} -" Synaptic: {{{ -syn keyword aptconfSynaptic contained - \ AskQuitOnProceed AskRelated AutoCleanCache CleanCache DefaultDistro - \ delAction delHistory Download-Only ftpProxy ftpProxyPort httpProxy - \ httpProxyPort Install-Recommends LastSearchType Maximized noProxy - \ OneClickOnStatusActions ShowAllPkgInfoInMain showWelcomeDialog - \ ToolbarState undoStackSize update upgradeType useProxy UseStatusColors - \ UseTerminal useUserFont useUserTerminalFont ViewMode - \ availVerColumnPos availVerColumnVisible componentColumnPos - \ componentColumnVisible descrColumnPos descrColumnVisible - \ downloadSizeColumnPos downloadSizeColumnVisible hpanedPos - \ instVerColumnPos instVerColumnVisible instSizeColumnPos - \ instSizeColumnVisible nameColumnPos nameColumnVisible - \ sectionColumnPos sectionColumnVisible statusColumnPos - \ statusColumnVisible supportedColumnPos supportedColumnVisible - \ vpanedPos windowWidth windowHeight windowX windowY closeZvt - \ color-available color-available-locked color-broken color-downgrade - \ color-install color-installed-locked color-installed-outdated - \ color-installed-updated color-new color-purge color-reinstall - \ color-remove color-upgrade - -syn keyword aptconfSynapticUpdate contained - \ last type - -syn cluster aptconfSynaptic_ contains=aptconfSynaptic, - \ aptconfSynapticUpdate -" }}} -" Unattended Upgrade: {{{ -syn keyword aptconfUnattendedUpgrade contained - \ Allow-APT-Mark-Fallback Allow-downgrade AutoFixInterruptedDpkg - \ Automatic-Reboot Automatic-Reboot-Time Automatic-Reboot-WithUsers - \ Debug InstallOnShutdown Mail MailOnlyOnError MailReport MinimalSteps - \ OnlyOnACPower Origins-Pattern Package-Blacklist - \ Remove-New-Unused-Dependencies Remove-Unused-Dependencies - \ Remove-Unused-Kernel-Packages Skip-Updates-On-Metered-Connections - \ SyslogEnable SyslogFacility Verbose - -syn cluster aptconfUnattendedUpgrade_ contains=aptconfUnattendedUpgrade -" }}} -" Whatmaps: {{{ -syn keyword aptconfWhatmaps contained - \ Enable-Restart Security-Update-Origins - -syn cluster aptconfWhatmaps_ contains=aptconfWhatmaps -" }}} - -syn case match - -" Now put all the keywords (and 'valid' options) in a single cluster: -syn cluster aptconfOptions contains=aptconfRegexpOpt, - \ @aptconfAcquire_,@aptconfAdequate_,@aptconfApt_,@aptconfAptitude_, - \ @aptconfAptListbugs_,@aptconfDebTags_,@aptconfDebug_,@aptconfDir_, - \ @aptconfDPkg_,@aptconfDSelect_,@aptconfOrderList_, - \ @aptconfPackageManager_,@aptconfPkgCacheGen_,@aptconfQuiet_, - \ @aptconfRpm_,@aptconfSynaptic_,@aptconfUnattendedUpgrade_, - \ @aptconfWhatmaps_ - -" Syntax: -syn match aptconfSemiColon ';' -syn match aptconfDoubleColon '::' -syn match aptconfCurlyBraces '[{}]' -syn region aptconfValue start='"' end='"' oneline display -syn region aptconfInclude matchgroup=aptconfOperator start='{' end='}' contains=ALLBUT,aptconfGroup,aptconfGroupIncomplete,@aptconfCommentSpecial -syn region aptconfInclude matchgroup=aptconfOperator start='::' end='{'me=s-1 contains=@aptconfOptions,aptconfError display -syn region aptconfInclude matchgroup=aptconfOperator start='::' end='::\|\s'me=s-1 oneline contains=@aptconfOptions,aptconfError display - -" Basic Syntax Errors: XXX avoid to generate false positives !!! -" -" * Undocumented inline comment. Since it is currently largely used, and does -" not seem to cause trouble ('apt-config dump' never complains when # is used -" the same way than //) it has been moved to aptconfComment group. But it -" still needs to be defined here (i.e. before #clear and #include directives) -syn match aptconfComment '#.*' contains=@aptconfCommentSpecial -" -" * When a semicolon is missing after a double-quoted string: -" There are some cases (for example in the Dir group of options, but not only) -" where this syntax is valid. So we don't treat it as a strict error. -syn match aptconfAsError display '"[^"]*"[^;]'me=e-1 -syn match aptconfAsError display '"[^"]*"$' -" -" * When double quotes are missing around a value (before a semicolon): -" This omission has no effect if the value is a single string (without blank -" characters). But apt.conf(5) says that quotes are required, and this item -" avoids to match unquoted keywords. -syn match aptconfAsError display '\s[^"[:blank:]]*[^}"];'me=e-1 -" -" * When only one double quote is missing around a value (before a semicolon): -" No comment for that: it must be highly visible. -syn match aptconfError display '\(\s\|;\)"[^"[:blank:]]\+;'me=e-1 -syn match aptconfError display '\(\s\|;\)[^"[:blank:]]\+";'me=e-1 -" -" * When space is missing between option and (quoted) value: -" TODO (partially implemented) -syn match aptconfError display '::[^[:blank:]]*"' - -" Special Actions: -syn match aptconfAction '^#\(clear\|include\)\>' -syn region aptconfAction matchgroup=aptconfAction start='^#clear\>' end=';'me=s-1 oneline contains=aptconfGroup,aptconfDoubleColon,@aptconfOptions -syn region aptconfAction matchgroup=aptconfAction start='^#include\>' end=';'me=s-1 oneline contains=aptconfRegexpOpt - -" Comments: -syn keyword aptconfTodo TODO FIXME NOTE XXX contained -syn cluster aptconfCommentSpecial contains=@Spell,aptconfTodo -syn match aptconfComment '//.*' contains=@aptconfCommentSpecial -syn region aptconfComment start='/\*' end='\*/' contains=@aptconfCommentSpecial - -" Highlight Definitions: -hi def link aptconfTodo Todo -hi def link aptconfError Error -hi def link aptconfComment Comment -hi def link aptconfOperator Operator - -hi def link aptconfAction PreProc -hi def link aptconfOption Type -hi def link aptconfValue String -hi def link aptconfRegexpOpt Normal -hi def link aptconfAsError Special - -hi def link aptconfSemiColon aptconfOperator -hi def link aptconfDoubleColon aptconfOperator -hi def link aptconfCurlyBraces aptconfOperator - -hi def link aptconfGroupIncomplete Special -hi def link aptconfGroup aptconfOption - -hi def link aptconfAcquire aptconfOption -hi def link aptconfAcquireCDROM aptconfOption -hi def link aptconfAcquireCompressionTypes aptconfOption -hi def link aptconfAcquireFTP aptconfOption -hi def link aptconfAcquireHTTP aptconfOption -hi def link aptconfAcquireHTTPS aptconfOption -hi def link aptconfAcquireMaxValidTime aptconfOption -hi def link aptconfAcquirePDiffs aptconfOption - -hi def link aptconfAdequate aptconfOption - -hi def link aptconfApt aptconfOption -hi def link aptconfAptAuthentication aptconfOption -hi def link aptconfAptAutoRemove aptconfOption -hi def link aptconfAptCache aptconfOption -hi def link aptconfAptCDROM aptconfOption -hi def link aptconfAptChangelogs aptconfOption -hi def link aptconfAptCompressor aptconfOption -hi def link aptconfAptCompressorAll aptconfOption -hi def link aptconfAptGet aptconfOption -hi def link aptconfAptPeriodic aptconfOption -hi def link aptconfAptUpdate aptconfOption - -hi def link aptconfAptitude aptconfOption -hi def link aptconfAptitudeCmdline aptconfOption -hi def link aptconfAptitudeCmdlineProgress aptconfOption -hi def link aptconfAptitudeCmdlineSafeUpgrade aptconfOption -hi def link aptconfAptitudeLogging aptconfOption -hi def link aptconfAptitudeProblemResolver aptconfOption -hi def link aptconfAptitudeSafeResolver aptconfOption -hi def link aptconfAptitudeScreenshot aptconfOption -hi def link aptconfAptitudeSections aptconfOption -hi def link aptconfAptitudeUI aptconfOption -hi def link aptconfAptitudeUIKeyBindings aptconfOption -hi def link aptconfAptitudeUIStyles aptconfOption -hi def link aptconfAptitudeUIStylesElements aptconfOption - -hi def link aptconfAptListbugs aptconfOption - -hi def link aptconfDebTags aptconfOption - -hi def link aptconfDebug aptconfOption -hi def link aptconfDebugAcquire aptconfOption -hi def link aptconfDebugPkgAcquire aptconfOption -hi def link aptconfDebugPkgDepCache aptconfOption -hi def link aptconfDebugPkgProblemResolver aptconfOption - -hi def link aptconfDir aptconfOption -hi def link aptconfDirAptitude aptconfOption -hi def link aptconfDirBin aptconfOption -hi def link aptconfDirCache aptconfOption -hi def link aptconfDirEtc aptconfOption -hi def link aptconfDirLog aptconfOption -hi def link aptconfDirMedia aptconfOption -hi def link aptconfDirState aptconfOption - -hi def link aptconfDPkg aptconfOption -hi def link aptconfDPkgTools aptconfOption - -hi def link aptconfDSelect aptconfOption - -hi def link aptconfOrderList aptconfOption -hi def link aptconfOrderListScore aptconfOption - -hi def link aptconfPackageManager aptconfOption - -hi def link aptconfPkgCacheGen aptconfOption - -hi def link aptconfQuiet aptconfOption - -hi def link aptconfRpm aptconfOption - -hi def link aptconfSynaptic aptconfOption -hi def link aptconfSynapticUpdate aptconfOption - -hi def link aptconfUnattendedUpgrade aptconfOption - -hi def link aptconfWhatmaps aptconfOption - -let b:current_syntax = "aptconf" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/arch.mnv b/uvim/runtime/syntax/arch.mnv new file mode 100644 index 0000000000..7a64acbcb9 --- /dev/null +++ b/uvim/runtime/syntax/arch.mnv @@ -0,0 +1,41 @@ +" MNV syntax file +" Language: GNU Arch inventory file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2007-06-17 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +setlocal iskeyword+=- + +syn keyword archTodo TODO FIXME XXX NOTE + +syn region archComment display start='^\%(#\|\s\)' end='$' + \ contains=archTodo,@Spell + +syn match archBegin display '^' nextgroup=archKeyword,archComment + +syn keyword archKeyword contained implicit tagline explicit names +syn keyword archKeyword contained untagged-source + \ nextgroup=archTMethod skipwhite +syn keyword archKeyword contained exclude junk backup precious unrecognized + \ source nextgroup=archRegex skipwhite + +syn keyword archTMethod contained source precious backup junk unrecognized + +syn match archRegex contained '\s*\zs.*' + +hi def link archTodo Todo +hi def link archComment Comment +hi def link archKeyword Keyword +hi def link archTMethod Type +hi def link archRegex String + +let b:current_syntax = "arch" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/arch.vim b/uvim/runtime/syntax/arch.vim deleted file mode 100644 index f9d095e443..0000000000 --- a/uvim/runtime/syntax/arch.vim +++ /dev/null @@ -1,41 +0,0 @@ -" Vim syntax file -" Language: GNU Arch inventory file -" Previous Maintainer: Nikolai Weibull -" Latest Revision: 2007-06-17 - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -setlocal iskeyword+=- - -syn keyword archTodo TODO FIXME XXX NOTE - -syn region archComment display start='^\%(#\|\s\)' end='$' - \ contains=archTodo,@Spell - -syn match archBegin display '^' nextgroup=archKeyword,archComment - -syn keyword archKeyword contained implicit tagline explicit names -syn keyword archKeyword contained untagged-source - \ nextgroup=archTMethod skipwhite -syn keyword archKeyword contained exclude junk backup precious unrecognized - \ source nextgroup=archRegex skipwhite - -syn keyword archTMethod contained source precious backup junk unrecognized - -syn match archRegex contained '\s*\zs.*' - -hi def link archTodo Todo -hi def link archComment Comment -hi def link archKeyword Keyword -hi def link archTMethod Type -hi def link archRegex String - -let b:current_syntax = "arch" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/arduino.mnv b/uvim/runtime/syntax/arduino.mnv new file mode 100644 index 0000000000..25528608ff --- /dev/null +++ b/uvim/runtime/syntax/arduino.mnv @@ -0,0 +1,83 @@ +" MNV syntax file +" Language: Arduino +" Maintainer: Johannes Hoff +" Last Change: 21 October 2021 +" License: MNV license (:help license, replace mnv by arduino.mnv) + +" Syntax highlighting like in the Arduino IDE +" Automatically generated by the script available at +" https://github.com/johshoff/arduino-mnv-syntax +" Using keywords from /build/shared/lib/keywords.txt +" From version: 1.8.16 + +" Thanks to Rik, Erik Nomitch, Adam Obeng, Graeme Cross and Niall Parker +" for helpful feedback! + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +" Read the C syntax to start with +if version < 600 + so :p:h/cpp.mnv +else + runtime! syntax/cpp.mnv +endif + +syn keyword arduinoConstant BIN CHANGE DEC DEFAULT EXTERNAL FALLING HALF_PI HEX +syn keyword arduinoConstant HIGH INPUT INPUT_PULLUP INTERNAL INTERNAL1V1 +syn keyword arduinoConstant INTERNAL2V56 LED_BUILTIN LED_BUILTIN_RX +syn keyword arduinoConstant LED_BUILTIN_TX LOW LSBFIRST MSBFIRST OCT OUTPUT PI +syn keyword arduinoConstant RISING TWO_PI + +syn keyword arduinoFunc analogRead analogReadResolution analogReference +syn keyword arduinoFunc analogWrite analogWriteResolution attachInterrupt +syn keyword arduinoFunc bit bitClear bitRead bitSet bitWrite delay +syn keyword arduinoFunc delayMicroseconds detachInterrupt +syn keyword arduinoFunc digitalPinToInterrupt digitalRead digitalWrite +syn keyword arduinoFunc highByte interrupts lowByte micros millis +syn keyword arduinoFunc noInterrupts noTone pinMode pulseIn pulseInLong +syn keyword arduinoFunc shiftIn shiftOut tone yield + +syn keyword arduinoMethod available availableForWrite begin charAt compareTo +syn keyword arduinoMethod concat end endsWith equals equalsIgnoreCase export +syn keyword arduinoMethod final find findUntil flush getBytes indexOf +syn keyword arduinoMethod lastIndexOf length loop override parseFloat +syn keyword arduinoMethod parseInt peek print println read readBytes +syn keyword arduinoMethod readBytesUntil readString readStringUntil replace +syn keyword arduinoMethod setCharAt setTimeout setup startsWith Stream +syn keyword arduinoMethod substring toCharArray toInt toLowerCase toUpperCase +syn keyword arduinoMethod trim + +syn keyword arduinoModule Keyboard Mouse Serial Serial1 Serial2 Serial3 +syn keyword arduinoModule SerialUSB + +syn keyword arduinoStdFunc abs accept acos acosf asin asinf atan atan2 atan2f +syn keyword arduinoStdFunc atanf cbrt cbrtf ceil ceilf click constrain +syn keyword arduinoStdFunc copysign copysignf cos cosf cosh coshf degrees exp +syn keyword arduinoStdFunc expf fabs fabsf fdim fdimf floor floorf fma fmaf +syn keyword arduinoStdFunc fmax fmaxf fmin fminf fmod fmodf hypot hypotf +syn keyword arduinoStdFunc isfinite isinf isnan isPressed ldexp ldexpf log +syn keyword arduinoStdFunc log10 log10f logf lrint lrintf lround lroundf map +syn keyword arduinoStdFunc max min move pow powf press radians random +syn keyword arduinoStdFunc randomSeed release releaseAll round roundf signbit +syn keyword arduinoStdFunc sin sinf sinh sinhf sq sqrt sqrtf tan tanf tanh +syn keyword arduinoStdFunc tanhf trunc truncf + +syn keyword arduinoType _Bool _Complex _Imaginary array atomic_bool +syn keyword arduinoType atomic_char atomic_int atomic_llong atomic_long +syn keyword arduinoType atomic_schar atomic_short atomic_uchar atomic_uint +syn keyword arduinoType atomic_ullong atomic_ulong atomic_ushort boolean +syn keyword arduinoType byte char16_t char32_t complex NULL null PROGMEM +syn keyword arduinoType String word + +hi def link arduinoType Type +hi def link arduinoConstant Constant +hi def link arduinoStdFunc Function +hi def link arduinoFunc Function +hi def link arduinoMethod Function +hi def link arduinoModule Identifier diff --git a/uvim/runtime/syntax/arduino.vim b/uvim/runtime/syntax/arduino.vim deleted file mode 100644 index 2f06eb6e64..0000000000 --- a/uvim/runtime/syntax/arduino.vim +++ /dev/null @@ -1,83 +0,0 @@ -" Vim syntax file -" Language: Arduino -" Maintainer: Johannes Hoff -" Last Change: 21 October 2021 -" License: VIM license (:help license, replace vim by arduino.vim) - -" Syntax highlighting like in the Arduino IDE -" Automatically generated by the script available at -" https://github.com/johshoff/arduino-vim-syntax -" Using keywords from /build/shared/lib/keywords.txt -" From version: 1.8.16 - -" Thanks to Rik, Erik Nomitch, Adam Obeng, Graeme Cross and Niall Parker -" for helpful feedback! - -" For version 5.x: Clear all syntax items -" For version 6.x: Quit when a syntax file was already loaded -if version < 600 - syntax clear -elseif exists("b:current_syntax") - finish -endif - -" Read the C syntax to start with -if version < 600 - so :p:h/cpp.vim -else - runtime! syntax/cpp.vim -endif - -syn keyword arduinoConstant BIN CHANGE DEC DEFAULT EXTERNAL FALLING HALF_PI HEX -syn keyword arduinoConstant HIGH INPUT INPUT_PULLUP INTERNAL INTERNAL1V1 -syn keyword arduinoConstant INTERNAL2V56 LED_BUILTIN LED_BUILTIN_RX -syn keyword arduinoConstant LED_BUILTIN_TX LOW LSBFIRST MSBFIRST OCT OUTPUT PI -syn keyword arduinoConstant RISING TWO_PI - -syn keyword arduinoFunc analogRead analogReadResolution analogReference -syn keyword arduinoFunc analogWrite analogWriteResolution attachInterrupt -syn keyword arduinoFunc bit bitClear bitRead bitSet bitWrite delay -syn keyword arduinoFunc delayMicroseconds detachInterrupt -syn keyword arduinoFunc digitalPinToInterrupt digitalRead digitalWrite -syn keyword arduinoFunc highByte interrupts lowByte micros millis -syn keyword arduinoFunc noInterrupts noTone pinMode pulseIn pulseInLong -syn keyword arduinoFunc shiftIn shiftOut tone yield - -syn keyword arduinoMethod available availableForWrite begin charAt compareTo -syn keyword arduinoMethod concat end endsWith equals equalsIgnoreCase export -syn keyword arduinoMethod final find findUntil flush getBytes indexOf -syn keyword arduinoMethod lastIndexOf length loop override parseFloat -syn keyword arduinoMethod parseInt peek print println read readBytes -syn keyword arduinoMethod readBytesUntil readString readStringUntil replace -syn keyword arduinoMethod setCharAt setTimeout setup startsWith Stream -syn keyword arduinoMethod substring toCharArray toInt toLowerCase toUpperCase -syn keyword arduinoMethod trim - -syn keyword arduinoModule Keyboard Mouse Serial Serial1 Serial2 Serial3 -syn keyword arduinoModule SerialUSB - -syn keyword arduinoStdFunc abs accept acos acosf asin asinf atan atan2 atan2f -syn keyword arduinoStdFunc atanf cbrt cbrtf ceil ceilf click constrain -syn keyword arduinoStdFunc copysign copysignf cos cosf cosh coshf degrees exp -syn keyword arduinoStdFunc expf fabs fabsf fdim fdimf floor floorf fma fmaf -syn keyword arduinoStdFunc fmax fmaxf fmin fminf fmod fmodf hypot hypotf -syn keyword arduinoStdFunc isfinite isinf isnan isPressed ldexp ldexpf log -syn keyword arduinoStdFunc log10 log10f logf lrint lrintf lround lroundf map -syn keyword arduinoStdFunc max min move pow powf press radians random -syn keyword arduinoStdFunc randomSeed release releaseAll round roundf signbit -syn keyword arduinoStdFunc sin sinf sinh sinhf sq sqrt sqrtf tan tanf tanh -syn keyword arduinoStdFunc tanhf trunc truncf - -syn keyword arduinoType _Bool _Complex _Imaginary array atomic_bool -syn keyword arduinoType atomic_char atomic_int atomic_llong atomic_long -syn keyword arduinoType atomic_schar atomic_short atomic_uchar atomic_uint -syn keyword arduinoType atomic_ullong atomic_ulong atomic_ushort boolean -syn keyword arduinoType byte char16_t char32_t complex NULL null PROGMEM -syn keyword arduinoType String word - -hi def link arduinoType Type -hi def link arduinoConstant Constant -hi def link arduinoStdFunc Function -hi def link arduinoFunc Function -hi def link arduinoMethod Function -hi def link arduinoModule Identifier diff --git a/uvim/runtime/syntax/art.mnv b/uvim/runtime/syntax/art.mnv new file mode 100644 index 0000000000..8874cf2bfc --- /dev/null +++ b/uvim/runtime/syntax/art.mnv @@ -0,0 +1,50 @@ +" MNV syntax file +" Language: ART-IM and ART*Enterprise +" Maintainer: Dorai Sitaram +" URL: http://www.ccs.neu.edu/~dorai/mnvplugins/mnvplugins.html +" Last Change: 2011 Dec 28 by Thilo Six + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn case ignore + +syn keyword artspform => and assert bind +syn keyword artspform declare def-art-fun deffacts defglobal defrule defschema do +syn keyword artspform else for if in$ not or +syn keyword artspform progn retract salience schema test then while + +syn match artvariable "?[^ \t";()|&~]\+" + +syn match artglobalvar "?\*[^ \t";()|&~]\+\*" + +syn match artinstance "![^ \t";()|&~]\+" + +syn match delimiter "[()|&~]" + +syn region string start=/"/ skip=/\\[\\"]/ end=/"/ + +syn match number "\<[-+]\=\([0-9]\+\(\.[0-9]*\)\=\|\.[0-9]\+\)\>" + +syn match comment ";.*$" + +syn match comment "#+:\=ignore" nextgroup=artignore skipwhite skipnl + +syn region artignore start="(" end=")" contained contains=artignore,comment + +syn region artignore start=/"/ skip=/\\[\\"]/ end=/"/ contained + +hi def link artinstance type +hi def link artglobalvar preproc +hi def link artignore comment +hi def link artspform statement +hi def link artvariable function + +let b:current_syntax = "art" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/art.vim b/uvim/runtime/syntax/art.vim deleted file mode 100644 index 855119810b..0000000000 --- a/uvim/runtime/syntax/art.vim +++ /dev/null @@ -1,50 +0,0 @@ -" Vim syntax file -" Language: ART-IM and ART*Enterprise -" Maintainer: Dorai Sitaram -" URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html -" Last Change: 2011 Dec 28 by Thilo Six - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn case ignore - -syn keyword artspform => and assert bind -syn keyword artspform declare def-art-fun deffacts defglobal defrule defschema do -syn keyword artspform else for if in$ not or -syn keyword artspform progn retract salience schema test then while - -syn match artvariable "?[^ \t";()|&~]\+" - -syn match artglobalvar "?\*[^ \t";()|&~]\+\*" - -syn match artinstance "![^ \t";()|&~]\+" - -syn match delimiter "[()|&~]" - -syn region string start=/"/ skip=/\\[\\"]/ end=/"/ - -syn match number "\<[-+]\=\([0-9]\+\(\.[0-9]*\)\=\|\.[0-9]\+\)\>" - -syn match comment ";.*$" - -syn match comment "#+:\=ignore" nextgroup=artignore skipwhite skipnl - -syn region artignore start="(" end=")" contained contains=artignore,comment - -syn region artignore start=/"/ skip=/\\[\\"]/ end=/"/ contained - -hi def link artinstance type -hi def link artglobalvar preproc -hi def link artignore comment -hi def link artspform statement -hi def link artvariable function - -let b:current_syntax = "art" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/asciidoc.mnv b/uvim/runtime/syntax/asciidoc.mnv new file mode 100644 index 0000000000..c012bec531 --- /dev/null +++ b/uvim/runtime/syntax/asciidoc.mnv @@ -0,0 +1,185 @@ +" MNV syntax file +" Language: AsciiDoc +" Maintainer: @aerostitch on GitHub (tag me in your issue in the +" github/mnv/mnv repository and I'll answer when available) +" Original author: Stuart Rackham (inspired by Felix +" Obenhuber's original asciidoc.mnv script). +" URL: http://asciidoc.org/ +" Licence: GPL (http://www.gnu.org) +" Remarks: MNV 6 or greater +" Last Update: 2020 May 03 (see Issue 240) +" Limitations: +" +" - Nested quoted text formatting is highlighted according to the outer +" format. +" - If a closing Example Block delimiter may be mistaken for a title +" underline. A workaround is to insert a blank line before the closing +" delimiter. +" - Lines within a paragraph starting with equals characters are +" highlighted as single-line titles. +" - Lines within a paragraph beginning with a period are highlighted as +" block titles. + + +if exists("b:current_syntax") + finish +endif + +" Use the default syntax syncing. + +" Run :help syn-priority to review syntax matching priority. +syn keyword asciidocToDo TODO FIXME CHECK TEST XXX ZZZ DEPRECATED +syn match asciidocBackslash /\\/ +syn region asciidocIdMarker start=/^\$Id:\s/ end=/\s\$$/ +syn match asciidocCallout /\\\@/ +syn match asciidocOpenBlockDelimiter /^--$/ +syn match asciidocLineBreak /[ \t]+$/ containedin=asciidocList +syn match asciidocRuler /^'\{3,}$/ +syn match asciidocPagebreak /^<\{3,}$/ +syn match asciidocEntityRef /\\\@\?[0-9A-Za-z_]\@!/ +syn match asciidocAttributeRef /\\\@.]\{,3}\)\?\([a-z]\)\?\)\?|/ containedin=asciidocTableBlock contained +syn region asciidocTableBlock matchgroup=asciidocTableDelimiter start=/^|=\{3,}$/ end=/^|=\{3,}$/ keepend contains=ALL +syn match asciidocTablePrefix /\(\S\@.]\{,3}\)\?\([a-z]\)\?\)\?!/ containedin=asciidocTableBlock contained +syn region asciidocTableBlock2 matchgroup=asciidocTableDelimiter2 start=/^!=\{3,}$/ end=/^!=\{3,}$/ keepend contains=ALL + +syn match asciidocListContinuation /^+$/ +syn region asciidocLiteralBlock start=/^\.\{4,}$/ end=/^\.\{4,}$/ contains=asciidocCallout,asciidocToDo keepend +syn region asciidocListingBlock start=/^-\{4,}$/ end=/^-\{4,}$/ contains=asciidocCallout,asciidocToDo keepend +syn region asciidocCommentBlock start="^/\{4,}$" end="^/\{4,}$" contains=asciidocToDo +syn region asciidocPassthroughBlock start="^+\{4,}$" end="^+\{4,}$" + +" Allowing leading \w characters in the filter delimiter is to accomodate +" the pre version 8.2.7 syntax and may be removed in future releases. +syn region asciidocFilterBlock start=/^\w*\~\{4,}$/ end=/^\w*\~\{4,}$/ + +syn region asciidocMacroAttributes matchgroup=asciidocRefMacro start=/\\\@>\)\|^$/ contains=asciidocQuoted.* keepend +syn region asciidocMacroAttributes matchgroup=asciidocAnchorMacro start=/\\\@ (inspired by Felix -" Obenhuber's original asciidoc.vim script). -" URL: http://asciidoc.org/ -" Licence: GPL (http://www.gnu.org) -" Remarks: Vim 6 or greater -" Last Update: 2020 May 03 (see Issue 240) -" Limitations: -" -" - Nested quoted text formatting is highlighted according to the outer -" format. -" - If a closing Example Block delimiter may be mistaken for a title -" underline. A workaround is to insert a blank line before the closing -" delimiter. -" - Lines within a paragraph starting with equals characters are -" highlighted as single-line titles. -" - Lines within a paragraph beginning with a period are highlighted as -" block titles. - - -if exists("b:current_syntax") - finish -endif - -" Use the default syntax syncing. - -" Run :help syn-priority to review syntax matching priority. -syn keyword asciidocToDo TODO FIXME CHECK TEST XXX ZZZ DEPRECATED -syn match asciidocBackslash /\\/ -syn region asciidocIdMarker start=/^\$Id:\s/ end=/\s\$$/ -syn match asciidocCallout /\\\@/ -syn match asciidocOpenBlockDelimiter /^--$/ -syn match asciidocLineBreak /[ \t]+$/ containedin=asciidocList -syn match asciidocRuler /^'\{3,}$/ -syn match asciidocPagebreak /^<\{3,}$/ -syn match asciidocEntityRef /\\\@\?[0-9A-Za-z_]\@!/ -syn match asciidocAttributeRef /\\\@.]\{,3}\)\?\([a-z]\)\?\)\?|/ containedin=asciidocTableBlock contained -syn region asciidocTableBlock matchgroup=asciidocTableDelimiter start=/^|=\{3,}$/ end=/^|=\{3,}$/ keepend contains=ALL -syn match asciidocTablePrefix /\(\S\@.]\{,3}\)\?\([a-z]\)\?\)\?!/ containedin=asciidocTableBlock contained -syn region asciidocTableBlock2 matchgroup=asciidocTableDelimiter2 start=/^!=\{3,}$/ end=/^!=\{3,}$/ keepend contains=ALL - -syn match asciidocListContinuation /^+$/ -syn region asciidocLiteralBlock start=/^\.\{4,}$/ end=/^\.\{4,}$/ contains=asciidocCallout,asciidocToDo keepend -syn region asciidocListingBlock start=/^-\{4,}$/ end=/^-\{4,}$/ contains=asciidocCallout,asciidocToDo keepend -syn region asciidocCommentBlock start="^/\{4,}$" end="^/\{4,}$" contains=asciidocToDo -syn region asciidocPassthroughBlock start="^+\{4,}$" end="^+\{4,}$" - -" Allowing leading \w characters in the filter delimiter is to accomodate -" the pre version 8.2.7 syntax and may be removed in future releases. -syn region asciidocFilterBlock start=/^\w*\~\{4,}$/ end=/^\w*\~\{4,}$/ - -syn region asciidocMacroAttributes matchgroup=asciidocRefMacro start=/\\\@>\)\|^$/ contains=asciidocQuoted.* keepend -syn region asciidocMacroAttributes matchgroup=asciidocAnchorMacro start=/\\\@ +" Kevin Dahlhausen +" Contributors: Ori Avtalion, Lakshay Garg, Nir Lichtman +" Last Change: 2025 Jan 26 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn case ignore + +" storage types +syn match asmType "\.long" +syn match asmType "\.ascii" +syn match asmType "\.asciz" +syn match asmType "\.byte" +syn match asmType "\.double" +syn match asmType "\.float" +syn match asmType "\.hword" +syn match asmType "\.int" +syn match asmType "\.octa" +syn match asmType "\.quad" +syn match asmType "\.short" +syn match asmType "\.single" +syn match asmType "\.space" +syn match asmType "\.string" +syn match asmType "\.word" +syn match asmType "\.2byte" +syn match asmType "\.4byte" +syn match asmType "\.8byte" + +syn match asmIdentifier "[a-z_][a-z0-9_]*" +syn match asmLabel "[a-z_][a-z0-9_]*:"he=e-1 + +" Various #'s as defined by GAS ref manual sec 3.6.2.1 +" Technically, the first asmDecimal def is actually octal, +" since the value of 0-7 octal is the same as 0-7 decimal, +" I (Kevin) prefer to map it as decimal: +syn match asmDecimal "\<0\+[1-7]\=\>" display +syn match asmDecimal "\<[1-9]\d*\>" display +syn match asmOctal "\<0[0-7][0-7]\+\>" display +syn match asmHexadecimal "\<0[xX][0-9a-fA-F]\+\>" display +syn match asmBinary "\<0[bB][0-1]\+\>" display + +syn match asmFloat "\<\d\+\.\d*\%(e[+-]\=\d\+\)\=\>" display +syn match asmFloat "\.\d\+\%(e[+-]\=\d\+\)\=\>" display +syn match asmFloat "\<\d\%(e[+-]\=\d\+\)\>" display +syn match asmFloat "[+-]\=Inf\>\|\" display + +syn match asmFloat "\%(0[edfghprs]\)[+-]\=\d*\%(\.\d\+\)\%(e[+-]\=\d\+\)\=" display +syn match asmFloat "\%(0[edfghprs]\)[+-]\=\d\+\%(\.\d\+\)\=\%(e[+-]\=\d\+\)\=" display +" Avoid fighting the hexadecimal match for unicorn-like '0x' prefixed floats +syn match asmFloat "\%(0x\)[+-]\=\d*\%(\.\d\+\)\%(e[+-]\=\d\+\)\=" display + +" Allow all characters to be escaped (and in strings) as these vary across +" architectures [See sec 3.6.1.1 Strings] +syn match asmCharacterEscape "\\." contained +syn match asmCharacter "'\\\=." contains=asmCharacterEscape + +syn match asmStringEscape "\\\_." contained +syn match asmStringEscape "\\\%(\o\{3}\|00[89]\)" contained display +syn match asmStringEscape "\\x\x\+" contained display + +syn region asmString start="\"" end="\"" skip="\\\\\|\\\"" contains=asmStringEscape + +syn keyword asmTodo contained TODO FIXME XXX NOTE + +" GAS supports one type of multi line comments: +syn region asmComment start="/\*" end="\*/" contains=asmTodo,@Spell + +" GAS (undocumentedly?) supports C++ style comments. Unlike in C/C++ however, +" a backslash ending a C++ style comment does not extend the comment to the +" next line (hence the syntax region does not define 'skip="\\$"') +syn region asmComment start="//" end="$" keepend contains=asmTodo,@Spell + +" Line comment characters depend on the target architecture and command line +" options and some comments may double as logical line number directives or +" preprocessor commands. This situation is described at +" http://sourceware.org/binutils/docs-2.22/as/Comments.html +" Some line comment characters have other meanings for other targets. For +" example, .type directives may use the `@' character which is also an ARM +" comment marker. +" As a compromise to accommodate what I arbitrarily assume to be the most +" frequently used features of the most popular architectures (and also the +" non-GNU assembly languages that use this syntax file because their asm files +" are also named *.asm), the following are used as line comment characters: +syn match asmComment "[#;!|].*" contains=asmTodo,@Spell + +" Side effects of this include: +" - When `;' is used to separate statements on the same line (many targets +" support this), all statements except the first get highlighted as +" comments. As a remedy, remove `;' from the above. +" - ARM comments are not highlighted correctly. For ARM, uncomment the +" following two lines and comment the one above. +"syn match asmComment "@.*" contains=asmTodo +"syn match asmComment "^#.*" contains=asmTodo + +" Advanced users of specific architectures will probably want to change the +" comment highlighting or use a specific, more comprehensive syntax file. + +syn match asmInclude "\.include" +syn match asmCond "\.if" +syn match asmCond "\.else" +syn match asmCond "\.endif" +syn match asmMacro "\.macro" +syn match asmMacro "\.endm" + +" Assembler directives start with a '.' and may contain upper case (e.g., +" .ABORT), numbers (e.g., .p2align), dash (e.g., .app-file) and underscore in +" CFI directives (e.g., .cfi_startproc). This will also match labels starting +" with '.', including the GCC auto-generated '.L' labels. +syn match asmDirective "\.[A-Za-z][0-9A-Za-z-_]*" + +syn case match + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +" The default methods for highlighting. Can be overridden later +hi def link asmSection Special +hi def link asmLabel Label +hi def link asmComment Comment +hi def link asmTodo Todo +hi def link asmDirective Statement + +hi def link asmInclude Include +hi def link asmCond PreCondit +hi def link asmMacro Macro + +if exists('g:asm_legacy_syntax_groups') + hi def link hexNumber Number + hi def link decNumber Number + hi def link octNumber Number + hi def link binNumber Number + hi def link asmHexadecimal hexNumber + hi def link asmDecimal decNumber + hi def link asmOctal octNumber + hi def link asmBinary binNumber +else + hi def link asmHexadecimal Number + hi def link asmDecimal Number + hi def link asmOctal Number + hi def link asmBinary Number +endif +hi def link asmFloat Float + +hi def link asmString String +hi def link asmStringEscape Special +hi def link asmCharacter Character +hi def link asmCharacterEscape Special + +hi def link asmIdentifier Identifier +hi def link asmType Type + +let b:current_syntax = "asm" + +let &cpo = s:cpo_save +unlet s:cpo_save + +" mnv: nowrap sw=2 sts=2 ts=8 noet diff --git a/uvim/runtime/syntax/asm.vim b/uvim/runtime/syntax/asm.vim deleted file mode 100644 index 18f3de1c63..0000000000 --- a/uvim/runtime/syntax/asm.vim +++ /dev/null @@ -1,167 +0,0 @@ -" Vim syntax file -" Language: GNU Assembler -" Maintainer: Doug Kearns dougkearns@gmail.com -" Previous Maintainers: Erik Wognsen -" Kevin Dahlhausen -" Contributors: Ori Avtalion, Lakshay Garg, Nir Lichtman -" Last Change: 2025 Jan 26 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn case ignore - -" storage types -syn match asmType "\.long" -syn match asmType "\.ascii" -syn match asmType "\.asciz" -syn match asmType "\.byte" -syn match asmType "\.double" -syn match asmType "\.float" -syn match asmType "\.hword" -syn match asmType "\.int" -syn match asmType "\.octa" -syn match asmType "\.quad" -syn match asmType "\.short" -syn match asmType "\.single" -syn match asmType "\.space" -syn match asmType "\.string" -syn match asmType "\.word" -syn match asmType "\.2byte" -syn match asmType "\.4byte" -syn match asmType "\.8byte" - -syn match asmIdentifier "[a-z_][a-z0-9_]*" -syn match asmLabel "[a-z_][a-z0-9_]*:"he=e-1 - -" Various #'s as defined by GAS ref manual sec 3.6.2.1 -" Technically, the first asmDecimal def is actually octal, -" since the value of 0-7 octal is the same as 0-7 decimal, -" I (Kevin) prefer to map it as decimal: -syn match asmDecimal "\<0\+[1-7]\=\>" display -syn match asmDecimal "\<[1-9]\d*\>" display -syn match asmOctal "\<0[0-7][0-7]\+\>" display -syn match asmHexadecimal "\<0[xX][0-9a-fA-F]\+\>" display -syn match asmBinary "\<0[bB][0-1]\+\>" display - -syn match asmFloat "\<\d\+\.\d*\%(e[+-]\=\d\+\)\=\>" display -syn match asmFloat "\.\d\+\%(e[+-]\=\d\+\)\=\>" display -syn match asmFloat "\<\d\%(e[+-]\=\d\+\)\>" display -syn match asmFloat "[+-]\=Inf\>\|\" display - -syn match asmFloat "\%(0[edfghprs]\)[+-]\=\d*\%(\.\d\+\)\%(e[+-]\=\d\+\)\=" display -syn match asmFloat "\%(0[edfghprs]\)[+-]\=\d\+\%(\.\d\+\)\=\%(e[+-]\=\d\+\)\=" display -" Avoid fighting the hexadecimal match for unicorn-like '0x' prefixed floats -syn match asmFloat "\%(0x\)[+-]\=\d*\%(\.\d\+\)\%(e[+-]\=\d\+\)\=" display - -" Allow all characters to be escaped (and in strings) as these vary across -" architectures [See sec 3.6.1.1 Strings] -syn match asmCharacterEscape "\\." contained -syn match asmCharacter "'\\\=." contains=asmCharacterEscape - -syn match asmStringEscape "\\\_." contained -syn match asmStringEscape "\\\%(\o\{3}\|00[89]\)" contained display -syn match asmStringEscape "\\x\x\+" contained display - -syn region asmString start="\"" end="\"" skip="\\\\\|\\\"" contains=asmStringEscape - -syn keyword asmTodo contained TODO FIXME XXX NOTE - -" GAS supports one type of multi line comments: -syn region asmComment start="/\*" end="\*/" contains=asmTodo,@Spell - -" GAS (undocumentedly?) supports C++ style comments. Unlike in C/C++ however, -" a backslash ending a C++ style comment does not extend the comment to the -" next line (hence the syntax region does not define 'skip="\\$"') -syn region asmComment start="//" end="$" keepend contains=asmTodo,@Spell - -" Line comment characters depend on the target architecture and command line -" options and some comments may double as logical line number directives or -" preprocessor commands. This situation is described at -" http://sourceware.org/binutils/docs-2.22/as/Comments.html -" Some line comment characters have other meanings for other targets. For -" example, .type directives may use the `@' character which is also an ARM -" comment marker. -" As a compromise to accommodate what I arbitrarily assume to be the most -" frequently used features of the most popular architectures (and also the -" non-GNU assembly languages that use this syntax file because their asm files -" are also named *.asm), the following are used as line comment characters: -syn match asmComment "[#;!|].*" contains=asmTodo,@Spell - -" Side effects of this include: -" - When `;' is used to separate statements on the same line (many targets -" support this), all statements except the first get highlighted as -" comments. As a remedy, remove `;' from the above. -" - ARM comments are not highlighted correctly. For ARM, uncomment the -" following two lines and comment the one above. -"syn match asmComment "@.*" contains=asmTodo -"syn match asmComment "^#.*" contains=asmTodo - -" Advanced users of specific architectures will probably want to change the -" comment highlighting or use a specific, more comprehensive syntax file. - -syn match asmInclude "\.include" -syn match asmCond "\.if" -syn match asmCond "\.else" -syn match asmCond "\.endif" -syn match asmMacro "\.macro" -syn match asmMacro "\.endm" - -" Assembler directives start with a '.' and may contain upper case (e.g., -" .ABORT), numbers (e.g., .p2align), dash (e.g., .app-file) and underscore in -" CFI directives (e.g., .cfi_startproc). This will also match labels starting -" with '.', including the GCC auto-generated '.L' labels. -syn match asmDirective "\.[A-Za-z][0-9A-Za-z-_]*" - -syn case match - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -" The default methods for highlighting. Can be overridden later -hi def link asmSection Special -hi def link asmLabel Label -hi def link asmComment Comment -hi def link asmTodo Todo -hi def link asmDirective Statement - -hi def link asmInclude Include -hi def link asmCond PreCondit -hi def link asmMacro Macro - -if exists('g:asm_legacy_syntax_groups') - hi def link hexNumber Number - hi def link decNumber Number - hi def link octNumber Number - hi def link binNumber Number - hi def link asmHexadecimal hexNumber - hi def link asmDecimal decNumber - hi def link asmOctal octNumber - hi def link asmBinary binNumber -else - hi def link asmHexadecimal Number - hi def link asmDecimal Number - hi def link asmOctal Number - hi def link asmBinary Number -endif -hi def link asmFloat Float - -hi def link asmString String -hi def link asmStringEscape Special -hi def link asmCharacter Character -hi def link asmCharacterEscape Special - -hi def link asmIdentifier Identifier -hi def link asmType Type - -let b:current_syntax = "asm" - -let &cpo = s:cpo_save -unlet s:cpo_save - -" vim: nowrap sw=2 sts=2 ts=8 noet diff --git a/uvim/runtime/syntax/asm68k.mnv b/uvim/runtime/syntax/asm68k.mnv new file mode 100644 index 0000000000..3091d3bb1e --- /dev/null +++ b/uvim/runtime/syntax/asm68k.mnv @@ -0,0 +1,378 @@ +" MNV syntax file +" Language: Motorola 68000 Assembler +" Maintainer: Steve Wall +" Last change: 2001 May 01 +" +" This is incomplete. In particular, support for 68020 and +" up and 68851/68881 co-processors is partial or non-existent. +" Feel free to contribute... +" + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn case ignore + +" Partial list of register symbols +syn keyword asm68kReg a0 a1 a2 a3 a4 a5 a6 a7 d0 d1 d2 d3 d4 d5 d6 d7 +syn keyword asm68kReg pc sr ccr sp usp ssp + +" MC68010 +syn keyword asm68kReg vbr sfc sfcr dfc dfcr + +" MC68020 +syn keyword asm68kReg msp isp zpc cacr caar +syn keyword asm68kReg za0 za1 za2 za3 za4 za5 za6 za7 +syn keyword asm68kReg zd0 zd1 zd2 zd3 zd4 zd5 zd6 zd7 + +" MC68030 +syn keyword asm68kReg crp srp tc ac0 ac1 acusr tt0 tt1 mmusr + +" MC68040 +syn keyword asm68kReg dtt0 dtt1 itt0 itt1 urp + +" MC68851 registers +syn keyword asm68kReg cal val scc crp srp drp tc ac psr pcsr +syn keyword asm68kReg bac0 bac1 bac2 bac3 bac4 bac5 bac6 bac7 +syn keyword asm68kReg bad0 bad1 bad2 bad3 bad4 bad5 bad6 bad7 + +" MC68881/82 registers +syn keyword asm68kReg fp0 fp1 fp2 fp3 fp4 fp5 fp6 fp7 +syn keyword asm68kReg control status iaddr fpcr fpsr fpiar + +" M68000 opcodes - order is important! +syn match asm68kOpcode "\" +syn match asm68kOpcode "\" +syn match asm68kOpcode "\" +syn match asm68kOpcode "\" +syn match asm68kOpcode "\" +syn match asm68kOpcode "\" +syn match asm68kOpcode "\" +syn match asm68kOpcode "\" +syn match asm68kOpcode "\" +syn match asm68kOpcode "\" +syn match asm68kOpcode "\" +syn match asm68kOpcode "\" +syn match asm68kOpcode "\" +syn match asm68kOpcode "\" +syn match hexNumber "\<[0-9][0-9a-fA-F]*H\>" +syn match octNumber "@[0-7]\+\>" +syn match octNumber "\<[0-7]\+[QO]\>" +syn match binNumber "%[01]\+\>" +syn match binNumber "\<[01]\+B\>" +syn match decNumber "\<[0-9]\+D\=\>" +syn match floatE "_*E_*" contained +syn match floatExponent "_*E_*[-+]\=[0-9]\+" contained contains=floatE +syn match floatNumber "[-+]\=[0-9]\+_*E_*[-+]\=[0-9]\+" contains=floatExponent +syn match floatNumber "[-+]\=[0-9]\+\.[0-9]\+\(E[-+]\=[0-9]\+\)\=" contains=floatExponent +syn match floatNumber ":\([0-9a-f]\+_*\)\+" + +" Character string constants +syn match asm68kStringError "'[ -~]*'" +syn match asm68kStringError "'[ -~]*$" +syn region asm68kString start="'" skip="''" end="'" oneline contains=asm68kCharError +syn match asm68kCharError "[^ -~]" contained + +" Immediate data +syn match asm68kImmediate "#\$[0-9a-fA-F]\+" contains=hexNumber +syn match asm68kImmediate "#[0-9][0-9a-fA-F]*H" contains=hexNumber +syn match asm68kImmediate "#@[0-7]\+" contains=octNumber +syn match asm68kImmediate "#[0-7]\+[QO]" contains=octNumber +syn match asm68kImmediate "#%[01]\+" contains=binNumber +syn match asm68kImmediate "#[01]\+B" contains=binNumber +syn match asm68kImmediate "#[0-9]\+D\=" contains=decNumber +syn match asm68kSymbol "[a-z_?.][a-z0-9_?.$]*" contained +syn match asm68kImmediate "#[a-z_?.][a-z0-9_?.]*" contains=asm68kSymbol + +" Special items for comments +syn keyword asm68kTodo contained TODO + +" Operators +syn match asm68kOperator "[-+*/]" " Must occur before Comments +syn match asm68kOperator "\.SIZEOF\." +syn match asm68kOperator "\.STARTOF\." +syn match asm68kOperator "<<" " shift left +syn match asm68kOperator ">>" " shift right +syn match asm68kOperator "&" " bit-wise logical and +syn match asm68kOperator "!" " bit-wise logical or +syn match asm68kOperator "!!" " exclusive or +syn match asm68kOperator "<>" " inequality +syn match asm68kOperator "=" " must be before other ops containing '=' +syn match asm68kOperator ">=" +syn match asm68kOperator "<=" +syn match asm68kOperator "==" " operand existence - used in macro definitions + +" Condition code style operators +syn match asm68kOperator "<[CV][CS]>" +syn match asm68kOperator "" +syn match asm68kOperator "" +syn match asm68kOperator "<[HM]I>" +syn match asm68kOperator "" +syn match asm68kOperator "" +syn match asm68kOperator "" + +" Comments +syn match asm68kComment ";.*" contains=asm68kTodo +syn match asm68kComment "\s!.*"ms=s+1 contains=asm68kTodo +syn match asm68kComment "^\s*[*!].*" contains=asm68kTodo + +" Include +syn match asm68kInclude "\" +syn match asm68kCond "\" +syn match asm68kCond "\" +syn match asm68kCond "\" +syn match asm68kRepeat "\" +syn match asm68kRepeat "\" +syn match asm68kRepeat "\" +syn match asm68kRepeat "\" +syn match asm68kRepeat "\" + +" Macro definition +syn match asm68kMacro "\" +syn match asm68kMacro "\" +syn match asm68kMacro "\" +syn match asm68kMacroParam "\\[0-9]" + +" Conditional assembly +syn match asm68kPreCond "\" +syn match asm68kPreCond "\" +syn match asm68kPreCond "\" + +" Loop control +syn match asm68kPreCond "\" + +" Directives +syn match asm68kDirective "\" +syn match asm68kDirective "\" +syn match asm68kDirective "\" +syn match asm68kDirective "\" +syn match asm68kDirective "\<\(NO\)\=LIST\>" +syn match asm68kDirective "\" +syn match asm68kDirective "\" +syn match asm68kDirective "\" +syn match asm68kDirective "\" +syn match asm68kDirective "\<\(NO\)\=PAGE\>" +syn match asm68kDirective "\" +syn match asm68kDirective "\" +syn match asm68kDirective "\" -syn match asm68kOpcode "\" -syn match asm68kOpcode "\" -syn match asm68kOpcode "\" -syn match asm68kOpcode "\" -syn match asm68kOpcode "\" -syn match asm68kOpcode "\" -syn match asm68kOpcode "\" -syn match asm68kOpcode "\" -syn match asm68kOpcode "\" -syn match asm68kOpcode "\" -syn match asm68kOpcode "\" -syn match asm68kOpcode "\" -syn match asm68kOpcode "\" -syn match hexNumber "\<[0-9][0-9a-fA-F]*H\>" -syn match octNumber "@[0-7]\+\>" -syn match octNumber "\<[0-7]\+[QO]\>" -syn match binNumber "%[01]\+\>" -syn match binNumber "\<[01]\+B\>" -syn match decNumber "\<[0-9]\+D\=\>" -syn match floatE "_*E_*" contained -syn match floatExponent "_*E_*[-+]\=[0-9]\+" contained contains=floatE -syn match floatNumber "[-+]\=[0-9]\+_*E_*[-+]\=[0-9]\+" contains=floatExponent -syn match floatNumber "[-+]\=[0-9]\+\.[0-9]\+\(E[-+]\=[0-9]\+\)\=" contains=floatExponent -syn match floatNumber ":\([0-9a-f]\+_*\)\+" - -" Character string constants -syn match asm68kStringError "'[ -~]*'" -syn match asm68kStringError "'[ -~]*$" -syn region asm68kString start="'" skip="''" end="'" oneline contains=asm68kCharError -syn match asm68kCharError "[^ -~]" contained - -" Immediate data -syn match asm68kImmediate "#\$[0-9a-fA-F]\+" contains=hexNumber -syn match asm68kImmediate "#[0-9][0-9a-fA-F]*H" contains=hexNumber -syn match asm68kImmediate "#@[0-7]\+" contains=octNumber -syn match asm68kImmediate "#[0-7]\+[QO]" contains=octNumber -syn match asm68kImmediate "#%[01]\+" contains=binNumber -syn match asm68kImmediate "#[01]\+B" contains=binNumber -syn match asm68kImmediate "#[0-9]\+D\=" contains=decNumber -syn match asm68kSymbol "[a-z_?.][a-z0-9_?.$]*" contained -syn match asm68kImmediate "#[a-z_?.][a-z0-9_?.]*" contains=asm68kSymbol - -" Special items for comments -syn keyword asm68kTodo contained TODO - -" Operators -syn match asm68kOperator "[-+*/]" " Must occur before Comments -syn match asm68kOperator "\.SIZEOF\." -syn match asm68kOperator "\.STARTOF\." -syn match asm68kOperator "<<" " shift left -syn match asm68kOperator ">>" " shift right -syn match asm68kOperator "&" " bit-wise logical and -syn match asm68kOperator "!" " bit-wise logical or -syn match asm68kOperator "!!" " exclusive or -syn match asm68kOperator "<>" " inequality -syn match asm68kOperator "=" " must be before other ops containing '=' -syn match asm68kOperator ">=" -syn match asm68kOperator "<=" -syn match asm68kOperator "==" " operand existence - used in macro definitions - -" Condition code style operators -syn match asm68kOperator "<[CV][CS]>" -syn match asm68kOperator "" -syn match asm68kOperator "" -syn match asm68kOperator "<[HM]I>" -syn match asm68kOperator "" -syn match asm68kOperator "" -syn match asm68kOperator "" - -" Comments -syn match asm68kComment ";.*" contains=asm68kTodo -syn match asm68kComment "\s!.*"ms=s+1 contains=asm68kTodo -syn match asm68kComment "^\s*[*!].*" contains=asm68kTodo - -" Include -syn match asm68kInclude "\" -syn match asm68kCond "\" -syn match asm68kCond "\" -syn match asm68kCond "\" -syn match asm68kRepeat "\" -syn match asm68kRepeat "\" -syn match asm68kRepeat "\" -syn match asm68kRepeat "\" -syn match asm68kRepeat "\" - -" Macro definition -syn match asm68kMacro "\" -syn match asm68kMacro "\" -syn match asm68kMacro "\" -syn match asm68kMacroParam "\\[0-9]" - -" Conditional assembly -syn match asm68kPreCond "\" -syn match asm68kPreCond "\" -syn match asm68kPreCond "\" - -" Loop control -syn match asm68kPreCond "\" - -" Directives -syn match asm68kDirective "\" -syn match asm68kDirective "\" -syn match asm68kDirective "\" -syn match asm68kDirective "\" -syn match asm68kDirective "\<\(NO\)\=LIST\>" -syn match asm68kDirective "\" -syn match asm68kDirective "\" -syn match asm68kDirective "\" -syn match asm68kDirective "\" -syn match asm68kDirective "\<\(NO\)\=PAGE\>" -syn match asm68kDirective "\" -syn match asm68kDirective "\" -syn match asm68kDirective "\ +" Previous Maintainer: Kevin Dahlhausen +" Last Change: 2020 Oct 31 + +if exists("b:current_syntax") + finish +endif + +runtime! syntax/asm.mnv + +syn case ignore + +syn match asmDirective "\.h8300[hs]n\=" + +"h8300[h] registers +syn match asmRegister "e\=r\o[lh]\=" + +"h8300[h] opcodes - order is important! +syn match asmOpcode "add\.[lbw]" +syn match asmOpcode "add[sx :]" +syn match asmOpcode "and\.[lbw]" +syn match asmOpcode "bl[deots]" +syn match asmOpcode "cmp\.[lbw]" +syn match asmOpcode "dec\.[lbw]" +syn match asmOpcode "divx[us].[bw]" +syn match asmOpcode "ext[su]\.[lw]" +syn match asmOpcode "inc\.[lw]" +syn match asmOpcode "mov\.[lbw]" +syn match asmOpcode "mulx[su]\.[bw]" +syn match asmOpcode "neg\.[lbw]" +syn match asmOpcode "not\.[lbw]" +syn match asmOpcode "or\.[lbw]" +syn match asmOpcode "pop\.[wl]" +syn match asmOpcode "push\.[wl]" +syn match asmOpcode "rotx\=[lr]\.[lbw]" +syn match asmOpcode "sha[lr]\.[lbw]" +syn match asmOpcode "shl[lr]\.[lbw]" +syn match asmOpcode "sub\.[lbw]" +syn match asmOpcode "xor\.[lbw]" + +syn keyword asmOpcode andc band bcc bclr bcs beq bf bge bgt +syn keyword asmOpcode bhi bhs biand bild bior bist bixor bmi +syn keyword asmOpcode bne bnot bnp bor bpl bpt bra brn bset +syn keyword asmOpcode bsr btst bst bt bvc bvs bxor cmp daa +syn keyword asmOpcode das eepmov eepmovw inc jmp jsr ldc movfpe +syn keyword asmOpcode movtpe mov nop orc rte rts sleep stc +syn keyword asmOpcode sub trapa xorc + +syn case match + +hi def link asmOpcode Statement +hi def link asmRegister Identifier + +let b:current_syntax = "asmh8300" + +" mnv: nowrap sw=2 sts=2 ts=8 noet diff --git a/uvim/runtime/syntax/asmh8300.vim b/uvim/runtime/syntax/asmh8300.vim deleted file mode 100644 index 2eabb7e4e5..0000000000 --- a/uvim/runtime/syntax/asmh8300.vim +++ /dev/null @@ -1,58 +0,0 @@ -" Vim syntax file -" Language: Hitachi H-8300h specific syntax for GNU Assembler -" Maintainer: Doug Kearns -" Previous Maintainer: Kevin Dahlhausen -" Last Change: 2020 Oct 31 - -if exists("b:current_syntax") - finish -endif - -runtime! syntax/asm.vim - -syn case ignore - -syn match asmDirective "\.h8300[hs]n\=" - -"h8300[h] registers -syn match asmRegister "e\=r\o[lh]\=" - -"h8300[h] opcodes - order is important! -syn match asmOpcode "add\.[lbw]" -syn match asmOpcode "add[sx :]" -syn match asmOpcode "and\.[lbw]" -syn match asmOpcode "bl[deots]" -syn match asmOpcode "cmp\.[lbw]" -syn match asmOpcode "dec\.[lbw]" -syn match asmOpcode "divx[us].[bw]" -syn match asmOpcode "ext[su]\.[lw]" -syn match asmOpcode "inc\.[lw]" -syn match asmOpcode "mov\.[lbw]" -syn match asmOpcode "mulx[su]\.[bw]" -syn match asmOpcode "neg\.[lbw]" -syn match asmOpcode "not\.[lbw]" -syn match asmOpcode "or\.[lbw]" -syn match asmOpcode "pop\.[wl]" -syn match asmOpcode "push\.[wl]" -syn match asmOpcode "rotx\=[lr]\.[lbw]" -syn match asmOpcode "sha[lr]\.[lbw]" -syn match asmOpcode "shl[lr]\.[lbw]" -syn match asmOpcode "sub\.[lbw]" -syn match asmOpcode "xor\.[lbw]" - -syn keyword asmOpcode andc band bcc bclr bcs beq bf bge bgt -syn keyword asmOpcode bhi bhs biand bild bior bist bixor bmi -syn keyword asmOpcode bne bnot bnp bor bpl bpt bra brn bset -syn keyword asmOpcode bsr btst bst bt bvc bvs bxor cmp daa -syn keyword asmOpcode das eepmov eepmovw inc jmp jsr ldc movfpe -syn keyword asmOpcode movtpe mov nop orc rte rts sleep stc -syn keyword asmOpcode sub trapa xorc - -syn case match - -hi def link asmOpcode Statement -hi def link asmRegister Identifier - -let b:current_syntax = "asmh8300" - -" vim: nowrap sw=2 sts=2 ts=8 noet diff --git a/uvim/runtime/syntax/asn.mnv b/uvim/runtime/syntax/asn.mnv new file mode 100644 index 0000000000..226dd3c2cc --- /dev/null +++ b/uvim/runtime/syntax/asn.mnv @@ -0,0 +1,73 @@ +" MNV syntax file +" Language: ASN.1 +" Maintainer: Claudio Fleiner +" URL: http://www.fleiner.com/mnv/syntax/asn.mnv +" Last Change: 2012 Oct 05 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +" keyword definitions +syn keyword asnExternal DEFINITIONS BEGIN END IMPORTS EXPORTS FROM +syn match asnExternal "\" +syn match asnExternal "\" +syn keyword asnFieldOption DEFAULT OPTIONAL +syn keyword asnTagModifier IMPLICIT EXPLICIT +syn keyword asnTypeInfo ABSENT PRESENT SIZE UNIVERSAL APPLICATION PRIVATE +syn keyword asnBoolValue TRUE FALSE +syn keyword asnNumber MIN MAX +syn match asnNumber "\" +syn match asnNumber "\" +syn keyword asnType INTEGER REAL STRING BIT BOOLEAN OCTET NULL EMBEDDED PDV +syn keyword asnType BMPString IA5String TeletexString GeneralString GraphicString ISO646String NumericString PrintableString T61String UniversalString VideotexString VisibleString +syn keyword asnType ANY DEFINED +syn match asnType "\.\.\." +syn match asnType "OBJECT\s\+IDENTIFIER" +syn match asnType "TYPE-IDENTIFIER" +syn keyword asnType UTF8String +syn keyword asnStructure CHOICE SEQUENCE SET OF ENUMERATED CONSTRAINED BY WITH COMPONENTS CLASS + +" Strings and constants +syn match asnSpecial contained "\\\d\d\d\|\\." +syn region asnString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=asnSpecial +syn match asnCharacter "'[^\\]'" +syn match asnSpecialCharacter "'\\.'" +syn match asnNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>" +syn match asnLineComment "--.*" +syn match asnLineComment "--.*--" + +syn match asnDefinition "^\s*[a-zA-Z][-a-zA-Z0-9_.\[\] \t{}]* *::="me=e-3 contains=asnType +syn match asnBraces "[{}]" + +syn sync ccomment asnComment + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet +hi def link asnDefinition Function +hi def link asnBraces Function +hi def link asnStructure Statement +hi def link asnBoolValue Boolean +hi def link asnSpecial Special +hi def link asnString String +hi def link asnCharacter Character +hi def link asnSpecialCharacter asnSpecial +hi def link asnNumber asnValue +hi def link asnComment Comment +hi def link asnLineComment asnComment +hi def link asnType Type +hi def link asnTypeInfo PreProc +hi def link asnValue Number +hi def link asnExternal Include +hi def link asnTagModifier Function +hi def link asnFieldOption Type + +let &cpo = s:cpo_save +unlet s:cpo_save +let b:current_syntax = "asn" + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/asn.vim b/uvim/runtime/syntax/asn.vim deleted file mode 100644 index e90c7e079c..0000000000 --- a/uvim/runtime/syntax/asn.vim +++ /dev/null @@ -1,73 +0,0 @@ -" Vim syntax file -" Language: ASN.1 -" Maintainer: Claudio Fleiner -" URL: http://www.fleiner.com/vim/syntax/asn.vim -" Last Change: 2012 Oct 05 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -" keyword definitions -syn keyword asnExternal DEFINITIONS BEGIN END IMPORTS EXPORTS FROM -syn match asnExternal "\" -syn match asnExternal "\" -syn keyword asnFieldOption DEFAULT OPTIONAL -syn keyword asnTagModifier IMPLICIT EXPLICIT -syn keyword asnTypeInfo ABSENT PRESENT SIZE UNIVERSAL APPLICATION PRIVATE -syn keyword asnBoolValue TRUE FALSE -syn keyword asnNumber MIN MAX -syn match asnNumber "\" -syn match asnNumber "\" -syn keyword asnType INTEGER REAL STRING BIT BOOLEAN OCTET NULL EMBEDDED PDV -syn keyword asnType BMPString IA5String TeletexString GeneralString GraphicString ISO646String NumericString PrintableString T61String UniversalString VideotexString VisibleString -syn keyword asnType ANY DEFINED -syn match asnType "\.\.\." -syn match asnType "OBJECT\s\+IDENTIFIER" -syn match asnType "TYPE-IDENTIFIER" -syn keyword asnType UTF8String -syn keyword asnStructure CHOICE SEQUENCE SET OF ENUMERATED CONSTRAINED BY WITH COMPONENTS CLASS - -" Strings and constants -syn match asnSpecial contained "\\\d\d\d\|\\." -syn region asnString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=asnSpecial -syn match asnCharacter "'[^\\]'" -syn match asnSpecialCharacter "'\\.'" -syn match asnNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>" -syn match asnLineComment "--.*" -syn match asnLineComment "--.*--" - -syn match asnDefinition "^\s*[a-zA-Z][-a-zA-Z0-9_.\[\] \t{}]* *::="me=e-3 contains=asnType -syn match asnBraces "[{}]" - -syn sync ccomment asnComment - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet -hi def link asnDefinition Function -hi def link asnBraces Function -hi def link asnStructure Statement -hi def link asnBoolValue Boolean -hi def link asnSpecial Special -hi def link asnString String -hi def link asnCharacter Character -hi def link asnSpecialCharacter asnSpecial -hi def link asnNumber asnValue -hi def link asnComment Comment -hi def link asnLineComment asnComment -hi def link asnType Type -hi def link asnTypeInfo PreProc -hi def link asnValue Number -hi def link asnExternal Include -hi def link asnTagModifier Function -hi def link asnFieldOption Type - -let &cpo = s:cpo_save -unlet s:cpo_save -let b:current_syntax = "asn" - -" vim: ts=8 diff --git a/uvim/runtime/syntax/aspperl.mnv b/uvim/runtime/syntax/aspperl.mnv new file mode 100644 index 0000000000..563dcb3f90 --- /dev/null +++ b/uvim/runtime/syntax/aspperl.mnv @@ -0,0 +1,25 @@ +" MNV syntax file +" Language: Active State's PerlScript (ASP) +" Maintainer: Aaron Hope +" URL: http://nim.dhs.org/~edh/aspperl.mnv +" Last Change: 2001 May 09 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +if !exists("main_syntax") + let main_syntax = 'perlscript' +endif + +runtime! syntax/html.mnv +unlet b:current_syntax +syn include @AspPerlScript syntax/perl.mnv + +syn cluster htmlPreproc add=AspPerlScriptInsideHtmlTags + +syn region AspPerlScriptInsideHtmlTags keepend matchgroup=Delimiter start=+<%=\=+ skip=+".*%>.*"+ end=+%>+ contains=@AspPerlScript +syn region AspPerlScriptInsideHtmlTags keepend matchgroup=Delimiter start=+]*>+ end=++ contains=@AspPerlScript + +let b:current_syntax = "aspperl" diff --git a/uvim/runtime/syntax/aspperl.vim b/uvim/runtime/syntax/aspperl.vim deleted file mode 100644 index 5a9abedb19..0000000000 --- a/uvim/runtime/syntax/aspperl.vim +++ /dev/null @@ -1,25 +0,0 @@ -" Vim syntax file -" Language: Active State's PerlScript (ASP) -" Maintainer: Aaron Hope -" URL: http://nim.dhs.org/~edh/aspperl.vim -" Last Change: 2001 May 09 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -if !exists("main_syntax") - let main_syntax = 'perlscript' -endif - -runtime! syntax/html.vim -unlet b:current_syntax -syn include @AspPerlScript syntax/perl.vim - -syn cluster htmlPreproc add=AspPerlScriptInsideHtmlTags - -syn region AspPerlScriptInsideHtmlTags keepend matchgroup=Delimiter start=+<%=\=+ skip=+".*%>.*"+ end=+%>+ contains=@AspPerlScript -syn region AspPerlScriptInsideHtmlTags keepend matchgroup=Delimiter start=+]*>+ end=++ contains=@AspPerlScript - -let b:current_syntax = "aspperl" diff --git a/uvim/runtime/syntax/aspvbs.mnv b/uvim/runtime/syntax/aspvbs.mnv new file mode 100644 index 0000000000..b750b82b92 --- /dev/null +++ b/uvim/runtime/syntax/aspvbs.mnv @@ -0,0 +1,182 @@ +" MNV syntax file +" Language: Microsoft VBScript Web Content (ASP) +" Maintainer: Devin Weaver (non-functional) +" URL: http://tritarget.com/pub/mnv/syntax/aspvbs.mnv (broken) +" Last Change: 2006 Jun 19 +" by Dan Casey +" Version: $Revision: 1.3 $ +" Thanks to Jay-Jay for a syntax sync hack, hungarian +" notation, and extra highlighting. +" Thanks to patrick dehne for the folding code. +" Thanks to Dean Hall for testing the use of classes in +" VBScripts which I've been too scared to do. + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +if !exists("main_syntax") + let main_syntax = 'aspvbs' +endif + +runtime! syntax/html.mnv +unlet b:current_syntax + +syn cluster htmlPreProc add=AspVBScriptInsideHtmlTags + + +" Colored variable names, if written in hungarian notation +hi def AspVBSVariableSimple term=standout ctermfg=3 guifg=#99ee99 +hi def AspVBSVariableComplex term=standout ctermfg=3 guifg=#ee9900 +syn match AspVBSVariableSimple contained "\<\(bln\|byt\|dtm\=\|dbl\|int\|str\)\u\w*" +syn match AspVBSVariableComplex contained "\<\(arr\|ary\|obj\)\u\w*" + + +" Functions and methods that are in VB but will cause errors in an ASP page +" This is helpful if your porting VB code to ASP +" I removed (Count, Item) because these are common variable names in AspVBScript +syn keyword AspVBSError contained Val Str CVar CVDate DoEvents GoSub Return GoTo +syn keyword AspVBSError contained Stop LinkExecute Add Type LinkPoke +syn keyword AspVBSError contained LinkRequest LinkSend Declare Optional Sleep +syn keyword AspVBSError contained ParamArray Static Erl TypeOf Like LSet RSet Mid StrConv +" It may seem that most of these can fit into a keyword clause but keyword takes +" priority over all so I can't get the multi-word matches +syn match AspVBSError contained "\" +syn match AspVBSError contained "^\s*Open\s\+" +syn match AspVBSError contained "Debug\.[a-zA-Z0-9_]*" +syn match AspVBSError contained "^\s*[a-zA-Z0-9_]\+:" +syn match AspVBSError contained "[a-zA-Z0-9_]\+![a-zA-Z0-9_]\+" +syn match AspVBSError contained "^\s*#.*$" +syn match AspVBSError contained "\\|\" +syn match AspVBSError contained "\\|\\|\\|\\|\" +syn match AspVBSError contained "\" +" This one I want 'cause I always seem to mis-spell it. +syn match AspVBSError contained "Respon\?ce\.\S*" +syn match AspVBSError contained "Respose\.\S*" +" When I looked up the VBScript syntax it mentioned that Property Get/Set/Let +" statements are illegal, however, I have received reports that they do work. +" So I commented it out for now. +" syn match AspVBSError contained "\" + +" AspVBScript Reserved Words. +syn match AspVBSStatement contained "\\|\" +syn match AspVBSStatement contained "\" +syn match AspVBSStatement contained "\" +syn match AspVBSStatement contained "\" +syn match AspVBSStatement contained "\" +syn match AspVBSStatement contained "\\|\" +syn match AspVBSStatement contained "\" +syn keyword AspVBSStatement contained Call Class Const Default Dim Do Loop Erase And +syn keyword AspVBSStatement contained Function If Then Else ElseIf Or +syn keyword AspVBSStatement contained Private Public Randomize ReDim +syn keyword AspVBSStatement contained Select Case Sub While With Wend Not + +" AspVBScript Functions +syn keyword AspVBSFunction contained Abs Array Asc Atn CBool CByte CCur CDate CDbl +syn keyword AspVBSFunction contained Chr CInt CLng Cos CreateObject CSng CStr Date +syn keyword AspVBSFunction contained DateAdd DateDiff DatePart DateSerial DateValue +syn keyword AspVBSFunction contained Date Day Exp Filter Fix FormatCurrency +syn keyword AspVBSFunction contained FormatDateTime FormatNumber FormatPercent +syn keyword AspVBSFunction contained GetObject Hex Hour InputBox InStr InStrRev Int +syn keyword AspVBSFunction contained IsArray IsDate IsEmpty IsNull IsNumeric +syn keyword AspVBSFunction contained IsObject Join LBound LCase Left Len LoadPicture +syn keyword AspVBSFunction contained Log LTrim Mid Minute Month MonthName MsgBox Now +syn keyword AspVBSFunction contained Oct Replace RGB Right Rnd Round RTrim +syn keyword AspVBSFunction contained ScriptEngine ScriptEngineBuildVersion +syn keyword AspVBSFunction contained ScriptEngineMajorVersion +syn keyword AspVBSFunction contained ScriptEngineMinorVersion Second Sgn Sin Space +syn keyword AspVBSFunction contained Split Sqr StrComp StrReverse String Tan Time Timer +syn keyword AspVBSFunction contained TimeSerial TimeValue Trim TypeName UBound UCase +syn keyword AspVBSFunction contained VarType Weekday WeekdayName Year + +" AspVBScript Methods +syn keyword AspVBSMethods contained Add AddFolders BuildPath Clear Close Copy +syn keyword AspVBSMethods contained CopyFile CopyFolder CreateFolder CreateTextFile +syn keyword AspVBSMethods contained Delete DeleteFile DeleteFolder DriveExists +syn keyword AspVBSMethods contained Exists FileExists FolderExists +syn keyword AspVBSMethods contained GetAbsolutePathName GetBaseName GetDrive +syn keyword AspVBSMethods contained GetDriveName GetExtensionName GetFile +syn keyword AspVBSMethods contained GetFileName GetFolder GetParentFolderName +syn keyword AspVBSMethods contained GetSpecialFolder GetTempName Items Keys Move +syn keyword AspVBSMethods contained MoveFile MoveFolder OpenAsTextStream +syn keyword AspVBSMethods contained OpenTextFile Raise Read ReadAll ReadLine Remove +syn keyword AspVBSMethods contained RemoveAll Skip SkipLine Write WriteBlankLines +syn keyword AspVBSMethods contained WriteLine +syn match AspVBSMethods contained "Response\.\w*" +" Colorize boolean constants: +syn keyword AspVBSMethods contained true false + +" AspVBScript Number Constants +" Integer number, or floating point number without a dot. +syn match AspVBSNumber contained "\<\d\+\>" +" Floating point number, with dot +syn match AspVBSNumber contained "\<\d\+\.\d*\>" +" Floating point number, starting with a dot +syn match AspVBSNumber contained "\.\d\+\>" + +" String and Character Constants +" removed (skip=+\\\\\|\\"+) because VB doesn't have backslash escaping in +" strings (or does it?) +syn region AspVBSString contained start=+"+ end=+"+ keepend + +" AspVBScript Comments +syn region AspVBSComment contained start="^REM\s\|\sREM\s" end="$" contains=AspVBSTodo keepend +syn region AspVBSComment contained start="^'\|\s'" end="$" contains=AspVBSTodo keepend +" misc. Commenting Stuff +syn keyword AspVBSTodo contained TODO FIXME + +" Cosmetic syntax errors commanly found in VB but not in AspVBScript +" AspVBScript doesn't use line numbers +syn region AspVBSError contained start="^\d" end="\s" keepend +" AspVBScript also doesn't have type defining variables +syn match AspVBSError contained "[a-zA-Z0-9_][\$&!#]"ms=s+1 +" Since 'a%' is a VB variable with a type and in AspVBScript you can have 'a%>' +" I have to make a special case so 'a%>' won't show as an error. +syn match AspVBSError contained "[a-zA-Z0-9_]%\($\|[^>]\)"ms=s+1 + +" Top Cluster +syn cluster AspVBScriptTop contains=AspVBSStatement,AspVBSFunction,AspVBSMethods,AspVBSNumber,AspVBSString,AspVBSComment,AspVBSError,AspVBSVariableSimple,AspVBSVariableComplex + +" Folding +syn region AspVBSFold start="^\s*\(class\)\s\+.*$" end="^\s*end\s\+\(class\)\>.*$" fold contained transparent keepend +syn region AspVBSFold start="^\s*\(private\|public\)\=\(\s\+default\)\=\s\+\(sub\|function\)\s\+.*$" end="^\s*end\s\+\(function\|sub\)\>.*$" fold contained transparent keepend + +" Define AspVBScript delimiters +" <%= func("string_with_%>_in_it") %> This is illegal in ASP syntax. +syn region AspVBScriptInsideHtmlTags keepend matchgroup=Delimiter start=+<%=\=+ end=+%>+ contains=@AspVBScriptTop, AspVBSFold +syn region AspVBScriptInsideHtmlTags keepend matchgroup=Delimiter start=+]*\s\+runatserver[^>]*>+ end=++ contains=@AspVBScriptTop + + +" Synchronization +" syn sync match AspVBSSyncGroup grouphere AspVBScriptInsideHtmlTags "<%" +" This is a kludge so the HTML will sync properly +syn sync match htmlHighlight grouphere htmlTag "%>" + + + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +"hi def link AspVBScript Special +hi def link AspVBSLineNumber Comment +hi def link AspVBSNumber Number +hi def link AspVBSError Error +hi def link AspVBSStatement Statement +hi def link AspVBSString String +hi def link AspVBSComment Comment +hi def link AspVBSTodo Todo +hi def link AspVBSFunction Identifier +hi def link AspVBSMethods PreProc +hi def link AspVBSEvents Special +hi def link AspVBSTypeSpecifier Type + + +let b:current_syntax = "aspvbs" + +if main_syntax == 'aspvbs' + unlet main_syntax +endif + +" mnv: ts=8:sw=2:sts=0:noet diff --git a/uvim/runtime/syntax/aspvbs.vim b/uvim/runtime/syntax/aspvbs.vim deleted file mode 100644 index 44909b651e..0000000000 --- a/uvim/runtime/syntax/aspvbs.vim +++ /dev/null @@ -1,182 +0,0 @@ -" Vim syntax file -" Language: Microsoft VBScript Web Content (ASP) -" Maintainer: Devin Weaver (non-functional) -" URL: http://tritarget.com/pub/vim/syntax/aspvbs.vim (broken) -" Last Change: 2006 Jun 19 -" by Dan Casey -" Version: $Revision: 1.3 $ -" Thanks to Jay-Jay for a syntax sync hack, hungarian -" notation, and extra highlighting. -" Thanks to patrick dehne for the folding code. -" Thanks to Dean Hall for testing the use of classes in -" VBScripts which I've been too scared to do. - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -if !exists("main_syntax") - let main_syntax = 'aspvbs' -endif - -runtime! syntax/html.vim -unlet b:current_syntax - -syn cluster htmlPreProc add=AspVBScriptInsideHtmlTags - - -" Colored variable names, if written in hungarian notation -hi def AspVBSVariableSimple term=standout ctermfg=3 guifg=#99ee99 -hi def AspVBSVariableComplex term=standout ctermfg=3 guifg=#ee9900 -syn match AspVBSVariableSimple contained "\<\(bln\|byt\|dtm\=\|dbl\|int\|str\)\u\w*" -syn match AspVBSVariableComplex contained "\<\(arr\|ary\|obj\)\u\w*" - - -" Functions and methods that are in VB but will cause errors in an ASP page -" This is helpful if your porting VB code to ASP -" I removed (Count, Item) because these are common variable names in AspVBScript -syn keyword AspVBSError contained Val Str CVar CVDate DoEvents GoSub Return GoTo -syn keyword AspVBSError contained Stop LinkExecute Add Type LinkPoke -syn keyword AspVBSError contained LinkRequest LinkSend Declare Optional Sleep -syn keyword AspVBSError contained ParamArray Static Erl TypeOf Like LSet RSet Mid StrConv -" It may seem that most of these can fit into a keyword clause but keyword takes -" priority over all so I can't get the multi-word matches -syn match AspVBSError contained "\" -syn match AspVBSError contained "^\s*Open\s\+" -syn match AspVBSError contained "Debug\.[a-zA-Z0-9_]*" -syn match AspVBSError contained "^\s*[a-zA-Z0-9_]\+:" -syn match AspVBSError contained "[a-zA-Z0-9_]\+![a-zA-Z0-9_]\+" -syn match AspVBSError contained "^\s*#.*$" -syn match AspVBSError contained "\\|\" -syn match AspVBSError contained "\\|\\|\\|\\|\" -syn match AspVBSError contained "\" -" This one I want 'cause I always seem to mis-spell it. -syn match AspVBSError contained "Respon\?ce\.\S*" -syn match AspVBSError contained "Respose\.\S*" -" When I looked up the VBScript syntax it mentioned that Property Get/Set/Let -" statements are illegal, however, I have received reports that they do work. -" So I commented it out for now. -" syn match AspVBSError contained "\" - -" AspVBScript Reserved Words. -syn match AspVBSStatement contained "\\|\" -syn match AspVBSStatement contained "\" -syn match AspVBSStatement contained "\" -syn match AspVBSStatement contained "\" -syn match AspVBSStatement contained "\" -syn match AspVBSStatement contained "\\|\" -syn match AspVBSStatement contained "\" -syn keyword AspVBSStatement contained Call Class Const Default Dim Do Loop Erase And -syn keyword AspVBSStatement contained Function If Then Else ElseIf Or -syn keyword AspVBSStatement contained Private Public Randomize ReDim -syn keyword AspVBSStatement contained Select Case Sub While With Wend Not - -" AspVBScript Functions -syn keyword AspVBSFunction contained Abs Array Asc Atn CBool CByte CCur CDate CDbl -syn keyword AspVBSFunction contained Chr CInt CLng Cos CreateObject CSng CStr Date -syn keyword AspVBSFunction contained DateAdd DateDiff DatePart DateSerial DateValue -syn keyword AspVBSFunction contained Date Day Exp Filter Fix FormatCurrency -syn keyword AspVBSFunction contained FormatDateTime FormatNumber FormatPercent -syn keyword AspVBSFunction contained GetObject Hex Hour InputBox InStr InStrRev Int -syn keyword AspVBSFunction contained IsArray IsDate IsEmpty IsNull IsNumeric -syn keyword AspVBSFunction contained IsObject Join LBound LCase Left Len LoadPicture -syn keyword AspVBSFunction contained Log LTrim Mid Minute Month MonthName MsgBox Now -syn keyword AspVBSFunction contained Oct Replace RGB Right Rnd Round RTrim -syn keyword AspVBSFunction contained ScriptEngine ScriptEngineBuildVersion -syn keyword AspVBSFunction contained ScriptEngineMajorVersion -syn keyword AspVBSFunction contained ScriptEngineMinorVersion Second Sgn Sin Space -syn keyword AspVBSFunction contained Split Sqr StrComp StrReverse String Tan Time Timer -syn keyword AspVBSFunction contained TimeSerial TimeValue Trim TypeName UBound UCase -syn keyword AspVBSFunction contained VarType Weekday WeekdayName Year - -" AspVBScript Methods -syn keyword AspVBSMethods contained Add AddFolders BuildPath Clear Close Copy -syn keyword AspVBSMethods contained CopyFile CopyFolder CreateFolder CreateTextFile -syn keyword AspVBSMethods contained Delete DeleteFile DeleteFolder DriveExists -syn keyword AspVBSMethods contained Exists FileExists FolderExists -syn keyword AspVBSMethods contained GetAbsolutePathName GetBaseName GetDrive -syn keyword AspVBSMethods contained GetDriveName GetExtensionName GetFile -syn keyword AspVBSMethods contained GetFileName GetFolder GetParentFolderName -syn keyword AspVBSMethods contained GetSpecialFolder GetTempName Items Keys Move -syn keyword AspVBSMethods contained MoveFile MoveFolder OpenAsTextStream -syn keyword AspVBSMethods contained OpenTextFile Raise Read ReadAll ReadLine Remove -syn keyword AspVBSMethods contained RemoveAll Skip SkipLine Write WriteBlankLines -syn keyword AspVBSMethods contained WriteLine -syn match AspVBSMethods contained "Response\.\w*" -" Colorize boolean constants: -syn keyword AspVBSMethods contained true false - -" AspVBScript Number Constants -" Integer number, or floating point number without a dot. -syn match AspVBSNumber contained "\<\d\+\>" -" Floating point number, with dot -syn match AspVBSNumber contained "\<\d\+\.\d*\>" -" Floating point number, starting with a dot -syn match AspVBSNumber contained "\.\d\+\>" - -" String and Character Constants -" removed (skip=+\\\\\|\\"+) because VB doesn't have backslash escaping in -" strings (or does it?) -syn region AspVBSString contained start=+"+ end=+"+ keepend - -" AspVBScript Comments -syn region AspVBSComment contained start="^REM\s\|\sREM\s" end="$" contains=AspVBSTodo keepend -syn region AspVBSComment contained start="^'\|\s'" end="$" contains=AspVBSTodo keepend -" misc. Commenting Stuff -syn keyword AspVBSTodo contained TODO FIXME - -" Cosmetic syntax errors commanly found in VB but not in AspVBScript -" AspVBScript doesn't use line numbers -syn region AspVBSError contained start="^\d" end="\s" keepend -" AspVBScript also doesn't have type defining variables -syn match AspVBSError contained "[a-zA-Z0-9_][\$&!#]"ms=s+1 -" Since 'a%' is a VB variable with a type and in AspVBScript you can have 'a%>' -" I have to make a special case so 'a%>' won't show as an error. -syn match AspVBSError contained "[a-zA-Z0-9_]%\($\|[^>]\)"ms=s+1 - -" Top Cluster -syn cluster AspVBScriptTop contains=AspVBSStatement,AspVBSFunction,AspVBSMethods,AspVBSNumber,AspVBSString,AspVBSComment,AspVBSError,AspVBSVariableSimple,AspVBSVariableComplex - -" Folding -syn region AspVBSFold start="^\s*\(class\)\s\+.*$" end="^\s*end\s\+\(class\)\>.*$" fold contained transparent keepend -syn region AspVBSFold start="^\s*\(private\|public\)\=\(\s\+default\)\=\s\+\(sub\|function\)\s\+.*$" end="^\s*end\s\+\(function\|sub\)\>.*$" fold contained transparent keepend - -" Define AspVBScript delimiters -" <%= func("string_with_%>_in_it") %> This is illegal in ASP syntax. -syn region AspVBScriptInsideHtmlTags keepend matchgroup=Delimiter start=+<%=\=+ end=+%>+ contains=@AspVBScriptTop, AspVBSFold -syn region AspVBScriptInsideHtmlTags keepend matchgroup=Delimiter start=+]*\s\+runatserver[^>]*>+ end=++ contains=@AspVBScriptTop - - -" Synchronization -" syn sync match AspVBSSyncGroup grouphere AspVBScriptInsideHtmlTags "<%" -" This is a kludge so the HTML will sync properly -syn sync match htmlHighlight grouphere htmlTag "%>" - - - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -"hi def link AspVBScript Special -hi def link AspVBSLineNumber Comment -hi def link AspVBSNumber Number -hi def link AspVBSError Error -hi def link AspVBSStatement Statement -hi def link AspVBSString String -hi def link AspVBSComment Comment -hi def link AspVBSTodo Todo -hi def link AspVBSFunction Identifier -hi def link AspVBSMethods PreProc -hi def link AspVBSEvents Special -hi def link AspVBSTypeSpecifier Type - - -let b:current_syntax = "aspvbs" - -if main_syntax == 'aspvbs' - unlet main_syntax -endif - -" vim: ts=8:sw=2:sts=0:noet diff --git a/uvim/runtime/syntax/asterisk.mnv b/uvim/runtime/syntax/asterisk.mnv new file mode 100644 index 0000000000..3574e31185 --- /dev/null +++ b/uvim/runtime/syntax/asterisk.mnv @@ -0,0 +1,88 @@ +" MNV syntax file +" Language: Asterisk config file +" Maintainer: Jean Aunis +" Previous Maintainer: brc007 +" Updated for 1.2 by Tilghman Lesher (Corydon76) +" Last Change: 2015 Feb 27 +" version 0.4 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn sync clear +syn sync fromstart + +syn keyword asteriskTodo TODO contained +syn match asteriskComment ";.*" contains=asteriskTodo +syn match asteriskContext "\[.\{-}\]" +syn match asteriskExten "^\s*\zsexten\s*=>\?\s*[^,]\+\ze," contains=asteriskPattern nextgroup=asteriskPriority +syn match asteriskExten "^\s*\zssame\s*=>\?\s*\ze" nextgroup=asteriskPriority +syn match asteriskExten "^\s*\(register\|channel\|ignorepat\|include\|l\?e\?switch\|\(no\)\?load\)\s*=>\?" +syn match asteriskPattern "_\(\[[[:alnum:]#*\-]\+\]\|[[:alnum:]#*]\)*\.\?" contained +syn match asteriskPattern "[^A-Za-z0-9,]\zs[[:alnum:]#*]\+\ze" contained +syn match asteriskApp ",\zs[a-zA-Z]\+\ze$" +syn match asteriskApp ",\zs[a-zA-Z]\+\ze(" +" Digits plus oldlabel (newlabel) +syn match asteriskPriority "\zs[[:digit:]]\+\(+[[:alpha:]][[:alnum:]_]*\)\?\(([[:alpha:]][[:alnum:]_]*)\)\?\ze," contains=asteriskLabel +" oldlabel plus digits (newlabel) +syn match asteriskPriority "\zs[[:alpha:]][[:alnum:]_]*+[[:digit:]]\+\(([[:alpha:]][[:alnum:]_]*)\)\?\ze," contains=asteriskLabel +" s or n plus digits (newlabel) +syn match asteriskPriority "\zs[sn]\(+[[:digit:]]\+\)\?\(([[:alpha:]][[:alnum:]_]*)\)\?\ze," contains=asteriskLabel +syn match asteriskLabel "(\zs[[:alpha:]][[:alnum:]]*\ze)" contained +syn match asteriskError "^\s*#\s*[[:alnum:]]*" +syn match asteriskInclude "^\s*#\s*\(include\|exec\)\s.*" +syn match asteriskVar "\${_\{0,2}[[:alpha:]][[:alnum:]_]*\(:-\?[[:digit:]]\+\(:[[:digit:]]\+\)\?\)\?}" +syn match asteriskVar "_\{0,2}[[:alpha:]][[:alnum:]_]*\ze=" +syn match asteriskVarLen "\${_\{0,2}[[:alpha:]][[:alnum:]_]*(.*)}" contains=asteriskVar,asteriskVarLen,asteriskExp +syn match asteriskVarLen "(\zs[[:alpha:]][[:alnum:]_]*(.\{-})\ze=" contains=asteriskVar,asteriskVarLen,asteriskExp +syn match asteriskExp "\$\[.\{-}\]" contains=asteriskVar,asteriskVarLen,asteriskExp +syn match asteriskCodecsPermit "^\s*\(allow\|disallow\)\s*=\s*.*$" contains=asteriskCodecs +syn match asteriskCodecs "\(vp9\|vp8\|h264\|h263p\|h263\|h261\|jpeg\|opus\|g722\|g723\|gsm\|ulaw\|alaw\|g719\|g726\|g726aal2\|siren7\|siren14\|adpcm\|slin\|lpc10\|g729\|speex\|ilbc\|wav\|all\s*$\)" +syn match asteriskError "^\(type\|auth\|permit\|deny\|bindaddr\|host\)\s*=.*$" +syn match asteriskType "^\zstype=\ze\<\(peer\|user\|friend\)\>$" contains=asteriskTypeType +syn match asteriskTypeType "\<\(peer\|user\|friend\)\>" contained +syn match asteriskAuth "^\zsauth\s*=\ze\s*\<\(md5\|rsa\|plaintext\)\>$" contains=asteriskAuthType +syn match asteriskAuthType "\<\(md5\|rsa\|plaintext\)\>" +syn match asteriskAuth "^\zs\(secret\|inkeys\|outkey\)\s*=\ze.*$" +syn match asteriskAuth "^\(permit\|deny\)\s*=\s*\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}/\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\s*$" contains=asteriskIPRange +syn match asteriskIPRange "\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}/\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}" contained +syn match asteriskIP "\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}" contained +syn match asteriskHostname "[[:alnum:]][[:alnum:]\-\.]*\.[[:alpha:]]{2,10}" contained +syn match asteriskPort "\d\{1,5}" contained +syn match asteriskSetting "^bindaddr\s*=\s*\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}$" contains=asteriskIP +syn match asteriskSetting "^port\s*=\s*\d\{1,5}\s*$" contains=asteriskPort +syn match asteriskSetting "^host\s*=\s*\(dynamic\|\(\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\)\|\([[:alnum:]][[:alnum:]\-\.]*\.[[:alpha:]]{2,10}\)\)" contains=asteriskIP,asteriskHostname + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link asteriskComment Comment +hi def link asteriskExten String +hi def link asteriskContext Preproc +hi def link asteriskPattern Type +hi def link asteriskApp Statement +hi def link asteriskInclude Preproc +hi def link asteriskIncludeBad Error +hi def link asteriskPriority Preproc +hi def link asteriskLabel Type +hi def link asteriskVar String +hi def link asteriskVarLen Function +hi def link asteriskExp Type +hi def link asteriskCodecsPermit Preproc +hi def link asteriskCodecs String +hi def link asteriskType Statement +hi def link asteriskTypeType Type +hi def link asteriskAuth String +hi def link asteriskAuthType Type +hi def link asteriskIPRange Identifier +hi def link asteriskIP Identifier +hi def link asteriskPort Identifier +hi def link asteriskHostname Identifier +hi def link asteriskSetting Statement +hi def link asteriskError Error + +let b:current_syntax = "asterisk" +" mnv: ts=8 sw=2 + diff --git a/uvim/runtime/syntax/asterisk.vim b/uvim/runtime/syntax/asterisk.vim deleted file mode 100644 index 4b3d246e39..0000000000 --- a/uvim/runtime/syntax/asterisk.vim +++ /dev/null @@ -1,88 +0,0 @@ -" Vim syntax file -" Language: Asterisk config file -" Maintainer: Jean Aunis -" Previous Maintainer: brc007 -" Updated for 1.2 by Tilghman Lesher (Corydon76) -" Last Change: 2015 Feb 27 -" version 0.4 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn sync clear -syn sync fromstart - -syn keyword asteriskTodo TODO contained -syn match asteriskComment ";.*" contains=asteriskTodo -syn match asteriskContext "\[.\{-}\]" -syn match asteriskExten "^\s*\zsexten\s*=>\?\s*[^,]\+\ze," contains=asteriskPattern nextgroup=asteriskPriority -syn match asteriskExten "^\s*\zssame\s*=>\?\s*\ze" nextgroup=asteriskPriority -syn match asteriskExten "^\s*\(register\|channel\|ignorepat\|include\|l\?e\?switch\|\(no\)\?load\)\s*=>\?" -syn match asteriskPattern "_\(\[[[:alnum:]#*\-]\+\]\|[[:alnum:]#*]\)*\.\?" contained -syn match asteriskPattern "[^A-Za-z0-9,]\zs[[:alnum:]#*]\+\ze" contained -syn match asteriskApp ",\zs[a-zA-Z]\+\ze$" -syn match asteriskApp ",\zs[a-zA-Z]\+\ze(" -" Digits plus oldlabel (newlabel) -syn match asteriskPriority "\zs[[:digit:]]\+\(+[[:alpha:]][[:alnum:]_]*\)\?\(([[:alpha:]][[:alnum:]_]*)\)\?\ze," contains=asteriskLabel -" oldlabel plus digits (newlabel) -syn match asteriskPriority "\zs[[:alpha:]][[:alnum:]_]*+[[:digit:]]\+\(([[:alpha:]][[:alnum:]_]*)\)\?\ze," contains=asteriskLabel -" s or n plus digits (newlabel) -syn match asteriskPriority "\zs[sn]\(+[[:digit:]]\+\)\?\(([[:alpha:]][[:alnum:]_]*)\)\?\ze," contains=asteriskLabel -syn match asteriskLabel "(\zs[[:alpha:]][[:alnum:]]*\ze)" contained -syn match asteriskError "^\s*#\s*[[:alnum:]]*" -syn match asteriskInclude "^\s*#\s*\(include\|exec\)\s.*" -syn match asteriskVar "\${_\{0,2}[[:alpha:]][[:alnum:]_]*\(:-\?[[:digit:]]\+\(:[[:digit:]]\+\)\?\)\?}" -syn match asteriskVar "_\{0,2}[[:alpha:]][[:alnum:]_]*\ze=" -syn match asteriskVarLen "\${_\{0,2}[[:alpha:]][[:alnum:]_]*(.*)}" contains=asteriskVar,asteriskVarLen,asteriskExp -syn match asteriskVarLen "(\zs[[:alpha:]][[:alnum:]_]*(.\{-})\ze=" contains=asteriskVar,asteriskVarLen,asteriskExp -syn match asteriskExp "\$\[.\{-}\]" contains=asteriskVar,asteriskVarLen,asteriskExp -syn match asteriskCodecsPermit "^\s*\(allow\|disallow\)\s*=\s*.*$" contains=asteriskCodecs -syn match asteriskCodecs "\(vp9\|vp8\|h264\|h263p\|h263\|h261\|jpeg\|opus\|g722\|g723\|gsm\|ulaw\|alaw\|g719\|g726\|g726aal2\|siren7\|siren14\|adpcm\|slin\|lpc10\|g729\|speex\|ilbc\|wav\|all\s*$\)" -syn match asteriskError "^\(type\|auth\|permit\|deny\|bindaddr\|host\)\s*=.*$" -syn match asteriskType "^\zstype=\ze\<\(peer\|user\|friend\)\>$" contains=asteriskTypeType -syn match asteriskTypeType "\<\(peer\|user\|friend\)\>" contained -syn match asteriskAuth "^\zsauth\s*=\ze\s*\<\(md5\|rsa\|plaintext\)\>$" contains=asteriskAuthType -syn match asteriskAuthType "\<\(md5\|rsa\|plaintext\)\>" -syn match asteriskAuth "^\zs\(secret\|inkeys\|outkey\)\s*=\ze.*$" -syn match asteriskAuth "^\(permit\|deny\)\s*=\s*\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}/\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\s*$" contains=asteriskIPRange -syn match asteriskIPRange "\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}/\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}" contained -syn match asteriskIP "\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}" contained -syn match asteriskHostname "[[:alnum:]][[:alnum:]\-\.]*\.[[:alpha:]]{2,10}" contained -syn match asteriskPort "\d\{1,5}" contained -syn match asteriskSetting "^bindaddr\s*=\s*\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}$" contains=asteriskIP -syn match asteriskSetting "^port\s*=\s*\d\{1,5}\s*$" contains=asteriskPort -syn match asteriskSetting "^host\s*=\s*\(dynamic\|\(\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\)\|\([[:alnum:]][[:alnum:]\-\.]*\.[[:alpha:]]{2,10}\)\)" contains=asteriskIP,asteriskHostname - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link asteriskComment Comment -hi def link asteriskExten String -hi def link asteriskContext Preproc -hi def link asteriskPattern Type -hi def link asteriskApp Statement -hi def link asteriskInclude Preproc -hi def link asteriskIncludeBad Error -hi def link asteriskPriority Preproc -hi def link asteriskLabel Type -hi def link asteriskVar String -hi def link asteriskVarLen Function -hi def link asteriskExp Type -hi def link asteriskCodecsPermit Preproc -hi def link asteriskCodecs String -hi def link asteriskType Statement -hi def link asteriskTypeType Type -hi def link asteriskAuth String -hi def link asteriskAuthType Type -hi def link asteriskIPRange Identifier -hi def link asteriskIP Identifier -hi def link asteriskPort Identifier -hi def link asteriskHostname Identifier -hi def link asteriskSetting Statement -hi def link asteriskError Error - -let b:current_syntax = "asterisk" -" vim: ts=8 sw=2 - diff --git a/uvim/runtime/syntax/asteriskvm.mnv b/uvim/runtime/syntax/asteriskvm.mnv new file mode 100644 index 0000000000..36d6135d0f --- /dev/null +++ b/uvim/runtime/syntax/asteriskvm.mnv @@ -0,0 +1,51 @@ +" MNV syntax file +" Language: Asterisk voicemail config file +" Maintainer: Tilghman Lesher (Corydon76) +" Last Change: 2006 Mar 21 +" version 0.2 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn sync clear +syn sync fromstart + + +syn keyword asteriskvmTodo TODO contained +syn match asteriskvmComment ";.*" contains=asteriskvmTodo +syn match asteriskvmContext "\[.\{-}\]" + +" ZoneMessages +syn match asteriskvmZone "^[[:alnum:]]\+\s*=>\?\s*[[:alnum:]/_]\+|.*$" contains=zoneName,zoneDef +syn match zoneName "=\zs[[:alnum:]/_]\+\ze" contained +syn match zoneDef "|\zs.*\ze$" contained + +syn match asteriskvmSetting "\<\(format\|serveremail\|minmessage\|maxmessage\|maxgreet\|skipms\|maxsilence\|silencethreshold\|maxlogins\)=" +syn match asteriskvmSetting "\<\(externnotify\|externpass\|directoryintro\|charset\|adsi\(fdn\|sec\|ver\)\|\(pager\)\?fromstring\|email\(subject\|body\|cmd\)\|tz\|cidinternalcontexts\|saydurationm\|dialout\|callback\)=" +syn match asteriskvmSettingBool "\<\(attach\|pbxskip\|usedirectory\|saycid\|sayduration\|sendvoicemail\|review\|operator\|envelope\|delete\|nextaftercmd\|forcename\|forcegreeting\)=\(yes\|no\|1\|0\|true\|false\|t\|f\)" + +" Individual mailbox definitions +syn match asteriskvmMailbox "^[[:digit:]]\+\s*=>\?\s*[[:digit:]]\+\(,[^,]*\(,[^,]*\(,[^,]*\(,[^,]*\)\?\)\?\)\?\)\?" contains=mailboxEmail,asteriskvmSetting,asteriskvmSettingBool,comma +syn match mailboxEmail ",\zs[^@=,]*@[[:alnum:]\-\.]\+\.[[:alpha:]]\{2,10}\ze" contains=comma +syn match comma "[,|]" contained + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link asteriskvmComment Comment +hi def link asteriskvmContext Identifier +hi def link asteriskvmZone Type +hi def link zoneName String +hi def link zoneDef String +hi def link asteriskvmSetting Type +hi def link asteriskvmSettingBool Type + +hi def link asteriskvmMailbox Statement +hi def link mailboxEmail String + +let b:current_syntax = "asteriskvm" + +" mnv: ts=8 sw=2 + diff --git a/uvim/runtime/syntax/asteriskvm.vim b/uvim/runtime/syntax/asteriskvm.vim deleted file mode 100644 index fa55af5451..0000000000 --- a/uvim/runtime/syntax/asteriskvm.vim +++ /dev/null @@ -1,51 +0,0 @@ -" Vim syntax file -" Language: Asterisk voicemail config file -" Maintainer: Tilghman Lesher (Corydon76) -" Last Change: 2006 Mar 21 -" version 0.2 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn sync clear -syn sync fromstart - - -syn keyword asteriskvmTodo TODO contained -syn match asteriskvmComment ";.*" contains=asteriskvmTodo -syn match asteriskvmContext "\[.\{-}\]" - -" ZoneMessages -syn match asteriskvmZone "^[[:alnum:]]\+\s*=>\?\s*[[:alnum:]/_]\+|.*$" contains=zoneName,zoneDef -syn match zoneName "=\zs[[:alnum:]/_]\+\ze" contained -syn match zoneDef "|\zs.*\ze$" contained - -syn match asteriskvmSetting "\<\(format\|serveremail\|minmessage\|maxmessage\|maxgreet\|skipms\|maxsilence\|silencethreshold\|maxlogins\)=" -syn match asteriskvmSetting "\<\(externnotify\|externpass\|directoryintro\|charset\|adsi\(fdn\|sec\|ver\)\|\(pager\)\?fromstring\|email\(subject\|body\|cmd\)\|tz\|cidinternalcontexts\|saydurationm\|dialout\|callback\)=" -syn match asteriskvmSettingBool "\<\(attach\|pbxskip\|usedirectory\|saycid\|sayduration\|sendvoicemail\|review\|operator\|envelope\|delete\|nextaftercmd\|forcename\|forcegreeting\)=\(yes\|no\|1\|0\|true\|false\|t\|f\)" - -" Individual mailbox definitions -syn match asteriskvmMailbox "^[[:digit:]]\+\s*=>\?\s*[[:digit:]]\+\(,[^,]*\(,[^,]*\(,[^,]*\(,[^,]*\)\?\)\?\)\?\)\?" contains=mailboxEmail,asteriskvmSetting,asteriskvmSettingBool,comma -syn match mailboxEmail ",\zs[^@=,]*@[[:alnum:]\-\.]\+\.[[:alpha:]]\{2,10}\ze" contains=comma -syn match comma "[,|]" contained - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link asteriskvmComment Comment -hi def link asteriskvmContext Identifier -hi def link asteriskvmZone Type -hi def link zoneName String -hi def link zoneDef String -hi def link asteriskvmSetting Type -hi def link asteriskvmSettingBool Type - -hi def link asteriskvmMailbox Statement -hi def link mailboxEmail String - -let b:current_syntax = "asteriskvm" - -" vim: ts=8 sw=2 - diff --git a/uvim/runtime/syntax/astro.mnv b/uvim/runtime/syntax/astro.mnv new file mode 100644 index 0000000000..75dc0400e8 --- /dev/null +++ b/uvim/runtime/syntax/astro.mnv @@ -0,0 +1,190 @@ +" MNV syntax file. +" Language: Astro +" Author: Wuelner MartĂ­nez +" Maintainer: Wuelner MartĂ­nez +" URL: https://github.com/wuelnerdotexe/mnv-astro +" Last Change: 2022 Aug 22 +" Based On: Evan Lecklider's mnv-svelte +" Changes: See https://github.com/evanleck/mnv-svelte +" Credits: See mnv-svelte on github + +" Quit when a (custom) syntax file was already loaded. +if !exists('main_syntax') + if exists('b:current_syntax') + finish + endif + let main_syntax = 'astro' +elseif exists('b:current_syntax') && b:current_syntax == 'astro' + finish +endif + +" Astro syntax variables are initialized. +let g:astro_typescript = get(g:, 'astro_typescript', 'disable') +let g:astro_stylus = get(g:, 'astro_stylus', 'disable') + +let s:cpoptions_save = &cpoptions +set cpoptions&mnv + +" Embedded HTML syntax. +runtime! syntax/html.mnv + +" htmlTagName: expand HTML tag names to include mixed case and periods. +syntax match htmlTagName contained "\<[a-zA-Z\.]*\>" + +" astroDirectives: add Astro Directives to HTML arguments. +syntax match astroDirectives contained '\<[a-z]\+:[a-z|]*\>' containedin=htmlTag + +unlet b:current_syntax + +if g:astro_typescript == 'enable' + " Embedded TypeScript syntax. + syntax include @astroJavaScript syntax/typescript.mnv + + " javaScriptExpression: a javascript expression is used as an arg value. + syntax clear javaScriptExpression + syntax region javaScriptExpression + \ contained start=+&{+ + \ keepend end=+};+ + \ contains=@astroJavaScript,@htmlPreproc + + " javaScript: add TypeScript support to HTML script tag. + syntax clear javaScript + syntax region javaScript + \ start=+]*>+ + \ keepend + \ end=+]*>+me=s-1 + \ contains=htmlScriptTag,@astroJavaScript,@htmlPreproc,htmlCssStyleComment +else + " Embedded JavaScript syntax. + syntax include @astroJavaScript syntax/javascript.mnv +endif + +" astroFence: detect the Astro fence. +syntax match astroFence contained +^---$+ + +" astrojavaScript: add TypeScript support to Astro code fence. +syntax region astroJavaScript + \ start=+^---$+ + \ keepend + \ end=+^---$+ + \ contains=htmlTag,@astroJavaScript,@htmlPreproc,htmlCssStyleComment,htmlEndTag,astroFence + \ fold + +unlet b:current_syntax + +if g:astro_typescript == 'enable' + " Embedded TypeScript React (TSX) syntax. + syntax include @astroJavaScriptReact syntax/typescriptreact.mnv +else + " Embedded JavaScript React (JSX) syntax. + syntax include @astroJavaScriptReact syntax/javascriptreact.mnv +endif + +" astroJavaScriptExpression: add {JSX or TSX} support to Astro expresions. +execute 'syntax region astroJavaScriptExpression start=+{+ keepend end=+}+ ' . + \ 'contains=@astroJavaScriptReact, @htmlPreproc containedin=' . join([ + \ 'htmlArg', 'htmlBold', 'htmlBoldItalic', 'htmlBoldItalicUnderline', + \ 'htmlBoldUnderline', 'htmlBoldUnderlineItalic', 'htmlH1', 'htmlH2', + \ 'htmlH3', 'htmlH4', 'htmlH5', 'htmlH6', 'htmlHead', 'htmlItalic', + \ 'htmlItalicBold', 'htmlItalicBoldUnderline', 'htmlItalicUnderline', + \ 'htmlItalicUnderlineBold', 'htmlLeadingSpace', 'htmlLink', + \ 'htmlStrike', 'htmlString', 'htmlTag', 'htmlTitle', 'htmlUnderline', + \ 'htmlUnderlineBold', 'htmlUnderlineBoldItalic', + \ 'htmlUnderlineItalic', 'htmlUnderlineItalicBold', 'htmlValue' + \ ], ',') + +" cssStyle: add CSS style tags support in TypeScript React. +syntax region cssStyle + \ start=+]*>+ + \ keepend + \ end=+]*>+me=s-1 + \ contains=htmlTag,@htmlCss,htmlCssStyleComment,@htmlPreproc,htmlEndTag + \ containedin=@astroJavaScriptReact + +unlet b:current_syntax + +" Embedded SCSS syntax. +syntax include @astroScss syntax/scss.mnv + +" cssStyle: add SCSS style tags support in Astro. +syntax region scssStyle + \ start=/\_[^>]*\(lang\)=\("\|''\)[^\2]*scss[^\2]*\2\_[^>]*>/ + \ keepend + \ end=++me=s-1 + \ contains=@astroScss,astroSurroundingTag + \ fold + +unlet b:current_syntax + +" Embedded SASS syntax. +syntax include @astroSass syntax/sass.mnv + +" cssStyle: add SASS style tags support in Astro. +syntax region sassStyle + \ start=/\_[^>]*\(lang\)=\("\|''\)[^\2]*sass[^\2]*\2\_[^>]*>/ + \ keepend + \ end=++me=s-1 + \ contains=@astroSass,astroSurroundingTag + \ fold + +unlet b:current_syntax + +" Embedded LESS syntax. +syntax include @astroLess syntax/less.mnv + +" cssStyle: add LESS style tags support in Astro. +syntax region lessStyle + \ start=/\_[^>]*\(lang\)=\("\|''\)[^\2]*less[^\2]*\2\_[^>]*>/ + \ keepend + \ end=++me=s-1 + \ contains=@astroLess,astroSurroundingTag + \ fold + +unlet b:current_syntax + +" Embedded Stylus syntax. +" NOTE: MNV does not provide stylus support by default, but you can install +" this plugin to support it: https://github.com/wavded/mnv-stylus +if g:astro_stylus == 'enable' + try + " Embedded Stylus syntax. + syntax include @astroStylus syntax/stylus.mnv + + " stylusStyle: add Stylus style tags support in Astro. + syntax region stylusStyle + \ start=/\_[^>]*\(lang\)=\("\|''\)[^\2]*stylus[^\2]*\2\_[^>]*>/ + \ keepend + \ end=++me=s-1 + \ contains=@astroStylus,astroSurroundingTag + \ fold + + unlet b:current_syntax + catch + echomsg "you need install a external plugin for support stylus in .astro files" + endtry +endif + +" astroSurroundingTag: add surround HTML tag to script and style. +syntax region astroSurroundingTag + \ start=+<\(script\|style\)+ + \ end=+>+ + \ contains=htmlTagError,htmlTagN,htmlArg,htmlValue,htmlEvent,htmlString + \ contained + \ fold + +" Define the default highlighting. +" Only used when an item doesn't have highlighting yet. +highlight default link astroDirectives Special +highlight default link astroFence Comment + +let b:current_syntax = 'astro' +if main_syntax == 'astro' + unlet main_syntax +endif + +" Sync from start because of the wacky nesting. +syntax sync fromstart + +let &cpoptions = s:cpoptions_save +unlet s:cpoptions_save +" mnv: ts=8 diff --git a/uvim/runtime/syntax/astro.vim b/uvim/runtime/syntax/astro.vim deleted file mode 100644 index 0816051ada..0000000000 --- a/uvim/runtime/syntax/astro.vim +++ /dev/null @@ -1,190 +0,0 @@ -" Vim syntax file. -" Language: Astro -" Author: Wuelner MartĂ­nez -" Maintainer: Wuelner MartĂ­nez -" URL: https://github.com/wuelnerdotexe/vim-astro -" Last Change: 2022 Aug 22 -" Based On: Evan Lecklider's vim-svelte -" Changes: See https://github.com/evanleck/vim-svelte -" Credits: See vim-svelte on github - -" Quit when a (custom) syntax file was already loaded. -if !exists('main_syntax') - if exists('b:current_syntax') - finish - endif - let main_syntax = 'astro' -elseif exists('b:current_syntax') && b:current_syntax == 'astro' - finish -endif - -" Astro syntax variables are initialized. -let g:astro_typescript = get(g:, 'astro_typescript', 'disable') -let g:astro_stylus = get(g:, 'astro_stylus', 'disable') - -let s:cpoptions_save = &cpoptions -set cpoptions&vim - -" Embedded HTML syntax. -runtime! syntax/html.vim - -" htmlTagName: expand HTML tag names to include mixed case and periods. -syntax match htmlTagName contained "\<[a-zA-Z\.]*\>" - -" astroDirectives: add Astro Directives to HTML arguments. -syntax match astroDirectives contained '\<[a-z]\+:[a-z|]*\>' containedin=htmlTag - -unlet b:current_syntax - -if g:astro_typescript == 'enable' - " Embedded TypeScript syntax. - syntax include @astroJavaScript syntax/typescript.vim - - " javaScriptExpression: a javascript expression is used as an arg value. - syntax clear javaScriptExpression - syntax region javaScriptExpression - \ contained start=+&{+ - \ keepend end=+};+ - \ contains=@astroJavaScript,@htmlPreproc - - " javaScript: add TypeScript support to HTML script tag. - syntax clear javaScript - syntax region javaScript - \ start=+]*>+ - \ keepend - \ end=+]*>+me=s-1 - \ contains=htmlScriptTag,@astroJavaScript,@htmlPreproc,htmlCssStyleComment -else - " Embedded JavaScript syntax. - syntax include @astroJavaScript syntax/javascript.vim -endif - -" astroFence: detect the Astro fence. -syntax match astroFence contained +^---$+ - -" astrojavaScript: add TypeScript support to Astro code fence. -syntax region astroJavaScript - \ start=+^---$+ - \ keepend - \ end=+^---$+ - \ contains=htmlTag,@astroJavaScript,@htmlPreproc,htmlCssStyleComment,htmlEndTag,astroFence - \ fold - -unlet b:current_syntax - -if g:astro_typescript == 'enable' - " Embedded TypeScript React (TSX) syntax. - syntax include @astroJavaScriptReact syntax/typescriptreact.vim -else - " Embedded JavaScript React (JSX) syntax. - syntax include @astroJavaScriptReact syntax/javascriptreact.vim -endif - -" astroJavaScriptExpression: add {JSX or TSX} support to Astro expresions. -execute 'syntax region astroJavaScriptExpression start=+{+ keepend end=+}+ ' . - \ 'contains=@astroJavaScriptReact, @htmlPreproc containedin=' . join([ - \ 'htmlArg', 'htmlBold', 'htmlBoldItalic', 'htmlBoldItalicUnderline', - \ 'htmlBoldUnderline', 'htmlBoldUnderlineItalic', 'htmlH1', 'htmlH2', - \ 'htmlH3', 'htmlH4', 'htmlH5', 'htmlH6', 'htmlHead', 'htmlItalic', - \ 'htmlItalicBold', 'htmlItalicBoldUnderline', 'htmlItalicUnderline', - \ 'htmlItalicUnderlineBold', 'htmlLeadingSpace', 'htmlLink', - \ 'htmlStrike', 'htmlString', 'htmlTag', 'htmlTitle', 'htmlUnderline', - \ 'htmlUnderlineBold', 'htmlUnderlineBoldItalic', - \ 'htmlUnderlineItalic', 'htmlUnderlineItalicBold', 'htmlValue' - \ ], ',') - -" cssStyle: add CSS style tags support in TypeScript React. -syntax region cssStyle - \ start=+]*>+ - \ keepend - \ end=+]*>+me=s-1 - \ contains=htmlTag,@htmlCss,htmlCssStyleComment,@htmlPreproc,htmlEndTag - \ containedin=@astroJavaScriptReact - -unlet b:current_syntax - -" Embedded SCSS syntax. -syntax include @astroScss syntax/scss.vim - -" cssStyle: add SCSS style tags support in Astro. -syntax region scssStyle - \ start=/\_[^>]*\(lang\)=\("\|''\)[^\2]*scss[^\2]*\2\_[^>]*>/ - \ keepend - \ end=++me=s-1 - \ contains=@astroScss,astroSurroundingTag - \ fold - -unlet b:current_syntax - -" Embedded SASS syntax. -syntax include @astroSass syntax/sass.vim - -" cssStyle: add SASS style tags support in Astro. -syntax region sassStyle - \ start=/\_[^>]*\(lang\)=\("\|''\)[^\2]*sass[^\2]*\2\_[^>]*>/ - \ keepend - \ end=++me=s-1 - \ contains=@astroSass,astroSurroundingTag - \ fold - -unlet b:current_syntax - -" Embedded LESS syntax. -syntax include @astroLess syntax/less.vim - -" cssStyle: add LESS style tags support in Astro. -syntax region lessStyle - \ start=/\_[^>]*\(lang\)=\("\|''\)[^\2]*less[^\2]*\2\_[^>]*>/ - \ keepend - \ end=++me=s-1 - \ contains=@astroLess,astroSurroundingTag - \ fold - -unlet b:current_syntax - -" Embedded Stylus syntax. -" NOTE: Vim does not provide stylus support by default, but you can install -" this plugin to support it: https://github.com/wavded/vim-stylus -if g:astro_stylus == 'enable' - try - " Embedded Stylus syntax. - syntax include @astroStylus syntax/stylus.vim - - " stylusStyle: add Stylus style tags support in Astro. - syntax region stylusStyle - \ start=/\_[^>]*\(lang\)=\("\|''\)[^\2]*stylus[^\2]*\2\_[^>]*>/ - \ keepend - \ end=++me=s-1 - \ contains=@astroStylus,astroSurroundingTag - \ fold - - unlet b:current_syntax - catch - echomsg "you need install a external plugin for support stylus in .astro files" - endtry -endif - -" astroSurroundingTag: add surround HTML tag to script and style. -syntax region astroSurroundingTag - \ start=+<\(script\|style\)+ - \ end=+>+ - \ contains=htmlTagError,htmlTagN,htmlArg,htmlValue,htmlEvent,htmlString - \ contained - \ fold - -" Define the default highlighting. -" Only used when an item doesn't have highlighting yet. -highlight default link astroDirectives Special -highlight default link astroFence Comment - -let b:current_syntax = 'astro' -if main_syntax == 'astro' - unlet main_syntax -endif - -" Sync from start because of the wacky nesting. -syntax sync fromstart - -let &cpoptions = s:cpoptions_save -unlet s:cpoptions_save -" vim: ts=8 diff --git a/uvim/runtime/syntax/asy.mnv b/uvim/runtime/syntax/asy.mnv new file mode 100644 index 0000000000..5907195f2d --- /dev/null +++ b/uvim/runtime/syntax/asy.mnv @@ -0,0 +1,249 @@ +" MNV syntax file +" Language: Asymptote +" Maintainer: Avid Seeker +" Andy Hammerlindl +" Last Change: 2022 Jan 05 +" 2025 Apr 16 by MNV Project (set 'cpoptions' for line continuation, #17121) + +" Hacked together from Bram Moolenaar's C syntax file, and Claudio Fleiner's +" Java syntax file. + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +" useful C/C++/Java keywords +syn keyword asyStatement break return continue unravel +syn keyword asyConditional if else +syn keyword asyRepeat while for do +syn keyword asyExternal access from import include +syn keyword asyOperator new operator + +" basic asymptote keywords +syn keyword asyConstant VERSION +syn keyword asyConstant true false default infinity inf nan +syn keyword asyConstant null nullframe nullpath nullpen +syn keyword asyConstant intMin intMax realMin realMax +syn keyword asyConstant realEpsilon realDigits +syn keyword asyPathSpec and cycle controls tension atleast curl +syn keyword asyStorageClass static public restricted private explicit +syn keyword asyStructure struct typedef +syn keyword asyType void bool bool3 int real string file +syn keyword asyType pair triple transform guide path pen frame +syn keyword asyType picture + +" module specific keywords +if exists("asy_syn_plain") + syn keyword asyConstant currentpicture currentpen defaultpen + syn keyword asyConstant inch inches cm mm bp pt up down right left + syn keyword asyConstant E NE N NW W SW S SE + syn keyword asyConstant ENE NNE NNW WNW WSW SSW SSE ESE + syn keyword asyConstant I pi twopi + syn keyword asyConstant CCW CW + syn keyword asyConstant undefined sqrtEpsilon Align mantissaBits + syn keyword asyConstant identity zeroTransform invert + syn keyword asyConstant stdin stdout + syn keyword asyConstant unitsquare unitcircle circleprecision + syn keyword asyConstant solid dotted Dotted dashed dashdotted + syn keyword asyConstant longdashed longdashdotted + syn keyword asyConstant squarecap roundcap extendcap + syn keyword asyConstant miterjoin roundjoin beveljoin + syn keyword asyConstant zerowinding evenodd basealign nobasealign + syn keyword asyConstant black white gray red green blue Cyan Magenta + syn keyword asyConstant Yellow Black cyan magenta yellow palered + syn keyword asyConstant palegreen paleblue palecyan palemagenta + syn keyword asyConstant paleyellow palegray lightred lightgreen + syn keyword asyConstant lightblue lightcyan lightmagenta lightyellow + syn keyword asyConstant lightgray mediumred mediumgreen mediumblue + syn keyword asyConstant mediumcyan mediummagenta mediumyellow + syn keyword asyConstant mediumgray heavyred heavygreen heavyblue + syn keyword asyConstant heavycyan heavymagenta lightolive heavygray + syn keyword asyConstant deepred deepgreen deepblue deepcyan + syn keyword asyConstant deepmagenta deepyellow deepgray darkred + syn keyword asyConstant darkgreen darkblue darkcyan darkmagenta + syn keyword asyConstant darkolive darkgray orange fuchsia chartreuse + syn keyword asyConstant springgreen purple royalblue salmon brown + syn keyword asyConstant olive darkbrown pink palegrey lightgrey + syn keyword asyConstant mediumgrey grey heavygrey deepgrey darkgrey + + if exists("asy_syn_texcolors") + syn keyword asyConstant GreenYellow Yellow Goldenrod Dandelion + syn keyword asyConstant Apricot Peach Melon YellowOrange Orange + syn keyword asyConstant BurntOrange Bittersweet RedOrange Mahogany + syn keyword asyConstant Maroon BrickRed Red OrangeRed RubineRed + syn keyword asyConstant WildStrawberry Salmon CarnationPink Magenta + syn keyword asyConstant VioletRed Rhodamine Mulberry RedViolet + syn keyword asyConstant Fuchsia Lavender Thistle Orchid DarkOrchid + syn keyword asyConstant Purple Plum Violet RoyalPurple BlueViolet + syn keyword asyConstant Periwinkle CadetBlue CornflowerBlue + syn keyword asyConstant MidnightBlue NavyBlue RoyalBlue Blue + syn keyword asyConstant Cerulean Cyan ProcessBlue SkyBlue Turquoise + syn keyword asyConstant TealBlue Aquamarine BlueGreen Emerald + syn keyword asyConstant JungleGreen SeaGreen Green ForestGreen + syn keyword asyConstant PineGreen LimeGreen YellowGreen SpringGreen + syn keyword asyConstant OliveGreen RawSienna Sepia Brown Tan Gray + syn keyword asyConstant Black White + endif + + if exists("asy_syn_x11colors") + syn keyword asyConstant AliceBlue AntiqueWhite Aqua Aquamarine Azure + syn keyword asyConstant Beige Bisque Black BlanchedAlmond Blue + syn keyword asyConstant BlueViolet Brown BurlyWood CadetBlue + syn keyword asyConstant Chartreuse Chocolate Coral CornflowerBlue + syn keyword asyConstant Cornsilk Crimson Cyan DarkBlue DarkCyan + syn keyword asyConstant DarkGoldenrod DarkGray DarkGreen DarkKhaki + syn keyword asyConstant DarkMagenta DarkOliveGreen DarkOrange + syn keyword asyConstant DarkOrchid DarkRed DarkSalmon DarkSeaGreen + syn keyword asyConstant DarkSlateBlue DarkSlateGray DarkTurquoise + syn keyword asyConstant DarkViolet DeepPink DeepSkyBlue DimGray + syn keyword asyConstant DodgerBlue FireBrick FloralWhite ForestGreen + syn keyword asyConstant Fuchsia Gainsboro GhostWhite Gold Goldenrod + syn keyword asyConstant Gray Green GreenYellow Honeydew HotPink + syn keyword asyConstant IndianRed Indigo Ivory Khaki Lavender + syn keyword asyConstant LavenderBlush LawnGreen LemonChiffon + syn keyword asyConstant LightBlue LightCoral LightCyan + syn keyword asyConstant LightGoldenrodYellow LightGreen LightGrey + syn keyword asyConstant LightPink LightSalmon LightSeaGreen + syn keyword asyConstant LightSkyBlue LightSlateGray LightSteelBlue + syn keyword asyConstant LightYellow Lime LimeGreen Linen Magenta + syn keyword asyConstant Maroon MediumAquamarine MediumBlue + syn keyword asyConstant MediumOrchid MediumPurple MediumSeaGreen + syn keyword asyConstant MediumSlateBlue MediumSpringGreen + syn keyword asyConstant MediumTurquoise MediumVioletRed MidnightBlue + syn keyword asyConstant MintCream MistyRose Moccasin NavajoWhite + syn keyword asyConstant Navy OldLace Olive OliveDrab Orange + syn keyword asyConstant OrangeRed Orchid PaleGoldenrod PaleGreen + syn keyword asyConstant PaleTurquoise PaleVioletRed PapayaWhip + syn keyword asyConstant PeachPuff Peru Pink Plum PowderBlue Purple + syn keyword asyConstant Red RosyBrown RoyalBlue SaddleBrown Salmon + syn keyword asyConstant SandyBrown SeaGreen Seashell Sienna Silver + syn keyword asyConstant SkyBlue SlateBlue SlateGray Snow SpringGreen + syn keyword asyConstant SteelBlue Tan Teal Thistle Tomato Turquoise + syn keyword asyConstant Violet Wheat White WhiteSmoke Yellow + syn keyword asyConstant YellowGreen + endif + + if exists("asy_syn_three") + syn keyword asyType path3 guide3 transform3 + syn keyword asyType projection light material patch surface tube + syn keyword asyConstant currentprojection currentlight defaultrender + syn keyword asyConstant identity4 O X Y Z + syn keyword asyConstant nolight nullpens + syn keyword asyConstant unitsphere unithemisphere unitplane octant1 + syn keyword asyConstant unitcone unitsolidcone unitcube unitcylinder + syn keyword asyConstant unitdisk unittube + endif +endif + + +" string constants +syn region asyCString start=+'+ end=+'+ skip=+\\\\\|\\'+ contains=asyCSpecial +syn match asyCSpecial display contained +\\\(['"?\\abfnrtv]\|\o\{1,3}\)+ +syn match asyCSpecial display contained +\\\(x[0-9A-F]\{1,2\}\|$\)+ +" double quoted strings only special character is \" +syn region asyString start=+"+ end=+"+ skip=+\\\\\|\\"+ contains=asySpecial +syn match asySpecial display contained +\(\\\)\@1 -" Andy Hammerlindl -" Last Change: 2022 Jan 05 -" 2025 Apr 16 by Vim Project (set 'cpoptions' for line continuation, #17121) - -" Hacked together from Bram Moolenaar's C syntax file, and Claudio Fleiner's -" Java syntax file. - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -" useful C/C++/Java keywords -syn keyword asyStatement break return continue unravel -syn keyword asyConditional if else -syn keyword asyRepeat while for do -syn keyword asyExternal access from import include -syn keyword asyOperator new operator - -" basic asymptote keywords -syn keyword asyConstant VERSION -syn keyword asyConstant true false default infinity inf nan -syn keyword asyConstant null nullframe nullpath nullpen -syn keyword asyConstant intMin intMax realMin realMax -syn keyword asyConstant realEpsilon realDigits -syn keyword asyPathSpec and cycle controls tension atleast curl -syn keyword asyStorageClass static public restricted private explicit -syn keyword asyStructure struct typedef -syn keyword asyType void bool bool3 int real string file -syn keyword asyType pair triple transform guide path pen frame -syn keyword asyType picture - -" module specific keywords -if exists("asy_syn_plain") - syn keyword asyConstant currentpicture currentpen defaultpen - syn keyword asyConstant inch inches cm mm bp pt up down right left - syn keyword asyConstant E NE N NW W SW S SE - syn keyword asyConstant ENE NNE NNW WNW WSW SSW SSE ESE - syn keyword asyConstant I pi twopi - syn keyword asyConstant CCW CW - syn keyword asyConstant undefined sqrtEpsilon Align mantissaBits - syn keyword asyConstant identity zeroTransform invert - syn keyword asyConstant stdin stdout - syn keyword asyConstant unitsquare unitcircle circleprecision - syn keyword asyConstant solid dotted Dotted dashed dashdotted - syn keyword asyConstant longdashed longdashdotted - syn keyword asyConstant squarecap roundcap extendcap - syn keyword asyConstant miterjoin roundjoin beveljoin - syn keyword asyConstant zerowinding evenodd basealign nobasealign - syn keyword asyConstant black white gray red green blue Cyan Magenta - syn keyword asyConstant Yellow Black cyan magenta yellow palered - syn keyword asyConstant palegreen paleblue palecyan palemagenta - syn keyword asyConstant paleyellow palegray lightred lightgreen - syn keyword asyConstant lightblue lightcyan lightmagenta lightyellow - syn keyword asyConstant lightgray mediumred mediumgreen mediumblue - syn keyword asyConstant mediumcyan mediummagenta mediumyellow - syn keyword asyConstant mediumgray heavyred heavygreen heavyblue - syn keyword asyConstant heavycyan heavymagenta lightolive heavygray - syn keyword asyConstant deepred deepgreen deepblue deepcyan - syn keyword asyConstant deepmagenta deepyellow deepgray darkred - syn keyword asyConstant darkgreen darkblue darkcyan darkmagenta - syn keyword asyConstant darkolive darkgray orange fuchsia chartreuse - syn keyword asyConstant springgreen purple royalblue salmon brown - syn keyword asyConstant olive darkbrown pink palegrey lightgrey - syn keyword asyConstant mediumgrey grey heavygrey deepgrey darkgrey - - if exists("asy_syn_texcolors") - syn keyword asyConstant GreenYellow Yellow Goldenrod Dandelion - syn keyword asyConstant Apricot Peach Melon YellowOrange Orange - syn keyword asyConstant BurntOrange Bittersweet RedOrange Mahogany - syn keyword asyConstant Maroon BrickRed Red OrangeRed RubineRed - syn keyword asyConstant WildStrawberry Salmon CarnationPink Magenta - syn keyword asyConstant VioletRed Rhodamine Mulberry RedViolet - syn keyword asyConstant Fuchsia Lavender Thistle Orchid DarkOrchid - syn keyword asyConstant Purple Plum Violet RoyalPurple BlueViolet - syn keyword asyConstant Periwinkle CadetBlue CornflowerBlue - syn keyword asyConstant MidnightBlue NavyBlue RoyalBlue Blue - syn keyword asyConstant Cerulean Cyan ProcessBlue SkyBlue Turquoise - syn keyword asyConstant TealBlue Aquamarine BlueGreen Emerald - syn keyword asyConstant JungleGreen SeaGreen Green ForestGreen - syn keyword asyConstant PineGreen LimeGreen YellowGreen SpringGreen - syn keyword asyConstant OliveGreen RawSienna Sepia Brown Tan Gray - syn keyword asyConstant Black White - endif - - if exists("asy_syn_x11colors") - syn keyword asyConstant AliceBlue AntiqueWhite Aqua Aquamarine Azure - syn keyword asyConstant Beige Bisque Black BlanchedAlmond Blue - syn keyword asyConstant BlueViolet Brown BurlyWood CadetBlue - syn keyword asyConstant Chartreuse Chocolate Coral CornflowerBlue - syn keyword asyConstant Cornsilk Crimson Cyan DarkBlue DarkCyan - syn keyword asyConstant DarkGoldenrod DarkGray DarkGreen DarkKhaki - syn keyword asyConstant DarkMagenta DarkOliveGreen DarkOrange - syn keyword asyConstant DarkOrchid DarkRed DarkSalmon DarkSeaGreen - syn keyword asyConstant DarkSlateBlue DarkSlateGray DarkTurquoise - syn keyword asyConstant DarkViolet DeepPink DeepSkyBlue DimGray - syn keyword asyConstant DodgerBlue FireBrick FloralWhite ForestGreen - syn keyword asyConstant Fuchsia Gainsboro GhostWhite Gold Goldenrod - syn keyword asyConstant Gray Green GreenYellow Honeydew HotPink - syn keyword asyConstant IndianRed Indigo Ivory Khaki Lavender - syn keyword asyConstant LavenderBlush LawnGreen LemonChiffon - syn keyword asyConstant LightBlue LightCoral LightCyan - syn keyword asyConstant LightGoldenrodYellow LightGreen LightGrey - syn keyword asyConstant LightPink LightSalmon LightSeaGreen - syn keyword asyConstant LightSkyBlue LightSlateGray LightSteelBlue - syn keyword asyConstant LightYellow Lime LimeGreen Linen Magenta - syn keyword asyConstant Maroon MediumAquamarine MediumBlue - syn keyword asyConstant MediumOrchid MediumPurple MediumSeaGreen - syn keyword asyConstant MediumSlateBlue MediumSpringGreen - syn keyword asyConstant MediumTurquoise MediumVioletRed MidnightBlue - syn keyword asyConstant MintCream MistyRose Moccasin NavajoWhite - syn keyword asyConstant Navy OldLace Olive OliveDrab Orange - syn keyword asyConstant OrangeRed Orchid PaleGoldenrod PaleGreen - syn keyword asyConstant PaleTurquoise PaleVioletRed PapayaWhip - syn keyword asyConstant PeachPuff Peru Pink Plum PowderBlue Purple - syn keyword asyConstant Red RosyBrown RoyalBlue SaddleBrown Salmon - syn keyword asyConstant SandyBrown SeaGreen Seashell Sienna Silver - syn keyword asyConstant SkyBlue SlateBlue SlateGray Snow SpringGreen - syn keyword asyConstant SteelBlue Tan Teal Thistle Tomato Turquoise - syn keyword asyConstant Violet Wheat White WhiteSmoke Yellow - syn keyword asyConstant YellowGreen - endif - - if exists("asy_syn_three") - syn keyword asyType path3 guide3 transform3 - syn keyword asyType projection light material patch surface tube - syn keyword asyConstant currentprojection currentlight defaultrender - syn keyword asyConstant identity4 O X Y Z - syn keyword asyConstant nolight nullpens - syn keyword asyConstant unitsphere unithemisphere unitplane octant1 - syn keyword asyConstant unitcone unitsolidcone unitcube unitcylinder - syn keyword asyConstant unitdisk unittube - endif -endif - - -" string constants -syn region asyCString start=+'+ end=+'+ skip=+\\\\\|\\'+ contains=asyCSpecial -syn match asyCSpecial display contained +\\\(['"?\\abfnrtv]\|\o\{1,3}\)+ -syn match asyCSpecial display contained +\\\(x[0-9A-F]\{1,2\}\|$\)+ -" double quoted strings only special character is \" -syn region asyString start=+"+ end=+"+ skip=+\\\\\|\\"+ contains=asySpecial -syn match asySpecial display contained +\(\\\)\@1 +" Last Change: 2001 May 09 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn case ignore + +syn keyword atlasStatement begin terminate +syn keyword atlasStatement fill calculate compare +syn keyword atlasStatement setup connect close open disconnect reset +syn keyword atlasStatement initiate read fetch +syn keyword atlasStatement apply measure verify remove +syn keyword atlasStatement perform leave finish output delay +syn keyword atlasStatement prepare execute +syn keyword atlasStatement do +syn match atlasStatement "\" +syn match atlasStatement "\" + +syn keyword atlasInclude include +syn keyword atlasDefine define require declare identify + +"syn keyword atlasReserved true false go nogo hi lo via +syn keyword atlasReserved true false + +syn keyword atlasStorageClass external global + +syn keyword atlasConditional if then else end +syn keyword atlasRepeat while for thru + +" Flags BEF and statement number +syn match atlasSpecial "^[BE ][ 0-9]\{,6}\>" + +" Number formats +syn match atlasHexNumber "\" +"Floating point number part only +syn match atlasDecimalNumber "\.\d\+\([eE][-+]\=\d\)\=\>" + +syn region atlasFormatString start=+((+ end=+\())\)\|\()[ ]*\$\)+me=e-1 +syn region atlasString start=+\ -" Last Change: 2001 May 09 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn case ignore - -syn keyword atlasStatement begin terminate -syn keyword atlasStatement fill calculate compare -syn keyword atlasStatement setup connect close open disconnect reset -syn keyword atlasStatement initiate read fetch -syn keyword atlasStatement apply measure verify remove -syn keyword atlasStatement perform leave finish output delay -syn keyword atlasStatement prepare execute -syn keyword atlasStatement do -syn match atlasStatement "\" -syn match atlasStatement "\" - -syn keyword atlasInclude include -syn keyword atlasDefine define require declare identify - -"syn keyword atlasReserved true false go nogo hi lo via -syn keyword atlasReserved true false - -syn keyword atlasStorageClass external global - -syn keyword atlasConditional if then else end -syn keyword atlasRepeat while for thru - -" Flags BEF and statement number -syn match atlasSpecial "^[BE ][ 0-9]\{,6}\>" - -" Number formats -syn match atlasHexNumber "\" -"Floating point number part only -syn match atlasDecimalNumber "\.\d\+\([eE][-+]\=\d\)\=\>" - -syn region atlasFormatString start=+((+ end=+\())\)\|\()[ ]*\$\)+me=e-1 -syn region atlasString start=+\ +" Last Change: 2018 Jan 23 +" Version: 2.9 +" Remark: Included by pike.mnv, cmod.mnv and optionally c.mnv +" Remark: In order to make c.mnv use it, set: c_autodoc + +" Quit when a (custom) syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn case match + +" A bunch of useful autodoc keywords +syn keyword autodocStatement contained appears belongs global +syn keyword autodocStatement contained decl directive inherit +syn keyword autodocStatement contained deprecated obsolete bugs +syn keyword autodocStatement contained copyright example fixme note param returns +syn keyword autodocStatement contained seealso thanks throws constant +syn keyword autodocStatement contained member index elem +syn keyword autodocStatement contained value type item + +syn keyword autodocRegion contained enum mapping code multiset array +syn keyword autodocRegion contained int string section mixed ol ul dl +syn keyword autodocRegion contained class module namespace +syn keyword autodocRegion contained endenum endmapping endcode endmultiset +syn keyword autodocRegion contained endarray endint endstring endsection +syn keyword autodocRegion contained endmixed endol endul enddl +syn keyword autodocRegion contained endclass endmodule endnamespace + +syn keyword autodocIgnore contained ignore endignore + +syn keyword autodocStatAcc contained b i u tt url pre sub sup +syn keyword autodocStatAcc contained ref rfc xml dl expr image + +syn keyword autodocTodo contained TODO FIXME XXX + +syn match autodocLineStart display "\(//\|/\?\*\)\@2<=!" +syn match autodocWords "[^!@{}[\]]\+" display contains=@Spell + +syn match autodocLink "@\[[^[\]]\+]"hs=s+2,he=e-1 display contains=autodocLead +syn match autodocAtStmt "@[a-z]\+\%(\s\|$\)\@="hs=s+1 display contains=autodocStatement,autodocIgnore,autodocLead,autodocRegion + +" Due to limitations of the matching algorithm, we cannot highlight +" nested autodocNStmtAcc structures correctly +syn region autodocNStmtAcc start="@[a-z]\+{" end="@}" contains=autodocStatAcc,autodocLead keepend + +syn match autodocUrl contained display ".\+" +syn region autodocAtUrlAcc start="{"ms=s+1 end="@}"he=e-1,me=e-2 contained display contains=autodocUrl,autodocLead keepend +syn region autodocNUrlAcc start="@url{" end="@}" contains=autodocStatAcc,autodocAtUrlAcc,autodocLead transparent + +syn match autodocSpecial "@@" display +syn match autodocLead "@" display contained + +"when wanted, highlight trailing white space +if exists("c_space_errors") + if !exists("c_no_trail_space_error") + syn match autodocSpaceError display excludenl "\s\+$" + endif + if !exists("c_no_tab_space_error") + syn match autodocSpaceError display " \+\t"me=e-1 + endif +endif + +if exists("c_minlines") + let b:c_minlines = c_minlines +else + if !exists("c_no_if0") + let b:c_minlines = 50 " #if 0 constructs can be long + else + let b:c_minlines = 15 " mostly for () constructs + endif +endif +exec "syn sync ccomment autodocComment minlines=" . b:c_minlines + +" Define the default highlighting. +" Only used when an item doesn't have highlighting yet +hi def link autodocStatement Statement +hi def link autodocStatAcc Statement +hi def link autodocRegion Structure +hi def link autodocAtStmt Error +hi def link autodocNStmtAcc Identifier +hi def link autodocLink Type +hi def link autodocTodo Todo +hi def link autodocSpaceError Error +hi def link autodocLineStart SpecialComment +hi def link autodocSpecial SpecialChar +hi def link autodocUrl Underlined +hi def link autodocLead Statement +hi def link autodocIgnore Delimiter + +let b:current_syntax = "autodoc" + +let &cpo = s:cpo_save +unlet s:cpo_save +" mnv: ts=8 diff --git a/uvim/runtime/syntax/autodoc.vim b/uvim/runtime/syntax/autodoc.vim deleted file mode 100644 index 67a627e46c..0000000000 --- a/uvim/runtime/syntax/autodoc.vim +++ /dev/null @@ -1,101 +0,0 @@ -" Vim syntax file -" Language: Autodoc -" Maintainer: Stephen R. van den Berg -" Last Change: 2018 Jan 23 -" Version: 2.9 -" Remark: Included by pike.vim, cmod.vim and optionally c.vim -" Remark: In order to make c.vim use it, set: c_autodoc - -" Quit when a (custom) syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn case match - -" A bunch of useful autodoc keywords -syn keyword autodocStatement contained appears belongs global -syn keyword autodocStatement contained decl directive inherit -syn keyword autodocStatement contained deprecated obsolete bugs -syn keyword autodocStatement contained copyright example fixme note param returns -syn keyword autodocStatement contained seealso thanks throws constant -syn keyword autodocStatement contained member index elem -syn keyword autodocStatement contained value type item - -syn keyword autodocRegion contained enum mapping code multiset array -syn keyword autodocRegion contained int string section mixed ol ul dl -syn keyword autodocRegion contained class module namespace -syn keyword autodocRegion contained endenum endmapping endcode endmultiset -syn keyword autodocRegion contained endarray endint endstring endsection -syn keyword autodocRegion contained endmixed endol endul enddl -syn keyword autodocRegion contained endclass endmodule endnamespace - -syn keyword autodocIgnore contained ignore endignore - -syn keyword autodocStatAcc contained b i u tt url pre sub sup -syn keyword autodocStatAcc contained ref rfc xml dl expr image - -syn keyword autodocTodo contained TODO FIXME XXX - -syn match autodocLineStart display "\(//\|/\?\*\)\@2<=!" -syn match autodocWords "[^!@{}[\]]\+" display contains=@Spell - -syn match autodocLink "@\[[^[\]]\+]"hs=s+2,he=e-1 display contains=autodocLead -syn match autodocAtStmt "@[a-z]\+\%(\s\|$\)\@="hs=s+1 display contains=autodocStatement,autodocIgnore,autodocLead,autodocRegion - -" Due to limitations of the matching algorithm, we cannot highlight -" nested autodocNStmtAcc structures correctly -syn region autodocNStmtAcc start="@[a-z]\+{" end="@}" contains=autodocStatAcc,autodocLead keepend - -syn match autodocUrl contained display ".\+" -syn region autodocAtUrlAcc start="{"ms=s+1 end="@}"he=e-1,me=e-2 contained display contains=autodocUrl,autodocLead keepend -syn region autodocNUrlAcc start="@url{" end="@}" contains=autodocStatAcc,autodocAtUrlAcc,autodocLead transparent - -syn match autodocSpecial "@@" display -syn match autodocLead "@" display contained - -"when wanted, highlight trailing white space -if exists("c_space_errors") - if !exists("c_no_trail_space_error") - syn match autodocSpaceError display excludenl "\s\+$" - endif - if !exists("c_no_tab_space_error") - syn match autodocSpaceError display " \+\t"me=e-1 - endif -endif - -if exists("c_minlines") - let b:c_minlines = c_minlines -else - if !exists("c_no_if0") - let b:c_minlines = 50 " #if 0 constructs can be long - else - let b:c_minlines = 15 " mostly for () constructs - endif -endif -exec "syn sync ccomment autodocComment minlines=" . b:c_minlines - -" Define the default highlighting. -" Only used when an item doesn't have highlighting yet -hi def link autodocStatement Statement -hi def link autodocStatAcc Statement -hi def link autodocRegion Structure -hi def link autodocAtStmt Error -hi def link autodocNStmtAcc Identifier -hi def link autodocLink Type -hi def link autodocTodo Todo -hi def link autodocSpaceError Error -hi def link autodocLineStart SpecialComment -hi def link autodocSpecial SpecialChar -hi def link autodocUrl Underlined -hi def link autodocLead Statement -hi def link autodocIgnore Delimiter - -let b:current_syntax = "autodoc" - -let &cpo = s:cpo_save -unlet s:cpo_save -" vim: ts=8 diff --git a/uvim/runtime/syntax/autohotkey.mnv b/uvim/runtime/syntax/autohotkey.mnv new file mode 100644 index 0000000000..2f4bf2f05e --- /dev/null +++ b/uvim/runtime/syntax/autohotkey.mnv @@ -0,0 +1,325 @@ +" MNV syntax file +" Language: AutoHotkey script file +" Maintainer: Michael Wong +" https://github.com/mmikeww/autohotkey.mnv +" Latest Revision: 2022-07-25 +" Previous Maintainers: SungHyun Nam +" Nikolai Weibull + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn case ignore + +syn keyword autohotkeyTodo + \ contained + \ TODO FIXME XXX NOTE + +" only these chars are valid as escape sequences: ,%`;nrbtvaf +" https://autohotkey.com/docs/commands/_EscapeChar.htm +syn match autohotkeyEscape + \ display + \ '`[,%`;nrbtvaf]' + +syn region autohotkeyString + \ display + \ oneline + \ matchgroup=autohotkeyStringDelimiter + \ start=+"+ + \ end=+"+ + \ contains=autohotkeyEscape,autohotkeyMatchClass + +syn match autohotkeyVariable + \ display + \ oneline + \ contains=autohotkeyBuiltinVariable + \ keepend + \ '%\S\{-}%' + +syn keyword autohotkeyBuiltinVariable + \ A_Space A_Tab + \ A_WorkingDir A_ScriptDir A_ScriptName A_ScriptFullPath A_ScriptHwnd A_LineNumber + \ A_LineFile A_ThisFunc A_ThisLabel A_AhkVersion A_AhkPath A_IsUnicode A_IsCompiled A_ExitReason + \ A_YYYY A_MM A_DD A_MMMM A_MMM A_DDDD A_DDD A_WDay A_YDay A_YWeek A_Hour A_Min + \ A_Mon A_Year A_MDay A_NumBatchLines + \ A_Sec A_MSec A_Now A_NowUTC A_TickCount + \ A_IsSuspended A_IsPaused A_IsCritical A_BatchLines A_TitleMatchMode A_TitleMatchModeSpeed + \ A_DetectHiddenWindows A_DetectHiddenText A_AutoTrim A_StringCaseSense + \ A_FileEncoding A_FormatInteger A_FormatFloat A_WinDelay A_ControlDelay + \ A_SendMode A_SendLevel A_StoreCapsLockMode A_KeyDelay A_KeyDuration + \ A_KeyDelayPlay A_KeyDurationPlay A_MouseDelayPlay + \ A_MouseDelay A_DefaultMouseSpeed A_RegView A_IconHidden A_IconTip A_IconFile + \ A_CoordModeToolTip A_CoordModePixel A_CoordModeMouse A_CoordModeCaret A_CoordModeMenu + \ A_IconNumber + \ A_TimeIdle A_TimeIdlePhysical A_DefaultGui A_DefaultListView A_DefaultTreeView + \ A_Gui A_GuiControl A_GuiWidth A_GuiHeight A_GuiX A_GuiY A_GuiEvent + \ A_GuiControlEvent A_EventInfo + \ A_ThisMenuItem A_ThisMenu A_ThisMenuItemPos A_ThisHotkey A_PriorHotkey + \ A_PriorKey A_TimeSinceThisHotkey A_TimeSincePriorHotkey A_EndChar + \ ComSpec A_Temp A_OSType A_OSVersion A_Language A_ComputerName A_UserName + \ A_Is64BitOS A_PtrSize + \ A_WinDir A_ProgramFiles ProgramFiles A_AppData A_AppDataCommon A_Desktop + \ A_DesktopCommon A_StartMenu A_StartMenuCommon A_Programs + \ A_ProgramsCommon A_Startup A_StartupCommon A_MyDocuments A_IsAdmin + \ A_ScreenWidth A_ScreenHeight A_ScreenDPI A_IPAddress1 A_IPAddress2 A_IPAddress3 + \ A_IPAddress4 + \ A_Cursor A_CaretX A_CaretY Clipboard ClipboardAll ErrorLevel A_LastError + \ A_Index A_LoopFileName A_LoopRegName A_LoopReadLine A_LoopField + \ A_LoopFileExt A_LoopFileFullPath A_LoopFileLongPath A_LoopFileShortPath + \ A_LoopFileShortName A_LoopFileDir A_LoopFileTimeModified A_LoopFileTimeCreated + \ A_LoopFileTimeAccessed A_LoopFileAttrib A_LoopFileSize A_LoopFileSizeKB A_LoopFileSizeMB + \ A_LoopRegType A_LoopRegKey A_LoopRegSubKey A_LoopRegTimeModified + \ A_TimeIdleKeyboard A_TimeIdleMouse A_ListLines A_ComSpec A_LoopFilePath A_Args + +syn match autohotkeyBuiltinVariable + \ contained + \ display + \ '%\d\+%' + +syn keyword autohotkeyCommand + \ ClipWait EnvGet EnvSet EnvUpdate + \ Drive DriveGet DriveSpaceFree FileAppend FileCopy FileCopyDir + \ FileCreateDir FileCreateShortcut FileDelete FileGetAttrib FileEncoding + \ FileGetShortcut FileGetSize FileGetTime FileGetVersion FileInstall + \ FileMove FileMoveDir FileReadLine FileRead FileRecycle FileRecycleEmpty + \ FileRemoveDir FileSelectFolder FileSelectFile FileSetAttrib FileSetTime + \ IniDelete IniRead IniWrite SetWorkingDir + \ SplitPath + \ Gui GuiControl GuiControlGet IfMsgBox InputBox MsgBox Progress + \ SplashImage SplashTextOn SplashTextOff ToolTip TrayTip + \ Hotkey ListHotkeys BlockInput ControlSend ControlSendRaw GetKeyState + \ KeyHistory KeyWait Input Send SendRaw SendInput SendPlay SendEvent + \ SendMode SetKeyDelay SetNumScrollCapsLockState SetStoreCapslockMode + \ EnvAdd EnvDiv EnvMult EnvSub Random SetFormat Transform + \ AutoTrim BlockInput CoordMode Critical Edit ImageSearch + \ ListLines ListVars Menu OutputDebug PixelGetColor PixelSearch + \ SetBatchLines SetEnv SetTimer SysGet Thread Transform URLDownloadToFile + \ Click ControlClick MouseClick MouseClickDrag MouseGetPos MouseMove + \ SetDefaultMouseSpeed SetMouseDelay + \ Process Run RunWait RunAs Shutdown Sleep + \ RegDelete RegRead RegWrite + \ SoundBeep SoundGet SoundGetWaveVolume SoundPlay SoundSet + \ SoundSetWaveVolume + \ FormatTime IfInString IfNotInString Sort StringCaseSense StringGetPos + \ StringLeft StringRight StringLower StringUpper StringMid StringReplace + \ StringSplit StringTrimLeft StringTrimRight StringLen + \ StrSplit StrReplace Throw + \ Control ControlClick ControlFocus ControlGet ControlGetFocus + \ ControlGetPos ControlGetText ControlMove ControlSend ControlSendRaw + \ ControlSetText Menu PostMessage SendMessage SetControlDelay + \ WinMenuSelectItem GroupActivate GroupAdd GroupClose GroupDeactivate + \ DetectHiddenText DetectHiddenWindows SetTitleMatchMode SetWinDelay + \ StatusBarGetText StatusBarWait WinActivate WinActivateBottom WinClose + \ WinGet WinGetActiveStats WinGetActiveTitle WinGetClass WinGetPos + \ WinGetText WinGetTitle WinHide WinKill WinMaximize WinMinimize + \ WinMinimizeAll WinMinimizeAllUndo WinMove WinRestore WinSet + \ WinSetTitle WinShow WinWait WinWaitActive WinWaitNotActive WinWaitClose + \ SetCapsLockState SetNumLockState SetScrollLockState + \ Hotstring LoadPicture MenuGetHandle MenuGetName OnError OnClipboardChange + +syn keyword autohotkeyFunction + \ InStr RegExMatch RegExReplace StrLen SubStr Asc Chr Func + \ DllCall VarSetCapacity WinActive WinExist IsLabel OnMessage + \ Abs Ceil Exp Floor Log Ln Mod Round Sqrt Sin Cos Tan ASin ACos ATan + \ FileExist GetKeyState NumGet NumPut StrGet StrPut RegisterCallback + \ IsFunc Trim LTrim RTrim IsObject Object Array FileOpen + \ ComObjActive ComObjArray ComObjConnect ComObjCreate ComObjGet + \ ComObjError ComObjFlags ComObjQuery ComObjType ComObjValue ComObject + \ Format Exception Ord InputHook + +syn keyword autohotkeyStatement + \ Break Continue Exit ExitApp Gosub Goto OnExit Pause Return + \ Suspend Reload new class extends + +syn keyword autohotkeyRepeat + \ Loop + +syn keyword autohotkeyConditional + \ IfExist IfNotExist If IfEqual IfLess IfGreater Else + \ IfWinExist IfWinNotExist IfWinActive IfWinNotActive + \ IfNotEqual IfLessOrEqual IfGreaterOrEqual + \ while until for in try catch finally not + \ switch case default + +syn match autohotkeyPreProcStart + \ nextgroup= + \ autohotkeyInclude, + \ autohotkeyPreProc + \ skipwhite + \ display + \ '^\s*\zs#' + +syn keyword autohotkeyInclude + \ contained + \ Include + \ IncludeAgain + +syn keyword autohotkeyPreProc + \ contained + \ HotkeyInterval HotKeyModifierTimeout + \ Hotstring + \ IfWinActive IfWinNotActive IfWinExist IfWinNotExist + \ If IfTimeout + \ MaxHotkeysPerInterval MaxThreads MaxThreadsBuffer MaxThreadsPerHotkey + \ UseHook InstallKeybdHook InstallMouseHook + \ KeyHistory + \ NoTrayIcon SingleInstance + \ WinActivateForce + \ AllowSameLineComments + \ ClipboardTimeout + \ CommentFlag + \ ErrorStdOut + \ EscapeChar + \ MaxMem + \ NoEnv + \ Persistent + \ LTrim + \ InputLevel + \ MenuMaskKey + \ Warn + +syn keyword autohotkeyMatchClass + \ ahk_group ahk_class ahk_id ahk_pid ahk_exe + +syn match autohotkeyNumbers + \ display + \ transparent + \ contains= + \ autohotkeyInteger, + \ autohotkeyFloat + \ '\<\d\|\.\d' + +syn match autohotkeyInteger + \ contained + \ display + \ '\d\+\>' + +syn match autohotkeyInteger + \ contained + \ display + \ '0x\x\+\>' + +syn match autohotkeyFloat + \ contained + \ display + \ '\d\+\.\d*\|\.\d\+\>' + +syn keyword autohotkeyType + \ local + \ global + \ static + \ byref + +syn keyword autohotkeyBoolean + \ true + \ false + +syn match autohotkeyHotkey + \ contains=autohotkeyKey, + \ autohotkeyHotkeyDelimiter + \ display + \ '^\s*\S*\%( Up\)\?::' + +syn match autohotkeyKey + \ contained + \ display + \ '^.\{-}' + +syn match autohotkeyDelimiter + \ contained + \ display + \ '::' + +" allowable hotstring options: +" https://autohotkey.com/docs/Hotstrings.htm +syn match autohotkeyHotstringDefinition + \ contains=autohotkeyHotstring, + \ autohotkeyHotstringDelimiter + \ display + \ '^\s*:\%([*?]\|[BORZ]0\?\|C[01]\?\|K\d\+\|P\d\+\|S[IPE]\)*:.\{-}::' + +syn match autohotkeyHotstring + \ contained + \ display + \ '.\{-}' + +syn match autohotkeyHotstringDelimiter + \ contained + \ display + \ '::' + +syn match autohotkeyHotstringDelimiter + \ contains=autohotkeyHotstringOptions + \ contained + \ display + \ ':\%([*?]\|[BORZ]0\?\|C[01]\?\|K\d\+\|P\d\+\|S[IPE]\)*:' + +syn match autohotkeyHotstringOptions + \ contained + \ display + \ '\%([*?]\|[BORZ]0\?\|C[01]\?\|K\d\+\|P\d\+\|S[IPE]\)*' + +syn cluster autohotkeyCommentGroup + \ contains= + \ autohotkeyTodo, + \ @Spell + +syn match autohotkeyComment + \ display + \ contains=@autohotkeyCommentGroup + \ '\%(^;\|\s\+;\).*$' + +syn region autohotkeyComment + \ contains=@autohotkeyCommentGroup + \ matchgroup=autohotkeyCommentStart + \ start='^\s*/\*' + \ end='^\s*\*/' + +" TODO: Shouldn't we look for g:, b:, variables before defaulting to +" something? +if exists("g:autohotkey_syntax_sync_minlines") + let b:autohotkey_syntax_sync_minlines = g:autohotkey_syntax_sync_minlines +else + let b:autohotkey_syntax_sync_minlines = 50 +endif +exec "syn sync ccomment autohotkeyComment minlines=" . b:autohotkey_syntax_sync_minlines + +hi def link autohotkeyTodo Todo +hi def link autohotkeyComment Comment +hi def link autohotkeyCommentStart autohotkeyComment +hi def link autohotkeyEscape Special +hi def link autohotkeyHotkey Type +hi def link autohotkeyKey Type +hi def link autohotkeyDelimiter Delimiter +hi def link autohotkeyHotstringDefinition Type +hi def link autohotkeyHotstring Type +hi def link autohotkeyHotstringDelimiter autohotkeyDelimiter +hi def link autohotkeyHotstringOptions Special +hi def link autohotkeyString String +hi def link autohotkeyStringDelimiter autohotkeyString +hi def link autohotkeyVariable Identifier +hi def link autohotkeyVariableDelimiter autohotkeyVariable +hi def link autohotkeyBuiltinVariable Macro +hi def link autohotkeyCommand Keyword +hi def link autohotkeyFunction Function +hi def link autohotkeyStatement autohotkeyCommand +hi def link autohotkeyRepeat Repeat +hi def link autohotkeyConditional Conditional +hi def link autohotkeyPreProcStart PreProc +hi def link autohotkeyInclude Include +hi def link autohotkeyPreProc PreProc +hi def link autohotkeyMatchClass Typedef +hi def link autohotkeyNumber Number +hi def link autohotkeyInteger autohotkeyNumber +hi def link autohotkeyFloat autohotkeyNumber +hi def link autohotkeyType Type +hi def link autohotkeyBoolean Boolean + +let b:current_syntax = "autohotkey" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/autohotkey.vim b/uvim/runtime/syntax/autohotkey.vim deleted file mode 100644 index a888394923..0000000000 --- a/uvim/runtime/syntax/autohotkey.vim +++ /dev/null @@ -1,325 +0,0 @@ -" Vim syntax file -" Language: AutoHotkey script file -" Maintainer: Michael Wong -" https://github.com/mmikeww/autohotkey.vim -" Latest Revision: 2022-07-25 -" Previous Maintainers: SungHyun Nam -" Nikolai Weibull - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn case ignore - -syn keyword autohotkeyTodo - \ contained - \ TODO FIXME XXX NOTE - -" only these chars are valid as escape sequences: ,%`;nrbtvaf -" https://autohotkey.com/docs/commands/_EscapeChar.htm -syn match autohotkeyEscape - \ display - \ '`[,%`;nrbtvaf]' - -syn region autohotkeyString - \ display - \ oneline - \ matchgroup=autohotkeyStringDelimiter - \ start=+"+ - \ end=+"+ - \ contains=autohotkeyEscape,autohotkeyMatchClass - -syn match autohotkeyVariable - \ display - \ oneline - \ contains=autohotkeyBuiltinVariable - \ keepend - \ '%\S\{-}%' - -syn keyword autohotkeyBuiltinVariable - \ A_Space A_Tab - \ A_WorkingDir A_ScriptDir A_ScriptName A_ScriptFullPath A_ScriptHwnd A_LineNumber - \ A_LineFile A_ThisFunc A_ThisLabel A_AhkVersion A_AhkPath A_IsUnicode A_IsCompiled A_ExitReason - \ A_YYYY A_MM A_DD A_MMMM A_MMM A_DDDD A_DDD A_WDay A_YDay A_YWeek A_Hour A_Min - \ A_Mon A_Year A_MDay A_NumBatchLines - \ A_Sec A_MSec A_Now A_NowUTC A_TickCount - \ A_IsSuspended A_IsPaused A_IsCritical A_BatchLines A_TitleMatchMode A_TitleMatchModeSpeed - \ A_DetectHiddenWindows A_DetectHiddenText A_AutoTrim A_StringCaseSense - \ A_FileEncoding A_FormatInteger A_FormatFloat A_WinDelay A_ControlDelay - \ A_SendMode A_SendLevel A_StoreCapsLockMode A_KeyDelay A_KeyDuration - \ A_KeyDelayPlay A_KeyDurationPlay A_MouseDelayPlay - \ A_MouseDelay A_DefaultMouseSpeed A_RegView A_IconHidden A_IconTip A_IconFile - \ A_CoordModeToolTip A_CoordModePixel A_CoordModeMouse A_CoordModeCaret A_CoordModeMenu - \ A_IconNumber - \ A_TimeIdle A_TimeIdlePhysical A_DefaultGui A_DefaultListView A_DefaultTreeView - \ A_Gui A_GuiControl A_GuiWidth A_GuiHeight A_GuiX A_GuiY A_GuiEvent - \ A_GuiControlEvent A_EventInfo - \ A_ThisMenuItem A_ThisMenu A_ThisMenuItemPos A_ThisHotkey A_PriorHotkey - \ A_PriorKey A_TimeSinceThisHotkey A_TimeSincePriorHotkey A_EndChar - \ ComSpec A_Temp A_OSType A_OSVersion A_Language A_ComputerName A_UserName - \ A_Is64BitOS A_PtrSize - \ A_WinDir A_ProgramFiles ProgramFiles A_AppData A_AppDataCommon A_Desktop - \ A_DesktopCommon A_StartMenu A_StartMenuCommon A_Programs - \ A_ProgramsCommon A_Startup A_StartupCommon A_MyDocuments A_IsAdmin - \ A_ScreenWidth A_ScreenHeight A_ScreenDPI A_IPAddress1 A_IPAddress2 A_IPAddress3 - \ A_IPAddress4 - \ A_Cursor A_CaretX A_CaretY Clipboard ClipboardAll ErrorLevel A_LastError - \ A_Index A_LoopFileName A_LoopRegName A_LoopReadLine A_LoopField - \ A_LoopFileExt A_LoopFileFullPath A_LoopFileLongPath A_LoopFileShortPath - \ A_LoopFileShortName A_LoopFileDir A_LoopFileTimeModified A_LoopFileTimeCreated - \ A_LoopFileTimeAccessed A_LoopFileAttrib A_LoopFileSize A_LoopFileSizeKB A_LoopFileSizeMB - \ A_LoopRegType A_LoopRegKey A_LoopRegSubKey A_LoopRegTimeModified - \ A_TimeIdleKeyboard A_TimeIdleMouse A_ListLines A_ComSpec A_LoopFilePath A_Args - -syn match autohotkeyBuiltinVariable - \ contained - \ display - \ '%\d\+%' - -syn keyword autohotkeyCommand - \ ClipWait EnvGet EnvSet EnvUpdate - \ Drive DriveGet DriveSpaceFree FileAppend FileCopy FileCopyDir - \ FileCreateDir FileCreateShortcut FileDelete FileGetAttrib FileEncoding - \ FileGetShortcut FileGetSize FileGetTime FileGetVersion FileInstall - \ FileMove FileMoveDir FileReadLine FileRead FileRecycle FileRecycleEmpty - \ FileRemoveDir FileSelectFolder FileSelectFile FileSetAttrib FileSetTime - \ IniDelete IniRead IniWrite SetWorkingDir - \ SplitPath - \ Gui GuiControl GuiControlGet IfMsgBox InputBox MsgBox Progress - \ SplashImage SplashTextOn SplashTextOff ToolTip TrayTip - \ Hotkey ListHotkeys BlockInput ControlSend ControlSendRaw GetKeyState - \ KeyHistory KeyWait Input Send SendRaw SendInput SendPlay SendEvent - \ SendMode SetKeyDelay SetNumScrollCapsLockState SetStoreCapslockMode - \ EnvAdd EnvDiv EnvMult EnvSub Random SetFormat Transform - \ AutoTrim BlockInput CoordMode Critical Edit ImageSearch - \ ListLines ListVars Menu OutputDebug PixelGetColor PixelSearch - \ SetBatchLines SetEnv SetTimer SysGet Thread Transform URLDownloadToFile - \ Click ControlClick MouseClick MouseClickDrag MouseGetPos MouseMove - \ SetDefaultMouseSpeed SetMouseDelay - \ Process Run RunWait RunAs Shutdown Sleep - \ RegDelete RegRead RegWrite - \ SoundBeep SoundGet SoundGetWaveVolume SoundPlay SoundSet - \ SoundSetWaveVolume - \ FormatTime IfInString IfNotInString Sort StringCaseSense StringGetPos - \ StringLeft StringRight StringLower StringUpper StringMid StringReplace - \ StringSplit StringTrimLeft StringTrimRight StringLen - \ StrSplit StrReplace Throw - \ Control ControlClick ControlFocus ControlGet ControlGetFocus - \ ControlGetPos ControlGetText ControlMove ControlSend ControlSendRaw - \ ControlSetText Menu PostMessage SendMessage SetControlDelay - \ WinMenuSelectItem GroupActivate GroupAdd GroupClose GroupDeactivate - \ DetectHiddenText DetectHiddenWindows SetTitleMatchMode SetWinDelay - \ StatusBarGetText StatusBarWait WinActivate WinActivateBottom WinClose - \ WinGet WinGetActiveStats WinGetActiveTitle WinGetClass WinGetPos - \ WinGetText WinGetTitle WinHide WinKill WinMaximize WinMinimize - \ WinMinimizeAll WinMinimizeAllUndo WinMove WinRestore WinSet - \ WinSetTitle WinShow WinWait WinWaitActive WinWaitNotActive WinWaitClose - \ SetCapsLockState SetNumLockState SetScrollLockState - \ Hotstring LoadPicture MenuGetHandle MenuGetName OnError OnClipboardChange - -syn keyword autohotkeyFunction - \ InStr RegExMatch RegExReplace StrLen SubStr Asc Chr Func - \ DllCall VarSetCapacity WinActive WinExist IsLabel OnMessage - \ Abs Ceil Exp Floor Log Ln Mod Round Sqrt Sin Cos Tan ASin ACos ATan - \ FileExist GetKeyState NumGet NumPut StrGet StrPut RegisterCallback - \ IsFunc Trim LTrim RTrim IsObject Object Array FileOpen - \ ComObjActive ComObjArray ComObjConnect ComObjCreate ComObjGet - \ ComObjError ComObjFlags ComObjQuery ComObjType ComObjValue ComObject - \ Format Exception Ord InputHook - -syn keyword autohotkeyStatement - \ Break Continue Exit ExitApp Gosub Goto OnExit Pause Return - \ Suspend Reload new class extends - -syn keyword autohotkeyRepeat - \ Loop - -syn keyword autohotkeyConditional - \ IfExist IfNotExist If IfEqual IfLess IfGreater Else - \ IfWinExist IfWinNotExist IfWinActive IfWinNotActive - \ IfNotEqual IfLessOrEqual IfGreaterOrEqual - \ while until for in try catch finally not - \ switch case default - -syn match autohotkeyPreProcStart - \ nextgroup= - \ autohotkeyInclude, - \ autohotkeyPreProc - \ skipwhite - \ display - \ '^\s*\zs#' - -syn keyword autohotkeyInclude - \ contained - \ Include - \ IncludeAgain - -syn keyword autohotkeyPreProc - \ contained - \ HotkeyInterval HotKeyModifierTimeout - \ Hotstring - \ IfWinActive IfWinNotActive IfWinExist IfWinNotExist - \ If IfTimeout - \ MaxHotkeysPerInterval MaxThreads MaxThreadsBuffer MaxThreadsPerHotkey - \ UseHook InstallKeybdHook InstallMouseHook - \ KeyHistory - \ NoTrayIcon SingleInstance - \ WinActivateForce - \ AllowSameLineComments - \ ClipboardTimeout - \ CommentFlag - \ ErrorStdOut - \ EscapeChar - \ MaxMem - \ NoEnv - \ Persistent - \ LTrim - \ InputLevel - \ MenuMaskKey - \ Warn - -syn keyword autohotkeyMatchClass - \ ahk_group ahk_class ahk_id ahk_pid ahk_exe - -syn match autohotkeyNumbers - \ display - \ transparent - \ contains= - \ autohotkeyInteger, - \ autohotkeyFloat - \ '\<\d\|\.\d' - -syn match autohotkeyInteger - \ contained - \ display - \ '\d\+\>' - -syn match autohotkeyInteger - \ contained - \ display - \ '0x\x\+\>' - -syn match autohotkeyFloat - \ contained - \ display - \ '\d\+\.\d*\|\.\d\+\>' - -syn keyword autohotkeyType - \ local - \ global - \ static - \ byref - -syn keyword autohotkeyBoolean - \ true - \ false - -syn match autohotkeyHotkey - \ contains=autohotkeyKey, - \ autohotkeyHotkeyDelimiter - \ display - \ '^\s*\S*\%( Up\)\?::' - -syn match autohotkeyKey - \ contained - \ display - \ '^.\{-}' - -syn match autohotkeyDelimiter - \ contained - \ display - \ '::' - -" allowable hotstring options: -" https://autohotkey.com/docs/Hotstrings.htm -syn match autohotkeyHotstringDefinition - \ contains=autohotkeyHotstring, - \ autohotkeyHotstringDelimiter - \ display - \ '^\s*:\%([*?]\|[BORZ]0\?\|C[01]\?\|K\d\+\|P\d\+\|S[IPE]\)*:.\{-}::' - -syn match autohotkeyHotstring - \ contained - \ display - \ '.\{-}' - -syn match autohotkeyHotstringDelimiter - \ contained - \ display - \ '::' - -syn match autohotkeyHotstringDelimiter - \ contains=autohotkeyHotstringOptions - \ contained - \ display - \ ':\%([*?]\|[BORZ]0\?\|C[01]\?\|K\d\+\|P\d\+\|S[IPE]\)*:' - -syn match autohotkeyHotstringOptions - \ contained - \ display - \ '\%([*?]\|[BORZ]0\?\|C[01]\?\|K\d\+\|P\d\+\|S[IPE]\)*' - -syn cluster autohotkeyCommentGroup - \ contains= - \ autohotkeyTodo, - \ @Spell - -syn match autohotkeyComment - \ display - \ contains=@autohotkeyCommentGroup - \ '\%(^;\|\s\+;\).*$' - -syn region autohotkeyComment - \ contains=@autohotkeyCommentGroup - \ matchgroup=autohotkeyCommentStart - \ start='^\s*/\*' - \ end='^\s*\*/' - -" TODO: Shouldn't we look for g:, b:, variables before defaulting to -" something? -if exists("g:autohotkey_syntax_sync_minlines") - let b:autohotkey_syntax_sync_minlines = g:autohotkey_syntax_sync_minlines -else - let b:autohotkey_syntax_sync_minlines = 50 -endif -exec "syn sync ccomment autohotkeyComment minlines=" . b:autohotkey_syntax_sync_minlines - -hi def link autohotkeyTodo Todo -hi def link autohotkeyComment Comment -hi def link autohotkeyCommentStart autohotkeyComment -hi def link autohotkeyEscape Special -hi def link autohotkeyHotkey Type -hi def link autohotkeyKey Type -hi def link autohotkeyDelimiter Delimiter -hi def link autohotkeyHotstringDefinition Type -hi def link autohotkeyHotstring Type -hi def link autohotkeyHotstringDelimiter autohotkeyDelimiter -hi def link autohotkeyHotstringOptions Special -hi def link autohotkeyString String -hi def link autohotkeyStringDelimiter autohotkeyString -hi def link autohotkeyVariable Identifier -hi def link autohotkeyVariableDelimiter autohotkeyVariable -hi def link autohotkeyBuiltinVariable Macro -hi def link autohotkeyCommand Keyword -hi def link autohotkeyFunction Function -hi def link autohotkeyStatement autohotkeyCommand -hi def link autohotkeyRepeat Repeat -hi def link autohotkeyConditional Conditional -hi def link autohotkeyPreProcStart PreProc -hi def link autohotkeyInclude Include -hi def link autohotkeyPreProc PreProc -hi def link autohotkeyMatchClass Typedef -hi def link autohotkeyNumber Number -hi def link autohotkeyInteger autohotkeyNumber -hi def link autohotkeyFloat autohotkeyNumber -hi def link autohotkeyType Type -hi def link autohotkeyBoolean Boolean - -let b:current_syntax = "autohotkey" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/autoit.mnv b/uvim/runtime/syntax/autoit.mnv new file mode 100644 index 0000000000..0f54969c47 --- /dev/null +++ b/uvim/runtime/syntax/autoit.mnv @@ -0,0 +1,1125 @@ +" MNV syntax file +" +" Language: AutoIt v3 (http://www.autoitscript.com/autoit3/) +" Maintainer: Jared Breland +" Authored By: Riccardo Casini +" Script URL: http://www.mnv.org/scripts/script.php?script_id=1239 +" ChangeLog: Please visit the script URL for detailed change information +" Included change from #970. + +" Quit when a syntax file was already loaded. +if exists("b:current_syntax") + finish +endif +let s:keepcpo= &cpo +set cpo&mnv + +let b:current_syntax = "autoit" + +" AutoIt is not case dependent +syn case ignore + +" Definitions for AutoIt reserved keywords +syn keyword autoitKeyword Default False True +syn keyword autoitKeyword Const Dim Global Local ReDim +syn keyword autoitKeyword If Else ElseIf Then EndIf +syn keyword autoitKeyword Select Switch Case EndSelect EndSwitch +syn keyword autoitKeyword Enum For In To Step Next +syn keyword autoitKeyword With While EndWith Wend Do Until +syn keyword autoitKeyword ContinueCase ContinueLoop ExitLoop Exit + +" inside script inclusion and global options +syn match autoitIncluded display contained "<[^>]*>" +syn match autoitInclude display "^\s*#\s*include\>\s*["<]" + \ contains=autoitIncluded,autoitString +syn match autoitInclude "^\s*#include-once\>" +syn match autoitInclude "^\s*#NoTrayIcon\>" +syn match autoitInclude "^\s*#RequireAdmin\>" + +" user-defined functions +syn keyword autoitKeyword Func ByRef EndFunc Return OnAutoItStart OnAutoItExit + +" built-in functions +" environment management +syn keyword autoitFunction ClipGet ClipPut EnvGet EnvSet EnvUpdate MemGetStats +" file, directory, and disk management +syn keyword autoitFunction ConsoleRead ConsoleWrite ConsoleWriteError +syn keyword autoitFunction DirCopy DirCreate DirGetSize DirMove DirRemove +syn keyword autoitFunction DriveGetDrive DriveGetFileSystem DriveGetLabel + \ DriveGetSerial DriveGetType DriveMapAdd DriveMapDel DriveMapGet + \ DriveSetLabel DriveSpaceFree DriveSpaceTotal DriveStatus +syn keyword autoitFunction FileChangeDir FileClose FileCopy FileCreateNTFSLink + \ FileCreateShortcut FileDelete FileExists FileFindFirstFile + \ FileFindNextFile FileGetAttrib FileGetLongName FileGetShortcut + \ FileGetShortName FileGetSize FileGetTime FileGetVersion FileInstall + \ FileMove FileOpen FileOpenDialog FileRead FileReadLine FileRecycle + \ FileRecycleEmpty FileSaveDialog FileSelectFolder FileSetAttrib + \ FileSetTime FileWrite FileWriteLine +syn keyword autoitFunction IniDelete IniRead IniReadSection IniReadSectionNames + \ IniRenameSection IniWrite IniWriteSection +syn keyword autoitFunction StderrRead StdinWrite StdoutRead +" graphic and sound +syn keyword autoitFunction Beep PixelChecksum PixelGetColor PixelSearch + \ SoundPlay SoundSetWaveVolume +" gui reference +syn keyword autoitFunction GUICreate GUIDelete GUICtrlGetHandle GUICtrlGetState + \ GUICtrlRead GUICtrlRecvMsg GUICtrlSendMsg GUICtrlSendToDummy + \ GUIGetCursorInfo GUIGetMsg GUIRegisterMsg GUIStartGroup GUISwitch +syn keyword autoitFunction GUICtrlCreateAvi GUICtrlCreateButton + \ GUICtrlCreateCheckbox GUICtrlCreateCombo GUICtrlCreateContextMenu + \ GUICtrlCreateDate GUICtrlCreateDummy GUICtrlCreateEdit + \ GUICtrlCreateGraphic GUICtrlCreateGroup GUICtrlCreateIcon + \ GUICtrlCreateInput GUICtrlCreateLabel GUICtrlCreateList + \ GUICtrlCreateListView GUICtrlCreateListViewItem GUICtrlCreateMenu + \ GUICtrlCreateMenuItem GUICtrlCreateMonthCal GUICtrlCreateObj + \ GUICtrlCreatePic GUICtrlCreateProgress GUICtrlCreateRadio + \ GUICtrlCreateSlider GUICtrlCreateTab GUICtrlCreateTabItem + \ GUICtrlCreateTreeView GUICtrlCreateTreeViewItem + \ GUICtrlCreateUpDown GUICtrlDelete +syn keyword autoitFunction GUICtrlRegisterListViewSort GUICtrlSetBkColor + \ GUICtrlSetColor GUICtrlSetCursor GUICtrlSetData GUICtrlSetFont + \ GUICtrlSetGraphic GUICtrlSetImage GUICtrlSetLimit GUICtrlSetOnEvent + \ GUICtrlSetPos GUICtrlSetResizing GUICtrlSetState GUICtrlSetStyle + \ GUICtrlSetTip +syn keyword autoitFunction GUISetBkColor GUISetCoord GUISetCursor GUISetFont + \ GUISetHelp GUISetIcon GUISetOnEvent GUISetState +" keyboard control +syn keyword autoitFunction HotKeySet Send +" math +syn keyword autoitFunction Abs ACos ASin ATan BitAND BitNOT BitOR BitRotate + \ BitShift BitXOR Cos Ceiling Exp Floor Log Mod Random Round Sin Sqrt + \ SRandom Tan +" message boxes and dialogs +syn keyword autoitFunction InputBox MsgBox ProgressOff ProgressOn ProgressSet + \ SplashImageOn SplashOff SplashTextOn ToolTip +" miscellaneous +syn keyword autoitFunction AdlibDisable AdlibEnable AutoItSetOption + \ AutoItWinGetTitle AutoItWinSetTitle BlockInput Break Call CDTray + \ Execute Opt SetError SetExtended +" mouse control +syn keyword autoitFunction MouseClick MouseClickDrag MouseDown MouseGetCursor + \ MouseGetPos MouseMove MouseUp MouseWheel +" network +syn keyword autoitFunction FtpSetProxy HttpSetProxy InetGet InetGetSize Ping + \ TCPAccept TCPCloseSocket TCPConnect TCPListen TCPNameToIp TCPRecv + \ TCPSend TCPShutDown TCPStartup UDPBind UDPCloseSocket UDPOpen UDPRecv + \ UDPSend UDPShutdown UDPStartup +" obj/com reference +syn keyword autoitFunction ObjCreate ObjEvent ObjGet ObjName +" process management +syn keyword autoitFunction DllCall DllClose DllOpen DllStructCreate + \ DllStructGetData DllStructGetPtr DllStructGetSize DllStructSetData + \ ProcessClose ProcessExists ProcessSetPriority ProcessList ProcessWait + \ ProcessWaitClose Run RunAsSet RunWait ShellExecute ShellExecuteWait + \ Shutdown + " removed from 3.2.0 docs - PluginClose PluginOpen +" registry management +syn keyword autoitFunction RegDelete RegEnumKey RegEnumVal RegRead RegWrite +" string management +syn keyword autoitFunction StringAddCR StringFormat StringInStr StringIsAlNum + \ StringIsAlpha StringIsASCII StringIsDigit StringIsFloat StringIsInt + \ StringIsLower StringIsSpace StringIsUpper StringIsXDigit StringLeft + \ StringLen StringLower StringMid StringRegExp StringRegExpReplace + \ StringReplace StringRight StringSplit StringStripCR StringStripWS + \ StringTrimLeft StringTrimRight StringUpper +" timer and delay +syn keyword autoitFunction Sleep TimerInit TimerDiff +" tray +syn keyword autoitFunction TrayCreateItem TrayCreateMenu TrayItemDelete + \ TrayItemGetHandle TrayItemGetState TrayItemGetText TrayItemSetOnEvent + \ TrayItemSetState TrayItemSetText TrayGetMsg TraySetClick TraySetIcon + \ TraySetOnEvent TraySetPauseIcon TraySetState TraySetToolTip TrayTip +" variables and conversions +syn keyword autoitFunction Asc Assign Binary Chr Dec Eval Hex HWnd Int IsAdmin + \ IsArray IsBinaryString IsBool IsDeclared IsDllStruct IsFloat IsHWnd + \ IsInt IsKeyword IsNumber IsObj IsString Number String UBound +" window management +syn keyword autoitFunction WinActivate WinActive WinClose WinExists WinFlash + \ WinGetCaretPos WinGetClassList WinGetClientSize WinGetHandle WinGetPos + \ WinGetProcess WinGetState WinGetText WinGetTitle WinKill WinList + \ WinMenuSelectItem WinMinimizeAll WinMinimizeAllUndo WinMove + \ WinSetOnTop WinSetState WinSetTitle WinSetTrans WinWait WinWaitActive + \ WinWaitClose WinWaitNotActive +syn keyword autoitFunction ControlClick ControlCommand ControlDisable + \ ControlEnable ControlFocus ControlGetFocus ControlGetHandle + \ ControlGetPos ControlGetText ControlHide ControlListView ControlMove + \ ControlSend ControlSetText ControlShow StatusBarGetText + +" user defined functions +" array +syn keyword autoitFunction _ArrayAdd _ArrayBinarySearch _ArrayCreate + \ _ArrayDelete _ArrayDisplay _ArrayInsert _ArrayMax _ArrayMaxIndex + \ _ArrayMin _ArrayMinIndex _ArrayPop _ArrayPush _ArrayReverse + \ _ArraySearch _ArraySort _ArraySwap _ArrayToClip _ArrayToString + \ _ArrayTrim +" color +syn keyword autoitFunction _ColorgetBlue _ColorGetGreen _ColorGetRed +" date +syn keyword autoitFunction _DateAdd _DateDayOfWeek _DateDaysInMonth _DateDiff + \ _DateIsLeapYear _DateIsValid _DateTimeFormat _DateTimeSplit + \ _DateToDayOfWeek _ToDayOfWeekISO _DateToDayValue _DayValueToDate _Now + \ _NowCalc _NowCalcDate _NowDate _NowTime _SetDate _SetTime _TicksToTime + \ _TimeToTicks _WeekNumberISO +" file +syn keyword autoitFunction _FileCountLines _FileCreate _FileListToArray + \ _FilePrint _FileReadToArray _FileWriteFromArray _FileWriteLog + \ _FileWriteToLine _PathFull _PathMake _PathSplit _ReplaceStringInFile + \ _TempFile +" guicombo +syn keyword autoitFunction _GUICtrlComboAddDir _GUICtrlComboAddString + \ _GUICtrlComboAutoComplete _GUICtrlComboDeleteString + \ _GUICtrlComboFindString _GUICtrlComboGetCount _GUICtrlComboGetCurSel + \ _GUICtrlComboGetDroppedControlRect _GUICtrlComboGetDroppedState + \ _GUICtrlComboGetDroppedWidth _GUICtrlComboGetEditSel + \ _GUICtrlComboGetExtendedUI _GUICtrlComboGetHorizontalExtent + \ _GUICtrlComboGetItemHeight _GUICtrlComboGetLBText + \ _GUICtrlComboGetLBTextLen _GUICtrlComboGetList _GUICtrlComboGetLocale + \ _GUICtrlComboGetMinVisible _GUICtrlComboGetTopIndex + \ _GUICtrlComboInitStorage _GUICtrlComboInsertString + \ _GUICtrlComboLimitText _GUICtrlComboResetContent + \ _GUICtrlComboSelectString _GUICtrlComboSetCurSel + \ _GUICtrlComboSetDroppedWidth _GUICtrlComboSetEditSel + \ _GUICtrlComboSetExtendedUI _GUICtrlComboSetHorizontalExtent + \ _GUICtrlComboSetItemHeight _GUICtrlComboSetMinVisible + \ _GUICtrlComboSetTopIndex _GUICtrlComboShowDropDown +" guiedit +syn keyword autoitFunction _GUICtrlEditCanUndo _GUICtrlEditEmptyUndoBuffer + \ _GuiCtrlEditFind _GUICtrlEditGetFirstVisibleLine _GUICtrlEditGetLine + \ _GUICtrlEditGetLineCount _GUICtrlEditGetModify _GUICtrlEditGetRect + \ _GUICtrlEditGetSel _GUICtrlEditLineFromChar _GUICtrlEditLineIndex + \ _GUICtrlEditLineLength _GUICtrlEditLineScroll _GUICtrlEditReplaceSel + \ _GUICtrlEditScroll _GUICtrlEditSetModify _GUICtrlEditSetRect + \ _GUICtrlEditSetSel _GUICtrlEditUndo +" guiipaddress +syn keyword autoitFunction _GUICtrlIpAddressClear _GUICtrlIpAddressCreate + \ _GUICtrlIpAddressDelete _GUICtrlIpAddressGet _GUICtrlIpAddressIsBlank + \ _GUICtrlIpAddressSet _GUICtrlIpAddressSetFocus + \ _GUICtrlIpAddressSetFont + \ _GUICtrlIpAddressSetRange _GUICtrlIpAddressShowHide +" guilist +syn keyword autoitFunction _GUICtrlListAddDir _GUICtrlListAddItem + \ _GUICtrlListClear + \ _GUICtrlListCount _GUICtrlListDeleteItem _GUICtrlListFindString + \ _GUICtrlListGetAnchorIndex _GUICtrlListGetCaretIndex + \ _GUICtrlListGetHorizontalExtent _GUICtrlListGetInfo + \ _GUICtrlListGetItemRect _GUICtrlListGetLocale _GUICtrlListGetSelCount + \ _GUICtrlListGetSelItems _GUICtrlListGetSelItemsText + \ _GUICtrlListGetSelState _GUICtrlListGetText _GUICtrlListGetTextLen + \ _GUICtrlListGetTopIndex _GUICtrlListInsertItem + \ _GUICtrlListReplaceString _GUICtrlListSelectedIndex + \ _GUICtrlListSelectIndex _GUICtrlListSelectString + \ _GUICtrlListSelItemRange _GUICtrlListSelItemRangeEx + \ _GUICtrlListSetAnchorIndex _GUICtrlListSetCaretIndex + \ _GUICtrlListSetHorizontalExtent _GUICtrlListSetLocale + \ _GUICtrlListSetSel _GUICtrlListSetTopIndex _GUICtrlListSort + \ _GUICtrlListSwapString +" guilistview +syn keyword autoitFunction _GUICtrlListViewCopyItems + \ _GUICtrlListViewDeleteAllItems _GUICtrlListViewDeleteColumn + \ _GUICtrlListViewDeleteItem _GUICtrlListViewDeleteItemsSelected + \ _GUICtrlListViewEnsureVisible _GUICtrlListViewFindItem + \ _GUICtrlListViewGetBackColor _GUICtrlListViewGetCallBackMask + \ _GUICtrlListViewGetCheckedState _GUICtrlListViewGetColumnOrder + \ _GUICtrlListViewGetColumnWidth _GUICtrlListViewGetCounterPage + \ _GUICtrlListViewGetCurSel _GUICtrlListViewGetExtendedListViewStyle + \ _GUICtrlListViewGetHeader _GUICtrlListViewGetHotCursor + \ _GUICtrlListViewGetHotItem _GUICtrlListViewGetHoverTime + \ _GUICtrlListViewGetItemCount _GUICtrlListViewGetItemText + \ _GUICtrlListViewGetItemTextArray _GUICtrlListViewGetNextItem + \ _GUICtrlListViewGetSelectedCount _GUICtrlListViewGetSelectedIndices + \ _GUICtrlListViewGetSubItemsCount _GUICtrlListViewGetTopIndex + \ _GUICtrlListViewGetUnicodeFormat _GUICtrlListViewHideColumn + \ _GUICtrlListViewInsertColumn _GUICtrlListViewInsertItem + \ _GUICtrlListViewJustifyColumn _GUICtrlListViewScroll + \ _GUICtrlListViewSetCheckState _GUICtrlListViewSetColumnHeaderText + \ _GUICtrlListViewSetColumnOrder _GUICtrlListViewSetColumnWidth + \ _GUICtrlListViewSetHotItem _GUICtrlListViewSetHoverTime + \ _GUICtrlListViewSetItemCount _GUICtrlListViewSetItemSelState + \ _GUICtrlListViewSetItemText _GUICtrlListViewSort +" guimonthcal +syn keyword autoitFunction _GUICtrlMonthCalGet1stDOW _GUICtrlMonthCalGetColor + \ _GUICtrlMonthCalGetDelta _GUICtrlMonthCalGetMaxSelCount + \ _GUICtrlMonthCalGetMaxTodayWidth _GUICtrlMonthCalGetMinReqRect + \ _GUICtrlMonthCalSet1stDOW _GUICtrlMonthCalSetColor + \ _GUICtrlMonthCalSetDelta _GUICtrlMonthCalSetMaxSelCount +" guislider +syn keyword autoitFunction _GUICtrlSliderClearTics _GUICtrlSliderGetLineSize + \ _GUICtrlSliderGetNumTics _GUICtrlSliderGetPageSize + \ _GUICtrlSliderGetPos _GUICtrlSliderGetRangeMax + \ _GUICtrlSliderGetRangeMin _GUICtrlSliderSetLineSize + \ _GUICtrlSliderSetPageSize _GUICtrlSliderSetPos + \ _GUICtrlSliderSetTicFreq +" guistatusbar +syn keyword autoitFunction _GuiCtrlStatusBarCreate + \ _GUICtrlStatusBarCreateProgress _GUICtrlStatusBarDelete + \ _GuiCtrlStatusBarGetBorders _GuiCtrlStatusBarGetIcon + \ _GuiCtrlStatusBarGetParts _GuiCtrlStatusBarGetRect + \ _GuiCtrlStatusBarGetText _GuiCtrlStatusBarGetTextLength + \ _GuiCtrlStatusBarGetTip _GuiCtrlStatusBarGetUnicode + \ _GUICtrlStatusBarIsSimple _GuiCtrlStatusBarResize + \ _GuiCtrlStatusBarSetBKColor _GuiCtrlStatusBarSetIcon + \ _GuiCtrlStatusBarSetMinHeight _GUICtrlStatusBarSetParts + \ _GuiCtrlStatusBarSetSimple _GuiCtrlStatusBarSetText + \ _GuiCtrlStatusBarSetTip _GuiCtrlStatusBarSetUnicode + \ _GUICtrlStatusBarShowHide +" guitab +syn keyword autoitFunction _GUICtrlTabDeleteAllItems _GUICtrlTabDeleteItem + \ _GUICtrlTabDeselectAll _GUICtrlTabGetCurFocus _GUICtrlTabGetCurSel + \ _GUICtrlTabGetExtendedStyle _GUICtrlTabGetItemCount + \ _GUICtrlTabGetItemRect _GUICtrlTabGetRowCount + \ _GUICtrlTabGetUnicodeFormat _GUICtrlTabHighlightItem + \ _GUICtrlTabSetCurFocus _GUICtrlTabSetCurSel + \ _GUICtrlTabSetMinTabWidth _GUICtrlTabSetUnicodeFormat +" guitreeview +syn keyword autoitFunction _GUICtrlTreeViewDeleteAllItems + \ _GUICtrlTreeViewDeleteItem _GUICtrlTreeViewExpand + \ _GUICtrlTreeViewGetBkColor _GUICtrlTreeViewGetCount + \ _GUICtrlTreeViewGetIndent _GUICtrlTreeViewGetLineColor + \ _GUICtrlTreeViewGetParentHandle _GUICtrlTreeViewGetParentID + \ _GUICtrlTreeViewGetState _GUICtrlTreeViewGetText + \ _GUICtrlTreeViewGetTextColor _GUICtrlTreeViewItemGetTree + \ _GUICtrlTreeViewInsertItem _GUICtrlTreeViewSetBkColor + \ _GUICtrlTreeViewSetIcon _GUICtrlTreeViewSetIndent + \ _GUICtrlTreeViewSetLineColor GUICtrlTreeViewSetState + \ _GUICtrlTreeViewSetText _GUICtrlTreeViewSetTextColor + \ _GUICtrlTreeViewSort +" ie +syn keyword autoitFunction _IE_Example _IE_Introduction _IE_VersionInfo + \ _IEAction _IEAttach _IEBodyReadHTML _IEBodyReadText _IEBodyWriteHTML + \ _IECreate _IECreateEmbedded _IEDocGetObj _IEDocInsertHTML + \ _IEDocInsertText _IEDocReadHTML _IEDocWriteHTML + \ _IEErrorHandlerDeRegister _IEErrorHandlerRegister _IEErrorNotify + \ _IEFormElementCheckboxSelect _IEFormElementGetCollection + \ _IEFormElementGetObjByName _IEFormElementGetValue + \ _IEFormElementOptionSelect _IEFormElementRadioSelect + \ _IEFormElementSetValue _IEFormGetCollection _IEFormGetObjByName + \ _IEFormImageClick _IEFormReset _IEFormSubmit _IEFrameGetCollection + \ _IEFrameGetObjByName _IEGetObjByName _IEHeadInsertEventScript + \ _IEImgClick _IEImgGetCollection _IEIsFrameSet _IELinkClickByIndex + \ _IELinkClickByText _IELinkGetCollection _IELoadWait _IELoadWaitTimeout + \ _IENavigate _IEPropertyGet _IEPropertySet _IEQuit + \ _IETableGetCollection _IETableWriteToArray _IETagNameAllGetCollection + \ _IETagNameGetCollection +" inet +syn keyword autoitFunction _GetIP _INetExplorerCapable _INetGetSource _INetMail + \ _INetSmtpMail _TCPIpToName +" math +syn keyword autoitFunction _Degree _MathCheckDiv _Max _Min _Radian +" miscellaneous +syn keyword autoitFunction _ChooseColor _ChooseFont _ClipPutFile _Iif + \ _IsPressed _MouseTrap _SendMessage _Singleton +" process +syn keyword autoitFunction _ProcessGetName _ProcessGetPriority _RunDOS +" sound +syn keyword autoitFunction _SoundClose _SoundLength _SoundOpen _SoundPause + \ _SoundPlay _SoundPos _SoundResume _SoundSeek _SoundStatus _SoundStop +" sqlite +syn keyword autoitFunction _SQLite_Changes _SQLite_Close + \ _SQLite_Display2DResult _SQLite_Encode _SQLite_ErrCode _SQLite_ErrMsg + \ _SQLite_Escape _SQLite_Exec _SQLite_FetchData _SQLite_FetchNames + \ _SQLite_GetTable _SQLite_GetTable2D _SQLite_LastInsertRowID + \ _SQLite_LibVersion _SQLite_Open _SQLite_Query _SQLite_QueryFinalize + \ _SQLite_QueryReset _SQLite_QuerySingleRow _SQLite_SaveMode + \ _SQLite_SetTimeout _SQLite_Shutdown _SQLite_SQLiteExe _SQLite_Startup + \ _SQLite_TotalChanges +" string +syn keyword autoitFunction _HexToString _StringAddComma _StringBetween + \ _StringEncrypt _StringInsert _StringProper _StringRepeat + \ _StringReverse _StringToHex +" visa +syn keyword autoitFunction _viClose _viExecCommand _viFindGpib _viGpibBusReset + \ _viGTL _viOpen _viSetAttribute _viSetTimeout + +" read-only macros +syn match autoitBuiltin "@AppData\(Common\)\=Dir" +syn match autoitBuiltin "@AutoItExe" +syn match autoitBuiltin "@AutoItPID" +syn match autoitBuiltin "@AutoItVersion" +syn match autoitBuiltin "@COM_EventObj" +syn match autoitBuiltin "@CommonFilesDir" +syn match autoitBuiltin "@Compiled" +syn match autoitBuiltin "@ComputerName" +syn match autoitBuiltin "@ComSpec" +syn match autoitBuiltin "@CR\(LF\)\=" +syn match autoitBuiltin "@Desktop\(Common\)\=Dir" +syn match autoitBuiltin "@DesktopDepth" +syn match autoitBuiltin "@DesktopHeight" +syn match autoitBuiltin "@DesktopRefresh" +syn match autoitBuiltin "@DesktopWidth" +syn match autoitBuiltin "@DocumentsCommonDir" +syn match autoitBuiltin "@Error" +syn match autoitBuiltin "@ExitCode" +syn match autoitBuiltin "@ExitMethod" +syn match autoitBuiltin "@Extended" +syn match autoitBuiltin "@Favorites\(Common\)\=Dir" +syn match autoitBuiltin "@GUI_CtrlId" +syn match autoitBuiltin "@GUI_CtrlHandle" +syn match autoitBuiltin "@GUI_DragId" +syn match autoitBuiltin "@GUI_DragFile" +syn match autoitBuiltin "@GUI_DropId" +syn match autoitBuiltin "@GUI_WinHandle" +syn match autoitBuiltin "@HomeDrive" +syn match autoitBuiltin "@HomePath" +syn match autoitBuiltin "@HomeShare" +syn match autoitBuiltin "@HOUR" +syn match autoitBuiltin "@HotKeyPressed" +syn match autoitBuiltin "@InetGetActive" +syn match autoitBuiltin "@InetGetBytesRead" +syn match autoitBuiltin "@IPAddress[1234]" +syn match autoitBuiltin "@KBLayout" +syn match autoitBuiltin "@LF" +syn match autoitBuiltin "@Logon\(DNS\)\=Domain" +syn match autoitBuiltin "@LogonServer" +syn match autoitBuiltin "@MDAY" +syn match autoitBuiltin "@MIN" +syn match autoitBuiltin "@MON" +syn match autoitBuiltin "@MyDocumentsDir" +syn match autoitBuiltin "@NumParams" +syn match autoitBuiltin "@OSBuild" +syn match autoitBuiltin "@OSLang" +syn match autoitBuiltin "@OSServicePack" +syn match autoitBuiltin "@OSTYPE" +syn match autoitBuiltin "@OSVersion" +syn match autoitBuiltin "@ProcessorArch" +syn match autoitBuiltin "@ProgramFilesDir" +syn match autoitBuiltin "@Programs\(Common\)\=Dir" +syn match autoitBuiltin "@ScriptDir" +syn match autoitBuiltin "@ScriptFullPath" +syn match autoitBuiltin "@ScriptLineNumber" +syn match autoitBuiltin "@ScriptName" +syn match autoitBuiltin "@SEC" +syn match autoitBuiltin "@StartMenu\(Common\)\=Dir" +syn match autoitBuiltin "@Startup\(Common\)\=Dir" +syn match autoitBuiltin "@SW_DISABLE" +syn match autoitBuiltin "@SW_ENABLE" +syn match autoitBuiltin "@SW_HIDE" +syn match autoitBuiltin "@SW_LOCK" +syn match autoitBuiltin "@SW_MAXIMIZE" +syn match autoitBuiltin "@SW_MINIMIZE" +syn match autoitBuiltin "@SW_RESTORE" +syn match autoitBuiltin "@SW_SHOW" +syn match autoitBuiltin "@SW_SHOWDEFAULT" +syn match autoitBuiltin "@SW_SHOWMAXIMIZED" +syn match autoitBuiltin "@SW_SHOWMINIMIZED" +syn match autoitBuiltin "@SW_SHOWMINNOACTIVE" +syn match autoitBuiltin "@SW_SHOWNA" +syn match autoitBuiltin "@SW_SHOWNOACTIVATE" +syn match autoitBuiltin "@SW_SHOWNORMAL" +syn match autoitBuiltin "@SW_UNLOCK" +syn match autoitBuiltin "@SystemDir" +syn match autoitBuiltin "@TAB" +syn match autoitBuiltin "@TempDir" +syn match autoitBuiltin "@TRAY_ID" +syn match autoitBuiltin "@TrayIconFlashing" +syn match autoitBuiltin "@TrayIconVisible" +syn match autoitBuiltin "@UserProfileDir" +syn match autoitBuiltin "@UserName" +syn match autoitBuiltin "@WDAY" +syn match autoitBuiltin "@WindowsDir" +syn match autoitBuiltin "@WorkingDir" +syn match autoitBuiltin "@YDAY" +syn match autoitBuiltin "@YEAR" + +"comments and commenting-out +syn match autoitComment ";.*" +"in this way also #ce alone will be highlighted +syn match autoitCommDelimiter "^\s*#comments-start\>" +syn match autoitCommDelimiter "^\s*#cs\>" +syn match autoitCommDelimiter "^\s*#comments-end\>" +syn match autoitCommDelimiter "^\s*#ce\>" +syn region autoitComment + \ matchgroup=autoitCommDelimiter + \ start="^\s*#comments-start\>" start="^\s*#cs\>" + \ end="^\s*#comments-end\>" end="^\s*#ce\>" + +"one character operators +syn match autoitOperator "[-+*/&^=<>][^-+*/&^=<>]"me=e-1 +"two characters operators +syn match autoitOperator "==[^=]"me=e-1 +syn match autoitOperator "<>" +syn match autoitOperator "<=" +syn match autoitOperator ">=" +syn match autoitOperator "+=" +syn match autoitOperator "-=" +syn match autoitOperator "*=" +syn match autoitOperator "/=" +syn match autoitOperator "&=" +syn keyword autoitOperator NOT AND OR + +syn match autoitParen "(\|)" +syn match autoitBracket "\[\|\]" +syn match autoitComma "," + +"numbers must come after operator '-' +"decimal numbers without a dot +syn match autoitNumber "-\=\<\d\+\>" +"hexadecimal numbers without a dot +syn match autoitNumber "-\=\<0x\x\+\>" +"floating point number with dot (inside or at end) + +syn match autoitNumber "-\=\<\d\+\.\d*\>" +"floating point number, starting with a dot +syn match autoitNumber "-\=\<\.\d\+\>" +"scientific notation numbers without dots +syn match autoitNumber "-\=\<\d\+e[-+]\=\d\+\>" +"scientific notation numbers with dots +syn match autoitNumber "-\=\<\(\(\d\+\.\d*\)\|\(\.\d\+\)\)\(e[-+]\=\d\+\)\=\>" + +"string constants +"we want the escaped quotes marked in red +syn match autoitDoubledSingles +''+ contained +syn match autoitDoubledDoubles +""+ contained +"we want the continuation character marked in red +"(also at the top level, not just contained) +syn match autoitCont "_$" + +" send key list - must be defined before autoitStrings +syn match autoitSend "{!}" contained +syn match autoitSend "{#}" contained +syn match autoitSend "{+}" contained +syn match autoitSend "{^}" contained +syn match autoitSend "{{}" contained +syn match autoitSend "{}}" contained +syn match autoitSend "{SPACE}" contained +syn match autoitSend "{ENTER}" contained +syn match autoitSend "{ALT}" contained +syn match autoitSend "{BACKSPACE}" contained +syn match autoitSend "{BS}" contained +syn match autoitSend "{DELETE}" contained +syn match autoitSend "{DEL}" contained +syn match autoitSend "{UP}" contained +syn match autoitSend "{DOWN}" contained +syn match autoitSend "{LEFT}" contained +syn match autoitSend "{RIGHT}" contained +syn match autoitSend "{HOME}" contained +syn match autoitSend "{END}" contained +syn match autoitSend "{ESCAPE}" contained +syn match autoitSend "{ESC}" contained +syn match autoitSend "{INSERT}" contained +syn match autoitSend "{INS}" contained +syn match autoitSend "{PGUP}" contained +syn match autoitSend "{PGDN}" contained +syn match autoitSend "{F1}" contained +syn match autoitSend "{F2}" contained +syn match autoitSend "{F3}" contained +syn match autoitSend "{F4}" contained +syn match autoitSend "{F5}" contained +syn match autoitSend "{F6}" contained +syn match autoitSend "{F7}" contained +syn match autoitSend "{F8}" contained +syn match autoitSend "{F9}" contained +syn match autoitSend "{F10}" contained +syn match autoitSend "{F11}" contained +syn match autoitSend "{F12}" contained +syn match autoitSend "{TAB}" contained +syn match autoitSend "{PRINTSCREEN}" contained +syn match autoitSend "{LWIN}" contained +syn match autoitSend "{RWIN}" contained +syn match autoitSend "{NUMLOCK}" contained +syn match autoitSend "{CTRLBREAK}" contained +syn match autoitSend "{PAUSE}" contained +syn match autoitSend "{CAPSLOCK}" contained +syn match autoitSend "{NUMPAD0}" contained +syn match autoitSend "{NUMPAD1}" contained +syn match autoitSend "{NUMPAD2}" contained +syn match autoitSend "{NUMPAD3}" contained +syn match autoitSend "{NUMPAD4}" contained +syn match autoitSend "{NUMPAD5}" contained +syn match autoitSend "{NUMPAD6}" contained +syn match autoitSend "{NUMPAD7}" contained +syn match autoitSend "{NUMPAD8}" contained +syn match autoitSend "{NUMPAD9}" contained +syn match autoitSend "{NUMPADMULT}" contained +syn match autoitSend "{NUMPADADD}" contained +syn match autoitSend "{NUMPADSUB}" contained +syn match autoitSend "{NUMPADDIV}" contained +syn match autoitSend "{NUMPADDOT}" contained +syn match autoitSend "{NUMPADENTER}" contained +syn match autoitSend "{APPSKEY}" contained +syn match autoitSend "{LALT}" contained +syn match autoitSend "{RALT}" contained +syn match autoitSend "{LCTRL}" contained +syn match autoitSend "{RCTRL}" contained +syn match autoitSend "{LSHIFT}" contained +syn match autoitSend "{RSHIFT}" contained +syn match autoitSend "{SLEEP}" contained +syn match autoitSend "{ALTDOWN}" contained +syn match autoitSend "{SHIFTDOWN}" contained +syn match autoitSend "{CTRLDOWN}" contained +syn match autoitSend "{LWINDOWN}" contained +syn match autoitSend "{RWINDOWN}" contained +syn match autoitSend "{ASC \d\d\d\d}" contained +syn match autoitSend "{BROWSER_BACK}" contained +syn match autoitSend "{BROWSER_FORWARD}" contained +syn match autoitSend "{BROWSER_REFRESH}" contained +syn match autoitSend "{BROWSER_STOP}" contained +syn match autoitSend "{BROWSER_SEARCH}" contained +syn match autoitSend "{BROWSER_FAVORITES}" contained +syn match autoitSend "{BROWSER_HOME}" contained +syn match autoitSend "{VOLUME_MUTE}" contained +syn match autoitSend "{VOLUME_DOWN}" contained +syn match autoitSend "{VOLUME_UP}" contained +syn match autoitSend "{MEDIA_NEXT}" contained +syn match autoitSend "{MEDIA_PREV}" contained +syn match autoitSend "{MEDIA_STOP}" contained +syn match autoitSend "{MEDIA_PLAY_PAUSE}" contained +syn match autoitSend "{LAUNCH_MAIL}" contained +syn match autoitSend "{LAUNCH_MEDIA}" contained +syn match autoitSend "{LAUNCH_APP1}" contained +syn match autoitSend "{LAUNCH_APP2}" contained + +"this was tricky! +"we use an oneline region, instead of a match, in order to use skip= +"matchgroup= so start and end quotes are not considered as au3Doubled +"contained +syn region autoitString oneline contains=autoitSend matchgroup=autoitQuote start=+"+ + \ end=+"+ end=+_\n\{1}.*"+ + \ contains=autoitCont,autoitDoubledDoubles skip=+""+ +syn region autoitString oneline matchgroup=autoitQuote start=+'+ + \ end=+'+ end=+_\n\{1}.*'+ + \ contains=autoitCont,autoitDoubledSingles skip=+''+ + +syn match autoitVarSelector "\$" contained display +syn match autoitVariable "$\w\+" contains=autoitVarSelector + +" options - must be defined after autoitStrings +syn match autoitOption "\([\"\']\)CaretCoordMode\1" +syn match autoitOption "\([\"\']\)ColorMode\1" +syn match autoitOption "\([\"\']\)ExpandEnvStrings\1" +syn match autoitOption "\([\"\']\)ExpandVarStrings\1" +syn match autoitOption "\([\"\']\)FtpBinaryMode\1" +syn match autoitOption "\([\"\']\)GUICloseOnEsc\1" +syn match autoitOption "\([\"\']\)GUICoordMode\1" +syn match autoitOption "\([\"\']\)GUIDataSeparatorChar\1" +syn match autoitOption "\([\"\']\)GUIOnEventMode\1" +syn match autoitOption "\([\"\']\)GUIResizeMode\1" +syn match autoitOption "\([\"\']\)GUIEventCompatibilityMode\1" +syn match autoitOption "\([\"\']\)MouseClickDelay\1" +syn match autoitOption "\([\"\']\)MouseClickDownDelay\1" +syn match autoitOption "\([\"\']\)MouseClickDragDelay\1" +syn match autoitOption "\([\"\']\)MouseCoordMode\1" +syn match autoitOption "\([\"\']\)MustDeclareVars\1" +syn match autoitOption "\([\"\']\)OnExitFunc\1" +syn match autoitOption "\([\"\']\)PixelCoordMode\1" +syn match autoitOption "\([\"\']\)RunErrorsFatal\1" +syn match autoitOption "\([\"\']\)SendAttachMode\1" +syn match autoitOption "\([\"\']\)SendCapslockMode\1" +syn match autoitOption "\([\"\']\)SendKeyDelay\1" +syn match autoitOption "\([\"\']\)SendKeyDownDelay\1" +syn match autoitOption "\([\"\']\)TCPTimeout\1" +syn match autoitOption "\([\"\']\)TrayAutoPause\1" +syn match autoitOption "\([\"\']\)TrayIconDebug\1" +syn match autoitOption "\([\"\']\)TrayIconHide\1" +syn match autoitOption "\([\"\']\)TrayMenuMode\1" +syn match autoitOption "\([\"\']\)TrayOnEventMode\1" +syn match autoitOption "\([\"\']\)WinDetectHiddenText\1" +syn match autoitOption "\([\"\']\)WinSearchChildren\1" +syn match autoitOption "\([\"\']\)WinTextMatchMode\1" +syn match autoitOption "\([\"\']\)WinTitleMatchMode\1" +syn match autoitOption "\([\"\']\)WinWaitDelay\1" + +" styles - must be defined after autoitVariable +" common +syn match autoitStyle "\$WS_BORDER" +syn match autoitStyle "\$WS_POPUP" +syn match autoitStyle "\$WS_CAPTION" +syn match autoitStyle "\$WS_CLIPCHILDREN" +syn match autoitStyle "\$WS_CLIPSIBLINGS" +syn match autoitStyle "\$WS_DISABLED" +syn match autoitStyle "\$WS_DLGFRAME" +syn match autoitStyle "\$WS_HSCROLL" +syn match autoitStyle "\$WS_MAXIMIZE" +syn match autoitStyle "\$WS_MAXIMIZEBOX" +syn match autoitStyle "\$WS_MINIMIZE" +syn match autoitStyle "\$WS_MINIMIZEBOX" +syn match autoitStyle "\$WS_OVERLAPPED" +syn match autoitStyle "\$WS_OVERLAPPEDWINDOW" +syn match autoitStyle "\$WS_POPUPWINDOW" +syn match autoitStyle "\$WS_SIZEBOX" +syn match autoitStyle "\$WS_SYSMENU" +syn match autoitStyle "\$WS_THICKFRAME" +syn match autoitStyle "\$WS_VSCROLL" +syn match autoitStyle "\$WS_VISIBLE" +syn match autoitStyle "\$WS_CHILD" +syn match autoitStyle "\$WS_GROUP" +syn match autoitStyle "\$WS_TABSTOP" +syn match autoitStyle "\$DS_MODALFRAME" +syn match autoitStyle "\$DS_SETFOREGROUND" +syn match autoitStyle "\$DS_CONTEXTHELP" +" common extended +syn match autoitStyle "\$WS_EX_ACCEPTFILES" +syn match autoitStyle "\$WS_EX_APPWINDOW" +syn match autoitStyle "\$WS_EX_CLIENTEDGE" +syn match autoitStyle "\$WS_EX_CONTEXTHELP" +syn match autoitStyle "\$WS_EX_DLGMODALFRAME" +syn match autoitStyle "\$WS_EX_MDICHILD" +syn match autoitStyle "\$WS_EX_OVERLAPPEDWINDOW" +syn match autoitStyle "\$WS_EX_STATICEDGE" +syn match autoitStyle "\$WS_EX_TOPMOST" +syn match autoitStyle "\$WS_EX_TRANSPARENT" +syn match autoitStyle "\$WS_EX_TOOLWINDOW" +syn match autoitStyle "\$WS_EX_WINDOWEDGE" +syn match autoitStyle "\$WS_EX_LAYERED" +syn match autoitStyle "\$GUI_WS_EX_PARENTDRAG" +" checkbox +syn match autoitStyle "\$BS_3STATE" +syn match autoitStyle "\$BS_AUTO3STATE" +syn match autoitStyle "\$BS_AUTOCHECKBOX" +syn match autoitStyle "\$BS_CHECKBOX" +syn match autoitStyle "\$BS_LEFT" +syn match autoitStyle "\$BS_PUSHLIKE" +syn match autoitStyle "\$BS_RIGHT" +syn match autoitStyle "\$BS_RIGHTBUTTON" +syn match autoitStyle "\$BS_GROUPBOX" +syn match autoitStyle "\$BS_AUTORADIOBUTTON" +" push button +syn match autoitStyle "\$BS_BOTTOM" +syn match autoitStyle "\$BS_CENTER" +syn match autoitStyle "\$BS_DEFPUSHBUTTON" +syn match autoitStyle "\$BS_MULTILINE" +syn match autoitStyle "\$BS_TOP" +syn match autoitStyle "\$BS_VCENTER" +syn match autoitStyle "\$BS_ICON" +syn match autoitStyle "\$BS_BITMAP" +syn match autoitStyle "\$BS_FLAT" +" combo +syn match autoitStyle "\$CBS_AUTOHSCROLL" +syn match autoitStyle "\$CBS_DISABLENOSCROLL" +syn match autoitStyle "\$CBS_DROPDOWN" +syn match autoitStyle "\$CBS_DROPDOWNLIST" +syn match autoitStyle "\$CBS_LOWERCASE" +syn match autoitStyle "\$CBS_NOINTEGRALHEIGHT" +syn match autoitStyle "\$CBS_OEMCONVERT" +syn match autoitStyle "\$CBS_SIMPLE" +syn match autoitStyle "\$CBS_SORT" +syn match autoitStyle "\$CBS_UPPERCASE" +" list +syn match autoitStyle "\$LBS_DISABLENOSCROLL" +syn match autoitStyle "\$LBS_NOINTEGRALHEIGHT" +syn match autoitStyle "\$LBS_NOSEL" +syn match autoitStyle "\$LBS_NOTIFY" +syn match autoitStyle "\$LBS_SORT" +syn match autoitStyle "\$LBS_STANDARD" +syn match autoitStyle "\$LBS_USETABSTOPS" +" edit/input +syn match autoitStyle "\$ES_AUTOHSCROLL" +syn match autoitStyle "\$ES_AUTOVSCROLL" +syn match autoitStyle "\$ES_CENTER" +syn match autoitStyle "\$ES_LOWERCASE" +syn match autoitStyle "\$ES_NOHIDESEL" +syn match autoitStyle "\$ES_NUMBER" +syn match autoitStyle "\$ES_OEMCONVERT" +syn match autoitStyle "\$ES_MULTILINE" +syn match autoitStyle "\$ES_PASSWORD" +syn match autoitStyle "\$ES_READONLY" +syn match autoitStyle "\$ES_RIGHT" +syn match autoitStyle "\$ES_UPPERCASE" +syn match autoitStyle "\$ES_WANTRETURN" +" progress bar +syn match autoitStyle "\$PBS_SMOOTH" +syn match autoitStyle "\$PBS_VERTICAL" +" up-down +syn match autoitStyle "\$UDS_ALIGNLEFT" +syn match autoitStyle "\$UDS_ALIGNRIGHT" +syn match autoitStyle "\$UDS_ARROWKEYS" +syn match autoitStyle "\$UDS_HORZ" +syn match autoitStyle "\$UDS_NOTHOUSANDS" +syn match autoitStyle "\$UDS_WRAP" +" label/static +syn match autoitStyle "\$SS_BLACKFRAME" +syn match autoitStyle "\$SS_BLACKRECT" +syn match autoitStyle "\$SS_CENTER" +syn match autoitStyle "\$SS_CENTERIMAGE" +syn match autoitStyle "\$SS_ETCHEDFRAME" +syn match autoitStyle "\$SS_ETCHEDHORZ" +syn match autoitStyle "\$SS_ETCHEDVERT" +syn match autoitStyle "\$SS_GRAYFRAME" +syn match autoitStyle "\$SS_GRAYRECT" +syn match autoitStyle "\$SS_LEFT" +syn match autoitStyle "\$SS_LEFTNOWORDWRAP" +syn match autoitStyle "\$SS_NOPREFIX" +syn match autoitStyle "\$SS_NOTIFY" +syn match autoitStyle "\$SS_RIGHT" +syn match autoitStyle "\$SS_RIGHTJUST" +syn match autoitStyle "\$SS_SIMPLE" +syn match autoitStyle "\$SS_SUNKEN" +syn match autoitStyle "\$SS_WHITEFRAME" +syn match autoitStyle "\$SS_WHITERECT" +" tab +syn match autoitStyle "\$TCS_SCROLLOPPOSITE" +syn match autoitStyle "\$TCS_BOTTOM" +syn match autoitStyle "\$TCS_RIGHT" +syn match autoitStyle "\$TCS_MULTISELECT" +syn match autoitStyle "\$TCS_FLATBUTTONS" +syn match autoitStyle "\$TCS_FORCEICONLEFT" +syn match autoitStyle "\$TCS_FORCELABELLEFT" +syn match autoitStyle "\$TCS_HOTTRACK" +syn match autoitStyle "\$TCS_VERTICAL" +syn match autoitStyle "\$TCS_TABS" +syn match autoitStyle "\$TCS_BUTTONS" +syn match autoitStyle "\$TCS_SINGLELINE" +syn match autoitStyle "\$TCS_MULTILINE" +syn match autoitStyle "\$TCS_RIGHTJUSTIFY" +syn match autoitStyle "\$TCS_FIXEDWIDTH" +syn match autoitStyle "\$TCS_RAGGEDRIGHT" +syn match autoitStyle "\$TCS_FOCUSONBUTTONDOWN" +syn match autoitStyle "\$TCS_OWNERDRAWFIXED" +syn match autoitStyle "\$TCS_TOOLTIPS" +syn match autoitStyle "\$TCS_FOCUSNEVER" +" avi clip +syn match autoitStyle "\$ACS_AUTOPLAY" +syn match autoitStyle "\$ACS_CENTER" +syn match autoitStyle "\$ACS_TRANSPARENT" +syn match autoitStyle "\$ACS_NONTRANSPARENT" +" date +syn match autoitStyle "\$DTS_UPDOWN" +syn match autoitStyle "\$DTS_SHOWNONE" +syn match autoitStyle "\$DTS_LONGDATEFORMAT" +syn match autoitStyle "\$DTS_TIMEFORMAT" +syn match autoitStyle "\$DTS_RIGHTALIGN" +syn match autoitStyle "\$DTS_SHORTDATEFORMAT" +" monthcal +syn match autoitStyle "\$MCS_NOTODAY" +syn match autoitStyle "\$MCS_NOTODAYCIRCLE" +syn match autoitStyle "\$MCS_WEEKNUMBERS" +" treeview +syn match autoitStyle "\$TVS_HASBUTTONS" +syn match autoitStyle "\$TVS_HASLINES" +syn match autoitStyle "\$TVS_LINESATROOT" +syn match autoitStyle "\$TVS_DISABLEDRAGDROP" +syn match autoitStyle "\$TVS_SHOWSELALWAYS" +syn match autoitStyle "\$TVS_RTLREADING" +syn match autoitStyle "\$TVS_NOTOOLTIPS" +syn match autoitStyle "\$TVS_CHECKBOXES" +syn match autoitStyle "\$TVS_TRACKSELECT" +syn match autoitStyle "\$TVS_SINGLEEXPAND" +syn match autoitStyle "\$TVS_FULLROWSELECT" +syn match autoitStyle "\$TVS_NOSCROLL" +syn match autoitStyle "\$TVS_NONEVENHEIGHT" +" slider +syn match autoitStyle "\$TBS_AUTOTICKS" +syn match autoitStyle "\$TBS_BOTH" +syn match autoitStyle "\$TBS_BOTTOM" +syn match autoitStyle "\$TBS_HORZ" +syn match autoitStyle "\$TBS_VERT" +syn match autoitStyle "\$TBS_NOTHUMB" +syn match autoitStyle "\$TBS_NOTICKS" +syn match autoitStyle "\$TBS_LEFT" +syn match autoitStyle "\$TBS_RIGHT" +syn match autoitStyle "\$TBS_TOP" +" listview +syn match autoitStyle "\$LVS_ICON" +syn match autoitStyle "\$LVS_REPORT" +syn match autoitStyle "\$LVS_SMALLICON" +syn match autoitStyle "\$LVS_LIST" +syn match autoitStyle "\$LVS_EDITLABELS" +syn match autoitStyle "\$LVS_NOCOLUMNHEADER" +syn match autoitStyle "\$LVS_NOSORTHEADER" +syn match autoitStyle "\$LVS_SINGLESEL" +syn match autoitStyle "\$LVS_SHOWSELALWAYS" +syn match autoitStyle "\$LVS_SORTASCENDING" +syn match autoitStyle "\$LVS_SORTDESCENDING" +" listview extended +syn match autoitStyle "\$LVS_EX_FULLROWSELECT" +syn match autoitStyle "\$LVS_EX_GRIDLINES" +syn match autoitStyle "\$LVS_EX_HEADERDRAGDROP" +syn match autoitStyle "\$LVS_EX_TRACKSELECT" +syn match autoitStyle "\$LVS_EX_CHECKBOXES" +syn match autoitStyle "\$LVS_EX_BORDERSELECT" +syn match autoitStyle "\$LVS_EX_DOUBLEBUFFER" +syn match autoitStyle "\$LVS_EX_FLATSB" +syn match autoitStyle "\$LVS_EX_MULTIWORKAREAS" +syn match autoitStyle "\$LVS_EX_SNAPTOGRID" +syn match autoitStyle "\$LVS_EX_SUBITEMIMAGES" + +" constants - must be defined after autoitVariable - excludes styles +" constants - autoit options +syn match autoitConst "\$OPT_COORDSRELATIVE" +syn match autoitConst "\$OPT_COORDSABSOLUTE" +syn match autoitConst "\$OPT_COORDSCLIENT" +syn match autoitConst "\$OPT_ERRORSILENT" +syn match autoitConst "\$OPT_ERRORFATAL" +syn match autoitConst "\$OPT_CAPSNOSTORE" +syn match autoitConst "\$OPT_CAPSSTORE" +syn match autoitConst "\$OPT_MATCHSTART" +syn match autoitConst "\$OPT_MATCHANY" +syn match autoitConst "\$OPT_MATCHEXACT" +syn match autoitConst "\$OPT_MATCHADVANCED" +" constants - file +syn match autoitConst "\$FC_NOOVERWRITE" +syn match autoitConst "\$FC_OVERWRITE" +syn match autoitConst "\$FT_MODIFIED" +syn match autoitConst "\$FT_CREATED" +syn match autoitConst "\$FT_ACCESSED" +syn match autoitConst "\$FO_READ" +syn match autoitConst "\$FO_APPEND" +syn match autoitConst "\$FO_OVERWRITE" +syn match autoitConst "\$EOF" +syn match autoitConst "\$FD_FILEMUSTEXIST" +syn match autoitConst "\$FD_PATHMUSTEXIST" +syn match autoitConst "\$FD_MULTISELECT" +syn match autoitConst "\$FD_PROMPTCREATENEW" +syn match autoitConst "\$FD_PROMPTOVERWRITE" +" constants - keyboard +syn match autoitConst "\$KB_SENDSPECIAL" +syn match autoitConst "\$KB_SENDRAW" +syn match autoitConst "\$KB_CAPSOFF" +syn match autoitConst "\$KB_CAPSON" +" constants - message box +syn match autoitConst "\$MB_OK" +syn match autoitConst "\$MB_OKCANCEL" +syn match autoitConst "\$MB_ABORTRETRYIGNORE" +syn match autoitConst "\$MB_YESNOCANCEL" +syn match autoitConst "\$MB_YESNO" +syn match autoitConst "\$MB_RETRYCANCEL" +syn match autoitConst "\$MB_ICONHAND" +syn match autoitConst "\$MB_ICONQUESTION" +syn match autoitConst "\$MB_ICONEXCLAMATION" +syn match autoitConst "\$MB_ICONASTERISK" +syn match autoitConst "\$MB_DEFBUTTON1" +syn match autoitConst "\$MB_DEFBUTTON2" +syn match autoitConst "\$MB_DEFBUTTON3" +syn match autoitConst "\$MB_APPLMODAL" +syn match autoitConst "\$MB_SYSTEMMODAL" +syn match autoitConst "\$MB_TASKMODAL" +syn match autoitConst "\$MB_TOPMOST" +syn match autoitConst "\$MB_RIGHTJUSTIFIED" +syn match autoitConst "\$IDTIMEOUT" +syn match autoitConst "\$IDOK" +syn match autoitConst "\$IDCANCEL" +syn match autoitConst "\$IDABORT" +syn match autoitConst "\$IDRETRY" +syn match autoitConst "\$IDIGNORE" +syn match autoitConst "\$IDYES" +syn match autoitConst "\$IDNO" +syn match autoitConst "\$IDTRYAGAIN" +syn match autoitConst "\$IDCONTINUE" +" constants - progress and splash +syn match autoitConst "\$DLG_NOTITLE" +syn match autoitConst "\$DLG_NOTONTOP" +syn match autoitConst "\$DLG_TEXTLEFT" +syn match autoitConst "\$DLG_TEXTRIGHT" +syn match autoitConst "\$DLG_MOVEABLE" +syn match autoitConst "\$DLG_TEXTVCENTER" +" constants - tray tip +syn match autoitConst "\$TIP_ICONNONE" +syn match autoitConst "\$TIP_ICONASTERISK" +syn match autoitConst "\$TIP_ICONEXCLAMATION" +syn match autoitConst "\$TIP_ICONHAND" +syn match autoitConst "\$TIP_NOSOUND" +" constants - mouse +syn match autoitConst "\$IDC_UNKNOWN" +syn match autoitConst "\$IDC_APPSTARTING" +syn match autoitConst "\$IDC_ARROW" +syn match autoitConst "\$IDC_CROSS" +syn match autoitConst "\$IDC_HELP" +syn match autoitConst "\$IDC_IBEAM" +syn match autoitConst "\$IDC_ICON" +syn match autoitConst "\$IDC_NO" +syn match autoitConst "\$IDC_SIZE" +syn match autoitConst "\$IDC_SIZEALL" +syn match autoitConst "\$IDC_SIZENESW" +syn match autoitConst "\$IDC_SIZENS" +syn match autoitConst "\$IDC_SIZENWSE" +syn match autoitConst "\$IDC_SIZEWE" +syn match autoitConst "\$IDC_UPARROW" +syn match autoitConst "\$IDC_WAIT" +" constants - process +syn match autoitConst "\$SD_LOGOFF" +syn match autoitConst "\$SD_SHUTDOWN" +syn match autoitConst "\$SD_REBOOT" +syn match autoitConst "\$SD_FORCE" +syn match autoitConst "\$SD_POWERDOWN" +" constants - string +syn match autoitConst "\$STR_NOCASESENSE" +syn match autoitConst "\$STR_CASESENSE" +syn match autoitConst "\$STR_STRIPLEADING" +syn match autoitConst "\$STR_STRIPTRAILING" +syn match autoitConst "\$STR_STRIPSPACES" +syn match autoitConst "\$STR_STRIPALL" +" constants - tray +syn match autoitConst "\$TRAY_ITEM_EXIT" +syn match autoitConst "\$TRAY_ITEM_PAUSE" +syn match autoitConst "\$TRAY_ITEM_FIRST" +syn match autoitConst "\$TRAY_CHECKED" +syn match autoitConst "\$TRAY_UNCHECKED" +syn match autoitConst "\$TRAY_ENABLE" +syn match autoitConst "\$TRAY_DISABLE" +syn match autoitConst "\$TRAY_FOCUS" +syn match autoitConst "\$TRAY_DEFAULT" +syn match autoitConst "\$TRAY_EVENT_SHOWICON" +syn match autoitConst "\$TRAY_EVENT_HIDEICON" +syn match autoitConst "\$TRAY_EVENT_FLASHICON" +syn match autoitConst "\$TRAY_EVENT_NOFLASHICON" +syn match autoitConst "\$TRAY_EVENT_PRIMARYDOWN" +syn match autoitConst "\$TRAY_EVENT_PRIMARYUP" +syn match autoitConst "\$TRAY_EVENT_SECONDARYDOWN" +syn match autoitConst "\$TRAY_EVENT_SECONDARYUP" +syn match autoitConst "\$TRAY_EVENT_MOUSEOVER" +syn match autoitConst "\$TRAY_EVENT_MOUSEOUT" +syn match autoitConst "\$TRAY_EVENT_PRIMARYDOUBLE" +syn match autoitConst "\$TRAY_EVENT_SECONDARYDOUBLE" +" constants - stdio +syn match autoitConst "\$STDIN_CHILD" +syn match autoitConst "\$STDOUT_CHILD" +syn match autoitConst "\$STDERR_CHILD" +" constants - color +syn match autoitConst "\$COLOR_BLACK" +syn match autoitConst "\$COLOR_SILVER" +syn match autoitConst "\$COLOR_GRAY" +syn match autoitConst "\$COLOR_WHITE" +syn match autoitConst "\$COLOR_MAROON" +syn match autoitConst "\$COLOR_RED" +syn match autoitConst "\$COLOR_PURPLE" +syn match autoitConst "\$COLOR_FUCHSIA" +syn match autoitConst "\$COLOR_GREEN" +syn match autoitConst "\$COLOR_LIME" +syn match autoitConst "\$COLOR_OLIVE" +syn match autoitConst "\$COLOR_YELLOW" +syn match autoitConst "\$COLOR_NAVY" +syn match autoitConst "\$COLOR_BLUE" +syn match autoitConst "\$COLOR_TEAL" +syn match autoitConst "\$COLOR_AQUA" +" constants - reg value type +syn match autoitConst "\$REG_NONE" +syn match autoitConst "\$REG_SZ" +syn match autoitConst "\$REG_EXPAND_SZ" +syn match autoitConst "\$REG_BINARY" +syn match autoitConst "\$REG_DWORD" +syn match autoitConst "\$REG_DWORD_BIG_ENDIAN" +syn match autoitConst "\$REG_LINK" +syn match autoitConst "\$REG_MULTI_SZ" +syn match autoitConst "\$REG_RESOURCE_LIST" +syn match autoitConst "\$REG_FULL_RESOURCE_DESCRIPTOR" +syn match autoitConst "\$REG_RESOURCE_REQUIREMENTS_LIST" +" guiconstants - events and messages +syn match autoitConst "\$GUI_EVENT_CLOSE" +syn match autoitConst "\$GUI_EVENT_MINIMIZE" +syn match autoitConst "\$GUI_EVENT_RESTORE" +syn match autoitConst "\$GUI_EVENT_MAXIMIZE" +syn match autoitConst "\$GUI_EVENT_PRIMARYDOWN" +syn match autoitConst "\$GUI_EVENT_PRIMARYUP" +syn match autoitConst "\$GUI_EVENT_SECONDARYDOWN" +syn match autoitConst "\$GUI_EVENT_SECONDARYUP" +syn match autoitConst "\$GUI_EVENT_MOUSEMOVE" +syn match autoitConst "\$GUI_EVENT_RESIZED" +syn match autoitConst "\$GUI_EVENT_DROPPED" +syn match autoitConst "\$GUI_RUNDEFMSG" +" guiconstants - state +syn match autoitConst "\$GUI_AVISTOP" +syn match autoitConst "\$GUI_AVISTART" +syn match autoitConst "\$GUI_AVICLOSE" +syn match autoitConst "\$GUI_CHECKED" +syn match autoitConst "\$GUI_INDETERMINATE" +syn match autoitConst "\$GUI_UNCHECKED" +syn match autoitConst "\$GUI_DROPACCEPTED" +syn match autoitConst "\$GUI_DROPNOTACCEPTED" +syn match autoitConst "\$GUI_ACCEPTFILES" +syn match autoitConst "\$GUI_SHOW" +syn match autoitConst "\$GUI_HIDE" +syn match autoitConst "\$GUI_ENABLE" +syn match autoitConst "\$GUI_DISABLE" +syn match autoitConst "\$GUI_FOCUS" +syn match autoitConst "\$GUI_NOFOCUS" +syn match autoitConst "\$GUI_DEFBUTTON" +syn match autoitConst "\$GUI_EXPAND" +syn match autoitConst "\$GUI_ONTOP" +" guiconstants - font +syn match autoitConst "\$GUI_FONTITALIC" +syn match autoitConst "\$GUI_FONTUNDER" +syn match autoitConst "\$GUI_FONTSTRIKE" +" guiconstants - resizing +syn match autoitConst "\$GUI_DOCKAUTO" +syn match autoitConst "\$GUI_DOCKLEFT" +syn match autoitConst "\$GUI_DOCKRIGHT" +syn match autoitConst "\$GUI_DOCKHCENTER" +syn match autoitConst "\$GUI_DOCKTOP" +syn match autoitConst "\$GUI_DOCKBOTTOM" +syn match autoitConst "\$GUI_DOCKVCENTER" +syn match autoitConst "\$GUI_DOCKWIDTH" +syn match autoitConst "\$GUI_DOCKHEIGHT" +syn match autoitConst "\$GUI_DOCKSIZE" +syn match autoitConst "\$GUI_DOCKMENUBAR" +syn match autoitConst "\$GUI_DOCKSTATEBAR" +syn match autoitConst "\$GUI_DOCKALL" +syn match autoitConst "\$GUI_DOCKBORDERS" +" guiconstants - graphic +syn match autoitConst "\$GUI_GR_CLOSE" +syn match autoitConst "\$GUI_GR_LINE" +syn match autoitConst "\$GUI_GR_BEZIER" +syn match autoitConst "\$GUI_GR_MOVE" +syn match autoitConst "\$GUI_GR_COLOR" +syn match autoitConst "\$GUI_GR_RECT" +syn match autoitConst "\$GUI_GR_ELLIPSE" +syn match autoitConst "\$GUI_GR_PIE" +syn match autoitConst "\$GUI_GR_DOT" +syn match autoitConst "\$GUI_GR_PIXEL" +syn match autoitConst "\$GUI_GR_HINT" +syn match autoitConst "\$GUI_GR_REFRESH" +syn match autoitConst "\$GUI_GR_PENSIZE" +syn match autoitConst "\$GUI_GR_NOBKCOLOR" +" guiconstants - control default styles +syn match autoitConst "\$GUI_SS_DEFAULT_AVI" +syn match autoitConst "\$GUI_SS_DEFAULT_BUTTON" +syn match autoitConst "\$GUI_SS_DEFAULT_CHECKBOX" +syn match autoitConst "\$GUI_SS_DEFAULT_COMBO" +syn match autoitConst "\$GUI_SS_DEFAULT_DATE" +syn match autoitConst "\$GUI_SS_DEFAULT_EDIT" +syn match autoitConst "\$GUI_SS_DEFAULT_GRAPHIC" +syn match autoitConst "\$GUI_SS_DEFAULT_GROUP" +syn match autoitConst "\$GUI_SS_DEFAULT_ICON" +syn match autoitConst "\$GUI_SS_DEFAULT_INPUT" +syn match autoitConst "\$GUI_SS_DEFAULT_LABEL" +syn match autoitConst "\$GUI_SS_DEFAULT_LIST" +syn match autoitConst "\$GUI_SS_DEFAULT_LISTVIEW" +syn match autoitConst "\$GUI_SS_DEFAULT_MONTHCAL" +syn match autoitConst "\$GUI_SS_DEFAULT_PIC" +syn match autoitConst "\$GUI_SS_DEFAULT_PROGRESS" +syn match autoitConst "\$GUI_SS_DEFAULT_RADIO" +syn match autoitConst "\$GUI_SS_DEFAULT_SLIDER" +syn match autoitConst "\$GUI_SS_DEFAULT_TAB" +syn match autoitConst "\$GUI_SS_DEFAULT_TREEVIEW" +syn match autoitConst "\$GUI_SS_DEFAULT_UPDOWN" +syn match autoitConst "\$GUI_SS_DEFAULT_GUI" +" guiconstants - background color special flags +syn match autoitConst "\$GUI_BKCOLOR_DEFAULT" +syn match autoitConst "\$GUI_BKCOLOR_LV_ALTERNATE" +syn match autoitConst "\$GUI_BKCOLOR_TRANSPARENT" + +" registry constants +syn match autoitConst "\([\"\']\)REG_BINARY\1" +syn match autoitConst "\([\"\']\)REG_SZ\1" +syn match autoitConst "\([\"\']\)REG_MULTI_SZ\1" +syn match autoitConst "\([\"\']\)REG_EXPAND_SZ\1" +syn match autoitConst "\([\"\']\)REG_DWORD\1" + +" Define the default highlighting. +" Unused colors: Underlined, Ignore, Error, Todo +hi def link autoitFunction Statement " yellow/yellow +hi def link autoitKeyword Statement +hi def link autoitOperator Operator +hi def link autoitVarSelector Operator +hi def link autoitComment Comment " cyan/blue +hi def link autoitParen Comment +hi def link autoitComma Comment +hi def link autoitBracket Comment +hi def link autoitNumber Constant " magenta/red +hi def link autoitString Constant +hi def link autoitQuote Constant +hi def link autoitIncluded Constant +hi def link autoitCont Special " red/orange +hi def link autoitDoubledSingles Special +hi def link autoitDoubledDoubles Special +hi def link autoitCommDelimiter PreProc " blue/magenta +hi def link autoitInclude PreProc +hi def link autoitVariable Identifier " cyan/cyan +hi def link autoitBuiltin Type " green/green +hi def link autoitOption Type +hi def link autoitStyle Type +hi def link autoitConst Type +hi def link autoitSend Type + +syn sync minlines=50 + +let &cpo = s:keepcpo +unlet s:keepcpo diff --git a/uvim/runtime/syntax/autoit.vim b/uvim/runtime/syntax/autoit.vim deleted file mode 100644 index 6b6048aadc..0000000000 --- a/uvim/runtime/syntax/autoit.vim +++ /dev/null @@ -1,1125 +0,0 @@ -" Vim syntax file -" -" Language: AutoIt v3 (http://www.autoitscript.com/autoit3/) -" Maintainer: Jared Breland -" Authored By: Riccardo Casini -" Script URL: http://www.vim.org/scripts/script.php?script_id=1239 -" ChangeLog: Please visit the script URL for detailed change information -" Included change from #970. - -" Quit when a syntax file was already loaded. -if exists("b:current_syntax") - finish -endif -let s:keepcpo= &cpo -set cpo&vim - -let b:current_syntax = "autoit" - -" AutoIt is not case dependent -syn case ignore - -" Definitions for AutoIt reserved keywords -syn keyword autoitKeyword Default False True -syn keyword autoitKeyword Const Dim Global Local ReDim -syn keyword autoitKeyword If Else ElseIf Then EndIf -syn keyword autoitKeyword Select Switch Case EndSelect EndSwitch -syn keyword autoitKeyword Enum For In To Step Next -syn keyword autoitKeyword With While EndWith Wend Do Until -syn keyword autoitKeyword ContinueCase ContinueLoop ExitLoop Exit - -" inside script inclusion and global options -syn match autoitIncluded display contained "<[^>]*>" -syn match autoitInclude display "^\s*#\s*include\>\s*["<]" - \ contains=autoitIncluded,autoitString -syn match autoitInclude "^\s*#include-once\>" -syn match autoitInclude "^\s*#NoTrayIcon\>" -syn match autoitInclude "^\s*#RequireAdmin\>" - -" user-defined functions -syn keyword autoitKeyword Func ByRef EndFunc Return OnAutoItStart OnAutoItExit - -" built-in functions -" environment management -syn keyword autoitFunction ClipGet ClipPut EnvGet EnvSet EnvUpdate MemGetStats -" file, directory, and disk management -syn keyword autoitFunction ConsoleRead ConsoleWrite ConsoleWriteError -syn keyword autoitFunction DirCopy DirCreate DirGetSize DirMove DirRemove -syn keyword autoitFunction DriveGetDrive DriveGetFileSystem DriveGetLabel - \ DriveGetSerial DriveGetType DriveMapAdd DriveMapDel DriveMapGet - \ DriveSetLabel DriveSpaceFree DriveSpaceTotal DriveStatus -syn keyword autoitFunction FileChangeDir FileClose FileCopy FileCreateNTFSLink - \ FileCreateShortcut FileDelete FileExists FileFindFirstFile - \ FileFindNextFile FileGetAttrib FileGetLongName FileGetShortcut - \ FileGetShortName FileGetSize FileGetTime FileGetVersion FileInstall - \ FileMove FileOpen FileOpenDialog FileRead FileReadLine FileRecycle - \ FileRecycleEmpty FileSaveDialog FileSelectFolder FileSetAttrib - \ FileSetTime FileWrite FileWriteLine -syn keyword autoitFunction IniDelete IniRead IniReadSection IniReadSectionNames - \ IniRenameSection IniWrite IniWriteSection -syn keyword autoitFunction StderrRead StdinWrite StdoutRead -" graphic and sound -syn keyword autoitFunction Beep PixelChecksum PixelGetColor PixelSearch - \ SoundPlay SoundSetWaveVolume -" gui reference -syn keyword autoitFunction GUICreate GUIDelete GUICtrlGetHandle GUICtrlGetState - \ GUICtrlRead GUICtrlRecvMsg GUICtrlSendMsg GUICtrlSendToDummy - \ GUIGetCursorInfo GUIGetMsg GUIRegisterMsg GUIStartGroup GUISwitch -syn keyword autoitFunction GUICtrlCreateAvi GUICtrlCreateButton - \ GUICtrlCreateCheckbox GUICtrlCreateCombo GUICtrlCreateContextMenu - \ GUICtrlCreateDate GUICtrlCreateDummy GUICtrlCreateEdit - \ GUICtrlCreateGraphic GUICtrlCreateGroup GUICtrlCreateIcon - \ GUICtrlCreateInput GUICtrlCreateLabel GUICtrlCreateList - \ GUICtrlCreateListView GUICtrlCreateListViewItem GUICtrlCreateMenu - \ GUICtrlCreateMenuItem GUICtrlCreateMonthCal GUICtrlCreateObj - \ GUICtrlCreatePic GUICtrlCreateProgress GUICtrlCreateRadio - \ GUICtrlCreateSlider GUICtrlCreateTab GUICtrlCreateTabItem - \ GUICtrlCreateTreeView GUICtrlCreateTreeViewItem - \ GUICtrlCreateUpDown GUICtrlDelete -syn keyword autoitFunction GUICtrlRegisterListViewSort GUICtrlSetBkColor - \ GUICtrlSetColor GUICtrlSetCursor GUICtrlSetData GUICtrlSetFont - \ GUICtrlSetGraphic GUICtrlSetImage GUICtrlSetLimit GUICtrlSetOnEvent - \ GUICtrlSetPos GUICtrlSetResizing GUICtrlSetState GUICtrlSetStyle - \ GUICtrlSetTip -syn keyword autoitFunction GUISetBkColor GUISetCoord GUISetCursor GUISetFont - \ GUISetHelp GUISetIcon GUISetOnEvent GUISetState -" keyboard control -syn keyword autoitFunction HotKeySet Send -" math -syn keyword autoitFunction Abs ACos ASin ATan BitAND BitNOT BitOR BitRotate - \ BitShift BitXOR Cos Ceiling Exp Floor Log Mod Random Round Sin Sqrt - \ SRandom Tan -" message boxes and dialogs -syn keyword autoitFunction InputBox MsgBox ProgressOff ProgressOn ProgressSet - \ SplashImageOn SplashOff SplashTextOn ToolTip -" miscellaneous -syn keyword autoitFunction AdlibDisable AdlibEnable AutoItSetOption - \ AutoItWinGetTitle AutoItWinSetTitle BlockInput Break Call CDTray - \ Execute Opt SetError SetExtended -" mouse control -syn keyword autoitFunction MouseClick MouseClickDrag MouseDown MouseGetCursor - \ MouseGetPos MouseMove MouseUp MouseWheel -" network -syn keyword autoitFunction FtpSetProxy HttpSetProxy InetGet InetGetSize Ping - \ TCPAccept TCPCloseSocket TCPConnect TCPListen TCPNameToIp TCPRecv - \ TCPSend TCPShutDown TCPStartup UDPBind UDPCloseSocket UDPOpen UDPRecv - \ UDPSend UDPShutdown UDPStartup -" obj/com reference -syn keyword autoitFunction ObjCreate ObjEvent ObjGet ObjName -" process management -syn keyword autoitFunction DllCall DllClose DllOpen DllStructCreate - \ DllStructGetData DllStructGetPtr DllStructGetSize DllStructSetData - \ ProcessClose ProcessExists ProcessSetPriority ProcessList ProcessWait - \ ProcessWaitClose Run RunAsSet RunWait ShellExecute ShellExecuteWait - \ Shutdown - " removed from 3.2.0 docs - PluginClose PluginOpen -" registry management -syn keyword autoitFunction RegDelete RegEnumKey RegEnumVal RegRead RegWrite -" string management -syn keyword autoitFunction StringAddCR StringFormat StringInStr StringIsAlNum - \ StringIsAlpha StringIsASCII StringIsDigit StringIsFloat StringIsInt - \ StringIsLower StringIsSpace StringIsUpper StringIsXDigit StringLeft - \ StringLen StringLower StringMid StringRegExp StringRegExpReplace - \ StringReplace StringRight StringSplit StringStripCR StringStripWS - \ StringTrimLeft StringTrimRight StringUpper -" timer and delay -syn keyword autoitFunction Sleep TimerInit TimerDiff -" tray -syn keyword autoitFunction TrayCreateItem TrayCreateMenu TrayItemDelete - \ TrayItemGetHandle TrayItemGetState TrayItemGetText TrayItemSetOnEvent - \ TrayItemSetState TrayItemSetText TrayGetMsg TraySetClick TraySetIcon - \ TraySetOnEvent TraySetPauseIcon TraySetState TraySetToolTip TrayTip -" variables and conversions -syn keyword autoitFunction Asc Assign Binary Chr Dec Eval Hex HWnd Int IsAdmin - \ IsArray IsBinaryString IsBool IsDeclared IsDllStruct IsFloat IsHWnd - \ IsInt IsKeyword IsNumber IsObj IsString Number String UBound -" window management -syn keyword autoitFunction WinActivate WinActive WinClose WinExists WinFlash - \ WinGetCaretPos WinGetClassList WinGetClientSize WinGetHandle WinGetPos - \ WinGetProcess WinGetState WinGetText WinGetTitle WinKill WinList - \ WinMenuSelectItem WinMinimizeAll WinMinimizeAllUndo WinMove - \ WinSetOnTop WinSetState WinSetTitle WinSetTrans WinWait WinWaitActive - \ WinWaitClose WinWaitNotActive -syn keyword autoitFunction ControlClick ControlCommand ControlDisable - \ ControlEnable ControlFocus ControlGetFocus ControlGetHandle - \ ControlGetPos ControlGetText ControlHide ControlListView ControlMove - \ ControlSend ControlSetText ControlShow StatusBarGetText - -" user defined functions -" array -syn keyword autoitFunction _ArrayAdd _ArrayBinarySearch _ArrayCreate - \ _ArrayDelete _ArrayDisplay _ArrayInsert _ArrayMax _ArrayMaxIndex - \ _ArrayMin _ArrayMinIndex _ArrayPop _ArrayPush _ArrayReverse - \ _ArraySearch _ArraySort _ArraySwap _ArrayToClip _ArrayToString - \ _ArrayTrim -" color -syn keyword autoitFunction _ColorgetBlue _ColorGetGreen _ColorGetRed -" date -syn keyword autoitFunction _DateAdd _DateDayOfWeek _DateDaysInMonth _DateDiff - \ _DateIsLeapYear _DateIsValid _DateTimeFormat _DateTimeSplit - \ _DateToDayOfWeek _ToDayOfWeekISO _DateToDayValue _DayValueToDate _Now - \ _NowCalc _NowCalcDate _NowDate _NowTime _SetDate _SetTime _TicksToTime - \ _TimeToTicks _WeekNumberISO -" file -syn keyword autoitFunction _FileCountLines _FileCreate _FileListToArray - \ _FilePrint _FileReadToArray _FileWriteFromArray _FileWriteLog - \ _FileWriteToLine _PathFull _PathMake _PathSplit _ReplaceStringInFile - \ _TempFile -" guicombo -syn keyword autoitFunction _GUICtrlComboAddDir _GUICtrlComboAddString - \ _GUICtrlComboAutoComplete _GUICtrlComboDeleteString - \ _GUICtrlComboFindString _GUICtrlComboGetCount _GUICtrlComboGetCurSel - \ _GUICtrlComboGetDroppedControlRect _GUICtrlComboGetDroppedState - \ _GUICtrlComboGetDroppedWidth _GUICtrlComboGetEditSel - \ _GUICtrlComboGetExtendedUI _GUICtrlComboGetHorizontalExtent - \ _GUICtrlComboGetItemHeight _GUICtrlComboGetLBText - \ _GUICtrlComboGetLBTextLen _GUICtrlComboGetList _GUICtrlComboGetLocale - \ _GUICtrlComboGetMinVisible _GUICtrlComboGetTopIndex - \ _GUICtrlComboInitStorage _GUICtrlComboInsertString - \ _GUICtrlComboLimitText _GUICtrlComboResetContent - \ _GUICtrlComboSelectString _GUICtrlComboSetCurSel - \ _GUICtrlComboSetDroppedWidth _GUICtrlComboSetEditSel - \ _GUICtrlComboSetExtendedUI _GUICtrlComboSetHorizontalExtent - \ _GUICtrlComboSetItemHeight _GUICtrlComboSetMinVisible - \ _GUICtrlComboSetTopIndex _GUICtrlComboShowDropDown -" guiedit -syn keyword autoitFunction _GUICtrlEditCanUndo _GUICtrlEditEmptyUndoBuffer - \ _GuiCtrlEditFind _GUICtrlEditGetFirstVisibleLine _GUICtrlEditGetLine - \ _GUICtrlEditGetLineCount _GUICtrlEditGetModify _GUICtrlEditGetRect - \ _GUICtrlEditGetSel _GUICtrlEditLineFromChar _GUICtrlEditLineIndex - \ _GUICtrlEditLineLength _GUICtrlEditLineScroll _GUICtrlEditReplaceSel - \ _GUICtrlEditScroll _GUICtrlEditSetModify _GUICtrlEditSetRect - \ _GUICtrlEditSetSel _GUICtrlEditUndo -" guiipaddress -syn keyword autoitFunction _GUICtrlIpAddressClear _GUICtrlIpAddressCreate - \ _GUICtrlIpAddressDelete _GUICtrlIpAddressGet _GUICtrlIpAddressIsBlank - \ _GUICtrlIpAddressSet _GUICtrlIpAddressSetFocus - \ _GUICtrlIpAddressSetFont - \ _GUICtrlIpAddressSetRange _GUICtrlIpAddressShowHide -" guilist -syn keyword autoitFunction _GUICtrlListAddDir _GUICtrlListAddItem - \ _GUICtrlListClear - \ _GUICtrlListCount _GUICtrlListDeleteItem _GUICtrlListFindString - \ _GUICtrlListGetAnchorIndex _GUICtrlListGetCaretIndex - \ _GUICtrlListGetHorizontalExtent _GUICtrlListGetInfo - \ _GUICtrlListGetItemRect _GUICtrlListGetLocale _GUICtrlListGetSelCount - \ _GUICtrlListGetSelItems _GUICtrlListGetSelItemsText - \ _GUICtrlListGetSelState _GUICtrlListGetText _GUICtrlListGetTextLen - \ _GUICtrlListGetTopIndex _GUICtrlListInsertItem - \ _GUICtrlListReplaceString _GUICtrlListSelectedIndex - \ _GUICtrlListSelectIndex _GUICtrlListSelectString - \ _GUICtrlListSelItemRange _GUICtrlListSelItemRangeEx - \ _GUICtrlListSetAnchorIndex _GUICtrlListSetCaretIndex - \ _GUICtrlListSetHorizontalExtent _GUICtrlListSetLocale - \ _GUICtrlListSetSel _GUICtrlListSetTopIndex _GUICtrlListSort - \ _GUICtrlListSwapString -" guilistview -syn keyword autoitFunction _GUICtrlListViewCopyItems - \ _GUICtrlListViewDeleteAllItems _GUICtrlListViewDeleteColumn - \ _GUICtrlListViewDeleteItem _GUICtrlListViewDeleteItemsSelected - \ _GUICtrlListViewEnsureVisible _GUICtrlListViewFindItem - \ _GUICtrlListViewGetBackColor _GUICtrlListViewGetCallBackMask - \ _GUICtrlListViewGetCheckedState _GUICtrlListViewGetColumnOrder - \ _GUICtrlListViewGetColumnWidth _GUICtrlListViewGetCounterPage - \ _GUICtrlListViewGetCurSel _GUICtrlListViewGetExtendedListViewStyle - \ _GUICtrlListViewGetHeader _GUICtrlListViewGetHotCursor - \ _GUICtrlListViewGetHotItem _GUICtrlListViewGetHoverTime - \ _GUICtrlListViewGetItemCount _GUICtrlListViewGetItemText - \ _GUICtrlListViewGetItemTextArray _GUICtrlListViewGetNextItem - \ _GUICtrlListViewGetSelectedCount _GUICtrlListViewGetSelectedIndices - \ _GUICtrlListViewGetSubItemsCount _GUICtrlListViewGetTopIndex - \ _GUICtrlListViewGetUnicodeFormat _GUICtrlListViewHideColumn - \ _GUICtrlListViewInsertColumn _GUICtrlListViewInsertItem - \ _GUICtrlListViewJustifyColumn _GUICtrlListViewScroll - \ _GUICtrlListViewSetCheckState _GUICtrlListViewSetColumnHeaderText - \ _GUICtrlListViewSetColumnOrder _GUICtrlListViewSetColumnWidth - \ _GUICtrlListViewSetHotItem _GUICtrlListViewSetHoverTime - \ _GUICtrlListViewSetItemCount _GUICtrlListViewSetItemSelState - \ _GUICtrlListViewSetItemText _GUICtrlListViewSort -" guimonthcal -syn keyword autoitFunction _GUICtrlMonthCalGet1stDOW _GUICtrlMonthCalGetColor - \ _GUICtrlMonthCalGetDelta _GUICtrlMonthCalGetMaxSelCount - \ _GUICtrlMonthCalGetMaxTodayWidth _GUICtrlMonthCalGetMinReqRect - \ _GUICtrlMonthCalSet1stDOW _GUICtrlMonthCalSetColor - \ _GUICtrlMonthCalSetDelta _GUICtrlMonthCalSetMaxSelCount -" guislider -syn keyword autoitFunction _GUICtrlSliderClearTics _GUICtrlSliderGetLineSize - \ _GUICtrlSliderGetNumTics _GUICtrlSliderGetPageSize - \ _GUICtrlSliderGetPos _GUICtrlSliderGetRangeMax - \ _GUICtrlSliderGetRangeMin _GUICtrlSliderSetLineSize - \ _GUICtrlSliderSetPageSize _GUICtrlSliderSetPos - \ _GUICtrlSliderSetTicFreq -" guistatusbar -syn keyword autoitFunction _GuiCtrlStatusBarCreate - \ _GUICtrlStatusBarCreateProgress _GUICtrlStatusBarDelete - \ _GuiCtrlStatusBarGetBorders _GuiCtrlStatusBarGetIcon - \ _GuiCtrlStatusBarGetParts _GuiCtrlStatusBarGetRect - \ _GuiCtrlStatusBarGetText _GuiCtrlStatusBarGetTextLength - \ _GuiCtrlStatusBarGetTip _GuiCtrlStatusBarGetUnicode - \ _GUICtrlStatusBarIsSimple _GuiCtrlStatusBarResize - \ _GuiCtrlStatusBarSetBKColor _GuiCtrlStatusBarSetIcon - \ _GuiCtrlStatusBarSetMinHeight _GUICtrlStatusBarSetParts - \ _GuiCtrlStatusBarSetSimple _GuiCtrlStatusBarSetText - \ _GuiCtrlStatusBarSetTip _GuiCtrlStatusBarSetUnicode - \ _GUICtrlStatusBarShowHide -" guitab -syn keyword autoitFunction _GUICtrlTabDeleteAllItems _GUICtrlTabDeleteItem - \ _GUICtrlTabDeselectAll _GUICtrlTabGetCurFocus _GUICtrlTabGetCurSel - \ _GUICtrlTabGetExtendedStyle _GUICtrlTabGetItemCount - \ _GUICtrlTabGetItemRect _GUICtrlTabGetRowCount - \ _GUICtrlTabGetUnicodeFormat _GUICtrlTabHighlightItem - \ _GUICtrlTabSetCurFocus _GUICtrlTabSetCurSel - \ _GUICtrlTabSetMinTabWidth _GUICtrlTabSetUnicodeFormat -" guitreeview -syn keyword autoitFunction _GUICtrlTreeViewDeleteAllItems - \ _GUICtrlTreeViewDeleteItem _GUICtrlTreeViewExpand - \ _GUICtrlTreeViewGetBkColor _GUICtrlTreeViewGetCount - \ _GUICtrlTreeViewGetIndent _GUICtrlTreeViewGetLineColor - \ _GUICtrlTreeViewGetParentHandle _GUICtrlTreeViewGetParentID - \ _GUICtrlTreeViewGetState _GUICtrlTreeViewGetText - \ _GUICtrlTreeViewGetTextColor _GUICtrlTreeViewItemGetTree - \ _GUICtrlTreeViewInsertItem _GUICtrlTreeViewSetBkColor - \ _GUICtrlTreeViewSetIcon _GUICtrlTreeViewSetIndent - \ _GUICtrlTreeViewSetLineColor GUICtrlTreeViewSetState - \ _GUICtrlTreeViewSetText _GUICtrlTreeViewSetTextColor - \ _GUICtrlTreeViewSort -" ie -syn keyword autoitFunction _IE_Example _IE_Introduction _IE_VersionInfo - \ _IEAction _IEAttach _IEBodyReadHTML _IEBodyReadText _IEBodyWriteHTML - \ _IECreate _IECreateEmbedded _IEDocGetObj _IEDocInsertHTML - \ _IEDocInsertText _IEDocReadHTML _IEDocWriteHTML - \ _IEErrorHandlerDeRegister _IEErrorHandlerRegister _IEErrorNotify - \ _IEFormElementCheckboxSelect _IEFormElementGetCollection - \ _IEFormElementGetObjByName _IEFormElementGetValue - \ _IEFormElementOptionSelect _IEFormElementRadioSelect - \ _IEFormElementSetValue _IEFormGetCollection _IEFormGetObjByName - \ _IEFormImageClick _IEFormReset _IEFormSubmit _IEFrameGetCollection - \ _IEFrameGetObjByName _IEGetObjByName _IEHeadInsertEventScript - \ _IEImgClick _IEImgGetCollection _IEIsFrameSet _IELinkClickByIndex - \ _IELinkClickByText _IELinkGetCollection _IELoadWait _IELoadWaitTimeout - \ _IENavigate _IEPropertyGet _IEPropertySet _IEQuit - \ _IETableGetCollection _IETableWriteToArray _IETagNameAllGetCollection - \ _IETagNameGetCollection -" inet -syn keyword autoitFunction _GetIP _INetExplorerCapable _INetGetSource _INetMail - \ _INetSmtpMail _TCPIpToName -" math -syn keyword autoitFunction _Degree _MathCheckDiv _Max _Min _Radian -" miscellaneous -syn keyword autoitFunction _ChooseColor _ChooseFont _ClipPutFile _Iif - \ _IsPressed _MouseTrap _SendMessage _Singleton -" process -syn keyword autoitFunction _ProcessGetName _ProcessGetPriority _RunDOS -" sound -syn keyword autoitFunction _SoundClose _SoundLength _SoundOpen _SoundPause - \ _SoundPlay _SoundPos _SoundResume _SoundSeek _SoundStatus _SoundStop -" sqlite -syn keyword autoitFunction _SQLite_Changes _SQLite_Close - \ _SQLite_Display2DResult _SQLite_Encode _SQLite_ErrCode _SQLite_ErrMsg - \ _SQLite_Escape _SQLite_Exec _SQLite_FetchData _SQLite_FetchNames - \ _SQLite_GetTable _SQLite_GetTable2D _SQLite_LastInsertRowID - \ _SQLite_LibVersion _SQLite_Open _SQLite_Query _SQLite_QueryFinalize - \ _SQLite_QueryReset _SQLite_QuerySingleRow _SQLite_SaveMode - \ _SQLite_SetTimeout _SQLite_Shutdown _SQLite_SQLiteExe _SQLite_Startup - \ _SQLite_TotalChanges -" string -syn keyword autoitFunction _HexToString _StringAddComma _StringBetween - \ _StringEncrypt _StringInsert _StringProper _StringRepeat - \ _StringReverse _StringToHex -" visa -syn keyword autoitFunction _viClose _viExecCommand _viFindGpib _viGpibBusReset - \ _viGTL _viOpen _viSetAttribute _viSetTimeout - -" read-only macros -syn match autoitBuiltin "@AppData\(Common\)\=Dir" -syn match autoitBuiltin "@AutoItExe" -syn match autoitBuiltin "@AutoItPID" -syn match autoitBuiltin "@AutoItVersion" -syn match autoitBuiltin "@COM_EventObj" -syn match autoitBuiltin "@CommonFilesDir" -syn match autoitBuiltin "@Compiled" -syn match autoitBuiltin "@ComputerName" -syn match autoitBuiltin "@ComSpec" -syn match autoitBuiltin "@CR\(LF\)\=" -syn match autoitBuiltin "@Desktop\(Common\)\=Dir" -syn match autoitBuiltin "@DesktopDepth" -syn match autoitBuiltin "@DesktopHeight" -syn match autoitBuiltin "@DesktopRefresh" -syn match autoitBuiltin "@DesktopWidth" -syn match autoitBuiltin "@DocumentsCommonDir" -syn match autoitBuiltin "@Error" -syn match autoitBuiltin "@ExitCode" -syn match autoitBuiltin "@ExitMethod" -syn match autoitBuiltin "@Extended" -syn match autoitBuiltin "@Favorites\(Common\)\=Dir" -syn match autoitBuiltin "@GUI_CtrlId" -syn match autoitBuiltin "@GUI_CtrlHandle" -syn match autoitBuiltin "@GUI_DragId" -syn match autoitBuiltin "@GUI_DragFile" -syn match autoitBuiltin "@GUI_DropId" -syn match autoitBuiltin "@GUI_WinHandle" -syn match autoitBuiltin "@HomeDrive" -syn match autoitBuiltin "@HomePath" -syn match autoitBuiltin "@HomeShare" -syn match autoitBuiltin "@HOUR" -syn match autoitBuiltin "@HotKeyPressed" -syn match autoitBuiltin "@InetGetActive" -syn match autoitBuiltin "@InetGetBytesRead" -syn match autoitBuiltin "@IPAddress[1234]" -syn match autoitBuiltin "@KBLayout" -syn match autoitBuiltin "@LF" -syn match autoitBuiltin "@Logon\(DNS\)\=Domain" -syn match autoitBuiltin "@LogonServer" -syn match autoitBuiltin "@MDAY" -syn match autoitBuiltin "@MIN" -syn match autoitBuiltin "@MON" -syn match autoitBuiltin "@MyDocumentsDir" -syn match autoitBuiltin "@NumParams" -syn match autoitBuiltin "@OSBuild" -syn match autoitBuiltin "@OSLang" -syn match autoitBuiltin "@OSServicePack" -syn match autoitBuiltin "@OSTYPE" -syn match autoitBuiltin "@OSVersion" -syn match autoitBuiltin "@ProcessorArch" -syn match autoitBuiltin "@ProgramFilesDir" -syn match autoitBuiltin "@Programs\(Common\)\=Dir" -syn match autoitBuiltin "@ScriptDir" -syn match autoitBuiltin "@ScriptFullPath" -syn match autoitBuiltin "@ScriptLineNumber" -syn match autoitBuiltin "@ScriptName" -syn match autoitBuiltin "@SEC" -syn match autoitBuiltin "@StartMenu\(Common\)\=Dir" -syn match autoitBuiltin "@Startup\(Common\)\=Dir" -syn match autoitBuiltin "@SW_DISABLE" -syn match autoitBuiltin "@SW_ENABLE" -syn match autoitBuiltin "@SW_HIDE" -syn match autoitBuiltin "@SW_LOCK" -syn match autoitBuiltin "@SW_MAXIMIZE" -syn match autoitBuiltin "@SW_MINIMIZE" -syn match autoitBuiltin "@SW_RESTORE" -syn match autoitBuiltin "@SW_SHOW" -syn match autoitBuiltin "@SW_SHOWDEFAULT" -syn match autoitBuiltin "@SW_SHOWMAXIMIZED" -syn match autoitBuiltin "@SW_SHOWMINIMIZED" -syn match autoitBuiltin "@SW_SHOWMINNOACTIVE" -syn match autoitBuiltin "@SW_SHOWNA" -syn match autoitBuiltin "@SW_SHOWNOACTIVATE" -syn match autoitBuiltin "@SW_SHOWNORMAL" -syn match autoitBuiltin "@SW_UNLOCK" -syn match autoitBuiltin "@SystemDir" -syn match autoitBuiltin "@TAB" -syn match autoitBuiltin "@TempDir" -syn match autoitBuiltin "@TRAY_ID" -syn match autoitBuiltin "@TrayIconFlashing" -syn match autoitBuiltin "@TrayIconVisible" -syn match autoitBuiltin "@UserProfileDir" -syn match autoitBuiltin "@UserName" -syn match autoitBuiltin "@WDAY" -syn match autoitBuiltin "@WindowsDir" -syn match autoitBuiltin "@WorkingDir" -syn match autoitBuiltin "@YDAY" -syn match autoitBuiltin "@YEAR" - -"comments and commenting-out -syn match autoitComment ";.*" -"in this way also #ce alone will be highlighted -syn match autoitCommDelimiter "^\s*#comments-start\>" -syn match autoitCommDelimiter "^\s*#cs\>" -syn match autoitCommDelimiter "^\s*#comments-end\>" -syn match autoitCommDelimiter "^\s*#ce\>" -syn region autoitComment - \ matchgroup=autoitCommDelimiter - \ start="^\s*#comments-start\>" start="^\s*#cs\>" - \ end="^\s*#comments-end\>" end="^\s*#ce\>" - -"one character operators -syn match autoitOperator "[-+*/&^=<>][^-+*/&^=<>]"me=e-1 -"two characters operators -syn match autoitOperator "==[^=]"me=e-1 -syn match autoitOperator "<>" -syn match autoitOperator "<=" -syn match autoitOperator ">=" -syn match autoitOperator "+=" -syn match autoitOperator "-=" -syn match autoitOperator "*=" -syn match autoitOperator "/=" -syn match autoitOperator "&=" -syn keyword autoitOperator NOT AND OR - -syn match autoitParen "(\|)" -syn match autoitBracket "\[\|\]" -syn match autoitComma "," - -"numbers must come after operator '-' -"decimal numbers without a dot -syn match autoitNumber "-\=\<\d\+\>" -"hexadecimal numbers without a dot -syn match autoitNumber "-\=\<0x\x\+\>" -"floating point number with dot (inside or at end) - -syn match autoitNumber "-\=\<\d\+\.\d*\>" -"floating point number, starting with a dot -syn match autoitNumber "-\=\<\.\d\+\>" -"scientific notation numbers without dots -syn match autoitNumber "-\=\<\d\+e[-+]\=\d\+\>" -"scientific notation numbers with dots -syn match autoitNumber "-\=\<\(\(\d\+\.\d*\)\|\(\.\d\+\)\)\(e[-+]\=\d\+\)\=\>" - -"string constants -"we want the escaped quotes marked in red -syn match autoitDoubledSingles +''+ contained -syn match autoitDoubledDoubles +""+ contained -"we want the continuation character marked in red -"(also at the top level, not just contained) -syn match autoitCont "_$" - -" send key list - must be defined before autoitStrings -syn match autoitSend "{!}" contained -syn match autoitSend "{#}" contained -syn match autoitSend "{+}" contained -syn match autoitSend "{^}" contained -syn match autoitSend "{{}" contained -syn match autoitSend "{}}" contained -syn match autoitSend "{SPACE}" contained -syn match autoitSend "{ENTER}" contained -syn match autoitSend "{ALT}" contained -syn match autoitSend "{BACKSPACE}" contained -syn match autoitSend "{BS}" contained -syn match autoitSend "{DELETE}" contained -syn match autoitSend "{DEL}" contained -syn match autoitSend "{UP}" contained -syn match autoitSend "{DOWN}" contained -syn match autoitSend "{LEFT}" contained -syn match autoitSend "{RIGHT}" contained -syn match autoitSend "{HOME}" contained -syn match autoitSend "{END}" contained -syn match autoitSend "{ESCAPE}" contained -syn match autoitSend "{ESC}" contained -syn match autoitSend "{INSERT}" contained -syn match autoitSend "{INS}" contained -syn match autoitSend "{PGUP}" contained -syn match autoitSend "{PGDN}" contained -syn match autoitSend "{F1}" contained -syn match autoitSend "{F2}" contained -syn match autoitSend "{F3}" contained -syn match autoitSend "{F4}" contained -syn match autoitSend "{F5}" contained -syn match autoitSend "{F6}" contained -syn match autoitSend "{F7}" contained -syn match autoitSend "{F8}" contained -syn match autoitSend "{F9}" contained -syn match autoitSend "{F10}" contained -syn match autoitSend "{F11}" contained -syn match autoitSend "{F12}" contained -syn match autoitSend "{TAB}" contained -syn match autoitSend "{PRINTSCREEN}" contained -syn match autoitSend "{LWIN}" contained -syn match autoitSend "{RWIN}" contained -syn match autoitSend "{NUMLOCK}" contained -syn match autoitSend "{CTRLBREAK}" contained -syn match autoitSend "{PAUSE}" contained -syn match autoitSend "{CAPSLOCK}" contained -syn match autoitSend "{NUMPAD0}" contained -syn match autoitSend "{NUMPAD1}" contained -syn match autoitSend "{NUMPAD2}" contained -syn match autoitSend "{NUMPAD3}" contained -syn match autoitSend "{NUMPAD4}" contained -syn match autoitSend "{NUMPAD5}" contained -syn match autoitSend "{NUMPAD6}" contained -syn match autoitSend "{NUMPAD7}" contained -syn match autoitSend "{NUMPAD8}" contained -syn match autoitSend "{NUMPAD9}" contained -syn match autoitSend "{NUMPADMULT}" contained -syn match autoitSend "{NUMPADADD}" contained -syn match autoitSend "{NUMPADSUB}" contained -syn match autoitSend "{NUMPADDIV}" contained -syn match autoitSend "{NUMPADDOT}" contained -syn match autoitSend "{NUMPADENTER}" contained -syn match autoitSend "{APPSKEY}" contained -syn match autoitSend "{LALT}" contained -syn match autoitSend "{RALT}" contained -syn match autoitSend "{LCTRL}" contained -syn match autoitSend "{RCTRL}" contained -syn match autoitSend "{LSHIFT}" contained -syn match autoitSend "{RSHIFT}" contained -syn match autoitSend "{SLEEP}" contained -syn match autoitSend "{ALTDOWN}" contained -syn match autoitSend "{SHIFTDOWN}" contained -syn match autoitSend "{CTRLDOWN}" contained -syn match autoitSend "{LWINDOWN}" contained -syn match autoitSend "{RWINDOWN}" contained -syn match autoitSend "{ASC \d\d\d\d}" contained -syn match autoitSend "{BROWSER_BACK}" contained -syn match autoitSend "{BROWSER_FORWARD}" contained -syn match autoitSend "{BROWSER_REFRESH}" contained -syn match autoitSend "{BROWSER_STOP}" contained -syn match autoitSend "{BROWSER_SEARCH}" contained -syn match autoitSend "{BROWSER_FAVORITES}" contained -syn match autoitSend "{BROWSER_HOME}" contained -syn match autoitSend "{VOLUME_MUTE}" contained -syn match autoitSend "{VOLUME_DOWN}" contained -syn match autoitSend "{VOLUME_UP}" contained -syn match autoitSend "{MEDIA_NEXT}" contained -syn match autoitSend "{MEDIA_PREV}" contained -syn match autoitSend "{MEDIA_STOP}" contained -syn match autoitSend "{MEDIA_PLAY_PAUSE}" contained -syn match autoitSend "{LAUNCH_MAIL}" contained -syn match autoitSend "{LAUNCH_MEDIA}" contained -syn match autoitSend "{LAUNCH_APP1}" contained -syn match autoitSend "{LAUNCH_APP2}" contained - -"this was tricky! -"we use an oneline region, instead of a match, in order to use skip= -"matchgroup= so start and end quotes are not considered as au3Doubled -"contained -syn region autoitString oneline contains=autoitSend matchgroup=autoitQuote start=+"+ - \ end=+"+ end=+_\n\{1}.*"+ - \ contains=autoitCont,autoitDoubledDoubles skip=+""+ -syn region autoitString oneline matchgroup=autoitQuote start=+'+ - \ end=+'+ end=+_\n\{1}.*'+ - \ contains=autoitCont,autoitDoubledSingles skip=+''+ - -syn match autoitVarSelector "\$" contained display -syn match autoitVariable "$\w\+" contains=autoitVarSelector - -" options - must be defined after autoitStrings -syn match autoitOption "\([\"\']\)CaretCoordMode\1" -syn match autoitOption "\([\"\']\)ColorMode\1" -syn match autoitOption "\([\"\']\)ExpandEnvStrings\1" -syn match autoitOption "\([\"\']\)ExpandVarStrings\1" -syn match autoitOption "\([\"\']\)FtpBinaryMode\1" -syn match autoitOption "\([\"\']\)GUICloseOnEsc\1" -syn match autoitOption "\([\"\']\)GUICoordMode\1" -syn match autoitOption "\([\"\']\)GUIDataSeparatorChar\1" -syn match autoitOption "\([\"\']\)GUIOnEventMode\1" -syn match autoitOption "\([\"\']\)GUIResizeMode\1" -syn match autoitOption "\([\"\']\)GUIEventCompatibilityMode\1" -syn match autoitOption "\([\"\']\)MouseClickDelay\1" -syn match autoitOption "\([\"\']\)MouseClickDownDelay\1" -syn match autoitOption "\([\"\']\)MouseClickDragDelay\1" -syn match autoitOption "\([\"\']\)MouseCoordMode\1" -syn match autoitOption "\([\"\']\)MustDeclareVars\1" -syn match autoitOption "\([\"\']\)OnExitFunc\1" -syn match autoitOption "\([\"\']\)PixelCoordMode\1" -syn match autoitOption "\([\"\']\)RunErrorsFatal\1" -syn match autoitOption "\([\"\']\)SendAttachMode\1" -syn match autoitOption "\([\"\']\)SendCapslockMode\1" -syn match autoitOption "\([\"\']\)SendKeyDelay\1" -syn match autoitOption "\([\"\']\)SendKeyDownDelay\1" -syn match autoitOption "\([\"\']\)TCPTimeout\1" -syn match autoitOption "\([\"\']\)TrayAutoPause\1" -syn match autoitOption "\([\"\']\)TrayIconDebug\1" -syn match autoitOption "\([\"\']\)TrayIconHide\1" -syn match autoitOption "\([\"\']\)TrayMenuMode\1" -syn match autoitOption "\([\"\']\)TrayOnEventMode\1" -syn match autoitOption "\([\"\']\)WinDetectHiddenText\1" -syn match autoitOption "\([\"\']\)WinSearchChildren\1" -syn match autoitOption "\([\"\']\)WinTextMatchMode\1" -syn match autoitOption "\([\"\']\)WinTitleMatchMode\1" -syn match autoitOption "\([\"\']\)WinWaitDelay\1" - -" styles - must be defined after autoitVariable -" common -syn match autoitStyle "\$WS_BORDER" -syn match autoitStyle "\$WS_POPUP" -syn match autoitStyle "\$WS_CAPTION" -syn match autoitStyle "\$WS_CLIPCHILDREN" -syn match autoitStyle "\$WS_CLIPSIBLINGS" -syn match autoitStyle "\$WS_DISABLED" -syn match autoitStyle "\$WS_DLGFRAME" -syn match autoitStyle "\$WS_HSCROLL" -syn match autoitStyle "\$WS_MAXIMIZE" -syn match autoitStyle "\$WS_MAXIMIZEBOX" -syn match autoitStyle "\$WS_MINIMIZE" -syn match autoitStyle "\$WS_MINIMIZEBOX" -syn match autoitStyle "\$WS_OVERLAPPED" -syn match autoitStyle "\$WS_OVERLAPPEDWINDOW" -syn match autoitStyle "\$WS_POPUPWINDOW" -syn match autoitStyle "\$WS_SIZEBOX" -syn match autoitStyle "\$WS_SYSMENU" -syn match autoitStyle "\$WS_THICKFRAME" -syn match autoitStyle "\$WS_VSCROLL" -syn match autoitStyle "\$WS_VISIBLE" -syn match autoitStyle "\$WS_CHILD" -syn match autoitStyle "\$WS_GROUP" -syn match autoitStyle "\$WS_TABSTOP" -syn match autoitStyle "\$DS_MODALFRAME" -syn match autoitStyle "\$DS_SETFOREGROUND" -syn match autoitStyle "\$DS_CONTEXTHELP" -" common extended -syn match autoitStyle "\$WS_EX_ACCEPTFILES" -syn match autoitStyle "\$WS_EX_APPWINDOW" -syn match autoitStyle "\$WS_EX_CLIENTEDGE" -syn match autoitStyle "\$WS_EX_CONTEXTHELP" -syn match autoitStyle "\$WS_EX_DLGMODALFRAME" -syn match autoitStyle "\$WS_EX_MDICHILD" -syn match autoitStyle "\$WS_EX_OVERLAPPEDWINDOW" -syn match autoitStyle "\$WS_EX_STATICEDGE" -syn match autoitStyle "\$WS_EX_TOPMOST" -syn match autoitStyle "\$WS_EX_TRANSPARENT" -syn match autoitStyle "\$WS_EX_TOOLWINDOW" -syn match autoitStyle "\$WS_EX_WINDOWEDGE" -syn match autoitStyle "\$WS_EX_LAYERED" -syn match autoitStyle "\$GUI_WS_EX_PARENTDRAG" -" checkbox -syn match autoitStyle "\$BS_3STATE" -syn match autoitStyle "\$BS_AUTO3STATE" -syn match autoitStyle "\$BS_AUTOCHECKBOX" -syn match autoitStyle "\$BS_CHECKBOX" -syn match autoitStyle "\$BS_LEFT" -syn match autoitStyle "\$BS_PUSHLIKE" -syn match autoitStyle "\$BS_RIGHT" -syn match autoitStyle "\$BS_RIGHTBUTTON" -syn match autoitStyle "\$BS_GROUPBOX" -syn match autoitStyle "\$BS_AUTORADIOBUTTON" -" push button -syn match autoitStyle "\$BS_BOTTOM" -syn match autoitStyle "\$BS_CENTER" -syn match autoitStyle "\$BS_DEFPUSHBUTTON" -syn match autoitStyle "\$BS_MULTILINE" -syn match autoitStyle "\$BS_TOP" -syn match autoitStyle "\$BS_VCENTER" -syn match autoitStyle "\$BS_ICON" -syn match autoitStyle "\$BS_BITMAP" -syn match autoitStyle "\$BS_FLAT" -" combo -syn match autoitStyle "\$CBS_AUTOHSCROLL" -syn match autoitStyle "\$CBS_DISABLENOSCROLL" -syn match autoitStyle "\$CBS_DROPDOWN" -syn match autoitStyle "\$CBS_DROPDOWNLIST" -syn match autoitStyle "\$CBS_LOWERCASE" -syn match autoitStyle "\$CBS_NOINTEGRALHEIGHT" -syn match autoitStyle "\$CBS_OEMCONVERT" -syn match autoitStyle "\$CBS_SIMPLE" -syn match autoitStyle "\$CBS_SORT" -syn match autoitStyle "\$CBS_UPPERCASE" -" list -syn match autoitStyle "\$LBS_DISABLENOSCROLL" -syn match autoitStyle "\$LBS_NOINTEGRALHEIGHT" -syn match autoitStyle "\$LBS_NOSEL" -syn match autoitStyle "\$LBS_NOTIFY" -syn match autoitStyle "\$LBS_SORT" -syn match autoitStyle "\$LBS_STANDARD" -syn match autoitStyle "\$LBS_USETABSTOPS" -" edit/input -syn match autoitStyle "\$ES_AUTOHSCROLL" -syn match autoitStyle "\$ES_AUTOVSCROLL" -syn match autoitStyle "\$ES_CENTER" -syn match autoitStyle "\$ES_LOWERCASE" -syn match autoitStyle "\$ES_NOHIDESEL" -syn match autoitStyle "\$ES_NUMBER" -syn match autoitStyle "\$ES_OEMCONVERT" -syn match autoitStyle "\$ES_MULTILINE" -syn match autoitStyle "\$ES_PASSWORD" -syn match autoitStyle "\$ES_READONLY" -syn match autoitStyle "\$ES_RIGHT" -syn match autoitStyle "\$ES_UPPERCASE" -syn match autoitStyle "\$ES_WANTRETURN" -" progress bar -syn match autoitStyle "\$PBS_SMOOTH" -syn match autoitStyle "\$PBS_VERTICAL" -" up-down -syn match autoitStyle "\$UDS_ALIGNLEFT" -syn match autoitStyle "\$UDS_ALIGNRIGHT" -syn match autoitStyle "\$UDS_ARROWKEYS" -syn match autoitStyle "\$UDS_HORZ" -syn match autoitStyle "\$UDS_NOTHOUSANDS" -syn match autoitStyle "\$UDS_WRAP" -" label/static -syn match autoitStyle "\$SS_BLACKFRAME" -syn match autoitStyle "\$SS_BLACKRECT" -syn match autoitStyle "\$SS_CENTER" -syn match autoitStyle "\$SS_CENTERIMAGE" -syn match autoitStyle "\$SS_ETCHEDFRAME" -syn match autoitStyle "\$SS_ETCHEDHORZ" -syn match autoitStyle "\$SS_ETCHEDVERT" -syn match autoitStyle "\$SS_GRAYFRAME" -syn match autoitStyle "\$SS_GRAYRECT" -syn match autoitStyle "\$SS_LEFT" -syn match autoitStyle "\$SS_LEFTNOWORDWRAP" -syn match autoitStyle "\$SS_NOPREFIX" -syn match autoitStyle "\$SS_NOTIFY" -syn match autoitStyle "\$SS_RIGHT" -syn match autoitStyle "\$SS_RIGHTJUST" -syn match autoitStyle "\$SS_SIMPLE" -syn match autoitStyle "\$SS_SUNKEN" -syn match autoitStyle "\$SS_WHITEFRAME" -syn match autoitStyle "\$SS_WHITERECT" -" tab -syn match autoitStyle "\$TCS_SCROLLOPPOSITE" -syn match autoitStyle "\$TCS_BOTTOM" -syn match autoitStyle "\$TCS_RIGHT" -syn match autoitStyle "\$TCS_MULTISELECT" -syn match autoitStyle "\$TCS_FLATBUTTONS" -syn match autoitStyle "\$TCS_FORCEICONLEFT" -syn match autoitStyle "\$TCS_FORCELABELLEFT" -syn match autoitStyle "\$TCS_HOTTRACK" -syn match autoitStyle "\$TCS_VERTICAL" -syn match autoitStyle "\$TCS_TABS" -syn match autoitStyle "\$TCS_BUTTONS" -syn match autoitStyle "\$TCS_SINGLELINE" -syn match autoitStyle "\$TCS_MULTILINE" -syn match autoitStyle "\$TCS_RIGHTJUSTIFY" -syn match autoitStyle "\$TCS_FIXEDWIDTH" -syn match autoitStyle "\$TCS_RAGGEDRIGHT" -syn match autoitStyle "\$TCS_FOCUSONBUTTONDOWN" -syn match autoitStyle "\$TCS_OWNERDRAWFIXED" -syn match autoitStyle "\$TCS_TOOLTIPS" -syn match autoitStyle "\$TCS_FOCUSNEVER" -" avi clip -syn match autoitStyle "\$ACS_AUTOPLAY" -syn match autoitStyle "\$ACS_CENTER" -syn match autoitStyle "\$ACS_TRANSPARENT" -syn match autoitStyle "\$ACS_NONTRANSPARENT" -" date -syn match autoitStyle "\$DTS_UPDOWN" -syn match autoitStyle "\$DTS_SHOWNONE" -syn match autoitStyle "\$DTS_LONGDATEFORMAT" -syn match autoitStyle "\$DTS_TIMEFORMAT" -syn match autoitStyle "\$DTS_RIGHTALIGN" -syn match autoitStyle "\$DTS_SHORTDATEFORMAT" -" monthcal -syn match autoitStyle "\$MCS_NOTODAY" -syn match autoitStyle "\$MCS_NOTODAYCIRCLE" -syn match autoitStyle "\$MCS_WEEKNUMBERS" -" treeview -syn match autoitStyle "\$TVS_HASBUTTONS" -syn match autoitStyle "\$TVS_HASLINES" -syn match autoitStyle "\$TVS_LINESATROOT" -syn match autoitStyle "\$TVS_DISABLEDRAGDROP" -syn match autoitStyle "\$TVS_SHOWSELALWAYS" -syn match autoitStyle "\$TVS_RTLREADING" -syn match autoitStyle "\$TVS_NOTOOLTIPS" -syn match autoitStyle "\$TVS_CHECKBOXES" -syn match autoitStyle "\$TVS_TRACKSELECT" -syn match autoitStyle "\$TVS_SINGLEEXPAND" -syn match autoitStyle "\$TVS_FULLROWSELECT" -syn match autoitStyle "\$TVS_NOSCROLL" -syn match autoitStyle "\$TVS_NONEVENHEIGHT" -" slider -syn match autoitStyle "\$TBS_AUTOTICKS" -syn match autoitStyle "\$TBS_BOTH" -syn match autoitStyle "\$TBS_BOTTOM" -syn match autoitStyle "\$TBS_HORZ" -syn match autoitStyle "\$TBS_VERT" -syn match autoitStyle "\$TBS_NOTHUMB" -syn match autoitStyle "\$TBS_NOTICKS" -syn match autoitStyle "\$TBS_LEFT" -syn match autoitStyle "\$TBS_RIGHT" -syn match autoitStyle "\$TBS_TOP" -" listview -syn match autoitStyle "\$LVS_ICON" -syn match autoitStyle "\$LVS_REPORT" -syn match autoitStyle "\$LVS_SMALLICON" -syn match autoitStyle "\$LVS_LIST" -syn match autoitStyle "\$LVS_EDITLABELS" -syn match autoitStyle "\$LVS_NOCOLUMNHEADER" -syn match autoitStyle "\$LVS_NOSORTHEADER" -syn match autoitStyle "\$LVS_SINGLESEL" -syn match autoitStyle "\$LVS_SHOWSELALWAYS" -syn match autoitStyle "\$LVS_SORTASCENDING" -syn match autoitStyle "\$LVS_SORTDESCENDING" -" listview extended -syn match autoitStyle "\$LVS_EX_FULLROWSELECT" -syn match autoitStyle "\$LVS_EX_GRIDLINES" -syn match autoitStyle "\$LVS_EX_HEADERDRAGDROP" -syn match autoitStyle "\$LVS_EX_TRACKSELECT" -syn match autoitStyle "\$LVS_EX_CHECKBOXES" -syn match autoitStyle "\$LVS_EX_BORDERSELECT" -syn match autoitStyle "\$LVS_EX_DOUBLEBUFFER" -syn match autoitStyle "\$LVS_EX_FLATSB" -syn match autoitStyle "\$LVS_EX_MULTIWORKAREAS" -syn match autoitStyle "\$LVS_EX_SNAPTOGRID" -syn match autoitStyle "\$LVS_EX_SUBITEMIMAGES" - -" constants - must be defined after autoitVariable - excludes styles -" constants - autoit options -syn match autoitConst "\$OPT_COORDSRELATIVE" -syn match autoitConst "\$OPT_COORDSABSOLUTE" -syn match autoitConst "\$OPT_COORDSCLIENT" -syn match autoitConst "\$OPT_ERRORSILENT" -syn match autoitConst "\$OPT_ERRORFATAL" -syn match autoitConst "\$OPT_CAPSNOSTORE" -syn match autoitConst "\$OPT_CAPSSTORE" -syn match autoitConst "\$OPT_MATCHSTART" -syn match autoitConst "\$OPT_MATCHANY" -syn match autoitConst "\$OPT_MATCHEXACT" -syn match autoitConst "\$OPT_MATCHADVANCED" -" constants - file -syn match autoitConst "\$FC_NOOVERWRITE" -syn match autoitConst "\$FC_OVERWRITE" -syn match autoitConst "\$FT_MODIFIED" -syn match autoitConst "\$FT_CREATED" -syn match autoitConst "\$FT_ACCESSED" -syn match autoitConst "\$FO_READ" -syn match autoitConst "\$FO_APPEND" -syn match autoitConst "\$FO_OVERWRITE" -syn match autoitConst "\$EOF" -syn match autoitConst "\$FD_FILEMUSTEXIST" -syn match autoitConst "\$FD_PATHMUSTEXIST" -syn match autoitConst "\$FD_MULTISELECT" -syn match autoitConst "\$FD_PROMPTCREATENEW" -syn match autoitConst "\$FD_PROMPTOVERWRITE" -" constants - keyboard -syn match autoitConst "\$KB_SENDSPECIAL" -syn match autoitConst "\$KB_SENDRAW" -syn match autoitConst "\$KB_CAPSOFF" -syn match autoitConst "\$KB_CAPSON" -" constants - message box -syn match autoitConst "\$MB_OK" -syn match autoitConst "\$MB_OKCANCEL" -syn match autoitConst "\$MB_ABORTRETRYIGNORE" -syn match autoitConst "\$MB_YESNOCANCEL" -syn match autoitConst "\$MB_YESNO" -syn match autoitConst "\$MB_RETRYCANCEL" -syn match autoitConst "\$MB_ICONHAND" -syn match autoitConst "\$MB_ICONQUESTION" -syn match autoitConst "\$MB_ICONEXCLAMATION" -syn match autoitConst "\$MB_ICONASTERISK" -syn match autoitConst "\$MB_DEFBUTTON1" -syn match autoitConst "\$MB_DEFBUTTON2" -syn match autoitConst "\$MB_DEFBUTTON3" -syn match autoitConst "\$MB_APPLMODAL" -syn match autoitConst "\$MB_SYSTEMMODAL" -syn match autoitConst "\$MB_TASKMODAL" -syn match autoitConst "\$MB_TOPMOST" -syn match autoitConst "\$MB_RIGHTJUSTIFIED" -syn match autoitConst "\$IDTIMEOUT" -syn match autoitConst "\$IDOK" -syn match autoitConst "\$IDCANCEL" -syn match autoitConst "\$IDABORT" -syn match autoitConst "\$IDRETRY" -syn match autoitConst "\$IDIGNORE" -syn match autoitConst "\$IDYES" -syn match autoitConst "\$IDNO" -syn match autoitConst "\$IDTRYAGAIN" -syn match autoitConst "\$IDCONTINUE" -" constants - progress and splash -syn match autoitConst "\$DLG_NOTITLE" -syn match autoitConst "\$DLG_NOTONTOP" -syn match autoitConst "\$DLG_TEXTLEFT" -syn match autoitConst "\$DLG_TEXTRIGHT" -syn match autoitConst "\$DLG_MOVEABLE" -syn match autoitConst "\$DLG_TEXTVCENTER" -" constants - tray tip -syn match autoitConst "\$TIP_ICONNONE" -syn match autoitConst "\$TIP_ICONASTERISK" -syn match autoitConst "\$TIP_ICONEXCLAMATION" -syn match autoitConst "\$TIP_ICONHAND" -syn match autoitConst "\$TIP_NOSOUND" -" constants - mouse -syn match autoitConst "\$IDC_UNKNOWN" -syn match autoitConst "\$IDC_APPSTARTING" -syn match autoitConst "\$IDC_ARROW" -syn match autoitConst "\$IDC_CROSS" -syn match autoitConst "\$IDC_HELP" -syn match autoitConst "\$IDC_IBEAM" -syn match autoitConst "\$IDC_ICON" -syn match autoitConst "\$IDC_NO" -syn match autoitConst "\$IDC_SIZE" -syn match autoitConst "\$IDC_SIZEALL" -syn match autoitConst "\$IDC_SIZENESW" -syn match autoitConst "\$IDC_SIZENS" -syn match autoitConst "\$IDC_SIZENWSE" -syn match autoitConst "\$IDC_SIZEWE" -syn match autoitConst "\$IDC_UPARROW" -syn match autoitConst "\$IDC_WAIT" -" constants - process -syn match autoitConst "\$SD_LOGOFF" -syn match autoitConst "\$SD_SHUTDOWN" -syn match autoitConst "\$SD_REBOOT" -syn match autoitConst "\$SD_FORCE" -syn match autoitConst "\$SD_POWERDOWN" -" constants - string -syn match autoitConst "\$STR_NOCASESENSE" -syn match autoitConst "\$STR_CASESENSE" -syn match autoitConst "\$STR_STRIPLEADING" -syn match autoitConst "\$STR_STRIPTRAILING" -syn match autoitConst "\$STR_STRIPSPACES" -syn match autoitConst "\$STR_STRIPALL" -" constants - tray -syn match autoitConst "\$TRAY_ITEM_EXIT" -syn match autoitConst "\$TRAY_ITEM_PAUSE" -syn match autoitConst "\$TRAY_ITEM_FIRST" -syn match autoitConst "\$TRAY_CHECKED" -syn match autoitConst "\$TRAY_UNCHECKED" -syn match autoitConst "\$TRAY_ENABLE" -syn match autoitConst "\$TRAY_DISABLE" -syn match autoitConst "\$TRAY_FOCUS" -syn match autoitConst "\$TRAY_DEFAULT" -syn match autoitConst "\$TRAY_EVENT_SHOWICON" -syn match autoitConst "\$TRAY_EVENT_HIDEICON" -syn match autoitConst "\$TRAY_EVENT_FLASHICON" -syn match autoitConst "\$TRAY_EVENT_NOFLASHICON" -syn match autoitConst "\$TRAY_EVENT_PRIMARYDOWN" -syn match autoitConst "\$TRAY_EVENT_PRIMARYUP" -syn match autoitConst "\$TRAY_EVENT_SECONDARYDOWN" -syn match autoitConst "\$TRAY_EVENT_SECONDARYUP" -syn match autoitConst "\$TRAY_EVENT_MOUSEOVER" -syn match autoitConst "\$TRAY_EVENT_MOUSEOUT" -syn match autoitConst "\$TRAY_EVENT_PRIMARYDOUBLE" -syn match autoitConst "\$TRAY_EVENT_SECONDARYDOUBLE" -" constants - stdio -syn match autoitConst "\$STDIN_CHILD" -syn match autoitConst "\$STDOUT_CHILD" -syn match autoitConst "\$STDERR_CHILD" -" constants - color -syn match autoitConst "\$COLOR_BLACK" -syn match autoitConst "\$COLOR_SILVER" -syn match autoitConst "\$COLOR_GRAY" -syn match autoitConst "\$COLOR_WHITE" -syn match autoitConst "\$COLOR_MAROON" -syn match autoitConst "\$COLOR_RED" -syn match autoitConst "\$COLOR_PURPLE" -syn match autoitConst "\$COLOR_FUCHSIA" -syn match autoitConst "\$COLOR_GREEN" -syn match autoitConst "\$COLOR_LIME" -syn match autoitConst "\$COLOR_OLIVE" -syn match autoitConst "\$COLOR_YELLOW" -syn match autoitConst "\$COLOR_NAVY" -syn match autoitConst "\$COLOR_BLUE" -syn match autoitConst "\$COLOR_TEAL" -syn match autoitConst "\$COLOR_AQUA" -" constants - reg value type -syn match autoitConst "\$REG_NONE" -syn match autoitConst "\$REG_SZ" -syn match autoitConst "\$REG_EXPAND_SZ" -syn match autoitConst "\$REG_BINARY" -syn match autoitConst "\$REG_DWORD" -syn match autoitConst "\$REG_DWORD_BIG_ENDIAN" -syn match autoitConst "\$REG_LINK" -syn match autoitConst "\$REG_MULTI_SZ" -syn match autoitConst "\$REG_RESOURCE_LIST" -syn match autoitConst "\$REG_FULL_RESOURCE_DESCRIPTOR" -syn match autoitConst "\$REG_RESOURCE_REQUIREMENTS_LIST" -" guiconstants - events and messages -syn match autoitConst "\$GUI_EVENT_CLOSE" -syn match autoitConst "\$GUI_EVENT_MINIMIZE" -syn match autoitConst "\$GUI_EVENT_RESTORE" -syn match autoitConst "\$GUI_EVENT_MAXIMIZE" -syn match autoitConst "\$GUI_EVENT_PRIMARYDOWN" -syn match autoitConst "\$GUI_EVENT_PRIMARYUP" -syn match autoitConst "\$GUI_EVENT_SECONDARYDOWN" -syn match autoitConst "\$GUI_EVENT_SECONDARYUP" -syn match autoitConst "\$GUI_EVENT_MOUSEMOVE" -syn match autoitConst "\$GUI_EVENT_RESIZED" -syn match autoitConst "\$GUI_EVENT_DROPPED" -syn match autoitConst "\$GUI_RUNDEFMSG" -" guiconstants - state -syn match autoitConst "\$GUI_AVISTOP" -syn match autoitConst "\$GUI_AVISTART" -syn match autoitConst "\$GUI_AVICLOSE" -syn match autoitConst "\$GUI_CHECKED" -syn match autoitConst "\$GUI_INDETERMINATE" -syn match autoitConst "\$GUI_UNCHECKED" -syn match autoitConst "\$GUI_DROPACCEPTED" -syn match autoitConst "\$GUI_DROPNOTACCEPTED" -syn match autoitConst "\$GUI_ACCEPTFILES" -syn match autoitConst "\$GUI_SHOW" -syn match autoitConst "\$GUI_HIDE" -syn match autoitConst "\$GUI_ENABLE" -syn match autoitConst "\$GUI_DISABLE" -syn match autoitConst "\$GUI_FOCUS" -syn match autoitConst "\$GUI_NOFOCUS" -syn match autoitConst "\$GUI_DEFBUTTON" -syn match autoitConst "\$GUI_EXPAND" -syn match autoitConst "\$GUI_ONTOP" -" guiconstants - font -syn match autoitConst "\$GUI_FONTITALIC" -syn match autoitConst "\$GUI_FONTUNDER" -syn match autoitConst "\$GUI_FONTSTRIKE" -" guiconstants - resizing -syn match autoitConst "\$GUI_DOCKAUTO" -syn match autoitConst "\$GUI_DOCKLEFT" -syn match autoitConst "\$GUI_DOCKRIGHT" -syn match autoitConst "\$GUI_DOCKHCENTER" -syn match autoitConst "\$GUI_DOCKTOP" -syn match autoitConst "\$GUI_DOCKBOTTOM" -syn match autoitConst "\$GUI_DOCKVCENTER" -syn match autoitConst "\$GUI_DOCKWIDTH" -syn match autoitConst "\$GUI_DOCKHEIGHT" -syn match autoitConst "\$GUI_DOCKSIZE" -syn match autoitConst "\$GUI_DOCKMENUBAR" -syn match autoitConst "\$GUI_DOCKSTATEBAR" -syn match autoitConst "\$GUI_DOCKALL" -syn match autoitConst "\$GUI_DOCKBORDERS" -" guiconstants - graphic -syn match autoitConst "\$GUI_GR_CLOSE" -syn match autoitConst "\$GUI_GR_LINE" -syn match autoitConst "\$GUI_GR_BEZIER" -syn match autoitConst "\$GUI_GR_MOVE" -syn match autoitConst "\$GUI_GR_COLOR" -syn match autoitConst "\$GUI_GR_RECT" -syn match autoitConst "\$GUI_GR_ELLIPSE" -syn match autoitConst "\$GUI_GR_PIE" -syn match autoitConst "\$GUI_GR_DOT" -syn match autoitConst "\$GUI_GR_PIXEL" -syn match autoitConst "\$GUI_GR_HINT" -syn match autoitConst "\$GUI_GR_REFRESH" -syn match autoitConst "\$GUI_GR_PENSIZE" -syn match autoitConst "\$GUI_GR_NOBKCOLOR" -" guiconstants - control default styles -syn match autoitConst "\$GUI_SS_DEFAULT_AVI" -syn match autoitConst "\$GUI_SS_DEFAULT_BUTTON" -syn match autoitConst "\$GUI_SS_DEFAULT_CHECKBOX" -syn match autoitConst "\$GUI_SS_DEFAULT_COMBO" -syn match autoitConst "\$GUI_SS_DEFAULT_DATE" -syn match autoitConst "\$GUI_SS_DEFAULT_EDIT" -syn match autoitConst "\$GUI_SS_DEFAULT_GRAPHIC" -syn match autoitConst "\$GUI_SS_DEFAULT_GROUP" -syn match autoitConst "\$GUI_SS_DEFAULT_ICON" -syn match autoitConst "\$GUI_SS_DEFAULT_INPUT" -syn match autoitConst "\$GUI_SS_DEFAULT_LABEL" -syn match autoitConst "\$GUI_SS_DEFAULT_LIST" -syn match autoitConst "\$GUI_SS_DEFAULT_LISTVIEW" -syn match autoitConst "\$GUI_SS_DEFAULT_MONTHCAL" -syn match autoitConst "\$GUI_SS_DEFAULT_PIC" -syn match autoitConst "\$GUI_SS_DEFAULT_PROGRESS" -syn match autoitConst "\$GUI_SS_DEFAULT_RADIO" -syn match autoitConst "\$GUI_SS_DEFAULT_SLIDER" -syn match autoitConst "\$GUI_SS_DEFAULT_TAB" -syn match autoitConst "\$GUI_SS_DEFAULT_TREEVIEW" -syn match autoitConst "\$GUI_SS_DEFAULT_UPDOWN" -syn match autoitConst "\$GUI_SS_DEFAULT_GUI" -" guiconstants - background color special flags -syn match autoitConst "\$GUI_BKCOLOR_DEFAULT" -syn match autoitConst "\$GUI_BKCOLOR_LV_ALTERNATE" -syn match autoitConst "\$GUI_BKCOLOR_TRANSPARENT" - -" registry constants -syn match autoitConst "\([\"\']\)REG_BINARY\1" -syn match autoitConst "\([\"\']\)REG_SZ\1" -syn match autoitConst "\([\"\']\)REG_MULTI_SZ\1" -syn match autoitConst "\([\"\']\)REG_EXPAND_SZ\1" -syn match autoitConst "\([\"\']\)REG_DWORD\1" - -" Define the default highlighting. -" Unused colors: Underlined, Ignore, Error, Todo -hi def link autoitFunction Statement " yellow/yellow -hi def link autoitKeyword Statement -hi def link autoitOperator Operator -hi def link autoitVarSelector Operator -hi def link autoitComment Comment " cyan/blue -hi def link autoitParen Comment -hi def link autoitComma Comment -hi def link autoitBracket Comment -hi def link autoitNumber Constant " magenta/red -hi def link autoitString Constant -hi def link autoitQuote Constant -hi def link autoitIncluded Constant -hi def link autoitCont Special " red/orange -hi def link autoitDoubledSingles Special -hi def link autoitDoubledDoubles Special -hi def link autoitCommDelimiter PreProc " blue/magenta -hi def link autoitInclude PreProc -hi def link autoitVariable Identifier " cyan/cyan -hi def link autoitBuiltin Type " green/green -hi def link autoitOption Type -hi def link autoitStyle Type -hi def link autoitConst Type -hi def link autoitSend Type - -syn sync minlines=50 - -let &cpo = s:keepcpo -unlet s:keepcpo diff --git a/uvim/runtime/syntax/automake.mnv b/uvim/runtime/syntax/automake.mnv new file mode 100644 index 0000000000..ed0076c2ba --- /dev/null +++ b/uvim/runtime/syntax/automake.mnv @@ -0,0 +1,77 @@ +" MNV syntax file +" Language: automake Makefile.am +" Maintainer: Debian MNV Maintainers +" Former Maintainer: John Williams +" Last Change: 2023 Jan 16 +" URL: https://salsa.debian.org/mnv-team/mnv-debian/blob/main/syntax/automake.mnv +" +" XXX This file is in need of a new maintainer, Debian MNV Maintainers maintain +" it only because patches have been submitted for it by Debian users and the +" former maintainer was MIA (Missing In Action), taking over its +" maintenance was thus the only way to include those patches. +" If you care about this file, and have time to maintain it please do so! +" +" This script adds support for automake's Makefile.am format. It highlights +" Makefile variables significant to automake as well as highlighting +" autoconf-style @variable@ substitutions . Subsitutions are marked as errors +" when they are used in an inappropriate place, such as in defining +" EXTRA_SOURCES. + +" Standard syntax initialization +if exists('b:current_syntax') + finish +endif + +" Read the Makefile syntax to start with +runtime! syntax/make.mnv + +syn match automakePrimary "^\w\+\(_PROGRAMS\|_LIBRARIES\|_LISP\|_PYTHON\|_JAVA\|_SCRIPTS\|_DATA\|_HEADERS\|_MANS\|_TEXINFOS\|_LTLIBRARIES\)\s*\ze+\==" +syn match automakePrimary "^TESTS\s*\ze+\=="me=e-1 +syn match automakeSecondary "^\w\+\(_SOURCES\|_LIBADD\|_LDADD\|_LDFLAGS\|_DEPENDENCIES\|_AR\|_CCASFLAGS\|_CFLAGS\|_CPPFLAGS\|_CXXFLAGS\|_FCFLAGS\|_FFLAGS\|_GCJFLAGS\|_LFLAGS\|_LIBTOOLFLAGS\|OBJCFLAGS\|RFLAGS\|UPCFLAGS\|YFLAGS\)\s*\ze+\==" +syn match automakeSecondary "^\(LDADD\|ARFLAGS\|OMIT_DEPENDENCIES\|AM_MAKEFLAGS\|\(AM_\)\=\(MAKEINFOFLAGS\|RUNTESTDEFAULTFLAGS\|ETAGSFLAGS\|CTAGSFLAGS\|JAVACFLAGS\)\)\s*\ze+\==" +syn match automakeExtra "^EXTRA_\w\+\s*\ze+\==" +syn match automakeOptions "^\(ACLOCAL_AMFLAGS\|AUTOMAKE_OPTIONS\|DISTCHECK_CONFIGURE_FLAGS\|ETAGS_ARGS\|TAGS_DEPENDENCIES\)\s*\ze+\==" +syn match automakeClean "^\(MOSTLY\|DIST\|MAINTAINER\)\=CLEANFILES\s*\ze+\==" +syn match automakeSubdirs "^\(DIST_\)\=SUBDIRS\s*\ze+\==" +syn match automakeConditional "^\(if\s*!\=\w\+\|else\|endif\)\s*$" + +syn match automakeSubst "@\w\+@" +syn match automakeSubst "^\s*@\w\+@" +syn match automakeComment1 "#.*$" contains=automakeSubst,@Spell +syn match automakeComment2 "##.*$" contains=@Spell + +syn match automakeMakeError "$[{(][^})]*[^a-zA-Z0-9_})][^})]*[})]" " GNU make function call +syn match automakeMakeError "^AM_LDADD\s*\ze+\==" " Common mistake + +syn region automakeNoSubst start="^EXTRA_\w*\s*+\==" end="$" contains=ALLBUT,automakeNoSubst transparent +syn region automakeNoSubst start="^DIST_SUBDIRS\s*+\==" end="$" contains=ALLBUT,automakeNoSubst transparent +syn region automakeNoSubst start="^\w*_SOURCES\s*+\==" end="$" contains=ALLBUT,automakeNoSubst transparent +syn match automakeBadSubst "@\(\w*@\=\)\=" contained + +syn region automakeMakeDString start=+"+ skip=+\\"+ end=+"+ contains=makeIdent,automakeSubstitution +syn region automakeMakeSString start=+'+ skip=+\\'+ end=+'+ contains=makeIdent,automakeSubstitution +syn region automakeMakeBString start=+`+ skip=+\\`+ end=+`+ contains=makeIdent,makeSString,makeDString,makeNextLine,automakeSubstitution + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link automakePrimary Statement +hi def link automakeSecondary Type +hi def link automakeExtra Special +hi def link automakeOptions Special +hi def link automakeClean Special +hi def link automakeSubdirs Statement +hi def link automakeConditional PreProc +hi def link automakeSubst PreProc +hi def link automakeComment1 makeComment +hi def link automakeComment2 makeComment +hi def link automakeMakeError makeError +hi def link automakeBadSubst makeError +hi def link automakeMakeDString makeDString +hi def link automakeMakeSString makeSString +hi def link automakeMakeBString makeBString + + +let b:current_syntax = 'automake' + +" vi: ts=8 sw=4 sts=4 diff --git a/uvim/runtime/syntax/automake.vim b/uvim/runtime/syntax/automake.vim deleted file mode 100644 index 2f1ad982c6..0000000000 --- a/uvim/runtime/syntax/automake.vim +++ /dev/null @@ -1,77 +0,0 @@ -" Vim syntax file -" Language: automake Makefile.am -" Maintainer: Debian Vim Maintainers -" Former Maintainer: John Williams -" Last Change: 2023 Jan 16 -" URL: https://salsa.debian.org/vim-team/vim-debian/blob/main/syntax/automake.vim -" -" XXX This file is in need of a new maintainer, Debian VIM Maintainers maintain -" it only because patches have been submitted for it by Debian users and the -" former maintainer was MIA (Missing In Action), taking over its -" maintenance was thus the only way to include those patches. -" If you care about this file, and have time to maintain it please do so! -" -" This script adds support for automake's Makefile.am format. It highlights -" Makefile variables significant to automake as well as highlighting -" autoconf-style @variable@ substitutions . Subsitutions are marked as errors -" when they are used in an inappropriate place, such as in defining -" EXTRA_SOURCES. - -" Standard syntax initialization -if exists('b:current_syntax') - finish -endif - -" Read the Makefile syntax to start with -runtime! syntax/make.vim - -syn match automakePrimary "^\w\+\(_PROGRAMS\|_LIBRARIES\|_LISP\|_PYTHON\|_JAVA\|_SCRIPTS\|_DATA\|_HEADERS\|_MANS\|_TEXINFOS\|_LTLIBRARIES\)\s*\ze+\==" -syn match automakePrimary "^TESTS\s*\ze+\=="me=e-1 -syn match automakeSecondary "^\w\+\(_SOURCES\|_LIBADD\|_LDADD\|_LDFLAGS\|_DEPENDENCIES\|_AR\|_CCASFLAGS\|_CFLAGS\|_CPPFLAGS\|_CXXFLAGS\|_FCFLAGS\|_FFLAGS\|_GCJFLAGS\|_LFLAGS\|_LIBTOOLFLAGS\|OBJCFLAGS\|RFLAGS\|UPCFLAGS\|YFLAGS\)\s*\ze+\==" -syn match automakeSecondary "^\(LDADD\|ARFLAGS\|OMIT_DEPENDENCIES\|AM_MAKEFLAGS\|\(AM_\)\=\(MAKEINFOFLAGS\|RUNTESTDEFAULTFLAGS\|ETAGSFLAGS\|CTAGSFLAGS\|JAVACFLAGS\)\)\s*\ze+\==" -syn match automakeExtra "^EXTRA_\w\+\s*\ze+\==" -syn match automakeOptions "^\(ACLOCAL_AMFLAGS\|AUTOMAKE_OPTIONS\|DISTCHECK_CONFIGURE_FLAGS\|ETAGS_ARGS\|TAGS_DEPENDENCIES\)\s*\ze+\==" -syn match automakeClean "^\(MOSTLY\|DIST\|MAINTAINER\)\=CLEANFILES\s*\ze+\==" -syn match automakeSubdirs "^\(DIST_\)\=SUBDIRS\s*\ze+\==" -syn match automakeConditional "^\(if\s*!\=\w\+\|else\|endif\)\s*$" - -syn match automakeSubst "@\w\+@" -syn match automakeSubst "^\s*@\w\+@" -syn match automakeComment1 "#.*$" contains=automakeSubst,@Spell -syn match automakeComment2 "##.*$" contains=@Spell - -syn match automakeMakeError "$[{(][^})]*[^a-zA-Z0-9_})][^})]*[})]" " GNU make function call -syn match automakeMakeError "^AM_LDADD\s*\ze+\==" " Common mistake - -syn region automakeNoSubst start="^EXTRA_\w*\s*+\==" end="$" contains=ALLBUT,automakeNoSubst transparent -syn region automakeNoSubst start="^DIST_SUBDIRS\s*+\==" end="$" contains=ALLBUT,automakeNoSubst transparent -syn region automakeNoSubst start="^\w*_SOURCES\s*+\==" end="$" contains=ALLBUT,automakeNoSubst transparent -syn match automakeBadSubst "@\(\w*@\=\)\=" contained - -syn region automakeMakeDString start=+"+ skip=+\\"+ end=+"+ contains=makeIdent,automakeSubstitution -syn region automakeMakeSString start=+'+ skip=+\\'+ end=+'+ contains=makeIdent,automakeSubstitution -syn region automakeMakeBString start=+`+ skip=+\\`+ end=+`+ contains=makeIdent,makeSString,makeDString,makeNextLine,automakeSubstitution - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link automakePrimary Statement -hi def link automakeSecondary Type -hi def link automakeExtra Special -hi def link automakeOptions Special -hi def link automakeClean Special -hi def link automakeSubdirs Statement -hi def link automakeConditional PreProc -hi def link automakeSubst PreProc -hi def link automakeComment1 makeComment -hi def link automakeComment2 makeComment -hi def link automakeMakeError makeError -hi def link automakeBadSubst makeError -hi def link automakeMakeDString makeDString -hi def link automakeMakeSString makeSString -hi def link automakeMakeBString makeBString - - -let b:current_syntax = 'automake' - -" vi: ts=8 sw=4 sts=4 diff --git a/uvim/runtime/syntax/autopkgtest.mnv b/uvim/runtime/syntax/autopkgtest.mnv new file mode 100644 index 0000000000..1535ec2835 --- /dev/null +++ b/uvim/runtime/syntax/autopkgtest.mnv @@ -0,0 +1,95 @@ +" MNV syntax file +" Language: Debian autopkgtest control files +" Maintainer: Debian MNV Maintainers +" Last Change: 2025 Jul 05 +" URL: https://salsa.debian.org/mnv-team/mnv-debian/blob/main/syntax/autopkgtest.mnv +" +" Specification of the autopkgtest format is available at: +" https://www.debian.org/doc/debian-policy/autopkgtest.txt + +" Standard syntax initialization +if exists('b:current_syntax') + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +" Must call this first, because it will clear other settings +syn sync clear +syn sync match autopkgtestSync grouphere NONE '^$' + +" Should match case except for the keys of each field +syn case match + +syn iskeyword @,48-57,- + +" #-Comments +syn match autopkgtestComment "#.*" contains=@Spell + +syn match autopkgtestTests contained "[a-z0-9][a-z0-9+.-]\+\%(,\=\s*[a-z0-9][a-z0-9+.-]\+\)*,\=" +syn match autopkgtestArbitrary contained "[^#]*" +syn keyword autopkgtestRestrictions contained + \ allow-stderr + \ breaks-testbe + \ build-neede + \ flaky + \ hint-testsuite-trigger + \ isolation-container + \ isolation-machine + \ needs-internet + \ needs-reboot + \ needs-root + \ needs-sudo + \ rw-build-tree + \ skip-foreign-architecture + \ skip-not-installable + \ skippable + \ superficial +syn keyword autopkgtestDeprecatedRestrictions contained needs-recommends +syn match autopkgtestFeatures contained 'test-name=[^, ]*\%([, ]*[^, #]\)*,\=' +syn match autopkgtestDepends contained '\%(@builddeps@\|@recommends@\|@\)' + +runtime! syntax/shared/debarchitectures.mnv + +syn keyword autopkgtestArchitecture contained any +exe 'syn keyword autopkgtestArchitecture contained '. join(g:debArchitectureKernelAnyArch) +exe 'syn keyword autopkgtestArchitecture contained '. join(g:debArchitectureAnyKernelArch) +exe 'syn keyword autopkgtestArchitecture contained '. join(g:debArchitectureArchs) + +syn case ignore + +" Catch-all for the legal fields +syn region autopkgtestMultiField matchgroup=autopkgtestKey start="^Tests: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=autopkgtestTests,autopkgtestComment +syn region autopkgtestMultiField matchgroup=autopkgtestKey start="^Restrictions: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=autopkgtestRestrictions,autopkgtestDeprecatedRestrictions,autopkgtestComment +syn region autopkgtestMultiField matchgroup=autopkgtestKey start="^Features: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=autopkgtestFeatures,autopkgtestComment +syn region autopkgtestMultiField matchgroup=autopkgtestKey start="^Depends: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=autopkgtestDepends,autopkgtestComment +syn region autopkgtestMultiField matchgroup=autopkgtestKey start="^Classes: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=autopkgtestComment +syn region autopkgtestMultiField matchgroup=autopkgtestKey start="^Architecture: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=autopkgtestArchitecture,autopkgtestComment + +" Fields for which we do strict syntax checking +syn region autopkgtestStrictField matchgroup=autopkgtestKey start="^Test-Command: *" end="$" end='#'me=s-1 contains=autopkgtestArbitrary,autopkgtestComment oneline +syn region autopkgtestStrictField matchgroup=autopkgtestKey start="^Tests-Directory: *" end="$" end='#'me=s-1 contains=autopkgtestArbitrary,autopkgtestComment oneline + +syn match autopkgtestError '^\%(\%(Architecture\|Classes\|Depends\|Features\|Restrictions\|Test-Command\|Tests-Directory\|Tests\)\@![^ #]*:\)' + +" Associate our matches and regions with pretty colours +hi def link autopkgtestKey Keyword +hi def link autopkgtestRestrictions Identifier +hi def link autopkgtestFeatures Keyword +hi def link autopkgtestDepends Identifier +hi def link autopkgtestArchitecture Identifier +hi def link autopkgtestStrictField Error +hi def link autopkgtestDeprecatedRestrictions Error +hi def link autopkgtestMultiField Normal +hi def link autopkgtestArbitrary Normal +hi def link autopkgtestTests Normal +hi def link autopkgtestComment Comment +hi def link autopkgtestError Error + +let b:current_syntax = 'autopkgtest' + +let &cpo = s:cpo_save +unlet s:cpo_save + +" mnv: ts=8 sw=2 diff --git a/uvim/runtime/syntax/autopkgtest.vim b/uvim/runtime/syntax/autopkgtest.vim deleted file mode 100644 index 5dc1b5f6f5..0000000000 --- a/uvim/runtime/syntax/autopkgtest.vim +++ /dev/null @@ -1,95 +0,0 @@ -" Vim syntax file -" Language: Debian autopkgtest control files -" Maintainer: Debian Vim Maintainers -" Last Change: 2025 Jul 05 -" URL: https://salsa.debian.org/vim-team/vim-debian/blob/main/syntax/autopkgtest.vim -" -" Specification of the autopkgtest format is available at: -" https://www.debian.org/doc/debian-policy/autopkgtest.txt - -" Standard syntax initialization -if exists('b:current_syntax') - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -" Must call this first, because it will clear other settings -syn sync clear -syn sync match autopkgtestSync grouphere NONE '^$' - -" Should match case except for the keys of each field -syn case match - -syn iskeyword @,48-57,- - -" #-Comments -syn match autopkgtestComment "#.*" contains=@Spell - -syn match autopkgtestTests contained "[a-z0-9][a-z0-9+.-]\+\%(,\=\s*[a-z0-9][a-z0-9+.-]\+\)*,\=" -syn match autopkgtestArbitrary contained "[^#]*" -syn keyword autopkgtestRestrictions contained - \ allow-stderr - \ breaks-testbe - \ build-neede - \ flaky - \ hint-testsuite-trigger - \ isolation-container - \ isolation-machine - \ needs-internet - \ needs-reboot - \ needs-root - \ needs-sudo - \ rw-build-tree - \ skip-foreign-architecture - \ skip-not-installable - \ skippable - \ superficial -syn keyword autopkgtestDeprecatedRestrictions contained needs-recommends -syn match autopkgtestFeatures contained 'test-name=[^, ]*\%([, ]*[^, #]\)*,\=' -syn match autopkgtestDepends contained '\%(@builddeps@\|@recommends@\|@\)' - -runtime! syntax/shared/debarchitectures.vim - -syn keyword autopkgtestArchitecture contained any -exe 'syn keyword autopkgtestArchitecture contained '. join(g:debArchitectureKernelAnyArch) -exe 'syn keyword autopkgtestArchitecture contained '. join(g:debArchitectureAnyKernelArch) -exe 'syn keyword autopkgtestArchitecture contained '. join(g:debArchitectureArchs) - -syn case ignore - -" Catch-all for the legal fields -syn region autopkgtestMultiField matchgroup=autopkgtestKey start="^Tests: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=autopkgtestTests,autopkgtestComment -syn region autopkgtestMultiField matchgroup=autopkgtestKey start="^Restrictions: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=autopkgtestRestrictions,autopkgtestDeprecatedRestrictions,autopkgtestComment -syn region autopkgtestMultiField matchgroup=autopkgtestKey start="^Features: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=autopkgtestFeatures,autopkgtestComment -syn region autopkgtestMultiField matchgroup=autopkgtestKey start="^Depends: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=autopkgtestDepends,autopkgtestComment -syn region autopkgtestMultiField matchgroup=autopkgtestKey start="^Classes: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=autopkgtestComment -syn region autopkgtestMultiField matchgroup=autopkgtestKey start="^Architecture: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=autopkgtestArchitecture,autopkgtestComment - -" Fields for which we do strict syntax checking -syn region autopkgtestStrictField matchgroup=autopkgtestKey start="^Test-Command: *" end="$" end='#'me=s-1 contains=autopkgtestArbitrary,autopkgtestComment oneline -syn region autopkgtestStrictField matchgroup=autopkgtestKey start="^Tests-Directory: *" end="$" end='#'me=s-1 contains=autopkgtestArbitrary,autopkgtestComment oneline - -syn match autopkgtestError '^\%(\%(Architecture\|Classes\|Depends\|Features\|Restrictions\|Test-Command\|Tests-Directory\|Tests\)\@![^ #]*:\)' - -" Associate our matches and regions with pretty colours -hi def link autopkgtestKey Keyword -hi def link autopkgtestRestrictions Identifier -hi def link autopkgtestFeatures Keyword -hi def link autopkgtestDepends Identifier -hi def link autopkgtestArchitecture Identifier -hi def link autopkgtestStrictField Error -hi def link autopkgtestDeprecatedRestrictions Error -hi def link autopkgtestMultiField Normal -hi def link autopkgtestArbitrary Normal -hi def link autopkgtestTests Normal -hi def link autopkgtestComment Comment -hi def link autopkgtestError Error - -let b:current_syntax = 'autopkgtest' - -let &cpo = s:cpo_save -unlet s:cpo_save - -" vim: ts=8 sw=2 diff --git a/uvim/runtime/syntax/ave.mnv b/uvim/runtime/syntax/ave.mnv new file mode 100644 index 0000000000..5e8245e65d --- /dev/null +++ b/uvim/runtime/syntax/ave.mnv @@ -0,0 +1,79 @@ +" MNV syntax file +" Copyright by Jan-Oliver Wagner +" Language: avenue +" Maintainer: Jan-Oliver Wagner +" Last change: 2001 May 10 + +" Avenue is the ArcView built-in language. ArcView is +" a desktop GIS by ESRI. Though it is a built-in language +" and a built-in editor is provided, the use of MNV increases +" development speed. +" I use some technologies to automatically load avenue scripts +" into ArcView. + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" Avenue is entirely case-insensitive. +syn case ignore + +" The keywords + +syn keyword aveStatement if then elseif else end break exit return +syn keyword aveStatement for each in continue while + +" String + +syn region aveString start=+"+ end=+"+ + +" Integer number +syn match aveNumber "[+-]\=\<[0-9]\+\>" + +" Operator + +syn keyword aveOperator or and max min xor mod by +" 'not' is a kind of a problem: It's an Operator as well as a method +" 'not' is only marked as an Operator if not applied as method +syn match aveOperator "[^\.]not[^a-zA-Z]" + +" Variables + +syn keyword aveFixVariables av nil self false true nl tab cr tab +syn match globalVariables "_[a-zA-Z][a-zA-Z0-9]*" +syn match aveVariables "[a-zA-Z][a-zA-Z0-9_]*" +syn match aveConst "#[A-Z][A-Z_]+" + +" Comments + +syn match aveComment "'.*" + +" Typical Typos + +" for C programmers: +syn match aveTypos "==" +syn match aveTypos "!=" + +" Define the default highlighting. +" Only when an item doesn't have highlighting+yet + +hi def link aveStatement Statement + +hi def link aveString String +hi def link aveNumber Number + +hi def link aveFixVariables Special +hi def link aveVariables Identifier +hi def link globalVariables Special +hi def link aveConst Special + +hi def link aveClassMethods Function + +hi def link aveOperator Operator +hi def link aveComment Comment + +hi def link aveTypos Error + + +let b:current_syntax = "ave" diff --git a/uvim/runtime/syntax/ave.vim b/uvim/runtime/syntax/ave.vim deleted file mode 100644 index e63e7d2c30..0000000000 --- a/uvim/runtime/syntax/ave.vim +++ /dev/null @@ -1,79 +0,0 @@ -" Vim syntax file -" Copyright by Jan-Oliver Wagner -" Language: avenue -" Maintainer: Jan-Oliver Wagner -" Last change: 2001 May 10 - -" Avenue is the ArcView built-in language. ArcView is -" a desktop GIS by ESRI. Though it is a built-in language -" and a built-in editor is provided, the use of VIM increases -" development speed. -" I use some technologies to automatically load avenue scripts -" into ArcView. - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" Avenue is entirely case-insensitive. -syn case ignore - -" The keywords - -syn keyword aveStatement if then elseif else end break exit return -syn keyword aveStatement for each in continue while - -" String - -syn region aveString start=+"+ end=+"+ - -" Integer number -syn match aveNumber "[+-]\=\<[0-9]\+\>" - -" Operator - -syn keyword aveOperator or and max min xor mod by -" 'not' is a kind of a problem: It's an Operator as well as a method -" 'not' is only marked as an Operator if not applied as method -syn match aveOperator "[^\.]not[^a-zA-Z]" - -" Variables - -syn keyword aveFixVariables av nil self false true nl tab cr tab -syn match globalVariables "_[a-zA-Z][a-zA-Z0-9]*" -syn match aveVariables "[a-zA-Z][a-zA-Z0-9_]*" -syn match aveConst "#[A-Z][A-Z_]+" - -" Comments - -syn match aveComment "'.*" - -" Typical Typos - -" for C programmers: -syn match aveTypos "==" -syn match aveTypos "!=" - -" Define the default highlighting. -" Only when an item doesn't have highlighting+yet - -hi def link aveStatement Statement - -hi def link aveString String -hi def link aveNumber Number - -hi def link aveFixVariables Special -hi def link aveVariables Identifier -hi def link globalVariables Special -hi def link aveConst Special - -hi def link aveClassMethods Function - -hi def link aveOperator Operator -hi def link aveComment Comment - -hi def link aveTypos Error - - -let b:current_syntax = "ave" diff --git a/uvim/runtime/syntax/avra.mnv b/uvim/runtime/syntax/avra.mnv new file mode 100644 index 0000000000..6d24362948 --- /dev/null +++ b/uvim/runtime/syntax/avra.mnv @@ -0,0 +1,71 @@ +" MNV syntax file +" Language: AVR Assembler (AVRA) +" AVRA Home: http://avra.sourceforge.net/index.html +" AVRA Version: 1.3.0 +" Last Update: 2016 Oct 7 +" Maintainer: Marius Ghita + +let s:cpo_save = &cpo +set cpo&mnv + +syn case ignore + +syn keyword avraRegister r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 +syn keyword avraRegister r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 +syn keyword avraRegister r28 r29 r30 r31 + +syn keyword avraInstr add adc adiw sub subi sbc sbci sbiw and andi or ori eor +syn keyword avraInstr com neg sbr cbr inc dec tst clr ser mul muls mulsu fmul +syn keyword avraInstr fmuls fmulsu des rjmp ijmp eijmp jmp rcall icall eicall +syn keyword avraInstr call ret reti cpse cp cpc cpi sbrc sbrs sbic sbis brbs +syn keyword avraInstr brbc breq brne brcs brcc brsh brlo brmi brpl brge brlt +syn keyword avraInstr brhs brhc brts brtc brvs brvc brie brid mov movw ldi lds +syn keyword avraInstr ld ldd sts st std lpm elpm spm in out push pop xch las +syn keyword avraInstr lac lat lsl lsr rol ror asr swap bset bclr sbi cbi bst bld +syn keyword avraInstr sec clc sen cln sez clz sei cli ses cls sev clv set clt +syn keyword avraInstr seh clh break nop sleep wdr + +syn keyword avraDirective .byte .cseg .db .def .device .dseg .dw .endmacro .equ +syn keyword avraDirective .eseg .exit .include .list .listmac .macro .nolist +syn keyword avraDirective .org .set .define .undef .ifdef .ifndef .if .else +syn keyword avraDirective .elif .elseif .warning + +syn keyword avraOperator low high byte2 byte3 byte4 lwrd hwrd page exp2 log2 + +syn match avraNumericOperator "[-*/+]" +syn match avraUnaryOperator "!" +syn match avraBinaryOperator "<<\|>>\|<\|<=\|>\|>=\|==\|!=" +syn match avraBitwiseOperator "[~&^|]\|&&\|||" + +syn match avraBinaryNumber "\<0[bB][0-1]*\>" +syn match avraHexNumber "\<0[xX][0-9a-fA-F]\+\>" +syn match avraDecNumber "\<\(0\|[1-9]\d*\)\>" + +syn region avraComment start=";" end="$" +syn region avraString start="\"" end="\"\|$" + +syn match avraLabel "^\s*[^; \t]\+:" + +hi def link avraBinaryNumber avraNumber +hi def link avraHexNumber avraNumber +hi def link avraDecNumber avraNumber + +hi def link avraNumericOperator avraOperator +hi def link avraUnaryOperator avraOperator +hi def link avraBinaryOperator avraOperator +hi def link avraBitwiseOperator avraOperator + + +hi def link avraOperator operator +hi def link avraComment comment +hi def link avraDirective preproc +hi def link avraRegister type +hi def link avraNumber constant +hi def link avraString String +hi def link avraInstr keyword +hi def link avraLabel label + +let b:current_syntax = "avra" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/avra.vim b/uvim/runtime/syntax/avra.vim deleted file mode 100644 index 0e02bd8397..0000000000 --- a/uvim/runtime/syntax/avra.vim +++ /dev/null @@ -1,71 +0,0 @@ -" Vim syntax file -" Language: AVR Assembler (AVRA) -" AVRA Home: http://avra.sourceforge.net/index.html -" AVRA Version: 1.3.0 -" Last Update: 2016 Oct 7 -" Maintainer: Marius Ghita - -let s:cpo_save = &cpo -set cpo&vim - -syn case ignore - -syn keyword avraRegister r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 -syn keyword avraRegister r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 -syn keyword avraRegister r28 r29 r30 r31 - -syn keyword avraInstr add adc adiw sub subi sbc sbci sbiw and andi or ori eor -syn keyword avraInstr com neg sbr cbr inc dec tst clr ser mul muls mulsu fmul -syn keyword avraInstr fmuls fmulsu des rjmp ijmp eijmp jmp rcall icall eicall -syn keyword avraInstr call ret reti cpse cp cpc cpi sbrc sbrs sbic sbis brbs -syn keyword avraInstr brbc breq brne brcs brcc brsh brlo brmi brpl brge brlt -syn keyword avraInstr brhs brhc brts brtc brvs brvc brie brid mov movw ldi lds -syn keyword avraInstr ld ldd sts st std lpm elpm spm in out push pop xch las -syn keyword avraInstr lac lat lsl lsr rol ror asr swap bset bclr sbi cbi bst bld -syn keyword avraInstr sec clc sen cln sez clz sei cli ses cls sev clv set clt -syn keyword avraInstr seh clh break nop sleep wdr - -syn keyword avraDirective .byte .cseg .db .def .device .dseg .dw .endmacro .equ -syn keyword avraDirective .eseg .exit .include .list .listmac .macro .nolist -syn keyword avraDirective .org .set .define .undef .ifdef .ifndef .if .else -syn keyword avraDirective .elif .elseif .warning - -syn keyword avraOperator low high byte2 byte3 byte4 lwrd hwrd page exp2 log2 - -syn match avraNumericOperator "[-*/+]" -syn match avraUnaryOperator "!" -syn match avraBinaryOperator "<<\|>>\|<\|<=\|>\|>=\|==\|!=" -syn match avraBitwiseOperator "[~&^|]\|&&\|||" - -syn match avraBinaryNumber "\<0[bB][0-1]*\>" -syn match avraHexNumber "\<0[xX][0-9a-fA-F]\+\>" -syn match avraDecNumber "\<\(0\|[1-9]\d*\)\>" - -syn region avraComment start=";" end="$" -syn region avraString start="\"" end="\"\|$" - -syn match avraLabel "^\s*[^; \t]\+:" - -hi def link avraBinaryNumber avraNumber -hi def link avraHexNumber avraNumber -hi def link avraDecNumber avraNumber - -hi def link avraNumericOperator avraOperator -hi def link avraUnaryOperator avraOperator -hi def link avraBinaryOperator avraOperator -hi def link avraBitwiseOperator avraOperator - - -hi def link avraOperator operator -hi def link avraComment comment -hi def link avraDirective preproc -hi def link avraRegister type -hi def link avraNumber constant -hi def link avraString String -hi def link avraInstr keyword -hi def link avraLabel label - -let b:current_syntax = "avra" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/awk.mnv b/uvim/runtime/syntax/awk.mnv new file mode 100644 index 0000000000..9be38739f8 --- /dev/null +++ b/uvim/runtime/syntax/awk.mnv @@ -0,0 +1,217 @@ +" MNV syntax file +" Language: awk, nawk, gawk, mawk +" Maintainer: Doug Kearns +" Previous Maintainer: Antonio Colombo +" Last Change: 2024 Oct 28 + +" AWK ref. is: Alfred V. Aho, Brian W. Kernighan, Peter J. Weinberger +" The AWK Programming Language, Addison-Wesley, 1988 + +" GAWK ref. is: Arnold D. Robbins +" Effective AWK Programming, Third Edition, O'Reilly, 2001 +" Effective AWK Programming, Fourth Edition, O'Reilly, 2015 +" (up-to-date version available with the gawk source distribution) + +" MAWK is a "new awk" meaning it implements AWK ref. +" mawk conforms to the Posix 1003.2 (draft 11.3) +" definition of the AWK language which contains a few features +" not described in the AWK book, and mawk provides a small number of extensions. + +" TODO: +" Dig into the commented out syntax expressions below. + +" Quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn iskeyword @,48-57,_,192-255,@-@ + +" A bunch of useful Awk keywords +" AWK ref. p. 188 +syn keyword awkStatement break continue delete exit +syn keyword awkStatement function getline next +syn keyword awkStatement print printf return +" GAWK ref. Chapter 7-9 +syn keyword awkStatement case default switch nextfile +syn keyword awkStatement func +" GAWK ref. Chapter 2.7, Including Other Files into Your Program +" GAWK ref. Chapter 2.8, Loading Dynamic Extensions into Your Program +" GAWK ref. Chapter 15, Namespaces +" Directives +syn keyword awkStatement @include @load @namespace +" +" GAWK ref. Chapter 9, Functions +" Numeric Functions +syn keyword awkFunction atan2 cos exp int log rand sin sqrt srand +" String Manipulation Functions +syn keyword awkFunction asort asorti gensub gsub index length match +syn keyword awkFunction patsplit split sprintf strtonum sub substr +syn keyword awkFunction tolower toupper +" Input Output Functions +syn keyword awkFunction close fflush system +" Time Functions +syn keyword awkFunction mktime strftime systime +" Bit Manipulation Functions +syn keyword awkFunction and compl lshift or rshift xor +" Getting Type Information Functions +syn keyword awkFunction isarray typeof +" String-Translation Functions +syn keyword awkFunction bindtextdomain dcgettext dcngetext + +syn keyword awkConditional if else +syn keyword awkRepeat while for do + +syn keyword awkTodo contained TODO + +syn keyword awkPatterns BEGIN END BEGINFILE ENDFILE + +" GAWK ref. Chapter 7 +" Built-in Variables That Control awk +syn keyword awkVariables BINMODE CONVFMT FIELDWIDTHS FPAT FS +syn keyword awkVariables IGNORECASE LINT OFMT OFS ORS PREC +syn keyword awkVariables ROUNDMODE RS SUBSEP TEXTDOMAIN +" Built-in Variables That Convey Information +syn keyword awkVariables ARGC ARGV ARGIND ENVIRON ERRNO FILENAME +syn keyword awkVariables FNR NF FUNCTAB NR PROCINFO RLENGTH RSTART +syn keyword awkVariables RT SYMTAB + +" Arithmetic operators: +, and - take care of ++, and -- +syn match awkOperator "+\|-\|\*\|/\|%\|=" +syn match awkOperator "+=\|-=\|\*=\|/=\|%=" +syn match awkOperator "\^\|\^=" + +" Octal format character. +syn match awkSpecialCharacter display contained "\\[0-7]\{1,3\}" +" Hex format character. +syn match awkSpecialCharacter display contained "\\x[0-9A-Fa-f]\+" + +syn match awkFieldVars "\$\d\+" + +" catch errors caused by wrong parenthesis +syn region awkParen transparent start="(" end=")" contains=ALLBUT,awkParenError,awkSpecialCharacter,awkArrayElement,awkArrayArray,awkTodo,awkRegExp,awkBrktRegExp,awkBrackets,awkCharClass +syn match awkParenError display ")" +"syn match awkInParen display contained "[{}]" + +" 64 lines for complex &&'s, and ||'s in a big "if" +syn sync ccomment awkParen maxlines=64 + +" Search strings & Regular Expressions therein. +syn region awkSearch oneline start="^[ \t]*/"ms=e start="\(,\|!\=\~\)[ \t]*/"ms=e skip="\\\\\|\\/" end="/" contains=awkBrackets,awkRegExp,awkSpecialCharacter +syn region awkBrackets contained start="\[\^\]\="ms=s+2 start="\[[^\^]"ms=s+1 end="\]"me=e-1 contains=awkBrktRegExp,awkCharClass +syn region awkSearch oneline start="[ \t]*/"hs=e skip="\\\\\|\\/" end="/" contains=awkBrackets,awkRegExp,awkSpecialCharacter + +syn match awkCharClass contained "\[:[^:\]]*:\]" +syn match awkBrktRegExp contained "\\.\|.\-[^]]" +syn match awkRegExp contained "/\^"ms=s+1 +syn match awkRegExp contained "\$/"me=e-1 +syn match awkRegExp contained "[?.*{}|+]" + +" String and Character constants +" Highlight special characters (those which have a backslash) differently +syn region awkString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell,awkSpecialCharacter,awkSpecialPrintf +syn match awkSpecialCharacter contained "\\." + +" Some of these combinations may seem weird, but they work. +syn match awkSpecialPrintf contained "%[-+ #]*\d*\.\=\d*[cdefgiosuxEGX%]" + +" Numbers, allowing signs (both -, and +) +" Integer number. +syn match awkNumber display "[+-]\=\<\d\+\>" +" Floating point number. +syn match awkFloat display "[+-]\=\<\d\+\.\d+\>" +" Floating point number, starting with a dot. +syn match awkFloat display "[+-]\=\<.\d+\>" +syn case ignore +"floating point number, with dot, optional exponent +syn match awkFloat display "\<\d\+\.\d*\(e[-+]\=\d\+\)\=\>" +"floating point number, starting with a dot, optional exponent +syn match awkFloat display "\.\d\+\(e[-+]\=\d\+\)\=\>" +"floating point number, without dot, with exponent +syn match awkFloat display "\<\d\+e[-+]\=\d\+\>" +syn case match + +"syn match awkIdentifier "\<[a-zA-Z_][a-zA-Z0-9_]*\>" + +" Comparison expressions. +syn match awkExpression "==\|>=\|=>\|<=\|=<\|\!=" +syn match awkExpression "\~\|\!\~" +syn match awkExpression "?\|:" +syn keyword awkExpression in + +" Boolean Logic (OR, AND, NOT) +syn match awkBoolLogic "||\|&&\|\!" + +" This is overridden by less-than & greater-than. +" Put this above those to override them. +" Put this in a 'match "\.*;\="' to make it not override +" less/greater than (most of the time), but it won't work yet because +" keywords always have precedence over match & region. +" File I/O: (print foo, bar > "filename") & for nawk (getline < "filename") +"syn match awkFileIO contained ">" +"syn match awkFileIO contained "<" + +" Expression separators: ';' and ',' +syn match awkSemicolon ";" +syn match awkComma "," + +syn match awkComment "#.*" contains=@Spell,awkTodo + +syn match awkLineSkip "\\$" + +" Highlight array element's (recursive arrays allowed). +" Keeps nested array names' separate from normal array elements. +" Keeps numbers separate from normal array elements (variables). +syn match awkArrayArray contained "[^][, \t]\+\["me=e-1 +syn match awkArrayElement contained "[^][, \t]\+" +syn region awkArray transparent start="\[" end="\]" contains=awkArray,awkArrayElement,awkArrayArray,awkNumber,awkFloat + +" 10 should be enough. +" (for the few instances where it would be more than "oneline") +syn sync ccomment awkArray maxlines=10 + +" Define the default highlighting. +hi def link awkConditional Conditional +hi def link awkFunction Function +hi def link awkRepeat Repeat +hi def link awkStatement Statement +hi def link awkString String +hi def link awkSpecialPrintf Special +hi def link awkSpecialCharacter Special +hi def link awkSearch String +hi def link awkBrackets awkRegExp +hi def link awkBrktRegExp awkNestRegExp +hi def link awkCharClass awkNestRegExp +hi def link awkNestRegExp Keyword +hi def link awkRegExp Special +hi def link awkNumber Number +hi def link awkFloat Float +hi def link awkFileIO Special +hi def link awkOperator Special +hi def link awkExpression Special +hi def link awkBoolLogic Special +hi def link awkPatterns Special +hi def link awkVariables Special +hi def link awkFieldVars Special +hi def link awkLineSkip Special +hi def link awkSemicolon Special +hi def link awkComma Special +hi def link awkIdentifier Identifier +hi def link awkComment Comment +hi def link awkTodo Todo +" Change this if you want nested array names to be highlighted. +hi def link awkArrayArray awkArray +hi def link awkArrayElement Special +hi def link awkParenError awkError +hi def link awkInParen awkError +hi def link awkError Error + +let b:current_syntax = "awk" + +let &cpo = s:cpo_save +unlet s:cpo_save + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/awk.vim b/uvim/runtime/syntax/awk.vim deleted file mode 100644 index 4e7c0d1e72..0000000000 --- a/uvim/runtime/syntax/awk.vim +++ /dev/null @@ -1,217 +0,0 @@ -" Vim syntax file -" Language: awk, nawk, gawk, mawk -" Maintainer: Doug Kearns -" Previous Maintainer: Antonio Colombo -" Last Change: 2024 Oct 28 - -" AWK ref. is: Alfred V. Aho, Brian W. Kernighan, Peter J. Weinberger -" The AWK Programming Language, Addison-Wesley, 1988 - -" GAWK ref. is: Arnold D. Robbins -" Effective AWK Programming, Third Edition, O'Reilly, 2001 -" Effective AWK Programming, Fourth Edition, O'Reilly, 2015 -" (up-to-date version available with the gawk source distribution) - -" MAWK is a "new awk" meaning it implements AWK ref. -" mawk conforms to the Posix 1003.2 (draft 11.3) -" definition of the AWK language which contains a few features -" not described in the AWK book, and mawk provides a small number of extensions. - -" TODO: -" Dig into the commented out syntax expressions below. - -" Quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn iskeyword @,48-57,_,192-255,@-@ - -" A bunch of useful Awk keywords -" AWK ref. p. 188 -syn keyword awkStatement break continue delete exit -syn keyword awkStatement function getline next -syn keyword awkStatement print printf return -" GAWK ref. Chapter 7-9 -syn keyword awkStatement case default switch nextfile -syn keyword awkStatement func -" GAWK ref. Chapter 2.7, Including Other Files into Your Program -" GAWK ref. Chapter 2.8, Loading Dynamic Extensions into Your Program -" GAWK ref. Chapter 15, Namespaces -" Directives -syn keyword awkStatement @include @load @namespace -" -" GAWK ref. Chapter 9, Functions -" Numeric Functions -syn keyword awkFunction atan2 cos exp int log rand sin sqrt srand -" String Manipulation Functions -syn keyword awkFunction asort asorti gensub gsub index length match -syn keyword awkFunction patsplit split sprintf strtonum sub substr -syn keyword awkFunction tolower toupper -" Input Output Functions -syn keyword awkFunction close fflush system -" Time Functions -syn keyword awkFunction mktime strftime systime -" Bit Manipulation Functions -syn keyword awkFunction and compl lshift or rshift xor -" Getting Type Information Functions -syn keyword awkFunction isarray typeof -" String-Translation Functions -syn keyword awkFunction bindtextdomain dcgettext dcngetext - -syn keyword awkConditional if else -syn keyword awkRepeat while for do - -syn keyword awkTodo contained TODO - -syn keyword awkPatterns BEGIN END BEGINFILE ENDFILE - -" GAWK ref. Chapter 7 -" Built-in Variables That Control awk -syn keyword awkVariables BINMODE CONVFMT FIELDWIDTHS FPAT FS -syn keyword awkVariables IGNORECASE LINT OFMT OFS ORS PREC -syn keyword awkVariables ROUNDMODE RS SUBSEP TEXTDOMAIN -" Built-in Variables That Convey Information -syn keyword awkVariables ARGC ARGV ARGIND ENVIRON ERRNO FILENAME -syn keyword awkVariables FNR NF FUNCTAB NR PROCINFO RLENGTH RSTART -syn keyword awkVariables RT SYMTAB - -" Arithmetic operators: +, and - take care of ++, and -- -syn match awkOperator "+\|-\|\*\|/\|%\|=" -syn match awkOperator "+=\|-=\|\*=\|/=\|%=" -syn match awkOperator "\^\|\^=" - -" Octal format character. -syn match awkSpecialCharacter display contained "\\[0-7]\{1,3\}" -" Hex format character. -syn match awkSpecialCharacter display contained "\\x[0-9A-Fa-f]\+" - -syn match awkFieldVars "\$\d\+" - -" catch errors caused by wrong parenthesis -syn region awkParen transparent start="(" end=")" contains=ALLBUT,awkParenError,awkSpecialCharacter,awkArrayElement,awkArrayArray,awkTodo,awkRegExp,awkBrktRegExp,awkBrackets,awkCharClass -syn match awkParenError display ")" -"syn match awkInParen display contained "[{}]" - -" 64 lines for complex &&'s, and ||'s in a big "if" -syn sync ccomment awkParen maxlines=64 - -" Search strings & Regular Expressions therein. -syn region awkSearch oneline start="^[ \t]*/"ms=e start="\(,\|!\=\~\)[ \t]*/"ms=e skip="\\\\\|\\/" end="/" contains=awkBrackets,awkRegExp,awkSpecialCharacter -syn region awkBrackets contained start="\[\^\]\="ms=s+2 start="\[[^\^]"ms=s+1 end="\]"me=e-1 contains=awkBrktRegExp,awkCharClass -syn region awkSearch oneline start="[ \t]*/"hs=e skip="\\\\\|\\/" end="/" contains=awkBrackets,awkRegExp,awkSpecialCharacter - -syn match awkCharClass contained "\[:[^:\]]*:\]" -syn match awkBrktRegExp contained "\\.\|.\-[^]]" -syn match awkRegExp contained "/\^"ms=s+1 -syn match awkRegExp contained "\$/"me=e-1 -syn match awkRegExp contained "[?.*{}|+]" - -" String and Character constants -" Highlight special characters (those which have a backslash) differently -syn region awkString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell,awkSpecialCharacter,awkSpecialPrintf -syn match awkSpecialCharacter contained "\\." - -" Some of these combinations may seem weird, but they work. -syn match awkSpecialPrintf contained "%[-+ #]*\d*\.\=\d*[cdefgiosuxEGX%]" - -" Numbers, allowing signs (both -, and +) -" Integer number. -syn match awkNumber display "[+-]\=\<\d\+\>" -" Floating point number. -syn match awkFloat display "[+-]\=\<\d\+\.\d+\>" -" Floating point number, starting with a dot. -syn match awkFloat display "[+-]\=\<.\d+\>" -syn case ignore -"floating point number, with dot, optional exponent -syn match awkFloat display "\<\d\+\.\d*\(e[-+]\=\d\+\)\=\>" -"floating point number, starting with a dot, optional exponent -syn match awkFloat display "\.\d\+\(e[-+]\=\d\+\)\=\>" -"floating point number, without dot, with exponent -syn match awkFloat display "\<\d\+e[-+]\=\d\+\>" -syn case match - -"syn match awkIdentifier "\<[a-zA-Z_][a-zA-Z0-9_]*\>" - -" Comparison expressions. -syn match awkExpression "==\|>=\|=>\|<=\|=<\|\!=" -syn match awkExpression "\~\|\!\~" -syn match awkExpression "?\|:" -syn keyword awkExpression in - -" Boolean Logic (OR, AND, NOT) -syn match awkBoolLogic "||\|&&\|\!" - -" This is overridden by less-than & greater-than. -" Put this above those to override them. -" Put this in a 'match "\.*;\="' to make it not override -" less/greater than (most of the time), but it won't work yet because -" keywords always have precedence over match & region. -" File I/O: (print foo, bar > "filename") & for nawk (getline < "filename") -"syn match awkFileIO contained ">" -"syn match awkFileIO contained "<" - -" Expression separators: ';' and ',' -syn match awkSemicolon ";" -syn match awkComma "," - -syn match awkComment "#.*" contains=@Spell,awkTodo - -syn match awkLineSkip "\\$" - -" Highlight array element's (recursive arrays allowed). -" Keeps nested array names' separate from normal array elements. -" Keeps numbers separate from normal array elements (variables). -syn match awkArrayArray contained "[^][, \t]\+\["me=e-1 -syn match awkArrayElement contained "[^][, \t]\+" -syn region awkArray transparent start="\[" end="\]" contains=awkArray,awkArrayElement,awkArrayArray,awkNumber,awkFloat - -" 10 should be enough. -" (for the few instances where it would be more than "oneline") -syn sync ccomment awkArray maxlines=10 - -" Define the default highlighting. -hi def link awkConditional Conditional -hi def link awkFunction Function -hi def link awkRepeat Repeat -hi def link awkStatement Statement -hi def link awkString String -hi def link awkSpecialPrintf Special -hi def link awkSpecialCharacter Special -hi def link awkSearch String -hi def link awkBrackets awkRegExp -hi def link awkBrktRegExp awkNestRegExp -hi def link awkCharClass awkNestRegExp -hi def link awkNestRegExp Keyword -hi def link awkRegExp Special -hi def link awkNumber Number -hi def link awkFloat Float -hi def link awkFileIO Special -hi def link awkOperator Special -hi def link awkExpression Special -hi def link awkBoolLogic Special -hi def link awkPatterns Special -hi def link awkVariables Special -hi def link awkFieldVars Special -hi def link awkLineSkip Special -hi def link awkSemicolon Special -hi def link awkComma Special -hi def link awkIdentifier Identifier -hi def link awkComment Comment -hi def link awkTodo Todo -" Change this if you want nested array names to be highlighted. -hi def link awkArrayArray awkArray -hi def link awkArrayElement Special -hi def link awkParenError awkError -hi def link awkInParen awkError -hi def link awkError Error - -let b:current_syntax = "awk" - -let &cpo = s:cpo_save -unlet s:cpo_save - -" vim: ts=8 diff --git a/uvim/runtime/syntax/ayacc.mnv b/uvim/runtime/syntax/ayacc.mnv new file mode 100644 index 0000000000..949debc947 --- /dev/null +++ b/uvim/runtime/syntax/ayacc.mnv @@ -0,0 +1,75 @@ +" MNV syntax file +" Language: AYacc +" Maintainer: Mathieu Clabaut +" LastChange: 2011 Dec 25 +" Original: Yacc, maintained by Dr. Charles E. Campbell, Jr. +" Comment: Replaced sourcing c.mnv file by ada.mnv and rename yacc* +" in ayacc* + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" Read the Ada syntax to start with +runtime! syntax/ada.mnv +unlet b:current_syntax + +let s:cpo_save = &cpo +set cpo&mnv + +" Clusters +syn cluster ayaccActionGroup contains=ayaccDelim,cInParen,cTodo,cIncluded,ayaccDelim,ayaccCurlyError,ayaccUnionCurly,ayaccUnion,cUserLabel,cOctalZero,cCppOut2,cCppSkip,cErrInBracket,cErrInParen,cOctalError +syn cluster ayaccUnionGroup contains=ayaccKey,cComment,ayaccCurly,cType,cStructure,cStorageClass,ayaccUnionCurly + +" Yacc stuff +syn match ayaccDelim "^[ \t]*[:|;]" +syn match ayaccOper "@\d\+" + +syn match ayaccKey "^[ \t]*%\(token\|type\|left\|right\|start\|ident\)\>" +syn match ayaccKey "[ \t]%\(prec\|expect\|nonassoc\)\>" +syn match ayaccKey "\$\(<[a-zA-Z_][a-zA-Z_0-9]*>\)\=[\$0-9]\+" +syn keyword ayaccKeyActn yyerrok yyclearin + +syn match ayaccUnionStart "^%union" skipwhite skipnl nextgroup=ayaccUnion +syn region ayaccUnion contained matchgroup=ayaccCurly start="{" matchgroup=ayaccCurly end="}" contains=@ayaccUnionGroup +syn region ayaccUnionCurly contained matchgroup=ayaccCurly start="{" matchgroup=ayaccCurly end="}" contains=@ayaccUnionGroup +syn match ayaccBrkt contained "[<>]" +syn match ayaccType "<[a-zA-Z_][a-zA-Z0-9_]*>" contains=ayaccBrkt +syn match ayaccDefinition "^[A-Za-z][A-Za-z0-9_]*[ \t]*:" + +" special Yacc separators +syn match ayaccSectionSep "^[ \t]*%%" +syn match ayaccSep "^[ \t]*%{" +syn match ayaccSep "^[ \t]*%}" + +" I'd really like to highlight just the outer {}. Any suggestions??? +syn match ayaccCurlyError "[{}]" +syn region ayaccAction matchgroup=ayaccCurly start="{" end="}" contains=ALLBUT,@ayaccActionGroup + + +" Internal ayacc highlighting links +hi def link ayaccBrkt ayaccStmt +hi def link ayaccKey ayaccStmt +hi def link ayaccOper ayaccStmt +hi def link ayaccUnionStart ayaccKey + +" External ayacc highlighting links +hi def link ayaccCurly Delimiter +hi def link ayaccCurlyError Error +hi def link ayaccDefinition Function +hi def link ayaccDelim Function +hi def link ayaccKeyActn Special +hi def link ayaccSectionSep Todo +hi def link ayaccSep Delimiter +hi def link ayaccStmt Statement +hi def link ayaccType Type + +" since Bram doesn't like my Delimiter :| +hi def link Delimiter Type + +let b:current_syntax = "ayacc" + +let &cpo = s:cpo_save +unlet s:cpo_save +" mnv: ts=15 diff --git a/uvim/runtime/syntax/ayacc.vim b/uvim/runtime/syntax/ayacc.vim deleted file mode 100644 index 6fb6aec85d..0000000000 --- a/uvim/runtime/syntax/ayacc.vim +++ /dev/null @@ -1,75 +0,0 @@ -" Vim syntax file -" Language: AYacc -" Maintainer: Mathieu Clabaut -" LastChange: 2011 Dec 25 -" Original: Yacc, maintained by Dr. Charles E. Campbell, Jr. -" Comment: Replaced sourcing c.vim file by ada.vim and rename yacc* -" in ayacc* - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" Read the Ada syntax to start with -runtime! syntax/ada.vim -unlet b:current_syntax - -let s:cpo_save = &cpo -set cpo&vim - -" Clusters -syn cluster ayaccActionGroup contains=ayaccDelim,cInParen,cTodo,cIncluded,ayaccDelim,ayaccCurlyError,ayaccUnionCurly,ayaccUnion,cUserLabel,cOctalZero,cCppOut2,cCppSkip,cErrInBracket,cErrInParen,cOctalError -syn cluster ayaccUnionGroup contains=ayaccKey,cComment,ayaccCurly,cType,cStructure,cStorageClass,ayaccUnionCurly - -" Yacc stuff -syn match ayaccDelim "^[ \t]*[:|;]" -syn match ayaccOper "@\d\+" - -syn match ayaccKey "^[ \t]*%\(token\|type\|left\|right\|start\|ident\)\>" -syn match ayaccKey "[ \t]%\(prec\|expect\|nonassoc\)\>" -syn match ayaccKey "\$\(<[a-zA-Z_][a-zA-Z_0-9]*>\)\=[\$0-9]\+" -syn keyword ayaccKeyActn yyerrok yyclearin - -syn match ayaccUnionStart "^%union" skipwhite skipnl nextgroup=ayaccUnion -syn region ayaccUnion contained matchgroup=ayaccCurly start="{" matchgroup=ayaccCurly end="}" contains=@ayaccUnionGroup -syn region ayaccUnionCurly contained matchgroup=ayaccCurly start="{" matchgroup=ayaccCurly end="}" contains=@ayaccUnionGroup -syn match ayaccBrkt contained "[<>]" -syn match ayaccType "<[a-zA-Z_][a-zA-Z0-9_]*>" contains=ayaccBrkt -syn match ayaccDefinition "^[A-Za-z][A-Za-z0-9_]*[ \t]*:" - -" special Yacc separators -syn match ayaccSectionSep "^[ \t]*%%" -syn match ayaccSep "^[ \t]*%{" -syn match ayaccSep "^[ \t]*%}" - -" I'd really like to highlight just the outer {}. Any suggestions??? -syn match ayaccCurlyError "[{}]" -syn region ayaccAction matchgroup=ayaccCurly start="{" end="}" contains=ALLBUT,@ayaccActionGroup - - -" Internal ayacc highlighting links -hi def link ayaccBrkt ayaccStmt -hi def link ayaccKey ayaccStmt -hi def link ayaccOper ayaccStmt -hi def link ayaccUnionStart ayaccKey - -" External ayacc highlighting links -hi def link ayaccCurly Delimiter -hi def link ayaccCurlyError Error -hi def link ayaccDefinition Function -hi def link ayaccDelim Function -hi def link ayaccKeyActn Special -hi def link ayaccSectionSep Todo -hi def link ayaccSep Delimiter -hi def link ayaccStmt Statement -hi def link ayaccType Type - -" since Bram doesn't like my Delimiter :| -hi def link Delimiter Type - -let b:current_syntax = "ayacc" - -let &cpo = s:cpo_save -unlet s:cpo_save -" vim: ts=15 diff --git a/uvim/runtime/syntax/b.mnv b/uvim/runtime/syntax/b.mnv new file mode 100644 index 0000000000..3df16c2df6 --- /dev/null +++ b/uvim/runtime/syntax/b.mnv @@ -0,0 +1,114 @@ +" MNV syntax file +" Language: B (A Formal Method with refinement and mathematical proof) +" Maintainer: Mathieu Clabaut +" Contributor: Csaba Hoch +" LastChange: 8 Dec 2007 + + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + + +" A bunch of useful B keywords +syn keyword bStatement MACHINE MODEL SEES OPERATIONS INCLUDES DEFINITIONS CONSTRAINTS CONSTANTS VARIABLES CONCRETE_CONSTANTS CONCRETE_VARIABLES ABSTRACT_CONSTANTS ABSTRACT_VARIABLES HIDDEN_CONSTANTS HIDDEN_VARIABLES ASSERT ASSERTIONS EXTENDS IMPLEMENTATION REFINEMENT IMPORTS USES INITIALISATION INVARIANT PROMOTES PROPERTIES REFINES SETS VALUES VARIANT VISIBLE_CONSTANTS VISIBLE_VARIABLES THEORY XLS THEOREMS LOCAL_OPERATIONS +syn keyword bLabel CASE IN EITHER OR CHOICE DO OF +syn keyword bConditional IF ELSE SELECT ELSIF THEN WHEN +syn keyword bRepeat WHILE FOR +syn keyword bOps bool card conc closure closure1 dom first fnc front not or id inter iseq iseq1 iterate last max min mod perm pred prj1 prj2 ran rel rev seq seq1 size skip succ tail union +syn keyword bKeywords LET VAR BE IN BEGIN END POW POW1 FIN FIN1 PRE SIGMA STRING UNION IS ANY WHERE + +syn keyword bBoolean TRUE FALSE bfalse btrue +syn keyword bConstant PI MAXINT MININT User_Pass PatchProver PatchProverH0 PatchProverB0 FLAT ARI DED SUB RES +syn keyword bGuard binhyp band bnot bguard bsearch bflat bfresh bguardi bget bgethyp barith bgetresult bresult bgoal bmatch bmodr bnewv bnum btest bpattern bprintf bwritef bsubfrm bvrb blvar bcall bappend bclose + +syn keyword bLogic or not +syn match bLogic "\(!\|#\|%\|&\|+->>\|+->\|-->>\|->>\|-->\|->\|/:\|/<:\|/<<:\|/=\|/\\\|/|\\\|::\|:\|;:\|<+\|<->\|<--\|<-\|<:\|<<:\|<<|\|<=>\|<|\|==\|=>\|>+>>\|>->\|>+>\|||\||->\)" +syn match bNothing /:=/ + +syn keyword cTodo contained TODO FIXME XXX + +" String and Character constants +" Highlight special characters (those which have a backslash) differently +syn match bSpecial contained "\\[0-7][0-7][0-7]\=\|\\." +syn region bString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=bSpecial +syn match bCharacter "'[^\\]'" +syn match bSpecialCharacter "'\\.'" +syn match bSpecialCharacter "'\\[0-7][0-7]'" +syn match bSpecialCharacter "'\\[0-7][0-7][0-7]'" + +"catch errors caused by wrong parenthesis +syn region bParen transparent start='(' end=')' contains=ALLBUT,bParenError,bIncluded,bSpecial,bTodo,bUserLabel,bBitField +syn match bParenError ")" +syn match bInParen contained "[{}]" + +"integer number, or floating point number without a dot and with "f". +syn case ignore +syn match bNumber "\<[0-9]\+\>" +"syn match bIdentifier "\<[a-z_][a-z0-9_]*\>" +syn case match + + syn region bComment start="/\*" end="\*/" contains=bTodo + syn match bComment "//.*" contains=bTodo +syntax match bCommentError "\*/" + +syn keyword bType INT INTEGER BOOL NAT NATURAL NAT1 NATURAL1 + +syn region bPreCondit start="^\s*#\s*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=bComment,bString,bCharacter,bNumber,bCommentError +syn region bIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+ +syn match bIncluded contained "<[^>]*>" +syn match bInclude "^\s*#\s*include\>\s*["<]" contains=bIncluded + +syn region bDefine start="^\s*#\s*\(define\>\|undef\>\)" skip="\\$" end="$" contains=ALLBUT,bPreCondit,bIncluded,bInclude,bDefine,bInParen +syn region bPreProc start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" contains=ALLBUT,bPreCondit,bIncluded,bInclude,bDefine,bInParen + +syn sync ccomment bComment minlines=10 + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + + +" The default methods for highlighting. Can be overridden later +hi def link bLabel Label +hi def link bUserLabel Label +hi def link bConditional Conditional +hi def link bRepeat Repeat +hi def link bLogic Special +hi def link bCharacter Character +hi def link bSpecialCharacter bSpecial +hi def link bNumber Number +hi def link bFloat Float +hi def link bOctalError bError +hi def link bParenError bError +" hi def link bInParen bError +hi def link bCommentError bError +hi def link bBoolean Identifier +hi def link bConstant Identifier +hi def link bGuard Identifier +hi def link bOperator Operator +hi def link bKeywords Operator +hi def link bOps Identifier +hi def link bStructure Structure +hi def link bStorageClass StorageClass +hi def link bInclude Include +hi def link bPreProc PreProc +hi def link bDefine Macro +hi def link bIncluded bString +hi def link bError Error +hi def link bStatement Statement +hi def link bPreCondit PreCondit +hi def link bType Type +hi def link bCommentError bError +hi def link bCommentString bString +hi def link bComment2String bString +hi def link bCommentSkip bComment +hi def link bString String +hi def link bComment Comment +hi def link bSpecial SpecialChar +hi def link bTodo Todo +"hi link bIdentifier Identifier + +let b:current_syntax = "b" + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/b.vim b/uvim/runtime/syntax/b.vim deleted file mode 100644 index 01532be75d..0000000000 --- a/uvim/runtime/syntax/b.vim +++ /dev/null @@ -1,114 +0,0 @@ -" Vim syntax file -" Language: B (A Formal Method with refinement and mathematical proof) -" Maintainer: Mathieu Clabaut -" Contributor: Csaba Hoch -" LastChange: 8 Dec 2007 - - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - - -" A bunch of useful B keywords -syn keyword bStatement MACHINE MODEL SEES OPERATIONS INCLUDES DEFINITIONS CONSTRAINTS CONSTANTS VARIABLES CONCRETE_CONSTANTS CONCRETE_VARIABLES ABSTRACT_CONSTANTS ABSTRACT_VARIABLES HIDDEN_CONSTANTS HIDDEN_VARIABLES ASSERT ASSERTIONS EXTENDS IMPLEMENTATION REFINEMENT IMPORTS USES INITIALISATION INVARIANT PROMOTES PROPERTIES REFINES SETS VALUES VARIANT VISIBLE_CONSTANTS VISIBLE_VARIABLES THEORY XLS THEOREMS LOCAL_OPERATIONS -syn keyword bLabel CASE IN EITHER OR CHOICE DO OF -syn keyword bConditional IF ELSE SELECT ELSIF THEN WHEN -syn keyword bRepeat WHILE FOR -syn keyword bOps bool card conc closure closure1 dom first fnc front not or id inter iseq iseq1 iterate last max min mod perm pred prj1 prj2 ran rel rev seq seq1 size skip succ tail union -syn keyword bKeywords LET VAR BE IN BEGIN END POW POW1 FIN FIN1 PRE SIGMA STRING UNION IS ANY WHERE - -syn keyword bBoolean TRUE FALSE bfalse btrue -syn keyword bConstant PI MAXINT MININT User_Pass PatchProver PatchProverH0 PatchProverB0 FLAT ARI DED SUB RES -syn keyword bGuard binhyp band bnot bguard bsearch bflat bfresh bguardi bget bgethyp barith bgetresult bresult bgoal bmatch bmodr bnewv bnum btest bpattern bprintf bwritef bsubfrm bvrb blvar bcall bappend bclose - -syn keyword bLogic or not -syn match bLogic "\(!\|#\|%\|&\|+->>\|+->\|-->>\|->>\|-->\|->\|/:\|/<:\|/<<:\|/=\|/\\\|/|\\\|::\|:\|;:\|<+\|<->\|<--\|<-\|<:\|<<:\|<<|\|<=>\|<|\|==\|=>\|>+>>\|>->\|>+>\|||\||->\)" -syn match bNothing /:=/ - -syn keyword cTodo contained TODO FIXME XXX - -" String and Character constants -" Highlight special characters (those which have a backslash) differently -syn match bSpecial contained "\\[0-7][0-7][0-7]\=\|\\." -syn region bString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=bSpecial -syn match bCharacter "'[^\\]'" -syn match bSpecialCharacter "'\\.'" -syn match bSpecialCharacter "'\\[0-7][0-7]'" -syn match bSpecialCharacter "'\\[0-7][0-7][0-7]'" - -"catch errors caused by wrong parenthesis -syn region bParen transparent start='(' end=')' contains=ALLBUT,bParenError,bIncluded,bSpecial,bTodo,bUserLabel,bBitField -syn match bParenError ")" -syn match bInParen contained "[{}]" - -"integer number, or floating point number without a dot and with "f". -syn case ignore -syn match bNumber "\<[0-9]\+\>" -"syn match bIdentifier "\<[a-z_][a-z0-9_]*\>" -syn case match - - syn region bComment start="/\*" end="\*/" contains=bTodo - syn match bComment "//.*" contains=bTodo -syntax match bCommentError "\*/" - -syn keyword bType INT INTEGER BOOL NAT NATURAL NAT1 NATURAL1 - -syn region bPreCondit start="^\s*#\s*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=bComment,bString,bCharacter,bNumber,bCommentError -syn region bIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+ -syn match bIncluded contained "<[^>]*>" -syn match bInclude "^\s*#\s*include\>\s*["<]" contains=bIncluded - -syn region bDefine start="^\s*#\s*\(define\>\|undef\>\)" skip="\\$" end="$" contains=ALLBUT,bPreCondit,bIncluded,bInclude,bDefine,bInParen -syn region bPreProc start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" contains=ALLBUT,bPreCondit,bIncluded,bInclude,bDefine,bInParen - -syn sync ccomment bComment minlines=10 - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - - -" The default methods for highlighting. Can be overridden later -hi def link bLabel Label -hi def link bUserLabel Label -hi def link bConditional Conditional -hi def link bRepeat Repeat -hi def link bLogic Special -hi def link bCharacter Character -hi def link bSpecialCharacter bSpecial -hi def link bNumber Number -hi def link bFloat Float -hi def link bOctalError bError -hi def link bParenError bError -" hi def link bInParen bError -hi def link bCommentError bError -hi def link bBoolean Identifier -hi def link bConstant Identifier -hi def link bGuard Identifier -hi def link bOperator Operator -hi def link bKeywords Operator -hi def link bOps Identifier -hi def link bStructure Structure -hi def link bStorageClass StorageClass -hi def link bInclude Include -hi def link bPreProc PreProc -hi def link bDefine Macro -hi def link bIncluded bString -hi def link bError Error -hi def link bStatement Statement -hi def link bPreCondit PreCondit -hi def link bType Type -hi def link bCommentError bError -hi def link bCommentString bString -hi def link bComment2String bString -hi def link bCommentSkip bComment -hi def link bString String -hi def link bComment Comment -hi def link bSpecial SpecialChar -hi def link bTodo Todo -"hi link bIdentifier Identifier - -let b:current_syntax = "b" - -" vim: ts=8 diff --git a/uvim/runtime/syntax/baan.mnv b/uvim/runtime/syntax/baan.mnv new file mode 100644 index 0000000000..3f3e0ff01e --- /dev/null +++ b/uvim/runtime/syntax/baan.mnv @@ -0,0 +1,1917 @@ +" MNV syntax file" +" Language: Baan +" Maintainer: Erik Remmelzwaal (erik.remmelzwaal 0x40 ssaglobal.com) +" Originally owned by: Erwin Smit / Her van de Vliert +" Last change: v1.17 2006/04/26 10:40:18 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +"********************************** Lexical setting ***************************" +syn case ignore +setlocal iskeyword+=. +"setlocal ignorecase "This is not a local yet ;-( +" Identifier +syn match baanIdentifier "\<\k\+\>" + +"************************************* 3GL ************************************" +syn match baan3glpre "#ident\>" +syn match baan3glpre "#include\>" +syn region baan3glpre start="#define\>" end="^[^^|]"me=s-1 contains=baanString,baanConstant,baanNumber,baanComment,baansql +syn match baan3glpre "#undef\>" +syn match baan3glpre "#pragma\>" +syn match baan3glpre "#if\>" +syn match baan3glpre "#ifdef\>" +syn match baan3glpre "#ifndef\>" +syn match baan3glpre "#elif\>" +syn match baan3glpre "#else\>" +syn match baan3glpre "#endif\>" + +" Some keywords are only defined when no foldinat based break bset call continue default +syn keyword baan3gl empty fixed ge global goto gt le lt mb +syn keyword baan3gl multibyte ne ofr prompt repeat static step stop +syn keyword baan3gl until void wherebind ref reference break continue +syn keyword baan3gl and or to not in +syn keyword baan3gl eq input end return at print +syn keyword baanType domain double long string table boolean common +syn keyword baanType bset void xmlNode +syn keyword baanStorageClass dim base based extern global fixed MB const +syn keyword baanConstant pi true false + +" Folding settings +if exists("baan_fold") && baan_fold + syn region baanFunctionFold matchgroup=baan3gl start="^\z(\s*\)\" matchgroup=NONE end="^\z1}" transparent fold keepend +else + syn keyword baan3gl function +endif +if exists("baan_fold") && baan_fold && exists("baan_fold_block") && baan_fold_block + syn region baanCondFold matchgroup=baanConditional start="^\z(\s*\)\(if\>\|else\>\)" end="^\z1endif\>" end="^\z1else\>"me=s-1 transparent fold keepend extend + syn region baanCondFold matchgroup=baanConditional start="^\z(\s*\)for\>" end="^\z1endfor\>" transparent fold keepend extend + syn region baanCondFold matchgroup=baanConditional start="^\z(\s*\)while\>" end="^\z1endwhile\>" transparent fold keepend extend + syn region baanDLLUsage matchgroup=baan3gl start="^\z(\s*\)dllusage\>" end="^\z1enddllusage\>" fold contains=baanNumber,baanConstant,baanType + syn region baanFunUsage matchgroup=baan3gl start="^\z(\s*\)functionusage\>" end="^\z1endfunctionusage\>" fold contains=baanNumber,baanConstant,baanType + syn region baanCondFold matchgroup=baanConditional start="^\z(\s*\)\(case\>\|default\>\)\>" end="^\z1endcase\>" end="^\z1\(case\>\|default\>\)"me=s-1 transparent fold keepend extend + syn keyword baanConditional then else endif while endwhile endfor case endcase + syn match baanConditional "\" +else + syn match baanConditional "\" contains=baansql + syn match baanConditional "\" + syn keyword baanConditional if then else endif while endwhile endfor case endcase default + syn region baanDLLUsage matchgroup=baan3gl start="\" end="\" contains=baanNumber,baanConstant,baanType + syn region baanFunUsage matchgroup=baan3gl start="\" end="\" contains=baanNumber,baanConstant,baanType +endif + +"************************************* SQL ************************************" +syn keyword baansql from selectbind +syn keyword baansql where wherebind whereused exsists +syn keyword baansql between inrange having +syn keyword baansql hint ordered asc desc +syn match baansql "\" +syn match baansql "\" +syn match baansql "\" +syn match baansql "\" +syn match baansql "\" +syn match baansql "\" +syn match baansql "\" +syn match baansql "\" +syn match baansql "\" +" references +syn keyword path reference +syn match baansql "\" +syn match baansql "\" +syn match baansql "\" +syn match baansql "\" +syn match baansql "\" +" hints +syn keyword baansql hint and ordered asc desc +syn match baansql "\" +syn match baansql "\" +syn match baansql "\" +syn match baansql "\" +syn match baansql "\" +syn match baansql "\" +syn match baansql "\" +syn match baansql "\" +" update +syn keyword baansql set + +if exists("baan_fold") && baan_fold && exists("baan_fold_sql") && baan_fold_sql + syn region baanSQLFold matchgroup=baansql start="^\z(\s*\)\(select\>\|selectdo\>\|selectempty\>\|selecterror\>\|selecteos\>\)" end="^\z1endselect\>" end="^\z1\(selectdo\>\|selectempty\>\|selecterror\>\|selecteos\>\)"me=s-1 transparent fold keepend extend + "syn region baanSQLFold matchgroup=baansql start="^\z(\s*\)\(update\>\|updateempty\>\|updateerror\>\|selecteos\>\)" end="^\z1endupdate\>" end="^\z1\(updateempty\>\|updateerror\>\|selecteos\>\)"me=s-1 transparent fold keepend extend + syn region baanSQLFold matchgroup=baansql start="^\z(\s*\)\(update\>\|updateempty\>\|updateerror\>\)" end="^\z1endupdate\>" end="^\z1\(updateempty\>\|updateerror\>\)"me=s-1 transparent fold keepend extend + syn region baanSQLFold matchgroup=baansql start="^\z(\s*\)\(delete\s\+from\>\|deleteempty\>\|deleteerror\>\)" end="^\z1enddelete\>" end="^\z1\(deleteempty\>\|deleteerror\>\)"me=s-1 transparent fold keepend extend +else + syn keyword baansql select selectdo selectempty selecterror selecteos endselect + " delete + syn match baansql "\" + syn keyword baansql deleteempty deleteerror deleteeos enddelete + " update + syn keyword baansql update updateempty updateerror updateeos endupdate +endif + +setlocal foldmethod=syntax +"syn sync fromstart +syn sync minlines=100 + + +"These are bshell functions +if exists("baan_obsolete") +syn match baansql "commit\.transaction()" +syn match baansql "abort\.transaction()" +syn match baansql "db\.columns\.to\.record" +syn match baansql "db\.record\.to\.columns" +syn match baansql "db\.bind" +syn match baansql "db\.change\.order" +syn match baansql "db\.set\.to\.default" +syn match baansql "DB\.RETRY" +syn match baansql "db\.delayed\.lock" +syn match baansql "db\.retry\.point()" +syn match baansql "db\.retry\.hit()" +syn match baansql "db\.return\.dupl" +syn match baansql "db\.skip\.dupl" +syn match baansql "db\.row\.length" +endif + +" Constants +syn keyword baanConstant __function__ +syn keyword baanConstant __object__ +syn keyword baanConstant __file__ +syn keyword baanConstant __line__ + +syn keyword baanConstant ABORT.PROGRAM +syn keyword baanConstant ADD.SET +syn keyword baanConstant ALL_ENUMS_EXCEPT +syn keyword baanConstant APPL.EXCL +syn keyword baanConstant APPL.READ +syn keyword baanConstant APPL.WAIT +syn keyword baanConstant APPL.WIDE +syn keyword baanConstant APPL.WRITE +syn keyword baanConstant ASK.HELPINFO +syn keyword baanConstant AUTG_PRINT +syn keyword baanConstant AUTG_DISPLAY +syn keyword baanConstant AUTG_MODIFY +syn keyword baanConstant AUTG_INSERT +syn keyword baanConstant AUTG_DELETE +syn keyword baanConstant AUTG_ALL +syn keyword baanConstant BMS +syn keyword baanConstant CALCULATOR +syn keyword baanConstant CALENDAR +syn keyword baanConstant CHANGE.ORDER +syn keyword baanConstant CMD.OPTIONS +syn keyword baanConstant CMD.WHATS.THIS +syn keyword baanConstant CMF.MESSAGE +syn keyword baanConstant CMF.TASK +syn keyword baanConstant CMF.APPOINTMENT +syn match baanConstant "\" +"number with dot" +syn match baanNumber "\<\-\=\d\+\.\d*\>" +"number starting with a dot" +syn match baanNumber "\<\-\=\.\d\+\>" + +" String Error does not work correct with mnv 6.0 +syn match baanOpenStringError +^[^^"]+ display contained excludenl +syn region baanString start=+"+ skip=+""+ end=+"+ end=+^[^^]+ contains=baanOpenStringError keepend + +" Comment" +syn match baanComment "|$" +syn match baanComment "|.$" +syn match baanComment "|[^ ]" +syn match baanComment "|[^#].*[^ ]" +syn match baanCommenth "^|#lra.*$" +syn match baanCommenth "^|#mdm.*$" +syn match baanCommenth "^|#[0-9][0-9][0-9][0-9][0-9].*$" +syn match baanCommenth "^|#N\=o\=Include.*$" +" Oldcode" +syn match baanUncommented "^|[^*#].*[^ ]" +" DLL section +" SpaceError" +syn match baanSpaces " " +syn match baanSpaceError "\s*$" +syn match baanSpaceError " " + +" Baan error" + +if exists("baan_code_stds") && baan_code_stds +syn match BaanError "^\s*i\..*=\s*\(\k\|\"\)*\s*$" "assignment of an input var" +syn match BaanError "^\s*ref.*\s[ilse]\..*$" " ref variable defined with i, l, e and s" +syn match BaanError "^\s*const.*\s[olse]\..*$" " const variable defined with o, l, e and s" +syn match BaanError "^\s*static.*\s\(i\|g\|l\|o\|io\)\..*$" " static defined without s." +syn match BaanError "^\s*\(domain\s\|long\s\|string\s\).*\so\.\k*[,)]" " ref variable without ref" +syn match BaanError "^\s*\(domain\s\|long\s\|string\s\).*\se\.\k*[,)]" " 'e.' variable without extern" +syn match BaanError "^\s*i\..*,\s*|\s*ref.*$" " +endif + +"**************************** bshell functions ******************************** +syn match baanBshell "\" - -"************************************* 3GL ************************************" -syn match baan3glpre "#ident\>" -syn match baan3glpre "#include\>" -syn region baan3glpre start="#define\>" end="^[^^|]"me=s-1 contains=baanString,baanConstant,baanNumber,baanComment,baansql -syn match baan3glpre "#undef\>" -syn match baan3glpre "#pragma\>" -syn match baan3glpre "#if\>" -syn match baan3glpre "#ifdef\>" -syn match baan3glpre "#ifndef\>" -syn match baan3glpre "#elif\>" -syn match baan3glpre "#else\>" -syn match baan3glpre "#endif\>" - -" Some keywords are only defined when no foldinat based break bset call continue default -syn keyword baan3gl empty fixed ge global goto gt le lt mb -syn keyword baan3gl multibyte ne ofr prompt repeat static step stop -syn keyword baan3gl until void wherebind ref reference break continue -syn keyword baan3gl and or to not in -syn keyword baan3gl eq input end return at print -syn keyword baanType domain double long string table boolean common -syn keyword baanType bset void xmlNode -syn keyword baanStorageClass dim base based extern global fixed MB const -syn keyword baanConstant pi true false - -" Folding settings -if exists("baan_fold") && baan_fold - syn region baanFunctionFold matchgroup=baan3gl start="^\z(\s*\)\" matchgroup=NONE end="^\z1}" transparent fold keepend -else - syn keyword baan3gl function -endif -if exists("baan_fold") && baan_fold && exists("baan_fold_block") && baan_fold_block - syn region baanCondFold matchgroup=baanConditional start="^\z(\s*\)\(if\>\|else\>\)" end="^\z1endif\>" end="^\z1else\>"me=s-1 transparent fold keepend extend - syn region baanCondFold matchgroup=baanConditional start="^\z(\s*\)for\>" end="^\z1endfor\>" transparent fold keepend extend - syn region baanCondFold matchgroup=baanConditional start="^\z(\s*\)while\>" end="^\z1endwhile\>" transparent fold keepend extend - syn region baanDLLUsage matchgroup=baan3gl start="^\z(\s*\)dllusage\>" end="^\z1enddllusage\>" fold contains=baanNumber,baanConstant,baanType - syn region baanFunUsage matchgroup=baan3gl start="^\z(\s*\)functionusage\>" end="^\z1endfunctionusage\>" fold contains=baanNumber,baanConstant,baanType - syn region baanCondFold matchgroup=baanConditional start="^\z(\s*\)\(case\>\|default\>\)\>" end="^\z1endcase\>" end="^\z1\(case\>\|default\>\)"me=s-1 transparent fold keepend extend - syn keyword baanConditional then else endif while endwhile endfor case endcase - syn match baanConditional "\" -else - syn match baanConditional "\" contains=baansql - syn match baanConditional "\" - syn keyword baanConditional if then else endif while endwhile endfor case endcase default - syn region baanDLLUsage matchgroup=baan3gl start="\" end="\" contains=baanNumber,baanConstant,baanType - syn region baanFunUsage matchgroup=baan3gl start="\" end="\" contains=baanNumber,baanConstant,baanType -endif - -"************************************* SQL ************************************" -syn keyword baansql from selectbind -syn keyword baansql where wherebind whereused exsists -syn keyword baansql between inrange having -syn keyword baansql hint ordered asc desc -syn match baansql "\" -syn match baansql "\" -syn match baansql "\" -syn match baansql "\" -syn match baansql "\" -syn match baansql "\" -syn match baansql "\" -syn match baansql "\" -syn match baansql "\" -" references -syn keyword path reference -syn match baansql "\" -syn match baansql "\" -syn match baansql "\" -syn match baansql "\" -syn match baansql "\" -" hints -syn keyword baansql hint and ordered asc desc -syn match baansql "\" -syn match baansql "\" -syn match baansql "\" -syn match baansql "\" -syn match baansql "\" -syn match baansql "\" -syn match baansql "\" -syn match baansql "\" -" update -syn keyword baansql set - -if exists("baan_fold") && baan_fold && exists("baan_fold_sql") && baan_fold_sql - syn region baanSQLFold matchgroup=baansql start="^\z(\s*\)\(select\>\|selectdo\>\|selectempty\>\|selecterror\>\|selecteos\>\)" end="^\z1endselect\>" end="^\z1\(selectdo\>\|selectempty\>\|selecterror\>\|selecteos\>\)"me=s-1 transparent fold keepend extend - "syn region baanSQLFold matchgroup=baansql start="^\z(\s*\)\(update\>\|updateempty\>\|updateerror\>\|selecteos\>\)" end="^\z1endupdate\>" end="^\z1\(updateempty\>\|updateerror\>\|selecteos\>\)"me=s-1 transparent fold keepend extend - syn region baanSQLFold matchgroup=baansql start="^\z(\s*\)\(update\>\|updateempty\>\|updateerror\>\)" end="^\z1endupdate\>" end="^\z1\(updateempty\>\|updateerror\>\)"me=s-1 transparent fold keepend extend - syn region baanSQLFold matchgroup=baansql start="^\z(\s*\)\(delete\s\+from\>\|deleteempty\>\|deleteerror\>\)" end="^\z1enddelete\>" end="^\z1\(deleteempty\>\|deleteerror\>\)"me=s-1 transparent fold keepend extend -else - syn keyword baansql select selectdo selectempty selecterror selecteos endselect - " delete - syn match baansql "\" - syn keyword baansql deleteempty deleteerror deleteeos enddelete - " update - syn keyword baansql update updateempty updateerror updateeos endupdate -endif - -setlocal foldmethod=syntax -"syn sync fromstart -syn sync minlines=100 - - -"These are bshell functions -if exists("baan_obsolete") -syn match baansql "commit\.transaction()" -syn match baansql "abort\.transaction()" -syn match baansql "db\.columns\.to\.record" -syn match baansql "db\.record\.to\.columns" -syn match baansql "db\.bind" -syn match baansql "db\.change\.order" -syn match baansql "db\.set\.to\.default" -syn match baansql "DB\.RETRY" -syn match baansql "db\.delayed\.lock" -syn match baansql "db\.retry\.point()" -syn match baansql "db\.retry\.hit()" -syn match baansql "db\.return\.dupl" -syn match baansql "db\.skip\.dupl" -syn match baansql "db\.row\.length" -endif - -" Constants -syn keyword baanConstant __function__ -syn keyword baanConstant __object__ -syn keyword baanConstant __file__ -syn keyword baanConstant __line__ - -syn keyword baanConstant ABORT.PROGRAM -syn keyword baanConstant ADD.SET -syn keyword baanConstant ALL_ENUMS_EXCEPT -syn keyword baanConstant APPL.EXCL -syn keyword baanConstant APPL.READ -syn keyword baanConstant APPL.WAIT -syn keyword baanConstant APPL.WIDE -syn keyword baanConstant APPL.WRITE -syn keyword baanConstant ASK.HELPINFO -syn keyword baanConstant AUTG_PRINT -syn keyword baanConstant AUTG_DISPLAY -syn keyword baanConstant AUTG_MODIFY -syn keyword baanConstant AUTG_INSERT -syn keyword baanConstant AUTG_DELETE -syn keyword baanConstant AUTG_ALL -syn keyword baanConstant BMS -syn keyword baanConstant CALCULATOR -syn keyword baanConstant CALENDAR -syn keyword baanConstant CHANGE.ORDER -syn keyword baanConstant CMD.OPTIONS -syn keyword baanConstant CMD.WHATS.THIS -syn keyword baanConstant CMF.MESSAGE -syn keyword baanConstant CMF.TASK -syn keyword baanConstant CMF.APPOINTMENT -syn match baanConstant "\" -"number with dot" -syn match baanNumber "\<\-\=\d\+\.\d*\>" -"number starting with a dot" -syn match baanNumber "\<\-\=\.\d\+\>" - -" String Error does not work correct with vim 6.0 -syn match baanOpenStringError +^[^^"]+ display contained excludenl -syn region baanString start=+"+ skip=+""+ end=+"+ end=+^[^^]+ contains=baanOpenStringError keepend - -" Comment" -syn match baanComment "|$" -syn match baanComment "|.$" -syn match baanComment "|[^ ]" -syn match baanComment "|[^#].*[^ ]" -syn match baanCommenth "^|#lra.*$" -syn match baanCommenth "^|#mdm.*$" -syn match baanCommenth "^|#[0-9][0-9][0-9][0-9][0-9].*$" -syn match baanCommenth "^|#N\=o\=Include.*$" -" Oldcode" -syn match baanUncommented "^|[^*#].*[^ ]" -" DLL section -" SpaceError" -syn match baanSpaces " " -syn match baanSpaceError "\s*$" -syn match baanSpaceError " " - -" Baan error" - -if exists("baan_code_stds") && baan_code_stds -syn match BaanError "^\s*i\..*=\s*\(\k\|\"\)*\s*$" "assignment of an input var" -syn match BaanError "^\s*ref.*\s[ilse]\..*$" " ref variable defined with i, l, e and s" -syn match BaanError "^\s*const.*\s[olse]\..*$" " const variable defined with o, l, e and s" -syn match BaanError "^\s*static.*\s\(i\|g\|l\|o\|io\)\..*$" " static defined without s." -syn match BaanError "^\s*\(domain\s\|long\s\|string\s\).*\so\.\k*[,)]" " ref variable without ref" -syn match BaanError "^\s*\(domain\s\|long\s\|string\s\).*\se\.\k*[,)]" " 'e.' variable without extern" -syn match BaanError "^\s*i\..*,\s*|\s*ref.*$" " -endif - -"**************************** bshell functions ******************************** -syn match baanBshell "\ +" Last Change: 2023 Aug 13 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" The actual syntax is in sh.mnv and controlled by buffer-local variables. +unlet! b:is_sh +unlet! b:is_kornshell +let b:is_bash = 1 + +runtime! syntax/sh.mnv + +let b:current_syntax = 'bash' + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/bash.vim b/uvim/runtime/syntax/bash.vim deleted file mode 100644 index 1e565c3022..0000000000 --- a/uvim/runtime/syntax/bash.vim +++ /dev/null @@ -1,20 +0,0 @@ -" Vim syntax file -" Language: bash -" Maintainer: The Vim Project -" Last Change: 2023 Aug 13 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" The actual syntax is in sh.vim and controlled by buffer-local variables. -unlet! b:is_sh -unlet! b:is_kornshell -let b:is_bash = 1 - -runtime! syntax/sh.vim - -let b:current_syntax = 'bash' - -" vim: ts=8 diff --git a/uvim/runtime/syntax/basic.mnv b/uvim/runtime/syntax/basic.mnv new file mode 100644 index 0000000000..96698875f5 --- /dev/null +++ b/uvim/runtime/syntax/basic.mnv @@ -0,0 +1,380 @@ +" MNV syntax file +" Language: BASIC (QuickBASIC 4.5) +" Maintainer: Doug Kearns +" Previous Maintainer: Allan Kelly +" Contributors: Thilo Six +" Last Change: 2022 Jun 22 + +" First version based on Micro$soft QBASIC circa 1989, as documented in +" 'Learn BASIC Now' by Halvorson&Rygmyr. Microsoft Press 1989. +" +" Second version attempts to match Microsoft QuickBASIC 4.5 while keeping FreeBASIC +" (-lang qb) and QB64 (excluding extensions) in mind. -- DJK + +" Prelude {{{1 +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn iskeyword @,48-57,.,!,#,%,&,$ +syn case ignore + +" Whitespace Errors {{{1 +if exists("basic_space_errors") + if !exists("basic_no_trail_space_error") + syn match basicSpaceError display excludenl "\s\+$" + endif + if !exists("basic_no_tab_space_error") + syn match basicSpaceError display " \+\t"me=e-1 + endif +endif + +" Comment Errors {{{1 +if !exists("basic_no_comment_errors") + syn match basicCommentError "\.*" +endif + +" Not Top Cluster {{{1 +syn cluster basicNotTop contains=@basicLineIdentifier,basicDataString,basicDataSeparator,basicTodo + +" Statements {{{1 + +syn cluster basicStatements contains=basicStatement,basicDataStatement,basicMetaRemStatement,basicPutStatement,basicRemStatement + +let s:statements =<< trim EOL " {{{2 + beep + bload + bsave + call + calls + case + chain + chdir + circle + clear + close + cls + color + com + common + const + declare + def + def\s\+seg + defdbl + defint + deflng + defsng + defstr + dim + do + draw + elseif + end + end\s\+\%(def\|function\|if\|select\|sub\|type\) + environ + erase + error + exit\s\+\%(def\|do\|for\|function\|sub\) + field + files + for + function + get + gosub + goto + if + input + ioctl + key + kill + let + line + line\s\+input + locate + lock + loop + lprint + lset + mkdir + name + next + on + on\s\+error + on\s\+uevent + open + open\s\+com + option + out + paint + palette + palette\s\+using + pcopy + pen + pmap + poke + preset + print + pset + randomize + read + redim + reset + restore + resume + return + rmdir + rset + run + select\s\+case + shared + shell + sleep + sound + static + stop + strig + sub + swap + system + troff + tron + type + uevent + unlock + using + view + view\s\+print + wait + wend + while + width + window + write +EOL +" }}} + +for s in s:statements + exe 'syn match basicStatement "\<' .. s .. '\>" contained' +endfor + +syn match basicStatement "\<\%(then\|else\)\>" nextgroup=@basicStatements skipwhite + +" DATA Statement +syn match basicDataSeparator "," contained +syn region basicDataStatement matchgroup=basicStatement start="\" matchgroup=basicStatementSeparator end=":\|$" contained contains=basicDataSeparator,basicDataString,basicNumber,basicFloat,basicString + +if !exists("basic_no_data_fold") + syn region basicMultilineData start="^\s*\.*\n\%(^\s*\\)\@=" end="^\s*\.*\n\%(^\s*\\)\@!" contains=basicDataStatement transparent fold keepend +endif + +" PUT File I/O and Graphics statements - needs special handling for graphics +" action verbs +syn match basicPutAction "\<\%(pset\|preset\|and\|or\|xor\)\>" contained +syn region basicPutStatement matchgroup=basicStatement start="\" matchgroup=basicStatementSeparator end=":\|$" contained contains=basicKeyword,basicPutAction,basicFilenumber + +" Keywords {{{1 +let s:keywords =<< trim EOL " {{{2 + absolute + access + alias + append + as + base + binary + byval + cdecl + com + def + do + for + function + gosub + goto + input + int86old + int86xold + interrupt + interruptx + is + key + len + list + local + lock + lprint + next + off + on + output + pen + play + random + read + resume + screen + seg + shared + signal + static + step + stop + strig + sub + timer + to + until + using + while + write +EOL +" }}} + +for k in s:keywords + exe 'syn match basicKeyword "\<' .. k .. '\>"' +endfor + +" Functions {{{1 +syn keyword basicFunction abs asc atn cdbl chr$ cint clng command$ cos csng +syn keyword basicFunction csrlin cvd cvdmbf cvi cvl cvs cvsmbf environ$ eof +syn keyword basicFunction erdev erdev$ erl err exp fileattr fix fre freefile +syn keyword basicFunction hex$ inkey$ inp input$ instr int ioctl$ left$ lbound +syn keyword basicFunction lcase$ len loc lof log lpos ltrim$ mkd$ mkdmbf$ mki$ +syn keyword basicFunction mkl$ mks$ mksmbf$ oct$ peek pen point pos right$ rnd +syn keyword basicFunction rtrim$ sadd setmem sgn sin space$ spc sqr stick str$ +syn keyword basicFunction strig string$ tab tan ubound ucase$ val valptr +syn keyword basicFunction valseg varptr varptr$ varseg + +" Functions and statements (same name) {{{1 +syn match basicStatement "\<\%(date\$\|mid\$\|play\|screen\|seek\|time\$\|timer\)\>" contained +syn match basicFunction "\<\%(date\$\|mid\$\|play\|screen\|seek\|time\$\|timer\)\>" + +" Types {{{1 +syn keyword basicType integer long single double string any + +" Strings {{{1 + +" Unquoted DATA strings - anything except [:,] and leading or trailing whitespace +" Needs lower priority than numbers +syn match basicDataString "[^[:space:],:]\+\%(\s\+[^[:space:],:]\+\)*" contained + +syn region basicString start=+"+ end=+"+ oneline + +" Booleans {{{1 +if exists("basic_booleans") + syn keyword basicBoolean true false +endif + +" Numbers {{{1 + +" Integers +syn match basicNumber "-\=&o\=\o\+[%&]\=\>" +syn match basicNumber "-\=&h\x\+[%&]\=\>" +syn match basicNumber "-\=\<\d\+[%&]\=\>" + +" Floats +syn match basicFloat "-\=\<\d\+\.\=\d*\%(\%([ed][+-]\=\d*\)\|[!#]\)\=\>" +syn match basicFloat "-\=\<\.\d\+\%(\%([ed][+-]\=\d*\)\|[!#]\)\=\>" + +" Statement anchors {{{1 +syn match basicLineStart "^" nextgroup=@basicStatements,@basicLineIdentifier skipwhite +syn match basicStatementSeparator ":" nextgroup=@basicStatements skipwhite + +" Line numbers and labels {{{1 + +" QuickBASIC limits these to 65,529 and 40 chars respectively +syn match basicLineNumber "\d\+" nextgroup=@basicStatements skipwhite contained +syn match basicLineLabel "\a[[:alnum:]]*\ze\s*:" nextgroup=@basicStatements skipwhite contained + +syn cluster basicLineIdentifier contains=basicLineNumber,basicLineLabel + +" Line Continuation {{{1 +syn match basicLineContinuation "\s*\zs_\ze\s*$" + +" Type suffixes {{{1 +if exists("basic_type_suffixes") + syn match basicTypeSuffix "\a[[:alnum:].]*\zs[$%&!#]" +endif + +" File numbers {{{1 +syn match basicFilenumber "#\d\+" +syn match basicFilenumber "#\a[[:alnum:].]*[%&!#]\=" + +" Operators {{{1 +if exists("basic_operators") + syn match basicArithmeticOperator "[-+*/\\^]" + syn match basicRelationalOperator "<>\|<=\|>=\|[><=]" +endif +syn match basicLogicalOperator "\<\%(not\|and\|or\|xor\|eqv\|imp\)\>" +syn match basicArithmeticOperator "\" + +" Metacommands {{{1 +" Note: No trailing word boundaries. Text may be freely mixed however there +" must be only leading whitespace prior to the first metacommand +syn match basicMetacommand "$INCLUDE\s*:\s*'[^']\+'" contained containedin=@basicMetaComments +syn match basicMetacommand "$\%(DYNAMIC\|STATIC\)" contained containedin=@basicMetaComments + +" Comments {{{1 +syn keyword basicTodo TODO FIXME XXX NOTE contained + +syn region basicRemStatement matchgroup=basicStatement start="REM\>" end="$" contains=basicTodo,@Spell contained +syn region basicComment start="'" end="$" contains=basicTodo,@Spell + +if !exists("basic_no_comment_fold") + syn region basicMultilineComment start="^\s*'.*\n\%(\s*'\)\@=" end="^\s*'.*\n\%(\s*'\)\@!" contains=@basicComments transparent fold keepend +endif + +" Metacommands +syn region basicMetaRemStatement matchgroup=basicStatement start="REM\>\s*\$\@=" end="$" contains=basicTodo contained +syn region basicMetaComment start="'\s*\$\@=" end="$" contains=basicTodo + +syn cluster basicMetaComments contains=basicMetaComment,basicMetaRemStatement +syn cluster basicComments contains=basicComment,basicMetaComment + +"syn sync ccomment basicComment + +" Default Highlighting {{{1 +hi def link basicArithmeticOperator basicOperator +hi def link basicBoolean Boolean +hi def link basicComment Comment +hi def link basicCommentError Error +hi def link basicDataString basicString +hi def link basicFilenumber basicTypeSuffix " TODO: better group +hi def link basicFloat Float +hi def link basicFunction Function +hi def link basicKeyword Keyword +hi def link basicLineIdentifier LineNr +hi def link basicLineContinuation Special +hi def link basicLineLabel basicLineIdentifier +hi def link basicLineNumber basicLineIdentifier +hi def link basicLogicalOperator basicOperator +hi def link basicMetacommand SpecialComment +hi def link basicMetaComment Comment +hi def link basicMetaRemStatement Comment +hi def link basicNumber Number +hi def link basicOperator Operator +hi def link basicPutAction Keyword +hi def link basicRelationalOperator basicOperator +hi def link basicRemStatement Comment +hi def link basicSpaceError Error +hi def link basicStatementSeparator Special +hi def link basicStatement Statement +hi def link basicString String +hi def link basicTodo Todo +hi def link basicType Type +hi def link basicTypeSuffix Special +if exists("basic_legacy_syntax_groups") + hi def link basicTypeSpecifier Type + hi def link basicTypeSuffix basicTypeSpecifier +endif + +" Postscript {{{1 +let b:current_syntax = "basic" + +let &cpo = s:cpo_save +unlet s:cpo_save + +" mnv: nowrap sw=2 sts=2 ts=8 noet fdm=marker: diff --git a/uvim/runtime/syntax/basic.vim b/uvim/runtime/syntax/basic.vim deleted file mode 100644 index b6bf23a3ed..0000000000 --- a/uvim/runtime/syntax/basic.vim +++ /dev/null @@ -1,380 +0,0 @@ -" Vim syntax file -" Language: BASIC (QuickBASIC 4.5) -" Maintainer: Doug Kearns -" Previous Maintainer: Allan Kelly -" Contributors: Thilo Six -" Last Change: 2022 Jun 22 - -" First version based on Micro$soft QBASIC circa 1989, as documented in -" 'Learn BASIC Now' by Halvorson&Rygmyr. Microsoft Press 1989. -" -" Second version attempts to match Microsoft QuickBASIC 4.5 while keeping FreeBASIC -" (-lang qb) and QB64 (excluding extensions) in mind. -- DJK - -" Prelude {{{1 -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn iskeyword @,48-57,.,!,#,%,&,$ -syn case ignore - -" Whitespace Errors {{{1 -if exists("basic_space_errors") - if !exists("basic_no_trail_space_error") - syn match basicSpaceError display excludenl "\s\+$" - endif - if !exists("basic_no_tab_space_error") - syn match basicSpaceError display " \+\t"me=e-1 - endif -endif - -" Comment Errors {{{1 -if !exists("basic_no_comment_errors") - syn match basicCommentError "\.*" -endif - -" Not Top Cluster {{{1 -syn cluster basicNotTop contains=@basicLineIdentifier,basicDataString,basicDataSeparator,basicTodo - -" Statements {{{1 - -syn cluster basicStatements contains=basicStatement,basicDataStatement,basicMetaRemStatement,basicPutStatement,basicRemStatement - -let s:statements =<< trim EOL " {{{2 - beep - bload - bsave - call - calls - case - chain - chdir - circle - clear - close - cls - color - com - common - const - declare - def - def\s\+seg - defdbl - defint - deflng - defsng - defstr - dim - do - draw - elseif - end - end\s\+\%(def\|function\|if\|select\|sub\|type\) - environ - erase - error - exit\s\+\%(def\|do\|for\|function\|sub\) - field - files - for - function - get - gosub - goto - if - input - ioctl - key - kill - let - line - line\s\+input - locate - lock - loop - lprint - lset - mkdir - name - next - on - on\s\+error - on\s\+uevent - open - open\s\+com - option - out - paint - palette - palette\s\+using - pcopy - pen - pmap - poke - preset - print - pset - randomize - read - redim - reset - restore - resume - return - rmdir - rset - run - select\s\+case - shared - shell - sleep - sound - static - stop - strig - sub - swap - system - troff - tron - type - uevent - unlock - using - view - view\s\+print - wait - wend - while - width - window - write -EOL -" }}} - -for s in s:statements - exe 'syn match basicStatement "\<' .. s .. '\>" contained' -endfor - -syn match basicStatement "\<\%(then\|else\)\>" nextgroup=@basicStatements skipwhite - -" DATA Statement -syn match basicDataSeparator "," contained -syn region basicDataStatement matchgroup=basicStatement start="\" matchgroup=basicStatementSeparator end=":\|$" contained contains=basicDataSeparator,basicDataString,basicNumber,basicFloat,basicString - -if !exists("basic_no_data_fold") - syn region basicMultilineData start="^\s*\.*\n\%(^\s*\\)\@=" end="^\s*\.*\n\%(^\s*\\)\@!" contains=basicDataStatement transparent fold keepend -endif - -" PUT File I/O and Graphics statements - needs special handling for graphics -" action verbs -syn match basicPutAction "\<\%(pset\|preset\|and\|or\|xor\)\>" contained -syn region basicPutStatement matchgroup=basicStatement start="\" matchgroup=basicStatementSeparator end=":\|$" contained contains=basicKeyword,basicPutAction,basicFilenumber - -" Keywords {{{1 -let s:keywords =<< trim EOL " {{{2 - absolute - access - alias - append - as - base - binary - byval - cdecl - com - def - do - for - function - gosub - goto - input - int86old - int86xold - interrupt - interruptx - is - key - len - list - local - lock - lprint - next - off - on - output - pen - play - random - read - resume - screen - seg - shared - signal - static - step - stop - strig - sub - timer - to - until - using - while - write -EOL -" }}} - -for k in s:keywords - exe 'syn match basicKeyword "\<' .. k .. '\>"' -endfor - -" Functions {{{1 -syn keyword basicFunction abs asc atn cdbl chr$ cint clng command$ cos csng -syn keyword basicFunction csrlin cvd cvdmbf cvi cvl cvs cvsmbf environ$ eof -syn keyword basicFunction erdev erdev$ erl err exp fileattr fix fre freefile -syn keyword basicFunction hex$ inkey$ inp input$ instr int ioctl$ left$ lbound -syn keyword basicFunction lcase$ len loc lof log lpos ltrim$ mkd$ mkdmbf$ mki$ -syn keyword basicFunction mkl$ mks$ mksmbf$ oct$ peek pen point pos right$ rnd -syn keyword basicFunction rtrim$ sadd setmem sgn sin space$ spc sqr stick str$ -syn keyword basicFunction strig string$ tab tan ubound ucase$ val valptr -syn keyword basicFunction valseg varptr varptr$ varseg - -" Functions and statements (same name) {{{1 -syn match basicStatement "\<\%(date\$\|mid\$\|play\|screen\|seek\|time\$\|timer\)\>" contained -syn match basicFunction "\<\%(date\$\|mid\$\|play\|screen\|seek\|time\$\|timer\)\>" - -" Types {{{1 -syn keyword basicType integer long single double string any - -" Strings {{{1 - -" Unquoted DATA strings - anything except [:,] and leading or trailing whitespace -" Needs lower priority than numbers -syn match basicDataString "[^[:space:],:]\+\%(\s\+[^[:space:],:]\+\)*" contained - -syn region basicString start=+"+ end=+"+ oneline - -" Booleans {{{1 -if exists("basic_booleans") - syn keyword basicBoolean true false -endif - -" Numbers {{{1 - -" Integers -syn match basicNumber "-\=&o\=\o\+[%&]\=\>" -syn match basicNumber "-\=&h\x\+[%&]\=\>" -syn match basicNumber "-\=\<\d\+[%&]\=\>" - -" Floats -syn match basicFloat "-\=\<\d\+\.\=\d*\%(\%([ed][+-]\=\d*\)\|[!#]\)\=\>" -syn match basicFloat "-\=\<\.\d\+\%(\%([ed][+-]\=\d*\)\|[!#]\)\=\>" - -" Statement anchors {{{1 -syn match basicLineStart "^" nextgroup=@basicStatements,@basicLineIdentifier skipwhite -syn match basicStatementSeparator ":" nextgroup=@basicStatements skipwhite - -" Line numbers and labels {{{1 - -" QuickBASIC limits these to 65,529 and 40 chars respectively -syn match basicLineNumber "\d\+" nextgroup=@basicStatements skipwhite contained -syn match basicLineLabel "\a[[:alnum:]]*\ze\s*:" nextgroup=@basicStatements skipwhite contained - -syn cluster basicLineIdentifier contains=basicLineNumber,basicLineLabel - -" Line Continuation {{{1 -syn match basicLineContinuation "\s*\zs_\ze\s*$" - -" Type suffixes {{{1 -if exists("basic_type_suffixes") - syn match basicTypeSuffix "\a[[:alnum:].]*\zs[$%&!#]" -endif - -" File numbers {{{1 -syn match basicFilenumber "#\d\+" -syn match basicFilenumber "#\a[[:alnum:].]*[%&!#]\=" - -" Operators {{{1 -if exists("basic_operators") - syn match basicArithmeticOperator "[-+*/\\^]" - syn match basicRelationalOperator "<>\|<=\|>=\|[><=]" -endif -syn match basicLogicalOperator "\<\%(not\|and\|or\|xor\|eqv\|imp\)\>" -syn match basicArithmeticOperator "\" - -" Metacommands {{{1 -" Note: No trailing word boundaries. Text may be freely mixed however there -" must be only leading whitespace prior to the first metacommand -syn match basicMetacommand "$INCLUDE\s*:\s*'[^']\+'" contained containedin=@basicMetaComments -syn match basicMetacommand "$\%(DYNAMIC\|STATIC\)" contained containedin=@basicMetaComments - -" Comments {{{1 -syn keyword basicTodo TODO FIXME XXX NOTE contained - -syn region basicRemStatement matchgroup=basicStatement start="REM\>" end="$" contains=basicTodo,@Spell contained -syn region basicComment start="'" end="$" contains=basicTodo,@Spell - -if !exists("basic_no_comment_fold") - syn region basicMultilineComment start="^\s*'.*\n\%(\s*'\)\@=" end="^\s*'.*\n\%(\s*'\)\@!" contains=@basicComments transparent fold keepend -endif - -" Metacommands -syn region basicMetaRemStatement matchgroup=basicStatement start="REM\>\s*\$\@=" end="$" contains=basicTodo contained -syn region basicMetaComment start="'\s*\$\@=" end="$" contains=basicTodo - -syn cluster basicMetaComments contains=basicMetaComment,basicMetaRemStatement -syn cluster basicComments contains=basicComment,basicMetaComment - -"syn sync ccomment basicComment - -" Default Highlighting {{{1 -hi def link basicArithmeticOperator basicOperator -hi def link basicBoolean Boolean -hi def link basicComment Comment -hi def link basicCommentError Error -hi def link basicDataString basicString -hi def link basicFilenumber basicTypeSuffix " TODO: better group -hi def link basicFloat Float -hi def link basicFunction Function -hi def link basicKeyword Keyword -hi def link basicLineIdentifier LineNr -hi def link basicLineContinuation Special -hi def link basicLineLabel basicLineIdentifier -hi def link basicLineNumber basicLineIdentifier -hi def link basicLogicalOperator basicOperator -hi def link basicMetacommand SpecialComment -hi def link basicMetaComment Comment -hi def link basicMetaRemStatement Comment -hi def link basicNumber Number -hi def link basicOperator Operator -hi def link basicPutAction Keyword -hi def link basicRelationalOperator basicOperator -hi def link basicRemStatement Comment -hi def link basicSpaceError Error -hi def link basicStatementSeparator Special -hi def link basicStatement Statement -hi def link basicString String -hi def link basicTodo Todo -hi def link basicType Type -hi def link basicTypeSuffix Special -if exists("basic_legacy_syntax_groups") - hi def link basicTypeSpecifier Type - hi def link basicTypeSuffix basicTypeSpecifier -endif - -" Postscript {{{1 -let b:current_syntax = "basic" - -let &cpo = s:cpo_save -unlet s:cpo_save - -" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker: diff --git a/uvim/runtime/syntax/bc.mnv b/uvim/runtime/syntax/bc.mnv new file mode 100644 index 0000000000..50e24afa77 --- /dev/null +++ b/uvim/runtime/syntax/bc.mnv @@ -0,0 +1,66 @@ +" MNV syntax file +" Language: bc - An arbitrary precision calculator language +" Maintainer: Vladimir Scholtz +" Last change: 2012 Jun 01 +" (Dominique Pelle added @Spell) +" Available on: www.gjh.sk/~vlado/bc.mnv + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn case ignore + +" Keywords +syn keyword bcKeyword if else while for break continue return limits halt quit +syn keyword bcKeyword define +syn keyword bcKeyword length read sqrt print + +" Variable +syn keyword bcType auto + +" Constant +syn keyword bcConstant scale ibase obase last +syn keyword bcConstant BC_BASE_MAX BC_DIM_MAX BC_SCALE_MAX BC_STRING_MAX +syn keyword bcConstant BC_ENV_ARGS BC_LINE_LENGTH + +" Any other stuff +syn match bcIdentifier "[a-z_][a-z0-9_]*" + +" String + syn match bcString "\"[^"]*\"" contains=@Spell + +" Number +syn match bcNumber "[0-9]\+" + +" Comment +syn match bcComment "\#.*" contains=@Spell +syn region bcComment start="/\*" end="\*/" contains=@Spell + +" Parent () +syn cluster bcAll contains=bcList,bcIdentifier,bcNumber,bcKeyword,bcType,bcConstant,bcString,bcParentError +syn region bcList matchgroup=Delimiter start="(" skip="|.\{-}|" matchgroup=Delimiter end=")" contains=@bcAll +syn region bcList matchgroup=Delimiter start="\[" skip="|.\{-}|" matchgroup=Delimiter end="\]" contains=@bcAll +syn match bcParenError "]" +syn match bcParenError ")" + + + +syn case match + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link bcKeyword Statement +hi def link bcType Type +hi def link bcConstant Constant +hi def link bcNumber Number +hi def link bcComment Comment +hi def link bcString String +hi def link bcSpecialChar SpecialChar +hi def link bcParenError Error + + +let b:current_syntax = "bc" +" mnv: ts=8 diff --git a/uvim/runtime/syntax/bc.vim b/uvim/runtime/syntax/bc.vim deleted file mode 100644 index 4cd9d6388a..0000000000 --- a/uvim/runtime/syntax/bc.vim +++ /dev/null @@ -1,66 +0,0 @@ -" Vim syntax file -" Language: bc - An arbitrary precision calculator language -" Maintainer: Vladimir Scholtz -" Last change: 2012 Jun 01 -" (Dominique Pelle added @Spell) -" Available on: www.gjh.sk/~vlado/bc.vim - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn case ignore - -" Keywords -syn keyword bcKeyword if else while for break continue return limits halt quit -syn keyword bcKeyword define -syn keyword bcKeyword length read sqrt print - -" Variable -syn keyword bcType auto - -" Constant -syn keyword bcConstant scale ibase obase last -syn keyword bcConstant BC_BASE_MAX BC_DIM_MAX BC_SCALE_MAX BC_STRING_MAX -syn keyword bcConstant BC_ENV_ARGS BC_LINE_LENGTH - -" Any other stuff -syn match bcIdentifier "[a-z_][a-z0-9_]*" - -" String - syn match bcString "\"[^"]*\"" contains=@Spell - -" Number -syn match bcNumber "[0-9]\+" - -" Comment -syn match bcComment "\#.*" contains=@Spell -syn region bcComment start="/\*" end="\*/" contains=@Spell - -" Parent () -syn cluster bcAll contains=bcList,bcIdentifier,bcNumber,bcKeyword,bcType,bcConstant,bcString,bcParentError -syn region bcList matchgroup=Delimiter start="(" skip="|.\{-}|" matchgroup=Delimiter end=")" contains=@bcAll -syn region bcList matchgroup=Delimiter start="\[" skip="|.\{-}|" matchgroup=Delimiter end="\]" contains=@bcAll -syn match bcParenError "]" -syn match bcParenError ")" - - - -syn case match - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link bcKeyword Statement -hi def link bcType Type -hi def link bcConstant Constant -hi def link bcNumber Number -hi def link bcComment Comment -hi def link bcString String -hi def link bcSpecialChar SpecialChar -hi def link bcParenError Error - - -let b:current_syntax = "bc" -" vim: ts=8 diff --git a/uvim/runtime/syntax/bdf.mnv b/uvim/runtime/syntax/bdf.mnv new file mode 100644 index 0000000000..979020da42 --- /dev/null +++ b/uvim/runtime/syntax/bdf.mnv @@ -0,0 +1,97 @@ +" MNV syntax file +" Language: BDF font definition +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2006-04-19 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn region bdfFontDefinition transparent matchgroup=bdfKeyword + \ start='^STARTFONT\>' end='^ENDFONT\>' + \ contains=bdfComment,bdfFont,bdfSize, + \ bdfBoundingBox,bdfProperties,bdfChars,bdfChar + +syn match bdfNumber contained display + \ '\<\%(\x\+\|[+-]\=\d\+\%(\.\d\+\)*\)' + +syn keyword bdfTodo contained FIXME TODO XXX NOTE + +syn region bdfComment contained start='^COMMENT\>' end='$' + \ contains=bdfTodo,@Spell + +syn region bdfFont contained matchgroup=bdfKeyword + \ start='^FONT\>' end='$' + +syn region bdfSize contained transparent matchgroup=bdfKeyword + \ start='^SIZE\>' end='$' contains=bdfNumber + +syn region bdfBoundingBox contained transparent matchgroup=bdfKeyword + \ start='^FONTBOUNDINGBOX' end='$' + \ contains=bdfNumber + +syn region bdfProperties contained transparent matchgroup=bdfKeyword + \ start='^STARTPROPERTIES' end='^ENDPROPERTIES' + \ contains=bdfNumber,bdfString,bdfProperty, + \ bdfXProperty + +syn keyword bdfProperty contained FONT_ASCENT FONT_DESCENT DEFAULT_CHAR +syn match bdfProperty contained '^\S\+' + +syn keyword bdfXProperty contained FONT_ASCENT FONT_DESCENT DEFAULT_CHAR + \ FONTNAME_REGISTRY FOUNDRY FAMILY_NAME + \ WEIGHT_NAME SLANT SETWIDTH_NAME PIXEL_SIZE + \ POINT_SIZE RESOLUTION_X RESOLUTION_Y SPACING + \ CHARSET_REGISTRY CHARSET_ENCODING COPYRIGHT + \ ADD_STYLE_NAME WEIGHT RESOLUTION X_HEIGHT + \ QUAD_WIDTH FONT AVERAGE_WIDTH + +syn region bdfString contained start=+"+ skip=+""+ end=+"+ + +syn region bdfChars contained display transparent + \ matchgroup=bdfKeyword start='^CHARS' end='$' + \ contains=bdfNumber + +syn region bdfChar transparent matchgroup=bdfKeyword + \ start='^STARTCHAR' end='^ENDCHAR' + \ contains=bdfEncoding,bdfWidth,bdfAttributes, + \ bdfBitmap + +syn region bdfEncoding contained transparent matchgroup=bdfKeyword + \ start='^ENCODING' end='$' contains=bdfNumber + +syn region bdfWidth contained transparent matchgroup=bdfKeyword + \ start='^SWIDTH\|DWIDTH\|BBX' end='$' + \ contains=bdfNumber + +syn region bdfAttributes contained transparent matchgroup=bdfKeyword + \ start='^ATTRIBUTES' end='$' + +syn keyword bdfBitmap contained BITMAP + +if exists("bdf_minlines") + let b:bdf_minlines = bdf_minlines +else + let b:bdf_minlines = 30 +endif +exec "syn sync ccomment bdfChar minlines=" . b:bdf_minlines + + +hi def link bdfKeyword Keyword +hi def link bdfNumber Number +hi def link bdfTodo Todo +hi def link bdfComment Comment +hi def link bdfFont String +hi def link bdfProperty Identifier +hi def link bdfXProperty Identifier +hi def link bdfString String +hi def link bdfChars Keyword +hi def link bdfBitmap Keyword + +let b:current_syntax = "bdf" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/bdf.vim b/uvim/runtime/syntax/bdf.vim deleted file mode 100644 index cc1a337569..0000000000 --- a/uvim/runtime/syntax/bdf.vim +++ /dev/null @@ -1,97 +0,0 @@ -" Vim syntax file -" Language: BDF font definition -" Previous Maintainer: Nikolai Weibull -" Latest Revision: 2006-04-19 - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn region bdfFontDefinition transparent matchgroup=bdfKeyword - \ start='^STARTFONT\>' end='^ENDFONT\>' - \ contains=bdfComment,bdfFont,bdfSize, - \ bdfBoundingBox,bdfProperties,bdfChars,bdfChar - -syn match bdfNumber contained display - \ '\<\%(\x\+\|[+-]\=\d\+\%(\.\d\+\)*\)' - -syn keyword bdfTodo contained FIXME TODO XXX NOTE - -syn region bdfComment contained start='^COMMENT\>' end='$' - \ contains=bdfTodo,@Spell - -syn region bdfFont contained matchgroup=bdfKeyword - \ start='^FONT\>' end='$' - -syn region bdfSize contained transparent matchgroup=bdfKeyword - \ start='^SIZE\>' end='$' contains=bdfNumber - -syn region bdfBoundingBox contained transparent matchgroup=bdfKeyword - \ start='^FONTBOUNDINGBOX' end='$' - \ contains=bdfNumber - -syn region bdfProperties contained transparent matchgroup=bdfKeyword - \ start='^STARTPROPERTIES' end='^ENDPROPERTIES' - \ contains=bdfNumber,bdfString,bdfProperty, - \ bdfXProperty - -syn keyword bdfProperty contained FONT_ASCENT FONT_DESCENT DEFAULT_CHAR -syn match bdfProperty contained '^\S\+' - -syn keyword bdfXProperty contained FONT_ASCENT FONT_DESCENT DEFAULT_CHAR - \ FONTNAME_REGISTRY FOUNDRY FAMILY_NAME - \ WEIGHT_NAME SLANT SETWIDTH_NAME PIXEL_SIZE - \ POINT_SIZE RESOLUTION_X RESOLUTION_Y SPACING - \ CHARSET_REGISTRY CHARSET_ENCODING COPYRIGHT - \ ADD_STYLE_NAME WEIGHT RESOLUTION X_HEIGHT - \ QUAD_WIDTH FONT AVERAGE_WIDTH - -syn region bdfString contained start=+"+ skip=+""+ end=+"+ - -syn region bdfChars contained display transparent - \ matchgroup=bdfKeyword start='^CHARS' end='$' - \ contains=bdfNumber - -syn region bdfChar transparent matchgroup=bdfKeyword - \ start='^STARTCHAR' end='^ENDCHAR' - \ contains=bdfEncoding,bdfWidth,bdfAttributes, - \ bdfBitmap - -syn region bdfEncoding contained transparent matchgroup=bdfKeyword - \ start='^ENCODING' end='$' contains=bdfNumber - -syn region bdfWidth contained transparent matchgroup=bdfKeyword - \ start='^SWIDTH\|DWIDTH\|BBX' end='$' - \ contains=bdfNumber - -syn region bdfAttributes contained transparent matchgroup=bdfKeyword - \ start='^ATTRIBUTES' end='$' - -syn keyword bdfBitmap contained BITMAP - -if exists("bdf_minlines") - let b:bdf_minlines = bdf_minlines -else - let b:bdf_minlines = 30 -endif -exec "syn sync ccomment bdfChar minlines=" . b:bdf_minlines - - -hi def link bdfKeyword Keyword -hi def link bdfNumber Number -hi def link bdfTodo Todo -hi def link bdfComment Comment -hi def link bdfFont String -hi def link bdfProperty Identifier -hi def link bdfXProperty Identifier -hi def link bdfString String -hi def link bdfChars Keyword -hi def link bdfBitmap Keyword - -let b:current_syntax = "bdf" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/bib.mnv b/uvim/runtime/syntax/bib.mnv new file mode 100644 index 0000000000..e1649faee5 --- /dev/null +++ b/uvim/runtime/syntax/bib.mnv @@ -0,0 +1,121 @@ +" MNV syntax file +" Language: BibTeX (bibliographic database format for (La)TeX) +" Maintainer: Bernd Feige +" Filenames: *.bib +" Last Change: 2017 Sep 29 + +" Thanks to those who pointed out problems with this file or supplied fixes! + +" Initialization +" ============== +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +" Ignore case +syn case ignore + +" Keywords +" ======== +syn keyword bibType contained article book booklet conference inbook +syn keyword bibType contained incollection inproceedings manual +syn keyword bibType contained mastersthesis misc phdthesis +syn keyword bibType contained proceedings techreport unpublished +syn keyword bibType contained string preamble + +syn keyword bibEntryKw contained address annote author booktitle chapter +syn keyword bibEntryKw contained crossref edition editor howpublished +syn keyword bibEntryKw contained institution journal key month note +syn keyword bibEntryKw contained number organization pages publisher +syn keyword bibEntryKw contained school series title type volume year + +" biblatex keywords, cf. http://mirrors.ctan.org/macros/latex/contrib/biblatex/doc/biblatex.pdf +syn keyword bibType contained mvbook bookinbook suppbook collection mvcollection suppcollection +syn keyword bibType contained online patent periodical suppperiodical mvproceedings reference +syn keyword bibType contained mvreference inreference report set thesis xdata customa customb +syn keyword bibType contained customc customd custome customf electronic www artwork audio bibnote +syn keyword bibType contained commentary image jurisdiction legislation legal letter movie music +syn keyword bibType contained performance review software standard video + +syn keyword bibEntryKw contained abstract isbn issn keywords url +syn keyword bibEntryKw contained addendum afterwordannotation annotation annotator authortype +syn keyword bibEntryKw contained bookauthor bookpagination booksubtitle booktitleaddon +syn keyword bibEntryKw contained commentator date doi editora editorb editorc editortype +syn keyword bibEntryKw contained editoratype editorbtype editorctype eid entrysubtype +syn keyword bibEntryKw contained eprint eprintclass eprinttype eventdate eventtitle +syn keyword bibEntryKw contained eventtitleaddon file foreword holder indextitle +syn keyword bibEntryKw contained introduction isan ismn isrn issue issuesubtitle +syn keyword bibEntryKw contained issuetitle iswc journalsubtitle journaltitle label +syn keyword bibEntryKw contained language library location mainsubtitle maintitle +syn keyword bibEntryKw contained maintitleaddon nameaddon origdate origlanguage +syn keyword bibEntryKw contained origlocation origpublisher origtitle pagetotal +syn keyword bibEntryKw contained pagination part pubstate reprinttitle shortauthor +syn keyword bibEntryKw contained shorteditor shorthand shorthandintro shortjournal +syn keyword bibEntryKw contained shortseries shorttitle subtitle titleaddon translator +syn keyword bibEntryKw contained urldate venue version volumes entryset execute gender +syn keyword bibEntryKw contained langid langidopts ids indexsorttitle options presort +syn keyword bibEntryKw contained related relatedoptions relatedtype relatedstring +syn keyword bibEntryKw contained sortkey sortname sortshorthand sorttitle sortyear xdata +syn keyword bibEntryKw contained xref namea nameb namec nameatype namebtype namectype +syn keyword bibEntryKw contained lista listb listc listd liste listf usera userb userc +syn keyword bibEntryKw contained userd usere userf verba verbb verbc archiveprefix pdf +syn keyword bibEntryKw contained primaryclass + +" Non-standard: +" AMS mref http://www.ams.org/mref +syn keyword bibNSEntryKw contained mrclass mrnumber mrreviewer fjournal coden + +" Clusters +" ======== +syn cluster bibVarContents contains=bibUnescapedSpecial,bibBrace,bibParen,bibMath +" This cluster is empty but things can be added externally: +"syn cluster bibCommentContents + +" Matches +" ======= +syn match bibUnescapedSpecial contained /[^\\][%&]/hs=s+1 +syn match bibKey contained /\s*[^ \t}="]\+,/hs=s,he=e-1 nextgroup=bibField +syn match bibVariable contained /[^{}," \t=]/ +syn region bibComment start=/./ end=/^\s*@/me=e-1 contains=@bibCommentContents nextgroup=bibEntry +syn region bibMath contained start=/\(\\\)\@ -" Filenames: *.bib -" Last Change: 2017 Sep 29 - -" Thanks to those who pointed out problems with this file or supplied fixes! - -" Initialization -" ============== -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -" Ignore case -syn case ignore - -" Keywords -" ======== -syn keyword bibType contained article book booklet conference inbook -syn keyword bibType contained incollection inproceedings manual -syn keyword bibType contained mastersthesis misc phdthesis -syn keyword bibType contained proceedings techreport unpublished -syn keyword bibType contained string preamble - -syn keyword bibEntryKw contained address annote author booktitle chapter -syn keyword bibEntryKw contained crossref edition editor howpublished -syn keyword bibEntryKw contained institution journal key month note -syn keyword bibEntryKw contained number organization pages publisher -syn keyword bibEntryKw contained school series title type volume year - -" biblatex keywords, cf. http://mirrors.ctan.org/macros/latex/contrib/biblatex/doc/biblatex.pdf -syn keyword bibType contained mvbook bookinbook suppbook collection mvcollection suppcollection -syn keyword bibType contained online patent periodical suppperiodical mvproceedings reference -syn keyword bibType contained mvreference inreference report set thesis xdata customa customb -syn keyword bibType contained customc customd custome customf electronic www artwork audio bibnote -syn keyword bibType contained commentary image jurisdiction legislation legal letter movie music -syn keyword bibType contained performance review software standard video - -syn keyword bibEntryKw contained abstract isbn issn keywords url -syn keyword bibEntryKw contained addendum afterwordannotation annotation annotator authortype -syn keyword bibEntryKw contained bookauthor bookpagination booksubtitle booktitleaddon -syn keyword bibEntryKw contained commentator date doi editora editorb editorc editortype -syn keyword bibEntryKw contained editoratype editorbtype editorctype eid entrysubtype -syn keyword bibEntryKw contained eprint eprintclass eprinttype eventdate eventtitle -syn keyword bibEntryKw contained eventtitleaddon file foreword holder indextitle -syn keyword bibEntryKw contained introduction isan ismn isrn issue issuesubtitle -syn keyword bibEntryKw contained issuetitle iswc journalsubtitle journaltitle label -syn keyword bibEntryKw contained language library location mainsubtitle maintitle -syn keyword bibEntryKw contained maintitleaddon nameaddon origdate origlanguage -syn keyword bibEntryKw contained origlocation origpublisher origtitle pagetotal -syn keyword bibEntryKw contained pagination part pubstate reprinttitle shortauthor -syn keyword bibEntryKw contained shorteditor shorthand shorthandintro shortjournal -syn keyword bibEntryKw contained shortseries shorttitle subtitle titleaddon translator -syn keyword bibEntryKw contained urldate venue version volumes entryset execute gender -syn keyword bibEntryKw contained langid langidopts ids indexsorttitle options presort -syn keyword bibEntryKw contained related relatedoptions relatedtype relatedstring -syn keyword bibEntryKw contained sortkey sortname sortshorthand sorttitle sortyear xdata -syn keyword bibEntryKw contained xref namea nameb namec nameatype namebtype namectype -syn keyword bibEntryKw contained lista listb listc listd liste listf usera userb userc -syn keyword bibEntryKw contained userd usere userf verba verbb verbc archiveprefix pdf -syn keyword bibEntryKw contained primaryclass - -" Non-standard: -" AMS mref http://www.ams.org/mref -syn keyword bibNSEntryKw contained mrclass mrnumber mrreviewer fjournal coden - -" Clusters -" ======== -syn cluster bibVarContents contains=bibUnescapedSpecial,bibBrace,bibParen,bibMath -" This cluster is empty but things can be added externally: -"syn cluster bibCommentContents - -" Matches -" ======= -syn match bibUnescapedSpecial contained /[^\\][%&]/hs=s+1 -syn match bibKey contained /\s*[^ \t}="]\+,/hs=s,he=e-1 nextgroup=bibField -syn match bibVariable contained /[^{}," \t=]/ -syn region bibComment start=/./ end=/^\s*@/me=e-1 contains=@bibCommentContents nextgroup=bibEntry -syn region bibMath contained start=/\(\\\)\@ +" URL: http://www.mehnle.net/source/odds+ends/mnv/syntax/ +" Last Change: Thu 2011-07-16 20:42:00 UTC +" +" Based on an earlier version by ВячеŃлав Горбанев (Slava Gorbanev), with +" heavy modifications. +" +" $Id: bindzone.mnv 12 2011-07-16 21:09:57Z julian $ + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn case match + +" Directives +syn region zoneRRecord start=/^/ end=/$/ contains=zoneOwnerName,zoneSpecial,zoneTTL,zoneClass,zoneRRType,zoneComment,zoneUnknown + +syn match zoneDirective /^\$ORIGIN\s\+/ nextgroup=zoneOrigin,zoneUnknown +syn match zoneDirective /^\$TTL\s\+/ nextgroup=zoneTTL,zoneUnknown +syn match zoneDirective /^\$INCLUDE\s\+/ nextgroup=zoneText,zoneUnknown +syn match zoneDirective /^\$GENERATE\s/ + +syn match zoneUnknown contained /\S\+/ + +syn match zoneOwnerName contained /^[^[:space:]!"#$%&'()*+,\/:;<=>?@[\]\^`{|}~]\+\(\s\|;\)\@=/ nextgroup=zoneTTL,zoneClass,zoneRRType skipwhite +syn match zoneOrigin contained /[^[:space:]!"#$%&'()*+,\/:;<=>?@[\]\^`{|}~]\+\(\s\|;\|$\)\@=/ +syn match zoneDomain contained /[^[:space:]!"#$%&'()*+,\/:;<=>?@[\]\^`{|}~]\+\(\s\|;\|$\)\@=/ + +syn match zoneSpecial contained /^[@*.]\s/ +syn match zoneTTL contained /\s\@<=\d[0-9WwDdHhMmSs]*\(\s\|$\)\@=/ nextgroup=zoneClass,zoneRRType skipwhite +syn keyword zoneClass contained IN CHAOS CH HS HESIOD nextgroup=zoneRRType,zoneTTL skipwhite +syn keyword zoneRRType contained A AAAA APL CAA CERT CNAME DNAME DNSKEY DS HINFO LOC MX NAPTR NS NSEC NSEC3 NSEC3PARAM OPENPGPKEY PTR RP RRSIG SMIMEA SOA SPF SRV SSHFP TLSA TXT nextgroup=zoneRData skipwhite +syn match zoneRData contained /[^;]*/ contains=zoneDomain,zoneIPAddr,zoneIP6Addr,zoneText,zoneNumber,zoneParen,zoneUnknown + +syn match zoneIPAddr contained /\<[0-9]\{1,3}\(\.[0-9]\{1,3}\)\{,3}\>/ + +" Plain IPv6 address IPv6-embedded-IPv4 address +" 1111:2:3:4:5:6:7:8 1111:2:3:4:5:6:127.0.0.1 +syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{6}\(\x\{1,4}:\x\{1,4}\|\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/ +" ::[...:]8 ::[...:]127.0.0.1 +syn match zoneIP6Addr contained /\s\@<=::\(\(\x\{1,4}:\)\{,6}\x\{1,4}\|\(\x\{1,4}:\)\{,5}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/ +" 1111::[...:]8 1111::[...:]127.0.0.1 +syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{1}:\(\(\x\{1,4}:\)\{,5}\x\{1,4}\|\(\x\{1,4}:\)\{,4}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/ +" 1111:2::[...:]8 1111:2::[...:]127.0.0.1 +syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{2}:\(\(\x\{1,4}:\)\{,4}\x\{1,4}\|\(\x\{1,4}:\)\{,3}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/ +" 1111:2:3::[...:]8 1111:2:3::[...:]127.0.0.1 +syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{3}:\(\(\x\{1,4}:\)\{,3}\x\{1,4}\|\(\x\{1,4}:\)\{,2}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/ +" 1111:2:3:4::[...:]8 1111:2:3:4::[...:]127.0.0.1 +syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{4}:\(\(\x\{1,4}:\)\{,2}\x\{1,4}\|\(\x\{1,4}:\)\{,1}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/ +" 1111:2:3:4:5::[...:]8 1111:2:3:4:5::127.0.0.1 +syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{5}:\(\(\x\{1,4}:\)\{,1}\x\{1,4}\|\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/ +" 1111:2:3:4:5:6::8 - +syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{6}:\x\{1,4}\>/ +" 1111[:...]:: - +syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{1,7}:\(\s\|;\|$\)\@=/ + +syn match zoneText contained /"\([^"\\]\|\\.\)*"\(\s\|;\|$\)\@=/ +syn match zoneNumber contained /\<[0-9]\+\(\s\|;\|$\)\@=/ +syn match zoneSerial contained /\<[0-9]\{1,10}\(\s\|;\|$\)\@=/ + +syn match zoneErrParen /)/ +syn region zoneParen contained start="(" end=")" contains=zoneSerial,zoneTTL,zoneNumber,zoneComment +syn match zoneComment /;.*/ + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link zoneDirective Macro + +hi def link zoneUnknown Error + +hi def link zoneOrigin Statement +hi def link zoneOwnerName Statement +hi def link zoneDomain Identifier + +hi def link zoneSpecial Special +hi def link zoneTTL Constant +hi def link zoneClass Include +hi def link zoneRRType Type + +hi def link zoneIPAddr Number +hi def link zoneIP6Addr Number +hi def link zoneText String +hi def link zoneNumber Number +hi def link zoneSerial Special + +hi def link zoneErrParen Error +hi def link zoneComment Comment + + +let b:current_syntax = "bindzone" + +" mnv:sts=2 sw=2 diff --git a/uvim/runtime/syntax/bindzone.vim b/uvim/runtime/syntax/bindzone.vim deleted file mode 100644 index dce9974903..0000000000 --- a/uvim/runtime/syntax/bindzone.vim +++ /dev/null @@ -1,97 +0,0 @@ -" Vim syntax file -" Language: BIND zone files (RFC 1035) -" Maintainer: Julian Mehnle -" URL: http://www.mehnle.net/source/odds+ends/vim/syntax/ -" Last Change: Thu 2011-07-16 20:42:00 UTC -" -" Based on an earlier version by ВячеŃлав Горбанев (Slava Gorbanev), with -" heavy modifications. -" -" $Id: bindzone.vim 12 2011-07-16 21:09:57Z julian $ - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn case match - -" Directives -syn region zoneRRecord start=/^/ end=/$/ contains=zoneOwnerName,zoneSpecial,zoneTTL,zoneClass,zoneRRType,zoneComment,zoneUnknown - -syn match zoneDirective /^\$ORIGIN\s\+/ nextgroup=zoneOrigin,zoneUnknown -syn match zoneDirective /^\$TTL\s\+/ nextgroup=zoneTTL,zoneUnknown -syn match zoneDirective /^\$INCLUDE\s\+/ nextgroup=zoneText,zoneUnknown -syn match zoneDirective /^\$GENERATE\s/ - -syn match zoneUnknown contained /\S\+/ - -syn match zoneOwnerName contained /^[^[:space:]!"#$%&'()*+,\/:;<=>?@[\]\^`{|}~]\+\(\s\|;\)\@=/ nextgroup=zoneTTL,zoneClass,zoneRRType skipwhite -syn match zoneOrigin contained /[^[:space:]!"#$%&'()*+,\/:;<=>?@[\]\^`{|}~]\+\(\s\|;\|$\)\@=/ -syn match zoneDomain contained /[^[:space:]!"#$%&'()*+,\/:;<=>?@[\]\^`{|}~]\+\(\s\|;\|$\)\@=/ - -syn match zoneSpecial contained /^[@*.]\s/ -syn match zoneTTL contained /\s\@<=\d[0-9WwDdHhMmSs]*\(\s\|$\)\@=/ nextgroup=zoneClass,zoneRRType skipwhite -syn keyword zoneClass contained IN CHAOS CH HS HESIOD nextgroup=zoneRRType,zoneTTL skipwhite -syn keyword zoneRRType contained A AAAA APL CAA CERT CNAME DNAME DNSKEY DS HINFO LOC MX NAPTR NS NSEC NSEC3 NSEC3PARAM OPENPGPKEY PTR RP RRSIG SMIMEA SOA SPF SRV SSHFP TLSA TXT nextgroup=zoneRData skipwhite -syn match zoneRData contained /[^;]*/ contains=zoneDomain,zoneIPAddr,zoneIP6Addr,zoneText,zoneNumber,zoneParen,zoneUnknown - -syn match zoneIPAddr contained /\<[0-9]\{1,3}\(\.[0-9]\{1,3}\)\{,3}\>/ - -" Plain IPv6 address IPv6-embedded-IPv4 address -" 1111:2:3:4:5:6:7:8 1111:2:3:4:5:6:127.0.0.1 -syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{6}\(\x\{1,4}:\x\{1,4}\|\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/ -" ::[...:]8 ::[...:]127.0.0.1 -syn match zoneIP6Addr contained /\s\@<=::\(\(\x\{1,4}:\)\{,6}\x\{1,4}\|\(\x\{1,4}:\)\{,5}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/ -" 1111::[...:]8 1111::[...:]127.0.0.1 -syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{1}:\(\(\x\{1,4}:\)\{,5}\x\{1,4}\|\(\x\{1,4}:\)\{,4}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/ -" 1111:2::[...:]8 1111:2::[...:]127.0.0.1 -syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{2}:\(\(\x\{1,4}:\)\{,4}\x\{1,4}\|\(\x\{1,4}:\)\{,3}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/ -" 1111:2:3::[...:]8 1111:2:3::[...:]127.0.0.1 -syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{3}:\(\(\x\{1,4}:\)\{,3}\x\{1,4}\|\(\x\{1,4}:\)\{,2}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/ -" 1111:2:3:4::[...:]8 1111:2:3:4::[...:]127.0.0.1 -syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{4}:\(\(\x\{1,4}:\)\{,2}\x\{1,4}\|\(\x\{1,4}:\)\{,1}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/ -" 1111:2:3:4:5::[...:]8 1111:2:3:4:5::127.0.0.1 -syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{5}:\(\(\x\{1,4}:\)\{,1}\x\{1,4}\|\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/ -" 1111:2:3:4:5:6::8 - -syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{6}:\x\{1,4}\>/ -" 1111[:...]:: - -syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{1,7}:\(\s\|;\|$\)\@=/ - -syn match zoneText contained /"\([^"\\]\|\\.\)*"\(\s\|;\|$\)\@=/ -syn match zoneNumber contained /\<[0-9]\+\(\s\|;\|$\)\@=/ -syn match zoneSerial contained /\<[0-9]\{1,10}\(\s\|;\|$\)\@=/ - -syn match zoneErrParen /)/ -syn region zoneParen contained start="(" end=")" contains=zoneSerial,zoneTTL,zoneNumber,zoneComment -syn match zoneComment /;.*/ - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link zoneDirective Macro - -hi def link zoneUnknown Error - -hi def link zoneOrigin Statement -hi def link zoneOwnerName Statement -hi def link zoneDomain Identifier - -hi def link zoneSpecial Special -hi def link zoneTTL Constant -hi def link zoneClass Include -hi def link zoneRRType Type - -hi def link zoneIPAddr Number -hi def link zoneIP6Addr Number -hi def link zoneText String -hi def link zoneNumber Number -hi def link zoneSerial Special - -hi def link zoneErrParen Error -hi def link zoneComment Comment - - -let b:current_syntax = "bindzone" - -" vim:sts=2 sw=2 diff --git a/uvim/runtime/syntax/bitbake.mnv b/uvim/runtime/syntax/bitbake.mnv new file mode 100644 index 0000000000..ca6094fe70 --- /dev/null +++ b/uvim/runtime/syntax/bitbake.mnv @@ -0,0 +1,128 @@ +" MNV syntax file +" Language: BitBake bb/bbclasses/inc +" Author: Chris Larson +" Ricardo Salveti +" Copyright: Copyright (C) 2004 Chris Larson +" Copyright (C) 2008 Ricardo Salveti +" Last Change: 2022 Jul 25 +" 2025 Oct 13 by MNV project: update multiline function syntax #18565 +" +" This file is licensed under the MIT license, see COPYING.MIT in +" this source distribution for the terms. +" +" Syntax highlighting for bb, bbclasses and inc files. +" +" It's an entirely new type, just has specific syntax in shell and python code + +if v:version < 600 + finish +endif +if exists("b:current_syntax") + finish +endif + +syn include @python syntax/python.mnv +unlet! b:current_syntax + +" BitBake syntax + +" Matching case +syn case match + +" Indicates the error when nothing is matched +syn match bbUnmatched "." + +" Comments +syn cluster bbCommentGroup contains=bbTodo,@Spell +syn keyword bbTodo COMBAK FIXME TODO XXX contained +syn match bbComment "#.*$" contains=@bbCommentGroup + +" String helpers +syn match bbQuote +['"]+ contained +syn match bbDelimiter "[(){}=]" contained +syn match bbArrayBrackets "[\[\]]" contained + +" BitBake strings +syn match bbContinue "\\$" +syn region bbString matchgroup=bbQuote start=+"+ skip=+\\$+ end=+"+ contained contains=bbTodo,bbContinue,bbVarDeref,bbVarPyValue,@Spell +syn region bbString matchgroup=bbQuote start=+'+ skip=+\\$+ end=+'+ contained contains=bbTodo,bbContinue,bbVarDeref,bbVarPyValue,@Spell + +" Vars definition +syn match bbExport "^export" nextgroup=bbIdentifier skipwhite +syn keyword bbExportFlag export contained nextgroup=bbIdentifier skipwhite +syn match bbIdentifier "[a-zA-Z0-9\-_\.\/\+]\+" display contained +syn match bbVarDeref "${[a-zA-Z0-9\-_:\.\/\+]\+}" contained +syn match bbVarEq "\(:=\|+=\|=+\|\.=\|=\.\|?=\|??=\|=\)" contained nextgroup=bbVarValue +syn match bbVarDef "^\(export\s*\)\?\([a-zA-Z0-9\-_\.\/\+][${}a-zA-Z0-9\-_:\.\/\+]*\)\s*\(:=\|+=\|=+\|\.=\|=\.\|?=\|??=\|=\)\@=" contains=bbExportFlag,bbIdentifier,bbOverrideOperator,bbVarDeref nextgroup=bbVarEq +syn match bbVarValue ".*$" contained contains=bbString,bbVarDeref,bbVarPyValue +syn region bbVarPyValue start=+${@+ skip=+\\$+ end=+}+ contained contains=@python + +" Vars metadata flags +syn match bbVarFlagDef "^\([a-zA-Z0-9\-_\.]\+\)\(\[[a-zA-Z0-9\-_\.+]\+\]\)\@=" contains=bbIdentifier nextgroup=bbVarFlagFlag +syn region bbVarFlagFlag matchgroup=bbArrayBrackets start="\[" end="\]\s*\(:=\|=\|.=\|=.|+=\|=+\|?=\)\@=" contained contains=bbIdentifier nextgroup=bbVarEq + +" Includes and requires +syn keyword bbInclude inherit include require contained +syn match bbIncludeRest ".*$" contained contains=bbString,bbVarDeref +syn match bbIncludeLine "^\(inherit\|include\|require\)\s\+" contains=bbInclude nextgroup=bbIncludeRest + +" Add taks and similar +syn keyword bbStatement addtask deltask addhandler after before EXPORT_FUNCTIONS contained +syn match bbStatementRest ".*$" skipwhite contained contains=bbStatement +syn match bbStatementLine "^\(addtask\|deltask\|addhandler\|after\|before\|EXPORT_FUNCTIONS\)\s\+" contains=bbStatement nextgroup=bbStatementRest + +" OE Important Functions +syn keyword bbOEFunctions do_fetch do_unpack do_patch do_configure do_compile do_stage do_install do_package contained + +" Generic Functions +syn match bbFunction "\h[0-9A-Za-z_\-\.]*" display contained contains=bbOEFunctions + +syn keyword bbOverrideOperator append prepend remove contained + +" BitBake shell metadata +syn include @shell syntax/sh.mnv +unlet! b:current_syntax + +syn keyword bbShFakeRootFlag fakeroot contained +syn match bbShFuncDef "^\(fakeroot\s*\)\?\([\.0-9A-Za-z_:${}\-\.]\+\)\(python\)\@ -" Ricardo Salveti -" Copyright: Copyright (C) 2004 Chris Larson -" Copyright (C) 2008 Ricardo Salveti -" Last Change: 2022 Jul 25 -" 2025 Oct 13 by Vim project: update multiline function syntax #18565 -" -" This file is licensed under the MIT license, see COPYING.MIT in -" this source distribution for the terms. -" -" Syntax highlighting for bb, bbclasses and inc files. -" -" It's an entirely new type, just has specific syntax in shell and python code - -if v:version < 600 - finish -endif -if exists("b:current_syntax") - finish -endif - -syn include @python syntax/python.vim -unlet! b:current_syntax - -" BitBake syntax - -" Matching case -syn case match - -" Indicates the error when nothing is matched -syn match bbUnmatched "." - -" Comments -syn cluster bbCommentGroup contains=bbTodo,@Spell -syn keyword bbTodo COMBAK FIXME TODO XXX contained -syn match bbComment "#.*$" contains=@bbCommentGroup - -" String helpers -syn match bbQuote +['"]+ contained -syn match bbDelimiter "[(){}=]" contained -syn match bbArrayBrackets "[\[\]]" contained - -" BitBake strings -syn match bbContinue "\\$" -syn region bbString matchgroup=bbQuote start=+"+ skip=+\\$+ end=+"+ contained contains=bbTodo,bbContinue,bbVarDeref,bbVarPyValue,@Spell -syn region bbString matchgroup=bbQuote start=+'+ skip=+\\$+ end=+'+ contained contains=bbTodo,bbContinue,bbVarDeref,bbVarPyValue,@Spell - -" Vars definition -syn match bbExport "^export" nextgroup=bbIdentifier skipwhite -syn keyword bbExportFlag export contained nextgroup=bbIdentifier skipwhite -syn match bbIdentifier "[a-zA-Z0-9\-_\.\/\+]\+" display contained -syn match bbVarDeref "${[a-zA-Z0-9\-_:\.\/\+]\+}" contained -syn match bbVarEq "\(:=\|+=\|=+\|\.=\|=\.\|?=\|??=\|=\)" contained nextgroup=bbVarValue -syn match bbVarDef "^\(export\s*\)\?\([a-zA-Z0-9\-_\.\/\+][${}a-zA-Z0-9\-_:\.\/\+]*\)\s*\(:=\|+=\|=+\|\.=\|=\.\|?=\|??=\|=\)\@=" contains=bbExportFlag,bbIdentifier,bbOverrideOperator,bbVarDeref nextgroup=bbVarEq -syn match bbVarValue ".*$" contained contains=bbString,bbVarDeref,bbVarPyValue -syn region bbVarPyValue start=+${@+ skip=+\\$+ end=+}+ contained contains=@python - -" Vars metadata flags -syn match bbVarFlagDef "^\([a-zA-Z0-9\-_\.]\+\)\(\[[a-zA-Z0-9\-_\.+]\+\]\)\@=" contains=bbIdentifier nextgroup=bbVarFlagFlag -syn region bbVarFlagFlag matchgroup=bbArrayBrackets start="\[" end="\]\s*\(:=\|=\|.=\|=.|+=\|=+\|?=\)\@=" contained contains=bbIdentifier nextgroup=bbVarEq - -" Includes and requires -syn keyword bbInclude inherit include require contained -syn match bbIncludeRest ".*$" contained contains=bbString,bbVarDeref -syn match bbIncludeLine "^\(inherit\|include\|require\)\s\+" contains=bbInclude nextgroup=bbIncludeRest - -" Add taks and similar -syn keyword bbStatement addtask deltask addhandler after before EXPORT_FUNCTIONS contained -syn match bbStatementRest ".*$" skipwhite contained contains=bbStatement -syn match bbStatementLine "^\(addtask\|deltask\|addhandler\|after\|before\|EXPORT_FUNCTIONS\)\s\+" contains=bbStatement nextgroup=bbStatementRest - -" OE Important Functions -syn keyword bbOEFunctions do_fetch do_unpack do_patch do_configure do_compile do_stage do_install do_package contained - -" Generic Functions -syn match bbFunction "\h[0-9A-Za-z_\-\.]*" display contained contains=bbOEFunctions - -syn keyword bbOverrideOperator append prepend remove contained - -" BitBake shell metadata -syn include @shell syntax/sh.vim -unlet! b:current_syntax - -syn keyword bbShFakeRootFlag fakeroot contained -syn match bbShFuncDef "^\(fakeroot\s*\)\?\([\.0-9A-Za-z_:${}\-\.]\+\)\(python\)\@ +" Last change: 2011 Dec 28 by Thilo Six + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn case ignore + +" Blank instructions +syn match blankInstruction "{[:;,\.+\-*$#@/\\`'"!\|><{}\[\]()?xspo\^&\~=_%]}" + +" Common strings +syn match blankString "\~[^}]" + +" Numbers +syn match blankNumber "\[[0-9]\+\]" + +syn case match + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link blankInstruction Statement +hi def link blankNumber Number +hi def link blankString String + + +let b:current_syntax = "blank" + +let &cpo = s:cpo_save +unlet s:cpo_save +" mnv: ts=8 diff --git a/uvim/runtime/syntax/blank.vim b/uvim/runtime/syntax/blank.vim deleted file mode 100644 index 6d2e3fd7bd..0000000000 --- a/uvim/runtime/syntax/blank.vim +++ /dev/null @@ -1,39 +0,0 @@ -" Vim syntax file -" Language: Blank 1.4.1 -" Maintainer: Rafal M. Sulejman -" Last change: 2011 Dec 28 by Thilo Six - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn case ignore - -" Blank instructions -syn match blankInstruction "{[:;,\.+\-*$#@/\\`'"!\|><{}\[\]()?xspo\^&\~=_%]}" - -" Common strings -syn match blankString "\~[^}]" - -" Numbers -syn match blankNumber "\[[0-9]\+\]" - -syn case match - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link blankInstruction Statement -hi def link blankNumber Number -hi def link blankString String - - -let b:current_syntax = "blank" - -let &cpo = s:cpo_save -unlet s:cpo_save -" vim: ts=8 diff --git a/uvim/runtime/syntax/bpftrace.mnv b/uvim/runtime/syntax/bpftrace.mnv new file mode 100644 index 0000000000..a5b362c230 --- /dev/null +++ b/uvim/runtime/syntax/bpftrace.mnv @@ -0,0 +1,66 @@ +" MNV syntax file +" Language: bpftrace +" Maintainer: Stanislaw Gruszka +" Last Change: 2025 Dec 22 + +" Quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn keyword bpftraceConditional if else +syn keyword bpftraceRepeat while for unroll +syn keyword bpftraceStatement break continue return +syn keyword bpftraceKeyword let macro import config +syn keyword bpftraceOperator sizeof offsetof + +syn keyword bpftraceProbe BEGIN END begin end +syn match bpftraceProbe "\v<(bench|self|test)\ze:" +syn match bpftraceProbe "\v<(fentry|fexit|kfunc|kretfunc|kprobe|kretprobe)\ze:" +syn match bpftraceProbe "\v<(profile|interval|iterator|hardware|software|uprobe|uretprobe)\ze:" +syn match bpftraceProbe "\v<(usdt|tracepoint|rawtracepoint|watchpoint|asyncwatchpoint)\ze:" +syn match bpftraceProbe "\v(^|[^:])<\zs(h|i|it|f|fr|k|kr|p|rt|s|t|u|ur|U|w|aw)\ze:" + +syn keyword bpftraceType bool int8 int16 int32 int64 +syn keyword bpftraceType uint8 uint16 uint32 uint64 +syn keyword bpftraceType struct + +syn match bpftraceMacro "\<\h\w*\ze\_s*(" + +syn match bpftraceNumber display "[+-]\=\<\d\+\>" +syn match bpftraceNumber display "\<0x\x\+\>" + +syn keyword bpftraceBoolean true false + +syn region bpftraceString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell extend + +syn keyword bpftraceTodo contained TODO FIXME XXX +syn match bpftraceShebang /\%^#![^[].*/ +syn region bpftraceCommentLine start="//" end="$" contains=bpftraceTodo,@Spell +syn region bpftraceCommentBlock matchgroup=bpftraceCommentBlock start="/\*" end="\*/" contains=bpftraceTodo,@Spell + +" Define the default highlighting. +hi def link bpftraceConditional Conditional +hi def link bpftraceMacro Macro +hi def link bpftraceRepeat Repeat +hi def link bpftraceKeyword Keyword +hi def link bpftraceNumber Number +hi def link bpftraceBoolean Boolean +hi def link bpftraceShebang Comment +hi def link bpftraceCommentLine Comment +hi def link bpftraceCommentBlock Comment +hi def link bpftraceString String +hi def link bpftraceType Type +hi def link bpftraceProbe Identifier + +syn sync minlines=100 + +let b:current_syntax = "bpftrace" + +let &cpo = s:cpo_save +unlet s:cpo_save + +" mnv: ts=8 sw=8 noexpandtab diff --git a/uvim/runtime/syntax/bpftrace.vim b/uvim/runtime/syntax/bpftrace.vim deleted file mode 100644 index 4e23bcbde5..0000000000 --- a/uvim/runtime/syntax/bpftrace.vim +++ /dev/null @@ -1,66 +0,0 @@ -" Vim syntax file -" Language: bpftrace -" Maintainer: Stanislaw Gruszka -" Last Change: 2025 Dec 22 - -" Quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn keyword bpftraceConditional if else -syn keyword bpftraceRepeat while for unroll -syn keyword bpftraceStatement break continue return -syn keyword bpftraceKeyword let macro import config -syn keyword bpftraceOperator sizeof offsetof - -syn keyword bpftraceProbe BEGIN END begin end -syn match bpftraceProbe "\v<(bench|self|test)\ze:" -syn match bpftraceProbe "\v<(fentry|fexit|kfunc|kretfunc|kprobe|kretprobe)\ze:" -syn match bpftraceProbe "\v<(profile|interval|iterator|hardware|software|uprobe|uretprobe)\ze:" -syn match bpftraceProbe "\v<(usdt|tracepoint|rawtracepoint|watchpoint|asyncwatchpoint)\ze:" -syn match bpftraceProbe "\v(^|[^:])<\zs(h|i|it|f|fr|k|kr|p|rt|s|t|u|ur|U|w|aw)\ze:" - -syn keyword bpftraceType bool int8 int16 int32 int64 -syn keyword bpftraceType uint8 uint16 uint32 uint64 -syn keyword bpftraceType struct - -syn match bpftraceMacro "\<\h\w*\ze\_s*(" - -syn match bpftraceNumber display "[+-]\=\<\d\+\>" -syn match bpftraceNumber display "\<0x\x\+\>" - -syn keyword bpftraceBoolean true false - -syn region bpftraceString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell extend - -syn keyword bpftraceTodo contained TODO FIXME XXX -syn match bpftraceShebang /\%^#![^[].*/ -syn region bpftraceCommentLine start="//" end="$" contains=bpftraceTodo,@Spell -syn region bpftraceCommentBlock matchgroup=bpftraceCommentBlock start="/\*" end="\*/" contains=bpftraceTodo,@Spell - -" Define the default highlighting. -hi def link bpftraceConditional Conditional -hi def link bpftraceMacro Macro -hi def link bpftraceRepeat Repeat -hi def link bpftraceKeyword Keyword -hi def link bpftraceNumber Number -hi def link bpftraceBoolean Boolean -hi def link bpftraceShebang Comment -hi def link bpftraceCommentLine Comment -hi def link bpftraceCommentBlock Comment -hi def link bpftraceString String -hi def link bpftraceType Type -hi def link bpftraceProbe Identifier - -syn sync minlines=100 - -let b:current_syntax = "bpftrace" - -let &cpo = s:cpo_save -unlet s:cpo_save - -" vim: ts=8 sw=8 noexpandtab diff --git a/uvim/runtime/syntax/bsdl.mnv b/uvim/runtime/syntax/bsdl.mnv new file mode 100644 index 0000000000..316e22511c --- /dev/null +++ b/uvim/runtime/syntax/bsdl.mnv @@ -0,0 +1,17 @@ +" MNV syntax file +" Language: Boundary Scan Description Language (BSDL) +" Maintainer: Daniel Kho +" Last Changed: 2020 Mar 19 by Daniel Kho + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" Read in VHDL syntax files +runtime! syntax/vhdl.mnv +unlet b:current_syntax + +let b:current_syntax = "bsdl" + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/bsdl.vim b/uvim/runtime/syntax/bsdl.vim deleted file mode 100644 index 75c69558e5..0000000000 --- a/uvim/runtime/syntax/bsdl.vim +++ /dev/null @@ -1,17 +0,0 @@ -" Vim syntax file -" Language: Boundary Scan Description Language (BSDL) -" Maintainer: Daniel Kho -" Last Changed: 2020 Mar 19 by Daniel Kho - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" Read in VHDL syntax files -runtime! syntax/vhdl.vim -unlet b:current_syntax - -let b:current_syntax = "bsdl" - -" vim: ts=8 diff --git a/uvim/runtime/syntax/bst.mnv b/uvim/runtime/syntax/bst.mnv new file mode 100644 index 0000000000..373b4cc356 --- /dev/null +++ b/uvim/runtime/syntax/bst.mnv @@ -0,0 +1,70 @@ +" MNV syntax file +" Language: BibTeX Bibliography Style +" Maintainer: Tim Pope +" Filenames: *.bst +" $Id: bst.mnv,v 1.2 2007/05/05 18:24:42 mnvboss Exp $ + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +setlocal iskeyword=48-57,#,$,',.,A-Z,a-z + +syn case ignore + +syn match bstString +"[^"]*\%("\|$\)+ contains=bstField,bstType,bstError +" Highlight the last character of an unclosed string, but only when the cursor +" is not beyond it (i.e., it is still being edited). Imperfect. +syn match bstError '[^"]\%#\@!$' contained + +syn match bstNumber "#-\=\d\+\>" +syn keyword bstNumber entry.max$ global.max$ +syn match bstComment "%.*" + +syn keyword bstCommand ENTRY FUNCTION INTEGERS MACRO STRINGS +syn keyword bstCommand READ EXECUTE ITERATE REVERSE SORT +syn match bstBuiltIn "\s[-<>=+*]\|\s:=" +syn keyword bstBuiltIn add.period$ +syn keyword bstBuiltIn call.type$ change.case$ chr.to.int$ cite$ +syn keyword bstBuiltIn duplicate$ empty$ format.name$ +syn keyword bstBuiltIn if$ int.to.chr$ int.to.str$ +syn keyword bstBuiltIn missing$ +syn keyword bstBuiltIn newline$ num.names$ +syn keyword bstBuiltIn pop$ preamble$ purify$ quote$ +syn keyword bstBuiltIn skip$ stack$ substring$ swap$ +syn keyword bstBuiltIn text.length$ text.prefix$ top$ type$ +syn keyword bstBuiltIn warning$ while$ width$ write$ +syn match bstIdentifier "'\k*" +syn keyword bstType article book booklet conference +syn keyword bstType inbook incollection inproceedings +syn keyword bstType manual mastersthesis misc +syn keyword bstType phdthesis proceedings +syn keyword bstType techreport unpublished +syn keyword bstField abbr address annote author +syn keyword bstField booktitle chapter crossref comment +syn keyword bstField edition editor +syn keyword bstField howpublished institution journal key month +syn keyword bstField note number +syn keyword bstField organization +syn keyword bstField pages publisher +syn keyword bstField school series +syn keyword bstField title type +syn keyword bstField volume year + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link bstComment Comment +hi def link bstString String +hi def link bstCommand PreProc +hi def link bstBuiltIn Statement +hi def link bstField Special +hi def link bstNumber Number +hi def link bstType Type +hi def link bstIdentifier Identifier +hi def link bstError Error + +let b:current_syntax = "bst" + +" mnv:set ft=mnv sts=4 sw=4: diff --git a/uvim/runtime/syntax/bst.vim b/uvim/runtime/syntax/bst.vim deleted file mode 100644 index 5ebef16460..0000000000 --- a/uvim/runtime/syntax/bst.vim +++ /dev/null @@ -1,70 +0,0 @@ -" Vim syntax file -" Language: BibTeX Bibliography Style -" Maintainer: Tim Pope -" Filenames: *.bst -" $Id: bst.vim,v 1.2 2007/05/05 18:24:42 vimboss Exp $ - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -setlocal iskeyword=48-57,#,$,',.,A-Z,a-z - -syn case ignore - -syn match bstString +"[^"]*\%("\|$\)+ contains=bstField,bstType,bstError -" Highlight the last character of an unclosed string, but only when the cursor -" is not beyond it (i.e., it is still being edited). Imperfect. -syn match bstError '[^"]\%#\@!$' contained - -syn match bstNumber "#-\=\d\+\>" -syn keyword bstNumber entry.max$ global.max$ -syn match bstComment "%.*" - -syn keyword bstCommand ENTRY FUNCTION INTEGERS MACRO STRINGS -syn keyword bstCommand READ EXECUTE ITERATE REVERSE SORT -syn match bstBuiltIn "\s[-<>=+*]\|\s:=" -syn keyword bstBuiltIn add.period$ -syn keyword bstBuiltIn call.type$ change.case$ chr.to.int$ cite$ -syn keyword bstBuiltIn duplicate$ empty$ format.name$ -syn keyword bstBuiltIn if$ int.to.chr$ int.to.str$ -syn keyword bstBuiltIn missing$ -syn keyword bstBuiltIn newline$ num.names$ -syn keyword bstBuiltIn pop$ preamble$ purify$ quote$ -syn keyword bstBuiltIn skip$ stack$ substring$ swap$ -syn keyword bstBuiltIn text.length$ text.prefix$ top$ type$ -syn keyword bstBuiltIn warning$ while$ width$ write$ -syn match bstIdentifier "'\k*" -syn keyword bstType article book booklet conference -syn keyword bstType inbook incollection inproceedings -syn keyword bstType manual mastersthesis misc -syn keyword bstType phdthesis proceedings -syn keyword bstType techreport unpublished -syn keyword bstField abbr address annote author -syn keyword bstField booktitle chapter crossref comment -syn keyword bstField edition editor -syn keyword bstField howpublished institution journal key month -syn keyword bstField note number -syn keyword bstField organization -syn keyword bstField pages publisher -syn keyword bstField school series -syn keyword bstField title type -syn keyword bstField volume year - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link bstComment Comment -hi def link bstString String -hi def link bstCommand PreProc -hi def link bstBuiltIn Statement -hi def link bstField Special -hi def link bstNumber Number -hi def link bstType Type -hi def link bstIdentifier Identifier -hi def link bstError Error - -let b:current_syntax = "bst" - -" vim:set ft=vim sts=4 sw=4: diff --git a/uvim/runtime/syntax/btm.mnv b/uvim/runtime/syntax/btm.mnv new file mode 100644 index 0000000000..c80afe5703 --- /dev/null +++ b/uvim/runtime/syntax/btm.mnv @@ -0,0 +1,216 @@ +" MNV syntax file +" Language: 4Dos batch file +" Maintainer: John Leo Spetz +" Last Change: 2001 May 09 + +"//Issues to resolve: +"//- Boolean operators surrounded by period are recognized but the +"// periods are not highlighted. The only way to do that would +"// be separate synmatches for each possibility otherwise a more +"// general \.\i\+\. will highlight anything delimited by dots. +"//- After unary operators like "defined" can assume token type. +"// Should there be more of these? + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn case ignore + +syn keyword btmStatement call off +syn keyword btmConditional if iff endiff then else elseiff not errorlevel +syn keyword btmConditional gt lt eq ne ge le +syn match btmConditional transparent "\.\i\+\." contains=btmDotBoolOp +syn keyword btmDotBoolOp contained and or xor +syn match btmConditional "==" +syn match btmConditional "!=" +syn keyword btmConditional defined errorlevel exist isalias +syn keyword btmConditional isdir direxist isinternal islabel +syn keyword btmRepeat for in do enddo + +syn keyword btmTodo contained TODO + +" String +syn cluster btmVars contains=btmVariable,btmArgument,btmBIFMatch +syn region btmString start=+"+ end=+"+ contains=@btmVars +syn match btmNumber "\<\d\+\>" + +"syn match btmIdentifier "\<\h\w*\>" + +" If you don't like tabs +"syn match btmShowTab "\t" +"syn match btmShowTabc "\t" +"syn match btmComment "^\ *rem.*$" contains=btmTodo,btmShowTabc + +" Some people use this as a comment line +" In fact this is a Label +"syn match btmComment "^\ *:\ \+.*$" contains=btmTodo + +syn match btmComment "^\ *rem.*$" contains=btmTodo +syn match btmComment "^\ *::.*$" contains=btmTodo + +syn match btmLabelMark "^\ *:[0-9a-zA-Z_\-]\+\>" +syn match btmLabelMark "goto [0-9a-zA-Z_\-]\+\>"lc=5 +syn match btmLabelMark "gosub [0-9a-zA-Z_\-]\+\>"lc=6 + +" syn match btmCmdDivider ">[>&][>&]\=" +syn match btmCmdDivider ">[>&]*" +syn match btmCmdDivider ">>&>" +syn match btmCmdDivider "|&\=" +syn match btmCmdDivider "%+" +syn match btmCmdDivider "\^" + +syn region btmEcho start="echo" skip="echo" matchgroup=btmCmdDivider end="%+" end="$" end="|&\=" end="\^" end=">[>&]*" contains=@btmEchos oneline +syn cluster btmEchos contains=@btmVars,btmEchoCommand,btmEchoParam +syn keyword btmEchoCommand contained echo echoerr echos echoserr +syn keyword btmEchoParam contained on off + +" this is also a valid Label. I don't use it. +"syn match btmLabelMark "^\ *:\ \+[0-9a-zA-Z_\-]\+\>" + +" //Environment variable can be expanded using notation %var in 4DOS +syn match btmVariable "%[0-9a-z_\-]\+" contains=@btmSpecialVars +" //Environment variable can be expanded using notation %var% +syn match btmVariable "%[0-9a-z_\-]*%" contains=@btmSpecialVars +" //The following are special variable in 4DOS +syn match btmVariable "%[=#]" contains=@btmSpecialVars +syn match btmVariable "%??\=" contains=@btmSpecialVars +" //Environment variable can be expanded using notation %[var] in 4DOS +syn match btmVariable "%\[[0-9a-z_\-]*\]" +" //After some keywords next word should be an environment variable +syn match btmVariable "defined\s\i\+"lc=8 +syn match btmVariable "set\s\i\+"lc=4 +" //Parameters to batchfiles take the format % +syn match btmArgument "%\d\>" +" //4DOS allows format %& meaning batchfile parameters digit and up +syn match btmArgument "%\d\>&" +" //Variable used by FOR loops sometimes use %% in batchfiles +syn match btmArgument "%%\a\>" + +" //Show 4DOS built-in functions specially +syn match btmBIFMatch "%@\w\+\["he=e-1 contains=btmBuiltInFunc +syn keyword btmBuiltInFunc contained alias ascii attrib cdrom +syn keyword btmBuiltInFunc contained char clip comma convert +syn keyword btmBuiltInFunc contained date day dec descript +syn keyword btmBuiltInFunc contained device diskfree disktotal +syn keyword btmBuiltInFunc contained diskused dosmem dow dowi +syn keyword btmBuiltInFunc contained doy ems eval exec execstr +syn keyword btmBuiltInFunc contained expand ext extended +syn keyword btmBuiltInFunc contained fileage fileclose filedate +syn keyword btmBuiltInFunc contained filename fileopen fileread +syn keyword btmBuiltInFunc contained files fileseek fileseekl +syn keyword btmBuiltInFunc contained filesize filetime filewrite +syn keyword btmBuiltInFunc contained filewriteb findclose +syn keyword btmBuiltInFunc contained findfirst findnext format +syn keyword btmBuiltInFunc contained full if inc index insert +syn keyword btmBuiltInFunc contained instr int label left len +syn keyword btmBuiltInFunc contained lfn line lines lower lpt +syn keyword btmBuiltInFunc contained makeage makedate maketime +syn keyword btmBuiltInFunc contained master month name numeric +syn keyword btmBuiltInFunc contained path random readscr ready +syn keyword btmBuiltInFunc contained remote removable repeat +syn keyword btmBuiltInFunc contained replace right search +syn keyword btmBuiltInFunc contained select sfn strip substr +syn keyword btmBuiltInFunc contained time timer trim truename +syn keyword btmBuiltInFunc contained unique upper wild word +syn keyword btmBuiltInFunc contained words xms year + +syn cluster btmSpecialVars contains=btmBuiltInVar,btmSpecialVar + +" //Show specialized variables specially +" syn match btmSpecialVar contained "+" +syn match btmSpecialVar contained "=" +syn match btmSpecialVar contained "#" +syn match btmSpecialVar contained "??\=" +syn keyword btmSpecialVar contained cmdline colordir comspec +syn keyword btmSpecialVar contained copycmd dircmd temp temp4dos +syn keyword btmSpecialVar contained filecompletion path prompt + +" //Show 4DOS built-in variables specially specially +syn keyword btmBuiltInVar contained _4ver _alias _ansi +syn keyword btmBuiltInVar contained _apbatt _aplife _apmac _batch +syn keyword btmBuiltInVar contained _batchline _batchname _bg +syn keyword btmBuiltInVar contained _boot _ci _cmdproc _co +syn keyword btmBuiltInVar contained _codepage _column _columns +syn keyword btmBuiltInVar contained _country _cpu _cwd _cwds _cwp +syn keyword btmBuiltInVar contained _cwps _date _day _disk _dname +syn keyword btmBuiltInVar contained _dos _dosver _dow _dowi _doy +syn keyword btmBuiltInVar contained _dpmi _dv _env _fg _hlogfile +syn keyword btmBuiltInVar contained _hour _kbhit _kstack _lastdisk +syn keyword btmBuiltInVar contained _logfile _minute _monitor +syn keyword btmBuiltInVar contained _month _mouse _ndp _row _rows +syn keyword btmBuiltInVar contained _second _shell _swapping +syn keyword btmBuiltInVar contained _syserr _time _transient +syn keyword btmBuiltInVar contained _video _win _wintitle _year + +" //Commands in 4DOS and/or DOS +syn match btmCommand "\s?" +syn match btmCommand "^?" +syn keyword btmCommand alias append assign attrib +syn keyword btmCommand backup beep break cancel case +syn keyword btmCommand cd cdd cdpath chcp chdir +syn keyword btmCommand chkdsk cls color comp copy +syn keyword btmCommand ctty date debug default defrag +syn keyword btmCommand del delay describe dir +syn keyword btmCommand dirhistory dirs diskcomp +syn keyword btmCommand diskcopy doskey dosshell +syn keyword btmCommand drawbox drawhline drawvline +"syn keyword btmCommand echo echoerr echos echoserr +syn keyword btmCommand edit edlin emm386 endlocal +syn keyword btmCommand endswitch erase eset except +syn keyword btmCommand exe2bin exit expand fastopen +syn keyword btmCommand fc fdisk ffind find format +syn keyword btmCommand free global gosub goto +syn keyword btmCommand graftabl graphics help history +syn keyword btmCommand inkey input join keyb keybd +syn keyword btmCommand keystack label lh list loadbtm +syn keyword btmCommand loadhigh lock log md mem +syn keyword btmCommand memory mirror mkdir mode more +syn keyword btmCommand move nlsfunc on option path +syn keyword btmCommand pause popd print prompt pushd +syn keyword btmCommand quit rd reboot recover ren +syn keyword btmCommand rename replace restore return +syn keyword btmCommand rmdir scandisk screen scrput +syn keyword btmCommand select set setdos setlocal +syn keyword btmCommand setver share shift sort subst +syn keyword btmCommand swapping switch sys tee text +syn keyword btmCommand time timer touch tree truename +syn keyword btmCommand type unalias undelete unformat +syn keyword btmCommand unlock unset ver verify vol +syn keyword btmCommand vscrput y + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link btmLabel Special +hi def link btmLabelMark Special +hi def link btmCmdDivider Special +hi def link btmConditional btmStatement +hi def link btmDotBoolOp btmStatement +hi def link btmRepeat btmStatement +hi def link btmEchoCommand btmStatement +hi def link btmEchoParam btmStatement +hi def link btmStatement Statement +hi def link btmTodo Todo +hi def link btmString String +hi def link btmNumber Number +hi def link btmComment Comment +hi def link btmArgument Identifier +hi def link btmVariable Identifier +hi def link btmEcho String +hi def link btmBIFMatch btmStatement +hi def link btmBuiltInFunc btmStatement +hi def link btmBuiltInVar btmStatement +hi def link btmSpecialVar btmStatement +hi def link btmCommand btmStatement + +"optional highlighting +"hi def link btmShowTab Error +"hi def link btmShowTabc Error +"hi def link btmIdentifier Identifier + + +let b:current_syntax = "btm" + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/btm.vim b/uvim/runtime/syntax/btm.vim deleted file mode 100644 index 4f9253ff9f..0000000000 --- a/uvim/runtime/syntax/btm.vim +++ /dev/null @@ -1,216 +0,0 @@ -" Vim syntax file -" Language: 4Dos batch file -" Maintainer: John Leo Spetz -" Last Change: 2001 May 09 - -"//Issues to resolve: -"//- Boolean operators surrounded by period are recognized but the -"// periods are not highlighted. The only way to do that would -"// be separate synmatches for each possibility otherwise a more -"// general \.\i\+\. will highlight anything delimited by dots. -"//- After unary operators like "defined" can assume token type. -"// Should there be more of these? - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn case ignore - -syn keyword btmStatement call off -syn keyword btmConditional if iff endiff then else elseiff not errorlevel -syn keyword btmConditional gt lt eq ne ge le -syn match btmConditional transparent "\.\i\+\." contains=btmDotBoolOp -syn keyword btmDotBoolOp contained and or xor -syn match btmConditional "==" -syn match btmConditional "!=" -syn keyword btmConditional defined errorlevel exist isalias -syn keyword btmConditional isdir direxist isinternal islabel -syn keyword btmRepeat for in do enddo - -syn keyword btmTodo contained TODO - -" String -syn cluster btmVars contains=btmVariable,btmArgument,btmBIFMatch -syn region btmString start=+"+ end=+"+ contains=@btmVars -syn match btmNumber "\<\d\+\>" - -"syn match btmIdentifier "\<\h\w*\>" - -" If you don't like tabs -"syn match btmShowTab "\t" -"syn match btmShowTabc "\t" -"syn match btmComment "^\ *rem.*$" contains=btmTodo,btmShowTabc - -" Some people use this as a comment line -" In fact this is a Label -"syn match btmComment "^\ *:\ \+.*$" contains=btmTodo - -syn match btmComment "^\ *rem.*$" contains=btmTodo -syn match btmComment "^\ *::.*$" contains=btmTodo - -syn match btmLabelMark "^\ *:[0-9a-zA-Z_\-]\+\>" -syn match btmLabelMark "goto [0-9a-zA-Z_\-]\+\>"lc=5 -syn match btmLabelMark "gosub [0-9a-zA-Z_\-]\+\>"lc=6 - -" syn match btmCmdDivider ">[>&][>&]\=" -syn match btmCmdDivider ">[>&]*" -syn match btmCmdDivider ">>&>" -syn match btmCmdDivider "|&\=" -syn match btmCmdDivider "%+" -syn match btmCmdDivider "\^" - -syn region btmEcho start="echo" skip="echo" matchgroup=btmCmdDivider end="%+" end="$" end="|&\=" end="\^" end=">[>&]*" contains=@btmEchos oneline -syn cluster btmEchos contains=@btmVars,btmEchoCommand,btmEchoParam -syn keyword btmEchoCommand contained echo echoerr echos echoserr -syn keyword btmEchoParam contained on off - -" this is also a valid Label. I don't use it. -"syn match btmLabelMark "^\ *:\ \+[0-9a-zA-Z_\-]\+\>" - -" //Environment variable can be expanded using notation %var in 4DOS -syn match btmVariable "%[0-9a-z_\-]\+" contains=@btmSpecialVars -" //Environment variable can be expanded using notation %var% -syn match btmVariable "%[0-9a-z_\-]*%" contains=@btmSpecialVars -" //The following are special variable in 4DOS -syn match btmVariable "%[=#]" contains=@btmSpecialVars -syn match btmVariable "%??\=" contains=@btmSpecialVars -" //Environment variable can be expanded using notation %[var] in 4DOS -syn match btmVariable "%\[[0-9a-z_\-]*\]" -" //After some keywords next word should be an environment variable -syn match btmVariable "defined\s\i\+"lc=8 -syn match btmVariable "set\s\i\+"lc=4 -" //Parameters to batchfiles take the format % -syn match btmArgument "%\d\>" -" //4DOS allows format %& meaning batchfile parameters digit and up -syn match btmArgument "%\d\>&" -" //Variable used by FOR loops sometimes use %% in batchfiles -syn match btmArgument "%%\a\>" - -" //Show 4DOS built-in functions specially -syn match btmBIFMatch "%@\w\+\["he=e-1 contains=btmBuiltInFunc -syn keyword btmBuiltInFunc contained alias ascii attrib cdrom -syn keyword btmBuiltInFunc contained char clip comma convert -syn keyword btmBuiltInFunc contained date day dec descript -syn keyword btmBuiltInFunc contained device diskfree disktotal -syn keyword btmBuiltInFunc contained diskused dosmem dow dowi -syn keyword btmBuiltInFunc contained doy ems eval exec execstr -syn keyword btmBuiltInFunc contained expand ext extended -syn keyword btmBuiltInFunc contained fileage fileclose filedate -syn keyword btmBuiltInFunc contained filename fileopen fileread -syn keyword btmBuiltInFunc contained files fileseek fileseekl -syn keyword btmBuiltInFunc contained filesize filetime filewrite -syn keyword btmBuiltInFunc contained filewriteb findclose -syn keyword btmBuiltInFunc contained findfirst findnext format -syn keyword btmBuiltInFunc contained full if inc index insert -syn keyword btmBuiltInFunc contained instr int label left len -syn keyword btmBuiltInFunc contained lfn line lines lower lpt -syn keyword btmBuiltInFunc contained makeage makedate maketime -syn keyword btmBuiltInFunc contained master month name numeric -syn keyword btmBuiltInFunc contained path random readscr ready -syn keyword btmBuiltInFunc contained remote removable repeat -syn keyword btmBuiltInFunc contained replace right search -syn keyword btmBuiltInFunc contained select sfn strip substr -syn keyword btmBuiltInFunc contained time timer trim truename -syn keyword btmBuiltInFunc contained unique upper wild word -syn keyword btmBuiltInFunc contained words xms year - -syn cluster btmSpecialVars contains=btmBuiltInVar,btmSpecialVar - -" //Show specialized variables specially -" syn match btmSpecialVar contained "+" -syn match btmSpecialVar contained "=" -syn match btmSpecialVar contained "#" -syn match btmSpecialVar contained "??\=" -syn keyword btmSpecialVar contained cmdline colordir comspec -syn keyword btmSpecialVar contained copycmd dircmd temp temp4dos -syn keyword btmSpecialVar contained filecompletion path prompt - -" //Show 4DOS built-in variables specially specially -syn keyword btmBuiltInVar contained _4ver _alias _ansi -syn keyword btmBuiltInVar contained _apbatt _aplife _apmac _batch -syn keyword btmBuiltInVar contained _batchline _batchname _bg -syn keyword btmBuiltInVar contained _boot _ci _cmdproc _co -syn keyword btmBuiltInVar contained _codepage _column _columns -syn keyword btmBuiltInVar contained _country _cpu _cwd _cwds _cwp -syn keyword btmBuiltInVar contained _cwps _date _day _disk _dname -syn keyword btmBuiltInVar contained _dos _dosver _dow _dowi _doy -syn keyword btmBuiltInVar contained _dpmi _dv _env _fg _hlogfile -syn keyword btmBuiltInVar contained _hour _kbhit _kstack _lastdisk -syn keyword btmBuiltInVar contained _logfile _minute _monitor -syn keyword btmBuiltInVar contained _month _mouse _ndp _row _rows -syn keyword btmBuiltInVar contained _second _shell _swapping -syn keyword btmBuiltInVar contained _syserr _time _transient -syn keyword btmBuiltInVar contained _video _win _wintitle _year - -" //Commands in 4DOS and/or DOS -syn match btmCommand "\s?" -syn match btmCommand "^?" -syn keyword btmCommand alias append assign attrib -syn keyword btmCommand backup beep break cancel case -syn keyword btmCommand cd cdd cdpath chcp chdir -syn keyword btmCommand chkdsk cls color comp copy -syn keyword btmCommand ctty date debug default defrag -syn keyword btmCommand del delay describe dir -syn keyword btmCommand dirhistory dirs diskcomp -syn keyword btmCommand diskcopy doskey dosshell -syn keyword btmCommand drawbox drawhline drawvline -"syn keyword btmCommand echo echoerr echos echoserr -syn keyword btmCommand edit edlin emm386 endlocal -syn keyword btmCommand endswitch erase eset except -syn keyword btmCommand exe2bin exit expand fastopen -syn keyword btmCommand fc fdisk ffind find format -syn keyword btmCommand free global gosub goto -syn keyword btmCommand graftabl graphics help history -syn keyword btmCommand inkey input join keyb keybd -syn keyword btmCommand keystack label lh list loadbtm -syn keyword btmCommand loadhigh lock log md mem -syn keyword btmCommand memory mirror mkdir mode more -syn keyword btmCommand move nlsfunc on option path -syn keyword btmCommand pause popd print prompt pushd -syn keyword btmCommand quit rd reboot recover ren -syn keyword btmCommand rename replace restore return -syn keyword btmCommand rmdir scandisk screen scrput -syn keyword btmCommand select set setdos setlocal -syn keyword btmCommand setver share shift sort subst -syn keyword btmCommand swapping switch sys tee text -syn keyword btmCommand time timer touch tree truename -syn keyword btmCommand type unalias undelete unformat -syn keyword btmCommand unlock unset ver verify vol -syn keyword btmCommand vscrput y - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link btmLabel Special -hi def link btmLabelMark Special -hi def link btmCmdDivider Special -hi def link btmConditional btmStatement -hi def link btmDotBoolOp btmStatement -hi def link btmRepeat btmStatement -hi def link btmEchoCommand btmStatement -hi def link btmEchoParam btmStatement -hi def link btmStatement Statement -hi def link btmTodo Todo -hi def link btmString String -hi def link btmNumber Number -hi def link btmComment Comment -hi def link btmArgument Identifier -hi def link btmVariable Identifier -hi def link btmEcho String -hi def link btmBIFMatch btmStatement -hi def link btmBuiltInFunc btmStatement -hi def link btmBuiltInVar btmStatement -hi def link btmSpecialVar btmStatement -hi def link btmCommand btmStatement - -"optional highlighting -"hi def link btmShowTab Error -"hi def link btmShowTabc Error -"hi def link btmIdentifier Identifier - - -let b:current_syntax = "btm" - -" vim: ts=8 diff --git a/uvim/runtime/syntax/bzl.mnv b/uvim/runtime/syntax/bzl.mnv new file mode 100644 index 0000000000..c85417c471 --- /dev/null +++ b/uvim/runtime/syntax/bzl.mnv @@ -0,0 +1,16 @@ +" MNV syntax file +" Language: Bazel (http://bazel.io) +" Maintainer: David Barnett (https://github.com/google/mnv-ft-bzl) +" Last Change: 2015 Aug 11 + +if exists('b:current_syntax') + finish +endif + + +runtime! syntax/python.mnv + +let b:current_syntax = 'bzl' + +syn region bzlRule start='^\w\+($' end='^)\n*' transparent fold +syn region bzlList start='\[' end='\]' transparent fold diff --git a/uvim/runtime/syntax/bzl.vim b/uvim/runtime/syntax/bzl.vim deleted file mode 100644 index b0ee9454ff..0000000000 --- a/uvim/runtime/syntax/bzl.vim +++ /dev/null @@ -1,16 +0,0 @@ -" Vim syntax file -" Language: Bazel (http://bazel.io) -" Maintainer: David Barnett (https://github.com/google/vim-ft-bzl) -" Last Change: 2015 Aug 11 - -if exists('b:current_syntax') - finish -endif - - -runtime! syntax/python.vim - -let b:current_syntax = 'bzl' - -syn region bzlRule start='^\w\+($' end='^)\n*' transparent fold -syn region bzlList start='\[' end='\]' transparent fold diff --git a/uvim/runtime/syntax/bzr.mnv b/uvim/runtime/syntax/bzr.mnv new file mode 100644 index 0000000000..31d5557f39 --- /dev/null +++ b/uvim/runtime/syntax/bzr.mnv @@ -0,0 +1,50 @@ +" MNV syntax file +" Language: Bazaar (bzr) commit file +" Maintainer: Dmitry Vasiliev +" URL: https://github.com/hdima/mnv-scripts/blob/master/syntax/bzr.mnv +" Last Change: 2012-02-11 +" Filenames: bzr_log.* +" Version: 1.2.2 +" +" Thanks: +" +" Gioele Barabucci +" for idea of diff highlighting + +" quit when a syntax file was already loaded. +if exists("b:current_syntax") + finish +endif + +if exists("bzr_highlight_diff") + syn include @Diff syntax/diff.mnv +endif + +syn match bzrRemoved "^removed:$" contained +syn match bzrAdded "^added:$" contained +syn match bzrRenamed "^renamed:$" contained +syn match bzrModified "^modified:$" contained +syn match bzrUnchanged "^unchanged:$" contained +syn match bzrUnknown "^unknown:$" contained +syn cluster Statuses contains=bzrRemoved,bzrAdded,bzrRenamed,bzrModified,bzrUnchanged,bzrUnknown +if exists("bzr_highlight_diff") + syn cluster Statuses add=@Diff +endif +syn region bzrRegion start="^-\{14} This line and the following will be ignored -\{14}$" end="\%$" contains=@NoSpell,@Statuses + +" Synchronization. +syn sync clear +syn sync match bzrSync grouphere bzrRegion "^-\{14} This line and the following will be ignored -\{14}$"me=s-1 + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet. + +hi def link bzrRemoved Constant +hi def link bzrAdded Identifier +hi def link bzrModified Special +hi def link bzrRenamed Special +hi def link bzrUnchanged Special +hi def link bzrUnknown Special + + +let b:current_syntax = "bzr" diff --git a/uvim/runtime/syntax/bzr.vim b/uvim/runtime/syntax/bzr.vim deleted file mode 100644 index 43178b8a1a..0000000000 --- a/uvim/runtime/syntax/bzr.vim +++ /dev/null @@ -1,50 +0,0 @@ -" Vim syntax file -" Language: Bazaar (bzr) commit file -" Maintainer: Dmitry Vasiliev -" URL: https://github.com/hdima/vim-scripts/blob/master/syntax/bzr.vim -" Last Change: 2012-02-11 -" Filenames: bzr_log.* -" Version: 1.2.2 -" -" Thanks: -" -" Gioele Barabucci -" for idea of diff highlighting - -" quit when a syntax file was already loaded. -if exists("b:current_syntax") - finish -endif - -if exists("bzr_highlight_diff") - syn include @Diff syntax/diff.vim -endif - -syn match bzrRemoved "^removed:$" contained -syn match bzrAdded "^added:$" contained -syn match bzrRenamed "^renamed:$" contained -syn match bzrModified "^modified:$" contained -syn match bzrUnchanged "^unchanged:$" contained -syn match bzrUnknown "^unknown:$" contained -syn cluster Statuses contains=bzrRemoved,bzrAdded,bzrRenamed,bzrModified,bzrUnchanged,bzrUnknown -if exists("bzr_highlight_diff") - syn cluster Statuses add=@Diff -endif -syn region bzrRegion start="^-\{14} This line and the following will be ignored -\{14}$" end="\%$" contains=@NoSpell,@Statuses - -" Synchronization. -syn sync clear -syn sync match bzrSync grouphere bzrRegion "^-\{14} This line and the following will be ignored -\{14}$"me=s-1 - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet. - -hi def link bzrRemoved Constant -hi def link bzrAdded Identifier -hi def link bzrModified Special -hi def link bzrRenamed Special -hi def link bzrUnchanged Special -hi def link bzrUnknown Special - - -let b:current_syntax = "bzr" diff --git a/uvim/runtime/syntax/c.mnv b/uvim/runtime/syntax/c.mnv new file mode 100644 index 0000000000..982f5acb9e --- /dev/null +++ b/uvim/runtime/syntax/c.mnv @@ -0,0 +1,642 @@ +" MNV syntax file +" Language: C +" Maintainer: The MNV Project +" Last Change: 2026 Jan 13 +" Former Maintainer: Bram Moolenaar + +" Quit when a (custom) syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +let s:ft = matchstr(&ft, '^\%([^.]\)\+') + +" check if this was included from cpp.mnv +let s:in_cpp_family = exists("b:filetype_in_cpp_family") + +" Optional embedded Autodoc parsing +" To enable it add: let g:c_autodoc = 1 +" to your .mnvrc +if exists("c_autodoc") + syn include @cAutodoc :p:h/autodoc.mnv + unlet b:current_syntax +endif + +" A bunch of useful C keywords +syn keyword cStatement goto break return continue asm +syn keyword cLabel case default +syn keyword cConditional if else switch +syn keyword cRepeat while for do + +syn keyword cTodo contained TODO FIXME XXX + +" It's easy to accidentally add a space after a backslash that was intended +" for line continuation. Some compilers allow it, which makes it +" unpredictable and should be avoided. +syn match cBadContinuation contained "\\\s\+$" + +" cCommentGroup allows adding matches for special things in comments +syn cluster cCommentGroup contains=cTodo,cBadContinuation + +" String and Character constants +" Highlight special characters (those which have a backslash) differently +syn match cSpecial display contained "\\\%(x\x\+\|\o\{1,3}\|.\|$\)" +if !exists("c_no_utf") + syn match cSpecial display contained "\\\%(u\x\{4}\|U\x\{8}\)" +endif + +if !exists("c_no_cformat") + " Highlight % items in strings. + if !exists("c_no_c99") " ISO C99 + syn match cFormat display "%\%(\d\+\$\)\=[-+' #0*]*\%(\d*\|\*\|\*\d\+\$\)\%(\.\%(\d*\|\*\|\*\d\+\$\)\)\=\%([hlLjzt]\|ll\|hh\)\=\%([aAbdiuoxXDOUfFeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained + else + syn match cFormat display "%\%(\d\+\$\)\=[-+' #0*]*\%(\d*\|\*\|\*\d\+\$\)\%(\.\%(\d*\|\*\|\*\d\+\$\)\)\=\%([hlL]\|ll\)\=\%([bdiuoxXDOUfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained + endif + syn match cFormat display "%%" contained +endif + +" cCppString: same as cString, but ends at end of line +if s:in_cpp_family && !exists("cpp_no_cpp11") && !exists("c_no_cformat") + " ISO C++11 + syn region cString start=+\%(L\|u\|u8\|U\|R\|LR\|u8R\|uR\|UR\)\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend + syn region cCppString start=+\%(L\|u\|u8\|U\|R\|LR\|u8R\|uR\|UR\)\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell +elseif s:ft ==# "c" && !exists("c_no_c11") && !exists("c_no_cformat") + " ISO C99 + syn region cString start=+\%(L\|U\|u8\)\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend + syn region cCppString start=+\%(L\|U\|u8\)\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell +else + " older C or C++ + syn match cFormat display "%%" contained + syn region cString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend + syn region cCppString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell +endif + +syn region cCppSkip contained start="^\s*\%(%:\|#\)\s*\%(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\%(%:\|#\)\s*endif\>" contains=cSpaceError,cCppSkip + +syn cluster cStringGroup contains=cCppString,cCppSkip + +syn match cCharacter "L\='[^\\]'" +syn match cCharacter "L'[^']*'" contains=cSpecial +if exists("c_gnu") + syn match cSpecialError "L\='\\[^'\"?\\abefnrtv]'" + syn match cSpecialCharacter "L\='\\['\"?\\abefnrtv]'" +else + syn match cSpecialError "L\='\\[^'\"?\\abfnrtv]'" + syn match cSpecialCharacter "L\='\\['\"?\\abfnrtv]'" +endif +syn match cSpecialCharacter display "L\='\\\o\{1,3}'" +syn match cSpecialCharacter display "'\\x\x\{1,2}'" +syn match cSpecialCharacter display "L'\\x\x\+'" + +if (s:ft ==# "c" && !exists("c_no_c11")) || (s:in_cpp_family && !exists("cpp_no_cpp11")) + " ISO C11 or ISO C++ 11 + if exists("c_no_cformat") + syn region cString start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,@Spell extend + else + syn region cString start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend + endif + syn match cCharacter "[Uu]'[^\\]'" + syn match cCharacter "[Uu]'[^']*'" contains=cSpecial + if exists("c_gnu") + syn match cSpecialError "[Uu]'\\[^'\"?\\abefnrtv]'" + syn match cSpecialCharacter "[Uu]'\\['\"?\\abefnrtv]'" + else + syn match cSpecialError "[Uu]'\\[^'\"?\\abfnrtv]'" + syn match cSpecialCharacter "[Uu]'\\['\"?\\abfnrtv]'" + endif + syn match cSpecialCharacter display "[Uu]'\\\o\{1,3}'" + syn match cSpecialCharacter display "[Uu]'\\x\x\+'" +endif + +if (s:ft ==# "c" && !exists("c_no_c23")) || (s:in_cpp_family && !exists("cpp_no_cpp17")) + syn match cCharacter "u8'[^\\]'" + syn match cCharacter "u8'[^']*'" contains=cSpecial + if exists("c_gnu") + syn match cSpecialError "u8'\\[^'\"?\\abefnrtv]'" + syn match cSpecialCharacter "u8'\\['\"?\\abefnrtv]'" + else + syn match cSpecialError "u8'\\[^'\"?\\abfnrtv]'" + syn match cSpecialCharacter "u8'\\['\"?\\abfnrtv]'" + endif + syn match cSpecialCharacter display "u8'\\\o\{1,3}'" + syn match cSpecialCharacter display "u8'\\x\x\+'" +endif + +"when wanted, highlight trailing white space +if exists("c_space_errors") + if !exists("c_no_trail_space_error") + syn match cSpaceError display excludenl "\s\+$" + endif + if !exists("c_no_tab_space_error") + syn match cSpaceError display " \+\t"me=e-1 + endif +endif + +" This should be before cErrInParen to avoid problems with #define ({ xxx }) +if exists("c_curly_error") + syn match cCurlyError "}" + syn region cBlock start="{" end="}" contains=ALLBUT,cBadBlock,cCurlyError,@cParenGroup,cErrInParen,cCppParen,cErrInBracket,cCppBracket,@cStringGroup,@Spell fold +else + syn region cBlock start="{" end="}" transparent fold +endif + +" Catch errors caused by wrong parenthesis and brackets. +" Also accept <% for {, %> for }, <: for [ and :> for ] (C99) +" But avoid matching <::. +syn cluster cParenGroup contains=cParenError,cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserLabel,cBitField,cOctalZero,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom +if exists("c_no_curly_error") + if s:in_cpp_family && !exists("cpp_no_cpp11") + syn region cParen transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,@cStringGroup,@Spell + " cCppParen: same as cParen but ends at end-of-line; used in cDefine + syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell + syn match cParenError display ")" + syn match cErrInParen display contained "^^<%\|^%>" + else + syn region cParen transparent start='(' end=')' contains=ALLBUT,cBlock,@cParenGroup,cCppParen,@cStringGroup,@Spell + " cCppParen: same as cParen but ends at end-of-line; used in cDefine + syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell + syn match cParenError display ")" + syn match cErrInParen display contained "^[{}]\|^<%\|^%>" + endif +elseif exists("c_no_bracket_error") + if s:in_cpp_family && !exists("cpp_no_cpp11") + syn region cParen transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,@cStringGroup,@Spell + " cCppParen: same as cParen but ends at end-of-line; used in cDefine + syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell + syn match cParenError display ")" + syn match cErrInParen display contained "<%\|%>" + else + syn region cParen transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,@cStringGroup,@Spell + " cCppParen: same as cParen but ends at end-of-line; used in cDefine + syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell + syn match cParenError display ")" + syn match cErrInParen display contained "[{}]\|<%\|%>" + endif +else + if s:in_cpp_family && !exists("cpp_no_cpp11") + syn region cParen transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cErrInBracket,cCppBracket,@cStringGroup,@Spell + " cCppParen: same as cParen but ends at end-of-line; used in cDefine + syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cErrInBracket,cParen,cBracket,cString,@Spell + syn match cParenError display "[\])]" + syn match cErrInParen display contained "<%\|%>" + syn region cBracket transparent start='\[\|<::\@!' end=']\|:>' contains=ALLBUT,@cParenGroup,cErrInParen,cCppParen,cCppBracket,@cStringGroup,@Spell + else + syn region cParen transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cErrInBracket,cCppBracket,@cStringGroup,@Spell + " cCppParen: same as cParen but ends at end-of-line; used in cDefine + syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cErrInBracket,cParen,cBracket,cString,@Spell + syn match cParenError display "[\])]" + syn match cErrInParen display contained "[\]{}]\|<%\|%>" + syn region cBracket transparent start='\[\|<::\@!' end=']\|:>' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cErrInParen,cCppParen,cCppBracket,@cStringGroup,@Spell + endif + " cCppBracket: same as cParen but ends at end-of-line; used in cDefine + syn region cCppBracket transparent start='\[\|<::\@!' skip='\\$' excludenl end=']\|:>' end='$' contained contains=ALLBUT,@cParenGroup,cErrInParen,cParen,cBracket,cString,@Spell + syn match cErrInBracket display contained "[);{}]\|<%\|%>" +endif + +if s:ft ==# 'c' || exists("cpp_no_cpp11") + syn region cBadBlock keepend start="{" end="}" contained containedin=cParen,cBracket,cBadBlock transparent fold +endif + +"integer number, or floating point number without a dot and with "f". +syn case ignore +syn match cNumbers display transparent "\<\d\|\.\d" contains=cNumber,cFloat,cOctalError,cOctal +" Same, but without octal error (for comments) +syn match cNumbersCom display contained transparent "\<\d\|\.\d" contains=cNumber,cFloat,cOctal + +" cpp.mnv handles these +if !exists("c_no_c23") && !s:in_cpp_family + syn match cNumber display contained "\d\%('\=\d\+\)*\%(u\=l\{0,2}\|ll\=u\|u\=wb\|wbu\=\)\>" + "hex number + syn match cNumber display contained "0x\x\%('\=\x\+\)*\%(u\=l\{0,2}\|ll\=u\|u\=wb\|wbu\=\)\>" + " Flag the first zero of an octal number as something special + syn match cOctal display contained "0\o\%('\=\o\+\)*\%(u\=l\{0,2}\|ll\=u\|u\=wb\|wbu\=\)\>" contains=cOctalZero + "binary number + syn match cNumber display contained "0b[01]\%('\=[01]\+\)*\%(u\=l\{0,2}\|ll\=u\|u\=wb\|wbu\=\)\>" +else + syn match cNumber display contained "\d\+\%(u\=l\{0,2}\|ll\=u\)\>" + "hex number + syn match cNumber display contained "0x\x\+\%(u\=l\{0,2}\|ll\=u\)\>" + " Flag the first zero of an octal number as something special + syn match cOctal display contained "0\o\+\%(u\=l\{0,2}\|ll\=u\)\>" contains=cOctalZero + syn match cOctalZero display contained "\<0" +endif + +"floating point number, with dot, optional exponent +syn match cFloat display contained "\d\+\.\d*\%(e[-+]\=\d\+\)\=[fl]\=" +"floating point number, starting with a dot, optional exponent +syn match cFloat display contained "\.\d\+\%(e[-+]\=\d\+\)\=[fl]\=\>" +"floating point number, without dot, with exponent +syn match cFloat display contained "\d\+e[-+]\=\d\+[fl]\=\>" +if !exists("c_no_c99") + "hexadecimal floating point number, optional leading digits, with dot, with exponent + syn match cFloat display contained "0x\x*\.\x\+p[-+]\=\d\+[fl]\=\>" + "hexadecimal floating point number, with leading digits, optional dot, with exponent + syn match cFloat display contained "0x\x\+\.\=p[-+]\=\d\+[fl]\=\>" +endif + +" flag an octal number with wrong digits +syn match cOctalError display contained "0\o*[89]\d*" +syn case match + +if exists("c_comment_strings") + " A comment can contain cString, cCharacter and cNumber. + " But a "*/" inside a cString in a cComment DOES end the comment! So we + " need to use a special type of cString: cCommentString, which also ends on + " "*/", and sees a "*" at the start of the line as comment again. + " Unfortunately this doesn't very well work for // type of comments :-( + syn match cCommentSkip contained "^\s*\*\%($\|\s\+\)" + syn region cCommentString contained start=+L\=\\\@" skip="\\$" end="$" keepend contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError +else + syn region cPreCondit start="^\s*\zs\%(%:\|#\)\s*\%(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" keepend contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError +endif +syn match cPreConditMatch display "^\s*\zs\%(%:\|#\)\s*\%(else\|endif\)\>" +if !exists("c_no_if0") + syn cluster cCppOutInGroup contains=cCppInIf,cCppInElse,cCppInElse2,cCppOutIf,cCppOutIf2,cCppOutElse,cCppInSkip,cCppOutSkip + syn region cCppOutWrapper start="^\s*\zs\%(%:\|#\)\s*if\s\+0\+\s*\%($\|//\|/\*\|&\)" end=".\@=\|$" contains=cCppOutIf,cCppOutElse,@NoSpell fold + syn region cCppOutIf contained start="0\+" matchgroup=cCppOutWrapper end="^\s*\%(%:\|#\)\s*endif\>" contains=cCppOutIf2,cCppOutElse + if !exists("c_no_if0_fold") + if !exists("c_no_c23") + syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\%(%:\|#\)\s*\%(else\>\|el\%(if\|ifdef\|ifndef\)\s\+\%(0\+\s*\%($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell fold + else + syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0\+\s*\%($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell fold + endif + else + if !exists("c_no_c23") + syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\%(%:\|#\)\s*\%(else\>\|el\%(if\|ifdef\|ifndef\)\s\+\%(0\+\s*\%($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell + else + syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0\+\s*\%($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell + endif + endif + if !exists("c_no_c23") + syn region cCppOutElse contained matchgroup=cCppOutWrapper start="^\s*\%(%:\|#\)\s*\%(else\|el\%(if\|ifdef\|ifndef\)\)" end="^\s*\%(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cPreCondit + else + syn region cCppOutElse contained matchgroup=cCppOutWrapper start="^\s*\%(%:\|#\)\s*\%(else\|elif\)" end="^\s*\%(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cPreCondit + endif + syn region cCppInWrapper start="^\s*\zs\%(%:\|#\)\s*if\s\+0*[1-9]\d*\s*\%($\|//\|/\*\||\)" end=".\@=\|$" contains=cCppInIf,cCppInElse fold + syn region cCppInIf contained matchgroup=cCppInWrapper start="\d\+" end="^\s*\%(%:\|#\)\s*endif\>" contains=TOP,cPreCondit + if !exists("c_no_if0_fold") + if !exists("c_no_c23") + syn region cCppInElse contained start="^\s*\%(%:\|#\)\s*\%(else\>\|el\%(if\|ifdef\|ifndef\)\s\+\%(0*[1-9]\d*\s*\%($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 fold + else + syn region cCppInElse contained start="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0*[1-9]\d*\s*\%($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 fold + endif + else + if !exists("c_no_c23") + syn region cCppInElse contained start="^\s*\%(%:\|#\)\s*\%(else\>\|el\%(if\|ifdef\|ifndef\)\s\+\%(0*[1-9]\d*\s*\%($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 + else + syn region cCppInElse contained start="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0*[1-9]\d*\s*\%($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 + endif + endif + if !exists("c_no_c23") + syn region cCppInElse2 contained matchgroup=cCppInWrapper start="^\s*\%(%:\|#\)\s*\%(else\|el\%(if\|ifdef\|ifndef\)\)\%([^/]\|/[^/*]\)*" end="^\s*\%(%:\|#\)\s*endif\>"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell + else + syn region cCppInElse2 contained matchgroup=cCppInWrapper start="^\s*\%(%:\|#\)\s*\%(else\|elif\)\%([^/]\|/[^/*]\)*" end="^\s*\%(%:\|#\)\s*endif\>"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell + endif + syn region cCppOutSkip contained start="^\s*\%(%:\|#\)\s*\%(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\%(%:\|#\)\s*endif\>" contains=cSpaceError,cCppOutSkip + syn region cCppInSkip contained matchgroup=cCppInWrapper start="^\s*\%(%:\|#\)\s*\%(if\s\+\%(\d\+\s*\%($\|//\|/\*\||\|&\)\)\@!\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\%(%:\|#\)\s*endif\>" containedin=cCppOutElse,cCppInIf,cCppInSkip contains=TOP,cPreProc +endif +syn region cIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+ +syn match cIncluded display contained "<[^>]*>" +syn match cInclude display "^\s*\zs\%(%:\|#\)\s*include\>\s*["<]" contains=cIncluded +if !exists("c_no_c23") && !s:in_cpp_family + syn region cInclude start="^\s*\zs\%(%:\|#\)\s*embed\>" skip="\\$" end="$" keepend contains=cEmbed,cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError + syn match cEmbed contained "\%(%:\|#\)\s*embed\>" nextgroup=cIncluded skipwhite transparent + syn cluster cPreProcGroup add=cEmbed +endif +"syn match cLineSkip "\\$" +syn region cDefine start="^\s*\zs\%(%:\|#\)\s*\%(define\|undef\)\>" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell +syn region cPreProc start="^\s*\zs\%(%:\|#\)\s*\%(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell + +" Optional embedded Autodoc parsing +if exists("c_autodoc") + syn match cAutodocReal display contained "\%(//\|[/ \t\v]\*\|^\*\)\@2<=!.*" contains=@cAutodoc containedin=cComment,cCommentL + syn cluster cCommentGroup add=cAutodocReal + syn cluster cPreProcGroup add=cAutodocReal +endif + +" be able to fold #pragma regions +syn region cPragma start="^\s*#pragma\s\+region\>" end="^\s*#pragma\s\+endregion\>" transparent keepend extend fold + +" Highlight User Labels +syn cluster cMultiGroup contains=cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cCppParen,cCppBracket,cCppString +if s:ft ==# 'c' || exists("cpp_no_cpp11") + syn region cMulti transparent start='?' skip='::' end=':' contains=ALLBUT,@cMultiGroup,@Spell,@cStringGroup +endif +" Avoid matching foo::bar() in C++ by requiring that the next char is not ':' +syn cluster cLabelGroup contains=cUserLabel +syn match cUserCont display "^\s*\zs\I\i*\s*:$" contains=@cLabelGroup +syn match cUserCont display ";\s*\zs\I\i*\s*:$" contains=@cLabelGroup +if s:in_cpp_family + syn match cUserCont display "^\s*\zs\%(class\|struct\|enum\)\@!\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup + syn match cUserCont display ";\s*\zs\%(class\|struct\|enum\)\@!\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup +else + syn match cUserCont display "^\s*\zs\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup + syn match cUserCont display ";\s*\zs\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup +endif + +syn match cUserLabel display "\I\i*" contained + +" Avoid recognizing most bitfields as labels +syn match cBitField display "^\s*\zs\I\i*\s*:\s*[1-9]"me=e-1 contains=cType +syn match cBitField display ";\s*\zs\I\i*\s*:\s*[1-9]"me=e-1 contains=cType + +if exists("c_functions") + syn match cFunction "\<\h\w*\ze\_s*(" + endif + +if exists("c_function_pointers") + syn match cFunctionPointer "\%((\s*\*\s*\)\@<=\h\w*\ze\s*)\_s*(.*)" +endif + +if exists("c_minlines") + let b:c_minlines = c_minlines +else + if !exists("c_no_if0") + let b:c_minlines = 50 " #if 0 constructs can be long + else + let b:c_minlines = 15 " mostly for () constructs + endif +endif +if exists("c_curly_error") + syn sync fromstart +else + exec "syn sync ccomment cComment minlines=" . b:c_minlines +endif + +" Define the default highlighting. +" Only used when an item doesn't have highlighting yet +hi def link cFormat cSpecial +hi def link cCppString cString +hi def link cCommentL cComment +hi def link cCommentStart cComment +hi def link cLabel Label +hi def link cUserLabel Label +hi def link cConditional Conditional +hi def link cRepeat Repeat +hi def link cCharacter Character +hi def link cSpecialCharacter cSpecial +hi def link cNumber Number +hi def link cOctal Number +hi def link cOctalZero PreProc " link this to Error if you want +hi def link cFloat Float +hi def link cOctalError cError +hi def link cParenError cError +hi def link cErrInParen cError +hi def link cErrInBracket cError +hi def link cCommentError cError +hi def link cCommentStartError cError +hi def link cSpaceError cError +hi def link cWrongComTail cError +hi def link cSpecialError cError +hi def link cCurlyError cError +hi def link cOperator Operator +hi def link cStructure Structure +hi def link cTypedef Structure +hi def link cStorageClass StorageClass +hi def link cInclude Include +hi def link cPreProc PreProc +hi def link cDefine Macro +hi def link cIncluded cString +hi def link cError Error +hi def link cStatement Statement +hi def link cCppInWrapper cCppOutWrapper +hi def link cCppOutWrapper cPreCondit +hi def link cPreConditMatch cPreCondit +hi def link cPreCondit PreCondit +hi def link cType Type +hi def link cConstant Constant +hi def link cCommentString cString +hi def link cComment2String cString +hi def link cCommentSkip cComment +hi def link cString String +hi def link cComment Comment +hi def link cSpecial SpecialChar +hi def link cTodo Todo +hi def link cBadContinuation Error +hi def link cCppOutSkip cCppOutIf2 +hi def link cCppInElse2 cCppOutIf2 +hi def link cCppOutIf2 cCppOut +hi def link cCppOut Comment +hi def link cFunction Function +hi def link cFunctionPointer Function + +let b:current_syntax = "c" + +unlet s:ft + +let &cpo = s:cpo_save +unlet s:cpo_save +" mnv: ts=8 diff --git a/uvim/runtime/syntax/c.vim b/uvim/runtime/syntax/c.vim deleted file mode 100644 index 64bcd3e368..0000000000 --- a/uvim/runtime/syntax/c.vim +++ /dev/null @@ -1,642 +0,0 @@ -" Vim syntax file -" Language: C -" Maintainer: The Vim Project -" Last Change: 2026 Jan 13 -" Former Maintainer: Bram Moolenaar - -" Quit when a (custom) syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -let s:ft = matchstr(&ft, '^\%([^.]\)\+') - -" check if this was included from cpp.vim -let s:in_cpp_family = exists("b:filetype_in_cpp_family") - -" Optional embedded Autodoc parsing -" To enable it add: let g:c_autodoc = 1 -" to your .vimrc -if exists("c_autodoc") - syn include @cAutodoc :p:h/autodoc.vim - unlet b:current_syntax -endif - -" A bunch of useful C keywords -syn keyword cStatement goto break return continue asm -syn keyword cLabel case default -syn keyword cConditional if else switch -syn keyword cRepeat while for do - -syn keyword cTodo contained TODO FIXME XXX - -" It's easy to accidentally add a space after a backslash that was intended -" for line continuation. Some compilers allow it, which makes it -" unpredictable and should be avoided. -syn match cBadContinuation contained "\\\s\+$" - -" cCommentGroup allows adding matches for special things in comments -syn cluster cCommentGroup contains=cTodo,cBadContinuation - -" String and Character constants -" Highlight special characters (those which have a backslash) differently -syn match cSpecial display contained "\\\%(x\x\+\|\o\{1,3}\|.\|$\)" -if !exists("c_no_utf") - syn match cSpecial display contained "\\\%(u\x\{4}\|U\x\{8}\)" -endif - -if !exists("c_no_cformat") - " Highlight % items in strings. - if !exists("c_no_c99") " ISO C99 - syn match cFormat display "%\%(\d\+\$\)\=[-+' #0*]*\%(\d*\|\*\|\*\d\+\$\)\%(\.\%(\d*\|\*\|\*\d\+\$\)\)\=\%([hlLjzt]\|ll\|hh\)\=\%([aAbdiuoxXDOUfFeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained - else - syn match cFormat display "%\%(\d\+\$\)\=[-+' #0*]*\%(\d*\|\*\|\*\d\+\$\)\%(\.\%(\d*\|\*\|\*\d\+\$\)\)\=\%([hlL]\|ll\)\=\%([bdiuoxXDOUfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained - endif - syn match cFormat display "%%" contained -endif - -" cCppString: same as cString, but ends at end of line -if s:in_cpp_family && !exists("cpp_no_cpp11") && !exists("c_no_cformat") - " ISO C++11 - syn region cString start=+\%(L\|u\|u8\|U\|R\|LR\|u8R\|uR\|UR\)\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend - syn region cCppString start=+\%(L\|u\|u8\|U\|R\|LR\|u8R\|uR\|UR\)\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell -elseif s:ft ==# "c" && !exists("c_no_c11") && !exists("c_no_cformat") - " ISO C99 - syn region cString start=+\%(L\|U\|u8\)\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend - syn region cCppString start=+\%(L\|U\|u8\)\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell -else - " older C or C++ - syn match cFormat display "%%" contained - syn region cString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend - syn region cCppString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell -endif - -syn region cCppSkip contained start="^\s*\%(%:\|#\)\s*\%(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\%(%:\|#\)\s*endif\>" contains=cSpaceError,cCppSkip - -syn cluster cStringGroup contains=cCppString,cCppSkip - -syn match cCharacter "L\='[^\\]'" -syn match cCharacter "L'[^']*'" contains=cSpecial -if exists("c_gnu") - syn match cSpecialError "L\='\\[^'\"?\\abefnrtv]'" - syn match cSpecialCharacter "L\='\\['\"?\\abefnrtv]'" -else - syn match cSpecialError "L\='\\[^'\"?\\abfnrtv]'" - syn match cSpecialCharacter "L\='\\['\"?\\abfnrtv]'" -endif -syn match cSpecialCharacter display "L\='\\\o\{1,3}'" -syn match cSpecialCharacter display "'\\x\x\{1,2}'" -syn match cSpecialCharacter display "L'\\x\x\+'" - -if (s:ft ==# "c" && !exists("c_no_c11")) || (s:in_cpp_family && !exists("cpp_no_cpp11")) - " ISO C11 or ISO C++ 11 - if exists("c_no_cformat") - syn region cString start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,@Spell extend - else - syn region cString start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend - endif - syn match cCharacter "[Uu]'[^\\]'" - syn match cCharacter "[Uu]'[^']*'" contains=cSpecial - if exists("c_gnu") - syn match cSpecialError "[Uu]'\\[^'\"?\\abefnrtv]'" - syn match cSpecialCharacter "[Uu]'\\['\"?\\abefnrtv]'" - else - syn match cSpecialError "[Uu]'\\[^'\"?\\abfnrtv]'" - syn match cSpecialCharacter "[Uu]'\\['\"?\\abfnrtv]'" - endif - syn match cSpecialCharacter display "[Uu]'\\\o\{1,3}'" - syn match cSpecialCharacter display "[Uu]'\\x\x\+'" -endif - -if (s:ft ==# "c" && !exists("c_no_c23")) || (s:in_cpp_family && !exists("cpp_no_cpp17")) - syn match cCharacter "u8'[^\\]'" - syn match cCharacter "u8'[^']*'" contains=cSpecial - if exists("c_gnu") - syn match cSpecialError "u8'\\[^'\"?\\abefnrtv]'" - syn match cSpecialCharacter "u8'\\['\"?\\abefnrtv]'" - else - syn match cSpecialError "u8'\\[^'\"?\\abfnrtv]'" - syn match cSpecialCharacter "u8'\\['\"?\\abfnrtv]'" - endif - syn match cSpecialCharacter display "u8'\\\o\{1,3}'" - syn match cSpecialCharacter display "u8'\\x\x\+'" -endif - -"when wanted, highlight trailing white space -if exists("c_space_errors") - if !exists("c_no_trail_space_error") - syn match cSpaceError display excludenl "\s\+$" - endif - if !exists("c_no_tab_space_error") - syn match cSpaceError display " \+\t"me=e-1 - endif -endif - -" This should be before cErrInParen to avoid problems with #define ({ xxx }) -if exists("c_curly_error") - syn match cCurlyError "}" - syn region cBlock start="{" end="}" contains=ALLBUT,cBadBlock,cCurlyError,@cParenGroup,cErrInParen,cCppParen,cErrInBracket,cCppBracket,@cStringGroup,@Spell fold -else - syn region cBlock start="{" end="}" transparent fold -endif - -" Catch errors caused by wrong parenthesis and brackets. -" Also accept <% for {, %> for }, <: for [ and :> for ] (C99) -" But avoid matching <::. -syn cluster cParenGroup contains=cParenError,cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserLabel,cBitField,cOctalZero,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom -if exists("c_no_curly_error") - if s:in_cpp_family && !exists("cpp_no_cpp11") - syn region cParen transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,@cStringGroup,@Spell - " cCppParen: same as cParen but ends at end-of-line; used in cDefine - syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell - syn match cParenError display ")" - syn match cErrInParen display contained "^^<%\|^%>" - else - syn region cParen transparent start='(' end=')' contains=ALLBUT,cBlock,@cParenGroup,cCppParen,@cStringGroup,@Spell - " cCppParen: same as cParen but ends at end-of-line; used in cDefine - syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell - syn match cParenError display ")" - syn match cErrInParen display contained "^[{}]\|^<%\|^%>" - endif -elseif exists("c_no_bracket_error") - if s:in_cpp_family && !exists("cpp_no_cpp11") - syn region cParen transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,@cStringGroup,@Spell - " cCppParen: same as cParen but ends at end-of-line; used in cDefine - syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell - syn match cParenError display ")" - syn match cErrInParen display contained "<%\|%>" - else - syn region cParen transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,@cStringGroup,@Spell - " cCppParen: same as cParen but ends at end-of-line; used in cDefine - syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell - syn match cParenError display ")" - syn match cErrInParen display contained "[{}]\|<%\|%>" - endif -else - if s:in_cpp_family && !exists("cpp_no_cpp11") - syn region cParen transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cErrInBracket,cCppBracket,@cStringGroup,@Spell - " cCppParen: same as cParen but ends at end-of-line; used in cDefine - syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cErrInBracket,cParen,cBracket,cString,@Spell - syn match cParenError display "[\])]" - syn match cErrInParen display contained "<%\|%>" - syn region cBracket transparent start='\[\|<::\@!' end=']\|:>' contains=ALLBUT,@cParenGroup,cErrInParen,cCppParen,cCppBracket,@cStringGroup,@Spell - else - syn region cParen transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cErrInBracket,cCppBracket,@cStringGroup,@Spell - " cCppParen: same as cParen but ends at end-of-line; used in cDefine - syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cErrInBracket,cParen,cBracket,cString,@Spell - syn match cParenError display "[\])]" - syn match cErrInParen display contained "[\]{}]\|<%\|%>" - syn region cBracket transparent start='\[\|<::\@!' end=']\|:>' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cErrInParen,cCppParen,cCppBracket,@cStringGroup,@Spell - endif - " cCppBracket: same as cParen but ends at end-of-line; used in cDefine - syn region cCppBracket transparent start='\[\|<::\@!' skip='\\$' excludenl end=']\|:>' end='$' contained contains=ALLBUT,@cParenGroup,cErrInParen,cParen,cBracket,cString,@Spell - syn match cErrInBracket display contained "[);{}]\|<%\|%>" -endif - -if s:ft ==# 'c' || exists("cpp_no_cpp11") - syn region cBadBlock keepend start="{" end="}" contained containedin=cParen,cBracket,cBadBlock transparent fold -endif - -"integer number, or floating point number without a dot and with "f". -syn case ignore -syn match cNumbers display transparent "\<\d\|\.\d" contains=cNumber,cFloat,cOctalError,cOctal -" Same, but without octal error (for comments) -syn match cNumbersCom display contained transparent "\<\d\|\.\d" contains=cNumber,cFloat,cOctal - -" cpp.vim handles these -if !exists("c_no_c23") && !s:in_cpp_family - syn match cNumber display contained "\d\%('\=\d\+\)*\%(u\=l\{0,2}\|ll\=u\|u\=wb\|wbu\=\)\>" - "hex number - syn match cNumber display contained "0x\x\%('\=\x\+\)*\%(u\=l\{0,2}\|ll\=u\|u\=wb\|wbu\=\)\>" - " Flag the first zero of an octal number as something special - syn match cOctal display contained "0\o\%('\=\o\+\)*\%(u\=l\{0,2}\|ll\=u\|u\=wb\|wbu\=\)\>" contains=cOctalZero - "binary number - syn match cNumber display contained "0b[01]\%('\=[01]\+\)*\%(u\=l\{0,2}\|ll\=u\|u\=wb\|wbu\=\)\>" -else - syn match cNumber display contained "\d\+\%(u\=l\{0,2}\|ll\=u\)\>" - "hex number - syn match cNumber display contained "0x\x\+\%(u\=l\{0,2}\|ll\=u\)\>" - " Flag the first zero of an octal number as something special - syn match cOctal display contained "0\o\+\%(u\=l\{0,2}\|ll\=u\)\>" contains=cOctalZero - syn match cOctalZero display contained "\<0" -endif - -"floating point number, with dot, optional exponent -syn match cFloat display contained "\d\+\.\d*\%(e[-+]\=\d\+\)\=[fl]\=" -"floating point number, starting with a dot, optional exponent -syn match cFloat display contained "\.\d\+\%(e[-+]\=\d\+\)\=[fl]\=\>" -"floating point number, without dot, with exponent -syn match cFloat display contained "\d\+e[-+]\=\d\+[fl]\=\>" -if !exists("c_no_c99") - "hexadecimal floating point number, optional leading digits, with dot, with exponent - syn match cFloat display contained "0x\x*\.\x\+p[-+]\=\d\+[fl]\=\>" - "hexadecimal floating point number, with leading digits, optional dot, with exponent - syn match cFloat display contained "0x\x\+\.\=p[-+]\=\d\+[fl]\=\>" -endif - -" flag an octal number with wrong digits -syn match cOctalError display contained "0\o*[89]\d*" -syn case match - -if exists("c_comment_strings") - " A comment can contain cString, cCharacter and cNumber. - " But a "*/" inside a cString in a cComment DOES end the comment! So we - " need to use a special type of cString: cCommentString, which also ends on - " "*/", and sees a "*" at the start of the line as comment again. - " Unfortunately this doesn't very well work for // type of comments :-( - syn match cCommentSkip contained "^\s*\*\%($\|\s\+\)" - syn region cCommentString contained start=+L\=\\\@" skip="\\$" end="$" keepend contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError -else - syn region cPreCondit start="^\s*\zs\%(%:\|#\)\s*\%(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" keepend contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError -endif -syn match cPreConditMatch display "^\s*\zs\%(%:\|#\)\s*\%(else\|endif\)\>" -if !exists("c_no_if0") - syn cluster cCppOutInGroup contains=cCppInIf,cCppInElse,cCppInElse2,cCppOutIf,cCppOutIf2,cCppOutElse,cCppInSkip,cCppOutSkip - syn region cCppOutWrapper start="^\s*\zs\%(%:\|#\)\s*if\s\+0\+\s*\%($\|//\|/\*\|&\)" end=".\@=\|$" contains=cCppOutIf,cCppOutElse,@NoSpell fold - syn region cCppOutIf contained start="0\+" matchgroup=cCppOutWrapper end="^\s*\%(%:\|#\)\s*endif\>" contains=cCppOutIf2,cCppOutElse - if !exists("c_no_if0_fold") - if !exists("c_no_c23") - syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\%(%:\|#\)\s*\%(else\>\|el\%(if\|ifdef\|ifndef\)\s\+\%(0\+\s*\%($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell fold - else - syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0\+\s*\%($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell fold - endif - else - if !exists("c_no_c23") - syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\%(%:\|#\)\s*\%(else\>\|el\%(if\|ifdef\|ifndef\)\s\+\%(0\+\s*\%($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell - else - syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0\+\s*\%($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell - endif - endif - if !exists("c_no_c23") - syn region cCppOutElse contained matchgroup=cCppOutWrapper start="^\s*\%(%:\|#\)\s*\%(else\|el\%(if\|ifdef\|ifndef\)\)" end="^\s*\%(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cPreCondit - else - syn region cCppOutElse contained matchgroup=cCppOutWrapper start="^\s*\%(%:\|#\)\s*\%(else\|elif\)" end="^\s*\%(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cPreCondit - endif - syn region cCppInWrapper start="^\s*\zs\%(%:\|#\)\s*if\s\+0*[1-9]\d*\s*\%($\|//\|/\*\||\)" end=".\@=\|$" contains=cCppInIf,cCppInElse fold - syn region cCppInIf contained matchgroup=cCppInWrapper start="\d\+" end="^\s*\%(%:\|#\)\s*endif\>" contains=TOP,cPreCondit - if !exists("c_no_if0_fold") - if !exists("c_no_c23") - syn region cCppInElse contained start="^\s*\%(%:\|#\)\s*\%(else\>\|el\%(if\|ifdef\|ifndef\)\s\+\%(0*[1-9]\d*\s*\%($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 fold - else - syn region cCppInElse contained start="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0*[1-9]\d*\s*\%($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 fold - endif - else - if !exists("c_no_c23") - syn region cCppInElse contained start="^\s*\%(%:\|#\)\s*\%(else\>\|el\%(if\|ifdef\|ifndef\)\s\+\%(0*[1-9]\d*\s*\%($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 - else - syn region cCppInElse contained start="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0*[1-9]\d*\s*\%($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 - endif - endif - if !exists("c_no_c23") - syn region cCppInElse2 contained matchgroup=cCppInWrapper start="^\s*\%(%:\|#\)\s*\%(else\|el\%(if\|ifdef\|ifndef\)\)\%([^/]\|/[^/*]\)*" end="^\s*\%(%:\|#\)\s*endif\>"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell - else - syn region cCppInElse2 contained matchgroup=cCppInWrapper start="^\s*\%(%:\|#\)\s*\%(else\|elif\)\%([^/]\|/[^/*]\)*" end="^\s*\%(%:\|#\)\s*endif\>"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell - endif - syn region cCppOutSkip contained start="^\s*\%(%:\|#\)\s*\%(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\%(%:\|#\)\s*endif\>" contains=cSpaceError,cCppOutSkip - syn region cCppInSkip contained matchgroup=cCppInWrapper start="^\s*\%(%:\|#\)\s*\%(if\s\+\%(\d\+\s*\%($\|//\|/\*\||\|&\)\)\@!\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\%(%:\|#\)\s*endif\>" containedin=cCppOutElse,cCppInIf,cCppInSkip contains=TOP,cPreProc -endif -syn region cIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+ -syn match cIncluded display contained "<[^>]*>" -syn match cInclude display "^\s*\zs\%(%:\|#\)\s*include\>\s*["<]" contains=cIncluded -if !exists("c_no_c23") && !s:in_cpp_family - syn region cInclude start="^\s*\zs\%(%:\|#\)\s*embed\>" skip="\\$" end="$" keepend contains=cEmbed,cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError - syn match cEmbed contained "\%(%:\|#\)\s*embed\>" nextgroup=cIncluded skipwhite transparent - syn cluster cPreProcGroup add=cEmbed -endif -"syn match cLineSkip "\\$" -syn region cDefine start="^\s*\zs\%(%:\|#\)\s*\%(define\|undef\)\>" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell -syn region cPreProc start="^\s*\zs\%(%:\|#\)\s*\%(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell - -" Optional embedded Autodoc parsing -if exists("c_autodoc") - syn match cAutodocReal display contained "\%(//\|[/ \t\v]\*\|^\*\)\@2<=!.*" contains=@cAutodoc containedin=cComment,cCommentL - syn cluster cCommentGroup add=cAutodocReal - syn cluster cPreProcGroup add=cAutodocReal -endif - -" be able to fold #pragma regions -syn region cPragma start="^\s*#pragma\s\+region\>" end="^\s*#pragma\s\+endregion\>" transparent keepend extend fold - -" Highlight User Labels -syn cluster cMultiGroup contains=cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cCppParen,cCppBracket,cCppString -if s:ft ==# 'c' || exists("cpp_no_cpp11") - syn region cMulti transparent start='?' skip='::' end=':' contains=ALLBUT,@cMultiGroup,@Spell,@cStringGroup -endif -" Avoid matching foo::bar() in C++ by requiring that the next char is not ':' -syn cluster cLabelGroup contains=cUserLabel -syn match cUserCont display "^\s*\zs\I\i*\s*:$" contains=@cLabelGroup -syn match cUserCont display ";\s*\zs\I\i*\s*:$" contains=@cLabelGroup -if s:in_cpp_family - syn match cUserCont display "^\s*\zs\%(class\|struct\|enum\)\@!\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup - syn match cUserCont display ";\s*\zs\%(class\|struct\|enum\)\@!\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup -else - syn match cUserCont display "^\s*\zs\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup - syn match cUserCont display ";\s*\zs\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup -endif - -syn match cUserLabel display "\I\i*" contained - -" Avoid recognizing most bitfields as labels -syn match cBitField display "^\s*\zs\I\i*\s*:\s*[1-9]"me=e-1 contains=cType -syn match cBitField display ";\s*\zs\I\i*\s*:\s*[1-9]"me=e-1 contains=cType - -if exists("c_functions") - syn match cFunction "\<\h\w*\ze\_s*(" - endif - -if exists("c_function_pointers") - syn match cFunctionPointer "\%((\s*\*\s*\)\@<=\h\w*\ze\s*)\_s*(.*)" -endif - -if exists("c_minlines") - let b:c_minlines = c_minlines -else - if !exists("c_no_if0") - let b:c_minlines = 50 " #if 0 constructs can be long - else - let b:c_minlines = 15 " mostly for () constructs - endif -endif -if exists("c_curly_error") - syn sync fromstart -else - exec "syn sync ccomment cComment minlines=" . b:c_minlines -endif - -" Define the default highlighting. -" Only used when an item doesn't have highlighting yet -hi def link cFormat cSpecial -hi def link cCppString cString -hi def link cCommentL cComment -hi def link cCommentStart cComment -hi def link cLabel Label -hi def link cUserLabel Label -hi def link cConditional Conditional -hi def link cRepeat Repeat -hi def link cCharacter Character -hi def link cSpecialCharacter cSpecial -hi def link cNumber Number -hi def link cOctal Number -hi def link cOctalZero PreProc " link this to Error if you want -hi def link cFloat Float -hi def link cOctalError cError -hi def link cParenError cError -hi def link cErrInParen cError -hi def link cErrInBracket cError -hi def link cCommentError cError -hi def link cCommentStartError cError -hi def link cSpaceError cError -hi def link cWrongComTail cError -hi def link cSpecialError cError -hi def link cCurlyError cError -hi def link cOperator Operator -hi def link cStructure Structure -hi def link cTypedef Structure -hi def link cStorageClass StorageClass -hi def link cInclude Include -hi def link cPreProc PreProc -hi def link cDefine Macro -hi def link cIncluded cString -hi def link cError Error -hi def link cStatement Statement -hi def link cCppInWrapper cCppOutWrapper -hi def link cCppOutWrapper cPreCondit -hi def link cPreConditMatch cPreCondit -hi def link cPreCondit PreCondit -hi def link cType Type -hi def link cConstant Constant -hi def link cCommentString cString -hi def link cComment2String cString -hi def link cCommentSkip cComment -hi def link cString String -hi def link cComment Comment -hi def link cSpecial SpecialChar -hi def link cTodo Todo -hi def link cBadContinuation Error -hi def link cCppOutSkip cCppOutIf2 -hi def link cCppInElse2 cCppOutIf2 -hi def link cCppOutIf2 cCppOut -hi def link cCppOut Comment -hi def link cFunction Function -hi def link cFunctionPointer Function - -let b:current_syntax = "c" - -unlet s:ft - -let &cpo = s:cpo_save -unlet s:cpo_save -" vim: ts=8 diff --git a/uvim/runtime/syntax/cabal.mnv b/uvim/runtime/syntax/cabal.mnv new file mode 100644 index 0000000000..49a320a0e9 --- /dev/null +++ b/uvim/runtime/syntax/cabal.mnv @@ -0,0 +1,278 @@ +" MNV syntax file +" Language: Haskell Cabal Build file +" Author: Vincent Berthoux +" Maintainer: Marcin Szamotulski +" Previous Maintainer: Vincent Berthoux +" File Types: .cabal +" Last Change: 22 Oct 2022 +" v1.6: Added support for foreign-libraries +" Added highlighting for various fields +" v1.5: Incorporated changes from +" https://github.com/sdiehl/haskell-mnv-proto/blob/master/mnv/syntax/cabal.mnv +" Use `syn keyword` instead of `syn match`. +" Added cabalStatementRegion to limit matches of keywords, which fixes +" the highlighting of description's value. +" Added cabalVersionRegion to limit the scope of cabalVersionOperator +" and cabalVersion matches. +" Added cabalLanguage keyword. +" Added calbalTitle, cabalAuthor and cabalMaintainer syntax groups. +" Added ! and ^>= operators (calbal 2.0) +" Added build-type keywords +" v1.4: Add benchmark support, thanks to Simon Meier +" v1.3: Updated to the last version of cabal +" Added more highlighting for cabal function, true/false +" and version number. Also added missing comment highlighting. +" Cabal known compiler are highlighted too. +" +" V1.2: Added cpp-options which was missing. Feature implemented +" by GHC, found with a GHC warning, but undocumented. +" Whatever... +" +" v1.1: Fixed operator problems and added ftdetect file +" (thanks to Sebastian Schwarz) +" +" v1.0: Cabal syntax in mnvball format +" (thanks to Magnus Therning) + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" this file uses line continuation +let s:cpo_save = &cpo +set cpo&mnv + +" set iskeyword for this syntax script +syn iskeyword @,48-57,192-255,- + +" Case sensitive matches +syn case match + +syn keyword cabalConditional if else +syn keyword cabalFunction os arche impl flag +syn match cabalComment /--.*$/ + +" Case insensitive matches +syn case ignore + +syn keyword cabalCategory contained + \ executable + \ library + \ benchmark + \ test-suite + \ source-repository + \ flag + \ foreign-library + \ custom-setup + \ common +syn match cabalCategoryTitle contained /[^{]*\ze{\?/ +syn match cabalCategoryRegion + \ contains=cabalCategory,cabalCategoryTitle + \ nextgroup=cabalCategory skipwhite + \ /^\c\s*\(contained\|executable\|library\|benchmark\|test-suite\|source-repository\|flag\|foreign-library\|custom-setup\|common\)\+\s*\%(.*$\|$\)/ +syn keyword cabalTruth true false + +" cabalStatementRegion which limits the scope of cabalStatement keywords, this +" way they are not highlighted in description. +syn region cabalStatementRegion start=+^\s*\(--\)\@=\|<=\|<\|>/ +" match version: `[%]\@/ +" cabalVersionRegion which limits the scope of cabalVersion pattern. +syn match cabalVersionRegionA + \ contains=cabalVersionOperator,cabalVersion + \ keepend + \ /\%(==\|\^\?>=\|<=\|<\|>\)\s*\d\+\%(\.\d\+\)*\%(\.\*\)\?\>/ +" version inside `version: ...` +syn match cabalVersionRegionB + \ contains=cabalStatementRegion,cabalVersionOperator,cabalVersion + \ /^\s*\%(cabal-\)\?version\s*:.*$/ + +syn keyword cabalLanguage Haskell98 Haskell2010 + +" title region +syn match cabalName contained /:\@<=.*/ +syn match cabalNameRegion + \ contains=cabalStatementRegion,cabalName + \ nextgroup=cabalStatementRegion + \ oneline + \ /^\c\s*name\s*:.*$/ + +" author region +syn match cabalAuthor contained /:\@<=.*/ +syn match cabalAuthorRegion + \ contains=cabalStatementRegion,cabalStatement,cabalAuthor + \ nextgroup=cabalStatementRegion + \ oneline + \ /^\c\s*author\s*:.*$/ + +" maintainer region +syn match cabalMaintainer contained /:\@<=.*/ +syn match cabalMaintainerRegion + \ contains=cabalStatementRegion,cabalStatement,cabalMaintainer + \ nextgroup=cabalStatementRegion + \ oneline + \ /^\c\s*maintainer\s*:.*$/ + +" license region +syn match cabalLicense contained /:\@<=.*/ +syn match cabalLicenseRegion + \ contains=cabalStatementRegion,cabalStatement,cabalLicense + \ nextgroup=cabalStatementRegion + \ oneline + \ /^\c\s*license\s*:.*$/ + +" license-file region +syn match cabalLicenseFile contained /:\@<=.*/ +syn match cabalLicenseFileRegion + \ contains=cabalStatementRegion,cabalStatement,cabalLicenseFile + \ nextgroup=cabalStatementRegion + \ oneline + \ /^\c\s*license-file\s*:.*$/ + +" tested-with region with compilers and versions +syn keyword cabalCompiler contained ghc nhc yhc hugs hbc helium jhc lhc +syn match cabalTestedWithRegion + \ contains=cabalStatementRegion,cabalStatement,cabalCompiler,cabalVersionRegionA + \ nextgroup=cabalStatementRegion + \ oneline + \ /^\c\s*tested-with\s*:.*$/ + +" build type keywords +syn keyword cabalBuildType contained + \ simple custom configure +syn match cabalBuildTypeRegion + \ contains=cabalStatementRegion,cabalStatement,cabalBuildType + \ nextgroup=cabalStatementRegion + \ /^\c\s*build-type\s*:.*$/ + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet +hi def link cabalName Title +hi def link cabalAuthor Normal +hi def link cabalMaintainer Normal +hi def link cabalCategoryTitle Title +hi def link cabalLicense Normal +hi def link cabalLicenseFile Normal +hi def link cabalBuildType Keyword +hi def link cabalVersion Number +hi def link cabalTruth Boolean +hi def link cabalComment Comment +hi def link cabalStatement Statement +hi def link cabalLanguage Type +hi def link cabalCategory Type +hi def link cabalFunction Function +hi def link cabalConditional Conditional +hi def link cabalOperator Operator +hi def link cabalVersionOperator Operator +hi def link cabalCompiler Constant + +let b:current_syntax = "cabal" + +let &cpo = s:cpo_save +unlet! s:cpo_save + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/cabal.vim b/uvim/runtime/syntax/cabal.vim deleted file mode 100644 index 74cda51266..0000000000 --- a/uvim/runtime/syntax/cabal.vim +++ /dev/null @@ -1,278 +0,0 @@ -" Vim syntax file -" Language: Haskell Cabal Build file -" Author: Vincent Berthoux -" Maintainer: Marcin Szamotulski -" Previous Maintainer: Vincent Berthoux -" File Types: .cabal -" Last Change: 22 Oct 2022 -" v1.6: Added support for foreign-libraries -" Added highlighting for various fields -" v1.5: Incorporated changes from -" https://github.com/sdiehl/haskell-vim-proto/blob/master/vim/syntax/cabal.vim -" Use `syn keyword` instead of `syn match`. -" Added cabalStatementRegion to limit matches of keywords, which fixes -" the highlighting of description's value. -" Added cabalVersionRegion to limit the scope of cabalVersionOperator -" and cabalVersion matches. -" Added cabalLanguage keyword. -" Added calbalTitle, cabalAuthor and cabalMaintainer syntax groups. -" Added ! and ^>= operators (calbal 2.0) -" Added build-type keywords -" v1.4: Add benchmark support, thanks to Simon Meier -" v1.3: Updated to the last version of cabal -" Added more highlighting for cabal function, true/false -" and version number. Also added missing comment highlighting. -" Cabal known compiler are highlighted too. -" -" V1.2: Added cpp-options which was missing. Feature implemented -" by GHC, found with a GHC warning, but undocumented. -" Whatever... -" -" v1.1: Fixed operator problems and added ftdetect file -" (thanks to Sebastian Schwarz) -" -" v1.0: Cabal syntax in vimball format -" (thanks to Magnus Therning) - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" this file uses line continuation -let s:cpo_save = &cpo -set cpo&vim - -" set iskeyword for this syntax script -syn iskeyword @,48-57,192-255,- - -" Case sensitive matches -syn case match - -syn keyword cabalConditional if else -syn keyword cabalFunction os arche impl flag -syn match cabalComment /--.*$/ - -" Case insensitive matches -syn case ignore - -syn keyword cabalCategory contained - \ executable - \ library - \ benchmark - \ test-suite - \ source-repository - \ flag - \ foreign-library - \ custom-setup - \ common -syn match cabalCategoryTitle contained /[^{]*\ze{\?/ -syn match cabalCategoryRegion - \ contains=cabalCategory,cabalCategoryTitle - \ nextgroup=cabalCategory skipwhite - \ /^\c\s*\(contained\|executable\|library\|benchmark\|test-suite\|source-repository\|flag\|foreign-library\|custom-setup\|common\)\+\s*\%(.*$\|$\)/ -syn keyword cabalTruth true false - -" cabalStatementRegion which limits the scope of cabalStatement keywords, this -" way they are not highlighted in description. -syn region cabalStatementRegion start=+^\s*\(--\)\@=\|<=\|<\|>/ -" match version: `[%]\@/ -" cabalVersionRegion which limits the scope of cabalVersion pattern. -syn match cabalVersionRegionA - \ contains=cabalVersionOperator,cabalVersion - \ keepend - \ /\%(==\|\^\?>=\|<=\|<\|>\)\s*\d\+\%(\.\d\+\)*\%(\.\*\)\?\>/ -" version inside `version: ...` -syn match cabalVersionRegionB - \ contains=cabalStatementRegion,cabalVersionOperator,cabalVersion - \ /^\s*\%(cabal-\)\?version\s*:.*$/ - -syn keyword cabalLanguage Haskell98 Haskell2010 - -" title region -syn match cabalName contained /:\@<=.*/ -syn match cabalNameRegion - \ contains=cabalStatementRegion,cabalName - \ nextgroup=cabalStatementRegion - \ oneline - \ /^\c\s*name\s*:.*$/ - -" author region -syn match cabalAuthor contained /:\@<=.*/ -syn match cabalAuthorRegion - \ contains=cabalStatementRegion,cabalStatement,cabalAuthor - \ nextgroup=cabalStatementRegion - \ oneline - \ /^\c\s*author\s*:.*$/ - -" maintainer region -syn match cabalMaintainer contained /:\@<=.*/ -syn match cabalMaintainerRegion - \ contains=cabalStatementRegion,cabalStatement,cabalMaintainer - \ nextgroup=cabalStatementRegion - \ oneline - \ /^\c\s*maintainer\s*:.*$/ - -" license region -syn match cabalLicense contained /:\@<=.*/ -syn match cabalLicenseRegion - \ contains=cabalStatementRegion,cabalStatement,cabalLicense - \ nextgroup=cabalStatementRegion - \ oneline - \ /^\c\s*license\s*:.*$/ - -" license-file region -syn match cabalLicenseFile contained /:\@<=.*/ -syn match cabalLicenseFileRegion - \ contains=cabalStatementRegion,cabalStatement,cabalLicenseFile - \ nextgroup=cabalStatementRegion - \ oneline - \ /^\c\s*license-file\s*:.*$/ - -" tested-with region with compilers and versions -syn keyword cabalCompiler contained ghc nhc yhc hugs hbc helium jhc lhc -syn match cabalTestedWithRegion - \ contains=cabalStatementRegion,cabalStatement,cabalCompiler,cabalVersionRegionA - \ nextgroup=cabalStatementRegion - \ oneline - \ /^\c\s*tested-with\s*:.*$/ - -" build type keywords -syn keyword cabalBuildType contained - \ simple custom configure -syn match cabalBuildTypeRegion - \ contains=cabalStatementRegion,cabalStatement,cabalBuildType - \ nextgroup=cabalStatementRegion - \ /^\c\s*build-type\s*:.*$/ - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet -hi def link cabalName Title -hi def link cabalAuthor Normal -hi def link cabalMaintainer Normal -hi def link cabalCategoryTitle Title -hi def link cabalLicense Normal -hi def link cabalLicenseFile Normal -hi def link cabalBuildType Keyword -hi def link cabalVersion Number -hi def link cabalTruth Boolean -hi def link cabalComment Comment -hi def link cabalStatement Statement -hi def link cabalLanguage Type -hi def link cabalCategory Type -hi def link cabalFunction Function -hi def link cabalConditional Conditional -hi def link cabalOperator Operator -hi def link cabalVersionOperator Operator -hi def link cabalCompiler Constant - -let b:current_syntax = "cabal" - -let &cpo = s:cpo_save -unlet! s:cpo_save - -" vim: ts=8 diff --git a/uvim/runtime/syntax/cabalconfig.mnv b/uvim/runtime/syntax/cabalconfig.mnv new file mode 100644 index 0000000000..8f806da463 --- /dev/null +++ b/uvim/runtime/syntax/cabalconfig.mnv @@ -0,0 +1,30 @@ +" MNV syntax file +" Language: Cabal Config +" Maintainer: profunctor@pm.me +" Last Change: Marcin Szamotulski +" Original Author: Marcin Szamotulski + +if exists("b:current_syntax") + finish +endif + +syn match CabalConfigSection /^\S[[:alpha:]]\+\%(-[[:alpha:]]\+\)*[^:]*$/ +syn region CabalConfigRegion matchgroup=CabalConfigKey start=/^\s*[[:alpha:]]\+\%(-[[:alpha:]]\+\)*:/ matchgroup=NONE end=/$/ contains=CabalConfigSeparator,CabalConfigKeyword,CabalConfigPath keepend +syn match CabalConfigComment /^\s*--.*$/ +syn match CabalConfigValue /.*$/ contained +syn match CabalConfigKey /[[:alpha:]]\+\%(-[[:alpha:]]\+\)*\ze:/ +syn keyword CabalConfigSeparator : contained +syn match CabalConfigVariable /\$[[:alpha:]]\+/ +syn keyword CabalConfigKeyword True False ghc +syn match CabalConfigPath /\%([[:alpha:]]\+:\)\?\%(\/[[:print:]]\+\)\+/ + +hi def link CabalConfigComment Comment +hi def link CabalConfigSection Title +hi def link CabalConfigKey Statement +hi def link CabalConfigSeparator NonText +hi def link CabalConfigValue Normal +hi def link CabalConfigVariable Identifier +hi def link CabalConfigKeyword Keyword +hi def link CabalConfigPath Directory + +let b:current_syntax = "cabal.config" diff --git a/uvim/runtime/syntax/cabalconfig.vim b/uvim/runtime/syntax/cabalconfig.vim deleted file mode 100644 index 0165725c06..0000000000 --- a/uvim/runtime/syntax/cabalconfig.vim +++ /dev/null @@ -1,30 +0,0 @@ -" Vim syntax file -" Language: Cabal Config -" Maintainer: profunctor@pm.me -" Last Change: Marcin Szamotulski -" Original Author: Marcin Szamotulski - -if exists("b:current_syntax") - finish -endif - -syn match CabalConfigSection /^\S[[:alpha:]]\+\%(-[[:alpha:]]\+\)*[^:]*$/ -syn region CabalConfigRegion matchgroup=CabalConfigKey start=/^\s*[[:alpha:]]\+\%(-[[:alpha:]]\+\)*:/ matchgroup=NONE end=/$/ contains=CabalConfigSeparator,CabalConfigKeyword,CabalConfigPath keepend -syn match CabalConfigComment /^\s*--.*$/ -syn match CabalConfigValue /.*$/ contained -syn match CabalConfigKey /[[:alpha:]]\+\%(-[[:alpha:]]\+\)*\ze:/ -syn keyword CabalConfigSeparator : contained -syn match CabalConfigVariable /\$[[:alpha:]]\+/ -syn keyword CabalConfigKeyword True False ghc -syn match CabalConfigPath /\%([[:alpha:]]\+:\)\?\%(\/[[:print:]]\+\)\+/ - -hi def link CabalConfigComment Comment -hi def link CabalConfigSection Title -hi def link CabalConfigKey Statement -hi def link CabalConfigSeparator NonText -hi def link CabalConfigValue Normal -hi def link CabalConfigVariable Identifier -hi def link CabalConfigKeyword Keyword -hi def link CabalConfigPath Directory - -let b:current_syntax = "cabal.config" diff --git a/uvim/runtime/syntax/cabalproject.mnv b/uvim/runtime/syntax/cabalproject.mnv new file mode 100644 index 0000000000..84408cc61b --- /dev/null +++ b/uvim/runtime/syntax/cabalproject.mnv @@ -0,0 +1,28 @@ +" MNV syntax file +" Language: Cabal Project +" Maintainer: profunctor@pm.me +" Last Change: Marcin Szamotulski +" Original Author: Marcin Szamotulski + +if exists("b:current_syntax") + finish +endif + +syn match CabalProjectComment /^\s*--.*/ contains=@Spell +syn match CabalProjectField /^\w\%(\w\|-\)\+/ contains=@NoSpell + +syn keyword CabalProjectBoolean true false True False +syn keyword CabalProjectCompiler ghc ghcjs jhc lhc uhc haskell-suite +syn match CabalProjectNat /\<\d\+\>/ +syn keyword CabalProjectJobs $ncpus +syn keyword CabalProjectProfilingLevel default none exported-functions toplevel-functions all-functions + +hi def link CabalProjectComment Comment +hi def link CabalProjectField Statement +hi def link CabalProjectBoolean Boolean +hi def link CabalProjectCompiler Identifier +hi def link CabalProjectNat Number +hi def link CabalProjectJobs Number +hi def link CabalProjectProfilingLevel Statement + +let b:current_syntax = "cabal.project" diff --git a/uvim/runtime/syntax/cabalproject.vim b/uvim/runtime/syntax/cabalproject.vim deleted file mode 100644 index 12143b9ee9..0000000000 --- a/uvim/runtime/syntax/cabalproject.vim +++ /dev/null @@ -1,28 +0,0 @@ -" Vim syntax file -" Language: Cabal Project -" Maintainer: profunctor@pm.me -" Last Change: Marcin Szamotulski -" Original Author: Marcin Szamotulski - -if exists("b:current_syntax") - finish -endif - -syn match CabalProjectComment /^\s*--.*/ contains=@Spell -syn match CabalProjectField /^\w\%(\w\|-\)\+/ contains=@NoSpell - -syn keyword CabalProjectBoolean true false True False -syn keyword CabalProjectCompiler ghc ghcjs jhc lhc uhc haskell-suite -syn match CabalProjectNat /\<\d\+\>/ -syn keyword CabalProjectJobs $ncpus -syn keyword CabalProjectProfilingLevel default none exported-functions toplevel-functions all-functions - -hi def link CabalProjectComment Comment -hi def link CabalProjectField Statement -hi def link CabalProjectBoolean Boolean -hi def link CabalProjectCompiler Identifier -hi def link CabalProjectNat Number -hi def link CabalProjectJobs Number -hi def link CabalProjectProfilingLevel Statement - -let b:current_syntax = "cabal.project" diff --git a/uvim/runtime/syntax/calendar.mnv b/uvim/runtime/syntax/calendar.mnv new file mode 100644 index 0000000000..2e581c7271 --- /dev/null +++ b/uvim/runtime/syntax/calendar.mnv @@ -0,0 +1,110 @@ +" MNV syntax file +" Language: calendar(1) input file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2006-04-19 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn keyword calendarTodo contained TODO FIXME XXX NOTE + +syn region calendarComment start='/\*' end='\*/' + \ contains=calendarTodo,@Spell + +syn region calendarCppString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl + \ end=+"+ end='$' contains=calendarSpecial +syn match calendarSpecial display contained '\\\%(x\x\+\|\o\{1,3}\|.\|$\)' +syn match calendarSpecial display contained "\\\(u\x\{4}\|U\x\{8}\)" + +syn region calendarPreCondit start='^\s*#\s*\%(if\|ifdef\|ifndef\|elif\)\>' + \ skip='\\$' end='$' + \ contains=calendarComment,calendarCppString +syn match calendarPreCondit display '^\s*#\s*\%(else\|endif\)\>' +syn region calendarCppOut start='^\s*#\s*if\s\+0\+' end='.\@=\|$' + \ contains=calendarCppOut2 +syn region calendarCppOut2 contained start='0' + \ end='^\s*#\s*\%(endif\|else\|elif\)\>' + \ contains=calendarSpaceError,calendarCppSkip +syn region calendarCppSkip contained + \ start='^\s*#\s*\%(if\|ifdef\|ifndef\)\>' + \ skip='\\$' end='^\s*#\s*endif\>' + \ contains=calendarSpaceError,calendarCppSkip +syn region calendarIncluded display contained start=+"+ skip=+\\\\\|\\"+ + \ end=+"+ +syn match calendarIncluded display contained '<[^>]*>' +syn match calendarInclude display '^\s*#\s*include\>\s*["<]' + \ contains=calendarIncluded +syn cluster calendarPreProcGroup contains=calendarPreCondit,calendarIncluded, + \ calendarInclude,calendarDefine, + \ calendarCppOut,calendarCppOut2, + \ calendarCppSkip,calendarString, + \ calendarSpecial,calendarTodo +syn region calendarDefine start='^\s*#\s*\%(define\|undef\)\>' + \ skip='\\$' end='$' + \ contains=ALLBUT,@calendarPreProcGroup +syn region calendarPreProc start='^\s*#\s*\%(pragma\|line\|warning\|warn\|error\)\>' + \ skip='\\$' end='$' keepend + \ contains=ALLBUT,@calendarPreProcGroup + +syn keyword calendarKeyword CHARSET BODUN LANG +syn case ignore +syn keyword calendarKeyword Easter Pashka +syn case match + +syn case ignore +syn match calendarNumber display '\<\d\+\>' +syn keyword calendarMonth Jan[uary] Feb[ruary] Mar[ch] Apr[il] May + \ Jun[e] Jul[y] Aug[ust] Sep[tember] + \ Oct[ober] Nov[ember] Dec[ember] +syn match calendarMonth display '\<\%(Jan\|Feb\|Mar\|Apr\|May\|Jun\|Jul\|Aug\|Sep\|Oct\|Nov\|Dec\)\.' +syn keyword calendarWeekday Mon[day] Tue[sday] Wed[nesday] Thu[rsday] +syn keyword calendarWeekday Fri[day] Sat[urday] Sun[day] +syn match calendarWeekday display '\<\%(Mon\|Tue\|Wed\|Thu\|Fri\|Sat\|Sun\)\.' + \ nextgroup=calendarWeekdayMod +syn match calendarWeekdayMod display '[+-]\d\+\>' +syn case match + +syn match calendarTime display '\<\%([01]\=\d\|2[0-3]\):[0-5]\d\%(:[0-5]\d\)\=' +syn match calendarTime display '\<\%(0\=[1-9]\|1[0-2]\):[0-5]\d\%(:[0-5]\d\)\=\s*[AaPp][Mm]' + +syn match calendarVariable '\*' + +if exists("c_minlines") + let b:c_minlines = c_minlines +else + if !exists("c_no_if0") + let b:c_minlines = 50 " #if 0 constructs can be long + else + let b:c_minlines = 15 " mostly for () constructs + endif +endif +exec "syn sync ccomment calendarComment minlines=" . b:c_minlines + +hi def link calendarTodo Todo +hi def link calendarComment Comment +hi def link calendarCppString String +hi def link calendarSpecial SpecialChar +hi def link calendarPreCondit PreCondit +hi def link calendarCppOut Comment +hi def link calendarCppOut2 calendarCppOut +hi def link calendarCppSkip calendarCppOut +hi def link calendarIncluded String +hi def link calendarInclude Include +hi def link calendarDefine Macro +hi def link calendarPreProc PreProc +hi def link calendarKeyword Keyword +hi def link calendarNumber Number +hi def link calendarMonth String +hi def link calendarWeekday String +hi def link calendarWeekdayMod Special +hi def link calendarTime Number +hi def link calendarVariable Identifier + +let b:current_syntax = "calendar" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/calendar.vim b/uvim/runtime/syntax/calendar.vim deleted file mode 100644 index 4250109019..0000000000 --- a/uvim/runtime/syntax/calendar.vim +++ /dev/null @@ -1,110 +0,0 @@ -" Vim syntax file -" Language: calendar(1) input file -" Previous Maintainer: Nikolai Weibull -" Latest Revision: 2006-04-19 - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn keyword calendarTodo contained TODO FIXME XXX NOTE - -syn region calendarComment start='/\*' end='\*/' - \ contains=calendarTodo,@Spell - -syn region calendarCppString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl - \ end=+"+ end='$' contains=calendarSpecial -syn match calendarSpecial display contained '\\\%(x\x\+\|\o\{1,3}\|.\|$\)' -syn match calendarSpecial display contained "\\\(u\x\{4}\|U\x\{8}\)" - -syn region calendarPreCondit start='^\s*#\s*\%(if\|ifdef\|ifndef\|elif\)\>' - \ skip='\\$' end='$' - \ contains=calendarComment,calendarCppString -syn match calendarPreCondit display '^\s*#\s*\%(else\|endif\)\>' -syn region calendarCppOut start='^\s*#\s*if\s\+0\+' end='.\@=\|$' - \ contains=calendarCppOut2 -syn region calendarCppOut2 contained start='0' - \ end='^\s*#\s*\%(endif\|else\|elif\)\>' - \ contains=calendarSpaceError,calendarCppSkip -syn region calendarCppSkip contained - \ start='^\s*#\s*\%(if\|ifdef\|ifndef\)\>' - \ skip='\\$' end='^\s*#\s*endif\>' - \ contains=calendarSpaceError,calendarCppSkip -syn region calendarIncluded display contained start=+"+ skip=+\\\\\|\\"+ - \ end=+"+ -syn match calendarIncluded display contained '<[^>]*>' -syn match calendarInclude display '^\s*#\s*include\>\s*["<]' - \ contains=calendarIncluded -syn cluster calendarPreProcGroup contains=calendarPreCondit,calendarIncluded, - \ calendarInclude,calendarDefine, - \ calendarCppOut,calendarCppOut2, - \ calendarCppSkip,calendarString, - \ calendarSpecial,calendarTodo -syn region calendarDefine start='^\s*#\s*\%(define\|undef\)\>' - \ skip='\\$' end='$' - \ contains=ALLBUT,@calendarPreProcGroup -syn region calendarPreProc start='^\s*#\s*\%(pragma\|line\|warning\|warn\|error\)\>' - \ skip='\\$' end='$' keepend - \ contains=ALLBUT,@calendarPreProcGroup - -syn keyword calendarKeyword CHARSET BODUN LANG -syn case ignore -syn keyword calendarKeyword Easter Pashka -syn case match - -syn case ignore -syn match calendarNumber display '\<\d\+\>' -syn keyword calendarMonth Jan[uary] Feb[ruary] Mar[ch] Apr[il] May - \ Jun[e] Jul[y] Aug[ust] Sep[tember] - \ Oct[ober] Nov[ember] Dec[ember] -syn match calendarMonth display '\<\%(Jan\|Feb\|Mar\|Apr\|May\|Jun\|Jul\|Aug\|Sep\|Oct\|Nov\|Dec\)\.' -syn keyword calendarWeekday Mon[day] Tue[sday] Wed[nesday] Thu[rsday] -syn keyword calendarWeekday Fri[day] Sat[urday] Sun[day] -syn match calendarWeekday display '\<\%(Mon\|Tue\|Wed\|Thu\|Fri\|Sat\|Sun\)\.' - \ nextgroup=calendarWeekdayMod -syn match calendarWeekdayMod display '[+-]\d\+\>' -syn case match - -syn match calendarTime display '\<\%([01]\=\d\|2[0-3]\):[0-5]\d\%(:[0-5]\d\)\=' -syn match calendarTime display '\<\%(0\=[1-9]\|1[0-2]\):[0-5]\d\%(:[0-5]\d\)\=\s*[AaPp][Mm]' - -syn match calendarVariable '\*' - -if exists("c_minlines") - let b:c_minlines = c_minlines -else - if !exists("c_no_if0") - let b:c_minlines = 50 " #if 0 constructs can be long - else - let b:c_minlines = 15 " mostly for () constructs - endif -endif -exec "syn sync ccomment calendarComment minlines=" . b:c_minlines - -hi def link calendarTodo Todo -hi def link calendarComment Comment -hi def link calendarCppString String -hi def link calendarSpecial SpecialChar -hi def link calendarPreCondit PreCondit -hi def link calendarCppOut Comment -hi def link calendarCppOut2 calendarCppOut -hi def link calendarCppSkip calendarCppOut -hi def link calendarIncluded String -hi def link calendarInclude Include -hi def link calendarDefine Macro -hi def link calendarPreProc PreProc -hi def link calendarKeyword Keyword -hi def link calendarNumber Number -hi def link calendarMonth String -hi def link calendarWeekday String -hi def link calendarWeekdayMod Special -hi def link calendarTime Number -hi def link calendarVariable Identifier - -let b:current_syntax = "calendar" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/cangjie.mnv b/uvim/runtime/syntax/cangjie.mnv new file mode 100644 index 0000000000..99f063bb25 --- /dev/null +++ b/uvim/runtime/syntax/cangjie.mnv @@ -0,0 +1,225 @@ +" MNV syntax file +" Language: Cangjie +" Maintainer: Wu Junkai +" URL: https://github.com/WuJunkai2004/cangjie.mnv +" Last Change: 2026 Jan 5 +" +" The Cangjie programming language is a new-generation programming +" language oriented to full-scenario intelligence. It features +" native intelligence, being naturally suitable for all scenarios, +" high performance and strong security. It is mainly applied in +" scenarios such as native applications and service applications +" of HarmonyOS NEXT, providing developers with a good programming +" experience. +" +" For more information, see: +" - https://cangjie-lang.cn/ +" - https://gitcode.com/Cangjie + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:save_cpo = &cpo +set cpo&mnv + +" 0. check the user's settings +" use let g:cangjie__color to enable/disable syntax highlighting +function! s:enabled(item) abort + return get(g:, 'cangjie_' . a:item . '_color', 1) +endfunction + +syn case match + +" 1. comments +syn keyword cangjieTodo TODO FIXME XXX NOTE BUG contained +syn match cangjieDocKeyword /\v\c\@(brief|param|return|note|warning|deprecated)/ contained +syn match cangjieDocKeyword /\v\c\@(author|version|date|since|file|copyright)/ contained +syn match cangjieDocKeyword /\v\c\@(details|link|see|throws|exception|example)/ contained +syn match cangjieDocKeyword /\v\c\@(private|protected|public|internal)/ contained +syn match cangjieComment /\v\/\/.*/ contains=cangjieTodo,cangjieDocKeyword +syn region cangjieComment start=/\/\*/ end=/\*\// contains=cangjieTodo,cangjieDocKeyword,@spell + +" 2. keywords +syn keyword cangjieDeclaration abstract extend macro foreign +syn keyword cangjieDeclaration interface open operator override private prop protected +syn keyword cangjieDeclaration public redef static type +syn keyword cangjieStatement as break case catch continue do else finally for in +syn keyword cangjieStatement if in is match quote return spawn super synchronized +syn keyword cangjieStatement throw try unsafe where while +syn keyword cangjieIdentlike false init main this true +syn keyword cangjieVariable const let var +syn keyword cangjieOption Option Some None +syn keyword cangjieDeclaration func struct class enum import package nextgroup=cangjieTypeName skipwhite +syn cluster cangjieKeywordCluster contains= + \ cangjieDeclaration, + \ cangjieStatement, + \ cangjieIdentlike, + \ cangjieVariable, + \ cangjieOption + +" 3. macro (e.g., @override) +syn match cangjieMacro /@\h\w*/ + +" 4. Type and Function Names +syn match cangjieTypeName /\h\w*/ contained + +" 5. specail identifiers +syn region cangjieSpIdentifier start=/`/ end=/`/ oneline + +" 6. types +syn keyword cangjieSpType Nothing Range Unit LibC Duration DefaultHasher +syn keyword cangjieArrayType Array VArray +syn keyword cangjieCommonType Bool Byte Rune String +syn keyword cangjieFloatType Float16 Float32 Float64 +syn keyword cangjieIntType Int Int8 Int16 Int32 Int64 IntNative +syn keyword cangjieUIntType UInt UInt8 UInt16 UInt32 UInt64 UIntNative +syn keyword cangjieFFIType CPointer CPointerHandle CPointerResource CString CStringResource +syn cluster cangjieTypeCluster contains= + \ cangjieSpType, + \ cangjieArrayType, + \ cangjieCommonType, + \ cangjieFloatType, + \ cangjieIntType, + \ cangjieUIntType, + \ cangjieFFIType + +" 6.1. builtin function/interface/class +syn keyword cangjieCoreFunc acquireArrayRawData alignOf eprint eprintln ifNone ifSome max min +syn keyword cangjieCoreFunc print println readln refEq releaseArrayRawData sizeOf sleep zeroValue +syn keyword cangjieCoreItf Any Hasher ThreadContext Countable Collection Less Greater +syn keyword cangjieCoreItf LessOrEqual GreaterOrEqual Comparable Equal NotEqual Equatable +syn keyword cangjieCoreItf Hashable Iterable Resource ToString CType +syn keyword cangjieCoreClass ArrayIterator Box Future Iterator Object RangeIterator +syn keyword cangjieCoreClass StackTraceElement StringBuilder Thread ThreadLocal +syn keyword cangjieCoreError ArithmeticException Error Exception IllegalArgumentException +syn keyword cangjieCoreError IllegalFormatException IllegalMemoryException IllegalStateException +syn keyword cangjieCoreError IncompatiblePackageException IndexOutOfBoundsException InternalError +syn keyword cangjieCoreError NegativeArraySizeException NoneValueException OutOfMemoryError +syn keyword cangjieCoreError OverflowException SpawnException StackOverflowError +syn keyword cangjieCoreError TimeoutException UnsupportedException +syn cluster cangjieBuiltinCluster contains= + \ cangjieCoreFunc, + \ cangjieCoreItf, + \ cangjieCoreClass, + \ cangjieCoreError + +" 7. character and strings +syn cluster cangjieInterpolatedPart contains= + \ @cangjieKeywordCluster, + \ cangjieSpIdentifier, + \ @cangjieTypeCluster, + \ @cangjieBuiltinCluster, + \ @cangjieNumberCluster, + \ cangjieOperator +syn region cangjieInterpolation contained keepend start=/\${/ end=/}/ contains=@cangjieInterpolatedPart +syn match cangjieEscape /\v\\u\{[0-9a-fA-F]{1,8}\}|\\./ contained +syn match cangjieRuneError /\v[rb]'([^'\\]|\\.)*'/ +syn match cangjieRuneError /\v[rb]"([^"\\]|\\.)*"/ +syn match cangjieRune /\vr'(\\u\{[0-9a-fA-F]{1,8}\}|\\.|[^'\\])'/ contains=cangjieEscape +syn match cangjieRune /\vr"(\\u\{[0-9a-fA-F]{1,8}\}|\\.|[^"\\])"/ contains=cangjieEscape +syn match cangjieRune /\vb'(\\u\{[0-9a-fA-F]{1,8}\}|\\.|[^'\\])'/ contains=cangjieEscape +syn region cangjieString start=/"/ skip=/\\\\\|\\"/ end=/"/ oneline contains=cangjieInterpolation,cangjieEscape +syn region cangjieString start=/'/ skip=/\\\\\|\\'/ end=/'/ oneline contains=cangjieInterpolation,cangjieEscape +syn region cangjieString start=/"""/ skip=/\\\\\|\\"/ end=/"""/ contains=cangjieInterpolation,cangjieEscape keepend +syn region cangjieString start=/'''/ skip=/\\\\\|\\'/ end=/'''/ contains=cangjieInterpolation,cangjieEscape keepend +syn region cangjieRawString start='\z(#*\)#"' end='"#\z1' +syn region cangjieRawString start='\z(#*\)#\'' end='\'#\z1' + +" 8. number +syn match cangjieHexFloatNumber /\v\c<0x([0-9a-f_]+\.?|[0-9a-f_]*\.[0-9a-f_]+)[p][-+]?\d[0-9_]*>/ +syn match cangjieFloatNumber /\v\c<\d[0-9_]*\.\d[0-9_]*([ep][-+]?\d[0-9_]*)?(f(16|32|64))?>/ +syn match cangjieFloatNumber /\v\c<\d[0-9_]*\.([ep][-+]?\d[0-9_]*)?(f(16|32|64))?>/ +syn match cangjieFloatNumber /\v\c\.\d[0-9_]*([ep][-+]?\d[0-9_]*)?(f(16|32|64))?>/ +syn match cangjieScienceNumber /\v\c<\d[0-9_]*[e][-+]?\d[0-9_]*(f(16|32|64))?>/ +syn match cangjieHexNumber /\v\c<0x[0-9a-f_]+([iu](8|16|32|64))?>/ +syn match cangjieOctalNumber /\v\c<0o[0-7_]+([iu](8|16|32|64))?>/ +syn match cangjieBinaryNumber /\v\c<0b[01_]+([iu](8|16|32|64))?>/ +syn match cangjieDecimalNumber /\v\c<\d[0-9_]*([iu](8|16|32|64))?>/ +syn cluster cangjieNumberCluster contains= + \ cangjieHexFloatNumber, + \ cangjieFloatNumber, + \ cangjieScienceNumber, + \ cangjieHexNumber, + \ cangjieOctalNumber, + \ cangjieBinaryNumber, + \ cangjieDecimalNumber + +" 9. operators +syn match cangjieOperator /[-+%<>!&|^*=]=\?/ +syn match cangjieOperator /\/\%(=\|\ze[^/*]\)/ +syn match cangjieOperator /\%(<<\|>>\|&^\)=\?/ +syn match cangjieOperator /:=\|||\|<-\|++\|--/ +syn match cangjieOperator /[~]/ +syn match cangjieOperator /[:]/ +syn match cangjieOperator /\.\./ +syn match cangjieVarArgs /\.\.\./ + +" 10. folding +syn region cangjieFoldBraces transparent fold start='{' end='}' contains=ALLBUT,cangjieComment +syn region cangjieFoldParens transparent fold start='(' end=')' contains=ALLBUT,cangjieComment +syn region cangjieFoldBrackets transparent fold start='\[' end='\]' contains=ALLBUT,cangjieComment + +" finally, link the syntax groups to the highlight groups +if s:enabled('comment') + hi def link cangjieTodo Todo + hi def link cangjieDocKeyword SpecialComment + hi def link cangjieComment Comment +endif +if s:enabled('identifier') + hi def link cangjieSpIdentifier Identifier +endif +if s:enabled('keyword') + hi def link cangjieDeclaration Keyword + hi def link cangjieStatement Statement + hi def link cangjieIdentlike Keyword + hi def link cangjieVariable Keyword + hi def link cangjieOption Keyword +endif +if s:enabled('builtin') + hi def link cangjieCoreFunc Function + hi def link cangjieCoreItf Type + hi def link cangjieCoreClass Type + hi def link cangjieCoreError Structure +endif +if s:enabled('macro') + hi def link cangjieMacro PreProc +endif +if s:enabled('number') + hi def link cangjieHexFloatNumber Number + hi def link cangjieFloatNumber Float + hi def link cangjieScienceNumber Float + hi def link cangjieHexNumber Number + hi def link cangjieOctalNumber Number + hi def link cangjieBinaryNumber Number + hi def link cangjieDecimalNumber Number +endif +if s:enabled('operator') + hi def link cangjieOperator Operator + hi def link cangjieVarArgs Operator +endif +if s:enabled('string') + hi def link cangjieRune Character + hi def link cangjieRuneError Error + hi def link cangjieString String + hi def link cangjieRawString String + hi def link cangjieEscape SpecialChar +endif +if s:enabled('type') + hi def link cangjieTypeName Type + hi def link cangjieSpType Type + hi def link cangjieArrayType Type + hi def link cangjieCommonType Type + hi def link cangjieFloatType Type + hi def link cangjieIntType Type + hi def link cangjieUIntType Type + hi def link cangjieFFIType Type +endif + +let b:current_syntax = "cangjie" + +let &cpo = s:save_cpo +unlet s:save_cpo + +" mnv: ts=8 sw=8 noet diff --git a/uvim/runtime/syntax/cangjie.vim b/uvim/runtime/syntax/cangjie.vim deleted file mode 100644 index d8194a9274..0000000000 --- a/uvim/runtime/syntax/cangjie.vim +++ /dev/null @@ -1,225 +0,0 @@ -" Vim syntax file -" Language: Cangjie -" Maintainer: Wu Junkai -" URL: https://github.com/WuJunkai2004/cangjie.vim -" Last Change: 2026 Jan 5 -" -" The Cangjie programming language is a new-generation programming -" language oriented to full-scenario intelligence. It features -" native intelligence, being naturally suitable for all scenarios, -" high performance and strong security. It is mainly applied in -" scenarios such as native applications and service applications -" of HarmonyOS NEXT, providing developers with a good programming -" experience. -" -" For more information, see: -" - https://cangjie-lang.cn/ -" - https://gitcode.com/Cangjie - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -let s:save_cpo = &cpo -set cpo&vim - -" 0. check the user's settings -" use let g:cangjie__color to enable/disable syntax highlighting -function! s:enabled(item) abort - return get(g:, 'cangjie_' . a:item . '_color', 1) -endfunction - -syn case match - -" 1. comments -syn keyword cangjieTodo TODO FIXME XXX NOTE BUG contained -syn match cangjieDocKeyword /\v\c\@(brief|param|return|note|warning|deprecated)/ contained -syn match cangjieDocKeyword /\v\c\@(author|version|date|since|file|copyright)/ contained -syn match cangjieDocKeyword /\v\c\@(details|link|see|throws|exception|example)/ contained -syn match cangjieDocKeyword /\v\c\@(private|protected|public|internal)/ contained -syn match cangjieComment /\v\/\/.*/ contains=cangjieTodo,cangjieDocKeyword -syn region cangjieComment start=/\/\*/ end=/\*\// contains=cangjieTodo,cangjieDocKeyword,@spell - -" 2. keywords -syn keyword cangjieDeclaration abstract extend macro foreign -syn keyword cangjieDeclaration interface open operator override private prop protected -syn keyword cangjieDeclaration public redef static type -syn keyword cangjieStatement as break case catch continue do else finally for in -syn keyword cangjieStatement if in is match quote return spawn super synchronized -syn keyword cangjieStatement throw try unsafe where while -syn keyword cangjieIdentlike false init main this true -syn keyword cangjieVariable const let var -syn keyword cangjieOption Option Some None -syn keyword cangjieDeclaration func struct class enum import package nextgroup=cangjieTypeName skipwhite -syn cluster cangjieKeywordCluster contains= - \ cangjieDeclaration, - \ cangjieStatement, - \ cangjieIdentlike, - \ cangjieVariable, - \ cangjieOption - -" 3. macro (e.g., @override) -syn match cangjieMacro /@\h\w*/ - -" 4. Type and Function Names -syn match cangjieTypeName /\h\w*/ contained - -" 5. specail identifiers -syn region cangjieSpIdentifier start=/`/ end=/`/ oneline - -" 6. types -syn keyword cangjieSpType Nothing Range Unit LibC Duration DefaultHasher -syn keyword cangjieArrayType Array VArray -syn keyword cangjieCommonType Bool Byte Rune String -syn keyword cangjieFloatType Float16 Float32 Float64 -syn keyword cangjieIntType Int Int8 Int16 Int32 Int64 IntNative -syn keyword cangjieUIntType UInt UInt8 UInt16 UInt32 UInt64 UIntNative -syn keyword cangjieFFIType CPointer CPointerHandle CPointerResource CString CStringResource -syn cluster cangjieTypeCluster contains= - \ cangjieSpType, - \ cangjieArrayType, - \ cangjieCommonType, - \ cangjieFloatType, - \ cangjieIntType, - \ cangjieUIntType, - \ cangjieFFIType - -" 6.1. builtin function/interface/class -syn keyword cangjieCoreFunc acquireArrayRawData alignOf eprint eprintln ifNone ifSome max min -syn keyword cangjieCoreFunc print println readln refEq releaseArrayRawData sizeOf sleep zeroValue -syn keyword cangjieCoreItf Any Hasher ThreadContext Countable Collection Less Greater -syn keyword cangjieCoreItf LessOrEqual GreaterOrEqual Comparable Equal NotEqual Equatable -syn keyword cangjieCoreItf Hashable Iterable Resource ToString CType -syn keyword cangjieCoreClass ArrayIterator Box Future Iterator Object RangeIterator -syn keyword cangjieCoreClass StackTraceElement StringBuilder Thread ThreadLocal -syn keyword cangjieCoreError ArithmeticException Error Exception IllegalArgumentException -syn keyword cangjieCoreError IllegalFormatException IllegalMemoryException IllegalStateException -syn keyword cangjieCoreError IncompatiblePackageException IndexOutOfBoundsException InternalError -syn keyword cangjieCoreError NegativeArraySizeException NoneValueException OutOfMemoryError -syn keyword cangjieCoreError OverflowException SpawnException StackOverflowError -syn keyword cangjieCoreError TimeoutException UnsupportedException -syn cluster cangjieBuiltinCluster contains= - \ cangjieCoreFunc, - \ cangjieCoreItf, - \ cangjieCoreClass, - \ cangjieCoreError - -" 7. character and strings -syn cluster cangjieInterpolatedPart contains= - \ @cangjieKeywordCluster, - \ cangjieSpIdentifier, - \ @cangjieTypeCluster, - \ @cangjieBuiltinCluster, - \ @cangjieNumberCluster, - \ cangjieOperator -syn region cangjieInterpolation contained keepend start=/\${/ end=/}/ contains=@cangjieInterpolatedPart -syn match cangjieEscape /\v\\u\{[0-9a-fA-F]{1,8}\}|\\./ contained -syn match cangjieRuneError /\v[rb]'([^'\\]|\\.)*'/ -syn match cangjieRuneError /\v[rb]"([^"\\]|\\.)*"/ -syn match cangjieRune /\vr'(\\u\{[0-9a-fA-F]{1,8}\}|\\.|[^'\\])'/ contains=cangjieEscape -syn match cangjieRune /\vr"(\\u\{[0-9a-fA-F]{1,8}\}|\\.|[^"\\])"/ contains=cangjieEscape -syn match cangjieRune /\vb'(\\u\{[0-9a-fA-F]{1,8}\}|\\.|[^'\\])'/ contains=cangjieEscape -syn region cangjieString start=/"/ skip=/\\\\\|\\"/ end=/"/ oneline contains=cangjieInterpolation,cangjieEscape -syn region cangjieString start=/'/ skip=/\\\\\|\\'/ end=/'/ oneline contains=cangjieInterpolation,cangjieEscape -syn region cangjieString start=/"""/ skip=/\\\\\|\\"/ end=/"""/ contains=cangjieInterpolation,cangjieEscape keepend -syn region cangjieString start=/'''/ skip=/\\\\\|\\'/ end=/'''/ contains=cangjieInterpolation,cangjieEscape keepend -syn region cangjieRawString start='\z(#*\)#"' end='"#\z1' -syn region cangjieRawString start='\z(#*\)#\'' end='\'#\z1' - -" 8. number -syn match cangjieHexFloatNumber /\v\c<0x([0-9a-f_]+\.?|[0-9a-f_]*\.[0-9a-f_]+)[p][-+]?\d[0-9_]*>/ -syn match cangjieFloatNumber /\v\c<\d[0-9_]*\.\d[0-9_]*([ep][-+]?\d[0-9_]*)?(f(16|32|64))?>/ -syn match cangjieFloatNumber /\v\c<\d[0-9_]*\.([ep][-+]?\d[0-9_]*)?(f(16|32|64))?>/ -syn match cangjieFloatNumber /\v\c\.\d[0-9_]*([ep][-+]?\d[0-9_]*)?(f(16|32|64))?>/ -syn match cangjieScienceNumber /\v\c<\d[0-9_]*[e][-+]?\d[0-9_]*(f(16|32|64))?>/ -syn match cangjieHexNumber /\v\c<0x[0-9a-f_]+([iu](8|16|32|64))?>/ -syn match cangjieOctalNumber /\v\c<0o[0-7_]+([iu](8|16|32|64))?>/ -syn match cangjieBinaryNumber /\v\c<0b[01_]+([iu](8|16|32|64))?>/ -syn match cangjieDecimalNumber /\v\c<\d[0-9_]*([iu](8|16|32|64))?>/ -syn cluster cangjieNumberCluster contains= - \ cangjieHexFloatNumber, - \ cangjieFloatNumber, - \ cangjieScienceNumber, - \ cangjieHexNumber, - \ cangjieOctalNumber, - \ cangjieBinaryNumber, - \ cangjieDecimalNumber - -" 9. operators -syn match cangjieOperator /[-+%<>!&|^*=]=\?/ -syn match cangjieOperator /\/\%(=\|\ze[^/*]\)/ -syn match cangjieOperator /\%(<<\|>>\|&^\)=\?/ -syn match cangjieOperator /:=\|||\|<-\|++\|--/ -syn match cangjieOperator /[~]/ -syn match cangjieOperator /[:]/ -syn match cangjieOperator /\.\./ -syn match cangjieVarArgs /\.\.\./ - -" 10. folding -syn region cangjieFoldBraces transparent fold start='{' end='}' contains=ALLBUT,cangjieComment -syn region cangjieFoldParens transparent fold start='(' end=')' contains=ALLBUT,cangjieComment -syn region cangjieFoldBrackets transparent fold start='\[' end='\]' contains=ALLBUT,cangjieComment - -" finally, link the syntax groups to the highlight groups -if s:enabled('comment') - hi def link cangjieTodo Todo - hi def link cangjieDocKeyword SpecialComment - hi def link cangjieComment Comment -endif -if s:enabled('identifier') - hi def link cangjieSpIdentifier Identifier -endif -if s:enabled('keyword') - hi def link cangjieDeclaration Keyword - hi def link cangjieStatement Statement - hi def link cangjieIdentlike Keyword - hi def link cangjieVariable Keyword - hi def link cangjieOption Keyword -endif -if s:enabled('builtin') - hi def link cangjieCoreFunc Function - hi def link cangjieCoreItf Type - hi def link cangjieCoreClass Type - hi def link cangjieCoreError Structure -endif -if s:enabled('macro') - hi def link cangjieMacro PreProc -endif -if s:enabled('number') - hi def link cangjieHexFloatNumber Number - hi def link cangjieFloatNumber Float - hi def link cangjieScienceNumber Float - hi def link cangjieHexNumber Number - hi def link cangjieOctalNumber Number - hi def link cangjieBinaryNumber Number - hi def link cangjieDecimalNumber Number -endif -if s:enabled('operator') - hi def link cangjieOperator Operator - hi def link cangjieVarArgs Operator -endif -if s:enabled('string') - hi def link cangjieRune Character - hi def link cangjieRuneError Error - hi def link cangjieString String - hi def link cangjieRawString String - hi def link cangjieEscape SpecialChar -endif -if s:enabled('type') - hi def link cangjieTypeName Type - hi def link cangjieSpType Type - hi def link cangjieArrayType Type - hi def link cangjieCommonType Type - hi def link cangjieFloatType Type - hi def link cangjieIntType Type - hi def link cangjieUIntType Type - hi def link cangjieFFIType Type -endif - -let b:current_syntax = "cangjie" - -let &cpo = s:save_cpo -unlet s:save_cpo - -" vim: ts=8 sw=8 noet diff --git a/uvim/runtime/syntax/catalog.mnv b/uvim/runtime/syntax/catalog.mnv new file mode 100644 index 0000000000..2ba36b779a --- /dev/null +++ b/uvim/runtime/syntax/catalog.mnv @@ -0,0 +1,30 @@ +" MNV syntax file +" Language: sgml catalog file +" Maintainer: Johannes Zellner +" Last Change: Fr, 04 Nov 2005 12:46:45 CET +" Filenames: /etc/sgml.catalog +" $Id: catalog.mnv,v 1.2 2005/11/23 21:11:10 mnvboss Exp $ + +" Quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn case ignore + +" strings +syn region catalogString start=+"+ skip=+\\\\\|\\"+ end=+"+ keepend +syn region catalogString start=+'+ skip=+\\\\\|\\'+ end=+'+ keepend + +syn region catalogComment start=+--+ end=+--+ contains=catalogTodo +syn keyword catalogTodo TODO FIXME XXX NOTE contained +syn keyword catalogKeyword DOCTYPE OVERRIDE PUBLIC DTDDECL ENTITY CATALOG + + +" The default highlighting. +hi def link catalogString String +hi def link catalogComment Comment +hi def link catalogTodo Todo +hi def link catalogKeyword Statement + +let b:current_syntax = "catalog" diff --git a/uvim/runtime/syntax/catalog.vim b/uvim/runtime/syntax/catalog.vim deleted file mode 100644 index 0a1d511a64..0000000000 --- a/uvim/runtime/syntax/catalog.vim +++ /dev/null @@ -1,30 +0,0 @@ -" Vim syntax file -" Language: sgml catalog file -" Maintainer: Johannes Zellner -" Last Change: Fr, 04 Nov 2005 12:46:45 CET -" Filenames: /etc/sgml.catalog -" $Id: catalog.vim,v 1.2 2005/11/23 21:11:10 vimboss Exp $ - -" Quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn case ignore - -" strings -syn region catalogString start=+"+ skip=+\\\\\|\\"+ end=+"+ keepend -syn region catalogString start=+'+ skip=+\\\\\|\\'+ end=+'+ keepend - -syn region catalogComment start=+--+ end=+--+ contains=catalogTodo -syn keyword catalogTodo TODO FIXME XXX NOTE contained -syn keyword catalogKeyword DOCTYPE OVERRIDE PUBLIC DTDDECL ENTITY CATALOG - - -" The default highlighting. -hi def link catalogString String -hi def link catalogComment Comment -hi def link catalogTodo Todo -hi def link catalogKeyword Statement - -let b:current_syntax = "catalog" diff --git a/uvim/runtime/syntax/cdl.mnv b/uvim/runtime/syntax/cdl.mnv new file mode 100644 index 0000000000..7242dcee1c --- /dev/null +++ b/uvim/runtime/syntax/cdl.mnv @@ -0,0 +1,78 @@ +" MNV syntax file +" Language: Comshare Dimension Definition Language +" Maintainer: Raul Segura Acevedo +" Last change: 2016 Sep 20 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +sy case ignore +sy sync fromstart +sy keyword cdlStatement dimension hierarchy group grouphierarchy schedule class +sy keyword cdlType add update file category main altername removeall required notrequired +sy keyword cdlConditional if then elseif else endif and or not cons rpt xlt +sy keyword cdlFunction ChildOf IChildOf LeafChildOf DescendantOf IDescendantOf LeafDescendantOf MemberIs CountOf + +sy keyword cdlIdentifier contained id name desc description xlttype precision symbol curr_ name group_name rate_name +sy keyword cdlIdentifier contained xcheck endbal accounttype natsign consolidate formula pctown usage periodicity +sy match cdlIdentifier contained 'child\s*name' +sy match cdlIdentifier contained 'parent\s*name' +sy match cdlIdentifier contained 'grp\s*description' +sy match cdlIdentifier contained 'grpchild\s*name' +sy match cdlIdentifier contained 'grpparent\s*name' +sy match cdlIdentifier contained 'preceding\s*member' +sy match cdlIdentifier contained 'unit\s*name' +sy match cdlIdentifier contained 'unit\s*id' +sy match cdlIdentifier contained 'schedule\s*name' +sy match cdlIdentifier contained 'schedule\s*id' + +sy match cdlString /\[[^]]*]/ contains=cdlRestricted,cdlNotSupported +sy match cdlRestricted contained /[&*,_]/ +" not supported +sy match cdlNotSupported contained /[:"!']/ + +sy keyword cdlTodo contained TODO FIXME XXX +sy cluster cdlCommentGroup contains=cdlTodo +sy match cdlComment '//.*' contains=@cdlCommentGroup +sy region cdlComment start="/\*" end="\*/" contains=@cdlCommentGroup fold +sy match cdlCommentE "\*/" + +sy region cdlParen transparent start='(' end=')' contains=ALLBUT,cdlParenE,cdlRestricted,cdlNotSupported +"sy region cdlParen transparent start='(' end=')' contains=cdlIdentifier,cdlComment,cdlParenWordE +sy match cdlParenE ")" +"sy match cdlParenWordE contained "\k\+" + +sy keyword cdlFxType allocation downfoot expr xltgain +"sy keyword cdlFxType contained allocation downfoot expr xltgain +"sy region cdlFx transparent start='\k\+(' end=')' contains=cdlConditional,cdlFunction,cdlString,cdlComment,cdlFxType + +set foldmethod=expr +set foldexpr=(getline(v:lnum+1)=~'{'\|\|getline(v:lnum)=~'//\\s\\*\\{5}.*table')?'>1':1 +%foldo! +set foldmethod=manual +let b:match_words='\:\:\:\:\' + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link cdlStatement Statement +hi def link cdlType Type +hi def link cdlFxType Type +hi def link cdlIdentifier Identifier +hi def link cdlString String +hi def link cdlRestricted WarningMsg +hi def link cdlNotSupported ErrorMsg +hi def link cdlTodo Todo +hi def link cdlComment Comment +hi def link cdlCommentE ErrorMsg +hi def link cdlParenE ErrorMsg +hi def link cdlParenWordE ErrorMsg +hi def link cdlFunction Function +hi def link cdlConditional Conditional + + +let b:current_syntax = "cdl" + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/cdl.vim b/uvim/runtime/syntax/cdl.vim deleted file mode 100644 index 2a458d4ada..0000000000 --- a/uvim/runtime/syntax/cdl.vim +++ /dev/null @@ -1,78 +0,0 @@ -" Vim syntax file -" Language: Comshare Dimension Definition Language -" Maintainer: Raul Segura Acevedo -" Last change: 2016 Sep 20 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -sy case ignore -sy sync fromstart -sy keyword cdlStatement dimension hierarchy group grouphierarchy schedule class -sy keyword cdlType add update file category main altername removeall required notrequired -sy keyword cdlConditional if then elseif else endif and or not cons rpt xlt -sy keyword cdlFunction ChildOf IChildOf LeafChildOf DescendantOf IDescendantOf LeafDescendantOf MemberIs CountOf - -sy keyword cdlIdentifier contained id name desc description xlttype precision symbol curr_ name group_name rate_name -sy keyword cdlIdentifier contained xcheck endbal accounttype natsign consolidate formula pctown usage periodicity -sy match cdlIdentifier contained 'child\s*name' -sy match cdlIdentifier contained 'parent\s*name' -sy match cdlIdentifier contained 'grp\s*description' -sy match cdlIdentifier contained 'grpchild\s*name' -sy match cdlIdentifier contained 'grpparent\s*name' -sy match cdlIdentifier contained 'preceding\s*member' -sy match cdlIdentifier contained 'unit\s*name' -sy match cdlIdentifier contained 'unit\s*id' -sy match cdlIdentifier contained 'schedule\s*name' -sy match cdlIdentifier contained 'schedule\s*id' - -sy match cdlString /\[[^]]*]/ contains=cdlRestricted,cdlNotSupported -sy match cdlRestricted contained /[&*,_]/ -" not supported -sy match cdlNotSupported contained /[:"!']/ - -sy keyword cdlTodo contained TODO FIXME XXX -sy cluster cdlCommentGroup contains=cdlTodo -sy match cdlComment '//.*' contains=@cdlCommentGroup -sy region cdlComment start="/\*" end="\*/" contains=@cdlCommentGroup fold -sy match cdlCommentE "\*/" - -sy region cdlParen transparent start='(' end=')' contains=ALLBUT,cdlParenE,cdlRestricted,cdlNotSupported -"sy region cdlParen transparent start='(' end=')' contains=cdlIdentifier,cdlComment,cdlParenWordE -sy match cdlParenE ")" -"sy match cdlParenWordE contained "\k\+" - -sy keyword cdlFxType allocation downfoot expr xltgain -"sy keyword cdlFxType contained allocation downfoot expr xltgain -"sy region cdlFx transparent start='\k\+(' end=')' contains=cdlConditional,cdlFunction,cdlString,cdlComment,cdlFxType - -set foldmethod=expr -set foldexpr=(getline(v:lnum+1)=~'{'\|\|getline(v:lnum)=~'//\\s\\*\\{5}.*table')?'>1':1 -%foldo! -set foldmethod=manual -let b:match_words='\:\:\:\:\' - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link cdlStatement Statement -hi def link cdlType Type -hi def link cdlFxType Type -hi def link cdlIdentifier Identifier -hi def link cdlString String -hi def link cdlRestricted WarningMsg -hi def link cdlNotSupported ErrorMsg -hi def link cdlTodo Todo -hi def link cdlComment Comment -hi def link cdlCommentE ErrorMsg -hi def link cdlParenE ErrorMsg -hi def link cdlParenWordE ErrorMsg -hi def link cdlFunction Function -hi def link cdlConditional Conditional - - -let b:current_syntax = "cdl" - -" vim: ts=8 diff --git a/uvim/runtime/syntax/cdrdaoconf.mnv b/uvim/runtime/syntax/cdrdaoconf.mnv new file mode 100644 index 0000000000..1b7fafee83 --- /dev/null +++ b/uvim/runtime/syntax/cdrdaoconf.mnv @@ -0,0 +1,139 @@ +" MNV syntax file +" Language: cdrdao(1) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2007-09-02 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn keyword cdrdaoconfTodo + \ TODO FIXME XXX NOTE + +syn match cdrdaoconfBegin + \ display + \ nextgroup=@cdrdaoconfKeyword,cdrdaoconfComment + \ '^' + +syn cluster cdrdaoconfKeyword + \ contains=cdrdaoconfIntegerKeyword, + \ cdrdaoconfDriverKeyword, + \ cdrdaoconfDeviceKeyword, + \ cdrdaoconfPathKeyword + +syn keyword cdrdaoconfIntegerKeyword + \ contained + \ nextgroup=cdrdaoconfIntegerDelimiter + \ write_speed + \ write_buffers + \ user_capacity + \ full_burn + \ read_speed + \ cddb_timeout + +syn keyword cdrdaoconfIntegerKeyword + \ contained + \ nextgroup=cdrdaoconfParanoiaModeDelimiter + \ read_paranoia_mode + +syn keyword cdrdaoconfDriverKeyword + \ contained + \ nextgroup=cdrdaoconfDriverDelimiter + \ write_driver + \ read_driver + +syn keyword cdrdaoconfDeviceKeyword + \ contained + \ nextgroup=cdrdaoconfDeviceDelimiter + \ write_device + \ read_device + +syn keyword cdrdaoconfPathKeyword + \ contained + \ nextgroup=cdrdaoconfPathDelimiter + \ cddb_directory + \ tmp_file_dir + +syn match cdrdaoconfIntegerDelimiter + \ contained + \ nextgroup=cdrdaoconfInteger + \ skipwhite + \ ':' + +syn match cdrdaoconfParanoiaModeDelimiter + \ contained + \ nextgroup=cdrdaoconfParanoiaMode + \ skipwhite + \ ':' + +syn match cdrdaoconfDriverDelimiter + \ contained + \ nextgroup=cdrdaoconfDriver + \ skipwhite + \ ':' + +syn match cdrdaoconfDeviceDelimiter + \ contained + \ nextgroup=cdrdaoconfDevice + \ skipwhite + \ ':' + +syn match cdrdaoconfPathDelimiter + \ contained + \ nextgroup=cdrdaoconfPath + \ skipwhite + \ ':' + +syn match cdrdaoconfInteger + \ contained + \ '\<\d\+\>' + +syn match cdrdaoParanoiaMode + \ contained + \ '[0123]' + +syn match cdrdaoconfDriver + \ contained + \ '\<\(cdd2600\|generic-mmc\%(-raw\)\=\|plextor\%(-scan\)\|ricoh-mp6200\|sony-cdu9\%(20\|48\)\|taiyo-yuden\|teac-cdr55\|toshiba\|yamaha-cdr10x\)\>' + +syn region cdrdaoconfDevice + \ contained + \ matchgroup=cdrdaoconfDevice + \ start=+"+ + \ end=+"+ + +syn region cdrdaoconfPath + \ contained + \ matchgroup=cdrdaoconfPath + \ start=+"+ + \ end=+"+ + +syn match cdrdaoconfComment + \ contains=cdrdaoconfTodo,@Spell + \ '^.*#.*$' + +hi def link cdrdaoconfTodo Todo +hi def link cdrdaoconfComment Comment +hi def link cdrdaoconfKeyword Keyword +hi def link cdrdaoconfIntegerKeyword cdrdaoconfKeyword +hi def link cdrdaoconfDriverKeyword cdrdaoconfKeyword +hi def link cdrdaoconfDeviceKeyword cdrdaoconfKeyword +hi def link cdrdaoconfPathKeyword cdrdaoconfKeyword +hi def link cdrdaoconfDelimiter Delimiter +hi def link cdrdaoconfIntegerDelimiter cdrdaoconfDelimiter +hi def link cdrdaoconfDriverDelimiter cdrdaoconfDelimiter +hi def link cdrdaoconfDeviceDelimiter cdrdaoconfDelimiter +hi def link cdrdaoconfPathDelimiter cdrdaoconfDelimiter +hi def link cdrdaoconfInteger Number +hi def link cdrdaoconfParanoiaMode Number +hi def link cdrdaoconfDriver Identifier +hi def link cdrdaoconfDevice cdrdaoconfPath +hi def link cdrdaoconfPath String + +let b:current_syntax = "cdrdaoconf" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/cdrdaoconf.vim b/uvim/runtime/syntax/cdrdaoconf.vim deleted file mode 100644 index 0fa65103fb..0000000000 --- a/uvim/runtime/syntax/cdrdaoconf.vim +++ /dev/null @@ -1,139 +0,0 @@ -" Vim syntax file -" Language: cdrdao(1) configuration file -" Previous Maintainer: Nikolai Weibull -" Latest Revision: 2007-09-02 - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn keyword cdrdaoconfTodo - \ TODO FIXME XXX NOTE - -syn match cdrdaoconfBegin - \ display - \ nextgroup=@cdrdaoconfKeyword,cdrdaoconfComment - \ '^' - -syn cluster cdrdaoconfKeyword - \ contains=cdrdaoconfIntegerKeyword, - \ cdrdaoconfDriverKeyword, - \ cdrdaoconfDeviceKeyword, - \ cdrdaoconfPathKeyword - -syn keyword cdrdaoconfIntegerKeyword - \ contained - \ nextgroup=cdrdaoconfIntegerDelimiter - \ write_speed - \ write_buffers - \ user_capacity - \ full_burn - \ read_speed - \ cddb_timeout - -syn keyword cdrdaoconfIntegerKeyword - \ contained - \ nextgroup=cdrdaoconfParanoiaModeDelimiter - \ read_paranoia_mode - -syn keyword cdrdaoconfDriverKeyword - \ contained - \ nextgroup=cdrdaoconfDriverDelimiter - \ write_driver - \ read_driver - -syn keyword cdrdaoconfDeviceKeyword - \ contained - \ nextgroup=cdrdaoconfDeviceDelimiter - \ write_device - \ read_device - -syn keyword cdrdaoconfPathKeyword - \ contained - \ nextgroup=cdrdaoconfPathDelimiter - \ cddb_directory - \ tmp_file_dir - -syn match cdrdaoconfIntegerDelimiter - \ contained - \ nextgroup=cdrdaoconfInteger - \ skipwhite - \ ':' - -syn match cdrdaoconfParanoiaModeDelimiter - \ contained - \ nextgroup=cdrdaoconfParanoiaMode - \ skipwhite - \ ':' - -syn match cdrdaoconfDriverDelimiter - \ contained - \ nextgroup=cdrdaoconfDriver - \ skipwhite - \ ':' - -syn match cdrdaoconfDeviceDelimiter - \ contained - \ nextgroup=cdrdaoconfDevice - \ skipwhite - \ ':' - -syn match cdrdaoconfPathDelimiter - \ contained - \ nextgroup=cdrdaoconfPath - \ skipwhite - \ ':' - -syn match cdrdaoconfInteger - \ contained - \ '\<\d\+\>' - -syn match cdrdaoParanoiaMode - \ contained - \ '[0123]' - -syn match cdrdaoconfDriver - \ contained - \ '\<\(cdd2600\|generic-mmc\%(-raw\)\=\|plextor\%(-scan\)\|ricoh-mp6200\|sony-cdu9\%(20\|48\)\|taiyo-yuden\|teac-cdr55\|toshiba\|yamaha-cdr10x\)\>' - -syn region cdrdaoconfDevice - \ contained - \ matchgroup=cdrdaoconfDevice - \ start=+"+ - \ end=+"+ - -syn region cdrdaoconfPath - \ contained - \ matchgroup=cdrdaoconfPath - \ start=+"+ - \ end=+"+ - -syn match cdrdaoconfComment - \ contains=cdrdaoconfTodo,@Spell - \ '^.*#.*$' - -hi def link cdrdaoconfTodo Todo -hi def link cdrdaoconfComment Comment -hi def link cdrdaoconfKeyword Keyword -hi def link cdrdaoconfIntegerKeyword cdrdaoconfKeyword -hi def link cdrdaoconfDriverKeyword cdrdaoconfKeyword -hi def link cdrdaoconfDeviceKeyword cdrdaoconfKeyword -hi def link cdrdaoconfPathKeyword cdrdaoconfKeyword -hi def link cdrdaoconfDelimiter Delimiter -hi def link cdrdaoconfIntegerDelimiter cdrdaoconfDelimiter -hi def link cdrdaoconfDriverDelimiter cdrdaoconfDelimiter -hi def link cdrdaoconfDeviceDelimiter cdrdaoconfDelimiter -hi def link cdrdaoconfPathDelimiter cdrdaoconfDelimiter -hi def link cdrdaoconfInteger Number -hi def link cdrdaoconfParanoiaMode Number -hi def link cdrdaoconfDriver Identifier -hi def link cdrdaoconfDevice cdrdaoconfPath -hi def link cdrdaoconfPath String - -let b:current_syntax = "cdrdaoconf" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/cdrtoc.mnv b/uvim/runtime/syntax/cdrtoc.mnv new file mode 100644 index 0000000000..196efb07d0 --- /dev/null +++ b/uvim/runtime/syntax/cdrtoc.mnv @@ -0,0 +1,537 @@ +" MNV syntax file +" Language: cdrdao(1) TOC file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2007-05-10 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn keyword cdrtocTodo + \ contained + \ TODO + \ FIXME + \ XXX + \ NOTE + +syn cluster cdrtocCommentContents + \ contains= + \ cdrtocTodo, + \ @Spell + +syn cluster cdrtocHeaderFollowsInitial + \ contains= + \ cdrtocHeaderCommentInitial, + \ cdrtocHeaderCatalog, + \ cdrtocHeaderTOCType, + \ cdrtocHeaderCDText, + \ cdrtocTrack + +syn match cdrtocHeaderBegin + \ nextgroup=@cdrtocHeaderFollowsInitial + \ skipwhite skipempty + \ '\%^' + +let s:mmssff_pattern = '\%([0-5]\d\|\d\):\%([0-5]\d\|\d\):\%([0-6]\d\|7[0-5]\|\d\)\>' +let s:byte_pattern = '\<\%([01]\=\d\{1,2}\|2\%([0-4]\d\|5[0-5]\)\)\>' +let s:length_pattern = '\%(\%([0-5]\d\|\d\):\%([0-5]\d\|\d\):\%([0-6]\d\|7[0-5]\|\d\)\|\d\+\)\>' + +function s:def_comment(name, nextgroup) + execute 'syn match' a:name + \ 'nextgroup=' . a:nextgroup . ',' . a:name + \ 'skipwhite skipempty' + \ 'contains=@cdrtocCommentContents' + \ 'contained' + \ "'//.*$'" + execute 'hi def link' a:name 'cdrtocComment' +endfunction + +function s:def_keywords(name, nextgroup, keywords) + let comment_group = a:name . 'FollowComment' + execute 'syn keyword' a:name + \ 'nextgroup=' . a:nextgroup . ',' . comment_group + \ 'skipwhite skipempty' + \ 'contained' + \ join(a:keywords) + + call s:def_comment(comment_group, a:nextgroup) +endfunction + +function s:def_keyword(name, nextgroup, keyword) + call s:def_keywords(a:name, a:nextgroup, [a:keyword]) +endfunction + +" NOTE: Pattern needs to escape any “@”s. +function s:def_match(name, nextgroup, pattern) + let comment_group = a:name . 'FollowComment' + execute 'syn match' a:name + \ 'nextgroup=' . a:nextgroup . ',' . comment_group + \ 'skipwhite skipempty' + \ 'contained' + \ '@' . a:pattern . '@' + + call s:def_comment(comment_group, a:nextgroup) +endfunction + +function s:def_region(name, nextgroup, start, skip, end, matchgroup, contains) + let comment_group = a:name . 'FollowComment' + execute 'syn region' a:name + \ 'nextgroup=' . a:nextgroup . ',' . comment_group + \ 'skipwhite skipempty' + \ 'contained' + \ 'matchgroup=' . a:matchgroup + \ 'contains=' . a:contains + \ 'start=@' . a:start . '@' + \ (a:skip != "" ? ('skip=@' . a:skip . '@') : "") + \ 'end=@' . a:end . '@' + + call s:def_comment(comment_group, a:nextgroup) +endfunction + +call s:def_comment('cdrtocHeaderCommentInitial', '@cdrtocHeaderFollowsInitial') + +call s:def_keyword('cdrtocHeaderCatalog', 'cdrtocHeaderCatalogNumber', 'CATALOG') + +call s:def_match('cdrtocHeaderCatalogNumber', '@cdrtocHeaderFollowsInitial', '"\d\{13\}"') + +call s:def_keywords('cdrtocHeaderTOCType', '@cdrtocHeaderFollowsInitial', ['CD_DA', 'CD_ROM', 'CD_ROM_XA']) + +call s:def_keyword('cdrtocHeaderCDText', 'cdrtocHeaderCDTextStart', 'CD_TEXT') + +" TODO: Actually, language maps aren’t required by TocParser.g, but let’s keep +" things simple (and in agreement with what the manual page says). +call s:def_match('cdrtocHeaderCDTextStart', 'cdrtocHeaderCDTextLanguageMap', '{') + +call s:def_keyword('cdrtocHeaderCDTextLanguageMap', 'cdrtocHeaderLanguageMapStart', 'LANGUAGE_MAP') + +call s:def_match('cdrtocHeaderLanguageMapStart', 'cdrtocHeaderLanguageMapLanguageNumber', '{') + +call s:def_match('cdrtocHeaderLanguageMapLanguageNumber', 'cdrtocHeaderLanguageMapColon', '\<[0-7]\>') + +call s:def_match('cdrtocHeaderLanguageMapColon', 'cdrtocHeaderLanguageMapCountryCode,cdrtocHeaderLanguageMapCountryCodeName', ':') + +syn cluster cdrtocHeaderLanguageMapCountryCodeFollow + \ contains= + \ cdrtocHeaderLanguageMapLanguageNumber, + \ cdrtocHeaderLanguageMapEnd + +call s:def_match('cdrtocHeaderLanguageMapCountryCode', + \ '@cdrtocHeaderLanguageMapCountryCodeFollow', + \ s:byte_pattern) + +call s:def_keyword('cdrtocHeaderLanguageMapCountryCodeName', + \ '@cdrtocHeaderLanguageMapCountryCodeFollow', + \ 'EN') + +call s:def_match('cdrtocHeaderLanguageMapEnd', + \ 'cdrtocHeaderLanguage,cdrtocHeaderCDTextEnd', + \ '}') + +call s:def_keyword('cdrtocHeaderLanguage', 'cdrtocHeaderLanguageNumber', 'LANGUAGE') + +call s:def_match('cdrtocHeaderLanguageNumber', 'cdrtocHeaderLanguageStart', '\<[0-7]\>') + +call s:def_match('cdrtocHeaderLanguageStart', + \ 'cdrtocHeaderCDTextItem,cdrtocHeaderLanguageEnd', + \ '{') + +syn cluster cdrtocHeaderCDTextData + \ contains= + \ cdrtocHeaderCDTextDataString, + \ cdrtocHeaderCDTextDataBinaryStart + +call s:def_keywords('cdrtocHeaderCDTextItem', + \ '@cdrtocHeaderCDTextData', + \ ['TITLE', 'PERFORMER', 'SONGWRITER', 'COMPOSER', + \ 'ARRANGER', 'MESSAGE', 'DISC_ID', 'GENRE', 'TOC_INFO1', + \ 'TOC_INFO2', 'UPC_EAN', 'ISRC', 'SIZE_INFO']) + +call s:def_region('cdrtocHeaderCDTextDataString', + \ 'cdrtocHeaderCDTextItem,cdrtocHeaderLanguageEnd', + \ '"', + \ '\\\\\|\\"', + \ '"', + \ 'cdrtocHeaderCDTextDataStringDelimiters', + \ 'cdrtocHeaderCDTextDataStringSpecialChar') + +syn match cdrtocHeaderCDTextDataStringSpecialChar + \ contained + \ display + \ '\\\%(\o\o\o\|["\\]\)' + +call s:def_match('cdrtocHeaderCDTextDataBinaryStart', + \ 'cdrtocHeaderCDTextDataBinaryInteger', + \ '{') + +call s:def_match('cdrtocHeaderCDTextDataBinaryInteger', + \ 'cdrtocHeaderCDTextDataBinarySeparator,cdrtocHeaderCDTextDataBinaryEnd', + \ s:byte_pattern) + +call s:def_match('cdrtocHeaderCDTextDataBinarySeparator', + \ 'cdrtocHeaderCDTextDataBinaryInteger', + \ ',') + +call s:def_match('cdrtocHeaderCDTextDataBinaryEnd', + \ 'cdrtocHeaderCDTextItem,cdrtocHeaderLanguageEnd', + \ '}') + +call s:def_match('cdrtocHeaderLanguageEnd', + \ 'cdrtocHeaderLanguage,cdrtocHeaderCDTextEnd', + \ '}') + +call s:def_match('cdrtocHeaderCDTextEnd', + \ 'cdrtocTrack', + \ '}') + +syn cluster cdrtocTrackFollow + \ contains= + \ @cdrtocTrackFlags, + \ cdrtocTrackCDText, + \ cdrtocTrackPregap, + \ @cdrtocTrackContents + +call s:def_keyword('cdrtocTrack', 'cdrtocTrackMode', 'TRACK') + +call s:def_keywords('cdrtocTrackMode', + \ 'cdrtocTrackSubChannelMode,@cdrtocTrackFollow', + \ ['AUDIO', 'MODE1', 'MODE1_RAW', 'MODE2', 'MODE2_FORM1', + \ 'MODE2_FORM2', 'MODE2_FORM_MIX', 'MODE2_RAW']) + +call s:def_keywords('cdrtocTrackSubChannelMode', + \ '@cdrtocTrackFollow', + \ ['RW', 'RW_RAW']) + +syn cluster cdrtocTrackFlags + \ contains= + \ cdrtocTrackFlagNo, + \ cdrtocTrackFlagCopy, + \ cdrtocTrackFlagPreEmphasis, + \ cdrtocTrackFlag + +call s:def_keyword('cdrtocTrackFlagNo', + \ 'cdrtocTrackFlagCopy,cdrtocTrackFlagPreEmphasis', + \ 'NO') + +call s:def_keyword('cdrtocTrackFlagCopy', '@cdrtocTrackFollow', 'COPY') + +call s:def_keyword('cdrtocTrackFlagPreEmphasis', '@cdrtocTrackFollow', 'PRE_EMPHASIS') + +call s:def_keywords('cdrtocTrackFlag', + \ '@cdrtocTrackFollow', + \ ['TWO_CHANNEL_AUDIO', 'FOUR_CHANNEL_AUDIO']) + +call s:def_keyword('cdrtocTrackFlag', 'cdrtocTrackISRC', 'ISRC') + +call s:def_match('cdrtocTrackISRC', + \ '@cdrtocTrackFollow', + \ '"[[:upper:][:digit:]]\{5}\d\{7}"') + +call s:def_keyword('cdrtocTrackCDText', 'cdrtocTrackCDTextStart', 'CD_TEXT') + +call s:def_match('cdrtocTrackCDTextStart', 'cdrtocTrackCDTextLanguage', '{') + +call s:def_keyword('cdrtocTrackCDTextLanguage', 'cdrtocTrackCDTextLanguageNumber', 'LANGUAGE') + +call s:def_match('cdrtocTrackCDTextLanguageNumber', 'cdrtocTrackCDTextLanguageStart', '\<[0-7]\>') + +call s:def_match('cdrtocTrackCDTextLanguageStart', + \ 'cdrtocTrackCDTextItem,cdrtocTrackCDTextLanguageEnd', + \ '{') + +syn cluster cdrtocTrackCDTextData + \ contains= + \ cdrtocTrackCDTextDataString, + \ cdrtocTrackCDTextDataBinaryStart + +call s:def_keywords('cdrtocTrackCDTextItem', + \ '@cdrtocTrackCDTextData', + \ ['TITLE', 'PERFORMER', 'SONGWRITER', 'COMPOSER', 'ARRANGER', + \ 'MESSAGE', 'ISRC']) + +call s:def_region('cdrtocTrackCDTextDataString', + \ 'cdrtocTrackCDTextItem,cdrtocTrackCDTextLanguageEnd', + \ '"', + \ '\\\\\|\\"', + \ '"', + \ 'cdrtocTrackCDTextDataStringDelimiters', + \ 'cdrtocTrackCDTextDataStringSpecialChar') + +syn match cdrtocTrackCDTextDataStringSpecialChar + \ contained + \ display + \ '\\\%(\o\o\o\|["\\]\)' + +call s:def_match('cdrtocTrackCDTextDataBinaryStart', + \ 'cdrtocTrackCDTextDataBinaryInteger', + \ '{') + +call s:def_match('cdrtocTrackCDTextDataBinaryInteger', + \ 'cdrtocTrackCDTextDataBinarySeparator,cdrtocTrackCDTextDataBinaryEnd', + \ s:byte_pattern) + +call s:def_match('cdrtocTrackCDTextDataBinarySeparator', + \ 'cdrtocTrackCDTextDataBinaryInteger', + \ ',') + +call s:def_match('cdrtocTrackCDTextDataBinaryEnd', + \ 'cdrtocTrackCDTextItem,cdrtocTrackCDTextLanguageEnd', + \ '}') + +call s:def_match('cdrtocTrackCDTextLanguageEnd', + \ 'cdrtocTrackCDTextLanguage,cdrtocTrackCDTextEnd', + \ '}') + +call s:def_match('cdrtocTrackCDTextEnd', + \ 'cdrtocTrackPregap,@cdrtocTrackContents', + \ '}') + +call s:def_keyword('cdrtocTrackPregap', 'cdrtocTrackPregapMMSSFF', 'PREGAP') + +call s:def_match('cdrtocTrackPregapMMSSFF', + \ '@cdrtocTrackContents', + \ s:mmssff_pattern) + +syn cluster cdrtocTrackContents + \ contains= + \ cdrtocTrackSubTrack, + \ cdrtocTrackMarker + +syn cluster cdrtocTrackContentsFollow + \ contains= + \ @cdrtocTrackContents, + \ cdrtocTrackIndex, + \ cdrtocTrack + +call s:def_keywords('cdrtocTrackSubTrack', + \ 'cdrtocTrackSubTrackFileFilename', + \ ['FILE', 'AUDIOFILE']) + +call s:def_region('cdrtocTrackSubTrackFileFilename', + \ 'cdrtocTrackSubTrackFileStart', + \ '"', + \ '\\\\\|\\"', + \ '"', + \ 'cdrtocTrackSubTrackFileFilenameDelimiters', + \ 'cdrtocTrackSubTrackFileFilenameSpecialChar') + +syn match cdrtocTrackSubTrackFileFilenameSpecialChar + \ contained + \ display + \ '\\\%(\o\o\o\|["\\]\)' + +call s:def_match('cdrtocTrackSubTrackFileStart', + \ 'cdrtocTrackSubTrackFileLength,@cdrtocTrackContentsFollow', + \ s:length_pattern) + +call s:def_match('cdrtocTrackSubTrackFileLength', + \ '@cdrtocTrackContentsFollow', + \ s:length_pattern) + +call s:def_keyword('cdrtocTrackSubTrack', 'cdrtocTrackContentDatafileFilename', 'DATAFILE') + +call s:def_region('cdrtocTrackSubTrackDatafileFilename', + \ 'cdrtocTrackSubTrackDatafileLength', + \ '"', + \ '\\\\\|\\"', + \ '"', + \ 'cdrtocTrackSubTrackDatafileFilenameDelimiters', + \ 'cdrtocTrackSubTrackDatafileFilenameSpecialChar') + +syn match cdrtocTrackSubTrackdatafileFilenameSpecialChar + \ contained + \ display + \ '\\\%(\o\o\o\|["\\]\)' + +call s:def_match('cdrtocTrackDatafileLength', + \ '@cdrtocTrackContentsFollow', + \ s:length_pattern) + +call s:def_keyword('cdrtocTrackSubTrack', 'cdrtocTrackContentFifoFilename', 'DATAFILE') + +call s:def_region('cdrtocTrackSubTrackFifoFilename', + \ 'cdrtocTrackSubTrackFifoLength', + \ '"', + \ '\\\\\|\\"', + \ '"', + \ 'cdrtocTrackSubTrackFifoFilenameDelimiters', + \ 'cdrtocTrackSubTrackFifoFilenameSpecialChar') + +syn match cdrtocTrackSubTrackdatafileFilenameSpecialChar + \ contained + \ display + \ '\\\%(\o\o\o\|["\\]\)' + +call s:def_match('cdrtocTrackFifoLength', + \ '@cdrtocTrackContentsFollow', + \ s:length_pattern) + +call s:def_keyword('cdrtocTrackSubTrack', 'cdrtocTrackSilenceLength', 'SILENCE') + +call s:def_match('cdrtocTrackSilenceLength', + \ '@cdrtocTrackContentsFollow', + \ s:length_pattern) + +call s:def_keyword('cdrtocTrackSubTrack', + \ 'cdrtocTrackSubTrackZeroDataMode,' . + \ 'cdrtocTrackSubTrackZeroDataSubChannelMode,' . + \ 'cdrtocTrackSubTrackZeroDataLength', + \ 'ZERO') + +call s:def_keywords('cdrtocTrackSubTrackZeroDataMode', + \ 'cdrtocTrackSubTrackZeroSubChannelMode,cdrtocTrackSubTrackZeroDataLength', + \ ['AUDIO', 'MODE1', 'MODE1_RAW', 'MODE2', 'MODE2_FORM1', + \ 'MODE2_FORM2', 'MODE2_FORM_MIX', 'MODE2_RAW']) + +call s:def_keywords('cdrtocTrackSubTrackZeroDataSubChannelMode', + \ 'cdrtocTrackSubTrackZeroDataLength', + \ ['RW', 'RW_RAW']) + +call s:def_match('cdrtocTrackSubTrackZeroDataLength', + \ '@cdrtocTrackContentsFollow', + \ s:length_pattern) + +call s:def_keyword('cdrtocTrackMarker', + \ '@cdrtocTrackContentsFollow,cdrtocTrackMarkerStartMMSSFF', + \ 'START') + +call s:def_match('cdrtocTrackMarkerStartMMSSFF', + \ '@cdrtocTrackContentsFollow', + \ s:mmssff_pattern) + +call s:def_keyword('cdrtocTrackMarker', + \ '@cdrtocTrackContentsFollow,cdrtocTrackMarkerEndMMSSFF', + \ 'END') + +call s:def_match('cdrtocTrackMarkerEndMMSSFF', + \ '@cdrtocTrackContentsFollow', + \ s:mmssff_pattern) + +call s:def_keyword('cdrtocTrackIndex', 'cdrtocTrackIndexMMSSFF', 'INDEX') + +call s:def_match('cdrtocTrackIndexMMSSFF', + \ 'cdrtocTrackIndex,cdrtocTrack', + \ s:mmssff_pattern) + +delfunction s:def_region +delfunction s:def_match +delfunction s:def_keyword +delfunction s:def_keywords +delfunction s:def_comment + +syn sync fromstart + +hi def link cdrtocKeyword Keyword +hi def link cdrtocHeaderKeyword cdrtocKeyword +hi def link cdrtocHeaderCDText cdrtocHeaderKeyword +hi def link cdrtocDelimiter Delimiter +hi def link cdrtocCDTextDataBinaryEnd cdrtocDelimiter +hi def link cdrtocHeaderCDTextDataBinaryEnd cdrtocHeaderCDTextDataBinaryEnd +hi def link cdrtocNumber Number +hi def link cdrtocCDTextDataBinaryInteger cdrtocNumber +hi def link cdrtocHeaderCDTextDataBinaryInteger cdrtocCDTextDataBinaryInteger +hi def link cdrtocCDTextDataBinarySeparator cdrtocDelimiter +hi def link cdrtocHeaderCDTextDataBinarySeparator cdrtocCDTextDataBinarySeparator +hi def link cdrtocCDTextDataBinaryStart cdrtocDelimiter +hi def link cdrtocHeaderCDTextDataBinaryStart cdrtocCDTextDataBinaryStart +hi def link cdrtocString String +hi def link cdrtocCDTextDataString cdrtocString +hi def link cdrtocHeaderCDTextDataString cdrtocCDTextDataString +hi def link cdrtocCDTextDataStringDelimiters cdrtocDelimiter +hi def link cdrtocHeaderCDTextDataStringDelimiters cdrtocCDTextDataStringDelimiters +hi def link cdrtocCDTextDataStringSpecialChar SpecialChar +hi def link cdrtocHeaderCDTextDataStringSpecialChar cdrtocCDTextDataStringSpecialChar +hi def link cdrtocCDTextEnd cdrtocDelimiter +hi def link cdrtocHeaderCDTextEnd cdrtocCDTextEnd +hi def link cdrtocType Type +hi def link cdrtocCDTextItem cdrtocType +hi def link cdrtocHeaderCDTextItem cdrtocCDTextItem +hi def link cdrtocHeaderCDTextLanguageMap cdrtocHeaderKeyword +hi def link cdrtocCDTextStart cdrtocDelimiter +hi def link cdrtocHeaderCDTextStart cdrtocCDTextStart +hi def link cdrtocHeaderCatalog cdrtocHeaderKeyword +hi def link cdrtocHeaderCatalogNumber cdrtocString +hi def link cdrtocComment Comment +hi def link cdrtocHeaderCommentInitial cdrtocComment +hi def link cdrtocHeaderLanguage cdrtocKeyword +hi def link cdrtocLanguageEnd cdrtocDelimiter +hi def link cdrtocHeaderLanguageEnd cdrtocLanguageEnd +hi def link cdrtocHeaderLanguageMapColon cdrtocDelimiter +hi def link cdrtocIdentifier Identifier +hi def link cdrtocHeaderLanguageMapCountryCode cdrtocNumber +hi def link cdrtocHeaderLanguageMapCountryCodeName cdrtocIdentifier +hi def link cdrtocHeaderLanguageMapEnd cdrtocDelimiter +hi def link cdrtocHeaderLanguageMapLanguageNumber cdrtocNumber +hi def link cdrtocHeaderLanguageMapStart cdrtocDelimiter +hi def link cdrtocLanguageNumber cdrtocNumber +hi def link cdrtocHeaderLanguageNumber cdrtocLanguageNumber +hi def link cdrtocLanguageStart cdrtocDelimiter +hi def link cdrtocHeaderLanguageStart cdrtocLanguageStart +hi def link cdrtocHeaderTOCType cdrtocType +hi def link cdrtocTodo Todo +hi def link cdrtocTrackKeyword cdrtocKeyword +hi def link cdrtocTrack cdrtocTrackKeyword +hi def link cdrtocTrackCDText cdrtocTrackKeyword +hi def link cdrtocTrackCDTextDataBinaryEnd cdrtocHeaderCDTextDataBinaryEnd +hi def link cdrtocTrackCDTextDataBinaryInteger cdrtocHeaderCDTextDataBinaryInteger +hi def link cdrtocTrackCDTextDataBinarySeparator cdrtocHeaderCDTextDataBinarySeparator +hi def link cdrtocTrackCDTextDataBinaryStart cdrtocHeaderCDTextDataBinaryStart +hi def link cdrtocTrackCDTextDataString cdrtocHeaderCDTextDataString +hi def link cdrtocTrackCDTextDataStringDelimiters cdrtocCDTextDataStringDelimiters +hi def link cdrtocTrackCDTextDataStringSpecialChar cdrtocCDTextDataStringSpecialChar +hi def link cdrtocTrackCDTextEnd cdrtocCDTextEnd +hi def link cdrtocTrackCDTextItem cdrtocCDTextItem +hi def link cdrtocTrackCDTextStart cdrtocCDTextStart +hi def link cdrtocLength cdrtocNumber +hi def link cdrtocTrackDatafileLength cdrtocLength +hi def link cdrtocTrackFifoLength cdrtocLength +hi def link cdrtocPreProc PreProc +hi def link cdrtocTrackFlag cdrtocPreProc +hi def link cdrtocTrackFlagCopy cdrtocTrackFlag +hi def link cdrtocSpecial Special +hi def link cdrtocTrackFlagNo cdrtocSpecial +hi def link cdrtocTrackFlagPreEmphasis cdrtocTrackFlag +hi def link cdrtocTrackISRC cdrtocTrackFlag +hi def link cdrtocTrackIndex cdrtocTrackKeyword +hi def link cdrtocMMSSFF cdrtocLength +hi def link cdrtocTrackIndexMMSSFF cdrtocMMSSFF +hi def link cdrtocTrackCDTextLanguage cdrtocTrackKeyword +hi def link cdrtocTrackCDTextLanguageEnd cdrtocLanguageEnd +hi def link cdrtocTrackCDTextLanguageNumber cdrtocLanguageNumber +hi def link cdrtocTrackCDTextLanguageStart cdrtocLanguageStart +hi def link cdrtocTrackContents StorageClass +hi def link cdrtocTrackMarker cdrtocTrackContents +hi def link cdrtocTrackMarkerEndMMSSFF cdrtocMMSSFF +hi def link cdrtocTrackMarkerStartMMSSFF cdrtocMMSSFF +hi def link cdrtocTrackMode Type +hi def link cdrtocTrackPregap cdrtocTrackContents +hi def link cdrtocTrackPregapMMSSFF cdrtocMMSSFF +hi def link cdrtocTrackSilenceLength cdrtocLength +hi def link cdrtocTrackSubChannelMode cdrtocPreProc +hi def link cdrtocTrackSubTrack cdrtocTrackContents +hi def link cdrtocFilename cdrtocString +hi def link cdrtocTrackSubTrackDatafileFilename cdrtocFilename +hi def link cdrtocTrackSubTrackDatafileFilenameDelimiters cdrtocTrackSubTrackDatafileFilename +hi def link cdrtocSpecialChar SpecialChar +hi def link cdrtocTrackSubTrackDatafileFilenameSpecialChar cdrtocSpecialChar +hi def link cdrtocTrackSubTrackDatafileLength cdrtocLength +hi def link cdrtocTrackSubTrackFifoFilename cdrtocFilename +hi def link cdrtocTrackSubTrackFifoFilenameDelimiters cdrtocTrackSubTrackFifoFilename +hi def link cdrtocTrackSubTrackFifoFilenameSpecialChar cdrtocSpecialChar +hi def link cdrtocTrackSubTrackFifoLength cdrtocLength +hi def link cdrtocTrackSubTrackFileFilename cdrtocFilename +hi def link cdrtocTrackSubTrackFileFilenameDelimiters cdrtocTrackSubTrackFileFilename +hi def link cdrtocTrackSubTrackFileFilenameSpecialChar cdrtocSpecialChar +hi def link cdrtocTrackSubTrackFileLength cdrtocLength +hi def link cdrtocTrackSubTrackFileStart cdrtocLength +hi def link cdrtocTrackSubTrackZeroDataLength cdrtocLength +hi def link cdrtocTrackSubTrackZeroDataMode Type +hi def link cdrtocTrackSubTrackZeroDataSubChannelMode cdrtocPreProc +hi def link cdrtocTrackSubTrackdatafileFilenameSpecialChar cdrtocSpecialChar + +let b:current_syntax = "cdrtoc" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/cdrtoc.vim b/uvim/runtime/syntax/cdrtoc.vim deleted file mode 100644 index 866784d7c2..0000000000 --- a/uvim/runtime/syntax/cdrtoc.vim +++ /dev/null @@ -1,537 +0,0 @@ -" Vim syntax file -" Language: cdrdao(1) TOC file -" Previous Maintainer: Nikolai Weibull -" Latest Revision: 2007-05-10 - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn keyword cdrtocTodo - \ contained - \ TODO - \ FIXME - \ XXX - \ NOTE - -syn cluster cdrtocCommentContents - \ contains= - \ cdrtocTodo, - \ @Spell - -syn cluster cdrtocHeaderFollowsInitial - \ contains= - \ cdrtocHeaderCommentInitial, - \ cdrtocHeaderCatalog, - \ cdrtocHeaderTOCType, - \ cdrtocHeaderCDText, - \ cdrtocTrack - -syn match cdrtocHeaderBegin - \ nextgroup=@cdrtocHeaderFollowsInitial - \ skipwhite skipempty - \ '\%^' - -let s:mmssff_pattern = '\%([0-5]\d\|\d\):\%([0-5]\d\|\d\):\%([0-6]\d\|7[0-5]\|\d\)\>' -let s:byte_pattern = '\<\%([01]\=\d\{1,2}\|2\%([0-4]\d\|5[0-5]\)\)\>' -let s:length_pattern = '\%(\%([0-5]\d\|\d\):\%([0-5]\d\|\d\):\%([0-6]\d\|7[0-5]\|\d\)\|\d\+\)\>' - -function s:def_comment(name, nextgroup) - execute 'syn match' a:name - \ 'nextgroup=' . a:nextgroup . ',' . a:name - \ 'skipwhite skipempty' - \ 'contains=@cdrtocCommentContents' - \ 'contained' - \ "'//.*$'" - execute 'hi def link' a:name 'cdrtocComment' -endfunction - -function s:def_keywords(name, nextgroup, keywords) - let comment_group = a:name . 'FollowComment' - execute 'syn keyword' a:name - \ 'nextgroup=' . a:nextgroup . ',' . comment_group - \ 'skipwhite skipempty' - \ 'contained' - \ join(a:keywords) - - call s:def_comment(comment_group, a:nextgroup) -endfunction - -function s:def_keyword(name, nextgroup, keyword) - call s:def_keywords(a:name, a:nextgroup, [a:keyword]) -endfunction - -" NOTE: Pattern needs to escape any “@”s. -function s:def_match(name, nextgroup, pattern) - let comment_group = a:name . 'FollowComment' - execute 'syn match' a:name - \ 'nextgroup=' . a:nextgroup . ',' . comment_group - \ 'skipwhite skipempty' - \ 'contained' - \ '@' . a:pattern . '@' - - call s:def_comment(comment_group, a:nextgroup) -endfunction - -function s:def_region(name, nextgroup, start, skip, end, matchgroup, contains) - let comment_group = a:name . 'FollowComment' - execute 'syn region' a:name - \ 'nextgroup=' . a:nextgroup . ',' . comment_group - \ 'skipwhite skipempty' - \ 'contained' - \ 'matchgroup=' . a:matchgroup - \ 'contains=' . a:contains - \ 'start=@' . a:start . '@' - \ (a:skip != "" ? ('skip=@' . a:skip . '@') : "") - \ 'end=@' . a:end . '@' - - call s:def_comment(comment_group, a:nextgroup) -endfunction - -call s:def_comment('cdrtocHeaderCommentInitial', '@cdrtocHeaderFollowsInitial') - -call s:def_keyword('cdrtocHeaderCatalog', 'cdrtocHeaderCatalogNumber', 'CATALOG') - -call s:def_match('cdrtocHeaderCatalogNumber', '@cdrtocHeaderFollowsInitial', '"\d\{13\}"') - -call s:def_keywords('cdrtocHeaderTOCType', '@cdrtocHeaderFollowsInitial', ['CD_DA', 'CD_ROM', 'CD_ROM_XA']) - -call s:def_keyword('cdrtocHeaderCDText', 'cdrtocHeaderCDTextStart', 'CD_TEXT') - -" TODO: Actually, language maps aren’t required by TocParser.g, but let’s keep -" things simple (and in agreement with what the manual page says). -call s:def_match('cdrtocHeaderCDTextStart', 'cdrtocHeaderCDTextLanguageMap', '{') - -call s:def_keyword('cdrtocHeaderCDTextLanguageMap', 'cdrtocHeaderLanguageMapStart', 'LANGUAGE_MAP') - -call s:def_match('cdrtocHeaderLanguageMapStart', 'cdrtocHeaderLanguageMapLanguageNumber', '{') - -call s:def_match('cdrtocHeaderLanguageMapLanguageNumber', 'cdrtocHeaderLanguageMapColon', '\<[0-7]\>') - -call s:def_match('cdrtocHeaderLanguageMapColon', 'cdrtocHeaderLanguageMapCountryCode,cdrtocHeaderLanguageMapCountryCodeName', ':') - -syn cluster cdrtocHeaderLanguageMapCountryCodeFollow - \ contains= - \ cdrtocHeaderLanguageMapLanguageNumber, - \ cdrtocHeaderLanguageMapEnd - -call s:def_match('cdrtocHeaderLanguageMapCountryCode', - \ '@cdrtocHeaderLanguageMapCountryCodeFollow', - \ s:byte_pattern) - -call s:def_keyword('cdrtocHeaderLanguageMapCountryCodeName', - \ '@cdrtocHeaderLanguageMapCountryCodeFollow', - \ 'EN') - -call s:def_match('cdrtocHeaderLanguageMapEnd', - \ 'cdrtocHeaderLanguage,cdrtocHeaderCDTextEnd', - \ '}') - -call s:def_keyword('cdrtocHeaderLanguage', 'cdrtocHeaderLanguageNumber', 'LANGUAGE') - -call s:def_match('cdrtocHeaderLanguageNumber', 'cdrtocHeaderLanguageStart', '\<[0-7]\>') - -call s:def_match('cdrtocHeaderLanguageStart', - \ 'cdrtocHeaderCDTextItem,cdrtocHeaderLanguageEnd', - \ '{') - -syn cluster cdrtocHeaderCDTextData - \ contains= - \ cdrtocHeaderCDTextDataString, - \ cdrtocHeaderCDTextDataBinaryStart - -call s:def_keywords('cdrtocHeaderCDTextItem', - \ '@cdrtocHeaderCDTextData', - \ ['TITLE', 'PERFORMER', 'SONGWRITER', 'COMPOSER', - \ 'ARRANGER', 'MESSAGE', 'DISC_ID', 'GENRE', 'TOC_INFO1', - \ 'TOC_INFO2', 'UPC_EAN', 'ISRC', 'SIZE_INFO']) - -call s:def_region('cdrtocHeaderCDTextDataString', - \ 'cdrtocHeaderCDTextItem,cdrtocHeaderLanguageEnd', - \ '"', - \ '\\\\\|\\"', - \ '"', - \ 'cdrtocHeaderCDTextDataStringDelimiters', - \ 'cdrtocHeaderCDTextDataStringSpecialChar') - -syn match cdrtocHeaderCDTextDataStringSpecialChar - \ contained - \ display - \ '\\\%(\o\o\o\|["\\]\)' - -call s:def_match('cdrtocHeaderCDTextDataBinaryStart', - \ 'cdrtocHeaderCDTextDataBinaryInteger', - \ '{') - -call s:def_match('cdrtocHeaderCDTextDataBinaryInteger', - \ 'cdrtocHeaderCDTextDataBinarySeparator,cdrtocHeaderCDTextDataBinaryEnd', - \ s:byte_pattern) - -call s:def_match('cdrtocHeaderCDTextDataBinarySeparator', - \ 'cdrtocHeaderCDTextDataBinaryInteger', - \ ',') - -call s:def_match('cdrtocHeaderCDTextDataBinaryEnd', - \ 'cdrtocHeaderCDTextItem,cdrtocHeaderLanguageEnd', - \ '}') - -call s:def_match('cdrtocHeaderLanguageEnd', - \ 'cdrtocHeaderLanguage,cdrtocHeaderCDTextEnd', - \ '}') - -call s:def_match('cdrtocHeaderCDTextEnd', - \ 'cdrtocTrack', - \ '}') - -syn cluster cdrtocTrackFollow - \ contains= - \ @cdrtocTrackFlags, - \ cdrtocTrackCDText, - \ cdrtocTrackPregap, - \ @cdrtocTrackContents - -call s:def_keyword('cdrtocTrack', 'cdrtocTrackMode', 'TRACK') - -call s:def_keywords('cdrtocTrackMode', - \ 'cdrtocTrackSubChannelMode,@cdrtocTrackFollow', - \ ['AUDIO', 'MODE1', 'MODE1_RAW', 'MODE2', 'MODE2_FORM1', - \ 'MODE2_FORM2', 'MODE2_FORM_MIX', 'MODE2_RAW']) - -call s:def_keywords('cdrtocTrackSubChannelMode', - \ '@cdrtocTrackFollow', - \ ['RW', 'RW_RAW']) - -syn cluster cdrtocTrackFlags - \ contains= - \ cdrtocTrackFlagNo, - \ cdrtocTrackFlagCopy, - \ cdrtocTrackFlagPreEmphasis, - \ cdrtocTrackFlag - -call s:def_keyword('cdrtocTrackFlagNo', - \ 'cdrtocTrackFlagCopy,cdrtocTrackFlagPreEmphasis', - \ 'NO') - -call s:def_keyword('cdrtocTrackFlagCopy', '@cdrtocTrackFollow', 'COPY') - -call s:def_keyword('cdrtocTrackFlagPreEmphasis', '@cdrtocTrackFollow', 'PRE_EMPHASIS') - -call s:def_keywords('cdrtocTrackFlag', - \ '@cdrtocTrackFollow', - \ ['TWO_CHANNEL_AUDIO', 'FOUR_CHANNEL_AUDIO']) - -call s:def_keyword('cdrtocTrackFlag', 'cdrtocTrackISRC', 'ISRC') - -call s:def_match('cdrtocTrackISRC', - \ '@cdrtocTrackFollow', - \ '"[[:upper:][:digit:]]\{5}\d\{7}"') - -call s:def_keyword('cdrtocTrackCDText', 'cdrtocTrackCDTextStart', 'CD_TEXT') - -call s:def_match('cdrtocTrackCDTextStart', 'cdrtocTrackCDTextLanguage', '{') - -call s:def_keyword('cdrtocTrackCDTextLanguage', 'cdrtocTrackCDTextLanguageNumber', 'LANGUAGE') - -call s:def_match('cdrtocTrackCDTextLanguageNumber', 'cdrtocTrackCDTextLanguageStart', '\<[0-7]\>') - -call s:def_match('cdrtocTrackCDTextLanguageStart', - \ 'cdrtocTrackCDTextItem,cdrtocTrackCDTextLanguageEnd', - \ '{') - -syn cluster cdrtocTrackCDTextData - \ contains= - \ cdrtocTrackCDTextDataString, - \ cdrtocTrackCDTextDataBinaryStart - -call s:def_keywords('cdrtocTrackCDTextItem', - \ '@cdrtocTrackCDTextData', - \ ['TITLE', 'PERFORMER', 'SONGWRITER', 'COMPOSER', 'ARRANGER', - \ 'MESSAGE', 'ISRC']) - -call s:def_region('cdrtocTrackCDTextDataString', - \ 'cdrtocTrackCDTextItem,cdrtocTrackCDTextLanguageEnd', - \ '"', - \ '\\\\\|\\"', - \ '"', - \ 'cdrtocTrackCDTextDataStringDelimiters', - \ 'cdrtocTrackCDTextDataStringSpecialChar') - -syn match cdrtocTrackCDTextDataStringSpecialChar - \ contained - \ display - \ '\\\%(\o\o\o\|["\\]\)' - -call s:def_match('cdrtocTrackCDTextDataBinaryStart', - \ 'cdrtocTrackCDTextDataBinaryInteger', - \ '{') - -call s:def_match('cdrtocTrackCDTextDataBinaryInteger', - \ 'cdrtocTrackCDTextDataBinarySeparator,cdrtocTrackCDTextDataBinaryEnd', - \ s:byte_pattern) - -call s:def_match('cdrtocTrackCDTextDataBinarySeparator', - \ 'cdrtocTrackCDTextDataBinaryInteger', - \ ',') - -call s:def_match('cdrtocTrackCDTextDataBinaryEnd', - \ 'cdrtocTrackCDTextItem,cdrtocTrackCDTextLanguageEnd', - \ '}') - -call s:def_match('cdrtocTrackCDTextLanguageEnd', - \ 'cdrtocTrackCDTextLanguage,cdrtocTrackCDTextEnd', - \ '}') - -call s:def_match('cdrtocTrackCDTextEnd', - \ 'cdrtocTrackPregap,@cdrtocTrackContents', - \ '}') - -call s:def_keyword('cdrtocTrackPregap', 'cdrtocTrackPregapMMSSFF', 'PREGAP') - -call s:def_match('cdrtocTrackPregapMMSSFF', - \ '@cdrtocTrackContents', - \ s:mmssff_pattern) - -syn cluster cdrtocTrackContents - \ contains= - \ cdrtocTrackSubTrack, - \ cdrtocTrackMarker - -syn cluster cdrtocTrackContentsFollow - \ contains= - \ @cdrtocTrackContents, - \ cdrtocTrackIndex, - \ cdrtocTrack - -call s:def_keywords('cdrtocTrackSubTrack', - \ 'cdrtocTrackSubTrackFileFilename', - \ ['FILE', 'AUDIOFILE']) - -call s:def_region('cdrtocTrackSubTrackFileFilename', - \ 'cdrtocTrackSubTrackFileStart', - \ '"', - \ '\\\\\|\\"', - \ '"', - \ 'cdrtocTrackSubTrackFileFilenameDelimiters', - \ 'cdrtocTrackSubTrackFileFilenameSpecialChar') - -syn match cdrtocTrackSubTrackFileFilenameSpecialChar - \ contained - \ display - \ '\\\%(\o\o\o\|["\\]\)' - -call s:def_match('cdrtocTrackSubTrackFileStart', - \ 'cdrtocTrackSubTrackFileLength,@cdrtocTrackContentsFollow', - \ s:length_pattern) - -call s:def_match('cdrtocTrackSubTrackFileLength', - \ '@cdrtocTrackContentsFollow', - \ s:length_pattern) - -call s:def_keyword('cdrtocTrackSubTrack', 'cdrtocTrackContentDatafileFilename', 'DATAFILE') - -call s:def_region('cdrtocTrackSubTrackDatafileFilename', - \ 'cdrtocTrackSubTrackDatafileLength', - \ '"', - \ '\\\\\|\\"', - \ '"', - \ 'cdrtocTrackSubTrackDatafileFilenameDelimiters', - \ 'cdrtocTrackSubTrackDatafileFilenameSpecialChar') - -syn match cdrtocTrackSubTrackdatafileFilenameSpecialChar - \ contained - \ display - \ '\\\%(\o\o\o\|["\\]\)' - -call s:def_match('cdrtocTrackDatafileLength', - \ '@cdrtocTrackContentsFollow', - \ s:length_pattern) - -call s:def_keyword('cdrtocTrackSubTrack', 'cdrtocTrackContentFifoFilename', 'DATAFILE') - -call s:def_region('cdrtocTrackSubTrackFifoFilename', - \ 'cdrtocTrackSubTrackFifoLength', - \ '"', - \ '\\\\\|\\"', - \ '"', - \ 'cdrtocTrackSubTrackFifoFilenameDelimiters', - \ 'cdrtocTrackSubTrackFifoFilenameSpecialChar') - -syn match cdrtocTrackSubTrackdatafileFilenameSpecialChar - \ contained - \ display - \ '\\\%(\o\o\o\|["\\]\)' - -call s:def_match('cdrtocTrackFifoLength', - \ '@cdrtocTrackContentsFollow', - \ s:length_pattern) - -call s:def_keyword('cdrtocTrackSubTrack', 'cdrtocTrackSilenceLength', 'SILENCE') - -call s:def_match('cdrtocTrackSilenceLength', - \ '@cdrtocTrackContentsFollow', - \ s:length_pattern) - -call s:def_keyword('cdrtocTrackSubTrack', - \ 'cdrtocTrackSubTrackZeroDataMode,' . - \ 'cdrtocTrackSubTrackZeroDataSubChannelMode,' . - \ 'cdrtocTrackSubTrackZeroDataLength', - \ 'ZERO') - -call s:def_keywords('cdrtocTrackSubTrackZeroDataMode', - \ 'cdrtocTrackSubTrackZeroSubChannelMode,cdrtocTrackSubTrackZeroDataLength', - \ ['AUDIO', 'MODE1', 'MODE1_RAW', 'MODE2', 'MODE2_FORM1', - \ 'MODE2_FORM2', 'MODE2_FORM_MIX', 'MODE2_RAW']) - -call s:def_keywords('cdrtocTrackSubTrackZeroDataSubChannelMode', - \ 'cdrtocTrackSubTrackZeroDataLength', - \ ['RW', 'RW_RAW']) - -call s:def_match('cdrtocTrackSubTrackZeroDataLength', - \ '@cdrtocTrackContentsFollow', - \ s:length_pattern) - -call s:def_keyword('cdrtocTrackMarker', - \ '@cdrtocTrackContentsFollow,cdrtocTrackMarkerStartMMSSFF', - \ 'START') - -call s:def_match('cdrtocTrackMarkerStartMMSSFF', - \ '@cdrtocTrackContentsFollow', - \ s:mmssff_pattern) - -call s:def_keyword('cdrtocTrackMarker', - \ '@cdrtocTrackContentsFollow,cdrtocTrackMarkerEndMMSSFF', - \ 'END') - -call s:def_match('cdrtocTrackMarkerEndMMSSFF', - \ '@cdrtocTrackContentsFollow', - \ s:mmssff_pattern) - -call s:def_keyword('cdrtocTrackIndex', 'cdrtocTrackIndexMMSSFF', 'INDEX') - -call s:def_match('cdrtocTrackIndexMMSSFF', - \ 'cdrtocTrackIndex,cdrtocTrack', - \ s:mmssff_pattern) - -delfunction s:def_region -delfunction s:def_match -delfunction s:def_keyword -delfunction s:def_keywords -delfunction s:def_comment - -syn sync fromstart - -hi def link cdrtocKeyword Keyword -hi def link cdrtocHeaderKeyword cdrtocKeyword -hi def link cdrtocHeaderCDText cdrtocHeaderKeyword -hi def link cdrtocDelimiter Delimiter -hi def link cdrtocCDTextDataBinaryEnd cdrtocDelimiter -hi def link cdrtocHeaderCDTextDataBinaryEnd cdrtocHeaderCDTextDataBinaryEnd -hi def link cdrtocNumber Number -hi def link cdrtocCDTextDataBinaryInteger cdrtocNumber -hi def link cdrtocHeaderCDTextDataBinaryInteger cdrtocCDTextDataBinaryInteger -hi def link cdrtocCDTextDataBinarySeparator cdrtocDelimiter -hi def link cdrtocHeaderCDTextDataBinarySeparator cdrtocCDTextDataBinarySeparator -hi def link cdrtocCDTextDataBinaryStart cdrtocDelimiter -hi def link cdrtocHeaderCDTextDataBinaryStart cdrtocCDTextDataBinaryStart -hi def link cdrtocString String -hi def link cdrtocCDTextDataString cdrtocString -hi def link cdrtocHeaderCDTextDataString cdrtocCDTextDataString -hi def link cdrtocCDTextDataStringDelimiters cdrtocDelimiter -hi def link cdrtocHeaderCDTextDataStringDelimiters cdrtocCDTextDataStringDelimiters -hi def link cdrtocCDTextDataStringSpecialChar SpecialChar -hi def link cdrtocHeaderCDTextDataStringSpecialChar cdrtocCDTextDataStringSpecialChar -hi def link cdrtocCDTextEnd cdrtocDelimiter -hi def link cdrtocHeaderCDTextEnd cdrtocCDTextEnd -hi def link cdrtocType Type -hi def link cdrtocCDTextItem cdrtocType -hi def link cdrtocHeaderCDTextItem cdrtocCDTextItem -hi def link cdrtocHeaderCDTextLanguageMap cdrtocHeaderKeyword -hi def link cdrtocCDTextStart cdrtocDelimiter -hi def link cdrtocHeaderCDTextStart cdrtocCDTextStart -hi def link cdrtocHeaderCatalog cdrtocHeaderKeyword -hi def link cdrtocHeaderCatalogNumber cdrtocString -hi def link cdrtocComment Comment -hi def link cdrtocHeaderCommentInitial cdrtocComment -hi def link cdrtocHeaderLanguage cdrtocKeyword -hi def link cdrtocLanguageEnd cdrtocDelimiter -hi def link cdrtocHeaderLanguageEnd cdrtocLanguageEnd -hi def link cdrtocHeaderLanguageMapColon cdrtocDelimiter -hi def link cdrtocIdentifier Identifier -hi def link cdrtocHeaderLanguageMapCountryCode cdrtocNumber -hi def link cdrtocHeaderLanguageMapCountryCodeName cdrtocIdentifier -hi def link cdrtocHeaderLanguageMapEnd cdrtocDelimiter -hi def link cdrtocHeaderLanguageMapLanguageNumber cdrtocNumber -hi def link cdrtocHeaderLanguageMapStart cdrtocDelimiter -hi def link cdrtocLanguageNumber cdrtocNumber -hi def link cdrtocHeaderLanguageNumber cdrtocLanguageNumber -hi def link cdrtocLanguageStart cdrtocDelimiter -hi def link cdrtocHeaderLanguageStart cdrtocLanguageStart -hi def link cdrtocHeaderTOCType cdrtocType -hi def link cdrtocTodo Todo -hi def link cdrtocTrackKeyword cdrtocKeyword -hi def link cdrtocTrack cdrtocTrackKeyword -hi def link cdrtocTrackCDText cdrtocTrackKeyword -hi def link cdrtocTrackCDTextDataBinaryEnd cdrtocHeaderCDTextDataBinaryEnd -hi def link cdrtocTrackCDTextDataBinaryInteger cdrtocHeaderCDTextDataBinaryInteger -hi def link cdrtocTrackCDTextDataBinarySeparator cdrtocHeaderCDTextDataBinarySeparator -hi def link cdrtocTrackCDTextDataBinaryStart cdrtocHeaderCDTextDataBinaryStart -hi def link cdrtocTrackCDTextDataString cdrtocHeaderCDTextDataString -hi def link cdrtocTrackCDTextDataStringDelimiters cdrtocCDTextDataStringDelimiters -hi def link cdrtocTrackCDTextDataStringSpecialChar cdrtocCDTextDataStringSpecialChar -hi def link cdrtocTrackCDTextEnd cdrtocCDTextEnd -hi def link cdrtocTrackCDTextItem cdrtocCDTextItem -hi def link cdrtocTrackCDTextStart cdrtocCDTextStart -hi def link cdrtocLength cdrtocNumber -hi def link cdrtocTrackDatafileLength cdrtocLength -hi def link cdrtocTrackFifoLength cdrtocLength -hi def link cdrtocPreProc PreProc -hi def link cdrtocTrackFlag cdrtocPreProc -hi def link cdrtocTrackFlagCopy cdrtocTrackFlag -hi def link cdrtocSpecial Special -hi def link cdrtocTrackFlagNo cdrtocSpecial -hi def link cdrtocTrackFlagPreEmphasis cdrtocTrackFlag -hi def link cdrtocTrackISRC cdrtocTrackFlag -hi def link cdrtocTrackIndex cdrtocTrackKeyword -hi def link cdrtocMMSSFF cdrtocLength -hi def link cdrtocTrackIndexMMSSFF cdrtocMMSSFF -hi def link cdrtocTrackCDTextLanguage cdrtocTrackKeyword -hi def link cdrtocTrackCDTextLanguageEnd cdrtocLanguageEnd -hi def link cdrtocTrackCDTextLanguageNumber cdrtocLanguageNumber -hi def link cdrtocTrackCDTextLanguageStart cdrtocLanguageStart -hi def link cdrtocTrackContents StorageClass -hi def link cdrtocTrackMarker cdrtocTrackContents -hi def link cdrtocTrackMarkerEndMMSSFF cdrtocMMSSFF -hi def link cdrtocTrackMarkerStartMMSSFF cdrtocMMSSFF -hi def link cdrtocTrackMode Type -hi def link cdrtocTrackPregap cdrtocTrackContents -hi def link cdrtocTrackPregapMMSSFF cdrtocMMSSFF -hi def link cdrtocTrackSilenceLength cdrtocLength -hi def link cdrtocTrackSubChannelMode cdrtocPreProc -hi def link cdrtocTrackSubTrack cdrtocTrackContents -hi def link cdrtocFilename cdrtocString -hi def link cdrtocTrackSubTrackDatafileFilename cdrtocFilename -hi def link cdrtocTrackSubTrackDatafileFilenameDelimiters cdrtocTrackSubTrackDatafileFilename -hi def link cdrtocSpecialChar SpecialChar -hi def link cdrtocTrackSubTrackDatafileFilenameSpecialChar cdrtocSpecialChar -hi def link cdrtocTrackSubTrackDatafileLength cdrtocLength -hi def link cdrtocTrackSubTrackFifoFilename cdrtocFilename -hi def link cdrtocTrackSubTrackFifoFilenameDelimiters cdrtocTrackSubTrackFifoFilename -hi def link cdrtocTrackSubTrackFifoFilenameSpecialChar cdrtocSpecialChar -hi def link cdrtocTrackSubTrackFifoLength cdrtocLength -hi def link cdrtocTrackSubTrackFileFilename cdrtocFilename -hi def link cdrtocTrackSubTrackFileFilenameDelimiters cdrtocTrackSubTrackFileFilename -hi def link cdrtocTrackSubTrackFileFilenameSpecialChar cdrtocSpecialChar -hi def link cdrtocTrackSubTrackFileLength cdrtocLength -hi def link cdrtocTrackSubTrackFileStart cdrtocLength -hi def link cdrtocTrackSubTrackZeroDataLength cdrtocLength -hi def link cdrtocTrackSubTrackZeroDataMode Type -hi def link cdrtocTrackSubTrackZeroDataSubChannelMode cdrtocPreProc -hi def link cdrtocTrackSubTrackdatafileFilenameSpecialChar cdrtocSpecialChar - -let b:current_syntax = "cdrtoc" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/cf.mnv b/uvim/runtime/syntax/cf.mnv new file mode 100644 index 0000000000..f4e560931f --- /dev/null +++ b/uvim/runtime/syntax/cf.mnv @@ -0,0 +1,1018 @@ +" MNV syntax file +" +" Language: CFML (ColdFusion) +" Author: Ernst M. van der Linden +" License: The MIT License (MIT) +" +" Maintainer: Ernst M. van der Linden +" URL: https://github.com/ernstvanderlinden/mnv-coldfusion +" Last Change: 2017 Nov 28 +" +" Filenames: *.cfc *.cfm + +" Quit when a syntax file was already loaded. +if exists("b:current_syntax") + finish +endif + +" Using line continuation here. +let s:cpo_save=&cpo +set cpo-=C + +sy sync fromstart +" 20171126: disabled as we have fast computers now. +"sy sync maxlines=2000 +sy case ignore + +" INCLUDES {{{ +sy include @sqlSyntax $MNVRUNTIME/syntax/sql.mnv +" 20161010: Disabled include html highlighting as it contains huge keywords +" regex, so it will have impact on performance. Use own simple SGML tag +" coloring instead. +"runtime! syntax/html.mnv +" / INCLUDES }}} + +" NUMBER {{{ +sy match cfmlNumber + \ "\v<\d+>" +" / NUMBER }}} + +" EQUAL SIGN {{{ +sy match cfmlEqualSign + \ "\v\=" +" / EQUAL SIGN }}} + +" BOOLEAN {{{ +sy match cfmlBoolean + \ "\v<(true|false)>" +" / BOOLEAN }}} + +" HASH SURROUNDED {{{ +sy region cfmlHashSurround + \ keepend + \ oneline + \ start="#" + \ end="#" + \ skip="##" + \ contains= + \@cfmlOperator, + \@cfmlPunctuation, + \cfmlBoolean, + \cfmlCoreKeyword, + \cfmlCoreScope, + \cfmlCustomKeyword, + \cfmlCustomScope, + \cfmlEqualSign, + \cfmlFunctionName, + \cfmlNumber +" / HASH SURROUNDED }}} + +" OPERATOR {{{ + +" OPERATOR - ARITHMETIC {{{ +" +7 -7 +" ++i --i +" i++ i-- +" + - * / % +" += -= *= /= %= +" ^ mod +sy match cfmlArithmeticOperator + \ "\v + \(\+|-)\ze\d + \|(\+\+|--)\ze\w + \|\w\zs(\+\+|--) + \|(\s( + \(\+|-|\*|\/|\%){1}\={,1} + \|\^ + \|mod + \)\s) + \" +" / OPERATOR - ARITHMETIC }}} + +" OPERATOR - BOOLEAN {{{ +" not and or xor eqv imp +" ! && || +sy match cfmlBooleanOperator + \ "\v\s + \(not|and|or|xor|eqv|imp + \|\!|\&\&|\|\| + \)(\s|\)) + \|\s\!\ze\w + \" +" / OPERATOR - BOOLEAN }}} + +" OPERATOR - DECISION {{{ +"is|equal|eq +"is not|not equal|neq +"contains|does not contain +"greater than|gt +"less than|lt +"greater than or equal to|gte|ge +"less than or equal to|lte|le +"==|!=|>|<|>=|<= +sy match cfmlDecisionOperator + \ "\v\s + \(is|equal|eq + \|is not|not equal|neq + \|contains|does not contain + \|greater than|gt + \|less than|lt + \|greater than or equal to|gte|ge + \|less than or equal to|lte|le + \|(!|\<|\>|\=){1}\= + \|\< + \|\> + \)\s" +" / OPERATOR - DECISION }}} + +" OPERATOR - STRING {{{ +" & +" &= +sy match cfmlStringOperator + \ "\v\s\&\={,1}\s" +" / OPERATOR - STRING }}} + +" OPERATOR - TERNARY {{{ +" ? : +sy match cfmlTernaryOperator + \ "\v\s + \\?|\: + \\s" +" / OPERATOR - TERNARY }}} + +sy cluster cfmlOperator + \ contains= + \cfmlArithmeticOperator, + \cfmlBooleanOperator, + \cfmlDecisionOperator, + \cfmlStringOperator, + \cfmlTernaryOperator +" / OPERATOR }}} + +" PARENTHESIS {{{ +sy cluster cfmlParenthesisRegionContains + \ contains= + \@cfmlAttribute, + \@cfmlComment, + \@cfmlFlowStatement, + \@cfmlOperator, + \@cfmlPunctuation, + \cfmlBoolean, + \cfmlBrace, + \cfmlCoreKeyword, + \cfmlCoreScope, + \cfmlCustomKeyword, + \cfmlCustomScope, + \cfmlEqualSign, + \cfmlFunctionName, + \cfmlNumber, + \cfmlStorageKeyword, + \cfmlStorageType + +sy region cfmlParenthesisRegion1 + \ extend + \ matchgroup=cfmlParenthesis1 + \ transparent + \ start=/(/ + \ end=/)/ + \ contains= + \cfmlParenthesisRegion2, + \@cfmlParenthesisRegionContains +sy region cfmlParenthesisRegion2 + \ matchgroup=cfmlParenthesis2 + \ transparent + \ start=/(/ + \ end=/)/ + \ contains= + \cfmlParenthesisRegion3, + \@cfmlParenthesisRegionContains +sy region cfmlParenthesisRegion3 + \ matchgroup=cfmlParenthesis3 + \ transparent + \ start=/(/ + \ end=/)/ + \ contains= + \cfmlParenthesisRegion1, + \@cfmlParenthesisRegionContains +sy cluster cfmlParenthesisRegion + \ contains= + \cfmlParenthesisRegion1, + \cfmlParenthesisRegion2, + \cfmlParenthesisRegion3 +" / PARENTHESIS }}} + +" BRACE {{{ +sy match cfmlBrace + \ "{\|}" + +sy region cfmlBraceRegion + \ extend + \ fold + \ keepend + \ transparent + \ start="{" + \ end="}" +" / BRACE }}} + +" PUNCTUATION {{{ + +" PUNCTUATION - BRACKET {{{ +sy match cfmlBracket + \ "\(\[\|\]\)" + \ contained +" / PUNCTUATION - BRACKET }}} + +" PUNCTUATION - CHAR {{{ +sy match cfmlComma "," +sy match cfmlDot "\." +sy match cfmlSemiColon ";" + +" / PUNCTUATION - CHAR }}} + +" PUNCTUATION - QUOTE {{{ +sy region cfmlSingleQuotedValue + \ matchgroup=cfmlSingleQuote + \ start=/'/ + \ skip=/''/ + \ end=/'/ + \ contains= + \cfmlHashSurround + +sy region cfmlDoubleQuotedValue + \ matchgroup=cfmlDoubleQuote + \ start=/"/ + \ skip=/""/ + \ end=/"/ + \ contains= + \cfmlHashSurround + +sy cluster cfmlQuotedValue + \ contains= + \cfmlDoubleQuotedValue, + \cfmlSingleQuotedValue + +sy cluster cfmlQuote + \ contains= + \cfmlDoubleQuote, + \cfmlSingleQuote +" / PUNCTUATION - QUOTE }}} + +sy cluster cfmlPunctuation + \ contains= + \@cfmlQuote, + \@cfmlQuotedValue, + \cfmlBracket, + \cfmlComma, + \cfmlDot, + \cfmlSemiColon + +" / PUNCTUATION }}} + +" TAG START AND END {{{ +" tag start +" +" s^^ e +sy region cfmlTagStart + \ keepend + \ transparent + \ start="\c +" s^^^ e +sy match cfmlTagEnd + \ transparent + \ "\c]*>" + \ contains= + \cfmlTagBracket, + \cfmlTagName + +" tag bracket +" +" ^^ ^ +sy match cfmlTagBracket + \ contained + \ "\(<\|>\|\/\)" + +" tag name +" +" s^^^e +sy match cfmlTagName + \ contained + \ "\v<\/*\zs\ccf\w*" +" / TAG START AND END }}} + +" ATTRIBUTE NAME AND VALUE {{{ +sy match cfmlAttrName + \ contained + \ "\v(var\s)@ +" ^^^^^^^^^^^^^e +sy region cfmlComponentTagRegion + \ fold + \ keepend + \ transparent + \ start="\c +" ^^^^^^^^^^^^e +sy region cfmlFunctionTagRegion + \ fold + \ keepend + \ transparent + \ start="\c +" ^^^^^^e +sy region cfmlIfTagRegion + \ fold + \ keepend + \ transparent + \ start="\c +" ^^^^^^^^e +sy region cfmlLoopTagRegion + \ fold + \ keepend + \ transparent + \ start="\c +" ^^^^^^^^^^e +sy region cfmlOutputTagRegion + \ fold + \ keepend + \ transparent + \ start="\c +" ^^^^^^^^^e + "\@cfmlSqlStatement, +sy region cfmlQueryTagRegion + \ fold + \ keepend + \ transparent + \ start="\c +" ^^^^^^^^^^^^^e +sy region cfmlSavecontentTagRegion + \ fold + \ keepend + \ transparent + \ start="\c +" s^^^^^^^^^ +" +" ^^^^^^^^^^e +"\cfmlCustomScope, +sy region cfmlScriptTagRegion + \ fold + \ keepend + \ transparent + \ start="\c" + \ end="\c" + \ contains= + \@cfmlComment, + \@cfmlFlowStatement, + \cfmlHashSurround, + \@cfmlOperator, + \@cfmlParenthesisRegion, + \@cfmlPunctuation, + \cfmlBoolean, + \cfmlBrace, + \cfmlCoreKeyword, + \cfmlCoreScope, + \cfmlCustomKeyword, + \cfmlCustomScope, + \cfmlEqualSign, + \cfmlFunctionDefinition, + \cfmlFunctionName, + \cfmlNumber, + \cfmlOddFunction, + \cfmlStorageKeyword, + \cfmlTagEnd, + \cfmlTagStart +" / CFSCRIPT REGION AND FOLD }}} + +" CFSWITCH REGION AND FOLD {{{ +" +" ^^^^^^^^^^e +sy region cfmlSwitchTagRegion + \ fold + \ keepend + \ transparent + \ start="\c +" ^^^^^^^^^^^^^^^e +sy region cfmlTransactionTagRegion + \ fold + \ keepend + \ transparent + \ start="\c +" s^^^ ^ +" +" ^^^^^ e +sy region cfmlCustomTagRegion + \ fold + \ keepend + \ transparent + \ start="\c]*>" + \ end="\c]*>" +" / CUSTOM TAG REGION AND FOLD }}} + +" / TAG REGION AND FOLDING }}} + +" COMMENT {{{ + +" COMMENT BLOCK {{{ +" /*...*/ +" s^ ^e +sy region cfmlCommentBlock + \ keepend + \ start="/\*" + \ end="\*/" + \ contains= + \cfmlMetaData +" / COMMENT BLOCK }}} + +" COMMENT LINE {{{ +" //... +" s^ +sy match cfmlCommentLine + \ "\/\/.*" +" / COMMENT LINE }}} + +sy cluster cfmlComment + \ contains= + \cfmlCommentBlock, + \cfmlCommentLine +" / COMMENT }}} + +" TAG COMMENT {{{ +" +" s^^^^ ^^^e +sy region cfmlTagComment + \ keepend + \ start="" + \ contains= + \cfmlTagComment +" / TAG COMMENT }}} + +" FLOW STATEMENT {{{ +" BRANCH FLOW KEYWORD {{{ +sy keyword cfmlBranchFlowKeyword + \ break + \ continue + \ return + +" / BRANCH KEYWORD }}} + +" DECISION FLOW KEYWORD {{{ +sy keyword cfmlDecisionFlowKeyword + \ case + \ defaultcase + \ else + \ if + \ switch + +" / DECISION FLOW KEYWORD }}} + +" LOOP FLOW KEYWORD {{{ +sy keyword cfmlLoopFlowKeyword + \ do + \ for + \ in + \ while + +" / LOOP FLOW KEYWORD }}} + +" TRY FLOW KEYWORD {{{ +sy keyword cfmlTryFlowKeyword + \ catch + \ finally + \ rethrow + \ throw + \ try + +" / TRY FLOW KEYWORD }}} + +sy cluster cfmlFlowStatement + \ contains= + \cfmlBranchFlowKeyword, + \cfmlDecisionFlowKeyword, + \cfmlLoopFlowKeyword, + \cfmlTryFlowKeyword + +" / FLOW STATEMENT }}} + +" STORAGE KEYWORD {{{ +sy keyword cfmlStorageKeyword + \ var +" / STORAGE KEYWORD }}} + +" STORAGE TYPE {{{ +sy match cfmlStorageType + \ contained + \ "\v< + \(any + \|array + \|binary + \|boolean + \|date + \|numeric + \|query + \|string + \|struct + \|uuid + \|void + \|xml + \){1}\ze(\s*\=)@!" +" / STORAGE TYPE }}} + +" CORE KEYWORD {{{ +sy match cfmlCoreKeyword + \ "\v< + \(new + \|required + \)\ze\s" +" / CORE KEYWORD }}} + +" CORE SCOPE {{{ +sy match cfmlCoreScope + \ "\v< + \(application + \|arguments + \|attributes + \|caller + \|cfcatch + \|cffile + \|cfhttp + \|cgi + \|client + \|cookie + \|form + \|local + \|request + \|server + \|session + \|super + \|this + \|thisTag + \|thread + \|variables + \|url + \){1}\ze(,|\.|\[|\)|\s)" +" / CORE SCOPE }}} + +" SQL STATEMENT {{{ +sy cluster cfmlSqlStatement + \ contains= + \@cfmlParenthesisRegion, + \@cfmlQuote, + \@cfmlQuotedValue, + \@sqlSyntax, + \cfmlBoolean, + \cfmlDot, + \cfmlEqualSign, + \cfmlFunctionName, + \cfmlHashSurround, + \cfmlNumber +" / SQL STATEMENT }}} + +" TAG IN SCRIPT {{{ +sy match cfmlTagNameInScript + \ "\vcf_*\w+\s*\ze\(" +" / TAG IN SCRIPT }}} + +" METADATA {{{ +sy region cfmlMetaData + \ contained + \ keepend + \ start="@\w\+" + \ end="$" + \ contains= + \cfmlMetaDataName + +sy match cfmlMetaDataName + \ contained + \ "@\w\+" +" / METADATA }}} + +" COMPONENT DEFINITION {{{ +sy region cfmlComponentDefinition + \ start="component" + \ end="{"me=e-1 + \ contains= + \@cfmlAttribute, + \cfmlComponentKeyword + +sy match cfmlComponentKeyword + \ contained + \ "\v" +" / COMPONENT DEFINITION }}} + +" INTERFACE DEFINITION {{{ +sy match cfmlInterfaceDefinition + \ "interface\s.*{"me=e-1 + \ contains= + \cfmlInterfaceKeyword + +sy match cfmlInterfaceKeyword + \ contained + \ "\v" +" / INTERFACE DEFINITION }}} + +" PROPERTY {{{ +sy region cfmlProperty + \ transparent + \ start="\v" + \ end=";"me=e-1 + \ contains= + \@cfmlQuotedValue, + \cfmlAttrEqualSign, + \cfmlAttrName, + \cfmlAttrValue, + \cfmlPropertyKeyword + +sy match cfmlPropertyKeyword + \ contained + \ "\v" +" / PROPERTY }}} + +" FUNCTION DEFINITION {{{ +sy match cfmlFunctionDefinition + \ "\v + \(<(public|private|package)\s){,1} + \(< + \(any + \|array + \|binary + \|boolean + \|date + \|numeric + \|query + \|string + \|struct + \|uuid + \|void + \|xml + \)\s){,1} + \" +" / FUNCTION KEYWORD }}} + +" FUNCTION MODIFIER {{{ +sy match cfmlFunctionModifier + \ contained + \ "\v< + \(public + \|private + \|package + \)>" +" / FUNCTION MODIFIER }}} + +" FUNCTION RETURN TYPE {{{ +sy match cfmlFunctionReturnType + \ contained + \ "\v + \(any + \|array + \|binary + \|boolean + \|date + \|numeric + \|query + \|string + \|struct + \|uuid + \|void + \|xml + \)" +" / FUNCTION RETURN TYPE }}} + +" FUNCTION NAME {{{ +" specific regex for core functions decreases performance +" so use the same highlighting for both function types +sy match cfmlFunctionName + \ "\v<(cf|if|elseif|throw)@!\w+\s*\ze\(" +" / FUNCTION NAME }}} + +" / FUNCTION DEFINITION }}} + +" ODD FUNCTION {{{ +sy region cfmlOddFunction + \ transparent + \ start="\v< + \(abort + \|exit + \|import + \|include + \|lock + \|pageencoding + \|param + \|savecontent + \|thread + \|transaction + \){1}" + \ end="\v(\{|;)"me=e-1 + \ contains= + \@cfmlQuotedValue, + \cfmlAttrEqualSign, + \cfmlAttrName, + \cfmlAttrValue, + \cfmlCoreKeyword, + \cfmlOddFunctionKeyword, + \cfmlCoreScope + +" ODD FUNCTION KEYWORD {{{ +sy match cfmlOddFunctionKeyword + \ contained + \ "\v< + \(abort + \|exit + \|import + \|include + \|lock + \|pageencoding + \|param + \|savecontent + \|thread + \|transaction + \)\ze(\s|$|;)" +" / ODD FUNCTION KEYWORD }}} + +" / ODD FUNCTION }}} + +" CUSTOM {{{ + +" CUSTOM KEYWORD {{{ +sy match cfmlCustomKeyword + \ contained + \ "\v< + \(customKeyword1 + \|customKeyword2 + \|customKeyword3 + \)>" +" / CUSTOM KEYWORD }}} + +" CUSTOM SCOPE {{{ +sy match cfmlCustomScope + \ contained + \ "\v< + \(prc + \|rc + \|event + \|(\w+Service) + \){1}\ze(\.|\[)" +" / CUSTOM SCOPE }}} + +" / CUSTOM }}} + +" SGML TAG START AND END {{{ +" SGML tag start +" <...> +" s^^^e +sy region cfmlSGMLTagStart + \ keepend + \ transparent + \ start="\v(\ +" s^^^^e +sy match cfmlSGMLTagEnd + \ transparent + \ "\v(\<\/cf)@!\zs\<\/\w+\>" + \ contains= + \cfmlTagBracket, + \cfmlSGMLTagName + +" SGML tag name +" <...> +" s^^^e +sy match cfmlSGMLTagName + \ contained + \ "\v(\<\/*)\zs\w+" + +" / SGML TAG START AND END }}} + +" HIGHLIGHTING {{{ + +hi link cfmlNumber Number +hi link cfmlBoolean Boolean +hi link cfmlEqualSign Keyword +" HASH SURROUND +hi link cfmlHash PreProc +hi link cfmlHashSurround PreProc +" OPERATOR +hi link cfmlArithmeticOperator Function +hi link cfmlBooleanOperator Function +hi link cfmlDecisionOperator Function +hi link cfmlStringOperator Function +hi link cfmlTernaryOperator Function +" PARENTHESIS +hi link cfmlParenthesis1 Statement +hi link cfmlParenthesis2 String +hi link cfmlParenthesis3 Delimiter +" BRACE +hi link cfmlBrace PreProc +" PUNCTUATION - BRACKET +hi link cfmlBracket Statement +" PUNCTUATION - CHAR +hi link cfmlComma Comment +hi link cfmlDot Comment +hi link cfmlSemiColon Comment +" PUNCTUATION - QUOTE +hi link cfmlDoubleQuote String +hi link cfmlDoubleQuotedValue String +hi link cfmlSingleQuote String +hi link cfmlSingleQuotedValue String +" TAG START AND END +hi link cfmlTagName Function +hi link cfmlTagBracket Comment +" ATTRIBUTE NAME AND VALUE +hi link cfmlAttrName Type +hi link cfmlAttrValue Special +" COMMENT +hi link cfmlCommentBlock Comment +hi link cfmlCommentLine Comment +hi link cfmlTagComment Comment +" FLOW STATEMENT +hi link cfmlDecisionFlowKeyword Conditional +hi link cfmlLoopFlowKeyword Repeat +hi link cfmlTryFlowKeyword Exception +hi link cfmlBranchFlowKeyword Keyword +" STORAGE KEYWORD +hi link cfmlStorageKeyword Keyword +" STORAGE TYPE +hi link cfmlStorageType Keyword +" CORE KEYWORD +hi link cfmlCoreKeyword PreProc +" CORE SCOPE +hi link cfmlCoreScope Keyword +" TAG IN SCRIPT +hi link cfmlTagNameInScript Function +" METADATA +" meta data value = cfmlMetaData +hi link cfmlMetaData String +hi link cfmlMetaDataName Type +" COMPONENT DEFINITION +hi link cfmlComponentKeyword Keyword +" INTERFACE DEFINITION +hi link cfmlInterfaceKeyword Keyword +" PROPERTY +hi link cfmlPropertyKeyword Keyword +" FUNCTION DEFINITION +hi link cfmlFunctionKeyword Keyword +hi link cfmlFunctionModifier Keyword +hi link cfmlFunctionReturnType Keyword +hi link cfmlFunctionName Function +" ODD FUNCTION +hi link cfmlOddFunctionKeyword Function +" CUSTOM +hi link cfmlCustomKeyword Keyword +hi link cfmlCustomScope Structure +" SGML TAG +hi link cfmlSGMLTagName Ignore + +" / HIGHLIGHTING }}} + +let b:current_syntax = "cfml" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/cf.vim b/uvim/runtime/syntax/cf.vim deleted file mode 100644 index 04f9f5967b..0000000000 --- a/uvim/runtime/syntax/cf.vim +++ /dev/null @@ -1,1018 +0,0 @@ -" Vim syntax file -" -" Language: CFML (ColdFusion) -" Author: Ernst M. van der Linden -" License: The MIT License (MIT) -" -" Maintainer: Ernst M. van der Linden -" URL: https://github.com/ernstvanderlinden/vim-coldfusion -" Last Change: 2017 Nov 28 -" -" Filenames: *.cfc *.cfm - -" Quit when a syntax file was already loaded. -if exists("b:current_syntax") - finish -endif - -" Using line continuation here. -let s:cpo_save=&cpo -set cpo-=C - -sy sync fromstart -" 20171126: disabled as we have fast computers now. -"sy sync maxlines=2000 -sy case ignore - -" INCLUDES {{{ -sy include @sqlSyntax $VIMRUNTIME/syntax/sql.vim -" 20161010: Disabled include html highlighting as it contains huge keywords -" regex, so it will have impact on performance. Use own simple SGML tag -" coloring instead. -"runtime! syntax/html.vim -" / INCLUDES }}} - -" NUMBER {{{ -sy match cfmlNumber - \ "\v<\d+>" -" / NUMBER }}} - -" EQUAL SIGN {{{ -sy match cfmlEqualSign - \ "\v\=" -" / EQUAL SIGN }}} - -" BOOLEAN {{{ -sy match cfmlBoolean - \ "\v<(true|false)>" -" / BOOLEAN }}} - -" HASH SURROUNDED {{{ -sy region cfmlHashSurround - \ keepend - \ oneline - \ start="#" - \ end="#" - \ skip="##" - \ contains= - \@cfmlOperator, - \@cfmlPunctuation, - \cfmlBoolean, - \cfmlCoreKeyword, - \cfmlCoreScope, - \cfmlCustomKeyword, - \cfmlCustomScope, - \cfmlEqualSign, - \cfmlFunctionName, - \cfmlNumber -" / HASH SURROUNDED }}} - -" OPERATOR {{{ - -" OPERATOR - ARITHMETIC {{{ -" +7 -7 -" ++i --i -" i++ i-- -" + - * / % -" += -= *= /= %= -" ^ mod -sy match cfmlArithmeticOperator - \ "\v - \(\+|-)\ze\d - \|(\+\+|--)\ze\w - \|\w\zs(\+\+|--) - \|(\s( - \(\+|-|\*|\/|\%){1}\={,1} - \|\^ - \|mod - \)\s) - \" -" / OPERATOR - ARITHMETIC }}} - -" OPERATOR - BOOLEAN {{{ -" not and or xor eqv imp -" ! && || -sy match cfmlBooleanOperator - \ "\v\s - \(not|and|or|xor|eqv|imp - \|\!|\&\&|\|\| - \)(\s|\)) - \|\s\!\ze\w - \" -" / OPERATOR - BOOLEAN }}} - -" OPERATOR - DECISION {{{ -"is|equal|eq -"is not|not equal|neq -"contains|does not contain -"greater than|gt -"less than|lt -"greater than or equal to|gte|ge -"less than or equal to|lte|le -"==|!=|>|<|>=|<= -sy match cfmlDecisionOperator - \ "\v\s - \(is|equal|eq - \|is not|not equal|neq - \|contains|does not contain - \|greater than|gt - \|less than|lt - \|greater than or equal to|gte|ge - \|less than or equal to|lte|le - \|(!|\<|\>|\=){1}\= - \|\< - \|\> - \)\s" -" / OPERATOR - DECISION }}} - -" OPERATOR - STRING {{{ -" & -" &= -sy match cfmlStringOperator - \ "\v\s\&\={,1}\s" -" / OPERATOR - STRING }}} - -" OPERATOR - TERNARY {{{ -" ? : -sy match cfmlTernaryOperator - \ "\v\s - \\?|\: - \\s" -" / OPERATOR - TERNARY }}} - -sy cluster cfmlOperator - \ contains= - \cfmlArithmeticOperator, - \cfmlBooleanOperator, - \cfmlDecisionOperator, - \cfmlStringOperator, - \cfmlTernaryOperator -" / OPERATOR }}} - -" PARENTHESIS {{{ -sy cluster cfmlParenthesisRegionContains - \ contains= - \@cfmlAttribute, - \@cfmlComment, - \@cfmlFlowStatement, - \@cfmlOperator, - \@cfmlPunctuation, - \cfmlBoolean, - \cfmlBrace, - \cfmlCoreKeyword, - \cfmlCoreScope, - \cfmlCustomKeyword, - \cfmlCustomScope, - \cfmlEqualSign, - \cfmlFunctionName, - \cfmlNumber, - \cfmlStorageKeyword, - \cfmlStorageType - -sy region cfmlParenthesisRegion1 - \ extend - \ matchgroup=cfmlParenthesis1 - \ transparent - \ start=/(/ - \ end=/)/ - \ contains= - \cfmlParenthesisRegion2, - \@cfmlParenthesisRegionContains -sy region cfmlParenthesisRegion2 - \ matchgroup=cfmlParenthesis2 - \ transparent - \ start=/(/ - \ end=/)/ - \ contains= - \cfmlParenthesisRegion3, - \@cfmlParenthesisRegionContains -sy region cfmlParenthesisRegion3 - \ matchgroup=cfmlParenthesis3 - \ transparent - \ start=/(/ - \ end=/)/ - \ contains= - \cfmlParenthesisRegion1, - \@cfmlParenthesisRegionContains -sy cluster cfmlParenthesisRegion - \ contains= - \cfmlParenthesisRegion1, - \cfmlParenthesisRegion2, - \cfmlParenthesisRegion3 -" / PARENTHESIS }}} - -" BRACE {{{ -sy match cfmlBrace - \ "{\|}" - -sy region cfmlBraceRegion - \ extend - \ fold - \ keepend - \ transparent - \ start="{" - \ end="}" -" / BRACE }}} - -" PUNCTUATION {{{ - -" PUNCTUATION - BRACKET {{{ -sy match cfmlBracket - \ "\(\[\|\]\)" - \ contained -" / PUNCTUATION - BRACKET }}} - -" PUNCTUATION - CHAR {{{ -sy match cfmlComma "," -sy match cfmlDot "\." -sy match cfmlSemiColon ";" - -" / PUNCTUATION - CHAR }}} - -" PUNCTUATION - QUOTE {{{ -sy region cfmlSingleQuotedValue - \ matchgroup=cfmlSingleQuote - \ start=/'/ - \ skip=/''/ - \ end=/'/ - \ contains= - \cfmlHashSurround - -sy region cfmlDoubleQuotedValue - \ matchgroup=cfmlDoubleQuote - \ start=/"/ - \ skip=/""/ - \ end=/"/ - \ contains= - \cfmlHashSurround - -sy cluster cfmlQuotedValue - \ contains= - \cfmlDoubleQuotedValue, - \cfmlSingleQuotedValue - -sy cluster cfmlQuote - \ contains= - \cfmlDoubleQuote, - \cfmlSingleQuote -" / PUNCTUATION - QUOTE }}} - -sy cluster cfmlPunctuation - \ contains= - \@cfmlQuote, - \@cfmlQuotedValue, - \cfmlBracket, - \cfmlComma, - \cfmlDot, - \cfmlSemiColon - -" / PUNCTUATION }}} - -" TAG START AND END {{{ -" tag start -" -" s^^ e -sy region cfmlTagStart - \ keepend - \ transparent - \ start="\c -" s^^^ e -sy match cfmlTagEnd - \ transparent - \ "\c]*>" - \ contains= - \cfmlTagBracket, - \cfmlTagName - -" tag bracket -" -" ^^ ^ -sy match cfmlTagBracket - \ contained - \ "\(<\|>\|\/\)" - -" tag name -" -" s^^^e -sy match cfmlTagName - \ contained - \ "\v<\/*\zs\ccf\w*" -" / TAG START AND END }}} - -" ATTRIBUTE NAME AND VALUE {{{ -sy match cfmlAttrName - \ contained - \ "\v(var\s)@ -" ^^^^^^^^^^^^^e -sy region cfmlComponentTagRegion - \ fold - \ keepend - \ transparent - \ start="\c -" ^^^^^^^^^^^^e -sy region cfmlFunctionTagRegion - \ fold - \ keepend - \ transparent - \ start="\c -" ^^^^^^e -sy region cfmlIfTagRegion - \ fold - \ keepend - \ transparent - \ start="\c -" ^^^^^^^^e -sy region cfmlLoopTagRegion - \ fold - \ keepend - \ transparent - \ start="\c -" ^^^^^^^^^^e -sy region cfmlOutputTagRegion - \ fold - \ keepend - \ transparent - \ start="\c -" ^^^^^^^^^e - "\@cfmlSqlStatement, -sy region cfmlQueryTagRegion - \ fold - \ keepend - \ transparent - \ start="\c -" ^^^^^^^^^^^^^e -sy region cfmlSavecontentTagRegion - \ fold - \ keepend - \ transparent - \ start="\c -" s^^^^^^^^^ -" -" ^^^^^^^^^^e -"\cfmlCustomScope, -sy region cfmlScriptTagRegion - \ fold - \ keepend - \ transparent - \ start="\c" - \ end="\c" - \ contains= - \@cfmlComment, - \@cfmlFlowStatement, - \cfmlHashSurround, - \@cfmlOperator, - \@cfmlParenthesisRegion, - \@cfmlPunctuation, - \cfmlBoolean, - \cfmlBrace, - \cfmlCoreKeyword, - \cfmlCoreScope, - \cfmlCustomKeyword, - \cfmlCustomScope, - \cfmlEqualSign, - \cfmlFunctionDefinition, - \cfmlFunctionName, - \cfmlNumber, - \cfmlOddFunction, - \cfmlStorageKeyword, - \cfmlTagEnd, - \cfmlTagStart -" / CFSCRIPT REGION AND FOLD }}} - -" CFSWITCH REGION AND FOLD {{{ -" -" ^^^^^^^^^^e -sy region cfmlSwitchTagRegion - \ fold - \ keepend - \ transparent - \ start="\c -" ^^^^^^^^^^^^^^^e -sy region cfmlTransactionTagRegion - \ fold - \ keepend - \ transparent - \ start="\c -" s^^^ ^ -" -" ^^^^^ e -sy region cfmlCustomTagRegion - \ fold - \ keepend - \ transparent - \ start="\c]*>" - \ end="\c]*>" -" / CUSTOM TAG REGION AND FOLD }}} - -" / TAG REGION AND FOLDING }}} - -" COMMENT {{{ - -" COMMENT BLOCK {{{ -" /*...*/ -" s^ ^e -sy region cfmlCommentBlock - \ keepend - \ start="/\*" - \ end="\*/" - \ contains= - \cfmlMetaData -" / COMMENT BLOCK }}} - -" COMMENT LINE {{{ -" //... -" s^ -sy match cfmlCommentLine - \ "\/\/.*" -" / COMMENT LINE }}} - -sy cluster cfmlComment - \ contains= - \cfmlCommentBlock, - \cfmlCommentLine -" / COMMENT }}} - -" TAG COMMENT {{{ -" -" s^^^^ ^^^e -sy region cfmlTagComment - \ keepend - \ start="" - \ contains= - \cfmlTagComment -" / TAG COMMENT }}} - -" FLOW STATEMENT {{{ -" BRANCH FLOW KEYWORD {{{ -sy keyword cfmlBranchFlowKeyword - \ break - \ continue - \ return - -" / BRANCH KEYWORD }}} - -" DECISION FLOW KEYWORD {{{ -sy keyword cfmlDecisionFlowKeyword - \ case - \ defaultcase - \ else - \ if - \ switch - -" / DECISION FLOW KEYWORD }}} - -" LOOP FLOW KEYWORD {{{ -sy keyword cfmlLoopFlowKeyword - \ do - \ for - \ in - \ while - -" / LOOP FLOW KEYWORD }}} - -" TRY FLOW KEYWORD {{{ -sy keyword cfmlTryFlowKeyword - \ catch - \ finally - \ rethrow - \ throw - \ try - -" / TRY FLOW KEYWORD }}} - -sy cluster cfmlFlowStatement - \ contains= - \cfmlBranchFlowKeyword, - \cfmlDecisionFlowKeyword, - \cfmlLoopFlowKeyword, - \cfmlTryFlowKeyword - -" / FLOW STATEMENT }}} - -" STORAGE KEYWORD {{{ -sy keyword cfmlStorageKeyword - \ var -" / STORAGE KEYWORD }}} - -" STORAGE TYPE {{{ -sy match cfmlStorageType - \ contained - \ "\v< - \(any - \|array - \|binary - \|boolean - \|date - \|numeric - \|query - \|string - \|struct - \|uuid - \|void - \|xml - \){1}\ze(\s*\=)@!" -" / STORAGE TYPE }}} - -" CORE KEYWORD {{{ -sy match cfmlCoreKeyword - \ "\v< - \(new - \|required - \)\ze\s" -" / CORE KEYWORD }}} - -" CORE SCOPE {{{ -sy match cfmlCoreScope - \ "\v< - \(application - \|arguments - \|attributes - \|caller - \|cfcatch - \|cffile - \|cfhttp - \|cgi - \|client - \|cookie - \|form - \|local - \|request - \|server - \|session - \|super - \|this - \|thisTag - \|thread - \|variables - \|url - \){1}\ze(,|\.|\[|\)|\s)" -" / CORE SCOPE }}} - -" SQL STATEMENT {{{ -sy cluster cfmlSqlStatement - \ contains= - \@cfmlParenthesisRegion, - \@cfmlQuote, - \@cfmlQuotedValue, - \@sqlSyntax, - \cfmlBoolean, - \cfmlDot, - \cfmlEqualSign, - \cfmlFunctionName, - \cfmlHashSurround, - \cfmlNumber -" / SQL STATEMENT }}} - -" TAG IN SCRIPT {{{ -sy match cfmlTagNameInScript - \ "\vcf_*\w+\s*\ze\(" -" / TAG IN SCRIPT }}} - -" METADATA {{{ -sy region cfmlMetaData - \ contained - \ keepend - \ start="@\w\+" - \ end="$" - \ contains= - \cfmlMetaDataName - -sy match cfmlMetaDataName - \ contained - \ "@\w\+" -" / METADATA }}} - -" COMPONENT DEFINITION {{{ -sy region cfmlComponentDefinition - \ start="component" - \ end="{"me=e-1 - \ contains= - \@cfmlAttribute, - \cfmlComponentKeyword - -sy match cfmlComponentKeyword - \ contained - \ "\v" -" / COMPONENT DEFINITION }}} - -" INTERFACE DEFINITION {{{ -sy match cfmlInterfaceDefinition - \ "interface\s.*{"me=e-1 - \ contains= - \cfmlInterfaceKeyword - -sy match cfmlInterfaceKeyword - \ contained - \ "\v" -" / INTERFACE DEFINITION }}} - -" PROPERTY {{{ -sy region cfmlProperty - \ transparent - \ start="\v" - \ end=";"me=e-1 - \ contains= - \@cfmlQuotedValue, - \cfmlAttrEqualSign, - \cfmlAttrName, - \cfmlAttrValue, - \cfmlPropertyKeyword - -sy match cfmlPropertyKeyword - \ contained - \ "\v" -" / PROPERTY }}} - -" FUNCTION DEFINITION {{{ -sy match cfmlFunctionDefinition - \ "\v - \(<(public|private|package)\s){,1} - \(< - \(any - \|array - \|binary - \|boolean - \|date - \|numeric - \|query - \|string - \|struct - \|uuid - \|void - \|xml - \)\s){,1} - \" -" / FUNCTION KEYWORD }}} - -" FUNCTION MODIFIER {{{ -sy match cfmlFunctionModifier - \ contained - \ "\v< - \(public - \|private - \|package - \)>" -" / FUNCTION MODIFIER }}} - -" FUNCTION RETURN TYPE {{{ -sy match cfmlFunctionReturnType - \ contained - \ "\v - \(any - \|array - \|binary - \|boolean - \|date - \|numeric - \|query - \|string - \|struct - \|uuid - \|void - \|xml - \)" -" / FUNCTION RETURN TYPE }}} - -" FUNCTION NAME {{{ -" specific regex for core functions decreases performance -" so use the same highlighting for both function types -sy match cfmlFunctionName - \ "\v<(cf|if|elseif|throw)@!\w+\s*\ze\(" -" / FUNCTION NAME }}} - -" / FUNCTION DEFINITION }}} - -" ODD FUNCTION {{{ -sy region cfmlOddFunction - \ transparent - \ start="\v< - \(abort - \|exit - \|import - \|include - \|lock - \|pageencoding - \|param - \|savecontent - \|thread - \|transaction - \){1}" - \ end="\v(\{|;)"me=e-1 - \ contains= - \@cfmlQuotedValue, - \cfmlAttrEqualSign, - \cfmlAttrName, - \cfmlAttrValue, - \cfmlCoreKeyword, - \cfmlOddFunctionKeyword, - \cfmlCoreScope - -" ODD FUNCTION KEYWORD {{{ -sy match cfmlOddFunctionKeyword - \ contained - \ "\v< - \(abort - \|exit - \|import - \|include - \|lock - \|pageencoding - \|param - \|savecontent - \|thread - \|transaction - \)\ze(\s|$|;)" -" / ODD FUNCTION KEYWORD }}} - -" / ODD FUNCTION }}} - -" CUSTOM {{{ - -" CUSTOM KEYWORD {{{ -sy match cfmlCustomKeyword - \ contained - \ "\v< - \(customKeyword1 - \|customKeyword2 - \|customKeyword3 - \)>" -" / CUSTOM KEYWORD }}} - -" CUSTOM SCOPE {{{ -sy match cfmlCustomScope - \ contained - \ "\v< - \(prc - \|rc - \|event - \|(\w+Service) - \){1}\ze(\.|\[)" -" / CUSTOM SCOPE }}} - -" / CUSTOM }}} - -" SGML TAG START AND END {{{ -" SGML tag start -" <...> -" s^^^e -sy region cfmlSGMLTagStart - \ keepend - \ transparent - \ start="\v(\ -" s^^^^e -sy match cfmlSGMLTagEnd - \ transparent - \ "\v(\<\/cf)@!\zs\<\/\w+\>" - \ contains= - \cfmlTagBracket, - \cfmlSGMLTagName - -" SGML tag name -" <...> -" s^^^e -sy match cfmlSGMLTagName - \ contained - \ "\v(\<\/*)\zs\w+" - -" / SGML TAG START AND END }}} - -" HIGHLIGHTING {{{ - -hi link cfmlNumber Number -hi link cfmlBoolean Boolean -hi link cfmlEqualSign Keyword -" HASH SURROUND -hi link cfmlHash PreProc -hi link cfmlHashSurround PreProc -" OPERATOR -hi link cfmlArithmeticOperator Function -hi link cfmlBooleanOperator Function -hi link cfmlDecisionOperator Function -hi link cfmlStringOperator Function -hi link cfmlTernaryOperator Function -" PARENTHESIS -hi link cfmlParenthesis1 Statement -hi link cfmlParenthesis2 String -hi link cfmlParenthesis3 Delimiter -" BRACE -hi link cfmlBrace PreProc -" PUNCTUATION - BRACKET -hi link cfmlBracket Statement -" PUNCTUATION - CHAR -hi link cfmlComma Comment -hi link cfmlDot Comment -hi link cfmlSemiColon Comment -" PUNCTUATION - QUOTE -hi link cfmlDoubleQuote String -hi link cfmlDoubleQuotedValue String -hi link cfmlSingleQuote String -hi link cfmlSingleQuotedValue String -" TAG START AND END -hi link cfmlTagName Function -hi link cfmlTagBracket Comment -" ATTRIBUTE NAME AND VALUE -hi link cfmlAttrName Type -hi link cfmlAttrValue Special -" COMMENT -hi link cfmlCommentBlock Comment -hi link cfmlCommentLine Comment -hi link cfmlTagComment Comment -" FLOW STATEMENT -hi link cfmlDecisionFlowKeyword Conditional -hi link cfmlLoopFlowKeyword Repeat -hi link cfmlTryFlowKeyword Exception -hi link cfmlBranchFlowKeyword Keyword -" STORAGE KEYWORD -hi link cfmlStorageKeyword Keyword -" STORAGE TYPE -hi link cfmlStorageType Keyword -" CORE KEYWORD -hi link cfmlCoreKeyword PreProc -" CORE SCOPE -hi link cfmlCoreScope Keyword -" TAG IN SCRIPT -hi link cfmlTagNameInScript Function -" METADATA -" meta data value = cfmlMetaData -hi link cfmlMetaData String -hi link cfmlMetaDataName Type -" COMPONENT DEFINITION -hi link cfmlComponentKeyword Keyword -" INTERFACE DEFINITION -hi link cfmlInterfaceKeyword Keyword -" PROPERTY -hi link cfmlPropertyKeyword Keyword -" FUNCTION DEFINITION -hi link cfmlFunctionKeyword Keyword -hi link cfmlFunctionModifier Keyword -hi link cfmlFunctionReturnType Keyword -hi link cfmlFunctionName Function -" ODD FUNCTION -hi link cfmlOddFunctionKeyword Function -" CUSTOM -hi link cfmlCustomKeyword Keyword -hi link cfmlCustomScope Structure -" SGML TAG -hi link cfmlSGMLTagName Ignore - -" / HIGHLIGHTING }}} - -let b:current_syntax = "cfml" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/cfg.mnv b/uvim/runtime/syntax/cfg.mnv new file mode 100644 index 0000000000..0039a71365 --- /dev/null +++ b/uvim/runtime/syntax/cfg.mnv @@ -0,0 +1,49 @@ +" MNV syntax file +" Language: Good old CFG files +" Maintainer: Igor N. Prischepoff (igor@tyumbit.ru, pri_igor@mail.ru) +" Last Change: 2012 Aug 11 +" 2024 Nov 14 by MNV project: // only denotes a comment when starting a line (#16051) + +" quit when a syntax file was already loaded +if exists ("b:current_syntax") + finish +endif + +" case off +syn case ignore +syn keyword CfgOnOff ON OFF YES NO TRUE FALSE contained +syn match UncPath "\\\\\p*" contained +"Dos Drive:\Path +syn match CfgDirectory "[a-zA-Z]:\\\p*" contained +"Parameters +syn match CfgParams ".\{0}="me=e-1 contains=CfgComment +"... and their values (don't want to highlight '=' sign) +syn match CfgValues "=.*"hs=s+1 contains=CfgDirectory,UncPath,CfgComment,CfgString,CfgOnOff + +" Sections +syn match CfgSection "\[.*\]" +syn match CfgSection "{.*}" + +" String +syn match CfgString "\".*\"" contained +syn match CfgString "'.*'" contained + +" Comments (Everything before '#' or ';' or leading '//') +syn match CfgComment "#.*" +syn match CfgComment ";.*" +syn match CfgComment "^\s*\/\/.*" + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet +hi def link CfgOnOff Label +hi def link CfgComment Comment +hi def link CfgSection Type +hi def link CfgString String +hi def link CfgParams Keyword +hi def link CfgValues Constant +hi def link CfgDirectory Directory +hi def link UncPath Directory + + +let b:current_syntax = "cfg" +" mnv:ts=8 diff --git a/uvim/runtime/syntax/cfg.vim b/uvim/runtime/syntax/cfg.vim deleted file mode 100644 index 69788760cc..0000000000 --- a/uvim/runtime/syntax/cfg.vim +++ /dev/null @@ -1,49 +0,0 @@ -" Vim syntax file -" Language: Good old CFG files -" Maintainer: Igor N. Prischepoff (igor@tyumbit.ru, pri_igor@mail.ru) -" Last Change: 2012 Aug 11 -" 2024 Nov 14 by Vim project: // only denotes a comment when starting a line (#16051) - -" quit when a syntax file was already loaded -if exists ("b:current_syntax") - finish -endif - -" case off -syn case ignore -syn keyword CfgOnOff ON OFF YES NO TRUE FALSE contained -syn match UncPath "\\\\\p*" contained -"Dos Drive:\Path -syn match CfgDirectory "[a-zA-Z]:\\\p*" contained -"Parameters -syn match CfgParams ".\{0}="me=e-1 contains=CfgComment -"... and their values (don't want to highlight '=' sign) -syn match CfgValues "=.*"hs=s+1 contains=CfgDirectory,UncPath,CfgComment,CfgString,CfgOnOff - -" Sections -syn match CfgSection "\[.*\]" -syn match CfgSection "{.*}" - -" String -syn match CfgString "\".*\"" contained -syn match CfgString "'.*'" contained - -" Comments (Everything before '#' or ';' or leading '//') -syn match CfgComment "#.*" -syn match CfgComment ";.*" -syn match CfgComment "^\s*\/\/.*" - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet -hi def link CfgOnOff Label -hi def link CfgComment Comment -hi def link CfgSection Type -hi def link CfgString String -hi def link CfgParams Keyword -hi def link CfgValues Constant -hi def link CfgDirectory Directory -hi def link UncPath Directory - - -let b:current_syntax = "cfg" -" vim:ts=8 diff --git a/uvim/runtime/syntax/cgdbrc.mnv b/uvim/runtime/syntax/cgdbrc.mnv new file mode 100644 index 0000000000..a6d4ad7d4b --- /dev/null +++ b/uvim/runtime/syntax/cgdbrc.mnv @@ -0,0 +1,16 @@ +" MNV syntax file +" Language: cgdbrc +" Maintainer: Wu, Zhenyu +" Documentation: https://cgdb.github.io/docs/Configuring-CGDB.html +" Latest Revision: 2024-04-09 + +if exists('b:current_syntax') + finish +endif +let b:current_syntax = 'cgdbrc' + +runtime! syntax/mnv.mnv + +syn region cgdbComment start="^\s*\#" skip="\\$" end="$" contains=@Spell + +highlight default link cgdbComment Comment diff --git a/uvim/runtime/syntax/cgdbrc.vim b/uvim/runtime/syntax/cgdbrc.vim deleted file mode 100644 index 1ace370d8c..0000000000 --- a/uvim/runtime/syntax/cgdbrc.vim +++ /dev/null @@ -1,16 +0,0 @@ -" Vim syntax file -" Language: cgdbrc -" Maintainer: Wu, Zhenyu -" Documentation: https://cgdb.github.io/docs/Configuring-CGDB.html -" Latest Revision: 2024-04-09 - -if exists('b:current_syntax') - finish -endif -let b:current_syntax = 'cgdbrc' - -runtime! syntax/vim.vim - -syn region cgdbComment start="^\s*\#" skip="\\$" end="$" contains=@Spell - -highlight default link cgdbComment Comment diff --git a/uvim/runtime/syntax/ch.mnv b/uvim/runtime/syntax/ch.mnv new file mode 100644 index 0000000000..e7c2e9c6a4 --- /dev/null +++ b/uvim/runtime/syntax/ch.mnv @@ -0,0 +1,38 @@ +" MNV syntax file +" Language: Ch +" Maintainer: SoftIntegration, Inc. +" URL: http://www.softintegration.com/download/mnv/syntax/ch.mnv +" Last change: 2004 Sep 01 +" Created based on cpp.mnv +" +" Ch is a C/C++ interpreter with many high level extensions +" + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" Read the C syntax to start with +runtime! syntax/c.mnv +unlet b:current_syntax + +" Ch extentions + +syn keyword chStatement new delete this foreach +syn keyword chAccess public private +syn keyword chStorageClass __declspec(global) __declspec(local) +syn keyword chStructure class +syn keyword chType string_t array + +" Default highlighting + +hi def link chAccess chStatement +hi def link chExceptions Exception +hi def link chStatement Statement +hi def link chType Type +hi def link chStructure Structure + +let b:current_syntax = "ch" + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/ch.vim b/uvim/runtime/syntax/ch.vim deleted file mode 100644 index 61f475bc99..0000000000 --- a/uvim/runtime/syntax/ch.vim +++ /dev/null @@ -1,38 +0,0 @@ -" Vim syntax file -" Language: Ch -" Maintainer: SoftIntegration, Inc. -" URL: http://www.softintegration.com/download/vim/syntax/ch.vim -" Last change: 2004 Sep 01 -" Created based on cpp.vim -" -" Ch is a C/C++ interpreter with many high level extensions -" - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" Read the C syntax to start with -runtime! syntax/c.vim -unlet b:current_syntax - -" Ch extentions - -syn keyword chStatement new delete this foreach -syn keyword chAccess public private -syn keyword chStorageClass __declspec(global) __declspec(local) -syn keyword chStructure class -syn keyword chType string_t array - -" Default highlighting - -hi def link chAccess chStatement -hi def link chExceptions Exception -hi def link chStatement Statement -hi def link chType Type -hi def link chStructure Structure - -let b:current_syntax = "ch" - -" vim: ts=8 diff --git a/uvim/runtime/syntax/chaiscript.mnv b/uvim/runtime/syntax/chaiscript.mnv new file mode 100644 index 0000000000..0d3ca5d0d2 --- /dev/null +++ b/uvim/runtime/syntax/chaiscript.mnv @@ -0,0 +1,94 @@ +" MNV syntax file +" Language: ChaiScript +" Maintainer: Jason Turner + +" Quit when a (custom) syntax file was already loaded +if exists("b:current_syntax") + finish +end + +syn case match + +" syncing method +syn sync fromstart + +" Strings +syn region chaiscriptString start=+"+ end=+"+ skip=+\\\\\|\\"+ contains=chaiscriptSpecial,chaiscriptEval,@Spell + +" Escape characters +syn match chaiscriptSpecial contained "\\[\\abfnrtv\'\"]\|\\\d\{,3}" + +" String evals +syn region chaiscriptEval contained start="${" end="}" + +" integer number +syn match chaiscriptNumber "\<\d\+\>" + +" floating point number, with dot, optional exponent +syn match chaiscriptFloat "\<\d\+\.\d*\%(e[-+]\=\d\+\)\=\>" + +" floating point number, starting with a dot, optional exponent +syn match chaiscriptFloat "\.\d\+\%(e[-+]\=\d\+\)\=\>" + +" floating point number, without dot, with exponent +syn match chaiscriptFloat "\<\d\+e[-+]\=\d\+\>" + +" Hex strings +syn match chaiscriptNumber "\<0x\x\+\>" + +" Binary strings +syn match chaiscriptNumber "\<0b[01]\+\>" + +" Various language features +syn keyword chaiscriptCond if else +syn keyword chaiscriptRepeat while for do +syn keyword chaiscriptStatement break continue return +syn keyword chaiscriptExceptions try catch throw + +"Keyword +syn keyword chaiscriptKeyword def true false attr + +"Built in types +syn keyword chaiscriptType fun var + +"Built in funcs, keep it simple +syn keyword chaiscriptFunc eval throw + +"Let's treat all backtick operator function lookups as built in too +syn region chaiscriptFunc matchgroup=chaiscriptFunc start="`" end="`" + +" Account for the "[1..10]" syntax, treating it as an operator +" Intentionally leaving out all of the normal, well known operators +syn match chaiscriptOperator "\.\." + +" Guard separator as an operator +syn match chaiscriptOperator ":" + +" Comments +syn match chaiscriptComment "//.*$" contains=@Spell +syn region chaiscriptComment matchgroup=chaiscriptComment start="/\*" end="\*/" contains=@Spell + + + +hi def link chaiscriptExceptions Exception +hi def link chaiscriptKeyword Keyword +hi def link chaiscriptStatement Statement +hi def link chaiscriptRepeat Repeat +hi def link chaiscriptString String +hi def link chaiscriptNumber Number +hi def link chaiscriptFloat Float +hi def link chaiscriptOperator Operator +hi def link chaiscriptConstant Constant +hi def link chaiscriptCond Conditional +hi def link chaiscriptFunction Function +hi def link chaiscriptComment Comment +hi def link chaiscriptTodo Todo +hi def link chaiscriptError Error +hi def link chaiscriptSpecial SpecialChar +hi def link chaiscriptFunc Identifier +hi def link chaiscriptType Type +hi def link chaiscriptEval Special + +let b:current_syntax = "chaiscript" + +" mnv: nowrap sw=2 sts=2 ts=8 noet diff --git a/uvim/runtime/syntax/chaiscript.vim b/uvim/runtime/syntax/chaiscript.vim deleted file mode 100644 index 9925ba5138..0000000000 --- a/uvim/runtime/syntax/chaiscript.vim +++ /dev/null @@ -1,94 +0,0 @@ -" Vim syntax file -" Language: ChaiScript -" Maintainer: Jason Turner - -" Quit when a (custom) syntax file was already loaded -if exists("b:current_syntax") - finish -end - -syn case match - -" syncing method -syn sync fromstart - -" Strings -syn region chaiscriptString start=+"+ end=+"+ skip=+\\\\\|\\"+ contains=chaiscriptSpecial,chaiscriptEval,@Spell - -" Escape characters -syn match chaiscriptSpecial contained "\\[\\abfnrtv\'\"]\|\\\d\{,3}" - -" String evals -syn region chaiscriptEval contained start="${" end="}" - -" integer number -syn match chaiscriptNumber "\<\d\+\>" - -" floating point number, with dot, optional exponent -syn match chaiscriptFloat "\<\d\+\.\d*\%(e[-+]\=\d\+\)\=\>" - -" floating point number, starting with a dot, optional exponent -syn match chaiscriptFloat "\.\d\+\%(e[-+]\=\d\+\)\=\>" - -" floating point number, without dot, with exponent -syn match chaiscriptFloat "\<\d\+e[-+]\=\d\+\>" - -" Hex strings -syn match chaiscriptNumber "\<0x\x\+\>" - -" Binary strings -syn match chaiscriptNumber "\<0b[01]\+\>" - -" Various language features -syn keyword chaiscriptCond if else -syn keyword chaiscriptRepeat while for do -syn keyword chaiscriptStatement break continue return -syn keyword chaiscriptExceptions try catch throw - -"Keyword -syn keyword chaiscriptKeyword def true false attr - -"Built in types -syn keyword chaiscriptType fun var - -"Built in funcs, keep it simple -syn keyword chaiscriptFunc eval throw - -"Let's treat all backtick operator function lookups as built in too -syn region chaiscriptFunc matchgroup=chaiscriptFunc start="`" end="`" - -" Account for the "[1..10]" syntax, treating it as an operator -" Intentionally leaving out all of the normal, well known operators -syn match chaiscriptOperator "\.\." - -" Guard separator as an operator -syn match chaiscriptOperator ":" - -" Comments -syn match chaiscriptComment "//.*$" contains=@Spell -syn region chaiscriptComment matchgroup=chaiscriptComment start="/\*" end="\*/" contains=@Spell - - - -hi def link chaiscriptExceptions Exception -hi def link chaiscriptKeyword Keyword -hi def link chaiscriptStatement Statement -hi def link chaiscriptRepeat Repeat -hi def link chaiscriptString String -hi def link chaiscriptNumber Number -hi def link chaiscriptFloat Float -hi def link chaiscriptOperator Operator -hi def link chaiscriptConstant Constant -hi def link chaiscriptCond Conditional -hi def link chaiscriptFunction Function -hi def link chaiscriptComment Comment -hi def link chaiscriptTodo Todo -hi def link chaiscriptError Error -hi def link chaiscriptSpecial SpecialChar -hi def link chaiscriptFunc Identifier -hi def link chaiscriptType Type -hi def link chaiscriptEval Special - -let b:current_syntax = "chaiscript" - -" vim: nowrap sw=2 sts=2 ts=8 noet diff --git a/uvim/runtime/syntax/change.mnv b/uvim/runtime/syntax/change.mnv new file mode 100644 index 0000000000..2e3cba8915 --- /dev/null +++ b/uvim/runtime/syntax/change.mnv @@ -0,0 +1,29 @@ +" MNV syntax file +" Language: WEB Changes +" Maintainer: Andreas Scherer +" Last Change: April 25, 2001 + +" Details of the change mechanism of the WEB and CWEB languages can be found +" in the articles by Donald E. Knuth and Silvio Levy cited in "web.mnv" and +" "cweb.mnv" respectively. + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" We distinguish two groups of material, (a) stuff between @x..@y, and +" (b) stuff between @y..@z. WEB/CWEB ignore everything else in a change file. +syn region changeFromMaterial start="^@x.*$"ms=e+1 end="^@y.*$"me=s-1 +syn region changeToMaterial start="^@y.*$"ms=e+1 end="^@z.*$"me=s-1 + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link changeFromMaterial String +hi def link changeToMaterial Statement + + +let b:current_syntax = "change" + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/change.vim b/uvim/runtime/syntax/change.vim deleted file mode 100644 index a92767e903..0000000000 --- a/uvim/runtime/syntax/change.vim +++ /dev/null @@ -1,29 +0,0 @@ -" Vim syntax file -" Language: WEB Changes -" Maintainer: Andreas Scherer -" Last Change: April 25, 2001 - -" Details of the change mechanism of the WEB and CWEB languages can be found -" in the articles by Donald E. Knuth and Silvio Levy cited in "web.vim" and -" "cweb.vim" respectively. - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" We distinguish two groups of material, (a) stuff between @x..@y, and -" (b) stuff between @y..@z. WEB/CWEB ignore everything else in a change file. -syn region changeFromMaterial start="^@x.*$"ms=e+1 end="^@y.*$"me=s-1 -syn region changeToMaterial start="^@y.*$"ms=e+1 end="^@z.*$"me=s-1 - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link changeFromMaterial String -hi def link changeToMaterial Statement - - -let b:current_syntax = "change" - -" vim: ts=8 diff --git a/uvim/runtime/syntax/changelog.mnv b/uvim/runtime/syntax/changelog.mnv new file mode 100644 index 0000000000..03d4cee103 --- /dev/null +++ b/uvim/runtime/syntax/changelog.mnv @@ -0,0 +1,58 @@ +" MNV syntax file +" Language: generic ChangeLog file +" Written By: Gediminas Paulauskas +" Maintainer: Corinna Vinschen +" Last Change: June 1, 2003 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn case ignore + +if exists('b:changelog_spacing_errors') + let s:spacing_errors = b:changelog_spacing_errors +elseif exists('g:changelog_spacing_errors') + let s:spacing_errors = g:changelog_spacing_errors +else + let s:spacing_errors = 1 +endif + +if s:spacing_errors + syn match changelogError "^ \+" +endif + +syn match changelogText "^\s.*$" contains=changelogMail,changelogNumber,changelogMonth,changelogDay,changelogError +syn match changelogHeader "^\S.*$" contains=changelogNumber,changelogMonth,changelogDay,changelogMail +syn region changelogFiles start="^\s\+[+*]\s" end=":" end="^$" contains=changelogBullet,changelogColon,changelogFuncs,changelogError keepend +syn region changelogFiles start="^\s\+[([]" end=":" end="^$" contains=changelogBullet,changelogColon,changelogFuncs,changelogError keepend +syn match changelogFuncs contained "(.\{-})" extend +syn match changelogFuncs contained "\[.\{-}]" extend +syn match changelogColon contained ":" + +syn match changelogBullet contained "^\s\+[+*]\s" contains=changelogError +syn match changelogMail contained "<[A-Za-z0-9\._:+-]\+@[A-Za-z0-9\._-]\+>" +syn keyword changelogMonth contained jan feb mar apr may jun jul aug sep oct nov dec +syn keyword changelogDay contained mon tue wed thu fri sat sun +syn match changelogNumber contained "[.-]*[0-9]\+" + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link changelogText Normal +hi def link changelogBullet Type +hi def link changelogColon Type +hi def link changelogFiles Comment +hi def link changelogFuncs Comment +hi def link changelogHeader Statement +hi def link changelogMail Special +hi def link changelogNumber Number +hi def link changelogMonth Number +hi def link changelogDay Number +hi def link changelogError Folded + + +let b:current_syntax = "changelog" + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/changelog.vim b/uvim/runtime/syntax/changelog.vim deleted file mode 100644 index cf9021ef05..0000000000 --- a/uvim/runtime/syntax/changelog.vim +++ /dev/null @@ -1,58 +0,0 @@ -" Vim syntax file -" Language: generic ChangeLog file -" Written By: Gediminas Paulauskas -" Maintainer: Corinna Vinschen -" Last Change: June 1, 2003 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn case ignore - -if exists('b:changelog_spacing_errors') - let s:spacing_errors = b:changelog_spacing_errors -elseif exists('g:changelog_spacing_errors') - let s:spacing_errors = g:changelog_spacing_errors -else - let s:spacing_errors = 1 -endif - -if s:spacing_errors - syn match changelogError "^ \+" -endif - -syn match changelogText "^\s.*$" contains=changelogMail,changelogNumber,changelogMonth,changelogDay,changelogError -syn match changelogHeader "^\S.*$" contains=changelogNumber,changelogMonth,changelogDay,changelogMail -syn region changelogFiles start="^\s\+[+*]\s" end=":" end="^$" contains=changelogBullet,changelogColon,changelogFuncs,changelogError keepend -syn region changelogFiles start="^\s\+[([]" end=":" end="^$" contains=changelogBullet,changelogColon,changelogFuncs,changelogError keepend -syn match changelogFuncs contained "(.\{-})" extend -syn match changelogFuncs contained "\[.\{-}]" extend -syn match changelogColon contained ":" - -syn match changelogBullet contained "^\s\+[+*]\s" contains=changelogError -syn match changelogMail contained "<[A-Za-z0-9\._:+-]\+@[A-Za-z0-9\._-]\+>" -syn keyword changelogMonth contained jan feb mar apr may jun jul aug sep oct nov dec -syn keyword changelogDay contained mon tue wed thu fri sat sun -syn match changelogNumber contained "[.-]*[0-9]\+" - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link changelogText Normal -hi def link changelogBullet Type -hi def link changelogColon Type -hi def link changelogFiles Comment -hi def link changelogFuncs Comment -hi def link changelogHeader Statement -hi def link changelogMail Special -hi def link changelogNumber Number -hi def link changelogMonth Number -hi def link changelogDay Number -hi def link changelogError Folded - - -let b:current_syntax = "changelog" - -" vim: ts=8 diff --git a/uvim/runtime/syntax/chaskell.mnv b/uvim/runtime/syntax/chaskell.mnv new file mode 100644 index 0000000000..318444b8eb --- /dev/null +++ b/uvim/runtime/syntax/chaskell.mnv @@ -0,0 +1,14 @@ +" MNV syntax file +" Language: Haskell supporting c2hs binding hooks +" Maintainer: Armin Sander +" Last Change: 2001 November 1 +" +" 2001 November 1: Changed commands for sourcing haskell.mnv + +" Enable binding hooks +let b:hs_chs=1 + +" Include standard Haskell highlighting +runtime! syntax/haskell.mnv + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/chaskell.vim b/uvim/runtime/syntax/chaskell.vim deleted file mode 100644 index 4b1e8c53be..0000000000 --- a/uvim/runtime/syntax/chaskell.vim +++ /dev/null @@ -1,14 +0,0 @@ -" Vim syntax file -" Language: Haskell supporting c2hs binding hooks -" Maintainer: Armin Sander -" Last Change: 2001 November 1 -" -" 2001 November 1: Changed commands for sourcing haskell.vim - -" Enable binding hooks -let b:hs_chs=1 - -" Include standard Haskell highlighting -runtime! syntax/haskell.vim - -" vim: ts=8 diff --git a/uvim/runtime/syntax/chatito.mnv b/uvim/runtime/syntax/chatito.mnv new file mode 100644 index 0000000000..31d061a157 --- /dev/null +++ b/uvim/runtime/syntax/chatito.mnv @@ -0,0 +1,62 @@ +" MNV syntax file +" Language: Chatito +" Maintainer: ObserverOfTime +" Filenames: *.chatito +" Last Change: 2022 Sep 19 + +if exists('b:current_syntax') + finish +endif + +" Comment +syn keyword chatitoTodo contained TODO FIXME XXX +syn match chatitoComment /^#.*/ contains=chatitoTodo,@Spell +syn match chatitoComment +^//.*+ contains=chatitoTodo,@Spell + +" Import +syn match chatitoImport /^import \+.*$/ transparent contains=chatitoImportKeyword,chatitoImportFile +syn keyword chatitoImportKeyword import contained nextgroup=chatitoImportFile +syn match chatitoImportFile /.*$/ contained skipwhite + +" Intent +syn match chatitoIntent /^%\[[^\]?]\+\]\((.\+)\)\=$/ contains=chatitoArgs + +" Slot +syn match chatitoSlot /^@\[[^\]?#]\+\(#[^\]?#]\+\)\=\]\((.\+)\)\=$/ contains=chatitoArgs,chatitoVariation +syn match chatitoSlot /@\[[^\]?#]\+\(#[^\]?#]\+\)\=?\=\]/ contained contains=chatitoOpt,chatitoVariation + +" Alias +syn match chatitoAlias /^\~\[[^\]?]\+\]\=$/ +syn match chatitoAlias /\~\[[^\]?]\+?\=\]/ contained contains=chatitoOpt + +" Probability +syn match chatitoProbability /\*\[\d\+\(\.\d\+\)\=%\=\]/ contained + +" Optional +syn match chatitoOpt '?' contained + +" Arguments +syn match chatitoArgs /(.\+)/ contained + +" Variation +syn match chatitoVariation /#[^\]?#]\+/ contained + +" Value +syn match chatitoValue /^ \{4\}\zs.\+$/ contains=chatitoProbability,chatitoSlot,chatitoAlias,@Spell + +" Errors +syn match chatitoError /^\t/ + +hi def link chatitoAlias String +hi def link chatitoArgs Special +hi def link chatitoComment Comment +hi def link chatitoError Error +hi def link chatitoImportKeyword Include +hi def link chatitoIntent Statement +hi def link chatitoOpt SpecialChar +hi def link chatitoProbability Number +hi def link chatitoSlot Identifier +hi def link chatitoTodo Todo +hi def link chatitoVariation Special + +let b:current_syntax = 'chatito' diff --git a/uvim/runtime/syntax/chatito.vim b/uvim/runtime/syntax/chatito.vim deleted file mode 100644 index d89307cf06..0000000000 --- a/uvim/runtime/syntax/chatito.vim +++ /dev/null @@ -1,62 +0,0 @@ -" Vim syntax file -" Language: Chatito -" Maintainer: ObserverOfTime -" Filenames: *.chatito -" Last Change: 2022 Sep 19 - -if exists('b:current_syntax') - finish -endif - -" Comment -syn keyword chatitoTodo contained TODO FIXME XXX -syn match chatitoComment /^#.*/ contains=chatitoTodo,@Spell -syn match chatitoComment +^//.*+ contains=chatitoTodo,@Spell - -" Import -syn match chatitoImport /^import \+.*$/ transparent contains=chatitoImportKeyword,chatitoImportFile -syn keyword chatitoImportKeyword import contained nextgroup=chatitoImportFile -syn match chatitoImportFile /.*$/ contained skipwhite - -" Intent -syn match chatitoIntent /^%\[[^\]?]\+\]\((.\+)\)\=$/ contains=chatitoArgs - -" Slot -syn match chatitoSlot /^@\[[^\]?#]\+\(#[^\]?#]\+\)\=\]\((.\+)\)\=$/ contains=chatitoArgs,chatitoVariation -syn match chatitoSlot /@\[[^\]?#]\+\(#[^\]?#]\+\)\=?\=\]/ contained contains=chatitoOpt,chatitoVariation - -" Alias -syn match chatitoAlias /^\~\[[^\]?]\+\]\=$/ -syn match chatitoAlias /\~\[[^\]?]\+?\=\]/ contained contains=chatitoOpt - -" Probability -syn match chatitoProbability /\*\[\d\+\(\.\d\+\)\=%\=\]/ contained - -" Optional -syn match chatitoOpt '?' contained - -" Arguments -syn match chatitoArgs /(.\+)/ contained - -" Variation -syn match chatitoVariation /#[^\]?#]\+/ contained - -" Value -syn match chatitoValue /^ \{4\}\zs.\+$/ contains=chatitoProbability,chatitoSlot,chatitoAlias,@Spell - -" Errors -syn match chatitoError /^\t/ - -hi def link chatitoAlias String -hi def link chatitoArgs Special -hi def link chatitoComment Comment -hi def link chatitoError Error -hi def link chatitoImportKeyword Include -hi def link chatitoIntent Statement -hi def link chatitoOpt SpecialChar -hi def link chatitoProbability Number -hi def link chatitoSlot Identifier -hi def link chatitoTodo Todo -hi def link chatitoVariation Special - -let b:current_syntax = 'chatito' diff --git a/uvim/runtime/syntax/cheetah.mnv b/uvim/runtime/syntax/cheetah.mnv new file mode 100644 index 0000000000..b5ca383531 --- /dev/null +++ b/uvim/runtime/syntax/cheetah.mnv @@ -0,0 +1,47 @@ +" MNV syntax file +" Language: Cheetah template engine +" Maintainer: Max Ischenko +" Last Change: 2003-05-11 +" +" Missing features: +" match invalid syntax, like bad variable ref. or unmatched closing tag +" PSP-style tags: <% .. %> (obsoleted feature) +" doc-strings and header comments (rarely used feature) + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syntax case match + +syn keyword cheetahKeyword contained if else unless elif for in not +syn keyword cheetahKeyword contained while repeat break continue pass end +syn keyword cheetahKeyword contained set del attr def global include raw echo +syn keyword cheetahKeyword contained import from extends implements +syn keyword cheetahKeyword contained assert raise try catch finally +syn keyword cheetahKeyword contained errorCatcher breakpoint silent cache filter +syn match cheetahKeyword contained "\" + +" Matches cached placeholders +syn match cheetahPlaceHolder "$\(\*[0-9.]\+[wdhms]\?\*\|\*\)\?\h\w*\(\.\h\w*\)*" display +syn match cheetahPlaceHolder "$\(\*[0-9.]\+[wdhms]\?\*\|\*\)\?{\h\w*\(\.\h\w*\)*}" display +syn match cheetahDirective "^\s*#[^#].*$" contains=cheetahPlaceHolder,cheetahKeyword,cheetahComment display + +syn match cheetahContinuation "\\$" +syn match cheetahComment "##.*$" display +syn region cheetahMultiLineComment start="#\*" end="\*#" + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link cheetahPlaceHolder Identifier +hi def link cheetahDirective PreCondit +hi def link cheetahKeyword Define +hi def link cheetahContinuation Special +hi def link cheetahComment Comment +hi def link cheetahMultiLineComment Comment + + +let b:current_syntax = "cheetah" + diff --git a/uvim/runtime/syntax/cheetah.vim b/uvim/runtime/syntax/cheetah.vim deleted file mode 100644 index 9567ecbbca..0000000000 --- a/uvim/runtime/syntax/cheetah.vim +++ /dev/null @@ -1,47 +0,0 @@ -" Vim syntax file -" Language: Cheetah template engine -" Maintainer: Max Ischenko -" Last Change: 2003-05-11 -" -" Missing features: -" match invalid syntax, like bad variable ref. or unmatched closing tag -" PSP-style tags: <% .. %> (obsoleted feature) -" doc-strings and header comments (rarely used feature) - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syntax case match - -syn keyword cheetahKeyword contained if else unless elif for in not -syn keyword cheetahKeyword contained while repeat break continue pass end -syn keyword cheetahKeyword contained set del attr def global include raw echo -syn keyword cheetahKeyword contained import from extends implements -syn keyword cheetahKeyword contained assert raise try catch finally -syn keyword cheetahKeyword contained errorCatcher breakpoint silent cache filter -syn match cheetahKeyword contained "\" - -" Matches cached placeholders -syn match cheetahPlaceHolder "$\(\*[0-9.]\+[wdhms]\?\*\|\*\)\?\h\w*\(\.\h\w*\)*" display -syn match cheetahPlaceHolder "$\(\*[0-9.]\+[wdhms]\?\*\|\*\)\?{\h\w*\(\.\h\w*\)*}" display -syn match cheetahDirective "^\s*#[^#].*$" contains=cheetahPlaceHolder,cheetahKeyword,cheetahComment display - -syn match cheetahContinuation "\\$" -syn match cheetahComment "##.*$" display -syn region cheetahMultiLineComment start="#\*" end="\*#" - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link cheetahPlaceHolder Identifier -hi def link cheetahDirective PreCondit -hi def link cheetahKeyword Define -hi def link cheetahContinuation Special -hi def link cheetahComment Comment -hi def link cheetahMultiLineComment Comment - - -let b:current_syntax = "cheetah" - diff --git a/uvim/runtime/syntax/chicken.mnv b/uvim/runtime/syntax/chicken.mnv new file mode 100644 index 0000000000..d3dd43f853 --- /dev/null +++ b/uvim/runtime/syntax/chicken.mnv @@ -0,0 +1,94 @@ +" MNV syntax file +" Language: Scheme (CHICKEN) +" Last Change: 2024 Jun 21 +" Author: Evan Hanson +" Maintainer: Evan Hanson +" Repository: https://git.foldling.org/mnv-scheme.git +" URL: https://foldling.org/mnv/syntax/chicken.mnv +" Notes: This is supplemental syntax, to be loaded after the core +" Scheme syntax file (syntax/scheme.mnv). Enable it by +" setting b:is_chicken=1 and filetype=scheme. + +" Only to be used on top of the Scheme syntax. +if !exists('b:did_scheme_syntax') + finish +endif + +" Lighten parentheses. +hi! def link schemeParentheses Comment + +" foo#bar +syn match schemeExtraSyntax /[^ #'`\t\n()\[\]"|;]\+#[^ '`\t\n()\[\]"|;]\+/ + +" ##foo#bar +syn match schemeExtraSyntax /##[^ '`\t\n()\[\]"|;]\+/ + +" Heredocs. +syn region schemeString start=/#<[<#]\s*\z(.*\)/ end=/^\z1$/ + +" Keywords. +syn match schemeKeyword /#[!:][a-zA-Z0-9!$%&*+-./:<=>?@^_~#]\+/ +syn match schemeKeyword /[a-zA-Z0-9!$%&*+-./:<=>?@^_~#]\+:\>/ + +" C/C++ syntax. +let s:c = globpath(&rtp, 'syntax/cpp.mnv', 0, 1) +if len(s:c) + exe 'syn include @c ' s:c[0] + syn region c matchgroup=schemeComment start=/#>/ end=/<#/ contains=@c +endif + +" SRFI 26 +syn match schemeSyntax /\(([ \t\n]*\)\@<=\(cut\|cute\)\>/ + +syn keyword schemeSyntax and-let* +syn keyword schemeSyntax define-record +syn keyword schemeSyntax set!-values +syn keyword schemeSyntax fluid-let +syn keyword schemeSyntax let-optionals +syn keyword schemeSyntax let-optionals* +syn keyword schemeSyntax letrec-values +syn keyword schemeSyntax nth-value +syn keyword schemeSyntax receive + +syn keyword schemeLibrarySyntax declare +syn keyword schemeLibrarySyntax define-interface +syn keyword schemeLibrarySyntax functor +syn keyword schemeLibrarySyntax include-relative +syn keyword schemeLibrarySyntax module +syn keyword schemeLibrarySyntax reexport +syn keyword schemeLibrarySyntax require-library + +syn keyword schemeTypeSyntax --> +syn keyword schemeTypeSyntax -> +syn keyword schemeTypeSyntax : +syn keyword schemeTypeSyntax assume +syn keyword schemeTypeSyntax compiler-typecase +syn keyword schemeTypeSyntax define-specialization +syn keyword schemeTypeSyntax define-type +syn keyword schemeTypeSyntax the + +syn keyword schemeExtraSyntax match +syn keyword schemeExtraSyntax match-lambda +syn keyword schemeExtraSyntax match-lambda* +syn keyword schemeExtraSyntax match-let +syn keyword schemeExtraSyntax match-let* +syn keyword schemeExtraSyntax match-letrec + +syn keyword schemeSpecialSyntax define-compiler-syntax +syn keyword schemeSpecialSyntax define-constant +syn keyword schemeSpecialSyntax define-external +syn keyword schemeSpecialSyntax define-inline +syn keyword schemeSpecialSyntax foreign-code +syn keyword schemeSpecialSyntax foreign-declare +syn keyword schemeSpecialSyntax foreign-lambda +syn keyword schemeSpecialSyntax foreign-lambda* +syn keyword schemeSpecialSyntax foreign-primitive +syn keyword schemeSpecialSyntax foreign-safe-lambda +syn keyword schemeSpecialSyntax foreign-safe-lambda* +syn keyword schemeSpecialSyntax foreign-value + +syn keyword schemeSyntaxSyntax begin-for-syntax +syn keyword schemeSyntaxSyntax define-for-syntax +syn keyword schemeSyntaxSyntax er-macro-transformer +syn keyword schemeSyntaxSyntax ir-macro-transformer +syn keyword schemeSyntaxSyntax require-library-for-syntax diff --git a/uvim/runtime/syntax/chicken.vim b/uvim/runtime/syntax/chicken.vim deleted file mode 100644 index 958fc1f361..0000000000 --- a/uvim/runtime/syntax/chicken.vim +++ /dev/null @@ -1,94 +0,0 @@ -" Vim syntax file -" Language: Scheme (CHICKEN) -" Last Change: 2024 Jun 21 -" Author: Evan Hanson -" Maintainer: Evan Hanson -" Repository: https://git.foldling.org/vim-scheme.git -" URL: https://foldling.org/vim/syntax/chicken.vim -" Notes: This is supplemental syntax, to be loaded after the core -" Scheme syntax file (syntax/scheme.vim). Enable it by -" setting b:is_chicken=1 and filetype=scheme. - -" Only to be used on top of the Scheme syntax. -if !exists('b:did_scheme_syntax') - finish -endif - -" Lighten parentheses. -hi! def link schemeParentheses Comment - -" foo#bar -syn match schemeExtraSyntax /[^ #'`\t\n()\[\]"|;]\+#[^ '`\t\n()\[\]"|;]\+/ - -" ##foo#bar -syn match schemeExtraSyntax /##[^ '`\t\n()\[\]"|;]\+/ - -" Heredocs. -syn region schemeString start=/#<[<#]\s*\z(.*\)/ end=/^\z1$/ - -" Keywords. -syn match schemeKeyword /#[!:][a-zA-Z0-9!$%&*+-./:<=>?@^_~#]\+/ -syn match schemeKeyword /[a-zA-Z0-9!$%&*+-./:<=>?@^_~#]\+:\>/ - -" C/C++ syntax. -let s:c = globpath(&rtp, 'syntax/cpp.vim', 0, 1) -if len(s:c) - exe 'syn include @c ' s:c[0] - syn region c matchgroup=schemeComment start=/#>/ end=/<#/ contains=@c -endif - -" SRFI 26 -syn match schemeSyntax /\(([ \t\n]*\)\@<=\(cut\|cute\)\>/ - -syn keyword schemeSyntax and-let* -syn keyword schemeSyntax define-record -syn keyword schemeSyntax set!-values -syn keyword schemeSyntax fluid-let -syn keyword schemeSyntax let-optionals -syn keyword schemeSyntax let-optionals* -syn keyword schemeSyntax letrec-values -syn keyword schemeSyntax nth-value -syn keyword schemeSyntax receive - -syn keyword schemeLibrarySyntax declare -syn keyword schemeLibrarySyntax define-interface -syn keyword schemeLibrarySyntax functor -syn keyword schemeLibrarySyntax include-relative -syn keyword schemeLibrarySyntax module -syn keyword schemeLibrarySyntax reexport -syn keyword schemeLibrarySyntax require-library - -syn keyword schemeTypeSyntax --> -syn keyword schemeTypeSyntax -> -syn keyword schemeTypeSyntax : -syn keyword schemeTypeSyntax assume -syn keyword schemeTypeSyntax compiler-typecase -syn keyword schemeTypeSyntax define-specialization -syn keyword schemeTypeSyntax define-type -syn keyword schemeTypeSyntax the - -syn keyword schemeExtraSyntax match -syn keyword schemeExtraSyntax match-lambda -syn keyword schemeExtraSyntax match-lambda* -syn keyword schemeExtraSyntax match-let -syn keyword schemeExtraSyntax match-let* -syn keyword schemeExtraSyntax match-letrec - -syn keyword schemeSpecialSyntax define-compiler-syntax -syn keyword schemeSpecialSyntax define-constant -syn keyword schemeSpecialSyntax define-external -syn keyword schemeSpecialSyntax define-inline -syn keyword schemeSpecialSyntax foreign-code -syn keyword schemeSpecialSyntax foreign-declare -syn keyword schemeSpecialSyntax foreign-lambda -syn keyword schemeSpecialSyntax foreign-lambda* -syn keyword schemeSpecialSyntax foreign-primitive -syn keyword schemeSpecialSyntax foreign-safe-lambda -syn keyword schemeSpecialSyntax foreign-safe-lambda* -syn keyword schemeSpecialSyntax foreign-value - -syn keyword schemeSyntaxSyntax begin-for-syntax -syn keyword schemeSyntaxSyntax define-for-syntax -syn keyword schemeSyntaxSyntax er-macro-transformer -syn keyword schemeSyntaxSyntax ir-macro-transformer -syn keyword schemeSyntaxSyntax require-library-for-syntax diff --git a/uvim/runtime/syntax/chill.mnv b/uvim/runtime/syntax/chill.mnv new file mode 100644 index 0000000000..794f992352 --- /dev/null +++ b/uvim/runtime/syntax/chill.mnv @@ -0,0 +1,178 @@ +" MNV syntax file +" Language: CHILL +" Maintainer: YoungSang Yoon +" Last change: 2004 Jan 21 +" + +" first created by image@lgic.co.kr & modified by paris@lgic.co.kr + +" CHILL (CCITT High Level Programming Language) is used for +" developing software of ATM switch at LGIC (LG Information +" & Communications LTd.) + + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" A bunch of useful CHILL keywords +syn keyword chillStatement goto GOTO return RETURN returns RETURNS +syn keyword chillLabel CASE case ESAC esac +syn keyword chillConditional if IF else ELSE elsif ELSIF switch SWITCH THEN then FI fi +syn keyword chillLogical NOT not +syn keyword chillRepeat while WHILE for FOR do DO od OD TO to +syn keyword chillProcess START start STACKSIZE stacksize PRIORITY priority THIS this STOP stop +syn keyword chillBlock PROC proc PROCESS process +syn keyword chillSignal RECEIVE receive SEND send NONPERSISTENT nonpersistent PERSISTENT persistent SET set EVER ever + +syn keyword chillTodo contained TODO FIXME XXX + +" String and Character constants +" Highlight special characters (those which have a backslash) differently +syn match chillSpecial contained "\\x\x\+\|\\\o\{1,3\}\|\\.\|\\$" +syn region chillString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=chillSpecial +syn match chillCharacter "'[^\\]'" +syn match chillSpecialCharacter "'\\.'" +syn match chillSpecialCharacter "'\\\o\{1,3\}'" + +"when wanted, highlight trailing white space +if exists("chill_space_errors") + syn match chillSpaceError "\s*$" + syn match chillSpaceError " \+\t"me=e-1 +endif + +"catch errors caused by wrong parenthesis +syn cluster chillParenGroup contains=chillParenError,chillIncluded,chillSpecial,chillTodo,chillUserCont,chillUserLabel,chillBitField +syn region chillParen transparent start='(' end=')' contains=ALLBUT,@chillParenGroup +syn match chillParenError ")" +syn match chillInParen contained "[{}]" + +"integer number, or floating point number without a dot and with "f". +syn case ignore +syn match chillNumber "\<\d\+\(u\=l\=\|lu\|f\)\>" +"floating point number, with dot, optional exponent +syn match chillFloat "\<\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=\>" +"floating point number, starting with a dot, optional exponent +syn match chillFloat "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>" +"floating point number, without dot, with exponent +syn match chillFloat "\<\d\+e[-+]\=\d\+[fl]\=\>" +"hex number +syn match chillNumber "\<0x\x\+\(u\=l\=\|lu\)\>" +"syn match chillIdentifier "\<[a-z_][a-z0-9_]*\>" +syn case match +" flag an octal number with wrong digits +syn match chillOctalError "\<0\o*[89]" + +if exists("chill_comment_strings") + " A comment can contain chillString, chillCharacter and chillNumber. + " But a "*/" inside a chillString in a chillComment DOES end the comment! So we + " need to use a special type of chillString: chillCommentString, which also ends on + " "*/", and sees a "*" at the start of the line as comment again. + " Unfortunately this doesn't very well work for // type of comments :-( + syntax match chillCommentSkip contained "^\s*\*\($\|\s\+\)" + syntax region chillCommentString contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=chillSpecial,chillCommentSkip + syntax region chillComment2String contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=chillSpecial + syntax region chillComment start="/\*" end="\*/" contains=chillTodo,chillCommentString,chillCharacter,chillNumber,chillFloat,chillSpaceError + syntax match chillComment "//.*" contains=chillTodo,chillComment2String,chillCharacter,chillNumber,chillSpaceError +else + syn region chillComment start="/\*" end="\*/" contains=chillTodo,chillSpaceError + syn match chillComment "//.*" contains=chillTodo,chillSpaceError +endif +syntax match chillCommentError "\*/" + +syn keyword chillOperator SIZE size +syn keyword chillType dcl DCL int INT char CHAR bool BOOL REF ref LOC loc INSTANCE instance +syn keyword chillStructure struct STRUCT enum ENUM newmode NEWMODE synmode SYNMODE +"syn keyword chillStorageClass +syn keyword chillBlock PROC proc END end +syn keyword chillScope GRANT grant SEIZE seize +syn keyword chillEDML select SELECT delete DELETE update UPDATE in IN seq SEQ WHERE where INSERT insert include INCLUDE exclude EXCLUDE +syn keyword chillBoolConst true TRUE false FALSE + +syn region chillPreCondit start="^\s*#\s*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=chillComment,chillString,chillCharacter,chillNumber,chillCommentError,chillSpaceError +syn region chillIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+ +syn match chillIncluded contained "<[^>]*>" +syn match chillInclude "^\s*#\s*include\>\s*["<]" contains=chillIncluded +"syn match chillLineSkip "\\$" +syn cluster chillPreProcGroup contains=chillPreCondit,chillIncluded,chillInclude,chillDefine,chillInParen,chillUserLabel +syn region chillDefine start="^\s*#\s*\(define\>\|undef\>\)" skip="\\$" end="$" contains=ALLBUT,@chillPreProcGroup +syn region chillPreProc start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" contains=ALLBUT,@chillPreProcGroup + +" Highlight User Labels +syn cluster chillMultiGroup contains=chillIncluded,chillSpecial,chillTodo,chillUserCont,chillUserLabel,chillBitField +syn region chillMulti transparent start='?' end=':' contains=ALLBUT,@chillMultiGroup +" Avoid matching foo::bar() in C++ by requiring that the next char is not ':' +syn match chillUserCont "^\s*\I\i*\s*:$" contains=chillUserLabel +syn match chillUserCont ";\s*\I\i*\s*:$" contains=chillUserLabel +syn match chillUserCont "^\s*\I\i*\s*:[^:]"me=e-1 contains=chillUserLabel +syn match chillUserCont ";\s*\I\i*\s*:[^:]"me=e-1 contains=chillUserLabel + +syn match chillUserLabel "\I\i*" contained + +" Avoid recognizing most bitfields as labels +syn match chillBitField "^\s*\I\i*\s*:\s*[1-9]"me=e-1 +syn match chillBitField ";\s*\I\i*\s*:\s*[1-9]"me=e-1 + +syn match chillBracket contained "[<>]" +if !exists("chill_minlines") + let chill_minlines = 15 +endif +exec "syn sync ccomment chillComment minlines=" . chill_minlines + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link chillLabel Label +hi def link chillUserLabel Label +hi def link chillConditional Conditional +" hi def link chillConditional term=bold ctermfg=red guifg=red gui=bold + +hi def link chillRepeat Repeat +hi def link chillProcess Repeat +hi def link chillSignal Repeat +hi def link chillCharacter Character +hi def link chillSpecialCharacter chillSpecial +hi def link chillNumber Number +hi def link chillFloat Float +hi def link chillOctalError chillError +hi def link chillParenError chillError +hi def link chillInParen chillError +hi def link chillCommentError chillError +hi def link chillSpaceError chillError +hi def link chillOperator Operator +hi def link chillStructure Structure +hi def link chillBlock Operator +hi def link chillScope Operator +"hi def link chillEDML term=underline ctermfg=DarkRed guifg=Red +hi def link chillEDML PreProc +"hi def link chillBoolConst term=bold ctermfg=brown guifg=brown +hi def link chillBoolConst Constant +"hi def link chillLogical term=bold ctermfg=brown guifg=brown +hi def link chillLogical Constant +hi def link chillStorageClass StorageClass +hi def link chillInclude Include +hi def link chillPreProc PreProc +hi def link chillDefine Macro +hi def link chillIncluded chillString +hi def link chillError Error +hi def link chillStatement Statement +hi def link chillPreCondit PreCondit +hi def link chillType Type +hi def link chillCommentError chillError +hi def link chillCommentString chillString +hi def link chillComment2String chillString +hi def link chillCommentSkip chillComment +hi def link chillString String +hi def link chillComment Comment +" hi def link chillComment term=None ctermfg=lightblue guifg=lightblue +hi def link chillSpecial SpecialChar +hi def link chillTodo Todo +hi def link chillBlock Statement +"hi def link chillIdentifier Identifier +hi def link chillBracket Delimiter + + +let b:current_syntax = "chill" + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/chill.vim b/uvim/runtime/syntax/chill.vim deleted file mode 100644 index b95df68bc8..0000000000 --- a/uvim/runtime/syntax/chill.vim +++ /dev/null @@ -1,178 +0,0 @@ -" Vim syntax file -" Language: CHILL -" Maintainer: YoungSang Yoon -" Last change: 2004 Jan 21 -" - -" first created by image@lgic.co.kr & modified by paris@lgic.co.kr - -" CHILL (CCITT High Level Programming Language) is used for -" developing software of ATM switch at LGIC (LG Information -" & Communications LTd.) - - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" A bunch of useful CHILL keywords -syn keyword chillStatement goto GOTO return RETURN returns RETURNS -syn keyword chillLabel CASE case ESAC esac -syn keyword chillConditional if IF else ELSE elsif ELSIF switch SWITCH THEN then FI fi -syn keyword chillLogical NOT not -syn keyword chillRepeat while WHILE for FOR do DO od OD TO to -syn keyword chillProcess START start STACKSIZE stacksize PRIORITY priority THIS this STOP stop -syn keyword chillBlock PROC proc PROCESS process -syn keyword chillSignal RECEIVE receive SEND send NONPERSISTENT nonpersistent PERSISTENT persistent SET set EVER ever - -syn keyword chillTodo contained TODO FIXME XXX - -" String and Character constants -" Highlight special characters (those which have a backslash) differently -syn match chillSpecial contained "\\x\x\+\|\\\o\{1,3\}\|\\.\|\\$" -syn region chillString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=chillSpecial -syn match chillCharacter "'[^\\]'" -syn match chillSpecialCharacter "'\\.'" -syn match chillSpecialCharacter "'\\\o\{1,3\}'" - -"when wanted, highlight trailing white space -if exists("chill_space_errors") - syn match chillSpaceError "\s*$" - syn match chillSpaceError " \+\t"me=e-1 -endif - -"catch errors caused by wrong parenthesis -syn cluster chillParenGroup contains=chillParenError,chillIncluded,chillSpecial,chillTodo,chillUserCont,chillUserLabel,chillBitField -syn region chillParen transparent start='(' end=')' contains=ALLBUT,@chillParenGroup -syn match chillParenError ")" -syn match chillInParen contained "[{}]" - -"integer number, or floating point number without a dot and with "f". -syn case ignore -syn match chillNumber "\<\d\+\(u\=l\=\|lu\|f\)\>" -"floating point number, with dot, optional exponent -syn match chillFloat "\<\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=\>" -"floating point number, starting with a dot, optional exponent -syn match chillFloat "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>" -"floating point number, without dot, with exponent -syn match chillFloat "\<\d\+e[-+]\=\d\+[fl]\=\>" -"hex number -syn match chillNumber "\<0x\x\+\(u\=l\=\|lu\)\>" -"syn match chillIdentifier "\<[a-z_][a-z0-9_]*\>" -syn case match -" flag an octal number with wrong digits -syn match chillOctalError "\<0\o*[89]" - -if exists("chill_comment_strings") - " A comment can contain chillString, chillCharacter and chillNumber. - " But a "*/" inside a chillString in a chillComment DOES end the comment! So we - " need to use a special type of chillString: chillCommentString, which also ends on - " "*/", and sees a "*" at the start of the line as comment again. - " Unfortunately this doesn't very well work for // type of comments :-( - syntax match chillCommentSkip contained "^\s*\*\($\|\s\+\)" - syntax region chillCommentString contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=chillSpecial,chillCommentSkip - syntax region chillComment2String contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=chillSpecial - syntax region chillComment start="/\*" end="\*/" contains=chillTodo,chillCommentString,chillCharacter,chillNumber,chillFloat,chillSpaceError - syntax match chillComment "//.*" contains=chillTodo,chillComment2String,chillCharacter,chillNumber,chillSpaceError -else - syn region chillComment start="/\*" end="\*/" contains=chillTodo,chillSpaceError - syn match chillComment "//.*" contains=chillTodo,chillSpaceError -endif -syntax match chillCommentError "\*/" - -syn keyword chillOperator SIZE size -syn keyword chillType dcl DCL int INT char CHAR bool BOOL REF ref LOC loc INSTANCE instance -syn keyword chillStructure struct STRUCT enum ENUM newmode NEWMODE synmode SYNMODE -"syn keyword chillStorageClass -syn keyword chillBlock PROC proc END end -syn keyword chillScope GRANT grant SEIZE seize -syn keyword chillEDML select SELECT delete DELETE update UPDATE in IN seq SEQ WHERE where INSERT insert include INCLUDE exclude EXCLUDE -syn keyword chillBoolConst true TRUE false FALSE - -syn region chillPreCondit start="^\s*#\s*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=chillComment,chillString,chillCharacter,chillNumber,chillCommentError,chillSpaceError -syn region chillIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+ -syn match chillIncluded contained "<[^>]*>" -syn match chillInclude "^\s*#\s*include\>\s*["<]" contains=chillIncluded -"syn match chillLineSkip "\\$" -syn cluster chillPreProcGroup contains=chillPreCondit,chillIncluded,chillInclude,chillDefine,chillInParen,chillUserLabel -syn region chillDefine start="^\s*#\s*\(define\>\|undef\>\)" skip="\\$" end="$" contains=ALLBUT,@chillPreProcGroup -syn region chillPreProc start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" contains=ALLBUT,@chillPreProcGroup - -" Highlight User Labels -syn cluster chillMultiGroup contains=chillIncluded,chillSpecial,chillTodo,chillUserCont,chillUserLabel,chillBitField -syn region chillMulti transparent start='?' end=':' contains=ALLBUT,@chillMultiGroup -" Avoid matching foo::bar() in C++ by requiring that the next char is not ':' -syn match chillUserCont "^\s*\I\i*\s*:$" contains=chillUserLabel -syn match chillUserCont ";\s*\I\i*\s*:$" contains=chillUserLabel -syn match chillUserCont "^\s*\I\i*\s*:[^:]"me=e-1 contains=chillUserLabel -syn match chillUserCont ";\s*\I\i*\s*:[^:]"me=e-1 contains=chillUserLabel - -syn match chillUserLabel "\I\i*" contained - -" Avoid recognizing most bitfields as labels -syn match chillBitField "^\s*\I\i*\s*:\s*[1-9]"me=e-1 -syn match chillBitField ";\s*\I\i*\s*:\s*[1-9]"me=e-1 - -syn match chillBracket contained "[<>]" -if !exists("chill_minlines") - let chill_minlines = 15 -endif -exec "syn sync ccomment chillComment minlines=" . chill_minlines - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link chillLabel Label -hi def link chillUserLabel Label -hi def link chillConditional Conditional -" hi def link chillConditional term=bold ctermfg=red guifg=red gui=bold - -hi def link chillRepeat Repeat -hi def link chillProcess Repeat -hi def link chillSignal Repeat -hi def link chillCharacter Character -hi def link chillSpecialCharacter chillSpecial -hi def link chillNumber Number -hi def link chillFloat Float -hi def link chillOctalError chillError -hi def link chillParenError chillError -hi def link chillInParen chillError -hi def link chillCommentError chillError -hi def link chillSpaceError chillError -hi def link chillOperator Operator -hi def link chillStructure Structure -hi def link chillBlock Operator -hi def link chillScope Operator -"hi def link chillEDML term=underline ctermfg=DarkRed guifg=Red -hi def link chillEDML PreProc -"hi def link chillBoolConst term=bold ctermfg=brown guifg=brown -hi def link chillBoolConst Constant -"hi def link chillLogical term=bold ctermfg=brown guifg=brown -hi def link chillLogical Constant -hi def link chillStorageClass StorageClass -hi def link chillInclude Include -hi def link chillPreProc PreProc -hi def link chillDefine Macro -hi def link chillIncluded chillString -hi def link chillError Error -hi def link chillStatement Statement -hi def link chillPreCondit PreCondit -hi def link chillType Type -hi def link chillCommentError chillError -hi def link chillCommentString chillString -hi def link chillComment2String chillString -hi def link chillCommentSkip chillComment -hi def link chillString String -hi def link chillComment Comment -" hi def link chillComment term=None ctermfg=lightblue guifg=lightblue -hi def link chillSpecial SpecialChar -hi def link chillTodo Todo -hi def link chillBlock Statement -"hi def link chillIdentifier Identifier -hi def link chillBracket Delimiter - - -let b:current_syntax = "chill" - -" vim: ts=8 diff --git a/uvim/runtime/syntax/chordpro.mnv b/uvim/runtime/syntax/chordpro.mnv new file mode 100644 index 0000000000..f58c838539 --- /dev/null +++ b/uvim/runtime/syntax/chordpro.mnv @@ -0,0 +1,174 @@ +" MNV syntax file +" Language: ChordPro 6 (https://www.chordpro.org) +" Maintainer: Niels Bo Andersen +" Last Change: 2022-04-15 +" 2024 Dec 31: add "keys" as syntax keyword (via: https://groups.google.com/g/mnv_dev/c/vP4epus0euM/m/mNoDY6hsCQAJ) + +" Quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn case ignore + +" Include embedded abc syntax +syn include @Abc syntax/abc.mnv + +" Lilypond and Pango syntaxes could be embedded as well, but they are not +" available in the distribution. + +" Directives without arguments +syn keyword chordproDirective contained nextgroup=chordproConditional + \ new_song ns + \ start_of_chorus soc + \ chorus + \ start_of_verse sov + \ start_of_bridge sob + \ start_of_tab sot + \ start_of_grid sog + \ start_of_abc + \ start_of_ly + \ end_of_chorus eoc + \ end_of_verse eov + \ end_of_bridge eob + \ end_of_tab eot + \ end_of_grid eog + \ end_of_abc + \ end_of_ly + \ new_page np + \ new_physical_page npp + \ column_break cb + \ grid g + \ no_grid ng + \ transpose + \ chordfont cf chordsize cs chordcolour + \ footerfont footersize footercolour + \ gridfont gridsize gridcolour + \ tabfont tabsize tabcolour + \ tocfont tocsize toccolour + \ textfont tf textsize ts textcolour + \ titlefont titlesize titlecolour + +" Directives with arguments. Some directives are in both groups, as they can +" be used both with and without arguments +syn keyword chordproDirWithArg contained nextgroup=chordproConditional + \ title t + \ subtitle st + \ sorttitle + \ artist + \ composer + \ lyricist + \ arranger + \ copyright + \ album + \ year + \ key + \ time + \ tempo + \ duration + \ capo + \ comment c + \ highlight + \ comment_italic ci + \ comment_box cb + \ image + \ start_of_chorus soc + \ chorus + \ start_of_verse sov + \ start_of_bridge sob + \ start_of_tab sot + \ start_of_grid sog + \ start_of_abc + \ start_of_ly + \ define + \ chord + \ transpose + \ chordfont cf chordsize cs chordcolour + \ footerfont footersize footercolour + \ gridfont gridsize gridcolour + \ tabfont tabsize tabcolour + \ tocfont tocsize toccolour + \ textfont tf textsize ts textcolour + \ titlefont titlesize titlecolour + \ pagetype + \ titles + \ columns col + +syn keyword chordproMetaKeyword contained meta +syn keyword chordproMetadata contained title sorttitle subtitle artist composer lyricist arranger copyright album year key time tempo duration capo +syn keyword chordproStandardMetadata contained songindex page pages pagerange today tuning instrument user +syn match chordproStandardMetadata /instrument\.type/ contained +syn match chordproStandardMetadata /instrument\.description/ contained +syn match chordproStandardMetadata /user\.name/ contained +syn match chordproStandardMetadata /user\.fullname/ contained + +syn keyword chordproDefineKeyword contained frets fingers keys +syn match chordproDefineKeyword /base-fret/ contained + +syn match chordproArgumentsNumber /\d\+/ contained + +syn match chordproCustom /x_\w\+/ contained + +syn match chordproDirMatch /{\w\+\(-\w\+\)\?}/ contains=chordproDirective contained transparent +syn match chordproDirArgMatch /{\w\+\(-\w\+\)\?[: ]/ contains=chordproDirWithArg contained transparent +syn match chordproMetaMatch /{meta\(-\w\+\)\?[: ]\+\w\+/ contains=chordproMetaKeyword,chordproMetadata contained transparent +syn match chordproCustomMatch /{x_\w\+\(-\w\+\)\?[: ]/ contains=chordproCustom contained transparent + +syn match chordproConditional /-\w\+/ contained + +syn match chordproMetaDataOperator /[=|]/ contained +syn match chordproMetaDataValue /%{\w*/ contains=chordproMetaData,chordproStandardMetadata contained transparent +" Handles nested metadata tags, but the end of the containing chordproTag is +" not highlighted correctly, if there are more than two levels of nesting +syn region chordproMetaDataTag start=/%{\w*/ skip=/%{[^}]*}/ end=/}/ contains=chordproMetaDataValue,chordproMetaDataOperator,chordproMetadataTag contained + +syn region chordproArguments start=/{\w\+\(-\w\+\)\?[: ]/hs=e+1 skip=/%{[^}]*}/ end=/}/he=s-1 contains=chordproDirArgMatch,chordproArgumentsNumber,chordproMetaDataTag contained +syn region chordproArguments start=/{\(define\|chord\)\(-\w\+\)\?[: ]/hs=e+1 end=/}/he=s-1 contains=chordproDirArgMatch,chordproDefineKeyword,chordproArgumentsNumber contained +syn region chordproArguments start=/{meta\(-\w\+\)\?[: ]/hs=e+1 skip=/%{[^}]*}/ end=/}/he=s-1 contains=chordproMetaMatch,chordproMetaDataTag contained +syn region chordproArguments start=/{x_\w\+\(-\w\+\)\?[: ]/hs=e+1 end=/}/he=s-1 contains=chordproCustomMatch contained + +syn region chordproTag start=/{/ skip=/%{[^}]*}/ end=/}/ contains=chordproDirMatch,chordproArguments oneline + +syn region chordproChord matchgroup=chordproBracket start=/\[/ end=/]/ oneline + +syn region chordproAnnotation matchgroup=chordproBracket start=/\[\*/ end=/]/ oneline + +syn region chordproTab start=/{start_of_tab\(-\w\+\)\?\([: ].\+\)\?}\|{sot\(-\w\+\)\?\([: ].\+\)\?}/hs=e+1 end=/{end_of_tab}\|{eot}/me=s-1 contains=chordproTag,chordproComment keepend + +syn region chordproChorus start=/{start_of_chorus\(-\w\+\)\?\([: ].\+\)\?}\|{soc\(-\w\+\)\?\([: ].\+\)\?}/hs=e+1 end=/{end_of_chorus}\|{eoc}/me=s-1 contains=chordproTag,chordproChord,chordproAnnotation,chordproComment keepend + +syn region chordproBridge start=/{start_of_bridge\(-\w\+\)\?\([: ].\+\)\?}\|{sob\(-\w\+\)\?\([: ].\+\)\?}/hs=e+1 end=/{end_of_bridge}\|{eob}/me=s-1 contains=chordproTag,chordproChord,chordproAnnotation,chordproComment keepend + +syn region chordproAbc start=/{start_of_abc\(-\w\+\)\?\([: ].\+\)\?}/hs=e+1 end=/{end_of_abc}/me=s-1 contains=chordproTag,@Abc keepend + +syn match chordproComment /^#.*/ + +" Define the default highlighting. +hi def link chordproDirective Statement +hi def link chordproDirWithArg Statement +hi def link chordproConditional Statement +hi def link chordproCustom Statement +hi def link chordproMetaKeyword Statement +hi def link chordproMetaDataOperator Operator +hi def link chordproMetaDataTag Function +hi def link chordproArguments Special +hi def link chordproArgumentsNumber Number +hi def link chordproChord Type +hi def link chordproAnnotation Identifier +hi def link chordproTag Constant +hi def link chordproTab PreProc +hi def link chordproComment Comment +hi def link chordproBracket Constant +hi def link chordproDefineKeyword Identifier +hi def link chordproMetadata Identifier +hi def link chordproStandardMetadata Identifier +hi def chordproChorus term=bold cterm=bold gui=bold +hi def chordproBridge term=italic cterm=italic gui=italic + +let b:current_syntax = "chordpro" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/chordpro.vim b/uvim/runtime/syntax/chordpro.vim deleted file mode 100644 index 02c34b8466..0000000000 --- a/uvim/runtime/syntax/chordpro.vim +++ /dev/null @@ -1,174 +0,0 @@ -" Vim syntax file -" Language: ChordPro 6 (https://www.chordpro.org) -" Maintainer: Niels Bo Andersen -" Last Change: 2022-04-15 -" 2024 Dec 31: add "keys" as syntax keyword (via: https://groups.google.com/g/vim_dev/c/vP4epus0euM/m/mNoDY6hsCQAJ) - -" Quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn case ignore - -" Include embedded abc syntax -syn include @Abc syntax/abc.vim - -" Lilypond and Pango syntaxes could be embedded as well, but they are not -" available in the distribution. - -" Directives without arguments -syn keyword chordproDirective contained nextgroup=chordproConditional - \ new_song ns - \ start_of_chorus soc - \ chorus - \ start_of_verse sov - \ start_of_bridge sob - \ start_of_tab sot - \ start_of_grid sog - \ start_of_abc - \ start_of_ly - \ end_of_chorus eoc - \ end_of_verse eov - \ end_of_bridge eob - \ end_of_tab eot - \ end_of_grid eog - \ end_of_abc - \ end_of_ly - \ new_page np - \ new_physical_page npp - \ column_break cb - \ grid g - \ no_grid ng - \ transpose - \ chordfont cf chordsize cs chordcolour - \ footerfont footersize footercolour - \ gridfont gridsize gridcolour - \ tabfont tabsize tabcolour - \ tocfont tocsize toccolour - \ textfont tf textsize ts textcolour - \ titlefont titlesize titlecolour - -" Directives with arguments. Some directives are in both groups, as they can -" be used both with and without arguments -syn keyword chordproDirWithArg contained nextgroup=chordproConditional - \ title t - \ subtitle st - \ sorttitle - \ artist - \ composer - \ lyricist - \ arranger - \ copyright - \ album - \ year - \ key - \ time - \ tempo - \ duration - \ capo - \ comment c - \ highlight - \ comment_italic ci - \ comment_box cb - \ image - \ start_of_chorus soc - \ chorus - \ start_of_verse sov - \ start_of_bridge sob - \ start_of_tab sot - \ start_of_grid sog - \ start_of_abc - \ start_of_ly - \ define - \ chord - \ transpose - \ chordfont cf chordsize cs chordcolour - \ footerfont footersize footercolour - \ gridfont gridsize gridcolour - \ tabfont tabsize tabcolour - \ tocfont tocsize toccolour - \ textfont tf textsize ts textcolour - \ titlefont titlesize titlecolour - \ pagetype - \ titles - \ columns col - -syn keyword chordproMetaKeyword contained meta -syn keyword chordproMetadata contained title sorttitle subtitle artist composer lyricist arranger copyright album year key time tempo duration capo -syn keyword chordproStandardMetadata contained songindex page pages pagerange today tuning instrument user -syn match chordproStandardMetadata /instrument\.type/ contained -syn match chordproStandardMetadata /instrument\.description/ contained -syn match chordproStandardMetadata /user\.name/ contained -syn match chordproStandardMetadata /user\.fullname/ contained - -syn keyword chordproDefineKeyword contained frets fingers keys -syn match chordproDefineKeyword /base-fret/ contained - -syn match chordproArgumentsNumber /\d\+/ contained - -syn match chordproCustom /x_\w\+/ contained - -syn match chordproDirMatch /{\w\+\(-\w\+\)\?}/ contains=chordproDirective contained transparent -syn match chordproDirArgMatch /{\w\+\(-\w\+\)\?[: ]/ contains=chordproDirWithArg contained transparent -syn match chordproMetaMatch /{meta\(-\w\+\)\?[: ]\+\w\+/ contains=chordproMetaKeyword,chordproMetadata contained transparent -syn match chordproCustomMatch /{x_\w\+\(-\w\+\)\?[: ]/ contains=chordproCustom contained transparent - -syn match chordproConditional /-\w\+/ contained - -syn match chordproMetaDataOperator /[=|]/ contained -syn match chordproMetaDataValue /%{\w*/ contains=chordproMetaData,chordproStandardMetadata contained transparent -" Handles nested metadata tags, but the end of the containing chordproTag is -" not highlighted correctly, if there are more than two levels of nesting -syn region chordproMetaDataTag start=/%{\w*/ skip=/%{[^}]*}/ end=/}/ contains=chordproMetaDataValue,chordproMetaDataOperator,chordproMetadataTag contained - -syn region chordproArguments start=/{\w\+\(-\w\+\)\?[: ]/hs=e+1 skip=/%{[^}]*}/ end=/}/he=s-1 contains=chordproDirArgMatch,chordproArgumentsNumber,chordproMetaDataTag contained -syn region chordproArguments start=/{\(define\|chord\)\(-\w\+\)\?[: ]/hs=e+1 end=/}/he=s-1 contains=chordproDirArgMatch,chordproDefineKeyword,chordproArgumentsNumber contained -syn region chordproArguments start=/{meta\(-\w\+\)\?[: ]/hs=e+1 skip=/%{[^}]*}/ end=/}/he=s-1 contains=chordproMetaMatch,chordproMetaDataTag contained -syn region chordproArguments start=/{x_\w\+\(-\w\+\)\?[: ]/hs=e+1 end=/}/he=s-1 contains=chordproCustomMatch contained - -syn region chordproTag start=/{/ skip=/%{[^}]*}/ end=/}/ contains=chordproDirMatch,chordproArguments oneline - -syn region chordproChord matchgroup=chordproBracket start=/\[/ end=/]/ oneline - -syn region chordproAnnotation matchgroup=chordproBracket start=/\[\*/ end=/]/ oneline - -syn region chordproTab start=/{start_of_tab\(-\w\+\)\?\([: ].\+\)\?}\|{sot\(-\w\+\)\?\([: ].\+\)\?}/hs=e+1 end=/{end_of_tab}\|{eot}/me=s-1 contains=chordproTag,chordproComment keepend - -syn region chordproChorus start=/{start_of_chorus\(-\w\+\)\?\([: ].\+\)\?}\|{soc\(-\w\+\)\?\([: ].\+\)\?}/hs=e+1 end=/{end_of_chorus}\|{eoc}/me=s-1 contains=chordproTag,chordproChord,chordproAnnotation,chordproComment keepend - -syn region chordproBridge start=/{start_of_bridge\(-\w\+\)\?\([: ].\+\)\?}\|{sob\(-\w\+\)\?\([: ].\+\)\?}/hs=e+1 end=/{end_of_bridge}\|{eob}/me=s-1 contains=chordproTag,chordproChord,chordproAnnotation,chordproComment keepend - -syn region chordproAbc start=/{start_of_abc\(-\w\+\)\?\([: ].\+\)\?}/hs=e+1 end=/{end_of_abc}/me=s-1 contains=chordproTag,@Abc keepend - -syn match chordproComment /^#.*/ - -" Define the default highlighting. -hi def link chordproDirective Statement -hi def link chordproDirWithArg Statement -hi def link chordproConditional Statement -hi def link chordproCustom Statement -hi def link chordproMetaKeyword Statement -hi def link chordproMetaDataOperator Operator -hi def link chordproMetaDataTag Function -hi def link chordproArguments Special -hi def link chordproArgumentsNumber Number -hi def link chordproChord Type -hi def link chordproAnnotation Identifier -hi def link chordproTag Constant -hi def link chordproTab PreProc -hi def link chordproComment Comment -hi def link chordproBracket Constant -hi def link chordproDefineKeyword Identifier -hi def link chordproMetadata Identifier -hi def link chordproStandardMetadata Identifier -hi def chordproChorus term=bold cterm=bold gui=bold -hi def chordproBridge term=italic cterm=italic gui=italic - -let b:current_syntax = "chordpro" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/chuck.mnv b/uvim/runtime/syntax/chuck.mnv new file mode 100644 index 0000000000..a58556f458 --- /dev/null +++ b/uvim/runtime/syntax/chuck.mnv @@ -0,0 +1,187 @@ +" MNV syntax file +" Language: ChucK +" Maintainer: Andrea Callea +" URL: https://github.com/gacallea/chuck.mnv +" Last Change: 2024 Jan 21 by Andrea Callea + +" Sources used for this syntax +" https://chuck.cs.princeton.edu/doc/language/ +" https://chuck.cs.princeton.edu/doc/reference/ + +" HISTORY: +" 2024 Jan 21 - Initial revision + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" https://chuck.cs.princeton.edu/doc/language/type.html +syn keyword chuckPrimitiveType int float time dur void vec3 vec4 +syn keyword chuckComplexType complex polar +syn keyword chuckReferenceType Object Event UGen array string +syn keyword chuckBoolean true false maybe +syn keyword chuckBoolean null NULL + +" https://chuck.cs.princeton.edu/doc/language/oper.html +syn match chuckOperator "=>" +syn match chuckOperator "@=>" + +syn match chuckOperator "=^" + +syn match chuckOperator "+" +syn match chuckOperator "-" +syn match chuckOperator "*" +syn match chuckOperator "/" +syn match chuckOperator "%" +syn match chuckOperator "!" +syn match chuckOperator "&" +syn match chuckOperator "|" +syn match chuckOperator "\^" + +syn match chuckOperator "+=>" +syn match chuckOperator "-=>" +syn match chuckOperator "*=>" +syn match chuckOperator "/=>" +syn match chuckOperator "%=>" +syn match chuckOperator "!=>" +syn match chuckOperator "&=>" +syn match chuckOperator "|=>" +syn match chuckOperator "\^=>" + +syn match chuckOperator "&&" +syn match chuckOperator "||" +syn match chuckOperator "==" +syn match chuckOperator "!=" +syn match chuckOperator ">" +syn match chuckOperator ">=" +syn match chuckOperator "<" +syn match chuckOperator "<=" + +syn match chuckOperator ">>" +syn match chuckOperator "<<" + +syn match chuckOperator "++" +syn match chuckOperator "--" +syn match chuckOperator "<<<" +syn match chuckOperator ">>>" + +syn keyword chuckOperator new + +" https://chuck.cs.princeton.edu/doc/language/ctrl.html +syn keyword chuckConditional if else +syn keyword chuckRepeat while do until for each + +" https://chuck.cs.princeton.edu/doc/language/time.html +syn keyword chuckTimeAndDuration samp ms second minute hour day week +syn keyword chuckTimeAndDuration now later + +" these may need some additional keywords I missed, for a future revision +syn keyword chuckKeyword dac adc +syn keyword chuckKeyword fun function +syn keyword chuckKeyword return +syn keyword chuckKeyword const +syn match chuckKeyword "@" +syn keyword chuckKeyword pi +syn keyword chuckKeyword me +syn keyword chuckKeyword repeat break continue +syn keyword chuckKeyword class extends public private static pure this +syn keyword chuckKeyword spork +syn keyword chuckKeyword cherr chout + +" https://chuck.cs.princeton.edu/doc/reference/ +syn keyword chuckBaseClasses Shred Math Machine Std + +" https://chuck.cs.princeton.edu/doc/reference/ +syn keyword chuckBasicUGen Gain Impulse Step SndBuf SndBuf2 +syn keyword chuckBasicUGen ADSR Envelope Delay DelayL DelayA Echo +syn keyword chuckBasicUGen Noise CNoise Osc SinOsc TriOsc SawOsc PulseOsc SqrOsc +syn keyword chuckBasicUGen Phasor HalfRect FullRect +syn keyword chuckBasicUGen Chugraph Chugen UGen_Multi UGen_Stereo Mix2 Pan2 + +" https://chuck.cs.princeton.edu/doc/reference/ +syn keyword chuckFilterUGen FilterBasic LPF HPF BPF BRF BiQuad ResonZ +syn keyword chuckFilterUGen OnePole OneZero TwoPole TwoZero PoleZero + +" https://chuck.cs.princeton.edu/doc/reference/ +syn keyword chuckSTKUGen JCRev NRev PRCRev +syn keyword chuckSTKUGen Chorus Modulate PitShift SubNoise +syn keyword chuckSTKUGen BLT Blit BlitSaw BlitSquare FilterStk +syn keyword chuckSTKUGen WvIn WaveLoop WvOut WvOut2 StkInstrument +syn keyword chuckSTKUGen BandedWG BlowBotl BlowHole +syn keyword chuckSTKUGen Bowed Brass Clarinet Flute Mandolin +syn keyword chuckSTKUGen ModalBar Moog Saxofony Shakers Sitar StifKarp +syn keyword chuckSTKUGen VoicForm KrstlChr FM BeeThree FMVoices +syn keyword chuckSTKUGen HevyMetl HnkyTonk FrencHrn PercFlut Rhodey TubeBell Wurley + +" https://chuck.cs.princeton.edu/doc/reference/ +syn keyword chuckAdvancedUGen LiSa LiSa2 LiSa6 LiSa8 LiSa10 +syn keyword chuckAdvancedUGen LiSa16 GenX Gen5 Gen7 Gen9 Gen10 Gen17 +syn keyword chuckAdvancedUGen CurveTable WarpTable Dyno + +" https://chuck.cs.princeton.edu/doc/reference/ +syn keyword chuckChugin ABSaturator AmbPan3 Bitcrusher Elliptic ExpDelay ExpEnv FIR +syn keyword chuckChugin FoldbackSaturator GVerb KasFilter MagicSine Mesh2D +syn keyword chuckChugin Multicomb Pan4 Pan8 Pan16 PitchTrack PowerADSR RegEx +syn keyword chuckChugin Sigmund Spectacle WinFuncEnv WPDiodeLadder WPKorg35 + +" https://chuck.cs.princeton.edu/doc/reference/ +syn keyword chuckUnitAnalyzer UAna UAnaBlob Windowing +syn keyword chuckUnitAnalyzer FFT IFFT DCT IDCT +syn keyword chuckUnitAnalyzer Centroid Flux RMS RollOff +syn keyword chuckUnitAnalyzer Flip UnFlip XCorr +syn keyword chuckUnitAnalyzer Chroma Kurtosis MFCC SFM ZeroX AutoCorr FeatureCollector + +" https://chuck.cs.princeton.edu/doc/reference/ +syn keyword chuckChAI MLP KNN KNN2 HMM SVM Word2Vec PCA Wekinator AI + +" https://chuck.cs.princeton.edu/doc/reference/ +syn keyword chuckInputOutput IO FileIO OscIn OscOut OscMsg +syn keyword chuckInputOutput Hid HidMsg KBHit SerialIO +syn keyword chuckInputOutput MidiIn MidiOut MidiMsg MidiFileIn + +" https://chuck.cs.princeton.edu/doc/reference/ +syn keyword chuckUtilities CKDoc StringTokenizer ConsoleInput + +" https://github.com/wilsaj/chuck.mnv/blob/master/syntax/chuck.mnv +syn match chuckNumber /\%(\i\|\$\)\@/ display +syn match chuckFloat /\%(\i\|\$\)\@" -syn match chuckOperator "@=>" - -syn match chuckOperator "=^" - -syn match chuckOperator "+" -syn match chuckOperator "-" -syn match chuckOperator "*" -syn match chuckOperator "/" -syn match chuckOperator "%" -syn match chuckOperator "!" -syn match chuckOperator "&" -syn match chuckOperator "|" -syn match chuckOperator "\^" - -syn match chuckOperator "+=>" -syn match chuckOperator "-=>" -syn match chuckOperator "*=>" -syn match chuckOperator "/=>" -syn match chuckOperator "%=>" -syn match chuckOperator "!=>" -syn match chuckOperator "&=>" -syn match chuckOperator "|=>" -syn match chuckOperator "\^=>" - -syn match chuckOperator "&&" -syn match chuckOperator "||" -syn match chuckOperator "==" -syn match chuckOperator "!=" -syn match chuckOperator ">" -syn match chuckOperator ">=" -syn match chuckOperator "<" -syn match chuckOperator "<=" - -syn match chuckOperator ">>" -syn match chuckOperator "<<" - -syn match chuckOperator "++" -syn match chuckOperator "--" -syn match chuckOperator "<<<" -syn match chuckOperator ">>>" - -syn keyword chuckOperator new - -" https://chuck.cs.princeton.edu/doc/language/ctrl.html -syn keyword chuckConditional if else -syn keyword chuckRepeat while do until for each - -" https://chuck.cs.princeton.edu/doc/language/time.html -syn keyword chuckTimeAndDuration samp ms second minute hour day week -syn keyword chuckTimeAndDuration now later - -" these may need some additional keywords I missed, for a future revision -syn keyword chuckKeyword dac adc -syn keyword chuckKeyword fun function -syn keyword chuckKeyword return -syn keyword chuckKeyword const -syn match chuckKeyword "@" -syn keyword chuckKeyword pi -syn keyword chuckKeyword me -syn keyword chuckKeyword repeat break continue -syn keyword chuckKeyword class extends public private static pure this -syn keyword chuckKeyword spork -syn keyword chuckKeyword cherr chout - -" https://chuck.cs.princeton.edu/doc/reference/ -syn keyword chuckBaseClasses Shred Math Machine Std - -" https://chuck.cs.princeton.edu/doc/reference/ -syn keyword chuckBasicUGen Gain Impulse Step SndBuf SndBuf2 -syn keyword chuckBasicUGen ADSR Envelope Delay DelayL DelayA Echo -syn keyword chuckBasicUGen Noise CNoise Osc SinOsc TriOsc SawOsc PulseOsc SqrOsc -syn keyword chuckBasicUGen Phasor HalfRect FullRect -syn keyword chuckBasicUGen Chugraph Chugen UGen_Multi UGen_Stereo Mix2 Pan2 - -" https://chuck.cs.princeton.edu/doc/reference/ -syn keyword chuckFilterUGen FilterBasic LPF HPF BPF BRF BiQuad ResonZ -syn keyword chuckFilterUGen OnePole OneZero TwoPole TwoZero PoleZero - -" https://chuck.cs.princeton.edu/doc/reference/ -syn keyword chuckSTKUGen JCRev NRev PRCRev -syn keyword chuckSTKUGen Chorus Modulate PitShift SubNoise -syn keyword chuckSTKUGen BLT Blit BlitSaw BlitSquare FilterStk -syn keyword chuckSTKUGen WvIn WaveLoop WvOut WvOut2 StkInstrument -syn keyword chuckSTKUGen BandedWG BlowBotl BlowHole -syn keyword chuckSTKUGen Bowed Brass Clarinet Flute Mandolin -syn keyword chuckSTKUGen ModalBar Moog Saxofony Shakers Sitar StifKarp -syn keyword chuckSTKUGen VoicForm KrstlChr FM BeeThree FMVoices -syn keyword chuckSTKUGen HevyMetl HnkyTonk FrencHrn PercFlut Rhodey TubeBell Wurley - -" https://chuck.cs.princeton.edu/doc/reference/ -syn keyword chuckAdvancedUGen LiSa LiSa2 LiSa6 LiSa8 LiSa10 -syn keyword chuckAdvancedUGen LiSa16 GenX Gen5 Gen7 Gen9 Gen10 Gen17 -syn keyword chuckAdvancedUGen CurveTable WarpTable Dyno - -" https://chuck.cs.princeton.edu/doc/reference/ -syn keyword chuckChugin ABSaturator AmbPan3 Bitcrusher Elliptic ExpDelay ExpEnv FIR -syn keyword chuckChugin FoldbackSaturator GVerb KasFilter MagicSine Mesh2D -syn keyword chuckChugin Multicomb Pan4 Pan8 Pan16 PitchTrack PowerADSR RegEx -syn keyword chuckChugin Sigmund Spectacle WinFuncEnv WPDiodeLadder WPKorg35 - -" https://chuck.cs.princeton.edu/doc/reference/ -syn keyword chuckUnitAnalyzer UAna UAnaBlob Windowing -syn keyword chuckUnitAnalyzer FFT IFFT DCT IDCT -syn keyword chuckUnitAnalyzer Centroid Flux RMS RollOff -syn keyword chuckUnitAnalyzer Flip UnFlip XCorr -syn keyword chuckUnitAnalyzer Chroma Kurtosis MFCC SFM ZeroX AutoCorr FeatureCollector - -" https://chuck.cs.princeton.edu/doc/reference/ -syn keyword chuckChAI MLP KNN KNN2 HMM SVM Word2Vec PCA Wekinator AI - -" https://chuck.cs.princeton.edu/doc/reference/ -syn keyword chuckInputOutput IO FileIO OscIn OscOut OscMsg -syn keyword chuckInputOutput Hid HidMsg KBHit SerialIO -syn keyword chuckInputOutput MidiIn MidiOut MidiMsg MidiFileIn - -" https://chuck.cs.princeton.edu/doc/reference/ -syn keyword chuckUtilities CKDoc StringTokenizer ConsoleInput - -" https://github.com/wilsaj/chuck.vim/blob/master/syntax/chuck.vim -syn match chuckNumber /\%(\i\|\$\)\@/ display -syn match chuckFloat /\%(\i\|\$\)\@ Remove SPAX spam block +" Version: 6 +" Last Change: Mar 06 2013 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +setlocal iskeyword=@,48-57,_,- + +syn case ignore + +syn sync lines=300 + +"If/else/elsif/endif and while/wend mismatch errors +syn match clifError "\" +syn match clifError "\" +syn match clifError "\" +syn match clifError "\" + +syn match clSpaceError "\s\+$" + +" If and while regions +syn region clLoop transparent matchgroup=clWhile start="\" matchgroup=clWhile end="\" contains=ALLBUT,clBreak,clProcedure +syn region clIf transparent matchgroup=clConditional start="\" matchgroup=clConditional end="\" contains=ALLBUT,clBreak,clProcedure + +" Make those TODO notes and debugging stand out! +syn keyword clTodo contained TODO BUG DEBUG FIX +syn match clNeedsWork contained "NEED[S]*\s\s*WORK" +syn keyword clDebug contained debug + +syn match clComment "#.*$" contains=clTodo,clNeedsWork,@Spell +syn region clProcedure oneline start="^\s*[{}]" end="$" +syn match clInclude "^\s*include\s.*" + +" We don't put "debug" in the clSetOptions; +" we contain it in clSet so we can make it stand out. +syn keyword clSetOptions transparent aauto abort align convert E fill fnum goback hangup justify null_exit output rauto rawprint rawdisplay repeat skip tab trim +syn match clSet "^\s*set\s.*" contains=clSetOptions,clDebug + +syn match clPreProc "^\s*#P.*" + +syn keyword clConditional else elsif +syn keyword clWhile continue endloop +" 'break' needs to be a region so we can sync on it above. +syn region clBreak oneline start="^\s*break" end="$" + +syn match clOperator "[!;|)(:.><+*=-]" + +syn match clNumber "\<\d\+\(u\=l\=\|lu\|f\)\>" + +syn region clString matchgroup=clQuote start=+"+ end=+"+ skip=+\\"+ contains=@Spell +syn region clString matchgroup=clQuote start=+'+ end=+'+ skip=+\\'+ contains=@Spell + +syn keyword clReserved ERROR EXIT INTERRUPT LOCKED LREPLY MODE MCOL MLINE MREPLY NULL REPLY V1 V2 V3 V4 V5 V6 V7 V8 V9 ZERO BYPASS GOING_BACK AAUTO ABORT ABORT ALIGN BIGE CONVERT FNUM GOBACK HANGUP JUSTIFY NEXIT OUTPUT RAUTO RAWDISPLAY RAWPRINT REPEAT SKIP TAB TRIM LCOUNT PCOUNT PLINES SLINES SCOLS MATCH LMATCH + +syn keyword clFunction asc asize chr name random slen srandom day getarg getcgi getenv lcase scat sconv sdel skey smult srep substr sword trim ucase match + +syn keyword clStatement clear clear_eol clear_eos close copy create unique with where empty define define ldefine delay_form delete escape exit_block exit_do exit_process field fork format get getfile getnext getprev goto head join maintain message no_join on_eop on_key on_exit on_delete openin openout openapp pause popenin popenout popenio print put range read redisplay refresh restart_block screen select sleep text unlock write and not or do + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link clifError Error +hi def link clSpaceError Error +hi def link clWhile Repeat +hi def link clConditional Conditional +hi def link clDebug Debug +hi def link clNeedsWork Todo +hi def link clTodo Todo +hi def link clComment Comment +hi def link clProcedure Procedure +hi def link clBreak Procedure +hi def link clInclude Include +hi def link clSetOption Statement +hi def link clSet Identifier +hi def link clPreProc PreProc +hi def link clOperator Operator +hi def link clNumber Number +hi def link clString String +hi def link clQuote Delimiter +hi def link clReserved Identifier +hi def link clFunction Function +hi def link clStatement Statement + + +let b:current_syntax = "cl" + +" mnv: ts=8 sw=8 diff --git a/uvim/runtime/syntax/cl.vim b/uvim/runtime/syntax/cl.vim deleted file mode 100644 index b765682547..0000000000 --- a/uvim/runtime/syntax/cl.vim +++ /dev/null @@ -1,98 +0,0 @@ -" Vim syntax file -" Language: CL -" (pronounced alphabetically: "Cee-El". -" CL stands for Clever Language, -" but the language is CL, not "Clever". -" CL was created by Multibase, http://www.mbase.com.au) -" Filename extensions: *.ent -" *.eni -" Maintainer: Philip Uren Remove SPAX spam block -" Version: 6 -" Last Change: Mar 06 2013 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -setlocal iskeyword=@,48-57,_,- - -syn case ignore - -syn sync lines=300 - -"If/else/elsif/endif and while/wend mismatch errors -syn match clifError "\" -syn match clifError "\" -syn match clifError "\" -syn match clifError "\" - -syn match clSpaceError "\s\+$" - -" If and while regions -syn region clLoop transparent matchgroup=clWhile start="\" matchgroup=clWhile end="\" contains=ALLBUT,clBreak,clProcedure -syn region clIf transparent matchgroup=clConditional start="\" matchgroup=clConditional end="\" contains=ALLBUT,clBreak,clProcedure - -" Make those TODO notes and debugging stand out! -syn keyword clTodo contained TODO BUG DEBUG FIX -syn match clNeedsWork contained "NEED[S]*\s\s*WORK" -syn keyword clDebug contained debug - -syn match clComment "#.*$" contains=clTodo,clNeedsWork,@Spell -syn region clProcedure oneline start="^\s*[{}]" end="$" -syn match clInclude "^\s*include\s.*" - -" We don't put "debug" in the clSetOptions; -" we contain it in clSet so we can make it stand out. -syn keyword clSetOptions transparent aauto abort align convert E fill fnum goback hangup justify null_exit output rauto rawprint rawdisplay repeat skip tab trim -syn match clSet "^\s*set\s.*" contains=clSetOptions,clDebug - -syn match clPreProc "^\s*#P.*" - -syn keyword clConditional else elsif -syn keyword clWhile continue endloop -" 'break' needs to be a region so we can sync on it above. -syn region clBreak oneline start="^\s*break" end="$" - -syn match clOperator "[!;|)(:.><+*=-]" - -syn match clNumber "\<\d\+\(u\=l\=\|lu\|f\)\>" - -syn region clString matchgroup=clQuote start=+"+ end=+"+ skip=+\\"+ contains=@Spell -syn region clString matchgroup=clQuote start=+'+ end=+'+ skip=+\\'+ contains=@Spell - -syn keyword clReserved ERROR EXIT INTERRUPT LOCKED LREPLY MODE MCOL MLINE MREPLY NULL REPLY V1 V2 V3 V4 V5 V6 V7 V8 V9 ZERO BYPASS GOING_BACK AAUTO ABORT ABORT ALIGN BIGE CONVERT FNUM GOBACK HANGUP JUSTIFY NEXIT OUTPUT RAUTO RAWDISPLAY RAWPRINT REPEAT SKIP TAB TRIM LCOUNT PCOUNT PLINES SLINES SCOLS MATCH LMATCH - -syn keyword clFunction asc asize chr name random slen srandom day getarg getcgi getenv lcase scat sconv sdel skey smult srep substr sword trim ucase match - -syn keyword clStatement clear clear_eol clear_eos close copy create unique with where empty define define ldefine delay_form delete escape exit_block exit_do exit_process field fork format get getfile getnext getprev goto head join maintain message no_join on_eop on_key on_exit on_delete openin openout openapp pause popenin popenout popenio print put range read redisplay refresh restart_block screen select sleep text unlock write and not or do - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link clifError Error -hi def link clSpaceError Error -hi def link clWhile Repeat -hi def link clConditional Conditional -hi def link clDebug Debug -hi def link clNeedsWork Todo -hi def link clTodo Todo -hi def link clComment Comment -hi def link clProcedure Procedure -hi def link clBreak Procedure -hi def link clInclude Include -hi def link clSetOption Statement -hi def link clSet Identifier -hi def link clPreProc PreProc -hi def link clOperator Operator -hi def link clNumber Number -hi def link clString String -hi def link clQuote Delimiter -hi def link clReserved Identifier -hi def link clFunction Function -hi def link clStatement Statement - - -let b:current_syntax = "cl" - -" vim: ts=8 sw=8 diff --git a/uvim/runtime/syntax/clean.mnv b/uvim/runtime/syntax/clean.mnv new file mode 100644 index 0000000000..31ecaaf4e2 --- /dev/null +++ b/uvim/runtime/syntax/clean.mnv @@ -0,0 +1,90 @@ +" MNV syntax file +" Language: Clean +" Author: Pieter van Engelen +" Co-Author: Arthur van Leeuwen +" Last Change: 2013 Oct 15 by JurriĂ«n Stutterheim + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +" Some Clean-keywords +syn keyword cleanConditional if case +syn keyword cleanLabel let! with where in of +syn keyword cleanSpecial Start +syn keyword cleanKeyword infixl infixr infix +syn keyword cleanBasicType Int Real Char Bool String +syn keyword cleanSpecialType World ProcId Void Files File +syn keyword cleanModuleSystem module implementation definition system +syn keyword cleanTypeClass class instance export + +" Import highlighting +syn region cleanIncludeRegion start="^\s*\(from\|import\|\s\+\(as\|qualified\)\)" end="\n" contains=cleanIncludeKeyword keepend +syn keyword cleanIncludeKeyword contained from import as qualified + +" To do some Denotation Highlighting +syn keyword cleanBoolDenot True False +syn region cleanStringDenot start=+"+ skip=+\(\(\\\\\)\+\|\\"\)+ end=+"+ display +syn match cleanCharDenot "'\(\\\\\|\\'\|[^'\\]\)\+'" display +syn match cleanIntegerDenot "[\~+-]\?\<\(\d\+\|0[0-7]\+\|0x[0-9A-Fa-f]\+\)\>" display +syn match cleanRealDenot "[\~+-]\?\d\+\.\d\+\(E[\~+-]\?\d\+\)\?" display + +" To highlight the use of lists, tuples and arrays +syn region cleanList start="\[" end="\]" contains=ALL +syn region cleanRecord start="{" end="}" contains=ALL +syn region cleanArray start="{:" end=":}" contains=ALL +syn match cleanTuple "([^=]*,[^=]*)" contains=ALL + +" To do some Comment Highlighting +syn region cleanComment start="/\*" end="\*/" contains=cleanComment,cleanTodo fold +syn region cleanComment start="//.*" end="$" display contains=cleanTodo +syn keyword cleanTodo TODO FIXME XXX contained + +" Now for some useful type definition recognition +syn match cleanFuncTypeDef "\([a-zA-Z].*\|(\=[-~@#$%^?!+*<>\/|&=:]\+)\=\)\s*\(infix[lr]\=\)\=\s*\d\=\s*::.*->.*" contains=cleanSpecial,cleanBasicType,cleanSpecialType,cleanKeyword + + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + + " Comments + hi def link cleanComment Comment + " Constants and denotations + hi def link cleanStringDenot String + hi def link cleanCharDenot Character + hi def link cleanIntegerDenot Number + hi def link cleanBoolDenot Boolean + hi def link cleanRealDenot Float + " Identifiers + " Statements + hi def link cleanTypeClass Keyword + hi def link cleanConditional Conditional + hi def link cleanLabel Label + hi def link cleanKeyword Keyword + " Generic Preprocessing + hi def link cleanIncludeKeyword Include + hi def link cleanModuleSystem PreProc + " Type + hi def link cleanBasicType Type + hi def link cleanSpecialType Type + hi def link cleanFuncTypeDef Typedef + " Special + hi def link cleanSpecial Special + hi def link cleanList Special + hi def link cleanArray Special + hi def link cleanRecord Special + hi def link cleanTuple Special + " Error + " Todo + hi def link cleanTodo Todo + + +let b:current_syntax = "clean" + +let &cpo = s:cpo_save +unlet s:cpo_save +" mnv: ts=4 diff --git a/uvim/runtime/syntax/clean.vim b/uvim/runtime/syntax/clean.vim deleted file mode 100644 index 70bf654fb7..0000000000 --- a/uvim/runtime/syntax/clean.vim +++ /dev/null @@ -1,90 +0,0 @@ -" Vim syntax file -" Language: Clean -" Author: Pieter van Engelen -" Co-Author: Arthur van Leeuwen -" Last Change: 2013 Oct 15 by JurriĂ«n Stutterheim - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -" Some Clean-keywords -syn keyword cleanConditional if case -syn keyword cleanLabel let! with where in of -syn keyword cleanSpecial Start -syn keyword cleanKeyword infixl infixr infix -syn keyword cleanBasicType Int Real Char Bool String -syn keyword cleanSpecialType World ProcId Void Files File -syn keyword cleanModuleSystem module implementation definition system -syn keyword cleanTypeClass class instance export - -" Import highlighting -syn region cleanIncludeRegion start="^\s*\(from\|import\|\s\+\(as\|qualified\)\)" end="\n" contains=cleanIncludeKeyword keepend -syn keyword cleanIncludeKeyword contained from import as qualified - -" To do some Denotation Highlighting -syn keyword cleanBoolDenot True False -syn region cleanStringDenot start=+"+ skip=+\(\(\\\\\)\+\|\\"\)+ end=+"+ display -syn match cleanCharDenot "'\(\\\\\|\\'\|[^'\\]\)\+'" display -syn match cleanIntegerDenot "[\~+-]\?\<\(\d\+\|0[0-7]\+\|0x[0-9A-Fa-f]\+\)\>" display -syn match cleanRealDenot "[\~+-]\?\d\+\.\d\+\(E[\~+-]\?\d\+\)\?" display - -" To highlight the use of lists, tuples and arrays -syn region cleanList start="\[" end="\]" contains=ALL -syn region cleanRecord start="{" end="}" contains=ALL -syn region cleanArray start="{:" end=":}" contains=ALL -syn match cleanTuple "([^=]*,[^=]*)" contains=ALL - -" To do some Comment Highlighting -syn region cleanComment start="/\*" end="\*/" contains=cleanComment,cleanTodo fold -syn region cleanComment start="//.*" end="$" display contains=cleanTodo -syn keyword cleanTodo TODO FIXME XXX contained - -" Now for some useful type definition recognition -syn match cleanFuncTypeDef "\([a-zA-Z].*\|(\=[-~@#$%^?!+*<>\/|&=:]\+)\=\)\s*\(infix[lr]\=\)\=\s*\d\=\s*::.*->.*" contains=cleanSpecial,cleanBasicType,cleanSpecialType,cleanKeyword - - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - - " Comments - hi def link cleanComment Comment - " Constants and denotations - hi def link cleanStringDenot String - hi def link cleanCharDenot Character - hi def link cleanIntegerDenot Number - hi def link cleanBoolDenot Boolean - hi def link cleanRealDenot Float - " Identifiers - " Statements - hi def link cleanTypeClass Keyword - hi def link cleanConditional Conditional - hi def link cleanLabel Label - hi def link cleanKeyword Keyword - " Generic Preprocessing - hi def link cleanIncludeKeyword Include - hi def link cleanModuleSystem PreProc - " Type - hi def link cleanBasicType Type - hi def link cleanSpecialType Type - hi def link cleanFuncTypeDef Typedef - " Special - hi def link cleanSpecial Special - hi def link cleanList Special - hi def link cleanArray Special - hi def link cleanRecord Special - hi def link cleanTuple Special - " Error - " Todo - hi def link cleanTodo Todo - - -let b:current_syntax = "clean" - -let &cpo = s:cpo_save -unlet s:cpo_save -" vim: ts=4 diff --git a/uvim/runtime/syntax/clipper.mnv b/uvim/runtime/syntax/clipper.mnv new file mode 100644 index 0000000000..b9cb1f404a --- /dev/null +++ b/uvim/runtime/syntax/clipper.mnv @@ -0,0 +1,135 @@ +" MNV syntax file: +" Language: Clipper 5.2 & FlagShip +" Maintainer: C R Zamana +" Some things based on c.mnv by Bram Moolenaar and pascal.mnv by Mario Eusebio +" Last Change: 2011 Dec 29 by Thilo Six + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +" Exceptions for my "Very Own" (TM) user variables naming style. +" If you don't like this, comment it +syn match clipperUserVariable "\<[a,b,c,d,l,n,o,u,x][A-Z][A-Za-z0-9_]*\>" +syn match clipperUserVariable "\<[a-z]\>" + +" Clipper is case insensitive ( see "exception" above ) +syn case ignore + +" Clipper keywords ( in no particular order ) +syn keyword clipperStatement ACCEPT APPEND BLANK FROM AVERAGE CALL CANCEL +syn keyword clipperStatement CLEAR ALL GETS MEMORY TYPEAHEAD CLOSE +syn keyword clipperStatement COMMIT CONTINUE SHARED NEW PICT +syn keyword clipperStatement COPY FILE STRUCTURE STRU EXTE TO COUNT +syn keyword clipperStatement CREATE FROM NIL +syn keyword clipperStatement DELETE FILE DIR DISPLAY EJECT ERASE FIND GO +syn keyword clipperStatement INDEX INPUT VALID WHEN +syn keyword clipperStatement JOIN KEYBOARD LABEL FORM LIST LOCATE MENU TO +syn keyword clipperStatement NOTE PACK QUIT READ +syn keyword clipperStatement RECALL REINDEX RELEASE RENAME REPLACE REPORT +syn keyword clipperStatement RETURN FORM RESTORE +syn keyword clipperStatement RUN SAVE SEEK SELECT +syn keyword clipperStatement SKIP SORT STORE SUM TEXT TOTAL TYPE UNLOCK +syn keyword clipperStatement UPDATE USE WAIT ZAP +syn keyword clipperStatement BEGIN SEQUENCE +syn keyword clipperStatement SET ALTERNATE BELL CENTURY COLOR CONFIRM CONSOLE +syn keyword clipperStatement CURSOR DATE DECIMALS DEFAULT DELETED DELIMITERS +syn keyword clipperStatement DEVICE EPOCH ESCAPE EXACT EXCLUSIVE FILTER FIXED +syn keyword clipperStatement FORMAT FUNCTION INTENSITY KEY MARGIN MESSAGE +syn keyword clipperStatement ORDER PATH PRINTER PROCEDURE RELATION SCOREBOARD +syn keyword clipperStatement SOFTSEEK TYPEAHEAD UNIQUE WRAP +syn keyword clipperStatement BOX CLEAR GET PROMPT SAY ? ?? +syn keyword clipperStatement DELETE TAG GO RTLINKCMD TMP DBLOCKINFO +syn keyword clipperStatement DBEVALINFO DBFIELDINFO DBFILTERINFO DBFUNCTABLE +syn keyword clipperStatement DBOPENINFO DBORDERCONDINFO DBORDERCREATEINF +syn keyword clipperStatement DBORDERINFO DBRELINFO DBSCOPEINFO DBSORTINFO +syn keyword clipperStatement DBSORTITEM DBTRANSINFO DBTRANSITEM WORKAREA + +" Conditionals +syn keyword clipperConditional CASE OTHERWISE ENDCASE +syn keyword clipperConditional IF ELSE ENDIF IIF IFDEF IFNDEF + +" Loops +syn keyword clipperRepeat DO WHILE ENDDO +syn keyword clipperRepeat FOR TO NEXT STEP + +" Visibility +syn keyword clipperStorageClass ANNOUNCE STATIC +syn keyword clipperStorageClass DECLARE EXTERNAL LOCAL MEMVAR PARAMETERS +syn keyword clipperStorageClass PRIVATE PROCEDURE PUBLIC REQUEST STATIC +syn keyword clipperStorageClass FIELD FUNCTION +syn keyword clipperStorageClass EXIT PROCEDURE INIT PROCEDURE + +" Operators +syn match clipperOperator "$\|%\|&\|+\|-\|->\|!" +syn match clipperOperator "\.AND\.\|\.NOT\.\|\.OR\." +syn match clipperOperator ":=\|<\|<=\|<>\|!=\|#\|=\|==\|>\|>=\|@" +syn match clipperOperator "*" + +" Numbers +syn match clipperNumber "\<\d\+\(u\=l\=\|lu\|f\)\>" + +" Includes +syn region clipperIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+ +syn match clipperIncluded contained "<[^>]*>" +syn match clipperInclude "^\s*#\s*include\>\s*["<]" contains=clipperIncluded + +" String and Character constants +syn region clipperString start=+"+ end=+"+ +syn region clipperString start=+'+ end=+'+ + +" Delimiters +syn match ClipperDelimiters "[()]\|[\[\]]\|[{}]\|[||]" + +" Special +syn match clipperLineContinuation ";" + +" This is from Bram Moolenaar: +if exists("c_comment_strings") + " A comment can contain cString, cCharacter and cNumber. + " But a "*/" inside a cString in a clipperComment DOES end the comment! + " So we need to use a special type of cString: clipperCommentString, which + " also ends on "*/", and sees a "*" at the start of the line as comment + " again. Unfortunately this doesn't very well work for // type of comments :-( + syntax match clipperCommentSkip contained "^\s*\*\($\|\s\+\)" + syntax region clipperCommentString contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=clipperCommentSkip + syntax region clipperComment2String contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end="$" + syntax region clipperComment start="/\*" end="\*/" contains=clipperCommentString,clipperCharacter,clipperNumber,clipperString + syntax match clipperComment "//.*" contains=clipperComment2String,clipperCharacter,clipperNumber +else + syn region clipperComment start="/\*" end="\*/" + syn match clipperComment "//.*" +endif +syntax match clipperCommentError "\*/" + +" Lines beggining with an "*" are comments too +syntax match clipperComment "^\*.*" + + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link clipperConditional Conditional +hi def link clipperRepeat Repeat +hi def link clipperNumber Number +hi def link clipperInclude Include +hi def link clipperComment Comment +hi def link clipperOperator Operator +hi def link clipperStorageClass StorageClass +hi def link clipperStatement Statement +hi def link clipperString String +hi def link clipperFunction Function +hi def link clipperLineContinuation Special +hi def link clipperDelimiters Delimiter +hi def link clipperUserVariable Identifier + + +let b:current_syntax = "clipper" + +let &cpo = s:cpo_save +unlet s:cpo_save +" mnv: ts=8 diff --git a/uvim/runtime/syntax/clipper.vim b/uvim/runtime/syntax/clipper.vim deleted file mode 100644 index 203f9f05e0..0000000000 --- a/uvim/runtime/syntax/clipper.vim +++ /dev/null @@ -1,135 +0,0 @@ -" Vim syntax file: -" Language: Clipper 5.2 & FlagShip -" Maintainer: C R Zamana -" Some things based on c.vim by Bram Moolenaar and pascal.vim by Mario Eusebio -" Last Change: 2011 Dec 29 by Thilo Six - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -" Exceptions for my "Very Own" (TM) user variables naming style. -" If you don't like this, comment it -syn match clipperUserVariable "\<[a,b,c,d,l,n,o,u,x][A-Z][A-Za-z0-9_]*\>" -syn match clipperUserVariable "\<[a-z]\>" - -" Clipper is case insensitive ( see "exception" above ) -syn case ignore - -" Clipper keywords ( in no particular order ) -syn keyword clipperStatement ACCEPT APPEND BLANK FROM AVERAGE CALL CANCEL -syn keyword clipperStatement CLEAR ALL GETS MEMORY TYPEAHEAD CLOSE -syn keyword clipperStatement COMMIT CONTINUE SHARED NEW PICT -syn keyword clipperStatement COPY FILE STRUCTURE STRU EXTE TO COUNT -syn keyword clipperStatement CREATE FROM NIL -syn keyword clipperStatement DELETE FILE DIR DISPLAY EJECT ERASE FIND GO -syn keyword clipperStatement INDEX INPUT VALID WHEN -syn keyword clipperStatement JOIN KEYBOARD LABEL FORM LIST LOCATE MENU TO -syn keyword clipperStatement NOTE PACK QUIT READ -syn keyword clipperStatement RECALL REINDEX RELEASE RENAME REPLACE REPORT -syn keyword clipperStatement RETURN FORM RESTORE -syn keyword clipperStatement RUN SAVE SEEK SELECT -syn keyword clipperStatement SKIP SORT STORE SUM TEXT TOTAL TYPE UNLOCK -syn keyword clipperStatement UPDATE USE WAIT ZAP -syn keyword clipperStatement BEGIN SEQUENCE -syn keyword clipperStatement SET ALTERNATE BELL CENTURY COLOR CONFIRM CONSOLE -syn keyword clipperStatement CURSOR DATE DECIMALS DEFAULT DELETED DELIMITERS -syn keyword clipperStatement DEVICE EPOCH ESCAPE EXACT EXCLUSIVE FILTER FIXED -syn keyword clipperStatement FORMAT FUNCTION INTENSITY KEY MARGIN MESSAGE -syn keyword clipperStatement ORDER PATH PRINTER PROCEDURE RELATION SCOREBOARD -syn keyword clipperStatement SOFTSEEK TYPEAHEAD UNIQUE WRAP -syn keyword clipperStatement BOX CLEAR GET PROMPT SAY ? ?? -syn keyword clipperStatement DELETE TAG GO RTLINKCMD TMP DBLOCKINFO -syn keyword clipperStatement DBEVALINFO DBFIELDINFO DBFILTERINFO DBFUNCTABLE -syn keyword clipperStatement DBOPENINFO DBORDERCONDINFO DBORDERCREATEINF -syn keyword clipperStatement DBORDERINFO DBRELINFO DBSCOPEINFO DBSORTINFO -syn keyword clipperStatement DBSORTITEM DBTRANSINFO DBTRANSITEM WORKAREA - -" Conditionals -syn keyword clipperConditional CASE OTHERWISE ENDCASE -syn keyword clipperConditional IF ELSE ENDIF IIF IFDEF IFNDEF - -" Loops -syn keyword clipperRepeat DO WHILE ENDDO -syn keyword clipperRepeat FOR TO NEXT STEP - -" Visibility -syn keyword clipperStorageClass ANNOUNCE STATIC -syn keyword clipperStorageClass DECLARE EXTERNAL LOCAL MEMVAR PARAMETERS -syn keyword clipperStorageClass PRIVATE PROCEDURE PUBLIC REQUEST STATIC -syn keyword clipperStorageClass FIELD FUNCTION -syn keyword clipperStorageClass EXIT PROCEDURE INIT PROCEDURE - -" Operators -syn match clipperOperator "$\|%\|&\|+\|-\|->\|!" -syn match clipperOperator "\.AND\.\|\.NOT\.\|\.OR\." -syn match clipperOperator ":=\|<\|<=\|<>\|!=\|#\|=\|==\|>\|>=\|@" -syn match clipperOperator "*" - -" Numbers -syn match clipperNumber "\<\d\+\(u\=l\=\|lu\|f\)\>" - -" Includes -syn region clipperIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+ -syn match clipperIncluded contained "<[^>]*>" -syn match clipperInclude "^\s*#\s*include\>\s*["<]" contains=clipperIncluded - -" String and Character constants -syn region clipperString start=+"+ end=+"+ -syn region clipperString start=+'+ end=+'+ - -" Delimiters -syn match ClipperDelimiters "[()]\|[\[\]]\|[{}]\|[||]" - -" Special -syn match clipperLineContinuation ";" - -" This is from Bram Moolenaar: -if exists("c_comment_strings") - " A comment can contain cString, cCharacter and cNumber. - " But a "*/" inside a cString in a clipperComment DOES end the comment! - " So we need to use a special type of cString: clipperCommentString, which - " also ends on "*/", and sees a "*" at the start of the line as comment - " again. Unfortunately this doesn't very well work for // type of comments :-( - syntax match clipperCommentSkip contained "^\s*\*\($\|\s\+\)" - syntax region clipperCommentString contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=clipperCommentSkip - syntax region clipperComment2String contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end="$" - syntax region clipperComment start="/\*" end="\*/" contains=clipperCommentString,clipperCharacter,clipperNumber,clipperString - syntax match clipperComment "//.*" contains=clipperComment2String,clipperCharacter,clipperNumber -else - syn region clipperComment start="/\*" end="\*/" - syn match clipperComment "//.*" -endif -syntax match clipperCommentError "\*/" - -" Lines beggining with an "*" are comments too -syntax match clipperComment "^\*.*" - - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link clipperConditional Conditional -hi def link clipperRepeat Repeat -hi def link clipperNumber Number -hi def link clipperInclude Include -hi def link clipperComment Comment -hi def link clipperOperator Operator -hi def link clipperStorageClass StorageClass -hi def link clipperStatement Statement -hi def link clipperString String -hi def link clipperFunction Function -hi def link clipperLineContinuation Special -hi def link clipperDelimiters Delimiter -hi def link clipperUserVariable Identifier - - -let b:current_syntax = "clipper" - -let &cpo = s:cpo_save -unlet s:cpo_save -" vim: ts=8 diff --git a/uvim/runtime/syntax/clojure.mnv b/uvim/runtime/syntax/clojure.mnv new file mode 100644 index 0000000000..487cdb3058 --- /dev/null +++ b/uvim/runtime/syntax/clojure.mnv @@ -0,0 +1,218 @@ +" MNV indent file +" Language: Clojure +" Maintainer: Alex Vear +" Former Maintainers: Sung Pae +" Meikel Brandmeyer +" Toralf Wittner +" Contributors: Joel Holdbrooks (Regexp support, bug fixes) +" URL: https://github.com/clojure-mnv/clojure.mnv +" License: MNV (see :h license) +" Last Change: 2022-03-24 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_sav = &cpo +set cpo&mnv + +if has("folding") && exists("g:clojure_fold") && g:clojure_fold > 0 + setlocal foldmethod=syntax +endif + +" -*- KEYWORDS -*- +" Generated from https://github.com/clojure-mnv/clojure.mnv/blob/fd280e33e84c88e97860930557dba3ff80b1a82d/clj/src/mnv_clojure_static/generate.clj +" Clojure version 1.11.0 +let s:clojure_syntax_keywords = { + \ 'clojureBoolean': ["false","true"], + \ 'clojureCond': ["case","case*","clojure.core/case","clojure.core/cond","clojure.core/cond->","clojure.core/cond->>","clojure.core/condp","clojure.core/if-let","clojure.core/if-not","clojure.core/if-some","clojure.core/when","clojure.core/when-first","clojure.core/when-let","clojure.core/when-not","clojure.core/when-some","cond","cond->","cond->>","condp","if","if-let","if-not","if-some","when","when-first","when-let","when-not","when-some"], + \ 'clojureConstant': ["nil"], + \ 'clojureDefine': ["clojure.core/definline","clojure.core/definterface","clojure.core/defmacro","clojure.core/defmethod","clojure.core/defmulti","clojure.core/defn","clojure.core/defn-","clojure.core/defonce","clojure.core/defprotocol","clojure.core/defrecord","clojure.core/defstruct","clojure.core/deftype","def","definline","definterface","defmacro","defmethod","defmulti","defn","defn-","defonce","defprotocol","defrecord","defstruct","deftype","deftype*"], + \ 'clojureException': ["catch","finally","throw","try"], + \ 'clojureFunc': ["*","*'","+","+'","-","-'","->ArrayChunk","->Eduction","->Vec","->VecNode","->VecSeq","-cache-protocol-fn","-reset-methods","/","<","<=","=","==",">",">=","NaN?","PrintWriter-on","StackTraceElement->vec","Throwable->map","abs","accessor","aclone","add-classpath","add-tap","add-watch","agent","agent-error","agent-errors","aget","alength","alias","all-ns","alter","alter-meta!","alter-var-root","ancestors","any?","apply","array-map","aset","aset-boolean","aset-byte","aset-char","aset-double","aset-float","aset-int","aset-long","aset-short","assoc","assoc!","assoc-in","associative?","atom","await","await-for","await1","bases","bean","bigdec","bigint","biginteger","bit-and","bit-and-not","bit-clear","bit-flip","bit-not","bit-or","bit-set","bit-shift-left","bit-shift-right","bit-test","bit-xor","boolean","boolean-array","boolean?","booleans","bound-fn*","bound?","bounded-count","butlast","byte","byte-array","bytes","bytes?","cast","cat","char","char-array","char?","chars","chunk","chunk-append","chunk-buffer","chunk-cons","chunk-first","chunk-next","chunk-rest","chunked-seq?","class","class?","clear-agent-errors","clojure-version","clojure.core/*","clojure.core/*'","clojure.core/+","clojure.core/+'","clojure.core/-","clojure.core/-'","clojure.core/->ArrayChunk","clojure.core/->Eduction","clojure.core/->Vec","clojure.core/->VecNode","clojure.core/->VecSeq","clojure.core/-cache-protocol-fn","clojure.core/-reset-methods","clojure.core//","clojure.core/<","clojure.core/<=","clojure.core/=","clojure.core/==","clojure.core/>","clojure.core/>=","clojure.core/NaN?","clojure.core/PrintWriter-on","clojure.core/StackTraceElement->vec","clojure.core/Throwable->map","clojure.core/abs","clojure.core/accessor","clojure.core/aclone","clojure.core/add-classpath","clojure.core/add-tap","clojure.core/add-watch","clojure.core/agent","clojure.core/agent-error","clojure.core/agent-errors","clojure.core/aget","clojure.core/alength","clojure.core/alias","clojure.core/all-ns","clojure.core/alter","clojure.core/alter-meta!","clojure.core/alter-var-root","clojure.core/ancestors","clojure.core/any?","clojure.core/apply","clojure.core/array-map","clojure.core/aset","clojure.core/aset-boolean","clojure.core/aset-byte","clojure.core/aset-char","clojure.core/aset-double","clojure.core/aset-float","clojure.core/aset-int","clojure.core/aset-long","clojure.core/aset-short","clojure.core/assoc","clojure.core/assoc!","clojure.core/assoc-in","clojure.core/associative?","clojure.core/atom","clojure.core/await","clojure.core/await-for","clojure.core/await1","clojure.core/bases","clojure.core/bean","clojure.core/bigdec","clojure.core/bigint","clojure.core/biginteger","clojure.core/bit-and","clojure.core/bit-and-not","clojure.core/bit-clear","clojure.core/bit-flip","clojure.core/bit-not","clojure.core/bit-or","clojure.core/bit-set","clojure.core/bit-shift-left","clojure.core/bit-shift-right","clojure.core/bit-test","clojure.core/bit-xor","clojure.core/boolean","clojure.core/boolean-array","clojure.core/boolean?","clojure.core/booleans","clojure.core/bound-fn*","clojure.core/bound?","clojure.core/bounded-count","clojure.core/butlast","clojure.core/byte","clojure.core/byte-array","clojure.core/bytes","clojure.core/bytes?","clojure.core/cast","clojure.core/cat","clojure.core/char","clojure.core/char-array","clojure.core/char?","clojure.core/chars","clojure.core/chunk","clojure.core/chunk-append","clojure.core/chunk-buffer","clojure.core/chunk-cons","clojure.core/chunk-first","clojure.core/chunk-next","clojure.core/chunk-rest","clojure.core/chunked-seq?","clojure.core/class","clojure.core/class?","clojure.core/clear-agent-errors","clojure.core/clojure-version","clojure.core/coll?","clojure.core/commute","clojure.core/comp","clojure.core/comparator","clojure.core/compare","clojure.core/compare-and-set!","clojure.core/compile","clojure.core/complement","clojure.core/completing","clojure.core/concat","clojure.core/conj","clojure.core/conj!","clojure.core/cons","clojure.core/constantly","clojure.core/construct-proxy","clojure.core/contains?","clojure.core/count","clojure.core/counted?","clojure.core/create-ns","clojure.core/create-struct","clojure.core/cycle","clojure.core/dec","clojure.core/dec'","clojure.core/decimal?","clojure.core/dedupe","clojure.core/delay?","clojure.core/deliver","clojure.core/denominator","clojure.core/deref","clojure.core/derive","clojure.core/descendants","clojure.core/destructure","clojure.core/disj","clojure.core/disj!","clojure.core/dissoc","clojure.core/dissoc!","clojure.core/distinct","clojure.core/distinct?","clojure.core/doall","clojure.core/dorun","clojure.core/double","clojure.core/double-array","clojure.core/double?","clojure.core/doubles","clojure.core/drop","clojure.core/drop-last","clojure.core/drop-while","clojure.core/eduction","clojure.core/empty","clojure.core/empty?","clojure.core/ensure","clojure.core/ensure-reduced","clojure.core/enumeration-seq","clojure.core/error-handler","clojure.core/error-mode","clojure.core/eval","clojure.core/even?","clojure.core/every-pred","clojure.core/every?","clojure.core/ex-cause","clojure.core/ex-data","clojure.core/ex-info","clojure.core/ex-message","clojure.core/extend","clojure.core/extenders","clojure.core/extends?","clojure.core/false?","clojure.core/ffirst","clojure.core/file-seq","clojure.core/filter","clojure.core/filterv","clojure.core/find","clojure.core/find-keyword","clojure.core/find-ns","clojure.core/find-protocol-impl","clojure.core/find-protocol-method","clojure.core/find-var","clojure.core/first","clojure.core/flatten","clojure.core/float","clojure.core/float-array","clojure.core/float?","clojure.core/floats","clojure.core/flush","clojure.core/fn?","clojure.core/fnext","clojure.core/fnil","clojure.core/force","clojure.core/format","clojure.core/frequencies","clojure.core/future-call","clojure.core/future-cancel","clojure.core/future-cancelled?","clojure.core/future-done?","clojure.core/future?","clojure.core/gensym","clojure.core/get","clojure.core/get-in","clojure.core/get-method","clojure.core/get-proxy-class","clojure.core/get-thread-bindings","clojure.core/get-validator","clojure.core/group-by","clojure.core/halt-when","clojure.core/hash","clojure.core/hash-combine","clojure.core/hash-map","clojure.core/hash-ordered-coll","clojure.core/hash-set","clojure.core/hash-unordered-coll","clojure.core/ident?","clojure.core/identical?","clojure.core/identity","clojure.core/ifn?","clojure.core/in-ns","clojure.core/inc","clojure.core/inc'","clojure.core/indexed?","clojure.core/infinite?","clojure.core/init-proxy","clojure.core/inst-ms","clojure.core/inst-ms*","clojure.core/inst?","clojure.core/instance?","clojure.core/int","clojure.core/int-array","clojure.core/int?","clojure.core/integer?","clojure.core/interleave","clojure.core/intern","clojure.core/interpose","clojure.core/into","clojure.core/into-array","clojure.core/ints","clojure.core/isa?","clojure.core/iterate","clojure.core/iteration","clojure.core/iterator-seq","clojure.core/juxt","clojure.core/keep","clojure.core/keep-indexed","clojure.core/key","clojure.core/keys","clojure.core/keyword","clojure.core/keyword?","clojure.core/last","clojure.core/line-seq","clojure.core/list","clojure.core/list*","clojure.core/list?","clojure.core/load","clojure.core/load-file","clojure.core/load-reader","clojure.core/load-string","clojure.core/loaded-libs","clojure.core/long","clojure.core/long-array","clojure.core/longs","clojure.core/macroexpand","clojure.core/macroexpand-1","clojure.core/make-array","clojure.core/make-hierarchy","clojure.core/map","clojure.core/map-entry?","clojure.core/map-indexed","clojure.core/map?","clojure.core/mapcat","clojure.core/mapv","clojure.core/max","clojure.core/max-key","clojure.core/memoize","clojure.core/merge","clojure.core/merge-with","clojure.core/meta","clojure.core/method-sig","clojure.core/methods","clojure.core/min","clojure.core/min-key","clojure.core/mix-collection-hash","clojure.core/mod","clojure.core/munge","clojure.core/name","clojure.core/namespace","clojure.core/namespace-munge","clojure.core/nat-int?","clojure.core/neg-int?","clojure.core/neg?","clojure.core/newline","clojure.core/next","clojure.core/nfirst","clojure.core/nil?","clojure.core/nnext","clojure.core/not","clojure.core/not-any?","clojure.core/not-empty","clojure.core/not-every?","clojure.core/not=","clojure.core/ns-aliases","clojure.core/ns-imports","clojure.core/ns-interns","clojure.core/ns-map","clojure.core/ns-name","clojure.core/ns-publics","clojure.core/ns-refers","clojure.core/ns-resolve","clojure.core/ns-unalias","clojure.core/ns-unmap","clojure.core/nth","clojure.core/nthnext","clojure.core/nthrest","clojure.core/num","clojure.core/number?","clojure.core/numerator","clojure.core/object-array","clojure.core/odd?","clojure.core/parents","clojure.core/parse-boolean","clojure.core/parse-double","clojure.core/parse-long","clojure.core/parse-uuid","clojure.core/partial","clojure.core/partition","clojure.core/partition-all","clojure.core/partition-by","clojure.core/pcalls","clojure.core/peek","clojure.core/persistent!","clojure.core/pmap","clojure.core/pop","clojure.core/pop!","clojure.core/pop-thread-bindings","clojure.core/pos-int?","clojure.core/pos?","clojure.core/pr","clojure.core/pr-str","clojure.core/prefer-method","clojure.core/prefers","clojure.core/print","clojure.core/print-ctor","clojure.core/print-dup","clojure.core/print-method","clojure.core/print-simple","clojure.core/print-str","clojure.core/printf","clojure.core/println","clojure.core/println-str","clojure.core/prn","clojure.core/prn-str","clojure.core/promise","clojure.core/proxy-call-with-super","clojure.core/proxy-mappings","clojure.core/proxy-name","clojure.core/push-thread-bindings","clojure.core/qualified-ident?","clojure.core/qualified-keyword?","clojure.core/qualified-symbol?","clojure.core/quot","clojure.core/rand","clojure.core/rand-int","clojure.core/rand-nth","clojure.core/random-sample","clojure.core/random-uuid","clojure.core/range","clojure.core/ratio?","clojure.core/rational?","clojure.core/rationalize","clojure.core/re-find","clojure.core/re-groups","clojure.core/re-matcher","clojure.core/re-matches","clojure.core/re-pattern","clojure.core/re-seq","clojure.core/read","clojure.core/read+string","clojure.core/read-line","clojure.core/read-string","clojure.core/reader-conditional","clojure.core/reader-conditional?","clojure.core/realized?","clojure.core/record?","clojure.core/reduce","clojure.core/reduce-kv","clojure.core/reduced","clojure.core/reduced?","clojure.core/reductions","clojure.core/ref","clojure.core/ref-history-count","clojure.core/ref-max-history","clojure.core/ref-min-history","clojure.core/ref-set","clojure.core/refer","clojure.core/release-pending-sends","clojure.core/rem","clojure.core/remove","clojure.core/remove-all-methods","clojure.core/remove-method","clojure.core/remove-ns","clojure.core/remove-tap","clojure.core/remove-watch","clojure.core/repeat","clojure.core/repeatedly","clojure.core/replace","clojure.core/replicate","clojure.core/require","clojure.core/requiring-resolve","clojure.core/reset!","clojure.core/reset-meta!","clojure.core/reset-vals!","clojure.core/resolve","clojure.core/rest","clojure.core/restart-agent","clojure.core/resultset-seq","clojure.core/reverse","clojure.core/reversible?","clojure.core/rseq","clojure.core/rsubseq","clojure.core/run!","clojure.core/satisfies?","clojure.core/second","clojure.core/select-keys","clojure.core/send","clojure.core/send-off","clojure.core/send-via","clojure.core/seq","clojure.core/seq-to-map-for-destructuring","clojure.core/seq?","clojure.core/seqable?","clojure.core/seque","clojure.core/sequence","clojure.core/sequential?","clojure.core/set","clojure.core/set-agent-send-executor!","clojure.core/set-agent-send-off-executor!","clojure.core/set-error-handler!","clojure.core/set-error-mode!","clojure.core/set-validator!","clojure.core/set?","clojure.core/short","clojure.core/short-array","clojure.core/shorts","clojure.core/shuffle","clojure.core/shutdown-agents","clojure.core/simple-ident?","clojure.core/simple-keyword?","clojure.core/simple-symbol?","clojure.core/slurp","clojure.core/some","clojure.core/some-fn","clojure.core/some?","clojure.core/sort","clojure.core/sort-by","clojure.core/sorted-map","clojure.core/sorted-map-by","clojure.core/sorted-set","clojure.core/sorted-set-by","clojure.core/sorted?","clojure.core/special-symbol?","clojure.core/spit","clojure.core/split-at","clojure.core/split-with","clojure.core/str","clojure.core/string?","clojure.core/struct","clojure.core/struct-map","clojure.core/subs","clojure.core/subseq","clojure.core/subvec","clojure.core/supers","clojure.core/swap!","clojure.core/swap-vals!","clojure.core/symbol","clojure.core/symbol?","clojure.core/tagged-literal","clojure.core/tagged-literal?","clojure.core/take","clojure.core/take-last","clojure.core/take-nth","clojure.core/take-while","clojure.core/tap>","clojure.core/test","clojure.core/the-ns","clojure.core/thread-bound?","clojure.core/to-array","clojure.core/to-array-2d","clojure.core/trampoline","clojure.core/transduce","clojure.core/transient","clojure.core/tree-seq","clojure.core/true?","clojure.core/type","clojure.core/unchecked-add","clojure.core/unchecked-add-int","clojure.core/unchecked-byte","clojure.core/unchecked-char","clojure.core/unchecked-dec","clojure.core/unchecked-dec-int","clojure.core/unchecked-divide-int","clojure.core/unchecked-double","clojure.core/unchecked-float","clojure.core/unchecked-inc","clojure.core/unchecked-inc-int","clojure.core/unchecked-int","clojure.core/unchecked-long","clojure.core/unchecked-multiply","clojure.core/unchecked-multiply-int","clojure.core/unchecked-negate","clojure.core/unchecked-negate-int","clojure.core/unchecked-remainder-int","clojure.core/unchecked-short","clojure.core/unchecked-subtract","clojure.core/unchecked-subtract-int","clojure.core/underive","clojure.core/unreduced","clojure.core/unsigned-bit-shift-right","clojure.core/update","clojure.core/update-in","clojure.core/update-keys","clojure.core/update-proxy","clojure.core/update-vals","clojure.core/uri?","clojure.core/use","clojure.core/uuid?","clojure.core/val","clojure.core/vals","clojure.core/var-get","clojure.core/var-set","clojure.core/var?","clojure.core/vary-meta","clojure.core/vec","clojure.core/vector","clojure.core/vector-of","clojure.core/vector?","clojure.core/volatile!","clojure.core/volatile?","clojure.core/vreset!","clojure.core/with-bindings*","clojure.core/with-meta","clojure.core/with-redefs-fn","clojure.core/xml-seq","clojure.core/zero?","clojure.core/zipmap","coll?","commute","comp","comparator","compare","compare-and-set!","compile","complement","completing","concat","conj","conj!","cons","constantly","construct-proxy","contains?","count","counted?","create-ns","create-struct","cycle","dec","dec'","decimal?","dedupe","delay?","deliver","denominator","deref","derive","descendants","destructure","disj","disj!","dissoc","dissoc!","distinct","distinct?","doall","dorun","double","double-array","double?","doubles","drop","drop-last","drop-while","eduction","empty","empty?","ensure","ensure-reduced","enumeration-seq","error-handler","error-mode","eval","even?","every-pred","every?","ex-cause","ex-data","ex-info","ex-message","extend","extenders","extends?","false?","ffirst","file-seq","filter","filterv","find","find-keyword","find-ns","find-protocol-impl","find-protocol-method","find-var","first","flatten","float","float-array","float?","floats","flush","fn?","fnext","fnil","force","format","frequencies","future-call","future-cancel","future-cancelled?","future-done?","future?","gensym","get","get-in","get-method","get-proxy-class","get-thread-bindings","get-validator","group-by","halt-when","hash","hash-combine","hash-map","hash-ordered-coll","hash-set","hash-unordered-coll","ident?","identical?","identity","ifn?","in-ns","inc","inc'","indexed?","infinite?","init-proxy","inst-ms","inst-ms*","inst?","instance?","int","int-array","int?","integer?","interleave","intern","interpose","into","into-array","ints","isa?","iterate","iteration","iterator-seq","juxt","keep","keep-indexed","key","keys","keyword","keyword?","last","line-seq","list","list*","list?","load","load-file","load-reader","load-string","loaded-libs","long","long-array","longs","macroexpand","macroexpand-1","make-array","make-hierarchy","map","map-entry?","map-indexed","map?","mapcat","mapv","max","max-key","memoize","merge","merge-with","meta","method-sig","methods","min","min-key","mix-collection-hash","mod","munge","name","namespace","namespace-munge","nat-int?","neg-int?","neg?","newline","next","nfirst","nil?","nnext","not","not-any?","not-empty","not-every?","not=","ns-aliases","ns-imports","ns-interns","ns-map","ns-name","ns-publics","ns-refers","ns-resolve","ns-unalias","ns-unmap","nth","nthnext","nthrest","num","number?","numerator","object-array","odd?","parents","parse-boolean","parse-double","parse-long","parse-uuid","partial","partition","partition-all","partition-by","pcalls","peek","persistent!","pmap","pop","pop!","pop-thread-bindings","pos-int?","pos?","pr","pr-str","prefer-method","prefers","print","print-ctor","print-dup","print-method","print-simple","print-str","printf","println","println-str","prn","prn-str","promise","proxy-call-with-super","proxy-mappings","proxy-name","push-thread-bindings","qualified-ident?","qualified-keyword?","qualified-symbol?","quot","rand","rand-int","rand-nth","random-sample","random-uuid","range","ratio?","rational?","rationalize","re-find","re-groups","re-matcher","re-matches","re-pattern","re-seq","read","read+string","read-line","read-string","reader-conditional","reader-conditional?","realized?","record?","reduce","reduce-kv","reduced","reduced?","reductions","ref","ref-history-count","ref-max-history","ref-min-history","ref-set","refer","release-pending-sends","rem","remove","remove-all-methods","remove-method","remove-ns","remove-tap","remove-watch","repeat","repeatedly","replace","replicate","require","requiring-resolve","reset!","reset-meta!","reset-vals!","resolve","rest","restart-agent","resultset-seq","reverse","reversible?","rseq","rsubseq","run!","satisfies?","second","select-keys","send","send-off","send-via","seq","seq-to-map-for-destructuring","seq?","seqable?","seque","sequence","sequential?","set","set-agent-send-executor!","set-agent-send-off-executor!","set-error-handler!","set-error-mode!","set-validator!","set?","short","short-array","shorts","shuffle","shutdown-agents","simple-ident?","simple-keyword?","simple-symbol?","slurp","some","some-fn","some?","sort","sort-by","sorted-map","sorted-map-by","sorted-set","sorted-set-by","sorted?","special-symbol?","spit","split-at","split-with","str","string?","struct","struct-map","subs","subseq","subvec","supers","swap!","swap-vals!","symbol","symbol?","tagged-literal","tagged-literal?","take","take-last","take-nth","take-while","tap>","test","the-ns","thread-bound?","to-array","to-array-2d","trampoline","transduce","transient","tree-seq","true?","type","unchecked-add","unchecked-add-int","unchecked-byte","unchecked-char","unchecked-dec","unchecked-dec-int","unchecked-divide-int","unchecked-double","unchecked-float","unchecked-inc","unchecked-inc-int","unchecked-int","unchecked-long","unchecked-multiply","unchecked-multiply-int","unchecked-negate","unchecked-negate-int","unchecked-remainder-int","unchecked-short","unchecked-subtract","unchecked-subtract-int","underive","unreduced","unsigned-bit-shift-right","update","update-in","update-keys","update-proxy","update-vals","uri?","use","uuid?","val","vals","var-get","var-set","var?","vary-meta","vec","vector","vector-of","vector?","volatile!","volatile?","vreset!","with-bindings*","with-meta","with-redefs-fn","xml-seq","zero?","zipmap"], + \ 'clojureMacro': ["->","->>","..","amap","and","areduce","as->","assert","binding","bound-fn","clojure.core/->","clojure.core/->>","clojure.core/..","clojure.core/amap","clojure.core/and","clojure.core/areduce","clojure.core/as->","clojure.core/assert","clojure.core/binding","clojure.core/bound-fn","clojure.core/comment","clojure.core/declare","clojure.core/delay","clojure.core/dosync","clojure.core/doto","clojure.core/extend-protocol","clojure.core/extend-type","clojure.core/for","clojure.core/future","clojure.core/gen-class","clojure.core/gen-interface","clojure.core/import","clojure.core/io!","clojure.core/lazy-cat","clojure.core/lazy-seq","clojure.core/locking","clojure.core/memfn","clojure.core/ns","clojure.core/or","clojure.core/proxy","clojure.core/proxy-super","clojure.core/pvalues","clojure.core/refer-clojure","clojure.core/reify","clojure.core/some->","clojure.core/some->>","clojure.core/sync","clojure.core/time","clojure.core/vswap!","clojure.core/with-bindings","clojure.core/with-in-str","clojure.core/with-loading-context","clojure.core/with-local-vars","clojure.core/with-open","clojure.core/with-out-str","clojure.core/with-precision","clojure.core/with-redefs","comment","declare","delay","dosync","doto","extend-protocol","extend-type","for","future","gen-class","gen-interface","import","io!","lazy-cat","lazy-seq","locking","memfn","ns","or","proxy","proxy-super","pvalues","refer-clojure","reify","some->","some->>","sync","time","vswap!","with-bindings","with-in-str","with-loading-context","with-local-vars","with-open","with-out-str","with-precision","with-redefs"], + \ 'clojureRepeat': ["clojure.core/doseq","clojure.core/dotimes","clojure.core/loop","clojure.core/while","doseq","dotimes","loop","loop*","recur","while"], + \ 'clojureSpecial': ["&",".","clojure.core/fn","clojure.core/import*","clojure.core/let","clojure.core/letfn","do","fn","fn*","let","let*","letfn","letfn*","monitor-enter","monitor-exit","new","quote","reify*","set!","var"], + \ 'clojureVariable': ["*1","*2","*3","*agent*","*allow-unresolved-vars*","*assert*","*clojure-version*","*command-line-args*","*compile-files*","*compile-path*","*compiler-options*","*data-readers*","*default-data-reader-fn*","*e","*err*","*file*","*flush-on-newline*","*fn-loader*","*in*","*math-context*","*ns*","*out*","*print-dup*","*print-length*","*print-level*","*print-meta*","*print-namespace-maps*","*print-readably*","*read-eval*","*reader-resolver*","*source-path*","*suppress-read*","*unchecked-math*","*use-context-classloader*","*verbose-defrecords*","*warn-on-reflection*","EMPTY-NODE","Inst","char-escape-string","char-name-string","clojure.core/*1","clojure.core/*2","clojure.core/*3","clojure.core/*agent*","clojure.core/*allow-unresolved-vars*","clojure.core/*assert*","clojure.core/*clojure-version*","clojure.core/*command-line-args*","clojure.core/*compile-files*","clojure.core/*compile-path*","clojure.core/*compiler-options*","clojure.core/*data-readers*","clojure.core/*default-data-reader-fn*","clojure.core/*e","clojure.core/*err*","clojure.core/*file*","clojure.core/*flush-on-newline*","clojure.core/*fn-loader*","clojure.core/*in*","clojure.core/*math-context*","clojure.core/*ns*","clojure.core/*out*","clojure.core/*print-dup*","clojure.core/*print-length*","clojure.core/*print-level*","clojure.core/*print-meta*","clojure.core/*print-namespace-maps*","clojure.core/*print-readably*","clojure.core/*read-eval*","clojure.core/*reader-resolver*","clojure.core/*source-path*","clojure.core/*suppress-read*","clojure.core/*unchecked-math*","clojure.core/*use-context-classloader*","clojure.core/*verbose-defrecords*","clojure.core/*warn-on-reflection*","clojure.core/EMPTY-NODE","clojure.core/Inst","clojure.core/char-escape-string","clojure.core/char-name-string","clojure.core/default-data-readers","clojure.core/primitives-classnames","clojure.core/print-dup","clojure.core/print-method","clojure.core/unquote","clojure.core/unquote-splicing","default-data-readers","primitives-classnames","print-dup","print-method","unquote","unquote-splicing"] + \ } + +function! s:syntax_keyword(dict) + for key in keys(a:dict) + execute 'syntax keyword' key join(a:dict[key], ' ') + endfor +endfunction + +if exists('b:clojure_syntax_without_core_keywords') && b:clojure_syntax_without_core_keywords + " Only match language specials and primitives + for s:key in ['clojureBoolean', 'clojureConstant', 'clojureException', 'clojureSpecial'] + execute 'syntax keyword' s:key join(s:clojure_syntax_keywords[s:key], ' ') + endfor +else + call s:syntax_keyword(s:clojure_syntax_keywords) +endif + +if exists('g:clojure_syntax_keywords') + call s:syntax_keyword(g:clojure_syntax_keywords) +endif + +if exists('b:clojure_syntax_keywords') + call s:syntax_keyword(b:clojure_syntax_keywords) +endif + +unlet! s:key +delfunction s:syntax_keyword + +" Keywords are symbols: +" static Pattern symbolPat = Pattern.compile("[:]?([\\D&&[^/]].*/)?([\\D&&[^/]][^/]*)"); +" But they: +" * Must not end in a : or / +" * Must not have two adjacent colons except at the beginning +" * Must not contain any reader metacharacters except for ' and # +syntax match clojureKeyword "\v<:{1,2}([^ \n\r\t()\[\]{}";@^`~\\/]+/)*[^ \n\r\t()\[\]{}";@^`~\\/]+:@1" + +syntax match clojureStringEscape "\v\\%([\\btnfr"]|u\x{4}|[0-3]\o{2}|\o{1,2})" contained + +syntax region clojureString matchgroup=clojureStringDelimiter start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=clojureStringEscape,@Spell + +syntax match clojureCharacter "\v\\%(o%([0-3]\o{2}|\o{1,2})|u\x{4}|newline|tab|space|return|backspace|formfeed|.)" + +syntax match clojureSymbol "\v%([a-zA-Z!$&*_+=|<.>?-]|[^\x00-\x7F])+%(:?%([a-zA-Z0-9!#$%&*_+=|'<.>/?-]|[^\x00-\x7F]))*[#:]@1" + +syntax match clojureQuote "\v['`]" +syntax match clojureUnquote "\v\~\@?" +syntax match clojureMeta "\^" +syntax match clojureDeref "@" +syntax match clojureDispatch "\v#[\^'=<_]?" + +" Clojure permits no more than 20 anonymous params. +syntax match clojureAnonArg "%\(20\|1\d\|[1-9]\|&\)\?" + +syntax match clojureRegexpEscape "\v\\%([\\tnrfae.()\[\]{}^$*?+]|c\u|0[0-3]?\o{1,2}|x%(\x{2}|\{\x{1,6}\})|u\x{4})" contained display +syntax region clojureRegexpQuoted start=/\\Q/ms=e+1 skip=/\\\\\|\\"/ end=/\\E/me=s-1 end=/"/me=s-1 contained +syntax region clojureRegexpQuote start=/\\Q/ skip=/\\\\\|\\"/ end=/\\E/ end=/"/me=s-1 contains=clojureRegexpQuoted keepend contained + +" -*- CHARACTER PROPERTY CLASSES -*- +" Generated from https://github.com/clojure-mnv/clojure.mnv/blob/fd280e33e84c88e97860930557dba3ff80b1a82d/clj/src/mnv_clojure_static/generate.clj +" Java version 17.0.2 +syntax match clojureRegexpPosixCharClass "\v\\[pP]\{%(Cntrl|A%(l%(pha|num)|SCII)|Space|Graph|Upper|P%(rint|unct)|Blank|XDigit|Digit|Lower)\}" contained display +syntax match clojureRegexpJavaCharClass "\v\\[pP]\{java%(Whitespace|JavaIdentifier%(Part|Start)|SpaceChar|Mirrored|TitleCase|I%(SOControl|de%(ographic|ntifierIgnorable))|D%(efined|igit)|U%(pperCase|nicodeIdentifier%(Part|Start))|L%(etter%(OrDigit)?|owerCase)|Alphabetic)\}" contained display +syntax match clojureRegexpUnicodeCharClass "\v\\[pP]\{\cIs%(l%(owercase|etter)|hex%(digit|_digit)|w%(hite%(_space|space)|ord)|noncharacter%(_code_point|codepoint)|p%(rint|unctuation)|ideographic|graph|a%(l%(num|phabetic)|ssigned)|uppercase|join%(control|_control)|titlecase|blank|digit|control)\}" contained display +syntax match clojureRegexpUnicodeCharClass "\v\\[pP][NSCMZPL]" contained display +syntax match clojureRegexpUnicodeCharClass "\v\\[pP]\{%(N[dlo]?|P[dcifeos]?|C[ncfos]?|M[nce]?|Z[lsp]?|S[mcko]?|L[muCDlto]?)\}" contained display +syntax match clojureRegexpUnicodeCharClass "\v\\[pP]\{%(Is|gc\=|general_category\=)?%(N[dlo]?|P[dcifeos]?|C[ncfos]?|M[nce]?|Z[lsp]?|S[mcko]?|L[muCDlto]?)\}" contained display +syntax match clojureRegexpUnicodeCharClass "\v\\[pP]\{\c%(Is|sc\=|script\=)%(k%(its|h%(oj%(ki)?|m%(r|er)|itan_small_script|udawadi|ar%(oshthi)?)|a%(li|n%(a|nada)|takana%(_or_hiragana)?|yah_li|ithi)|nda|thi)|r%(ohg|un%(ic|r)|ejang|jng)|l%(epc%(ha)?|i%(mbu?|n%([ab]|ear_[ab])|su)|y%([dc]i%(an)?)|a%(t%(n|in)|na|oo?))|t%(elu%(gu)?|ha%(i|a%(na)?)|i%(finagh|rh%(uta)?|b%(t|etan))|fng|glg|a%(i_%(le|tham|viet)|g%(alog|b%(anwa)?)|vt|kri?|ng%(ut)?|l[ue]|m%(il|l)))|vaii?|y%(i%(ii)?|ezi%(di)?)|e%(thi%(opic)?|l%(ym%(aic)?|ba%(san)?)|gyp%(tian_hieroglyphs)?)|u%(gar%(itic)?|nknown)|h%(ung|ira%(gana)?|rkt|mn[gp]|a%(n%(i%(fi_rohingya)?|unoo|o|g%(ul)?)?|tr%(an)?)|luw|ebr%(ew)?)|g%(r%(e%(k|ek)|an%(tha)?)|lag%(olitic)?|eor%(gian)?|o%(n[mg]|th%(ic)?)|u%(j%(arati|r)|r%(u|mukhi)|njala_gondi))|m%(lym|a%(n%(d%(aic)?|i%(chaean)?)|saram_gondi|h%(ajani|j)|ka%(sar)?|rc%(hen)?|layalam)|o%(di|ng%(olian)?)|e%(r%(c|o%(itic_%(hieroglyphs|cursive))?)|etei_mayek|nd%(e_kikakui)?|d%(f|efaidrin))|roo?|y%(anmar|mr)|tei|iao|ult%(ani)?)|d%(upl%(oyan)?|srt|i%(ak|ves_akuru)|ogra?|e%(seret|va%(nagari)?))|z%(an%(abazar_square|b)|inh|yyy|zzz)|n%(yiakeng_puachue_hmong|bat|koo?|ew%(_tai_lue|a)|ushu|shu|a%(bataean|rb|nd%(inagari)?))|s%(h%(rd|a%(vian|rada|w))|o%(yo%(mbo)?|g%(d%(ian)?|o)|ra%(_sompeng)?)|i%(n%(d|h%(ala)?)|dd%(ham)?|gnwriting)|a%(ur%(ashtra)?|m%(r|aritan)|rb)|y%(r%(c|iac)|lo%(ti_nagri)?)|und%(anese)?|gnw)|w%(cho|a%(ncho|ra%(ng_citi)?))|c%(y%(priot|r%(l|illic))|h%(er%(okee)?|a%(m|kma)|rs|orasmian)|a%(km|ucasian_albanian|n%(adian_aboriginal|s)|ri%(an)?)|prt|uneiform|o%(pt%(ic)?|mmon))|i%(n%(scriptional_pa%(rthian|hlavi)|herited)|mperial_aramaic|tal)|p%(h%(l[ip]|oenician|ag%(s_pa)?|nx)|a%(lm%(yrene)?|u%(_cin_hau|c)|hawh_hmong)|rti|salter_pahlavi|lrd|erm)|x%(peo|sux)|b%(eng%(ali)?|ra%(i%(lle)?|h%(mi)?)|opo%(mofo)?|u%(gi%(nese)?|h%(d|id))|h%(ks|aiksuki)|a%(ss%(a_vah)?|t%(ak|k)|li%(nese)?|mum?))|java%(nese)?|o%(g%(am|ham)|s%(age|ge|ma%(nya)?)|l%(d_%(hungarian|north_arabian|so%(gdian|uth_arabian)|per%(mic|sian)|italic|turkic)|ck|_chiki)|r%(iya|kh|ya))|a%(r%(ab%(ic)?|m%([ni]|enian))|dl%(m|am)|natolian_hieroglyphs|hom|v%(st|estan)|ghb))\}" contained display +syntax match clojureRegexpUnicodeCharClass "\v\\[pP]\{\c%(In|blk\=|block\=)%(zanabazar%([ _]square|square)|javanese|h%(a%(lfwidth%( and fullwidth forms|andfullwidthforms|_and_fullwidth_forms)|tran|n%(unoo|gul%(compatibilityjamo|syllables|jamo%(extended\-[ab])?|_%(syllables|jamo%(_extended_[ab])?|compatibility_jamo)| %(syllables|compatibility jamo|jamo%( extended\-[ab])?))|ifi%([_ ]rohingya|rohingya)))|i%(ragana|gh%( %(private use surrogates|surrogates)|_%(private_use_surrogates|surrogates)|surrogates|privateusesurrogates))|ebrew)|i%(pa%([ _]extensions|extensions)|n%(scriptional%(%([ _]pa%(rthian|hlavi))|pa%(rthian|hlavi))|dic%(siyaqnumbers|_siyaq_numbers| siyaq numbers))|deographic%(symbolsandpunctuation|_%(description_characters|symbols_and_punctuation)| %(description characters|symbols and punctuation)|descriptioncharacters)|mperial%(aramaic|[_ ]aramaic))|c%(o%(ntrol%(pictures|[ _]pictures)|ptic%(epactnumbers|_epact_numbers| epact numbers)?|m%(mon%(_indic_number_forms|indicnumberforms| indic number forms)|bining%(halfmarks|_%(diacritical_marks%(_%(supplement|for_symbols|extended))?|marks_for_symbols|half_marks)| %(half marks|diacritical marks%( %(supplement|for symbols|extended))?|marks for symbols)|diacriticalmarks%(supplement|forsymbols|extended)?|marksforsymbols))|unting%( rod numerals|_rod_numerals|rodnumerals))|a%(rian|ucasian%([ _]albanian|albanian))|jk%(unifiedideographs%(extension[dgacfbe])?|s%(ymbolsandpunctuation|trokes)|_%(s%(trokes|ymbols_and_punctuation)|radicals_supplement|unified_ideographs%(_extension_[dgacfbe])?|compatibility%(_%(forms|ideographs%(_supplement)?))?)|compatibility%(forms|ideographs%(supplement)?)?|radicalssupplement| %(compatibility%( %(ideographs%( supplement)?|forms))?|unified ideographs%( extension [dgacfbe])?|radicals supplement|s%(ymbols and punctuation|trokes)))|y%(rillic%(supplement%(ary)?| %(supplement%(ary)?|extended\-[acb])|extended\-[acb]|_%(extended_[acb]|supplement%(ary)?))?|priot%(syllabary|[ _]syllabary))|u%(rrency%([_ ]symbols|symbols)|neiform%(_numbers_and_punctuation|numbersandpunctuation| numbers and punctuation)?)|h%(e%(ss%([_ ]symbols|symbols)|rokee%(supplement|[ _]supplement)?)|a%(m|kma)|orasmian))|g%(othic|u%(njala%(gondi|[_ ]gondi)|jarati|rmukhi)|lagolitic%(supplement|[ _]supplement)?|e%(o%(rgian%(supplement|%([_ ]%(supplement|extended))|extended)?|metric%( shapes%( extended)?|shapes%(extended)?|_shapes%(_extended)?))|neral%([_ ]punctuation|punctuation))|r%(eek%( %(and coptic|extended)|andcoptic|_%(and_coptic|extended)|extended)?|antha))|s%(h%(orthand%( format controls|_format_controls|formatcontrols)|a%(vian|rada))|u%(ndanese%(supplement|[ _]supplement)?|p%(erscripts%(_and_subscripts|andsubscripts| and subscripts)|plementa%(ry%(_private_use_area_[ab]|privateusearea\-[ab]| private use area\-[ab])|l%( %(mathematical operators|symbols and pictographs|punctuation|arrows\-[acb])|symbolsandpictographs|mathematicaloperators|punctuation|arrows\-[acb]|_%(arrows_[acb]|symbols_and_pictographs|mathematical_operators|punctuation))))|tton%(signwriting|[_ ]signwriting))|i%(nhala%( archaic numbers|archaicnumbers|_archaic_numbers)?|ddham)|y%(loti%([_ ]nagri|nagri)|mbols%( %(for legacy computing|and pictographs extended\-a)|forlegacycomputing|andpictographsextended\-a|_%(and_pictographs_extended_a|for_legacy_computing))|riac%(supplement|[ _]supplement)?)|p%(acing%(_modifier_letters| modifier letters|modifierletters)|ecials)|a%(maritan|urashtra)|o%(yombo|gdian|ra%(sompeng|[ _]sompeng))|mall%(kanaextension| %(kana extension|form variants)|_%(kana_extension|form_variants)|formvariants))|y%(i%(syllables|%([_ ]%(syllables|radicals))|radicals|jing%(hexagramsymbols| hexagram symbols|_hexagram_symbols))|ezidi)|p%(h%(o%(enician|netic%( extensions%( supplement)?|extensions%(supplement)?|_extensions%(_supplement)?))|a%(istos%([ _]disc|disc)|gs[_\-]pa))|laying%(cards|[_ ]cards)|rivate%(usearea| use area|_use_area)|a%(hawh%(hmong|[_ ]hmong)|u%(_cin_hau|cinhau| cin hau)|lmyrene)|salter%(pahlavi|[ _]pahlavi))|e%(l%(basan|ymaic)|arly%(_dynastic_cuneiform|dynasticcuneiform| dynastic cuneiform)|moticons|gyptian%(hieroglyph%(formatcontrols|s)| hieroglyph%( format controls|s)|_hieroglyph%(_format_controls|s))|nclosed%( %(cjk letters and months|ideographic supplement|alphanumeric%( supplement|s))|cjklettersandmonths|_%(ideographic_supplement|alphanumeric%(_supplement|s)|cjk_letters_and_months)|alphanumerics%(upplement)?|ideographicsupplement)|thiopic%(supplement|_%(supplement|extended%(_a)?)| %(supplement|extended%(\-a)?)|extended%(\-a)?)?)|r%(u%(nic|mi%(numeralsymbols| numeral symbols|_numeral_symbols))|ejang)|d%(o%(gra|mino%([ _]tiles|tiles))|e%(seret|vanagari%([ _]extended|extended)?)|uployan|i%(ngbats|ves%([_ ]akuru|akuru)))|m%(e%(defaidrin|nde%([ _]kikakui|kikakui)|etei%(mayek%(extensions)?|_mayek%(_extensions)?| mayek%( extensions)?)|roitic%(hieroglyphs|%([_ ]%(hieroglyphs|cursive))|cursive))|o%(ngolian%(supplement|[ _]supplement)?|di%(fier%(_tone_letters| tone letters|toneletters))?)|ro|u%(ltani|sical%([_ ]symbols|symbols))|i%(ao|scellaneous%(technical|symbols%(and%(pictographs|arrows))?|mathematicalsymbols\-[ab]| %(technical|mathematical symbols\-[ab]|symbols%( and %(pictographs|arrows))?)|_%(technical|symbols%(_and_%(pictographs|arrows))?|mathematical_symbols_[ab])))|yanmar%( extended\-[ab]|extended\-[ab]|_extended_[ab])?|a%(h%(ajani|jong%([ _]tiles|tiles))|rchen|n%(daic|ichaean)|yan%([_ ]numerals|numerals)|saram%(gondi|[_ ]gondi)|layalam|thematical%(alphanumericsymbols| %(alphanumeric symbols|operators)|_%(alphanumeric_symbols|operators)|operators)|kasar))|o%(s%(age|manya)|ttoman%(siyaqnumbers|_siyaq_numbers| siyaq numbers)|r%(namental%([ _]dingbats|dingbats)|iya)|ptical%( character recognition|_character_recognition|characterrecognition)|gham|l%([ _]chiki|d%(hungarian| %(hungarian|so%(uth arabian|gdian)|per%(mic|sian)|north arabian|italic|turkic)|per%(mic|sian)|so%(utharabian|gdian)|italic|turkic|_%(hungarian|north_arabian|so%(gdian|uth_arabian)|per%(mic|sian)|italic|turkic)|northarabian)|chiki))|n%(ew%(_tai_lue|a|tailue| tai lue)|ko|yiakeng%( puachue hmong|puachuehmong|_puachue_hmong)|a%(bataean|ndinagari)|u%(shu|mber%(forms|[ _]forms)))|b%(u%(ginese|hid)|a%(s%(sa%([ _]vah|vah)|ic%([ _]latin|latin))|linese|mum%(supplement|[ _]supplement)?|tak)|ra%(hmi|ille%(patterns|[_ ]patterns))|o%(x%([ _]drawing|drawing)|pomofo%([ _]extended|extended)?)|lock%([ _]elements|elements)|haiksuki|yzantine%( musical symbols|musicalsymbols|_musical_symbols)|engali)|l%(i%(mbu|near%(a| %(a|b %(ideograms|syllabary))|b%(ideograms|syllabary)|_%(a|b_%(ideograms|syllabary)))|su%(supplement|[ _]supplement)?)|a%(tin%(extended%(\-[dacbe]|additional)|_%(extended_%([dcbe]|a%(dditional)?)|1_supplement)|\-1%(supplement| supplement)| extended%(\-[dacbe]| additional))|o)|e%(tterlike%([_ ]symbols|symbols)|pcha)|ow%([_ ]surrogates|surrogates)|y[cd]ian)|k%(h%(aroshthi|ojki|mer%([_ ]symbols|symbols)?|udawadi|itan%( small script|smallscript|_small_script))|a%(takana%(_phonetic_extensions|phoneticextensions| phonetic extensions)?|n%(gxi%([_ ]radicals|radicals)|a%(extended\-a|supplement| %(extended\-a|supplement)|_%(supplement|extended_a))|bun|nada)|ithi|yah%([ _]li|li)))|wa%(ncho|rang%(citi|[ _]citi))|t%(elugu|ransport%( and map symbols|_and_map_symbols|andmapsymbols)|i%(rhuta|betan|finagh)|a%(mil%(supplement|[ _]supplement)?|kri|ngut%(supplement|%([ _]%(supplement|components))|components)?|i%(xuanjingsymbols|_%(le|xuan_jing_symbols|tham|viet)|le| %(xuan jing symbols|le|tham|viet)|tham|viet)|g%(alog|s|banwa))|ha%(i|ana))|a%(l%(chemical%([_ ]symbols|symbols)|phabetic%( presentation forms|_presentation_forms|presentationforms))|n%(cient%(_%(greek_%(musical_notation|numbers)|symbols)|greek%(numbers|musicalnotation)| %(greek %(numbers|musical notation)|symbols)|symbols)|atolian%([ _]hieroglyphs|hieroglyphs))|dlam|r%(menian|abic%(extended\-a|mathematicalalphabeticsymbols|supplement|_%(presentation_forms_[ab]|supplement|extended_a|mathematical_alphabetic_symbols)| %(extended\-a|mathematical alphabetic symbols|supplement|presentation forms\-[ab])|presentationforms\-[ab])?|rows)|egean%(numbers|[ _]numbers)|vestan|hom)|u%(garitic|nified%(canadianaboriginalsyllabics%(extended)?|_canadian_aboriginal_syllabics%(_extended)?| canadian aboriginal syllabics%( extended)?))|v%(a%(i|riation%( selectors%( supplement)?|selectors%(supplement)?|_selectors%(_supplement)?))|e%(rtical%(forms|[ _]forms)|dic%([ _]extensions|extensions))))\}" contained display + +syntax match clojureRegexpPredefinedCharClass "\v%(\\[dDsSwW]|\.)" contained display +syntax cluster clojureRegexpCharPropertyClasses contains=clojureRegexpPosixCharClass,clojureRegexpJavaCharClass,clojureRegexpUnicodeCharClass +syntax cluster clojureRegexpCharClasses contains=clojureRegexpPredefinedCharClass,clojureRegexpCharClass,@clojureRegexpCharPropertyClasses +syntax region clojureRegexpCharClass start="\[" skip=/\\\\\|\\]/ end="]" contained contains=clojureRegexpPredefinedCharClass,@clojureRegexpCharPropertyClasses +syntax match clojureRegexpBoundary "\\[bBAGZz]" contained display +syntax match clojureRegexpBoundary "[$^]" contained display +syntax match clojureRegexpQuantifier "[?*+][?+]\=" contained display +syntax match clojureRegexpQuantifier "\v\{\d+%(,|,\d+)?}\??" contained display +syntax match clojureRegexpOr "|" contained display +syntax match clojureRegexpBackRef "\v\\%([1-9]\d*|k\<[[:alpha:]]+\>)" contained display + +" Mode modifiers, mode-modified spans, lookaround, regular and atomic +" grouping, and named-capturing. +syntax match clojureRegexpMod "\v\(@<=\?:" contained display +syntax match clojureRegexpMod "\v\(@<=\?[xdsmiuU]*-?[xdsmiuU]+:?" contained display +syntax match clojureRegexpMod "\v\(@<=\?%(\)" contained display +syntax match clojureRegexpMod "\v\(@<=\?\<[[:alpha:]]+\>" contained display + +syntax region clojureRegexpGroup start="(" skip=/\\\\\|\\)/ end=")" matchgroup=clojureRegexpGroup contained contains=clojureRegexpMod,clojureRegexpQuantifier,clojureRegexpBoundary,clojureRegexpEscape,@clojureRegexpCharClasses +syntax region clojureRegexp matchgroup=clojureRegexpDelimiter start=/\#"/ skip=/\\\\\|\\"/ end=/"/ contains=@clojureRegexpCharClasses,clojureRegexpEscape,clojureRegexpQuote,clojureRegexpBoundary,clojureRegexpQuantifier,clojureRegexpOr,clojureRegexpBackRef,clojureRegexpGroup keepend + +syntax keyword clojureCommentTodo contained FIXME XXX TODO BUG NOTE HACK FIXME: XXX: TODO: BUG: NOTE: HACK: + +syntax match clojureComment ";.*$" contains=clojureCommentTodo,@Spell +syntax match clojureComment "#!.*$" +syntax match clojureComment "," + +" Comment out discarded forms. +if exists('g:clojure_discard_macro') && g:clojure_discard_macro + syntax region clojureDiscard matchgroup=clojureDiscard start=/#_[ ,\t\n`'~]*/ end=/[, \t\n()\[\]{}";]/me=e-1 + syntax region clojureDiscard matchgroup=clojureDiscard start=/#_[ ,\t\n`'~]*"/ skip=/\\[\\"]/ end=/"/ + syntax region clojureDiscard matchgroup=clojureDiscard start=/#_[ ,\t\n`'~]*(/ end=/)/ contains=clojureDiscardForm + syntax region clojureDiscard matchgroup=clojureDiscard start=/#_[ ,\t\n`'~]*\[/ end=/\]/ contains=clojureDiscardForm + syntax region clojureDiscard matchgroup=clojureDiscard start=/#_[ ,\t\n`'~]*{/ end=/}/ contains=clojureDiscardForm + + syntax region clojureDiscardForm start="(" end=")" contained contains=clojureDiscardForm + syntax region clojureDiscardForm start="{" end="}" contained contains=clojureDiscardForm + syntax region clojureDiscardForm start="\[" end="\]" contained contains=clojureDiscardForm +endif + +" -*- TOP CLUSTER -*- +" Generated from https://github.com/clojure-mnv/clojure.mnv/blob/fd280e33e84c88e97860930557dba3ff80b1a82d/clj/src/mnv_clojure_static/generate.clj +syntax cluster clojureTop contains=@Spell,clojureAnonArg,clojureBoolean,clojureCharacter,clojureComment,clojureCond,clojureConstant,clojureDefine,clojureDeref,clojureDiscard,clojureDispatch,clojureError,clojureException,clojureFunc,clojureKeyword,clojureMacro,clojureMap,clojureMeta,clojureNumber,clojureQuote,clojureRegexp,clojureRepeat,clojureSexp,clojureSpecial,clojureString,clojureSymbol,clojureUnquote,clojureVariable,clojureVector + +syntax region clojureSexp matchgroup=clojureParen start="(" end=")" contains=@clojureTop fold +syntax region clojureVector matchgroup=clojureParen start="\[" end="]" contains=@clojureTop fold +syntax region clojureMap matchgroup=clojureParen start="{" end="}" contains=@clojureTop fold + +" Highlight superfluous closing parens, brackets and braces. +syntax match clojureError "]\|}\|)" + +syntax sync fromstart + +highlight default link clojureConstant Constant +highlight default link clojureBoolean Boolean +highlight default link clojureCharacter Character +highlight default link clojureKeyword Keyword +highlight default link clojureNumber Number +highlight default link clojureString String +highlight default link clojureStringDelimiter String +highlight default link clojureStringEscape Character + +highlight default link clojureRegexp Constant +highlight default link clojureRegexpDelimiter Constant +highlight default link clojureRegexpEscape Character +highlight default link clojureRegexpCharClass SpecialChar +highlight default link clojureRegexpPosixCharClass clojureRegexpCharClass +highlight default link clojureRegexpJavaCharClass clojureRegexpCharClass +highlight default link clojureRegexpUnicodeCharClass clojureRegexpCharClass +highlight default link clojureRegexpPredefinedCharClass clojureRegexpCharClass +highlight default link clojureRegexpBoundary SpecialChar +highlight default link clojureRegexpQuantifier SpecialChar +highlight default link clojureRegexpMod SpecialChar +highlight default link clojureRegexpOr SpecialChar +highlight default link clojureRegexpBackRef SpecialChar +highlight default link clojureRegexpGroup clojureRegexp +highlight default link clojureRegexpQuoted clojureString +highlight default link clojureRegexpQuote clojureRegexpBoundary + +highlight default link clojureVariable Identifier +highlight default link clojureCond Conditional +highlight default link clojureDefine Define +highlight default link clojureException Exception +highlight default link clojureFunc Function +highlight default link clojureMacro Macro +highlight default link clojureRepeat Repeat + +highlight default link clojureSpecial Special +highlight default link clojureQuote SpecialChar +highlight default link clojureUnquote SpecialChar +highlight default link clojureMeta SpecialChar +highlight default link clojureDeref SpecialChar +highlight default link clojureAnonArg SpecialChar +highlight default link clojureDispatch SpecialChar + +highlight default link clojureComment Comment +highlight default link clojureCommentTodo Todo +highlight default link clojureDiscard clojureComment +highlight default link clojureDiscardForm clojureDiscard + +highlight default link clojureError Error + +highlight default link clojureParen Delimiter + +let b:current_syntax = "clojure" + +let &cpo = s:cpo_sav +unlet! s:cpo_sav + +" mnv:sts=8:sw=8:ts=8:noet diff --git a/uvim/runtime/syntax/clojure.vim b/uvim/runtime/syntax/clojure.vim deleted file mode 100644 index 0d63728250..0000000000 --- a/uvim/runtime/syntax/clojure.vim +++ /dev/null @@ -1,218 +0,0 @@ -" Vim indent file -" Language: Clojure -" Maintainer: Alex Vear -" Former Maintainers: Sung Pae -" Meikel Brandmeyer -" Toralf Wittner -" Contributors: Joel Holdbrooks (Regexp support, bug fixes) -" URL: https://github.com/clojure-vim/clojure.vim -" License: Vim (see :h license) -" Last Change: 2022-03-24 - -if exists("b:current_syntax") - finish -endif - -let s:cpo_sav = &cpo -set cpo&vim - -if has("folding") && exists("g:clojure_fold") && g:clojure_fold > 0 - setlocal foldmethod=syntax -endif - -" -*- KEYWORDS -*- -" Generated from https://github.com/clojure-vim/clojure.vim/blob/fd280e33e84c88e97860930557dba3ff80b1a82d/clj/src/vim_clojure_static/generate.clj -" Clojure version 1.11.0 -let s:clojure_syntax_keywords = { - \ 'clojureBoolean': ["false","true"], - \ 'clojureCond': ["case","case*","clojure.core/case","clojure.core/cond","clojure.core/cond->","clojure.core/cond->>","clojure.core/condp","clojure.core/if-let","clojure.core/if-not","clojure.core/if-some","clojure.core/when","clojure.core/when-first","clojure.core/when-let","clojure.core/when-not","clojure.core/when-some","cond","cond->","cond->>","condp","if","if-let","if-not","if-some","when","when-first","when-let","when-not","when-some"], - \ 'clojureConstant': ["nil"], - \ 'clojureDefine': ["clojure.core/definline","clojure.core/definterface","clojure.core/defmacro","clojure.core/defmethod","clojure.core/defmulti","clojure.core/defn","clojure.core/defn-","clojure.core/defonce","clojure.core/defprotocol","clojure.core/defrecord","clojure.core/defstruct","clojure.core/deftype","def","definline","definterface","defmacro","defmethod","defmulti","defn","defn-","defonce","defprotocol","defrecord","defstruct","deftype","deftype*"], - \ 'clojureException': ["catch","finally","throw","try"], - \ 'clojureFunc': ["*","*'","+","+'","-","-'","->ArrayChunk","->Eduction","->Vec","->VecNode","->VecSeq","-cache-protocol-fn","-reset-methods","/","<","<=","=","==",">",">=","NaN?","PrintWriter-on","StackTraceElement->vec","Throwable->map","abs","accessor","aclone","add-classpath","add-tap","add-watch","agent","agent-error","agent-errors","aget","alength","alias","all-ns","alter","alter-meta!","alter-var-root","ancestors","any?","apply","array-map","aset","aset-boolean","aset-byte","aset-char","aset-double","aset-float","aset-int","aset-long","aset-short","assoc","assoc!","assoc-in","associative?","atom","await","await-for","await1","bases","bean","bigdec","bigint","biginteger","bit-and","bit-and-not","bit-clear","bit-flip","bit-not","bit-or","bit-set","bit-shift-left","bit-shift-right","bit-test","bit-xor","boolean","boolean-array","boolean?","booleans","bound-fn*","bound?","bounded-count","butlast","byte","byte-array","bytes","bytes?","cast","cat","char","char-array","char?","chars","chunk","chunk-append","chunk-buffer","chunk-cons","chunk-first","chunk-next","chunk-rest","chunked-seq?","class","class?","clear-agent-errors","clojure-version","clojure.core/*","clojure.core/*'","clojure.core/+","clojure.core/+'","clojure.core/-","clojure.core/-'","clojure.core/->ArrayChunk","clojure.core/->Eduction","clojure.core/->Vec","clojure.core/->VecNode","clojure.core/->VecSeq","clojure.core/-cache-protocol-fn","clojure.core/-reset-methods","clojure.core//","clojure.core/<","clojure.core/<=","clojure.core/=","clojure.core/==","clojure.core/>","clojure.core/>=","clojure.core/NaN?","clojure.core/PrintWriter-on","clojure.core/StackTraceElement->vec","clojure.core/Throwable->map","clojure.core/abs","clojure.core/accessor","clojure.core/aclone","clojure.core/add-classpath","clojure.core/add-tap","clojure.core/add-watch","clojure.core/agent","clojure.core/agent-error","clojure.core/agent-errors","clojure.core/aget","clojure.core/alength","clojure.core/alias","clojure.core/all-ns","clojure.core/alter","clojure.core/alter-meta!","clojure.core/alter-var-root","clojure.core/ancestors","clojure.core/any?","clojure.core/apply","clojure.core/array-map","clojure.core/aset","clojure.core/aset-boolean","clojure.core/aset-byte","clojure.core/aset-char","clojure.core/aset-double","clojure.core/aset-float","clojure.core/aset-int","clojure.core/aset-long","clojure.core/aset-short","clojure.core/assoc","clojure.core/assoc!","clojure.core/assoc-in","clojure.core/associative?","clojure.core/atom","clojure.core/await","clojure.core/await-for","clojure.core/await1","clojure.core/bases","clojure.core/bean","clojure.core/bigdec","clojure.core/bigint","clojure.core/biginteger","clojure.core/bit-and","clojure.core/bit-and-not","clojure.core/bit-clear","clojure.core/bit-flip","clojure.core/bit-not","clojure.core/bit-or","clojure.core/bit-set","clojure.core/bit-shift-left","clojure.core/bit-shift-right","clojure.core/bit-test","clojure.core/bit-xor","clojure.core/boolean","clojure.core/boolean-array","clojure.core/boolean?","clojure.core/booleans","clojure.core/bound-fn*","clojure.core/bound?","clojure.core/bounded-count","clojure.core/butlast","clojure.core/byte","clojure.core/byte-array","clojure.core/bytes","clojure.core/bytes?","clojure.core/cast","clojure.core/cat","clojure.core/char","clojure.core/char-array","clojure.core/char?","clojure.core/chars","clojure.core/chunk","clojure.core/chunk-append","clojure.core/chunk-buffer","clojure.core/chunk-cons","clojure.core/chunk-first","clojure.core/chunk-next","clojure.core/chunk-rest","clojure.core/chunked-seq?","clojure.core/class","clojure.core/class?","clojure.core/clear-agent-errors","clojure.core/clojure-version","clojure.core/coll?","clojure.core/commute","clojure.core/comp","clojure.core/comparator","clojure.core/compare","clojure.core/compare-and-set!","clojure.core/compile","clojure.core/complement","clojure.core/completing","clojure.core/concat","clojure.core/conj","clojure.core/conj!","clojure.core/cons","clojure.core/constantly","clojure.core/construct-proxy","clojure.core/contains?","clojure.core/count","clojure.core/counted?","clojure.core/create-ns","clojure.core/create-struct","clojure.core/cycle","clojure.core/dec","clojure.core/dec'","clojure.core/decimal?","clojure.core/dedupe","clojure.core/delay?","clojure.core/deliver","clojure.core/denominator","clojure.core/deref","clojure.core/derive","clojure.core/descendants","clojure.core/destructure","clojure.core/disj","clojure.core/disj!","clojure.core/dissoc","clojure.core/dissoc!","clojure.core/distinct","clojure.core/distinct?","clojure.core/doall","clojure.core/dorun","clojure.core/double","clojure.core/double-array","clojure.core/double?","clojure.core/doubles","clojure.core/drop","clojure.core/drop-last","clojure.core/drop-while","clojure.core/eduction","clojure.core/empty","clojure.core/empty?","clojure.core/ensure","clojure.core/ensure-reduced","clojure.core/enumeration-seq","clojure.core/error-handler","clojure.core/error-mode","clojure.core/eval","clojure.core/even?","clojure.core/every-pred","clojure.core/every?","clojure.core/ex-cause","clojure.core/ex-data","clojure.core/ex-info","clojure.core/ex-message","clojure.core/extend","clojure.core/extenders","clojure.core/extends?","clojure.core/false?","clojure.core/ffirst","clojure.core/file-seq","clojure.core/filter","clojure.core/filterv","clojure.core/find","clojure.core/find-keyword","clojure.core/find-ns","clojure.core/find-protocol-impl","clojure.core/find-protocol-method","clojure.core/find-var","clojure.core/first","clojure.core/flatten","clojure.core/float","clojure.core/float-array","clojure.core/float?","clojure.core/floats","clojure.core/flush","clojure.core/fn?","clojure.core/fnext","clojure.core/fnil","clojure.core/force","clojure.core/format","clojure.core/frequencies","clojure.core/future-call","clojure.core/future-cancel","clojure.core/future-cancelled?","clojure.core/future-done?","clojure.core/future?","clojure.core/gensym","clojure.core/get","clojure.core/get-in","clojure.core/get-method","clojure.core/get-proxy-class","clojure.core/get-thread-bindings","clojure.core/get-validator","clojure.core/group-by","clojure.core/halt-when","clojure.core/hash","clojure.core/hash-combine","clojure.core/hash-map","clojure.core/hash-ordered-coll","clojure.core/hash-set","clojure.core/hash-unordered-coll","clojure.core/ident?","clojure.core/identical?","clojure.core/identity","clojure.core/ifn?","clojure.core/in-ns","clojure.core/inc","clojure.core/inc'","clojure.core/indexed?","clojure.core/infinite?","clojure.core/init-proxy","clojure.core/inst-ms","clojure.core/inst-ms*","clojure.core/inst?","clojure.core/instance?","clojure.core/int","clojure.core/int-array","clojure.core/int?","clojure.core/integer?","clojure.core/interleave","clojure.core/intern","clojure.core/interpose","clojure.core/into","clojure.core/into-array","clojure.core/ints","clojure.core/isa?","clojure.core/iterate","clojure.core/iteration","clojure.core/iterator-seq","clojure.core/juxt","clojure.core/keep","clojure.core/keep-indexed","clojure.core/key","clojure.core/keys","clojure.core/keyword","clojure.core/keyword?","clojure.core/last","clojure.core/line-seq","clojure.core/list","clojure.core/list*","clojure.core/list?","clojure.core/load","clojure.core/load-file","clojure.core/load-reader","clojure.core/load-string","clojure.core/loaded-libs","clojure.core/long","clojure.core/long-array","clojure.core/longs","clojure.core/macroexpand","clojure.core/macroexpand-1","clojure.core/make-array","clojure.core/make-hierarchy","clojure.core/map","clojure.core/map-entry?","clojure.core/map-indexed","clojure.core/map?","clojure.core/mapcat","clojure.core/mapv","clojure.core/max","clojure.core/max-key","clojure.core/memoize","clojure.core/merge","clojure.core/merge-with","clojure.core/meta","clojure.core/method-sig","clojure.core/methods","clojure.core/min","clojure.core/min-key","clojure.core/mix-collection-hash","clojure.core/mod","clojure.core/munge","clojure.core/name","clojure.core/namespace","clojure.core/namespace-munge","clojure.core/nat-int?","clojure.core/neg-int?","clojure.core/neg?","clojure.core/newline","clojure.core/next","clojure.core/nfirst","clojure.core/nil?","clojure.core/nnext","clojure.core/not","clojure.core/not-any?","clojure.core/not-empty","clojure.core/not-every?","clojure.core/not=","clojure.core/ns-aliases","clojure.core/ns-imports","clojure.core/ns-interns","clojure.core/ns-map","clojure.core/ns-name","clojure.core/ns-publics","clojure.core/ns-refers","clojure.core/ns-resolve","clojure.core/ns-unalias","clojure.core/ns-unmap","clojure.core/nth","clojure.core/nthnext","clojure.core/nthrest","clojure.core/num","clojure.core/number?","clojure.core/numerator","clojure.core/object-array","clojure.core/odd?","clojure.core/parents","clojure.core/parse-boolean","clojure.core/parse-double","clojure.core/parse-long","clojure.core/parse-uuid","clojure.core/partial","clojure.core/partition","clojure.core/partition-all","clojure.core/partition-by","clojure.core/pcalls","clojure.core/peek","clojure.core/persistent!","clojure.core/pmap","clojure.core/pop","clojure.core/pop!","clojure.core/pop-thread-bindings","clojure.core/pos-int?","clojure.core/pos?","clojure.core/pr","clojure.core/pr-str","clojure.core/prefer-method","clojure.core/prefers","clojure.core/print","clojure.core/print-ctor","clojure.core/print-dup","clojure.core/print-method","clojure.core/print-simple","clojure.core/print-str","clojure.core/printf","clojure.core/println","clojure.core/println-str","clojure.core/prn","clojure.core/prn-str","clojure.core/promise","clojure.core/proxy-call-with-super","clojure.core/proxy-mappings","clojure.core/proxy-name","clojure.core/push-thread-bindings","clojure.core/qualified-ident?","clojure.core/qualified-keyword?","clojure.core/qualified-symbol?","clojure.core/quot","clojure.core/rand","clojure.core/rand-int","clojure.core/rand-nth","clojure.core/random-sample","clojure.core/random-uuid","clojure.core/range","clojure.core/ratio?","clojure.core/rational?","clojure.core/rationalize","clojure.core/re-find","clojure.core/re-groups","clojure.core/re-matcher","clojure.core/re-matches","clojure.core/re-pattern","clojure.core/re-seq","clojure.core/read","clojure.core/read+string","clojure.core/read-line","clojure.core/read-string","clojure.core/reader-conditional","clojure.core/reader-conditional?","clojure.core/realized?","clojure.core/record?","clojure.core/reduce","clojure.core/reduce-kv","clojure.core/reduced","clojure.core/reduced?","clojure.core/reductions","clojure.core/ref","clojure.core/ref-history-count","clojure.core/ref-max-history","clojure.core/ref-min-history","clojure.core/ref-set","clojure.core/refer","clojure.core/release-pending-sends","clojure.core/rem","clojure.core/remove","clojure.core/remove-all-methods","clojure.core/remove-method","clojure.core/remove-ns","clojure.core/remove-tap","clojure.core/remove-watch","clojure.core/repeat","clojure.core/repeatedly","clojure.core/replace","clojure.core/replicate","clojure.core/require","clojure.core/requiring-resolve","clojure.core/reset!","clojure.core/reset-meta!","clojure.core/reset-vals!","clojure.core/resolve","clojure.core/rest","clojure.core/restart-agent","clojure.core/resultset-seq","clojure.core/reverse","clojure.core/reversible?","clojure.core/rseq","clojure.core/rsubseq","clojure.core/run!","clojure.core/satisfies?","clojure.core/second","clojure.core/select-keys","clojure.core/send","clojure.core/send-off","clojure.core/send-via","clojure.core/seq","clojure.core/seq-to-map-for-destructuring","clojure.core/seq?","clojure.core/seqable?","clojure.core/seque","clojure.core/sequence","clojure.core/sequential?","clojure.core/set","clojure.core/set-agent-send-executor!","clojure.core/set-agent-send-off-executor!","clojure.core/set-error-handler!","clojure.core/set-error-mode!","clojure.core/set-validator!","clojure.core/set?","clojure.core/short","clojure.core/short-array","clojure.core/shorts","clojure.core/shuffle","clojure.core/shutdown-agents","clojure.core/simple-ident?","clojure.core/simple-keyword?","clojure.core/simple-symbol?","clojure.core/slurp","clojure.core/some","clojure.core/some-fn","clojure.core/some?","clojure.core/sort","clojure.core/sort-by","clojure.core/sorted-map","clojure.core/sorted-map-by","clojure.core/sorted-set","clojure.core/sorted-set-by","clojure.core/sorted?","clojure.core/special-symbol?","clojure.core/spit","clojure.core/split-at","clojure.core/split-with","clojure.core/str","clojure.core/string?","clojure.core/struct","clojure.core/struct-map","clojure.core/subs","clojure.core/subseq","clojure.core/subvec","clojure.core/supers","clojure.core/swap!","clojure.core/swap-vals!","clojure.core/symbol","clojure.core/symbol?","clojure.core/tagged-literal","clojure.core/tagged-literal?","clojure.core/take","clojure.core/take-last","clojure.core/take-nth","clojure.core/take-while","clojure.core/tap>","clojure.core/test","clojure.core/the-ns","clojure.core/thread-bound?","clojure.core/to-array","clojure.core/to-array-2d","clojure.core/trampoline","clojure.core/transduce","clojure.core/transient","clojure.core/tree-seq","clojure.core/true?","clojure.core/type","clojure.core/unchecked-add","clojure.core/unchecked-add-int","clojure.core/unchecked-byte","clojure.core/unchecked-char","clojure.core/unchecked-dec","clojure.core/unchecked-dec-int","clojure.core/unchecked-divide-int","clojure.core/unchecked-double","clojure.core/unchecked-float","clojure.core/unchecked-inc","clojure.core/unchecked-inc-int","clojure.core/unchecked-int","clojure.core/unchecked-long","clojure.core/unchecked-multiply","clojure.core/unchecked-multiply-int","clojure.core/unchecked-negate","clojure.core/unchecked-negate-int","clojure.core/unchecked-remainder-int","clojure.core/unchecked-short","clojure.core/unchecked-subtract","clojure.core/unchecked-subtract-int","clojure.core/underive","clojure.core/unreduced","clojure.core/unsigned-bit-shift-right","clojure.core/update","clojure.core/update-in","clojure.core/update-keys","clojure.core/update-proxy","clojure.core/update-vals","clojure.core/uri?","clojure.core/use","clojure.core/uuid?","clojure.core/val","clojure.core/vals","clojure.core/var-get","clojure.core/var-set","clojure.core/var?","clojure.core/vary-meta","clojure.core/vec","clojure.core/vector","clojure.core/vector-of","clojure.core/vector?","clojure.core/volatile!","clojure.core/volatile?","clojure.core/vreset!","clojure.core/with-bindings*","clojure.core/with-meta","clojure.core/with-redefs-fn","clojure.core/xml-seq","clojure.core/zero?","clojure.core/zipmap","coll?","commute","comp","comparator","compare","compare-and-set!","compile","complement","completing","concat","conj","conj!","cons","constantly","construct-proxy","contains?","count","counted?","create-ns","create-struct","cycle","dec","dec'","decimal?","dedupe","delay?","deliver","denominator","deref","derive","descendants","destructure","disj","disj!","dissoc","dissoc!","distinct","distinct?","doall","dorun","double","double-array","double?","doubles","drop","drop-last","drop-while","eduction","empty","empty?","ensure","ensure-reduced","enumeration-seq","error-handler","error-mode","eval","even?","every-pred","every?","ex-cause","ex-data","ex-info","ex-message","extend","extenders","extends?","false?","ffirst","file-seq","filter","filterv","find","find-keyword","find-ns","find-protocol-impl","find-protocol-method","find-var","first","flatten","float","float-array","float?","floats","flush","fn?","fnext","fnil","force","format","frequencies","future-call","future-cancel","future-cancelled?","future-done?","future?","gensym","get","get-in","get-method","get-proxy-class","get-thread-bindings","get-validator","group-by","halt-when","hash","hash-combine","hash-map","hash-ordered-coll","hash-set","hash-unordered-coll","ident?","identical?","identity","ifn?","in-ns","inc","inc'","indexed?","infinite?","init-proxy","inst-ms","inst-ms*","inst?","instance?","int","int-array","int?","integer?","interleave","intern","interpose","into","into-array","ints","isa?","iterate","iteration","iterator-seq","juxt","keep","keep-indexed","key","keys","keyword","keyword?","last","line-seq","list","list*","list?","load","load-file","load-reader","load-string","loaded-libs","long","long-array","longs","macroexpand","macroexpand-1","make-array","make-hierarchy","map","map-entry?","map-indexed","map?","mapcat","mapv","max","max-key","memoize","merge","merge-with","meta","method-sig","methods","min","min-key","mix-collection-hash","mod","munge","name","namespace","namespace-munge","nat-int?","neg-int?","neg?","newline","next","nfirst","nil?","nnext","not","not-any?","not-empty","not-every?","not=","ns-aliases","ns-imports","ns-interns","ns-map","ns-name","ns-publics","ns-refers","ns-resolve","ns-unalias","ns-unmap","nth","nthnext","nthrest","num","number?","numerator","object-array","odd?","parents","parse-boolean","parse-double","parse-long","parse-uuid","partial","partition","partition-all","partition-by","pcalls","peek","persistent!","pmap","pop","pop!","pop-thread-bindings","pos-int?","pos?","pr","pr-str","prefer-method","prefers","print","print-ctor","print-dup","print-method","print-simple","print-str","printf","println","println-str","prn","prn-str","promise","proxy-call-with-super","proxy-mappings","proxy-name","push-thread-bindings","qualified-ident?","qualified-keyword?","qualified-symbol?","quot","rand","rand-int","rand-nth","random-sample","random-uuid","range","ratio?","rational?","rationalize","re-find","re-groups","re-matcher","re-matches","re-pattern","re-seq","read","read+string","read-line","read-string","reader-conditional","reader-conditional?","realized?","record?","reduce","reduce-kv","reduced","reduced?","reductions","ref","ref-history-count","ref-max-history","ref-min-history","ref-set","refer","release-pending-sends","rem","remove","remove-all-methods","remove-method","remove-ns","remove-tap","remove-watch","repeat","repeatedly","replace","replicate","require","requiring-resolve","reset!","reset-meta!","reset-vals!","resolve","rest","restart-agent","resultset-seq","reverse","reversible?","rseq","rsubseq","run!","satisfies?","second","select-keys","send","send-off","send-via","seq","seq-to-map-for-destructuring","seq?","seqable?","seque","sequence","sequential?","set","set-agent-send-executor!","set-agent-send-off-executor!","set-error-handler!","set-error-mode!","set-validator!","set?","short","short-array","shorts","shuffle","shutdown-agents","simple-ident?","simple-keyword?","simple-symbol?","slurp","some","some-fn","some?","sort","sort-by","sorted-map","sorted-map-by","sorted-set","sorted-set-by","sorted?","special-symbol?","spit","split-at","split-with","str","string?","struct","struct-map","subs","subseq","subvec","supers","swap!","swap-vals!","symbol","symbol?","tagged-literal","tagged-literal?","take","take-last","take-nth","take-while","tap>","test","the-ns","thread-bound?","to-array","to-array-2d","trampoline","transduce","transient","tree-seq","true?","type","unchecked-add","unchecked-add-int","unchecked-byte","unchecked-char","unchecked-dec","unchecked-dec-int","unchecked-divide-int","unchecked-double","unchecked-float","unchecked-inc","unchecked-inc-int","unchecked-int","unchecked-long","unchecked-multiply","unchecked-multiply-int","unchecked-negate","unchecked-negate-int","unchecked-remainder-int","unchecked-short","unchecked-subtract","unchecked-subtract-int","underive","unreduced","unsigned-bit-shift-right","update","update-in","update-keys","update-proxy","update-vals","uri?","use","uuid?","val","vals","var-get","var-set","var?","vary-meta","vec","vector","vector-of","vector?","volatile!","volatile?","vreset!","with-bindings*","with-meta","with-redefs-fn","xml-seq","zero?","zipmap"], - \ 'clojureMacro': ["->","->>","..","amap","and","areduce","as->","assert","binding","bound-fn","clojure.core/->","clojure.core/->>","clojure.core/..","clojure.core/amap","clojure.core/and","clojure.core/areduce","clojure.core/as->","clojure.core/assert","clojure.core/binding","clojure.core/bound-fn","clojure.core/comment","clojure.core/declare","clojure.core/delay","clojure.core/dosync","clojure.core/doto","clojure.core/extend-protocol","clojure.core/extend-type","clojure.core/for","clojure.core/future","clojure.core/gen-class","clojure.core/gen-interface","clojure.core/import","clojure.core/io!","clojure.core/lazy-cat","clojure.core/lazy-seq","clojure.core/locking","clojure.core/memfn","clojure.core/ns","clojure.core/or","clojure.core/proxy","clojure.core/proxy-super","clojure.core/pvalues","clojure.core/refer-clojure","clojure.core/reify","clojure.core/some->","clojure.core/some->>","clojure.core/sync","clojure.core/time","clojure.core/vswap!","clojure.core/with-bindings","clojure.core/with-in-str","clojure.core/with-loading-context","clojure.core/with-local-vars","clojure.core/with-open","clojure.core/with-out-str","clojure.core/with-precision","clojure.core/with-redefs","comment","declare","delay","dosync","doto","extend-protocol","extend-type","for","future","gen-class","gen-interface","import","io!","lazy-cat","lazy-seq","locking","memfn","ns","or","proxy","proxy-super","pvalues","refer-clojure","reify","some->","some->>","sync","time","vswap!","with-bindings","with-in-str","with-loading-context","with-local-vars","with-open","with-out-str","with-precision","with-redefs"], - \ 'clojureRepeat': ["clojure.core/doseq","clojure.core/dotimes","clojure.core/loop","clojure.core/while","doseq","dotimes","loop","loop*","recur","while"], - \ 'clojureSpecial': ["&",".","clojure.core/fn","clojure.core/import*","clojure.core/let","clojure.core/letfn","do","fn","fn*","let","let*","letfn","letfn*","monitor-enter","monitor-exit","new","quote","reify*","set!","var"], - \ 'clojureVariable': ["*1","*2","*3","*agent*","*allow-unresolved-vars*","*assert*","*clojure-version*","*command-line-args*","*compile-files*","*compile-path*","*compiler-options*","*data-readers*","*default-data-reader-fn*","*e","*err*","*file*","*flush-on-newline*","*fn-loader*","*in*","*math-context*","*ns*","*out*","*print-dup*","*print-length*","*print-level*","*print-meta*","*print-namespace-maps*","*print-readably*","*read-eval*","*reader-resolver*","*source-path*","*suppress-read*","*unchecked-math*","*use-context-classloader*","*verbose-defrecords*","*warn-on-reflection*","EMPTY-NODE","Inst","char-escape-string","char-name-string","clojure.core/*1","clojure.core/*2","clojure.core/*3","clojure.core/*agent*","clojure.core/*allow-unresolved-vars*","clojure.core/*assert*","clojure.core/*clojure-version*","clojure.core/*command-line-args*","clojure.core/*compile-files*","clojure.core/*compile-path*","clojure.core/*compiler-options*","clojure.core/*data-readers*","clojure.core/*default-data-reader-fn*","clojure.core/*e","clojure.core/*err*","clojure.core/*file*","clojure.core/*flush-on-newline*","clojure.core/*fn-loader*","clojure.core/*in*","clojure.core/*math-context*","clojure.core/*ns*","clojure.core/*out*","clojure.core/*print-dup*","clojure.core/*print-length*","clojure.core/*print-level*","clojure.core/*print-meta*","clojure.core/*print-namespace-maps*","clojure.core/*print-readably*","clojure.core/*read-eval*","clojure.core/*reader-resolver*","clojure.core/*source-path*","clojure.core/*suppress-read*","clojure.core/*unchecked-math*","clojure.core/*use-context-classloader*","clojure.core/*verbose-defrecords*","clojure.core/*warn-on-reflection*","clojure.core/EMPTY-NODE","clojure.core/Inst","clojure.core/char-escape-string","clojure.core/char-name-string","clojure.core/default-data-readers","clojure.core/primitives-classnames","clojure.core/print-dup","clojure.core/print-method","clojure.core/unquote","clojure.core/unquote-splicing","default-data-readers","primitives-classnames","print-dup","print-method","unquote","unquote-splicing"] - \ } - -function! s:syntax_keyword(dict) - for key in keys(a:dict) - execute 'syntax keyword' key join(a:dict[key], ' ') - endfor -endfunction - -if exists('b:clojure_syntax_without_core_keywords') && b:clojure_syntax_without_core_keywords - " Only match language specials and primitives - for s:key in ['clojureBoolean', 'clojureConstant', 'clojureException', 'clojureSpecial'] - execute 'syntax keyword' s:key join(s:clojure_syntax_keywords[s:key], ' ') - endfor -else - call s:syntax_keyword(s:clojure_syntax_keywords) -endif - -if exists('g:clojure_syntax_keywords') - call s:syntax_keyword(g:clojure_syntax_keywords) -endif - -if exists('b:clojure_syntax_keywords') - call s:syntax_keyword(b:clojure_syntax_keywords) -endif - -unlet! s:key -delfunction s:syntax_keyword - -" Keywords are symbols: -" static Pattern symbolPat = Pattern.compile("[:]?([\\D&&[^/]].*/)?([\\D&&[^/]][^/]*)"); -" But they: -" * Must not end in a : or / -" * Must not have two adjacent colons except at the beginning -" * Must not contain any reader metacharacters except for ' and # -syntax match clojureKeyword "\v<:{1,2}([^ \n\r\t()\[\]{}";@^`~\\/]+/)*[^ \n\r\t()\[\]{}";@^`~\\/]+:@1" - -syntax match clojureStringEscape "\v\\%([\\btnfr"]|u\x{4}|[0-3]\o{2}|\o{1,2})" contained - -syntax region clojureString matchgroup=clojureStringDelimiter start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=clojureStringEscape,@Spell - -syntax match clojureCharacter "\v\\%(o%([0-3]\o{2}|\o{1,2})|u\x{4}|newline|tab|space|return|backspace|formfeed|.)" - -syntax match clojureSymbol "\v%([a-zA-Z!$&*_+=|<.>?-]|[^\x00-\x7F])+%(:?%([a-zA-Z0-9!#$%&*_+=|'<.>/?-]|[^\x00-\x7F]))*[#:]@1" - -syntax match clojureQuote "\v['`]" -syntax match clojureUnquote "\v\~\@?" -syntax match clojureMeta "\^" -syntax match clojureDeref "@" -syntax match clojureDispatch "\v#[\^'=<_]?" - -" Clojure permits no more than 20 anonymous params. -syntax match clojureAnonArg "%\(20\|1\d\|[1-9]\|&\)\?" - -syntax match clojureRegexpEscape "\v\\%([\\tnrfae.()\[\]{}^$*?+]|c\u|0[0-3]?\o{1,2}|x%(\x{2}|\{\x{1,6}\})|u\x{4})" contained display -syntax region clojureRegexpQuoted start=/\\Q/ms=e+1 skip=/\\\\\|\\"/ end=/\\E/me=s-1 end=/"/me=s-1 contained -syntax region clojureRegexpQuote start=/\\Q/ skip=/\\\\\|\\"/ end=/\\E/ end=/"/me=s-1 contains=clojureRegexpQuoted keepend contained - -" -*- CHARACTER PROPERTY CLASSES -*- -" Generated from https://github.com/clojure-vim/clojure.vim/blob/fd280e33e84c88e97860930557dba3ff80b1a82d/clj/src/vim_clojure_static/generate.clj -" Java version 17.0.2 -syntax match clojureRegexpPosixCharClass "\v\\[pP]\{%(Cntrl|A%(l%(pha|num)|SCII)|Space|Graph|Upper|P%(rint|unct)|Blank|XDigit|Digit|Lower)\}" contained display -syntax match clojureRegexpJavaCharClass "\v\\[pP]\{java%(Whitespace|JavaIdentifier%(Part|Start)|SpaceChar|Mirrored|TitleCase|I%(SOControl|de%(ographic|ntifierIgnorable))|D%(efined|igit)|U%(pperCase|nicodeIdentifier%(Part|Start))|L%(etter%(OrDigit)?|owerCase)|Alphabetic)\}" contained display -syntax match clojureRegexpUnicodeCharClass "\v\\[pP]\{\cIs%(l%(owercase|etter)|hex%(digit|_digit)|w%(hite%(_space|space)|ord)|noncharacter%(_code_point|codepoint)|p%(rint|unctuation)|ideographic|graph|a%(l%(num|phabetic)|ssigned)|uppercase|join%(control|_control)|titlecase|blank|digit|control)\}" contained display -syntax match clojureRegexpUnicodeCharClass "\v\\[pP][NSCMZPL]" contained display -syntax match clojureRegexpUnicodeCharClass "\v\\[pP]\{%(N[dlo]?|P[dcifeos]?|C[ncfos]?|M[nce]?|Z[lsp]?|S[mcko]?|L[muCDlto]?)\}" contained display -syntax match clojureRegexpUnicodeCharClass "\v\\[pP]\{%(Is|gc\=|general_category\=)?%(N[dlo]?|P[dcifeos]?|C[ncfos]?|M[nce]?|Z[lsp]?|S[mcko]?|L[muCDlto]?)\}" contained display -syntax match clojureRegexpUnicodeCharClass "\v\\[pP]\{\c%(Is|sc\=|script\=)%(k%(its|h%(oj%(ki)?|m%(r|er)|itan_small_script|udawadi|ar%(oshthi)?)|a%(li|n%(a|nada)|takana%(_or_hiragana)?|yah_li|ithi)|nda|thi)|r%(ohg|un%(ic|r)|ejang|jng)|l%(epc%(ha)?|i%(mbu?|n%([ab]|ear_[ab])|su)|y%([dc]i%(an)?)|a%(t%(n|in)|na|oo?))|t%(elu%(gu)?|ha%(i|a%(na)?)|i%(finagh|rh%(uta)?|b%(t|etan))|fng|glg|a%(i_%(le|tham|viet)|g%(alog|b%(anwa)?)|vt|kri?|ng%(ut)?|l[ue]|m%(il|l)))|vaii?|y%(i%(ii)?|ezi%(di)?)|e%(thi%(opic)?|l%(ym%(aic)?|ba%(san)?)|gyp%(tian_hieroglyphs)?)|u%(gar%(itic)?|nknown)|h%(ung|ira%(gana)?|rkt|mn[gp]|a%(n%(i%(fi_rohingya)?|unoo|o|g%(ul)?)?|tr%(an)?)|luw|ebr%(ew)?)|g%(r%(e%(k|ek)|an%(tha)?)|lag%(olitic)?|eor%(gian)?|o%(n[mg]|th%(ic)?)|u%(j%(arati|r)|r%(u|mukhi)|njala_gondi))|m%(lym|a%(n%(d%(aic)?|i%(chaean)?)|saram_gondi|h%(ajani|j)|ka%(sar)?|rc%(hen)?|layalam)|o%(di|ng%(olian)?)|e%(r%(c|o%(itic_%(hieroglyphs|cursive))?)|etei_mayek|nd%(e_kikakui)?|d%(f|efaidrin))|roo?|y%(anmar|mr)|tei|iao|ult%(ani)?)|d%(upl%(oyan)?|srt|i%(ak|ves_akuru)|ogra?|e%(seret|va%(nagari)?))|z%(an%(abazar_square|b)|inh|yyy|zzz)|n%(yiakeng_puachue_hmong|bat|koo?|ew%(_tai_lue|a)|ushu|shu|a%(bataean|rb|nd%(inagari)?))|s%(h%(rd|a%(vian|rada|w))|o%(yo%(mbo)?|g%(d%(ian)?|o)|ra%(_sompeng)?)|i%(n%(d|h%(ala)?)|dd%(ham)?|gnwriting)|a%(ur%(ashtra)?|m%(r|aritan)|rb)|y%(r%(c|iac)|lo%(ti_nagri)?)|und%(anese)?|gnw)|w%(cho|a%(ncho|ra%(ng_citi)?))|c%(y%(priot|r%(l|illic))|h%(er%(okee)?|a%(m|kma)|rs|orasmian)|a%(km|ucasian_albanian|n%(adian_aboriginal|s)|ri%(an)?)|prt|uneiform|o%(pt%(ic)?|mmon))|i%(n%(scriptional_pa%(rthian|hlavi)|herited)|mperial_aramaic|tal)|p%(h%(l[ip]|oenician|ag%(s_pa)?|nx)|a%(lm%(yrene)?|u%(_cin_hau|c)|hawh_hmong)|rti|salter_pahlavi|lrd|erm)|x%(peo|sux)|b%(eng%(ali)?|ra%(i%(lle)?|h%(mi)?)|opo%(mofo)?|u%(gi%(nese)?|h%(d|id))|h%(ks|aiksuki)|a%(ss%(a_vah)?|t%(ak|k)|li%(nese)?|mum?))|java%(nese)?|o%(g%(am|ham)|s%(age|ge|ma%(nya)?)|l%(d_%(hungarian|north_arabian|so%(gdian|uth_arabian)|per%(mic|sian)|italic|turkic)|ck|_chiki)|r%(iya|kh|ya))|a%(r%(ab%(ic)?|m%([ni]|enian))|dl%(m|am)|natolian_hieroglyphs|hom|v%(st|estan)|ghb))\}" contained display -syntax match clojureRegexpUnicodeCharClass "\v\\[pP]\{\c%(In|blk\=|block\=)%(zanabazar%([ _]square|square)|javanese|h%(a%(lfwidth%( and fullwidth forms|andfullwidthforms|_and_fullwidth_forms)|tran|n%(unoo|gul%(compatibilityjamo|syllables|jamo%(extended\-[ab])?|_%(syllables|jamo%(_extended_[ab])?|compatibility_jamo)| %(syllables|compatibility jamo|jamo%( extended\-[ab])?))|ifi%([_ ]rohingya|rohingya)))|i%(ragana|gh%( %(private use surrogates|surrogates)|_%(private_use_surrogates|surrogates)|surrogates|privateusesurrogates))|ebrew)|i%(pa%([ _]extensions|extensions)|n%(scriptional%(%([ _]pa%(rthian|hlavi))|pa%(rthian|hlavi))|dic%(siyaqnumbers|_siyaq_numbers| siyaq numbers))|deographic%(symbolsandpunctuation|_%(description_characters|symbols_and_punctuation)| %(description characters|symbols and punctuation)|descriptioncharacters)|mperial%(aramaic|[_ ]aramaic))|c%(o%(ntrol%(pictures|[ _]pictures)|ptic%(epactnumbers|_epact_numbers| epact numbers)?|m%(mon%(_indic_number_forms|indicnumberforms| indic number forms)|bining%(halfmarks|_%(diacritical_marks%(_%(supplement|for_symbols|extended))?|marks_for_symbols|half_marks)| %(half marks|diacritical marks%( %(supplement|for symbols|extended))?|marks for symbols)|diacriticalmarks%(supplement|forsymbols|extended)?|marksforsymbols))|unting%( rod numerals|_rod_numerals|rodnumerals))|a%(rian|ucasian%([ _]albanian|albanian))|jk%(unifiedideographs%(extension[dgacfbe])?|s%(ymbolsandpunctuation|trokes)|_%(s%(trokes|ymbols_and_punctuation)|radicals_supplement|unified_ideographs%(_extension_[dgacfbe])?|compatibility%(_%(forms|ideographs%(_supplement)?))?)|compatibility%(forms|ideographs%(supplement)?)?|radicalssupplement| %(compatibility%( %(ideographs%( supplement)?|forms))?|unified ideographs%( extension [dgacfbe])?|radicals supplement|s%(ymbols and punctuation|trokes)))|y%(rillic%(supplement%(ary)?| %(supplement%(ary)?|extended\-[acb])|extended\-[acb]|_%(extended_[acb]|supplement%(ary)?))?|priot%(syllabary|[ _]syllabary))|u%(rrency%([_ ]symbols|symbols)|neiform%(_numbers_and_punctuation|numbersandpunctuation| numbers and punctuation)?)|h%(e%(ss%([_ ]symbols|symbols)|rokee%(supplement|[ _]supplement)?)|a%(m|kma)|orasmian))|g%(othic|u%(njala%(gondi|[_ ]gondi)|jarati|rmukhi)|lagolitic%(supplement|[ _]supplement)?|e%(o%(rgian%(supplement|%([_ ]%(supplement|extended))|extended)?|metric%( shapes%( extended)?|shapes%(extended)?|_shapes%(_extended)?))|neral%([_ ]punctuation|punctuation))|r%(eek%( %(and coptic|extended)|andcoptic|_%(and_coptic|extended)|extended)?|antha))|s%(h%(orthand%( format controls|_format_controls|formatcontrols)|a%(vian|rada))|u%(ndanese%(supplement|[ _]supplement)?|p%(erscripts%(_and_subscripts|andsubscripts| and subscripts)|plementa%(ry%(_private_use_area_[ab]|privateusearea\-[ab]| private use area\-[ab])|l%( %(mathematical operators|symbols and pictographs|punctuation|arrows\-[acb])|symbolsandpictographs|mathematicaloperators|punctuation|arrows\-[acb]|_%(arrows_[acb]|symbols_and_pictographs|mathematical_operators|punctuation))))|tton%(signwriting|[_ ]signwriting))|i%(nhala%( archaic numbers|archaicnumbers|_archaic_numbers)?|ddham)|y%(loti%([_ ]nagri|nagri)|mbols%( %(for legacy computing|and pictographs extended\-a)|forlegacycomputing|andpictographsextended\-a|_%(and_pictographs_extended_a|for_legacy_computing))|riac%(supplement|[ _]supplement)?)|p%(acing%(_modifier_letters| modifier letters|modifierletters)|ecials)|a%(maritan|urashtra)|o%(yombo|gdian|ra%(sompeng|[ _]sompeng))|mall%(kanaextension| %(kana extension|form variants)|_%(kana_extension|form_variants)|formvariants))|y%(i%(syllables|%([_ ]%(syllables|radicals))|radicals|jing%(hexagramsymbols| hexagram symbols|_hexagram_symbols))|ezidi)|p%(h%(o%(enician|netic%( extensions%( supplement)?|extensions%(supplement)?|_extensions%(_supplement)?))|a%(istos%([ _]disc|disc)|gs[_\-]pa))|laying%(cards|[_ ]cards)|rivate%(usearea| use area|_use_area)|a%(hawh%(hmong|[_ ]hmong)|u%(_cin_hau|cinhau| cin hau)|lmyrene)|salter%(pahlavi|[ _]pahlavi))|e%(l%(basan|ymaic)|arly%(_dynastic_cuneiform|dynasticcuneiform| dynastic cuneiform)|moticons|gyptian%(hieroglyph%(formatcontrols|s)| hieroglyph%( format controls|s)|_hieroglyph%(_format_controls|s))|nclosed%( %(cjk letters and months|ideographic supplement|alphanumeric%( supplement|s))|cjklettersandmonths|_%(ideographic_supplement|alphanumeric%(_supplement|s)|cjk_letters_and_months)|alphanumerics%(upplement)?|ideographicsupplement)|thiopic%(supplement|_%(supplement|extended%(_a)?)| %(supplement|extended%(\-a)?)|extended%(\-a)?)?)|r%(u%(nic|mi%(numeralsymbols| numeral symbols|_numeral_symbols))|ejang)|d%(o%(gra|mino%([ _]tiles|tiles))|e%(seret|vanagari%([ _]extended|extended)?)|uployan|i%(ngbats|ves%([_ ]akuru|akuru)))|m%(e%(defaidrin|nde%([ _]kikakui|kikakui)|etei%(mayek%(extensions)?|_mayek%(_extensions)?| mayek%( extensions)?)|roitic%(hieroglyphs|%([_ ]%(hieroglyphs|cursive))|cursive))|o%(ngolian%(supplement|[ _]supplement)?|di%(fier%(_tone_letters| tone letters|toneletters))?)|ro|u%(ltani|sical%([_ ]symbols|symbols))|i%(ao|scellaneous%(technical|symbols%(and%(pictographs|arrows))?|mathematicalsymbols\-[ab]| %(technical|mathematical symbols\-[ab]|symbols%( and %(pictographs|arrows))?)|_%(technical|symbols%(_and_%(pictographs|arrows))?|mathematical_symbols_[ab])))|yanmar%( extended\-[ab]|extended\-[ab]|_extended_[ab])?|a%(h%(ajani|jong%([ _]tiles|tiles))|rchen|n%(daic|ichaean)|yan%([_ ]numerals|numerals)|saram%(gondi|[_ ]gondi)|layalam|thematical%(alphanumericsymbols| %(alphanumeric symbols|operators)|_%(alphanumeric_symbols|operators)|operators)|kasar))|o%(s%(age|manya)|ttoman%(siyaqnumbers|_siyaq_numbers| siyaq numbers)|r%(namental%([ _]dingbats|dingbats)|iya)|ptical%( character recognition|_character_recognition|characterrecognition)|gham|l%([ _]chiki|d%(hungarian| %(hungarian|so%(uth arabian|gdian)|per%(mic|sian)|north arabian|italic|turkic)|per%(mic|sian)|so%(utharabian|gdian)|italic|turkic|_%(hungarian|north_arabian|so%(gdian|uth_arabian)|per%(mic|sian)|italic|turkic)|northarabian)|chiki))|n%(ew%(_tai_lue|a|tailue| tai lue)|ko|yiakeng%( puachue hmong|puachuehmong|_puachue_hmong)|a%(bataean|ndinagari)|u%(shu|mber%(forms|[ _]forms)))|b%(u%(ginese|hid)|a%(s%(sa%([ _]vah|vah)|ic%([ _]latin|latin))|linese|mum%(supplement|[ _]supplement)?|tak)|ra%(hmi|ille%(patterns|[_ ]patterns))|o%(x%([ _]drawing|drawing)|pomofo%([ _]extended|extended)?)|lock%([ _]elements|elements)|haiksuki|yzantine%( musical symbols|musicalsymbols|_musical_symbols)|engali)|l%(i%(mbu|near%(a| %(a|b %(ideograms|syllabary))|b%(ideograms|syllabary)|_%(a|b_%(ideograms|syllabary)))|su%(supplement|[ _]supplement)?)|a%(tin%(extended%(\-[dacbe]|additional)|_%(extended_%([dcbe]|a%(dditional)?)|1_supplement)|\-1%(supplement| supplement)| extended%(\-[dacbe]| additional))|o)|e%(tterlike%([_ ]symbols|symbols)|pcha)|ow%([_ ]surrogates|surrogates)|y[cd]ian)|k%(h%(aroshthi|ojki|mer%([_ ]symbols|symbols)?|udawadi|itan%( small script|smallscript|_small_script))|a%(takana%(_phonetic_extensions|phoneticextensions| phonetic extensions)?|n%(gxi%([_ ]radicals|radicals)|a%(extended\-a|supplement| %(extended\-a|supplement)|_%(supplement|extended_a))|bun|nada)|ithi|yah%([ _]li|li)))|wa%(ncho|rang%(citi|[ _]citi))|t%(elugu|ransport%( and map symbols|_and_map_symbols|andmapsymbols)|i%(rhuta|betan|finagh)|a%(mil%(supplement|[ _]supplement)?|kri|ngut%(supplement|%([ _]%(supplement|components))|components)?|i%(xuanjingsymbols|_%(le|xuan_jing_symbols|tham|viet)|le| %(xuan jing symbols|le|tham|viet)|tham|viet)|g%(alog|s|banwa))|ha%(i|ana))|a%(l%(chemical%([_ ]symbols|symbols)|phabetic%( presentation forms|_presentation_forms|presentationforms))|n%(cient%(_%(greek_%(musical_notation|numbers)|symbols)|greek%(numbers|musicalnotation)| %(greek %(numbers|musical notation)|symbols)|symbols)|atolian%([ _]hieroglyphs|hieroglyphs))|dlam|r%(menian|abic%(extended\-a|mathematicalalphabeticsymbols|supplement|_%(presentation_forms_[ab]|supplement|extended_a|mathematical_alphabetic_symbols)| %(extended\-a|mathematical alphabetic symbols|supplement|presentation forms\-[ab])|presentationforms\-[ab])?|rows)|egean%(numbers|[ _]numbers)|vestan|hom)|u%(garitic|nified%(canadianaboriginalsyllabics%(extended)?|_canadian_aboriginal_syllabics%(_extended)?| canadian aboriginal syllabics%( extended)?))|v%(a%(i|riation%( selectors%( supplement)?|selectors%(supplement)?|_selectors%(_supplement)?))|e%(rtical%(forms|[ _]forms)|dic%([ _]extensions|extensions))))\}" contained display - -syntax match clojureRegexpPredefinedCharClass "\v%(\\[dDsSwW]|\.)" contained display -syntax cluster clojureRegexpCharPropertyClasses contains=clojureRegexpPosixCharClass,clojureRegexpJavaCharClass,clojureRegexpUnicodeCharClass -syntax cluster clojureRegexpCharClasses contains=clojureRegexpPredefinedCharClass,clojureRegexpCharClass,@clojureRegexpCharPropertyClasses -syntax region clojureRegexpCharClass start="\[" skip=/\\\\\|\\]/ end="]" contained contains=clojureRegexpPredefinedCharClass,@clojureRegexpCharPropertyClasses -syntax match clojureRegexpBoundary "\\[bBAGZz]" contained display -syntax match clojureRegexpBoundary "[$^]" contained display -syntax match clojureRegexpQuantifier "[?*+][?+]\=" contained display -syntax match clojureRegexpQuantifier "\v\{\d+%(,|,\d+)?}\??" contained display -syntax match clojureRegexpOr "|" contained display -syntax match clojureRegexpBackRef "\v\\%([1-9]\d*|k\<[[:alpha:]]+\>)" contained display - -" Mode modifiers, mode-modified spans, lookaround, regular and atomic -" grouping, and named-capturing. -syntax match clojureRegexpMod "\v\(@<=\?:" contained display -syntax match clojureRegexpMod "\v\(@<=\?[xdsmiuU]*-?[xdsmiuU]+:?" contained display -syntax match clojureRegexpMod "\v\(@<=\?%(\)" contained display -syntax match clojureRegexpMod "\v\(@<=\?\<[[:alpha:]]+\>" contained display - -syntax region clojureRegexpGroup start="(" skip=/\\\\\|\\)/ end=")" matchgroup=clojureRegexpGroup contained contains=clojureRegexpMod,clojureRegexpQuantifier,clojureRegexpBoundary,clojureRegexpEscape,@clojureRegexpCharClasses -syntax region clojureRegexp matchgroup=clojureRegexpDelimiter start=/\#"/ skip=/\\\\\|\\"/ end=/"/ contains=@clojureRegexpCharClasses,clojureRegexpEscape,clojureRegexpQuote,clojureRegexpBoundary,clojureRegexpQuantifier,clojureRegexpOr,clojureRegexpBackRef,clojureRegexpGroup keepend - -syntax keyword clojureCommentTodo contained FIXME XXX TODO BUG NOTE HACK FIXME: XXX: TODO: BUG: NOTE: HACK: - -syntax match clojureComment ";.*$" contains=clojureCommentTodo,@Spell -syntax match clojureComment "#!.*$" -syntax match clojureComment "," - -" Comment out discarded forms. -if exists('g:clojure_discard_macro') && g:clojure_discard_macro - syntax region clojureDiscard matchgroup=clojureDiscard start=/#_[ ,\t\n`'~]*/ end=/[, \t\n()\[\]{}";]/me=e-1 - syntax region clojureDiscard matchgroup=clojureDiscard start=/#_[ ,\t\n`'~]*"/ skip=/\\[\\"]/ end=/"/ - syntax region clojureDiscard matchgroup=clojureDiscard start=/#_[ ,\t\n`'~]*(/ end=/)/ contains=clojureDiscardForm - syntax region clojureDiscard matchgroup=clojureDiscard start=/#_[ ,\t\n`'~]*\[/ end=/\]/ contains=clojureDiscardForm - syntax region clojureDiscard matchgroup=clojureDiscard start=/#_[ ,\t\n`'~]*{/ end=/}/ contains=clojureDiscardForm - - syntax region clojureDiscardForm start="(" end=")" contained contains=clojureDiscardForm - syntax region clojureDiscardForm start="{" end="}" contained contains=clojureDiscardForm - syntax region clojureDiscardForm start="\[" end="\]" contained contains=clojureDiscardForm -endif - -" -*- TOP CLUSTER -*- -" Generated from https://github.com/clojure-vim/clojure.vim/blob/fd280e33e84c88e97860930557dba3ff80b1a82d/clj/src/vim_clojure_static/generate.clj -syntax cluster clojureTop contains=@Spell,clojureAnonArg,clojureBoolean,clojureCharacter,clojureComment,clojureCond,clojureConstant,clojureDefine,clojureDeref,clojureDiscard,clojureDispatch,clojureError,clojureException,clojureFunc,clojureKeyword,clojureMacro,clojureMap,clojureMeta,clojureNumber,clojureQuote,clojureRegexp,clojureRepeat,clojureSexp,clojureSpecial,clojureString,clojureSymbol,clojureUnquote,clojureVariable,clojureVector - -syntax region clojureSexp matchgroup=clojureParen start="(" end=")" contains=@clojureTop fold -syntax region clojureVector matchgroup=clojureParen start="\[" end="]" contains=@clojureTop fold -syntax region clojureMap matchgroup=clojureParen start="{" end="}" contains=@clojureTop fold - -" Highlight superfluous closing parens, brackets and braces. -syntax match clojureError "]\|}\|)" - -syntax sync fromstart - -highlight default link clojureConstant Constant -highlight default link clojureBoolean Boolean -highlight default link clojureCharacter Character -highlight default link clojureKeyword Keyword -highlight default link clojureNumber Number -highlight default link clojureString String -highlight default link clojureStringDelimiter String -highlight default link clojureStringEscape Character - -highlight default link clojureRegexp Constant -highlight default link clojureRegexpDelimiter Constant -highlight default link clojureRegexpEscape Character -highlight default link clojureRegexpCharClass SpecialChar -highlight default link clojureRegexpPosixCharClass clojureRegexpCharClass -highlight default link clojureRegexpJavaCharClass clojureRegexpCharClass -highlight default link clojureRegexpUnicodeCharClass clojureRegexpCharClass -highlight default link clojureRegexpPredefinedCharClass clojureRegexpCharClass -highlight default link clojureRegexpBoundary SpecialChar -highlight default link clojureRegexpQuantifier SpecialChar -highlight default link clojureRegexpMod SpecialChar -highlight default link clojureRegexpOr SpecialChar -highlight default link clojureRegexpBackRef SpecialChar -highlight default link clojureRegexpGroup clojureRegexp -highlight default link clojureRegexpQuoted clojureString -highlight default link clojureRegexpQuote clojureRegexpBoundary - -highlight default link clojureVariable Identifier -highlight default link clojureCond Conditional -highlight default link clojureDefine Define -highlight default link clojureException Exception -highlight default link clojureFunc Function -highlight default link clojureMacro Macro -highlight default link clojureRepeat Repeat - -highlight default link clojureSpecial Special -highlight default link clojureQuote SpecialChar -highlight default link clojureUnquote SpecialChar -highlight default link clojureMeta SpecialChar -highlight default link clojureDeref SpecialChar -highlight default link clojureAnonArg SpecialChar -highlight default link clojureDispatch SpecialChar - -highlight default link clojureComment Comment -highlight default link clojureCommentTodo Todo -highlight default link clojureDiscard clojureComment -highlight default link clojureDiscardForm clojureDiscard - -highlight default link clojureError Error - -highlight default link clojureParen Delimiter - -let b:current_syntax = "clojure" - -let &cpo = s:cpo_sav -unlet! s:cpo_sav - -" vim:sts=8:sw=8:ts=8:noet diff --git a/uvim/runtime/syntax/cmacro.mnv b/uvim/runtime/syntax/cmacro.mnv new file mode 100644 index 0000000000..b1da2aa82b --- /dev/null +++ b/uvim/runtime/syntax/cmacro.mnv @@ -0,0 +1,77 @@ +" MNV syntax file +" Language: C macro for C preprocessor +" Maintainer: Wu, Zhenyu +" Last Change: 2024 Dec 31 +" modified from syntax/c.mnv + +" C compiler has a preprocessor: `cpp -P test.txt` +" test.txt doesn't need to be a C file +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +" Accept %: for # (C99) +syn region cmacroPreCondit start="^\s*\zs\%(%:\|#\)\s*\%(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" keepend contains=cmacroCppParen,cmacroNumbers +syn match cmacroPreConditMatch display "^\s*\zs\%(%:\|#\)\s*\%(else\|endif\)\>" +if !exists("c_no_if0") + syn cluster cmacroCppOutInGroup contains=cmacroCppInIf,cmacroCppInElse,cmacroCppInElse2,cmacroCppOutIf,cmacroCppOutIf2,cmacroCppOutElse,cmacroCppInSkip,cmacroCppOutSkip + syn region cmacroCppOutWrapper start="^\s*\zs\%(%:\|#\)\s*if\s\+0\+\s*\%($\|//\|/\*\|&\)" end=".\@=\|$" contains=cmacroCppOutIf,cmacroCppOutElse,@NoSpell fold + syn region cmacroCppOutIf contained start="0\+" matchgroup=cmacroCppOutWrapper end="^\s*\%(%:\|#\)\s*endif\>" contains=cmacroCppOutIf2,cmacroCppOutElse + if !exists("c_no_if0_fold") + syn region cmacroCppOutIf2 contained matchgroup=cmacroCppOutWrapper start="0\+" end="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0\+\s*\%($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cmacroCppOutSkip,@Spell fold + else + syn region cmacroCppOutIf2 contained matchgroup=cmacroCppOutWrapper start="0\+" end="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0\+\s*\%($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cmacroCppOutSkip,@Spell + endif + syn region cmacroCppOutElse contained matchgroup=cmacroCppOutWrapper start="^\s*\%(%:\|#\)\s*\%(else\|elif\)" end="^\s*\%(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cmacroPreCondit + syn region cmacroCppInWrapper start="^\s*\zs\%(%:\|#\)\s*if\s\+0*[1-9]\d*\s*\%($\|//\|/\*\||\)" end=".\@=\|$" contains=cmacroCppInIf,cmacroCppInElse fold + syn region cmacroCppInIf contained matchgroup=cmacroCppInWrapper start="\d\+" end="^\s*\%(%:\|#\)\s*endif\>" contains=TOP,cmacroPreCondit + if !exists("c_no_if0_fold") + syn region cmacroCppInElse contained start="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0*[1-9]\d*\s*\%($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cmacroCppInIf contains=cmacroCppInElse2 fold + else + syn region cmacroCppInElse contained start="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0*[1-9]\d*\s*\%($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cmacroCppInIf contains=cmacroCppInElse2 + endif + syn region cmacroCppInElse2 contained matchgroup=cmacroCppInWrapper start="^\s*\%(%:\|#\)\s*\%(else\|elif\)\%([^/]\|/[^/*]\)*" end="^\s*\%(%:\|#\)\s*endif\>"me=s-1 contains=cmacroCppOutSkip,@Spell + syn region cmacroCppOutSkip contained start="^\s*\%(%:\|#\)\s*\%(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\%(%:\|#\)\s*endif\>" contains=cmacroCppOutSkip + syn region cmacroCppInSkip contained matchgroup=cmacroCppInWrapper start="^\s*\%(%:\|#\)\s*\%(if\s\+\%(\d\+\s*\%($\|//\|/\*\||\|&\)\)\@!\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\%(%:\|#\)\s*endif\>" containedin=cmacroCppOutElse,cmacroCppInIf,cmacroCppInSkip contains=TOP,cmacroPreProc +endif +syn region cmacroIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+ +syn match cmacroIncluded display contained "<[^>]*>" +syn match cmacroInclude display "^\s*\zs\%(%:\|#\)\s*include\>\s*["<]" contains=cmacroIncluded +"syn match cmacroLineSkip "\\$" +syn cluster cmacroPreProcmacroGroup contains=cmacroPreCondit,cmacroIncluded,cmacroInclude,cmacroDefine,cmacroCppOutWrapper,cmacroCppInWrapper,@cmacroCppOutInGroup,cmacroNumbersCom,@cmacroCommentGroup,cmacroParen,cmacroBracket,cmacroMulti,cmacroBadBlock +syn region cmacroDefine start="^\s*\zs\%(%:\|#\)\s*\%(define\|undef\)\>" skip="\\$" end="$" keepend contains=ALLBUT,@cmacroPreProcmacroGroup,@Spell +syn region cmacroPreProc start="^\s*\zs\%(%:\|#\)\s*\%(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cmacroPreProcmacroGroup,@Spell + +" be able to fold #pragma regions +syn region cmacroPragma start="^\s*#pragma\s\+region\>" end="^\s*#pragma\s\+endregion\>" transparent keepend extend fold + +syn keyword cmacroTodo contained TODO FIXME XXX NOTE +syn region cmacroComment start='/\*' end='\*/' contains=cmacroTodo,@Spell +syn match cmacroCommentError "\*/" +syn region cmacroComment start='//' end='$' contains=cmacroTodo,@Spell + +" Define the default highlighting. +" Only used when an item doesn't have highlighting yet +hi def link cmacroInclude Include +hi def link cmacroPreProc PreProc +hi def link cmacroDefine Macro +hi def link cmacroIncluded cmacroString +hi def link cmacroCppInWrapper cmacroCppOutWrapper +hi def link cmacroCppOutWrapper cmacroPreCondit +hi def link cmacroPreConditMatch cmacroPreCondit +hi def link cmacroPreCondit PreCondit +hi def link cmacroCppOutSkip cmacroCppOutIf2 +hi def link cmacroCppInElse2 cmacroCppOutIf2 +hi def link cmacroCppOutIf2 cmacroCppOut +hi def link cmacroCppOut Comment +hi def link cmacroTodo Todo +hi def link cmacroComment Comment +hi def link cmacroCommentError Error + +let b:current_syntax = "cmacro" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/cmacro.vim b/uvim/runtime/syntax/cmacro.vim deleted file mode 100644 index 1d448f0d1b..0000000000 --- a/uvim/runtime/syntax/cmacro.vim +++ /dev/null @@ -1,77 +0,0 @@ -" Vim syntax file -" Language: C macro for C preprocessor -" Maintainer: Wu, Zhenyu -" Last Change: 2024 Dec 31 -" modified from syntax/c.vim - -" C compiler has a preprocessor: `cpp -P test.txt` -" test.txt doesn't need to be a C file -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -" Accept %: for # (C99) -syn region cmacroPreCondit start="^\s*\zs\%(%:\|#\)\s*\%(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" keepend contains=cmacroCppParen,cmacroNumbers -syn match cmacroPreConditMatch display "^\s*\zs\%(%:\|#\)\s*\%(else\|endif\)\>" -if !exists("c_no_if0") - syn cluster cmacroCppOutInGroup contains=cmacroCppInIf,cmacroCppInElse,cmacroCppInElse2,cmacroCppOutIf,cmacroCppOutIf2,cmacroCppOutElse,cmacroCppInSkip,cmacroCppOutSkip - syn region cmacroCppOutWrapper start="^\s*\zs\%(%:\|#\)\s*if\s\+0\+\s*\%($\|//\|/\*\|&\)" end=".\@=\|$" contains=cmacroCppOutIf,cmacroCppOutElse,@NoSpell fold - syn region cmacroCppOutIf contained start="0\+" matchgroup=cmacroCppOutWrapper end="^\s*\%(%:\|#\)\s*endif\>" contains=cmacroCppOutIf2,cmacroCppOutElse - if !exists("c_no_if0_fold") - syn region cmacroCppOutIf2 contained matchgroup=cmacroCppOutWrapper start="0\+" end="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0\+\s*\%($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cmacroCppOutSkip,@Spell fold - else - syn region cmacroCppOutIf2 contained matchgroup=cmacroCppOutWrapper start="0\+" end="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0\+\s*\%($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cmacroCppOutSkip,@Spell - endif - syn region cmacroCppOutElse contained matchgroup=cmacroCppOutWrapper start="^\s*\%(%:\|#\)\s*\%(else\|elif\)" end="^\s*\%(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cmacroPreCondit - syn region cmacroCppInWrapper start="^\s*\zs\%(%:\|#\)\s*if\s\+0*[1-9]\d*\s*\%($\|//\|/\*\||\)" end=".\@=\|$" contains=cmacroCppInIf,cmacroCppInElse fold - syn region cmacroCppInIf contained matchgroup=cmacroCppInWrapper start="\d\+" end="^\s*\%(%:\|#\)\s*endif\>" contains=TOP,cmacroPreCondit - if !exists("c_no_if0_fold") - syn region cmacroCppInElse contained start="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0*[1-9]\d*\s*\%($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cmacroCppInIf contains=cmacroCppInElse2 fold - else - syn region cmacroCppInElse contained start="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0*[1-9]\d*\s*\%($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cmacroCppInIf contains=cmacroCppInElse2 - endif - syn region cmacroCppInElse2 contained matchgroup=cmacroCppInWrapper start="^\s*\%(%:\|#\)\s*\%(else\|elif\)\%([^/]\|/[^/*]\)*" end="^\s*\%(%:\|#\)\s*endif\>"me=s-1 contains=cmacroCppOutSkip,@Spell - syn region cmacroCppOutSkip contained start="^\s*\%(%:\|#\)\s*\%(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\%(%:\|#\)\s*endif\>" contains=cmacroCppOutSkip - syn region cmacroCppInSkip contained matchgroup=cmacroCppInWrapper start="^\s*\%(%:\|#\)\s*\%(if\s\+\%(\d\+\s*\%($\|//\|/\*\||\|&\)\)\@!\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\%(%:\|#\)\s*endif\>" containedin=cmacroCppOutElse,cmacroCppInIf,cmacroCppInSkip contains=TOP,cmacroPreProc -endif -syn region cmacroIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+ -syn match cmacroIncluded display contained "<[^>]*>" -syn match cmacroInclude display "^\s*\zs\%(%:\|#\)\s*include\>\s*["<]" contains=cmacroIncluded -"syn match cmacroLineSkip "\\$" -syn cluster cmacroPreProcmacroGroup contains=cmacroPreCondit,cmacroIncluded,cmacroInclude,cmacroDefine,cmacroCppOutWrapper,cmacroCppInWrapper,@cmacroCppOutInGroup,cmacroNumbersCom,@cmacroCommentGroup,cmacroParen,cmacroBracket,cmacroMulti,cmacroBadBlock -syn region cmacroDefine start="^\s*\zs\%(%:\|#\)\s*\%(define\|undef\)\>" skip="\\$" end="$" keepend contains=ALLBUT,@cmacroPreProcmacroGroup,@Spell -syn region cmacroPreProc start="^\s*\zs\%(%:\|#\)\s*\%(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cmacroPreProcmacroGroup,@Spell - -" be able to fold #pragma regions -syn region cmacroPragma start="^\s*#pragma\s\+region\>" end="^\s*#pragma\s\+endregion\>" transparent keepend extend fold - -syn keyword cmacroTodo contained TODO FIXME XXX NOTE -syn region cmacroComment start='/\*' end='\*/' contains=cmacroTodo,@Spell -syn match cmacroCommentError "\*/" -syn region cmacroComment start='//' end='$' contains=cmacroTodo,@Spell - -" Define the default highlighting. -" Only used when an item doesn't have highlighting yet -hi def link cmacroInclude Include -hi def link cmacroPreProc PreProc -hi def link cmacroDefine Macro -hi def link cmacroIncluded cmacroString -hi def link cmacroCppInWrapper cmacroCppOutWrapper -hi def link cmacroCppOutWrapper cmacroPreCondit -hi def link cmacroPreConditMatch cmacroPreCondit -hi def link cmacroPreCondit PreCondit -hi def link cmacroCppOutSkip cmacroCppOutIf2 -hi def link cmacroCppInElse2 cmacroCppOutIf2 -hi def link cmacroCppOutIf2 cmacroCppOut -hi def link cmacroCppOut Comment -hi def link cmacroTodo Todo -hi def link cmacroComment Comment -hi def link cmacroCommentError Error - -let b:current_syntax = "cmacro" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/cmake.mnv b/uvim/runtime/syntax/cmake.mnv new file mode 100644 index 0000000000..3f31da5d68 --- /dev/null +++ b/uvim/runtime/syntax/cmake.mnv @@ -0,0 +1,4980 @@ +" MNV syntax file +" Program: CMake - Cross-Platform Makefile Generator +" Version: cmake version 3.27.20230713-gdc88dd5 +" Language: CMake +" Author: Andy Cedilnik , +" Nicholas Hutchinson , +" Patrick Boettcher +" Maintainer: Dimitri Merejkowsky +" Former Maintainer: Karthik Krishnan +" Last Change: 2023 Jul 13 +" +" License: The CMake license applies to this file. See +" https://cmake.org/licensing +" This implies that distribution with MNV is allowed + +if exists("b:current_syntax") + finish +endif +let s:keepcpo= &cpo +set cpo&mnv + +syn region cmakeBracketArgument start="\[\z(=*\)\[" end="\]\z1\]" contains=cmakeTodo,@Spell + +syn region cmakeComment start="#\(\[=*\[\)\@!" end="$" contains=cmakeTodo,@Spell +syn region cmakeBracketComment start="#\[\z(=*\)\[" end="\]\z1\]" contains=cmakeTodo,@Spell + +syn match cmakeEscaped /\(\\\\\|\\"\|\\n\|\\t\)/ contained +syn region cmakeRegistry start="\[" end="]" contained oneline contains=cmakeTodo,cmakeEscaped + +syn region cmakeGeneratorExpression start="$<" end=">" contained oneline contains=cmakeVariableValue,cmakeProperty,cmakeGeneratorExpressions,cmakeTodo + +syn region cmakeString start='"' end='"' contained contains=cmakeTodo,cmakeVariableValue,cmakeEscaped,@Spell + +syn region cmakeVariableValue start="${" end="}" contained oneline contains=cmakeVariable,cmakeTodo,cmakeVariableValue + +syn region cmakeEnvironment start="$ENV{" end="}" contained oneline contains=cmakeTodo + +syn region cmakeArguments start="(" end=")" contains=ALLBUT,cmakeGeneratorExpressions,cmakeCommand,cmakeCommandConditional,cmakeCommandRepeat,cmakeCommandDeprecated,cmakeCommandManuallyAdded,cmakeArguments,cmakeTodo,@Spell + +syn case match + +syn keyword cmakeProperty contained + \ ABSTRACT + \ ADDITIONAL_CLEAN_FILES + \ ADDITIONAL_MAKE_CLEAN_FILES + \ ADVANCED + \ AIX_EXPORT_ALL_SYMBOLS + \ ALIASED_TARGET + \ ALIAS_GLOBAL + \ ALLOW_DUPLICATE_CUSTOM_TARGETS + \ ANDROID_ANT_ADDITIONAL_OPTIONS + \ ANDROID_API + \ ANDROID_API_MIN + \ ANDROID_ARCH + \ ANDROID_ASSETS_DIRECTORIES + \ ANDROID_GUI + \ ANDROID_JAR_DEPENDENCIES + \ ANDROID_JAR_DIRECTORIES + \ ANDROID_JAVA_SOURCE_DIR + \ ANDROID_NATIVE_LIB_DEPENDENCIES + \ ANDROID_NATIVE_LIB_DIRECTORIES + \ ANDROID_PROCESS_MAX + \ ANDROID_PROGUARD + \ ANDROID_PROGUARD_CONFIG_PATH + \ ANDROID_SECURE_PROPS_PATH + \ ANDROID_SKIP_ANT_STEP + \ ANDROID_STL_TYPE + \ ARCHIVE_OUTPUT_DIRECTORY + \ ARCHIVE_OUTPUT_NAME + \ ATTACHED_FILES + \ ATTACHED_FILES_ON_FAIL + \ AUTOGEN_BUILD_DIR + \ AUTOGEN_COMMAND_LINE_LENGTH_MAX + \ AUTOGEN_ORIGIN_DEPENDS + \ AUTOGEN_PARALLEL + \ AUTOGEN_SOURCE_GROUP + \ AUTOGEN_USE_SYSTEM_INCLUDE + \ AUTOGEN_TARGETS_FOLDER + \ AUTOGEN_TARGET_DEPENDS + \ AUTOGEN_USE_SYSTEM_INCLUDE + \ AUTOMOC + \ AUTOMOC_COMPILER_PREDEFINES + \ AUTOMOC_DEPEND_FILTERS + \ AUTOMOC_EXECUTABLE + \ AUTOMOC_MACRO_NAMES + \ AUTOMOC_MOC_OPTIONS + \ AUTOMOC_PATH_PREFIX + \ AUTOMOC_SOURCE_GROUP + \ AUTOMOC_TARGETS_FOLDER + \ AUTORCC + \ AUTORCC_EXECUTABLE + \ AUTORCC_OPTIONS + \ AUTORCC_SOURCE_GROUP + \ AUTOUIC + \ AUTOUIC_EXECUTABLE + \ AUTOUIC_OPTIONS + \ AUTOUIC_SEARCH_PATHS + \ AUTOUIC_SOURCE_GROUP + \ BINARY_DIR + \ BUILDSYSTEM_TARGETS + \ BUILD_RPATH + \ BUILD_RPATH_USE_ORIGIN + \ BUILD_WITH_INSTALL_NAME_DIR + \ BUILD_WITH_INSTALL_RPATH + \ BUNDLE + \ BUNDLE_EXTENSION + \ CACHE_VARIABLES + \ CLEAN_NO_CUSTOM + \ CMAKE_CONFIGURE_DEPENDS + \ CMAKE_CUDA_KNOWN_FEATURES + \ CMAKE_CXX_KNOWN_FEATURES + \ CMAKE_C_KNOWN_FEATURES + \ CMAKE_ROLE + \ COMMON_LANGUAGE_RUNTIME + \ COMPATIBLE_INTERFACE_BOOL + \ COMPATIBLE_INTERFACE_NUMBER_MAX + \ COMPATIBLE_INTERFACE_NUMBER_MIN + \ COMPATIBLE_INTERFACE_STRING + \ COMPILE_DEFINITIONS + \ COMPILE_FEATURES + \ COMPILE_FLAGS + \ COMPILE_OPTIONS + \ COMPILE_PDB_NAME + \ COMPILE_PDB_OUTPUT_DIRECTORY + \ COMPILE_WARNING_AS_ERROR + \ COST + \ CPACK_DESKTOP_SHORTCUTS + \ CPACK_NEVER_OVERWRITE + \ CPACK_PERMANENT + \ CPACK_STARTUP_SHORTCUTS + \ CPACK_START_MENU_SHORTCUTS + \ CPACK_WIX_ACL + \ CROSSCOMPILING_EMULATOR + \ CUDA_ARCHITECTURES + \ CUDA_CUBIN_COMPILATION + \ CUDA_EXTENSIONS + \ CUDA_FATBIN_COMPILATION + \ CUDA_OPTIX_COMPILATION + \ CUDA_PTX_COMPILATION + \ CUDA_RESOLVE_DEVICE_SYMBOLS + \ CUDA_RUNTIME_LIBRARY + \ CUDA_SEPARABLE_COMPILATION + \ CUDA_STANDARD + \ CUDA_STANDARD_REQUIRED + \ CXX_EXTENSIONS + \ CXX_MODULE_DIRS + \ CXX_MODULE_SET + \ CXX_MODULE_SETS + \ CXX_SCAN_FOR_MODULES + \ CXX_STANDARD + \ CXX_STANDARD_REQUIRED + \ C_EXTENSIONS + \ C_STANDARD + \ C_STANDARD_REQUIRED + \ DEBUG_CONFIGURATIONS + \ DEBUG_POSTFIX + \ DEFINE_SYMBOL + \ DEFINITIONS + \ DEPENDS + \ DEPLOYMENT_ADDITIONAL_FILES + \ DEPLOYMENT_REMOTE_DIRECTORY + \ DEPRECATION + \ DISABLED + \ DISABLED_FEATURES + \ DISABLE_PRECOMPILE_HEADERS + \ DLL_NAME_WITH_SOVERSION + \ DOTNET_SDK + \ DOTNET_TARGET_FRAMEWORK + \ DOTNET_TARGET_FRAMEWORK_VERSION + \ ECLIPSE_EXTRA_CPROJECT_CONTENTS + \ ECLIPSE_EXTRA_NATURES + \ ENABLED_FEATURES + \ ENABLED_LANGUAGES + \ ENABLE_EXPORTS + \ ENVIRONMENT + \ ENVIRONMENT_MODIFICATION + \ EXCLUDE_FROM_ALL + \ EXCLUDE_FROM_DEFAULT_BUILD + \ EXPORT_COMPILE_COMMANDS + \ EXPORT_NAME + \ EXPORT_NO_SYSTEM + \ EXPORT_PROPERTIES + \ EXTERNAL_OBJECT + \ EchoString + \ FAIL_REGULAR_EXPRESSION + \ FIND_LIBRARY_USE_LIB32_PATHS + \ FIND_LIBRARY_USE_LIB64_PATHS + \ FIND_LIBRARY_USE_LIBX32_PATHS + \ FIND_LIBRARY_USE_OPENBSD_VERSIONING + \ FIXTURES_CLEANUP + \ FIXTURES_REQUIRED + \ FIXTURES_SETUP + \ FOLDER + \ FRAMEWORK + \ FRAMEWORK_VERSION + \ Fortran_BUILDING_INSTRINSIC_MODULES + \ Fortran_FORMAT + \ Fortran_MODULE_DIRECTORY + \ Fortran_PREPROCESS + \ GENERATED + \ GENERATOR_FILE_NAME + \ GENERATOR_IS_MULTI_CONFIG + \ GHS_INTEGRITY_APP + \ GHS_NO_SOURCE_GROUP_FILE + \ GLOBAL_DEPENDS_DEBUG_MODE + \ GLOBAL_DEPENDS_NO_CYCLES + \ GNUtoMS + \ HAS_CXX + \ HEADER_DIRS + \ HEADER_FILE_ONLY + \ HEADER_SET + \ HEADER_SETS + \ HELPSTRING + \ HIP_ARCHITECTURES + \ HIP_EXTENSIONS + \ HIP_STANDARD + \ HIP_STANDARD_REQUIRED + \ IMPLICIT_DEPENDS_INCLUDE_TRANSFORM + \ IMPORTED + \ IMPORTED_COMMON_LANGUAGE_RUNTIME + \ IMPORTED_CONFIGURATIONS + \ IMPORTED_GLOBAL + \ IMPORTED_IMPLIB + \ IMPORTED_LIBNAME + \ IMPORTED_LINK_DEPENDENT_LIBRARIES + \ IMPORTED_LINK_INTERFACE_LANGUAGES + \ IMPORTED_LINK_INTERFACE_LIBRARIES + \ IMPORTED_LINK_INTERFACE_MULTIPLICITY + \ IMPORTED_LOCATION + \ IMPORTED_NO_SONAME + \ IMPORTED_NO_SYSTEM + \ IMPORTED_OBJECTS + \ IMPORTED_SONAME + \ IMPORTED_TARGETS + \ IMPORT_PREFIX + \ IMPORT_SUFFIX + \ INCLUDE_DIRECTORIES + \ INCLUDE_REGULAR_EXPRESSION + \ INSTALL_NAME_DIR + \ INSTALL_REMOVE_ENVIRONMENT_RPATH + \ INSTALL_RPATH + \ INSTALL_RPATH_USE_LINK_PATH + \ INTERFACE_AUTOMOC_MACRO_NAMES + \ INTERFACE_AUTOUIC_OPTIONS + \ INTERFACE_AUTOMOC_MACRO_NAMES + \ INTERFACE_COMPILE_DEFINITIONS + \ INTERFACE_COMPILE_FEATURES + \ INTERFACE_COMPILE_OPTIONS + \ INTERFACE_CXX_MODULE_SETS + \ INTERFACE_HEADER_SETS + \ INTERFACE_HEADER_SETS_TO_VERIFY + \ INTERFACE_INCLUDE_DIRECTORIES + \ INTERFACE_LINK_DEPENDS + \ INTERFACE_LINK_DIRECTORIES + \ INTERFACE_LINK_LIBRARIES + \ INTERFACE_LINK_LIBRARIES_DIRECT + \ INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE + \ INTERFACE_LINK_OPTIONS + \ INTERFACE_POSITION_INDEPENDENT_CODE + \ INTERFACE_PRECOMPILE_HEADERS + \ INTERFACE_SOURCES + \ INTERFACE_SYSTEM_INCLUDE_DIRECTORIES + \ INTERPROCEDURAL_OPTIMIZATION + \ IN_TRY_COMPILE + \ IOS_INSTALL_COMBINED + \ ISPC_HEADER_DIRECTORY + \ ISPC_HEADER_SUFFIX + \ ISPC_INSTRUCTION_SETS + \ JOB_POOLS + \ JOB_POOL_COMPILE + \ JOB_POOL_LINK + \ JOB_POOL_PRECOMPILE_HEADER + \ KEEP_EXTENSION + \ LABELS + \ LANGUAGE + \ LIBRARY_OUTPUT_DIRECTORY + \ LIBRARY_OUTPUT_NAME + \ LINKER_LANGUAGE + \ LINK_DEPENDS + \ LINK_DEPENDS_NO_SHARED + \ LINK_DIRECTORIES + \ LINK_FLAGS + \ LINK_INTERFACE_LIBRARIES + \ LINK_INTERFACE_MULTIPLICITY + \ LINK_LIBRARIES + \ LINK_LIBRARIES_ONLY_TARGETS + \ LINK_LIBRARY_OVERRIDE + \ LINK_OPTIONS + \ LINK_SEARCH_END_STATIC + \ LINK_SEARCH_START_STATIC + \ LINK_WHAT_YOU_USE + \ LISTFILE_STACK + \ LOCATION + \ MACHO_COMPATIBILITY_VERSION + \ MACHO_CURRENT_VERSION + \ MACOSX_BUNDLE + \ MACOSX_BUNDLE_INFO_PLIST + \ MACOSX_FRAMEWORK_INFO_PLIST + \ MACOSX_PACKAGE_LOCATION + \ MACOSX_RPATH + \ MACROS + \ MANUALLY_ADDED_DEPENDENCIES + \ MEASUREMENT + \ MODIFIED + \ MSVC_DEBUG_INFORMATION_FORMAT + \ MSVC_RUNTIME_LIBRARY + \ NAME + \ NO_SONAME + \ NO_SYSTEM_FROM_IMPORTED + \ OBJCXX_EXTENSIONS + \ OBJCXX_STANDARD + \ OBJCXX_STANDARD_REQUIRED + \ OBJC_EXTENSIONS + \ OBJC_STANDARD + \ OBJC_STANDARD_REQUIRED + \ OBJECT_DEPENDS + \ OBJECT_OUTPUTS + \ OPTIMIZE_DEPENDENCIES + \ OSX_ARCHITECTURES + \ OUTPUT_NAME + \ PACKAGES_FOUND + \ PACKAGES_NOT_FOUND + \ PARENT_DIRECTORY + \ PASS_REGULAR_EXPRESSION + \ PCH_INSTANTIATE_TEMPLATES + \ PCH_WARN_INVALID + \ PDB_NAME + \ PDB_OUTPUT_DIRECTORY + \ POSITION_INDEPENDENT_CODE + \ POST_INSTALL_SCRIPT + \ PRECOMPILE_HEADERS + \ PRECOMPILE_HEADERS_REUSE_FROM + \ PREDEFINED_TARGETS_FOLDER + \ PREFIX + \ PRE_INSTALL_SCRIPT + \ PRIVATE_HEADER + \ PROCESSORS + \ PROCESSOR_AFFINITY + \ PROJECT_LABEL + \ PUBLIC_HEADER + \ REPORT_UNDEFINED_PROPERTIES + \ REQUIRED_FILES + \ RESOURCE + \ RESOURCE_GROUPS + \ RESOURCE_LOCK + \ RULE_LAUNCH_COMPILE + \ RULE_LAUNCH_CUSTOM + \ RULE_LAUNCH_LINK + \ RULE_MESSAGES + \ RUNTIME_OUTPUT_DIRECTORY + \ RUNTIME_OUTPUT_NAME + \ RUN_SERIAL + \ SKIP_AUTOGEN + \ SKIP_AUTOMOC + \ SKIP_AUTORCC + \ SKIP_AUTOUIC + \ SKIP_BUILD_RPATH + \ SKIP_LINTING + \ SKIP_PRECOMPILE_HEADERS + \ SKIP_REGULAR_EXPRESSION + \ SKIP_RETURN_CODE + \ SKIP_UNITY_BUILD_INCLUSION + \ SOURCES + \ SOURCE_DIR + \ SOVERSION + \ STATIC_LIBRARY_FLAGS + \ STATIC_LIBRARY_OPTIONS + \ STRINGS + \ SUBDIRECTORIES + \ SUFFIX + \ SYMBOLIC + \ SYSTEM + \ Swift_DEPENDENCIES_FILE + \ Swift_DIAGNOSTICS_FILE + \ Swift_LANGUAGE_VERSION + \ Swift_MODULE_DIRECTORY + \ Swift_MODULE_NAME + \ Swift_COMPILATION_MODE + \ TARGET_ARCHIVES_MAY_BE_SHARED_LIBS + \ TARGET_MESSAGES + \ TARGET_SUPPORTS_SHARED_LIBS + \ TESTS + \ TEST_INCLUDE_FILE + \ TEST_INCLUDE_FILES + \ TIMEOUT + \ TIMEOUT_AFTER_MATCH + \ TIMEOUT_SIGNAL_GRACE_PERIOD + \ TIMEOUT_SIGNAL_NAME + \ TYPE + \ UNITY_BUILD + \ UNITY_BUILD_BATCH_SIZE + \ UNITY_BUILD_CODE_AFTER_INCLUDE + \ UNITY_BUILD_CODE_BEFORE_INCLUDE + \ UNITY_BUILD_MODE + \ UNITY_BUILD_UNIQUE_ID + \ UNITY_GROUP + \ USE_FOLDERS + \ VALUE + \ VARIABLES + \ VERIFY_INTERFACE_HEADER_SETS + \ VERSION + \ VISIBILITY_INLINES_HIDDEN + \ VS_CONFIGURATION_TYPE + \ VS_COPY_TO_OUT_DIR + \ VS_DEBUGGER_COMMAND + \ VS_DEBUGGER_COMMAND_ARGUMENTS + \ VS_DEBUGGER_ENVIRONMENT + \ VS_DEBUGGER_WORKING_DIRECTORY + \ VS_DEPLOYMENT_CONTENT + \ VS_DEPLOYMENT_LOCATION + \ VS_DESKTOP_EXTENSIONS_VERSION + \ VS_DOTNET_DOCUMENTATION_FILE + \ VS_DOTNET_REFERENCES + \ VS_DOTNET_REFERENCES_COPY_LOCAL + \ VS_DOTNET_STARTUP_OBJECT + \ VS_DOTNET_TARGET_FRAMEWORK_VERSION + \ VS_DPI_AWARE + \ VS_GLOBAL_KEYWORD + \ VS_GLOBAL_PROJECT_TYPES + \ VS_GLOBAL_ROOTNAMESPACE + \ VS_INCLUDE_IN_VSIX + \ VS_IOT_EXTENSIONS_VERSION + \ VS_IOT_STARTUP_TASK + \ VS_JUST_MY_CODE_DEBUGGING + \ VS_KEYWORD + \ VS_MOBILE_EXTENSIONS_VERSION + \ VS_NO_COMPILE_BATCHING + \ VS_NO_SOLUTION_DEPLOY + \ VS_PACKAGE_REFERENCES + \ VS_PLATFORM_TOOLSET + \ VS_PROJECT_IMPORT + \ VS_RESOURCE_GENERATOR + \ VS_SCC_AUXPATH + \ VS_SCC_LOCALPATH + \ VS_SCC_PROJECTNAME + \ VS_SCC_PROVIDER + \ VS_SDK_REFERENCES + \ VS_SETTINGS + \ VS_SHADER_DISABLE_OPTIMIZATIONS + \ VS_SHADER_ENABLE_DEBUG + \ VS_SHADER_ENTRYPOINT + \ VS_SHADER_FLAGS + \ VS_SHADER_MODEL + \ VS_SHADER_OBJECT_FILE_NAME + \ VS_SHADER_OUTPUT_HEADER_FILE + \ VS_SHADER_TYPE + \ VS_SHADER_VARIABLE_NAME + \ VS_SOLUTION_DEPLOY + \ VS_STARTUP_PROJECT + \ VS_TOOL_OVERRIDE + \ VS_USER_PROPS + \ VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION + \ VS_WINRT_COMPONENT + \ VS_WINRT_EXTENSIONS + \ VS_WINRT_REFERENCES + \ VS_XAML_TYPE + \ WATCOM_RUNTIME_LIBRARY + \ WILL_FAIL + \ WIN32_EXECUTABLE + \ WINDOWS_EXPORT_ALL_SYMBOLS + \ WORKING_DIRECTORY + \ WRAP_EXCLUDE + \ XCODE_EMBED_FRAMEWORKS_CODE_SIGN_ON_COPY + \ XCODE_EMBED_FRAMEWORKS_REMOVE_HEADERS_ON_COPY + \ XCODE_EMIT_EFFECTIVE_PLATFORM_NAME + \ XCODE_EXPLICIT_FILE_TYPE + \ XCODE_FILE_ATTRIBUTES + \ XCODE_GENERATE_SCHEME + \ XCODE_LAST_KNOWN_FILE_TYPE + \ XCODE_LINK_BUILD_PHASE_MODE + \ XCODE_PRODUCT_TYPE + \ XCODE_SCHEME_ADDRESS_SANITIZER + \ XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN + \ XCODE_SCHEME_ARGUMENTS + \ XCODE_SCHEME_DEBUG_AS_ROOT + \ XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING + \ XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE + \ XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER + \ XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS + \ XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE + \ XCODE_SCHEME_ENABLE_GPU_API_VALIDATION + \ XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE + \ XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION + \ XCODE_SCHEME_ENVIRONMENT + \ XCODE_SCHEME_EXECUTABLE + \ XCODE_SCHEME_GUARD_MALLOC + \ XCODE_SCHEME_LAUNCH_CONFIGURATION + \ XCODE_SCHEME_LAUNCH_MODE + \ XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP + \ XCODE_SCHEME_MALLOC_GUARD_EDGES + \ XCODE_SCHEME_MALLOC_SCRIBBLE + \ XCODE_SCHEME_MALLOC_STACK + \ XCODE_SCHEME_THREAD_SANITIZER + \ XCODE_SCHEME_THREAD_SANITIZER_STOP + \ XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER + \ XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP + \ XCODE_SCHEME_ENABLE_GPU_API_VALIDATION + \ XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION + \ XCODE_SCHEME_LAUNCH_CONFIGURATION + \ XCODE_SCHEME_WORKING_DIRECTORY + \ XCODE_SCHEME_ZOMBIE_OBJECTS + \ XCODE_XCCONFIG + \ XCTEST + +syn keyword cmakeVariable contained + \ ANDROID + \ APPLE + \ BORLAND + \ BSD + \ BUILD_SHARED_LIBS + \ CACHE + \ CMAKE_ABSOLUTE_DESTINATION_FILES + \ CMAKE_ADD_CUSTOM_COMMAND_DEPENDS_EXPLICIT_ONLY + \ CMAKE_ADSP_ROOT + \ CMAKE_AIX_EXPORT_ALL_SYMBOLS + \ CMAKE_ANDROID_ANT_ADDITIONAL_OPTIONS + \ CMAKE_ANDROID_API + \ CMAKE_ANDROID_API_MIN + \ CMAKE_ANDROID_ARCH + \ CMAKE_ANDROID_ARCH_ABI + \ CMAKE_ANDROID_ARM_MODE + \ CMAKE_ANDROID_ARM_NEON + \ CMAKE_ANDROID_ASSETS_DIRECTORIES + \ CMAKE_ANDROID_EXCEPTIONS + \ CMAKE_ANDROID_GUI + \ CMAKE_ANDROID_JAR_DEPENDENCIES + \ CMAKE_ANDROID_JAR_DIRECTORIES + \ CMAKE_ANDROID_JAVA_SOURCE_DIR + \ CMAKE_ANDROID_NATIVE_LIB_DEPENDENCIES + \ CMAKE_ANDROID_NATIVE_LIB_DIRECTORIES + \ CMAKE_ANDROID_NDK + \ CMAKE_ANDROID_NDK_DEPRECATED_HEADERS + \ CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG + \ CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION + \ CMAKE_ANDROID_NDK_VERSION + \ CMAKE_ANDROID_PROCESS_MAX + \ CMAKE_ANDROID_PROGUARD + \ CMAKE_ANDROID_PROGUARD_CONFIG_PATH + \ CMAKE_ANDROID_RTTI + \ CMAKE_ANDROID_SECURE_PROPS_PATH + \ CMAKE_ANDROID_SKIP_ANT_STEP + \ CMAKE_ANDROID_STANDALONE_TOOLCHAIN + \ CMAKE_ANDROID_STL_TYPE + \ CMAKE_APPBUNDLE_PATH + \ CMAKE_APPLE_SILICON_PROCESSOR + \ CMAKE_AR + \ CMAKE_ARCHIVE_OUTPUT_DIRECTORY + \ CMAKE_ARGC + \ CMAKE_ARGV0 + \ CMAKE_ASM + \ CMAKE_ASM_ANDROID_TOOLCHAIN_MACHINE + \ CMAKE_ASM_ANDROID_TOOLCHAIN_PREFIX + \ CMAKE_ASM_ANDROID_TOOLCHAIN_SUFFIX + \ CMAKE_ASM_ARCHIVE_APPEND + \ CMAKE_ASM_ARCHIVE_CREATE + \ CMAKE_ASM_ARCHIVE_FINISH + \ CMAKE_ASM_BYTE_ORDER + \ CMAKE_ASM_CLANG_TIDY + \ CMAKE_ASM_CLANG_TIDY_EXPORT_FIXES_DIR + \ CMAKE_ASM_COMPILER + \ CMAKE_ASM_COMPILER_ABI + \ CMAKE_ASM_COMPILER_AR + \ CMAKE_ASM_COMPILER_ARCHITECTURE_ID + \ CMAKE_ASM_COMPILER_EXTERNAL_TOOLCHAIN + \ CMAKE_ASM_COMPILER_FRONTEND_VARIANT + \ CMAKE_ASM_COMPILER_ID + \ CMAKE_ASM_COMPILER_LAUNCHER + \ CMAKE_ASM_COMPILER_LOADED + \ CMAKE_ASM_COMPILER_PREDEFINES_COMMAND + \ CMAKE_ASM_COMPILER_RANLIB + \ CMAKE_ASM_COMPILER_TARGET + \ CMAKE_ASM_COMPILER_VERSION + \ CMAKE_ASM_COMPILER_VERSION_INTERNAL + \ CMAKE_ASM_COMPILE_OBJECT + \ CMAKE_ASM_CPPCHECK + \ CMAKE_ASM_CPPLINT + \ CMAKE_ASM_CREATE_SHARED_LIBRARY + \ CMAKE_ASM_CREATE_SHARED_MODULE + \ CMAKE_ASM_CREATE_STATIC_LIBRARY + \ CMAKE_ASM_EXTENSIONS + \ CMAKE_ASM_EXTENSIONS_DEFAULT + \ CMAKE_ASM_FLAGS + \ CMAKE_ASM_FLAGS_DEBUG + \ CMAKE_ASM_FLAGS_DEBUG_INIT + \ CMAKE_ASM_FLAGS_INIT + \ CMAKE_ASM_FLAGS_MINSIZEREL + \ CMAKE_ASM_FLAGS_MINSIZEREL_INIT + \ CMAKE_ASM_FLAGS_RELEASE + \ CMAKE_ASM_FLAGS_RELEASE_INIT + \ CMAKE_ASM_FLAGS_RELWITHDEBINFO + \ CMAKE_ASM_FLAGS_RELWITHDEBINFO_INIT + \ CMAKE_ASM_IGNORE_EXTENSIONS + \ CMAKE_ASM_IMPLICIT_INCLUDE_DIRECTORIES + \ CMAKE_ASM_IMPLICIT_LINK_DIRECTORIES + \ CMAKE_ASM_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES + \ CMAKE_ASM_IMPLICIT_LINK_LIBRARIES + \ CMAKE_ASM_INCLUDE_WHAT_YOU_USE + \ CMAKE_ASM_INIT + \ CMAKE_ASM_LIBRARY_ARCHITECTURE + \ CMAKE_ASM_LINKER_LAUNCHER + \ CMAKE_ASM_LINKER_PREFERENCE + \ CMAKE_ASM_LINKER_PREFERENCE_PROPAGATES + \ CMAKE_ASM_LINKER_WRAPPER_FLAG + \ CMAKE_ASM_LINKER_WRAPPER_FLAG_SEP + \ CMAKE_ASM_LINK_EXECUTABLE + \ CMAKE_ASM_LINK_LIBRARY_FILE_FLAG + \ CMAKE_ASM_LINK_LIBRARY_FLAG + \ CMAKE_ASM_LINK_LIBRARY_SUFFIX + \ CMAKE_ASM_LINK_WHAT_YOU_USE_FLAG + \ CMAKE_ASM_MASM + \ CMAKE_ASM_MASM_ANDROID_TOOLCHAIN_MACHINE + \ CMAKE_ASM_MASM_ANDROID_TOOLCHAIN_PREFIX + \ CMAKE_ASM_MASM_ANDROID_TOOLCHAIN_SUFFIX + \ CMAKE_ASM_MASM_ARCHIVE_APPEND + \ CMAKE_ASM_MASM_ARCHIVE_CREATE + \ CMAKE_ASM_MASM_ARCHIVE_FINISH + \ CMAKE_ASM_MASM_BYTE_ORDER + \ CMAKE_ASM_MASM_CLANG_TIDY + \ CMAKE_ASM_MASM_CLANG_TIDY_EXPORT_FIXES_DIR + \ CMAKE_ASM_MASM_COMPILER + \ CMAKE_ASM_MASM_COMPILER_ABI + \ CMAKE_ASM_MASM_COMPILER_AR + \ CMAKE_ASM_MASM_COMPILER_ARCHITECTURE_ID + \ CMAKE_ASM_MASM_COMPILER_EXTERNAL_TOOLCHAIN + \ CMAKE_ASM_MASM_COMPILER_FRONTEND_VARIANT + \ CMAKE_ASM_MASM_COMPILER_ID + \ CMAKE_ASM_MASM_COMPILER_LAUNCHER + \ CMAKE_ASM_MASM_COMPILER_LOADED + \ CMAKE_ASM_MASM_COMPILER_PREDEFINES_COMMAND + \ CMAKE_ASM_MASM_COMPILER_RANLIB + \ CMAKE_ASM_MASM_COMPILER_TARGET + \ CMAKE_ASM_MASM_COMPILER_VERSION + \ CMAKE_ASM_MASM_COMPILER_VERSION_INTERNAL + \ CMAKE_ASM_MASM_COMPILE_OBJECT + \ CMAKE_ASM_MASM_CPPCHECK + \ CMAKE_ASM_MASM_CPPLINT + \ CMAKE_ASM_MASM_CREATE_SHARED_LIBRARY + \ CMAKE_ASM_MASM_CREATE_SHARED_MODULE + \ CMAKE_ASM_MASM_CREATE_STATIC_LIBRARY + \ CMAKE_ASM_MASM_EXTENSIONS + \ CMAKE_ASM_MASM_EXTENSIONS_DEFAULT + \ CMAKE_ASM_MASM_FLAGS + \ CMAKE_ASM_MASM_FLAGS_DEBUG + \ CMAKE_ASM_MASM_FLAGS_DEBUG_INIT + \ CMAKE_ASM_MASM_FLAGS_INIT + \ CMAKE_ASM_MASM_FLAGS_MINSIZEREL + \ CMAKE_ASM_MASM_FLAGS_MINSIZEREL_INIT + \ CMAKE_ASM_MASM_FLAGS_RELEASE + \ CMAKE_ASM_MASM_FLAGS_RELEASE_INIT + \ CMAKE_ASM_MASM_FLAGS_RELWITHDEBINFO + \ CMAKE_ASM_MASM_FLAGS_RELWITHDEBINFO_INIT + \ CMAKE_ASM_MASM_IGNORE_EXTENSIONS + \ CMAKE_ASM_MASM_IMPLICIT_INCLUDE_DIRECTORIES + \ CMAKE_ASM_MASM_IMPLICIT_LINK_DIRECTORIES + \ CMAKE_ASM_MASM_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES + \ CMAKE_ASM_MASM_IMPLICIT_LINK_LIBRARIES + \ CMAKE_ASM_MASM_INCLUDE_WHAT_YOU_USE + \ CMAKE_ASM_MASM_INIT + \ CMAKE_ASM_MASM_LIBRARY_ARCHITECTURE + \ CMAKE_ASM_MASM_LINKER_LAUNCHER + \ CMAKE_ASM_MASM_LINKER_PREFERENCE + \ CMAKE_ASM_MASM_LINKER_PREFERENCE_PROPAGATES + \ CMAKE_ASM_MASM_LINKER_WRAPPER_FLAG + \ CMAKE_ASM_MASM_LINKER_WRAPPER_FLAG_SEP + \ CMAKE_ASM_MASM_LINK_EXECUTABLE + \ CMAKE_ASM_MASM_LINK_LIBRARY_FILE_FLAG + \ CMAKE_ASM_MASM_LINK_LIBRARY_FLAG + \ CMAKE_ASM_MASM_LINK_LIBRARY_SUFFIX + \ CMAKE_ASM_MASM_LINK_WHAT_YOU_USE_FLAG + \ CMAKE_ASM_MASM_OUTPUT_EXTENSION + \ CMAKE_ASM_MASM_PLATFORM_ID + \ CMAKE_ASM_MASM_SIMULATE_ID + \ CMAKE_ASM_MASM_SIMULATE_VERSION + \ CMAKE_ASM_MASM_SIZEOF_DATA_PTR + \ CMAKE_ASM_MASM_SOURCE_FILE_EXTENSIONS + \ CMAKE_ASM_MASM_STANDARD + \ CMAKE_ASM_MASM_STANDARD_DEFAULT + \ CMAKE_ASM_MASM_STANDARD_INCLUDE_DIRECTORIES + \ CMAKE_ASM_MASM_STANDARD_LIBRARIES + \ CMAKE_ASM_MASM_STANDARD_REQUIRED + \ CMAKE_ASM_MASM_SUPPORTED + \ CMAKE_ASM_MASM_VISIBILITY_PRESET + \ CMAKE_ASM_NASM + \ CMAKE_ASM_NASM_ANDROID_TOOLCHAIN_MACHINE + \ CMAKE_ASM_NASM_ANDROID_TOOLCHAIN_PREFIX + \ CMAKE_ASM_NASM_ANDROID_TOOLCHAIN_SUFFIX + \ CMAKE_ASM_NASM_ARCHIVE_APPEND + \ CMAKE_ASM_NASM_ARCHIVE_CREATE + \ CMAKE_ASM_NASM_ARCHIVE_FINISH + \ CMAKE_ASM_NASM_BYTE_ORDER + \ CMAKE_ASM_NASM_CLANG_TIDY + \ CMAKE_ASM_NASM_CLANG_TIDY_EXPORT_FIXES_DIR + \ CMAKE_ASM_NASM_COMPILER + \ CMAKE_ASM_NASM_COMPILER_ABI + \ CMAKE_ASM_NASM_COMPILER_AR + \ CMAKE_ASM_NASM_COMPILER_ARCHITECTURE_ID + \ CMAKE_ASM_NASM_COMPILER_EXTERNAL_TOOLCHAIN + \ CMAKE_ASM_NASM_COMPILER_FRONTEND_VARIANT + \ CMAKE_ASM_NASM_COMPILER_ID + \ CMAKE_ASM_NASM_COMPILER_LAUNCHER + \ CMAKE_ASM_NASM_COMPILER_LOADED + \ CMAKE_ASM_NASM_COMPILER_PREDEFINES_COMMAND + \ CMAKE_ASM_NASM_COMPILER_RANLIB + \ CMAKE_ASM_NASM_COMPILER_TARGET + \ CMAKE_ASM_NASM_COMPILER_VERSION + \ CMAKE_ASM_NASM_COMPILER_VERSION_INTERNAL + \ CMAKE_ASM_NASM_COMPILE_OBJECT + \ CMAKE_ASM_NASM_CPPCHECK + \ CMAKE_ASM_NASM_CPPLINT + \ CMAKE_ASM_NASM_CREATE_SHARED_LIBRARY + \ CMAKE_ASM_NASM_CREATE_SHARED_MODULE + \ CMAKE_ASM_NASM_CREATE_STATIC_LIBRARY + \ CMAKE_ASM_NASM_EXTENSIONS + \ CMAKE_ASM_NASM_EXTENSIONS_DEFAULT + \ CMAKE_ASM_NASM_FLAGS + \ CMAKE_ASM_NASM_FLAGS_DEBUG + \ CMAKE_ASM_NASM_FLAGS_DEBUG_INIT + \ CMAKE_ASM_NASM_FLAGS_INIT + \ CMAKE_ASM_NASM_FLAGS_MINSIZEREL + \ CMAKE_ASM_NASM_FLAGS_MINSIZEREL_INIT + \ CMAKE_ASM_NASM_FLAGS_RELEASE + \ CMAKE_ASM_NASM_FLAGS_RELEASE_INIT + \ CMAKE_ASM_NASM_FLAGS_RELWITHDEBINFO + \ CMAKE_ASM_NASM_FLAGS_RELWITHDEBINFO_INIT + \ CMAKE_ASM_NASM_IGNORE_EXTENSIONS + \ CMAKE_ASM_NASM_IMPLICIT_INCLUDE_DIRECTORIES + \ CMAKE_ASM_NASM_IMPLICIT_LINK_DIRECTORIES + \ CMAKE_ASM_NASM_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES + \ CMAKE_ASM_NASM_IMPLICIT_LINK_LIBRARIES + \ CMAKE_ASM_NASM_INCLUDE_WHAT_YOU_USE + \ CMAKE_ASM_NASM_INIT + \ CMAKE_ASM_NASM_LIBRARY_ARCHITECTURE + \ CMAKE_ASM_NASM_LINKER_LAUNCHER + \ CMAKE_ASM_NASM_LINKER_PREFERENCE + \ CMAKE_ASM_NASM_LINKER_PREFERENCE_PROPAGATES + \ CMAKE_ASM_NASM_LINKER_WRAPPER_FLAG + \ CMAKE_ASM_NASM_LINKER_WRAPPER_FLAG_SEP + \ CMAKE_ASM_NASM_LINK_EXECUTABLE + \ CMAKE_ASM_NASM_LINK_LIBRARY_FILE_FLAG + \ CMAKE_ASM_NASM_LINK_LIBRARY_FLAG + \ CMAKE_ASM_NASM_LINK_LIBRARY_SUFFIX + \ CMAKE_ASM_NASM_LINK_WHAT_YOU_USE_FLAG + \ CMAKE_ASM_NASM_OUTPUT_EXTENSION + \ CMAKE_ASM_NASM_PLATFORM_ID + \ CMAKE_ASM_NASM_SIMULATE_ID + \ CMAKE_ASM_NASM_SIMULATE_VERSION + \ CMAKE_ASM_NASM_SIZEOF_DATA_PTR + \ CMAKE_ASM_NASM_SOURCE_FILE_EXTENSIONS + \ CMAKE_ASM_NASM_STANDARD + \ CMAKE_ASM_NASM_STANDARD_DEFAULT + \ CMAKE_ASM_NASM_STANDARD_INCLUDE_DIRECTORIES + \ CMAKE_ASM_NASM_STANDARD_LIBRARIES + \ CMAKE_ASM_NASM_STANDARD_REQUIRED + \ CMAKE_ASM_NASM_SUPPORTED + \ CMAKE_ASM_NASM_VISIBILITY_PRESET + \ CMAKE_ASM_OUTPUT_EXTENSION + \ CMAKE_ASM_PLATFORM_ID + \ CMAKE_ASM_SIMULATE_ID + \ CMAKE_ASM_SIMULATE_VERSION + \ CMAKE_ASM_SIZEOF_DATA_PTR + \ CMAKE_ASM_SOURCE_FILE_EXTENSIONS + \ CMAKE_ASM_STANDARD + \ CMAKE_ASM_STANDARD_DEFAULT + \ CMAKE_ASM_STANDARD_INCLUDE_DIRECTORIES + \ CMAKE_ASM_STANDARD_LIBRARIES + \ CMAKE_ASM_STANDARD_REQUIRED + \ CMAKE_ASM_SUPPORTED + \ CMAKE_ASM_VISIBILITY_PRESET + \ CMAKE_AUTOGEN_COMMAND_LINE_LENGTH_MAX + \ CMAKE_AUTOGEN_ORIGIN_DEPENDS + \ CMAKE_AUTOGEN_PARALLEL + \ CMAKE_AUTOGEN_USE_SYSTEM_INCLUDE + \ CMAKE_AUTOGEN_VERBOSE + \ CMAKE_AUTOMOC + \ CMAKE_AUTOMOC_COMPILER_PREDEFINES + \ CMAKE_AUTOMOC_DEPEND_FILTERS + \ CMAKE_AUTOMOC_EXECUTABLE + \ CMAKE_AUTOMOC_MACRO_NAMES + \ CMAKE_AUTOMOC_MOC_OPTIONS + \ CMAKE_AUTOMOC_PATH_PREFIX + \ CMAKE_AUTOMOC_RELAXED_MODE + \ CMAKE_AUTOMOC_EXECUTABLE + \ CMAKE_AUTORCC + \ CMAKE_AUTORCC_EXECUTABLE + \ CMAKE_AUTORCC_OPTIONS + \ CMAKE_AUTORCC_EXECUTABLE + \ CMAKE_AUTOUIC + \ CMAKE_AUTOUIC_EXECUTABLE + \ CMAKE_AUTOUIC_OPTIONS + \ CMAKE_AUTOUIC_SEARCH_PATHS + \ CMAKE_AUTOUIC_EXECUTABLE + \ CMAKE_BACKWARDS_COMPATIBILITY + \ CMAKE_BINARY_DIR + \ CMAKE_BUILD_RPATH + \ CMAKE_BUILD_RPATH_USE_ORIGIN + \ CMAKE_BUILD_TOOL + \ CMAKE_BUILD_TYPE + \ CMAKE_BUILD_WITH_INSTALL_NAME_DIR + \ CMAKE_BUILD_WITH_INSTALL_RPATH + \ CMAKE_C + \ CMAKE_CACHEFILE_DIR + \ CMAKE_CACHE_MAJOR_VERSION + \ CMAKE_CACHE_MINOR_VERSION + \ CMAKE_CACHE_PATCH_VERSION + \ CMAKE_CFG_INTDIR + \ CMAKE_CLANG_VFS_OVERLAY + \ CMAKE_CL_64 + \ CMAKE_CODEBLOCKS_COMPILER_ID + \ CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES + \ CMAKE_CODELITE_USE_TARGETS + \ CMAKE_COLOR_DIAGNOSTICS + \ CMAKE_COLOR_MAKEFILE + \ CMAKE_COMMAND + \ CMAKE_COMPILER_2005 + \ CMAKE_COMPILER_IS_GNUCC + \ CMAKE_COMPILER_IS_GNUCXX + \ CMAKE_COMPILER_IS_GNUG77 + \ CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY + \ CMAKE_COMPILE_WARNING_AS_ERROR + \ CMAKE_CONFIGURATION_TYPES + \ CMAKE_CPACK_COMMAND + \ CMAKE_CROSSCOMPILING + \ CMAKE_CROSSCOMPILING_EMULATOR + \ CMAKE_CROSS_CONFIGS + \ CMAKE_CSharp + \ CMAKE_CSharp_ANDROID_TOOLCHAIN_MACHINE + \ CMAKE_CSharp_ANDROID_TOOLCHAIN_PREFIX + \ CMAKE_CSharp_ANDROID_TOOLCHAIN_SUFFIX + \ CMAKE_CSharp_ARCHIVE_APPEND + \ CMAKE_CSharp_ARCHIVE_CREATE + \ CMAKE_CSharp_ARCHIVE_FINISH + \ CMAKE_CSharp_BYTE_ORDER + \ CMAKE_CSharp_CLANG_TIDY + \ CMAKE_CSharp_CLANG_TIDY_EXPORT_FIXES_DIR + \ CMAKE_CSharp_COMPILER + \ CMAKE_CSharp_COMPILER_ABI + \ CMAKE_CSharp_COMPILER_AR + \ CMAKE_CSharp_COMPILER_ARCHITECTURE_ID + \ CMAKE_CSharp_COMPILER_EXTERNAL_TOOLCHAIN + \ CMAKE_CSharp_COMPILER_FRONTEND_VARIANT + \ CMAKE_CSharp_COMPILER_ID + \ CMAKE_CSharp_COMPILER_LAUNCHER + \ CMAKE_CSharp_COMPILER_LOADED + \ CMAKE_CSharp_COMPILER_PREDEFINES_COMMAND + \ CMAKE_CSharp_COMPILER_RANLIB + \ CMAKE_CSharp_COMPILER_TARGET + \ CMAKE_CSharp_COMPILER_VERSION + \ CMAKE_CSharp_COMPILER_VERSION_INTERNAL + \ CMAKE_CSharp_COMPILE_OBJECT + \ CMAKE_CSharp_CPPCHECK + \ CMAKE_CSharp_CPPLINT + \ CMAKE_CSharp_CREATE_SHARED_LIBRARY + \ CMAKE_CSharp_CREATE_SHARED_MODULE + \ CMAKE_CSharp_CREATE_STATIC_LIBRARY + \ CMAKE_CSharp_EXTENSIONS + \ CMAKE_CSharp_EXTENSIONS_DEFAULT + \ CMAKE_CSharp_FLAGS + \ CMAKE_CSharp_FLAGS_DEBUG + \ CMAKE_CSharp_FLAGS_DEBUG_INIT + \ CMAKE_CSharp_FLAGS_INIT + \ CMAKE_CSharp_FLAGS_MINSIZEREL + \ CMAKE_CSharp_FLAGS_MINSIZEREL_INIT + \ CMAKE_CSharp_FLAGS_RELEASE + \ CMAKE_CSharp_FLAGS_RELEASE_INIT + \ CMAKE_CSharp_FLAGS_RELWITHDEBINFO + \ CMAKE_CSharp_FLAGS_RELWITHDEBINFO_INIT + \ CMAKE_CSharp_IGNORE_EXTENSIONS + \ CMAKE_CSharp_IMPLICIT_INCLUDE_DIRECTORIES + \ CMAKE_CSharp_IMPLICIT_LINK_DIRECTORIES + \ CMAKE_CSharp_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES + \ CMAKE_CSharp_IMPLICIT_LINK_LIBRARIES + \ CMAKE_CSharp_INCLUDE_WHAT_YOU_USE + \ CMAKE_CSharp_INIT + \ CMAKE_CSharp_LIBRARY_ARCHITECTURE + \ CMAKE_CSharp_LINKER_LAUNCHER + \ CMAKE_CSharp_LINKER_PREFERENCE + \ CMAKE_CSharp_LINKER_PREFERENCE_PROPAGATES + \ CMAKE_CSharp_LINKER_WRAPPER_FLAG + \ CMAKE_CSharp_LINKER_WRAPPER_FLAG_SEP + \ CMAKE_CSharp_LINK_EXECUTABLE + \ CMAKE_CSharp_LINK_LIBRARY_FILE_FLAG + \ CMAKE_CSharp_LINK_LIBRARY_FLAG + \ CMAKE_CSharp_LINK_LIBRARY_SUFFIX + \ CMAKE_CSharp_LINK_WHAT_YOU_USE_FLAG + \ CMAKE_CSharp_OUTPUT_EXTENSION + \ CMAKE_CSharp_PLATFORM_ID + \ CMAKE_CSharp_SIMULATE_ID + \ CMAKE_CSharp_SIMULATE_VERSION + \ CMAKE_CSharp_SIZEOF_DATA_PTR + \ CMAKE_CSharp_SOURCE_FILE_EXTENSIONS + \ CMAKE_CSharp_STANDARD + \ CMAKE_CSharp_STANDARD_DEFAULT + \ CMAKE_CSharp_STANDARD_INCLUDE_DIRECTORIES + \ CMAKE_CSharp_STANDARD_LIBRARIES + \ CMAKE_CSharp_STANDARD_REQUIRED + \ CMAKE_CSharp_SUPPORTED + \ CMAKE_CSharp_VISIBILITY_PRESET + \ CMAKE_CTEST_ARGUMENTS + \ CMAKE_CTEST_COMMAND + \ CMAKE_CUDA + \ CMAKE_CUDA_ANDROID_TOOLCHAIN_MACHINE + \ CMAKE_CUDA_ANDROID_TOOLCHAIN_PREFIX + \ CMAKE_CUDA_ANDROID_TOOLCHAIN_SUFFIX + \ CMAKE_CUDA_ARCHITECTURES + \ CMAKE_CUDA_ARCHIVE_APPEND + \ CMAKE_CUDA_ARCHIVE_CREATE + \ CMAKE_CUDA_ARCHIVE_FINISH + \ CMAKE_CUDA_BYTE_ORDER + \ CMAKE_CUDA_CLANG_TIDY + \ CMAKE_CUDA_CLANG_TIDY_EXPORT_FIXES_DIR + \ CMAKE_CUDA_COMPILER + \ CMAKE_CUDA_COMPILER_ABI + \ CMAKE_CUDA_COMPILER_AR + \ CMAKE_CUDA_COMPILER_ARCHITECTURE_ID + \ CMAKE_CUDA_COMPILER_EXTERNAL_TOOLCHAIN + \ CMAKE_CUDA_COMPILER_FRONTEND_VARIANT + \ CMAKE_CUDA_COMPILER_ID + \ CMAKE_CUDA_COMPILER_LAUNCHER + \ CMAKE_CUDA_COMPILER_LOADED + \ CMAKE_CUDA_COMPILER_PREDEFINES_COMMAND + \ CMAKE_CUDA_COMPILER_RANLIB + \ CMAKE_CUDA_COMPILER_TARGET + \ CMAKE_CUDA_COMPILER_VERSION + \ CMAKE_CUDA_COMPILER_VERSION_INTERNAL + \ CMAKE_CUDA_COMPILE_FEATURES + \ CMAKE_CUDA_COMPILE_OBJECT + \ CMAKE_CUDA_CPPCHECK + \ CMAKE_CUDA_CPPLINT + \ CMAKE_CUDA_CREATE_SHARED_LIBRARY + \ CMAKE_CUDA_CREATE_SHARED_MODULE + \ CMAKE_CUDA_CREATE_STATIC_LIBRARY + \ CMAKE_CUDA_EXTENSIONS + \ CMAKE_CUDA_EXTENSIONS_DEFAULT + \ CMAKE_CUDA_FLAGS + \ CMAKE_CUDA_FLAGS_DEBUG + \ CMAKE_CUDA_FLAGS_DEBUG_INIT + \ CMAKE_CUDA_FLAGS_INIT + \ CMAKE_CUDA_FLAGS_MINSIZEREL + \ CMAKE_CUDA_FLAGS_MINSIZEREL_INIT + \ CMAKE_CUDA_FLAGS_RELEASE + \ CMAKE_CUDA_FLAGS_RELEASE_INIT + \ CMAKE_CUDA_FLAGS_RELWITHDEBINFO + \ CMAKE_CUDA_FLAGS_RELWITHDEBINFO_INIT + \ CMAKE_CUDA_HOST_COMPILER + \ CMAKE_CUDA_IGNORE_EXTENSIONS + \ CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES + \ CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES + \ CMAKE_CUDA_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES + \ CMAKE_CUDA_IMPLICIT_LINK_LIBRARIES + \ CMAKE_CUDA_INCLUDE_WHAT_YOU_USE + \ CMAKE_CUDA_INIT + \ CMAKE_CUDA_LIBRARY_ARCHITECTURE + \ CMAKE_CUDA_LINKER_LAUNCHER + \ CMAKE_CUDA_LINKER_PREFERENCE + \ CMAKE_CUDA_LINKER_PREFERENCE_PROPAGATES + \ CMAKE_CUDA_LINKER_WRAPPER_FLAG + \ CMAKE_CUDA_LINKER_WRAPPER_FLAG_SEP + \ CMAKE_CUDA_LINK_EXECUTABLE + \ CMAKE_CUDA_LINK_LIBRARY_FILE_FLAG + \ CMAKE_CUDA_LINK_LIBRARY_FLAG + \ CMAKE_CUDA_LINK_LIBRARY_SUFFIX + \ CMAKE_CUDA_LINK_WHAT_YOU_USE_FLAG + \ CMAKE_CUDA_OUTPUT_EXTENSION + \ CMAKE_CUDA_PLATFORM_ID + \ CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS + \ CMAKE_CUDA_RUNTIME_LIBRARY + \ CMAKE_CUDA_SEPARABLE_COMPILATION + \ CMAKE_CUDA_SIMULATE_ID + \ CMAKE_CUDA_SIMULATE_VERSION + \ CMAKE_CUDA_SIZEOF_DATA_PTR + \ CMAKE_CUDA_SOURCE_FILE_EXTENSIONS + \ CMAKE_CUDA_STANDARD + \ CMAKE_CUDA_STANDARD_DEFAULT + \ CMAKE_CUDA_STANDARD_INCLUDE_DIRECTORIES + \ CMAKE_CUDA_STANDARD_LIBRARIES + \ CMAKE_CUDA_STANDARD_REQUIRED + \ CMAKE_CUDA_SUPPORTED + \ CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES + \ CMAKE_CUDA_VISIBILITY_PRESET + \ CMAKE_CURRENT_BINARY_DIR + \ CMAKE_CURRENT_FUNCTION + \ CMAKE_CURRENT_FUNCTION_LIST_DIR + \ CMAKE_CURRENT_FUNCTION_LIST_FILE + \ CMAKE_CURRENT_FUNCTION_LIST_LINE + \ CMAKE_CURRENT_LIST_DIR + \ CMAKE_CURRENT_LIST_FILE + \ CMAKE_CURRENT_LIST_LINE + \ CMAKE_CURRENT_SOURCE_DIR + \ CMAKE_CXX + \ CMAKE_CXX_ANDROID_TOOLCHAIN_MACHINE + \ CMAKE_CXX_ANDROID_TOOLCHAIN_PREFIX + \ CMAKE_CXX_ANDROID_TOOLCHAIN_SUFFIX + \ CMAKE_CXX_ARCHIVE_APPEND + \ CMAKE_CXX_ARCHIVE_CREATE + \ CMAKE_CXX_ARCHIVE_FINISH + \ CMAKE_CXX_BYTE_ORDER + \ CMAKE_CXX_CLANG_TIDY + \ CMAKE_CXX_CLANG_TIDY_EXPORT_FIXES_DIR + \ CMAKE_CXX_COMPILER + \ CMAKE_CXX_COMPILER_ABI + \ CMAKE_CXX_COMPILER_AR + \ CMAKE_CXX_COMPILER_ARCHITECTURE_ID + \ CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN + \ CMAKE_CXX_COMPILER_FRONTEND_VARIANT + \ CMAKE_CXX_COMPILER_ID + \ CMAKE_CXX_COMPILER_LAUNCHER + \ CMAKE_CXX_COMPILER_LOADED + \ CMAKE_CXX_COMPILER_PREDEFINES_COMMAND + \ CMAKE_CXX_COMPILER_RANLIB + \ CMAKE_CXX_COMPILER_TARGET + \ CMAKE_CXX_COMPILER_VERSION + \ CMAKE_CXX_COMPILER_VERSION_INTERNAL + \ CMAKE_CXX_COMPILE_FEATURES + \ CMAKE_CXX_COMPILE_OBJECT + \ CMAKE_CXX_CPPCHECK + \ CMAKE_CXX_CPPLINT + \ CMAKE_CXX_CREATE_SHARED_LIBRARY + \ CMAKE_CXX_CREATE_SHARED_MODULE + \ CMAKE_CXX_CREATE_STATIC_LIBRARY + \ CMAKE_CXX_EXTENSIONS + \ CMAKE_CXX_EXTENSIONS_DEFAULT + \ CMAKE_CXX_FLAGS + \ CMAKE_CXX_FLAGS_DEBUG + \ CMAKE_CXX_FLAGS_DEBUG_INIT + \ CMAKE_CXX_FLAGS_INIT + \ CMAKE_CXX_FLAGS_MINSIZEREL + \ CMAKE_CXX_FLAGS_MINSIZEREL_INIT + \ CMAKE_CXX_FLAGS_RELEASE + \ CMAKE_CXX_FLAGS_RELEASE_INIT + \ CMAKE_CXX_FLAGS_RELWITHDEBINFO + \ CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT + \ CMAKE_CXX_IGNORE_EXTENSIONS + \ CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES + \ CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES + \ CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES + \ CMAKE_CXX_IMPLICIT_LINK_LIBRARIES + \ CMAKE_CXX_INCLUDE_WHAT_YOU_USE + \ CMAKE_CXX_INIT + \ CMAKE_CXX_LIBRARY_ARCHITECTURE + \ CMAKE_CXX_LINKER_LAUNCHER + \ CMAKE_CXX_LINKER_PREFERENCE + \ CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES + \ CMAKE_CXX_LINKER_WRAPPER_FLAG + \ CMAKE_CXX_LINKER_WRAPPER_FLAG_SEP + \ CMAKE_CXX_LINK_EXECUTABLE + \ CMAKE_CXX_LINK_LIBRARY_FILE_FLAG + \ CMAKE_CXX_LINK_LIBRARY_FLAG + \ CMAKE_CXX_LINK_LIBRARY_SUFFIX + \ CMAKE_CXX_LINK_WHAT_YOU_USE_FLAG + \ CMAKE_CXX_OUTPUT_EXTENSION + \ CMAKE_CXX_PLATFORM_ID + \ CMAKE_CXX_SCAN_FOR_MODULES + \ CMAKE_CXX_SIMULATE_ID + \ CMAKE_CXX_SIMULATE_VERSION + \ CMAKE_CXX_SIZEOF_DATA_PTR + \ CMAKE_CXX_SOURCE_FILE_EXTENSIONS + \ CMAKE_CXX_STANDARD + \ CMAKE_CXX_STANDARD_DEFAULT + \ CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES + \ CMAKE_CXX_STANDARD_LIBRARIES + \ CMAKE_CXX_STANDARD_REQUIRED + \ CMAKE_CXX_SUPPORTED + \ CMAKE_CXX_VISIBILITY_PRESET + \ CMAKE_C_ANDROID_TOOLCHAIN_MACHINE + \ CMAKE_C_ANDROID_TOOLCHAIN_PREFIX + \ CMAKE_C_ANDROID_TOOLCHAIN_SUFFIX + \ CMAKE_C_ARCHIVE_APPEND + \ CMAKE_C_ARCHIVE_CREATE + \ CMAKE_C_ARCHIVE_FINISH + \ CMAKE_C_BYTE_ORDER + \ CMAKE_C_CLANG_TIDY + \ CMAKE_C_CLANG_TIDY_EXPORT_FIXES_DIR + \ CMAKE_C_COMPILER + \ CMAKE_C_COMPILER_ABI + \ CMAKE_C_COMPILER_AR + \ CMAKE_C_COMPILER_ARCHITECTURE_ID + \ CMAKE_C_COMPILER_EXTERNAL_TOOLCHAIN + \ CMAKE_C_COMPILER_FRONTEND_VARIANT + \ CMAKE_C_COMPILER_ID + \ CMAKE_C_COMPILER_LAUNCHER + \ CMAKE_C_COMPILER_LOADED + \ CMAKE_C_COMPILER_PREDEFINES_COMMAND + \ CMAKE_C_COMPILER_RANLIB + \ CMAKE_C_COMPILER_TARGET + \ CMAKE_C_COMPILER_VERSION + \ CMAKE_C_COMPILER_VERSION_INTERNAL + \ CMAKE_C_COMPILE_FEATURES + \ CMAKE_C_COMPILE_OBJECT + \ CMAKE_C_CPPCHECK + \ CMAKE_C_CPPLINT + \ CMAKE_C_CREATE_SHARED_LIBRARY + \ CMAKE_C_CREATE_SHARED_MODULE + \ CMAKE_C_CREATE_STATIC_LIBRARY + \ CMAKE_C_EXTENSIONS + \ CMAKE_C_EXTENSIONS_DEFAULT + \ CMAKE_C_FLAGS + \ CMAKE_C_FLAGS_DEBUG + \ CMAKE_C_FLAGS_DEBUG_INIT + \ CMAKE_C_FLAGS_INIT + \ CMAKE_C_FLAGS_MINSIZEREL + \ CMAKE_C_FLAGS_MINSIZEREL_INIT + \ CMAKE_C_FLAGS_RELEASE + \ CMAKE_C_FLAGS_RELEASE_INIT + \ CMAKE_C_FLAGS_RELWITHDEBINFO + \ CMAKE_C_FLAGS_RELWITHDEBINFO_INIT + \ CMAKE_C_IGNORE_EXTENSIONS + \ CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES + \ CMAKE_C_IMPLICIT_LINK_DIRECTORIES + \ CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES + \ CMAKE_C_IMPLICIT_LINK_LIBRARIES + \ CMAKE_C_INCLUDE_WHAT_YOU_USE + \ CMAKE_C_INIT + \ CMAKE_C_LIBRARY_ARCHITECTURE + \ CMAKE_C_LINKER_LAUNCHER + \ CMAKE_C_LINKER_PREFERENCE + \ CMAKE_C_LINKER_PREFERENCE_PROPAGATES + \ CMAKE_C_LINKER_WRAPPER_FLAG + \ CMAKE_C_LINKER_WRAPPER_FLAG_SEP + \ CMAKE_C_LINK_EXECUTABLE + \ CMAKE_C_LINK_LIBRARY_FILE_FLAG + \ CMAKE_C_LINK_LIBRARY_FLAG + \ CMAKE_C_LINK_LIBRARY_SUFFIX + \ CMAKE_C_LINK_WHAT_YOU_USE_FLAG + \ CMAKE_C_OUTPUT_EXTENSION + \ CMAKE_C_PLATFORM_ID + \ CMAKE_C_SIMULATE_ID + \ CMAKE_C_SIMULATE_VERSION + \ CMAKE_C_SIZEOF_DATA_PTR + \ CMAKE_C_SOURCE_FILE_EXTENSIONS + \ CMAKE_C_STANDARD + \ CMAKE_C_STANDARD_DEFAULT + \ CMAKE_C_STANDARD_INCLUDE_DIRECTORIES + \ CMAKE_C_STANDARD_LIBRARIES + \ CMAKE_C_STANDARD_REQUIRED + \ CMAKE_C_SUPPORTED + \ CMAKE_C_VISIBILITY_PRESET + \ CMAKE_DEBUG_POSTFIX + \ CMAKE_DEBUG_TARGET_PROPERTIES + \ CMAKE_DEFAULT_BUILD_TYPE + \ CMAKE_DEFAULT_CONFIGS + \ CMAKE_DEPENDS_IN_PROJECT_ONLY + \ CMAKE_DEPENDS_USE_COMPILER + \ CMAKE_DIRECTORY_LABELS + \ CMAKE_DISABLE_PRECOMPILE_HEADERS + \ CMAKE_DLL_NAME_WITH_SOVERSION + \ CMAKE_DL_LIBS + \ CMAKE_DOTNET_SDK + \ CMAKE_DOTNET_TARGET_FRAMEWORK + \ CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION + \ CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES + \ CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT + \ CMAKE_ECLIPSE_MAKE_ARGUMENTS + \ CMAKE_ECLIPSE_RESOURCE_ENCODING + \ CMAKE_ECLIPSE_VERSION + \ CMAKE_EDIT_COMMAND + \ CMAKE_ENABLE_EXPORTS + \ CMAKE_ERROR_DEPRECATED + \ CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION + \ CMAKE_EXECUTABLE_ENABLE_EXPORTS + \ CMAKE_EXECUTABLE_SUFFIX + \ CMAKE_EXECUTABLE_SUFFIX_ASM + \ CMAKE_EXECUTABLE_SUFFIX_ASM_MASM + \ CMAKE_EXECUTABLE_SUFFIX_ASM_NASM + \ CMAKE_EXECUTABLE_SUFFIX_C + \ CMAKE_EXECUTABLE_SUFFIX_CSharp + \ CMAKE_EXECUTABLE_SUFFIX_CUDA + \ CMAKE_EXECUTABLE_SUFFIX_CXX + \ CMAKE_EXECUTABLE_SUFFIX_Fortran + \ CMAKE_EXECUTABLE_SUFFIX_HIP + \ CMAKE_EXECUTABLE_SUFFIX_Java + \ CMAKE_EXECUTABLE_SUFFIX_RC + \ CMAKE_EXECUTABLE_SUFFIX_Swift + \ CMAKE_EXECUTE_PROCESS_COMMAND_ECHO + \ CMAKE_EXE_LINKER_FLAGS + \ CMAKE_EXE_LINKER_FLAGS_INIT + \ CMAKE_EXPORT_COMPILE_COMMANDS + \ CMAKE_EXPORT_NO_PACKAGE_REGISTRY + \ CMAKE_EXPORT_PACKAGE_REGISTRY + \ CMAKE_EXTRA_GENERATOR + \ CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES + \ CMAKE_FIND_APPBUNDLE + \ CMAKE_FIND_DEBUG_MODE + \ CMAKE_FIND_FRAMEWORK + \ CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX + \ CMAKE_FIND_LIBRARY_PREFIXES + \ CMAKE_FIND_LIBRARY_SUFFIXES + \ CMAKE_FIND_NO_INSTALL_PREFIX + \ CMAKE_FIND_PACKAGE_NAME + \ CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY + \ CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY + \ CMAKE_FIND_PACKAGE_PREFER_CONFIG + \ CMAKE_FIND_PACKAGE_REDIRECTS_DIR + \ CMAKE_FIND_PACKAGE_RESOLVE_SYMLINKS + \ CMAKE_FIND_PACKAGE_SORT_DIRECTION + \ CMAKE_FIND_PACKAGE_SORT_ORDER + \ CMAKE_FIND_PACKAGE_TARGETS_GLOBAL + \ CMAKE_FIND_PACKAGE_WARN_NO_MODULE + \ CMAKE_FIND_ROOT_PATH + \ CMAKE_FIND_ROOT_PATH_MODE_INCLUDE + \ CMAKE_FIND_ROOT_PATH_MODE_LIBRARY + \ CMAKE_FIND_ROOT_PATH_MODE_PACKAGE + \ CMAKE_FIND_ROOT_PATH_MODE_PROGRAM + \ CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH + \ CMAKE_FIND_USE_INSTALL_PREFIX + \ CMAKE_FIND_USE_CMAKE_PATH + \ CMAKE_FIND_USE_CMAKE_SYSTEM_PATH + \ CMAKE_FIND_USE_INSTALL_PREFIX + \ CMAKE_FIND_USE_PACKAGE_REGISTRY + \ CMAKE_FIND_USE_PACKAGE_ROOT_PATH + \ CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH + \ CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY + \ CMAKE_FOLDER + \ CMAKE_FRAMEWORK + \ CMAKE_FRAMEWORK_PATH + \ CMAKE_Fortran + \ CMAKE_Fortran_ANDROID_TOOLCHAIN_MACHINE + \ CMAKE_Fortran_ANDROID_TOOLCHAIN_PREFIX + \ CMAKE_Fortran_ANDROID_TOOLCHAIN_SUFFIX + \ CMAKE_Fortran_ARCHIVE_APPEND + \ CMAKE_Fortran_ARCHIVE_CREATE + \ CMAKE_Fortran_ARCHIVE_FINISH + \ CMAKE_Fortran_BYTE_ORDER + \ CMAKE_Fortran_CLANG_TIDY + \ CMAKE_Fortran_CLANG_TIDY_EXPORT_FIXES_DIR + \ CMAKE_Fortran_COMPILER + \ CMAKE_Fortran_COMPILER_ABI + \ CMAKE_Fortran_COMPILER_AR + \ CMAKE_Fortran_COMPILER_ARCHITECTURE_ID + \ CMAKE_Fortran_COMPILER_EXTERNAL_TOOLCHAIN + \ CMAKE_Fortran_COMPILER_FRONTEND_VARIANT + \ CMAKE_Fortran_COMPILER_ID + \ CMAKE_Fortran_COMPILER_LAUNCHER + \ CMAKE_Fortran_COMPILER_LOADED + \ CMAKE_Fortran_COMPILER_PREDEFINES_COMMAND + \ CMAKE_Fortran_COMPILER_RANLIB + \ CMAKE_Fortran_COMPILER_TARGET + \ CMAKE_Fortran_COMPILER_VERSION + \ CMAKE_Fortran_COMPILER_VERSION_INTERNAL + \ CMAKE_Fortran_COMPILE_OBJECT + \ CMAKE_Fortran_CPPCHECK + \ CMAKE_Fortran_CPPLINT + \ CMAKE_Fortran_CREATE_SHARED_LIBRARY + \ CMAKE_Fortran_CREATE_SHARED_MODULE + \ CMAKE_Fortran_CREATE_STATIC_LIBRARY + \ CMAKE_Fortran_EXTENSIONS + \ CMAKE_Fortran_EXTENSIONS_DEFAULT + \ CMAKE_Fortran_FLAGS + \ CMAKE_Fortran_FLAGS_DEBUG + \ CMAKE_Fortran_FLAGS_DEBUG_INIT + \ CMAKE_Fortran_FLAGS_INIT + \ CMAKE_Fortran_FLAGS_MINSIZEREL + \ CMAKE_Fortran_FLAGS_MINSIZEREL_INIT + \ CMAKE_Fortran_FLAGS_RELEASE + \ CMAKE_Fortran_FLAGS_RELEASE_INIT + \ CMAKE_Fortran_FLAGS_RELWITHDEBINFO + \ CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT + \ CMAKE_Fortran_FORMAT + \ CMAKE_Fortran_IGNORE_EXTENSIONS + \ CMAKE_Fortran_IMPLICIT_INCLUDE_DIRECTORIES + \ CMAKE_Fortran_IMPLICIT_LINK_DIRECTORIES + \ CMAKE_Fortran_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES + \ CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES + \ CMAKE_Fortran_INCLUDE_WHAT_YOU_USE + \ CMAKE_Fortran_INIT + \ CMAKE_Fortran_LIBRARY_ARCHITECTURE + \ CMAKE_Fortran_LINKER_LAUNCHER + \ CMAKE_Fortran_LINKER_PREFERENCE + \ CMAKE_Fortran_LINKER_PREFERENCE_PROPAGATES + \ CMAKE_Fortran_LINKER_WRAPPER_FLAG + \ CMAKE_Fortran_LINKER_WRAPPER_FLAG_SEP + \ CMAKE_Fortran_LINK_EXECUTABLE + \ CMAKE_Fortran_LINK_LIBRARY_FILE_FLAG + \ CMAKE_Fortran_LINK_LIBRARY_FLAG + \ CMAKE_Fortran_LINK_LIBRARY_SUFFIX + \ CMAKE_Fortran_LINK_WHAT_YOU_USE_FLAG + \ CMAKE_Fortran_MODDIR_DEFAULT + \ CMAKE_Fortran_MODDIR_FLAG + \ CMAKE_Fortran_MODOUT_FLAG + \ CMAKE_Fortran_MODULE_DIRECTORY + \ CMAKE_Fortran_OUTPUT_EXTENSION + \ CMAKE_Fortran_PLATFORM_ID + \ CMAKE_Fortran_PREPROCESS + \ CMAKE_Fortran_SIMULATE_ID + \ CMAKE_Fortran_SIMULATE_VERSION + \ CMAKE_Fortran_SIZEOF_DATA_PTR + \ CMAKE_Fortran_SOURCE_FILE_EXTENSIONS + \ CMAKE_Fortran_STANDARD + \ CMAKE_Fortran_STANDARD_DEFAULT + \ CMAKE_Fortran_STANDARD_INCLUDE_DIRECTORIES + \ CMAKE_Fortran_STANDARD_LIBRARIES + \ CMAKE_Fortran_STANDARD_REQUIRED + \ CMAKE_Fortran_SUPPORTED + \ CMAKE_Fortran_VISIBILITY_PRESET + \ CMAKE_GENERATOR + \ CMAKE_GENERATOR_INSTANCE + \ CMAKE_GENERATOR_PLATFORM + \ CMAKE_GENERATOR_TOOLSET + \ CMAKE_GHS_NO_SOURCE_GROUP_FILE + \ CMAKE_GLOBAL_AUTOGEN_TARGET + \ CMAKE_GLOBAL_AUTOGEN_TARGET_NAME + \ CMAKE_GLOBAL_AUTORCC_TARGET + \ CMAKE_GLOBAL_AUTORCC_TARGET_NAME + \ CMAKE_GNUtoMS + \ CMAKE_HIP + \ CMAKE_HIP_ANDROID_TOOLCHAIN_MACHINE + \ CMAKE_HIP_ANDROID_TOOLCHAIN_PREFIX + \ CMAKE_HIP_ANDROID_TOOLCHAIN_SUFFIX + \ CMAKE_HIP_ARCHITECTURES + \ CMAKE_HIP_ARCHIVE_APPEND + \ CMAKE_HIP_ARCHIVE_CREATE + \ CMAKE_HIP_ARCHIVE_FINISH + \ CMAKE_HIP_BYTE_ORDER + \ CMAKE_HIP_CLANG_TIDY + \ CMAKE_HIP_CLANG_TIDY_EXPORT_FIXES_DIR + \ CMAKE_HIP_COMPILER + \ CMAKE_HIP_COMPILER_ABI + \ CMAKE_HIP_COMPILER_AR + \ CMAKE_HIP_COMPILER_ARCHITECTURE_ID + \ CMAKE_HIP_COMPILER_EXTERNAL_TOOLCHAIN + \ CMAKE_HIP_COMPILER_FRONTEND_VARIANT + \ CMAKE_HIP_COMPILER_ID + \ CMAKE_HIP_COMPILER_LAUNCHER + \ CMAKE_HIP_COMPILER_LOADED + \ CMAKE_HIP_COMPILER_PREDEFINES_COMMAND + \ CMAKE_HIP_COMPILER_RANLIB + \ CMAKE_HIP_COMPILER_TARGET + \ CMAKE_HIP_COMPILER_VERSION + \ CMAKE_HIP_COMPILER_VERSION_INTERNAL + \ CMAKE_HIP_COMPILE_FEATURES + \ CMAKE_HIP_COMPILE_OBJECT + \ CMAKE_HIP_CPPCHECK + \ CMAKE_HIP_CPPLINT + \ CMAKE_HIP_CREATE_SHARED_LIBRARY + \ CMAKE_HIP_CREATE_SHARED_MODULE + \ CMAKE_HIP_CREATE_STATIC_LIBRARY + \ CMAKE_HIP_EXTENSIONS + \ CMAKE_HIP_EXTENSIONS_DEFAULT + \ CMAKE_HIP_FLAGS + \ CMAKE_HIP_FLAGS_DEBUG + \ CMAKE_HIP_FLAGS_DEBUG_INIT + \ CMAKE_HIP_FLAGS_INIT + \ CMAKE_HIP_FLAGS_MINSIZEREL + \ CMAKE_HIP_FLAGS_MINSIZEREL_INIT + \ CMAKE_HIP_FLAGS_RELEASE + \ CMAKE_HIP_FLAGS_RELEASE_INIT + \ CMAKE_HIP_FLAGS_RELWITHDEBINFO + \ CMAKE_HIP_FLAGS_RELWITHDEBINFO_INIT + \ CMAKE_HIP_IGNORE_EXTENSIONS + \ CMAKE_HIP_IMPLICIT_INCLUDE_DIRECTORIES + \ CMAKE_HIP_IMPLICIT_LINK_DIRECTORIES + \ CMAKE_HIP_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES + \ CMAKE_HIP_IMPLICIT_LINK_LIBRARIES + \ CMAKE_HIP_INCLUDE_WHAT_YOU_USE + \ CMAKE_HIP_INIT + \ CMAKE_HIP_LIBRARY_ARCHITECTURE + \ CMAKE_HIP_LINKER_LAUNCHER + \ CMAKE_HIP_LINKER_PREFERENCE + \ CMAKE_HIP_LINKER_PREFERENCE_PROPAGATES + \ CMAKE_HIP_LINKER_WRAPPER_FLAG + \ CMAKE_HIP_LINKER_WRAPPER_FLAG_SEP + \ CMAKE_HIP_LINK_EXECUTABLE + \ CMAKE_HIP_LINK_LIBRARY_FILE_FLAG + \ CMAKE_HIP_LINK_LIBRARY_FLAG + \ CMAKE_HIP_LINK_LIBRARY_SUFFIX + \ CMAKE_HIP_LINK_WHAT_YOU_USE_FLAG + \ CMAKE_HIP_OUTPUT_EXTENSION + \ CMAKE_HIP_PLATFORM_ID + \ CMAKE_HIP_SIMULATE_ID + \ CMAKE_HIP_SIMULATE_VERSION + \ CMAKE_HIP_SIZEOF_DATA_PTR + \ CMAKE_HIP_SOURCE_FILE_EXTENSIONS + \ CMAKE_HIP_STANDARD + \ CMAKE_HIP_STANDARD_DEFAULT + \ CMAKE_HIP_STANDARD_INCLUDE_DIRECTORIES + \ CMAKE_HIP_STANDARD_LIBRARIES + \ CMAKE_HIP_STANDARD_REQUIRED + \ CMAKE_HIP_SUPPORTED + \ CMAKE_HIP_VISIBILITY_PRESET + \ CMAKE_HOME_DIRECTORY + \ CMAKE_HOST_APPLE + \ CMAKE_HOST_BSD + \ CMAKE_HOST_LINUX + \ CMAKE_HOST_SOLARIS + \ CMAKE_HOST_SYSTEM + \ CMAKE_HOST_SYSTEM_NAME + \ CMAKE_HOST_SYSTEM_PROCESSOR + \ CMAKE_HOST_SYSTEM_VERSION + \ CMAKE_HOST_UNIX + \ CMAKE_HOST_WIN32 + \ CMAKE_IGNORE_PATH + \ CMAKE_IGNORE_PREFIX_PATH + \ CMAKE_IMPORT_LIBRARY_PREFIX + \ CMAKE_IMPORT_LIBRARY_SUFFIX + \ CMAKE_INCLUDE_CURRENT_DIR + \ CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE + \ CMAKE_INCLUDE_DIRECTORIES_BEFORE + \ CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE + \ CMAKE_INCLUDE_PATH + \ CMAKE_INSTALL_DEFAULT_COMPONENT_NAME + \ CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS + \ CMAKE_INSTALL_MESSAGE + \ CMAKE_INSTALL_NAME_DIR + \ CMAKE_INSTALL_PREFIX + \ CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT + \ CMAKE_INSTALL_REMOVE_ENVIRONMENT_RPATH + \ CMAKE_INSTALL_RPATH + \ CMAKE_INSTALL_RPATH_USE_LINK_PATH + \ CMAKE_INTERNAL_PLATFORM_ABI + \ CMAKE_INTERPROCEDURAL_OPTIMIZATION + \ CMAKE_IOS_INSTALL_COMBINED + \ CMAKE_ISPC_HEADER_DIRECTORY + \ CMAKE_ISPC_HEADER_SUFFIX + \ CMAKE_ISPC_INSTRUCTION_SETS + \ CMAKE_JOB_POOLS + \ CMAKE_JOB_POOL_COMPILE + \ CMAKE_JOB_POOL_LINK + \ CMAKE_JOB_POOL_PRECOMPILE_HEADER + \ CMAKE_Java + \ CMAKE_Java_ANDROID_TOOLCHAIN_MACHINE + \ CMAKE_Java_ANDROID_TOOLCHAIN_PREFIX + \ CMAKE_Java_ANDROID_TOOLCHAIN_SUFFIX + \ CMAKE_Java_ARCHIVE_APPEND + \ CMAKE_Java_ARCHIVE_CREATE + \ CMAKE_Java_ARCHIVE_FINISH + \ CMAKE_Java_BYTE_ORDER + \ CMAKE_Java_CLANG_TIDY + \ CMAKE_Java_CLANG_TIDY_EXPORT_FIXES_DIR + \ CMAKE_Java_COMPILER + \ CMAKE_Java_COMPILER_ABI + \ CMAKE_Java_COMPILER_AR + \ CMAKE_Java_COMPILER_ARCHITECTURE_ID + \ CMAKE_Java_COMPILER_EXTERNAL_TOOLCHAIN + \ CMAKE_Java_COMPILER_FRONTEND_VARIANT + \ CMAKE_Java_COMPILER_ID + \ CMAKE_Java_COMPILER_LAUNCHER + \ CMAKE_Java_COMPILER_LOADED + \ CMAKE_Java_COMPILER_PREDEFINES_COMMAND + \ CMAKE_Java_COMPILER_RANLIB + \ CMAKE_Java_COMPILER_TARGET + \ CMAKE_Java_COMPILER_VERSION + \ CMAKE_Java_COMPILER_VERSION_INTERNAL + \ CMAKE_Java_COMPILE_OBJECT + \ CMAKE_Java_CPPCHECK + \ CMAKE_Java_CPPLINT + \ CMAKE_Java_CREATE_SHARED_LIBRARY + \ CMAKE_Java_CREATE_SHARED_MODULE + \ CMAKE_Java_CREATE_STATIC_LIBRARY + \ CMAKE_Java_EXTENSIONS + \ CMAKE_Java_EXTENSIONS_DEFAULT + \ CMAKE_Java_FLAGS + \ CMAKE_Java_FLAGS_DEBUG + \ CMAKE_Java_FLAGS_DEBUG_INIT + \ CMAKE_Java_FLAGS_INIT + \ CMAKE_Java_FLAGS_MINSIZEREL + \ CMAKE_Java_FLAGS_MINSIZEREL_INIT + \ CMAKE_Java_FLAGS_RELEASE + \ CMAKE_Java_FLAGS_RELEASE_INIT + \ CMAKE_Java_FLAGS_RELWITHDEBINFO + \ CMAKE_Java_FLAGS_RELWITHDEBINFO_INIT + \ CMAKE_Java_IGNORE_EXTENSIONS + \ CMAKE_Java_IMPLICIT_INCLUDE_DIRECTORIES + \ CMAKE_Java_IMPLICIT_LINK_DIRECTORIES + \ CMAKE_Java_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES + \ CMAKE_Java_IMPLICIT_LINK_LIBRARIES + \ CMAKE_Java_INCLUDE_WHAT_YOU_USE + \ CMAKE_Java_INIT + \ CMAKE_Java_LIBRARY_ARCHITECTURE + \ CMAKE_Java_LINKER_LAUNCHER + \ CMAKE_Java_LINKER_PREFERENCE + \ CMAKE_Java_LINKER_PREFERENCE_PROPAGATES + \ CMAKE_Java_LINKER_WRAPPER_FLAG + \ CMAKE_Java_LINKER_WRAPPER_FLAG_SEP + \ CMAKE_Java_LINK_EXECUTABLE + \ CMAKE_Java_LINK_LIBRARY_FILE_FLAG + \ CMAKE_Java_LINK_LIBRARY_FLAG + \ CMAKE_Java_LINK_LIBRARY_SUFFIX + \ CMAKE_Java_LINK_WHAT_YOU_USE_FLAG + \ CMAKE_Java_OUTPUT_EXTENSION + \ CMAKE_Java_PLATFORM_ID + \ CMAKE_Java_SIMULATE_ID + \ CMAKE_Java_SIMULATE_VERSION + \ CMAKE_Java_SIZEOF_DATA_PTR + \ CMAKE_Java_SOURCE_FILE_EXTENSIONS + \ CMAKE_Java_STANDARD + \ CMAKE_Java_STANDARD_DEFAULT + \ CMAKE_Java_STANDARD_INCLUDE_DIRECTORIES + \ CMAKE_Java_STANDARD_LIBRARIES + \ CMAKE_Java_STANDARD_REQUIRED + \ CMAKE_Java_SUPPORTED + \ CMAKE_Java_VISIBILITY_PRESET + \ CMAKE_KATE_FILES_MODE + \ CMAKE_KATE_MAKE_ARGUMENTS + \ CMAKE_LIBRARY_ARCHITECTURE + \ CMAKE_LIBRARY_ARCHITECTURE_REGEX + \ CMAKE_LIBRARY_OUTPUT_DIRECTORY + \ CMAKE_LIBRARY_PATH + \ CMAKE_LIBRARY_PATH_FLAG + \ CMAKE_LINK_DEF_FILE_FLAG + \ CMAKE_LINK_DEPENDS_NO_SHARED + \ CMAKE_LINK_DEPENDS_USE_LINKER + \ CMAKE_LINK_DIRECTORIES_BEFORE + \ CMAKE_LINK_INTERFACE_LIBRARIES + \ CMAKE_LINK_LIBRARIES_ONLY_TARGETS + \ CMAKE_LINK_LIBRARY_FILE_FLAG + \ CMAKE_LINK_LIBRARY_FLAG + \ CMAKE_LINK_LIBRARY_SUFFIX + \ CMAKE_LINK_SEARCH_END_STATIC + \ CMAKE_LINK_SEARCH_START_STATIC + \ CMAKE_LINK_WHAT_YOU_USE + \ CMAKE_LINK_WHAT_YOU_USE_CHECK + \ CMAKE_MACOSX_BUNDLE + \ CMAKE_MACOSX_RPATH + \ CMAKE_MAJOR_VERSION + \ CMAKE_MAKE_PROGRAM + \ CMAKE_MATCH_COUNT + \ CMAKE_MAXIMUM_RECURSION_DEPTH + \ CMAKE_MESSAGE_CONTEXT + \ CMAKE_MESSAGE_CONTEXT_SHOW + \ CMAKE_MESSAGE_INDENT + \ CMAKE_MESSAGE_LOG_LEVEL + \ CMAKE_MFC_FLAG + \ CMAKE_MINIMUM_REQUIRED_VERSION + \ CMAKE_MINOR_VERSION + \ CMAKE_MODULE_LINKER_FLAGS + \ CMAKE_MODULE_LINKER_FLAGS_INIT + \ CMAKE_MODULE_PATH + \ CMAKE_MSVCIDE_RUN_PATH + \ CMAKE_MSVC_DEBUG_INFORMATION_FORMAT + \ CMAKE_MSVC_RUNTIME_LIBRARY + \ CMAKE_NETRC + \ CMAKE_NETRC_FILE + \ CMAKE_NINJA_OUTPUT_PATH_PREFIX + \ CMAKE_NOT_USING_CONFIG_FLAGS + \ CMAKE_NO_BUILTIN_CHRPATH + \ CMAKE_NO_SYSTEM_FROM_IMPORTED + \ CMAKE_OBJCXX_CLANG_TIDY + \ CMAKE_OBJCXX_EXTENSIONS + \ CMAKE_OBJCXX_LINKER_LAUNCHER + \ CMAKE_OBJCXX_STANDARD + \ CMAKE_OBJCXX_STANDARD_REQUIRED + \ CMAKE_OBJC_CLANG_TIDY + \ CMAKE_OBJC_EXTENSIONS + \ CMAKE_OBJC_LINKER_LAUNCHER + \ CMAKE_OBJC_STANDARD + \ CMAKE_OBJC_STANDARD_REQUIRED + \ CMAKE_OBJECT_PATH_MAX + \ CMAKE_OPTIMIZE_DEPENDENCIES + \ CMAKE_OSX_ARCHITECTURES + \ CMAKE_OSX_DEPLOYMENT_TARGET + \ CMAKE_OSX_SYSROOT + \ CMAKE_PARENT_LIST_FILE + \ CMAKE_PATCH_VERSION + \ CMAKE_PCH_INSTANTIATE_TEMPLATES + \ CMAKE_PCH_WARN_INVALID + \ CMAKE_PDB_OUTPUT_DIRECTORY + \ CMAKE_PLATFORM_NO_VERSIONED_SONAME + \ CMAKE_POSITION_INDEPENDENT_CODE + \ CMAKE_PREFIX_PATH + \ CMAKE_PROGRAM_PATH + \ CMAKE_PROJECT_DESCRIPTION + \ CMAKE_PROJECT_HOMEPAGE_URL + \ CMAKE_PROJECT_INCLUDE + \ CMAKE_PROJECT_INCLUDE_BEFORE + \ CMAKE_PROJECT_NAME + \ CMAKE_PROJECT_TOP_LEVEL_INCLUDES + \ CMAKE_PROJECT_VERSION + \ CMAKE_PROJECT_VERSION_MAJOR + \ CMAKE_PROJECT_VERSION_MINOR + \ CMAKE_PROJECT_VERSION_PATCH + \ CMAKE_PROJECT_VERSION_TWEAK + \ CMAKE_RANLIB + \ CMAKE_RC + \ CMAKE_RC_ANDROID_TOOLCHAIN_MACHINE + \ CMAKE_RC_ANDROID_TOOLCHAIN_PREFIX + \ CMAKE_RC_ANDROID_TOOLCHAIN_SUFFIX + \ CMAKE_RC_ARCHIVE_APPEND + \ CMAKE_RC_ARCHIVE_CREATE + \ CMAKE_RC_ARCHIVE_FINISH + \ CMAKE_RC_BYTE_ORDER + \ CMAKE_RC_CLANG_TIDY + \ CMAKE_RC_CLANG_TIDY_EXPORT_FIXES_DIR + \ CMAKE_RC_COMPILER + \ CMAKE_RC_COMPILER_ABI + \ CMAKE_RC_COMPILER_AR + \ CMAKE_RC_COMPILER_ARCHITECTURE_ID + \ CMAKE_RC_COMPILER_EXTERNAL_TOOLCHAIN + \ CMAKE_RC_COMPILER_FRONTEND_VARIANT + \ CMAKE_RC_COMPILER_ID + \ CMAKE_RC_COMPILER_LAUNCHER + \ CMAKE_RC_COMPILER_LOADED + \ CMAKE_RC_COMPILER_PREDEFINES_COMMAND + \ CMAKE_RC_COMPILER_RANLIB + \ CMAKE_RC_COMPILER_TARGET + \ CMAKE_RC_COMPILER_VERSION + \ CMAKE_RC_COMPILER_VERSION_INTERNAL + \ CMAKE_RC_COMPILE_OBJECT + \ CMAKE_RC_CPPCHECK + \ CMAKE_RC_CPPLINT + \ CMAKE_RC_CREATE_SHARED_LIBRARY + \ CMAKE_RC_CREATE_SHARED_MODULE + \ CMAKE_RC_CREATE_STATIC_LIBRARY + \ CMAKE_RC_EXTENSIONS + \ CMAKE_RC_EXTENSIONS_DEFAULT + \ CMAKE_RC_FLAGS + \ CMAKE_RC_FLAGS_DEBUG + \ CMAKE_RC_FLAGS_DEBUG_INIT + \ CMAKE_RC_FLAGS_INIT + \ CMAKE_RC_FLAGS_MINSIZEREL + \ CMAKE_RC_FLAGS_MINSIZEREL_INIT + \ CMAKE_RC_FLAGS_RELEASE + \ CMAKE_RC_FLAGS_RELEASE_INIT + \ CMAKE_RC_FLAGS_RELWITHDEBINFO + \ CMAKE_RC_FLAGS_RELWITHDEBINFO_INIT + \ CMAKE_RC_IGNORE_EXTENSIONS + \ CMAKE_RC_IMPLICIT_INCLUDE_DIRECTORIES + \ CMAKE_RC_IMPLICIT_LINK_DIRECTORIES + \ CMAKE_RC_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES + \ CMAKE_RC_IMPLICIT_LINK_LIBRARIES + \ CMAKE_RC_INCLUDE_WHAT_YOU_USE + \ CMAKE_RC_INIT + \ CMAKE_RC_LIBRARY_ARCHITECTURE + \ CMAKE_RC_LINKER_LAUNCHER + \ CMAKE_RC_LINKER_PREFERENCE + \ CMAKE_RC_LINKER_PREFERENCE_PROPAGATES + \ CMAKE_RC_LINKER_WRAPPER_FLAG + \ CMAKE_RC_LINKER_WRAPPER_FLAG_SEP + \ CMAKE_RC_LINK_EXECUTABLE + \ CMAKE_RC_LINK_LIBRARY_FILE_FLAG + \ CMAKE_RC_LINK_LIBRARY_FLAG + \ CMAKE_RC_LINK_LIBRARY_SUFFIX + \ CMAKE_RC_LINK_WHAT_YOU_USE_FLAG + \ CMAKE_RC_OUTPUT_EXTENSION + \ CMAKE_RC_PLATFORM_ID + \ CMAKE_RC_SIMULATE_ID + \ CMAKE_RC_SIMULATE_VERSION + \ CMAKE_RC_SIZEOF_DATA_PTR + \ CMAKE_RC_SOURCE_FILE_EXTENSIONS + \ CMAKE_RC_STANDARD + \ CMAKE_RC_STANDARD_DEFAULT + \ CMAKE_RC_STANDARD_INCLUDE_DIRECTORIES + \ CMAKE_RC_STANDARD_LIBRARIES + \ CMAKE_RC_STANDARD_REQUIRED + \ CMAKE_RC_SUPPORTED + \ CMAKE_RC_VISIBILITY_PRESET + \ CMAKE_ROOT + \ CMAKE_RULE_MESSAGES + \ CMAKE_RUNTIME_OUTPUT_DIRECTORY + \ CMAKE_SCRIPT_MODE_FILE + \ CMAKE_SHARED_LIBRARY_ENABLE_EXPORTS + \ CMAKE_SHARED_LIBRARY_PREFIX + \ CMAKE_SHARED_LIBRARY_SUFFIX + \ CMAKE_SHARED_LINKER_FLAGS + \ CMAKE_SHARED_LINKER_FLAGS_INIT + \ CMAKE_SHARED_MODULE_PREFIX + \ CMAKE_SHARED_MODULE_SUFFIX + \ CMAKE_SIZEOF_VOID_P + \ CMAKE_SKIP_BUILD_RPATH + \ CMAKE_SKIP_INSTALL_ALL_DEPENDENCY + \ CMAKE_SKIP_INSTALL_RPATH + \ CMAKE_SKIP_INSTALL_RULES + \ CMAKE_SKIP_RPATH + \ CMAKE_SKIP_TEST_ALL_DEPENDENCY + \ CMAKE_SOURCE_DIR + \ CMAKE_STAGING_PREFIX + \ CMAKE_STATIC_LIBRARY_PREFIX + \ CMAKE_STATIC_LIBRARY_SUFFIX + \ CMAKE_STATIC_LINKER_FLAGS + \ CMAKE_STATIC_LINKER_FLAGS_INIT + \ CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS + \ CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE + \ CMAKE_SUPPRESS_REGENERATION + \ CMAKE_SYSROOT + \ CMAKE_SYSROOT_COMPILE + \ CMAKE_SYSROOT_LINK + \ CMAKE_SYSTEM + \ CMAKE_SYSTEM_APPBUNDLE_PATH + \ CMAKE_SYSTEM_FRAMEWORK_PATH + \ CMAKE_SYSTEM_IGNORE_PATH + \ CMAKE_SYSTEM_IGNORE_PREFIX_PATH + \ CMAKE_SYSTEM_INCLUDE_PATH + \ CMAKE_SYSTEM_LIBRARY_PATH + \ CMAKE_SYSTEM_NAME + \ CMAKE_SYSTEM_PREFIX_PATH + \ CMAKE_SYSTEM_PROCESSOR + \ CMAKE_SYSTEM_PROGRAM_PATH + \ CMAKE_SYSTEM_VERSION + \ CMAKE_Swift + \ CMAKE_Swift_ANDROID_TOOLCHAIN_MACHINE + \ CMAKE_Swift_ANDROID_TOOLCHAIN_PREFIX + \ CMAKE_Swift_ANDROID_TOOLCHAIN_SUFFIX + \ CMAKE_Swift_ARCHIVE_APPEND + \ CMAKE_Swift_ARCHIVE_CREATE + \ CMAKE_Swift_ARCHIVE_FINISH + \ CMAKE_Swift_BYTE_ORDER + \ CMAKE_Swift_CLANG_TIDY + \ CMAKE_Swift_CLANG_TIDY_EXPORT_FIXES_DIR + \ CMAKE_Swift_COMPILER + \ CMAKE_Swift_COMPILER_ABI + \ CMAKE_Swift_COMPILER_AR + \ CMAKE_Swift_COMPILER_ARCHITECTURE_ID + \ CMAKE_Swift_COMPILER_EXTERNAL_TOOLCHAIN + \ CMAKE_Swift_COMPILER_FRONTEND_VARIANT + \ CMAKE_Swift_COMPILER_ID + \ CMAKE_Swift_COMPILER_LAUNCHER + \ CMAKE_Swift_COMPILER_LOADED + \ CMAKE_Swift_COMPILER_PREDEFINES_COMMAND + \ CMAKE_Swift_COMPILER_RANLIB + \ CMAKE_Swift_COMPILER_TARGET + \ CMAKE_Swift_COMPILER_VERSION + \ CMAKE_Swift_COMPILER_VERSION_INTERNAL + \ CMAKE_Swift_COMPILE_OBJECT + \ CMAKE_Swift_CPPCHECK + \ CMAKE_Swift_CPPLINT + \ CMAKE_Swift_CREATE_SHARED_LIBRARY + \ CMAKE_Swift_CREATE_SHARED_MODULE + \ CMAKE_Swift_CREATE_STATIC_LIBRARY + \ CMAKE_Swift_EXTENSIONS + \ CMAKE_Swift_EXTENSIONS_DEFAULT + \ CMAKE_Swift_FLAGS + \ CMAKE_Swift_FLAGS_DEBUG + \ CMAKE_Swift_FLAGS_DEBUG_INIT + \ CMAKE_Swift_FLAGS_INIT + \ CMAKE_Swift_FLAGS_MINSIZEREL + \ CMAKE_Swift_FLAGS_MINSIZEREL_INIT + \ CMAKE_Swift_FLAGS_RELEASE + \ CMAKE_Swift_FLAGS_RELEASE_INIT + \ CMAKE_Swift_FLAGS_RELWITHDEBINFO + \ CMAKE_Swift_FLAGS_RELWITHDEBINFO_INIT + \ CMAKE_Swift_IGNORE_EXTENSIONS + \ CMAKE_Swift_IMPLICIT_INCLUDE_DIRECTORIES + \ CMAKE_Swift_IMPLICIT_LINK_DIRECTORIES + \ CMAKE_Swift_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES + \ CMAKE_Swift_IMPLICIT_LINK_LIBRARIES + \ CMAKE_Swift_INCLUDE_WHAT_YOU_USE + \ CMAKE_Swift_INIT + \ CMAKE_Swift_LANGUAGE_VERSION + \ CMAKE_Swift_LIBRARY_ARCHITECTURE + \ CMAKE_Swift_LINKER_LAUNCHER + \ CMAKE_Swift_LINKER_PREFERENCE + \ CMAKE_Swift_LINKER_PREFERENCE_PROPAGATES + \ CMAKE_Swift_LINKER_WRAPPER_FLAG + \ CMAKE_Swift_LINKER_WRAPPER_FLAG_SEP + \ CMAKE_Swift_LINK_EXECUTABLE + \ CMAKE_Swift_LINK_LIBRARY_FILE_FLAG + \ CMAKE_Swift_LINK_LIBRARY_FLAG + \ CMAKE_Swift_LINK_LIBRARY_SUFFIX + \ CMAKE_Swift_LINK_WHAT_YOU_USE_FLAG + \ CMAKE_Swift_MODULE_DIRECTORY + \ CMAKE_Swift_NUM_THREADS + \ CMAKE_Swift_OUTPUT_EXTENSION + \ CMAKE_Swift_PLATFORM_ID + \ CMAKE_Swift_SIMULATE_ID + \ CMAKE_Swift_SIMULATE_VERSION + \ CMAKE_Swift_SIZEOF_DATA_PTR + \ CMAKE_Swift_SOURCE_FILE_EXTENSIONS + \ CMAKE_Swift_STANDARD + \ CMAKE_Swift_STANDARD_DEFAULT + \ CMAKE_Swift_STANDARD_INCLUDE_DIRECTORIES + \ CMAKE_Swift_STANDARD_LIBRARIES + \ CMAKE_Swift_STANDARD_REQUIRED + \ CMAKE_Swift_SUPPORTED + \ CMAKE_Swift_VISIBILITY_PRESET + \ CMAKE_TASKING_TOOLSET + \ CMAKE_TLS_CAINFO + \ CMAKE_TLS_VERIFY + \ CMAKE_TOOLCHAIN_FILE + \ CMAKE_TRY_COMPILE_CONFIGURATION + \ CMAKE_TRY_COMPILE_NO_PLATFORM_VARIABLES + \ CMAKE_TRY_COMPILE_PLATFORM_VARIABLES + \ CMAKE_TRY_COMPILE_TARGET_TYPE + \ CMAKE_TWEAK_VERSION + \ CMAKE_UNITY_BUILD + \ CMAKE_UNITY_BUILD_BATCH_SIZE + \ CMAKE_UNITY_BUILD_UNIQUE_ID + \ CMAKE_USER_MAKE_RULES_OVERRIDE + \ CMAKE_USER_MAKE_RULES_OVERRIDE_ASM + \ CMAKE_USER_MAKE_RULES_OVERRIDE_ASM_MASM + \ CMAKE_USER_MAKE_RULES_OVERRIDE_ASM_NASM + \ CMAKE_USER_MAKE_RULES_OVERRIDE_C + \ CMAKE_USER_MAKE_RULES_OVERRIDE_CSharp + \ CMAKE_USER_MAKE_RULES_OVERRIDE_CUDA + \ CMAKE_USER_MAKE_RULES_OVERRIDE_CXX + \ CMAKE_USER_MAKE_RULES_OVERRIDE_Fortran + \ CMAKE_USER_MAKE_RULES_OVERRIDE_HIP + \ CMAKE_USER_MAKE_RULES_OVERRIDE_Java + \ CMAKE_USER_MAKE_RULES_OVERRIDE_RC + \ CMAKE_USER_MAKE_RULES_OVERRIDE_Swift + \ CMAKE_USE_RELATIVE_PATHS + \ CMAKE_VERBOSE_MAKEFILE + \ CMAKE_VERIFY_INTERFACE_HEADER_SETS + \ CMAKE_VERSION + \ CMAKE_VISIBILITY_INLINES_HIDDEN + \ CMAKE_VS_DEBUGGER_COMMAND + \ CMAKE_VS_DEBUGGER_COMMAND_ARGUMENTS + \ CMAKE_VS_DEBUGGER_ENVIRONMENT + \ CMAKE_VS_DEBUGGER_WORKING_DIRECTORY + \ CMAKE_VS_DEVENV_COMMAND + \ CMAKE_VS_GLOBALS + \ CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD + \ CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD + \ CMAKE_VS_INTEL_Fortran_PROJECT_VERSION + \ CMAKE_VS_JUST_MY_CODE_DEBUGGING + \ CMAKE_VS_MSBUILD_COMMAND + \ CMAKE_VS_NO_COMPILE_BATCHING + \ CMAKE_VS_NUGET_PACKAGE_RESTORE + \ CMAKE_VS_NsightTegra_VERSION + \ CMAKE_VS_PLATFORM_NAME + \ CMAKE_VS_PLATFORM_NAME_DEFAULT + \ CMAKE_VS_PLATFORM_TOOLSET + \ CMAKE_VS_PLATFORM_TOOLSET_CUDA + \ CMAKE_VS_PLATFORM_TOOLSET_CUDA_CUSTOM_DIR + \ CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE + \ CMAKE_VS_PLATFORM_TOOLSET_VERSION + \ CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + \ CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + \ CMAKE_VS_SDK_INCLUDE_DIRECTORIES + \ CMAKE_VS_SDK_LIBRARY_DIRECTORIES + \ CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + \ CMAKE_VS_SDK_REFERENCE_DIRECTORIES + \ CMAKE_VS_SDK_SOURCE_DIRECTORIES + \ CMAKE_VS_TARGET_FRAMEWORK_IDENTIFIER + \ CMAKE_VS_TARGET_FRAMEWORK_TARGETS_VERSION + \ CMAKE_VS_TARGET_FRAMEWORK_VERSION + \ CMAKE_VS_VERSION_BUILD_NUMBER + \ CMAKE_VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION + \ CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION + \ CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM + \ CMAKE_VS_WINRT_BY_DEFAULT + \ CMAKE_WARN_DEPRECATED + \ CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION + \ CMAKE_WATCOM_RUNTIME_LIBRARY + \ CMAKE_WIN32_EXECUTABLE + \ CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS + \ CMAKE_XCODE_BUILD_SYSTEM + \ CMAKE_XCODE_GENERATE_SCHEME + \ CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY + \ CMAKE_XCODE_LINK_BUILD_PHASE_MODE + \ CMAKE_XCODE_PLATFORM_TOOLSET + \ CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER + \ CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN + \ CMAKE_XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING + \ CMAKE_XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE + \ CMAKE_XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER + \ CMAKE_XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS + \ CMAKE_XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE + \ CMAKE_XCODE_SCHEME_ENABLE_GPU_API_VALIDATION + \ CMAKE_XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE + \ CMAKE_XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION + \ CMAKE_XCODE_SCHEME_ENVIRONMENT + \ CMAKE_XCODE_SCHEME_GUARD_MALLOC + \ CMAKE_XCODE_SCHEME_LAUNCH_CONFIGURATION + \ CMAKE_XCODE_SCHEME_LAUNCH_MODE + \ CMAKE_XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP + \ CMAKE_XCODE_SCHEME_MALLOC_GUARD_EDGES + \ CMAKE_XCODE_SCHEME_MALLOC_SCRIBBLE + \ CMAKE_XCODE_SCHEME_MALLOC_STACK + \ CMAKE_XCODE_SCHEME_THREAD_SANITIZER + \ CMAKE_XCODE_SCHEME_THREAD_SANITIZER_STOP + \ CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER + \ CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP + \ CMAKE_XCODE_SCHEME_ENABLE_GPU_API_VALIDATION + \ CMAKE_XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION + \ CMAKE_XCODE_SCHEME_LAUNCH_CONFIGURATION + \ CMAKE_XCODE_SCHEME_WORKING_DIRECTORY + \ CMAKE_XCODE_SCHEME_ZOMBIE_OBJECTS + \ CMAKE_XCODE_XCCONFIG + \ CPACK_ABSOLUTE_DESTINATION_FILES + \ CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY + \ CPACK_CUSTOM_INSTALL_VARIABLES + \ CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION + \ CPACK_INCLUDE_TOPLEVEL_DIRECTORY + \ CPACK_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS + \ CPACK_PACKAGING_INSTALL_PREFIX + \ CPACK_SET_DESTDIR + \ CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION + \ CTEST_BINARY_DIRECTORY + \ CTEST_BUILD_COMMAND + \ CTEST_BUILD_NAME + \ CTEST_BZR_COMMAND + \ CTEST_BZR_UPDATE_OPTIONS + \ CTEST_CHANGE_ID + \ CTEST_CHECKOUT_COMMAND + \ CTEST_CONFIGURATION_TYPE + \ CTEST_CONFIGURE_COMMAND + \ CTEST_COVERAGE_COMMAND + \ CTEST_COVERAGE_EXTRA_FLAGS + \ CTEST_CURL_OPTIONS + \ CTEST_CUSTOM_COVERAGE_EXCLUDE + \ CTEST_CUSTOM_ERROR_EXCEPTION + \ CTEST_CUSTOM_ERROR_MATCH + \ CTEST_CUSTOM_ERROR_POST_CONTEXT + \ CTEST_CUSTOM_ERROR_PRE_CONTEXT + \ CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE + \ CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS + \ CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS + \ CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE + \ CTEST_CUSTOM_TEST_OUTPUT_TRUNCATION + \ CTEST_CUSTOM_MEMCHECK_IGNORE + \ CTEST_CUSTOM_POST_MEMCHECK + \ CTEST_CUSTOM_POST_TEST + \ CTEST_CUSTOM_PRE_MEMCHECK + \ CTEST_CUSTOM_PRE_TEST + \ CTEST_CUSTOM_TESTS_IGNORE + \ CTEST_CUSTOM_TEST_OUTPUT_TRUNCATION + \ CTEST_CUSTOM_WARNING_EXCEPTION + \ CTEST_CUSTOM_WARNING_MATCH + \ CTEST_CVS_CHECKOUT + \ CTEST_CVS_COMMAND + \ CTEST_CVS_UPDATE_OPTIONS + \ CTEST_DROP_LOCATION + \ CTEST_DROP_METHOD + \ CTEST_DROP_SITE + \ CTEST_DROP_SITE_CDASH + \ CTEST_DROP_SITE_PASSWORD + \ CTEST_DROP_SITE_USER + \ CTEST_EXTRA_COVERAGE_GLOB + \ CTEST_GIT_COMMAND + \ CTEST_GIT_INIT_SUBMODULES + \ CTEST_GIT_UPDATE_CUSTOM + \ CTEST_GIT_UPDATE_OPTIONS + \ CTEST_HG_COMMAND + \ CTEST_HG_UPDATE_OPTIONS + \ CTEST_LABELS_FOR_SUBPROJECTS + \ CTEST_MEMORYCHECK_COMMAND + \ CTEST_MEMORYCHECK_COMMAND_OPTIONS + \ CTEST_MEMORYCHECK_SANITIZER_OPTIONS + \ CTEST_MEMORYCHECK_SUPPRESSIONS_FILE + \ CTEST_MEMORYCHECK_TYPE + \ CTEST_NIGHTLY_START_TIME + \ CTEST_P4_CLIENT + \ CTEST_P4_COMMAND + \ CTEST_P4_OPTIONS + \ CTEST_P4_UPDATE_OPTIONS + \ CTEST_RESOURCE_SPEC_FILE + \ CTEST_RUN_CURRENT_SCRIPT + \ CTEST_SCP_COMMAND + \ CTEST_SCRIPT_DIRECTORY + \ CTEST_SITE + \ CTEST_SOURCE_DIRECTORY + \ CTEST_SUBMIT_INACTIVITY_TIMEOUT + \ CTEST_SUBMIT_URL + \ CTEST_SVN_COMMAND + \ CTEST_SVN_OPTIONS + \ CTEST_SVN_UPDATE_OPTIONS + \ CTEST_TEST_LOAD + \ CTEST_TEST_TIMEOUT + \ CTEST_TRIGGER_SITE + \ CTEST_UPDATE_COMMAND + \ CTEST_UPDATE_OPTIONS + \ CTEST_UPDATE_VERSION_ONLY + \ CTEST_UPDATE_VERSION_OVERRIDE + \ CTEST_USE_LAUNCHERS + \ CYGWIN + \ DOXYGEN_ABBREVIATE_BRIEF + \ DOXYGEN_ALIASES + \ DOXYGEN_ALLEXTERNALS + \ DOXYGEN_ALLOW_UNICODE_NAMES + \ DOXYGEN_ALPHABETICAL_INDEX + \ DOXYGEN_ALWAYS_DETAILED_SEC + \ DOXYGEN_AUTOLINK_SUPPORT + \ DOXYGEN_BINARY_TOC + \ DOXYGEN_BRIEF_MEMBER_DESC + \ DOXYGEN_BUILTIN_STL_SUPPORT + \ DOXYGEN_CALLER_GRAPH + \ DOXYGEN_CALL_GRAPH + \ DOXYGEN_CASE_SENSE_NAMES + \ DOXYGEN_CHM_FILE + \ DOXYGEN_CHM_INDEX_ENCODING + \ DOXYGEN_CITE_BIB_FILES + \ DOXYGEN_CLANG_ASSISTED_PARSING + \ DOXYGEN_CLANG_DATABASE_PATH + \ DOXYGEN_CLANG_OPTIONS + \ DOXYGEN_CLASS_DIAGRAMS + \ DOXYGEN_CLASS_GRAPH + \ DOXYGEN_COLLABORATION_GRAPH + \ DOXYGEN_COLS_IN_ALPHA_INDEX + \ DOXYGEN_COMPACT_LATEX + \ DOXYGEN_COMPACT_RTF + \ DOXYGEN_CPP_CLI_SUPPORT + \ DOXYGEN_CREATE_SUBDIRS + \ DOXYGEN_DIAFILE_DIRS + \ DOXYGEN_DIA_PATH + \ DOXYGEN_DIRECTORY_GRAPH + \ DOXYGEN_DISABLE_INDEX + \ DOXYGEN_DISTRIBUTE_GROUP_DOC + \ DOXYGEN_DOCBOOK_OUTPUT + \ DOXYGEN_DOCBOOK_PROGRAMLISTING + \ DOXYGEN_DOCSET_BUNDLE_ID + \ DOXYGEN_DOCSET_FEEDNAME + \ DOXYGEN_DOCSET_PUBLISHER_ID + \ DOXYGEN_DOCSET_PUBLISHER_NAME + \ DOXYGEN_DOTFILE_DIRS + \ DOXYGEN_DOT_CLEANUP + \ DOXYGEN_DOT_FONTNAME + \ DOXYGEN_DOT_FONTPATH + \ DOXYGEN_DOT_FONTSIZE + \ DOXYGEN_DOT_GRAPH_MAX_NODES + \ DOXYGEN_DOT_IMAGE_FORMAT + \ DOXYGEN_DOT_MULTI_TARGETS + \ DOXYGEN_DOT_NUM_THREADS + \ DOXYGEN_DOT_PATH + \ DOXYGEN_DOT_TRANSPARENT + \ DOXYGEN_DOXYFILE_ENCODING + \ DOXYGEN_ECLIPSE_DOC_ID + \ DOXYGEN_ENABLED_SECTIONS + \ DOXYGEN_ENABLE_PREPROCESSING + \ DOXYGEN_ENUM_VALUES_PER_LINE + \ DOXYGEN_EXAMPLE_PATH + \ DOXYGEN_EXAMPLE_PATTERNS + \ DOXYGEN_EXAMPLE_RECURSIVE + \ DOXYGEN_EXCLUDE + \ DOXYGEN_EXCLUDE_PATTERNS + \ DOXYGEN_EXCLUDE_SYMBOLS + \ DOXYGEN_EXCLUDE_SYMLINKS + \ DOXYGEN_EXPAND_AS_DEFINED + \ DOXYGEN_EXPAND_ONLY_PREDEF + \ DOXYGEN_EXTENSION_MAPPING + \ DOXYGEN_EXTERNAL_GROUPS + \ DOXYGEN_EXTERNAL_PAGES + \ DOXYGEN_EXTERNAL_SEARCH + \ DOXYGEN_EXTERNAL_SEARCH_ID + \ DOXYGEN_EXTRACT_ALL + \ DOXYGEN_EXTRACT_ANON_NSPACES + \ DOXYGEN_EXTRACT_LOCAL_CLASSES + \ DOXYGEN_EXTRACT_LOCAL_METHODS + \ DOXYGEN_EXTRACT_PACKAGE + \ DOXYGEN_EXTRACT_PRIVATE + \ DOXYGEN_EXTRACT_PRIV_VIRTUAL + \ DOXYGEN_EXTRACT_STATIC + \ DOXYGEN_EXTRA_PACKAGES + \ DOXYGEN_EXTRA_SEARCH_MAPPINGS + \ DOXYGEN_EXT_LINKS_IN_WINDOW + \ DOXYGEN_FILE_PATTERNS + \ DOXYGEN_FILE_VERSION_FILTER + \ DOXYGEN_FILTER_PATTERNS + \ DOXYGEN_FILTER_SOURCE_FILES + \ DOXYGEN_FILTER_SOURCE_PATTERNS + \ DOXYGEN_FORCE_LOCAL_INCLUDES + \ DOXYGEN_FORMULA_FONTSIZE + \ DOXYGEN_FORMULA_TRANSPARENT + \ DOXYGEN_FULL_PATH_NAMES + \ DOXYGEN_GENERATE_AUTOGEN_DEF + \ DOXYGEN_GENERATE_BUGLIST + \ DOXYGEN_GENERATE_CHI + \ DOXYGEN_GENERATE_DEPRECATEDLIST + \ DOXYGEN_GENERATE_DOCBOOK + \ DOXYGEN_GENERATE_DOCSET + \ DOXYGEN_GENERATE_ECLIPSEHELP + \ DOXYGEN_GENERATE_HTML + \ DOXYGEN_GENERATE_HTMLHELP + \ DOXYGEN_GENERATE_LATEX + \ DOXYGEN_GENERATE_LEGEND + \ DOXYGEN_GENERATE_MAN + \ DOXYGEN_GENERATE_PERLMOD + \ DOXYGEN_GENERATE_QHP + \ DOXYGEN_GENERATE_RTF + \ DOXYGEN_GENERATE_TAGFILE + \ DOXYGEN_GENERATE_TESTLIST + \ DOXYGEN_GENERATE_TODOLIST + \ DOXYGEN_GENERATE_TREEVIEW + \ DOXYGEN_GENERATE_XML + \ DOXYGEN_GRAPHICAL_HIERARCHY + \ DOXYGEN_GROUP_GRAPHS + \ DOXYGEN_GROUP_NESTED_COMPOUNDS + \ DOXYGEN_HAVE_DOT + \ DOXYGEN_HHC_LOCATION + \ DOXYGEN_HIDE_COMPOUND_REFERENCE + \ DOXYGEN_HIDE_FRIEND_COMPOUNDS + \ DOXYGEN_HIDE_IN_BODY_DOCS + \ DOXYGEN_HIDE_SCOPE_NAMES + \ DOXYGEN_HIDE_UNDOC_CLASSES + \ DOXYGEN_HIDE_UNDOC_MEMBERS + \ DOXYGEN_HIDE_UNDOC_RELATIONS + \ DOXYGEN_HTML_COLORSTYLE_GAMMA + \ DOXYGEN_HTML_COLORSTYLE_HUE + \ DOXYGEN_HTML_COLORSTYLE_SAT + \ DOXYGEN_HTML_DYNAMIC_MENUS + \ DOXYGEN_HTML_DYNAMIC_SECTIONS + \ DOXYGEN_HTML_EXTRA_FILES + \ DOXYGEN_HTML_EXTRA_STYLESHEET + \ DOXYGEN_HTML_FILE_EXTENSION + \ DOXYGEN_HTML_FOOTER + \ DOXYGEN_HTML_HEADER + \ DOXYGEN_HTML_INDEX_NUM_ENTRIES + \ DOXYGEN_HTML_OUTPUT + \ DOXYGEN_HTML_STYLESHEET + \ DOXYGEN_HTML_TIMESTAMP + \ DOXYGEN_IDL_PROPERTY_SUPPORT + \ DOXYGEN_IGNORE_PREFIX + \ DOXYGEN_IMAGE_PATH + \ DOXYGEN_INCLUDED_BY_GRAPH + \ DOXYGEN_INCLUDE_FILE_PATTERNS + \ DOXYGEN_INCLUDE_GRAPH + \ DOXYGEN_INCLUDE_PATH + \ DOXYGEN_INHERIT_DOCS + \ DOXYGEN_INLINE_GROUPED_CLASSES + \ DOXYGEN_INLINE_INFO + \ DOXYGEN_INLINE_INHERITED_MEMB + \ DOXYGEN_INLINE_SIMPLE_STRUCTS + \ DOXYGEN_INLINE_SOURCES + \ DOXYGEN_INPUT + \ DOXYGEN_INPUT_ENCODING + \ DOXYGEN_INPUT_FILTER + \ DOXYGEN_INTERACTIVE_SVG + \ DOXYGEN_INTERNAL_DOCS + \ DOXYGEN_JAVADOC_AUTOBRIEF + \ DOXYGEN_JAVADOC_BANNER + \ DOXYGEN_LATEX_BATCHMODE + \ DOXYGEN_LATEX_BIB_STYLE + \ DOXYGEN_LATEX_CMD_NAME + \ DOXYGEN_LATEX_EMOJI_DIRECTORY + \ DOXYGEN_LATEX_EXTRA_FILES + \ DOXYGEN_LATEX_EXTRA_STYLESHEET + \ DOXYGEN_LATEX_FOOTER + \ DOXYGEN_LATEX_HEADER + \ DOXYGEN_LATEX_HIDE_INDICES + \ DOXYGEN_LATEX_MAKEINDEX_CMD + \ DOXYGEN_LATEX_OUTPUT + \ DOXYGEN_LATEX_SOURCE_CODE + \ DOXYGEN_LATEX_TIMESTAMP + \ DOXYGEN_LAYOUT_FILE + \ DOXYGEN_LOOKUP_CACHE_SIZE + \ DOXYGEN_MACRO_EXPANSION + \ DOXYGEN_MAKEINDEX_CMD_NAME + \ DOXYGEN_MAN_EXTENSION + \ DOXYGEN_MAN_LINKS + \ DOXYGEN_MAN_OUTPUT + \ DOXYGEN_MAN_SUBDIR + \ DOXYGEN_MARKDOWN_SUPPORT + \ DOXYGEN_MATHJAX_CODEFILE + \ DOXYGEN_MATHJAX_EXTENSIONS + \ DOXYGEN_MATHJAX_FORMAT + \ DOXYGEN_MATHJAX_RELPATH + \ DOXYGEN_MAX_DOT_GRAPH_DEPTH + \ DOXYGEN_MAX_INITIALIZER_LINES + \ DOXYGEN_MSCFILE_DIRS + \ DOXYGEN_MULTILINE_CPP_IS_BRIEF + \ DOXYGEN_OPTIMIZE_FOR_FORTRAN + \ DOXYGEN_OPTIMIZE_OUTPUT_FOR_C + \ DOXYGEN_OPTIMIZE_OUTPUT_JAVA + \ DOXYGEN_OPTIMIZE_OUTPUT_SLICE + \ DOXYGEN_OPTIMIZE_OUTPUT_VHDL + \ DOXYGEN_OUTPUT_DIRECTORY + \ DOXYGEN_OUTPUT_LANGUAGE + \ DOXYGEN_OUTPUT_TEXT_DIRECTION + \ DOXYGEN_PAPER_TYPE + \ DOXYGEN_PDF_HYPERLINKS + \ DOXYGEN_PERLMOD_LATEX + \ DOXYGEN_PERLMOD_MAKEVAR_PREFIX + \ DOXYGEN_PERLMOD_PRETTY + \ DOXYGEN_PLANTUML_CFG_FILE + \ DOXYGEN_PLANTUML_INCLUDE_PATH + \ DOXYGEN_PLANTUML_JAR_PATH + \ DOXYGEN_PREDEFINED + \ DOXYGEN_PROJECT_BRIEF + \ DOXYGEN_PROJECT_LOGO + \ DOXYGEN_PROJECT_NAME + \ DOXYGEN_PROJECT_NUMBER + \ DOXYGEN_QCH_FILE + \ DOXYGEN_QHG_LOCATION + \ DOXYGEN_QHP_CUST_FILTER_ATTRS + \ DOXYGEN_QHP_CUST_FILTER_NAME + \ DOXYGEN_QHP_NAMESPACE + \ DOXYGEN_QHP_SECT_FILTER_ATTRS + \ DOXYGEN_QHP_VIRTUAL_FOLDER + \ DOXYGEN_QT_AUTOBRIEF + \ DOXYGEN_QUIET + \ DOXYGEN_RECURSIVE + \ DOXYGEN_REFERENCED_BY_RELATION + \ DOXYGEN_REFERENCES_LINK_SOURCE + \ DOXYGEN_REFERENCES_RELATION + \ DOXYGEN_REPEAT_BRIEF + \ DOXYGEN_RTF_EXTENSIONS_FILE + \ DOXYGEN_RTF_HYPERLINKS + \ DOXYGEN_RTF_OUTPUT + \ DOXYGEN_RTF_SOURCE_CODE + \ DOXYGEN_RTF_STYLESHEET_FILE + \ DOXYGEN_SEARCHDATA_FILE + \ DOXYGEN_SEARCHENGINE + \ DOXYGEN_SEARCHENGINE_URL + \ DOXYGEN_SEARCH_INCLUDES + \ DOXYGEN_SEPARATE_MEMBER_PAGES + \ DOXYGEN_SERVER_BASED_SEARCH + \ DOXYGEN_SHORT_NAMES + \ DOXYGEN_SHOW_FILES + \ DOXYGEN_SHOW_GROUPED_MEMB_INC + \ DOXYGEN_SHOW_INCLUDE_FILES + \ DOXYGEN_SHOW_NAMESPACES + \ DOXYGEN_SHOW_USED_FILES + \ DOXYGEN_SIP_SUPPORT + \ DOXYGEN_SKIP_FUNCTION_MACROS + \ DOXYGEN_SORT_BRIEF_DOCS + \ DOXYGEN_SORT_BY_SCOPE_NAME + \ DOXYGEN_SORT_GROUP_NAMES + \ DOXYGEN_SORT_MEMBERS_CTORS_1ST + \ DOXYGEN_SORT_MEMBER_DOCS + \ DOXYGEN_SOURCE_BROWSER + \ DOXYGEN_SOURCE_TOOLTIPS + \ DOXYGEN_STRICT_PROTO_MATCHING + \ DOXYGEN_STRIP_CODE_COMMENTS + \ DOXYGEN_STRIP_FROM_INC_PATH + \ DOXYGEN_STRIP_FROM_PATH + \ DOXYGEN_SUBGROUPING + \ DOXYGEN_TAB_SIZE + \ DOXYGEN_TAGFILES + \ DOXYGEN_TCL_SUBST + \ DOXYGEN_TEMPLATE_RELATIONS + \ DOXYGEN_TOC_EXPAND + \ DOXYGEN_TOC_INCLUDE_HEADINGS + \ DOXYGEN_TREEVIEW_WIDTH + \ DOXYGEN_TYPEDEF_HIDES_STRUCT + \ DOXYGEN_UML_LIMIT_NUM_FIELDS + \ DOXYGEN_UML_LOOK + \ DOXYGEN_USE_HTAGS + \ DOXYGEN_USE_MATHJAX + \ DOXYGEN_USE_MDFILE_AS_MAINPAGE + \ DOXYGEN_USE_PDFLATEX + \ DOXYGEN_VERBATIM_HEADERS + \ DOXYGEN_VERBATIM_VARS + \ DOXYGEN_VERSION + \ DOXYGEN_WARNINGS + \ DOXYGEN_WARN_AS_ERROR + \ DOXYGEN_WARN_FORMAT + \ DOXYGEN_WARN_IF_DOC_ERROR + \ DOXYGEN_WARN_IF_UNDOCUMENTED + \ DOXYGEN_WARN_LOGFILE + \ DOXYGEN_WARN_NO_PARAMDOC + \ DOXYGEN_XML_NS_MEMB_FILE_SCOPE + \ DOXYGEN_XML_OUTPUT + \ DOXYGEN_XML_PROGRAMLISTING + \ ENV + \ EXECUTABLE_OUTPUT_PATH + \ GHSMULTI + \ IOS + \ LIBRARY_OUTPUT_PATH + \ LINUX + \ MINGW + \ MSVC + \ MSVC10 + \ MSVC11 + \ MSVC12 + \ MSVC14 + \ MSVC60 + \ MSVC70 + \ MSVC71 + \ MSVC80 + \ MSVC90 + \ MSVC_IDE + \ MSVC_TOOLSET_VERSION + \ MSVC_VERSION + \ MSYS + \ PROJECT_BINARY_DIR + \ PROJECT_DESCRIPTION + \ PROJECT_HOMEPAGE_URL + \ PROJECT_IS_TOP_LEVEL + \ PROJECT_NAME + \ PROJECT_SOURCE_DIR + \ PROJECT_VERSION + \ PROJECT_VERSION_MAJOR + \ PROJECT_VERSION_MINOR + \ PROJECT_VERSION_PATCH + \ PROJECT_VERSION_TWEAK + \ UNIX + \ WIN32 + \ WINCE + \ WINDOWS_PHONE + \ WINDOWS_STORE + \ XCODE + \ XCODE_VERSION + +syn keyword cmakeModule contained + \ ExternalProject + \ FetchContent + +syn keyword cmakeKWExternalProject contained + \ AWS + \ BINARY_DIR + \ BUILD_ALWAYS + \ BUILD_BYPRODUCTS + \ BUILD_COMMAND + \ BUILD_IN_SOURCE + \ CHECKOUT + \ CMAKE_ARGS + \ CMAKE_CACHE_ARGS + \ CMAKE_CACHE_DEFAULT_ARGS + \ CMAKE_EP_GIT_REMOTE_UPDATE_STRATEGY + \ CMAKE_INSTALL_MODE + \ COMMENT + \ CONFIGURE_COMMAND + \ CONFIGURE_HANDLED_BY_BUILD + \ CVS + \ CVSROOT + \ CVS_MODULE + \ CVS_REPOSITORY + \ CVS_TAG + \ DEPENDEES + \ DEPENDERS + \ DEPENDS + \ DOWNLOADED_FILE + \ DOWNLOAD_COMMAND + \ DOWNLOAD_DIR + \ DOWNLOAD_EXTRACT_TIMESTAMP + \ DOWNLOAD_NAME + \ DOWNLOAD_NO_EXTRACT + \ DOWNLOAD_NO_PROGRESS + \ EP_BASE + \ EP_INDEPENDENT_STEP_TARGETS + \ EP_PREFIX + \ EP_STEP_TARGETS + \ EP_UPDATE_DISCONNECTED + \ EXCLUDE_FROM_ALL + \ FALSE + \ FORCE + \ GHS + \ GIT_CONFIG + \ GIT_PROGRESS + \ GIT_REMOTE_NAME + \ GIT_REMOTE_UPDATE_STRATEGY + \ GIT_REPOSITORY + \ GIT_SHALLOW + \ GIT_SUBMODULES + \ GIT_SUBMODULES_RECURSE + \ GIT_TAG + \ HG_REPOSITORY + \ HG_TAG + \ HTTP_HEADER + \ HTTP_PASSWORD + \ HTTP_USERNAME + \ IGNORED + \ INACTIVITY_TIMEOUT + \ INDEPENDENT_STEP_TARGETS + \ INSTALL_BYPRODUCTS + \ INSTALL_COMMAND + \ INSTALL_DIR + \ JOB_POOLS + \ LIST_SEPARATOR + \ LOG_BUILD + \ LOG_CONFIGURE + \ LOG_DIR + \ LOG_DOWNLOAD + \ LOG_INSTALL + \ LOG_MERGED_STDOUTERR + \ LOG_OUTPUT_ON_FAILURE + \ LOG_PATCH + \ LOG_TEST + \ LOG_UPDATE + \ MAKE_EXE + \ MULTI + \ NAMES + \ NETRC + \ NETRC_FILE + \ NOTE + \ NO_DEPENDS + \ OPTIONAL + \ PATCH_COMMAND + \ PREFIX + \ PROPERTY + \ REBASE + \ REBASE_CHECKOUT + \ REQUIRED + \ SOURCE_DIR + \ SOURCE_SUBDIR + \ STAMP_DIR + \ STEP_TARGETS + \ STRING + \ SVN_PASSWORD + \ SVN_REPOSITORY + \ SVN_REVISION + \ SVN_TRUST_CERT + \ SVN_USERNAME + \ TEST_AFTER_INSTALL + \ TEST_BEFORE_INSTALL + \ TEST_COMMAND + \ TEST_EXCLUDE_FROM_MAIN + \ TIMEOUT + \ TLS_CAINFO + \ TLS_VERIFY + \ TMP_DIR + \ TRUE + \ UPDATE_COMMAND + \ UPDATE_DISCONNECTED + \ URL + \ URL_HASH + \ URL_MD5 + \ USES_TERMINAL_BUILD + \ USES_TERMINAL_CONFIGURE + \ USES_TERMINAL_DOWNLOAD + \ USES_TERMINAL_INSTALL + \ USES_TERMINAL_PATCH + \ USES_TERMINAL_TEST + \ USES_TERMINAL_UPDATE + \ WORKING_DIRECTORY + +syn keyword cmakeKWFetchContent contained + \ ALWAYS + \ BINARY_DIR + \ BUILD_COMMAND + \ BYPASS_PROVIDER + \ CMAKE_PROJECT_ + \ CONFIGURE_COMMAND + \ COPY + \ CORRECT + \ DCMAKE_TOOLCHAIN_FILE + \ DESTINATION + \ DOWNLOAD_NO_EXTRACT + \ EXISTS + \ FETCHCONTENT_BASE_DIR + \ FETCHCONTENT_FULLY_DISCONNECTED + \ FETCHCONTENT_MAKEAVAILABLE_SERIAL + \ FETCHCONTENT_QUIET + \ FETCHCONTENT_SOURCE_DIR_ + \ FETCHCONTENT_TRY_FIND_PACKAGE_MODE + \ FETCHCONTENT_UPDATES_DISCONNECTED + \ FETCHCONTENT_UPDATES_DISCONNECTED_ + \ FIND_PACKAGE_ARGS + \ GIT_REPOSITORY + \ GIT_TAG + \ GLOBAL + \ GTEST_BOTH_LIBRARIES + \ GTEST_LIBRARIES + \ GTEST_MAIN_LIBRARIES + \ INSTALL_COMMAND + \ INTERNAL + \ NAME + \ NAMES + \ NEVER + \ NOTE + \ OFF + \ OPTIONAL + \ OPT_IN + \ OVERRIDE_FIND_PACKAGE + \ PACKAGE_VERSION_COMPATIBLE + \ PACKAGE_VERSION_EXACT + \ QUIET + \ SOURCE_SUBDIR + \ STREQUAL + \ SUBBUILD_DIR + \ SVN_REPOSITORY + \ SVN_REVISION + \ SYSTEM + \ TARGET + \ TEST_COMMAND + \ TRUE + \ URL + \ URL_HASH + \ VERIFY_INTERFACE_HEADER_SETS + \ WRITE + \ WRONG + \ _BINARY_DIR + \ _INCLUDE + \ _POPULATED + \ _SOURCE_DIR + +syn keyword cmakeKWadd_compile_definitions contained + \ COMPILE_DEFINITIONS + \ VAR + +syn keyword cmakeKWadd_compile_options contained + \ CMAKE_ + \ COMPILE_LANGUAGE + \ COMPILE_OPTIONS + \ CONFIG + \ SHELL + \ UNIX_COMMAND + \ _FLAGS + \ _FLAGS_ + +syn keyword cmakeKWadd_custom_command contained + \ APPEND + \ ARGS + \ BNF + \ BYPRODUCTS + \ CC + \ COMMAND + \ COMMAND_EXPAND_LISTS + \ COMMENT + \ CONFIG + \ CROSSCOMPILING_EMULATOR + \ DEPENDS + \ DEPENDS_EXPLICIT_ONLY + \ DEPFILE + \ GENERATED + \ IMPLICIT_DEPENDS + \ INCLUDE_DIRECTORIES + \ JOB_POOL + \ JOB_POOLS + \ JOIN + \ MAIN_DEPENDENCY + \ MODULE + \ NOT + \ OUTPUT + \ PATH + \ POST_BUILD + \ PRE_BUILD + \ PRE_LINK + \ SYMBOLIC + \ TARGET_FILE + \ TARGET_LINKER_FILE + \ TARGET_PDB_FILE + \ TARGET_PROPERTY + \ TARGET_SONAME_FILE + \ USES_TERMINAL + \ VERBATIM + \ WORKING_DIRECTORY + +syn keyword cmakeKWadd_custom_target contained + \ ALL + \ BYPRODUCTS + \ CC + \ COMMAND + \ COMMAND_EXPAND_LISTS + \ COMMENT + \ CROSSCOMPILING_EMULATOR + \ DEPENDS + \ GENERATED + \ INCLUDE_DIRECTORIES + \ JOB_POOL + \ JOB_POOLS + \ JOIN + \ PATH + \ SOURCES + \ TARGET_FILE + \ TARGET_LINKER_FILE + \ TARGET_PDB_FILE + \ TARGET_PROPERTY + \ TARGET_SONAME_FILE + \ USES_TERMINAL + \ VERBATIM + \ WORKING_DIRECTORY + +syn keyword cmakeKWadd_definitions contained + \ COMPILE_DEFINITIONS + +syn keyword cmakeKWadd_dependencies contained + \ DEPENDS + \ OBJECT_DEPENDS + +syn keyword cmakeKWadd_executable contained + \ ALIAS + \ ALIAS_GLOBAL + \ CONFIG + \ EXCLUDE_FROM_ALL + \ GLOBAL + \ HEADER_FILE_ONLY + \ IMPORTED + \ IMPORTED_ + \ IMPORTED_LOCATION + \ IMPORTED_LOCATION_ + \ MACOSX_BUNDLE + \ OUTPUT_NAME + \ RUNTIME_OUTPUT_DIRECTORY + \ TARGET + +syn keyword cmakeKWadd_library contained + \ ALIAS + \ ALIAS_GLOBAL + \ ARCHIVE_OUTPUT_DIRECTORY + \ CLI + \ CONFIG + \ DLL + \ EXCLUDE_FROM_ALL + \ FRAMEWORK + \ GLOBAL + \ HEADER_FILE_ONLY + \ HEADER_SETS + \ IMPORTED + \ IMPORTED_ + \ IMPORTED_IMPLIB + \ IMPORTED_IMPLIB_ + \ IMPORTED_LOCATION + \ IMPORTED_LOCATION_ + \ IMPORTED_NO_SONAME + \ IMPORTED_OBJECTS + \ IMPORTED_OBJECTS_ + \ IMPORTED_SONAME + \ INTERFACE + \ INTERFACE_ + \ INTERFACE_SOURCES + \ LC_ID_DYLIB + \ LIBRARY_OUTPUT_DIRECTORY + \ MODULE + \ OBJECT + \ ON + \ OUTPUT_NAME + \ POSITION_INDEPENDENT_CODE + \ POST_BUILD + \ PRE_BUILD + \ PRE_LINK + \ PRIVATE_HEADER + \ PUBLIC_HEADER + \ RUNTIME_OUTPUT_DIRECTORY + \ SHARED + \ SONAME + \ SOURCES + \ STATIC + \ TARGETS + \ TARGET_OBJECTS + \ TARGET_RUNTIME_DLLS + \ UNKNOWN + +syn keyword cmakeKWadd_link_options contained + \ CMAKE_ + \ CONFIG + \ CUDA_RESOLVE_DEVICE_SYMBOLS + \ CUDA_SEPARABLE_COMPILATION + \ DEVICE_LINK + \ GCC + \ HOST_LINK + \ LANG + \ LINKER + \ LINK_OPTIONS + \ SHELL + \ STATIC_LIBRARY_OPTIONS + \ UNIX_COMMAND + \ _FLAGS + \ _FLAGS_ + \ _LINKER_WRAPPER_FLAG + \ _LINKER_WRAPPER_FLAG_SEP + +syn keyword cmakeKWadd_subdirectory contained + \ EXCLUDE_FROM_ALL + \ SYSTEM + +syn keyword cmakeKWadd_test contained + \ BUILD_TESTING + \ COMMAND + \ COMMAND_EXPAND_LISTS + \ CONFIGURATIONS + \ FAIL_REGULAR_EXPRESSION + \ NAME + \ OFF + \ PASS_REGULAR_EXPRESSION + \ SKIP_REGULAR_EXPRESSION + \ TARGET_FILE + \ WILL_FAIL + \ WILL_FALL + \ WORKING_DIRECTORY + +syn keyword cmakeKWblock contained + \ PARENT_SCOPE + \ POLICIES + \ PROPAGATE + \ PUSH + \ SCOPE_FOR + \ TRUE + \ VARIABLES + +syn keyword cmakeKWbuild_command contained + \ CONFIGURATION + \ PARALLEL_LEVEL + \ TARGET + +syn keyword cmakeKWcmake_file_api contained + \ API + \ API_VERSION + \ BUILD_DIR + \ CMAKEFILES + \ CODEMODEL + \ COMMAND + \ CONFIG + \ QUERY + \ TOOLCHAINS + +syn keyword cmakeKWcmake_host_system_information contained + \ APPEND + \ AVAILABLE_PHYSICAL_MEMORY + \ AVAILABLE_VIRTUAL_MEMORY + \ BOTH + \ CMAKE_GET_OS_RELEASE_FALLBACK_CONTENT + \ CMAKE_GET_OS_RELEASE_FALLBACK_RESULT_ + \ CMAKE_GET_OS_RELEASE_FALLBACK_RESULT_ID + \ CMAKE_GET_OS_RELEASE_FALLBACK_RESULT_NAME + \ CMAKE_GET_OS_RELEASE_FALLBACK_RESULT_PRETTY_NAME + \ CMAKE_GET_OS_RELEASE_FALLBACK_RESULT_VERSION + \ CMAKE_GET_OS_RELEASE_FALLBACK_RESULT_VERSION_ID + \ CMAKE_GET_OS_RELEASE_FALLBACK_SCRIPTS + \ DISTRIB_INFO + \ DISTRIB_PRETTY_NAME + \ DISTRO + \ DISTRO_BUG_REPORT_URL + \ DISTRO_HOME_URL + \ DISTRO_ID + \ DISTRO_ID_LIKE + \ DISTRO_NAME + \ DISTRO_PRETTY_NAME + \ DISTRO_PRIVACY_POLICY_URL + \ DISTRO_SUPPORT_URL + \ DISTRO_UBUNTU_CODENAME + \ DISTRO_VERSION + \ DISTRO_VERSION_CODENAME + \ DISTRO_VERSION_ID + \ ERROR_VARIABLE + \ EXISTS + \ FQDN + \ HAS_FPU + \ HAS_MMX + \ HAS_MMX_PLUS + \ HAS_SERIAL_NUMBER + \ HAS_SSE + \ HAS_SSE_FP + \ HAS_SSE_MMX + \ HKCC + \ HKCR + \ HKCU + \ HKEY_CLASSES_ROOT + \ HKEY_CURRENT_CONFIG + \ HKEY_CURRENT_USER + \ HKEY_LOCAL_MACHINE + \ HKEY_USERS + \ HKLM + \ HKU + \ HOSTNAME + \ ID + \ LIMIT_COUNT + \ LISTS + \ LTS + \ MATCHES + \ NNN + \ NOT + \ NUMBER_OF_LOGICAL_CORES + \ NUMBER_OF_PHYSICAL_CORES + \ OS_NAME + \ OS_PLATFORM + \ OS_RELEASE + \ OS_VERSION + \ PRETTY_NAME + \ PROCESSOR_DESCRIPTION + \ PROCESSOR_NAME + \ PROCESSOR_SERIAL_NUMBER + \ QUERY + \ REG_DWORD + \ REG_EXPAND_SZ + \ REG_MULTI_SZ + \ REG_QWORD + \ REG_SZ + \ RESULT + \ SEPARATOR + \ SOFTWARE + \ STATUS + \ STRINGS + \ SUBKEYS + \ TARGET + \ TOTAL_PHYSICAL_MEMORY + \ TOTAL_VIRTUAL_MEMORY + \ VALUE_NAMES + \ VAR + \ VIEW + \ WINDOWS_REGISTRY + +syn keyword cmakeKWcmake_language contained + \ AND + \ ANY + \ APPEND + \ ARGN + \ BINARY_DIR + \ BYPASS_PROVIDER + \ CALL + \ CANCEL_CALL + \ CODE + \ COMMAND + \ COMMAND_ERROR_IS_FATAL + \ DCMAKE_PROJECT_TOP_LEVEL_INCLUDES + \ DEFER + \ DIRECTORY + \ EVAL + \ FALSE + \ FETCHCONTENT_MAKEAVAILABE_SERIAL + \ FETCHCONTENT_MAKEAVAILABLE_SERIAL + \ FETCHCONTENT_SOURCE_DIR_ + \ FETCHCONTENT_TRY_FIND_PACKAGE_MODE + \ FIND_PACKAGE + \ FIND_PACKAGE_ARGS + \ GET_CALL_IDS + \ GET_MESSAGE_LOG_LEVEL + \ GIT_REPOSITORY + \ GIT_SUBMODULES + \ GIT_TAG + \ ID_VAR + \ MATCHES + \ MYCOMP_PROVIDER_INSTALL_DIR + \ NEVER + \ NOT + \ OVERRIDE_FIND_PACKAGE + \ PATH + \ POP_BACK + \ QUIET + \ SET_DEPENDENCY_PROVIDER + \ SOURCE_DIR + \ STATUS + \ STREQUAL + \ SUPPORTED_METHODS + \ TRUE + \ VERSION + \ WRITE + \ _FOUND + \ _PATH + +syn keyword cmakeKWcmake_minimum_required contained + \ FATAL_ERROR + \ VERSION + +syn keyword cmakeKWcmake_parse_arguments contained + \ ARGN + \ CONFIGURATIONS + \ DESTINATION + \ FALSE + \ FAST + \ FILES + \ MY_INSTALL + \ MY_INSTALL_CONFIGURATIONS + \ MY_INSTALL_DESTINATION + \ MY_INSTALL_FAST + \ MY_INSTALL_KEYWORDS_MISSING_VALUES + \ MY_INSTALL_OPTIONAL + \ MY_INSTALL_RENAME + \ MY_INSTALL_TARGETS + \ MY_INSTALL_UNPARSED_ARGUMENTS + \ OPTIONAL + \ PARSE_ARGV + \ RENAME + \ TARGETS + \ TRUE + \ UNDEFINED + \ _KEYWORDS_MISSING_VALUES + \ _UNPARSED_ARGUMENTS + +syn keyword cmakeKWcmake_path contained + \ ABSOLUTE_PATH + \ AND + \ APPEND + \ APPEND_STRING + \ BASE_DIRECTORY + \ COMPARE + \ CONVERT + \ EQUAL + \ EXTENSION + \ EXTENSION_DEF + \ FALSE + \ FILENAME + \ FILENAME_DEF + \ GET + \ GET_EXTENSION + \ GET_FILENAME + \ GET_PARENT_PATH + \ GET_RELATIVE_PART + \ GET_ROOT_DIRECTORY + \ GET_ROOT_NAME + \ GET_ROOT_PATH + \ GET_STEM + \ HASH + \ HAS_EXTENSION + \ HAS_FILENAME + \ HAS_PARENT_PATH + \ HAS_RELATIVE_PART + \ HAS_ROOT_DIRECTORY + \ HAS_ROOT_NAME + \ HAS_ROOT_PATH + \ HAS_STEM + \ IS_ABSOLUTE + \ IS_PREFIX + \ IS_RELATIVE + \ LAST_ONLY + \ MATCHES + \ NATIVE_PATH + \ NORMALIZE + \ NORMAL_PATH + \ NOT_EQUAL + \ OP + \ OUTPUT_VARIABLE + \ PARENT_PATH + \ REAL_PATH + \ RELATIVE_PART + \ RELATIVE_PATH + \ REMOVE_EXTENSION + \ REMOVE_FILENAME + \ REPLACE_EXTENSION + \ REPLACE_FILENAME + \ ROOT_DIRECTORY + \ ROOT_NAME + \ ROOT_PATH + \ SET + \ STEM + \ STREQUAL + \ TO_CMAKE_PATH_LIST + \ TO_NATIVE_PATH_LIST + \ TRUE + \ XOR + +syn keyword cmakeKWcmake_policy contained + \ CMAKE_POLICY_DEFAULT_CMP + \ CMP + \ GET + \ NNNN + \ NO_POLICY_SCOPE + \ OLD + \ POLICIES + \ POP + \ PUSH + \ SCOPE_FOR + \ SET + \ VERSION + +syn keyword cmakeKWconfigure_file contained + \ COPYONLY + \ CRLF + \ DOS + \ ESCAPE_QUOTES + \ FILE_PERMISSIONS + \ FOO_ENABLE + \ FOO_STRING + \ GENERATE + \ INTERFACE + \ LF + \ NEWLINE_STYLE + \ NO_SOURCE_PERMISSIONS + \ PRIVATE + \ PUBLIC + \ SYSTEM + \ USE_SOURCE_PERMISSIONS + \ VAR + +syn keyword cmakeKWcreate_test_sourcelist contained + \ CMAKE_TESTDRIVER_AFTER_TESTMAIN + \ CMAKE_TESTDRIVER_BEFORE_TESTMAIN + \ EXTRA_INCLUDE + \ FUNCTION + +syn keyword cmakeKWctest_build contained + \ ALL_BUILD + \ APPEND + \ BUILD + \ CAPTURE_CMAKE_ERROR + \ CMAKE_BUILD_PARALLEL_LEVEL + \ CONFIGURATION + \ CTEST_BUILD_CONFIGURATION + \ CTEST_BUILD_FLAGS + \ CTEST_BUILD_TARGET + \ FLAGS + \ NUMBER_ERRORS + \ NUMBER_WARNINGS + \ PARALLEL_LEVEL + \ QUIET + \ RETURN_VALUE + \ TARGET + +syn keyword cmakeKWctest_configure contained + \ APPEND + \ BUILD + \ CAPTURE_CMAKE_ERROR + \ OPTIONS + \ QUIET + \ RETURN_VALUE + \ SOURCE + +syn keyword cmakeKWctest_coverage contained + \ APPEND + \ BUILD + \ CAPTURE_CMAKE_ERROR + \ LABELS + \ QUIET + \ RETURN_VALUE + +syn keyword cmakeKWctest_memcheck contained + \ APPEND + \ BUILD + \ CAPTURE_CMAKE_ERROR + \ DEFECT_COUNT + \ EXCLUDE + \ EXCLUDE_FIXTURE + \ EXCLUDE_FIXTURE_CLEANUP + \ EXCLUDE_FIXTURE_SETUP + \ EXCLUDE_LABEL + \ INCLUDE + \ INCLUDE_LABEL + \ OFF + \ ON + \ OUTPUT_JUNIT + \ PARALLEL_LEVEL + \ QUIET + \ REPEAT + \ RESOURCE_SPEC_FILE + \ RETURN_VALUE + \ SCHEDULE_RANDOM + \ START + \ STOP_ON_FAILURE + \ STOP_TIME + \ STRIDE + \ TEST_LOAD + +syn keyword cmakeKWctest_run_script contained + \ NEW_PROCESS + \ RETURN_VALUE + +syn keyword cmakeKWctest_start contained + \ APPEND + \ GROUP + \ QUIET + \ TAG + \ TRACK + +syn keyword cmakeKWctest_submit contained + \ API + \ BUILD_ID + \ CAPTURE_CMAKE_ERROR + \ CDASH_UPLOAD + \ CDASH_UPLOAD_TYPE + \ CTEST_EXTRA_SUBMIT_FILES + \ CTEST_NOTES_FILES + \ FILES + \ HTTPHEADER + \ PARTS + \ QUIET + \ RETRY_COUNT + \ RETRY_DELAY + \ RETURN_VALUE + \ SUBMIT_URL + +syn keyword cmakeKWctest_test contained + \ AFTER_TIMEOUT + \ APPEND + \ ATTACHED_FILES + \ ATTACHED_FILES_ON_FAIL + \ BUILD + \ CAPTURE_CMAKE_ERROR + \ CPU + \ EXCLUDE + \ EXCLUDE_FIXTURE + \ EXCLUDE_FIXTURE_CLEANUP + \ EXCLUDE_FIXTURE_SETUP + \ EXCLUDE_LABEL + \ INCLUDE + \ INCLUDE_LABEL + \ LABELS + \ OFF + \ ON + \ OUTPUT_JUNIT + \ PARALLEL_LEVEL + \ QUIET + \ REPEAT + \ RESOURCE_SPEC_FILE + \ RETURN_VALUE + \ SCHEDULE_RANDOM + \ START + \ STOP_ON_FAILURE + \ STOP_TIME + \ STRIDE + \ TEST_LOAD + \ UNTIL_FAIL + \ UNTIL_PASS + \ URL + \ XML + +syn keyword cmakeKWctest_update contained + \ CAPTURE_CMAKE_ERROR + \ QUIET + \ RETURN_VALUE + \ SOURCE + +syn keyword cmakeKWctest_upload contained + \ CAPTURE_CMAKE_ERROR + \ FILES + \ QUIET + +syn keyword cmakeKWdefine_property contained + \ APPEND + \ APPEND_STRING + \ BRIEF_DOCS + \ CACHED_VARIABLE + \ CMAKE_ + \ DIRECTORY + \ FULL_DOCS + \ GLOBAL + \ INHERITED + \ INITIALIZE_FROM_VARIABLE + \ PROPERTY + \ SOURCE + \ TARGET + \ TEST + \ VARIABLE + \ _CMAKE_ + +syn keyword cmakeKWdoxygen_add_docs contained + \ ALL + \ COMMENT + \ USE_STAMP_FILE + \ WORKING_DIRECTORY + +syn keyword cmakeKWenable_language contained + \ ASM + \ ASM_MARMASM + \ ASM_MASM + \ ASM_NASM + \ ATT + \ CUDA + \ HIP + \ ISPC + \ OBJC + \ OBJCXX + \ OPTIONAL + +syn keyword cmakeKWenable_testing contained + \ BUILD_TESTING + +syn keyword cmakeKWexec_program contained + \ ARGS + \ OUTPUT_VARIABLE + \ RETURN_VALUE + +syn keyword cmakeKWexecute_process contained + \ ANSI + \ ANY + \ AUTO + \ COMMAND + \ COMMAND_ECHO + \ COMMAND_ERROR_IS_FATAL + \ ECHO_ERROR_VARIABLE + \ ECHO_OUTPUT_VARIABLE + \ ENCODING + \ ERROR_FILE + \ ERROR_QUIET + \ ERROR_STRIP_TRAILING_WHITESPACE + \ ERROR_VARIABLE + \ INPUT_FILE + \ LAST + \ NONE + \ OEM + \ OUTPUT_FILE + \ OUTPUT_QUIET + \ OUTPUT_STRIP_TRAILING_WHITESPACE + \ OUTPUT_VARIABLE + \ POSIX + \ RESULTS_VARIABLE + \ RESULT_VARIABLE + \ RFC + \ STDERR + \ STDOUT + \ TIMEOUT + \ UTF + \ WORKING_DIRECTORY + +syn keyword cmakeKWexport contained + \ ANDROID_MK + \ APPEND + \ CONFIG + \ CXX_MODULES_DIRECTORY + \ EXPORT + \ EXPORT_LINK_INTERFACE_LIBRARIES + \ FILE + \ IMPORTED_ + \ NAMESPACE + \ NDK + \ OLD + \ PACKAGE + \ TARGETS + +syn keyword cmakeKWexport_library_dependencies contained + \ APPEND + \ EXPORT + \ INCLUDE + \ LINK_INTERFACE_LIBRARIES + \ SET + +syn keyword cmakeKWfile contained + \ APPEND + \ ARCHIVE_CREATE + \ ARCHIVE_EXTRACT + \ ASCII + \ BASE_DIRECTORY + \ BUNDLE_EXECUTABLE + \ CHMOD + \ CHMOD_RECURSE + \ CMAKE_GET_RUNTIME_DEPENDENCIES_COMMAND + \ CMAKE_GET_RUNTIME_DEPENDENCIES_PLATFORM + \ CMAKE_GET_RUNTIME_DEPENDENCIES_TOOL + \ CMAKE_INSTALL_MODE + \ CMAKE_OBJDUMP + \ CODE + \ COMPILE_FEATURES + \ COMPRESSION + \ COMPRESSION_LEVEL + \ CONDITION + \ CONFIGURE + \ CONFIGURE_DEPENDS + \ CONFLICTING_DEPENDENCIES_PREFIX + \ CONTENT + \ CONVERT + \ COPYONLY + \ COPY_FILE + \ COPY_ON_ERROR + \ CREATE_LINK + \ CRLF + \ DESTINATION + \ DIRECTORIES + \ DIRECTORY_PERMISSIONS + \ DLL + \ DOS + \ DOWNLOAD + \ ENCODING + \ ESCAPE_QUOTES + \ EXECUTABLES + \ EXPAND_TILDE + \ EXPECTED_HASH + \ FILES_MATCHING + \ FILE_PERMISSIONS + \ FOLLOW_SYMLINKS + \ FOLLOW_SYMLINK_CHAIN + \ FORMAT + \ FUNCTION + \ GENERATE + \ GET_RUNTIME_DEPENDENCIES + \ GLOB + \ GLOB_RECURSE + \ GROUP_EXECUTE + \ GROUP_READ + \ GROUP_WRITE + \ GUARD + \ HASH + \ HEX + \ HOME + \ HTTPHEADER + \ IGNORED + \ INACTIVITY_TIMEOUT + \ INPUT + \ INPUT_MAY_BE_RECENT + \ INSTALL + \ IS_ABSOLUTE + \ LENGTH_MAXIMUM + \ LENGTH_MINIMUM + \ LF + \ LIBRARIES + \ LIMIT + \ LIMIT_COUNT + \ LIMIT_INPUT + \ LIMIT_OUTPUT + \ LIST_DIRECTORIES + \ LIST_ONLY + \ LOCK + \ LOG + \ MAKE_DIRECTORY + \ MODULES + \ MTIME + \ MYLIBRARY + \ NETRC + \ NETRC_FILE + \ NEWLINE_CONSUME + \ NEWLINE_STYLE + \ NOT + \ NO_HEX_CONVERSION + \ NO_REPLACE + \ NO_SOURCE_PERMISSIONS + \ OFFSET + \ ONLY + \ ONLY_IF_DIFFERENT + \ OPTIONAL + \ OUTPUT + \ OWNER_EXECUTE + \ OWNER_READ + \ OWNER_WRITE + \ PATHS + \ PATTERN + \ PATTERNS + \ PERMISSIONS + \ POST_EXCLUDE_FILES + \ POST_EXCLUDE_REGEXES + \ POST_INCLUDE_FILES + \ POST_INCLUDE_REGEXES + \ PRE_EXCLUDE_REGEXES + \ PRE_INCLUDE_REGEXES + \ PROCESS + \ RANGE_END + \ RANGE_START + \ READ + \ READ_SYMLINK + \ REAL_PATH + \ REGEX + \ RELATIVE + \ RELATIVE_PATH + \ RELEASE + \ REMOVE + \ REMOVE_RECURSE + \ RENAME + \ REQUIRED + \ RESOLVED_DEPENDENCIES_VAR + \ RESULT + \ RESULT_VARIABLE + \ RPATH + \ RUNPATH + \ RUNTIME_DEPENDENCY_SET + \ SCRIPT + \ SETGID + \ SETUID + \ SHARED + \ SHOW_PROGRESS + \ SIZE + \ SSL + \ STATIC + \ STATUS + \ STRINGS + \ SYMBOLIC + \ TARGET + \ TARGET_PROPERTY + \ TIMESTAMP + \ TLS_CAINFO + \ TLS_VERIFY + \ TOUCH + \ TOUCH_NOCREATE + \ TO_CMAKE_PATH + \ TO_CMAKE_PATH_LIST + \ TO_NATIVE_PATH + \ TO_NATIVE_PATH_LIST + \ UNRESOLVED_DEPENDENCIES_VAR + \ UPLOAD + \ URL + \ USERPROFILE + \ USERPWD + \ USE_SOURCE_PERMISSIONS + \ UTC + \ UTF + \ VERBOSE + \ WORLD_EXECUTE + \ WORLD_READ + \ WORLD_WRITE + \ WRITE + \ XZ + \ _FILENAMES + +syn keyword cmakeKWfind_file contained + \ BOTH + \ CATEGORY + \ CMAKE_FIND_ROOT_PATH_BOTH + \ CMAKE_FIND_USE_ + \ DOC + \ DVAR + \ FALSE + \ FIND_XXX_REGISTRY_VIEW + \ HINTS + \ HOST + \ INCLUDE + \ MATCHES + \ NAMES + \ NOT + \ NO_CACHE + \ NO_CMAKE_ENVIRONMENT_PATH + \ NO_CMAKE_FIND_ROOT_PATH + \ NO_CMAKE_INSTALL_PREFIX + \ NO_CMAKE_PATH + \ NO_CMAKE_SYSTEM_PATH + \ NO_DEFAULT_PATH + \ NO_PACKAGE_ROOT_PATH + \ NO_SYSTEM_ENVIRONMENT_PATH + \ ONLY_CMAKE_FIND_ROOT_PATH + \ PACKAGENAME + \ PARENT_SCOPE + \ PATHS + \ PATH_SUFFIXES + \ REGISTRY_VIEW + \ REQUIRED + \ TARGET + \ VALIDATOR + \ VAR + +syn keyword cmakeKWfind_library contained + \ BOTH + \ CATEGORY + \ CMAKE_FIND_ROOT_PATH_BOTH + \ CMAKE_FIND_USE_ + \ DOC + \ DVAR + \ FALSE + \ FIND_XXX_REGISTRY_VIEW + \ HINTS + \ HOST + \ LIB + \ MATCHES + \ NAMES + \ NAMES_PER_DIR + \ NOT + \ NO_CACHE + \ NO_CMAKE_ENVIRONMENT_PATH + \ NO_CMAKE_FIND_ROOT_PATH + \ NO_CMAKE_INSTALL_PREFIX + \ NO_CMAKE_PATH + \ NO_CMAKE_SYSTEM_PATH + \ NO_DEFAULT_PATH + \ NO_PACKAGE_ROOT_PATH + \ NO_SYSTEM_ENVIRONMENT_PATH + \ ONLY_CMAKE_FIND_ROOT_PATH + \ PACKAGENAME + \ PARENT_SCOPE + \ PATHS + \ PATH_SUFFIXES + \ REGISTRY_VIEW + \ REQUIRED + \ TARGET + \ VALIDATOR + \ VAR + +syn keyword cmakeKWfind_package contained + \ ABI + \ BOTH + \ BUNDLE + \ BYPASS_PROVIDER + \ CATEGORY + \ CMAKE_DISABLE_FIND_PACKAGE_ + \ CMAKE_REQUIRE_FIND_PACKAGE_ + \ CMAKE_FIND_ROOT_PATH_BOTH + \ CMAKE_FIND_USE_ + \ CMAKE_REQUIRE_FIND_PACKAGE_ + \ COMPONENTS + \ CONFIG + \ CONFIGS + \ DEC + \ DVAR + \ EXACT + \ EXCLUDE + \ FALSE + \ FIND_PACKAGE_VERSION_FORMAT + \ FRAMEWORK + \ GLOBAL + \ HINTS + \ HOST + \ INCLUDE + \ MODULE + \ NAMES + \ NATURAL + \ NO_CMAKE_BUILDS_PATH + \ NO_CMAKE_ENVIRONMENT_PATH + \ NO_CMAKE_FIND_ROOT_PATH + \ NO_CMAKE_INSTALL_PREFIX + \ NO_CMAKE_PACKAGE_REGISTRY + \ NO_CMAKE_PATH + \ NO_CMAKE_SYSTEM_PACKAGE_REGISTRY + \ NO_CMAKE_SYSTEM_PATH + \ NO_DEFAULT_PATH + \ NO_MODULE + \ NO_PACKAGE_ROOT_PATH + \ NO_POLICY_SCOPE + \ NO_SYSTEM_ENVIRONMENT_PATH + \ OLD + \ ONLY_CMAKE_FIND_ROOT_PATH + \ OPTIONAL_COMPONENTS + \ PACKAGENAME + \ PACKAGE_FIND_NAME + \ PACKAGE_FIND_VERSION + \ PACKAGE_FIND_VERSION_COMPLETE + \ PACKAGE_FIND_VERSION_COUNT + \ PACKAGE_FIND_VERSION_MAJOR + \ PACKAGE_FIND_VERSION_MAX + \ PACKAGE_FIND_VERSION_MAX_COUNT + \ PACKAGE_FIND_VERSION_MAX_MAJOR + \ PACKAGE_FIND_VERSION_MAX_MINOR + \ PACKAGE_FIND_VERSION_MAX_PATCH + \ PACKAGE_FIND_VERSION_MAX_TWEAK + \ PACKAGE_FIND_VERSION_MINOR + \ PACKAGE_FIND_VERSION_MIN_COUNT + \ PACKAGE_FIND_VERSION_MIN_MAJOR + \ PACKAGE_FIND_VERSION_MIN_MINOR + \ PACKAGE_FIND_VERSION_MIN_PATCH + \ PACKAGE_FIND_VERSION_MIN_TWEAK + \ PACKAGE_FIND_VERSION_PATCH + \ PACKAGE_FIND_VERSION_RANGE + \ PACKAGE_FIND_VERSION_RANGE_MAX + \ PACKAGE_FIND_VERSION_RANGE_MIN + \ PACKAGE_FIND_VERSION_TWEAK + \ PACKAGE_VERSION_COMPATIBLE + \ PACKAGE_VERSION_EXACT + \ PACKAGE_VERSION_UNSUITABLE + \ PATHS + \ PATH_SUFFIXES + \ QUIET + \ REGISTRY_VIEW + \ REQUIRED + \ SET + \ TARGET + \ TRUE + \ VALUE + \ _CONFIG + \ _CONSIDERED_CONFIGS + \ _CONSIDERED_VERSIONS + \ _DIR + \ _FIND_COMPONENTS + \ _FIND_QUIETLY + \ _FIND_REGISTRY_VIEW + \ _FIND_REQUIRED + \ _FIND_REQUIRED_ + \ _FIND_VERSION_EXACT + \ _FOUND + +syn keyword cmakeKWfind_path contained + \ BOTH + \ CATEGORY + \ CMAKE_FIND_ROOT_PATH_BOTH + \ CMAKE_FIND_USE_ + \ DOC + \ DVAR + \ FALSE + \ FIND_XXX_REGISTRY_VIEW + \ HINTS + \ HOST + \ INCLUDE + \ MATCHES + \ NAMES + \ NOT + \ NO_CACHE + \ NO_CMAKE_ENVIRONMENT_PATH + \ NO_CMAKE_FIND_ROOT_PATH + \ NO_CMAKE_INSTALL_PREFIX + \ NO_CMAKE_PATH + \ NO_CMAKE_SYSTEM_PATH + \ NO_DEFAULT_PATH + \ NO_PACKAGE_ROOT_PATH + \ NO_SYSTEM_ENVIRONMENT_PATH + \ ONLY_CMAKE_FIND_ROOT_PATH + \ PACKAGENAME + \ PARENT_SCOPE + \ PATHS + \ PATH_SUFFIXES + \ REGISTRY_VIEW + \ REQUIRED + \ TARGET + \ VALIDATOR + \ VAR + +syn keyword cmakeKWfind_program contained + \ BOTH + \ CATEGORY + \ CMAKE_FIND_ROOT_PATH_BOTH + \ CMAKE_FIND_USE_ + \ DOC + \ DVAR + \ FALSE + \ FIND_XXX_REGISTRY_VIEW + \ HINTS + \ HOST + \ MATCHES + \ NAMES + \ NAMES_PER_DIR + \ NOT + \ NO_CACHE + \ NO_CMAKE_ENVIRONMENT_PATH + \ NO_CMAKE_FIND_ROOT_PATH + \ NO_CMAKE_INSTALL_PREFIX + \ NO_CMAKE_PATH + \ NO_CMAKE_SYSTEM_PATH + \ NO_DEFAULT_PATH + \ NO_PACKAGE_ROOT_PATH + \ NO_SYSTEM_ENVIRONMENT_PATH + \ ONLY_CMAKE_FIND_ROOT_PATH + \ PACKAGENAME + \ PARENT_SCOPE + \ PATHS + \ PATH_SUFFIXES + \ REGISTRY_VIEW + \ REQUIRED + \ TARGET + \ VALIDATOR + \ VAR + +syn keyword cmakeKWfltk_wrap_ui contained + \ FLTK + +syn keyword cmakeKWforeach contained + \ APPEND + \ IN + \ ITEMS + \ LISTS + \ RANGE + \ STATUS + \ ZIP_LISTS + +syn keyword cmakeKWfunction contained + \ ARGC + \ ARGN + \ ARGV + \ CALL + \ FOO + \ PARENT_SCOPE + +syn keyword cmakeKWget_cmake_property contained + \ COMPONENTS + \ GLOBAL + \ MACROS + \ VARIABLES + +syn keyword cmakeKWget_directory_property contained + \ DEFINITION + \ DIRECTORY + \ INHERITED + +syn keyword cmakeKWget_filename_component contained + \ ABSOLUTE + \ BASE_DIR + \ DIRECTORY + \ EXT + \ LAST_EXT + \ NAME + \ NAME_WE + \ NAME_WLE + \ PROGRAM + \ PROGRAM_ARGS + \ QUERY + \ REALPATH + \ REAL_PATH + \ WINDOWS_REGISTRY + +syn keyword cmakeKWget_property contained + \ BRIEF_DOCS + \ DEFINED + \ DIRECTORY + \ FULL_DOCS + \ GENERATED + \ GLOBAL + \ INSTALL + \ PROPERTY + \ SET + \ SOURCE + \ TARGET + \ TARGET_DIRECTORY + \ TEST + \ VARIABLE + +syn keyword cmakeKWget_source_file_property contained + \ DIRECTORY + \ GENERATED + \ INHERITED + \ LOCATION + \ TARGET_DIRECTORY + +syn keyword cmakeKWget_target_property contained + \ INHERITED + \ VAR + +syn keyword cmakeKWget_test_property contained + \ INHERITED + \ VAR + +syn keyword cmakeKWif contained + \ CMAKE_MATCH_ + \ CMP + \ COMMAND + \ COMPARE + \ DEFINED + \ EQUAL + \ EXISTS + \ FALSE + \ GREATER + \ GREATER_EQUAL + \ IGNORE + \ IN_LIST + \ IS_ABSOLUTE + \ IS_DIRECTORY + \ IS_NEWER_THAN + \ IS_SYMLINK + \ LESS + \ LESS_EQUAL + \ MATCHES + \ NNNN + \ NOT + \ OFF + \ OR + \ PATH_EQUAL + \ POLICY + \ STREQUAL + \ STRGREATER + \ STRGREATER_EQUAL + \ STRLESS + \ STRLESS_EQUAL + \ TARGET + \ TEST + \ TRUE + \ VERSION_EQUAL + \ VERSION_GREATER + \ VERSION_GREATER_EQUAL + \ VERSION_LESS + \ VERSION_LESS_EQUAL + \ YES + +syn keyword cmakeKWinclude contained + \ NO_POLICY_SCOPE + \ OPTIONAL + \ RESULT_VARIABLE + +syn keyword cmakeKWinclude_directories contained + \ AFTER + \ BEFORE + \ INCLUDE_DIRECTORIES + \ ON + \ SYSTEM + +syn keyword cmakeKWinclude_external_msproject contained + \ GUID + \ MAP_IMPORTED_CONFIG_ + \ PLATFORM + \ TYPE + \ WIX + +syn keyword cmakeKWinclude_guard contained + \ DIRECTORY + \ GLOBAL + \ TRUE + \ __CURRENT_FILE_VAR__ + +syn keyword cmakeKWinstall contained + \ AFTER + \ AIX + \ ALL_COMPONENTS + \ APT + \ ARCHIVE + \ BEFORE + \ BUILD_TYPE + \ BUNDLE + \ BUNDLE_EXECUTABLE + \ CMAKE_INSTALL_BINDIR + \ CMAKE_INSTALL_DATADIR + \ CMAKE_INSTALL_DATAROOTDIR + \ CMAKE_INSTALL_DOCDIR + \ CMAKE_INSTALL_INCLUDEDIR + \ CMAKE_INSTALL_INFODIR + \ CMAKE_INSTALL_LIBDIR + \ CMAKE_INSTALL_LOCALEDIR + \ CMAKE_INSTALL_LOCALSTATEDIR + \ CMAKE_INSTALL_MANDIR + \ CMAKE_INSTALL_MODE + \ CMAKE_INSTALL_RUNSTATEDIR + \ CMAKE_INSTALL_SBINDIR + \ CMAKE_INSTALL_SHARESTATEDIR + \ CMAKE_INSTALL_SYSCONFDIR + \ CODE + \ COMPONENT + \ CONFIGURATIONS + \ CVS + \ CXX_MODULES_BMI + \ CXX_MODULES_DIRECTORY + \ DATA + \ DATAROOT + \ DBUILD_TYPE + \ DCOMPONENT + \ DESTDIR + \ DESTINATION + \ DIRECTORY + \ DIRECTORY_PERMISSIONS + \ DLL + \ DOC + \ ENABLE_EXPORTS + \ EXCLUDE_FROM_ALL + \ EXECUTABLES + \ EXPORT + \ EXPORT_ANDROID_MK + \ EXPORT_LINK_INTERFACE_LIBRARIES + \ EXPORT_NAME + \ FILES + \ FILES_MATCHING + \ FILE_PERMISSIONS + \ FILE_SET + \ FRAMEWORK + \ GET_RUNTIME_DEPENDENCIES + \ GROUP_EXECUTE + \ GROUP_READ + \ GROUP_WRITE + \ HEADERS + \ IMPORTED_RUNTIME_ARTIFACTS + \ INCLUDES + \ INFO + \ INSTALL_PREFIX + \ INTERFACE + \ INTERFACE_INCLUDE_DIRECTORIES + \ LIBRARY + \ LOCALE + \ LOCALSTATE + \ MACOSX_BUNDLE + \ MAN + \ MESSAGE_NEVER + \ NAMELINK_COMPONENT + \ NAMELINK_ONLY + \ NAMELINK_SKIP + \ NAMESPACE + \ NDK + \ OBJECTS + \ OPTIONAL + \ OWNER_EXECUTE + \ OWNER_READ + \ OWNER_WRITE + \ PATTERN + \ PERMISSIONS + \ POST_EXCLUDE_FILES + \ POST_EXCLUDE_REGEXES + \ POST_INCLUDE_FILES + \ POST_INCLUDE_REGEXES + \ POST_INSTALL_SCRIPT + \ PRE_EXCLUDE_REGEXES + \ PRE_INCLUDE_REGEXES + \ PRE_INSTALL_SCRIPT + \ PRIVATE_HEADER + \ PROGRAMS + \ PROPERTIES + \ PUBLIC_HEADER + \ RENAME + \ RESOURCE + \ RPM + \ RUNSTATE + \ RUNTIME_DEPENDENCIES + \ RUNTIME_DEPENDENCY_SET + \ SBIN + \ SCRIPT + \ SETGID + \ SETUID + \ SHAREDSTATE + \ SOVERSION + \ STATIC + \ SYSCONF + \ TARGETS + \ TRUE + \ TYPE + \ USE_SOURCE_PERMISSIONS + \ VERSION + \ WORLD_EXECUTE + \ WORLD_READ + \ WORLD_WRITE + +syn keyword cmakeKWinstall_files contained + \ FILES + \ GLOB + +syn keyword cmakeKWinstall_programs contained + \ FILES + \ GLOB + \ PROGRAMS + \ TARGETS + +syn keyword cmakeKWinstall_targets contained + \ DLL + \ RUNTIME_DIRECTORY + +syn keyword cmakeKWlink_directories contained + \ AFTER + \ BEFORE + \ LINK_DIRECTORIES + \ ON + \ ORIGIN + \ RPATH + +syn keyword cmakeKWlist contained + \ ACTION + \ APPEND + \ ASCENDING + \ CASE + \ COMPARE + \ DESCENDING + \ EXCLUDE + \ FILE_BASENAME + \ FILTER + \ FIND + \ GENEX_STRIP + \ GET + \ INCLUDE + \ INSENSITIVE + \ INSERT + \ INTERNAL + \ JOIN + \ LENGTH + \ NATURAL + \ ORDER + \ OUTPUT_VARIABLE + \ PARENT_SCOPE + \ POP_BACK + \ POP_FRONT + \ PREPEND + \ REGEX + \ REMOVE_AT + \ REMOVE_DUPLICATES + \ REMOVE_ITEM + \ REPLACE + \ REVERSE + \ SELECTOR + \ SENSITIVE + \ SORT + \ STRING + \ STRIP + \ SUBLIST + \ TOLOWER + \ TOUPPER + \ TRANSFORM + \ TRANSFORM_APPEND + \ TRANSFORM_GENEX_STRIP + \ TRANSFORM_REPLACE + \ TRANSFORM_STRIP + \ TRANSFORM_TOLOWER + +syn keyword cmakeKWload_cache contained + \ EXCLUDE + \ INCLUDE_INTERNALS + \ READ_WITH_PREFIX + +syn keyword cmakeKWload_command contained + \ CMAKE_LOADED_COMMAND_ + \ COMMAND_NAME + +syn keyword cmakeKWmacro contained + \ ARGC + \ ARGN + \ ARGV + \ CALL + \ DEFINED + \ FOO + \ GREATER + \ LISTS + \ NOT + +syn keyword cmakeKWmark_as_advanced contained + \ CLEAR + \ FORCE + +syn keyword cmakeKWmath contained + \ EXPR + \ HEXADECIMAL + \ OUTPUT_FORMAT + +syn keyword cmakeKWmessage contained + \ APPEND + \ AUTHOR_WARNING + \ CHECK_ + \ CHECK_FAIL + \ CHECK_PASS + \ CHECK_START + \ CONFIGURE_LOG + \ DEBUG + \ DEFINED + \ DEPRECATION + \ FATAL_ERROR + \ GET_MESSAGE_LOG_LEVEL + \ GUI + \ INTERNAL + \ MY_CHECK_RESULT + \ NOTICE + \ POP_BACK + \ SEND_ERROR + \ STATUS + \ TRACE + \ VERBOSE + \ WARNING + +syn keyword cmakeKWoption contained + \ OFF + +syn keyword cmakeKWproject contained + \ ASM + \ ASM_MARMASM + \ ASM_MASM + \ ASM_NASM + \ ATT + \ CMAKE_PROJECT_ + \ CUDA + \ DESCRIPTION + \ HIP + \ HOMEPAGE_URL + \ ISPC + \ LANGUAGES + \ NAME + \ NONE + \ OBJC + \ OBJCXX + \ PROJECT + \ VERSION + \ _BINARY_DIR + \ _DESCRIPTION + \ _HOMEPAGE_URL + \ _INCLUDE_BEFORE + \ _IS_TOP_LEVEL + \ _SOURCE_DIR + \ _VERSION + \ _VERSION_MAJOR + \ _VERSION_MINOR + \ _VERSION_PATCH + \ _VERSION_TWEAK + +syn keyword cmakeKWqt_wrap_cpp contained + \ AUTOMOC + +syn keyword cmakeKWqt_wrap_ui contained + \ AUTOUIC + +syn keyword cmakeKWremove contained + \ VALUE + \ VAR + +syn keyword cmakeKWreturn contained + \ DEFER + \ PARENT_SCOPE + \ PROPAGATE + \ SCOPE_FOR + \ VARIABLES + \ VERSION + +syn keyword cmakeKWseparate_arguments contained + \ MSDN + \ NATIVE_COMMAND + \ PROGRAM + \ SEPARATE_ARGS + \ UNIX_COMMAND + \ WINDOWS_COMMAND + +syn keyword cmakeKWset contained + \ BOOL + \ FILEPATH + \ FORCE + \ INTERNAL + \ OFF + \ OLD + \ ON + \ PARENT_SCOPE + \ PROPAGATE + \ STRING + \ STRINGS + \ VAR + +syn keyword cmakeKWset_directory_properties contained + \ DIRECTORY + \ PROPERTIES + +syn keyword cmakeKWset_property contained + \ APPEND + \ APPEND_STRING + \ DIRECTORY + \ GENERATED + \ GLOBAL + \ INHERITED + \ INSTALL + \ NAME + \ PROPERTY + \ SOURCE + \ TARGET + \ TARGET_DIRECTORY + \ TEST + \ WIX + +syn keyword cmakeKWset_source_files_properties contained + \ DIRECTORY + \ GENERATED + \ PROPERTIES + \ SOURCE + \ TARGET_DIRECTORY + +syn keyword cmakeKWset_target_properties contained + \ PROPERTIES + +syn keyword cmakeKWset_tests_properties contained + \ NAME + \ PROPERTIES + +syn keyword cmakeKWsite_name contained + \ HOSTNAME + +syn keyword cmakeKWsource_group contained + \ FILES + \ PREFIX + \ REGULAR_EXPRESSION + \ TREE + +syn keyword cmakeKWstring contained + \ ALPHABET + \ APPEND + \ ARRAY + \ ASCII + \ BOOLEAN + \ CMAKE_MATCH_ + \ COMPARE + \ CONCAT + \ CONFIGURE + \ EQUAL + \ ERROR_VARIABLE + \ ESCAPE_QUOTES + \ FIND + \ GENEX_STRIP + \ GET + \ GREATER + \ GREATER_EQUAL + \ GUID + \ HASH + \ HEX + \ ISO + \ JOIN + \ JSON + \ LENGTH + \ LESS + \ LESS_EQUAL + \ MAKE_C_IDENTIFIER + \ MATCH + \ MATCHALL + \ MATCHES + \ MEMBER + \ NAMESPACE + \ NOTEQUAL + \ NULL + \ NUMBER + \ OBJECT + \ OFF + \ ONLY + \ PREPEND + \ RANDOM + \ RANDOM_SEED + \ REGEX + \ REMOVE + \ REPEAT + \ REPLACE + \ REVERSE + \ RFC + \ SET + \ SHA + \ SOURCE_DATE_EPOCH + \ STRIP + \ SUBSTRING + \ SZ + \ TIMESTAMP + \ TOLOWER + \ TOUPPER + \ TYPE + \ US + \ UTC + \ UUID + +syn keyword cmakeKWsubdirs contained + \ EXCLUDE_FROM_ALL + \ PREORDER + +syn keyword cmakeKWtarget_compile_definitions contained + \ ALIAS + \ COMPILE_DEFINITIONS + \ FOO + \ IMPORTED + \ INTERFACE + \ INTERFACE_COMPILE_DEFINITIONS + \ PRIVATE + \ PUBLIC + +syn keyword cmakeKWtarget_compile_features contained + \ ALIAS + \ COMPILE_FEATURES + \ IMPORTED + \ INTERFACE + \ INTERFACE_COMPILE_FEATURES + \ PRIVATE + \ PUBLIC + +syn keyword cmakeKWtarget_compile_options contained + \ ALIAS + \ BEFORE + \ CMAKE_ + \ COMPILE_LANGUAGE + \ COMPILE_OPTIONS + \ CONFIG + \ IMPORTED + \ INTERFACE + \ INTERFACE_COMPILE_OPTIONS + \ PRIVATE + \ PUBLIC + \ SHELL + \ UNIX_COMMAND + \ _FLAGS + \ _FLAGS_ + +syn keyword cmakeKWtarget_include_directories contained + \ AFTER + \ ALIAS + \ BEFORE + \ BUILD_INTERFACE + \ IMPORTED + \ INCLUDE_DIRECTORIES + \ INSTALL_INTERFACE + \ INTERFACE + \ INTERFACE_INCLUDE_DIRECTORIES + \ INTERFACE_LINK_LIBRARIES + \ INTERFACE_SYSTEM_INCLUDE_DIRECTORIES + \ PRIVATE + \ PUBLIC + \ SYSTEM + +syn keyword cmakeKWtarget_link_directories contained + \ ALIAS + \ BEFORE + \ IMPORTED + \ INTERFACE + \ INTERFACE_LINK_DIRECTORIES + \ LINK_DIRECTORIES + \ ORIGIN + \ PRIVATE + \ PUBLIC + \ RPATH + +syn keyword cmakeKWtarget_link_libraries contained + \ ALIAS + \ DA + \ DAG + \ DEBUG_CONFIGURATIONS + \ DOBJ + \ IMPORTED + \ IMPORTED_NO_SONAME + \ INTERFACE + \ INTERFACE_LINK_LIBRARIES + \ LINK_FLAGS + \ LINK_INTERFACE_LIBRARIES + \ LINK_INTERFACE_LIBRARIES_DEBUG + \ LINK_INTERFACE_MULTIPLICITY + \ LINK_OPTIONS + \ LINK_PRIVATE + \ LINK_PUBLIC + \ OBJECT + \ OLD + \ PRIVATE + \ PUBLIC + \ SHARED + \ STATIC + \ TARGET_OBJECTS + +syn keyword cmakeKWtarget_link_options contained + \ ALIAS + \ BEFORE + \ CMAKE_ + \ CONFIG + \ CUDA_RESOLVE_DEVICE_SYMBOLS + \ CUDA_SEPARABLE_COMPILATION + \ DEVICE_LINK + \ GCC + \ HOST_LINK + \ IMPORTED + \ INTERFACE + \ INTERFACE_LINK_OPTIONS + \ LANG + \ LINKER + \ LINK_OPTIONS + \ PRIVATE + \ PUBLIC + \ SHELL + \ STATIC_LIBRARY_OPTIONS + \ UNIX_COMMAND + \ _FLAGS + \ _FLAGS_ + \ _LINKER_WRAPPER_FLAG + \ _LINKER_WRAPPER_FLAG_SEP + +syn keyword cmakeKWtarget_precompile_headers contained + \ ALIAS + \ ANGLE + \ BUILD_INTERFACE + \ COMPILE_LANGUAGE + \ DISABLE_PRECOMPILE_HEADERS + \ EXPORT + \ FI + \ GCC + \ IMPORTED + \ INTERFACE + \ INTERFACE_PRECOMPILE_HEADERS + \ PRECOMPILE_HEADERS + \ PRECOMPILE_HEADERS_REUSE_FROM + \ PRIVATE + \ PUBLIC + \ REUSE_FROM + \ SKIP_PRECOMPILE_HEADERS + +syn keyword cmakeKWtarget_sources contained + \ ALIAS + \ BASE_DIRS + \ BUILD_INTERFACE + \ CONFIG + \ CORRECT + \ CXX_MODULES + \ CXX_MODULE_DIRS + \ CXX_MODULE_DIRS_ + \ CXX_MODULE_SETS + \ CXX_MODULE_SET_ + \ EXPORT + \ FILES + \ FILE_SET + \ FRAMEWORK + \ HEADERS + \ HEADER_DIRS + \ HEADER_DIRS_ + \ HEADER_FILE_ONLY + \ HEADER_SETS + \ HEADER_SET_ + \ IMPORTED + \ INCLUDE_DIRECTORIES + \ INTERFACE + \ INTERFACE_CXX_MODULE_SETS + \ INTERFACE_HEADER_SETS + \ INTERFACE_INCLUDE_DIRECTORIES + \ INTERFACE_SOURCES + \ NAME + \ PRIVATE + \ PUBLIC + \ SOURCES + \ SOURCE_DIR + \ TARGETS + \ TRUE + \ TYPE + \ WRONG + +syn keyword cmakeKWtry_compile contained + \ ALL_BUILD + \ BINARY_DIR + \ CMAKE_FLAGS + \ COMPILE_DEFINITIONS + \ COPY_FILE + \ COPY_FILE_ERROR + \ CUDA_EXTENSIONS + \ CUDA_STANDARD + \ CUDA_STANDARD_REQUIRED + \ CXX_EXTENSIONS + \ CXX_STANDARD + \ CXX_STANDARD_REQUIRED + \ C_EXTENSIONS + \ C_STANDARD + \ C_STANDARD_REQUIRED + \ DEFINED + \ DLINK_LIBRARIES + \ DVAR + \ EXECUTABLE + \ FALSE + \ GHS + \ HIP_EXTENSIONS + \ HIP_STANDARD + \ HIP_STANDARD_REQUIRED + \ INCLUDE_DIRECTORIES + \ LANG + \ LINK_DIRECTORIES + \ LINK_LIBRARIES + \ LINK_OPTIONS + \ LOG_DESCRIPTION + \ MULTI + \ NOT + \ NO_CACHE + \ NO_LOG + \ OBJCXX_EXTENSIONS + \ OBJCXX_STANDARD + \ OBJCXX_STANDARD_REQUIRED + \ OBJC_EXTENSIONS + \ OBJC_STANDARD + \ OBJC_STANDARD_REQUIRED + \ OUTPUT_VARIABLE + \ PRIVATE + \ PROJECT + \ RESULTVAR + \ SOURCES + \ SOURCE_DIR + \ SOURCE_FROM_CONTENT + \ SOURCE_FROM_FILE + \ SOURCE_FROM_VAR + \ STATIC_LIBRARY + \ STATIC_LIBRARY_OPTIONS + \ TARGET + \ TRUE + \ TYPE + \ VALUE + \ _EXTENSIONS + \ _STANDARD + \ _STANDARD_REQUIRED + +syn keyword cmakeKWtry_run contained + \ ARGS + \ CMAKE_FLAGS + \ COMPILE_DEFINITIONS + \ COMPILE_OUTPUT_VARIABLE + \ COPY_FILE + \ COPY_FILE_ERROR + \ FAILED_TO_RUN + \ FALSE + \ LANG + \ LINK_LIBRARIES + \ LINK_OPTIONS + \ LOG_DESCRIPTION + \ NO_CACHE + \ NO_LOG + \ RUN_OUTPUT_STDERR_VARIABLE + \ RUN_OUTPUT_STDOUT_VARIABLE + \ RUN_OUTPUT_VARIABLE + \ SOURCES + \ SOURCE_FROM_CONTENT + \ SOURCE_FROM_FILE + \ SOURCE_FROM_VAR + \ TRUE + \ WORKING_DIRECTORY + \ _EXTENSIONS + \ _STANDARD + \ _STANDARD_REQUIRED + \ __TRYRUN_OUTPUT + +syn keyword cmakeKWunset contained + \ PARENT_SCOPE + \ VAR + +syn keyword cmakeKWuse_mangled_mesa contained + \ GL + \ OUTPUT_DIRECTORY + \ PATH_TO_MESA + +syn keyword cmakeKWvariable_requires contained + \ RESULT_VARIABLE + \ TEST_VARIABLE + +syn keyword cmakeKWvariable_watch contained + \ APPEND + \ COMMAND + \ DEFINED + \ MODIFIED_ACCESS + \ READ_ACCESS + \ REMOVED_ACCESS + \ UNKNOWN_MODIFIED_ACCESS + \ UNKNOWN_READ_ACCESS + +syn keyword cmakeKWwrite_file contained + \ APPEND + \ CONFIGURE_FILE + \ NOTE + \ WRITE + + +syn keyword cmakeGeneratorExpressions contained + \ ABSOLUTE_PATH + \ ACTION + \ AIX + \ ANGLE + \ APPEND + \ ARCHIVE_OUTPUT_NAME + \ ARCHIVE_OUTPUT_NAME_ + \ ASCENDING + \ BAR + \ BOOL + \ BUILD_INTERFACE + \ BUILD_LOCAL_INTERFACE + \ CMAKE_LINK_GROUP_USING_ + \ CMAKE_LINK_LIBRARY_USING_ + \ CMAKE_PATH + \ CODE + \ COMMAND_CONFIG + \ COMMAND_EXPAND_LISTS + \ COMPARE + \ COMPILE_DEFINITIONS + \ COMPILE_FEATURES + \ COMPILE_LANGUAGE + \ COMPILE_LANG_AND_ID + \ COMPILE_ONLY + \ COMPILING_CUDA + \ COMPILING_CXX + \ COMPILING_CXX_WITH_CLANG + \ COMPILING_CXX_WITH_INTEL + \ COMPILING_C_WITH_CLANG + \ CONFIG + \ CONFIGURATION + \ CONTENT + \ CUDA_COMPILER_ID + \ CUDA_COMPILER_VERSION + \ CUDA_RESOLVE_DEVICE_SYMBOLS + \ CUDA_SEPARABLE_COMPILATION + \ CUSTOM_KEYS + \ CXX_COMPILER_ID + \ CXX_COMPILER_VERSION + \ CXX_CONFIG + \ CXX_STANDARD + \ C_COMPILER_ID + \ C_COMPILER_VERSION + \ C_STANDARD + \ DEBUG_MODE + \ DEBUG_POSTFIX + \ DENABLE_SOME_FEATURE + \ DESCENDING + \ DEVICE_LINK + \ DLL + \ ENABLE_EXPORTS + \ EXCLUDE + \ EXPORT + \ EXTENSION_DEF + \ FALSE + \ FILENAME_DEF + \ FILE_BASENAME + \ FILTER + \ FIND + \ FOO_EXTRA_THINGS + \ GENERATE + \ GENEX_EVAL + \ GET_EXTENSION + \ GET_FILENAME + \ GET_PARENT_PATH + \ GET_RELATIVE_PART + \ GET_ROOT_DIRECTORY + \ GET_ROOT_NAME + \ GET_ROOT_PATH + \ GET_STEM + \ HAS_ + \ HAS_EXTENSION + \ HAS_FILENAME + \ HAS_PARENT_PATH + \ HAS_RELATIVE_PART + \ HAS_ROOT_DIRECTORY + \ HAS_ROOT_NAME + \ HAS_ROOT_PATH + \ HAS_STEM + \ HAVE_SOME_FEATURE + \ HIP_COMPILER_ID + \ HIP_COMPILER_VERSION + \ HIP_STANDARD + \ HOST_LINK + \ IF + \ IGNORE + \ IMPORTED_LOCATION + \ IMPORT_PREFIX + \ IMPORT_SUFFIX + \ INCLUDE_DIRECTORIES + \ INSENSITIVE + \ INSERT + \ INSTALL_INTERFACE + \ INSTALL_NAME_DIR + \ INSTALL_PREFIX + \ INSTALL_RPATH + \ INTERFACE_LINK_LIBRARIES + \ INTERFACE_LINK_LIBRARIES_DIRECT + \ IN_LIST + \ ISPC_COMPILER_ID + \ ISPC_COMPILER_VERSION + \ IS_ABSOLUTE + \ IS_PREFIX + \ IS_RELATIVE + \ JOIN + \ LANG + \ LANG_COMPILER_ID + \ LAST_ONLY + \ LENGTH + \ LIBRARY_OUTPUT_NAME + \ LIBRARY_OUTPUT_NAME_ + \ LINK_GROUP + \ LINK_GROUP_PREDEFINED_FEATURES + \ LINK_LANGUAGE + \ LINK_LANG_AND_ID + \ LINK_LIBRARIES + \ LINK_LIBRARY + \ LINK_LIBRARY_OVERRIDE + \ LINK_LIBRARY_OVERRIDE_ + \ LINK_LIBRARY_PREDEFINED_FEATURES + \ LINK_ONLY + \ LOWER_CASE + \ MAKE_C_IDENTIFIER + \ MAP_IMPORTED_CONFIG_ + \ MODULE + \ NATURAL + \ NO + \ NORMALIZE + \ NORMAL_PATH + \ NOT + \ OBJCXX_COMPILER_ID + \ OBJCXX_COMPILER_VERSION + \ OBJC_COMPILER_ID + \ OBJC_COMPILER_VERSION + \ OBJECT + \ OFF + \ OLD_COMPILER + \ ORDER + \ OUTPUT + \ OUTPUT_CONFIG + \ OUTPUT_NAME + \ OUTPUT_NAME_ + \ PATH + \ PATH_EQUAL + \ PDB_NAME + \ PDB_NAME_ + \ PDB_OUTPUT_DIRECTORY + \ PDB_OUTPUT_DIRECTORY_ + \ PLATFORM_ID + \ POP_BACK + \ POP_FRONT + \ POSIX + \ POST_BUILD + \ PREPEND + \ PRIVATE + \ PUBLIC + \ REGEX + \ RELATIVE_PATH + \ REMOVE_AT + \ REMOVE_DUPLICATES + \ REMOVE_EXTENSION + \ REMOVE_FILENAME + \ REMOVE_ITEM + \ REPLACE + \ REPLACE_EXTENSION + \ REPLACE_FILENAME + \ REQUIRED + \ RESCAN + \ REVERSE + \ RPATH + \ RUNTIME_DEPENDENCY_SET + \ RUNTIME_OUTPUT_NAME + \ RUNTIME_OUTPUT_NAME_ + \ SCRIPT + \ SDK + \ SELECTOR + \ SEMICOLON + \ SENSITIVE + \ SHARED + \ SHELL_PATH + \ SORT + \ STATIC + \ STREQUAL + \ STRING + \ STRIP + \ SUBLIST + \ TARGET_BUNDLE_CONTENT_DIR + \ TARGET_BUNDLE_DIR + \ TARGET_BUNDLE_DIR_NAME + \ TARGET_EXISTS + \ TARGET_FILE + \ TARGET_FILE_BASE_NAME + \ TARGET_FILE_DIR + \ TARGET_FILE_NAME + \ TARGET_FILE_PREFIX + \ TARGET_FILE_SUFFIX + \ TARGET_GENEX_EVAL + \ TARGET_IMPORT_FILE + \ TARGET_IMPORT_FILE_BASE_NAME + \ TARGET_IMPORT_FILE_DIR + \ TARGET_IMPORT_FILE_NAME + \ TARGET_IMPORT_FILE_PREFIX + \ TARGET_IMPORT_FILE_SUFFIX + \ TARGET_LINKER_FILE + \ TARGET_LINKER_FILE_BASE_NAME + \ TARGET_LINKER_FILE_DIR + \ TARGET_LINKER_FILE_NAME + \ TARGET_LINKER_FILE_PREFIX + \ TARGET_LINKER_FILE_SUFFIX + \ TARGET_LINKER_IMPORT_FILE + \ TARGET_LINKER_IMPORT_FILE_BASE_NAME + \ TARGET_LINKER_IMPORT_FILE_DIR + \ TARGET_LINKER_IMPORT_FILE_NAME + \ TARGET_LINKER_IMPORT_FILE_PREFIX + \ TARGET_LINKER_IMPORT_FILE_SUFFIX + \ TARGET_LINKER_LIBRARY_FILE + \ TARGET_LINKER_LIBRARY_FILE_BASE_NAME + \ TARGET_LINKER_LIBRARY_FILE_DIR + \ TARGET_LINKER_LIBRARY_FILE_NAME + \ TARGET_LINKER_LIBRARY_FILE_PREFIX + \ TARGET_LINKER_LIBRARY_FILE_SUFFIX + \ TARGET_NAME_IF_EXISTS + \ TARGET_OBJECTS + \ TARGET_PDB_FILE + \ TARGET_PDB_FILE_BASE_NAME + \ TARGET_PDB_FILE_DIR + \ TARGET_PDB_FILE_NAME + \ TARGET_POLICY + \ TARGET_PROPERTY + \ TARGET_RUNTIME_DLLS + \ TARGET_RUNTIME_DLL_DIRS + \ TARGET_SONAME_FILE + \ TARGET_SONAME_FILE_DIR + \ TARGET_SONAME_FILE_NAME + \ TARGET_SONAME_IMPORT_FILE + \ TARGET_SONAME_IMPORT_FILE_DIR + \ TARGET_SONAME_IMPORT_FILE_NAME + \ TOLOWER + \ TOUPPER + \ TRANSFORM + \ TRANSFORM_APPEND + \ TRANSFORM_REPLACE + \ TRANSFORM_STRIP + \ TRANSFORM_TOLOWER + \ UNKNOWN + \ UPPER_CASE + \ VERBATIM + \ VERSION_EQUAL + \ VERSION_GREATER_EQUAL + \ VERSION_LESS + \ VERSION_LESS_EQUAL + \ WHOLE_ARCHIVE + \ WRONG + \ _LINK_GROUP_USING_ + \ _LINK_LIBRARY_USING_ + \ _POSTFIX + \ _SUPPORTED + +syn case ignore + +syn keyword cmakeCommand + \ add_compile_definitions + \ add_compile_options + \ add_custom_command + \ add_custom_target + \ add_definitions + \ add_dependencies + \ add_executable + \ add_library + \ add_link_options + \ add_subdirectory + \ add_test + \ aux_source_directory + \ block + \ break + \ build_command + \ cmake_file_api + \ cmake_host_system_information + \ cmake_language + \ cmake_minimum_required + \ cmake_parse_arguments + \ cmake_path + \ cmake_policy + \ configure_file + \ continue + \ create_test_sourcelist + \ ctest_build + \ ctest_configure + \ ctest_coverage + \ ctest_empty_binary_directory + \ ctest_memcheck + \ ctest_read_custom_files + \ ctest_run_script + \ ctest_sleep + \ ctest_start + \ ctest_submit + \ ctest_test + \ ctest_update + \ ctest_upload + \ define_property + \ enable_language + \ enable_testing + \ endblock + \ endfunction + \ endmacro + \ execute_process + \ export + \ file + \ find_file + \ find_library + \ find_package + \ find_path + \ find_program + \ fltk_wrap_ui + \ function + \ get_cmake_property + \ get_directory_property + \ get_filename_component + \ get_property + \ get_source_file_property + \ get_target_property + \ get_test_property + \ include + \ include_directories + \ include_external_msproject + \ include_guard + \ include_regular_expression + \ install + \ link_directories + \ list + \ load_cache + \ load_command + \ macro + \ mark_as_advanced + \ math + \ message + \ option + \ project + \ qt_wrap_cpp + \ qt_wrap_ui + \ remove_definitions + \ return + \ separate_arguments + \ set + \ set_directory_properties + \ set_property + \ set_source_files_properties + \ set_target_properties + \ set_tests_properties + \ site_name + \ source_group + \ string + \ target_compile_definitions + \ target_compile_features + \ target_compile_options + \ target_include_directories + \ target_link_directories + \ target_link_libraries + \ target_link_options + \ target_precompile_headers + \ target_sources + \ try_compile + \ try_run + \ unset + \ variable_watch + \ nextgroup=cmakeArguments + +syn keyword cmakeCommandConditional + \ else + \ elseif + \ endif + \ if + \ nextgroup=cmakeArguments + +syn keyword cmakeCommandRepeat + \ endforeach + \ endwhile + \ foreach + \ while + \ nextgroup=cmakeArguments + +syn keyword cmakeCommandDeprecated + \ build_name + \ exec_program + \ export_library_dependencies + \ install_files + \ install_programs + \ install_targets + \ link_libraries + \ make_directory + \ output_required_files + \ remove + \ subdir_depends + \ subdirs + \ use_mangled_mesa + \ utility_source + \ variable_requires + \ write_file + \ nextgroup=cmakeArguments + +syn case match + +syn keyword cmakeTodo + \ TODO FIXME XXX + \ contained + +hi def link cmakeBracketArgument String +hi def link cmakeBracketComment Comment +hi def link cmakeCommand Function +hi def link cmakeCommandConditional Conditional +hi def link cmakeCommandDeprecated WarningMsg +hi def link cmakeCommandRepeat Repeat +hi def link cmakeComment Comment +hi def link cmakeEnvironment Special +hi def link cmakeEscaped Special +hi def link cmakeGeneratorExpression WarningMsg +hi def link cmakeGeneratorExpressions Constant +hi def link cmakeModule Include +hi def link cmakeProperty Constant +hi def link cmakeRegistry Underlined +hi def link cmakeString String +hi def link cmakeTodo TODO +hi def link cmakeVariableValue Type +hi def link cmakeVariable Identifier + +hi def link cmakeKWExternalProject ModeMsg +hi def link cmakeKWFetchContent ModeMsg +hi def link cmakeKWadd_compile_definitions ModeMsg +hi def link cmakeKWadd_compile_options ModeMsg +hi def link cmakeKWadd_custom_command ModeMsg +hi def link cmakeKWadd_custom_target ModeMsg +hi def link cmakeKWadd_definitions ModeMsg +hi def link cmakeKWadd_dependencies ModeMsg +hi def link cmakeKWadd_executable ModeMsg +hi def link cmakeKWadd_library ModeMsg +hi def link cmakeKWadd_link_options ModeMsg +hi def link cmakeKWadd_subdirectory ModeMsg +hi def link cmakeKWadd_test ModeMsg +hi def link cmakeKWblock ModeMsg +hi def link cmakeKWbuild_command ModeMsg +hi def link cmakeKWcmake_file_api ModeMsg +hi def link cmakeKWcmake_host_system_information ModeMsg +hi def link cmakeKWcmake_language ModeMsg +hi def link cmakeKWcmake_minimum_required ModeMsg +hi def link cmakeKWcmake_parse_arguments ModeMsg +hi def link cmakeKWcmake_path ModeMsg +hi def link cmakeKWcmake_policy ModeMsg +hi def link cmakeKWconfigure_file ModeMsg +hi def link cmakeKWcreate_test_sourcelist ModeMsg +hi def link cmakeKWctest_build ModeMsg +hi def link cmakeKWctest_configure ModeMsg +hi def link cmakeKWctest_coverage ModeMsg +hi def link cmakeKWctest_memcheck ModeMsg +hi def link cmakeKWctest_run_script ModeMsg +hi def link cmakeKWctest_start ModeMsg +hi def link cmakeKWctest_submit ModeMsg +hi def link cmakeKWctest_test ModeMsg +hi def link cmakeKWctest_update ModeMsg +hi def link cmakeKWctest_upload ModeMsg +hi def link cmakeKWdefine_property ModeMsg +hi def link cmakeKWdoxygen_add_docs ModeMsg +hi def link cmakeKWenable_language ModeMsg +hi def link cmakeKWenable_testing ModeMsg +hi def link cmakeKWexec_program ModeMsg +hi def link cmakeKWexecute_process ModeMsg +hi def link cmakeKWexport ModeMsg +hi def link cmakeKWexport_library_dependencies ModeMsg +hi def link cmakeKWfile ModeMsg +hi def link cmakeKWfind_file ModeMsg +hi def link cmakeKWfind_library ModeMsg +hi def link cmakeKWfind_package ModeMsg +hi def link cmakeKWfind_path ModeMsg +hi def link cmakeKWfind_program ModeMsg +hi def link cmakeKWfltk_wrap_ui ModeMsg +hi def link cmakeKWforeach ModeMsg +hi def link cmakeKWfunction ModeMsg +hi def link cmakeKWget_cmake_property ModeMsg +hi def link cmakeKWget_directory_property ModeMsg +hi def link cmakeKWget_filename_component ModeMsg +hi def link cmakeKWget_property ModeMsg +hi def link cmakeKWget_source_file_property ModeMsg +hi def link cmakeKWget_target_property ModeMsg +hi def link cmakeKWget_test_property ModeMsg +hi def link cmakeKWif ModeMsg +hi def link cmakeKWinclude ModeMsg +hi def link cmakeKWinclude_directories ModeMsg +hi def link cmakeKWinclude_external_msproject ModeMsg +hi def link cmakeKWinclude_guard ModeMsg +hi def link cmakeKWinstall ModeMsg +hi def link cmakeKWinstall_files ModeMsg +hi def link cmakeKWinstall_programs ModeMsg +hi def link cmakeKWinstall_targets ModeMsg +hi def link cmakeKWlink_directories ModeMsg +hi def link cmakeKWlist ModeMsg +hi def link cmakeKWload_cache ModeMsg +hi def link cmakeKWload_command ModeMsg +hi def link cmakeKWmacro ModeMsg +hi def link cmakeKWmark_as_advanced ModeMsg +hi def link cmakeKWmath ModeMsg +hi def link cmakeKWmessage ModeMsg +hi def link cmakeKWoption ModeMsg +hi def link cmakeKWproject ModeMsg +hi def link cmakeKWqt_wrap_cpp ModeMsg +hi def link cmakeKWqt_wrap_ui ModeMsg +hi def link cmakeKWremove ModeMsg +hi def link cmakeKWreturn ModeMsg +hi def link cmakeKWseparate_arguments ModeMsg +hi def link cmakeKWset ModeMsg +hi def link cmakeKWset_directory_properties ModeMsg +hi def link cmakeKWset_property ModeMsg +hi def link cmakeKWset_source_files_properties ModeMsg +hi def link cmakeKWset_target_properties ModeMsg +hi def link cmakeKWset_tests_properties ModeMsg +hi def link cmakeKWsite_name ModeMsg +hi def link cmakeKWsource_group ModeMsg +hi def link cmakeKWstring ModeMsg +hi def link cmakeKWsubdirs ModeMsg +hi def link cmakeKWtarget_compile_definitions ModeMsg +hi def link cmakeKWtarget_compile_features ModeMsg +hi def link cmakeKWtarget_compile_options ModeMsg +hi def link cmakeKWtarget_include_directories ModeMsg +hi def link cmakeKWtarget_link_directories ModeMsg +hi def link cmakeKWtarget_link_libraries ModeMsg +hi def link cmakeKWtarget_link_options ModeMsg +hi def link cmakeKWtarget_precompile_headers ModeMsg +hi def link cmakeKWtarget_sources ModeMsg +hi def link cmakeKWtry_compile ModeMsg +hi def link cmakeKWtry_run ModeMsg +hi def link cmakeKWunset ModeMsg +hi def link cmakeKWuse_mangled_mesa ModeMsg +hi def link cmakeKWvariable_requires ModeMsg +hi def link cmakeKWvariable_watch ModeMsg +hi def link cmakeKWwrite_file ModeMsg + +" Manually added - difficult to parse out of documentation +syn case ignore + +syn keyword cmakeCommandManuallyAdded + \ configure_package_config_file write_basic_package_version_file + \ nextgroup=cmakeArguments + +syn case match + +syn keyword cmakeKWconfigure_package_config_file contained + \ INSTALL_DESTINATION PATH_VARS NO_SET_AND_CHECK_MACRO NO_CHECK_REQUIRED_COMPONENTS_MACRO INSTALL_PREFIX + +syn keyword cmakeKWconfigure_package_config_file_constants contained + \ AnyNewerVersion SameMajorVersion SameMinorVersion ExactVersion + +syn keyword cmakeKWwrite_basic_package_version_file contained + \ VERSION COMPATIBILITY + +hi def link cmakeCommandManuallyAdded Function + +hi def link cmakeKWconfigure_package_config_file ModeMsg +hi def link cmakeKWwrite_basic_package_version_file ModeMsg +hi def link cmakeKWconfigure_package_config_file_constants Constant + +let b:current_syntax = "cmake" + +let &cpo = s:keepcpo +unlet s:keepcpo + +" mnv: set nowrap: diff --git a/uvim/runtime/syntax/cmake.vim b/uvim/runtime/syntax/cmake.vim deleted file mode 100644 index c95503beb5..0000000000 --- a/uvim/runtime/syntax/cmake.vim +++ /dev/null @@ -1,4980 +0,0 @@ -" Vim syntax file -" Program: CMake - Cross-Platform Makefile Generator -" Version: cmake version 3.27.20230713-gdc88dd5 -" Language: CMake -" Author: Andy Cedilnik , -" Nicholas Hutchinson , -" Patrick Boettcher -" Maintainer: Dimitri Merejkowsky -" Former Maintainer: Karthik Krishnan -" Last Change: 2023 Jul 13 -" -" License: The CMake license applies to this file. See -" https://cmake.org/licensing -" This implies that distribution with Vim is allowed - -if exists("b:current_syntax") - finish -endif -let s:keepcpo= &cpo -set cpo&vim - -syn region cmakeBracketArgument start="\[\z(=*\)\[" end="\]\z1\]" contains=cmakeTodo,@Spell - -syn region cmakeComment start="#\(\[=*\[\)\@!" end="$" contains=cmakeTodo,@Spell -syn region cmakeBracketComment start="#\[\z(=*\)\[" end="\]\z1\]" contains=cmakeTodo,@Spell - -syn match cmakeEscaped /\(\\\\\|\\"\|\\n\|\\t\)/ contained -syn region cmakeRegistry start="\[" end="]" contained oneline contains=cmakeTodo,cmakeEscaped - -syn region cmakeGeneratorExpression start="$<" end=">" contained oneline contains=cmakeVariableValue,cmakeProperty,cmakeGeneratorExpressions,cmakeTodo - -syn region cmakeString start='"' end='"' contained contains=cmakeTodo,cmakeVariableValue,cmakeEscaped,@Spell - -syn region cmakeVariableValue start="${" end="}" contained oneline contains=cmakeVariable,cmakeTodo,cmakeVariableValue - -syn region cmakeEnvironment start="$ENV{" end="}" contained oneline contains=cmakeTodo - -syn region cmakeArguments start="(" end=")" contains=ALLBUT,cmakeGeneratorExpressions,cmakeCommand,cmakeCommandConditional,cmakeCommandRepeat,cmakeCommandDeprecated,cmakeCommandManuallyAdded,cmakeArguments,cmakeTodo,@Spell - -syn case match - -syn keyword cmakeProperty contained - \ ABSTRACT - \ ADDITIONAL_CLEAN_FILES - \ ADDITIONAL_MAKE_CLEAN_FILES - \ ADVANCED - \ AIX_EXPORT_ALL_SYMBOLS - \ ALIASED_TARGET - \ ALIAS_GLOBAL - \ ALLOW_DUPLICATE_CUSTOM_TARGETS - \ ANDROID_ANT_ADDITIONAL_OPTIONS - \ ANDROID_API - \ ANDROID_API_MIN - \ ANDROID_ARCH - \ ANDROID_ASSETS_DIRECTORIES - \ ANDROID_GUI - \ ANDROID_JAR_DEPENDENCIES - \ ANDROID_JAR_DIRECTORIES - \ ANDROID_JAVA_SOURCE_DIR - \ ANDROID_NATIVE_LIB_DEPENDENCIES - \ ANDROID_NATIVE_LIB_DIRECTORIES - \ ANDROID_PROCESS_MAX - \ ANDROID_PROGUARD - \ ANDROID_PROGUARD_CONFIG_PATH - \ ANDROID_SECURE_PROPS_PATH - \ ANDROID_SKIP_ANT_STEP - \ ANDROID_STL_TYPE - \ ARCHIVE_OUTPUT_DIRECTORY - \ ARCHIVE_OUTPUT_NAME - \ ATTACHED_FILES - \ ATTACHED_FILES_ON_FAIL - \ AUTOGEN_BUILD_DIR - \ AUTOGEN_COMMAND_LINE_LENGTH_MAX - \ AUTOGEN_ORIGIN_DEPENDS - \ AUTOGEN_PARALLEL - \ AUTOGEN_SOURCE_GROUP - \ AUTOGEN_USE_SYSTEM_INCLUDE - \ AUTOGEN_TARGETS_FOLDER - \ AUTOGEN_TARGET_DEPENDS - \ AUTOGEN_USE_SYSTEM_INCLUDE - \ AUTOMOC - \ AUTOMOC_COMPILER_PREDEFINES - \ AUTOMOC_DEPEND_FILTERS - \ AUTOMOC_EXECUTABLE - \ AUTOMOC_MACRO_NAMES - \ AUTOMOC_MOC_OPTIONS - \ AUTOMOC_PATH_PREFIX - \ AUTOMOC_SOURCE_GROUP - \ AUTOMOC_TARGETS_FOLDER - \ AUTORCC - \ AUTORCC_EXECUTABLE - \ AUTORCC_OPTIONS - \ AUTORCC_SOURCE_GROUP - \ AUTOUIC - \ AUTOUIC_EXECUTABLE - \ AUTOUIC_OPTIONS - \ AUTOUIC_SEARCH_PATHS - \ AUTOUIC_SOURCE_GROUP - \ BINARY_DIR - \ BUILDSYSTEM_TARGETS - \ BUILD_RPATH - \ BUILD_RPATH_USE_ORIGIN - \ BUILD_WITH_INSTALL_NAME_DIR - \ BUILD_WITH_INSTALL_RPATH - \ BUNDLE - \ BUNDLE_EXTENSION - \ CACHE_VARIABLES - \ CLEAN_NO_CUSTOM - \ CMAKE_CONFIGURE_DEPENDS - \ CMAKE_CUDA_KNOWN_FEATURES - \ CMAKE_CXX_KNOWN_FEATURES - \ CMAKE_C_KNOWN_FEATURES - \ CMAKE_ROLE - \ COMMON_LANGUAGE_RUNTIME - \ COMPATIBLE_INTERFACE_BOOL - \ COMPATIBLE_INTERFACE_NUMBER_MAX - \ COMPATIBLE_INTERFACE_NUMBER_MIN - \ COMPATIBLE_INTERFACE_STRING - \ COMPILE_DEFINITIONS - \ COMPILE_FEATURES - \ COMPILE_FLAGS - \ COMPILE_OPTIONS - \ COMPILE_PDB_NAME - \ COMPILE_PDB_OUTPUT_DIRECTORY - \ COMPILE_WARNING_AS_ERROR - \ COST - \ CPACK_DESKTOP_SHORTCUTS - \ CPACK_NEVER_OVERWRITE - \ CPACK_PERMANENT - \ CPACK_STARTUP_SHORTCUTS - \ CPACK_START_MENU_SHORTCUTS - \ CPACK_WIX_ACL - \ CROSSCOMPILING_EMULATOR - \ CUDA_ARCHITECTURES - \ CUDA_CUBIN_COMPILATION - \ CUDA_EXTENSIONS - \ CUDA_FATBIN_COMPILATION - \ CUDA_OPTIX_COMPILATION - \ CUDA_PTX_COMPILATION - \ CUDA_RESOLVE_DEVICE_SYMBOLS - \ CUDA_RUNTIME_LIBRARY - \ CUDA_SEPARABLE_COMPILATION - \ CUDA_STANDARD - \ CUDA_STANDARD_REQUIRED - \ CXX_EXTENSIONS - \ CXX_MODULE_DIRS - \ CXX_MODULE_SET - \ CXX_MODULE_SETS - \ CXX_SCAN_FOR_MODULES - \ CXX_STANDARD - \ CXX_STANDARD_REQUIRED - \ C_EXTENSIONS - \ C_STANDARD - \ C_STANDARD_REQUIRED - \ DEBUG_CONFIGURATIONS - \ DEBUG_POSTFIX - \ DEFINE_SYMBOL - \ DEFINITIONS - \ DEPENDS - \ DEPLOYMENT_ADDITIONAL_FILES - \ DEPLOYMENT_REMOTE_DIRECTORY - \ DEPRECATION - \ DISABLED - \ DISABLED_FEATURES - \ DISABLE_PRECOMPILE_HEADERS - \ DLL_NAME_WITH_SOVERSION - \ DOTNET_SDK - \ DOTNET_TARGET_FRAMEWORK - \ DOTNET_TARGET_FRAMEWORK_VERSION - \ ECLIPSE_EXTRA_CPROJECT_CONTENTS - \ ECLIPSE_EXTRA_NATURES - \ ENABLED_FEATURES - \ ENABLED_LANGUAGES - \ ENABLE_EXPORTS - \ ENVIRONMENT - \ ENVIRONMENT_MODIFICATION - \ EXCLUDE_FROM_ALL - \ EXCLUDE_FROM_DEFAULT_BUILD - \ EXPORT_COMPILE_COMMANDS - \ EXPORT_NAME - \ EXPORT_NO_SYSTEM - \ EXPORT_PROPERTIES - \ EXTERNAL_OBJECT - \ EchoString - \ FAIL_REGULAR_EXPRESSION - \ FIND_LIBRARY_USE_LIB32_PATHS - \ FIND_LIBRARY_USE_LIB64_PATHS - \ FIND_LIBRARY_USE_LIBX32_PATHS - \ FIND_LIBRARY_USE_OPENBSD_VERSIONING - \ FIXTURES_CLEANUP - \ FIXTURES_REQUIRED - \ FIXTURES_SETUP - \ FOLDER - \ FRAMEWORK - \ FRAMEWORK_VERSION - \ Fortran_BUILDING_INSTRINSIC_MODULES - \ Fortran_FORMAT - \ Fortran_MODULE_DIRECTORY - \ Fortran_PREPROCESS - \ GENERATED - \ GENERATOR_FILE_NAME - \ GENERATOR_IS_MULTI_CONFIG - \ GHS_INTEGRITY_APP - \ GHS_NO_SOURCE_GROUP_FILE - \ GLOBAL_DEPENDS_DEBUG_MODE - \ GLOBAL_DEPENDS_NO_CYCLES - \ GNUtoMS - \ HAS_CXX - \ HEADER_DIRS - \ HEADER_FILE_ONLY - \ HEADER_SET - \ HEADER_SETS - \ HELPSTRING - \ HIP_ARCHITECTURES - \ HIP_EXTENSIONS - \ HIP_STANDARD - \ HIP_STANDARD_REQUIRED - \ IMPLICIT_DEPENDS_INCLUDE_TRANSFORM - \ IMPORTED - \ IMPORTED_COMMON_LANGUAGE_RUNTIME - \ IMPORTED_CONFIGURATIONS - \ IMPORTED_GLOBAL - \ IMPORTED_IMPLIB - \ IMPORTED_LIBNAME - \ IMPORTED_LINK_DEPENDENT_LIBRARIES - \ IMPORTED_LINK_INTERFACE_LANGUAGES - \ IMPORTED_LINK_INTERFACE_LIBRARIES - \ IMPORTED_LINK_INTERFACE_MULTIPLICITY - \ IMPORTED_LOCATION - \ IMPORTED_NO_SONAME - \ IMPORTED_NO_SYSTEM - \ IMPORTED_OBJECTS - \ IMPORTED_SONAME - \ IMPORTED_TARGETS - \ IMPORT_PREFIX - \ IMPORT_SUFFIX - \ INCLUDE_DIRECTORIES - \ INCLUDE_REGULAR_EXPRESSION - \ INSTALL_NAME_DIR - \ INSTALL_REMOVE_ENVIRONMENT_RPATH - \ INSTALL_RPATH - \ INSTALL_RPATH_USE_LINK_PATH - \ INTERFACE_AUTOMOC_MACRO_NAMES - \ INTERFACE_AUTOUIC_OPTIONS - \ INTERFACE_AUTOMOC_MACRO_NAMES - \ INTERFACE_COMPILE_DEFINITIONS - \ INTERFACE_COMPILE_FEATURES - \ INTERFACE_COMPILE_OPTIONS - \ INTERFACE_CXX_MODULE_SETS - \ INTERFACE_HEADER_SETS - \ INTERFACE_HEADER_SETS_TO_VERIFY - \ INTERFACE_INCLUDE_DIRECTORIES - \ INTERFACE_LINK_DEPENDS - \ INTERFACE_LINK_DIRECTORIES - \ INTERFACE_LINK_LIBRARIES - \ INTERFACE_LINK_LIBRARIES_DIRECT - \ INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE - \ INTERFACE_LINK_OPTIONS - \ INTERFACE_POSITION_INDEPENDENT_CODE - \ INTERFACE_PRECOMPILE_HEADERS - \ INTERFACE_SOURCES - \ INTERFACE_SYSTEM_INCLUDE_DIRECTORIES - \ INTERPROCEDURAL_OPTIMIZATION - \ IN_TRY_COMPILE - \ IOS_INSTALL_COMBINED - \ ISPC_HEADER_DIRECTORY - \ ISPC_HEADER_SUFFIX - \ ISPC_INSTRUCTION_SETS - \ JOB_POOLS - \ JOB_POOL_COMPILE - \ JOB_POOL_LINK - \ JOB_POOL_PRECOMPILE_HEADER - \ KEEP_EXTENSION - \ LABELS - \ LANGUAGE - \ LIBRARY_OUTPUT_DIRECTORY - \ LIBRARY_OUTPUT_NAME - \ LINKER_LANGUAGE - \ LINK_DEPENDS - \ LINK_DEPENDS_NO_SHARED - \ LINK_DIRECTORIES - \ LINK_FLAGS - \ LINK_INTERFACE_LIBRARIES - \ LINK_INTERFACE_MULTIPLICITY - \ LINK_LIBRARIES - \ LINK_LIBRARIES_ONLY_TARGETS - \ LINK_LIBRARY_OVERRIDE - \ LINK_OPTIONS - \ LINK_SEARCH_END_STATIC - \ LINK_SEARCH_START_STATIC - \ LINK_WHAT_YOU_USE - \ LISTFILE_STACK - \ LOCATION - \ MACHO_COMPATIBILITY_VERSION - \ MACHO_CURRENT_VERSION - \ MACOSX_BUNDLE - \ MACOSX_BUNDLE_INFO_PLIST - \ MACOSX_FRAMEWORK_INFO_PLIST - \ MACOSX_PACKAGE_LOCATION - \ MACOSX_RPATH - \ MACROS - \ MANUALLY_ADDED_DEPENDENCIES - \ MEASUREMENT - \ MODIFIED - \ MSVC_DEBUG_INFORMATION_FORMAT - \ MSVC_RUNTIME_LIBRARY - \ NAME - \ NO_SONAME - \ NO_SYSTEM_FROM_IMPORTED - \ OBJCXX_EXTENSIONS - \ OBJCXX_STANDARD - \ OBJCXX_STANDARD_REQUIRED - \ OBJC_EXTENSIONS - \ OBJC_STANDARD - \ OBJC_STANDARD_REQUIRED - \ OBJECT_DEPENDS - \ OBJECT_OUTPUTS - \ OPTIMIZE_DEPENDENCIES - \ OSX_ARCHITECTURES - \ OUTPUT_NAME - \ PACKAGES_FOUND - \ PACKAGES_NOT_FOUND - \ PARENT_DIRECTORY - \ PASS_REGULAR_EXPRESSION - \ PCH_INSTANTIATE_TEMPLATES - \ PCH_WARN_INVALID - \ PDB_NAME - \ PDB_OUTPUT_DIRECTORY - \ POSITION_INDEPENDENT_CODE - \ POST_INSTALL_SCRIPT - \ PRECOMPILE_HEADERS - \ PRECOMPILE_HEADERS_REUSE_FROM - \ PREDEFINED_TARGETS_FOLDER - \ PREFIX - \ PRE_INSTALL_SCRIPT - \ PRIVATE_HEADER - \ PROCESSORS - \ PROCESSOR_AFFINITY - \ PROJECT_LABEL - \ PUBLIC_HEADER - \ REPORT_UNDEFINED_PROPERTIES - \ REQUIRED_FILES - \ RESOURCE - \ RESOURCE_GROUPS - \ RESOURCE_LOCK - \ RULE_LAUNCH_COMPILE - \ RULE_LAUNCH_CUSTOM - \ RULE_LAUNCH_LINK - \ RULE_MESSAGES - \ RUNTIME_OUTPUT_DIRECTORY - \ RUNTIME_OUTPUT_NAME - \ RUN_SERIAL - \ SKIP_AUTOGEN - \ SKIP_AUTOMOC - \ SKIP_AUTORCC - \ SKIP_AUTOUIC - \ SKIP_BUILD_RPATH - \ SKIP_LINTING - \ SKIP_PRECOMPILE_HEADERS - \ SKIP_REGULAR_EXPRESSION - \ SKIP_RETURN_CODE - \ SKIP_UNITY_BUILD_INCLUSION - \ SOURCES - \ SOURCE_DIR - \ SOVERSION - \ STATIC_LIBRARY_FLAGS - \ STATIC_LIBRARY_OPTIONS - \ STRINGS - \ SUBDIRECTORIES - \ SUFFIX - \ SYMBOLIC - \ SYSTEM - \ Swift_DEPENDENCIES_FILE - \ Swift_DIAGNOSTICS_FILE - \ Swift_LANGUAGE_VERSION - \ Swift_MODULE_DIRECTORY - \ Swift_MODULE_NAME - \ Swift_COMPILATION_MODE - \ TARGET_ARCHIVES_MAY_BE_SHARED_LIBS - \ TARGET_MESSAGES - \ TARGET_SUPPORTS_SHARED_LIBS - \ TESTS - \ TEST_INCLUDE_FILE - \ TEST_INCLUDE_FILES - \ TIMEOUT - \ TIMEOUT_AFTER_MATCH - \ TIMEOUT_SIGNAL_GRACE_PERIOD - \ TIMEOUT_SIGNAL_NAME - \ TYPE - \ UNITY_BUILD - \ UNITY_BUILD_BATCH_SIZE - \ UNITY_BUILD_CODE_AFTER_INCLUDE - \ UNITY_BUILD_CODE_BEFORE_INCLUDE - \ UNITY_BUILD_MODE - \ UNITY_BUILD_UNIQUE_ID - \ UNITY_GROUP - \ USE_FOLDERS - \ VALUE - \ VARIABLES - \ VERIFY_INTERFACE_HEADER_SETS - \ VERSION - \ VISIBILITY_INLINES_HIDDEN - \ VS_CONFIGURATION_TYPE - \ VS_COPY_TO_OUT_DIR - \ VS_DEBUGGER_COMMAND - \ VS_DEBUGGER_COMMAND_ARGUMENTS - \ VS_DEBUGGER_ENVIRONMENT - \ VS_DEBUGGER_WORKING_DIRECTORY - \ VS_DEPLOYMENT_CONTENT - \ VS_DEPLOYMENT_LOCATION - \ VS_DESKTOP_EXTENSIONS_VERSION - \ VS_DOTNET_DOCUMENTATION_FILE - \ VS_DOTNET_REFERENCES - \ VS_DOTNET_REFERENCES_COPY_LOCAL - \ VS_DOTNET_STARTUP_OBJECT - \ VS_DOTNET_TARGET_FRAMEWORK_VERSION - \ VS_DPI_AWARE - \ VS_GLOBAL_KEYWORD - \ VS_GLOBAL_PROJECT_TYPES - \ VS_GLOBAL_ROOTNAMESPACE - \ VS_INCLUDE_IN_VSIX - \ VS_IOT_EXTENSIONS_VERSION - \ VS_IOT_STARTUP_TASK - \ VS_JUST_MY_CODE_DEBUGGING - \ VS_KEYWORD - \ VS_MOBILE_EXTENSIONS_VERSION - \ VS_NO_COMPILE_BATCHING - \ VS_NO_SOLUTION_DEPLOY - \ VS_PACKAGE_REFERENCES - \ VS_PLATFORM_TOOLSET - \ VS_PROJECT_IMPORT - \ VS_RESOURCE_GENERATOR - \ VS_SCC_AUXPATH - \ VS_SCC_LOCALPATH - \ VS_SCC_PROJECTNAME - \ VS_SCC_PROVIDER - \ VS_SDK_REFERENCES - \ VS_SETTINGS - \ VS_SHADER_DISABLE_OPTIMIZATIONS - \ VS_SHADER_ENABLE_DEBUG - \ VS_SHADER_ENTRYPOINT - \ VS_SHADER_FLAGS - \ VS_SHADER_MODEL - \ VS_SHADER_OBJECT_FILE_NAME - \ VS_SHADER_OUTPUT_HEADER_FILE - \ VS_SHADER_TYPE - \ VS_SHADER_VARIABLE_NAME - \ VS_SOLUTION_DEPLOY - \ VS_STARTUP_PROJECT - \ VS_TOOL_OVERRIDE - \ VS_USER_PROPS - \ VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION - \ VS_WINRT_COMPONENT - \ VS_WINRT_EXTENSIONS - \ VS_WINRT_REFERENCES - \ VS_XAML_TYPE - \ WATCOM_RUNTIME_LIBRARY - \ WILL_FAIL - \ WIN32_EXECUTABLE - \ WINDOWS_EXPORT_ALL_SYMBOLS - \ WORKING_DIRECTORY - \ WRAP_EXCLUDE - \ XCODE_EMBED_FRAMEWORKS_CODE_SIGN_ON_COPY - \ XCODE_EMBED_FRAMEWORKS_REMOVE_HEADERS_ON_COPY - \ XCODE_EMIT_EFFECTIVE_PLATFORM_NAME - \ XCODE_EXPLICIT_FILE_TYPE - \ XCODE_FILE_ATTRIBUTES - \ XCODE_GENERATE_SCHEME - \ XCODE_LAST_KNOWN_FILE_TYPE - \ XCODE_LINK_BUILD_PHASE_MODE - \ XCODE_PRODUCT_TYPE - \ XCODE_SCHEME_ADDRESS_SANITIZER - \ XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN - \ XCODE_SCHEME_ARGUMENTS - \ XCODE_SCHEME_DEBUG_AS_ROOT - \ XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING - \ XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE - \ XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER - \ XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS - \ XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE - \ XCODE_SCHEME_ENABLE_GPU_API_VALIDATION - \ XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE - \ XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION - \ XCODE_SCHEME_ENVIRONMENT - \ XCODE_SCHEME_EXECUTABLE - \ XCODE_SCHEME_GUARD_MALLOC - \ XCODE_SCHEME_LAUNCH_CONFIGURATION - \ XCODE_SCHEME_LAUNCH_MODE - \ XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP - \ XCODE_SCHEME_MALLOC_GUARD_EDGES - \ XCODE_SCHEME_MALLOC_SCRIBBLE - \ XCODE_SCHEME_MALLOC_STACK - \ XCODE_SCHEME_THREAD_SANITIZER - \ XCODE_SCHEME_THREAD_SANITIZER_STOP - \ XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER - \ XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP - \ XCODE_SCHEME_ENABLE_GPU_API_VALIDATION - \ XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION - \ XCODE_SCHEME_LAUNCH_CONFIGURATION - \ XCODE_SCHEME_WORKING_DIRECTORY - \ XCODE_SCHEME_ZOMBIE_OBJECTS - \ XCODE_XCCONFIG - \ XCTEST - -syn keyword cmakeVariable contained - \ ANDROID - \ APPLE - \ BORLAND - \ BSD - \ BUILD_SHARED_LIBS - \ CACHE - \ CMAKE_ABSOLUTE_DESTINATION_FILES - \ CMAKE_ADD_CUSTOM_COMMAND_DEPENDS_EXPLICIT_ONLY - \ CMAKE_ADSP_ROOT - \ CMAKE_AIX_EXPORT_ALL_SYMBOLS - \ CMAKE_ANDROID_ANT_ADDITIONAL_OPTIONS - \ CMAKE_ANDROID_API - \ CMAKE_ANDROID_API_MIN - \ CMAKE_ANDROID_ARCH - \ CMAKE_ANDROID_ARCH_ABI - \ CMAKE_ANDROID_ARM_MODE - \ CMAKE_ANDROID_ARM_NEON - \ CMAKE_ANDROID_ASSETS_DIRECTORIES - \ CMAKE_ANDROID_EXCEPTIONS - \ CMAKE_ANDROID_GUI - \ CMAKE_ANDROID_JAR_DEPENDENCIES - \ CMAKE_ANDROID_JAR_DIRECTORIES - \ CMAKE_ANDROID_JAVA_SOURCE_DIR - \ CMAKE_ANDROID_NATIVE_LIB_DEPENDENCIES - \ CMAKE_ANDROID_NATIVE_LIB_DIRECTORIES - \ CMAKE_ANDROID_NDK - \ CMAKE_ANDROID_NDK_DEPRECATED_HEADERS - \ CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG - \ CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION - \ CMAKE_ANDROID_NDK_VERSION - \ CMAKE_ANDROID_PROCESS_MAX - \ CMAKE_ANDROID_PROGUARD - \ CMAKE_ANDROID_PROGUARD_CONFIG_PATH - \ CMAKE_ANDROID_RTTI - \ CMAKE_ANDROID_SECURE_PROPS_PATH - \ CMAKE_ANDROID_SKIP_ANT_STEP - \ CMAKE_ANDROID_STANDALONE_TOOLCHAIN - \ CMAKE_ANDROID_STL_TYPE - \ CMAKE_APPBUNDLE_PATH - \ CMAKE_APPLE_SILICON_PROCESSOR - \ CMAKE_AR - \ CMAKE_ARCHIVE_OUTPUT_DIRECTORY - \ CMAKE_ARGC - \ CMAKE_ARGV0 - \ CMAKE_ASM - \ CMAKE_ASM_ANDROID_TOOLCHAIN_MACHINE - \ CMAKE_ASM_ANDROID_TOOLCHAIN_PREFIX - \ CMAKE_ASM_ANDROID_TOOLCHAIN_SUFFIX - \ CMAKE_ASM_ARCHIVE_APPEND - \ CMAKE_ASM_ARCHIVE_CREATE - \ CMAKE_ASM_ARCHIVE_FINISH - \ CMAKE_ASM_BYTE_ORDER - \ CMAKE_ASM_CLANG_TIDY - \ CMAKE_ASM_CLANG_TIDY_EXPORT_FIXES_DIR - \ CMAKE_ASM_COMPILER - \ CMAKE_ASM_COMPILER_ABI - \ CMAKE_ASM_COMPILER_AR - \ CMAKE_ASM_COMPILER_ARCHITECTURE_ID - \ CMAKE_ASM_COMPILER_EXTERNAL_TOOLCHAIN - \ CMAKE_ASM_COMPILER_FRONTEND_VARIANT - \ CMAKE_ASM_COMPILER_ID - \ CMAKE_ASM_COMPILER_LAUNCHER - \ CMAKE_ASM_COMPILER_LOADED - \ CMAKE_ASM_COMPILER_PREDEFINES_COMMAND - \ CMAKE_ASM_COMPILER_RANLIB - \ CMAKE_ASM_COMPILER_TARGET - \ CMAKE_ASM_COMPILER_VERSION - \ CMAKE_ASM_COMPILER_VERSION_INTERNAL - \ CMAKE_ASM_COMPILE_OBJECT - \ CMAKE_ASM_CPPCHECK - \ CMAKE_ASM_CPPLINT - \ CMAKE_ASM_CREATE_SHARED_LIBRARY - \ CMAKE_ASM_CREATE_SHARED_MODULE - \ CMAKE_ASM_CREATE_STATIC_LIBRARY - \ CMAKE_ASM_EXTENSIONS - \ CMAKE_ASM_EXTENSIONS_DEFAULT - \ CMAKE_ASM_FLAGS - \ CMAKE_ASM_FLAGS_DEBUG - \ CMAKE_ASM_FLAGS_DEBUG_INIT - \ CMAKE_ASM_FLAGS_INIT - \ CMAKE_ASM_FLAGS_MINSIZEREL - \ CMAKE_ASM_FLAGS_MINSIZEREL_INIT - \ CMAKE_ASM_FLAGS_RELEASE - \ CMAKE_ASM_FLAGS_RELEASE_INIT - \ CMAKE_ASM_FLAGS_RELWITHDEBINFO - \ CMAKE_ASM_FLAGS_RELWITHDEBINFO_INIT - \ CMAKE_ASM_IGNORE_EXTENSIONS - \ CMAKE_ASM_IMPLICIT_INCLUDE_DIRECTORIES - \ CMAKE_ASM_IMPLICIT_LINK_DIRECTORIES - \ CMAKE_ASM_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES - \ CMAKE_ASM_IMPLICIT_LINK_LIBRARIES - \ CMAKE_ASM_INCLUDE_WHAT_YOU_USE - \ CMAKE_ASM_INIT - \ CMAKE_ASM_LIBRARY_ARCHITECTURE - \ CMAKE_ASM_LINKER_LAUNCHER - \ CMAKE_ASM_LINKER_PREFERENCE - \ CMAKE_ASM_LINKER_PREFERENCE_PROPAGATES - \ CMAKE_ASM_LINKER_WRAPPER_FLAG - \ CMAKE_ASM_LINKER_WRAPPER_FLAG_SEP - \ CMAKE_ASM_LINK_EXECUTABLE - \ CMAKE_ASM_LINK_LIBRARY_FILE_FLAG - \ CMAKE_ASM_LINK_LIBRARY_FLAG - \ CMAKE_ASM_LINK_LIBRARY_SUFFIX - \ CMAKE_ASM_LINK_WHAT_YOU_USE_FLAG - \ CMAKE_ASM_MASM - \ CMAKE_ASM_MASM_ANDROID_TOOLCHAIN_MACHINE - \ CMAKE_ASM_MASM_ANDROID_TOOLCHAIN_PREFIX - \ CMAKE_ASM_MASM_ANDROID_TOOLCHAIN_SUFFIX - \ CMAKE_ASM_MASM_ARCHIVE_APPEND - \ CMAKE_ASM_MASM_ARCHIVE_CREATE - \ CMAKE_ASM_MASM_ARCHIVE_FINISH - \ CMAKE_ASM_MASM_BYTE_ORDER - \ CMAKE_ASM_MASM_CLANG_TIDY - \ CMAKE_ASM_MASM_CLANG_TIDY_EXPORT_FIXES_DIR - \ CMAKE_ASM_MASM_COMPILER - \ CMAKE_ASM_MASM_COMPILER_ABI - \ CMAKE_ASM_MASM_COMPILER_AR - \ CMAKE_ASM_MASM_COMPILER_ARCHITECTURE_ID - \ CMAKE_ASM_MASM_COMPILER_EXTERNAL_TOOLCHAIN - \ CMAKE_ASM_MASM_COMPILER_FRONTEND_VARIANT - \ CMAKE_ASM_MASM_COMPILER_ID - \ CMAKE_ASM_MASM_COMPILER_LAUNCHER - \ CMAKE_ASM_MASM_COMPILER_LOADED - \ CMAKE_ASM_MASM_COMPILER_PREDEFINES_COMMAND - \ CMAKE_ASM_MASM_COMPILER_RANLIB - \ CMAKE_ASM_MASM_COMPILER_TARGET - \ CMAKE_ASM_MASM_COMPILER_VERSION - \ CMAKE_ASM_MASM_COMPILER_VERSION_INTERNAL - \ CMAKE_ASM_MASM_COMPILE_OBJECT - \ CMAKE_ASM_MASM_CPPCHECK - \ CMAKE_ASM_MASM_CPPLINT - \ CMAKE_ASM_MASM_CREATE_SHARED_LIBRARY - \ CMAKE_ASM_MASM_CREATE_SHARED_MODULE - \ CMAKE_ASM_MASM_CREATE_STATIC_LIBRARY - \ CMAKE_ASM_MASM_EXTENSIONS - \ CMAKE_ASM_MASM_EXTENSIONS_DEFAULT - \ CMAKE_ASM_MASM_FLAGS - \ CMAKE_ASM_MASM_FLAGS_DEBUG - \ CMAKE_ASM_MASM_FLAGS_DEBUG_INIT - \ CMAKE_ASM_MASM_FLAGS_INIT - \ CMAKE_ASM_MASM_FLAGS_MINSIZEREL - \ CMAKE_ASM_MASM_FLAGS_MINSIZEREL_INIT - \ CMAKE_ASM_MASM_FLAGS_RELEASE - \ CMAKE_ASM_MASM_FLAGS_RELEASE_INIT - \ CMAKE_ASM_MASM_FLAGS_RELWITHDEBINFO - \ CMAKE_ASM_MASM_FLAGS_RELWITHDEBINFO_INIT - \ CMAKE_ASM_MASM_IGNORE_EXTENSIONS - \ CMAKE_ASM_MASM_IMPLICIT_INCLUDE_DIRECTORIES - \ CMAKE_ASM_MASM_IMPLICIT_LINK_DIRECTORIES - \ CMAKE_ASM_MASM_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES - \ CMAKE_ASM_MASM_IMPLICIT_LINK_LIBRARIES - \ CMAKE_ASM_MASM_INCLUDE_WHAT_YOU_USE - \ CMAKE_ASM_MASM_INIT - \ CMAKE_ASM_MASM_LIBRARY_ARCHITECTURE - \ CMAKE_ASM_MASM_LINKER_LAUNCHER - \ CMAKE_ASM_MASM_LINKER_PREFERENCE - \ CMAKE_ASM_MASM_LINKER_PREFERENCE_PROPAGATES - \ CMAKE_ASM_MASM_LINKER_WRAPPER_FLAG - \ CMAKE_ASM_MASM_LINKER_WRAPPER_FLAG_SEP - \ CMAKE_ASM_MASM_LINK_EXECUTABLE - \ CMAKE_ASM_MASM_LINK_LIBRARY_FILE_FLAG - \ CMAKE_ASM_MASM_LINK_LIBRARY_FLAG - \ CMAKE_ASM_MASM_LINK_LIBRARY_SUFFIX - \ CMAKE_ASM_MASM_LINK_WHAT_YOU_USE_FLAG - \ CMAKE_ASM_MASM_OUTPUT_EXTENSION - \ CMAKE_ASM_MASM_PLATFORM_ID - \ CMAKE_ASM_MASM_SIMULATE_ID - \ CMAKE_ASM_MASM_SIMULATE_VERSION - \ CMAKE_ASM_MASM_SIZEOF_DATA_PTR - \ CMAKE_ASM_MASM_SOURCE_FILE_EXTENSIONS - \ CMAKE_ASM_MASM_STANDARD - \ CMAKE_ASM_MASM_STANDARD_DEFAULT - \ CMAKE_ASM_MASM_STANDARD_INCLUDE_DIRECTORIES - \ CMAKE_ASM_MASM_STANDARD_LIBRARIES - \ CMAKE_ASM_MASM_STANDARD_REQUIRED - \ CMAKE_ASM_MASM_SUPPORTED - \ CMAKE_ASM_MASM_VISIBILITY_PRESET - \ CMAKE_ASM_NASM - \ CMAKE_ASM_NASM_ANDROID_TOOLCHAIN_MACHINE - \ CMAKE_ASM_NASM_ANDROID_TOOLCHAIN_PREFIX - \ CMAKE_ASM_NASM_ANDROID_TOOLCHAIN_SUFFIX - \ CMAKE_ASM_NASM_ARCHIVE_APPEND - \ CMAKE_ASM_NASM_ARCHIVE_CREATE - \ CMAKE_ASM_NASM_ARCHIVE_FINISH - \ CMAKE_ASM_NASM_BYTE_ORDER - \ CMAKE_ASM_NASM_CLANG_TIDY - \ CMAKE_ASM_NASM_CLANG_TIDY_EXPORT_FIXES_DIR - \ CMAKE_ASM_NASM_COMPILER - \ CMAKE_ASM_NASM_COMPILER_ABI - \ CMAKE_ASM_NASM_COMPILER_AR - \ CMAKE_ASM_NASM_COMPILER_ARCHITECTURE_ID - \ CMAKE_ASM_NASM_COMPILER_EXTERNAL_TOOLCHAIN - \ CMAKE_ASM_NASM_COMPILER_FRONTEND_VARIANT - \ CMAKE_ASM_NASM_COMPILER_ID - \ CMAKE_ASM_NASM_COMPILER_LAUNCHER - \ CMAKE_ASM_NASM_COMPILER_LOADED - \ CMAKE_ASM_NASM_COMPILER_PREDEFINES_COMMAND - \ CMAKE_ASM_NASM_COMPILER_RANLIB - \ CMAKE_ASM_NASM_COMPILER_TARGET - \ CMAKE_ASM_NASM_COMPILER_VERSION - \ CMAKE_ASM_NASM_COMPILER_VERSION_INTERNAL - \ CMAKE_ASM_NASM_COMPILE_OBJECT - \ CMAKE_ASM_NASM_CPPCHECK - \ CMAKE_ASM_NASM_CPPLINT - \ CMAKE_ASM_NASM_CREATE_SHARED_LIBRARY - \ CMAKE_ASM_NASM_CREATE_SHARED_MODULE - \ CMAKE_ASM_NASM_CREATE_STATIC_LIBRARY - \ CMAKE_ASM_NASM_EXTENSIONS - \ CMAKE_ASM_NASM_EXTENSIONS_DEFAULT - \ CMAKE_ASM_NASM_FLAGS - \ CMAKE_ASM_NASM_FLAGS_DEBUG - \ CMAKE_ASM_NASM_FLAGS_DEBUG_INIT - \ CMAKE_ASM_NASM_FLAGS_INIT - \ CMAKE_ASM_NASM_FLAGS_MINSIZEREL - \ CMAKE_ASM_NASM_FLAGS_MINSIZEREL_INIT - \ CMAKE_ASM_NASM_FLAGS_RELEASE - \ CMAKE_ASM_NASM_FLAGS_RELEASE_INIT - \ CMAKE_ASM_NASM_FLAGS_RELWITHDEBINFO - \ CMAKE_ASM_NASM_FLAGS_RELWITHDEBINFO_INIT - \ CMAKE_ASM_NASM_IGNORE_EXTENSIONS - \ CMAKE_ASM_NASM_IMPLICIT_INCLUDE_DIRECTORIES - \ CMAKE_ASM_NASM_IMPLICIT_LINK_DIRECTORIES - \ CMAKE_ASM_NASM_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES - \ CMAKE_ASM_NASM_IMPLICIT_LINK_LIBRARIES - \ CMAKE_ASM_NASM_INCLUDE_WHAT_YOU_USE - \ CMAKE_ASM_NASM_INIT - \ CMAKE_ASM_NASM_LIBRARY_ARCHITECTURE - \ CMAKE_ASM_NASM_LINKER_LAUNCHER - \ CMAKE_ASM_NASM_LINKER_PREFERENCE - \ CMAKE_ASM_NASM_LINKER_PREFERENCE_PROPAGATES - \ CMAKE_ASM_NASM_LINKER_WRAPPER_FLAG - \ CMAKE_ASM_NASM_LINKER_WRAPPER_FLAG_SEP - \ CMAKE_ASM_NASM_LINK_EXECUTABLE - \ CMAKE_ASM_NASM_LINK_LIBRARY_FILE_FLAG - \ CMAKE_ASM_NASM_LINK_LIBRARY_FLAG - \ CMAKE_ASM_NASM_LINK_LIBRARY_SUFFIX - \ CMAKE_ASM_NASM_LINK_WHAT_YOU_USE_FLAG - \ CMAKE_ASM_NASM_OUTPUT_EXTENSION - \ CMAKE_ASM_NASM_PLATFORM_ID - \ CMAKE_ASM_NASM_SIMULATE_ID - \ CMAKE_ASM_NASM_SIMULATE_VERSION - \ CMAKE_ASM_NASM_SIZEOF_DATA_PTR - \ CMAKE_ASM_NASM_SOURCE_FILE_EXTENSIONS - \ CMAKE_ASM_NASM_STANDARD - \ CMAKE_ASM_NASM_STANDARD_DEFAULT - \ CMAKE_ASM_NASM_STANDARD_INCLUDE_DIRECTORIES - \ CMAKE_ASM_NASM_STANDARD_LIBRARIES - \ CMAKE_ASM_NASM_STANDARD_REQUIRED - \ CMAKE_ASM_NASM_SUPPORTED - \ CMAKE_ASM_NASM_VISIBILITY_PRESET - \ CMAKE_ASM_OUTPUT_EXTENSION - \ CMAKE_ASM_PLATFORM_ID - \ CMAKE_ASM_SIMULATE_ID - \ CMAKE_ASM_SIMULATE_VERSION - \ CMAKE_ASM_SIZEOF_DATA_PTR - \ CMAKE_ASM_SOURCE_FILE_EXTENSIONS - \ CMAKE_ASM_STANDARD - \ CMAKE_ASM_STANDARD_DEFAULT - \ CMAKE_ASM_STANDARD_INCLUDE_DIRECTORIES - \ CMAKE_ASM_STANDARD_LIBRARIES - \ CMAKE_ASM_STANDARD_REQUIRED - \ CMAKE_ASM_SUPPORTED - \ CMAKE_ASM_VISIBILITY_PRESET - \ CMAKE_AUTOGEN_COMMAND_LINE_LENGTH_MAX - \ CMAKE_AUTOGEN_ORIGIN_DEPENDS - \ CMAKE_AUTOGEN_PARALLEL - \ CMAKE_AUTOGEN_USE_SYSTEM_INCLUDE - \ CMAKE_AUTOGEN_VERBOSE - \ CMAKE_AUTOMOC - \ CMAKE_AUTOMOC_COMPILER_PREDEFINES - \ CMAKE_AUTOMOC_DEPEND_FILTERS - \ CMAKE_AUTOMOC_EXECUTABLE - \ CMAKE_AUTOMOC_MACRO_NAMES - \ CMAKE_AUTOMOC_MOC_OPTIONS - \ CMAKE_AUTOMOC_PATH_PREFIX - \ CMAKE_AUTOMOC_RELAXED_MODE - \ CMAKE_AUTOMOC_EXECUTABLE - \ CMAKE_AUTORCC - \ CMAKE_AUTORCC_EXECUTABLE - \ CMAKE_AUTORCC_OPTIONS - \ CMAKE_AUTORCC_EXECUTABLE - \ CMAKE_AUTOUIC - \ CMAKE_AUTOUIC_EXECUTABLE - \ CMAKE_AUTOUIC_OPTIONS - \ CMAKE_AUTOUIC_SEARCH_PATHS - \ CMAKE_AUTOUIC_EXECUTABLE - \ CMAKE_BACKWARDS_COMPATIBILITY - \ CMAKE_BINARY_DIR - \ CMAKE_BUILD_RPATH - \ CMAKE_BUILD_RPATH_USE_ORIGIN - \ CMAKE_BUILD_TOOL - \ CMAKE_BUILD_TYPE - \ CMAKE_BUILD_WITH_INSTALL_NAME_DIR - \ CMAKE_BUILD_WITH_INSTALL_RPATH - \ CMAKE_C - \ CMAKE_CACHEFILE_DIR - \ CMAKE_CACHE_MAJOR_VERSION - \ CMAKE_CACHE_MINOR_VERSION - \ CMAKE_CACHE_PATCH_VERSION - \ CMAKE_CFG_INTDIR - \ CMAKE_CLANG_VFS_OVERLAY - \ CMAKE_CL_64 - \ CMAKE_CODEBLOCKS_COMPILER_ID - \ CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES - \ CMAKE_CODELITE_USE_TARGETS - \ CMAKE_COLOR_DIAGNOSTICS - \ CMAKE_COLOR_MAKEFILE - \ CMAKE_COMMAND - \ CMAKE_COMPILER_2005 - \ CMAKE_COMPILER_IS_GNUCC - \ CMAKE_COMPILER_IS_GNUCXX - \ CMAKE_COMPILER_IS_GNUG77 - \ CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY - \ CMAKE_COMPILE_WARNING_AS_ERROR - \ CMAKE_CONFIGURATION_TYPES - \ CMAKE_CPACK_COMMAND - \ CMAKE_CROSSCOMPILING - \ CMAKE_CROSSCOMPILING_EMULATOR - \ CMAKE_CROSS_CONFIGS - \ CMAKE_CSharp - \ CMAKE_CSharp_ANDROID_TOOLCHAIN_MACHINE - \ CMAKE_CSharp_ANDROID_TOOLCHAIN_PREFIX - \ CMAKE_CSharp_ANDROID_TOOLCHAIN_SUFFIX - \ CMAKE_CSharp_ARCHIVE_APPEND - \ CMAKE_CSharp_ARCHIVE_CREATE - \ CMAKE_CSharp_ARCHIVE_FINISH - \ CMAKE_CSharp_BYTE_ORDER - \ CMAKE_CSharp_CLANG_TIDY - \ CMAKE_CSharp_CLANG_TIDY_EXPORT_FIXES_DIR - \ CMAKE_CSharp_COMPILER - \ CMAKE_CSharp_COMPILER_ABI - \ CMAKE_CSharp_COMPILER_AR - \ CMAKE_CSharp_COMPILER_ARCHITECTURE_ID - \ CMAKE_CSharp_COMPILER_EXTERNAL_TOOLCHAIN - \ CMAKE_CSharp_COMPILER_FRONTEND_VARIANT - \ CMAKE_CSharp_COMPILER_ID - \ CMAKE_CSharp_COMPILER_LAUNCHER - \ CMAKE_CSharp_COMPILER_LOADED - \ CMAKE_CSharp_COMPILER_PREDEFINES_COMMAND - \ CMAKE_CSharp_COMPILER_RANLIB - \ CMAKE_CSharp_COMPILER_TARGET - \ CMAKE_CSharp_COMPILER_VERSION - \ CMAKE_CSharp_COMPILER_VERSION_INTERNAL - \ CMAKE_CSharp_COMPILE_OBJECT - \ CMAKE_CSharp_CPPCHECK - \ CMAKE_CSharp_CPPLINT - \ CMAKE_CSharp_CREATE_SHARED_LIBRARY - \ CMAKE_CSharp_CREATE_SHARED_MODULE - \ CMAKE_CSharp_CREATE_STATIC_LIBRARY - \ CMAKE_CSharp_EXTENSIONS - \ CMAKE_CSharp_EXTENSIONS_DEFAULT - \ CMAKE_CSharp_FLAGS - \ CMAKE_CSharp_FLAGS_DEBUG - \ CMAKE_CSharp_FLAGS_DEBUG_INIT - \ CMAKE_CSharp_FLAGS_INIT - \ CMAKE_CSharp_FLAGS_MINSIZEREL - \ CMAKE_CSharp_FLAGS_MINSIZEREL_INIT - \ CMAKE_CSharp_FLAGS_RELEASE - \ CMAKE_CSharp_FLAGS_RELEASE_INIT - \ CMAKE_CSharp_FLAGS_RELWITHDEBINFO - \ CMAKE_CSharp_FLAGS_RELWITHDEBINFO_INIT - \ CMAKE_CSharp_IGNORE_EXTENSIONS - \ CMAKE_CSharp_IMPLICIT_INCLUDE_DIRECTORIES - \ CMAKE_CSharp_IMPLICIT_LINK_DIRECTORIES - \ CMAKE_CSharp_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES - \ CMAKE_CSharp_IMPLICIT_LINK_LIBRARIES - \ CMAKE_CSharp_INCLUDE_WHAT_YOU_USE - \ CMAKE_CSharp_INIT - \ CMAKE_CSharp_LIBRARY_ARCHITECTURE - \ CMAKE_CSharp_LINKER_LAUNCHER - \ CMAKE_CSharp_LINKER_PREFERENCE - \ CMAKE_CSharp_LINKER_PREFERENCE_PROPAGATES - \ CMAKE_CSharp_LINKER_WRAPPER_FLAG - \ CMAKE_CSharp_LINKER_WRAPPER_FLAG_SEP - \ CMAKE_CSharp_LINK_EXECUTABLE - \ CMAKE_CSharp_LINK_LIBRARY_FILE_FLAG - \ CMAKE_CSharp_LINK_LIBRARY_FLAG - \ CMAKE_CSharp_LINK_LIBRARY_SUFFIX - \ CMAKE_CSharp_LINK_WHAT_YOU_USE_FLAG - \ CMAKE_CSharp_OUTPUT_EXTENSION - \ CMAKE_CSharp_PLATFORM_ID - \ CMAKE_CSharp_SIMULATE_ID - \ CMAKE_CSharp_SIMULATE_VERSION - \ CMAKE_CSharp_SIZEOF_DATA_PTR - \ CMAKE_CSharp_SOURCE_FILE_EXTENSIONS - \ CMAKE_CSharp_STANDARD - \ CMAKE_CSharp_STANDARD_DEFAULT - \ CMAKE_CSharp_STANDARD_INCLUDE_DIRECTORIES - \ CMAKE_CSharp_STANDARD_LIBRARIES - \ CMAKE_CSharp_STANDARD_REQUIRED - \ CMAKE_CSharp_SUPPORTED - \ CMAKE_CSharp_VISIBILITY_PRESET - \ CMAKE_CTEST_ARGUMENTS - \ CMAKE_CTEST_COMMAND - \ CMAKE_CUDA - \ CMAKE_CUDA_ANDROID_TOOLCHAIN_MACHINE - \ CMAKE_CUDA_ANDROID_TOOLCHAIN_PREFIX - \ CMAKE_CUDA_ANDROID_TOOLCHAIN_SUFFIX - \ CMAKE_CUDA_ARCHITECTURES - \ CMAKE_CUDA_ARCHIVE_APPEND - \ CMAKE_CUDA_ARCHIVE_CREATE - \ CMAKE_CUDA_ARCHIVE_FINISH - \ CMAKE_CUDA_BYTE_ORDER - \ CMAKE_CUDA_CLANG_TIDY - \ CMAKE_CUDA_CLANG_TIDY_EXPORT_FIXES_DIR - \ CMAKE_CUDA_COMPILER - \ CMAKE_CUDA_COMPILER_ABI - \ CMAKE_CUDA_COMPILER_AR - \ CMAKE_CUDA_COMPILER_ARCHITECTURE_ID - \ CMAKE_CUDA_COMPILER_EXTERNAL_TOOLCHAIN - \ CMAKE_CUDA_COMPILER_FRONTEND_VARIANT - \ CMAKE_CUDA_COMPILER_ID - \ CMAKE_CUDA_COMPILER_LAUNCHER - \ CMAKE_CUDA_COMPILER_LOADED - \ CMAKE_CUDA_COMPILER_PREDEFINES_COMMAND - \ CMAKE_CUDA_COMPILER_RANLIB - \ CMAKE_CUDA_COMPILER_TARGET - \ CMAKE_CUDA_COMPILER_VERSION - \ CMAKE_CUDA_COMPILER_VERSION_INTERNAL - \ CMAKE_CUDA_COMPILE_FEATURES - \ CMAKE_CUDA_COMPILE_OBJECT - \ CMAKE_CUDA_CPPCHECK - \ CMAKE_CUDA_CPPLINT - \ CMAKE_CUDA_CREATE_SHARED_LIBRARY - \ CMAKE_CUDA_CREATE_SHARED_MODULE - \ CMAKE_CUDA_CREATE_STATIC_LIBRARY - \ CMAKE_CUDA_EXTENSIONS - \ CMAKE_CUDA_EXTENSIONS_DEFAULT - \ CMAKE_CUDA_FLAGS - \ CMAKE_CUDA_FLAGS_DEBUG - \ CMAKE_CUDA_FLAGS_DEBUG_INIT - \ CMAKE_CUDA_FLAGS_INIT - \ CMAKE_CUDA_FLAGS_MINSIZEREL - \ CMAKE_CUDA_FLAGS_MINSIZEREL_INIT - \ CMAKE_CUDA_FLAGS_RELEASE - \ CMAKE_CUDA_FLAGS_RELEASE_INIT - \ CMAKE_CUDA_FLAGS_RELWITHDEBINFO - \ CMAKE_CUDA_FLAGS_RELWITHDEBINFO_INIT - \ CMAKE_CUDA_HOST_COMPILER - \ CMAKE_CUDA_IGNORE_EXTENSIONS - \ CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES - \ CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES - \ CMAKE_CUDA_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES - \ CMAKE_CUDA_IMPLICIT_LINK_LIBRARIES - \ CMAKE_CUDA_INCLUDE_WHAT_YOU_USE - \ CMAKE_CUDA_INIT - \ CMAKE_CUDA_LIBRARY_ARCHITECTURE - \ CMAKE_CUDA_LINKER_LAUNCHER - \ CMAKE_CUDA_LINKER_PREFERENCE - \ CMAKE_CUDA_LINKER_PREFERENCE_PROPAGATES - \ CMAKE_CUDA_LINKER_WRAPPER_FLAG - \ CMAKE_CUDA_LINKER_WRAPPER_FLAG_SEP - \ CMAKE_CUDA_LINK_EXECUTABLE - \ CMAKE_CUDA_LINK_LIBRARY_FILE_FLAG - \ CMAKE_CUDA_LINK_LIBRARY_FLAG - \ CMAKE_CUDA_LINK_LIBRARY_SUFFIX - \ CMAKE_CUDA_LINK_WHAT_YOU_USE_FLAG - \ CMAKE_CUDA_OUTPUT_EXTENSION - \ CMAKE_CUDA_PLATFORM_ID - \ CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS - \ CMAKE_CUDA_RUNTIME_LIBRARY - \ CMAKE_CUDA_SEPARABLE_COMPILATION - \ CMAKE_CUDA_SIMULATE_ID - \ CMAKE_CUDA_SIMULATE_VERSION - \ CMAKE_CUDA_SIZEOF_DATA_PTR - \ CMAKE_CUDA_SOURCE_FILE_EXTENSIONS - \ CMAKE_CUDA_STANDARD - \ CMAKE_CUDA_STANDARD_DEFAULT - \ CMAKE_CUDA_STANDARD_INCLUDE_DIRECTORIES - \ CMAKE_CUDA_STANDARD_LIBRARIES - \ CMAKE_CUDA_STANDARD_REQUIRED - \ CMAKE_CUDA_SUPPORTED - \ CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES - \ CMAKE_CUDA_VISIBILITY_PRESET - \ CMAKE_CURRENT_BINARY_DIR - \ CMAKE_CURRENT_FUNCTION - \ CMAKE_CURRENT_FUNCTION_LIST_DIR - \ CMAKE_CURRENT_FUNCTION_LIST_FILE - \ CMAKE_CURRENT_FUNCTION_LIST_LINE - \ CMAKE_CURRENT_LIST_DIR - \ CMAKE_CURRENT_LIST_FILE - \ CMAKE_CURRENT_LIST_LINE - \ CMAKE_CURRENT_SOURCE_DIR - \ CMAKE_CXX - \ CMAKE_CXX_ANDROID_TOOLCHAIN_MACHINE - \ CMAKE_CXX_ANDROID_TOOLCHAIN_PREFIX - \ CMAKE_CXX_ANDROID_TOOLCHAIN_SUFFIX - \ CMAKE_CXX_ARCHIVE_APPEND - \ CMAKE_CXX_ARCHIVE_CREATE - \ CMAKE_CXX_ARCHIVE_FINISH - \ CMAKE_CXX_BYTE_ORDER - \ CMAKE_CXX_CLANG_TIDY - \ CMAKE_CXX_CLANG_TIDY_EXPORT_FIXES_DIR - \ CMAKE_CXX_COMPILER - \ CMAKE_CXX_COMPILER_ABI - \ CMAKE_CXX_COMPILER_AR - \ CMAKE_CXX_COMPILER_ARCHITECTURE_ID - \ CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN - \ CMAKE_CXX_COMPILER_FRONTEND_VARIANT - \ CMAKE_CXX_COMPILER_ID - \ CMAKE_CXX_COMPILER_LAUNCHER - \ CMAKE_CXX_COMPILER_LOADED - \ CMAKE_CXX_COMPILER_PREDEFINES_COMMAND - \ CMAKE_CXX_COMPILER_RANLIB - \ CMAKE_CXX_COMPILER_TARGET - \ CMAKE_CXX_COMPILER_VERSION - \ CMAKE_CXX_COMPILER_VERSION_INTERNAL - \ CMAKE_CXX_COMPILE_FEATURES - \ CMAKE_CXX_COMPILE_OBJECT - \ CMAKE_CXX_CPPCHECK - \ CMAKE_CXX_CPPLINT - \ CMAKE_CXX_CREATE_SHARED_LIBRARY - \ CMAKE_CXX_CREATE_SHARED_MODULE - \ CMAKE_CXX_CREATE_STATIC_LIBRARY - \ CMAKE_CXX_EXTENSIONS - \ CMAKE_CXX_EXTENSIONS_DEFAULT - \ CMAKE_CXX_FLAGS - \ CMAKE_CXX_FLAGS_DEBUG - \ CMAKE_CXX_FLAGS_DEBUG_INIT - \ CMAKE_CXX_FLAGS_INIT - \ CMAKE_CXX_FLAGS_MINSIZEREL - \ CMAKE_CXX_FLAGS_MINSIZEREL_INIT - \ CMAKE_CXX_FLAGS_RELEASE - \ CMAKE_CXX_FLAGS_RELEASE_INIT - \ CMAKE_CXX_FLAGS_RELWITHDEBINFO - \ CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT - \ CMAKE_CXX_IGNORE_EXTENSIONS - \ CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES - \ CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES - \ CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES - \ CMAKE_CXX_IMPLICIT_LINK_LIBRARIES - \ CMAKE_CXX_INCLUDE_WHAT_YOU_USE - \ CMAKE_CXX_INIT - \ CMAKE_CXX_LIBRARY_ARCHITECTURE - \ CMAKE_CXX_LINKER_LAUNCHER - \ CMAKE_CXX_LINKER_PREFERENCE - \ CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES - \ CMAKE_CXX_LINKER_WRAPPER_FLAG - \ CMAKE_CXX_LINKER_WRAPPER_FLAG_SEP - \ CMAKE_CXX_LINK_EXECUTABLE - \ CMAKE_CXX_LINK_LIBRARY_FILE_FLAG - \ CMAKE_CXX_LINK_LIBRARY_FLAG - \ CMAKE_CXX_LINK_LIBRARY_SUFFIX - \ CMAKE_CXX_LINK_WHAT_YOU_USE_FLAG - \ CMAKE_CXX_OUTPUT_EXTENSION - \ CMAKE_CXX_PLATFORM_ID - \ CMAKE_CXX_SCAN_FOR_MODULES - \ CMAKE_CXX_SIMULATE_ID - \ CMAKE_CXX_SIMULATE_VERSION - \ CMAKE_CXX_SIZEOF_DATA_PTR - \ CMAKE_CXX_SOURCE_FILE_EXTENSIONS - \ CMAKE_CXX_STANDARD - \ CMAKE_CXX_STANDARD_DEFAULT - \ CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES - \ CMAKE_CXX_STANDARD_LIBRARIES - \ CMAKE_CXX_STANDARD_REQUIRED - \ CMAKE_CXX_SUPPORTED - \ CMAKE_CXX_VISIBILITY_PRESET - \ CMAKE_C_ANDROID_TOOLCHAIN_MACHINE - \ CMAKE_C_ANDROID_TOOLCHAIN_PREFIX - \ CMAKE_C_ANDROID_TOOLCHAIN_SUFFIX - \ CMAKE_C_ARCHIVE_APPEND - \ CMAKE_C_ARCHIVE_CREATE - \ CMAKE_C_ARCHIVE_FINISH - \ CMAKE_C_BYTE_ORDER - \ CMAKE_C_CLANG_TIDY - \ CMAKE_C_CLANG_TIDY_EXPORT_FIXES_DIR - \ CMAKE_C_COMPILER - \ CMAKE_C_COMPILER_ABI - \ CMAKE_C_COMPILER_AR - \ CMAKE_C_COMPILER_ARCHITECTURE_ID - \ CMAKE_C_COMPILER_EXTERNAL_TOOLCHAIN - \ CMAKE_C_COMPILER_FRONTEND_VARIANT - \ CMAKE_C_COMPILER_ID - \ CMAKE_C_COMPILER_LAUNCHER - \ CMAKE_C_COMPILER_LOADED - \ CMAKE_C_COMPILER_PREDEFINES_COMMAND - \ CMAKE_C_COMPILER_RANLIB - \ CMAKE_C_COMPILER_TARGET - \ CMAKE_C_COMPILER_VERSION - \ CMAKE_C_COMPILER_VERSION_INTERNAL - \ CMAKE_C_COMPILE_FEATURES - \ CMAKE_C_COMPILE_OBJECT - \ CMAKE_C_CPPCHECK - \ CMAKE_C_CPPLINT - \ CMAKE_C_CREATE_SHARED_LIBRARY - \ CMAKE_C_CREATE_SHARED_MODULE - \ CMAKE_C_CREATE_STATIC_LIBRARY - \ CMAKE_C_EXTENSIONS - \ CMAKE_C_EXTENSIONS_DEFAULT - \ CMAKE_C_FLAGS - \ CMAKE_C_FLAGS_DEBUG - \ CMAKE_C_FLAGS_DEBUG_INIT - \ CMAKE_C_FLAGS_INIT - \ CMAKE_C_FLAGS_MINSIZEREL - \ CMAKE_C_FLAGS_MINSIZEREL_INIT - \ CMAKE_C_FLAGS_RELEASE - \ CMAKE_C_FLAGS_RELEASE_INIT - \ CMAKE_C_FLAGS_RELWITHDEBINFO - \ CMAKE_C_FLAGS_RELWITHDEBINFO_INIT - \ CMAKE_C_IGNORE_EXTENSIONS - \ CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES - \ CMAKE_C_IMPLICIT_LINK_DIRECTORIES - \ CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES - \ CMAKE_C_IMPLICIT_LINK_LIBRARIES - \ CMAKE_C_INCLUDE_WHAT_YOU_USE - \ CMAKE_C_INIT - \ CMAKE_C_LIBRARY_ARCHITECTURE - \ CMAKE_C_LINKER_LAUNCHER - \ CMAKE_C_LINKER_PREFERENCE - \ CMAKE_C_LINKER_PREFERENCE_PROPAGATES - \ CMAKE_C_LINKER_WRAPPER_FLAG - \ CMAKE_C_LINKER_WRAPPER_FLAG_SEP - \ CMAKE_C_LINK_EXECUTABLE - \ CMAKE_C_LINK_LIBRARY_FILE_FLAG - \ CMAKE_C_LINK_LIBRARY_FLAG - \ CMAKE_C_LINK_LIBRARY_SUFFIX - \ CMAKE_C_LINK_WHAT_YOU_USE_FLAG - \ CMAKE_C_OUTPUT_EXTENSION - \ CMAKE_C_PLATFORM_ID - \ CMAKE_C_SIMULATE_ID - \ CMAKE_C_SIMULATE_VERSION - \ CMAKE_C_SIZEOF_DATA_PTR - \ CMAKE_C_SOURCE_FILE_EXTENSIONS - \ CMAKE_C_STANDARD - \ CMAKE_C_STANDARD_DEFAULT - \ CMAKE_C_STANDARD_INCLUDE_DIRECTORIES - \ CMAKE_C_STANDARD_LIBRARIES - \ CMAKE_C_STANDARD_REQUIRED - \ CMAKE_C_SUPPORTED - \ CMAKE_C_VISIBILITY_PRESET - \ CMAKE_DEBUG_POSTFIX - \ CMAKE_DEBUG_TARGET_PROPERTIES - \ CMAKE_DEFAULT_BUILD_TYPE - \ CMAKE_DEFAULT_CONFIGS - \ CMAKE_DEPENDS_IN_PROJECT_ONLY - \ CMAKE_DEPENDS_USE_COMPILER - \ CMAKE_DIRECTORY_LABELS - \ CMAKE_DISABLE_PRECOMPILE_HEADERS - \ CMAKE_DLL_NAME_WITH_SOVERSION - \ CMAKE_DL_LIBS - \ CMAKE_DOTNET_SDK - \ CMAKE_DOTNET_TARGET_FRAMEWORK - \ CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION - \ CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES - \ CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT - \ CMAKE_ECLIPSE_MAKE_ARGUMENTS - \ CMAKE_ECLIPSE_RESOURCE_ENCODING - \ CMAKE_ECLIPSE_VERSION - \ CMAKE_EDIT_COMMAND - \ CMAKE_ENABLE_EXPORTS - \ CMAKE_ERROR_DEPRECATED - \ CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION - \ CMAKE_EXECUTABLE_ENABLE_EXPORTS - \ CMAKE_EXECUTABLE_SUFFIX - \ CMAKE_EXECUTABLE_SUFFIX_ASM - \ CMAKE_EXECUTABLE_SUFFIX_ASM_MASM - \ CMAKE_EXECUTABLE_SUFFIX_ASM_NASM - \ CMAKE_EXECUTABLE_SUFFIX_C - \ CMAKE_EXECUTABLE_SUFFIX_CSharp - \ CMAKE_EXECUTABLE_SUFFIX_CUDA - \ CMAKE_EXECUTABLE_SUFFIX_CXX - \ CMAKE_EXECUTABLE_SUFFIX_Fortran - \ CMAKE_EXECUTABLE_SUFFIX_HIP - \ CMAKE_EXECUTABLE_SUFFIX_Java - \ CMAKE_EXECUTABLE_SUFFIX_RC - \ CMAKE_EXECUTABLE_SUFFIX_Swift - \ CMAKE_EXECUTE_PROCESS_COMMAND_ECHO - \ CMAKE_EXE_LINKER_FLAGS - \ CMAKE_EXE_LINKER_FLAGS_INIT - \ CMAKE_EXPORT_COMPILE_COMMANDS - \ CMAKE_EXPORT_NO_PACKAGE_REGISTRY - \ CMAKE_EXPORT_PACKAGE_REGISTRY - \ CMAKE_EXTRA_GENERATOR - \ CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES - \ CMAKE_FIND_APPBUNDLE - \ CMAKE_FIND_DEBUG_MODE - \ CMAKE_FIND_FRAMEWORK - \ CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX - \ CMAKE_FIND_LIBRARY_PREFIXES - \ CMAKE_FIND_LIBRARY_SUFFIXES - \ CMAKE_FIND_NO_INSTALL_PREFIX - \ CMAKE_FIND_PACKAGE_NAME - \ CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY - \ CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY - \ CMAKE_FIND_PACKAGE_PREFER_CONFIG - \ CMAKE_FIND_PACKAGE_REDIRECTS_DIR - \ CMAKE_FIND_PACKAGE_RESOLVE_SYMLINKS - \ CMAKE_FIND_PACKAGE_SORT_DIRECTION - \ CMAKE_FIND_PACKAGE_SORT_ORDER - \ CMAKE_FIND_PACKAGE_TARGETS_GLOBAL - \ CMAKE_FIND_PACKAGE_WARN_NO_MODULE - \ CMAKE_FIND_ROOT_PATH - \ CMAKE_FIND_ROOT_PATH_MODE_INCLUDE - \ CMAKE_FIND_ROOT_PATH_MODE_LIBRARY - \ CMAKE_FIND_ROOT_PATH_MODE_PACKAGE - \ CMAKE_FIND_ROOT_PATH_MODE_PROGRAM - \ CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH - \ CMAKE_FIND_USE_INSTALL_PREFIX - \ CMAKE_FIND_USE_CMAKE_PATH - \ CMAKE_FIND_USE_CMAKE_SYSTEM_PATH - \ CMAKE_FIND_USE_INSTALL_PREFIX - \ CMAKE_FIND_USE_PACKAGE_REGISTRY - \ CMAKE_FIND_USE_PACKAGE_ROOT_PATH - \ CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH - \ CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY - \ CMAKE_FOLDER - \ CMAKE_FRAMEWORK - \ CMAKE_FRAMEWORK_PATH - \ CMAKE_Fortran - \ CMAKE_Fortran_ANDROID_TOOLCHAIN_MACHINE - \ CMAKE_Fortran_ANDROID_TOOLCHAIN_PREFIX - \ CMAKE_Fortran_ANDROID_TOOLCHAIN_SUFFIX - \ CMAKE_Fortran_ARCHIVE_APPEND - \ CMAKE_Fortran_ARCHIVE_CREATE - \ CMAKE_Fortran_ARCHIVE_FINISH - \ CMAKE_Fortran_BYTE_ORDER - \ CMAKE_Fortran_CLANG_TIDY - \ CMAKE_Fortran_CLANG_TIDY_EXPORT_FIXES_DIR - \ CMAKE_Fortran_COMPILER - \ CMAKE_Fortran_COMPILER_ABI - \ CMAKE_Fortran_COMPILER_AR - \ CMAKE_Fortran_COMPILER_ARCHITECTURE_ID - \ CMAKE_Fortran_COMPILER_EXTERNAL_TOOLCHAIN - \ CMAKE_Fortran_COMPILER_FRONTEND_VARIANT - \ CMAKE_Fortran_COMPILER_ID - \ CMAKE_Fortran_COMPILER_LAUNCHER - \ CMAKE_Fortran_COMPILER_LOADED - \ CMAKE_Fortran_COMPILER_PREDEFINES_COMMAND - \ CMAKE_Fortran_COMPILER_RANLIB - \ CMAKE_Fortran_COMPILER_TARGET - \ CMAKE_Fortran_COMPILER_VERSION - \ CMAKE_Fortran_COMPILER_VERSION_INTERNAL - \ CMAKE_Fortran_COMPILE_OBJECT - \ CMAKE_Fortran_CPPCHECK - \ CMAKE_Fortran_CPPLINT - \ CMAKE_Fortran_CREATE_SHARED_LIBRARY - \ CMAKE_Fortran_CREATE_SHARED_MODULE - \ CMAKE_Fortran_CREATE_STATIC_LIBRARY - \ CMAKE_Fortran_EXTENSIONS - \ CMAKE_Fortran_EXTENSIONS_DEFAULT - \ CMAKE_Fortran_FLAGS - \ CMAKE_Fortran_FLAGS_DEBUG - \ CMAKE_Fortran_FLAGS_DEBUG_INIT - \ CMAKE_Fortran_FLAGS_INIT - \ CMAKE_Fortran_FLAGS_MINSIZEREL - \ CMAKE_Fortran_FLAGS_MINSIZEREL_INIT - \ CMAKE_Fortran_FLAGS_RELEASE - \ CMAKE_Fortran_FLAGS_RELEASE_INIT - \ CMAKE_Fortran_FLAGS_RELWITHDEBINFO - \ CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT - \ CMAKE_Fortran_FORMAT - \ CMAKE_Fortran_IGNORE_EXTENSIONS - \ CMAKE_Fortran_IMPLICIT_INCLUDE_DIRECTORIES - \ CMAKE_Fortran_IMPLICIT_LINK_DIRECTORIES - \ CMAKE_Fortran_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES - \ CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES - \ CMAKE_Fortran_INCLUDE_WHAT_YOU_USE - \ CMAKE_Fortran_INIT - \ CMAKE_Fortran_LIBRARY_ARCHITECTURE - \ CMAKE_Fortran_LINKER_LAUNCHER - \ CMAKE_Fortran_LINKER_PREFERENCE - \ CMAKE_Fortran_LINKER_PREFERENCE_PROPAGATES - \ CMAKE_Fortran_LINKER_WRAPPER_FLAG - \ CMAKE_Fortran_LINKER_WRAPPER_FLAG_SEP - \ CMAKE_Fortran_LINK_EXECUTABLE - \ CMAKE_Fortran_LINK_LIBRARY_FILE_FLAG - \ CMAKE_Fortran_LINK_LIBRARY_FLAG - \ CMAKE_Fortran_LINK_LIBRARY_SUFFIX - \ CMAKE_Fortran_LINK_WHAT_YOU_USE_FLAG - \ CMAKE_Fortran_MODDIR_DEFAULT - \ CMAKE_Fortran_MODDIR_FLAG - \ CMAKE_Fortran_MODOUT_FLAG - \ CMAKE_Fortran_MODULE_DIRECTORY - \ CMAKE_Fortran_OUTPUT_EXTENSION - \ CMAKE_Fortran_PLATFORM_ID - \ CMAKE_Fortran_PREPROCESS - \ CMAKE_Fortran_SIMULATE_ID - \ CMAKE_Fortran_SIMULATE_VERSION - \ CMAKE_Fortran_SIZEOF_DATA_PTR - \ CMAKE_Fortran_SOURCE_FILE_EXTENSIONS - \ CMAKE_Fortran_STANDARD - \ CMAKE_Fortran_STANDARD_DEFAULT - \ CMAKE_Fortran_STANDARD_INCLUDE_DIRECTORIES - \ CMAKE_Fortran_STANDARD_LIBRARIES - \ CMAKE_Fortran_STANDARD_REQUIRED - \ CMAKE_Fortran_SUPPORTED - \ CMAKE_Fortran_VISIBILITY_PRESET - \ CMAKE_GENERATOR - \ CMAKE_GENERATOR_INSTANCE - \ CMAKE_GENERATOR_PLATFORM - \ CMAKE_GENERATOR_TOOLSET - \ CMAKE_GHS_NO_SOURCE_GROUP_FILE - \ CMAKE_GLOBAL_AUTOGEN_TARGET - \ CMAKE_GLOBAL_AUTOGEN_TARGET_NAME - \ CMAKE_GLOBAL_AUTORCC_TARGET - \ CMAKE_GLOBAL_AUTORCC_TARGET_NAME - \ CMAKE_GNUtoMS - \ CMAKE_HIP - \ CMAKE_HIP_ANDROID_TOOLCHAIN_MACHINE - \ CMAKE_HIP_ANDROID_TOOLCHAIN_PREFIX - \ CMAKE_HIP_ANDROID_TOOLCHAIN_SUFFIX - \ CMAKE_HIP_ARCHITECTURES - \ CMAKE_HIP_ARCHIVE_APPEND - \ CMAKE_HIP_ARCHIVE_CREATE - \ CMAKE_HIP_ARCHIVE_FINISH - \ CMAKE_HIP_BYTE_ORDER - \ CMAKE_HIP_CLANG_TIDY - \ CMAKE_HIP_CLANG_TIDY_EXPORT_FIXES_DIR - \ CMAKE_HIP_COMPILER - \ CMAKE_HIP_COMPILER_ABI - \ CMAKE_HIP_COMPILER_AR - \ CMAKE_HIP_COMPILER_ARCHITECTURE_ID - \ CMAKE_HIP_COMPILER_EXTERNAL_TOOLCHAIN - \ CMAKE_HIP_COMPILER_FRONTEND_VARIANT - \ CMAKE_HIP_COMPILER_ID - \ CMAKE_HIP_COMPILER_LAUNCHER - \ CMAKE_HIP_COMPILER_LOADED - \ CMAKE_HIP_COMPILER_PREDEFINES_COMMAND - \ CMAKE_HIP_COMPILER_RANLIB - \ CMAKE_HIP_COMPILER_TARGET - \ CMAKE_HIP_COMPILER_VERSION - \ CMAKE_HIP_COMPILER_VERSION_INTERNAL - \ CMAKE_HIP_COMPILE_FEATURES - \ CMAKE_HIP_COMPILE_OBJECT - \ CMAKE_HIP_CPPCHECK - \ CMAKE_HIP_CPPLINT - \ CMAKE_HIP_CREATE_SHARED_LIBRARY - \ CMAKE_HIP_CREATE_SHARED_MODULE - \ CMAKE_HIP_CREATE_STATIC_LIBRARY - \ CMAKE_HIP_EXTENSIONS - \ CMAKE_HIP_EXTENSIONS_DEFAULT - \ CMAKE_HIP_FLAGS - \ CMAKE_HIP_FLAGS_DEBUG - \ CMAKE_HIP_FLAGS_DEBUG_INIT - \ CMAKE_HIP_FLAGS_INIT - \ CMAKE_HIP_FLAGS_MINSIZEREL - \ CMAKE_HIP_FLAGS_MINSIZEREL_INIT - \ CMAKE_HIP_FLAGS_RELEASE - \ CMAKE_HIP_FLAGS_RELEASE_INIT - \ CMAKE_HIP_FLAGS_RELWITHDEBINFO - \ CMAKE_HIP_FLAGS_RELWITHDEBINFO_INIT - \ CMAKE_HIP_IGNORE_EXTENSIONS - \ CMAKE_HIP_IMPLICIT_INCLUDE_DIRECTORIES - \ CMAKE_HIP_IMPLICIT_LINK_DIRECTORIES - \ CMAKE_HIP_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES - \ CMAKE_HIP_IMPLICIT_LINK_LIBRARIES - \ CMAKE_HIP_INCLUDE_WHAT_YOU_USE - \ CMAKE_HIP_INIT - \ CMAKE_HIP_LIBRARY_ARCHITECTURE - \ CMAKE_HIP_LINKER_LAUNCHER - \ CMAKE_HIP_LINKER_PREFERENCE - \ CMAKE_HIP_LINKER_PREFERENCE_PROPAGATES - \ CMAKE_HIP_LINKER_WRAPPER_FLAG - \ CMAKE_HIP_LINKER_WRAPPER_FLAG_SEP - \ CMAKE_HIP_LINK_EXECUTABLE - \ CMAKE_HIP_LINK_LIBRARY_FILE_FLAG - \ CMAKE_HIP_LINK_LIBRARY_FLAG - \ CMAKE_HIP_LINK_LIBRARY_SUFFIX - \ CMAKE_HIP_LINK_WHAT_YOU_USE_FLAG - \ CMAKE_HIP_OUTPUT_EXTENSION - \ CMAKE_HIP_PLATFORM_ID - \ CMAKE_HIP_SIMULATE_ID - \ CMAKE_HIP_SIMULATE_VERSION - \ CMAKE_HIP_SIZEOF_DATA_PTR - \ CMAKE_HIP_SOURCE_FILE_EXTENSIONS - \ CMAKE_HIP_STANDARD - \ CMAKE_HIP_STANDARD_DEFAULT - \ CMAKE_HIP_STANDARD_INCLUDE_DIRECTORIES - \ CMAKE_HIP_STANDARD_LIBRARIES - \ CMAKE_HIP_STANDARD_REQUIRED - \ CMAKE_HIP_SUPPORTED - \ CMAKE_HIP_VISIBILITY_PRESET - \ CMAKE_HOME_DIRECTORY - \ CMAKE_HOST_APPLE - \ CMAKE_HOST_BSD - \ CMAKE_HOST_LINUX - \ CMAKE_HOST_SOLARIS - \ CMAKE_HOST_SYSTEM - \ CMAKE_HOST_SYSTEM_NAME - \ CMAKE_HOST_SYSTEM_PROCESSOR - \ CMAKE_HOST_SYSTEM_VERSION - \ CMAKE_HOST_UNIX - \ CMAKE_HOST_WIN32 - \ CMAKE_IGNORE_PATH - \ CMAKE_IGNORE_PREFIX_PATH - \ CMAKE_IMPORT_LIBRARY_PREFIX - \ CMAKE_IMPORT_LIBRARY_SUFFIX - \ CMAKE_INCLUDE_CURRENT_DIR - \ CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE - \ CMAKE_INCLUDE_DIRECTORIES_BEFORE - \ CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE - \ CMAKE_INCLUDE_PATH - \ CMAKE_INSTALL_DEFAULT_COMPONENT_NAME - \ CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS - \ CMAKE_INSTALL_MESSAGE - \ CMAKE_INSTALL_NAME_DIR - \ CMAKE_INSTALL_PREFIX - \ CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT - \ CMAKE_INSTALL_REMOVE_ENVIRONMENT_RPATH - \ CMAKE_INSTALL_RPATH - \ CMAKE_INSTALL_RPATH_USE_LINK_PATH - \ CMAKE_INTERNAL_PLATFORM_ABI - \ CMAKE_INTERPROCEDURAL_OPTIMIZATION - \ CMAKE_IOS_INSTALL_COMBINED - \ CMAKE_ISPC_HEADER_DIRECTORY - \ CMAKE_ISPC_HEADER_SUFFIX - \ CMAKE_ISPC_INSTRUCTION_SETS - \ CMAKE_JOB_POOLS - \ CMAKE_JOB_POOL_COMPILE - \ CMAKE_JOB_POOL_LINK - \ CMAKE_JOB_POOL_PRECOMPILE_HEADER - \ CMAKE_Java - \ CMAKE_Java_ANDROID_TOOLCHAIN_MACHINE - \ CMAKE_Java_ANDROID_TOOLCHAIN_PREFIX - \ CMAKE_Java_ANDROID_TOOLCHAIN_SUFFIX - \ CMAKE_Java_ARCHIVE_APPEND - \ CMAKE_Java_ARCHIVE_CREATE - \ CMAKE_Java_ARCHIVE_FINISH - \ CMAKE_Java_BYTE_ORDER - \ CMAKE_Java_CLANG_TIDY - \ CMAKE_Java_CLANG_TIDY_EXPORT_FIXES_DIR - \ CMAKE_Java_COMPILER - \ CMAKE_Java_COMPILER_ABI - \ CMAKE_Java_COMPILER_AR - \ CMAKE_Java_COMPILER_ARCHITECTURE_ID - \ CMAKE_Java_COMPILER_EXTERNAL_TOOLCHAIN - \ CMAKE_Java_COMPILER_FRONTEND_VARIANT - \ CMAKE_Java_COMPILER_ID - \ CMAKE_Java_COMPILER_LAUNCHER - \ CMAKE_Java_COMPILER_LOADED - \ CMAKE_Java_COMPILER_PREDEFINES_COMMAND - \ CMAKE_Java_COMPILER_RANLIB - \ CMAKE_Java_COMPILER_TARGET - \ CMAKE_Java_COMPILER_VERSION - \ CMAKE_Java_COMPILER_VERSION_INTERNAL - \ CMAKE_Java_COMPILE_OBJECT - \ CMAKE_Java_CPPCHECK - \ CMAKE_Java_CPPLINT - \ CMAKE_Java_CREATE_SHARED_LIBRARY - \ CMAKE_Java_CREATE_SHARED_MODULE - \ CMAKE_Java_CREATE_STATIC_LIBRARY - \ CMAKE_Java_EXTENSIONS - \ CMAKE_Java_EXTENSIONS_DEFAULT - \ CMAKE_Java_FLAGS - \ CMAKE_Java_FLAGS_DEBUG - \ CMAKE_Java_FLAGS_DEBUG_INIT - \ CMAKE_Java_FLAGS_INIT - \ CMAKE_Java_FLAGS_MINSIZEREL - \ CMAKE_Java_FLAGS_MINSIZEREL_INIT - \ CMAKE_Java_FLAGS_RELEASE - \ CMAKE_Java_FLAGS_RELEASE_INIT - \ CMAKE_Java_FLAGS_RELWITHDEBINFO - \ CMAKE_Java_FLAGS_RELWITHDEBINFO_INIT - \ CMAKE_Java_IGNORE_EXTENSIONS - \ CMAKE_Java_IMPLICIT_INCLUDE_DIRECTORIES - \ CMAKE_Java_IMPLICIT_LINK_DIRECTORIES - \ CMAKE_Java_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES - \ CMAKE_Java_IMPLICIT_LINK_LIBRARIES - \ CMAKE_Java_INCLUDE_WHAT_YOU_USE - \ CMAKE_Java_INIT - \ CMAKE_Java_LIBRARY_ARCHITECTURE - \ CMAKE_Java_LINKER_LAUNCHER - \ CMAKE_Java_LINKER_PREFERENCE - \ CMAKE_Java_LINKER_PREFERENCE_PROPAGATES - \ CMAKE_Java_LINKER_WRAPPER_FLAG - \ CMAKE_Java_LINKER_WRAPPER_FLAG_SEP - \ CMAKE_Java_LINK_EXECUTABLE - \ CMAKE_Java_LINK_LIBRARY_FILE_FLAG - \ CMAKE_Java_LINK_LIBRARY_FLAG - \ CMAKE_Java_LINK_LIBRARY_SUFFIX - \ CMAKE_Java_LINK_WHAT_YOU_USE_FLAG - \ CMAKE_Java_OUTPUT_EXTENSION - \ CMAKE_Java_PLATFORM_ID - \ CMAKE_Java_SIMULATE_ID - \ CMAKE_Java_SIMULATE_VERSION - \ CMAKE_Java_SIZEOF_DATA_PTR - \ CMAKE_Java_SOURCE_FILE_EXTENSIONS - \ CMAKE_Java_STANDARD - \ CMAKE_Java_STANDARD_DEFAULT - \ CMAKE_Java_STANDARD_INCLUDE_DIRECTORIES - \ CMAKE_Java_STANDARD_LIBRARIES - \ CMAKE_Java_STANDARD_REQUIRED - \ CMAKE_Java_SUPPORTED - \ CMAKE_Java_VISIBILITY_PRESET - \ CMAKE_KATE_FILES_MODE - \ CMAKE_KATE_MAKE_ARGUMENTS - \ CMAKE_LIBRARY_ARCHITECTURE - \ CMAKE_LIBRARY_ARCHITECTURE_REGEX - \ CMAKE_LIBRARY_OUTPUT_DIRECTORY - \ CMAKE_LIBRARY_PATH - \ CMAKE_LIBRARY_PATH_FLAG - \ CMAKE_LINK_DEF_FILE_FLAG - \ CMAKE_LINK_DEPENDS_NO_SHARED - \ CMAKE_LINK_DEPENDS_USE_LINKER - \ CMAKE_LINK_DIRECTORIES_BEFORE - \ CMAKE_LINK_INTERFACE_LIBRARIES - \ CMAKE_LINK_LIBRARIES_ONLY_TARGETS - \ CMAKE_LINK_LIBRARY_FILE_FLAG - \ CMAKE_LINK_LIBRARY_FLAG - \ CMAKE_LINK_LIBRARY_SUFFIX - \ CMAKE_LINK_SEARCH_END_STATIC - \ CMAKE_LINK_SEARCH_START_STATIC - \ CMAKE_LINK_WHAT_YOU_USE - \ CMAKE_LINK_WHAT_YOU_USE_CHECK - \ CMAKE_MACOSX_BUNDLE - \ CMAKE_MACOSX_RPATH - \ CMAKE_MAJOR_VERSION - \ CMAKE_MAKE_PROGRAM - \ CMAKE_MATCH_COUNT - \ CMAKE_MAXIMUM_RECURSION_DEPTH - \ CMAKE_MESSAGE_CONTEXT - \ CMAKE_MESSAGE_CONTEXT_SHOW - \ CMAKE_MESSAGE_INDENT - \ CMAKE_MESSAGE_LOG_LEVEL - \ CMAKE_MFC_FLAG - \ CMAKE_MINIMUM_REQUIRED_VERSION - \ CMAKE_MINOR_VERSION - \ CMAKE_MODULE_LINKER_FLAGS - \ CMAKE_MODULE_LINKER_FLAGS_INIT - \ CMAKE_MODULE_PATH - \ CMAKE_MSVCIDE_RUN_PATH - \ CMAKE_MSVC_DEBUG_INFORMATION_FORMAT - \ CMAKE_MSVC_RUNTIME_LIBRARY - \ CMAKE_NETRC - \ CMAKE_NETRC_FILE - \ CMAKE_NINJA_OUTPUT_PATH_PREFIX - \ CMAKE_NOT_USING_CONFIG_FLAGS - \ CMAKE_NO_BUILTIN_CHRPATH - \ CMAKE_NO_SYSTEM_FROM_IMPORTED - \ CMAKE_OBJCXX_CLANG_TIDY - \ CMAKE_OBJCXX_EXTENSIONS - \ CMAKE_OBJCXX_LINKER_LAUNCHER - \ CMAKE_OBJCXX_STANDARD - \ CMAKE_OBJCXX_STANDARD_REQUIRED - \ CMAKE_OBJC_CLANG_TIDY - \ CMAKE_OBJC_EXTENSIONS - \ CMAKE_OBJC_LINKER_LAUNCHER - \ CMAKE_OBJC_STANDARD - \ CMAKE_OBJC_STANDARD_REQUIRED - \ CMAKE_OBJECT_PATH_MAX - \ CMAKE_OPTIMIZE_DEPENDENCIES - \ CMAKE_OSX_ARCHITECTURES - \ CMAKE_OSX_DEPLOYMENT_TARGET - \ CMAKE_OSX_SYSROOT - \ CMAKE_PARENT_LIST_FILE - \ CMAKE_PATCH_VERSION - \ CMAKE_PCH_INSTANTIATE_TEMPLATES - \ CMAKE_PCH_WARN_INVALID - \ CMAKE_PDB_OUTPUT_DIRECTORY - \ CMAKE_PLATFORM_NO_VERSIONED_SONAME - \ CMAKE_POSITION_INDEPENDENT_CODE - \ CMAKE_PREFIX_PATH - \ CMAKE_PROGRAM_PATH - \ CMAKE_PROJECT_DESCRIPTION - \ CMAKE_PROJECT_HOMEPAGE_URL - \ CMAKE_PROJECT_INCLUDE - \ CMAKE_PROJECT_INCLUDE_BEFORE - \ CMAKE_PROJECT_NAME - \ CMAKE_PROJECT_TOP_LEVEL_INCLUDES - \ CMAKE_PROJECT_VERSION - \ CMAKE_PROJECT_VERSION_MAJOR - \ CMAKE_PROJECT_VERSION_MINOR - \ CMAKE_PROJECT_VERSION_PATCH - \ CMAKE_PROJECT_VERSION_TWEAK - \ CMAKE_RANLIB - \ CMAKE_RC - \ CMAKE_RC_ANDROID_TOOLCHAIN_MACHINE - \ CMAKE_RC_ANDROID_TOOLCHAIN_PREFIX - \ CMAKE_RC_ANDROID_TOOLCHAIN_SUFFIX - \ CMAKE_RC_ARCHIVE_APPEND - \ CMAKE_RC_ARCHIVE_CREATE - \ CMAKE_RC_ARCHIVE_FINISH - \ CMAKE_RC_BYTE_ORDER - \ CMAKE_RC_CLANG_TIDY - \ CMAKE_RC_CLANG_TIDY_EXPORT_FIXES_DIR - \ CMAKE_RC_COMPILER - \ CMAKE_RC_COMPILER_ABI - \ CMAKE_RC_COMPILER_AR - \ CMAKE_RC_COMPILER_ARCHITECTURE_ID - \ CMAKE_RC_COMPILER_EXTERNAL_TOOLCHAIN - \ CMAKE_RC_COMPILER_FRONTEND_VARIANT - \ CMAKE_RC_COMPILER_ID - \ CMAKE_RC_COMPILER_LAUNCHER - \ CMAKE_RC_COMPILER_LOADED - \ CMAKE_RC_COMPILER_PREDEFINES_COMMAND - \ CMAKE_RC_COMPILER_RANLIB - \ CMAKE_RC_COMPILER_TARGET - \ CMAKE_RC_COMPILER_VERSION - \ CMAKE_RC_COMPILER_VERSION_INTERNAL - \ CMAKE_RC_COMPILE_OBJECT - \ CMAKE_RC_CPPCHECK - \ CMAKE_RC_CPPLINT - \ CMAKE_RC_CREATE_SHARED_LIBRARY - \ CMAKE_RC_CREATE_SHARED_MODULE - \ CMAKE_RC_CREATE_STATIC_LIBRARY - \ CMAKE_RC_EXTENSIONS - \ CMAKE_RC_EXTENSIONS_DEFAULT - \ CMAKE_RC_FLAGS - \ CMAKE_RC_FLAGS_DEBUG - \ CMAKE_RC_FLAGS_DEBUG_INIT - \ CMAKE_RC_FLAGS_INIT - \ CMAKE_RC_FLAGS_MINSIZEREL - \ CMAKE_RC_FLAGS_MINSIZEREL_INIT - \ CMAKE_RC_FLAGS_RELEASE - \ CMAKE_RC_FLAGS_RELEASE_INIT - \ CMAKE_RC_FLAGS_RELWITHDEBINFO - \ CMAKE_RC_FLAGS_RELWITHDEBINFO_INIT - \ CMAKE_RC_IGNORE_EXTENSIONS - \ CMAKE_RC_IMPLICIT_INCLUDE_DIRECTORIES - \ CMAKE_RC_IMPLICIT_LINK_DIRECTORIES - \ CMAKE_RC_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES - \ CMAKE_RC_IMPLICIT_LINK_LIBRARIES - \ CMAKE_RC_INCLUDE_WHAT_YOU_USE - \ CMAKE_RC_INIT - \ CMAKE_RC_LIBRARY_ARCHITECTURE - \ CMAKE_RC_LINKER_LAUNCHER - \ CMAKE_RC_LINKER_PREFERENCE - \ CMAKE_RC_LINKER_PREFERENCE_PROPAGATES - \ CMAKE_RC_LINKER_WRAPPER_FLAG - \ CMAKE_RC_LINKER_WRAPPER_FLAG_SEP - \ CMAKE_RC_LINK_EXECUTABLE - \ CMAKE_RC_LINK_LIBRARY_FILE_FLAG - \ CMAKE_RC_LINK_LIBRARY_FLAG - \ CMAKE_RC_LINK_LIBRARY_SUFFIX - \ CMAKE_RC_LINK_WHAT_YOU_USE_FLAG - \ CMAKE_RC_OUTPUT_EXTENSION - \ CMAKE_RC_PLATFORM_ID - \ CMAKE_RC_SIMULATE_ID - \ CMAKE_RC_SIMULATE_VERSION - \ CMAKE_RC_SIZEOF_DATA_PTR - \ CMAKE_RC_SOURCE_FILE_EXTENSIONS - \ CMAKE_RC_STANDARD - \ CMAKE_RC_STANDARD_DEFAULT - \ CMAKE_RC_STANDARD_INCLUDE_DIRECTORIES - \ CMAKE_RC_STANDARD_LIBRARIES - \ CMAKE_RC_STANDARD_REQUIRED - \ CMAKE_RC_SUPPORTED - \ CMAKE_RC_VISIBILITY_PRESET - \ CMAKE_ROOT - \ CMAKE_RULE_MESSAGES - \ CMAKE_RUNTIME_OUTPUT_DIRECTORY - \ CMAKE_SCRIPT_MODE_FILE - \ CMAKE_SHARED_LIBRARY_ENABLE_EXPORTS - \ CMAKE_SHARED_LIBRARY_PREFIX - \ CMAKE_SHARED_LIBRARY_SUFFIX - \ CMAKE_SHARED_LINKER_FLAGS - \ CMAKE_SHARED_LINKER_FLAGS_INIT - \ CMAKE_SHARED_MODULE_PREFIX - \ CMAKE_SHARED_MODULE_SUFFIX - \ CMAKE_SIZEOF_VOID_P - \ CMAKE_SKIP_BUILD_RPATH - \ CMAKE_SKIP_INSTALL_ALL_DEPENDENCY - \ CMAKE_SKIP_INSTALL_RPATH - \ CMAKE_SKIP_INSTALL_RULES - \ CMAKE_SKIP_RPATH - \ CMAKE_SKIP_TEST_ALL_DEPENDENCY - \ CMAKE_SOURCE_DIR - \ CMAKE_STAGING_PREFIX - \ CMAKE_STATIC_LIBRARY_PREFIX - \ CMAKE_STATIC_LIBRARY_SUFFIX - \ CMAKE_STATIC_LINKER_FLAGS - \ CMAKE_STATIC_LINKER_FLAGS_INIT - \ CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS - \ CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE - \ CMAKE_SUPPRESS_REGENERATION - \ CMAKE_SYSROOT - \ CMAKE_SYSROOT_COMPILE - \ CMAKE_SYSROOT_LINK - \ CMAKE_SYSTEM - \ CMAKE_SYSTEM_APPBUNDLE_PATH - \ CMAKE_SYSTEM_FRAMEWORK_PATH - \ CMAKE_SYSTEM_IGNORE_PATH - \ CMAKE_SYSTEM_IGNORE_PREFIX_PATH - \ CMAKE_SYSTEM_INCLUDE_PATH - \ CMAKE_SYSTEM_LIBRARY_PATH - \ CMAKE_SYSTEM_NAME - \ CMAKE_SYSTEM_PREFIX_PATH - \ CMAKE_SYSTEM_PROCESSOR - \ CMAKE_SYSTEM_PROGRAM_PATH - \ CMAKE_SYSTEM_VERSION - \ CMAKE_Swift - \ CMAKE_Swift_ANDROID_TOOLCHAIN_MACHINE - \ CMAKE_Swift_ANDROID_TOOLCHAIN_PREFIX - \ CMAKE_Swift_ANDROID_TOOLCHAIN_SUFFIX - \ CMAKE_Swift_ARCHIVE_APPEND - \ CMAKE_Swift_ARCHIVE_CREATE - \ CMAKE_Swift_ARCHIVE_FINISH - \ CMAKE_Swift_BYTE_ORDER - \ CMAKE_Swift_CLANG_TIDY - \ CMAKE_Swift_CLANG_TIDY_EXPORT_FIXES_DIR - \ CMAKE_Swift_COMPILER - \ CMAKE_Swift_COMPILER_ABI - \ CMAKE_Swift_COMPILER_AR - \ CMAKE_Swift_COMPILER_ARCHITECTURE_ID - \ CMAKE_Swift_COMPILER_EXTERNAL_TOOLCHAIN - \ CMAKE_Swift_COMPILER_FRONTEND_VARIANT - \ CMAKE_Swift_COMPILER_ID - \ CMAKE_Swift_COMPILER_LAUNCHER - \ CMAKE_Swift_COMPILER_LOADED - \ CMAKE_Swift_COMPILER_PREDEFINES_COMMAND - \ CMAKE_Swift_COMPILER_RANLIB - \ CMAKE_Swift_COMPILER_TARGET - \ CMAKE_Swift_COMPILER_VERSION - \ CMAKE_Swift_COMPILER_VERSION_INTERNAL - \ CMAKE_Swift_COMPILE_OBJECT - \ CMAKE_Swift_CPPCHECK - \ CMAKE_Swift_CPPLINT - \ CMAKE_Swift_CREATE_SHARED_LIBRARY - \ CMAKE_Swift_CREATE_SHARED_MODULE - \ CMAKE_Swift_CREATE_STATIC_LIBRARY - \ CMAKE_Swift_EXTENSIONS - \ CMAKE_Swift_EXTENSIONS_DEFAULT - \ CMAKE_Swift_FLAGS - \ CMAKE_Swift_FLAGS_DEBUG - \ CMAKE_Swift_FLAGS_DEBUG_INIT - \ CMAKE_Swift_FLAGS_INIT - \ CMAKE_Swift_FLAGS_MINSIZEREL - \ CMAKE_Swift_FLAGS_MINSIZEREL_INIT - \ CMAKE_Swift_FLAGS_RELEASE - \ CMAKE_Swift_FLAGS_RELEASE_INIT - \ CMAKE_Swift_FLAGS_RELWITHDEBINFO - \ CMAKE_Swift_FLAGS_RELWITHDEBINFO_INIT - \ CMAKE_Swift_IGNORE_EXTENSIONS - \ CMAKE_Swift_IMPLICIT_INCLUDE_DIRECTORIES - \ CMAKE_Swift_IMPLICIT_LINK_DIRECTORIES - \ CMAKE_Swift_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES - \ CMAKE_Swift_IMPLICIT_LINK_LIBRARIES - \ CMAKE_Swift_INCLUDE_WHAT_YOU_USE - \ CMAKE_Swift_INIT - \ CMAKE_Swift_LANGUAGE_VERSION - \ CMAKE_Swift_LIBRARY_ARCHITECTURE - \ CMAKE_Swift_LINKER_LAUNCHER - \ CMAKE_Swift_LINKER_PREFERENCE - \ CMAKE_Swift_LINKER_PREFERENCE_PROPAGATES - \ CMAKE_Swift_LINKER_WRAPPER_FLAG - \ CMAKE_Swift_LINKER_WRAPPER_FLAG_SEP - \ CMAKE_Swift_LINK_EXECUTABLE - \ CMAKE_Swift_LINK_LIBRARY_FILE_FLAG - \ CMAKE_Swift_LINK_LIBRARY_FLAG - \ CMAKE_Swift_LINK_LIBRARY_SUFFIX - \ CMAKE_Swift_LINK_WHAT_YOU_USE_FLAG - \ CMAKE_Swift_MODULE_DIRECTORY - \ CMAKE_Swift_NUM_THREADS - \ CMAKE_Swift_OUTPUT_EXTENSION - \ CMAKE_Swift_PLATFORM_ID - \ CMAKE_Swift_SIMULATE_ID - \ CMAKE_Swift_SIMULATE_VERSION - \ CMAKE_Swift_SIZEOF_DATA_PTR - \ CMAKE_Swift_SOURCE_FILE_EXTENSIONS - \ CMAKE_Swift_STANDARD - \ CMAKE_Swift_STANDARD_DEFAULT - \ CMAKE_Swift_STANDARD_INCLUDE_DIRECTORIES - \ CMAKE_Swift_STANDARD_LIBRARIES - \ CMAKE_Swift_STANDARD_REQUIRED - \ CMAKE_Swift_SUPPORTED - \ CMAKE_Swift_VISIBILITY_PRESET - \ CMAKE_TASKING_TOOLSET - \ CMAKE_TLS_CAINFO - \ CMAKE_TLS_VERIFY - \ CMAKE_TOOLCHAIN_FILE - \ CMAKE_TRY_COMPILE_CONFIGURATION - \ CMAKE_TRY_COMPILE_NO_PLATFORM_VARIABLES - \ CMAKE_TRY_COMPILE_PLATFORM_VARIABLES - \ CMAKE_TRY_COMPILE_TARGET_TYPE - \ CMAKE_TWEAK_VERSION - \ CMAKE_UNITY_BUILD - \ CMAKE_UNITY_BUILD_BATCH_SIZE - \ CMAKE_UNITY_BUILD_UNIQUE_ID - \ CMAKE_USER_MAKE_RULES_OVERRIDE - \ CMAKE_USER_MAKE_RULES_OVERRIDE_ASM - \ CMAKE_USER_MAKE_RULES_OVERRIDE_ASM_MASM - \ CMAKE_USER_MAKE_RULES_OVERRIDE_ASM_NASM - \ CMAKE_USER_MAKE_RULES_OVERRIDE_C - \ CMAKE_USER_MAKE_RULES_OVERRIDE_CSharp - \ CMAKE_USER_MAKE_RULES_OVERRIDE_CUDA - \ CMAKE_USER_MAKE_RULES_OVERRIDE_CXX - \ CMAKE_USER_MAKE_RULES_OVERRIDE_Fortran - \ CMAKE_USER_MAKE_RULES_OVERRIDE_HIP - \ CMAKE_USER_MAKE_RULES_OVERRIDE_Java - \ CMAKE_USER_MAKE_RULES_OVERRIDE_RC - \ CMAKE_USER_MAKE_RULES_OVERRIDE_Swift - \ CMAKE_USE_RELATIVE_PATHS - \ CMAKE_VERBOSE_MAKEFILE - \ CMAKE_VERIFY_INTERFACE_HEADER_SETS - \ CMAKE_VERSION - \ CMAKE_VISIBILITY_INLINES_HIDDEN - \ CMAKE_VS_DEBUGGER_COMMAND - \ CMAKE_VS_DEBUGGER_COMMAND_ARGUMENTS - \ CMAKE_VS_DEBUGGER_ENVIRONMENT - \ CMAKE_VS_DEBUGGER_WORKING_DIRECTORY - \ CMAKE_VS_DEVENV_COMMAND - \ CMAKE_VS_GLOBALS - \ CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD - \ CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD - \ CMAKE_VS_INTEL_Fortran_PROJECT_VERSION - \ CMAKE_VS_JUST_MY_CODE_DEBUGGING - \ CMAKE_VS_MSBUILD_COMMAND - \ CMAKE_VS_NO_COMPILE_BATCHING - \ CMAKE_VS_NUGET_PACKAGE_RESTORE - \ CMAKE_VS_NsightTegra_VERSION - \ CMAKE_VS_PLATFORM_NAME - \ CMAKE_VS_PLATFORM_NAME_DEFAULT - \ CMAKE_VS_PLATFORM_TOOLSET - \ CMAKE_VS_PLATFORM_TOOLSET_CUDA - \ CMAKE_VS_PLATFORM_TOOLSET_CUDA_CUSTOM_DIR - \ CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE - \ CMAKE_VS_PLATFORM_TOOLSET_VERSION - \ CMAKE_VS_SDK_EXCLUDE_DIRECTORIES - \ CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES - \ CMAKE_VS_SDK_INCLUDE_DIRECTORIES - \ CMAKE_VS_SDK_LIBRARY_DIRECTORIES - \ CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES - \ CMAKE_VS_SDK_REFERENCE_DIRECTORIES - \ CMAKE_VS_SDK_SOURCE_DIRECTORIES - \ CMAKE_VS_TARGET_FRAMEWORK_IDENTIFIER - \ CMAKE_VS_TARGET_FRAMEWORK_TARGETS_VERSION - \ CMAKE_VS_TARGET_FRAMEWORK_VERSION - \ CMAKE_VS_VERSION_BUILD_NUMBER - \ CMAKE_VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION - \ CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION - \ CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM - \ CMAKE_VS_WINRT_BY_DEFAULT - \ CMAKE_WARN_DEPRECATED - \ CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION - \ CMAKE_WATCOM_RUNTIME_LIBRARY - \ CMAKE_WIN32_EXECUTABLE - \ CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS - \ CMAKE_XCODE_BUILD_SYSTEM - \ CMAKE_XCODE_GENERATE_SCHEME - \ CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY - \ CMAKE_XCODE_LINK_BUILD_PHASE_MODE - \ CMAKE_XCODE_PLATFORM_TOOLSET - \ CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER - \ CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN - \ CMAKE_XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING - \ CMAKE_XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE - \ CMAKE_XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER - \ CMAKE_XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS - \ CMAKE_XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE - \ CMAKE_XCODE_SCHEME_ENABLE_GPU_API_VALIDATION - \ CMAKE_XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE - \ CMAKE_XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION - \ CMAKE_XCODE_SCHEME_ENVIRONMENT - \ CMAKE_XCODE_SCHEME_GUARD_MALLOC - \ CMAKE_XCODE_SCHEME_LAUNCH_CONFIGURATION - \ CMAKE_XCODE_SCHEME_LAUNCH_MODE - \ CMAKE_XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP - \ CMAKE_XCODE_SCHEME_MALLOC_GUARD_EDGES - \ CMAKE_XCODE_SCHEME_MALLOC_SCRIBBLE - \ CMAKE_XCODE_SCHEME_MALLOC_STACK - \ CMAKE_XCODE_SCHEME_THREAD_SANITIZER - \ CMAKE_XCODE_SCHEME_THREAD_SANITIZER_STOP - \ CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER - \ CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP - \ CMAKE_XCODE_SCHEME_ENABLE_GPU_API_VALIDATION - \ CMAKE_XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION - \ CMAKE_XCODE_SCHEME_LAUNCH_CONFIGURATION - \ CMAKE_XCODE_SCHEME_WORKING_DIRECTORY - \ CMAKE_XCODE_SCHEME_ZOMBIE_OBJECTS - \ CMAKE_XCODE_XCCONFIG - \ CPACK_ABSOLUTE_DESTINATION_FILES - \ CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY - \ CPACK_CUSTOM_INSTALL_VARIABLES - \ CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION - \ CPACK_INCLUDE_TOPLEVEL_DIRECTORY - \ CPACK_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS - \ CPACK_PACKAGING_INSTALL_PREFIX - \ CPACK_SET_DESTDIR - \ CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION - \ CTEST_BINARY_DIRECTORY - \ CTEST_BUILD_COMMAND - \ CTEST_BUILD_NAME - \ CTEST_BZR_COMMAND - \ CTEST_BZR_UPDATE_OPTIONS - \ CTEST_CHANGE_ID - \ CTEST_CHECKOUT_COMMAND - \ CTEST_CONFIGURATION_TYPE - \ CTEST_CONFIGURE_COMMAND - \ CTEST_COVERAGE_COMMAND - \ CTEST_COVERAGE_EXTRA_FLAGS - \ CTEST_CURL_OPTIONS - \ CTEST_CUSTOM_COVERAGE_EXCLUDE - \ CTEST_CUSTOM_ERROR_EXCEPTION - \ CTEST_CUSTOM_ERROR_MATCH - \ CTEST_CUSTOM_ERROR_POST_CONTEXT - \ CTEST_CUSTOM_ERROR_PRE_CONTEXT - \ CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE - \ CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS - \ CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS - \ CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE - \ CTEST_CUSTOM_TEST_OUTPUT_TRUNCATION - \ CTEST_CUSTOM_MEMCHECK_IGNORE - \ CTEST_CUSTOM_POST_MEMCHECK - \ CTEST_CUSTOM_POST_TEST - \ CTEST_CUSTOM_PRE_MEMCHECK - \ CTEST_CUSTOM_PRE_TEST - \ CTEST_CUSTOM_TESTS_IGNORE - \ CTEST_CUSTOM_TEST_OUTPUT_TRUNCATION - \ CTEST_CUSTOM_WARNING_EXCEPTION - \ CTEST_CUSTOM_WARNING_MATCH - \ CTEST_CVS_CHECKOUT - \ CTEST_CVS_COMMAND - \ CTEST_CVS_UPDATE_OPTIONS - \ CTEST_DROP_LOCATION - \ CTEST_DROP_METHOD - \ CTEST_DROP_SITE - \ CTEST_DROP_SITE_CDASH - \ CTEST_DROP_SITE_PASSWORD - \ CTEST_DROP_SITE_USER - \ CTEST_EXTRA_COVERAGE_GLOB - \ CTEST_GIT_COMMAND - \ CTEST_GIT_INIT_SUBMODULES - \ CTEST_GIT_UPDATE_CUSTOM - \ CTEST_GIT_UPDATE_OPTIONS - \ CTEST_HG_COMMAND - \ CTEST_HG_UPDATE_OPTIONS - \ CTEST_LABELS_FOR_SUBPROJECTS - \ CTEST_MEMORYCHECK_COMMAND - \ CTEST_MEMORYCHECK_COMMAND_OPTIONS - \ CTEST_MEMORYCHECK_SANITIZER_OPTIONS - \ CTEST_MEMORYCHECK_SUPPRESSIONS_FILE - \ CTEST_MEMORYCHECK_TYPE - \ CTEST_NIGHTLY_START_TIME - \ CTEST_P4_CLIENT - \ CTEST_P4_COMMAND - \ CTEST_P4_OPTIONS - \ CTEST_P4_UPDATE_OPTIONS - \ CTEST_RESOURCE_SPEC_FILE - \ CTEST_RUN_CURRENT_SCRIPT - \ CTEST_SCP_COMMAND - \ CTEST_SCRIPT_DIRECTORY - \ CTEST_SITE - \ CTEST_SOURCE_DIRECTORY - \ CTEST_SUBMIT_INACTIVITY_TIMEOUT - \ CTEST_SUBMIT_URL - \ CTEST_SVN_COMMAND - \ CTEST_SVN_OPTIONS - \ CTEST_SVN_UPDATE_OPTIONS - \ CTEST_TEST_LOAD - \ CTEST_TEST_TIMEOUT - \ CTEST_TRIGGER_SITE - \ CTEST_UPDATE_COMMAND - \ CTEST_UPDATE_OPTIONS - \ CTEST_UPDATE_VERSION_ONLY - \ CTEST_UPDATE_VERSION_OVERRIDE - \ CTEST_USE_LAUNCHERS - \ CYGWIN - \ DOXYGEN_ABBREVIATE_BRIEF - \ DOXYGEN_ALIASES - \ DOXYGEN_ALLEXTERNALS - \ DOXYGEN_ALLOW_UNICODE_NAMES - \ DOXYGEN_ALPHABETICAL_INDEX - \ DOXYGEN_ALWAYS_DETAILED_SEC - \ DOXYGEN_AUTOLINK_SUPPORT - \ DOXYGEN_BINARY_TOC - \ DOXYGEN_BRIEF_MEMBER_DESC - \ DOXYGEN_BUILTIN_STL_SUPPORT - \ DOXYGEN_CALLER_GRAPH - \ DOXYGEN_CALL_GRAPH - \ DOXYGEN_CASE_SENSE_NAMES - \ DOXYGEN_CHM_FILE - \ DOXYGEN_CHM_INDEX_ENCODING - \ DOXYGEN_CITE_BIB_FILES - \ DOXYGEN_CLANG_ASSISTED_PARSING - \ DOXYGEN_CLANG_DATABASE_PATH - \ DOXYGEN_CLANG_OPTIONS - \ DOXYGEN_CLASS_DIAGRAMS - \ DOXYGEN_CLASS_GRAPH - \ DOXYGEN_COLLABORATION_GRAPH - \ DOXYGEN_COLS_IN_ALPHA_INDEX - \ DOXYGEN_COMPACT_LATEX - \ DOXYGEN_COMPACT_RTF - \ DOXYGEN_CPP_CLI_SUPPORT - \ DOXYGEN_CREATE_SUBDIRS - \ DOXYGEN_DIAFILE_DIRS - \ DOXYGEN_DIA_PATH - \ DOXYGEN_DIRECTORY_GRAPH - \ DOXYGEN_DISABLE_INDEX - \ DOXYGEN_DISTRIBUTE_GROUP_DOC - \ DOXYGEN_DOCBOOK_OUTPUT - \ DOXYGEN_DOCBOOK_PROGRAMLISTING - \ DOXYGEN_DOCSET_BUNDLE_ID - \ DOXYGEN_DOCSET_FEEDNAME - \ DOXYGEN_DOCSET_PUBLISHER_ID - \ DOXYGEN_DOCSET_PUBLISHER_NAME - \ DOXYGEN_DOTFILE_DIRS - \ DOXYGEN_DOT_CLEANUP - \ DOXYGEN_DOT_FONTNAME - \ DOXYGEN_DOT_FONTPATH - \ DOXYGEN_DOT_FONTSIZE - \ DOXYGEN_DOT_GRAPH_MAX_NODES - \ DOXYGEN_DOT_IMAGE_FORMAT - \ DOXYGEN_DOT_MULTI_TARGETS - \ DOXYGEN_DOT_NUM_THREADS - \ DOXYGEN_DOT_PATH - \ DOXYGEN_DOT_TRANSPARENT - \ DOXYGEN_DOXYFILE_ENCODING - \ DOXYGEN_ECLIPSE_DOC_ID - \ DOXYGEN_ENABLED_SECTIONS - \ DOXYGEN_ENABLE_PREPROCESSING - \ DOXYGEN_ENUM_VALUES_PER_LINE - \ DOXYGEN_EXAMPLE_PATH - \ DOXYGEN_EXAMPLE_PATTERNS - \ DOXYGEN_EXAMPLE_RECURSIVE - \ DOXYGEN_EXCLUDE - \ DOXYGEN_EXCLUDE_PATTERNS - \ DOXYGEN_EXCLUDE_SYMBOLS - \ DOXYGEN_EXCLUDE_SYMLINKS - \ DOXYGEN_EXPAND_AS_DEFINED - \ DOXYGEN_EXPAND_ONLY_PREDEF - \ DOXYGEN_EXTENSION_MAPPING - \ DOXYGEN_EXTERNAL_GROUPS - \ DOXYGEN_EXTERNAL_PAGES - \ DOXYGEN_EXTERNAL_SEARCH - \ DOXYGEN_EXTERNAL_SEARCH_ID - \ DOXYGEN_EXTRACT_ALL - \ DOXYGEN_EXTRACT_ANON_NSPACES - \ DOXYGEN_EXTRACT_LOCAL_CLASSES - \ DOXYGEN_EXTRACT_LOCAL_METHODS - \ DOXYGEN_EXTRACT_PACKAGE - \ DOXYGEN_EXTRACT_PRIVATE - \ DOXYGEN_EXTRACT_PRIV_VIRTUAL - \ DOXYGEN_EXTRACT_STATIC - \ DOXYGEN_EXTRA_PACKAGES - \ DOXYGEN_EXTRA_SEARCH_MAPPINGS - \ DOXYGEN_EXT_LINKS_IN_WINDOW - \ DOXYGEN_FILE_PATTERNS - \ DOXYGEN_FILE_VERSION_FILTER - \ DOXYGEN_FILTER_PATTERNS - \ DOXYGEN_FILTER_SOURCE_FILES - \ DOXYGEN_FILTER_SOURCE_PATTERNS - \ DOXYGEN_FORCE_LOCAL_INCLUDES - \ DOXYGEN_FORMULA_FONTSIZE - \ DOXYGEN_FORMULA_TRANSPARENT - \ DOXYGEN_FULL_PATH_NAMES - \ DOXYGEN_GENERATE_AUTOGEN_DEF - \ DOXYGEN_GENERATE_BUGLIST - \ DOXYGEN_GENERATE_CHI - \ DOXYGEN_GENERATE_DEPRECATEDLIST - \ DOXYGEN_GENERATE_DOCBOOK - \ DOXYGEN_GENERATE_DOCSET - \ DOXYGEN_GENERATE_ECLIPSEHELP - \ DOXYGEN_GENERATE_HTML - \ DOXYGEN_GENERATE_HTMLHELP - \ DOXYGEN_GENERATE_LATEX - \ DOXYGEN_GENERATE_LEGEND - \ DOXYGEN_GENERATE_MAN - \ DOXYGEN_GENERATE_PERLMOD - \ DOXYGEN_GENERATE_QHP - \ DOXYGEN_GENERATE_RTF - \ DOXYGEN_GENERATE_TAGFILE - \ DOXYGEN_GENERATE_TESTLIST - \ DOXYGEN_GENERATE_TODOLIST - \ DOXYGEN_GENERATE_TREEVIEW - \ DOXYGEN_GENERATE_XML - \ DOXYGEN_GRAPHICAL_HIERARCHY - \ DOXYGEN_GROUP_GRAPHS - \ DOXYGEN_GROUP_NESTED_COMPOUNDS - \ DOXYGEN_HAVE_DOT - \ DOXYGEN_HHC_LOCATION - \ DOXYGEN_HIDE_COMPOUND_REFERENCE - \ DOXYGEN_HIDE_FRIEND_COMPOUNDS - \ DOXYGEN_HIDE_IN_BODY_DOCS - \ DOXYGEN_HIDE_SCOPE_NAMES - \ DOXYGEN_HIDE_UNDOC_CLASSES - \ DOXYGEN_HIDE_UNDOC_MEMBERS - \ DOXYGEN_HIDE_UNDOC_RELATIONS - \ DOXYGEN_HTML_COLORSTYLE_GAMMA - \ DOXYGEN_HTML_COLORSTYLE_HUE - \ DOXYGEN_HTML_COLORSTYLE_SAT - \ DOXYGEN_HTML_DYNAMIC_MENUS - \ DOXYGEN_HTML_DYNAMIC_SECTIONS - \ DOXYGEN_HTML_EXTRA_FILES - \ DOXYGEN_HTML_EXTRA_STYLESHEET - \ DOXYGEN_HTML_FILE_EXTENSION - \ DOXYGEN_HTML_FOOTER - \ DOXYGEN_HTML_HEADER - \ DOXYGEN_HTML_INDEX_NUM_ENTRIES - \ DOXYGEN_HTML_OUTPUT - \ DOXYGEN_HTML_STYLESHEET - \ DOXYGEN_HTML_TIMESTAMP - \ DOXYGEN_IDL_PROPERTY_SUPPORT - \ DOXYGEN_IGNORE_PREFIX - \ DOXYGEN_IMAGE_PATH - \ DOXYGEN_INCLUDED_BY_GRAPH - \ DOXYGEN_INCLUDE_FILE_PATTERNS - \ DOXYGEN_INCLUDE_GRAPH - \ DOXYGEN_INCLUDE_PATH - \ DOXYGEN_INHERIT_DOCS - \ DOXYGEN_INLINE_GROUPED_CLASSES - \ DOXYGEN_INLINE_INFO - \ DOXYGEN_INLINE_INHERITED_MEMB - \ DOXYGEN_INLINE_SIMPLE_STRUCTS - \ DOXYGEN_INLINE_SOURCES - \ DOXYGEN_INPUT - \ DOXYGEN_INPUT_ENCODING - \ DOXYGEN_INPUT_FILTER - \ DOXYGEN_INTERACTIVE_SVG - \ DOXYGEN_INTERNAL_DOCS - \ DOXYGEN_JAVADOC_AUTOBRIEF - \ DOXYGEN_JAVADOC_BANNER - \ DOXYGEN_LATEX_BATCHMODE - \ DOXYGEN_LATEX_BIB_STYLE - \ DOXYGEN_LATEX_CMD_NAME - \ DOXYGEN_LATEX_EMOJI_DIRECTORY - \ DOXYGEN_LATEX_EXTRA_FILES - \ DOXYGEN_LATEX_EXTRA_STYLESHEET - \ DOXYGEN_LATEX_FOOTER - \ DOXYGEN_LATEX_HEADER - \ DOXYGEN_LATEX_HIDE_INDICES - \ DOXYGEN_LATEX_MAKEINDEX_CMD - \ DOXYGEN_LATEX_OUTPUT - \ DOXYGEN_LATEX_SOURCE_CODE - \ DOXYGEN_LATEX_TIMESTAMP - \ DOXYGEN_LAYOUT_FILE - \ DOXYGEN_LOOKUP_CACHE_SIZE - \ DOXYGEN_MACRO_EXPANSION - \ DOXYGEN_MAKEINDEX_CMD_NAME - \ DOXYGEN_MAN_EXTENSION - \ DOXYGEN_MAN_LINKS - \ DOXYGEN_MAN_OUTPUT - \ DOXYGEN_MAN_SUBDIR - \ DOXYGEN_MARKDOWN_SUPPORT - \ DOXYGEN_MATHJAX_CODEFILE - \ DOXYGEN_MATHJAX_EXTENSIONS - \ DOXYGEN_MATHJAX_FORMAT - \ DOXYGEN_MATHJAX_RELPATH - \ DOXYGEN_MAX_DOT_GRAPH_DEPTH - \ DOXYGEN_MAX_INITIALIZER_LINES - \ DOXYGEN_MSCFILE_DIRS - \ DOXYGEN_MULTILINE_CPP_IS_BRIEF - \ DOXYGEN_OPTIMIZE_FOR_FORTRAN - \ DOXYGEN_OPTIMIZE_OUTPUT_FOR_C - \ DOXYGEN_OPTIMIZE_OUTPUT_JAVA - \ DOXYGEN_OPTIMIZE_OUTPUT_SLICE - \ DOXYGEN_OPTIMIZE_OUTPUT_VHDL - \ DOXYGEN_OUTPUT_DIRECTORY - \ DOXYGEN_OUTPUT_LANGUAGE - \ DOXYGEN_OUTPUT_TEXT_DIRECTION - \ DOXYGEN_PAPER_TYPE - \ DOXYGEN_PDF_HYPERLINKS - \ DOXYGEN_PERLMOD_LATEX - \ DOXYGEN_PERLMOD_MAKEVAR_PREFIX - \ DOXYGEN_PERLMOD_PRETTY - \ DOXYGEN_PLANTUML_CFG_FILE - \ DOXYGEN_PLANTUML_INCLUDE_PATH - \ DOXYGEN_PLANTUML_JAR_PATH - \ DOXYGEN_PREDEFINED - \ DOXYGEN_PROJECT_BRIEF - \ DOXYGEN_PROJECT_LOGO - \ DOXYGEN_PROJECT_NAME - \ DOXYGEN_PROJECT_NUMBER - \ DOXYGEN_QCH_FILE - \ DOXYGEN_QHG_LOCATION - \ DOXYGEN_QHP_CUST_FILTER_ATTRS - \ DOXYGEN_QHP_CUST_FILTER_NAME - \ DOXYGEN_QHP_NAMESPACE - \ DOXYGEN_QHP_SECT_FILTER_ATTRS - \ DOXYGEN_QHP_VIRTUAL_FOLDER - \ DOXYGEN_QT_AUTOBRIEF - \ DOXYGEN_QUIET - \ DOXYGEN_RECURSIVE - \ DOXYGEN_REFERENCED_BY_RELATION - \ DOXYGEN_REFERENCES_LINK_SOURCE - \ DOXYGEN_REFERENCES_RELATION - \ DOXYGEN_REPEAT_BRIEF - \ DOXYGEN_RTF_EXTENSIONS_FILE - \ DOXYGEN_RTF_HYPERLINKS - \ DOXYGEN_RTF_OUTPUT - \ DOXYGEN_RTF_SOURCE_CODE - \ DOXYGEN_RTF_STYLESHEET_FILE - \ DOXYGEN_SEARCHDATA_FILE - \ DOXYGEN_SEARCHENGINE - \ DOXYGEN_SEARCHENGINE_URL - \ DOXYGEN_SEARCH_INCLUDES - \ DOXYGEN_SEPARATE_MEMBER_PAGES - \ DOXYGEN_SERVER_BASED_SEARCH - \ DOXYGEN_SHORT_NAMES - \ DOXYGEN_SHOW_FILES - \ DOXYGEN_SHOW_GROUPED_MEMB_INC - \ DOXYGEN_SHOW_INCLUDE_FILES - \ DOXYGEN_SHOW_NAMESPACES - \ DOXYGEN_SHOW_USED_FILES - \ DOXYGEN_SIP_SUPPORT - \ DOXYGEN_SKIP_FUNCTION_MACROS - \ DOXYGEN_SORT_BRIEF_DOCS - \ DOXYGEN_SORT_BY_SCOPE_NAME - \ DOXYGEN_SORT_GROUP_NAMES - \ DOXYGEN_SORT_MEMBERS_CTORS_1ST - \ DOXYGEN_SORT_MEMBER_DOCS - \ DOXYGEN_SOURCE_BROWSER - \ DOXYGEN_SOURCE_TOOLTIPS - \ DOXYGEN_STRICT_PROTO_MATCHING - \ DOXYGEN_STRIP_CODE_COMMENTS - \ DOXYGEN_STRIP_FROM_INC_PATH - \ DOXYGEN_STRIP_FROM_PATH - \ DOXYGEN_SUBGROUPING - \ DOXYGEN_TAB_SIZE - \ DOXYGEN_TAGFILES - \ DOXYGEN_TCL_SUBST - \ DOXYGEN_TEMPLATE_RELATIONS - \ DOXYGEN_TOC_EXPAND - \ DOXYGEN_TOC_INCLUDE_HEADINGS - \ DOXYGEN_TREEVIEW_WIDTH - \ DOXYGEN_TYPEDEF_HIDES_STRUCT - \ DOXYGEN_UML_LIMIT_NUM_FIELDS - \ DOXYGEN_UML_LOOK - \ DOXYGEN_USE_HTAGS - \ DOXYGEN_USE_MATHJAX - \ DOXYGEN_USE_MDFILE_AS_MAINPAGE - \ DOXYGEN_USE_PDFLATEX - \ DOXYGEN_VERBATIM_HEADERS - \ DOXYGEN_VERBATIM_VARS - \ DOXYGEN_VERSION - \ DOXYGEN_WARNINGS - \ DOXYGEN_WARN_AS_ERROR - \ DOXYGEN_WARN_FORMAT - \ DOXYGEN_WARN_IF_DOC_ERROR - \ DOXYGEN_WARN_IF_UNDOCUMENTED - \ DOXYGEN_WARN_LOGFILE - \ DOXYGEN_WARN_NO_PARAMDOC - \ DOXYGEN_XML_NS_MEMB_FILE_SCOPE - \ DOXYGEN_XML_OUTPUT - \ DOXYGEN_XML_PROGRAMLISTING - \ ENV - \ EXECUTABLE_OUTPUT_PATH - \ GHSMULTI - \ IOS - \ LIBRARY_OUTPUT_PATH - \ LINUX - \ MINGW - \ MSVC - \ MSVC10 - \ MSVC11 - \ MSVC12 - \ MSVC14 - \ MSVC60 - \ MSVC70 - \ MSVC71 - \ MSVC80 - \ MSVC90 - \ MSVC_IDE - \ MSVC_TOOLSET_VERSION - \ MSVC_VERSION - \ MSYS - \ PROJECT_BINARY_DIR - \ PROJECT_DESCRIPTION - \ PROJECT_HOMEPAGE_URL - \ PROJECT_IS_TOP_LEVEL - \ PROJECT_NAME - \ PROJECT_SOURCE_DIR - \ PROJECT_VERSION - \ PROJECT_VERSION_MAJOR - \ PROJECT_VERSION_MINOR - \ PROJECT_VERSION_PATCH - \ PROJECT_VERSION_TWEAK - \ UNIX - \ WIN32 - \ WINCE - \ WINDOWS_PHONE - \ WINDOWS_STORE - \ XCODE - \ XCODE_VERSION - -syn keyword cmakeModule contained - \ ExternalProject - \ FetchContent - -syn keyword cmakeKWExternalProject contained - \ AWS - \ BINARY_DIR - \ BUILD_ALWAYS - \ BUILD_BYPRODUCTS - \ BUILD_COMMAND - \ BUILD_IN_SOURCE - \ CHECKOUT - \ CMAKE_ARGS - \ CMAKE_CACHE_ARGS - \ CMAKE_CACHE_DEFAULT_ARGS - \ CMAKE_EP_GIT_REMOTE_UPDATE_STRATEGY - \ CMAKE_INSTALL_MODE - \ COMMENT - \ CONFIGURE_COMMAND - \ CONFIGURE_HANDLED_BY_BUILD - \ CVS - \ CVSROOT - \ CVS_MODULE - \ CVS_REPOSITORY - \ CVS_TAG - \ DEPENDEES - \ DEPENDERS - \ DEPENDS - \ DOWNLOADED_FILE - \ DOWNLOAD_COMMAND - \ DOWNLOAD_DIR - \ DOWNLOAD_EXTRACT_TIMESTAMP - \ DOWNLOAD_NAME - \ DOWNLOAD_NO_EXTRACT - \ DOWNLOAD_NO_PROGRESS - \ EP_BASE - \ EP_INDEPENDENT_STEP_TARGETS - \ EP_PREFIX - \ EP_STEP_TARGETS - \ EP_UPDATE_DISCONNECTED - \ EXCLUDE_FROM_ALL - \ FALSE - \ FORCE - \ GHS - \ GIT_CONFIG - \ GIT_PROGRESS - \ GIT_REMOTE_NAME - \ GIT_REMOTE_UPDATE_STRATEGY - \ GIT_REPOSITORY - \ GIT_SHALLOW - \ GIT_SUBMODULES - \ GIT_SUBMODULES_RECURSE - \ GIT_TAG - \ HG_REPOSITORY - \ HG_TAG - \ HTTP_HEADER - \ HTTP_PASSWORD - \ HTTP_USERNAME - \ IGNORED - \ INACTIVITY_TIMEOUT - \ INDEPENDENT_STEP_TARGETS - \ INSTALL_BYPRODUCTS - \ INSTALL_COMMAND - \ INSTALL_DIR - \ JOB_POOLS - \ LIST_SEPARATOR - \ LOG_BUILD - \ LOG_CONFIGURE - \ LOG_DIR - \ LOG_DOWNLOAD - \ LOG_INSTALL - \ LOG_MERGED_STDOUTERR - \ LOG_OUTPUT_ON_FAILURE - \ LOG_PATCH - \ LOG_TEST - \ LOG_UPDATE - \ MAKE_EXE - \ MULTI - \ NAMES - \ NETRC - \ NETRC_FILE - \ NOTE - \ NO_DEPENDS - \ OPTIONAL - \ PATCH_COMMAND - \ PREFIX - \ PROPERTY - \ REBASE - \ REBASE_CHECKOUT - \ REQUIRED - \ SOURCE_DIR - \ SOURCE_SUBDIR - \ STAMP_DIR - \ STEP_TARGETS - \ STRING - \ SVN_PASSWORD - \ SVN_REPOSITORY - \ SVN_REVISION - \ SVN_TRUST_CERT - \ SVN_USERNAME - \ TEST_AFTER_INSTALL - \ TEST_BEFORE_INSTALL - \ TEST_COMMAND - \ TEST_EXCLUDE_FROM_MAIN - \ TIMEOUT - \ TLS_CAINFO - \ TLS_VERIFY - \ TMP_DIR - \ TRUE - \ UPDATE_COMMAND - \ UPDATE_DISCONNECTED - \ URL - \ URL_HASH - \ URL_MD5 - \ USES_TERMINAL_BUILD - \ USES_TERMINAL_CONFIGURE - \ USES_TERMINAL_DOWNLOAD - \ USES_TERMINAL_INSTALL - \ USES_TERMINAL_PATCH - \ USES_TERMINAL_TEST - \ USES_TERMINAL_UPDATE - \ WORKING_DIRECTORY - -syn keyword cmakeKWFetchContent contained - \ ALWAYS - \ BINARY_DIR - \ BUILD_COMMAND - \ BYPASS_PROVIDER - \ CMAKE_PROJECT_ - \ CONFIGURE_COMMAND - \ COPY - \ CORRECT - \ DCMAKE_TOOLCHAIN_FILE - \ DESTINATION - \ DOWNLOAD_NO_EXTRACT - \ EXISTS - \ FETCHCONTENT_BASE_DIR - \ FETCHCONTENT_FULLY_DISCONNECTED - \ FETCHCONTENT_MAKEAVAILABLE_SERIAL - \ FETCHCONTENT_QUIET - \ FETCHCONTENT_SOURCE_DIR_ - \ FETCHCONTENT_TRY_FIND_PACKAGE_MODE - \ FETCHCONTENT_UPDATES_DISCONNECTED - \ FETCHCONTENT_UPDATES_DISCONNECTED_ - \ FIND_PACKAGE_ARGS - \ GIT_REPOSITORY - \ GIT_TAG - \ GLOBAL - \ GTEST_BOTH_LIBRARIES - \ GTEST_LIBRARIES - \ GTEST_MAIN_LIBRARIES - \ INSTALL_COMMAND - \ INTERNAL - \ NAME - \ NAMES - \ NEVER - \ NOTE - \ OFF - \ OPTIONAL - \ OPT_IN - \ OVERRIDE_FIND_PACKAGE - \ PACKAGE_VERSION_COMPATIBLE - \ PACKAGE_VERSION_EXACT - \ QUIET - \ SOURCE_SUBDIR - \ STREQUAL - \ SUBBUILD_DIR - \ SVN_REPOSITORY - \ SVN_REVISION - \ SYSTEM - \ TARGET - \ TEST_COMMAND - \ TRUE - \ URL - \ URL_HASH - \ VERIFY_INTERFACE_HEADER_SETS - \ WRITE - \ WRONG - \ _BINARY_DIR - \ _INCLUDE - \ _POPULATED - \ _SOURCE_DIR - -syn keyword cmakeKWadd_compile_definitions contained - \ COMPILE_DEFINITIONS - \ VAR - -syn keyword cmakeKWadd_compile_options contained - \ CMAKE_ - \ COMPILE_LANGUAGE - \ COMPILE_OPTIONS - \ CONFIG - \ SHELL - \ UNIX_COMMAND - \ _FLAGS - \ _FLAGS_ - -syn keyword cmakeKWadd_custom_command contained - \ APPEND - \ ARGS - \ BNF - \ BYPRODUCTS - \ CC - \ COMMAND - \ COMMAND_EXPAND_LISTS - \ COMMENT - \ CONFIG - \ CROSSCOMPILING_EMULATOR - \ DEPENDS - \ DEPENDS_EXPLICIT_ONLY - \ DEPFILE - \ GENERATED - \ IMPLICIT_DEPENDS - \ INCLUDE_DIRECTORIES - \ JOB_POOL - \ JOB_POOLS - \ JOIN - \ MAIN_DEPENDENCY - \ MODULE - \ NOT - \ OUTPUT - \ PATH - \ POST_BUILD - \ PRE_BUILD - \ PRE_LINK - \ SYMBOLIC - \ TARGET_FILE - \ TARGET_LINKER_FILE - \ TARGET_PDB_FILE - \ TARGET_PROPERTY - \ TARGET_SONAME_FILE - \ USES_TERMINAL - \ VERBATIM - \ WORKING_DIRECTORY - -syn keyword cmakeKWadd_custom_target contained - \ ALL - \ BYPRODUCTS - \ CC - \ COMMAND - \ COMMAND_EXPAND_LISTS - \ COMMENT - \ CROSSCOMPILING_EMULATOR - \ DEPENDS - \ GENERATED - \ INCLUDE_DIRECTORIES - \ JOB_POOL - \ JOB_POOLS - \ JOIN - \ PATH - \ SOURCES - \ TARGET_FILE - \ TARGET_LINKER_FILE - \ TARGET_PDB_FILE - \ TARGET_PROPERTY - \ TARGET_SONAME_FILE - \ USES_TERMINAL - \ VERBATIM - \ WORKING_DIRECTORY - -syn keyword cmakeKWadd_definitions contained - \ COMPILE_DEFINITIONS - -syn keyword cmakeKWadd_dependencies contained - \ DEPENDS - \ OBJECT_DEPENDS - -syn keyword cmakeKWadd_executable contained - \ ALIAS - \ ALIAS_GLOBAL - \ CONFIG - \ EXCLUDE_FROM_ALL - \ GLOBAL - \ HEADER_FILE_ONLY - \ IMPORTED - \ IMPORTED_ - \ IMPORTED_LOCATION - \ IMPORTED_LOCATION_ - \ MACOSX_BUNDLE - \ OUTPUT_NAME - \ RUNTIME_OUTPUT_DIRECTORY - \ TARGET - -syn keyword cmakeKWadd_library contained - \ ALIAS - \ ALIAS_GLOBAL - \ ARCHIVE_OUTPUT_DIRECTORY - \ CLI - \ CONFIG - \ DLL - \ EXCLUDE_FROM_ALL - \ FRAMEWORK - \ GLOBAL - \ HEADER_FILE_ONLY - \ HEADER_SETS - \ IMPORTED - \ IMPORTED_ - \ IMPORTED_IMPLIB - \ IMPORTED_IMPLIB_ - \ IMPORTED_LOCATION - \ IMPORTED_LOCATION_ - \ IMPORTED_NO_SONAME - \ IMPORTED_OBJECTS - \ IMPORTED_OBJECTS_ - \ IMPORTED_SONAME - \ INTERFACE - \ INTERFACE_ - \ INTERFACE_SOURCES - \ LC_ID_DYLIB - \ LIBRARY_OUTPUT_DIRECTORY - \ MODULE - \ OBJECT - \ ON - \ OUTPUT_NAME - \ POSITION_INDEPENDENT_CODE - \ POST_BUILD - \ PRE_BUILD - \ PRE_LINK - \ PRIVATE_HEADER - \ PUBLIC_HEADER - \ RUNTIME_OUTPUT_DIRECTORY - \ SHARED - \ SONAME - \ SOURCES - \ STATIC - \ TARGETS - \ TARGET_OBJECTS - \ TARGET_RUNTIME_DLLS - \ UNKNOWN - -syn keyword cmakeKWadd_link_options contained - \ CMAKE_ - \ CONFIG - \ CUDA_RESOLVE_DEVICE_SYMBOLS - \ CUDA_SEPARABLE_COMPILATION - \ DEVICE_LINK - \ GCC - \ HOST_LINK - \ LANG - \ LINKER - \ LINK_OPTIONS - \ SHELL - \ STATIC_LIBRARY_OPTIONS - \ UNIX_COMMAND - \ _FLAGS - \ _FLAGS_ - \ _LINKER_WRAPPER_FLAG - \ _LINKER_WRAPPER_FLAG_SEP - -syn keyword cmakeKWadd_subdirectory contained - \ EXCLUDE_FROM_ALL - \ SYSTEM - -syn keyword cmakeKWadd_test contained - \ BUILD_TESTING - \ COMMAND - \ COMMAND_EXPAND_LISTS - \ CONFIGURATIONS - \ FAIL_REGULAR_EXPRESSION - \ NAME - \ OFF - \ PASS_REGULAR_EXPRESSION - \ SKIP_REGULAR_EXPRESSION - \ TARGET_FILE - \ WILL_FAIL - \ WILL_FALL - \ WORKING_DIRECTORY - -syn keyword cmakeKWblock contained - \ PARENT_SCOPE - \ POLICIES - \ PROPAGATE - \ PUSH - \ SCOPE_FOR - \ TRUE - \ VARIABLES - -syn keyword cmakeKWbuild_command contained - \ CONFIGURATION - \ PARALLEL_LEVEL - \ TARGET - -syn keyword cmakeKWcmake_file_api contained - \ API - \ API_VERSION - \ BUILD_DIR - \ CMAKEFILES - \ CODEMODEL - \ COMMAND - \ CONFIG - \ QUERY - \ TOOLCHAINS - -syn keyword cmakeKWcmake_host_system_information contained - \ APPEND - \ AVAILABLE_PHYSICAL_MEMORY - \ AVAILABLE_VIRTUAL_MEMORY - \ BOTH - \ CMAKE_GET_OS_RELEASE_FALLBACK_CONTENT - \ CMAKE_GET_OS_RELEASE_FALLBACK_RESULT_ - \ CMAKE_GET_OS_RELEASE_FALLBACK_RESULT_ID - \ CMAKE_GET_OS_RELEASE_FALLBACK_RESULT_NAME - \ CMAKE_GET_OS_RELEASE_FALLBACK_RESULT_PRETTY_NAME - \ CMAKE_GET_OS_RELEASE_FALLBACK_RESULT_VERSION - \ CMAKE_GET_OS_RELEASE_FALLBACK_RESULT_VERSION_ID - \ CMAKE_GET_OS_RELEASE_FALLBACK_SCRIPTS - \ DISTRIB_INFO - \ DISTRIB_PRETTY_NAME - \ DISTRO - \ DISTRO_BUG_REPORT_URL - \ DISTRO_HOME_URL - \ DISTRO_ID - \ DISTRO_ID_LIKE - \ DISTRO_NAME - \ DISTRO_PRETTY_NAME - \ DISTRO_PRIVACY_POLICY_URL - \ DISTRO_SUPPORT_URL - \ DISTRO_UBUNTU_CODENAME - \ DISTRO_VERSION - \ DISTRO_VERSION_CODENAME - \ DISTRO_VERSION_ID - \ ERROR_VARIABLE - \ EXISTS - \ FQDN - \ HAS_FPU - \ HAS_MMX - \ HAS_MMX_PLUS - \ HAS_SERIAL_NUMBER - \ HAS_SSE - \ HAS_SSE_FP - \ HAS_SSE_MMX - \ HKCC - \ HKCR - \ HKCU - \ HKEY_CLASSES_ROOT - \ HKEY_CURRENT_CONFIG - \ HKEY_CURRENT_USER - \ HKEY_LOCAL_MACHINE - \ HKEY_USERS - \ HKLM - \ HKU - \ HOSTNAME - \ ID - \ LIMIT_COUNT - \ LISTS - \ LTS - \ MATCHES - \ NNN - \ NOT - \ NUMBER_OF_LOGICAL_CORES - \ NUMBER_OF_PHYSICAL_CORES - \ OS_NAME - \ OS_PLATFORM - \ OS_RELEASE - \ OS_VERSION - \ PRETTY_NAME - \ PROCESSOR_DESCRIPTION - \ PROCESSOR_NAME - \ PROCESSOR_SERIAL_NUMBER - \ QUERY - \ REG_DWORD - \ REG_EXPAND_SZ - \ REG_MULTI_SZ - \ REG_QWORD - \ REG_SZ - \ RESULT - \ SEPARATOR - \ SOFTWARE - \ STATUS - \ STRINGS - \ SUBKEYS - \ TARGET - \ TOTAL_PHYSICAL_MEMORY - \ TOTAL_VIRTUAL_MEMORY - \ VALUE_NAMES - \ VAR - \ VIEW - \ WINDOWS_REGISTRY - -syn keyword cmakeKWcmake_language contained - \ AND - \ ANY - \ APPEND - \ ARGN - \ BINARY_DIR - \ BYPASS_PROVIDER - \ CALL - \ CANCEL_CALL - \ CODE - \ COMMAND - \ COMMAND_ERROR_IS_FATAL - \ DCMAKE_PROJECT_TOP_LEVEL_INCLUDES - \ DEFER - \ DIRECTORY - \ EVAL - \ FALSE - \ FETCHCONTENT_MAKEAVAILABE_SERIAL - \ FETCHCONTENT_MAKEAVAILABLE_SERIAL - \ FETCHCONTENT_SOURCE_DIR_ - \ FETCHCONTENT_TRY_FIND_PACKAGE_MODE - \ FIND_PACKAGE - \ FIND_PACKAGE_ARGS - \ GET_CALL_IDS - \ GET_MESSAGE_LOG_LEVEL - \ GIT_REPOSITORY - \ GIT_SUBMODULES - \ GIT_TAG - \ ID_VAR - \ MATCHES - \ MYCOMP_PROVIDER_INSTALL_DIR - \ NEVER - \ NOT - \ OVERRIDE_FIND_PACKAGE - \ PATH - \ POP_BACK - \ QUIET - \ SET_DEPENDENCY_PROVIDER - \ SOURCE_DIR - \ STATUS - \ STREQUAL - \ SUPPORTED_METHODS - \ TRUE - \ VERSION - \ WRITE - \ _FOUND - \ _PATH - -syn keyword cmakeKWcmake_minimum_required contained - \ FATAL_ERROR - \ VERSION - -syn keyword cmakeKWcmake_parse_arguments contained - \ ARGN - \ CONFIGURATIONS - \ DESTINATION - \ FALSE - \ FAST - \ FILES - \ MY_INSTALL - \ MY_INSTALL_CONFIGURATIONS - \ MY_INSTALL_DESTINATION - \ MY_INSTALL_FAST - \ MY_INSTALL_KEYWORDS_MISSING_VALUES - \ MY_INSTALL_OPTIONAL - \ MY_INSTALL_RENAME - \ MY_INSTALL_TARGETS - \ MY_INSTALL_UNPARSED_ARGUMENTS - \ OPTIONAL - \ PARSE_ARGV - \ RENAME - \ TARGETS - \ TRUE - \ UNDEFINED - \ _KEYWORDS_MISSING_VALUES - \ _UNPARSED_ARGUMENTS - -syn keyword cmakeKWcmake_path contained - \ ABSOLUTE_PATH - \ AND - \ APPEND - \ APPEND_STRING - \ BASE_DIRECTORY - \ COMPARE - \ CONVERT - \ EQUAL - \ EXTENSION - \ EXTENSION_DEF - \ FALSE - \ FILENAME - \ FILENAME_DEF - \ GET - \ GET_EXTENSION - \ GET_FILENAME - \ GET_PARENT_PATH - \ GET_RELATIVE_PART - \ GET_ROOT_DIRECTORY - \ GET_ROOT_NAME - \ GET_ROOT_PATH - \ GET_STEM - \ HASH - \ HAS_EXTENSION - \ HAS_FILENAME - \ HAS_PARENT_PATH - \ HAS_RELATIVE_PART - \ HAS_ROOT_DIRECTORY - \ HAS_ROOT_NAME - \ HAS_ROOT_PATH - \ HAS_STEM - \ IS_ABSOLUTE - \ IS_PREFIX - \ IS_RELATIVE - \ LAST_ONLY - \ MATCHES - \ NATIVE_PATH - \ NORMALIZE - \ NORMAL_PATH - \ NOT_EQUAL - \ OP - \ OUTPUT_VARIABLE - \ PARENT_PATH - \ REAL_PATH - \ RELATIVE_PART - \ RELATIVE_PATH - \ REMOVE_EXTENSION - \ REMOVE_FILENAME - \ REPLACE_EXTENSION - \ REPLACE_FILENAME - \ ROOT_DIRECTORY - \ ROOT_NAME - \ ROOT_PATH - \ SET - \ STEM - \ STREQUAL - \ TO_CMAKE_PATH_LIST - \ TO_NATIVE_PATH_LIST - \ TRUE - \ XOR - -syn keyword cmakeKWcmake_policy contained - \ CMAKE_POLICY_DEFAULT_CMP - \ CMP - \ GET - \ NNNN - \ NO_POLICY_SCOPE - \ OLD - \ POLICIES - \ POP - \ PUSH - \ SCOPE_FOR - \ SET - \ VERSION - -syn keyword cmakeKWconfigure_file contained - \ COPYONLY - \ CRLF - \ DOS - \ ESCAPE_QUOTES - \ FILE_PERMISSIONS - \ FOO_ENABLE - \ FOO_STRING - \ GENERATE - \ INTERFACE - \ LF - \ NEWLINE_STYLE - \ NO_SOURCE_PERMISSIONS - \ PRIVATE - \ PUBLIC - \ SYSTEM - \ USE_SOURCE_PERMISSIONS - \ VAR - -syn keyword cmakeKWcreate_test_sourcelist contained - \ CMAKE_TESTDRIVER_AFTER_TESTMAIN - \ CMAKE_TESTDRIVER_BEFORE_TESTMAIN - \ EXTRA_INCLUDE - \ FUNCTION - -syn keyword cmakeKWctest_build contained - \ ALL_BUILD - \ APPEND - \ BUILD - \ CAPTURE_CMAKE_ERROR - \ CMAKE_BUILD_PARALLEL_LEVEL - \ CONFIGURATION - \ CTEST_BUILD_CONFIGURATION - \ CTEST_BUILD_FLAGS - \ CTEST_BUILD_TARGET - \ FLAGS - \ NUMBER_ERRORS - \ NUMBER_WARNINGS - \ PARALLEL_LEVEL - \ QUIET - \ RETURN_VALUE - \ TARGET - -syn keyword cmakeKWctest_configure contained - \ APPEND - \ BUILD - \ CAPTURE_CMAKE_ERROR - \ OPTIONS - \ QUIET - \ RETURN_VALUE - \ SOURCE - -syn keyword cmakeKWctest_coverage contained - \ APPEND - \ BUILD - \ CAPTURE_CMAKE_ERROR - \ LABELS - \ QUIET - \ RETURN_VALUE - -syn keyword cmakeKWctest_memcheck contained - \ APPEND - \ BUILD - \ CAPTURE_CMAKE_ERROR - \ DEFECT_COUNT - \ EXCLUDE - \ EXCLUDE_FIXTURE - \ EXCLUDE_FIXTURE_CLEANUP - \ EXCLUDE_FIXTURE_SETUP - \ EXCLUDE_LABEL - \ INCLUDE - \ INCLUDE_LABEL - \ OFF - \ ON - \ OUTPUT_JUNIT - \ PARALLEL_LEVEL - \ QUIET - \ REPEAT - \ RESOURCE_SPEC_FILE - \ RETURN_VALUE - \ SCHEDULE_RANDOM - \ START - \ STOP_ON_FAILURE - \ STOP_TIME - \ STRIDE - \ TEST_LOAD - -syn keyword cmakeKWctest_run_script contained - \ NEW_PROCESS - \ RETURN_VALUE - -syn keyword cmakeKWctest_start contained - \ APPEND - \ GROUP - \ QUIET - \ TAG - \ TRACK - -syn keyword cmakeKWctest_submit contained - \ API - \ BUILD_ID - \ CAPTURE_CMAKE_ERROR - \ CDASH_UPLOAD - \ CDASH_UPLOAD_TYPE - \ CTEST_EXTRA_SUBMIT_FILES - \ CTEST_NOTES_FILES - \ FILES - \ HTTPHEADER - \ PARTS - \ QUIET - \ RETRY_COUNT - \ RETRY_DELAY - \ RETURN_VALUE - \ SUBMIT_URL - -syn keyword cmakeKWctest_test contained - \ AFTER_TIMEOUT - \ APPEND - \ ATTACHED_FILES - \ ATTACHED_FILES_ON_FAIL - \ BUILD - \ CAPTURE_CMAKE_ERROR - \ CPU - \ EXCLUDE - \ EXCLUDE_FIXTURE - \ EXCLUDE_FIXTURE_CLEANUP - \ EXCLUDE_FIXTURE_SETUP - \ EXCLUDE_LABEL - \ INCLUDE - \ INCLUDE_LABEL - \ LABELS - \ OFF - \ ON - \ OUTPUT_JUNIT - \ PARALLEL_LEVEL - \ QUIET - \ REPEAT - \ RESOURCE_SPEC_FILE - \ RETURN_VALUE - \ SCHEDULE_RANDOM - \ START - \ STOP_ON_FAILURE - \ STOP_TIME - \ STRIDE - \ TEST_LOAD - \ UNTIL_FAIL - \ UNTIL_PASS - \ URL - \ XML - -syn keyword cmakeKWctest_update contained - \ CAPTURE_CMAKE_ERROR - \ QUIET - \ RETURN_VALUE - \ SOURCE - -syn keyword cmakeKWctest_upload contained - \ CAPTURE_CMAKE_ERROR - \ FILES - \ QUIET - -syn keyword cmakeKWdefine_property contained - \ APPEND - \ APPEND_STRING - \ BRIEF_DOCS - \ CACHED_VARIABLE - \ CMAKE_ - \ DIRECTORY - \ FULL_DOCS - \ GLOBAL - \ INHERITED - \ INITIALIZE_FROM_VARIABLE - \ PROPERTY - \ SOURCE - \ TARGET - \ TEST - \ VARIABLE - \ _CMAKE_ - -syn keyword cmakeKWdoxygen_add_docs contained - \ ALL - \ COMMENT - \ USE_STAMP_FILE - \ WORKING_DIRECTORY - -syn keyword cmakeKWenable_language contained - \ ASM - \ ASM_MARMASM - \ ASM_MASM - \ ASM_NASM - \ ATT - \ CUDA - \ HIP - \ ISPC - \ OBJC - \ OBJCXX - \ OPTIONAL - -syn keyword cmakeKWenable_testing contained - \ BUILD_TESTING - -syn keyword cmakeKWexec_program contained - \ ARGS - \ OUTPUT_VARIABLE - \ RETURN_VALUE - -syn keyword cmakeKWexecute_process contained - \ ANSI - \ ANY - \ AUTO - \ COMMAND - \ COMMAND_ECHO - \ COMMAND_ERROR_IS_FATAL - \ ECHO_ERROR_VARIABLE - \ ECHO_OUTPUT_VARIABLE - \ ENCODING - \ ERROR_FILE - \ ERROR_QUIET - \ ERROR_STRIP_TRAILING_WHITESPACE - \ ERROR_VARIABLE - \ INPUT_FILE - \ LAST - \ NONE - \ OEM - \ OUTPUT_FILE - \ OUTPUT_QUIET - \ OUTPUT_STRIP_TRAILING_WHITESPACE - \ OUTPUT_VARIABLE - \ POSIX - \ RESULTS_VARIABLE - \ RESULT_VARIABLE - \ RFC - \ STDERR - \ STDOUT - \ TIMEOUT - \ UTF - \ WORKING_DIRECTORY - -syn keyword cmakeKWexport contained - \ ANDROID_MK - \ APPEND - \ CONFIG - \ CXX_MODULES_DIRECTORY - \ EXPORT - \ EXPORT_LINK_INTERFACE_LIBRARIES - \ FILE - \ IMPORTED_ - \ NAMESPACE - \ NDK - \ OLD - \ PACKAGE - \ TARGETS - -syn keyword cmakeKWexport_library_dependencies contained - \ APPEND - \ EXPORT - \ INCLUDE - \ LINK_INTERFACE_LIBRARIES - \ SET - -syn keyword cmakeKWfile contained - \ APPEND - \ ARCHIVE_CREATE - \ ARCHIVE_EXTRACT - \ ASCII - \ BASE_DIRECTORY - \ BUNDLE_EXECUTABLE - \ CHMOD - \ CHMOD_RECURSE - \ CMAKE_GET_RUNTIME_DEPENDENCIES_COMMAND - \ CMAKE_GET_RUNTIME_DEPENDENCIES_PLATFORM - \ CMAKE_GET_RUNTIME_DEPENDENCIES_TOOL - \ CMAKE_INSTALL_MODE - \ CMAKE_OBJDUMP - \ CODE - \ COMPILE_FEATURES - \ COMPRESSION - \ COMPRESSION_LEVEL - \ CONDITION - \ CONFIGURE - \ CONFIGURE_DEPENDS - \ CONFLICTING_DEPENDENCIES_PREFIX - \ CONTENT - \ CONVERT - \ COPYONLY - \ COPY_FILE - \ COPY_ON_ERROR - \ CREATE_LINK - \ CRLF - \ DESTINATION - \ DIRECTORIES - \ DIRECTORY_PERMISSIONS - \ DLL - \ DOS - \ DOWNLOAD - \ ENCODING - \ ESCAPE_QUOTES - \ EXECUTABLES - \ EXPAND_TILDE - \ EXPECTED_HASH - \ FILES_MATCHING - \ FILE_PERMISSIONS - \ FOLLOW_SYMLINKS - \ FOLLOW_SYMLINK_CHAIN - \ FORMAT - \ FUNCTION - \ GENERATE - \ GET_RUNTIME_DEPENDENCIES - \ GLOB - \ GLOB_RECURSE - \ GROUP_EXECUTE - \ GROUP_READ - \ GROUP_WRITE - \ GUARD - \ HASH - \ HEX - \ HOME - \ HTTPHEADER - \ IGNORED - \ INACTIVITY_TIMEOUT - \ INPUT - \ INPUT_MAY_BE_RECENT - \ INSTALL - \ IS_ABSOLUTE - \ LENGTH_MAXIMUM - \ LENGTH_MINIMUM - \ LF - \ LIBRARIES - \ LIMIT - \ LIMIT_COUNT - \ LIMIT_INPUT - \ LIMIT_OUTPUT - \ LIST_DIRECTORIES - \ LIST_ONLY - \ LOCK - \ LOG - \ MAKE_DIRECTORY - \ MODULES - \ MTIME - \ MYLIBRARY - \ NETRC - \ NETRC_FILE - \ NEWLINE_CONSUME - \ NEWLINE_STYLE - \ NOT - \ NO_HEX_CONVERSION - \ NO_REPLACE - \ NO_SOURCE_PERMISSIONS - \ OFFSET - \ ONLY - \ ONLY_IF_DIFFERENT - \ OPTIONAL - \ OUTPUT - \ OWNER_EXECUTE - \ OWNER_READ - \ OWNER_WRITE - \ PATHS - \ PATTERN - \ PATTERNS - \ PERMISSIONS - \ POST_EXCLUDE_FILES - \ POST_EXCLUDE_REGEXES - \ POST_INCLUDE_FILES - \ POST_INCLUDE_REGEXES - \ PRE_EXCLUDE_REGEXES - \ PRE_INCLUDE_REGEXES - \ PROCESS - \ RANGE_END - \ RANGE_START - \ READ - \ READ_SYMLINK - \ REAL_PATH - \ REGEX - \ RELATIVE - \ RELATIVE_PATH - \ RELEASE - \ REMOVE - \ REMOVE_RECURSE - \ RENAME - \ REQUIRED - \ RESOLVED_DEPENDENCIES_VAR - \ RESULT - \ RESULT_VARIABLE - \ RPATH - \ RUNPATH - \ RUNTIME_DEPENDENCY_SET - \ SCRIPT - \ SETGID - \ SETUID - \ SHARED - \ SHOW_PROGRESS - \ SIZE - \ SSL - \ STATIC - \ STATUS - \ STRINGS - \ SYMBOLIC - \ TARGET - \ TARGET_PROPERTY - \ TIMESTAMP - \ TLS_CAINFO - \ TLS_VERIFY - \ TOUCH - \ TOUCH_NOCREATE - \ TO_CMAKE_PATH - \ TO_CMAKE_PATH_LIST - \ TO_NATIVE_PATH - \ TO_NATIVE_PATH_LIST - \ UNRESOLVED_DEPENDENCIES_VAR - \ UPLOAD - \ URL - \ USERPROFILE - \ USERPWD - \ USE_SOURCE_PERMISSIONS - \ UTC - \ UTF - \ VERBOSE - \ WORLD_EXECUTE - \ WORLD_READ - \ WORLD_WRITE - \ WRITE - \ XZ - \ _FILENAMES - -syn keyword cmakeKWfind_file contained - \ BOTH - \ CATEGORY - \ CMAKE_FIND_ROOT_PATH_BOTH - \ CMAKE_FIND_USE_ - \ DOC - \ DVAR - \ FALSE - \ FIND_XXX_REGISTRY_VIEW - \ HINTS - \ HOST - \ INCLUDE - \ MATCHES - \ NAMES - \ NOT - \ NO_CACHE - \ NO_CMAKE_ENVIRONMENT_PATH - \ NO_CMAKE_FIND_ROOT_PATH - \ NO_CMAKE_INSTALL_PREFIX - \ NO_CMAKE_PATH - \ NO_CMAKE_SYSTEM_PATH - \ NO_DEFAULT_PATH - \ NO_PACKAGE_ROOT_PATH - \ NO_SYSTEM_ENVIRONMENT_PATH - \ ONLY_CMAKE_FIND_ROOT_PATH - \ PACKAGENAME - \ PARENT_SCOPE - \ PATHS - \ PATH_SUFFIXES - \ REGISTRY_VIEW - \ REQUIRED - \ TARGET - \ VALIDATOR - \ VAR - -syn keyword cmakeKWfind_library contained - \ BOTH - \ CATEGORY - \ CMAKE_FIND_ROOT_PATH_BOTH - \ CMAKE_FIND_USE_ - \ DOC - \ DVAR - \ FALSE - \ FIND_XXX_REGISTRY_VIEW - \ HINTS - \ HOST - \ LIB - \ MATCHES - \ NAMES - \ NAMES_PER_DIR - \ NOT - \ NO_CACHE - \ NO_CMAKE_ENVIRONMENT_PATH - \ NO_CMAKE_FIND_ROOT_PATH - \ NO_CMAKE_INSTALL_PREFIX - \ NO_CMAKE_PATH - \ NO_CMAKE_SYSTEM_PATH - \ NO_DEFAULT_PATH - \ NO_PACKAGE_ROOT_PATH - \ NO_SYSTEM_ENVIRONMENT_PATH - \ ONLY_CMAKE_FIND_ROOT_PATH - \ PACKAGENAME - \ PARENT_SCOPE - \ PATHS - \ PATH_SUFFIXES - \ REGISTRY_VIEW - \ REQUIRED - \ TARGET - \ VALIDATOR - \ VAR - -syn keyword cmakeKWfind_package contained - \ ABI - \ BOTH - \ BUNDLE - \ BYPASS_PROVIDER - \ CATEGORY - \ CMAKE_DISABLE_FIND_PACKAGE_ - \ CMAKE_REQUIRE_FIND_PACKAGE_ - \ CMAKE_FIND_ROOT_PATH_BOTH - \ CMAKE_FIND_USE_ - \ CMAKE_REQUIRE_FIND_PACKAGE_ - \ COMPONENTS - \ CONFIG - \ CONFIGS - \ DEC - \ DVAR - \ EXACT - \ EXCLUDE - \ FALSE - \ FIND_PACKAGE_VERSION_FORMAT - \ FRAMEWORK - \ GLOBAL - \ HINTS - \ HOST - \ INCLUDE - \ MODULE - \ NAMES - \ NATURAL - \ NO_CMAKE_BUILDS_PATH - \ NO_CMAKE_ENVIRONMENT_PATH - \ NO_CMAKE_FIND_ROOT_PATH - \ NO_CMAKE_INSTALL_PREFIX - \ NO_CMAKE_PACKAGE_REGISTRY - \ NO_CMAKE_PATH - \ NO_CMAKE_SYSTEM_PACKAGE_REGISTRY - \ NO_CMAKE_SYSTEM_PATH - \ NO_DEFAULT_PATH - \ NO_MODULE - \ NO_PACKAGE_ROOT_PATH - \ NO_POLICY_SCOPE - \ NO_SYSTEM_ENVIRONMENT_PATH - \ OLD - \ ONLY_CMAKE_FIND_ROOT_PATH - \ OPTIONAL_COMPONENTS - \ PACKAGENAME - \ PACKAGE_FIND_NAME - \ PACKAGE_FIND_VERSION - \ PACKAGE_FIND_VERSION_COMPLETE - \ PACKAGE_FIND_VERSION_COUNT - \ PACKAGE_FIND_VERSION_MAJOR - \ PACKAGE_FIND_VERSION_MAX - \ PACKAGE_FIND_VERSION_MAX_COUNT - \ PACKAGE_FIND_VERSION_MAX_MAJOR - \ PACKAGE_FIND_VERSION_MAX_MINOR - \ PACKAGE_FIND_VERSION_MAX_PATCH - \ PACKAGE_FIND_VERSION_MAX_TWEAK - \ PACKAGE_FIND_VERSION_MINOR - \ PACKAGE_FIND_VERSION_MIN_COUNT - \ PACKAGE_FIND_VERSION_MIN_MAJOR - \ PACKAGE_FIND_VERSION_MIN_MINOR - \ PACKAGE_FIND_VERSION_MIN_PATCH - \ PACKAGE_FIND_VERSION_MIN_TWEAK - \ PACKAGE_FIND_VERSION_PATCH - \ PACKAGE_FIND_VERSION_RANGE - \ PACKAGE_FIND_VERSION_RANGE_MAX - \ PACKAGE_FIND_VERSION_RANGE_MIN - \ PACKAGE_FIND_VERSION_TWEAK - \ PACKAGE_VERSION_COMPATIBLE - \ PACKAGE_VERSION_EXACT - \ PACKAGE_VERSION_UNSUITABLE - \ PATHS - \ PATH_SUFFIXES - \ QUIET - \ REGISTRY_VIEW - \ REQUIRED - \ SET - \ TARGET - \ TRUE - \ VALUE - \ _CONFIG - \ _CONSIDERED_CONFIGS - \ _CONSIDERED_VERSIONS - \ _DIR - \ _FIND_COMPONENTS - \ _FIND_QUIETLY - \ _FIND_REGISTRY_VIEW - \ _FIND_REQUIRED - \ _FIND_REQUIRED_ - \ _FIND_VERSION_EXACT - \ _FOUND - -syn keyword cmakeKWfind_path contained - \ BOTH - \ CATEGORY - \ CMAKE_FIND_ROOT_PATH_BOTH - \ CMAKE_FIND_USE_ - \ DOC - \ DVAR - \ FALSE - \ FIND_XXX_REGISTRY_VIEW - \ HINTS - \ HOST - \ INCLUDE - \ MATCHES - \ NAMES - \ NOT - \ NO_CACHE - \ NO_CMAKE_ENVIRONMENT_PATH - \ NO_CMAKE_FIND_ROOT_PATH - \ NO_CMAKE_INSTALL_PREFIX - \ NO_CMAKE_PATH - \ NO_CMAKE_SYSTEM_PATH - \ NO_DEFAULT_PATH - \ NO_PACKAGE_ROOT_PATH - \ NO_SYSTEM_ENVIRONMENT_PATH - \ ONLY_CMAKE_FIND_ROOT_PATH - \ PACKAGENAME - \ PARENT_SCOPE - \ PATHS - \ PATH_SUFFIXES - \ REGISTRY_VIEW - \ REQUIRED - \ TARGET - \ VALIDATOR - \ VAR - -syn keyword cmakeKWfind_program contained - \ BOTH - \ CATEGORY - \ CMAKE_FIND_ROOT_PATH_BOTH - \ CMAKE_FIND_USE_ - \ DOC - \ DVAR - \ FALSE - \ FIND_XXX_REGISTRY_VIEW - \ HINTS - \ HOST - \ MATCHES - \ NAMES - \ NAMES_PER_DIR - \ NOT - \ NO_CACHE - \ NO_CMAKE_ENVIRONMENT_PATH - \ NO_CMAKE_FIND_ROOT_PATH - \ NO_CMAKE_INSTALL_PREFIX - \ NO_CMAKE_PATH - \ NO_CMAKE_SYSTEM_PATH - \ NO_DEFAULT_PATH - \ NO_PACKAGE_ROOT_PATH - \ NO_SYSTEM_ENVIRONMENT_PATH - \ ONLY_CMAKE_FIND_ROOT_PATH - \ PACKAGENAME - \ PARENT_SCOPE - \ PATHS - \ PATH_SUFFIXES - \ REGISTRY_VIEW - \ REQUIRED - \ TARGET - \ VALIDATOR - \ VAR - -syn keyword cmakeKWfltk_wrap_ui contained - \ FLTK - -syn keyword cmakeKWforeach contained - \ APPEND - \ IN - \ ITEMS - \ LISTS - \ RANGE - \ STATUS - \ ZIP_LISTS - -syn keyword cmakeKWfunction contained - \ ARGC - \ ARGN - \ ARGV - \ CALL - \ FOO - \ PARENT_SCOPE - -syn keyword cmakeKWget_cmake_property contained - \ COMPONENTS - \ GLOBAL - \ MACROS - \ VARIABLES - -syn keyword cmakeKWget_directory_property contained - \ DEFINITION - \ DIRECTORY - \ INHERITED - -syn keyword cmakeKWget_filename_component contained - \ ABSOLUTE - \ BASE_DIR - \ DIRECTORY - \ EXT - \ LAST_EXT - \ NAME - \ NAME_WE - \ NAME_WLE - \ PROGRAM - \ PROGRAM_ARGS - \ QUERY - \ REALPATH - \ REAL_PATH - \ WINDOWS_REGISTRY - -syn keyword cmakeKWget_property contained - \ BRIEF_DOCS - \ DEFINED - \ DIRECTORY - \ FULL_DOCS - \ GENERATED - \ GLOBAL - \ INSTALL - \ PROPERTY - \ SET - \ SOURCE - \ TARGET - \ TARGET_DIRECTORY - \ TEST - \ VARIABLE - -syn keyword cmakeKWget_source_file_property contained - \ DIRECTORY - \ GENERATED - \ INHERITED - \ LOCATION - \ TARGET_DIRECTORY - -syn keyword cmakeKWget_target_property contained - \ INHERITED - \ VAR - -syn keyword cmakeKWget_test_property contained - \ INHERITED - \ VAR - -syn keyword cmakeKWif contained - \ CMAKE_MATCH_ - \ CMP - \ COMMAND - \ COMPARE - \ DEFINED - \ EQUAL - \ EXISTS - \ FALSE - \ GREATER - \ GREATER_EQUAL - \ IGNORE - \ IN_LIST - \ IS_ABSOLUTE - \ IS_DIRECTORY - \ IS_NEWER_THAN - \ IS_SYMLINK - \ LESS - \ LESS_EQUAL - \ MATCHES - \ NNNN - \ NOT - \ OFF - \ OR - \ PATH_EQUAL - \ POLICY - \ STREQUAL - \ STRGREATER - \ STRGREATER_EQUAL - \ STRLESS - \ STRLESS_EQUAL - \ TARGET - \ TEST - \ TRUE - \ VERSION_EQUAL - \ VERSION_GREATER - \ VERSION_GREATER_EQUAL - \ VERSION_LESS - \ VERSION_LESS_EQUAL - \ YES - -syn keyword cmakeKWinclude contained - \ NO_POLICY_SCOPE - \ OPTIONAL - \ RESULT_VARIABLE - -syn keyword cmakeKWinclude_directories contained - \ AFTER - \ BEFORE - \ INCLUDE_DIRECTORIES - \ ON - \ SYSTEM - -syn keyword cmakeKWinclude_external_msproject contained - \ GUID - \ MAP_IMPORTED_CONFIG_ - \ PLATFORM - \ TYPE - \ WIX - -syn keyword cmakeKWinclude_guard contained - \ DIRECTORY - \ GLOBAL - \ TRUE - \ __CURRENT_FILE_VAR__ - -syn keyword cmakeKWinstall contained - \ AFTER - \ AIX - \ ALL_COMPONENTS - \ APT - \ ARCHIVE - \ BEFORE - \ BUILD_TYPE - \ BUNDLE - \ BUNDLE_EXECUTABLE - \ CMAKE_INSTALL_BINDIR - \ CMAKE_INSTALL_DATADIR - \ CMAKE_INSTALL_DATAROOTDIR - \ CMAKE_INSTALL_DOCDIR - \ CMAKE_INSTALL_INCLUDEDIR - \ CMAKE_INSTALL_INFODIR - \ CMAKE_INSTALL_LIBDIR - \ CMAKE_INSTALL_LOCALEDIR - \ CMAKE_INSTALL_LOCALSTATEDIR - \ CMAKE_INSTALL_MANDIR - \ CMAKE_INSTALL_MODE - \ CMAKE_INSTALL_RUNSTATEDIR - \ CMAKE_INSTALL_SBINDIR - \ CMAKE_INSTALL_SHARESTATEDIR - \ CMAKE_INSTALL_SYSCONFDIR - \ CODE - \ COMPONENT - \ CONFIGURATIONS - \ CVS - \ CXX_MODULES_BMI - \ CXX_MODULES_DIRECTORY - \ DATA - \ DATAROOT - \ DBUILD_TYPE - \ DCOMPONENT - \ DESTDIR - \ DESTINATION - \ DIRECTORY - \ DIRECTORY_PERMISSIONS - \ DLL - \ DOC - \ ENABLE_EXPORTS - \ EXCLUDE_FROM_ALL - \ EXECUTABLES - \ EXPORT - \ EXPORT_ANDROID_MK - \ EXPORT_LINK_INTERFACE_LIBRARIES - \ EXPORT_NAME - \ FILES - \ FILES_MATCHING - \ FILE_PERMISSIONS - \ FILE_SET - \ FRAMEWORK - \ GET_RUNTIME_DEPENDENCIES - \ GROUP_EXECUTE - \ GROUP_READ - \ GROUP_WRITE - \ HEADERS - \ IMPORTED_RUNTIME_ARTIFACTS - \ INCLUDES - \ INFO - \ INSTALL_PREFIX - \ INTERFACE - \ INTERFACE_INCLUDE_DIRECTORIES - \ LIBRARY - \ LOCALE - \ LOCALSTATE - \ MACOSX_BUNDLE - \ MAN - \ MESSAGE_NEVER - \ NAMELINK_COMPONENT - \ NAMELINK_ONLY - \ NAMELINK_SKIP - \ NAMESPACE - \ NDK - \ OBJECTS - \ OPTIONAL - \ OWNER_EXECUTE - \ OWNER_READ - \ OWNER_WRITE - \ PATTERN - \ PERMISSIONS - \ POST_EXCLUDE_FILES - \ POST_EXCLUDE_REGEXES - \ POST_INCLUDE_FILES - \ POST_INCLUDE_REGEXES - \ POST_INSTALL_SCRIPT - \ PRE_EXCLUDE_REGEXES - \ PRE_INCLUDE_REGEXES - \ PRE_INSTALL_SCRIPT - \ PRIVATE_HEADER - \ PROGRAMS - \ PROPERTIES - \ PUBLIC_HEADER - \ RENAME - \ RESOURCE - \ RPM - \ RUNSTATE - \ RUNTIME_DEPENDENCIES - \ RUNTIME_DEPENDENCY_SET - \ SBIN - \ SCRIPT - \ SETGID - \ SETUID - \ SHAREDSTATE - \ SOVERSION - \ STATIC - \ SYSCONF - \ TARGETS - \ TRUE - \ TYPE - \ USE_SOURCE_PERMISSIONS - \ VERSION - \ WORLD_EXECUTE - \ WORLD_READ - \ WORLD_WRITE - -syn keyword cmakeKWinstall_files contained - \ FILES - \ GLOB - -syn keyword cmakeKWinstall_programs contained - \ FILES - \ GLOB - \ PROGRAMS - \ TARGETS - -syn keyword cmakeKWinstall_targets contained - \ DLL - \ RUNTIME_DIRECTORY - -syn keyword cmakeKWlink_directories contained - \ AFTER - \ BEFORE - \ LINK_DIRECTORIES - \ ON - \ ORIGIN - \ RPATH - -syn keyword cmakeKWlist contained - \ ACTION - \ APPEND - \ ASCENDING - \ CASE - \ COMPARE - \ DESCENDING - \ EXCLUDE - \ FILE_BASENAME - \ FILTER - \ FIND - \ GENEX_STRIP - \ GET - \ INCLUDE - \ INSENSITIVE - \ INSERT - \ INTERNAL - \ JOIN - \ LENGTH - \ NATURAL - \ ORDER - \ OUTPUT_VARIABLE - \ PARENT_SCOPE - \ POP_BACK - \ POP_FRONT - \ PREPEND - \ REGEX - \ REMOVE_AT - \ REMOVE_DUPLICATES - \ REMOVE_ITEM - \ REPLACE - \ REVERSE - \ SELECTOR - \ SENSITIVE - \ SORT - \ STRING - \ STRIP - \ SUBLIST - \ TOLOWER - \ TOUPPER - \ TRANSFORM - \ TRANSFORM_APPEND - \ TRANSFORM_GENEX_STRIP - \ TRANSFORM_REPLACE - \ TRANSFORM_STRIP - \ TRANSFORM_TOLOWER - -syn keyword cmakeKWload_cache contained - \ EXCLUDE - \ INCLUDE_INTERNALS - \ READ_WITH_PREFIX - -syn keyword cmakeKWload_command contained - \ CMAKE_LOADED_COMMAND_ - \ COMMAND_NAME - -syn keyword cmakeKWmacro contained - \ ARGC - \ ARGN - \ ARGV - \ CALL - \ DEFINED - \ FOO - \ GREATER - \ LISTS - \ NOT - -syn keyword cmakeKWmark_as_advanced contained - \ CLEAR - \ FORCE - -syn keyword cmakeKWmath contained - \ EXPR - \ HEXADECIMAL - \ OUTPUT_FORMAT - -syn keyword cmakeKWmessage contained - \ APPEND - \ AUTHOR_WARNING - \ CHECK_ - \ CHECK_FAIL - \ CHECK_PASS - \ CHECK_START - \ CONFIGURE_LOG - \ DEBUG - \ DEFINED - \ DEPRECATION - \ FATAL_ERROR - \ GET_MESSAGE_LOG_LEVEL - \ GUI - \ INTERNAL - \ MY_CHECK_RESULT - \ NOTICE - \ POP_BACK - \ SEND_ERROR - \ STATUS - \ TRACE - \ VERBOSE - \ WARNING - -syn keyword cmakeKWoption contained - \ OFF - -syn keyword cmakeKWproject contained - \ ASM - \ ASM_MARMASM - \ ASM_MASM - \ ASM_NASM - \ ATT - \ CMAKE_PROJECT_ - \ CUDA - \ DESCRIPTION - \ HIP - \ HOMEPAGE_URL - \ ISPC - \ LANGUAGES - \ NAME - \ NONE - \ OBJC - \ OBJCXX - \ PROJECT - \ VERSION - \ _BINARY_DIR - \ _DESCRIPTION - \ _HOMEPAGE_URL - \ _INCLUDE_BEFORE - \ _IS_TOP_LEVEL - \ _SOURCE_DIR - \ _VERSION - \ _VERSION_MAJOR - \ _VERSION_MINOR - \ _VERSION_PATCH - \ _VERSION_TWEAK - -syn keyword cmakeKWqt_wrap_cpp contained - \ AUTOMOC - -syn keyword cmakeKWqt_wrap_ui contained - \ AUTOUIC - -syn keyword cmakeKWremove contained - \ VALUE - \ VAR - -syn keyword cmakeKWreturn contained - \ DEFER - \ PARENT_SCOPE - \ PROPAGATE - \ SCOPE_FOR - \ VARIABLES - \ VERSION - -syn keyword cmakeKWseparate_arguments contained - \ MSDN - \ NATIVE_COMMAND - \ PROGRAM - \ SEPARATE_ARGS - \ UNIX_COMMAND - \ WINDOWS_COMMAND - -syn keyword cmakeKWset contained - \ BOOL - \ FILEPATH - \ FORCE - \ INTERNAL - \ OFF - \ OLD - \ ON - \ PARENT_SCOPE - \ PROPAGATE - \ STRING - \ STRINGS - \ VAR - -syn keyword cmakeKWset_directory_properties contained - \ DIRECTORY - \ PROPERTIES - -syn keyword cmakeKWset_property contained - \ APPEND - \ APPEND_STRING - \ DIRECTORY - \ GENERATED - \ GLOBAL - \ INHERITED - \ INSTALL - \ NAME - \ PROPERTY - \ SOURCE - \ TARGET - \ TARGET_DIRECTORY - \ TEST - \ WIX - -syn keyword cmakeKWset_source_files_properties contained - \ DIRECTORY - \ GENERATED - \ PROPERTIES - \ SOURCE - \ TARGET_DIRECTORY - -syn keyword cmakeKWset_target_properties contained - \ PROPERTIES - -syn keyword cmakeKWset_tests_properties contained - \ NAME - \ PROPERTIES - -syn keyword cmakeKWsite_name contained - \ HOSTNAME - -syn keyword cmakeKWsource_group contained - \ FILES - \ PREFIX - \ REGULAR_EXPRESSION - \ TREE - -syn keyword cmakeKWstring contained - \ ALPHABET - \ APPEND - \ ARRAY - \ ASCII - \ BOOLEAN - \ CMAKE_MATCH_ - \ COMPARE - \ CONCAT - \ CONFIGURE - \ EQUAL - \ ERROR_VARIABLE - \ ESCAPE_QUOTES - \ FIND - \ GENEX_STRIP - \ GET - \ GREATER - \ GREATER_EQUAL - \ GUID - \ HASH - \ HEX - \ ISO - \ JOIN - \ JSON - \ LENGTH - \ LESS - \ LESS_EQUAL - \ MAKE_C_IDENTIFIER - \ MATCH - \ MATCHALL - \ MATCHES - \ MEMBER - \ NAMESPACE - \ NOTEQUAL - \ NULL - \ NUMBER - \ OBJECT - \ OFF - \ ONLY - \ PREPEND - \ RANDOM - \ RANDOM_SEED - \ REGEX - \ REMOVE - \ REPEAT - \ REPLACE - \ REVERSE - \ RFC - \ SET - \ SHA - \ SOURCE_DATE_EPOCH - \ STRIP - \ SUBSTRING - \ SZ - \ TIMESTAMP - \ TOLOWER - \ TOUPPER - \ TYPE - \ US - \ UTC - \ UUID - -syn keyword cmakeKWsubdirs contained - \ EXCLUDE_FROM_ALL - \ PREORDER - -syn keyword cmakeKWtarget_compile_definitions contained - \ ALIAS - \ COMPILE_DEFINITIONS - \ FOO - \ IMPORTED - \ INTERFACE - \ INTERFACE_COMPILE_DEFINITIONS - \ PRIVATE - \ PUBLIC - -syn keyword cmakeKWtarget_compile_features contained - \ ALIAS - \ COMPILE_FEATURES - \ IMPORTED - \ INTERFACE - \ INTERFACE_COMPILE_FEATURES - \ PRIVATE - \ PUBLIC - -syn keyword cmakeKWtarget_compile_options contained - \ ALIAS - \ BEFORE - \ CMAKE_ - \ COMPILE_LANGUAGE - \ COMPILE_OPTIONS - \ CONFIG - \ IMPORTED - \ INTERFACE - \ INTERFACE_COMPILE_OPTIONS - \ PRIVATE - \ PUBLIC - \ SHELL - \ UNIX_COMMAND - \ _FLAGS - \ _FLAGS_ - -syn keyword cmakeKWtarget_include_directories contained - \ AFTER - \ ALIAS - \ BEFORE - \ BUILD_INTERFACE - \ IMPORTED - \ INCLUDE_DIRECTORIES - \ INSTALL_INTERFACE - \ INTERFACE - \ INTERFACE_INCLUDE_DIRECTORIES - \ INTERFACE_LINK_LIBRARIES - \ INTERFACE_SYSTEM_INCLUDE_DIRECTORIES - \ PRIVATE - \ PUBLIC - \ SYSTEM - -syn keyword cmakeKWtarget_link_directories contained - \ ALIAS - \ BEFORE - \ IMPORTED - \ INTERFACE - \ INTERFACE_LINK_DIRECTORIES - \ LINK_DIRECTORIES - \ ORIGIN - \ PRIVATE - \ PUBLIC - \ RPATH - -syn keyword cmakeKWtarget_link_libraries contained - \ ALIAS - \ DA - \ DAG - \ DEBUG_CONFIGURATIONS - \ DOBJ - \ IMPORTED - \ IMPORTED_NO_SONAME - \ INTERFACE - \ INTERFACE_LINK_LIBRARIES - \ LINK_FLAGS - \ LINK_INTERFACE_LIBRARIES - \ LINK_INTERFACE_LIBRARIES_DEBUG - \ LINK_INTERFACE_MULTIPLICITY - \ LINK_OPTIONS - \ LINK_PRIVATE - \ LINK_PUBLIC - \ OBJECT - \ OLD - \ PRIVATE - \ PUBLIC - \ SHARED - \ STATIC - \ TARGET_OBJECTS - -syn keyword cmakeKWtarget_link_options contained - \ ALIAS - \ BEFORE - \ CMAKE_ - \ CONFIG - \ CUDA_RESOLVE_DEVICE_SYMBOLS - \ CUDA_SEPARABLE_COMPILATION - \ DEVICE_LINK - \ GCC - \ HOST_LINK - \ IMPORTED - \ INTERFACE - \ INTERFACE_LINK_OPTIONS - \ LANG - \ LINKER - \ LINK_OPTIONS - \ PRIVATE - \ PUBLIC - \ SHELL - \ STATIC_LIBRARY_OPTIONS - \ UNIX_COMMAND - \ _FLAGS - \ _FLAGS_ - \ _LINKER_WRAPPER_FLAG - \ _LINKER_WRAPPER_FLAG_SEP - -syn keyword cmakeKWtarget_precompile_headers contained - \ ALIAS - \ ANGLE - \ BUILD_INTERFACE - \ COMPILE_LANGUAGE - \ DISABLE_PRECOMPILE_HEADERS - \ EXPORT - \ FI - \ GCC - \ IMPORTED - \ INTERFACE - \ INTERFACE_PRECOMPILE_HEADERS - \ PRECOMPILE_HEADERS - \ PRECOMPILE_HEADERS_REUSE_FROM - \ PRIVATE - \ PUBLIC - \ REUSE_FROM - \ SKIP_PRECOMPILE_HEADERS - -syn keyword cmakeKWtarget_sources contained - \ ALIAS - \ BASE_DIRS - \ BUILD_INTERFACE - \ CONFIG - \ CORRECT - \ CXX_MODULES - \ CXX_MODULE_DIRS - \ CXX_MODULE_DIRS_ - \ CXX_MODULE_SETS - \ CXX_MODULE_SET_ - \ EXPORT - \ FILES - \ FILE_SET - \ FRAMEWORK - \ HEADERS - \ HEADER_DIRS - \ HEADER_DIRS_ - \ HEADER_FILE_ONLY - \ HEADER_SETS - \ HEADER_SET_ - \ IMPORTED - \ INCLUDE_DIRECTORIES - \ INTERFACE - \ INTERFACE_CXX_MODULE_SETS - \ INTERFACE_HEADER_SETS - \ INTERFACE_INCLUDE_DIRECTORIES - \ INTERFACE_SOURCES - \ NAME - \ PRIVATE - \ PUBLIC - \ SOURCES - \ SOURCE_DIR - \ TARGETS - \ TRUE - \ TYPE - \ WRONG - -syn keyword cmakeKWtry_compile contained - \ ALL_BUILD - \ BINARY_DIR - \ CMAKE_FLAGS - \ COMPILE_DEFINITIONS - \ COPY_FILE - \ COPY_FILE_ERROR - \ CUDA_EXTENSIONS - \ CUDA_STANDARD - \ CUDA_STANDARD_REQUIRED - \ CXX_EXTENSIONS - \ CXX_STANDARD - \ CXX_STANDARD_REQUIRED - \ C_EXTENSIONS - \ C_STANDARD - \ C_STANDARD_REQUIRED - \ DEFINED - \ DLINK_LIBRARIES - \ DVAR - \ EXECUTABLE - \ FALSE - \ GHS - \ HIP_EXTENSIONS - \ HIP_STANDARD - \ HIP_STANDARD_REQUIRED - \ INCLUDE_DIRECTORIES - \ LANG - \ LINK_DIRECTORIES - \ LINK_LIBRARIES - \ LINK_OPTIONS - \ LOG_DESCRIPTION - \ MULTI - \ NOT - \ NO_CACHE - \ NO_LOG - \ OBJCXX_EXTENSIONS - \ OBJCXX_STANDARD - \ OBJCXX_STANDARD_REQUIRED - \ OBJC_EXTENSIONS - \ OBJC_STANDARD - \ OBJC_STANDARD_REQUIRED - \ OUTPUT_VARIABLE - \ PRIVATE - \ PROJECT - \ RESULTVAR - \ SOURCES - \ SOURCE_DIR - \ SOURCE_FROM_CONTENT - \ SOURCE_FROM_FILE - \ SOURCE_FROM_VAR - \ STATIC_LIBRARY - \ STATIC_LIBRARY_OPTIONS - \ TARGET - \ TRUE - \ TYPE - \ VALUE - \ _EXTENSIONS - \ _STANDARD - \ _STANDARD_REQUIRED - -syn keyword cmakeKWtry_run contained - \ ARGS - \ CMAKE_FLAGS - \ COMPILE_DEFINITIONS - \ COMPILE_OUTPUT_VARIABLE - \ COPY_FILE - \ COPY_FILE_ERROR - \ FAILED_TO_RUN - \ FALSE - \ LANG - \ LINK_LIBRARIES - \ LINK_OPTIONS - \ LOG_DESCRIPTION - \ NO_CACHE - \ NO_LOG - \ RUN_OUTPUT_STDERR_VARIABLE - \ RUN_OUTPUT_STDOUT_VARIABLE - \ RUN_OUTPUT_VARIABLE - \ SOURCES - \ SOURCE_FROM_CONTENT - \ SOURCE_FROM_FILE - \ SOURCE_FROM_VAR - \ TRUE - \ WORKING_DIRECTORY - \ _EXTENSIONS - \ _STANDARD - \ _STANDARD_REQUIRED - \ __TRYRUN_OUTPUT - -syn keyword cmakeKWunset contained - \ PARENT_SCOPE - \ VAR - -syn keyword cmakeKWuse_mangled_mesa contained - \ GL - \ OUTPUT_DIRECTORY - \ PATH_TO_MESA - -syn keyword cmakeKWvariable_requires contained - \ RESULT_VARIABLE - \ TEST_VARIABLE - -syn keyword cmakeKWvariable_watch contained - \ APPEND - \ COMMAND - \ DEFINED - \ MODIFIED_ACCESS - \ READ_ACCESS - \ REMOVED_ACCESS - \ UNKNOWN_MODIFIED_ACCESS - \ UNKNOWN_READ_ACCESS - -syn keyword cmakeKWwrite_file contained - \ APPEND - \ CONFIGURE_FILE - \ NOTE - \ WRITE - - -syn keyword cmakeGeneratorExpressions contained - \ ABSOLUTE_PATH - \ ACTION - \ AIX - \ ANGLE - \ APPEND - \ ARCHIVE_OUTPUT_NAME - \ ARCHIVE_OUTPUT_NAME_ - \ ASCENDING - \ BAR - \ BOOL - \ BUILD_INTERFACE - \ BUILD_LOCAL_INTERFACE - \ CMAKE_LINK_GROUP_USING_ - \ CMAKE_LINK_LIBRARY_USING_ - \ CMAKE_PATH - \ CODE - \ COMMAND_CONFIG - \ COMMAND_EXPAND_LISTS - \ COMPARE - \ COMPILE_DEFINITIONS - \ COMPILE_FEATURES - \ COMPILE_LANGUAGE - \ COMPILE_LANG_AND_ID - \ COMPILE_ONLY - \ COMPILING_CUDA - \ COMPILING_CXX - \ COMPILING_CXX_WITH_CLANG - \ COMPILING_CXX_WITH_INTEL - \ COMPILING_C_WITH_CLANG - \ CONFIG - \ CONFIGURATION - \ CONTENT - \ CUDA_COMPILER_ID - \ CUDA_COMPILER_VERSION - \ CUDA_RESOLVE_DEVICE_SYMBOLS - \ CUDA_SEPARABLE_COMPILATION - \ CUSTOM_KEYS - \ CXX_COMPILER_ID - \ CXX_COMPILER_VERSION - \ CXX_CONFIG - \ CXX_STANDARD - \ C_COMPILER_ID - \ C_COMPILER_VERSION - \ C_STANDARD - \ DEBUG_MODE - \ DEBUG_POSTFIX - \ DENABLE_SOME_FEATURE - \ DESCENDING - \ DEVICE_LINK - \ DLL - \ ENABLE_EXPORTS - \ EXCLUDE - \ EXPORT - \ EXTENSION_DEF - \ FALSE - \ FILENAME_DEF - \ FILE_BASENAME - \ FILTER - \ FIND - \ FOO_EXTRA_THINGS - \ GENERATE - \ GENEX_EVAL - \ GET_EXTENSION - \ GET_FILENAME - \ GET_PARENT_PATH - \ GET_RELATIVE_PART - \ GET_ROOT_DIRECTORY - \ GET_ROOT_NAME - \ GET_ROOT_PATH - \ GET_STEM - \ HAS_ - \ HAS_EXTENSION - \ HAS_FILENAME - \ HAS_PARENT_PATH - \ HAS_RELATIVE_PART - \ HAS_ROOT_DIRECTORY - \ HAS_ROOT_NAME - \ HAS_ROOT_PATH - \ HAS_STEM - \ HAVE_SOME_FEATURE - \ HIP_COMPILER_ID - \ HIP_COMPILER_VERSION - \ HIP_STANDARD - \ HOST_LINK - \ IF - \ IGNORE - \ IMPORTED_LOCATION - \ IMPORT_PREFIX - \ IMPORT_SUFFIX - \ INCLUDE_DIRECTORIES - \ INSENSITIVE - \ INSERT - \ INSTALL_INTERFACE - \ INSTALL_NAME_DIR - \ INSTALL_PREFIX - \ INSTALL_RPATH - \ INTERFACE_LINK_LIBRARIES - \ INTERFACE_LINK_LIBRARIES_DIRECT - \ IN_LIST - \ ISPC_COMPILER_ID - \ ISPC_COMPILER_VERSION - \ IS_ABSOLUTE - \ IS_PREFIX - \ IS_RELATIVE - \ JOIN - \ LANG - \ LANG_COMPILER_ID - \ LAST_ONLY - \ LENGTH - \ LIBRARY_OUTPUT_NAME - \ LIBRARY_OUTPUT_NAME_ - \ LINK_GROUP - \ LINK_GROUP_PREDEFINED_FEATURES - \ LINK_LANGUAGE - \ LINK_LANG_AND_ID - \ LINK_LIBRARIES - \ LINK_LIBRARY - \ LINK_LIBRARY_OVERRIDE - \ LINK_LIBRARY_OVERRIDE_ - \ LINK_LIBRARY_PREDEFINED_FEATURES - \ LINK_ONLY - \ LOWER_CASE - \ MAKE_C_IDENTIFIER - \ MAP_IMPORTED_CONFIG_ - \ MODULE - \ NATURAL - \ NO - \ NORMALIZE - \ NORMAL_PATH - \ NOT - \ OBJCXX_COMPILER_ID - \ OBJCXX_COMPILER_VERSION - \ OBJC_COMPILER_ID - \ OBJC_COMPILER_VERSION - \ OBJECT - \ OFF - \ OLD_COMPILER - \ ORDER - \ OUTPUT - \ OUTPUT_CONFIG - \ OUTPUT_NAME - \ OUTPUT_NAME_ - \ PATH - \ PATH_EQUAL - \ PDB_NAME - \ PDB_NAME_ - \ PDB_OUTPUT_DIRECTORY - \ PDB_OUTPUT_DIRECTORY_ - \ PLATFORM_ID - \ POP_BACK - \ POP_FRONT - \ POSIX - \ POST_BUILD - \ PREPEND - \ PRIVATE - \ PUBLIC - \ REGEX - \ RELATIVE_PATH - \ REMOVE_AT - \ REMOVE_DUPLICATES - \ REMOVE_EXTENSION - \ REMOVE_FILENAME - \ REMOVE_ITEM - \ REPLACE - \ REPLACE_EXTENSION - \ REPLACE_FILENAME - \ REQUIRED - \ RESCAN - \ REVERSE - \ RPATH - \ RUNTIME_DEPENDENCY_SET - \ RUNTIME_OUTPUT_NAME - \ RUNTIME_OUTPUT_NAME_ - \ SCRIPT - \ SDK - \ SELECTOR - \ SEMICOLON - \ SENSITIVE - \ SHARED - \ SHELL_PATH - \ SORT - \ STATIC - \ STREQUAL - \ STRING - \ STRIP - \ SUBLIST - \ TARGET_BUNDLE_CONTENT_DIR - \ TARGET_BUNDLE_DIR - \ TARGET_BUNDLE_DIR_NAME - \ TARGET_EXISTS - \ TARGET_FILE - \ TARGET_FILE_BASE_NAME - \ TARGET_FILE_DIR - \ TARGET_FILE_NAME - \ TARGET_FILE_PREFIX - \ TARGET_FILE_SUFFIX - \ TARGET_GENEX_EVAL - \ TARGET_IMPORT_FILE - \ TARGET_IMPORT_FILE_BASE_NAME - \ TARGET_IMPORT_FILE_DIR - \ TARGET_IMPORT_FILE_NAME - \ TARGET_IMPORT_FILE_PREFIX - \ TARGET_IMPORT_FILE_SUFFIX - \ TARGET_LINKER_FILE - \ TARGET_LINKER_FILE_BASE_NAME - \ TARGET_LINKER_FILE_DIR - \ TARGET_LINKER_FILE_NAME - \ TARGET_LINKER_FILE_PREFIX - \ TARGET_LINKER_FILE_SUFFIX - \ TARGET_LINKER_IMPORT_FILE - \ TARGET_LINKER_IMPORT_FILE_BASE_NAME - \ TARGET_LINKER_IMPORT_FILE_DIR - \ TARGET_LINKER_IMPORT_FILE_NAME - \ TARGET_LINKER_IMPORT_FILE_PREFIX - \ TARGET_LINKER_IMPORT_FILE_SUFFIX - \ TARGET_LINKER_LIBRARY_FILE - \ TARGET_LINKER_LIBRARY_FILE_BASE_NAME - \ TARGET_LINKER_LIBRARY_FILE_DIR - \ TARGET_LINKER_LIBRARY_FILE_NAME - \ TARGET_LINKER_LIBRARY_FILE_PREFIX - \ TARGET_LINKER_LIBRARY_FILE_SUFFIX - \ TARGET_NAME_IF_EXISTS - \ TARGET_OBJECTS - \ TARGET_PDB_FILE - \ TARGET_PDB_FILE_BASE_NAME - \ TARGET_PDB_FILE_DIR - \ TARGET_PDB_FILE_NAME - \ TARGET_POLICY - \ TARGET_PROPERTY - \ TARGET_RUNTIME_DLLS - \ TARGET_RUNTIME_DLL_DIRS - \ TARGET_SONAME_FILE - \ TARGET_SONAME_FILE_DIR - \ TARGET_SONAME_FILE_NAME - \ TARGET_SONAME_IMPORT_FILE - \ TARGET_SONAME_IMPORT_FILE_DIR - \ TARGET_SONAME_IMPORT_FILE_NAME - \ TOLOWER - \ TOUPPER - \ TRANSFORM - \ TRANSFORM_APPEND - \ TRANSFORM_REPLACE - \ TRANSFORM_STRIP - \ TRANSFORM_TOLOWER - \ UNKNOWN - \ UPPER_CASE - \ VERBATIM - \ VERSION_EQUAL - \ VERSION_GREATER_EQUAL - \ VERSION_LESS - \ VERSION_LESS_EQUAL - \ WHOLE_ARCHIVE - \ WRONG - \ _LINK_GROUP_USING_ - \ _LINK_LIBRARY_USING_ - \ _POSTFIX - \ _SUPPORTED - -syn case ignore - -syn keyword cmakeCommand - \ add_compile_definitions - \ add_compile_options - \ add_custom_command - \ add_custom_target - \ add_definitions - \ add_dependencies - \ add_executable - \ add_library - \ add_link_options - \ add_subdirectory - \ add_test - \ aux_source_directory - \ block - \ break - \ build_command - \ cmake_file_api - \ cmake_host_system_information - \ cmake_language - \ cmake_minimum_required - \ cmake_parse_arguments - \ cmake_path - \ cmake_policy - \ configure_file - \ continue - \ create_test_sourcelist - \ ctest_build - \ ctest_configure - \ ctest_coverage - \ ctest_empty_binary_directory - \ ctest_memcheck - \ ctest_read_custom_files - \ ctest_run_script - \ ctest_sleep - \ ctest_start - \ ctest_submit - \ ctest_test - \ ctest_update - \ ctest_upload - \ define_property - \ enable_language - \ enable_testing - \ endblock - \ endfunction - \ endmacro - \ execute_process - \ export - \ file - \ find_file - \ find_library - \ find_package - \ find_path - \ find_program - \ fltk_wrap_ui - \ function - \ get_cmake_property - \ get_directory_property - \ get_filename_component - \ get_property - \ get_source_file_property - \ get_target_property - \ get_test_property - \ include - \ include_directories - \ include_external_msproject - \ include_guard - \ include_regular_expression - \ install - \ link_directories - \ list - \ load_cache - \ load_command - \ macro - \ mark_as_advanced - \ math - \ message - \ option - \ project - \ qt_wrap_cpp - \ qt_wrap_ui - \ remove_definitions - \ return - \ separate_arguments - \ set - \ set_directory_properties - \ set_property - \ set_source_files_properties - \ set_target_properties - \ set_tests_properties - \ site_name - \ source_group - \ string - \ target_compile_definitions - \ target_compile_features - \ target_compile_options - \ target_include_directories - \ target_link_directories - \ target_link_libraries - \ target_link_options - \ target_precompile_headers - \ target_sources - \ try_compile - \ try_run - \ unset - \ variable_watch - \ nextgroup=cmakeArguments - -syn keyword cmakeCommandConditional - \ else - \ elseif - \ endif - \ if - \ nextgroup=cmakeArguments - -syn keyword cmakeCommandRepeat - \ endforeach - \ endwhile - \ foreach - \ while - \ nextgroup=cmakeArguments - -syn keyword cmakeCommandDeprecated - \ build_name - \ exec_program - \ export_library_dependencies - \ install_files - \ install_programs - \ install_targets - \ link_libraries - \ make_directory - \ output_required_files - \ remove - \ subdir_depends - \ subdirs - \ use_mangled_mesa - \ utility_source - \ variable_requires - \ write_file - \ nextgroup=cmakeArguments - -syn case match - -syn keyword cmakeTodo - \ TODO FIXME XXX - \ contained - -hi def link cmakeBracketArgument String -hi def link cmakeBracketComment Comment -hi def link cmakeCommand Function -hi def link cmakeCommandConditional Conditional -hi def link cmakeCommandDeprecated WarningMsg -hi def link cmakeCommandRepeat Repeat -hi def link cmakeComment Comment -hi def link cmakeEnvironment Special -hi def link cmakeEscaped Special -hi def link cmakeGeneratorExpression WarningMsg -hi def link cmakeGeneratorExpressions Constant -hi def link cmakeModule Include -hi def link cmakeProperty Constant -hi def link cmakeRegistry Underlined -hi def link cmakeString String -hi def link cmakeTodo TODO -hi def link cmakeVariableValue Type -hi def link cmakeVariable Identifier - -hi def link cmakeKWExternalProject ModeMsg -hi def link cmakeKWFetchContent ModeMsg -hi def link cmakeKWadd_compile_definitions ModeMsg -hi def link cmakeKWadd_compile_options ModeMsg -hi def link cmakeKWadd_custom_command ModeMsg -hi def link cmakeKWadd_custom_target ModeMsg -hi def link cmakeKWadd_definitions ModeMsg -hi def link cmakeKWadd_dependencies ModeMsg -hi def link cmakeKWadd_executable ModeMsg -hi def link cmakeKWadd_library ModeMsg -hi def link cmakeKWadd_link_options ModeMsg -hi def link cmakeKWadd_subdirectory ModeMsg -hi def link cmakeKWadd_test ModeMsg -hi def link cmakeKWblock ModeMsg -hi def link cmakeKWbuild_command ModeMsg -hi def link cmakeKWcmake_file_api ModeMsg -hi def link cmakeKWcmake_host_system_information ModeMsg -hi def link cmakeKWcmake_language ModeMsg -hi def link cmakeKWcmake_minimum_required ModeMsg -hi def link cmakeKWcmake_parse_arguments ModeMsg -hi def link cmakeKWcmake_path ModeMsg -hi def link cmakeKWcmake_policy ModeMsg -hi def link cmakeKWconfigure_file ModeMsg -hi def link cmakeKWcreate_test_sourcelist ModeMsg -hi def link cmakeKWctest_build ModeMsg -hi def link cmakeKWctest_configure ModeMsg -hi def link cmakeKWctest_coverage ModeMsg -hi def link cmakeKWctest_memcheck ModeMsg -hi def link cmakeKWctest_run_script ModeMsg -hi def link cmakeKWctest_start ModeMsg -hi def link cmakeKWctest_submit ModeMsg -hi def link cmakeKWctest_test ModeMsg -hi def link cmakeKWctest_update ModeMsg -hi def link cmakeKWctest_upload ModeMsg -hi def link cmakeKWdefine_property ModeMsg -hi def link cmakeKWdoxygen_add_docs ModeMsg -hi def link cmakeKWenable_language ModeMsg -hi def link cmakeKWenable_testing ModeMsg -hi def link cmakeKWexec_program ModeMsg -hi def link cmakeKWexecute_process ModeMsg -hi def link cmakeKWexport ModeMsg -hi def link cmakeKWexport_library_dependencies ModeMsg -hi def link cmakeKWfile ModeMsg -hi def link cmakeKWfind_file ModeMsg -hi def link cmakeKWfind_library ModeMsg -hi def link cmakeKWfind_package ModeMsg -hi def link cmakeKWfind_path ModeMsg -hi def link cmakeKWfind_program ModeMsg -hi def link cmakeKWfltk_wrap_ui ModeMsg -hi def link cmakeKWforeach ModeMsg -hi def link cmakeKWfunction ModeMsg -hi def link cmakeKWget_cmake_property ModeMsg -hi def link cmakeKWget_directory_property ModeMsg -hi def link cmakeKWget_filename_component ModeMsg -hi def link cmakeKWget_property ModeMsg -hi def link cmakeKWget_source_file_property ModeMsg -hi def link cmakeKWget_target_property ModeMsg -hi def link cmakeKWget_test_property ModeMsg -hi def link cmakeKWif ModeMsg -hi def link cmakeKWinclude ModeMsg -hi def link cmakeKWinclude_directories ModeMsg -hi def link cmakeKWinclude_external_msproject ModeMsg -hi def link cmakeKWinclude_guard ModeMsg -hi def link cmakeKWinstall ModeMsg -hi def link cmakeKWinstall_files ModeMsg -hi def link cmakeKWinstall_programs ModeMsg -hi def link cmakeKWinstall_targets ModeMsg -hi def link cmakeKWlink_directories ModeMsg -hi def link cmakeKWlist ModeMsg -hi def link cmakeKWload_cache ModeMsg -hi def link cmakeKWload_command ModeMsg -hi def link cmakeKWmacro ModeMsg -hi def link cmakeKWmark_as_advanced ModeMsg -hi def link cmakeKWmath ModeMsg -hi def link cmakeKWmessage ModeMsg -hi def link cmakeKWoption ModeMsg -hi def link cmakeKWproject ModeMsg -hi def link cmakeKWqt_wrap_cpp ModeMsg -hi def link cmakeKWqt_wrap_ui ModeMsg -hi def link cmakeKWremove ModeMsg -hi def link cmakeKWreturn ModeMsg -hi def link cmakeKWseparate_arguments ModeMsg -hi def link cmakeKWset ModeMsg -hi def link cmakeKWset_directory_properties ModeMsg -hi def link cmakeKWset_property ModeMsg -hi def link cmakeKWset_source_files_properties ModeMsg -hi def link cmakeKWset_target_properties ModeMsg -hi def link cmakeKWset_tests_properties ModeMsg -hi def link cmakeKWsite_name ModeMsg -hi def link cmakeKWsource_group ModeMsg -hi def link cmakeKWstring ModeMsg -hi def link cmakeKWsubdirs ModeMsg -hi def link cmakeKWtarget_compile_definitions ModeMsg -hi def link cmakeKWtarget_compile_features ModeMsg -hi def link cmakeKWtarget_compile_options ModeMsg -hi def link cmakeKWtarget_include_directories ModeMsg -hi def link cmakeKWtarget_link_directories ModeMsg -hi def link cmakeKWtarget_link_libraries ModeMsg -hi def link cmakeKWtarget_link_options ModeMsg -hi def link cmakeKWtarget_precompile_headers ModeMsg -hi def link cmakeKWtarget_sources ModeMsg -hi def link cmakeKWtry_compile ModeMsg -hi def link cmakeKWtry_run ModeMsg -hi def link cmakeKWunset ModeMsg -hi def link cmakeKWuse_mangled_mesa ModeMsg -hi def link cmakeKWvariable_requires ModeMsg -hi def link cmakeKWvariable_watch ModeMsg -hi def link cmakeKWwrite_file ModeMsg - -" Manually added - difficult to parse out of documentation -syn case ignore - -syn keyword cmakeCommandManuallyAdded - \ configure_package_config_file write_basic_package_version_file - \ nextgroup=cmakeArguments - -syn case match - -syn keyword cmakeKWconfigure_package_config_file contained - \ INSTALL_DESTINATION PATH_VARS NO_SET_AND_CHECK_MACRO NO_CHECK_REQUIRED_COMPONENTS_MACRO INSTALL_PREFIX - -syn keyword cmakeKWconfigure_package_config_file_constants contained - \ AnyNewerVersion SameMajorVersion SameMinorVersion ExactVersion - -syn keyword cmakeKWwrite_basic_package_version_file contained - \ VERSION COMPATIBILITY - -hi def link cmakeCommandManuallyAdded Function - -hi def link cmakeKWconfigure_package_config_file ModeMsg -hi def link cmakeKWwrite_basic_package_version_file ModeMsg -hi def link cmakeKWconfigure_package_config_file_constants Constant - -let b:current_syntax = "cmake" - -let &cpo = s:keepcpo -unlet s:keepcpo - -" vim: set nowrap: diff --git a/uvim/runtime/syntax/cmakecache.mnv b/uvim/runtime/syntax/cmakecache.mnv new file mode 100644 index 0000000000..cf019183fd --- /dev/null +++ b/uvim/runtime/syntax/cmakecache.mnv @@ -0,0 +1,60 @@ +" MNV syntax file +" Language: cmakecache - CMakeCache.txt files generated by CMake +" Author: bfrg +" Upstream: https://github.com/bfrg/mnv-cmakecache-syntax +" Last Change: Nov 28, 2019 +" License: Same as MNV itself (see :h license) + +if exists('b:current_syntax') + finish +endif + +let s:cpo_save = &cpoptions +set cpoptions&mnv + +" Comments start with # or // +syntax region CMakeCacheComment start="#\|//" end="$" + +" Match 'key' in key:type=value +syntax match CMakeCacheKey "^\s*\w\+\(-ADVANCED\)\=:"me=e-1 + +" Highlight 'str' in key:STRING=str (many thanks to Nickspoons in #mnv!) +syntax region CMakeCacheStringVar matchgroup=CMakeCacheType start=":STRING="ms=s+1,rs=e-1 end="$" contains=CMakeCacheString keepend +syntax region CMakeCacheString start="="ms=s+1 end="$" contained + +" Highlight boolean 'value' in key:BOOL=value +syntax region CMakeCacheBoolVar matchgroup=CMakeCacheType start=":BOOL="ms=s+1,rs=e-1 end="$" contains=CMakeCacheBool keepend +syntax region CMakeCacheBool start="="ms=s+1 end="$" contained + +" Highlight 'path' in key:PATH=path +syntax region CMakeCachePathVar matchgroup=CMakeCacheType start=":PATH="ms=s+1,rs=e-1 end="$" contains=CMakeCachePath keepend +syntax region CMakeCachePath start="="ms=s+1 end="$" contained + +" Highlight 'file' in key:FILEPATH=file +syntax region CMakeCacheFilePathVar matchgroup=CMakeCacheType start=":FILEPATH="ms=s+1,rs=e-1 end="$" contains=CMakeCacheFilePath keepend +syntax region CMakeCacheFilePath start="="ms=s+1 end="$" contained + +" Highlight 'value' in key:STATIC=value +syntax region CMakeCacheStaticVar matchgroup=CMakeCacheType start=":STATIC="ms=s+1,rs=e-1 end="$" contains=CMakeCacheStatic keepend +syntax region CMakeCacheStatic start="="ms=s+1 end="$" contained + +" Highlight 'value' in key:Internal=value +syntax region CMakeCacheInternalVar matchgroup=CMakeCacheType start=":INTERNAL="ms=s+1,rs=e-1 end="$" contains=CMakeCacheInternal keepend +syntax region CMakeCacheInternal start="="ms=s+1 end="$" contained + +hi def link CMakeCacheComment Comment +hi def link CMakeCacheKey Identifier +hi def link CMakeCacheString String +hi def link CMakeCacheBool Constant +hi def link CMakeCachePath Directory +hi def link CMakeCacheFilePath Normal +hi def link CMakeCacheStatic Normal +hi def link CMakeCacheInternal Normal + +" Highlight 'type' in key:type=value +hi def link CMakeCacheType Type + +let b:current_syntax = 'cmakecache' + +let &cpoptions = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/cmakecache.vim b/uvim/runtime/syntax/cmakecache.vim deleted file mode 100644 index f07c719811..0000000000 --- a/uvim/runtime/syntax/cmakecache.vim +++ /dev/null @@ -1,60 +0,0 @@ -" Vim syntax file -" Language: cmakecache - CMakeCache.txt files generated by CMake -" Author: bfrg -" Upstream: https://github.com/bfrg/vim-cmakecache-syntax -" Last Change: Nov 28, 2019 -" License: Same as Vim itself (see :h license) - -if exists('b:current_syntax') - finish -endif - -let s:cpo_save = &cpoptions -set cpoptions&vim - -" Comments start with # or // -syntax region CMakeCacheComment start="#\|//" end="$" - -" Match 'key' in key:type=value -syntax match CMakeCacheKey "^\s*\w\+\(-ADVANCED\)\=:"me=e-1 - -" Highlight 'str' in key:STRING=str (many thanks to Nickspoons in #vim!) -syntax region CMakeCacheStringVar matchgroup=CMakeCacheType start=":STRING="ms=s+1,rs=e-1 end="$" contains=CMakeCacheString keepend -syntax region CMakeCacheString start="="ms=s+1 end="$" contained - -" Highlight boolean 'value' in key:BOOL=value -syntax region CMakeCacheBoolVar matchgroup=CMakeCacheType start=":BOOL="ms=s+1,rs=e-1 end="$" contains=CMakeCacheBool keepend -syntax region CMakeCacheBool start="="ms=s+1 end="$" contained - -" Highlight 'path' in key:PATH=path -syntax region CMakeCachePathVar matchgroup=CMakeCacheType start=":PATH="ms=s+1,rs=e-1 end="$" contains=CMakeCachePath keepend -syntax region CMakeCachePath start="="ms=s+1 end="$" contained - -" Highlight 'file' in key:FILEPATH=file -syntax region CMakeCacheFilePathVar matchgroup=CMakeCacheType start=":FILEPATH="ms=s+1,rs=e-1 end="$" contains=CMakeCacheFilePath keepend -syntax region CMakeCacheFilePath start="="ms=s+1 end="$" contained - -" Highlight 'value' in key:STATIC=value -syntax region CMakeCacheStaticVar matchgroup=CMakeCacheType start=":STATIC="ms=s+1,rs=e-1 end="$" contains=CMakeCacheStatic keepend -syntax region CMakeCacheStatic start="="ms=s+1 end="$" contained - -" Highlight 'value' in key:Internal=value -syntax region CMakeCacheInternalVar matchgroup=CMakeCacheType start=":INTERNAL="ms=s+1,rs=e-1 end="$" contains=CMakeCacheInternal keepend -syntax region CMakeCacheInternal start="="ms=s+1 end="$" contained - -hi def link CMakeCacheComment Comment -hi def link CMakeCacheKey Identifier -hi def link CMakeCacheString String -hi def link CMakeCacheBool Constant -hi def link CMakeCachePath Directory -hi def link CMakeCacheFilePath Normal -hi def link CMakeCacheStatic Normal -hi def link CMakeCacheInternal Normal - -" Highlight 'type' in key:type=value -hi def link CMakeCacheType Type - -let b:current_syntax = 'cmakecache' - -let &cpoptions = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/cmod.mnv b/uvim/runtime/syntax/cmod.mnv new file mode 100644 index 0000000000..2566a7c066 --- /dev/null +++ b/uvim/runtime/syntax/cmod.mnv @@ -0,0 +1,144 @@ +" MNV syntax file +" Language: Cmod +" Current Maintainer: Stephen R. van den Berg +" Last Change: 2018 Jan 23 +" Version: 2.9 +" Remark: Is used to edit Cmod files for Pike development. +" Remark: Includes a highlighter for any embedded Autodoc format. + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +" Read the C syntax to start with +runtime! syntax/c.mnv +unlet b:current_syntax + +if !exists("c_autodoc") + " For embedded Autodoc documentation + syn include @cmodAutodoc :p:h/autodoc.mnv + unlet b:current_syntax +endif + +" Supports rotating amongst several same-level preprocessor conditionals +packadd! matchit +let b:match_words = "({:}\\@1<=),^\s*#\s*\%(if\%(n\?def\)\|else\|el\%(se\)\?if\|endif\)\>" + +" Cmod extensions +syn keyword cmodStatement __INIT INIT EXIT GC_RECURSE GC_CHECK +syn keyword cmodStatement EXTRA OPTIMIZE RETURN +syn keyword cmodStatement ADD_EFUN ADD_EFUN2 ADD_FUNCTION +syn keyword cmodStatement MK_STRING MK_STRING_SVALUE CONSTANT_STRLEN + +syn keyword cmodStatement SET_SVAL pop_n_elems pop_stack +syn keyword cmodStatement SIMPLE_ARG_TYPE_ERROR Pike_sp Pike_fp MKPCHARP +syn keyword cmodStatement SET_SVAL_TYPE REF_MAKE_CONST_STRING INC_PCHARP +syn keyword cmodStatement PTR_FROM_INT INHERIT_FROM_PTR +syn keyword cmodStatement DECLARE_CYCLIC BEGIN_CYCLIC END_CYCLIC +syn keyword cmodStatement UPDATE_LOCATION UNSAFE_IS_ZERO SAFE_IS_ZERO +syn keyword cmodStatement MKPCHARP_STR APPLY_MASTER current_storage +syn keyword cmodStatement PIKE_MAP_VARIABLE size_shift +syn keyword cmodStatement THREADS_ALLOW THREADS_DISALLOW + +syn keyword cmodStatement add_integer_constant ref_push_object +syn keyword cmodStatement push_string apply_svalue free_svalue +syn keyword cmodStatement get_inherit_storage get_storage +syn keyword cmodStatement make_shared_binary_string push_int64 +syn keyword cmodStatement begin_shared_string end_shared_string +syn keyword cmodStatement add_ref fast_clone_object clone_object +syn keyword cmodStatement push_undefined push_int ref_push_string +syn keyword cmodStatement free_string push_ulongest free_object +syn keyword cmodStatement convert_stack_top_to_bignum push_array +syn keyword cmodStatement push_object reduce_stack_top_bignum +syn keyword cmodStatement push_static_text apply_current +syn keyword cmodStatement assign_svalue free_program destruct_object +syn keyword cmodStatement start_new_program low_inherit stack_swap +syn keyword cmodStatement generic_error_program end_program +syn keyword cmodStatement free_array apply_external copy_mapping +syn keyword cmodStatement push_constant_text ref_push_mapping +syn keyword cmodStatement mapping_insert mapping_string_insert_string +syn keyword cmodStatement f_aggregate_mapping f_aggregate apply +syn keyword cmodStatement push_mapping push_svalue low_mapping_lookup +syn keyword cmodStatement assign_svalues_no_free f_add +syn keyword cmodStatement push_empty_string stack_dup assign_lvalue +syn keyword cmodStatement low_mapping_string_lookup allocate_mapping +syn keyword cmodStatement copy_shared_string make_shared_binary_string0 +syn keyword cmodStatement f_call_function f_index f_utf8_to_string +syn keyword cmodStatement finish_string_builder init_string_builder +syn keyword cmodStatement reset_string_builder free_string_builder +syn keyword cmodStatement string_builder_putchar get_all_args +syn keyword cmodStatement add_shared_strings check_all_args +syn keyword cmodStatement do_inherit add_string_constant +syn keyword cmodStatement add_program_constant set_init_callback +syn keyword cmodStatement simple_mapping_string_lookup +syn keyword cmodStatement f_sprintf push_text string_has_null +syn keyword cmodStatement end_and_resize_shared_string + +syn keyword cmodStatement args sp + +syn keyword cmodStatement free + +syn keyword cmodConstant ID_PROTECTED ID_FINAL PIKE_DEBUG +syn keyword cmodConstant NUMBER_NUMBER +syn keyword cmodConstant PIKE_T_INT PIKE_T_STRING PIKE_T_ARRAY +syn keyword cmodConstant PIKE_T_MULTISET PIKE_T_OBJECT PIKE_T_MAPPING +syn keyword cmodConstant NUMBER_UNDEFINED PIKE_T_PROGRAM PIKE_T_FUNCTION +syn keyword cmodConstant T_OBJECT T_STRING T_ARRAY T_MAPPING + +syn keyword cmodException SET_ONERROR UNSET_ONERROR ONERROR +syn keyword cmodException CALL_AND_UNSET_ONERROR + +syn keyword cmodDebug Pike_fatal Pike_error check_stack + +syn keyword cmodAccess public protected private INHERIT +syn keyword cmodAccess CTYPE CVAR PIKEVAR PIKEFUN + +syn keyword cmodModifier efun export flags optflags optfunc +syn keyword cmodModifier type rawtype errname name c_name prototype +syn keyword cmodModifier program_flags gc_trivial PMOD_EXPORT +syn keyword cmodModifier ATTRIBUTE noclone noinline +syn keyword cmodModifier tOr tFuncV tInt tMix tVoid tStr tMap tPrg +syn keyword cmodModifier tSetvar tArr tMult tMultiset +syn keyword cmodModifier tArray tMapping tString tSetvar tVar + +syn keyword cmodType bool mapping string multiset array mixed +syn keyword cmodType object function program auto svalue +syn keyword cmodType bignum longest zero pike_string +syn keyword cmodType this this_program THIS INT_TYPE INT64 INT32 +syn keyword cmodType p_wchar2 PCHARP p_wchar1 p_wchar0 MP_INT + +syn keyword cmodOperator _destruct create __hash _sizeof _indices _values +syn keyword cmodOperator _is_type _sprintf _equal _m_delete _get_iterator +syn keyword cmodOperator _search _types _serialize _deserialize +syn keyword cmodOperator _size_object _random _sqrt TYPEOF SUBTYPEOF +syn keyword cmodOperator LIKELY UNLIKELY + +syn keyword cmodStructure DECLARATIONS PIKECLASS DECLARE_STORAGE + +if !exists("c_autodoc") + syn match cmodAutodocReal display contained "\%(//\|[/ \t\v]\*\|^\*\)\@2<=!.*" contains=@cmodAutodoc containedin=cComment,cCommentL + syn cluster cCommentGroup add=cmodAutodocReal + syn cluster cPreProcGroup add=cmodAutodocReal +endif + +" Default highlighting +hi def link cmodAccess Statement +hi def link cmodOperator Operator +hi def link cmodStatement Statement +hi def link cmodConstant Constant +hi def link cmodModifier Type +hi def link cmodType Type +hi def link cmodStorageClass StorageClass +hi def link cmodStructure Structure +hi def link cmodException Exception +hi def link cmodDebug Debug + +let b:current_syntax = "cmod" + +let &cpo = s:cpo_save +unlet s:cpo_save +" mnv: ts=8 diff --git a/uvim/runtime/syntax/cmod.vim b/uvim/runtime/syntax/cmod.vim deleted file mode 100644 index ea37682ff6..0000000000 --- a/uvim/runtime/syntax/cmod.vim +++ /dev/null @@ -1,144 +0,0 @@ -" Vim syntax file -" Language: Cmod -" Current Maintainer: Stephen R. van den Berg -" Last Change: 2018 Jan 23 -" Version: 2.9 -" Remark: Is used to edit Cmod files for Pike development. -" Remark: Includes a highlighter for any embedded Autodoc format. - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -" Read the C syntax to start with -runtime! syntax/c.vim -unlet b:current_syntax - -if !exists("c_autodoc") - " For embedded Autodoc documentation - syn include @cmodAutodoc :p:h/autodoc.vim - unlet b:current_syntax -endif - -" Supports rotating amongst several same-level preprocessor conditionals -packadd! matchit -let b:match_words = "({:}\\@1<=),^\s*#\s*\%(if\%(n\?def\)\|else\|el\%(se\)\?if\|endif\)\>" - -" Cmod extensions -syn keyword cmodStatement __INIT INIT EXIT GC_RECURSE GC_CHECK -syn keyword cmodStatement EXTRA OPTIMIZE RETURN -syn keyword cmodStatement ADD_EFUN ADD_EFUN2 ADD_FUNCTION -syn keyword cmodStatement MK_STRING MK_STRING_SVALUE CONSTANT_STRLEN - -syn keyword cmodStatement SET_SVAL pop_n_elems pop_stack -syn keyword cmodStatement SIMPLE_ARG_TYPE_ERROR Pike_sp Pike_fp MKPCHARP -syn keyword cmodStatement SET_SVAL_TYPE REF_MAKE_CONST_STRING INC_PCHARP -syn keyword cmodStatement PTR_FROM_INT INHERIT_FROM_PTR -syn keyword cmodStatement DECLARE_CYCLIC BEGIN_CYCLIC END_CYCLIC -syn keyword cmodStatement UPDATE_LOCATION UNSAFE_IS_ZERO SAFE_IS_ZERO -syn keyword cmodStatement MKPCHARP_STR APPLY_MASTER current_storage -syn keyword cmodStatement PIKE_MAP_VARIABLE size_shift -syn keyword cmodStatement THREADS_ALLOW THREADS_DISALLOW - -syn keyword cmodStatement add_integer_constant ref_push_object -syn keyword cmodStatement push_string apply_svalue free_svalue -syn keyword cmodStatement get_inherit_storage get_storage -syn keyword cmodStatement make_shared_binary_string push_int64 -syn keyword cmodStatement begin_shared_string end_shared_string -syn keyword cmodStatement add_ref fast_clone_object clone_object -syn keyword cmodStatement push_undefined push_int ref_push_string -syn keyword cmodStatement free_string push_ulongest free_object -syn keyword cmodStatement convert_stack_top_to_bignum push_array -syn keyword cmodStatement push_object reduce_stack_top_bignum -syn keyword cmodStatement push_static_text apply_current -syn keyword cmodStatement assign_svalue free_program destruct_object -syn keyword cmodStatement start_new_program low_inherit stack_swap -syn keyword cmodStatement generic_error_program end_program -syn keyword cmodStatement free_array apply_external copy_mapping -syn keyword cmodStatement push_constant_text ref_push_mapping -syn keyword cmodStatement mapping_insert mapping_string_insert_string -syn keyword cmodStatement f_aggregate_mapping f_aggregate apply -syn keyword cmodStatement push_mapping push_svalue low_mapping_lookup -syn keyword cmodStatement assign_svalues_no_free f_add -syn keyword cmodStatement push_empty_string stack_dup assign_lvalue -syn keyword cmodStatement low_mapping_string_lookup allocate_mapping -syn keyword cmodStatement copy_shared_string make_shared_binary_string0 -syn keyword cmodStatement f_call_function f_index f_utf8_to_string -syn keyword cmodStatement finish_string_builder init_string_builder -syn keyword cmodStatement reset_string_builder free_string_builder -syn keyword cmodStatement string_builder_putchar get_all_args -syn keyword cmodStatement add_shared_strings check_all_args -syn keyword cmodStatement do_inherit add_string_constant -syn keyword cmodStatement add_program_constant set_init_callback -syn keyword cmodStatement simple_mapping_string_lookup -syn keyword cmodStatement f_sprintf push_text string_has_null -syn keyword cmodStatement end_and_resize_shared_string - -syn keyword cmodStatement args sp - -syn keyword cmodStatement free - -syn keyword cmodConstant ID_PROTECTED ID_FINAL PIKE_DEBUG -syn keyword cmodConstant NUMBER_NUMBER -syn keyword cmodConstant PIKE_T_INT PIKE_T_STRING PIKE_T_ARRAY -syn keyword cmodConstant PIKE_T_MULTISET PIKE_T_OBJECT PIKE_T_MAPPING -syn keyword cmodConstant NUMBER_UNDEFINED PIKE_T_PROGRAM PIKE_T_FUNCTION -syn keyword cmodConstant T_OBJECT T_STRING T_ARRAY T_MAPPING - -syn keyword cmodException SET_ONERROR UNSET_ONERROR ONERROR -syn keyword cmodException CALL_AND_UNSET_ONERROR - -syn keyword cmodDebug Pike_fatal Pike_error check_stack - -syn keyword cmodAccess public protected private INHERIT -syn keyword cmodAccess CTYPE CVAR PIKEVAR PIKEFUN - -syn keyword cmodModifier efun export flags optflags optfunc -syn keyword cmodModifier type rawtype errname name c_name prototype -syn keyword cmodModifier program_flags gc_trivial PMOD_EXPORT -syn keyword cmodModifier ATTRIBUTE noclone noinline -syn keyword cmodModifier tOr tFuncV tInt tMix tVoid tStr tMap tPrg -syn keyword cmodModifier tSetvar tArr tMult tMultiset -syn keyword cmodModifier tArray tMapping tString tSetvar tVar - -syn keyword cmodType bool mapping string multiset array mixed -syn keyword cmodType object function program auto svalue -syn keyword cmodType bignum longest zero pike_string -syn keyword cmodType this this_program THIS INT_TYPE INT64 INT32 -syn keyword cmodType p_wchar2 PCHARP p_wchar1 p_wchar0 MP_INT - -syn keyword cmodOperator _destruct create __hash _sizeof _indices _values -syn keyword cmodOperator _is_type _sprintf _equal _m_delete _get_iterator -syn keyword cmodOperator _search _types _serialize _deserialize -syn keyword cmodOperator _size_object _random _sqrt TYPEOF SUBTYPEOF -syn keyword cmodOperator LIKELY UNLIKELY - -syn keyword cmodStructure DECLARATIONS PIKECLASS DECLARE_STORAGE - -if !exists("c_autodoc") - syn match cmodAutodocReal display contained "\%(//\|[/ \t\v]\*\|^\*\)\@2<=!.*" contains=@cmodAutodoc containedin=cComment,cCommentL - syn cluster cCommentGroup add=cmodAutodocReal - syn cluster cPreProcGroup add=cmodAutodocReal -endif - -" Default highlighting -hi def link cmodAccess Statement -hi def link cmodOperator Operator -hi def link cmodStatement Statement -hi def link cmodConstant Constant -hi def link cmodModifier Type -hi def link cmodType Type -hi def link cmodStorageClass StorageClass -hi def link cmodStructure Structure -hi def link cmodException Exception -hi def link cmodDebug Debug - -let b:current_syntax = "cmod" - -let &cpo = s:cpo_save -unlet s:cpo_save -" vim: ts=8 diff --git a/uvim/runtime/syntax/cmusrc.mnv b/uvim/runtime/syntax/cmusrc.mnv new file mode 100644 index 0000000000..c167f8d0bc --- /dev/null +++ b/uvim/runtime/syntax/cmusrc.mnv @@ -0,0 +1,309 @@ +" MNV syntax file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2007-06-17 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +setlocal iskeyword+=- + +syn keyword cmusrcTodo contained TODO FIXME XXX NOTE + +syn match cmusrcComment contained display '^\s*#.*$' + +syn match cmusrcBegin display '^' + \ nextgroup=cmusrcKeyword,cmusrcComment + \ skipwhite + +syn keyword cmusrcKeyword contained add + \ nextgroup=cmusrcAddSwitches,cmusrcURI + \ skipwhite + +syn match cmusrcAddSwitches contained display '-[lpqQ]' + \ nextgroup=cmusrcURI + \ skipwhite + +syn match cmusrcURI contained display '.\+' + +syn keyword cmusrcKeyword contained bind + \ nextgroup=cmusrcBindSwitches, + \ cmusrcBindContext + \ skipwhite + +syn match cmusrcBindSwitches contained display '-[f]' + \ nextgroup=cmusrcBindContext + \ skipwhite + +syn keyword cmusrcBindContext contained common library playlist queue + \ browser filters + \ nextgroup=cmusrcBindKey + \ skipwhite + +syn match cmusrcBindKey contained display '\S\+' + \ nextgroup=cmusrcKeyword + \ skipwhite + +syn keyword cmusrcKeyword contained browser-up colorscheme echo factivate + \ filter invert player-next player-pause + \ player-play player-prev player-stop quit + \ refresh run search-next search-prev shuffle + \ unmark win-activate win-add-l win-add-p + \ win-add-Q win-add-q win-bottom win-down + \ win-mv-after win-mv-before win-next + \ win-page-down win-page-up win-remove + \ win-sel-cur win-toggle win-top win-up + \ win-update + +syn keyword cmusrcKeyword contained cd + \ nextgroup=cmusrcDirectory + \ skipwhite + +syn match cmusrcDirectory contained display '.\+' + +syn keyword cmusrcKeyword contained clear + \ nextgroup=cmusrcClearSwitches + +syn match cmusrcClearSwitches contained display '-[lpq]' + +syn keyword cmusrcKeyword contained fset + \ nextgroup=cmusrcFSetName + \ skipwhite + +syn match cmusrcFSetName contained display '[^=]\+' + \ nextgroup=cmusrcFSetEq + +syn match cmusrcFSetEq contained display '=' + \ nextgroup=cmusrcFilterExpr + +syn match cmusrcFilterExpr contained display '.\+' + +syn keyword cmusrcKeyword contained load + \ nextgroup=cmusrcLoadSwitches,cmusrcURI + \ skipwhite + +syn match cmusrcLoadSwitches contained display '-[lp]' + \ nextgroup=cmusrcURI + \ skipwhite + +syn keyword cmusrcKeyword contained mark + \ nextgroup=cmusrcFilterExpr + +syn keyword cmusrcKeyword contained save + \ nextgroup=cmusrcSaveSwitches,cmusrcFile + \ skipwhite + +syn match cmusrcSaveSwitches contained display '-[lp]' + \ nextgroup=cmusrcFile + \ skipwhite + +syn match cmusrcFile contained display '.\+' + +syn keyword cmusrcKeyword contained seek + \ nextgroup=cmusrcSeekOffset + \ skipwhite + +syn match cmusrcSeekOffset contained display + \ '[+-]\=\%(\d\+[mh]\=\|\%(\%(0\=\d\|[1-5]\d\):\)\=\%(0\=\d\|[1-5]\d\):\%(0\=\d\|[1-5]\d\)\)' + +syn keyword cmusrcKeyword contained set + \ nextgroup=cmusrcOption + \ skipwhite + +syn keyword cmusrcOption contained auto_reshuffle confirm_run + \ continue play_library play_sorted repeat + \ show_hidden show_remaining_time shuffle + \ nextgroup=cmusrcSetTest,cmusrcOptEqBoolean + +syn match cmusrcSetTest contained display '?' + +syn match cmusrcOptEqBoolean contained display '=' + \ nextgroup=cmusrcOptBoolean + +syn keyword cmusrcOptBoolean contained true false + +syn keyword cmusrcOption contained aaa_mode + \ nextgroup=cmusrcOptEqAAA + +syn match cmusrcOptEqAAA contained display '=' + \ nextgroup=cmusrcOptAAA + +syn keyword cmusrcOptAAA contained all artist album + +syn keyword cmusrcOption contained buffer_seconds + \ nextgroup=cmusrcOptEqNumber + +syn match cmusrcOptEqNumber contained display '=' + \ nextgroup=cmusrcOptNumber + +syn match cmusrcOptNumber contained display '\d\+' + +syn keyword cmusrcOption contained altformat_current altformat_playlist + \ altformat_title altformat_trackwin + \ format_current format_playlist format_title + \ format_trackwin + \ nextgroup=cmusrcOptEqFormat + +syn match cmusrcOptEqFormat contained display '=' + \ nextgroup=cmusrcOptFormat + +syn match cmusrcOptFormat contained display '.\+' + \ contains=cmusrcFormatSpecial + +syn match cmusrcFormatSpecial contained display '%[0-]*\d*[alDntgydfF=%]' + +syn keyword cmusrcOption contained color_cmdline_bg color_cmdline_fg + \ color_error color_info color_separator + \ color_statusline_bg color_statusline_fg + \ color_titleline_bg color_titleline_fg + \ color_win_bg color_win_cur + \ color_win_cur_sel_bg color_win_cur_sel_fg + \ color_win_dir color_win_fg + \ color_win_inactive_cur_sel_bg + \ color_win_inactive_cur_sel_fg + \ color_win_inactive_sel_bg + \ color_win_inactive_sel_fg + \ color_win_sel_bg color_win_sel_fg + \ color_win_title_bg color_win_title_fg + \ nextgroup=cmusrcOptEqColor + +syn match cmusrcOptEqColor contained display '=' + \ nextgroup=@cmusrcOptColor + +syn cluster cmusrcOptColor contains=cmusrcOptColorName,cmusrcOptColorValue + +syn keyword cmusrcOptColorName contained default black red green yellow blue + \ magenta cyan gray darkgray lightred lightred + \ lightgreen lightyellow lightblue lightmagenta + \ lightcyan white + +syn match cmusrcOptColorValue contained display + \ '-1\|0*\%(\d\|[1-9]\d\|1\d\d\|2\%([0-4]\d\|5[0-5]\)\)' + +syn keyword cmusrcOption contained id3_default_charset output_plugin + \ status_display_program + \ nextgroup=cmusrcOptEqString + +syn match cmusrcOption contained + \ '\%(dsp\|mixer\)\.\%(alsa\|oss\|sun\)\.\%(channel\|device\)' + \ nextgroup=cmusrcOptEqString + +syn match cmusrcOption contained + \ 'dsp\.ao\.\%(buffer_size\|driver\|wav_counter\|wav_dir\)' + \ nextgroup=cmusrcOptEqString + +syn match cmusrcOptEqString contained display '=' + \ nextgroup=cmusrcOptString + +syn match cmusrcOptString contained display '.\+' + +syn keyword cmusrcOption contained lib_sort pl_sort + \ nextgroup=cmusrcOptEqSortKeys + +syn match cmusrcOptEqSortKeys contained display '=' + \ nextgroup=cmusrcOptSortKeys + +syn keyword cmusrcOptSortKeys contained artist album title tracknumber + \ discnumber date genre filename + \ nextgroup=cmusrcOptSortKeys + \ skipwhite + +syn keyword cmusrcKeyword contained showbind + \ nextgroup=cmusrcSBindContext + \ skipwhite + +syn keyword cmusrcSBindContext contained common library playlist queue + \ browser filters + \ nextgroup=cmusrcSBindKey + \ skipwhite + +syn match cmusrcSBindKey contained display '\S\+' + +syn keyword cmusrcKeyword contained toggle + \ nextgroup=cmusrcTogglableOpt + \ skipwhite + +syn keyword cmusrcTogglableOpt contained auto_reshuffle aaa_mode + \ confirm_run continue play_library play_sorted + \ repeat show_hidden show_remaining_time shuffle + +syn keyword cmusrcKeyword contained unbind + \ nextgroup=cmusrcUnbindSwitches, + \ cmusrcSBindContext + \ skipwhite + +syn match cmusrcUnbindSwitches contained display '-[f]' + \ nextgroup=cmusrcSBindContext + \ skipwhite + +syn keyword cmusrcKeyword contained view + \ nextgroup=cmusrcView + \ skipwhite + +syn keyword cmusrcView contained library playlist queue browser filters +syn match cmusrcView contained display '[1-6]' + +syn keyword cmusrcKeyword contained vol + \ nextgroup=cmusrcVolume1 + \ skipwhite + +syn match cmusrcVolume1 contained display '[+-]\=\d\+%' + \ nextgroup=cmusrcVolume2 + \ skipwhite + +syn match cmusrcVolume2 contained display '[+-]\=\d\+%' + +hi def link cmusrcTodo Todo +hi def link cmusrcComment Comment +hi def link cmusrcKeyword Keyword +hi def link cmusrcSwitches Special +hi def link cmusrcAddSwitches cmusrcSwitches +hi def link cmusrcURI Normal +hi def link cmusrcBindSwitches cmusrcSwitches +hi def link cmusrcContext Type +hi def link cmusrcBindContext cmusrcContext +hi def link cmusrcKey String +hi def link cmusrcBindKey cmusrcKey +hi def link cmusrcDirectory Normal +hi def link cmusrcClearSwitches cmusrcSwitches +hi def link cmusrcFSetName PreProc +hi def link cmusrcEq Normal +hi def link cmusrcFSetEq cmusrcEq +hi def link cmusrcFilterExpr Normal +hi def link cmusrcLoadSwitches cmusrcSwitches +hi def link cmusrcSaveSwitches cmusrcSwitches +hi def link cmusrcFile Normal +hi def link cmusrcSeekOffset Number +hi def link cmusrcOption PreProc +hi def link cmusrcSetTest Normal +hi def link cmusrcOptBoolean Boolean +hi def link cmusrcOptEqAAA cmusrcEq +hi def link cmusrcOptAAA Identifier +hi def link cmusrcOptEqNumber cmusrcEq +hi def link cmusrcOptNumber Number +hi def link cmusrcOptEqFormat cmusrcEq +hi def link cmusrcOptFormat String +hi def link cmusrcFormatSpecial SpecialChar +hi def link cmusrcOptEqColor cmusrcEq +hi def link cmusrcOptColor Normal +hi def link cmusrcOptColorName cmusrcOptColor +hi def link cmusrcOptColorValue cmusrcOptColor +hi def link cmusrcOptEqString cmusrcEq +hi def link cmusrcOptString Normal +hi def link cmusrcOptEqSortKeys cmusrcEq +hi def link cmusrcOptSortKeys Identifier +hi def link cmusrcSBindContext cmusrcContext +hi def link cmusrcSBindKey cmusrcKey +hi def link cmusrcTogglableOpt cmusrcOption +hi def link cmusrcUnbindSwitches cmusrcSwitches +hi def link cmusrcView Normal +hi def link cmusrcVolume1 Number +hi def link cmusrcVolume2 Number + +let b:current_syntax = "cmusrc" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/cmusrc.vim b/uvim/runtime/syntax/cmusrc.vim deleted file mode 100644 index b821affd57..0000000000 --- a/uvim/runtime/syntax/cmusrc.vim +++ /dev/null @@ -1,309 +0,0 @@ -" Vim syntax file -" Previous Maintainer: Nikolai Weibull -" Latest Revision: 2007-06-17 - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -setlocal iskeyword+=- - -syn keyword cmusrcTodo contained TODO FIXME XXX NOTE - -syn match cmusrcComment contained display '^\s*#.*$' - -syn match cmusrcBegin display '^' - \ nextgroup=cmusrcKeyword,cmusrcComment - \ skipwhite - -syn keyword cmusrcKeyword contained add - \ nextgroup=cmusrcAddSwitches,cmusrcURI - \ skipwhite - -syn match cmusrcAddSwitches contained display '-[lpqQ]' - \ nextgroup=cmusrcURI - \ skipwhite - -syn match cmusrcURI contained display '.\+' - -syn keyword cmusrcKeyword contained bind - \ nextgroup=cmusrcBindSwitches, - \ cmusrcBindContext - \ skipwhite - -syn match cmusrcBindSwitches contained display '-[f]' - \ nextgroup=cmusrcBindContext - \ skipwhite - -syn keyword cmusrcBindContext contained common library playlist queue - \ browser filters - \ nextgroup=cmusrcBindKey - \ skipwhite - -syn match cmusrcBindKey contained display '\S\+' - \ nextgroup=cmusrcKeyword - \ skipwhite - -syn keyword cmusrcKeyword contained browser-up colorscheme echo factivate - \ filter invert player-next player-pause - \ player-play player-prev player-stop quit - \ refresh run search-next search-prev shuffle - \ unmark win-activate win-add-l win-add-p - \ win-add-Q win-add-q win-bottom win-down - \ win-mv-after win-mv-before win-next - \ win-page-down win-page-up win-remove - \ win-sel-cur win-toggle win-top win-up - \ win-update - -syn keyword cmusrcKeyword contained cd - \ nextgroup=cmusrcDirectory - \ skipwhite - -syn match cmusrcDirectory contained display '.\+' - -syn keyword cmusrcKeyword contained clear - \ nextgroup=cmusrcClearSwitches - -syn match cmusrcClearSwitches contained display '-[lpq]' - -syn keyword cmusrcKeyword contained fset - \ nextgroup=cmusrcFSetName - \ skipwhite - -syn match cmusrcFSetName contained display '[^=]\+' - \ nextgroup=cmusrcFSetEq - -syn match cmusrcFSetEq contained display '=' - \ nextgroup=cmusrcFilterExpr - -syn match cmusrcFilterExpr contained display '.\+' - -syn keyword cmusrcKeyword contained load - \ nextgroup=cmusrcLoadSwitches,cmusrcURI - \ skipwhite - -syn match cmusrcLoadSwitches contained display '-[lp]' - \ nextgroup=cmusrcURI - \ skipwhite - -syn keyword cmusrcKeyword contained mark - \ nextgroup=cmusrcFilterExpr - -syn keyword cmusrcKeyword contained save - \ nextgroup=cmusrcSaveSwitches,cmusrcFile - \ skipwhite - -syn match cmusrcSaveSwitches contained display '-[lp]' - \ nextgroup=cmusrcFile - \ skipwhite - -syn match cmusrcFile contained display '.\+' - -syn keyword cmusrcKeyword contained seek - \ nextgroup=cmusrcSeekOffset - \ skipwhite - -syn match cmusrcSeekOffset contained display - \ '[+-]\=\%(\d\+[mh]\=\|\%(\%(0\=\d\|[1-5]\d\):\)\=\%(0\=\d\|[1-5]\d\):\%(0\=\d\|[1-5]\d\)\)' - -syn keyword cmusrcKeyword contained set - \ nextgroup=cmusrcOption - \ skipwhite - -syn keyword cmusrcOption contained auto_reshuffle confirm_run - \ continue play_library play_sorted repeat - \ show_hidden show_remaining_time shuffle - \ nextgroup=cmusrcSetTest,cmusrcOptEqBoolean - -syn match cmusrcSetTest contained display '?' - -syn match cmusrcOptEqBoolean contained display '=' - \ nextgroup=cmusrcOptBoolean - -syn keyword cmusrcOptBoolean contained true false - -syn keyword cmusrcOption contained aaa_mode - \ nextgroup=cmusrcOptEqAAA - -syn match cmusrcOptEqAAA contained display '=' - \ nextgroup=cmusrcOptAAA - -syn keyword cmusrcOptAAA contained all artist album - -syn keyword cmusrcOption contained buffer_seconds - \ nextgroup=cmusrcOptEqNumber - -syn match cmusrcOptEqNumber contained display '=' - \ nextgroup=cmusrcOptNumber - -syn match cmusrcOptNumber contained display '\d\+' - -syn keyword cmusrcOption contained altformat_current altformat_playlist - \ altformat_title altformat_trackwin - \ format_current format_playlist format_title - \ format_trackwin - \ nextgroup=cmusrcOptEqFormat - -syn match cmusrcOptEqFormat contained display '=' - \ nextgroup=cmusrcOptFormat - -syn match cmusrcOptFormat contained display '.\+' - \ contains=cmusrcFormatSpecial - -syn match cmusrcFormatSpecial contained display '%[0-]*\d*[alDntgydfF=%]' - -syn keyword cmusrcOption contained color_cmdline_bg color_cmdline_fg - \ color_error color_info color_separator - \ color_statusline_bg color_statusline_fg - \ color_titleline_bg color_titleline_fg - \ color_win_bg color_win_cur - \ color_win_cur_sel_bg color_win_cur_sel_fg - \ color_win_dir color_win_fg - \ color_win_inactive_cur_sel_bg - \ color_win_inactive_cur_sel_fg - \ color_win_inactive_sel_bg - \ color_win_inactive_sel_fg - \ color_win_sel_bg color_win_sel_fg - \ color_win_title_bg color_win_title_fg - \ nextgroup=cmusrcOptEqColor - -syn match cmusrcOptEqColor contained display '=' - \ nextgroup=@cmusrcOptColor - -syn cluster cmusrcOptColor contains=cmusrcOptColorName,cmusrcOptColorValue - -syn keyword cmusrcOptColorName contained default black red green yellow blue - \ magenta cyan gray darkgray lightred lightred - \ lightgreen lightyellow lightblue lightmagenta - \ lightcyan white - -syn match cmusrcOptColorValue contained display - \ '-1\|0*\%(\d\|[1-9]\d\|1\d\d\|2\%([0-4]\d\|5[0-5]\)\)' - -syn keyword cmusrcOption contained id3_default_charset output_plugin - \ status_display_program - \ nextgroup=cmusrcOptEqString - -syn match cmusrcOption contained - \ '\%(dsp\|mixer\)\.\%(alsa\|oss\|sun\)\.\%(channel\|device\)' - \ nextgroup=cmusrcOptEqString - -syn match cmusrcOption contained - \ 'dsp\.ao\.\%(buffer_size\|driver\|wav_counter\|wav_dir\)' - \ nextgroup=cmusrcOptEqString - -syn match cmusrcOptEqString contained display '=' - \ nextgroup=cmusrcOptString - -syn match cmusrcOptString contained display '.\+' - -syn keyword cmusrcOption contained lib_sort pl_sort - \ nextgroup=cmusrcOptEqSortKeys - -syn match cmusrcOptEqSortKeys contained display '=' - \ nextgroup=cmusrcOptSortKeys - -syn keyword cmusrcOptSortKeys contained artist album title tracknumber - \ discnumber date genre filename - \ nextgroup=cmusrcOptSortKeys - \ skipwhite - -syn keyword cmusrcKeyword contained showbind - \ nextgroup=cmusrcSBindContext - \ skipwhite - -syn keyword cmusrcSBindContext contained common library playlist queue - \ browser filters - \ nextgroup=cmusrcSBindKey - \ skipwhite - -syn match cmusrcSBindKey contained display '\S\+' - -syn keyword cmusrcKeyword contained toggle - \ nextgroup=cmusrcTogglableOpt - \ skipwhite - -syn keyword cmusrcTogglableOpt contained auto_reshuffle aaa_mode - \ confirm_run continue play_library play_sorted - \ repeat show_hidden show_remaining_time shuffle - -syn keyword cmusrcKeyword contained unbind - \ nextgroup=cmusrcUnbindSwitches, - \ cmusrcSBindContext - \ skipwhite - -syn match cmusrcUnbindSwitches contained display '-[f]' - \ nextgroup=cmusrcSBindContext - \ skipwhite - -syn keyword cmusrcKeyword contained view - \ nextgroup=cmusrcView - \ skipwhite - -syn keyword cmusrcView contained library playlist queue browser filters -syn match cmusrcView contained display '[1-6]' - -syn keyword cmusrcKeyword contained vol - \ nextgroup=cmusrcVolume1 - \ skipwhite - -syn match cmusrcVolume1 contained display '[+-]\=\d\+%' - \ nextgroup=cmusrcVolume2 - \ skipwhite - -syn match cmusrcVolume2 contained display '[+-]\=\d\+%' - -hi def link cmusrcTodo Todo -hi def link cmusrcComment Comment -hi def link cmusrcKeyword Keyword -hi def link cmusrcSwitches Special -hi def link cmusrcAddSwitches cmusrcSwitches -hi def link cmusrcURI Normal -hi def link cmusrcBindSwitches cmusrcSwitches -hi def link cmusrcContext Type -hi def link cmusrcBindContext cmusrcContext -hi def link cmusrcKey String -hi def link cmusrcBindKey cmusrcKey -hi def link cmusrcDirectory Normal -hi def link cmusrcClearSwitches cmusrcSwitches -hi def link cmusrcFSetName PreProc -hi def link cmusrcEq Normal -hi def link cmusrcFSetEq cmusrcEq -hi def link cmusrcFilterExpr Normal -hi def link cmusrcLoadSwitches cmusrcSwitches -hi def link cmusrcSaveSwitches cmusrcSwitches -hi def link cmusrcFile Normal -hi def link cmusrcSeekOffset Number -hi def link cmusrcOption PreProc -hi def link cmusrcSetTest Normal -hi def link cmusrcOptBoolean Boolean -hi def link cmusrcOptEqAAA cmusrcEq -hi def link cmusrcOptAAA Identifier -hi def link cmusrcOptEqNumber cmusrcEq -hi def link cmusrcOptNumber Number -hi def link cmusrcOptEqFormat cmusrcEq -hi def link cmusrcOptFormat String -hi def link cmusrcFormatSpecial SpecialChar -hi def link cmusrcOptEqColor cmusrcEq -hi def link cmusrcOptColor Normal -hi def link cmusrcOptColorName cmusrcOptColor -hi def link cmusrcOptColorValue cmusrcOptColor -hi def link cmusrcOptEqString cmusrcEq -hi def link cmusrcOptString Normal -hi def link cmusrcOptEqSortKeys cmusrcEq -hi def link cmusrcOptSortKeys Identifier -hi def link cmusrcSBindContext cmusrcContext -hi def link cmusrcSBindKey cmusrcKey -hi def link cmusrcTogglableOpt cmusrcOption -hi def link cmusrcUnbindSwitches cmusrcSwitches -hi def link cmusrcView Normal -hi def link cmusrcVolume1 Number -hi def link cmusrcVolume2 Number - -let b:current_syntax = "cmusrc" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/cobol.mnv b/uvim/runtime/syntax/cobol.mnv new file mode 100644 index 0000000000..661c82f649 --- /dev/null +++ b/uvim/runtime/syntax/cobol.mnv @@ -0,0 +1,260 @@ +" MNV syntax file +" Language: COBOL +" Maintainer: Ankit Jain +" (formerly Tim Pope ) +" (formerly Davyd Ondrejko ) +" (formerly Sitaram Chamarty and +" James Mitchell ) +" Last Change: 2019 Mar 22 +" Ankit Jain 22.03.2019 Changes & fixes: +" 1. Include inline comments +" 2. Use comment highlight for bad lines +" 3. Change certain 'keywords' to 'matches' +" for additional highlighting +" 4. Different highlighting for COPY, GO TO & +" CALL lines +" 5. Fix for COMP keyword +" 6. Fix for PROCEDURE DIVISION highlighting +" 7. Highlight EXIT PROGRAM like STOP RUN +" 8. Highlight X & A in PIC clause +" Tag: #C22032019 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" MOST important - else most of the keywords wont work! +setlocal isk=@,48-57,-,_ + +if !exists('g:cobol_inline_comment') + let g:cobol_inline_comment=0 +endif + +syn case ignore + +syn cluster cobolStart contains=cobolAreaA,cobolAreaB,cobolComment,cobolCompiler +syn cluster cobolAreaA contains=cobolParagraph,cobolSection,cobolDivision +"syn cluster cobolAreaB contains= +syn cluster cobolAreaAB contains=cobolLine +syn cluster cobolLine contains=cobolReserved +syn match cobolMarker "^\%( \{,5\}[^ ]\)\@=.\{,6}" nextgroup=@cobolStart +syn match cobolSpace "^ \{6\}" nextgroup=@cobolStart +syn match cobolAreaA " \{1,4\}" contained nextgroup=@cobolAreaA,@cobolAreaAB +syn match cobolAreaB " \{5,\}\|- *" contained nextgroup=@cobolAreaB,@cobolAreaAB +syn match cobolComment "[/*C].*$" contained +syn match cobolCompiler "$.*$" contained +syn match cobolLine ".*$" contained contains=cobolReserved,@cobolLine + +"#C22032019: Fix for PROCEDURE DIVISION USING highlighting, removed . from the +"end of the regex +"syn match cobolDivision \"[A-Z][A-Z0-9-]*[A-Z0-9]\s\+DIVISION\."he=e-1 contained contains=cobolDivisionName +syn match cobolDivision "[A-Z][A-Z0-9-]*[A-Z0-9]\s\+DIVISION" contained contains=cobolDivisionName +syn keyword cobolDivisionName contained IDENTIFICATION ENVIRONMENT DATA PROCEDURE +syn match cobolSection "[A-Z][A-Z0-9-]*[A-Z0-9]\s\+SECTION\."he=e-1 contained contains=cobolSectionName +syn keyword cobolSectionName contained CONFIGURATION INPUT-OUTPUT FILE WORKING-STORAGE LOCAL-STORAGE LINKAGE +syn match cobolParagraph "\a[A-Z0-9-]*[A-Z0-9]\.\|\d[A-Z0-9-]*[A-Z]\."he=e-1 contained contains=cobolParagraphName +syn keyword cobolParagraphName contained PROGRAM-ID SOURCE-COMPUTER OBJECT-COMPUTER SPECIAL-NAMES FILE-CONTROL I-O-CONTROL + + +"syn match cobolKeys "^\a\{1,6\}" contains=cobolReserved +"#C22032019: Remove BY, REPLACING, PROGRAM, TO, IN from 'keyword' group and add +"to 'match' group or other 'keyword' group +syn keyword cobolReserved contained ACCEPT ACCESS ADD ADDRESS ADVANCING AFTER ALPHABET ALPHABETIC +syn keyword cobolReserved contained ALPHABETIC-LOWER ALPHABETIC-UPPER ALPHANUMERIC ALPHANUMERIC-EDITED ALS +syn keyword cobolReserved contained ALTERNATE AND ANY ARE AREA AREAS ASCENDING ASSIGN AT AUTHOR BEFORE BINARY +syn keyword cobolReserved contained BLANK BLOCK BOTTOM CANCEL CBLL CD CF CH CHARACTER CHARACTERS CLASS +syn keyword cobolReserved contained CLOCK-UNITS CLOSE COBOL CODE CODE-SET COLLATING COLUMN COMMA COMMON +syn keyword cobolReserved contained COMMUNICATIONS COMPUTATIONAL COMPUTE CONTENT CONTINUE +syn keyword cobolReserved contained CONTROL CONVERTING CORR CORRESPONDING COUNT CURRENCY DATE DATE-COMPILED +syn keyword cobolReserved contained DATE-WRITTEN DAY DAY-OF-WEEK DE DEBUG-CONTENTS DEBUG-ITEM DEBUG-LINE +syn keyword cobolReserved contained DEBUG-NAME DEBUG-SUB-1 DEBUG-SUB-2 DEBUG-SUB-3 DEBUGGING DECIMAL-POINT +syn keyword cobolReserved contained DELARATIVES DELETE DELIMITED DELIMITER DEPENDING DESCENDING DESTINATION +syn keyword cobolReserved contained DETAIL DISABLE DISPLAY DIVIDE DIVISION DOWN DUPLICATES DYNAMIC EGI ELSE EMI +syn keyword cobolReserved contained ENABLE END-ADD END-COMPUTE END-DELETE END-DIVIDE END-EVALUATE END-IF +syn keyword cobolReserved contained END-MULTIPLY END-OF-PAGE END-READ END-RECEIVE END-RETURN +syn keyword cobolReserved contained END-REWRITE END-SEARCH END-START END-STRING END-SUBTRACT END-UNSTRING +syn keyword cobolReserved contained END-WRITE EQUAL ERROR ESI EVALUATE EVERY EXCEPTION EXIT +syn keyword cobolReserved contained EXTEND EXTERNAL FALSE FD FILLER FINAL FIRST FOOTING FOR FROM +syn keyword cobolReserved contained GENERATE GIVING GLOBAL GREATER GROUP HEADING HIGH-VALUE HIGH-VALUES I-O +syn keyword cobolReserved contained INDEX INDEXED INDICATE INITIAL INITIALIZE +syn keyword cobolReserved contained INITIATE INPUT INSPECT INSTALLATION INTO IS JUST +syn keyword cobolReserved contained JUSTIFIED KEY LABEL LAST LEADING LEFT LENGTH LOCK MEMORY +syn keyword cobolReserved contained MERGE MESSAGE MODE MODULES MOVE MULTIPLE MULTIPLY NATIVE NEGATIVE NEXT NO NOT +syn keyword cobolReserved contained NUMBER NUMERIC NUMERIC-EDITED OCCURS OF OFF OMITTED ON OPEN +syn keyword cobolReserved contained OPTIONAL OR ORDER ORGANIZATION OTHER OUTPUT OVERFLOW PACKED-DECIMAL PADDING +syn keyword cobolReserved contained PAGE PAGE-COUNTER PERFORM PF PH PIC PICTURE PLUS POINTER POSITION POSITIVE +syn keyword cobolReserved contained PRINTING PROCEDURES PROCEDD PURGE QUEUE QUOTES +syn keyword cobolReserved contained RANDOM RD READ RECEIVE RECORD RECORDS REDEFINES REEL REFERENCE REFERENCES +syn keyword cobolReserved contained RELATIVE RELEASE REMAINDER REMOVAL REPLACE REPORT REPORTING +syn keyword cobolReserved contained REPORTS RERUN RESERVE RESET RETURN RETURNING REVERSED REWIND REWRITE RF RH +syn keyword cobolReserved contained RIGHT ROUNDED RUN SAME SD SEARCH SECTION SECURITY SEGMENT SEGMENT-LIMITED +syn keyword cobolReserved contained SELECT SEND SENTENCE SEPARATE SEQUENCE SEQUENTIAL SET SIGN SIZE SORT +syn keyword cobolReserved contained SORT-MERGE SOURCE STANDARD +syn keyword cobolReserved contained STANDARD-1 STANDARD-2 START STATUS STOP STRING SUB-QUEUE-1 SUB-QUEUE-2 +syn keyword cobolReserved contained SUB-QUEUE-3 SUBTRACT SUM SUPPRESS SYMBOLIC SYNC SYNCHRONIZED TABLE TALLYING +syn keyword cobolReserved contained TAPE TERMINAL TERMINATE TEST TEXT THAN THEN THROUGH THRU TIME TIMES TOP +syn keyword cobolReserved contained TRAILING TRUE TYPE UNIT UNSTRING UNTIL UP UPON USAGE USE USING VALUE VALUES +syn keyword cobolReserved contained VARYING WHEN WITH WORDS WRITE +syn match cobolReserved contained "\" +syn match cobolReserved contained "\<\(IF\|INVALID\|END\|EOP\)\>" +syn match cobolReserved contained "\" +" #C22032019: Add BY as match instead of keyword: BY not followed by == +syn match cobolReserved contained "\\s\+\(==\)\@!" +syn match cobolReserved contained "\" + +syn cluster cobolLine add=cobolConstant,cobolNumber,cobolPic +syn keyword cobolConstant SPACE SPACES NULL ZERO ZEROES ZEROS LOW-VALUE LOW-VALUES + +" #C22032019: Fix for many pic clauses +syn match cobolNumber "\<-\=\d*\.\=\d\+\>" contained +" syn match cobolPic \"\" contained +syn match cobolPic "\" contained +syn match cobolPic "\<$*\.\=9\+\>" contained +syn match cobolPic "\" contained +syn match cobolPic "\" contained +syn match cobolPic "\<9\+V\>" contained +" syn match cobolPic \"\<-\+[Z9]\+\>" contained +syn match cobolPic "\<-*[Z9]\+-*\>" contained +" #C22032019: Add Z,X and A to cobolPic +syn match cobolPic "\<[ZXA]\+\>" contained +syn match cobolTodo "todo" contained containedin=cobolInlineComment,cobolComment + +" For MicroFocus or other inline comments, include this line. +if g:cobol_inline_comment == 1 + syn region cobolInlineComment start="*>" end="$" contains=cobolTodo,cobolMarker + syn cluster cobolLine add=cobolInlineComment +endif + +syn match cobolBadLine "[^ D\*$/-].*" contained + +" If comment mark somehow gets into column past Column 7. +if g:cobol_inline_comment == 1 + " #C22032019: It is a bad line only if * is not followed by > when inline + " comments enabled + syn match cobolBadLine "\s\+\*\(>\)\@!.*" contained +else + syn match cobolBadLine "\s\+\*.*" contained +endif +syn cluster cobolStart add=cobolBadLine + +" #C22032019: Different highlighting for GO TO statements +" syn keyword cobolGoTo GO GOTO +syn keyword cobolGoTo GOTO +syn match cobolGoTo /\\s\+\/ +syn match cobolGoToPara /\\s\+\\s\+[A-Z0-9-]\+/ contains=cobolGoTo +" #C22032019: Highlight copybook name and location in using different group +" syn keyword cobolCopy COPY +syn match cobolCopy "\\|\" +syn match cobolCopy "\\s\+\(==\)\@=" +syn match cobolCopy "\\s\+\(==\)\@=" +syn match cobolCopyName "\\s\+[A-Z0-9]\+\(\s\+\\s\+[A-Z0-9]\+\)\?" contains=cobolCopy +syn cluster cobolLine add=cobolGoToPara,cobolCopyName + +" cobolBAD: things that are BAD NEWS! +syn keyword cobolBAD ALTER ENTER RENAMES + +syn cluster cobolLine add=cobolGoTo,cobolCopy,cobolBAD,cobolWatch,cobolEXECs + +" cobolWatch: things that are important when trying to understand a program +syn keyword cobolWatch OCCURS DEPENDING VARYING BINARY COMP REDEFINES +" #C22032019: Remove REPLACING from cobolWatch 'keyword' group and add to cobolCopy & +" cobolWatch 'match' group +" syn keyword cobolWatch REPLACING RUN +syn keyword cobolWatch RUN PROGRAM +syn match cobolWatch contained "\\s\+\(==\)\@!" +" #C22032019: Look for word starting with COMP +" syn match cobolWatch \"COMP-[123456XN]" +syn match cobolWatch "\" +syn match cobolCALLProg /\\s\+"\{0,1\}[A-Z0-9]\+"\{0,1\}/ contains=cobolCALLs +syn match cobolExtras /\ -" (formerly Tim Pope ) -" (formerly Davyd Ondrejko ) -" (formerly Sitaram Chamarty and -" James Mitchell ) -" Last Change: 2019 Mar 22 -" Ankit Jain 22.03.2019 Changes & fixes: -" 1. Include inline comments -" 2. Use comment highlight for bad lines -" 3. Change certain 'keywords' to 'matches' -" for additional highlighting -" 4. Different highlighting for COPY, GO TO & -" CALL lines -" 5. Fix for COMP keyword -" 6. Fix for PROCEDURE DIVISION highlighting -" 7. Highlight EXIT PROGRAM like STOP RUN -" 8. Highlight X & A in PIC clause -" Tag: #C22032019 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" MOST important - else most of the keywords wont work! -setlocal isk=@,48-57,-,_ - -if !exists('g:cobol_inline_comment') - let g:cobol_inline_comment=0 -endif - -syn case ignore - -syn cluster cobolStart contains=cobolAreaA,cobolAreaB,cobolComment,cobolCompiler -syn cluster cobolAreaA contains=cobolParagraph,cobolSection,cobolDivision -"syn cluster cobolAreaB contains= -syn cluster cobolAreaAB contains=cobolLine -syn cluster cobolLine contains=cobolReserved -syn match cobolMarker "^\%( \{,5\}[^ ]\)\@=.\{,6}" nextgroup=@cobolStart -syn match cobolSpace "^ \{6\}" nextgroup=@cobolStart -syn match cobolAreaA " \{1,4\}" contained nextgroup=@cobolAreaA,@cobolAreaAB -syn match cobolAreaB " \{5,\}\|- *" contained nextgroup=@cobolAreaB,@cobolAreaAB -syn match cobolComment "[/*C].*$" contained -syn match cobolCompiler "$.*$" contained -syn match cobolLine ".*$" contained contains=cobolReserved,@cobolLine - -"#C22032019: Fix for PROCEDURE DIVISION USING highlighting, removed . from the -"end of the regex -"syn match cobolDivision \"[A-Z][A-Z0-9-]*[A-Z0-9]\s\+DIVISION\."he=e-1 contained contains=cobolDivisionName -syn match cobolDivision "[A-Z][A-Z0-9-]*[A-Z0-9]\s\+DIVISION" contained contains=cobolDivisionName -syn keyword cobolDivisionName contained IDENTIFICATION ENVIRONMENT DATA PROCEDURE -syn match cobolSection "[A-Z][A-Z0-9-]*[A-Z0-9]\s\+SECTION\."he=e-1 contained contains=cobolSectionName -syn keyword cobolSectionName contained CONFIGURATION INPUT-OUTPUT FILE WORKING-STORAGE LOCAL-STORAGE LINKAGE -syn match cobolParagraph "\a[A-Z0-9-]*[A-Z0-9]\.\|\d[A-Z0-9-]*[A-Z]\."he=e-1 contained contains=cobolParagraphName -syn keyword cobolParagraphName contained PROGRAM-ID SOURCE-COMPUTER OBJECT-COMPUTER SPECIAL-NAMES FILE-CONTROL I-O-CONTROL - - -"syn match cobolKeys "^\a\{1,6\}" contains=cobolReserved -"#C22032019: Remove BY, REPLACING, PROGRAM, TO, IN from 'keyword' group and add -"to 'match' group or other 'keyword' group -syn keyword cobolReserved contained ACCEPT ACCESS ADD ADDRESS ADVANCING AFTER ALPHABET ALPHABETIC -syn keyword cobolReserved contained ALPHABETIC-LOWER ALPHABETIC-UPPER ALPHANUMERIC ALPHANUMERIC-EDITED ALS -syn keyword cobolReserved contained ALTERNATE AND ANY ARE AREA AREAS ASCENDING ASSIGN AT AUTHOR BEFORE BINARY -syn keyword cobolReserved contained BLANK BLOCK BOTTOM CANCEL CBLL CD CF CH CHARACTER CHARACTERS CLASS -syn keyword cobolReserved contained CLOCK-UNITS CLOSE COBOL CODE CODE-SET COLLATING COLUMN COMMA COMMON -syn keyword cobolReserved contained COMMUNICATIONS COMPUTATIONAL COMPUTE CONTENT CONTINUE -syn keyword cobolReserved contained CONTROL CONVERTING CORR CORRESPONDING COUNT CURRENCY DATE DATE-COMPILED -syn keyword cobolReserved contained DATE-WRITTEN DAY DAY-OF-WEEK DE DEBUG-CONTENTS DEBUG-ITEM DEBUG-LINE -syn keyword cobolReserved contained DEBUG-NAME DEBUG-SUB-1 DEBUG-SUB-2 DEBUG-SUB-3 DEBUGGING DECIMAL-POINT -syn keyword cobolReserved contained DELARATIVES DELETE DELIMITED DELIMITER DEPENDING DESCENDING DESTINATION -syn keyword cobolReserved contained DETAIL DISABLE DISPLAY DIVIDE DIVISION DOWN DUPLICATES DYNAMIC EGI ELSE EMI -syn keyword cobolReserved contained ENABLE END-ADD END-COMPUTE END-DELETE END-DIVIDE END-EVALUATE END-IF -syn keyword cobolReserved contained END-MULTIPLY END-OF-PAGE END-READ END-RECEIVE END-RETURN -syn keyword cobolReserved contained END-REWRITE END-SEARCH END-START END-STRING END-SUBTRACT END-UNSTRING -syn keyword cobolReserved contained END-WRITE EQUAL ERROR ESI EVALUATE EVERY EXCEPTION EXIT -syn keyword cobolReserved contained EXTEND EXTERNAL FALSE FD FILLER FINAL FIRST FOOTING FOR FROM -syn keyword cobolReserved contained GENERATE GIVING GLOBAL GREATER GROUP HEADING HIGH-VALUE HIGH-VALUES I-O -syn keyword cobolReserved contained INDEX INDEXED INDICATE INITIAL INITIALIZE -syn keyword cobolReserved contained INITIATE INPUT INSPECT INSTALLATION INTO IS JUST -syn keyword cobolReserved contained JUSTIFIED KEY LABEL LAST LEADING LEFT LENGTH LOCK MEMORY -syn keyword cobolReserved contained MERGE MESSAGE MODE MODULES MOVE MULTIPLE MULTIPLY NATIVE NEGATIVE NEXT NO NOT -syn keyword cobolReserved contained NUMBER NUMERIC NUMERIC-EDITED OCCURS OF OFF OMITTED ON OPEN -syn keyword cobolReserved contained OPTIONAL OR ORDER ORGANIZATION OTHER OUTPUT OVERFLOW PACKED-DECIMAL PADDING -syn keyword cobolReserved contained PAGE PAGE-COUNTER PERFORM PF PH PIC PICTURE PLUS POINTER POSITION POSITIVE -syn keyword cobolReserved contained PRINTING PROCEDURES PROCEDD PURGE QUEUE QUOTES -syn keyword cobolReserved contained RANDOM RD READ RECEIVE RECORD RECORDS REDEFINES REEL REFERENCE REFERENCES -syn keyword cobolReserved contained RELATIVE RELEASE REMAINDER REMOVAL REPLACE REPORT REPORTING -syn keyword cobolReserved contained REPORTS RERUN RESERVE RESET RETURN RETURNING REVERSED REWIND REWRITE RF RH -syn keyword cobolReserved contained RIGHT ROUNDED RUN SAME SD SEARCH SECTION SECURITY SEGMENT SEGMENT-LIMITED -syn keyword cobolReserved contained SELECT SEND SENTENCE SEPARATE SEQUENCE SEQUENTIAL SET SIGN SIZE SORT -syn keyword cobolReserved contained SORT-MERGE SOURCE STANDARD -syn keyword cobolReserved contained STANDARD-1 STANDARD-2 START STATUS STOP STRING SUB-QUEUE-1 SUB-QUEUE-2 -syn keyword cobolReserved contained SUB-QUEUE-3 SUBTRACT SUM SUPPRESS SYMBOLIC SYNC SYNCHRONIZED TABLE TALLYING -syn keyword cobolReserved contained TAPE TERMINAL TERMINATE TEST TEXT THAN THEN THROUGH THRU TIME TIMES TOP -syn keyword cobolReserved contained TRAILING TRUE TYPE UNIT UNSTRING UNTIL UP UPON USAGE USE USING VALUE VALUES -syn keyword cobolReserved contained VARYING WHEN WITH WORDS WRITE -syn match cobolReserved contained "\" -syn match cobolReserved contained "\<\(IF\|INVALID\|END\|EOP\)\>" -syn match cobolReserved contained "\" -" #C22032019: Add BY as match instead of keyword: BY not followed by == -syn match cobolReserved contained "\\s\+\(==\)\@!" -syn match cobolReserved contained "\" - -syn cluster cobolLine add=cobolConstant,cobolNumber,cobolPic -syn keyword cobolConstant SPACE SPACES NULL ZERO ZEROES ZEROS LOW-VALUE LOW-VALUES - -" #C22032019: Fix for many pic clauses -syn match cobolNumber "\<-\=\d*\.\=\d\+\>" contained -" syn match cobolPic \"\" contained -syn match cobolPic "\" contained -syn match cobolPic "\<$*\.\=9\+\>" contained -syn match cobolPic "\" contained -syn match cobolPic "\" contained -syn match cobolPic "\<9\+V\>" contained -" syn match cobolPic \"\<-\+[Z9]\+\>" contained -syn match cobolPic "\<-*[Z9]\+-*\>" contained -" #C22032019: Add Z,X and A to cobolPic -syn match cobolPic "\<[ZXA]\+\>" contained -syn match cobolTodo "todo" contained containedin=cobolInlineComment,cobolComment - -" For MicroFocus or other inline comments, include this line. -if g:cobol_inline_comment == 1 - syn region cobolInlineComment start="*>" end="$" contains=cobolTodo,cobolMarker - syn cluster cobolLine add=cobolInlineComment -endif - -syn match cobolBadLine "[^ D\*$/-].*" contained - -" If comment mark somehow gets into column past Column 7. -if g:cobol_inline_comment == 1 - " #C22032019: It is a bad line only if * is not followed by > when inline - " comments enabled - syn match cobolBadLine "\s\+\*\(>\)\@!.*" contained -else - syn match cobolBadLine "\s\+\*.*" contained -endif -syn cluster cobolStart add=cobolBadLine - -" #C22032019: Different highlighting for GO TO statements -" syn keyword cobolGoTo GO GOTO -syn keyword cobolGoTo GOTO -syn match cobolGoTo /\\s\+\/ -syn match cobolGoToPara /\\s\+\\s\+[A-Z0-9-]\+/ contains=cobolGoTo -" #C22032019: Highlight copybook name and location in using different group -" syn keyword cobolCopy COPY -syn match cobolCopy "\\|\" -syn match cobolCopy "\\s\+\(==\)\@=" -syn match cobolCopy "\\s\+\(==\)\@=" -syn match cobolCopyName "\\s\+[A-Z0-9]\+\(\s\+\\s\+[A-Z0-9]\+\)\?" contains=cobolCopy -syn cluster cobolLine add=cobolGoToPara,cobolCopyName - -" cobolBAD: things that are BAD NEWS! -syn keyword cobolBAD ALTER ENTER RENAMES - -syn cluster cobolLine add=cobolGoTo,cobolCopy,cobolBAD,cobolWatch,cobolEXECs - -" cobolWatch: things that are important when trying to understand a program -syn keyword cobolWatch OCCURS DEPENDING VARYING BINARY COMP REDEFINES -" #C22032019: Remove REPLACING from cobolWatch 'keyword' group and add to cobolCopy & -" cobolWatch 'match' group -" syn keyword cobolWatch REPLACING RUN -syn keyword cobolWatch RUN PROGRAM -syn match cobolWatch contained "\\s\+\(==\)\@!" -" #C22032019: Look for word starting with COMP -" syn match cobolWatch \"COMP-[123456XN]" -syn match cobolWatch "\" -syn match cobolCALLProg /\\s\+"\{0,1\}[A-Z0-9]\+"\{0,1\}/ contains=cobolCALLs -syn match cobolExtras /\ +" Last Change: 2022 Jun 14 +" Remark: Coco/R syntax partially implemented. +" License: MNV license + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn keyword cocoKeywords ANY CHARACTERS COMMENTS COMPILER CONTEXT END FROM IF IGNORE IGNORECASE NESTED PRAGMAS PRODUCTIONS SYNC TO TOKENS WEAK +syn match cocoUnilineComment #//.*$# +syn match cocoIdentifier /[[:alpha:]][[:alnum:]]*/ +syn region cocoMultilineComment start=#/[*]# end=#[*]/# +syn region cocoString start=/"/ skip=/\\"\|\\\\/ end=/"/ +syn region cocoCharacter start=/'/ skip=/\\'\|\\\\/ end=/'/ +syn match cocoOperator /+\||\|\.\.\|-\|(\|)\|{\|}\|\[\|\]\|=\|<\|>/ +syn region cocoProductionCode start=/([.]/ end=/[.])/ +syn match cocoPragma /[$][[:alnum:]]*/ + +hi def link cocoKeywords Keyword +hi def link cocoUnilineComment Comment +hi def link cocoMultilineComment Comment +hi def link cocoIdentifier Identifier +hi def link cocoString String +hi def link cocoCharacter Character +hi def link cocoOperator Operator +hi def link cocoProductionCode Statement +hi def link cocoPragma Special + +let b:current_syntax = 'coco' diff --git a/uvim/runtime/syntax/coco.vim b/uvim/runtime/syntax/coco.vim deleted file mode 100644 index dc21314e35..0000000000 --- a/uvim/runtime/syntax/coco.vim +++ /dev/null @@ -1,33 +0,0 @@ -" Vim syntax file -" Language: Coco/R -" Maintainer: Ashish Shukla -" Last Change: 2022 Jun 14 -" Remark: Coco/R syntax partially implemented. -" License: Vim license - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn keyword cocoKeywords ANY CHARACTERS COMMENTS COMPILER CONTEXT END FROM IF IGNORE IGNORECASE NESTED PRAGMAS PRODUCTIONS SYNC TO TOKENS WEAK -syn match cocoUnilineComment #//.*$# -syn match cocoIdentifier /[[:alpha:]][[:alnum:]]*/ -syn region cocoMultilineComment start=#/[*]# end=#[*]/# -syn region cocoString start=/"/ skip=/\\"\|\\\\/ end=/"/ -syn region cocoCharacter start=/'/ skip=/\\'\|\\\\/ end=/'/ -syn match cocoOperator /+\||\|\.\.\|-\|(\|)\|{\|}\|\[\|\]\|=\|<\|>/ -syn region cocoProductionCode start=/([.]/ end=/[.])/ -syn match cocoPragma /[$][[:alnum:]]*/ - -hi def link cocoKeywords Keyword -hi def link cocoUnilineComment Comment -hi def link cocoMultilineComment Comment -hi def link cocoIdentifier Identifier -hi def link cocoString String -hi def link cocoCharacter Character -hi def link cocoOperator Operator -hi def link cocoProductionCode Statement -hi def link cocoPragma Special - -let b:current_syntax = 'coco' diff --git a/uvim/runtime/syntax/codeowners.mnv b/uvim/runtime/syntax/codeowners.mnv new file mode 100644 index 0000000000..e995d28693 --- /dev/null +++ b/uvim/runtime/syntax/codeowners.mnv @@ -0,0 +1,23 @@ +" MNV syntax file +" Language: codeowners +" Maintainer: Jon Parise +" Last Change: 2025 Sep 14 + +if exists('b:current_syntax') + finish +endif + +" Comments +syn match codeownersComment /#.*$/ contains=codeownersTodo,@Spell +syn keyword codeownersTodo TODO FIXME XXX contained + +" Patterns +syn match codeownersPattern /^#\@![^#]*/ contains=codeownersGlob +syn match codeownersGlob /^\S\+/ contained nextgroup=codeownersOwner skipwhite +syn match codeownersOwner /\S\+/ contained nextgroup=codeownersOwner skipwhite + +hi def link codeownersComment Comment +hi def link codeownersOwner Identifier +hi def link codeownersTodo Todo + +let b:current_syntax = 'codeowners' diff --git a/uvim/runtime/syntax/codeowners.vim b/uvim/runtime/syntax/codeowners.vim deleted file mode 100644 index 7370220b7a..0000000000 --- a/uvim/runtime/syntax/codeowners.vim +++ /dev/null @@ -1,23 +0,0 @@ -" Vim syntax file -" Language: codeowners -" Maintainer: Jon Parise -" Last Change: 2025 Sep 14 - -if exists('b:current_syntax') - finish -endif - -" Comments -syn match codeownersComment /#.*$/ contains=codeownersTodo,@Spell -syn keyword codeownersTodo TODO FIXME XXX contained - -" Patterns -syn match codeownersPattern /^#\@![^#]*/ contains=codeownersGlob -syn match codeownersGlob /^\S\+/ contained nextgroup=codeownersOwner skipwhite -syn match codeownersOwner /\S\+/ contained nextgroup=codeownersOwner skipwhite - -hi def link codeownersComment Comment -hi def link codeownersOwner Identifier -hi def link codeownersTodo Todo - -let b:current_syntax = 'codeowners' diff --git a/uvim/runtime/syntax/colortest.mnv b/uvim/runtime/syntax/colortest.mnv new file mode 100644 index 0000000000..f661439024 --- /dev/null +++ b/uvim/runtime/syntax/colortest.mnv @@ -0,0 +1,82 @@ +" MNV script for testing colors +" Maintainer: The MNV Project +" Contributors: Rafael Garcia-Suarez, Charles Campbell +" Last Change: 2023 Aug 10 +" Former Maintainer: Bram Moolenaar + +" edit this file, then do ":source %", and check if the colors match + +" black black_on_white white_on_black +" black_on_black black_on_black +" darkred darkred_on_white white_on_darkred +" darkred_on_black black_on_darkred +" darkgreen darkgreen_on_white white_on_darkgreen +" darkgreen_on_black black_on_darkgreen +" brown brown_on_white white_on_brown +" brown_on_black black_on_brown +" darkblue darkblue_on_white white_on_darkblue +" darkblue_on_black black_on_darkblue +" darkmagenta darkmagenta_on_white white_on_darkmagenta +" darkmagenta_on_black black_on_darkmagenta +" darkcyan darkcyan_on_white white_on_darkcyan +" darkcyan_on_black black_on_darkcyan +" lightgray lightgray_on_white white_on_lightgray +" lightgray_on_black black_on_lightgray +" darkgray darkgray_on_white white_on_darkgray +" darkgray_on_black black_on_darkgray +" red red_on_white white_on_red +" red_on_black black_on_red +" green green_on_white white_on_green +" green_on_black black_on_green +" yellow yellow_on_white white_on_yellow +" yellow_on_black black_on_yellow +" blue blue_on_white white_on_blue +" blue_on_black black_on_blue +" magenta magenta_on_white white_on_magenta +" magenta_on_black black_on_magenta +" cyan cyan_on_white white_on_cyan +" cyan_on_black black_on_cyan +" white white_on_white white_on_white +" white_on_black black_on_white +" grey grey_on_white white_on_grey +" grey_on_black black_on_grey +" lightred lightred_on_white white_on_lightred +" lightred_on_black black_on_lightred +" lightgreen lightgreen_on_white white_on_lightgreen +" lightgreen_on_black black_on_lightgreen +" lightyellow lightyellow_on_white white_on_lightyellow +" lightyellow_on_black black_on_lightyellow +" lightblue lightblue_on_white white_on_lightblue +" lightblue_on_black black_on_lightblue +" lightmagenta lightmagenta_on_white white_on_lightmagenta +" lightmagenta_on_black black_on_lightmagenta +" lightcyan lightcyan_on_white white_on_lightcyan +" lightcyan_on_black black_on_lightcyan + +" Open this file in a window if it isn't edited yet. +" Use the current window if it's empty. +if expand('%:p') != expand(':p') + let s:fname = expand('') + if exists('*fnameescape') + let s:fname = fnameescape(s:fname) + else + let s:fname = escape(s:fname, ' \|') + endif + if &mod || line('$') != 1 || getline(1) != '' + exe "new " . s:fname + else + exe "edit " . s:fname + endif + unlet s:fname +endif + +syn clear +8 +while search("_on_", "W") < 55 + let col1 = substitute(expand(""), '\(\a\+\)_on_\a\+', '\1', "") + let col2 = substitute(expand(""), '\a\+_on_\(\a\+\)', '\1', "") + exec 'hi col_'.col1.'_'.col2.' ctermfg='.col1.' guifg='.col1.' ctermbg='.col2.' guibg='.col2 + exec 'syn keyword col_'.col1.'_'.col2.' '.col1.'_on_'.col2 +endwhile +8,54g/^" \a/exec 'hi col_'.expand("").' ctermfg='.expand("").' guifg='.expand("")| exec 'syn keyword col_'.expand("")." ".expand("") +nohlsearch diff --git a/uvim/runtime/syntax/colortest.vim b/uvim/runtime/syntax/colortest.vim deleted file mode 100644 index 1dd860c1d3..0000000000 --- a/uvim/runtime/syntax/colortest.vim +++ /dev/null @@ -1,82 +0,0 @@ -" Vim script for testing colors -" Maintainer: The Vim Project -" Contributors: Rafael Garcia-Suarez, Charles Campbell -" Last Change: 2023 Aug 10 -" Former Maintainer: Bram Moolenaar - -" edit this file, then do ":source %", and check if the colors match - -" black black_on_white white_on_black -" black_on_black black_on_black -" darkred darkred_on_white white_on_darkred -" darkred_on_black black_on_darkred -" darkgreen darkgreen_on_white white_on_darkgreen -" darkgreen_on_black black_on_darkgreen -" brown brown_on_white white_on_brown -" brown_on_black black_on_brown -" darkblue darkblue_on_white white_on_darkblue -" darkblue_on_black black_on_darkblue -" darkmagenta darkmagenta_on_white white_on_darkmagenta -" darkmagenta_on_black black_on_darkmagenta -" darkcyan darkcyan_on_white white_on_darkcyan -" darkcyan_on_black black_on_darkcyan -" lightgray lightgray_on_white white_on_lightgray -" lightgray_on_black black_on_lightgray -" darkgray darkgray_on_white white_on_darkgray -" darkgray_on_black black_on_darkgray -" red red_on_white white_on_red -" red_on_black black_on_red -" green green_on_white white_on_green -" green_on_black black_on_green -" yellow yellow_on_white white_on_yellow -" yellow_on_black black_on_yellow -" blue blue_on_white white_on_blue -" blue_on_black black_on_blue -" magenta magenta_on_white white_on_magenta -" magenta_on_black black_on_magenta -" cyan cyan_on_white white_on_cyan -" cyan_on_black black_on_cyan -" white white_on_white white_on_white -" white_on_black black_on_white -" grey grey_on_white white_on_grey -" grey_on_black black_on_grey -" lightred lightred_on_white white_on_lightred -" lightred_on_black black_on_lightred -" lightgreen lightgreen_on_white white_on_lightgreen -" lightgreen_on_black black_on_lightgreen -" lightyellow lightyellow_on_white white_on_lightyellow -" lightyellow_on_black black_on_lightyellow -" lightblue lightblue_on_white white_on_lightblue -" lightblue_on_black black_on_lightblue -" lightmagenta lightmagenta_on_white white_on_lightmagenta -" lightmagenta_on_black black_on_lightmagenta -" lightcyan lightcyan_on_white white_on_lightcyan -" lightcyan_on_black black_on_lightcyan - -" Open this file in a window if it isn't edited yet. -" Use the current window if it's empty. -if expand('%:p') != expand(':p') - let s:fname = expand('') - if exists('*fnameescape') - let s:fname = fnameescape(s:fname) - else - let s:fname = escape(s:fname, ' \|') - endif - if &mod || line('$') != 1 || getline(1) != '' - exe "new " . s:fname - else - exe "edit " . s:fname - endif - unlet s:fname -endif - -syn clear -8 -while search("_on_", "W") < 55 - let col1 = substitute(expand(""), '\(\a\+\)_on_\a\+', '\1', "") - let col2 = substitute(expand(""), '\a\+_on_\(\a\+\)', '\1', "") - exec 'hi col_'.col1.'_'.col2.' ctermfg='.col1.' guifg='.col1.' ctermbg='.col2.' guibg='.col2 - exec 'syn keyword col_'.col1.'_'.col2.' '.col1.'_on_'.col2 -endwhile -8,54g/^" \a/exec 'hi col_'.expand("").' ctermfg='.expand("").' guifg='.expand("")| exec 'syn keyword col_'.expand("")." ".expand("") -nohlsearch diff --git a/uvim/runtime/syntax/conaryrecipe.mnv b/uvim/runtime/syntax/conaryrecipe.mnv new file mode 100644 index 0000000000..a76c3f55aa --- /dev/null +++ b/uvim/runtime/syntax/conaryrecipe.mnv @@ -0,0 +1,137 @@ +" MNV syntax file +" Language: Conary Recipe +" Maintainer: rPath Inc +" Updated: 2007-12-08 + +if exists("b:current_syntax") + finish +endif + +runtime! syntax/python.mnv + +syn keyword conarySFunction mainDir addAction addSource addArchive addPatch +syn keyword conarySFunction addRedirect addSvnSnapshot addMercurialSnapshot +syn keyword conarySFunction addCvsSnapshot addGitSnapshot addBzrSnapshot + +syn keyword conaryGFunction add addAll addNewGroup addReference createGroup +syn keyword conaryGFunction addNewGroup startGroup remove removeComponents +syn keyword conaryGFunction replace setByDefault setDefaultGroup +syn keyword conaryGFunction setLabelPath addCopy setSearchPath AddAllFlags +syn keyword conaryGFunction GroupRecipe GroupReference TroveCacheWrapper +syn keyword conaryGFunction TroveCache buildGroups findTrovesForGroups +syn keyword conaryGFunction followRedirect processAddAllDirectives +syn keyword conaryGFunction processOneAddAllDirective removeDifferences +syn keyword conaryGFunction addTrovesToGroup addCopiedComponents +syn keyword conaryGFunction findAllWeakTrovesToRemove checkForRedirects +syn keyword conaryGFunction addPackagesForComponents getResolveSource +syn keyword conaryGFunction resolveGroupDependencies checkGroupDependencies +syn keyword conaryGFunction calcSizeAndCheckHashes findSourcesForGroup +syn keyword conaryGFunction addPostInstallScript addPostRollbackScript +syn keyword conaryGFunction addPostUpdateScript addPreUpdateScript +syn keyword conaryGFunction addTrove moveComponents copyComponents +syn keyword conaryGFunction removeItemsAlsoInNewGroup removeItemsAlsoInGroup +syn keyword conaryGFunction addResolveSource iterReplaceSpecs +syn keyword conaryGFunction setCompatibilityClass getLabelPath +syn keyword conaryGFunction getResolveTroveSpecs getSearchFlavor +syn keyword conaryGFunction getChildGroups getGroupMap + +syn keyword conaryBFunction Run Automake Configure ManualConfigure +syn keyword conaryBFunction Make MakeParallelSubdir MakeInstall +syn keyword conaryBFunction MakePathsInstall CompilePython +syn keyword conaryBFunction Ldconfig Desktopfile Environment SetModes +syn keyword conaryBFunction Install Copy Move Symlink Link Remove Doc +syn keyword conaryBFunction Create MakeDirs disableParallelMake +syn keyword conaryBFunction ConsoleHelper Replace SGMLCatalogEntry +syn keyword conaryBFunction XInetdService XMLCatalogEntry TestSuite +syn keyword conaryBFunction PythonSetup CMake Ant JavaCompile ClassPath +syn keyword conaryBFunction JavaDoc IncludeLicense MakeFIFO + +syn keyword conaryPFunction NonBinariesInBindirs FilesInMandir +syn keyword conaryPFunction ImproperlyShared CheckSonames CheckDestDir +syn keyword conaryPFunction ComponentSpec PackageSpec +syn keyword conaryPFunction Config InitScript GconfSchema SharedLibrary +syn keyword conaryPFunction ParseManifest MakeDevices DanglingSymlinks +syn keyword conaryPFunction AddModes WarnWriteable IgnoredSetuid +syn keyword conaryPFunction Ownership ExcludeDirectories +syn keyword conaryPFunction BadFilenames BadInterpreterPaths ByDefault +syn keyword conaryPFunction ComponentProvides ComponentRequires Flavor +syn keyword conaryPFunction EnforceConfigLogBuildRequirements Group +syn keyword conaryPFunction EnforceSonameBuildRequirements InitialContents +syn keyword conaryPFunction FilesForDirectories LinkCount +syn keyword conaryPFunction MakdeDevices NonMultilibComponent ObsoletePaths +syn keyword conaryPFunction NonMultilibDirectories NonUTF8Filenames TagSpec +syn keyword conaryPFunction Provides RequireChkconfig Requires TagHandler +syn keyword conaryPFunction TagDescription Transient User UtilizeGroup +syn keyword conaryPFunction WorldWritableExecutables UtilizeUser +syn keyword conaryPFunction WarnWritable Strip CheckDesktopFiles +syn keyword conaryPFunction FixDirModes LinkType reportMissingBuildRequires +syn keyword conaryPFunction reportErrors FixupManpagePaths FixObsoletePaths +syn keyword conaryPFunction NonLSBPaths PythonEggs +syn keyword conaryPFunction EnforcePythonBuildRequirements +syn keyword conaryPFunction EnforceJavaBuildRequirements +syn keyword conaryPFunction EnforceCILBuildRequirements +syn keyword conaryPFunction EnforcePerlBuildRequirements +syn keyword conaryPFunction EnforceFlagBuildRequirements +syn keyword conaryPFunction FixupMultilibPaths ExecutableLibraries +syn keyword conaryPFunction NormalizeLibrarySymlinks NormalizeCompression +syn keyword conaryPFunction NormalizeManPages NormalizeInfoPages +syn keyword conaryPFunction NormalizeInitscriptLocation +syn keyword conaryPFunction NormalizeInitscriptContents +syn keyword conaryPFunction NormalizeAppDefaults NormalizeInterpreterPaths +syn keyword conaryPFunction NormalizePamConfig ReadableDocs +syn keyword conaryPFunction WorldWriteableExecutables NormalizePkgConfig +syn keyword conaryPFunction EtcConfig InstallBucket SupplementalGroup +syn keyword conaryPFunction FixBuilddirSymlink RelativeSymlinks + +" Most destdirPolicy aren't called from recipes, except for these +syn keyword conaryPFunction AutoDoc RemoveNonPackageFiles TestSuiteFiles +syn keyword conaryPFunction TestSuiteLinks + +syn match conaryMacro "%(\w\+)[sd]" contained +syn match conaryBadMacro "%(\w*)[^sd]" contained " no final marker +syn keyword conaryArches contained x86 x86_64 alpha ia64 ppc ppc64 s390 +syn keyword conaryArches contained sparc sparc64 +syn keyword conarySubArches contained sse2 3dnow 3dnowext cmov i486 i586 +syn keyword conarySubArches contained i686 mmx mmxext nx sse sse2 +syn keyword conaryBad RPM_BUILD_ROOT EtcConfig InstallBucket subDir +syn keyword conaryBad RPM_OPT_FLAGS subdir +syn cluster conaryArchFlags contains=conaryArches,conarySubArches +syn match conaryArch "Arch\.[a-z0-9A-Z]\+" contains=conaryArches,conarySubArches +syn match conaryArch "Arch\.[a-z0-9A-Z]\+" contains=conaryArches,conarySubArches +syn keyword conaryKeywords name buildRequires version clearBuildReqs +syn keyword conaryUseFlag contained pcre tcpwrappers gcj gnat selinux pam +syn keyword conaryUseFlag contained bootstrap python perl +syn keyword conaryUseFlag contained readline gdbm emacs krb builddocs +syn keyword conaryUseFlag contained alternatives tcl tk X gtk gnome qt +syn keyword conaryUseFlag contained xfce gd ldap sasl pie desktop ssl kde +syn keyword conaryUseFlag contained slang netpbm nptl ipv6 buildtests +syn keyword conaryUseFlag contained ntpl xen dom0 domU +syn match conaryUse "Use\.[a-z0-9A-Z]\+" contains=conaryUseFlag + +" strings +syn region pythonString matchgroup=Normal start=+[uU]\='+ end=+'+ skip=+\\\\\|\\'+ contains=pythonEscape,conaryMacro,conaryBadMacro +syn region pythonString matchgroup=Normal start=+[uU]\="+ end=+"+ skip=+\\\\\|\\"+ contains=pythonEscape,conaryMacro,conaryBadMacro +syn region pythonString matchgroup=Normal start=+[uU]\="""+ end=+"""+ contains=pythonEscape,conaryMacro,conaryBadMacro +syn region pythonString matchgroup=Normal start=+[uU]\='''+ end=+'''+ contains=pythonEscape,conaryMacro,conaryBadMacro +syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]'+ end=+'+ skip=+\\\\\|\\'+ contains=conaryMacro,conaryBadMacro +syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]"+ end=+"+ skip=+\\\\\|\\"+ contains=conaryMacro,conaryBadMacro +syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]"""+ end=+"""+ contains=conaryMacro,conaryBadMacro +syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]'''+ end=+'''+ contains=conaryMacro,conaryBadMacro + +hi def link conaryMacro Special +hi def link conaryrecipeFunction Function +hi def link conaryError Error +hi def link conaryBFunction conaryrecipeFunction +hi def link conaryGFunction conaryrecipeFunction +hi def link conarySFunction Operator +hi def link conaryPFunction Typedef +hi def link conaryFlags PreCondit +hi def link conaryArches Special +hi def link conarySubArches Special +hi def link conaryBad conaryError +hi def link conaryBadMacro conaryError +hi def link conaryKeywords Special +hi def link conaryUseFlag Typedef + +let b:current_syntax = "conaryrecipe" + diff --git a/uvim/runtime/syntax/conaryrecipe.vim b/uvim/runtime/syntax/conaryrecipe.vim deleted file mode 100644 index f94fdd4074..0000000000 --- a/uvim/runtime/syntax/conaryrecipe.vim +++ /dev/null @@ -1,137 +0,0 @@ -" Vim syntax file -" Language: Conary Recipe -" Maintainer: rPath Inc -" Updated: 2007-12-08 - -if exists("b:current_syntax") - finish -endif - -runtime! syntax/python.vim - -syn keyword conarySFunction mainDir addAction addSource addArchive addPatch -syn keyword conarySFunction addRedirect addSvnSnapshot addMercurialSnapshot -syn keyword conarySFunction addCvsSnapshot addGitSnapshot addBzrSnapshot - -syn keyword conaryGFunction add addAll addNewGroup addReference createGroup -syn keyword conaryGFunction addNewGroup startGroup remove removeComponents -syn keyword conaryGFunction replace setByDefault setDefaultGroup -syn keyword conaryGFunction setLabelPath addCopy setSearchPath AddAllFlags -syn keyword conaryGFunction GroupRecipe GroupReference TroveCacheWrapper -syn keyword conaryGFunction TroveCache buildGroups findTrovesForGroups -syn keyword conaryGFunction followRedirect processAddAllDirectives -syn keyword conaryGFunction processOneAddAllDirective removeDifferences -syn keyword conaryGFunction addTrovesToGroup addCopiedComponents -syn keyword conaryGFunction findAllWeakTrovesToRemove checkForRedirects -syn keyword conaryGFunction addPackagesForComponents getResolveSource -syn keyword conaryGFunction resolveGroupDependencies checkGroupDependencies -syn keyword conaryGFunction calcSizeAndCheckHashes findSourcesForGroup -syn keyword conaryGFunction addPostInstallScript addPostRollbackScript -syn keyword conaryGFunction addPostUpdateScript addPreUpdateScript -syn keyword conaryGFunction addTrove moveComponents copyComponents -syn keyword conaryGFunction removeItemsAlsoInNewGroup removeItemsAlsoInGroup -syn keyword conaryGFunction addResolveSource iterReplaceSpecs -syn keyword conaryGFunction setCompatibilityClass getLabelPath -syn keyword conaryGFunction getResolveTroveSpecs getSearchFlavor -syn keyword conaryGFunction getChildGroups getGroupMap - -syn keyword conaryBFunction Run Automake Configure ManualConfigure -syn keyword conaryBFunction Make MakeParallelSubdir MakeInstall -syn keyword conaryBFunction MakePathsInstall CompilePython -syn keyword conaryBFunction Ldconfig Desktopfile Environment SetModes -syn keyword conaryBFunction Install Copy Move Symlink Link Remove Doc -syn keyword conaryBFunction Create MakeDirs disableParallelMake -syn keyword conaryBFunction ConsoleHelper Replace SGMLCatalogEntry -syn keyword conaryBFunction XInetdService XMLCatalogEntry TestSuite -syn keyword conaryBFunction PythonSetup CMake Ant JavaCompile ClassPath -syn keyword conaryBFunction JavaDoc IncludeLicense MakeFIFO - -syn keyword conaryPFunction NonBinariesInBindirs FilesInMandir -syn keyword conaryPFunction ImproperlyShared CheckSonames CheckDestDir -syn keyword conaryPFunction ComponentSpec PackageSpec -syn keyword conaryPFunction Config InitScript GconfSchema SharedLibrary -syn keyword conaryPFunction ParseManifest MakeDevices DanglingSymlinks -syn keyword conaryPFunction AddModes WarnWriteable IgnoredSetuid -syn keyword conaryPFunction Ownership ExcludeDirectories -syn keyword conaryPFunction BadFilenames BadInterpreterPaths ByDefault -syn keyword conaryPFunction ComponentProvides ComponentRequires Flavor -syn keyword conaryPFunction EnforceConfigLogBuildRequirements Group -syn keyword conaryPFunction EnforceSonameBuildRequirements InitialContents -syn keyword conaryPFunction FilesForDirectories LinkCount -syn keyword conaryPFunction MakdeDevices NonMultilibComponent ObsoletePaths -syn keyword conaryPFunction NonMultilibDirectories NonUTF8Filenames TagSpec -syn keyword conaryPFunction Provides RequireChkconfig Requires TagHandler -syn keyword conaryPFunction TagDescription Transient User UtilizeGroup -syn keyword conaryPFunction WorldWritableExecutables UtilizeUser -syn keyword conaryPFunction WarnWritable Strip CheckDesktopFiles -syn keyword conaryPFunction FixDirModes LinkType reportMissingBuildRequires -syn keyword conaryPFunction reportErrors FixupManpagePaths FixObsoletePaths -syn keyword conaryPFunction NonLSBPaths PythonEggs -syn keyword conaryPFunction EnforcePythonBuildRequirements -syn keyword conaryPFunction EnforceJavaBuildRequirements -syn keyword conaryPFunction EnforceCILBuildRequirements -syn keyword conaryPFunction EnforcePerlBuildRequirements -syn keyword conaryPFunction EnforceFlagBuildRequirements -syn keyword conaryPFunction FixupMultilibPaths ExecutableLibraries -syn keyword conaryPFunction NormalizeLibrarySymlinks NormalizeCompression -syn keyword conaryPFunction NormalizeManPages NormalizeInfoPages -syn keyword conaryPFunction NormalizeInitscriptLocation -syn keyword conaryPFunction NormalizeInitscriptContents -syn keyword conaryPFunction NormalizeAppDefaults NormalizeInterpreterPaths -syn keyword conaryPFunction NormalizePamConfig ReadableDocs -syn keyword conaryPFunction WorldWriteableExecutables NormalizePkgConfig -syn keyword conaryPFunction EtcConfig InstallBucket SupplementalGroup -syn keyword conaryPFunction FixBuilddirSymlink RelativeSymlinks - -" Most destdirPolicy aren't called from recipes, except for these -syn keyword conaryPFunction AutoDoc RemoveNonPackageFiles TestSuiteFiles -syn keyword conaryPFunction TestSuiteLinks - -syn match conaryMacro "%(\w\+)[sd]" contained -syn match conaryBadMacro "%(\w*)[^sd]" contained " no final marker -syn keyword conaryArches contained x86 x86_64 alpha ia64 ppc ppc64 s390 -syn keyword conaryArches contained sparc sparc64 -syn keyword conarySubArches contained sse2 3dnow 3dnowext cmov i486 i586 -syn keyword conarySubArches contained i686 mmx mmxext nx sse sse2 -syn keyword conaryBad RPM_BUILD_ROOT EtcConfig InstallBucket subDir -syn keyword conaryBad RPM_OPT_FLAGS subdir -syn cluster conaryArchFlags contains=conaryArches,conarySubArches -syn match conaryArch "Arch\.[a-z0-9A-Z]\+" contains=conaryArches,conarySubArches -syn match conaryArch "Arch\.[a-z0-9A-Z]\+" contains=conaryArches,conarySubArches -syn keyword conaryKeywords name buildRequires version clearBuildReqs -syn keyword conaryUseFlag contained pcre tcpwrappers gcj gnat selinux pam -syn keyword conaryUseFlag contained bootstrap python perl -syn keyword conaryUseFlag contained readline gdbm emacs krb builddocs -syn keyword conaryUseFlag contained alternatives tcl tk X gtk gnome qt -syn keyword conaryUseFlag contained xfce gd ldap sasl pie desktop ssl kde -syn keyword conaryUseFlag contained slang netpbm nptl ipv6 buildtests -syn keyword conaryUseFlag contained ntpl xen dom0 domU -syn match conaryUse "Use\.[a-z0-9A-Z]\+" contains=conaryUseFlag - -" strings -syn region pythonString matchgroup=Normal start=+[uU]\='+ end=+'+ skip=+\\\\\|\\'+ contains=pythonEscape,conaryMacro,conaryBadMacro -syn region pythonString matchgroup=Normal start=+[uU]\="+ end=+"+ skip=+\\\\\|\\"+ contains=pythonEscape,conaryMacro,conaryBadMacro -syn region pythonString matchgroup=Normal start=+[uU]\="""+ end=+"""+ contains=pythonEscape,conaryMacro,conaryBadMacro -syn region pythonString matchgroup=Normal start=+[uU]\='''+ end=+'''+ contains=pythonEscape,conaryMacro,conaryBadMacro -syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]'+ end=+'+ skip=+\\\\\|\\'+ contains=conaryMacro,conaryBadMacro -syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]"+ end=+"+ skip=+\\\\\|\\"+ contains=conaryMacro,conaryBadMacro -syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]"""+ end=+"""+ contains=conaryMacro,conaryBadMacro -syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]'''+ end=+'''+ contains=conaryMacro,conaryBadMacro - -hi def link conaryMacro Special -hi def link conaryrecipeFunction Function -hi def link conaryError Error -hi def link conaryBFunction conaryrecipeFunction -hi def link conaryGFunction conaryrecipeFunction -hi def link conarySFunction Operator -hi def link conaryPFunction Typedef -hi def link conaryFlags PreCondit -hi def link conaryArches Special -hi def link conarySubArches Special -hi def link conaryBad conaryError -hi def link conaryBadMacro conaryError -hi def link conaryKeywords Special -hi def link conaryUseFlag Typedef - -let b:current_syntax = "conaryrecipe" - diff --git a/uvim/runtime/syntax/conf.mnv b/uvim/runtime/syntax/conf.mnv new file mode 100644 index 0000000000..b8a81423ee --- /dev/null +++ b/uvim/runtime/syntax/conf.mnv @@ -0,0 +1,27 @@ +" MNV syntax file +" Language: generic configure file +" Maintainer: The MNV Project +" Last Change: 2023 Aug 10 +" Former Maintainer: Bram Moolenaar + +" Quit when a (custom) syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn keyword confTodo contained TODO FIXME XXX +" Avoid matching "text#text", used in /etc/disktab and /etc/gettytab +syn match confComment "^#.*" contains=confTodo,@Spell +syn match confComment "\s#.*"ms=s+1 contains=confTodo,@Spell +syn region confString start=+"+ skip=+\\\\\|\\"+ end=+"+ oneline +syn region confString start=+'+ skip=+\\\\\|\\'+ end=+'+ oneline + +" Define the default highlighting. +" Only used when an item doesn't have highlighting yet +hi def link confComment Comment +hi def link confTodo Todo +hi def link confString String + +let b:current_syntax = "conf" + +" mnv: ts=8 sw=2 diff --git a/uvim/runtime/syntax/conf.vim b/uvim/runtime/syntax/conf.vim deleted file mode 100644 index 15a1fffab3..0000000000 --- a/uvim/runtime/syntax/conf.vim +++ /dev/null @@ -1,27 +0,0 @@ -" Vim syntax file -" Language: generic configure file -" Maintainer: The Vim Project -" Last Change: 2023 Aug 10 -" Former Maintainer: Bram Moolenaar - -" Quit when a (custom) syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn keyword confTodo contained TODO FIXME XXX -" Avoid matching "text#text", used in /etc/disktab and /etc/gettytab -syn match confComment "^#.*" contains=confTodo,@Spell -syn match confComment "\s#.*"ms=s+1 contains=confTodo,@Spell -syn region confString start=+"+ skip=+\\\\\|\\"+ end=+"+ oneline -syn region confString start=+'+ skip=+\\\\\|\\'+ end=+'+ oneline - -" Define the default highlighting. -" Only used when an item doesn't have highlighting yet -hi def link confComment Comment -hi def link confTodo Todo -hi def link confString String - -let b:current_syntax = "conf" - -" vim: ts=8 sw=2 diff --git a/uvim/runtime/syntax/config.mnv b/uvim/runtime/syntax/config.mnv new file mode 100644 index 0000000000..1d9f990bfa --- /dev/null +++ b/uvim/runtime/syntax/config.mnv @@ -0,0 +1,60 @@ +" MNV syntax file +" Language: Autoconf M4 +" Former Maintainer: Christian Hammesr +" Last Change: 2018 Feb 03 +" (patch from Yngve Inntjore Levinsen to detect AC_MSG) +" (patch from Khym Chanur to add @Spell) +" (patch from James McCoy to fix paren matching) +" (2025 Sep 14 patch from Damien Lejay to detect unportable +=) +" (2025 Sep 18 by MNV Project: fix inconsistent group name) + +" Well, I actually even do not know much about m4. This explains why there +" is probably very much missing here, yet ! +" But I missed good highlighting when editing my GNU autoconf/automake +" script, so I wrote this quick and dirty patch. + + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" define the config syntax +syn match configdelimiter "[()\[\];,]" +syn match configoperator "[=|&\*\+\<\>]" +syn match configcomment "\(dnl.*\)\|\(#.*\)" contains=configDnl,@Spell +syn match configfunction "\<[A-Z_][A-Z0-9_]*\>" +syn match confignumber "[-+]\=\<\d\+\(\.\d*\)\=\>" +syn keyword configDnl dnl contained +syn keyword configkeyword if then else fi test for in do done +syn keyword configspecial cat rm eval + +" This shortens the script, see syn-ext-match.. +syn region configstring start=+\z(["'`]\)+ skip=+\\\z1+ end=+\z1+ contains=@Spell + +" Anything inside AC_MSG_TYPE([...]) and AC_MSG_TYPE(...) is a string. +syn region configmsg matchgroup=configfunction start="AC_MSG_[A-Z]*\ze(\[" matchgroup=configdelimiter end="\])" contains=configdelimiter,@Spell +syn region configmsg matchgroup=configfunction start="AC_MSG_[A-Z]*\ze([^[]" matchgroup=configdelimiter end=")" contains=configdelimiter,@Spell + +" Help write portable shell code +syn match configPlusEq '\v\+\=' containedin=ALLBUT,configcomment + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link configdelimiter Delimiter +hi def link configoperator Operator +hi def link configcomment Comment +hi def link configDnl Comment +hi def link configfunction Function +hi def link confignumber Number +hi def link configkeyword Keyword +hi def link configspecial Special +hi def link configstring String +hi def link configmsg String +hi def link configPlusEq Error + + +let b:current_syntax = "config" + +" mnv: ts=4 diff --git a/uvim/runtime/syntax/config.vim b/uvim/runtime/syntax/config.vim deleted file mode 100644 index 2e8f62693c..0000000000 --- a/uvim/runtime/syntax/config.vim +++ /dev/null @@ -1,60 +0,0 @@ -" Vim syntax file -" Language: Autoconf M4 -" Former Maintainer: Christian Hammesr -" Last Change: 2018 Feb 03 -" (patch from Yngve Inntjore Levinsen to detect AC_MSG) -" (patch from Khym Chanur to add @Spell) -" (patch from James McCoy to fix paren matching) -" (2025 Sep 14 patch from Damien Lejay to detect unportable +=) -" (2025 Sep 18 by Vim Project: fix inconsistent group name) - -" Well, I actually even do not know much about m4. This explains why there -" is probably very much missing here, yet ! -" But I missed good highlighting when editing my GNU autoconf/automake -" script, so I wrote this quick and dirty patch. - - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" define the config syntax -syn match configdelimiter "[()\[\];,]" -syn match configoperator "[=|&\*\+\<\>]" -syn match configcomment "\(dnl.*\)\|\(#.*\)" contains=configDnl,@Spell -syn match configfunction "\<[A-Z_][A-Z0-9_]*\>" -syn match confignumber "[-+]\=\<\d\+\(\.\d*\)\=\>" -syn keyword configDnl dnl contained -syn keyword configkeyword if then else fi test for in do done -syn keyword configspecial cat rm eval - -" This shortens the script, see syn-ext-match.. -syn region configstring start=+\z(["'`]\)+ skip=+\\\z1+ end=+\z1+ contains=@Spell - -" Anything inside AC_MSG_TYPE([...]) and AC_MSG_TYPE(...) is a string. -syn region configmsg matchgroup=configfunction start="AC_MSG_[A-Z]*\ze(\[" matchgroup=configdelimiter end="\])" contains=configdelimiter,@Spell -syn region configmsg matchgroup=configfunction start="AC_MSG_[A-Z]*\ze([^[]" matchgroup=configdelimiter end=")" contains=configdelimiter,@Spell - -" Help write portable shell code -syn match configPlusEq '\v\+\=' containedin=ALLBUT,configcomment - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link configdelimiter Delimiter -hi def link configoperator Operator -hi def link configcomment Comment -hi def link configDnl Comment -hi def link configfunction Function -hi def link confignumber Number -hi def link configkeyword Keyword -hi def link configspecial Special -hi def link configstring String -hi def link configmsg String -hi def link configPlusEq Error - - -let b:current_syntax = "config" - -" vim: ts=4 diff --git a/uvim/runtime/syntax/confini.mnv b/uvim/runtime/syntax/confini.mnv new file mode 100644 index 0000000000..c9e75c96bf --- /dev/null +++ b/uvim/runtime/syntax/confini.mnv @@ -0,0 +1,18 @@ +" MNV syntax file +" Language: confini +" Last Change: +" 2025 May 02 by MNV project commented line starts with # only + +" Quit if a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" Use the cfg syntax for now, it's similar. +runtime! syntax/cfg.mnv + +" Only accept '#' as the start of a comment. +syn clear CfgComment +syn match CfgComment "#.*" contains=@Spell + +let b:current_syntax = 'confini' diff --git a/uvim/runtime/syntax/confini.vim b/uvim/runtime/syntax/confini.vim deleted file mode 100644 index 009a60c60a..0000000000 --- a/uvim/runtime/syntax/confini.vim +++ /dev/null @@ -1,18 +0,0 @@ -" Vim syntax file -" Language: confini -" Last Change: -" 2025 May 02 by Vim project commented line starts with # only - -" Quit if a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" Use the cfg syntax for now, it's similar. -runtime! syntax/cfg.vim - -" Only accept '#' as the start of a comment. -syn clear CfgComment -syn match CfgComment "#.*" contains=@Spell - -let b:current_syntax = 'confini' diff --git a/uvim/runtime/syntax/context.mnv b/uvim/runtime/syntax/context.mnv new file mode 100644 index 0000000000..d7802b27b9 --- /dev/null +++ b/uvim/runtime/syntax/context.mnv @@ -0,0 +1,144 @@ +mnv9script + +# MNV syntax file +# Language: ConTeXt typesetting engine +# Maintainer: Nicola Vitacolonna +# Former Maintainers: Nikolai Weibull +# Latest Revision: 2026 Jan 10 + +if exists("b:current_syntax") + finish +endif + +# Dictionary of (filetype, group) pairs to highlight between \startGROUP \stopGROUP. +var context_include = get(b:, 'context_include', get(g:, 'context_include', {'xml': 'XML'})) + +# Deprecation warning +if type(context_include) ==# type([]) + echomsg "[ConTeXt] b:context_include/g:context_include must be Dictionaries." + context_include = {'xml': 'XML'} +endif + +syn iskeyword @,48-57,_,!,?,a-z,A-Z,192-255 + +syn spell toplevel + +runtime! syntax/shared/context-data-context.mnv +runtime! syntax/shared/context-data-interfaces.mnv +runtime! syntax/shared/context-data-tex.mnv + +syn match contextCommand '\\\k\+\>' display contains=@NoSpell + +# ConTeXt options, i.e., [...] blocks +syn region contextOptions matchgroup=contextDelimiter start='\[' end=']\|\ze\\stop' skip='\\\[\|\\\]' contains=TOP,@Spell + +# Highlight braces +syn match contextDelimiter '[{}]' + +# Comments +syn match contextComment '\%(\_^\|[^\\]\)\%(\\\\\)*\zs%.*$' display contains=contextTodo,contextMagicLine +syn match contextComment '^\s*%[CDM].*$' display contains=contextTodo,contextMagicLine +syn keyword contextTodo TODO FIXME XXX NOTE contained +syn match contextMagicLine '^\s*%\s*!TEX.*$' contained + +syn match contextBlockDelim '\\\%(start\|stop\)\k\+' contains=@NoSpell + +syn region contextEscaped matchgroup=contextPreProc start='\\type\%(\s*\|\n\)*\z([^A-Za-z%]\)' end='\z1' +syn region contextEscaped matchgroup=contextPreProc start='\\type\=\%(\s\|\n\)*{' end='}' +syn region contextEscaped matchgroup=contextPreProc start='\\type\=\%(\s*\|\n\)*<<' end='>>' +syn region contextEscaped matchgroup=contextPreProc + \ start='\\start\z(\a*\%(typing\|typen\)\)' + \ end='\\stop\z1' contains=contextComment keepend +syn region contextEscaped matchgroup=contextPreProc start='\\\h\+Type\%(\s\|\n\)*{' end='}' +syn region contextEscaped matchgroup=contextPreProc start='\\Typed\h\+\%(\s\|\n\)*{' end='}' + +syn match contextBuiltin '\\unexpanded\>' display contains=@NoSpell + +# \unprotect... \protect regions +syn region contextUnprotect matchgroup=contextBuiltin start='\\unprotect' end='\\protect' contains=TOP +syn match contextSequence '\\[a-zA-Z]*[@_!?]\+[a-zA-Z@_!?]*' contains=@NoSpell contained containedin=contextUnprotect + +# Math +syn match contextMathCmd '\\m\%(ath\%(ematics\)\=\)\=\>' +syn region contextInlineMath matchgroup=contextMathDelim start='\$' skip='\\\\\|\\\$' end='\$' +syn region contextDisplayMath matchgroup=contextMathDelim start='\$\$' skip='\\\\\|\\\$' end='\$\$' keepend +syn region contextDisplayMath matchgroup=contextBlockDelim start='\\startformula' end='\\stopformula' contains=TOP + +# MetaFun +b:mp_metafun = 1 +syn include @mpTop syntax/mp.mnv +unlet b:current_syntax + +syn region contextMPGraphic matchgroup=contextBlockDelim + \ start='\\start\z(MP\%(clip\|code\|definitions\|drawing\|environment\|extensions\|inclusions\|initializations\|page\|\)\)\>.*$' + \ end='\\stop\z1' + \ contains=@mpTop,@NoSpell +syn region contextMPGraphic matchgroup=contextBlockDelim + \ start='\\start\z(\%(\%[re]usable\|use\|unique\|static\)MPgraphic\|staticMPfigure\|uniqueMPpagegraphic\)\>.*$' + \ end='\\stop\z1' + \ contains=@mpTop,@NoSpell + +# Lua +syn include @luaTop syntax/lua.mnv +unlet b:current_syntax + +syn region contextLuaCode matchgroup=contextBlockDelim + \ start='\\startluacode\>' + \ end='\\stopluacode\>' keepend + \ contains=@luaTop,@NoSpell +syn match contextDirectLua "\\\%(directlua\|ctxlua\)\>\%(\s*%.*$\)\=" + \ nextgroup=contextBeginEndLua skipwhite skipempty + \ contains=contextComment +syn region contextBeginEndLua matchgroup=contextSpecial + \ start="{" end="}" skip="\\[{}]" keepend + \ contained contains=@luaTop,@NoSpell + +for synname in keys(context_include) + execute 'syn include @' .. synname .. 'Top' 'syntax/' .. synname .. '.mnv' + unlet b:current_syntax + execute 'syn region context' .. context_include[synname] .. 'Code' + \ 'matchgroup=contextBlockDelim' + \ 'start=+\\start' .. context_include[synname] .. '\w*+' + \ 'end=+\\stop' .. context_include[synname] .. '\w*+' + \ 'contains=@' .. synname .. 'Top,@NoSpell' +endfor + +syn match contextSectioning '\\\%(start\|stop\)\=\%(\%(sub\)*section\|\%(sub\)*subject\|chapter\|part\|component\|product\|title\)\>' contains=@NoSpell + +syn match contextSpecial '\\par\>\|-\{2,3}\||[<>/]\=|' contains=@NoSpell +syn match contextSpecial /\\[`'"]/ +syn match contextSpecial +\\char\%(\d\{1,3}\|'\o\{1,3}\|"\x\{1,2}\)\>+ contains=@NoSpell +syn match contextSpecial '\^\^.' +syn match contextSpecial '`\%(\\.\|\^\^.\|.\)' + +syn match contextStyle '\\\%(em\|ss\|hw\|cg\|mf\)\>' contains=@NoSpell +syn match contextFont '\\\%(CAP\|Cap\|cap\|Caps\|kap\|nocap\)\>' contains=@NoSpell +syn match contextFont '\\\%(Word\|WORD\|Words\|WORDS\)\>' contains=@NoSpell +syn match contextFont '\\\%(vi\{1,3}\|ix\|xi\{0,2}\)\>' contains=@NoSpell +syn match contextFont '\\\%(tf\|b[si]\|s[cl]\|os\)\%(xx\|[xabcd]\)\=\>' contains=@NoSpell + +hi def link contextBlockDelim Keyword +hi def link contextBuiltin Keyword +hi def link contextCommand Keyword +hi def link contextComment Comment +hi def link contextDelimiter Delimiter +hi def link contextDirectLua Keyword +hi def link contextEscaped String +hi def link contextFont contextType +hi def link contextKeyword Keyword +hi def link contextInlineMath String +hi def link contextMagicLine PreProc +hi def link contextMathCmd Identifier +hi def link contextMathDelim Delimiter +hi def link contextOptions Typedef +hi def link contextPreProc PreProc +hi def link contextSectioning PreProc +hi def link contextSequence Identifier +hi def link contextSpecial Special +hi def link contextStyle contextType +hi def link contextTodo Todo +hi def link contextType Type + +b:current_syntax = 'context' + +# mnv: sw=2 fdm=marker diff --git a/uvim/runtime/syntax/context.vim b/uvim/runtime/syntax/context.vim deleted file mode 100644 index 07b59c0fcb..0000000000 --- a/uvim/runtime/syntax/context.vim +++ /dev/null @@ -1,144 +0,0 @@ -vim9script - -# Vim syntax file -# Language: ConTeXt typesetting engine -# Maintainer: Nicola Vitacolonna -# Former Maintainers: Nikolai Weibull -# Latest Revision: 2026 Jan 10 - -if exists("b:current_syntax") - finish -endif - -# Dictionary of (filetype, group) pairs to highlight between \startGROUP \stopGROUP. -var context_include = get(b:, 'context_include', get(g:, 'context_include', {'xml': 'XML'})) - -# Deprecation warning -if type(context_include) ==# type([]) - echomsg "[ConTeXt] b:context_include/g:context_include must be Dictionaries." - context_include = {'xml': 'XML'} -endif - -syn iskeyword @,48-57,_,!,?,a-z,A-Z,192-255 - -syn spell toplevel - -runtime! syntax/shared/context-data-context.vim -runtime! syntax/shared/context-data-interfaces.vim -runtime! syntax/shared/context-data-tex.vim - -syn match contextCommand '\\\k\+\>' display contains=@NoSpell - -# ConTeXt options, i.e., [...] blocks -syn region contextOptions matchgroup=contextDelimiter start='\[' end=']\|\ze\\stop' skip='\\\[\|\\\]' contains=TOP,@Spell - -# Highlight braces -syn match contextDelimiter '[{}]' - -# Comments -syn match contextComment '\%(\_^\|[^\\]\)\%(\\\\\)*\zs%.*$' display contains=contextTodo,contextMagicLine -syn match contextComment '^\s*%[CDM].*$' display contains=contextTodo,contextMagicLine -syn keyword contextTodo TODO FIXME XXX NOTE contained -syn match contextMagicLine '^\s*%\s*!TEX.*$' contained - -syn match contextBlockDelim '\\\%(start\|stop\)\k\+' contains=@NoSpell - -syn region contextEscaped matchgroup=contextPreProc start='\\type\%(\s*\|\n\)*\z([^A-Za-z%]\)' end='\z1' -syn region contextEscaped matchgroup=contextPreProc start='\\type\=\%(\s\|\n\)*{' end='}' -syn region contextEscaped matchgroup=contextPreProc start='\\type\=\%(\s*\|\n\)*<<' end='>>' -syn region contextEscaped matchgroup=contextPreProc - \ start='\\start\z(\a*\%(typing\|typen\)\)' - \ end='\\stop\z1' contains=contextComment keepend -syn region contextEscaped matchgroup=contextPreProc start='\\\h\+Type\%(\s\|\n\)*{' end='}' -syn region contextEscaped matchgroup=contextPreProc start='\\Typed\h\+\%(\s\|\n\)*{' end='}' - -syn match contextBuiltin '\\unexpanded\>' display contains=@NoSpell - -# \unprotect... \protect regions -syn region contextUnprotect matchgroup=contextBuiltin start='\\unprotect' end='\\protect' contains=TOP -syn match contextSequence '\\[a-zA-Z]*[@_!?]\+[a-zA-Z@_!?]*' contains=@NoSpell contained containedin=contextUnprotect - -# Math -syn match contextMathCmd '\\m\%(ath\%(ematics\)\=\)\=\>' -syn region contextInlineMath matchgroup=contextMathDelim start='\$' skip='\\\\\|\\\$' end='\$' -syn region contextDisplayMath matchgroup=contextMathDelim start='\$\$' skip='\\\\\|\\\$' end='\$\$' keepend -syn region contextDisplayMath matchgroup=contextBlockDelim start='\\startformula' end='\\stopformula' contains=TOP - -# MetaFun -b:mp_metafun = 1 -syn include @mpTop syntax/mp.vim -unlet b:current_syntax - -syn region contextMPGraphic matchgroup=contextBlockDelim - \ start='\\start\z(MP\%(clip\|code\|definitions\|drawing\|environment\|extensions\|inclusions\|initializations\|page\|\)\)\>.*$' - \ end='\\stop\z1' - \ contains=@mpTop,@NoSpell -syn region contextMPGraphic matchgroup=contextBlockDelim - \ start='\\start\z(\%(\%[re]usable\|use\|unique\|static\)MPgraphic\|staticMPfigure\|uniqueMPpagegraphic\)\>.*$' - \ end='\\stop\z1' - \ contains=@mpTop,@NoSpell - -# Lua -syn include @luaTop syntax/lua.vim -unlet b:current_syntax - -syn region contextLuaCode matchgroup=contextBlockDelim - \ start='\\startluacode\>' - \ end='\\stopluacode\>' keepend - \ contains=@luaTop,@NoSpell -syn match contextDirectLua "\\\%(directlua\|ctxlua\)\>\%(\s*%.*$\)\=" - \ nextgroup=contextBeginEndLua skipwhite skipempty - \ contains=contextComment -syn region contextBeginEndLua matchgroup=contextSpecial - \ start="{" end="}" skip="\\[{}]" keepend - \ contained contains=@luaTop,@NoSpell - -for synname in keys(context_include) - execute 'syn include @' .. synname .. 'Top' 'syntax/' .. synname .. '.vim' - unlet b:current_syntax - execute 'syn region context' .. context_include[synname] .. 'Code' - \ 'matchgroup=contextBlockDelim' - \ 'start=+\\start' .. context_include[synname] .. '\w*+' - \ 'end=+\\stop' .. context_include[synname] .. '\w*+' - \ 'contains=@' .. synname .. 'Top,@NoSpell' -endfor - -syn match contextSectioning '\\\%(start\|stop\)\=\%(\%(sub\)*section\|\%(sub\)*subject\|chapter\|part\|component\|product\|title\)\>' contains=@NoSpell - -syn match contextSpecial '\\par\>\|-\{2,3}\||[<>/]\=|' contains=@NoSpell -syn match contextSpecial /\\[`'"]/ -syn match contextSpecial +\\char\%(\d\{1,3}\|'\o\{1,3}\|"\x\{1,2}\)\>+ contains=@NoSpell -syn match contextSpecial '\^\^.' -syn match contextSpecial '`\%(\\.\|\^\^.\|.\)' - -syn match contextStyle '\\\%(em\|ss\|hw\|cg\|mf\)\>' contains=@NoSpell -syn match contextFont '\\\%(CAP\|Cap\|cap\|Caps\|kap\|nocap\)\>' contains=@NoSpell -syn match contextFont '\\\%(Word\|WORD\|Words\|WORDS\)\>' contains=@NoSpell -syn match contextFont '\\\%(vi\{1,3}\|ix\|xi\{0,2}\)\>' contains=@NoSpell -syn match contextFont '\\\%(tf\|b[si]\|s[cl]\|os\)\%(xx\|[xabcd]\)\=\>' contains=@NoSpell - -hi def link contextBlockDelim Keyword -hi def link contextBuiltin Keyword -hi def link contextCommand Keyword -hi def link contextComment Comment -hi def link contextDelimiter Delimiter -hi def link contextDirectLua Keyword -hi def link contextEscaped String -hi def link contextFont contextType -hi def link contextKeyword Keyword -hi def link contextInlineMath String -hi def link contextMagicLine PreProc -hi def link contextMathCmd Identifier -hi def link contextMathDelim Delimiter -hi def link contextOptions Typedef -hi def link contextPreProc PreProc -hi def link contextSectioning PreProc -hi def link contextSequence Identifier -hi def link contextSpecial Special -hi def link contextStyle contextType -hi def link contextTodo Todo -hi def link contextType Type - -b:current_syntax = 'context' - -# vim: sw=2 fdm=marker diff --git a/uvim/runtime/syntax/cpp.mnv b/uvim/runtime/syntax/cpp.mnv new file mode 100644 index 0000000000..75536c2e09 --- /dev/null +++ b/uvim/runtime/syntax/cpp.mnv @@ -0,0 +1,134 @@ +" MNV syntax file +" Language: C++ +" Maintainer: This runtime file is looking for a new maintainer. +" Previous Maintainer: mnv-jp (https://github.com/mnv-jp/mnv-cpp) +" Ken Shan +" Last Change: 2024 May 04 +" 2024 May 04 by MNV Project fix digit separator in octals and floats +" 2026 Jan 06 by MNV Project orphaning announcement +" 2026 Jan 08 by MNV Project highlight capital letter prefixes for numbers + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" inform C syntax that the file was included from cpp.mnv +let b:filetype_in_cpp_family = 1 + +" Read the C syntax to start with +runtime! syntax/c.mnv +unlet b:current_syntax +unlet b:filetype_in_cpp_family + +" C++ extensions +syn keyword cppStatement new delete this friend using +syn keyword cppAccess public protected private +syn keyword cppModifier inline virtual explicit export +syn keyword cppType bool wchar_t +syn keyword cppExceptions throw try catch +syn keyword cppOperator operator typeid +syn keyword cppOperator and bitor or xor compl bitand and_eq or_eq xor_eq not not_eq +syn match cppCast "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*<"me=e-1 +syn match cppCast "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*$" +syn keyword cppStorageClass mutable +syn keyword cppStructure class typename template namespace +syn keyword cppBoolean true false +syn keyword cppConstant __cplusplus + +" C++ 11 extensions +if !exists("cpp_no_cpp11") + syn keyword cppModifier override final + syn keyword cppType nullptr_t auto + syn keyword cppExceptions noexcept + syn keyword cppStorageClass constexpr decltype thread_local + syn keyword cppConstant nullptr + syn keyword cppConstant ATOMIC_FLAG_INIT ATOMIC_VAR_INIT + syn keyword cppConstant ATOMIC_BOOL_LOCK_FREE ATOMIC_CHAR_LOCK_FREE + syn keyword cppConstant ATOMIC_CHAR16_T_LOCK_FREE ATOMIC_CHAR32_T_LOCK_FREE + syn keyword cppConstant ATOMIC_WCHAR_T_LOCK_FREE ATOMIC_SHORT_LOCK_FREE + syn keyword cppConstant ATOMIC_INT_LOCK_FREE ATOMIC_LONG_LOCK_FREE + syn keyword cppConstant ATOMIC_LLONG_LOCK_FREE ATOMIC_POINTER_LOCK_FREE + syn region cppRawString matchgroup=cppRawStringDelimiter start=+\%(u8\|[uLU]\)\=R"\z([[:alnum:]_{}[\]#<>%:;.?*\+\-/\^&|~!=,"']\{,16}\)(+ end=+)\z1"\(sv\|s\|_[_a-zA-Z][_a-zA-Z0-9]*\)\=+ contains=@Spell + syn match cppCast "\<\(const\|static\|dynamic\)_pointer_cast\s*<"me=e-1 + syn match cppCast "\<\(const\|static\|dynamic\)_pointer_cast\s*$" +endif + +" C++ 14 extensions +if !exists("cpp_no_cpp14") + syn match cppNumbers display transparent "\<\d\|\.\d" contains=cppNumber,cppFloat + syn match cppNumber display contained "\<0\([Uu]\=\([Ll]\|LL\|ll\)\|\([Ll]\|LL\|ll\)\=[Uu]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>" + syn match cppNumber display contained "\<[1-9]\('\=\d\+\)*\([Uu]\=\([Ll]\|LL\|ll\)\|\([Ll]\|LL\|ll\)\=[Uu]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>" + syn match cppNumber display contained "\<0\('\=\o\+\)\+\([Uu]\=\([Ll]\|LL\|ll\)\|\([Ll]\|LL\|ll\)\=[Uu]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>" + syn match cppNumber display contained "\<0[Bb][01]\('\=[01]\+\)*\([Uu]\=\([Ll]\|LL\|ll\)\|\([Ll]\|LL\|ll\)\=[Uu]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>" + syn match cppNumber display contained "\<0[Xx]\x\('\=\x\+\)*\([Uu]\=\([Ll]\|LL\|ll\)\|\([Ll]\|LL\|ll\)\=[Uu]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>" + syn match cppFloat display contained "\<\d\('\=\d\+\)*\.\(\d\('\=\d\+\)*\)\=\([Ee][-+]\=\d\+\)\=\([FfLl]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>" + syn match cppFloat display contained "\.\d\('\=\d\+\)*\([Ee][-+]\=\d\+\)\=\([FfLl]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>" + syn match cppFloat display contained "\<\d\+[Ee][-+]\=\d\+\([FfLl]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>" + syn region cppString start=+\(L\|u\|u8\|U\)\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"\(sv\|s\|_\i*\)\=+ end='$' contains=cSpecial,cFormat,@Spell +endif + +" C++ 17 extensions +if !exists("cpp_no_cpp17") + syn match cppCast "\" + syn match cppFloat display contained "\<0[Xx]\x\+\.\=p[-+]\=\d\+\([FfLl]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>" + + " TODO: push this up to c.mnv if/when supported in C23 + syn match cppCharacter "u8'[^\\]'" + syn match cppCharacter "u8'[^']*'" contains=cSpecial + if exists("c_gnu") + syn match cppSpecialError "u8'\\[^'\"?\\abefnrtv]'" + syn match cppSpecialCharacter "u8'\\['\"?\\abefnrtv]'" + else + syn match cppSpecialError "u8'\\[^'\"?\\abfnrtv]'" + syn match cppSpecialCharacter "u8'\\['\"?\\abfnrtv]'" + endif + syn match cppSpecialCharacter display "u8'\\\o\{1,3}'" + syn match cppSpecialCharacter display "u8'\\x\x\+'" + +endif + +" C++ 20 extensions +if !exists("cpp_no_cpp20") + syn match cppNumber display contained "\<0\(y\|d\)\>" + syn match cppNumber display contained "\<[1-9]\('\=\d\+\)*\(y\|d\)\>" + syn match cppNumber display contained "\<0\o\+\(y\|d\)\>" + syn match cppNumber display contained "\<0[Bb][01]\('\=[01]\+\)*\(y\|d\)\>" + syn match cppNumber display contained "\<0[Xx]\x\('\=\x\+\)*\(y\|d\)\>" + syn keyword cppStatement co_await co_return co_yield requires + syn keyword cppStorageClass consteval constinit + syn keyword cppStructure concept + syn keyword cppType char8_t + syn keyword cppModule import module export +endif + +" The minimum and maximum operators in GNU C++ +syn match cppMinMax "[<>]?" + +" Default highlighting +hi def link cppAccess cppStatement +hi def link cppCast cppStatement +hi def link cppExceptions Exception +hi def link cppOperator Operator +hi def link cppStatement Statement +hi def link cppModifier Type +hi def link cppType Type +hi def link cppStorageClass StorageClass +hi def link cppStructure Structure +hi def link cppBoolean Boolean +hi def link cppCharacter cCharacter +hi def link cppSpecialCharacter cSpecialCharacter +hi def link cppSpecialError cSpecialError +hi def link cppConstant Constant +hi def link cppRawStringDelimiter Delimiter +hi def link cppRawString String +hi def link cppString String +hi def link cppNumber Number +hi def link cppFloat Number +hi def link cppModule Include + +let b:current_syntax = "cpp" + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/cpp.vim b/uvim/runtime/syntax/cpp.vim deleted file mode 100644 index 5ea52ec502..0000000000 --- a/uvim/runtime/syntax/cpp.vim +++ /dev/null @@ -1,134 +0,0 @@ -" Vim syntax file -" Language: C++ -" Maintainer: This runtime file is looking for a new maintainer. -" Previous Maintainer: vim-jp (https://github.com/vim-jp/vim-cpp) -" Ken Shan -" Last Change: 2024 May 04 -" 2024 May 04 by Vim Project fix digit separator in octals and floats -" 2026 Jan 06 by Vim Project orphaning announcement -" 2026 Jan 08 by Vim Project highlight capital letter prefixes for numbers - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" inform C syntax that the file was included from cpp.vim -let b:filetype_in_cpp_family = 1 - -" Read the C syntax to start with -runtime! syntax/c.vim -unlet b:current_syntax -unlet b:filetype_in_cpp_family - -" C++ extensions -syn keyword cppStatement new delete this friend using -syn keyword cppAccess public protected private -syn keyword cppModifier inline virtual explicit export -syn keyword cppType bool wchar_t -syn keyword cppExceptions throw try catch -syn keyword cppOperator operator typeid -syn keyword cppOperator and bitor or xor compl bitand and_eq or_eq xor_eq not not_eq -syn match cppCast "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*<"me=e-1 -syn match cppCast "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*$" -syn keyword cppStorageClass mutable -syn keyword cppStructure class typename template namespace -syn keyword cppBoolean true false -syn keyword cppConstant __cplusplus - -" C++ 11 extensions -if !exists("cpp_no_cpp11") - syn keyword cppModifier override final - syn keyword cppType nullptr_t auto - syn keyword cppExceptions noexcept - syn keyword cppStorageClass constexpr decltype thread_local - syn keyword cppConstant nullptr - syn keyword cppConstant ATOMIC_FLAG_INIT ATOMIC_VAR_INIT - syn keyword cppConstant ATOMIC_BOOL_LOCK_FREE ATOMIC_CHAR_LOCK_FREE - syn keyword cppConstant ATOMIC_CHAR16_T_LOCK_FREE ATOMIC_CHAR32_T_LOCK_FREE - syn keyword cppConstant ATOMIC_WCHAR_T_LOCK_FREE ATOMIC_SHORT_LOCK_FREE - syn keyword cppConstant ATOMIC_INT_LOCK_FREE ATOMIC_LONG_LOCK_FREE - syn keyword cppConstant ATOMIC_LLONG_LOCK_FREE ATOMIC_POINTER_LOCK_FREE - syn region cppRawString matchgroup=cppRawStringDelimiter start=+\%(u8\|[uLU]\)\=R"\z([[:alnum:]_{}[\]#<>%:;.?*\+\-/\^&|~!=,"']\{,16}\)(+ end=+)\z1"\(sv\|s\|_[_a-zA-Z][_a-zA-Z0-9]*\)\=+ contains=@Spell - syn match cppCast "\<\(const\|static\|dynamic\)_pointer_cast\s*<"me=e-1 - syn match cppCast "\<\(const\|static\|dynamic\)_pointer_cast\s*$" -endif - -" C++ 14 extensions -if !exists("cpp_no_cpp14") - syn match cppNumbers display transparent "\<\d\|\.\d" contains=cppNumber,cppFloat - syn match cppNumber display contained "\<0\([Uu]\=\([Ll]\|LL\|ll\)\|\([Ll]\|LL\|ll\)\=[Uu]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>" - syn match cppNumber display contained "\<[1-9]\('\=\d\+\)*\([Uu]\=\([Ll]\|LL\|ll\)\|\([Ll]\|LL\|ll\)\=[Uu]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>" - syn match cppNumber display contained "\<0\('\=\o\+\)\+\([Uu]\=\([Ll]\|LL\|ll\)\|\([Ll]\|LL\|ll\)\=[Uu]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>" - syn match cppNumber display contained "\<0[Bb][01]\('\=[01]\+\)*\([Uu]\=\([Ll]\|LL\|ll\)\|\([Ll]\|LL\|ll\)\=[Uu]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>" - syn match cppNumber display contained "\<0[Xx]\x\('\=\x\+\)*\([Uu]\=\([Ll]\|LL\|ll\)\|\([Ll]\|LL\|ll\)\=[Uu]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>" - syn match cppFloat display contained "\<\d\('\=\d\+\)*\.\(\d\('\=\d\+\)*\)\=\([Ee][-+]\=\d\+\)\=\([FfLl]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>" - syn match cppFloat display contained "\.\d\('\=\d\+\)*\([Ee][-+]\=\d\+\)\=\([FfLl]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>" - syn match cppFloat display contained "\<\d\+[Ee][-+]\=\d\+\([FfLl]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>" - syn region cppString start=+\(L\|u\|u8\|U\)\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"\(sv\|s\|_\i*\)\=+ end='$' contains=cSpecial,cFormat,@Spell -endif - -" C++ 17 extensions -if !exists("cpp_no_cpp17") - syn match cppCast "\" - syn match cppFloat display contained "\<0[Xx]\x\+\.\=p[-+]\=\d\+\([FfLl]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>" - - " TODO: push this up to c.vim if/when supported in C23 - syn match cppCharacter "u8'[^\\]'" - syn match cppCharacter "u8'[^']*'" contains=cSpecial - if exists("c_gnu") - syn match cppSpecialError "u8'\\[^'\"?\\abefnrtv]'" - syn match cppSpecialCharacter "u8'\\['\"?\\abefnrtv]'" - else - syn match cppSpecialError "u8'\\[^'\"?\\abfnrtv]'" - syn match cppSpecialCharacter "u8'\\['\"?\\abfnrtv]'" - endif - syn match cppSpecialCharacter display "u8'\\\o\{1,3}'" - syn match cppSpecialCharacter display "u8'\\x\x\+'" - -endif - -" C++ 20 extensions -if !exists("cpp_no_cpp20") - syn match cppNumber display contained "\<0\(y\|d\)\>" - syn match cppNumber display contained "\<[1-9]\('\=\d\+\)*\(y\|d\)\>" - syn match cppNumber display contained "\<0\o\+\(y\|d\)\>" - syn match cppNumber display contained "\<0[Bb][01]\('\=[01]\+\)*\(y\|d\)\>" - syn match cppNumber display contained "\<0[Xx]\x\('\=\x\+\)*\(y\|d\)\>" - syn keyword cppStatement co_await co_return co_yield requires - syn keyword cppStorageClass consteval constinit - syn keyword cppStructure concept - syn keyword cppType char8_t - syn keyword cppModule import module export -endif - -" The minimum and maximum operators in GNU C++ -syn match cppMinMax "[<>]?" - -" Default highlighting -hi def link cppAccess cppStatement -hi def link cppCast cppStatement -hi def link cppExceptions Exception -hi def link cppOperator Operator -hi def link cppStatement Statement -hi def link cppModifier Type -hi def link cppType Type -hi def link cppStorageClass StorageClass -hi def link cppStructure Structure -hi def link cppBoolean Boolean -hi def link cppCharacter cCharacter -hi def link cppSpecialCharacter cSpecialCharacter -hi def link cppSpecialError cSpecialError -hi def link cppConstant Constant -hi def link cppRawStringDelimiter Delimiter -hi def link cppRawString String -hi def link cppString String -hi def link cppNumber Number -hi def link cppFloat Number -hi def link cppModule Include - -let b:current_syntax = "cpp" - -" vim: ts=8 diff --git a/uvim/runtime/syntax/crm.mnv b/uvim/runtime/syntax/crm.mnv new file mode 100644 index 0000000000..b752019483 --- /dev/null +++ b/uvim/runtime/syntax/crm.mnv @@ -0,0 +1,41 @@ +" MNV syntax file +" Language: CRM114 +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2006-04-19 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn keyword crmTodo contained TODO FIXME XXX NOTE + +syn region crmComment display oneline start='#' end='\\#' + \ contains=crmTodo,@Spell + +syn match crmVariable display ':[*#@]:[^:]\{-1,}:' + +syn match crmSpecial display '\\\%(x\x\x\|o\o\o\o\|[]nrtabvf0>)};/\\]\)' + +syn keyword crmStatement insert noop accept alius alter classify eval exit +syn keyword crmStatement fail fault goto hash intersect isolate input learn +syn keyword crmStatement liaf match output syscall trap union window + +syn region crmRegex start='/' skip='\\/' end='/' contains=crmVariable + +syn match crmLabel display '^\s*:[[:graph:]]\+:' + +hi def link crmTodo Todo +hi def link crmComment Comment +hi def link crmVariable Identifier +hi def link crmSpecial SpecialChar +hi def link crmStatement Statement +hi def link crmRegex String +hi def link crmLabel Label + +let b:current_syntax = "crm" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/crm.vim b/uvim/runtime/syntax/crm.vim deleted file mode 100644 index 5285de3e23..0000000000 --- a/uvim/runtime/syntax/crm.vim +++ /dev/null @@ -1,41 +0,0 @@ -" Vim syntax file -" Language: CRM114 -" Previous Maintainer: Nikolai Weibull -" Latest Revision: 2006-04-19 - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn keyword crmTodo contained TODO FIXME XXX NOTE - -syn region crmComment display oneline start='#' end='\\#' - \ contains=crmTodo,@Spell - -syn match crmVariable display ':[*#@]:[^:]\{-1,}:' - -syn match crmSpecial display '\\\%(x\x\x\|o\o\o\o\|[]nrtabvf0>)};/\\]\)' - -syn keyword crmStatement insert noop accept alius alter classify eval exit -syn keyword crmStatement fail fault goto hash intersect isolate input learn -syn keyword crmStatement liaf match output syscall trap union window - -syn region crmRegex start='/' skip='\\/' end='/' contains=crmVariable - -syn match crmLabel display '^\s*:[[:graph:]]\+:' - -hi def link crmTodo Todo -hi def link crmComment Comment -hi def link crmVariable Identifier -hi def link crmSpecial SpecialChar -hi def link crmStatement Statement -hi def link crmRegex String -hi def link crmLabel Label - -let b:current_syntax = "crm" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/crontab.mnv b/uvim/runtime/syntax/crontab.mnv new file mode 100644 index 0000000000..ed4c1e6a1a --- /dev/null +++ b/uvim/runtime/syntax/crontab.mnv @@ -0,0 +1,67 @@ +" MNV syntax file +" Language: crontab +" Maintainer: David Necas (Yeti) +" Original Maintainer: John Hoelzel johnh51@users.sourceforge.net +" License: This file can be redistribued and/or modified under the same terms +" as MNV itself. +" Filenames: /tmp/crontab.* used by "crontab -e" +" Last Change: 2022-09-22 +" +" crontab line format: +" Minutes Hours Days Months Days_of_Week Commands # comments + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syntax match crontabNick "^\s*@\(reboot\|yearly\|annually\|monthly\|weekly\|daily\|midnight\|hourly\|every_minute\|every_second\)\>" nextgroup=crontabCmd skipwhite + +syntax match crontabVar "^\s*\k\w*\s*="me=e-1 + +syntax case ignore + +syntax match crontabMin "^\s*[-~0-9/,.*]\+" nextgroup=crontabHr skipwhite +syntax match crontabHr "\s[-~0-9/,.*]\+" nextgroup=crontabDay skipwhite contained +syntax match crontabDay "\s[-~0-9/,.*]\+" nextgroup=crontabMnth skipwhite contained + +syntax match crontabMnth "\s[-~a-z0-9/,.*]\+" nextgroup=crontabDow skipwhite contained +syntax keyword crontabMnth12 contained jan feb mar apr may jun jul aug sep oct nov dec + +syntax match crontabDow "\s[-~a-z0-9/,.*]\+" nextgroup=crontabCmd skipwhite contained +syntax keyword crontabDow7 contained sun mon tue wed thu fri sat + +syntax region crontabCmd start="\S" end="$" skipwhite contained keepend contains=crontabPercent +syntax match crontabCmnt "^\s*#.*" contains=@Spell +syntax match crontabPercent "[^\\]%.*"lc=1 contained + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link crontabMin Number +hi def link crontabHr PreProc +hi def link crontabDay Type + +hi def link crontabMnth Number +hi def link crontabMnth12 Number +hi def link crontabMnthS Number +hi def link crontabMnthN Number + +hi def link crontabDow PreProc +hi def link crontabDow7 PreProc +hi def link crontabDowS PreProc +hi def link crontabDowN PreProc + +hi def link crontabNick Special +hi def link crontabVar Identifier +hi def link crontabPercent Special + +" comment out next line for to suppress unix commands coloring. +hi def link crontabCmd Statement + +hi def link crontabCmnt Comment + + +let b:current_syntax = "crontab" + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/crontab.vim b/uvim/runtime/syntax/crontab.vim deleted file mode 100644 index 12daa9b7b8..0000000000 --- a/uvim/runtime/syntax/crontab.vim +++ /dev/null @@ -1,67 +0,0 @@ -" Vim syntax file -" Language: crontab -" Maintainer: David Necas (Yeti) -" Original Maintainer: John Hoelzel johnh51@users.sourceforge.net -" License: This file can be redistribued and/or modified under the same terms -" as Vim itself. -" Filenames: /tmp/crontab.* used by "crontab -e" -" Last Change: 2022-09-22 -" -" crontab line format: -" Minutes Hours Days Months Days_of_Week Commands # comments - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syntax match crontabNick "^\s*@\(reboot\|yearly\|annually\|monthly\|weekly\|daily\|midnight\|hourly\|every_minute\|every_second\)\>" nextgroup=crontabCmd skipwhite - -syntax match crontabVar "^\s*\k\w*\s*="me=e-1 - -syntax case ignore - -syntax match crontabMin "^\s*[-~0-9/,.*]\+" nextgroup=crontabHr skipwhite -syntax match crontabHr "\s[-~0-9/,.*]\+" nextgroup=crontabDay skipwhite contained -syntax match crontabDay "\s[-~0-9/,.*]\+" nextgroup=crontabMnth skipwhite contained - -syntax match crontabMnth "\s[-~a-z0-9/,.*]\+" nextgroup=crontabDow skipwhite contained -syntax keyword crontabMnth12 contained jan feb mar apr may jun jul aug sep oct nov dec - -syntax match crontabDow "\s[-~a-z0-9/,.*]\+" nextgroup=crontabCmd skipwhite contained -syntax keyword crontabDow7 contained sun mon tue wed thu fri sat - -syntax region crontabCmd start="\S" end="$" skipwhite contained keepend contains=crontabPercent -syntax match crontabCmnt "^\s*#.*" contains=@Spell -syntax match crontabPercent "[^\\]%.*"lc=1 contained - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link crontabMin Number -hi def link crontabHr PreProc -hi def link crontabDay Type - -hi def link crontabMnth Number -hi def link crontabMnth12 Number -hi def link crontabMnthS Number -hi def link crontabMnthN Number - -hi def link crontabDow PreProc -hi def link crontabDow7 PreProc -hi def link crontabDowS PreProc -hi def link crontabDowN PreProc - -hi def link crontabNick Special -hi def link crontabVar Identifier -hi def link crontabPercent Special - -" comment out next line for to suppress unix commands coloring. -hi def link crontabCmd Statement - -hi def link crontabCmnt Comment - - -let b:current_syntax = "crontab" - -" vim: ts=8 diff --git a/uvim/runtime/syntax/cs.mnv b/uvim/runtime/syntax/cs.mnv new file mode 100644 index 0000000000..9ba7917a0d --- /dev/null +++ b/uvim/runtime/syntax/cs.mnv @@ -0,0 +1,360 @@ +" MNV syntax file +" Language: C# +" Maintainer: Nick Jensen +" Former Maintainers: Anduin Withers +" Johannes Zellner +" Last Change: 2025-03-14 +" Filenames: *.cs +" License: MNV (see :h license) +" Repository: https://github.com/nickspoons/mnv-cs +" +" References: +" - ECMA-334 5th Edition: C# Language Specification +" https://www.ecma-international.org/publications-and-standards/standards/ecma-334/ +" - C# Language Design: Draft 6th Edition and later proposals +" https://github.com/dotnet/csharplang + +if exists('b:current_syntax') + finish +endif + +let s:save_cpo = &cpoptions +set cpoptions&mnv + +syn keyword csType bool byte char decimal double float int long object sbyte short string T uint ulong ushort var void dynamic +syn keyword csType nint nuint " contextual + +syn keyword csStorage enum interface namespace struct +syn match csStorage "\" +syn match csStorage "\" +syn keyword csRepeat break continue do for foreach goto return while +syn keyword csConditional else if switch +syn keyword csLabel case default + +syn match csNamespaceAlias "@\=\h\w*\ze\_s*::" display +syn match csGlobalNamespaceAlias "global\ze\_s*::" display +syn cluster csNamespaceAlias contains=csGlobalNamespaceAlias,csNamespaceAlias,csNamespaceAliasQualifier + +" user labels +syn match csLabel display +^\s*\I\i*\s*:\%([^:]\)\@=+ + +" Function pointers +syn match csType "\" +syn keyword csAccessModifier internal private protected public +syn keyword csModifier operator nextgroup=csCheckedModifier skipwhite skipempty +syn keyword csCheckedModifier checked contained + +" TODO: in new out +syn keyword csModifier abstract const event override readonly sealed static virtual volatile +syn match csModifier "\<\%(extern\|fixed\|unsafe\)\>" +syn match csModifier "\" + +syn keyword csException try catch finally throw when +syn keyword csLinq ascending by descending equals from group in into join let on orderby select +syn match csLinq "\" + +" Type parameter constraint clause +syn match csStorage "\\ze\_s\+@\=\h\w*\_s*:" + +" Async +syn keyword csAsyncModifier async +syn keyword csAsyncOperator await + +syn match csStorage "\" +syn match csStorage "\%(\" + +syn match csStatement "\<\%(checked\|unchecked\|unsafe\)\ze\_s*{" +syn match csStatement "\" + +syn match csAccessor "\<\%(get\|set\|init\|add\|remove\)\ze\_s*\%([;{]\|=>\)" + +syn keyword csAccess base +syn match csAccess "\" + +" Extension method parameter modifier +syn match csModifier "\\{1,2}" display +syn match csOpSymbols "<\{1,2}" display +syn match csOpSymbols "[!><+\-*/]=" display +syn match csOpSymbols "[!*/^]" display +syn match csOpSymbols "=>" display +syn match csEndColon ";" display +syn match csLogicSymbols "&&" display +syn match csLogicSymbols "||" display +syn match csLogicSymbols "?" display +syn match csLogicSymbols ":" display +syn match csNamespaceAliasQualifier "::" display + +" Generics +syn region csGeneric matchgroup=csGenericBraces start="<" end=">" oneline contains=csType,csGeneric,@csNamespaceAlias,csUserType,csUserIdentifier,csUserInterface,csUserMethod + +" Comments +" +" PROVIDES: @csCommentHook +syn keyword csTodo contained TODO FIXME XXX NOTE HACK TBD +syn region csBlockComment start="/\*" end="\*/" contains=@csCommentHook,csTodo,@Spell +syn match csLineComment "//.*$" contains=@csCommentHook,csTodo,@Spell +syn cluster csComment contains=csLineComment,csBlockComment + +syn region csSummary start="^\s*/// ' + syn region csPreProcInclude start="^\s*\zs#\s*\%(load\|r\)\>" end="$" contains=csLineComment keepend + syn match csShebang "\%^#!.*" display +endif + +syn cluster csPreProcessor contains=csPreProc.* + +syn region csClassType start="\"hs=s+6 end=">" end="[:{]"me=e-1 contains=csClass +" csUserType may be defined by user scripts/plugins - it should be contained in csNewType +syn region csNewType start="\"hs=s+4 end="[;\n{(<\[]"me=e-1 contains=csNew,@csNamespaceAlias,csUserType +syn region csIsType start=" is "hs=s+4 end="[A-Za-z0-9]\+" oneline contains=csIsAs +syn region csIsType start=" as "hs=s+4 end="[A-Za-z0-9]\+" oneline contains=csIsAs +syn keyword csNew new contained +syn keyword csClass class contained +syn keyword csIsAs is as + +syn keyword csBoolean false true +syn keyword csNull null + +" Strings and constants +syn match csSpecialError "\\." contained +syn match csSpecialCharError "[^']" contained +" Character literals +syn match csSpecialChar +\\["\\'0abfnrtv]+ contained display +syn match csUnicodeNumber +\\x\x\{1,4}+ contained contains=csUnicodeSpecifier display +syn match csUnicodeNumber +\\u\x\{4}+ contained contains=csUnicodeSpecifier display +syn match csUnicodeNumber +\\U00\x\{6}+ contained contains=csUnicodeSpecifier display +syn match csUnicodeSpecifier +\\[uUx]+ contained display + +syn region csString matchgroup=csQuote start=+"+ end=+"\%(u8\)\=+ end=+$+ extend contains=csSpecialChar,csSpecialError,csUnicodeNumber,@Spell + +for s:i in range(3, get(g:, "cs_raw_string_quote_count", 8)) + exe 'syn region csRawString' .. s:i .. ' matchgroup=csQuote start=+\z("\{' .. s:i .. '}\)+ end=+\z1+ oneline nextgroup=csRawStringError' .. s:i + exe 'syn region csRawString' .. s:i .. ' matchgroup=csQuote start=+\z("\{' .. s:i .. '}\)\s*$+ end=+^\s*\z1+ nextgroup=csRawStringError' .. s:i .. ' contains=csRawStringError' .. s:i + exe 'syn match csRawStringError' .. s:i .. ' /\%("\{' .. s:i .. '}\)\@' .. s:i .. '<="\+/ contained' + exe 'syn match csRawStringError' .. s:i .. ' /\S.\{-}\s*"\{' .. s:i .. '}"\@!/ contained' + + exe 'hi def link csRawString' .. s:i .. ' csString' + exe 'hi def link csRawStringError' .. s:i .. ' Error' +endfor +unlet s:i + +syn match csCharacter "'[^']*'" contains=csSpecialChar,csSpecialCharError,csUnicodeNumber display +syn match csCharacter "'\\''" contains=csSpecialChar display +syn match csCharacter "'[^\\]'" display + +" Numbers +syn case ignore +syn match csInteger "\<0b[01_]*[01]\%([lu]\|lu\|ul\)\=\>" display +syn match csInteger "\<\d\+\%(_\+\d\+\)*\%([lu]\|lu\|ul\)\=\>" display +syn match csInteger "\<0x[[:xdigit:]_]*\x\%([lu]\|lu\|ul\)\=\>" display +syn match csReal "\<\d\+\%(_\+\d\+\)*\.\d\+\%(_\+\d\+\)*\%\(e[-+]\=\d\+\%(_\+\d\+\)*\)\=[fdm]\=" display +syn match csReal "\.\d\+\%(_\+\d\+\)*\%(e[-+]\=\d\+\%(_\+\d\+\)*\)\=[fdm]\=\>" display +syn match csReal "\<\d\+\%(_\+\d\+\)*e[-+]\=\d\+\%(_\+\d\+\)*[fdm]\=\>" display +syn match csReal "\<\d\+\%(_\+\d\+\)*[fdm]\>" display +syn case match +syn cluster csNumber contains=csInteger,csReal + +syn region csInterpolatedString matchgroup=csQuote start=+\$"+ end=+"\%(u8\)\=+ extend contains=csInterpolation,csEscapedInterpolation,csSpecialChar,csSpecialError,csUnicodeNumber,@Spell + +syn region csInterpolation matchgroup=csInterpolationDelimiter start=+{+ end=+}+ keepend contained contains=@csAll,csBraced,csBracketed,csInterpolationAlign,csInterpolationFormat +syn match csEscapedInterpolation "{{" transparent contains=NONE display +syn match csEscapedInterpolation "}}" transparent contains=NONE display +syn region csInterpolationAlign matchgroup=csInterpolationAlignDel start=+,+ end=+}+ end=+:+me=e-1 contained contains=@csNumber,csBoolean,csConstant,csCharacter,csParens,csOpSymbols,csString,csBracketed display +syn match csInterpolationFormat +:[^}]\+}+ contained contains=csInterpolationFormatDel display +syn match csInterpolationAlignDel +,+ contained display +syn match csInterpolationFormatDel +:+ contained display + +syn region csVerbatimString matchgroup=csQuote start=+@"+ end=+"\%(u8\)\=+ skip=+""+ extend contains=csVerbatimQuote,@Spell + +" Interpolated raw string literals +for s:i in range(1, get(g:, "cs_raw_string_interpolation_brace_count", 8)) + exe 'syn region csInterpolatedRawString' .. s:i .. ' matchgroup=csQuote start=+$\{' .. s:i .. '}\z("""\+\)+ end=+\z1+ extend contains=csInterpolation' .. s:i .. ',csInterpolationDelimiterError' .. s:i .. ',@Spell' + exe 'syn match csInterpolationDelimiterError' .. s:i .. ' "}\{' .. s:i .. '}" contained' + exe 'syn match csInterpolationDelimiterError' .. s:i .. ' "{\{' .. 2 * s:i .. ',}" contained' + exe 'syn match csInterpolationDelimiterError' .. s:i .. ' "}\{' .. 2 * s:i .. ',}" contained' + exe 'syn region csInterpolation' .. s:i .. ' matchgroup=csInterpolationDelimiter start=+\%({\{' .. s:i .. '}\)\@' .. s:i .. ' -" Former Maintainers: Anduin Withers -" Johannes Zellner -" Last Change: 2025-03-14 -" Filenames: *.cs -" License: Vim (see :h license) -" Repository: https://github.com/nickspoons/vim-cs -" -" References: -" - ECMA-334 5th Edition: C# Language Specification -" https://www.ecma-international.org/publications-and-standards/standards/ecma-334/ -" - C# Language Design: Draft 6th Edition and later proposals -" https://github.com/dotnet/csharplang - -if exists('b:current_syntax') - finish -endif - -let s:save_cpo = &cpoptions -set cpoptions&vim - -syn keyword csType bool byte char decimal double float int long object sbyte short string T uint ulong ushort var void dynamic -syn keyword csType nint nuint " contextual - -syn keyword csStorage enum interface namespace struct -syn match csStorage "\" -syn match csStorage "\" -syn keyword csRepeat break continue do for foreach goto return while -syn keyword csConditional else if switch -syn keyword csLabel case default - -syn match csNamespaceAlias "@\=\h\w*\ze\_s*::" display -syn match csGlobalNamespaceAlias "global\ze\_s*::" display -syn cluster csNamespaceAlias contains=csGlobalNamespaceAlias,csNamespaceAlias,csNamespaceAliasQualifier - -" user labels -syn match csLabel display +^\s*\I\i*\s*:\%([^:]\)\@=+ - -" Function pointers -syn match csType "\" -syn keyword csAccessModifier internal private protected public -syn keyword csModifier operator nextgroup=csCheckedModifier skipwhite skipempty -syn keyword csCheckedModifier checked contained - -" TODO: in new out -syn keyword csModifier abstract const event override readonly sealed static virtual volatile -syn match csModifier "\<\%(extern\|fixed\|unsafe\)\>" -syn match csModifier "\" - -syn keyword csException try catch finally throw when -syn keyword csLinq ascending by descending equals from group in into join let on orderby select -syn match csLinq "\" - -" Type parameter constraint clause -syn match csStorage "\\ze\_s\+@\=\h\w*\_s*:" - -" Async -syn keyword csAsyncModifier async -syn keyword csAsyncOperator await - -syn match csStorage "\" -syn match csStorage "\%(\" - -syn match csStatement "\<\%(checked\|unchecked\|unsafe\)\ze\_s*{" -syn match csStatement "\" - -syn match csAccessor "\<\%(get\|set\|init\|add\|remove\)\ze\_s*\%([;{]\|=>\)" - -syn keyword csAccess base -syn match csAccess "\" - -" Extension method parameter modifier -syn match csModifier "\\{1,2}" display -syn match csOpSymbols "<\{1,2}" display -syn match csOpSymbols "[!><+\-*/]=" display -syn match csOpSymbols "[!*/^]" display -syn match csOpSymbols "=>" display -syn match csEndColon ";" display -syn match csLogicSymbols "&&" display -syn match csLogicSymbols "||" display -syn match csLogicSymbols "?" display -syn match csLogicSymbols ":" display -syn match csNamespaceAliasQualifier "::" display - -" Generics -syn region csGeneric matchgroup=csGenericBraces start="<" end=">" oneline contains=csType,csGeneric,@csNamespaceAlias,csUserType,csUserIdentifier,csUserInterface,csUserMethod - -" Comments -" -" PROVIDES: @csCommentHook -syn keyword csTodo contained TODO FIXME XXX NOTE HACK TBD -syn region csBlockComment start="/\*" end="\*/" contains=@csCommentHook,csTodo,@Spell -syn match csLineComment "//.*$" contains=@csCommentHook,csTodo,@Spell -syn cluster csComment contains=csLineComment,csBlockComment - -syn region csSummary start="^\s*/// ' - syn region csPreProcInclude start="^\s*\zs#\s*\%(load\|r\)\>" end="$" contains=csLineComment keepend - syn match csShebang "\%^#!.*" display -endif - -syn cluster csPreProcessor contains=csPreProc.* - -syn region csClassType start="\"hs=s+6 end=">" end="[:{]"me=e-1 contains=csClass -" csUserType may be defined by user scripts/plugins - it should be contained in csNewType -syn region csNewType start="\"hs=s+4 end="[;\n{(<\[]"me=e-1 contains=csNew,@csNamespaceAlias,csUserType -syn region csIsType start=" is "hs=s+4 end="[A-Za-z0-9]\+" oneline contains=csIsAs -syn region csIsType start=" as "hs=s+4 end="[A-Za-z0-9]\+" oneline contains=csIsAs -syn keyword csNew new contained -syn keyword csClass class contained -syn keyword csIsAs is as - -syn keyword csBoolean false true -syn keyword csNull null - -" Strings and constants -syn match csSpecialError "\\." contained -syn match csSpecialCharError "[^']" contained -" Character literals -syn match csSpecialChar +\\["\\'0abfnrtv]+ contained display -syn match csUnicodeNumber +\\x\x\{1,4}+ contained contains=csUnicodeSpecifier display -syn match csUnicodeNumber +\\u\x\{4}+ contained contains=csUnicodeSpecifier display -syn match csUnicodeNumber +\\U00\x\{6}+ contained contains=csUnicodeSpecifier display -syn match csUnicodeSpecifier +\\[uUx]+ contained display - -syn region csString matchgroup=csQuote start=+"+ end=+"\%(u8\)\=+ end=+$+ extend contains=csSpecialChar,csSpecialError,csUnicodeNumber,@Spell - -for s:i in range(3, get(g:, "cs_raw_string_quote_count", 8)) - exe 'syn region csRawString' .. s:i .. ' matchgroup=csQuote start=+\z("\{' .. s:i .. '}\)+ end=+\z1+ oneline nextgroup=csRawStringError' .. s:i - exe 'syn region csRawString' .. s:i .. ' matchgroup=csQuote start=+\z("\{' .. s:i .. '}\)\s*$+ end=+^\s*\z1+ nextgroup=csRawStringError' .. s:i .. ' contains=csRawStringError' .. s:i - exe 'syn match csRawStringError' .. s:i .. ' /\%("\{' .. s:i .. '}\)\@' .. s:i .. '<="\+/ contained' - exe 'syn match csRawStringError' .. s:i .. ' /\S.\{-}\s*"\{' .. s:i .. '}"\@!/ contained' - - exe 'hi def link csRawString' .. s:i .. ' csString' - exe 'hi def link csRawStringError' .. s:i .. ' Error' -endfor -unlet s:i - -syn match csCharacter "'[^']*'" contains=csSpecialChar,csSpecialCharError,csUnicodeNumber display -syn match csCharacter "'\\''" contains=csSpecialChar display -syn match csCharacter "'[^\\]'" display - -" Numbers -syn case ignore -syn match csInteger "\<0b[01_]*[01]\%([lu]\|lu\|ul\)\=\>" display -syn match csInteger "\<\d\+\%(_\+\d\+\)*\%([lu]\|lu\|ul\)\=\>" display -syn match csInteger "\<0x[[:xdigit:]_]*\x\%([lu]\|lu\|ul\)\=\>" display -syn match csReal "\<\d\+\%(_\+\d\+\)*\.\d\+\%(_\+\d\+\)*\%\(e[-+]\=\d\+\%(_\+\d\+\)*\)\=[fdm]\=" display -syn match csReal "\.\d\+\%(_\+\d\+\)*\%(e[-+]\=\d\+\%(_\+\d\+\)*\)\=[fdm]\=\>" display -syn match csReal "\<\d\+\%(_\+\d\+\)*e[-+]\=\d\+\%(_\+\d\+\)*[fdm]\=\>" display -syn match csReal "\<\d\+\%(_\+\d\+\)*[fdm]\>" display -syn case match -syn cluster csNumber contains=csInteger,csReal - -syn region csInterpolatedString matchgroup=csQuote start=+\$"+ end=+"\%(u8\)\=+ extend contains=csInterpolation,csEscapedInterpolation,csSpecialChar,csSpecialError,csUnicodeNumber,@Spell - -syn region csInterpolation matchgroup=csInterpolationDelimiter start=+{+ end=+}+ keepend contained contains=@csAll,csBraced,csBracketed,csInterpolationAlign,csInterpolationFormat -syn match csEscapedInterpolation "{{" transparent contains=NONE display -syn match csEscapedInterpolation "}}" transparent contains=NONE display -syn region csInterpolationAlign matchgroup=csInterpolationAlignDel start=+,+ end=+}+ end=+:+me=e-1 contained contains=@csNumber,csBoolean,csConstant,csCharacter,csParens,csOpSymbols,csString,csBracketed display -syn match csInterpolationFormat +:[^}]\+}+ contained contains=csInterpolationFormatDel display -syn match csInterpolationAlignDel +,+ contained display -syn match csInterpolationFormatDel +:+ contained display - -syn region csVerbatimString matchgroup=csQuote start=+@"+ end=+"\%(u8\)\=+ skip=+""+ extend contains=csVerbatimQuote,@Spell - -" Interpolated raw string literals -for s:i in range(1, get(g:, "cs_raw_string_interpolation_brace_count", 8)) - exe 'syn region csInterpolatedRawString' .. s:i .. ' matchgroup=csQuote start=+$\{' .. s:i .. '}\z("""\+\)+ end=+\z1+ extend contains=csInterpolation' .. s:i .. ',csInterpolationDelimiterError' .. s:i .. ',@Spell' - exe 'syn match csInterpolationDelimiterError' .. s:i .. ' "}\{' .. s:i .. '}" contained' - exe 'syn match csInterpolationDelimiterError' .. s:i .. ' "{\{' .. 2 * s:i .. ',}" contained' - exe 'syn match csInterpolationDelimiterError' .. s:i .. ' "}\{' .. 2 * s:i .. ',}" contained' - exe 'syn region csInterpolation' .. s:i .. ' matchgroup=csInterpolationDelimiter start=+\%({\{' .. s:i .. '}\)\@' .. s:i .. ' +" Last change: 2011 Dec 25 by Thilo Six + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +" folds: fix/endfix and comments +sy region EssFold start="\" +"hex number +sy match cscNumber contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>" +" Flag the first zero of an octal number as something special +sy match cscOctal contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>" +sy match cscFloat contained "\d\+f" +"floating point number, with dot, optional exponent +sy match cscFloat contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=" +"floating point number, starting with a dot, optional exponent +sy match cscFloat contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>" +"floating point number, without dot, with exponent +sy match cscFloat contained "\d\+e[-+]\=\d\+[fl]\=\>" + +sy region cscComment start="/\*" end="\*/" contains=@cscCommentGroup,cscSpaceE fold +sy match cscCommentE "\*/" + +sy keyword cscIfError IF ELSE ENDIF ELSEIF +sy keyword cscCondition contained IF ELSE ENDIF ELSEIF +sy keyword cscFunction contained VARPER VAR UDA TRUNCATE SYD SUMRANGE SUM +sy keyword cscFunction contained STDDEVRANGE STDDEV SPARENTVAL SLN SIBLINGS SHIFT +sy keyword cscFunction contained SANCESTVAL RSIBLINGS ROUND REMAINDER RELATIVE PTD +sy keyword cscFunction contained PRIOR POWER PARENTVAL NPV NEXT MOD MINRANGE MIN +sy keyword cscFunction contained MDSHIFT MDPARENTVAL MDANCESTVAL MAXRANGE MAX MATCH +sy keyword cscFunction contained LSIBLINGS LEVMBRS LEV +sy keyword cscFunction contained ISUDA ISSIBLING ISSAMELEV ISSAMEGEN ISPARENT ISMBR +sy keyword cscFunction contained ISLEV ISISIBLING ISIPARENT ISIDESC ISICHILD ISIBLINGS +sy keyword cscFunction contained ISIANCEST ISGEN ISDESC ISCHILD ISANCEST ISACCTYPE +sy keyword cscFunction contained IRSIBLINGS IRR INTEREST INT ILSIBLINGS IDESCENDANTS +sy keyword cscFunction contained ICHILDREN IANCESTORS IALLANCESTORS +sy keyword cscFunction contained GROWTH GENMBRS GEN FACTORIAL DISCOUNT DESCENDANTS +sy keyword cscFunction contained DECLINE CHILDREN CURRMBRRANGE CURLEV CURGEN +sy keyword cscFunction contained COMPOUNDGROWTH COMPOUND AVGRANGE AVG ANCESTVAL +sy keyword cscFunction contained ANCESTORS ALLANCESTORS ACCUM ABS +sy keyword cscFunction contained @VARPER @VAR @UDA @TRUNCATE @SYD @SUMRANGE @SUM +sy keyword cscFunction contained @STDDEVRANGE @STDDEV @SPARENTVAL @SLN @SIBLINGS @SHIFT +sy keyword cscFunction contained @SANCESTVAL @RSIBLINGS @ROUND @REMAINDER @RELATIVE @PTD +sy keyword cscFunction contained @PRIOR @POWER @PARENTVAL @NPV @NEXT @MOD @MINRANGE @MIN +sy keyword cscFunction contained @MDSHIFT @MDPARENTVAL @MDANCESTVAL @MAXRANGE @MAX @MATCH +sy keyword cscFunction contained @LSIBLINGS @LEVMBRS @LEV +sy keyword cscFunction contained @ISUDA @ISSIBLING @ISSAMELEV @ISSAMEGEN @ISPARENT @ISMBR +sy keyword cscFunction contained @ISLEV @ISISIBLING @ISIPARENT @ISIDESC @ISICHILD @ISIBLINGS +sy keyword cscFunction contained @ISIANCEST @ISGEN @ISDESC @ISCHILD @ISANCEST @ISACCTYPE +sy keyword cscFunction contained @IRSIBLINGS @IRR @INTEREST @INT @ILSIBLINGS @IDESCENDANTS +sy keyword cscFunction contained @ICHILDREN @IANCESTORS @IALLANCESTORS +sy keyword cscFunction contained @GROWTH @GENMBRS @GEN @FACTORIAL @DISCOUNT @DESCENDANTS +sy keyword cscFunction contained @DECLINE @CHILDREN @CURRMBRRANGE @CURLEV @CURGEN +sy keyword cscFunction contained @COMPOUNDGROWTH @COMPOUND @AVGRANGE @AVG @ANCESTVAL +sy keyword cscFunction contained @ANCESTORS @ALLANCESTORS @ACCUM @ABS +sy match cscFunction contained "@" +sy match cscError "@\s*\a*" contains=cscFunction + +sy match cscStatement "&" +sy keyword cscStatement AGG ARRAY VAR CCONV CLEARDATA DATACOPY + +sy match cscComE contained "^\s*CALC.*" +sy match cscComE contained "^\s*CLEARBLOCK.*" +sy match cscComE contained "^\s*SET.*" +sy match cscComE contained "^\s*FIX" +sy match cscComE contained "^\s*ENDFIX" +sy match cscComE contained "^\s*ENDLOOP" +sy match cscComE contained "^\s*LOOP" +" sy keyword cscCom FIX ENDFIX LOOP ENDLOOP + +sy match cscComW "^\s*CALC.*" +sy match cscCom "^\s*CALC\s*ALL" +sy match cscCom "^\s*CALC\s*AVERAGE" +sy match cscCom "^\s*CALC\s*DIM" +sy match cscCom "^\s*CALC\s*FIRST" +sy match cscCom "^\s*CALC\s*LAST" +sy match cscCom "^\s*CALC\s*TWOPASS" + +sy match cscComW "^\s*CLEARBLOCK.*" +sy match cscCom "^\s*CLEARBLOCK\s\+ALL" +sy match cscCom "^\s*CLEARBLOCK\s\+UPPER" +sy match cscCom "^\s*CLEARBLOCK\s\+NONINPUT" + +sy match cscComW "^\s*\{}~]\+\s*\|->\s*\)*=\([^=]\@=\|$\)' + sy region cscFormula transparent matchgroup=cscVarName start='\("[^"]*"\|[^][\t !%()*+,--/:;<=>{}~]\+\)\s*=\([^=]\@=\|\n\)' skip='"[^"]*"' end=';' contains=ALLBUT,cscFormula,cscFormulaIn,cscBPMacro,cscCondition + sy region cscFormulaIn matchgroup=cscVarName transparent start='\("[^"]*"\|[^][\t !%()*+,--/:;<=>{}~]\+\)\(->\("[^"]*"\|[^][\t !%()*+,--/:;<=>{}~]\+\)\)*\s*=\([^=]\@=\|$\)' skip='"[^"]*"' end=';' contains=ALLBUT,cscFormula,cscFormulaIn,cscBPMacro,cscCondition contained + sy match cscEq "==" +endif + +if !exists("csc_minlines") + let csc_minlines = 50 " mostly for () constructs +endif +exec "sy sync ccomment cscComment minlines=" . csc_minlines + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi cscVarName term=bold ctermfg=9 gui=bold guifg=blue + +hi def link cscNumber Number +hi def link cscOctal Number +hi def link cscFloat Float +hi def link cscParenE Error +hi def link cscCommentE Error +hi def link cscSpaceE Error +hi def link cscError Error +hi def link cscString String +hi def link cscComment Comment +hi def link cscTodo Todo +hi def link cscStatement Statement +hi def link cscIfError Error +hi def link cscEqError Error +hi def link cscFunction Statement +hi def link cscCondition Statement +hi def link cscWarn WarningMsg + +hi def link cscComE Error +hi def link cscCom Statement +hi def link cscComW WarningMsg + +hi def link cscBPMacro Identifier +hi def link cscBPW WarningMsg + + +let b:current_syntax = "csc" + +let &cpo = s:cpo_save +unlet s:cpo_save +" mnv: ts=8 diff --git a/uvim/runtime/syntax/csc.vim b/uvim/runtime/syntax/csc.vim deleted file mode 100644 index b1bc4d6a7b..0000000000 --- a/uvim/runtime/syntax/csc.vim +++ /dev/null @@ -1,191 +0,0 @@ -" Vim syntax file -" Language: Essbase script -" Maintainer: Raul Segura Acevedo -" Last change: 2011 Dec 25 by Thilo Six - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -" folds: fix/endfix and comments -sy region EssFold start="\" -"hex number -sy match cscNumber contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>" -" Flag the first zero of an octal number as something special -sy match cscOctal contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>" -sy match cscFloat contained "\d\+f" -"floating point number, with dot, optional exponent -sy match cscFloat contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=" -"floating point number, starting with a dot, optional exponent -sy match cscFloat contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>" -"floating point number, without dot, with exponent -sy match cscFloat contained "\d\+e[-+]\=\d\+[fl]\=\>" - -sy region cscComment start="/\*" end="\*/" contains=@cscCommentGroup,cscSpaceE fold -sy match cscCommentE "\*/" - -sy keyword cscIfError IF ELSE ENDIF ELSEIF -sy keyword cscCondition contained IF ELSE ENDIF ELSEIF -sy keyword cscFunction contained VARPER VAR UDA TRUNCATE SYD SUMRANGE SUM -sy keyword cscFunction contained STDDEVRANGE STDDEV SPARENTVAL SLN SIBLINGS SHIFT -sy keyword cscFunction contained SANCESTVAL RSIBLINGS ROUND REMAINDER RELATIVE PTD -sy keyword cscFunction contained PRIOR POWER PARENTVAL NPV NEXT MOD MINRANGE MIN -sy keyword cscFunction contained MDSHIFT MDPARENTVAL MDANCESTVAL MAXRANGE MAX MATCH -sy keyword cscFunction contained LSIBLINGS LEVMBRS LEV -sy keyword cscFunction contained ISUDA ISSIBLING ISSAMELEV ISSAMEGEN ISPARENT ISMBR -sy keyword cscFunction contained ISLEV ISISIBLING ISIPARENT ISIDESC ISICHILD ISIBLINGS -sy keyword cscFunction contained ISIANCEST ISGEN ISDESC ISCHILD ISANCEST ISACCTYPE -sy keyword cscFunction contained IRSIBLINGS IRR INTEREST INT ILSIBLINGS IDESCENDANTS -sy keyword cscFunction contained ICHILDREN IANCESTORS IALLANCESTORS -sy keyword cscFunction contained GROWTH GENMBRS GEN FACTORIAL DISCOUNT DESCENDANTS -sy keyword cscFunction contained DECLINE CHILDREN CURRMBRRANGE CURLEV CURGEN -sy keyword cscFunction contained COMPOUNDGROWTH COMPOUND AVGRANGE AVG ANCESTVAL -sy keyword cscFunction contained ANCESTORS ALLANCESTORS ACCUM ABS -sy keyword cscFunction contained @VARPER @VAR @UDA @TRUNCATE @SYD @SUMRANGE @SUM -sy keyword cscFunction contained @STDDEVRANGE @STDDEV @SPARENTVAL @SLN @SIBLINGS @SHIFT -sy keyword cscFunction contained @SANCESTVAL @RSIBLINGS @ROUND @REMAINDER @RELATIVE @PTD -sy keyword cscFunction contained @PRIOR @POWER @PARENTVAL @NPV @NEXT @MOD @MINRANGE @MIN -sy keyword cscFunction contained @MDSHIFT @MDPARENTVAL @MDANCESTVAL @MAXRANGE @MAX @MATCH -sy keyword cscFunction contained @LSIBLINGS @LEVMBRS @LEV -sy keyword cscFunction contained @ISUDA @ISSIBLING @ISSAMELEV @ISSAMEGEN @ISPARENT @ISMBR -sy keyword cscFunction contained @ISLEV @ISISIBLING @ISIPARENT @ISIDESC @ISICHILD @ISIBLINGS -sy keyword cscFunction contained @ISIANCEST @ISGEN @ISDESC @ISCHILD @ISANCEST @ISACCTYPE -sy keyword cscFunction contained @IRSIBLINGS @IRR @INTEREST @INT @ILSIBLINGS @IDESCENDANTS -sy keyword cscFunction contained @ICHILDREN @IANCESTORS @IALLANCESTORS -sy keyword cscFunction contained @GROWTH @GENMBRS @GEN @FACTORIAL @DISCOUNT @DESCENDANTS -sy keyword cscFunction contained @DECLINE @CHILDREN @CURRMBRRANGE @CURLEV @CURGEN -sy keyword cscFunction contained @COMPOUNDGROWTH @COMPOUND @AVGRANGE @AVG @ANCESTVAL -sy keyword cscFunction contained @ANCESTORS @ALLANCESTORS @ACCUM @ABS -sy match cscFunction contained "@" -sy match cscError "@\s*\a*" contains=cscFunction - -sy match cscStatement "&" -sy keyword cscStatement AGG ARRAY VAR CCONV CLEARDATA DATACOPY - -sy match cscComE contained "^\s*CALC.*" -sy match cscComE contained "^\s*CLEARBLOCK.*" -sy match cscComE contained "^\s*SET.*" -sy match cscComE contained "^\s*FIX" -sy match cscComE contained "^\s*ENDFIX" -sy match cscComE contained "^\s*ENDLOOP" -sy match cscComE contained "^\s*LOOP" -" sy keyword cscCom FIX ENDFIX LOOP ENDLOOP - -sy match cscComW "^\s*CALC.*" -sy match cscCom "^\s*CALC\s*ALL" -sy match cscCom "^\s*CALC\s*AVERAGE" -sy match cscCom "^\s*CALC\s*DIM" -sy match cscCom "^\s*CALC\s*FIRST" -sy match cscCom "^\s*CALC\s*LAST" -sy match cscCom "^\s*CALC\s*TWOPASS" - -sy match cscComW "^\s*CLEARBLOCK.*" -sy match cscCom "^\s*CLEARBLOCK\s\+ALL" -sy match cscCom "^\s*CLEARBLOCK\s\+UPPER" -sy match cscCom "^\s*CLEARBLOCK\s\+NONINPUT" - -sy match cscComW "^\s*\{}~]\+\s*\|->\s*\)*=\([^=]\@=\|$\)' - sy region cscFormula transparent matchgroup=cscVarName start='\("[^"]*"\|[^][\t !%()*+,--/:;<=>{}~]\+\)\s*=\([^=]\@=\|\n\)' skip='"[^"]*"' end=';' contains=ALLBUT,cscFormula,cscFormulaIn,cscBPMacro,cscCondition - sy region cscFormulaIn matchgroup=cscVarName transparent start='\("[^"]*"\|[^][\t !%()*+,--/:;<=>{}~]\+\)\(->\("[^"]*"\|[^][\t !%()*+,--/:;<=>{}~]\+\)\)*\s*=\([^=]\@=\|$\)' skip='"[^"]*"' end=';' contains=ALLBUT,cscFormula,cscFormulaIn,cscBPMacro,cscCondition contained - sy match cscEq "==" -endif - -if !exists("csc_minlines") - let csc_minlines = 50 " mostly for () constructs -endif -exec "sy sync ccomment cscComment minlines=" . csc_minlines - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi cscVarName term=bold ctermfg=9 gui=bold guifg=blue - -hi def link cscNumber Number -hi def link cscOctal Number -hi def link cscFloat Float -hi def link cscParenE Error -hi def link cscCommentE Error -hi def link cscSpaceE Error -hi def link cscError Error -hi def link cscString String -hi def link cscComment Comment -hi def link cscTodo Todo -hi def link cscStatement Statement -hi def link cscIfError Error -hi def link cscEqError Error -hi def link cscFunction Statement -hi def link cscCondition Statement -hi def link cscWarn WarningMsg - -hi def link cscComE Error -hi def link cscCom Statement -hi def link cscComW WarningMsg - -hi def link cscBPMacro Identifier -hi def link cscBPW WarningMsg - - -let b:current_syntax = "csc" - -let &cpo = s:cpo_save -unlet s:cpo_save -" vim: ts=8 diff --git a/uvim/runtime/syntax/csdl.mnv b/uvim/runtime/syntax/csdl.mnv new file mode 100644 index 0000000000..e0b53ff3f4 --- /dev/null +++ b/uvim/runtime/syntax/csdl.mnv @@ -0,0 +1,536 @@ +" MNV syntax file +" Language: Curated Stream Definition Language (CSDL) +" Maintainer: Jacek Artymiak +" Latest Revision: 25 February 2013 + +if exists("b:current_syntax") + finish +endif + +setlocal iskeyword=.,@,48-57,_,192-255 +syn case ignore + +syn match csdlKeyword "tag " +syn match csdlKeyword "stream " +syn match csdlKeyword "return " + +syn keyword csdlOperator contains +syn match csdlOperator "cs contains" +syn keyword csdlOperator substr +syn match csdlOperator "cs substr" +syn keyword csdlOperator contains_any +syn match csdlOperator "cs contains_any" +syn keyword csdlOperator any +syn match csdlOperator "cs any" +syn keyword csdlOperator contains_near +syn match csdlOperator "cs contains_near" +syn keyword csdlOperator exists +syn keyword csdlOperator in +syn keyword csdlOperator url_in +syn match csdlOperator "==" +syn match csdlOperator "!=" +syn match csdlOperator "cs ==" +syn match csdlOperator "cs !=" +syn match csdlOperator ">" +syn match csdlOperator ">=" +syn match csdlOperator "<" +syn match csdlOperator "<=" +syn keyword csdlOperator regex_partial +syn keyword csdlOperator regex_exact +syn keyword csdlOperator geo_box +syn keyword csdlOperator geo_radius +syn keyword csdlOperator geo_polygon + +syn keyword csdlLogicalOperator and +syn keyword csdlLogicalOperator or +syn keyword csdlLogicalOperator not + +syn match csdlTarget 'reddit\.title' +syn match csdlTarget 'reddit\.content' +syn match csdlTarget 'reddit\.contenttype' +syn match csdlTarget 'reddit\.link' +syn match csdlTarget 'reddit\.author\.name' +syn match csdlTarget 'reddit\.author\.link' +syn match csdlTarget 'reddit\.type' +syn match csdlTarget 'reddit\.thread' +syn match csdlTarget 'interaction\.type' +syn match csdlTarget 'interaction\.title' +syn match csdlTarget 'interaction\.content' +syn match csdlTarget 'interaction\.source' +syn match csdlTarget 'interaction\.geo' +syn match csdlTarget 'interaction\.link' +syn match csdlTarget 'interaction\.author\.username' +syn match csdlTarget 'interaction\.author\.name' +syn match csdlTarget 'interaction\.author\.id' +syn match csdlTarget 'interaction\.author\.avatar' +syn match csdlTarget 'interaction\.author\.link' +syn match csdlTarget 'interaction\.sample' +syn match csdlTarget 'links\.title' +syn match csdlTarget 'links\.url' +syn keyword csdlTarget links.normalized_url +syn match csdlTarget 'links\.hops' +syn match csdlTarget 'links\.code' +syn match csdlTarget 'links\.domain' +syn keyword csdlTarget links.retweet_count +syn match csdlTarget 'links\.age' +syn keyword csdlTarget links.meta.content_type +syn match csdlTarget 'links\.meta\.charset' +syn match csdlTarget 'links\.meta\.lang' +syn match csdlTarget 'links\.meta\.keywords' +syn match csdlTarget 'links\.meta\.description' +syn match csdlTarget 'links\.meta\.newskeywords' +syn match csdlTarget 'links\.meta\.standout' +syn match csdlTarget 'links\.meta\.opengraph\.type' +syn match csdlTarget 'links\.meta\.opengraph\.title' +syn match csdlTarget 'links\.meta\.opengraph\.image' +syn match csdlTarget 'links\.meta\.opengraph\.url' +syn match csdlTarget 'links\.meta\.opengraph\.description' +syn keyword csdlTarget links.meta.opengraph.site_name +syn match csdlTarget 'links\.meta\.opengraph\.email' +syn keyword csdlTarget links.meta.opengraph.phone_number +syn keyword csdlTarget links.meta.opengraph.fax_number +syn match csdlTarget 'links\.meta\.opengraph\.geo' +syn keyword csdlTarget links.meta.opengraph.street_address +syn match csdlTarget 'links\.meta\.opengraph\.locality' +syn match csdlTarget 'links\.meta\.opengraph\.region' +syn keyword csdlTarget links.meta.opengraph.postal_code +syn match csdlTarget 'links\.meta\.opengraph\.activity' +syn match csdlTarget 'links\.meta\.opengraph\.sport' +syn match csdlTarget 'links\.meta\.opengraph\.bar' +syn match csdlTarget 'links\.meta\.opengraph\.company' +syn match csdlTarget 'links\.meta\.opengraph\.cafe' +syn match csdlTarget 'links\.meta\.opengraph\.hotel' +syn match csdlTarget 'links\.meta\.opengraph\.restaurant' +syn match csdlTarget 'links\.meta\.opengraph\.cause' +syn keyword csdlTarget links.meta.opengraph.sports_league +syn keyword csdlTarget links.meta.opengraph.sports_team +syn match csdlTarget 'links\.meta\.opengraph\.band' +syn match csdlTarget 'links\.meta\.opengraph\.government' +syn keyword csdlTarget links.meta.opengraph.non_profit +syn match csdlTarget 'links\.meta\.opengraph\.school' +syn match csdlTarget 'links\.meta\.opengraph\.university' +syn match csdlTarget 'links\.meta\.opengraph\.actor' +syn match csdlTarget 'links\.meta\.opengraph\.athlete' +syn match csdlTarget 'links\.meta\.opengraph\.author' +syn match csdlTarget 'links\.meta\.opengraph\.director' +syn match csdlTarget 'links\.meta\.opengraph\.musician' +syn match csdlTarget 'links\.meta\.opengraph\.politician' +syn keyword csdlTarget links.meta.opengraph.public_figure +syn match csdlTarget 'links\.meta\.opengraph\.city' +syn match csdlTarget 'links\.meta\.opengraph\.country' +syn match csdlTarget 'links\.meta\.opengraph\.landmark' +syn keyword csdlTarget links.meta.opengraph.state_province +syn match csdlTarget 'links\.meta\.opengraph\.album' +syn match csdlTarget 'links\.meta\.opengraph\.book' +syn match csdlTarget 'links\.meta\.opengraph\.drink' +syn match csdlTarget 'links\.meta\.opengraph\.food' +syn match csdlTarget 'links\.meta\.opengraph\.game' +syn match csdlTarget 'links\.meta\.opengraph\.movie' +syn match csdlTarget 'links\.meta\.opengraph\.product' +syn match csdlTarget 'links\.meta\.opengraph\.song' +syn keyword csdlTarget links.meta.opengraph.tv_show +syn match csdlTarget 'links\.meta\.opengraph\.blog' +syn match csdlTarget 'links\.meta\.opengraph\.website' +syn match csdlTarget 'links\.meta\.opengraph\.article' +syn match csdlTarget 'links\.meta\.twitter\.card' +syn match csdlTarget 'links\.meta\.twitter\.site' +syn keyword csdlTarget links.meta.twitter.site_id +syn match csdlTarget 'links\.meta\.twitter\.creator' +syn keyword csdlTarget links.meta.twitter.creator_id +syn match csdlTarget 'links\.meta\.twitter\.url' +syn match csdlTarget 'links\.meta\.twitter\.description' +syn match csdlTarget 'links\.meta\.twitter\.title' +syn match csdlTarget 'links\.meta\.twitter\.image' +syn keyword csdlTarget links.meta.twitter.image_width +syn keyword csdlTarget links.meta.twitter.image_height +syn match csdlTarget 'links\.meta\.twitter\.player' +syn keyword csdlTarget links.meta.twitter.player_width +syn keyword csdlTarget links.meta.twitter.player_height +syn keyword csdlTarget links.meta.twitter.player_stream +syn keyword csdlTarget links.meta.twitter.player_stream_content_type +syn match csdlTarget 'myspace\.link' +syn match csdlTarget 'myspace\.content' +syn match csdlTarget 'myspace\.contenttype' +syn match csdlTarget 'myspace\.category' +syn match csdlTarget 'myspace\.author\.username' +syn match csdlTarget 'myspace\.author\.name' +syn match csdlTarget 'myspace\.author\.id' +syn match csdlTarget 'myspace\.author\.link' +syn match csdlTarget 'myspace\.author\.avatar' +syn match csdlTarget 'myspace\.geo' +syn match csdlTarget 'myspace\.verb' +syn match csdlTarget 'newscred\.type' +syn match csdlTarget 'newscred\.article\.domain' +syn match csdlTarget 'newscred\.video\.domain' +syn match csdlTarget 'newscred\.article\.topics' +syn match csdlTarget 'newscred\.video\.topics' +syn match csdlTarget 'newscred\.article\.category' +syn match csdlTarget 'newscred\.video\.category' +syn match csdlTarget 'newscred\.article\.title' +syn match csdlTarget 'newscred\.video\.title' +syn match csdlTarget 'newscred\.article\.content' +syn match csdlTarget 'newscred\.article\.fulltext' +syn match csdlTarget 'newscred\.article\.authors' +syn match csdlTarget 'newscred\.image\.caption' +syn match csdlTarget 'newscred\.video\.caption' +syn match csdlTarget 'newscred\.image\.attribution\.text' +syn match csdlTarget 'newscred\.image\.attribution\.link' +syn match csdlTarget 'newscred\.source\.name' +syn match csdlTarget 'newscred\.source\.link' +syn match csdlTarget 'newscred\.source\.domain' +syn keyword csdlTarget newscred.source.media_type +syn keyword csdlTarget newscred.source.company_type +syn match csdlTarget 'newscred\.source\.country' +syn match csdlTarget 'newscred\.source\.circulation' +syn match csdlTarget 'newscred\.source\.founded' +syn match csdlTarget 'imdb\.title' +syn match csdlTarget 'imdb\.content' +syn match csdlTarget 'imdb\.contenttype' +syn match csdlTarget 'imdb\.link' +syn match csdlTarget 'imdb\.author\.name' +syn match csdlTarget 'imdb\.author\.link' +syn match csdlTarget 'imdb\.type' +syn match csdlTarget 'imdb\.thread' +syn match csdlTarget 'amazon\.title' +syn match csdlTarget 'amazon\.content' +syn match csdlTarget 'amazon\.contenttype' +syn match csdlTarget 'amazon\.link' +syn match csdlTarget 'amazon\.author\.name' +syn match csdlTarget 'amazon\.author\.link' +syn match csdlTarget 'amazon\.type' +syn match csdlTarget 'amazon\.thread' +syn match csdlTarget 'salience\.content\.sentiment' +syn match csdlTarget 'salience\.content\.topics' +syn match csdlTarget 'salience\.title\.sentiment' +syn match csdlTarget 'salience\.title\.topics' +syn match csdlTarget 'salience\.content\.entities\.name' +syn match csdlTarget 'salience\.content\.entities\.type' +syn match csdlTarget 'salience\.title\.entities\.name' +syn match csdlTarget 'salience\.title\.entities\.type' +syn match csdlTarget 'klout\.score' +syn match csdlTarget 'klout\.network' +syn match csdlTarget 'klout\.amplification' +syn keyword csdlTarget klout.true_reach +syn match csdlTarget 'klout\.topics' +syn match csdlTarget 'wikipedia\.author\.talk' +syn match csdlTarget 'wikipedia\.author\.contributions' +syn match csdlTarget 'wikipedia\.author\.username' +syn match csdlTarget 'wikipedia\.body' +syn match csdlTarget 'wikipedia\.title' +syn match csdlTarget 'wikipedia\.images' +syn match csdlTarget 'wikipedia\.categories' +syn match csdlTarget 'wikipedia\.externallinks' +syn match csdlTarget 'wikipedia\.ns' +syn match csdlTarget 'wikipedia\.namespace' +syn match csdlTarget 'wikipedia\.pageid' +syn match csdlTarget 'wikipedia\.parentid' +syn match csdlTarget 'wikipedia\.oldlen' +syn match csdlTarget 'wikipedia\.newlen' +syn match csdlTarget 'wikipedia\.changetype' +syn match csdlTarget 'wikipedia\.diff\.from' +syn match csdlTarget 'wikipedia\.diff\.to' +syn match csdlTarget 'wikipedia\.diff\.changes\.added' +syn match csdlTarget 'wikipedia\.diff\.changes\.removed' +syn keyword csdlTarget demographic.twitter_activity +syn match csdlTarget 'demographic\.location\.country' +syn keyword csdlTarget demographic.location.us_state +syn match csdlTarget 'demographic\.location\.city' +syn match csdlTarget 'demographic\.type' +syn match csdlTarget 'demographic\.sex' +syn match csdlTarget 'demographic\.status\.relationship' +syn match csdlTarget 'demographic\.status\.work' +syn keyword csdlTarget demographic.likes_and_interests +syn keyword csdlTarget demographic.first_language +syn match csdlTarget 'demographic\.professions' +syn match csdlTarget 'demographic\.services' +syn keyword csdlTarget demographic.large_accounts_followed +syn keyword csdlTarget demographic.age_range.start +syn keyword csdlTarget demographic.age_range.end +syn match csdlTarget 'demographic\.income\.start' +syn match csdlTarget 'demographic\.income\.end' +syn keyword csdlTarget demographic.main_street.dressed_by +syn keyword csdlTarget demographic.main_street.shop_at +syn keyword csdlTarget demographic.main_street.eat_and_drink_at +syn match csdlTarget 'demographic\.accounts\.categories' +syn match csdlTarget 'tumblr\.activity' +syn match csdlTarget 'tumblr\.source\.blogid' +syn match csdlTarget 'tumblr\.dest\.blogid' +syn match csdlTarget 'tumblr\.dest\.postid' +syn match csdlTarget 'tumblr\.root\.blogid' +syn match csdlTarget 'tumblr\.root\.postid' +syn match csdlTarget 'tumblr\.blogid' +syn keyword csdlTarget tumblr.blog_name +syn match csdlTarget 'tumblr\.type' +syn match csdlTarget 'tumblr\.title' +syn match csdlTarget 'tumblr\.body' +syn match csdlTarget 'tumblr\.text' +syn match csdlTarget 'tumblr\.tags' +syn keyword csdlTarget tumblr.track_name +syn match csdlTarget 'tumblr\.album' +syn match csdlTarget 'tumblr\.link' +syn match csdlTarget 'tumblr\.meta\.url' +syn match csdlTarget 'tumblr\.meta\.type' +syn match csdlTarget 'tumblr\.meta\.description' +syn keyword csdlTarget tumblr.meta.likes_local +syn keyword csdlTarget tumblr.meta.likes_global +syn keyword csdlTarget tumblr.meta.reblogged_global +syn match csdlTarget 'demographic\.gender' +syn match csdlTarget 'flickr\.title' +syn match csdlTarget 'flickr\.content' +syn match csdlTarget 'flickr\.contenttype' +syn match csdlTarget 'flickr\.link' +syn match csdlTarget 'flickr\.author\.name' +syn match csdlTarget 'flickr\.author\.link' +syn match csdlTarget 'flickr\.author\.username' +syn match csdlTarget 'flickr\.type' +syn match csdlTarget 'flickr\.thread' +syn match csdlTarget 'twitter\.text' +syn match csdlTarget 'twitter\.source' +syn match csdlTarget 'twitter\.mentions' +syn keyword csdlTarget twitter.mention_ids +syn match csdlTarget 'twitter\.links' +syn match csdlTarget 'twitter\.domains' +syn keyword csdlTarget twitter.in_reply_to_screen_name +syn keyword csdlTarget twitter.in_reply_to_user_id +syn keyword csdlTarget twitter.in_reply_to_status_id +syn keyword csdlTarget twitter.filter_level +syn match csdlTarget 'twitter\.lang' +syn match csdlTarget 'twitter\.geo' +syn match csdlTarget 'twitter\.user\.description' +syn match csdlTarget 'twitter\.user\.location' +syn keyword csdlTarget twitter.user.statuses_count +syn keyword csdlTarget twitter.user.followers_count +syn keyword csdlTarget twitter.user.follower_ratio +syn keyword csdlTarget twitter.user.profile_age +syn keyword csdlTarget twitter.user.friends_count +syn keyword csdlTarget twitter.user.screen_name +syn match csdlTarget 'twitter\.user\.lang' +syn keyword csdlTarget twitter.user.time_zone +syn match csdlTarget 'twitter\.user\.name' +syn match csdlTarget 'twitter\.user\.id' +syn keyword csdlTarget twitter.user.listed_count +syn match csdlTarget 'twitter\.user\.url' +syn match csdlTarget 'twitter\.user\.verified' +syn keyword csdlTarget twitter.place.place_type +syn match csdlTarget 'twitter\.place\.country' +syn keyword csdlTarget twitter.place.country_code +syn keyword csdlTarget twitter.place.full_name +syn match csdlTarget 'twitter\.place\.name' +syn match csdlTarget 'twitter\.place\.url' +syn match csdlTarget 'twitter\.place\.attributes\.locality' +syn match csdlTarget 'twitter\.place\.attributes\.region' +syn keyword csdlTarget twitter.place.attributes.street_address +syn match csdlTarget 'twitter\.status' +syn match csdlTarget 'twitter\.retweet\.text' +syn match csdlTarget 'twitter\.retweet\.elapsed' +syn match csdlTarget 'twitter\.retweet\.source' +syn keyword csdlTarget twitter.retweet.filter_level +syn match csdlTarget 'twitter\.retweet\.lang' +syn match csdlTarget 'twitter\.retweet\.user\.description' +syn match csdlTarget 'twitter\.retweet\.user\.location' +syn keyword csdlTarget twitter.retweet.user.statuses_count +syn keyword csdlTarget twitter.retweet.user.followers_count +syn keyword csdlTarget twitter.retweet.user.follower_ratio +syn keyword csdlTarget twitter.retweet.user.profile_age +syn keyword csdlTarget twitter.retweet.user.friends_count +syn keyword csdlTarget twitter.retweet.user.screen_name +syn match csdlTarget 'twitter\.retweet\.user\.lang' +syn keyword csdlTarget twitter.retweet.user.time_zone +syn match csdlTarget 'twitter\.retweet\.user\.name' +syn match csdlTarget 'twitter\.retweet\.user\.id' +syn keyword csdlTarget twitter.retweet.user.listed_count +syn match csdlTarget 'twitter\.retweet\.user\.url' +syn match csdlTarget 'twitter\.retweet\.user\.verified' +syn match csdlTarget 'twitter\.retweeted\.id' +syn match csdlTarget 'twitter\.retweeted\.source' +syn keyword csdlTarget twitter.retweeted.in_reply_to_screen_name +syn keyword csdlTarget twitter.retweeted.in_reply_to_user_id_str +syn keyword csdlTarget twitter.retweeted.in_reply_to_status_id +syn match csdlTarget 'twitter\.retweet\.count' +syn match csdlTarget 'twitter\.retweet\.mentions' +syn keyword csdlTarget twitter.retweet.mention_ids +syn match csdlTarget 'twitter\.retweet\.links' +syn match csdlTarget 'twitter\.retweet\.domains' +syn match csdlTarget 'twitter\.retweeted\.user\.description' +syn match csdlTarget 'twitter\.retweeted\.user\.location' +syn keyword csdlTarget twitter.retweeted.user.statuses_count +syn keyword csdlTarget twitter.retweeted.user.followers_count +syn keyword csdlTarget twitter.retweeted.user.follower_ratio +syn keyword csdlTarget twitter.retweeted.user.profile_age +syn keyword csdlTarget twitter.retweeted.user.friends_count +syn keyword csdlTarget twitter.retweeted.user.screen_name +syn match csdlTarget 'twitter\.retweeted\.user\.lang' +syn keyword csdlTarget twitter.retweeted.user.time_zone +syn match csdlTarget 'twitter\.retweeted\.user\.name' +syn match csdlTarget 'twitter\.retweeted\.user\.id' +syn keyword csdlTarget twitter.retweeted.user.listed_count +syn match csdlTarget 'twitter\.retweeted\.user\.url' +syn match csdlTarget 'twitter\.retweeted\.user\.verified' +syn match csdlTarget 'twitter\.retweeted\.geo' +syn keyword csdlTarget twitter.retweeted.place.place_type +syn match csdlTarget 'twitter\.retweeted\.place\.country' +syn keyword csdlTarget twitter.retweeted.place.country_code +syn keyword csdlTarget twitter.retweeted.place.full_name +syn match csdlTarget 'twitter\.retweeted\.place\.name' +syn match csdlTarget 'twitter\.retweeted\.place\.url' +syn match csdlTarget 'twitter\.retweeted\.place\.attributes' +syn match csdlTarget 'twitter\.hashtags' +syn match csdlTarget 'twitter\.retweet\.hashtags' +syn match csdlTarget 'twitter\.media\.type' +syn keyword csdlTarget twitter.media.media_url +syn keyword csdlTarget twitter.media.display_url +syn match csdlTarget 'twitter\.retweet\.media\.type' +syn keyword csdlTarget twitter.retweet.media.media_url +syn keyword csdlTarget twitter.retweet.media.display_url +syn match csdlTarget 'blog\.title' +syn match csdlTarget 'blog\.content' +syn match csdlTarget 'blog\.contenttype' +syn match csdlTarget 'blog\.link' +syn match csdlTarget 'blog\.domain' +syn match csdlTarget 'blog\.author\.name' +syn match csdlTarget 'blog\.author\.link' +syn match csdlTarget 'blog\.author\.avatar' +syn match csdlTarget 'blog\.author\.username' +syn match csdlTarget 'blog\.type' +syn match csdlTarget 'blog\.post\.link' +syn match csdlTarget 'blog\.post\.title' +syn match csdlTarget 'facebook\.author\.name' +syn match csdlTarget 'facebook\.author\.link' +syn match csdlTarget 'facebook\.author\.id' +syn match csdlTarget 'facebook\.author\.avatar' +syn match csdlTarget 'facebook\.message' +syn match csdlTarget 'facebook\.description' +syn match csdlTarget 'facebook\.caption' +syn match csdlTarget 'facebook\.type' +syn match csdlTarget 'facebook\.application' +syn match csdlTarget 'facebook\.source' +syn match csdlTarget 'facebook\.link' +syn match csdlTarget 'facebook\.name' +syn match csdlTarget 'facebook\.to\.names' +syn match csdlTarget 'facebook\.to\.ids' +syn match csdlTarget 'facebook\.og\.title' +syn match csdlTarget 'facebook\.og\.location' +syn match csdlTarget 'facebook\.og\.photos' +syn match csdlTarget 'facebook\.og\.by' +syn match csdlTarget 'facebook\.og\.description' +syn match csdlTarget 'facebook\.og\.type' +syn match csdlTarget 'facebook\.og\.length' +syn match csdlTarget 'facebook\.likes\.count' +syn match csdlTarget 'facebook\.likes\.names' +syn match csdlTarget 'facebook\.likes\.ids' +syn match csdlTarget 'topix\.title' +syn match csdlTarget 'topix\.content' +syn match csdlTarget 'topix\.contenttype' +syn match csdlTarget 'topix\.link' +syn match csdlTarget 'topix\.author\.name' +syn match csdlTarget 'topix\.type' +syn match csdlTarget 'topix\.thread' +syn match csdlTarget 'topix\.author\.location' +syn match csdlTarget 'bitly\.user\.agent' +syn keyword csdlTarget bitly.url_hash +syn match csdlTarget 'bitly\.share\.hash' +syn match csdlTarget 'bitly\.cname' +syn keyword csdlTarget bitly.referring_url +syn keyword csdlTarget bitly.referring_domain +syn match csdlTarget 'bitly\.url' +syn match csdlTarget 'bitly\.domain' +syn keyword csdlTarget bitly.country_code +syn keyword csdlTarget bitly.geo_region_code +syn match csdlTarget 'bitly\.country' +syn keyword csdlTarget bitly.geo_region +syn keyword csdlTarget bitly.geo_city +syn match csdlTarget 'bitly\.geo' +syn match csdlTarget 'bitly\.timezone' +syn match csdlTarget 'trends\.type' +syn match csdlTarget 'trends\.content' +syn match csdlTarget 'trends\.source' +syn match csdlTarget 'board\.title' +syn match csdlTarget 'board\.content' +syn match csdlTarget 'board\.contenttype' +syn match csdlTarget 'board\.link' +syn match csdlTarget 'board\.domain' +syn match csdlTarget 'board\.author\.name' +syn match csdlTarget 'board\.author\.link' +syn match csdlTarget 'board\.author\.avatar' +syn match csdlTarget 'board\.author\.username' +syn match csdlTarget 'board\.type' +syn match csdlTarget 'board\.thread' +syn match csdlTarget 'board\.author\.location' +syn match csdlTarget 'board\.author\.signature' +syn match csdlTarget 'board\.author\.registered' +syn match csdlTarget 'board\.author\.age' +syn match csdlTarget 'board\.author\.gender' +syn match csdlTarget 'video\.title' +syn match csdlTarget 'video\.content' +syn match csdlTarget 'video\.contenttype' +syn match csdlTarget 'video\.domain' +syn match csdlTarget 'video\.author\.name' +syn match csdlTarget 'video\.author\.link' +syn match csdlTarget 'video\.author\.avatar' +syn match csdlTarget 'video\.author\.username' +syn match csdlTarget 'video\.type' +syn match csdlTarget 'video\.videolink' +syn match csdlTarget 'video\.commentslink' +syn match csdlTarget 'video\.duration' +syn match csdlTarget 'video\.thumbnail' +syn match csdlTarget 'video\.category' +syn match csdlTarget 'video\.tags' +syn match csdlTarget '2ch\.title' +syn match csdlTarget '2ch\.content' +syn match csdlTarget '2ch\.contenttype' +syn match csdlTarget '2ch\.link' +syn match csdlTarget '2ch\.author\.name' +syn match csdlTarget '2ch\.type' +syn match csdlTarget '2ch\.thread' +syn match csdlTarget 'dailymotion\.title' +syn match csdlTarget 'dailymotion\.content' +syn match csdlTarget 'dailymotion\.contenttype' +syn match csdlTarget 'dailymotion\.author\.link' +syn match csdlTarget 'dailymotion\.author\.username' +syn match csdlTarget 'dailymotion\.videolink' +syn match csdlTarget 'dailymotion\.duration' +syn match csdlTarget 'dailymotion\.thumbnail' +syn match csdlTarget 'dailymotion\.category' +syn match csdlTarget 'dailymotion\.tags' +syn match csdlTarget 'language\.tag' +syn match csdlTarget 'language\.confidence' +syn match csdlTarget 'digg\.type' +syn match csdlTarget 'digg\.user\.name' +syn match csdlTarget 'digg\.user\.fullname' +syn match csdlTarget 'digg\.user\.registered' +syn match csdlTarget 'digg\.user\.profileviews' +syn match csdlTarget 'digg\.user\.icon' +syn match csdlTarget 'digg\.user\.links' +syn match csdlTarget 'digg\.item\.status' +syn match csdlTarget 'digg\.item\.description' +syn match csdlTarget 'digg\.item\.title' +syn match csdlTarget 'digg\.item\.diggs' +syn match csdlTarget 'digg\.item\.comments' +syn match csdlTarget 'digg\.item\.topic' +syn match csdlTarget 'digg\.comment\.buries' +syn match csdlTarget 'digg\.comment\.diggs' +syn match csdlTarget 'digg\.comment\.text' +syn match csdlTarget 'youtube\.title' +syn match csdlTarget 'youtube\.content' +syn match csdlTarget 'youtube\.contenttype' +syn match csdlTarget 'youtube\.author\.name' +syn match csdlTarget 'youtube\.author\.link' +syn match csdlTarget 'youtube\.type' +syn match csdlTarget 'youtube\.videolink' +syn match csdlTarget 'youtube\.commentslink' +syn match csdlTarget 'youtube\.duration' +syn match csdlTarget 'youtube\.thumbnail' +syn match csdlTarget 'youtube\.category' +syn match csdlTarget 'youtube\.tags' + +syn match csdlComment "^\/\/.*$" +syn match csdlComment "^\/\*.*$" +syn match csdlComment "^.*\*\/$" + +highlight link csdlKeyword Statement +highlight link csdlOperator Operator +highlight link csdlLogicalOperator Operator +highlight link csdlTarget Constant +highlight link csdlComment Comment +" +let b:current_syntax = "csdl" diff --git a/uvim/runtime/syntax/csdl.vim b/uvim/runtime/syntax/csdl.vim deleted file mode 100644 index f7d30f1646..0000000000 --- a/uvim/runtime/syntax/csdl.vim +++ /dev/null @@ -1,536 +0,0 @@ -" Vim syntax file -" Language: Curated Stream Definition Language (CSDL) -" Maintainer: Jacek Artymiak -" Latest Revision: 25 February 2013 - -if exists("b:current_syntax") - finish -endif - -setlocal iskeyword=.,@,48-57,_,192-255 -syn case ignore - -syn match csdlKeyword "tag " -syn match csdlKeyword "stream " -syn match csdlKeyword "return " - -syn keyword csdlOperator contains -syn match csdlOperator "cs contains" -syn keyword csdlOperator substr -syn match csdlOperator "cs substr" -syn keyword csdlOperator contains_any -syn match csdlOperator "cs contains_any" -syn keyword csdlOperator any -syn match csdlOperator "cs any" -syn keyword csdlOperator contains_near -syn match csdlOperator "cs contains_near" -syn keyword csdlOperator exists -syn keyword csdlOperator in -syn keyword csdlOperator url_in -syn match csdlOperator "==" -syn match csdlOperator "!=" -syn match csdlOperator "cs ==" -syn match csdlOperator "cs !=" -syn match csdlOperator ">" -syn match csdlOperator ">=" -syn match csdlOperator "<" -syn match csdlOperator "<=" -syn keyword csdlOperator regex_partial -syn keyword csdlOperator regex_exact -syn keyword csdlOperator geo_box -syn keyword csdlOperator geo_radius -syn keyword csdlOperator geo_polygon - -syn keyword csdlLogicalOperator and -syn keyword csdlLogicalOperator or -syn keyword csdlLogicalOperator not - -syn match csdlTarget 'reddit\.title' -syn match csdlTarget 'reddit\.content' -syn match csdlTarget 'reddit\.contenttype' -syn match csdlTarget 'reddit\.link' -syn match csdlTarget 'reddit\.author\.name' -syn match csdlTarget 'reddit\.author\.link' -syn match csdlTarget 'reddit\.type' -syn match csdlTarget 'reddit\.thread' -syn match csdlTarget 'interaction\.type' -syn match csdlTarget 'interaction\.title' -syn match csdlTarget 'interaction\.content' -syn match csdlTarget 'interaction\.source' -syn match csdlTarget 'interaction\.geo' -syn match csdlTarget 'interaction\.link' -syn match csdlTarget 'interaction\.author\.username' -syn match csdlTarget 'interaction\.author\.name' -syn match csdlTarget 'interaction\.author\.id' -syn match csdlTarget 'interaction\.author\.avatar' -syn match csdlTarget 'interaction\.author\.link' -syn match csdlTarget 'interaction\.sample' -syn match csdlTarget 'links\.title' -syn match csdlTarget 'links\.url' -syn keyword csdlTarget links.normalized_url -syn match csdlTarget 'links\.hops' -syn match csdlTarget 'links\.code' -syn match csdlTarget 'links\.domain' -syn keyword csdlTarget links.retweet_count -syn match csdlTarget 'links\.age' -syn keyword csdlTarget links.meta.content_type -syn match csdlTarget 'links\.meta\.charset' -syn match csdlTarget 'links\.meta\.lang' -syn match csdlTarget 'links\.meta\.keywords' -syn match csdlTarget 'links\.meta\.description' -syn match csdlTarget 'links\.meta\.newskeywords' -syn match csdlTarget 'links\.meta\.standout' -syn match csdlTarget 'links\.meta\.opengraph\.type' -syn match csdlTarget 'links\.meta\.opengraph\.title' -syn match csdlTarget 'links\.meta\.opengraph\.image' -syn match csdlTarget 'links\.meta\.opengraph\.url' -syn match csdlTarget 'links\.meta\.opengraph\.description' -syn keyword csdlTarget links.meta.opengraph.site_name -syn match csdlTarget 'links\.meta\.opengraph\.email' -syn keyword csdlTarget links.meta.opengraph.phone_number -syn keyword csdlTarget links.meta.opengraph.fax_number -syn match csdlTarget 'links\.meta\.opengraph\.geo' -syn keyword csdlTarget links.meta.opengraph.street_address -syn match csdlTarget 'links\.meta\.opengraph\.locality' -syn match csdlTarget 'links\.meta\.opengraph\.region' -syn keyword csdlTarget links.meta.opengraph.postal_code -syn match csdlTarget 'links\.meta\.opengraph\.activity' -syn match csdlTarget 'links\.meta\.opengraph\.sport' -syn match csdlTarget 'links\.meta\.opengraph\.bar' -syn match csdlTarget 'links\.meta\.opengraph\.company' -syn match csdlTarget 'links\.meta\.opengraph\.cafe' -syn match csdlTarget 'links\.meta\.opengraph\.hotel' -syn match csdlTarget 'links\.meta\.opengraph\.restaurant' -syn match csdlTarget 'links\.meta\.opengraph\.cause' -syn keyword csdlTarget links.meta.opengraph.sports_league -syn keyword csdlTarget links.meta.opengraph.sports_team -syn match csdlTarget 'links\.meta\.opengraph\.band' -syn match csdlTarget 'links\.meta\.opengraph\.government' -syn keyword csdlTarget links.meta.opengraph.non_profit -syn match csdlTarget 'links\.meta\.opengraph\.school' -syn match csdlTarget 'links\.meta\.opengraph\.university' -syn match csdlTarget 'links\.meta\.opengraph\.actor' -syn match csdlTarget 'links\.meta\.opengraph\.athlete' -syn match csdlTarget 'links\.meta\.opengraph\.author' -syn match csdlTarget 'links\.meta\.opengraph\.director' -syn match csdlTarget 'links\.meta\.opengraph\.musician' -syn match csdlTarget 'links\.meta\.opengraph\.politician' -syn keyword csdlTarget links.meta.opengraph.public_figure -syn match csdlTarget 'links\.meta\.opengraph\.city' -syn match csdlTarget 'links\.meta\.opengraph\.country' -syn match csdlTarget 'links\.meta\.opengraph\.landmark' -syn keyword csdlTarget links.meta.opengraph.state_province -syn match csdlTarget 'links\.meta\.opengraph\.album' -syn match csdlTarget 'links\.meta\.opengraph\.book' -syn match csdlTarget 'links\.meta\.opengraph\.drink' -syn match csdlTarget 'links\.meta\.opengraph\.food' -syn match csdlTarget 'links\.meta\.opengraph\.game' -syn match csdlTarget 'links\.meta\.opengraph\.movie' -syn match csdlTarget 'links\.meta\.opengraph\.product' -syn match csdlTarget 'links\.meta\.opengraph\.song' -syn keyword csdlTarget links.meta.opengraph.tv_show -syn match csdlTarget 'links\.meta\.opengraph\.blog' -syn match csdlTarget 'links\.meta\.opengraph\.website' -syn match csdlTarget 'links\.meta\.opengraph\.article' -syn match csdlTarget 'links\.meta\.twitter\.card' -syn match csdlTarget 'links\.meta\.twitter\.site' -syn keyword csdlTarget links.meta.twitter.site_id -syn match csdlTarget 'links\.meta\.twitter\.creator' -syn keyword csdlTarget links.meta.twitter.creator_id -syn match csdlTarget 'links\.meta\.twitter\.url' -syn match csdlTarget 'links\.meta\.twitter\.description' -syn match csdlTarget 'links\.meta\.twitter\.title' -syn match csdlTarget 'links\.meta\.twitter\.image' -syn keyword csdlTarget links.meta.twitter.image_width -syn keyword csdlTarget links.meta.twitter.image_height -syn match csdlTarget 'links\.meta\.twitter\.player' -syn keyword csdlTarget links.meta.twitter.player_width -syn keyword csdlTarget links.meta.twitter.player_height -syn keyword csdlTarget links.meta.twitter.player_stream -syn keyword csdlTarget links.meta.twitter.player_stream_content_type -syn match csdlTarget 'myspace\.link' -syn match csdlTarget 'myspace\.content' -syn match csdlTarget 'myspace\.contenttype' -syn match csdlTarget 'myspace\.category' -syn match csdlTarget 'myspace\.author\.username' -syn match csdlTarget 'myspace\.author\.name' -syn match csdlTarget 'myspace\.author\.id' -syn match csdlTarget 'myspace\.author\.link' -syn match csdlTarget 'myspace\.author\.avatar' -syn match csdlTarget 'myspace\.geo' -syn match csdlTarget 'myspace\.verb' -syn match csdlTarget 'newscred\.type' -syn match csdlTarget 'newscred\.article\.domain' -syn match csdlTarget 'newscred\.video\.domain' -syn match csdlTarget 'newscred\.article\.topics' -syn match csdlTarget 'newscred\.video\.topics' -syn match csdlTarget 'newscred\.article\.category' -syn match csdlTarget 'newscred\.video\.category' -syn match csdlTarget 'newscred\.article\.title' -syn match csdlTarget 'newscred\.video\.title' -syn match csdlTarget 'newscred\.article\.content' -syn match csdlTarget 'newscred\.article\.fulltext' -syn match csdlTarget 'newscred\.article\.authors' -syn match csdlTarget 'newscred\.image\.caption' -syn match csdlTarget 'newscred\.video\.caption' -syn match csdlTarget 'newscred\.image\.attribution\.text' -syn match csdlTarget 'newscred\.image\.attribution\.link' -syn match csdlTarget 'newscred\.source\.name' -syn match csdlTarget 'newscred\.source\.link' -syn match csdlTarget 'newscred\.source\.domain' -syn keyword csdlTarget newscred.source.media_type -syn keyword csdlTarget newscred.source.company_type -syn match csdlTarget 'newscred\.source\.country' -syn match csdlTarget 'newscred\.source\.circulation' -syn match csdlTarget 'newscred\.source\.founded' -syn match csdlTarget 'imdb\.title' -syn match csdlTarget 'imdb\.content' -syn match csdlTarget 'imdb\.contenttype' -syn match csdlTarget 'imdb\.link' -syn match csdlTarget 'imdb\.author\.name' -syn match csdlTarget 'imdb\.author\.link' -syn match csdlTarget 'imdb\.type' -syn match csdlTarget 'imdb\.thread' -syn match csdlTarget 'amazon\.title' -syn match csdlTarget 'amazon\.content' -syn match csdlTarget 'amazon\.contenttype' -syn match csdlTarget 'amazon\.link' -syn match csdlTarget 'amazon\.author\.name' -syn match csdlTarget 'amazon\.author\.link' -syn match csdlTarget 'amazon\.type' -syn match csdlTarget 'amazon\.thread' -syn match csdlTarget 'salience\.content\.sentiment' -syn match csdlTarget 'salience\.content\.topics' -syn match csdlTarget 'salience\.title\.sentiment' -syn match csdlTarget 'salience\.title\.topics' -syn match csdlTarget 'salience\.content\.entities\.name' -syn match csdlTarget 'salience\.content\.entities\.type' -syn match csdlTarget 'salience\.title\.entities\.name' -syn match csdlTarget 'salience\.title\.entities\.type' -syn match csdlTarget 'klout\.score' -syn match csdlTarget 'klout\.network' -syn match csdlTarget 'klout\.amplification' -syn keyword csdlTarget klout.true_reach -syn match csdlTarget 'klout\.topics' -syn match csdlTarget 'wikipedia\.author\.talk' -syn match csdlTarget 'wikipedia\.author\.contributions' -syn match csdlTarget 'wikipedia\.author\.username' -syn match csdlTarget 'wikipedia\.body' -syn match csdlTarget 'wikipedia\.title' -syn match csdlTarget 'wikipedia\.images' -syn match csdlTarget 'wikipedia\.categories' -syn match csdlTarget 'wikipedia\.externallinks' -syn match csdlTarget 'wikipedia\.ns' -syn match csdlTarget 'wikipedia\.namespace' -syn match csdlTarget 'wikipedia\.pageid' -syn match csdlTarget 'wikipedia\.parentid' -syn match csdlTarget 'wikipedia\.oldlen' -syn match csdlTarget 'wikipedia\.newlen' -syn match csdlTarget 'wikipedia\.changetype' -syn match csdlTarget 'wikipedia\.diff\.from' -syn match csdlTarget 'wikipedia\.diff\.to' -syn match csdlTarget 'wikipedia\.diff\.changes\.added' -syn match csdlTarget 'wikipedia\.diff\.changes\.removed' -syn keyword csdlTarget demographic.twitter_activity -syn match csdlTarget 'demographic\.location\.country' -syn keyword csdlTarget demographic.location.us_state -syn match csdlTarget 'demographic\.location\.city' -syn match csdlTarget 'demographic\.type' -syn match csdlTarget 'demographic\.sex' -syn match csdlTarget 'demographic\.status\.relationship' -syn match csdlTarget 'demographic\.status\.work' -syn keyword csdlTarget demographic.likes_and_interests -syn keyword csdlTarget demographic.first_language -syn match csdlTarget 'demographic\.professions' -syn match csdlTarget 'demographic\.services' -syn keyword csdlTarget demographic.large_accounts_followed -syn keyword csdlTarget demographic.age_range.start -syn keyword csdlTarget demographic.age_range.end -syn match csdlTarget 'demographic\.income\.start' -syn match csdlTarget 'demographic\.income\.end' -syn keyword csdlTarget demographic.main_street.dressed_by -syn keyword csdlTarget demographic.main_street.shop_at -syn keyword csdlTarget demographic.main_street.eat_and_drink_at -syn match csdlTarget 'demographic\.accounts\.categories' -syn match csdlTarget 'tumblr\.activity' -syn match csdlTarget 'tumblr\.source\.blogid' -syn match csdlTarget 'tumblr\.dest\.blogid' -syn match csdlTarget 'tumblr\.dest\.postid' -syn match csdlTarget 'tumblr\.root\.blogid' -syn match csdlTarget 'tumblr\.root\.postid' -syn match csdlTarget 'tumblr\.blogid' -syn keyword csdlTarget tumblr.blog_name -syn match csdlTarget 'tumblr\.type' -syn match csdlTarget 'tumblr\.title' -syn match csdlTarget 'tumblr\.body' -syn match csdlTarget 'tumblr\.text' -syn match csdlTarget 'tumblr\.tags' -syn keyword csdlTarget tumblr.track_name -syn match csdlTarget 'tumblr\.album' -syn match csdlTarget 'tumblr\.link' -syn match csdlTarget 'tumblr\.meta\.url' -syn match csdlTarget 'tumblr\.meta\.type' -syn match csdlTarget 'tumblr\.meta\.description' -syn keyword csdlTarget tumblr.meta.likes_local -syn keyword csdlTarget tumblr.meta.likes_global -syn keyword csdlTarget tumblr.meta.reblogged_global -syn match csdlTarget 'demographic\.gender' -syn match csdlTarget 'flickr\.title' -syn match csdlTarget 'flickr\.content' -syn match csdlTarget 'flickr\.contenttype' -syn match csdlTarget 'flickr\.link' -syn match csdlTarget 'flickr\.author\.name' -syn match csdlTarget 'flickr\.author\.link' -syn match csdlTarget 'flickr\.author\.username' -syn match csdlTarget 'flickr\.type' -syn match csdlTarget 'flickr\.thread' -syn match csdlTarget 'twitter\.text' -syn match csdlTarget 'twitter\.source' -syn match csdlTarget 'twitter\.mentions' -syn keyword csdlTarget twitter.mention_ids -syn match csdlTarget 'twitter\.links' -syn match csdlTarget 'twitter\.domains' -syn keyword csdlTarget twitter.in_reply_to_screen_name -syn keyword csdlTarget twitter.in_reply_to_user_id -syn keyword csdlTarget twitter.in_reply_to_status_id -syn keyword csdlTarget twitter.filter_level -syn match csdlTarget 'twitter\.lang' -syn match csdlTarget 'twitter\.geo' -syn match csdlTarget 'twitter\.user\.description' -syn match csdlTarget 'twitter\.user\.location' -syn keyword csdlTarget twitter.user.statuses_count -syn keyword csdlTarget twitter.user.followers_count -syn keyword csdlTarget twitter.user.follower_ratio -syn keyword csdlTarget twitter.user.profile_age -syn keyword csdlTarget twitter.user.friends_count -syn keyword csdlTarget twitter.user.screen_name -syn match csdlTarget 'twitter\.user\.lang' -syn keyword csdlTarget twitter.user.time_zone -syn match csdlTarget 'twitter\.user\.name' -syn match csdlTarget 'twitter\.user\.id' -syn keyword csdlTarget twitter.user.listed_count -syn match csdlTarget 'twitter\.user\.url' -syn match csdlTarget 'twitter\.user\.verified' -syn keyword csdlTarget twitter.place.place_type -syn match csdlTarget 'twitter\.place\.country' -syn keyword csdlTarget twitter.place.country_code -syn keyword csdlTarget twitter.place.full_name -syn match csdlTarget 'twitter\.place\.name' -syn match csdlTarget 'twitter\.place\.url' -syn match csdlTarget 'twitter\.place\.attributes\.locality' -syn match csdlTarget 'twitter\.place\.attributes\.region' -syn keyword csdlTarget twitter.place.attributes.street_address -syn match csdlTarget 'twitter\.status' -syn match csdlTarget 'twitter\.retweet\.text' -syn match csdlTarget 'twitter\.retweet\.elapsed' -syn match csdlTarget 'twitter\.retweet\.source' -syn keyword csdlTarget twitter.retweet.filter_level -syn match csdlTarget 'twitter\.retweet\.lang' -syn match csdlTarget 'twitter\.retweet\.user\.description' -syn match csdlTarget 'twitter\.retweet\.user\.location' -syn keyword csdlTarget twitter.retweet.user.statuses_count -syn keyword csdlTarget twitter.retweet.user.followers_count -syn keyword csdlTarget twitter.retweet.user.follower_ratio -syn keyword csdlTarget twitter.retweet.user.profile_age -syn keyword csdlTarget twitter.retweet.user.friends_count -syn keyword csdlTarget twitter.retweet.user.screen_name -syn match csdlTarget 'twitter\.retweet\.user\.lang' -syn keyword csdlTarget twitter.retweet.user.time_zone -syn match csdlTarget 'twitter\.retweet\.user\.name' -syn match csdlTarget 'twitter\.retweet\.user\.id' -syn keyword csdlTarget twitter.retweet.user.listed_count -syn match csdlTarget 'twitter\.retweet\.user\.url' -syn match csdlTarget 'twitter\.retweet\.user\.verified' -syn match csdlTarget 'twitter\.retweeted\.id' -syn match csdlTarget 'twitter\.retweeted\.source' -syn keyword csdlTarget twitter.retweeted.in_reply_to_screen_name -syn keyword csdlTarget twitter.retweeted.in_reply_to_user_id_str -syn keyword csdlTarget twitter.retweeted.in_reply_to_status_id -syn match csdlTarget 'twitter\.retweet\.count' -syn match csdlTarget 'twitter\.retweet\.mentions' -syn keyword csdlTarget twitter.retweet.mention_ids -syn match csdlTarget 'twitter\.retweet\.links' -syn match csdlTarget 'twitter\.retweet\.domains' -syn match csdlTarget 'twitter\.retweeted\.user\.description' -syn match csdlTarget 'twitter\.retweeted\.user\.location' -syn keyword csdlTarget twitter.retweeted.user.statuses_count -syn keyword csdlTarget twitter.retweeted.user.followers_count -syn keyword csdlTarget twitter.retweeted.user.follower_ratio -syn keyword csdlTarget twitter.retweeted.user.profile_age -syn keyword csdlTarget twitter.retweeted.user.friends_count -syn keyword csdlTarget twitter.retweeted.user.screen_name -syn match csdlTarget 'twitter\.retweeted\.user\.lang' -syn keyword csdlTarget twitter.retweeted.user.time_zone -syn match csdlTarget 'twitter\.retweeted\.user\.name' -syn match csdlTarget 'twitter\.retweeted\.user\.id' -syn keyword csdlTarget twitter.retweeted.user.listed_count -syn match csdlTarget 'twitter\.retweeted\.user\.url' -syn match csdlTarget 'twitter\.retweeted\.user\.verified' -syn match csdlTarget 'twitter\.retweeted\.geo' -syn keyword csdlTarget twitter.retweeted.place.place_type -syn match csdlTarget 'twitter\.retweeted\.place\.country' -syn keyword csdlTarget twitter.retweeted.place.country_code -syn keyword csdlTarget twitter.retweeted.place.full_name -syn match csdlTarget 'twitter\.retweeted\.place\.name' -syn match csdlTarget 'twitter\.retweeted\.place\.url' -syn match csdlTarget 'twitter\.retweeted\.place\.attributes' -syn match csdlTarget 'twitter\.hashtags' -syn match csdlTarget 'twitter\.retweet\.hashtags' -syn match csdlTarget 'twitter\.media\.type' -syn keyword csdlTarget twitter.media.media_url -syn keyword csdlTarget twitter.media.display_url -syn match csdlTarget 'twitter\.retweet\.media\.type' -syn keyword csdlTarget twitter.retweet.media.media_url -syn keyword csdlTarget twitter.retweet.media.display_url -syn match csdlTarget 'blog\.title' -syn match csdlTarget 'blog\.content' -syn match csdlTarget 'blog\.contenttype' -syn match csdlTarget 'blog\.link' -syn match csdlTarget 'blog\.domain' -syn match csdlTarget 'blog\.author\.name' -syn match csdlTarget 'blog\.author\.link' -syn match csdlTarget 'blog\.author\.avatar' -syn match csdlTarget 'blog\.author\.username' -syn match csdlTarget 'blog\.type' -syn match csdlTarget 'blog\.post\.link' -syn match csdlTarget 'blog\.post\.title' -syn match csdlTarget 'facebook\.author\.name' -syn match csdlTarget 'facebook\.author\.link' -syn match csdlTarget 'facebook\.author\.id' -syn match csdlTarget 'facebook\.author\.avatar' -syn match csdlTarget 'facebook\.message' -syn match csdlTarget 'facebook\.description' -syn match csdlTarget 'facebook\.caption' -syn match csdlTarget 'facebook\.type' -syn match csdlTarget 'facebook\.application' -syn match csdlTarget 'facebook\.source' -syn match csdlTarget 'facebook\.link' -syn match csdlTarget 'facebook\.name' -syn match csdlTarget 'facebook\.to\.names' -syn match csdlTarget 'facebook\.to\.ids' -syn match csdlTarget 'facebook\.og\.title' -syn match csdlTarget 'facebook\.og\.location' -syn match csdlTarget 'facebook\.og\.photos' -syn match csdlTarget 'facebook\.og\.by' -syn match csdlTarget 'facebook\.og\.description' -syn match csdlTarget 'facebook\.og\.type' -syn match csdlTarget 'facebook\.og\.length' -syn match csdlTarget 'facebook\.likes\.count' -syn match csdlTarget 'facebook\.likes\.names' -syn match csdlTarget 'facebook\.likes\.ids' -syn match csdlTarget 'topix\.title' -syn match csdlTarget 'topix\.content' -syn match csdlTarget 'topix\.contenttype' -syn match csdlTarget 'topix\.link' -syn match csdlTarget 'topix\.author\.name' -syn match csdlTarget 'topix\.type' -syn match csdlTarget 'topix\.thread' -syn match csdlTarget 'topix\.author\.location' -syn match csdlTarget 'bitly\.user\.agent' -syn keyword csdlTarget bitly.url_hash -syn match csdlTarget 'bitly\.share\.hash' -syn match csdlTarget 'bitly\.cname' -syn keyword csdlTarget bitly.referring_url -syn keyword csdlTarget bitly.referring_domain -syn match csdlTarget 'bitly\.url' -syn match csdlTarget 'bitly\.domain' -syn keyword csdlTarget bitly.country_code -syn keyword csdlTarget bitly.geo_region_code -syn match csdlTarget 'bitly\.country' -syn keyword csdlTarget bitly.geo_region -syn keyword csdlTarget bitly.geo_city -syn match csdlTarget 'bitly\.geo' -syn match csdlTarget 'bitly\.timezone' -syn match csdlTarget 'trends\.type' -syn match csdlTarget 'trends\.content' -syn match csdlTarget 'trends\.source' -syn match csdlTarget 'board\.title' -syn match csdlTarget 'board\.content' -syn match csdlTarget 'board\.contenttype' -syn match csdlTarget 'board\.link' -syn match csdlTarget 'board\.domain' -syn match csdlTarget 'board\.author\.name' -syn match csdlTarget 'board\.author\.link' -syn match csdlTarget 'board\.author\.avatar' -syn match csdlTarget 'board\.author\.username' -syn match csdlTarget 'board\.type' -syn match csdlTarget 'board\.thread' -syn match csdlTarget 'board\.author\.location' -syn match csdlTarget 'board\.author\.signature' -syn match csdlTarget 'board\.author\.registered' -syn match csdlTarget 'board\.author\.age' -syn match csdlTarget 'board\.author\.gender' -syn match csdlTarget 'video\.title' -syn match csdlTarget 'video\.content' -syn match csdlTarget 'video\.contenttype' -syn match csdlTarget 'video\.domain' -syn match csdlTarget 'video\.author\.name' -syn match csdlTarget 'video\.author\.link' -syn match csdlTarget 'video\.author\.avatar' -syn match csdlTarget 'video\.author\.username' -syn match csdlTarget 'video\.type' -syn match csdlTarget 'video\.videolink' -syn match csdlTarget 'video\.commentslink' -syn match csdlTarget 'video\.duration' -syn match csdlTarget 'video\.thumbnail' -syn match csdlTarget 'video\.category' -syn match csdlTarget 'video\.tags' -syn match csdlTarget '2ch\.title' -syn match csdlTarget '2ch\.content' -syn match csdlTarget '2ch\.contenttype' -syn match csdlTarget '2ch\.link' -syn match csdlTarget '2ch\.author\.name' -syn match csdlTarget '2ch\.type' -syn match csdlTarget '2ch\.thread' -syn match csdlTarget 'dailymotion\.title' -syn match csdlTarget 'dailymotion\.content' -syn match csdlTarget 'dailymotion\.contenttype' -syn match csdlTarget 'dailymotion\.author\.link' -syn match csdlTarget 'dailymotion\.author\.username' -syn match csdlTarget 'dailymotion\.videolink' -syn match csdlTarget 'dailymotion\.duration' -syn match csdlTarget 'dailymotion\.thumbnail' -syn match csdlTarget 'dailymotion\.category' -syn match csdlTarget 'dailymotion\.tags' -syn match csdlTarget 'language\.tag' -syn match csdlTarget 'language\.confidence' -syn match csdlTarget 'digg\.type' -syn match csdlTarget 'digg\.user\.name' -syn match csdlTarget 'digg\.user\.fullname' -syn match csdlTarget 'digg\.user\.registered' -syn match csdlTarget 'digg\.user\.profileviews' -syn match csdlTarget 'digg\.user\.icon' -syn match csdlTarget 'digg\.user\.links' -syn match csdlTarget 'digg\.item\.status' -syn match csdlTarget 'digg\.item\.description' -syn match csdlTarget 'digg\.item\.title' -syn match csdlTarget 'digg\.item\.diggs' -syn match csdlTarget 'digg\.item\.comments' -syn match csdlTarget 'digg\.item\.topic' -syn match csdlTarget 'digg\.comment\.buries' -syn match csdlTarget 'digg\.comment\.diggs' -syn match csdlTarget 'digg\.comment\.text' -syn match csdlTarget 'youtube\.title' -syn match csdlTarget 'youtube\.content' -syn match csdlTarget 'youtube\.contenttype' -syn match csdlTarget 'youtube\.author\.name' -syn match csdlTarget 'youtube\.author\.link' -syn match csdlTarget 'youtube\.type' -syn match csdlTarget 'youtube\.videolink' -syn match csdlTarget 'youtube\.commentslink' -syn match csdlTarget 'youtube\.duration' -syn match csdlTarget 'youtube\.thumbnail' -syn match csdlTarget 'youtube\.category' -syn match csdlTarget 'youtube\.tags' - -syn match csdlComment "^\/\/.*$" -syn match csdlComment "^\/\*.*$" -syn match csdlComment "^.*\*\/$" - -highlight link csdlKeyword Statement -highlight link csdlOperator Operator -highlight link csdlLogicalOperator Operator -highlight link csdlTarget Constant -highlight link csdlComment Comment -" -let b:current_syntax = "csdl" diff --git a/uvim/runtime/syntax/csh.mnv b/uvim/runtime/syntax/csh.mnv new file mode 100644 index 0000000000..d033adf871 --- /dev/null +++ b/uvim/runtime/syntax/csh.mnv @@ -0,0 +1,142 @@ +" MNV syntax file +" Language: C-shell (csh) +" Maintainer: Doug Kearns +" Former Maintainer: Charles E. Campbell +" Last Change: 2026 Jan 16 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" clusters: +syn cluster cshQuoteList contains=cshDblQuote,cshSnglQuote,cshBckQuote +syn cluster cshVarList contains=cshExtVar,cshSelector,cshQtyWord,cshArgv,cshSubst + +" Variables which affect the csh itself +syn match cshSetVariables contained "argv\|histchars\|ignoreeof\|noglob\|prompt\|status" +syn match cshSetVariables contained "cdpath\|history\|mail\|nonomatch\|savehist\|time" +syn match cshSetVariables contained "cwd\|home\|noclobber\|path\|shell\|verbose" +syn match cshSetVariables contained "echo" + +syn case ignore +syn keyword cshTodo contained todo +syn case match + +" Variable Name Expansion Modifiers +syn match cshModifier contained ":\(h\|t\|r\|q\|x\|gh\|gt\|gr\)" + +" Strings and Comments +syn match cshNoEndlineDQ contained "[^\"]\(\\\\\)*$" +syn match cshNoEndlineSQ contained "[^\']\(\\\\\)*$" +syn match cshNoEndlineBQ contained "[^\`]\(\\\\\)*$" + +syn region cshDblQuote start=+[^\\]"+lc=1 skip=+\\\\\|\\"+ end=+"+ contains=cshSpecial,cshShellVariables,cshExtVar,cshSelector,cshQtyWord,cshArgv,cshSubst,cshNoEndlineDQ,cshBckQuote,@Spell +syn region cshSnglQuote start=+[^\\]'+lc=1 skip=+\\\\\|\\'+ end=+'+ contains=cshNoEndlineSQ,@Spell +syn region cshBckQuote start=+[^\\]`+lc=1 skip=+\\\\\|\\`+ end=+`+ contains=cshNoEndlineBQ,@Spell +syn region cshDblQuote start=+^"+ skip=+\\\\\|\\"+ end=+"+ contains=cshSpecial,cshExtVar,cshSelector,cshQtyWord,cshArgv,cshSubst,cshNoEndlineDQ,@Spell +syn region cshSnglQuote start=+^'+ skip=+\\\\\|\\'+ end=+'+ contains=cshNoEndlineSQ,@Spell +syn region cshBckQuote start=+^`+ skip=+\\\\\|\\`+ end=+`+ contains=cshNoEndlineBQ,@Spell +syn cluster cshCommentGroup contains=cshTodo,@Spell +syn match cshComment "#.*" contains=@cshCommentGroup + +" A bunch of useful csh keywords +syn keyword cshStatement alias end history onintr setenv unalias +syn keyword cshStatement cd eval kill popd shift unhash +syn keyword cshStatement chdir exec login pushd source +syn keyword cshStatement continue exit logout rehash time unsetenv +syn keyword cshStatement dirs glob nice repeat umask wait +syn keyword cshStatement echo goto nohup + +syn keyword cshConditional break case else endsw switch +syn keyword cshConditional breaksw default endif +syn keyword cshRepeat foreach + +" Special environment variables +syn keyword cshShellVariables HOME LOGNAME PATH TERM USER + +" Modifiable Variables without {} +syn match cshExtVar "\$[a-zA-Z_][a-zA-Z0-9_]*\(:h\|:t\|:r\|:q\|:x\|:gh\|:gt\|:gr\)\=" contains=cshModifier +syn match cshSelector "\$[a-zA-Z_][a-zA-Z0-9_]*\[[a-zA-Z_]\+\]\(:h\|:t\|:r\|:q\|:x\|:gh\|:gt\|:gr\)\=" contains=cshModifier +syn match cshQtyWord "\$#[a-zA-Z_][a-zA-Z0-9_]*\(:h\|:t\|:r\|:q\|:x\|:gh\|:gt\|:gr\)\=" contains=cshModifier +syn match cshArgv "\$\d\+\(:h\|:t\|:r\|:q\|:x\|:gh\|:gt\|:gr\)\=" contains=cshModifier +syn match cshArgv "\$\*\(:h\|:t\|:r\|:q\|:x\|:gh\|:gt\|:gr\)\=" contains=cshModifier + +" Modifiable Variables with {} +syn match cshExtVar "\${[a-zA-Z_][a-zA-Z0-9_]*\(:h\|:t\|:r\|:q\|:x\|:gh\|:gt\|:gr\)\=}" contains=cshModifier +syn match cshSelector "\${[a-zA-Z_][a-zA-Z0-9_]*\[[a-zA-Z_]\+\]\(:h\|:t\|:r\|:q\|:x\|:gh\|:gt\|:gr\)\=}" contains=cshModifier +syn match cshQtyWord "\${#[a-zA-Z_][a-zA-Z0-9_]*\(:h\|:t\|:r\|:q\|:x\|:gh\|:gt\|:gr\)\=}" contains=cshModifier +syn match cshArgv "\${\d\+\(:h\|:t\|:r\|:q\|:x\|:gh\|:gt\|:gr\)\=}" contains=cshModifier + +" UnModifiable Substitutions +syn match cshSubstError "\$?[a-zA-Z_][a-zA-Z0-9_]*:\(h\|t\|r\|q\|x\|gh\|gt\|gr\)" +syn match cshSubstError "\${?[a-zA-Z_][a-zA-Z0-9_]*:\(h\|t\|r\|q\|x\|gh\|gt\|gr\)}" +syn match cshSubstError "\$?[0$<]:\(h\|t\|r\|q\|x\|gh\|gt\|gr\)" +syn match cshSubst "\$?[a-zA-Z_][a-zA-Z0-9_]*" +syn match cshSubst "\${?[a-zA-Z_][a-zA-Z0-9_]*}" +syn match cshSubst "\$?[0$<]" + +" I/O redirection +syn match cshRedir ">>&!\|>&!\|>>&\|>>!\|>&\|>!\|>>\|<<\|>\|<" + +" Handle set expressions +syn region cshSetExpr matchgroup=cshSetStmt start="\\|\" end="$\|;" contains=cshComment,cshSetStmt,cshSetVariables,@cshQuoteList + +" Operators and Expression-Using constructs +"syn match cshOperator contained "&&\|!\~\|!=\|<<\|<=\|==\|=\~\|>=\|>>\|\*\|\^\|\~\|||\|!\|\|%\|&\|+\|-\|/\|<\|>\||" +syn match cshOperator contained "&&\|!\~\|!=\|<<\|<=\|==\|=\~\|>=\|>>\|\*\|\^\|\~\|||\|!\|%\|&\|+\|-\|/\|<\|>\||" +syn match cshOperator contained "[(){}]" +syn region cshTest matchgroup=cshStatement start="\\|\" skip="\\$" matchgroup=cshStatement end="\\|$" contains=cshComment,cshOperator,@cshQuoteList,@cshVarLIst + +" Highlight special characters (those which have a backslash) differently +syn match cshSpecial contained "\\\d\d\d\|\\[abcfnrtv\\]" +syn match cshNumber "-\=\<\d\+\>" + +" All other identifiers +"syn match cshIdentifier "\<[a-zA-Z._][a-zA-Z0-9._]*\>" + +" Shell Input Redirection (Here Documents) +syn region cshHereDoc matchgroup=cshRedir start="<<-\=\s*\**\z(\h\w*\)\**" matchgroup=cshRedir end="^\z1$" + +" Define the default highlighting. +if !exists("skip_csh_syntax_inits") + + hi def link cshArgv cshVariables + hi def link cshBckQuote cshCommand + hi def link cshDblQuote cshString + hi def link cshExtVar cshVariables + hi def link cshHereDoc cshString + hi def link cshNoEndlineBQ cshNoEndline + hi def link cshNoEndlineDQ cshNoEndline + hi def link cshNoEndlineSQ cshNoEndline + hi def link cshQtyWord cshVariables + hi def link cshRedir cshOperator + hi def link cshSelector cshVariables + hi def link cshSetStmt cshStatement + hi def link cshSetVariables cshVariables + hi def link cshSnglQuote cshString + hi def link cshSubst cshVariables + + hi def link cshCommand Statement + hi def link cshComment Comment + hi def link cshConditional Conditional + hi def link cshIdentifier Error + hi def link cshModifier Special + hi def link cshNoEndline Error + hi def link cshNumber Number + hi def link cshOperator Operator + hi def link cshRedir Statement + hi def link cshRepeat Repeat + hi def link cshShellVariables Special + hi def link cshSpecial Special + hi def link cshStatement Statement + hi def link cshString String + hi def link cshSubstError Error + hi def link cshTodo Todo + hi def link cshVariables Type + +endif + +let b:current_syntax = "csh" + +" mnv: ts=18 diff --git a/uvim/runtime/syntax/csh.vim b/uvim/runtime/syntax/csh.vim deleted file mode 100644 index cf1c68d65f..0000000000 --- a/uvim/runtime/syntax/csh.vim +++ /dev/null @@ -1,142 +0,0 @@ -" Vim syntax file -" Language: C-shell (csh) -" Maintainer: Doug Kearns -" Former Maintainer: Charles E. Campbell -" Last Change: 2026 Jan 16 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" clusters: -syn cluster cshQuoteList contains=cshDblQuote,cshSnglQuote,cshBckQuote -syn cluster cshVarList contains=cshExtVar,cshSelector,cshQtyWord,cshArgv,cshSubst - -" Variables which affect the csh itself -syn match cshSetVariables contained "argv\|histchars\|ignoreeof\|noglob\|prompt\|status" -syn match cshSetVariables contained "cdpath\|history\|mail\|nonomatch\|savehist\|time" -syn match cshSetVariables contained "cwd\|home\|noclobber\|path\|shell\|verbose" -syn match cshSetVariables contained "echo" - -syn case ignore -syn keyword cshTodo contained todo -syn case match - -" Variable Name Expansion Modifiers -syn match cshModifier contained ":\(h\|t\|r\|q\|x\|gh\|gt\|gr\)" - -" Strings and Comments -syn match cshNoEndlineDQ contained "[^\"]\(\\\\\)*$" -syn match cshNoEndlineSQ contained "[^\']\(\\\\\)*$" -syn match cshNoEndlineBQ contained "[^\`]\(\\\\\)*$" - -syn region cshDblQuote start=+[^\\]"+lc=1 skip=+\\\\\|\\"+ end=+"+ contains=cshSpecial,cshShellVariables,cshExtVar,cshSelector,cshQtyWord,cshArgv,cshSubst,cshNoEndlineDQ,cshBckQuote,@Spell -syn region cshSnglQuote start=+[^\\]'+lc=1 skip=+\\\\\|\\'+ end=+'+ contains=cshNoEndlineSQ,@Spell -syn region cshBckQuote start=+[^\\]`+lc=1 skip=+\\\\\|\\`+ end=+`+ contains=cshNoEndlineBQ,@Spell -syn region cshDblQuote start=+^"+ skip=+\\\\\|\\"+ end=+"+ contains=cshSpecial,cshExtVar,cshSelector,cshQtyWord,cshArgv,cshSubst,cshNoEndlineDQ,@Spell -syn region cshSnglQuote start=+^'+ skip=+\\\\\|\\'+ end=+'+ contains=cshNoEndlineSQ,@Spell -syn region cshBckQuote start=+^`+ skip=+\\\\\|\\`+ end=+`+ contains=cshNoEndlineBQ,@Spell -syn cluster cshCommentGroup contains=cshTodo,@Spell -syn match cshComment "#.*" contains=@cshCommentGroup - -" A bunch of useful csh keywords -syn keyword cshStatement alias end history onintr setenv unalias -syn keyword cshStatement cd eval kill popd shift unhash -syn keyword cshStatement chdir exec login pushd source -syn keyword cshStatement continue exit logout rehash time unsetenv -syn keyword cshStatement dirs glob nice repeat umask wait -syn keyword cshStatement echo goto nohup - -syn keyword cshConditional break case else endsw switch -syn keyword cshConditional breaksw default endif -syn keyword cshRepeat foreach - -" Special environment variables -syn keyword cshShellVariables HOME LOGNAME PATH TERM USER - -" Modifiable Variables without {} -syn match cshExtVar "\$[a-zA-Z_][a-zA-Z0-9_]*\(:h\|:t\|:r\|:q\|:x\|:gh\|:gt\|:gr\)\=" contains=cshModifier -syn match cshSelector "\$[a-zA-Z_][a-zA-Z0-9_]*\[[a-zA-Z_]\+\]\(:h\|:t\|:r\|:q\|:x\|:gh\|:gt\|:gr\)\=" contains=cshModifier -syn match cshQtyWord "\$#[a-zA-Z_][a-zA-Z0-9_]*\(:h\|:t\|:r\|:q\|:x\|:gh\|:gt\|:gr\)\=" contains=cshModifier -syn match cshArgv "\$\d\+\(:h\|:t\|:r\|:q\|:x\|:gh\|:gt\|:gr\)\=" contains=cshModifier -syn match cshArgv "\$\*\(:h\|:t\|:r\|:q\|:x\|:gh\|:gt\|:gr\)\=" contains=cshModifier - -" Modifiable Variables with {} -syn match cshExtVar "\${[a-zA-Z_][a-zA-Z0-9_]*\(:h\|:t\|:r\|:q\|:x\|:gh\|:gt\|:gr\)\=}" contains=cshModifier -syn match cshSelector "\${[a-zA-Z_][a-zA-Z0-9_]*\[[a-zA-Z_]\+\]\(:h\|:t\|:r\|:q\|:x\|:gh\|:gt\|:gr\)\=}" contains=cshModifier -syn match cshQtyWord "\${#[a-zA-Z_][a-zA-Z0-9_]*\(:h\|:t\|:r\|:q\|:x\|:gh\|:gt\|:gr\)\=}" contains=cshModifier -syn match cshArgv "\${\d\+\(:h\|:t\|:r\|:q\|:x\|:gh\|:gt\|:gr\)\=}" contains=cshModifier - -" UnModifiable Substitutions -syn match cshSubstError "\$?[a-zA-Z_][a-zA-Z0-9_]*:\(h\|t\|r\|q\|x\|gh\|gt\|gr\)" -syn match cshSubstError "\${?[a-zA-Z_][a-zA-Z0-9_]*:\(h\|t\|r\|q\|x\|gh\|gt\|gr\)}" -syn match cshSubstError "\$?[0$<]:\(h\|t\|r\|q\|x\|gh\|gt\|gr\)" -syn match cshSubst "\$?[a-zA-Z_][a-zA-Z0-9_]*" -syn match cshSubst "\${?[a-zA-Z_][a-zA-Z0-9_]*}" -syn match cshSubst "\$?[0$<]" - -" I/O redirection -syn match cshRedir ">>&!\|>&!\|>>&\|>>!\|>&\|>!\|>>\|<<\|>\|<" - -" Handle set expressions -syn region cshSetExpr matchgroup=cshSetStmt start="\\|\" end="$\|;" contains=cshComment,cshSetStmt,cshSetVariables,@cshQuoteList - -" Operators and Expression-Using constructs -"syn match cshOperator contained "&&\|!\~\|!=\|<<\|<=\|==\|=\~\|>=\|>>\|\*\|\^\|\~\|||\|!\|\|%\|&\|+\|-\|/\|<\|>\||" -syn match cshOperator contained "&&\|!\~\|!=\|<<\|<=\|==\|=\~\|>=\|>>\|\*\|\^\|\~\|||\|!\|%\|&\|+\|-\|/\|<\|>\||" -syn match cshOperator contained "[(){}]" -syn region cshTest matchgroup=cshStatement start="\\|\" skip="\\$" matchgroup=cshStatement end="\\|$" contains=cshComment,cshOperator,@cshQuoteList,@cshVarLIst - -" Highlight special characters (those which have a backslash) differently -syn match cshSpecial contained "\\\d\d\d\|\\[abcfnrtv\\]" -syn match cshNumber "-\=\<\d\+\>" - -" All other identifiers -"syn match cshIdentifier "\<[a-zA-Z._][a-zA-Z0-9._]*\>" - -" Shell Input Redirection (Here Documents) -syn region cshHereDoc matchgroup=cshRedir start="<<-\=\s*\**\z(\h\w*\)\**" matchgroup=cshRedir end="^\z1$" - -" Define the default highlighting. -if !exists("skip_csh_syntax_inits") - - hi def link cshArgv cshVariables - hi def link cshBckQuote cshCommand - hi def link cshDblQuote cshString - hi def link cshExtVar cshVariables - hi def link cshHereDoc cshString - hi def link cshNoEndlineBQ cshNoEndline - hi def link cshNoEndlineDQ cshNoEndline - hi def link cshNoEndlineSQ cshNoEndline - hi def link cshQtyWord cshVariables - hi def link cshRedir cshOperator - hi def link cshSelector cshVariables - hi def link cshSetStmt cshStatement - hi def link cshSetVariables cshVariables - hi def link cshSnglQuote cshString - hi def link cshSubst cshVariables - - hi def link cshCommand Statement - hi def link cshComment Comment - hi def link cshConditional Conditional - hi def link cshIdentifier Error - hi def link cshModifier Special - hi def link cshNoEndline Error - hi def link cshNumber Number - hi def link cshOperator Operator - hi def link cshRedir Statement - hi def link cshRepeat Repeat - hi def link cshShellVariables Special - hi def link cshSpecial Special - hi def link cshStatement Statement - hi def link cshString String - hi def link cshSubstError Error - hi def link cshTodo Todo - hi def link cshVariables Type - -endif - -let b:current_syntax = "csh" - -" vim: ts=18 diff --git a/uvim/runtime/syntax/csp.mnv b/uvim/runtime/syntax/csp.mnv new file mode 100644 index 0000000000..c74b4707e3 --- /dev/null +++ b/uvim/runtime/syntax/csp.mnv @@ -0,0 +1,182 @@ +" MNV syntax file +" Language: CSP (Communication Sequential Processes, using FDR input syntax) +" Maintainer: Jan Bredereke +" Version: 0.6.0 +" Last change: Mon Mar 25, 2002 +" URL: http://www.tzi.de/~brederek/mnv/ +" Copying: You may distribute and use this file freely, in the same +" way as the mnv editor itself. +" +" To Do: - Probably I missed some keywords or operators, please +" fix them and notify me, the maintainer. +" - Currently, we do lexical highlighting only. It would be +" nice to have more actual syntax checks, including +" highlighting of wrong syntax. +" - The additional syntax for the RT-Tester (pseudo-comments) +" should be optional. + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" case is significant to FDR: +syn case match + +" Block comments in CSP are between {- and -} +syn region cspComment start="{-" end="-}" contains=cspTodo +" Single-line comments start with -- +syn region cspComment start="--" end="$" contains=cspTodo,cspOldRttComment,cspSdlRttComment keepend + +" Numbers: +syn match cspNumber "\<\d\+\>" + +" Conditionals: +syn keyword cspConditional if then else + +" Operators on processes: +" -> ? : ! ' ; /\ \ [] |~| [> & [[..<-..]] ||| [|..|] || [..<->..] ; : @ ||| +syn match cspOperator "->" +syn match cspOperator "/\\" +syn match cspOperator "[^/]\\"lc=1 +syn match cspOperator "\[\]" +syn match cspOperator "|\~|" +syn match cspOperator "\[>" +syn match cspOperator "\[\[" +syn match cspOperator "\]\]" +syn match cspOperator "<-" +syn match cspOperator "|||" +syn match cspOperator "[^|]||[^|]"lc=1,me=e-1 +syn match cspOperator "[^|{\~]|[^|}\~]"lc=1,me=e-1 +syn match cspOperator "\[|" +syn match cspOperator "|\]" +syn match cspOperator "\[[^>]"me=e-1 +syn match cspOperator "\]" +syn match cspOperator "<->" +syn match cspOperator "[?:!';@]" +syn match cspOperator "&" +syn match cspOperator "\." + +" (not on processes:) +" syn match cspDelimiter "{|" +" syn match cspDelimiter "|}" +" syn match cspDelimiter "{[^-|]"me=e-1 +" syn match cspDelimiter "[^-|]}"lc=1 + +" Keywords: +syn keyword cspKeyword length null head tail concat elem +syn keyword cspKeyword union inter diff Union Inter member card +syn keyword cspKeyword empty set Set Seq +syn keyword cspKeyword true false and or not within let +syn keyword cspKeyword nametype datatype diamond normal +syn keyword cspKeyword sbisim tau_loop_factor model_compress +syn keyword cspKeyword explicate +syn match cspKeyword "transparent" +syn keyword cspKeyword external chase prioritize +syn keyword cspKeyword channel Events +syn keyword cspKeyword extensions productions +syn keyword cspKeyword Bool Int + +" Reserved keywords: +syn keyword cspReserved attribute embed module subtype + +" Include: +syn region cspInclude matchgroup=cspIncludeKeyword start="^include" end="$" keepend contains=cspIncludeArg +syn region cspIncludeArg start='\s\+\"' end= '\"\s*' contained + +" Assertions: +syn keyword cspAssert assert deterministic divergence free deadlock +syn keyword cspAssert livelock +syn match cspAssert "\[T=" +syn match cspAssert "\[F=" +syn match cspAssert "\[FD=" +syn match cspAssert "\[FD\]" +syn match cspAssert "\[F\]" + +" Types and Sets +" (first char a capital, later at least one lower case, no trailing underscore): +syn match cspType "\<_*[A-Z][A-Z_0-9]*[a-z]\(\|[A-Za-z_0-9]*[A-Za-z0-9]\)\>" + +" Processes (all upper case, no trailing underscore): +" (For identifiers that could be types or sets, too, this second rule set +" wins.) +syn match cspProcess "\<[A-Z_][A-Z_0-9]*[A-Z0-9]\>" +syn match cspProcess "\<[A-Z_]\>" + +" reserved identifiers for tool output (ending in underscore): +syn match cspReservedIdentifier "\<[A-Za-z_][A-Za-z_0-9]*_\>" + +" ToDo markers: +syn match cspTodo "FIXME" contained +syn match cspTodo "TODO" contained +syn match cspTodo "!!!" contained + +" RT-Tester pseudo comments: +" (The now obsolete syntax:) +syn match cspOldRttComment "^--\$\$AM_UNDEF"lc=2 contained +syn match cspOldRttComment "^--\$\$AM_ERROR"lc=2 contained +syn match cspOldRttComment "^--\$\$AM_WARNING"lc=2 contained +syn match cspOldRttComment "^--\$\$AM_SET_TIMER"lc=2 contained +syn match cspOldRttComment "^--\$\$AM_RESET_TIMER"lc=2 contained +syn match cspOldRttComment "^--\$\$AM_ELAPSED_TIMER"lc=2 contained +syn match cspOldRttComment "^--\$\$AM_OUTPUT"lc=2 contained +syn match cspOldRttComment "^--\$\$AM_INPUT"lc=2 contained +" (The current syntax:) +syn region cspRttPragma matchgroup=cspRttPragmaKeyword start="^pragma\s\+" end="\s*$" oneline keepend contains=cspRttPragmaArg,cspRttPragmaSdl +syn keyword cspRttPragmaArg AM_ERROR AM_WARNING AM_SET_TIMER contained +syn keyword cspRttPragmaArg AM_RESET_TIMER AM_ELAPSED_TIMER contained +syn keyword cspRttPragmaArg AM_OUTPUT AM_INPUT AM_INTERNAL contained +" the "SDL_MATCH" extension: +syn region cspRttPragmaSdl matchgroup=cspRttPragmaKeyword start="SDL_MATCH\s\+" end="\s*$" contains=cspRttPragmaSdlArg contained +syn keyword cspRttPragmaSdlArg TRANSLATE nextgroup=cspRttPragmaSdlTransName contained +syn keyword cspRttPragmaSdlArg PARAM SKIP OPTIONAL CHOICE ARRAY nextgroup=cspRttPragmaSdlName contained +syn match cspRttPragmaSdlName "\s*\S\+\s*" nextgroup=cspRttPragmaSdlTail contained +syn region cspRttPragmaSdlTail start="" end="\s*$" contains=cspRttPragmaSdlTailArg contained +syn keyword cspRttPragmaSdlTailArg SUBSET_USED DEFAULT_VALUE Present contained +syn match cspRttPragmaSdlTransName "\s*\w\+\s*" nextgroup=cspRttPragmaSdlTransTail contained +syn region cspRttPragmaSdlTransTail start="" end="\s*$" contains=cspRttPragmaSdlTransTailArg contained +syn keyword cspRttPragmaSdlTransTailArg sizeof contained +syn match cspRttPragmaSdlTransTailArg "\*" contained +syn match cspRttPragmaSdlTransTailArg "(" contained +syn match cspRttPragmaSdlTransTailArg ")" contained + +" temporary syntax extension for commented-out "pragma SDL_MATCH": +syn match cspSdlRttComment "pragma\s\+SDL_MATCH\s\+" nextgroup=cspRttPragmaSdlArg contained + +syn sync lines=250 + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +" The default methods for highlighting. Can be overridden later +" (For mnv version <=5.7, the command groups are defined in +" $MNVRUNTIME/syntax/synload.mnv ) +hi def link cspComment Comment +hi def link cspNumber Number +hi def link cspConditional Conditional +hi def link cspOperator Delimiter +hi def link cspKeyword Keyword +hi def link cspReserved SpecialChar +hi def link cspInclude Error +hi def link cspIncludeKeyword Include +hi def link cspIncludeArg Include +hi def link cspAssert PreCondit +hi def link cspType Type +hi def link cspProcess Function +hi def link cspTodo Todo +hi def link cspOldRttComment Define +hi def link cspRttPragmaKeyword Define +hi def link cspSdlRttComment Define +hi def link cspRttPragmaArg Define +hi def link cspRttPragmaSdlArg Define +hi def link cspRttPragmaSdlName Default +hi def link cspRttPragmaSdlTailArg Define +hi def link cspRttPragmaSdlTransName Default +hi def link cspRttPragmaSdlTransTailArg Define +hi def link cspReservedIdentifier Error +" (Currently unused mnv method: Debug) + + +let b:current_syntax = "csp" + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/csp.vim b/uvim/runtime/syntax/csp.vim deleted file mode 100644 index 8001b1fe7e..0000000000 --- a/uvim/runtime/syntax/csp.vim +++ /dev/null @@ -1,182 +0,0 @@ -" Vim syntax file -" Language: CSP (Communication Sequential Processes, using FDR input syntax) -" Maintainer: Jan Bredereke -" Version: 0.6.0 -" Last change: Mon Mar 25, 2002 -" URL: http://www.tzi.de/~brederek/vim/ -" Copying: You may distribute and use this file freely, in the same -" way as the vim editor itself. -" -" To Do: - Probably I missed some keywords or operators, please -" fix them and notify me, the maintainer. -" - Currently, we do lexical highlighting only. It would be -" nice to have more actual syntax checks, including -" highlighting of wrong syntax. -" - The additional syntax for the RT-Tester (pseudo-comments) -" should be optional. - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" case is significant to FDR: -syn case match - -" Block comments in CSP are between {- and -} -syn region cspComment start="{-" end="-}" contains=cspTodo -" Single-line comments start with -- -syn region cspComment start="--" end="$" contains=cspTodo,cspOldRttComment,cspSdlRttComment keepend - -" Numbers: -syn match cspNumber "\<\d\+\>" - -" Conditionals: -syn keyword cspConditional if then else - -" Operators on processes: -" -> ? : ! ' ; /\ \ [] |~| [> & [[..<-..]] ||| [|..|] || [..<->..] ; : @ ||| -syn match cspOperator "->" -syn match cspOperator "/\\" -syn match cspOperator "[^/]\\"lc=1 -syn match cspOperator "\[\]" -syn match cspOperator "|\~|" -syn match cspOperator "\[>" -syn match cspOperator "\[\[" -syn match cspOperator "\]\]" -syn match cspOperator "<-" -syn match cspOperator "|||" -syn match cspOperator "[^|]||[^|]"lc=1,me=e-1 -syn match cspOperator "[^|{\~]|[^|}\~]"lc=1,me=e-1 -syn match cspOperator "\[|" -syn match cspOperator "|\]" -syn match cspOperator "\[[^>]"me=e-1 -syn match cspOperator "\]" -syn match cspOperator "<->" -syn match cspOperator "[?:!';@]" -syn match cspOperator "&" -syn match cspOperator "\." - -" (not on processes:) -" syn match cspDelimiter "{|" -" syn match cspDelimiter "|}" -" syn match cspDelimiter "{[^-|]"me=e-1 -" syn match cspDelimiter "[^-|]}"lc=1 - -" Keywords: -syn keyword cspKeyword length null head tail concat elem -syn keyword cspKeyword union inter diff Union Inter member card -syn keyword cspKeyword empty set Set Seq -syn keyword cspKeyword true false and or not within let -syn keyword cspKeyword nametype datatype diamond normal -syn keyword cspKeyword sbisim tau_loop_factor model_compress -syn keyword cspKeyword explicate -syn match cspKeyword "transparent" -syn keyword cspKeyword external chase prioritize -syn keyword cspKeyword channel Events -syn keyword cspKeyword extensions productions -syn keyword cspKeyword Bool Int - -" Reserved keywords: -syn keyword cspReserved attribute embed module subtype - -" Include: -syn region cspInclude matchgroup=cspIncludeKeyword start="^include" end="$" keepend contains=cspIncludeArg -syn region cspIncludeArg start='\s\+\"' end= '\"\s*' contained - -" Assertions: -syn keyword cspAssert assert deterministic divergence free deadlock -syn keyword cspAssert livelock -syn match cspAssert "\[T=" -syn match cspAssert "\[F=" -syn match cspAssert "\[FD=" -syn match cspAssert "\[FD\]" -syn match cspAssert "\[F\]" - -" Types and Sets -" (first char a capital, later at least one lower case, no trailing underscore): -syn match cspType "\<_*[A-Z][A-Z_0-9]*[a-z]\(\|[A-Za-z_0-9]*[A-Za-z0-9]\)\>" - -" Processes (all upper case, no trailing underscore): -" (For identifiers that could be types or sets, too, this second rule set -" wins.) -syn match cspProcess "\<[A-Z_][A-Z_0-9]*[A-Z0-9]\>" -syn match cspProcess "\<[A-Z_]\>" - -" reserved identifiers for tool output (ending in underscore): -syn match cspReservedIdentifier "\<[A-Za-z_][A-Za-z_0-9]*_\>" - -" ToDo markers: -syn match cspTodo "FIXME" contained -syn match cspTodo "TODO" contained -syn match cspTodo "!!!" contained - -" RT-Tester pseudo comments: -" (The now obsolete syntax:) -syn match cspOldRttComment "^--\$\$AM_UNDEF"lc=2 contained -syn match cspOldRttComment "^--\$\$AM_ERROR"lc=2 contained -syn match cspOldRttComment "^--\$\$AM_WARNING"lc=2 contained -syn match cspOldRttComment "^--\$\$AM_SET_TIMER"lc=2 contained -syn match cspOldRttComment "^--\$\$AM_RESET_TIMER"lc=2 contained -syn match cspOldRttComment "^--\$\$AM_ELAPSED_TIMER"lc=2 contained -syn match cspOldRttComment "^--\$\$AM_OUTPUT"lc=2 contained -syn match cspOldRttComment "^--\$\$AM_INPUT"lc=2 contained -" (The current syntax:) -syn region cspRttPragma matchgroup=cspRttPragmaKeyword start="^pragma\s\+" end="\s*$" oneline keepend contains=cspRttPragmaArg,cspRttPragmaSdl -syn keyword cspRttPragmaArg AM_ERROR AM_WARNING AM_SET_TIMER contained -syn keyword cspRttPragmaArg AM_RESET_TIMER AM_ELAPSED_TIMER contained -syn keyword cspRttPragmaArg AM_OUTPUT AM_INPUT AM_INTERNAL contained -" the "SDL_MATCH" extension: -syn region cspRttPragmaSdl matchgroup=cspRttPragmaKeyword start="SDL_MATCH\s\+" end="\s*$" contains=cspRttPragmaSdlArg contained -syn keyword cspRttPragmaSdlArg TRANSLATE nextgroup=cspRttPragmaSdlTransName contained -syn keyword cspRttPragmaSdlArg PARAM SKIP OPTIONAL CHOICE ARRAY nextgroup=cspRttPragmaSdlName contained -syn match cspRttPragmaSdlName "\s*\S\+\s*" nextgroup=cspRttPragmaSdlTail contained -syn region cspRttPragmaSdlTail start="" end="\s*$" contains=cspRttPragmaSdlTailArg contained -syn keyword cspRttPragmaSdlTailArg SUBSET_USED DEFAULT_VALUE Present contained -syn match cspRttPragmaSdlTransName "\s*\w\+\s*" nextgroup=cspRttPragmaSdlTransTail contained -syn region cspRttPragmaSdlTransTail start="" end="\s*$" contains=cspRttPragmaSdlTransTailArg contained -syn keyword cspRttPragmaSdlTransTailArg sizeof contained -syn match cspRttPragmaSdlTransTailArg "\*" contained -syn match cspRttPragmaSdlTransTailArg "(" contained -syn match cspRttPragmaSdlTransTailArg ")" contained - -" temporary syntax extension for commented-out "pragma SDL_MATCH": -syn match cspSdlRttComment "pragma\s\+SDL_MATCH\s\+" nextgroup=cspRttPragmaSdlArg contained - -syn sync lines=250 - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -" The default methods for highlighting. Can be overridden later -" (For vim version <=5.7, the command groups are defined in -" $VIMRUNTIME/syntax/synload.vim ) -hi def link cspComment Comment -hi def link cspNumber Number -hi def link cspConditional Conditional -hi def link cspOperator Delimiter -hi def link cspKeyword Keyword -hi def link cspReserved SpecialChar -hi def link cspInclude Error -hi def link cspIncludeKeyword Include -hi def link cspIncludeArg Include -hi def link cspAssert PreCondit -hi def link cspType Type -hi def link cspProcess Function -hi def link cspTodo Todo -hi def link cspOldRttComment Define -hi def link cspRttPragmaKeyword Define -hi def link cspSdlRttComment Define -hi def link cspRttPragmaArg Define -hi def link cspRttPragmaSdlArg Define -hi def link cspRttPragmaSdlName Default -hi def link cspRttPragmaSdlTailArg Define -hi def link cspRttPragmaSdlTransName Default -hi def link cspRttPragmaSdlTransTailArg Define -hi def link cspReservedIdentifier Error -" (Currently unused vim method: Debug) - - -let b:current_syntax = "csp" - -" vim: ts=8 diff --git a/uvim/runtime/syntax/css.mnv b/uvim/runtime/syntax/css.mnv new file mode 100644 index 0000000000..1e5bc3a8f5 --- /dev/null +++ b/uvim/runtime/syntax/css.mnv @@ -0,0 +1,675 @@ +" MNV syntax file +" Language: Cascading Style Sheets +" Previous Contributor List: +" Jules Wang +" Claudio Fleiner +" Yeti (Add full CSS2, HTML4 support) +" Nikolai Weibull (Add CSS2 support) +" URL: https://github.com/mnv-language-dept/css-syntax.mnv +" Maintainer: Jay Sitter +" Last Change: 2024 Mar 2 +" Changelog: +" 2025 Nov 11: improve support for cssBoxProperties #18717 +" 2026 Feb 13: add missing numeric units (baseline 2015, 2020, 2022, 2023, 2026) #19325 + +" quit when a syntax file was already loaded +if !exists("main_syntax") + if exists("b:current_syntax") + finish + endif + let main_syntax = 'css' +elseif exists("b:current_syntax") && b:current_syntax == "css" + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn case ignore +" Add dash to allowed keyword characters. +syn iskeyword @,48-57,_,192-255,- + +" HTML4 tags +syn keyword cssTagName abbr address area a b base +syn keyword cssTagName bdo blockquote body br button +syn keyword cssTagName caption cite code col colgroup dd del +syn keyword cssTagName dfn div dl dt em fieldset form +syn keyword cssTagName h1 h2 h3 h4 h5 h6 head hr html img i +syn keyword cssTagName iframe input ins isindex kbd label legend li +syn keyword cssTagName link map menu meta noscript ol optgroup +syn keyword cssTagName option p param picture pre q s samp script small +syn keyword cssTagName span strong sub sup tbody td +syn keyword cssTagName textarea tfoot th thead title tr ul u var +syn keyword cssTagName object svg +syn match cssTagName /\\|\\|\/ + +" 34 HTML5 tags +syn keyword cssTagName article aside audio bdi canvas command data +syn keyword cssTagName datalist details dialog embed figcaption figure footer +syn keyword cssTagName header hgroup keygen main mark menuitem meter nav +syn keyword cssTagName output progress rt rp ruby section +syn keyword cssTagName source summary time track video wbr + +" Tags not supported in HTML5 +" acronym applet basefont big center dir +" font frame frameset noframes strike tt + +syn match cssTagName "\*" + +" selectors +syn match cssSelectorOp "[,>+~]" +syn match cssSelectorOp2 "[~|^$*]\?=" contained +syn region cssAttributeSelector matchgroup=cssSelectorOp start="\[" end="]" contains=cssUnicodeEscape,cssSelectorOp2,cssStringQ,cssStringQQ + +" .class and #id +syn match cssClassName "\.-\=[A-Za-z_][A-Za-z0-9_-]*" contains=cssClassNameDot +syn match cssClassNameDot contained '\.' + +try +syn match cssIdentifier "#[A-Za-zĂ€-Ăż_@][A-Za-zĂ€-Ăż0-9_@-]*" +catch /^.*/ +syn match cssIdentifier "#[A-Za-z_@][A-Za-z0-9_@-]*" +endtry + +" digits +syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators +syn match cssValueNumber contained "[-+]\=\d\+\%(\.\d*\)\=" contains=cssUnitDecorators +syn match cssValueLength contained "[-+]\=\d\+\%(\.\d*\)\=\%(mm\|cm\|in\|pt\|pc\|px\|dpi\|dppx\|dpcm\|fr\|Q\|x\)\>" contains=cssUnitDecorators +syn match cssValueLength contained "[-+]\=\d\+\%(\.\d*\)\=r\=\%(em\|ex\|cap\|lh\|ch\|ic\)\>" contains=cssUnitDecorators +syn match cssValueLength contained "[-+]\=\d\+\%(\.\d*\)\=[dls]\=\%(vb\|vh\|vi\|vmax\|vmin\|vw\)\>" contains=cssUnitDecorators +syn match cssValueLength contained "[-+]\=\d\+\%(\.\d*\)\=%" contains=cssUnitDecorators +syn match cssValueAngle contained "[-+]\=\d\+\%(\.\d*\)\=\%(deg\|grad\|rad\|turn\)\>" contains=cssUnitDecorators +syn match cssValueTime contained "+\=\d\+\%(\.\d*\)\=\%(ms\|s\)\>" contains=cssUnitDecorators +syn match cssValueFrequency contained "+\=\d\+\%(\.\d*\)\=\%(Hz\|kHz\)\>" contains=cssUnitDecorators + +" The 16 basic color names +syn keyword cssColor contained aqua black blue fuchsia gray green lime maroon navy olive purple red silver teal yellow + +" 130 more color names +syn keyword cssColor contained aliceblue antiquewhite aquamarine azure +syn keyword cssColor contained beige bisque blanchedalmond blueviolet brown burlywood +syn keyword cssColor contained cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan +syn match cssColor contained /\/ +syn match cssColor contained /\/ +syn match cssColor contained /\/ +syn match cssColor contained /\/ +syn keyword cssColor contained deeppink deepskyblue dimgray dimgrey dodgerblue firebrick +syn keyword cssColor contained floralwhite forestgreen gainsboro ghostwhite gold +syn keyword cssColor contained goldenrod greenyellow grey honeydew hotpink +syn keyword cssColor contained indianred indigo ivory khaki lavender lavenderblush lawngreen +syn keyword cssColor contained lemonchiffon limegreen linen magenta +syn match cssColor contained /\/ +syn match cssColor contained /\/ +syn match cssColor contained /\/ +syn match cssColor contained /\/ +syn match cssColor contained /\/ +syn keyword cssColor contained midnightblue mintcream mistyrose moccasin navajowhite +syn keyword cssColor contained oldlace olivedrab orange orangered orchid +syn match cssColor contained /\/ +syn keyword cssColor contained papayawhip peachpuff peru pink plum powderblue +syn keyword cssColor contained rosybrown royalblue rebeccapurple saddlebrown salmon +syn keyword cssColor contained sandybrown seagreen seashell sienna skyblue slateblue +syn keyword cssColor contained slategray slategrey snow springgreen steelblue tan +syn keyword cssColor contained thistle tomato turquoise violet wheat +syn keyword cssColor contained whitesmoke yellowgreen + +" FIXME: These are actually case-insensitive too, but (a) specs recommend using +" mixed-case (b) it's hard to highlight the word `Background' correctly in +" all situations +syn case match +syn keyword cssColor contained ActiveBorder ActiveCaption AppWorkspace ButtonFace ButtonHighlight ButtonShadow ButtonText CaptionText GrayText Highlight HighlightText InactiveBorder InactiveCaption InactiveCaptionText InfoBackground InfoText Menu MenuText Scrollbar ThreeDDarkShadow ThreeDFace ThreeDHighlight ThreeDLightShadow ThreeDShadow Window WindowFrame WindowText Background +syn case ignore + +syn match cssImportant contained "!\s*important\>" +syn match cssCustomProp contained "\<--[a-zA-Z0-9-_]*\>" + +syn match cssColor contained "\" +syn match cssColor contained "\" +syn match cssColor contained "\" +syn match cssColor contained "#\x\{3,4\}\>" contains=cssUnitDecorators +syn match cssColor contained "#\x\{6\}\>" contains=cssUnitDecorators +syn match cssColor contained "#\x\{8\}\>" contains=cssUnitDecorators + +syn region cssURL contained matchgroup=cssFunctionName start="\<\%(uri\|url\|local\|format\)\s*(" end=")" contains=cssStringQ,cssStringQQ oneline +syn region cssMathGroup contained matchgroup=cssMathParens start="(" end=")" containedin=cssFunction,cssMathGroup contains=cssCustomProp,cssValue.*,cssFunction,cssColor,cssStringQ,cssStringQQ oneline +syn region cssFunction contained matchgroup=cssFunctionName start="\<\%(var\|calc\)\s*(" end=")" contains=cssCustomProp,cssValue.*,cssFunction,cssURL,cssColor,cssStringQ,cssStringQQ oneline +syn region cssFunction contained matchgroup=cssFunctionName start="\<\%(rgb\|clip\|attr\|counter\|rect\|cubic-bezier\|steps\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma +syn region cssFunction contained matchgroup=cssFunctionName start="\<\%(rgba\|hsl\|hsla\|color-stop\|from\|to\)\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma,cssFunction +syn region cssFunction contained matchgroup=cssFunctionName start="\<\%(linear-\|radial-\|conic-\)\=\gradient\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunction,cssGradientAttr,cssFunctionComma +syn region cssFunction contained matchgroup=cssFunctionName start="\<\%(matrix\%(3d\)\=\|scale\%(3d\|X\|Y\|Z\)\=\|translate\%(3d\|X\|Y\|Z\)\=\|skew\%(X\|Y\)\=\|rotate\%(3d\|X\|Y\|Z\)\=\|perspective\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssValueAngle,cssFunctionComma +syn region cssFunction contained matchgroup=cssFunctionName start="\<\%(blur\|brightness\|contrast\|drop-shadow\|grayscale\|hue-rotate\|invert\|opacity\|saturate\|sepia\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssValueAngle,cssFunctionComma +syn keyword cssGradientAttr contained top bottom left right cover center middle ellipse at +syn match cssFunctionComma contained "," + +" Common Prop and Attr +syn keyword cssCommonAttr contained auto none inherit all default normal +syn keyword cssCommonAttr contained top bottom center stretch hidden visible +syn match cssCommonAttr contained "\<\%(max-\|min-\|fit-\)content\>" +"------------------------------------------------ +" CSS Animations +" http://www.w3.org/TR/css3-animations/ +syn match cssAnimationProp contained "\" + +" animation-direction attributes +syn keyword cssAnimationAttr contained alternate reverse +syn match cssAnimationAttr contained "\" + +" animation-fill-mode attributes +syn keyword cssAnimationAttr contained forwards backwards both + +" animation-play-state attributes +syn keyword cssAnimationAttr contained running paused + +" animation-iteration-count attributes +syn keyword cssAnimationAttr contained infinite +"------------------------------------------------ +" CSS Backgrounds and Borders Module Level 3 +" http://www.w3.org/TR/css3-background/ +syn match cssBackgroundProp contained "\" +" background-attachment attributes +syn keyword cssBackgroundAttr contained scroll fixed local + +" background-position attributes +syn keyword cssBackgroundAttr contained left center right top bottom + +" background-repeat attributes +syn match cssBackgroundAttr contained "\" +syn match cssBackgroundAttr contained "\" + +" background-size attributes +syn keyword cssBackgroundAttr contained cover contain + +syn match cssBorderProp contained "\" +syn match cssBorderProp contained "\" +syn match cssBorderProp contained "\" +syn match cssBorderProp contained "\" +syn match cssBorderProp contained "\" +syn match cssBorderProp contained "\" +syn match cssBorderProp contained "\" + +" border-image attributes +syn keyword cssBorderAttr contained stretch round fill + +" border-style attributes +syn keyword cssBorderAttr contained dotted dashed solid double groove ridge inset outset + +" border-width attributes +syn keyword cssBorderAttr contained thin thick medium + +" box-decoration-break attributes +syn keyword cssBorderAttr contained clone slice +"------------------------------------------------ + +syn match cssBoxProp contained "\" +syn match cssBoxProp contained "\" +syn match cssBoxProp contained "\<\%(margin\|padding\)\%(-\%(inline\|block\)\%(-\%(start\|end\)\)\=\)\=\>" +syn match cssBoxProp contained "\" +syn match cssBoxProp contained "\" +syn keyword cssBoxAttr contained visible hidden scroll auto +syn match cssBoxAttr contained "\" + +syn keyword cssCascadeProp contained all +syn keyword cssCascadeAttr contained initial unset revert + +syn keyword cssColorProp contained opacity +syn match cssColorProp contained "\" +syn match cssColorProp contained "\" + + +syn match cssDimensionProp contained "\<\%(min\|max\)-\%(width\|height\)\>" +syn keyword cssDimensionProp contained height +syn keyword cssDimensionProp contained width + +" CSS Flexible Box Layout Module Level 1 +" http://www.w3.org/TR/css3-flexbox/ +" CSS Box Alignment Module Level 3 +" http://www.w3.org/TR/css-align-3/ +syn match cssFlexibleBoxProp contained "\" +syn match cssFlexibleBoxProp contained "\<\%(align\|justify\)\%(-\%(items\|self\|content\)\)\=\>" +syn keyword cssFlexibleBoxProp contained order + +syn match cssFlexibleBoxAttr contained "\<\%(row\|column\|wrap\)\%(-reverse\)\=\>" +syn keyword cssFlexibleBoxAttr contained nowrap stretch baseline center +syn match cssFlexibleBoxAttr contained "\" +syn match cssFlexibleBoxAttr contained "\" + +" CSS Fonts Module Level 3 +" http://www.w3.org/TR/css-fonts-3/ +syn match cssFontProp contained "\" + +" font attributes +syn keyword cssFontAttr contained icon menu caption +syn match cssFontAttr contained "\" +syn match cssFontAttr contained "\" +syn keyword cssFontAttr contained larger smaller +syn match cssFontAttr contained "\<\%(x\{1,2\}-\)\=\%(large\|small\)\>" +syn match cssFontAttr contained "\" +" font-family attributes +syn keyword cssFontAttr contained sans-serif serif cursive fantasy monospace +" font-feature-settings attributes +syn keyword cssFontAttr contained on off +" font-stretch attributes +syn match cssFontAttr contained "\<\%(\%(ultra\|extra\|semi\)-\)\=\%(condensed\|expanded\)\>" +" font-style attributes +syn keyword cssFontAttr contained italic oblique +" font-synthesis attributes +syn keyword cssFontAttr contained weight style +" font-weight attributes +syn keyword cssFontAttr contained bold bolder lighter +" font-display attributes +syn keyword cssFontAttr contained auto block swap fallback optional +" TODO: font-variant-* attributes +"------------------------------------------------ + +" Webkit specific property/attributes +syn match cssFontProp contained "\" +syn match cssFontAttr contained "\<\%(subpixel-\)\=\antialiased\>" + + +" CSS Multi-column Layout Module +" http://www.w3.org/TR/css3-multicol/ +syn match cssMultiColumnProp contained "\" +syn match cssMultiColumnProp contained "\" +syn keyword cssMultiColumnProp contained columns +syn keyword cssMultiColumnAttr contained balance medium +syn keyword cssMultiColumnAttr contained always left right page column +syn match cssMultiColumnAttr contained "\" + +" http://www.w3.org/TR/css3-break/#page-break +syn match cssMultiColumnProp contained "\" + +" http://www.w3.org/TR/SVG11/interact.html +syn match cssInteractProp contained "\" +syn match cssInteractAttr contained "\<\%(visible\)\=\%(Painted\|Fill\|Stroke\)\=\>" + +" TODO find following items in w3c docs. +syn keyword cssGeneratedContentProp contained quotes crop +syn match cssGeneratedContentProp contained "\" +syn match cssGeneratedContentProp contained "\" +syn match cssGeneratedContentProp contained "\" +syn match cssGeneratedContentAttr contained "\<\%(no-\)\=\%(open\|close\)-quote\>" + +" https://www.w3.org/TR/css-grid-1/ +syn match cssGridProp contained "\" +syn match cssGridProp contained "\" +syn match cssGridProp contained "\<\%(grid-\)\=\%(column\|row\)\%(-\%(start\|end\|gap\)\)\=\>" +syn match cssGridProp contained "\" +syn match cssGridProp contained "\" +syn match cssGridProp contained "\" + +syn match cssHyerlinkProp contained "\" + +syn match cssListProp contained "\" +syn match cssListAttr contained "\<\%(lower\|upper\)-\%(roman\|alpha\|greek\|latin\)\>" +syn match cssListAttr contained "\<\%(hiragana\|katakana\)\%(-iroha\)\=\>" +syn match cssListAttr contained "\<\%(decimal\%(-leading-zero\)\=\|cjk-ideographic\)\>" +syn keyword cssListAttr contained disc circle square hebrew armenian georgian +syn keyword cssListAttr contained inside outside + +" object-fit https://www.w3.org/TR/css-images-3/#the-object-fit +syn match cssObjectProp contained "\" +syn keyword cssObjectAttr contained fill contain cover scale-down + +syn keyword cssPositioningProp contained bottom clear clip display float left +syn keyword cssPositioningProp contained position right top visibility +syn match cssPositioningProp contained "\" +syn keyword cssPositioningAttr contained block compact grid +syn match cssPositioningAttr contained "\" +syn keyword cssPositioningAttr contained left right both +syn match cssPositioningAttr contained "\" +syn match cssPositioningAttr contained "\" +syn match cssPositioningAttr contained "\" +syn keyword cssPositioningAttr contained static relative absolute fixed subgrid sticky + +syn keyword cssPrintAttr contained landscape portrait crop cross always + +syn match cssTableProp contained "\<\%(caption-side\|table-layout\|border-collapse\|border-spacing\|empty-cells\)\>" +syn keyword cssTableAttr contained fixed collapse separate show hide once always + + +syn keyword cssTextProp contained color direction hyphens +syn match cssTextProp "\<\%(\%(word\|letter\)-spacing\|text\%(-\%(decoration\|transform\|align\|index\|shadow\)\)\=\|vertical-align\|unicode-bidi\|line-height\)\>" +syn match cssTextProp contained "\" +syn match cssTextProp contained "\<\%(word\|line\)-break\|\%(overflow\|word\)-wrap\>" +syn match cssTextProp contained "\" +syn match cssTextProp contained "\" +syn match cssTextProp contained "\" +syn match cssTextProp contained "\" +syn match cssTextAttr contained "\" +syn match cssTextAttr contained "\<\%(text-\)\=\%(top\|bottom\)\>" +syn keyword cssTextAttr contained ltr rtl embed nowrap +syn keyword cssTextAttr contained underline overline blink sub super middle +syn keyword cssTextAttr contained capitalize uppercase lowercase +syn keyword cssTextAttr contained justify baseline sub super +syn keyword cssTextAttr contained optimizeLegibility optimizeSpeed geometricPrecision +syn match cssTextAttr contained "\" +syn match cssTextAttr contained "\<\%(allow\|force\)-end\>" +syn keyword cssTextAttr contained start end adjacent +syn match cssTextAttr contained "\" +syn keyword cssTextAttr contained distribute kashida first last +syn keyword cssTextAttr contained clip ellipsis unrestricted suppress +syn match cssTextAttr contained "\" +syn match cssTextAttr contained "\" +syn keyword cssTextAttr contained manual +syn match cssTextAttr contained "\" + +syn match cssTransformProp contained "\" +syn match cssTransformProp contained "\" +syn match cssTransformProp contained "\" + +" CSS Transitions +" http://www.w3.org/TR/css3-transitions/ +syn match cssTransitionProp contained "\" + +" transition-time-function attributes +syn match cssTransitionAttr contained "\" +syn match cssTransitionAttr contained "\" +syn match cssTransitionAttr contained "\" +"------------------------------------------------ +" CSS Basic User Interface Module Level 3 (CSS3 UI) +" http://www.w3.org/TR/css3-ui/ +syn match cssUIProp contained "\" +syn match cssUIAttr contained "\<\%(content\|padding\|border\)\%(-box\)\=\>" + +syn keyword cssUIProp contained cursor +syn match cssUIAttr contained "\<\%(\%([ns]\=[ew]\=\)\|col\|row\|nesw\|nwse\)-resize\>" +syn keyword cssUIAttr contained crosshair help move pointer alias copy +syn keyword cssUIAttr contained progress wait text cell move +syn match cssUIAttr contained "\" +syn match cssUIAttr contained "\" +syn match cssUIAttr contained "\" +syn match cssUIAttr contained "\" +syn match cssUIAttr contained "\<\%(vertical-\)\=text\>" +syn match cssUIAttr contained "\" + +syn match cssUIProp contained "\" +syn keyword cssUIAttr contained active inactive disabled + +syn match cssUIProp contained "\" +syn match cssUIProp contained "\" +syn keyword cssUIAttr contained invert + +syn keyword cssUIProp contained icon resize +syn keyword cssUIAttr contained both horizontal vertical + +syn match cssUIProp contained "\" +syn keyword cssUIAttr contained clip ellipsis + +syn match cssUIProp contained "\" +syn keyword cssUIAttr contained pixellated +syn match cssUIAttr contained "\" + +"------------------------------------------------ +" Webkit/iOS specific attributes +syn match cssUIAttr contained '\' +" IE specific attributes +syn match cssIEUIAttr contained '\' + +" Webkit/iOS specific properties +syn match cssUIProp contained '\<\%(tap-highlight-color\|user-select\|touch-callout\)\>' +" IE specific properties +syn match cssIEUIProp contained '\<\%(interpolation-mode\|zoom\|filter\)\>' + +" Webkit/Firebox specific properties/attributes +syn keyword cssUIProp contained appearance +syn keyword cssUIAttr contained window button field icon document menu + + +syn match cssAuralProp contained "\<\%(pause\|cue\)\%(-\%(before\|after\)\)\=\>" +syn match cssAuralProp contained "\<\%(play-during\|speech-rate\|voice-family\|pitch\%(-range\)\=\|speak\%(-\%(punctuation\|numeral\|header\)\)\=\)\>" +syn keyword cssAuralProp contained volume during azimuth elevation stress richness +syn match cssAuralAttr contained "\<\%(x-\)\=\%(soft\|loud\)\>" +syn keyword cssAuralAttr contained silent +syn match cssAuralAttr contained "\" +syn keyword cssAuralAttr contained non mix +syn match cssAuralAttr contained "\<\%(left\|right\)-side\>" +syn match cssAuralAttr contained "\<\%(far\|center\)-\%(left\|center\|right\)\>" +syn keyword cssAuralAttr contained leftwards rightwards behind +syn keyword cssAuralAttr contained below level above lower higher +syn match cssAuralAttr contained "\<\%(x-\)\=\%(slow\|fast\|low\|high\)\>" +syn keyword cssAuralAttr contained faster slower +syn keyword cssAuralAttr contained male female child code digits continuous + +" mobile text +syn match cssMobileTextProp contained "\" + +syn keyword cssMediaProp contained width height orientation scan +syn keyword cssMediaProp contained any-hover any-pointer color-gamut grid hover +syn keyword cssMediaProp contained overflow-block overflow-inline pointer update +syn match cssMediaProp contained /\<\%(\%(max\|min\)-\)\=\%(\%(device\)-\)\=aspect-ratio\>/ +syn match cssMediaProp contained /\<\%(\%(max\|min\)-\)\=device-pixel-ratio\>/ +syn match cssMediaProp contained /\<\%(\%(max\|min\)-\)\=device-\%(height\|width\)\>/ +syn match cssMediaProp contained /\<\%(\%(max\|min\)-\)\=\%(height\|width\|resolution\|monochrome\|color\%(-index\)\=\)\>/ +syn keyword cssMediaAttr contained portrait landscape progressive interlace +syn keyword cssMediaAttr contained coarse fast fine hover infinite p3 paged +syn keyword cssMediaAttr contained rec2020 scroll slow srgb +syn match cssKeyFrameProp contained /\%(\d\+\%(\.\d\+\)\?%\|\%(\\)\)/ nextgroup=cssDefinition +syn match cssPageMarginProp /@\%(\%(top\|left\|right\|bottom\)-\%(left\|center\|right\|middle\|bottom\)\)\%(-corner\)\=/ contained nextgroup=cssDefinition +syn keyword cssPageProp contained content size +syn keyword cssPageProp contained orphans widows +syn keyword cssFontDescriptorProp contained src +syn match cssFontDescriptorProp contained "\" +" unicode-range attributes +syn match cssFontDescriptorAttr contained "U+[0-9A-Fa-f?]\+" +syn match cssFontDescriptorAttr contained "U+\x\+-\x\+" + +syn match cssBraces contained "[{}]" +syn match cssError contained "{@<>" +syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssTagName,cssAttributeSelector,cssClassName,cssIdentifier,cssAtRule,cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssCustomProp,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks,cssNoise fold +syn match cssBraceError "}" +syn match cssAttrComma "," + +" Pseudo class +" https://www.w3.org/TR/selectors-4/ +syn match cssPseudoClass ":[A-Za-z0-9_-]*" contains=cssNoise,cssPseudoClassId,cssUnicodeEscape,cssVendor,cssPseudoClassFn +syn keyword cssPseudoClassId contained link visited active hover before after left right +syn keyword cssPseudoClassId contained root empty target enabled disabled checked invalid +syn match cssPseudoClassId contained "\" +syn match cssPseudoClassId contained "\<\%(first\|last\|only\)-\%(of-type\|child\)\>" +syn match cssPseudoClassId contained "\" +syn region cssPseudoClassFn contained matchgroup=cssFunctionName start="\<\%(not\|is\|lang\|\%(nth\|nth-last\)-\%(of-type\|child\)\)(" end=")" contains=cssStringQ,cssStringQQ,cssTagName,cssAttributeSelector,cssClassName,cssIdentifier +" ------------------------------------ +" Vendor specific properties +syn match cssPseudoClassId contained "\" +syn match cssPseudoClassId contained "\<\%(input-\)\=placeholder\>" + +" Misc highlight groups +syntax match cssUnitDecorators /\%(#\|-\|+\|%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|ch\|rem\|vh\|vw\|vmin\|vmax\|dpi\|dppx\|dpcm\|Hz\|kHz\|s\|ms\|deg\|grad\|rad\)/ contained +syntax match cssNoise contained /\%(:\|;\|\/\)/ + +" Comment +syn region cssComment start="/\*" end="\*/" contains=@Spell fold + +syn match cssUnicodeEscape "\\\x\{1,6}\s\?" +syn match cssSpecialCharQQ +\\\\\|\\"+ contained +syn match cssSpecialCharQ +\\\\\|\\'+ contained +syn region cssStringQQ start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=cssUnicodeEscape,cssSpecialCharQQ +syn region cssStringQ start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=cssUnicodeEscape,cssSpecialCharQ + +" Vendor Prefix +syn match cssVendor contained "-\%(webkit\|moz\|o\|ms\)-" + +" Various CSS Hack characters +" In earlier versions of IE (6 and 7), one can prefix property names +" with a _ or * to isolate those definitions to particular versions of IE +" This is purely decorative and therefore we assign to the same highlight +" group to cssVendor, for more information: +" http://www.paulirish.com/2009/browser-specific-css-hacks/ +syn match cssHacks contained /\%(_\|*\)/ + +" Attr Enhance +" Some keywords are both Prop and Attr, so we have to handle them +" cssPseudoClassId is hidden by cssAttrRegion, so we add it here. see #69 +syn region cssAttrRegion start=/:/ end=/\ze\%(;\|)\|}\|{\)/ contained contains=cssPseudoClassId,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise + +" Hack for transition +" 'transition' has Props after ':'. +syn region cssAttrRegion start=/transition\s*:/ end=/\ze\%(;\|)\|}\)/ contained contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise + +syn match cssAtKeyword /@\%(font-face\|media\|keyframes\|import\|charset\|namespace\|page\|supports\)/ + +syn keyword cssAtRuleLogical only not and contained + +" @media +" Reference: http://www.w3.org/TR/css3-mediaqueries/ +syn region cssAtRule start=/@media\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssMediaProp,cssValueLength,cssAtRuleLogical,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType,cssComment,cssCustomProp,cssFunctionName nextgroup=cssDefinition +syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv speech all contained + +" @page +" http://www.w3.org/TR/css3-page/ +syn region cssAtRule start=/@page\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssPagePseudo,cssComment nextgroup=cssDefinition +syn match cssPagePseudo /:\%(left\|right\|first\|blank\)/ contained skipwhite skipnl +" @keyframe +" http://www.w3.org/TR/css3-animations/#keyframes +syn region cssAtRule start=/@\%(-[a-z]\+-\)\=keyframes\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssVendor,cssComment nextgroup=cssDefinition + +syn region cssAtRule start=/@import\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssAtKeyword,cssURL,cssMediaProp,cssValueLength,cssAtRuleLogical,cssValueInteger,cssMediaAttr,cssMediaType +syn region cssAtRule start=/@charset\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssAtKeyword +syn region cssAtRule start=/@namespace\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssAtKeyword + +" @supports +" https://www.w3.org/TR/css3-conditional/#at-supports +syn region cssAtRule start=/@supports\>/ end=/\ze{/ skipwhite skipnl contains=cssAtRuleLogical,cssAttrRegion,css.*Prop,cssValue.*,cssVendor,cssAtKeyword,cssComment nextgroup=cssDefinition + + +if main_syntax == "css" + syn sync minlines=10 +endif + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link cssComment Comment +hi def link cssVendor Comment +hi def link cssHacks Comment +hi def link cssTagName Statement +hi def link cssDeprecated Error +hi def link cssSelectorOp Special +hi def link cssSelectorOp2 Special +hi def link cssAttrComma Special + +hi def link cssAnimationProp cssProp +hi def link cssBackgroundProp cssProp +hi def link cssBorderProp cssProp +hi def link cssBoxProp cssProp +hi def link cssCascadeProp cssProp +hi def link cssColorProp cssProp +hi def link cssContentForPagedMediaProp cssProp +hi def link cssDimensionProp cssProp +hi def link cssFlexibleBoxProp cssProp +hi def link cssFontProp cssProp +hi def link cssGeneratedContentProp cssProp +hi def link cssGridProp cssProp +hi def link cssHyerlinkProp cssProp +hi def link cssInteractProp cssProp +hi def link cssLineboxProp cssProp +hi def link cssListProp cssProp +hi def link cssMarqueeProp cssProp +hi def link cssMultiColumnProp cssProp +hi def link cssPagedMediaProp cssProp +hi def link cssPositioningProp cssProp +hi def link cssObjectProp cssProp +hi def link cssPrintProp cssProp +hi def link cssRubyProp cssProp +hi def link cssSpeechProp cssProp +hi def link cssTableProp cssProp +hi def link cssTextProp cssProp +hi def link cssTransformProp cssProp +hi def link cssTransitionProp cssProp +hi def link cssUIProp cssProp +hi def link cssIEUIProp cssProp +hi def link cssAuralProp cssProp +hi def link cssRenderProp cssProp +hi def link cssMobileTextProp cssProp + +hi def link cssAnimationAttr cssAttr +hi def link cssBackgroundAttr cssAttr +hi def link cssBorderAttr cssAttr +hi def link cssBoxAttr cssAttr +hi def link cssContentForPagedMediaAttr cssAttr +hi def link cssDimensionAttr cssAttr +hi def link cssFlexibleBoxAttr cssAttr +hi def link cssFontAttr cssAttr +hi def link cssGeneratedContentAttr cssAttr +hi def link cssGridAttr cssAttr +hi def link cssHyerlinkAttr cssAttr +hi def link cssInteractAttr cssAttr +hi def link cssLineboxAttr cssAttr +hi def link cssListAttr cssAttr +hi def link cssMarginAttr cssAttr +hi def link cssMarqueeAttr cssAttr +hi def link cssMultiColumnAttr cssAttr +hi def link cssPaddingAttr cssAttr +hi def link cssPagedMediaAttr cssAttr +hi def link cssPositioningAttr cssAttr +hi def link cssObjectAttr cssAttr +hi def link cssGradientAttr cssAttr +hi def link cssPrintAttr cssAttr +hi def link cssRubyAttr cssAttr +hi def link cssSpeechAttr cssAttr +hi def link cssTableAttr cssAttr +hi def link cssTextAttr cssAttr +hi def link cssTransformAttr cssAttr +hi def link cssTransitionAttr cssAttr +hi def link cssUIAttr cssAttr +hi def link cssIEUIAttr cssAttr +hi def link cssAuralAttr cssAttr +hi def link cssRenderAttr cssAttr +hi def link cssCascadeAttr cssAttr +hi def link cssCommonAttr cssAttr + +hi def link cssPseudoClassId PreProc +hi def link cssPseudoClassLang Constant +hi def link cssValueLength Number +hi def link cssValueInteger Number +hi def link cssValueNumber Number +hi def link cssValueAngle Number +hi def link cssValueTime Number +hi def link cssValueFrequency Number +hi def link cssFunction Constant +hi def link cssURL String +hi def link cssFunctionName Function +hi def link cssFunctionComma Function +hi def link cssColor Constant +hi def link cssIdentifier Function +hi def link cssAtRule Include +hi def link cssAtKeyword PreProc +hi def link cssImportant Special +hi def link cssCustomProp Special +hi def link cssBraces Function +hi def link cssBraceError Error +hi def link cssError Error +hi def link cssUnicodeEscape Special +hi def link cssStringQQ String +hi def link cssStringQ String +hi def link cssAttributeSelector String +hi def link cssMediaType Special +hi def link cssMediaComma Normal +hi def link cssAtRuleLogical Statement +hi def link cssMediaProp cssProp +hi def link cssMediaAttr cssAttr +hi def link cssPagePseudo PreProc +hi def link cssPageMarginProp cssAtKeyword +hi def link cssPageProp cssProp +hi def link cssKeyFrameProp Constant +hi def link cssFontDescriptor Special +hi def link cssFontDescriptorProp cssProp +hi def link cssFontDescriptorAttr cssAttr +hi def link cssUnicodeRange Constant +hi def link cssClassName Function +hi def link cssClassNameDot Function +hi def link cssProp StorageClass +hi def link cssAttr Constant +hi def link cssUnitDecorators Number +hi def link cssNoise Noise + +let b:current_syntax = "css" + +if main_syntax == 'css' + unlet main_syntax +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/css.vim b/uvim/runtime/syntax/css.vim deleted file mode 100644 index 3f28717959..0000000000 --- a/uvim/runtime/syntax/css.vim +++ /dev/null @@ -1,675 +0,0 @@ -" Vim syntax file -" Language: Cascading Style Sheets -" Previous Contributor List: -" Jules Wang -" Claudio Fleiner -" Yeti (Add full CSS2, HTML4 support) -" Nikolai Weibull (Add CSS2 support) -" URL: https://github.com/vim-language-dept/css-syntax.vim -" Maintainer: Jay Sitter -" Last Change: 2024 Mar 2 -" Changelog: -" 2025 Nov 11: improve support for cssBoxProperties #18717 -" 2026 Feb 13: add missing numeric units (baseline 2015, 2020, 2022, 2023, 2026) #19325 - -" quit when a syntax file was already loaded -if !exists("main_syntax") - if exists("b:current_syntax") - finish - endif - let main_syntax = 'css' -elseif exists("b:current_syntax") && b:current_syntax == "css" - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn case ignore -" Add dash to allowed keyword characters. -syn iskeyword @,48-57,_,192-255,- - -" HTML4 tags -syn keyword cssTagName abbr address area a b base -syn keyword cssTagName bdo blockquote body br button -syn keyword cssTagName caption cite code col colgroup dd del -syn keyword cssTagName dfn div dl dt em fieldset form -syn keyword cssTagName h1 h2 h3 h4 h5 h6 head hr html img i -syn keyword cssTagName iframe input ins isindex kbd label legend li -syn keyword cssTagName link map menu meta noscript ol optgroup -syn keyword cssTagName option p param picture pre q s samp script small -syn keyword cssTagName span strong sub sup tbody td -syn keyword cssTagName textarea tfoot th thead title tr ul u var -syn keyword cssTagName object svg -syn match cssTagName /\\|\\|\/ - -" 34 HTML5 tags -syn keyword cssTagName article aside audio bdi canvas command data -syn keyword cssTagName datalist details dialog embed figcaption figure footer -syn keyword cssTagName header hgroup keygen main mark menuitem meter nav -syn keyword cssTagName output progress rt rp ruby section -syn keyword cssTagName source summary time track video wbr - -" Tags not supported in HTML5 -" acronym applet basefont big center dir -" font frame frameset noframes strike tt - -syn match cssTagName "\*" - -" selectors -syn match cssSelectorOp "[,>+~]" -syn match cssSelectorOp2 "[~|^$*]\?=" contained -syn region cssAttributeSelector matchgroup=cssSelectorOp start="\[" end="]" contains=cssUnicodeEscape,cssSelectorOp2,cssStringQ,cssStringQQ - -" .class and #id -syn match cssClassName "\.-\=[A-Za-z_][A-Za-z0-9_-]*" contains=cssClassNameDot -syn match cssClassNameDot contained '\.' - -try -syn match cssIdentifier "#[A-Za-zĂ€-Ăż_@][A-Za-zĂ€-Ăż0-9_@-]*" -catch /^.*/ -syn match cssIdentifier "#[A-Za-z_@][A-Za-z0-9_@-]*" -endtry - -" digits -syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators -syn match cssValueNumber contained "[-+]\=\d\+\%(\.\d*\)\=" contains=cssUnitDecorators -syn match cssValueLength contained "[-+]\=\d\+\%(\.\d*\)\=\%(mm\|cm\|in\|pt\|pc\|px\|dpi\|dppx\|dpcm\|fr\|Q\|x\)\>" contains=cssUnitDecorators -syn match cssValueLength contained "[-+]\=\d\+\%(\.\d*\)\=r\=\%(em\|ex\|cap\|lh\|ch\|ic\)\>" contains=cssUnitDecorators -syn match cssValueLength contained "[-+]\=\d\+\%(\.\d*\)\=[dls]\=\%(vb\|vh\|vi\|vmax\|vmin\|vw\)\>" contains=cssUnitDecorators -syn match cssValueLength contained "[-+]\=\d\+\%(\.\d*\)\=%" contains=cssUnitDecorators -syn match cssValueAngle contained "[-+]\=\d\+\%(\.\d*\)\=\%(deg\|grad\|rad\|turn\)\>" contains=cssUnitDecorators -syn match cssValueTime contained "+\=\d\+\%(\.\d*\)\=\%(ms\|s\)\>" contains=cssUnitDecorators -syn match cssValueFrequency contained "+\=\d\+\%(\.\d*\)\=\%(Hz\|kHz\)\>" contains=cssUnitDecorators - -" The 16 basic color names -syn keyword cssColor contained aqua black blue fuchsia gray green lime maroon navy olive purple red silver teal yellow - -" 130 more color names -syn keyword cssColor contained aliceblue antiquewhite aquamarine azure -syn keyword cssColor contained beige bisque blanchedalmond blueviolet brown burlywood -syn keyword cssColor contained cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan -syn match cssColor contained /\/ -syn match cssColor contained /\/ -syn match cssColor contained /\/ -syn match cssColor contained /\/ -syn keyword cssColor contained deeppink deepskyblue dimgray dimgrey dodgerblue firebrick -syn keyword cssColor contained floralwhite forestgreen gainsboro ghostwhite gold -syn keyword cssColor contained goldenrod greenyellow grey honeydew hotpink -syn keyword cssColor contained indianred indigo ivory khaki lavender lavenderblush lawngreen -syn keyword cssColor contained lemonchiffon limegreen linen magenta -syn match cssColor contained /\/ -syn match cssColor contained /\/ -syn match cssColor contained /\/ -syn match cssColor contained /\/ -syn match cssColor contained /\/ -syn keyword cssColor contained midnightblue mintcream mistyrose moccasin navajowhite -syn keyword cssColor contained oldlace olivedrab orange orangered orchid -syn match cssColor contained /\/ -syn keyword cssColor contained papayawhip peachpuff peru pink plum powderblue -syn keyword cssColor contained rosybrown royalblue rebeccapurple saddlebrown salmon -syn keyword cssColor contained sandybrown seagreen seashell sienna skyblue slateblue -syn keyword cssColor contained slategray slategrey snow springgreen steelblue tan -syn keyword cssColor contained thistle tomato turquoise violet wheat -syn keyword cssColor contained whitesmoke yellowgreen - -" FIXME: These are actually case-insensitive too, but (a) specs recommend using -" mixed-case (b) it's hard to highlight the word `Background' correctly in -" all situations -syn case match -syn keyword cssColor contained ActiveBorder ActiveCaption AppWorkspace ButtonFace ButtonHighlight ButtonShadow ButtonText CaptionText GrayText Highlight HighlightText InactiveBorder InactiveCaption InactiveCaptionText InfoBackground InfoText Menu MenuText Scrollbar ThreeDDarkShadow ThreeDFace ThreeDHighlight ThreeDLightShadow ThreeDShadow Window WindowFrame WindowText Background -syn case ignore - -syn match cssImportant contained "!\s*important\>" -syn match cssCustomProp contained "\<--[a-zA-Z0-9-_]*\>" - -syn match cssColor contained "\" -syn match cssColor contained "\" -syn match cssColor contained "\" -syn match cssColor contained "#\x\{3,4\}\>" contains=cssUnitDecorators -syn match cssColor contained "#\x\{6\}\>" contains=cssUnitDecorators -syn match cssColor contained "#\x\{8\}\>" contains=cssUnitDecorators - -syn region cssURL contained matchgroup=cssFunctionName start="\<\%(uri\|url\|local\|format\)\s*(" end=")" contains=cssStringQ,cssStringQQ oneline -syn region cssMathGroup contained matchgroup=cssMathParens start="(" end=")" containedin=cssFunction,cssMathGroup contains=cssCustomProp,cssValue.*,cssFunction,cssColor,cssStringQ,cssStringQQ oneline -syn region cssFunction contained matchgroup=cssFunctionName start="\<\%(var\|calc\)\s*(" end=")" contains=cssCustomProp,cssValue.*,cssFunction,cssURL,cssColor,cssStringQ,cssStringQQ oneline -syn region cssFunction contained matchgroup=cssFunctionName start="\<\%(rgb\|clip\|attr\|counter\|rect\|cubic-bezier\|steps\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma -syn region cssFunction contained matchgroup=cssFunctionName start="\<\%(rgba\|hsl\|hsla\|color-stop\|from\|to\)\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma,cssFunction -syn region cssFunction contained matchgroup=cssFunctionName start="\<\%(linear-\|radial-\|conic-\)\=\gradient\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunction,cssGradientAttr,cssFunctionComma -syn region cssFunction contained matchgroup=cssFunctionName start="\<\%(matrix\%(3d\)\=\|scale\%(3d\|X\|Y\|Z\)\=\|translate\%(3d\|X\|Y\|Z\)\=\|skew\%(X\|Y\)\=\|rotate\%(3d\|X\|Y\|Z\)\=\|perspective\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssValueAngle,cssFunctionComma -syn region cssFunction contained matchgroup=cssFunctionName start="\<\%(blur\|brightness\|contrast\|drop-shadow\|grayscale\|hue-rotate\|invert\|opacity\|saturate\|sepia\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssValueAngle,cssFunctionComma -syn keyword cssGradientAttr contained top bottom left right cover center middle ellipse at -syn match cssFunctionComma contained "," - -" Common Prop and Attr -syn keyword cssCommonAttr contained auto none inherit all default normal -syn keyword cssCommonAttr contained top bottom center stretch hidden visible -syn match cssCommonAttr contained "\<\%(max-\|min-\|fit-\)content\>" -"------------------------------------------------ -" CSS Animations -" http://www.w3.org/TR/css3-animations/ -syn match cssAnimationProp contained "\" - -" animation-direction attributes -syn keyword cssAnimationAttr contained alternate reverse -syn match cssAnimationAttr contained "\" - -" animation-fill-mode attributes -syn keyword cssAnimationAttr contained forwards backwards both - -" animation-play-state attributes -syn keyword cssAnimationAttr contained running paused - -" animation-iteration-count attributes -syn keyword cssAnimationAttr contained infinite -"------------------------------------------------ -" CSS Backgrounds and Borders Module Level 3 -" http://www.w3.org/TR/css3-background/ -syn match cssBackgroundProp contained "\" -" background-attachment attributes -syn keyword cssBackgroundAttr contained scroll fixed local - -" background-position attributes -syn keyword cssBackgroundAttr contained left center right top bottom - -" background-repeat attributes -syn match cssBackgroundAttr contained "\" -syn match cssBackgroundAttr contained "\" - -" background-size attributes -syn keyword cssBackgroundAttr contained cover contain - -syn match cssBorderProp contained "\" -syn match cssBorderProp contained "\" -syn match cssBorderProp contained "\" -syn match cssBorderProp contained "\" -syn match cssBorderProp contained "\" -syn match cssBorderProp contained "\" -syn match cssBorderProp contained "\" - -" border-image attributes -syn keyword cssBorderAttr contained stretch round fill - -" border-style attributes -syn keyword cssBorderAttr contained dotted dashed solid double groove ridge inset outset - -" border-width attributes -syn keyword cssBorderAttr contained thin thick medium - -" box-decoration-break attributes -syn keyword cssBorderAttr contained clone slice -"------------------------------------------------ - -syn match cssBoxProp contained "\" -syn match cssBoxProp contained "\" -syn match cssBoxProp contained "\<\%(margin\|padding\)\%(-\%(inline\|block\)\%(-\%(start\|end\)\)\=\)\=\>" -syn match cssBoxProp contained "\" -syn match cssBoxProp contained "\" -syn keyword cssBoxAttr contained visible hidden scroll auto -syn match cssBoxAttr contained "\" - -syn keyword cssCascadeProp contained all -syn keyword cssCascadeAttr contained initial unset revert - -syn keyword cssColorProp contained opacity -syn match cssColorProp contained "\" -syn match cssColorProp contained "\" - - -syn match cssDimensionProp contained "\<\%(min\|max\)-\%(width\|height\)\>" -syn keyword cssDimensionProp contained height -syn keyword cssDimensionProp contained width - -" CSS Flexible Box Layout Module Level 1 -" http://www.w3.org/TR/css3-flexbox/ -" CSS Box Alignment Module Level 3 -" http://www.w3.org/TR/css-align-3/ -syn match cssFlexibleBoxProp contained "\" -syn match cssFlexibleBoxProp contained "\<\%(align\|justify\)\%(-\%(items\|self\|content\)\)\=\>" -syn keyword cssFlexibleBoxProp contained order - -syn match cssFlexibleBoxAttr contained "\<\%(row\|column\|wrap\)\%(-reverse\)\=\>" -syn keyword cssFlexibleBoxAttr contained nowrap stretch baseline center -syn match cssFlexibleBoxAttr contained "\" -syn match cssFlexibleBoxAttr contained "\" - -" CSS Fonts Module Level 3 -" http://www.w3.org/TR/css-fonts-3/ -syn match cssFontProp contained "\" - -" font attributes -syn keyword cssFontAttr contained icon menu caption -syn match cssFontAttr contained "\" -syn match cssFontAttr contained "\" -syn keyword cssFontAttr contained larger smaller -syn match cssFontAttr contained "\<\%(x\{1,2\}-\)\=\%(large\|small\)\>" -syn match cssFontAttr contained "\" -" font-family attributes -syn keyword cssFontAttr contained sans-serif serif cursive fantasy monospace -" font-feature-settings attributes -syn keyword cssFontAttr contained on off -" font-stretch attributes -syn match cssFontAttr contained "\<\%(\%(ultra\|extra\|semi\)-\)\=\%(condensed\|expanded\)\>" -" font-style attributes -syn keyword cssFontAttr contained italic oblique -" font-synthesis attributes -syn keyword cssFontAttr contained weight style -" font-weight attributes -syn keyword cssFontAttr contained bold bolder lighter -" font-display attributes -syn keyword cssFontAttr contained auto block swap fallback optional -" TODO: font-variant-* attributes -"------------------------------------------------ - -" Webkit specific property/attributes -syn match cssFontProp contained "\" -syn match cssFontAttr contained "\<\%(subpixel-\)\=\antialiased\>" - - -" CSS Multi-column Layout Module -" http://www.w3.org/TR/css3-multicol/ -syn match cssMultiColumnProp contained "\" -syn match cssMultiColumnProp contained "\" -syn keyword cssMultiColumnProp contained columns -syn keyword cssMultiColumnAttr contained balance medium -syn keyword cssMultiColumnAttr contained always left right page column -syn match cssMultiColumnAttr contained "\" - -" http://www.w3.org/TR/css3-break/#page-break -syn match cssMultiColumnProp contained "\" - -" http://www.w3.org/TR/SVG11/interact.html -syn match cssInteractProp contained "\" -syn match cssInteractAttr contained "\<\%(visible\)\=\%(Painted\|Fill\|Stroke\)\=\>" - -" TODO find following items in w3c docs. -syn keyword cssGeneratedContentProp contained quotes crop -syn match cssGeneratedContentProp contained "\" -syn match cssGeneratedContentProp contained "\" -syn match cssGeneratedContentProp contained "\" -syn match cssGeneratedContentAttr contained "\<\%(no-\)\=\%(open\|close\)-quote\>" - -" https://www.w3.org/TR/css-grid-1/ -syn match cssGridProp contained "\" -syn match cssGridProp contained "\" -syn match cssGridProp contained "\<\%(grid-\)\=\%(column\|row\)\%(-\%(start\|end\|gap\)\)\=\>" -syn match cssGridProp contained "\" -syn match cssGridProp contained "\" -syn match cssGridProp contained "\" - -syn match cssHyerlinkProp contained "\" - -syn match cssListProp contained "\" -syn match cssListAttr contained "\<\%(lower\|upper\)-\%(roman\|alpha\|greek\|latin\)\>" -syn match cssListAttr contained "\<\%(hiragana\|katakana\)\%(-iroha\)\=\>" -syn match cssListAttr contained "\<\%(decimal\%(-leading-zero\)\=\|cjk-ideographic\)\>" -syn keyword cssListAttr contained disc circle square hebrew armenian georgian -syn keyword cssListAttr contained inside outside - -" object-fit https://www.w3.org/TR/css-images-3/#the-object-fit -syn match cssObjectProp contained "\" -syn keyword cssObjectAttr contained fill contain cover scale-down - -syn keyword cssPositioningProp contained bottom clear clip display float left -syn keyword cssPositioningProp contained position right top visibility -syn match cssPositioningProp contained "\" -syn keyword cssPositioningAttr contained block compact grid -syn match cssPositioningAttr contained "\" -syn keyword cssPositioningAttr contained left right both -syn match cssPositioningAttr contained "\" -syn match cssPositioningAttr contained "\" -syn match cssPositioningAttr contained "\" -syn keyword cssPositioningAttr contained static relative absolute fixed subgrid sticky - -syn keyword cssPrintAttr contained landscape portrait crop cross always - -syn match cssTableProp contained "\<\%(caption-side\|table-layout\|border-collapse\|border-spacing\|empty-cells\)\>" -syn keyword cssTableAttr contained fixed collapse separate show hide once always - - -syn keyword cssTextProp contained color direction hyphens -syn match cssTextProp "\<\%(\%(word\|letter\)-spacing\|text\%(-\%(decoration\|transform\|align\|index\|shadow\)\)\=\|vertical-align\|unicode-bidi\|line-height\)\>" -syn match cssTextProp contained "\" -syn match cssTextProp contained "\<\%(word\|line\)-break\|\%(overflow\|word\)-wrap\>" -syn match cssTextProp contained "\" -syn match cssTextProp contained "\" -syn match cssTextProp contained "\" -syn match cssTextProp contained "\" -syn match cssTextAttr contained "\" -syn match cssTextAttr contained "\<\%(text-\)\=\%(top\|bottom\)\>" -syn keyword cssTextAttr contained ltr rtl embed nowrap -syn keyword cssTextAttr contained underline overline blink sub super middle -syn keyword cssTextAttr contained capitalize uppercase lowercase -syn keyword cssTextAttr contained justify baseline sub super -syn keyword cssTextAttr contained optimizeLegibility optimizeSpeed geometricPrecision -syn match cssTextAttr contained "\" -syn match cssTextAttr contained "\<\%(allow\|force\)-end\>" -syn keyword cssTextAttr contained start end adjacent -syn match cssTextAttr contained "\" -syn keyword cssTextAttr contained distribute kashida first last -syn keyword cssTextAttr contained clip ellipsis unrestricted suppress -syn match cssTextAttr contained "\" -syn match cssTextAttr contained "\" -syn keyword cssTextAttr contained manual -syn match cssTextAttr contained "\" - -syn match cssTransformProp contained "\" -syn match cssTransformProp contained "\" -syn match cssTransformProp contained "\" - -" CSS Transitions -" http://www.w3.org/TR/css3-transitions/ -syn match cssTransitionProp contained "\" - -" transition-time-function attributes -syn match cssTransitionAttr contained "\" -syn match cssTransitionAttr contained "\" -syn match cssTransitionAttr contained "\" -"------------------------------------------------ -" CSS Basic User Interface Module Level 3 (CSS3 UI) -" http://www.w3.org/TR/css3-ui/ -syn match cssUIProp contained "\" -syn match cssUIAttr contained "\<\%(content\|padding\|border\)\%(-box\)\=\>" - -syn keyword cssUIProp contained cursor -syn match cssUIAttr contained "\<\%(\%([ns]\=[ew]\=\)\|col\|row\|nesw\|nwse\)-resize\>" -syn keyword cssUIAttr contained crosshair help move pointer alias copy -syn keyword cssUIAttr contained progress wait text cell move -syn match cssUIAttr contained "\" -syn match cssUIAttr contained "\" -syn match cssUIAttr contained "\" -syn match cssUIAttr contained "\" -syn match cssUIAttr contained "\<\%(vertical-\)\=text\>" -syn match cssUIAttr contained "\" - -syn match cssUIProp contained "\" -syn keyword cssUIAttr contained active inactive disabled - -syn match cssUIProp contained "\" -syn match cssUIProp contained "\" -syn keyword cssUIAttr contained invert - -syn keyword cssUIProp contained icon resize -syn keyword cssUIAttr contained both horizontal vertical - -syn match cssUIProp contained "\" -syn keyword cssUIAttr contained clip ellipsis - -syn match cssUIProp contained "\" -syn keyword cssUIAttr contained pixellated -syn match cssUIAttr contained "\" - -"------------------------------------------------ -" Webkit/iOS specific attributes -syn match cssUIAttr contained '\' -" IE specific attributes -syn match cssIEUIAttr contained '\' - -" Webkit/iOS specific properties -syn match cssUIProp contained '\<\%(tap-highlight-color\|user-select\|touch-callout\)\>' -" IE specific properties -syn match cssIEUIProp contained '\<\%(interpolation-mode\|zoom\|filter\)\>' - -" Webkit/Firebox specific properties/attributes -syn keyword cssUIProp contained appearance -syn keyword cssUIAttr contained window button field icon document menu - - -syn match cssAuralProp contained "\<\%(pause\|cue\)\%(-\%(before\|after\)\)\=\>" -syn match cssAuralProp contained "\<\%(play-during\|speech-rate\|voice-family\|pitch\%(-range\)\=\|speak\%(-\%(punctuation\|numeral\|header\)\)\=\)\>" -syn keyword cssAuralProp contained volume during azimuth elevation stress richness -syn match cssAuralAttr contained "\<\%(x-\)\=\%(soft\|loud\)\>" -syn keyword cssAuralAttr contained silent -syn match cssAuralAttr contained "\" -syn keyword cssAuralAttr contained non mix -syn match cssAuralAttr contained "\<\%(left\|right\)-side\>" -syn match cssAuralAttr contained "\<\%(far\|center\)-\%(left\|center\|right\)\>" -syn keyword cssAuralAttr contained leftwards rightwards behind -syn keyword cssAuralAttr contained below level above lower higher -syn match cssAuralAttr contained "\<\%(x-\)\=\%(slow\|fast\|low\|high\)\>" -syn keyword cssAuralAttr contained faster slower -syn keyword cssAuralAttr contained male female child code digits continuous - -" mobile text -syn match cssMobileTextProp contained "\" - -syn keyword cssMediaProp contained width height orientation scan -syn keyword cssMediaProp contained any-hover any-pointer color-gamut grid hover -syn keyword cssMediaProp contained overflow-block overflow-inline pointer update -syn match cssMediaProp contained /\<\%(\%(max\|min\)-\)\=\%(\%(device\)-\)\=aspect-ratio\>/ -syn match cssMediaProp contained /\<\%(\%(max\|min\)-\)\=device-pixel-ratio\>/ -syn match cssMediaProp contained /\<\%(\%(max\|min\)-\)\=device-\%(height\|width\)\>/ -syn match cssMediaProp contained /\<\%(\%(max\|min\)-\)\=\%(height\|width\|resolution\|monochrome\|color\%(-index\)\=\)\>/ -syn keyword cssMediaAttr contained portrait landscape progressive interlace -syn keyword cssMediaAttr contained coarse fast fine hover infinite p3 paged -syn keyword cssMediaAttr contained rec2020 scroll slow srgb -syn match cssKeyFrameProp contained /\%(\d\+\%(\.\d\+\)\?%\|\%(\\)\)/ nextgroup=cssDefinition -syn match cssPageMarginProp /@\%(\%(top\|left\|right\|bottom\)-\%(left\|center\|right\|middle\|bottom\)\)\%(-corner\)\=/ contained nextgroup=cssDefinition -syn keyword cssPageProp contained content size -syn keyword cssPageProp contained orphans widows -syn keyword cssFontDescriptorProp contained src -syn match cssFontDescriptorProp contained "\" -" unicode-range attributes -syn match cssFontDescriptorAttr contained "U+[0-9A-Fa-f?]\+" -syn match cssFontDescriptorAttr contained "U+\x\+-\x\+" - -syn match cssBraces contained "[{}]" -syn match cssError contained "{@<>" -syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssTagName,cssAttributeSelector,cssClassName,cssIdentifier,cssAtRule,cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssCustomProp,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks,cssNoise fold -syn match cssBraceError "}" -syn match cssAttrComma "," - -" Pseudo class -" https://www.w3.org/TR/selectors-4/ -syn match cssPseudoClass ":[A-Za-z0-9_-]*" contains=cssNoise,cssPseudoClassId,cssUnicodeEscape,cssVendor,cssPseudoClassFn -syn keyword cssPseudoClassId contained link visited active hover before after left right -syn keyword cssPseudoClassId contained root empty target enabled disabled checked invalid -syn match cssPseudoClassId contained "\" -syn match cssPseudoClassId contained "\<\%(first\|last\|only\)-\%(of-type\|child\)\>" -syn match cssPseudoClassId contained "\" -syn region cssPseudoClassFn contained matchgroup=cssFunctionName start="\<\%(not\|is\|lang\|\%(nth\|nth-last\)-\%(of-type\|child\)\)(" end=")" contains=cssStringQ,cssStringQQ,cssTagName,cssAttributeSelector,cssClassName,cssIdentifier -" ------------------------------------ -" Vendor specific properties -syn match cssPseudoClassId contained "\" -syn match cssPseudoClassId contained "\<\%(input-\)\=placeholder\>" - -" Misc highlight groups -syntax match cssUnitDecorators /\%(#\|-\|+\|%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|ch\|rem\|vh\|vw\|vmin\|vmax\|dpi\|dppx\|dpcm\|Hz\|kHz\|s\|ms\|deg\|grad\|rad\)/ contained -syntax match cssNoise contained /\%(:\|;\|\/\)/ - -" Comment -syn region cssComment start="/\*" end="\*/" contains=@Spell fold - -syn match cssUnicodeEscape "\\\x\{1,6}\s\?" -syn match cssSpecialCharQQ +\\\\\|\\"+ contained -syn match cssSpecialCharQ +\\\\\|\\'+ contained -syn region cssStringQQ start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=cssUnicodeEscape,cssSpecialCharQQ -syn region cssStringQ start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=cssUnicodeEscape,cssSpecialCharQ - -" Vendor Prefix -syn match cssVendor contained "-\%(webkit\|moz\|o\|ms\)-" - -" Various CSS Hack characters -" In earlier versions of IE (6 and 7), one can prefix property names -" with a _ or * to isolate those definitions to particular versions of IE -" This is purely decorative and therefore we assign to the same highlight -" group to cssVendor, for more information: -" http://www.paulirish.com/2009/browser-specific-css-hacks/ -syn match cssHacks contained /\%(_\|*\)/ - -" Attr Enhance -" Some keywords are both Prop and Attr, so we have to handle them -" cssPseudoClassId is hidden by cssAttrRegion, so we add it here. see #69 -syn region cssAttrRegion start=/:/ end=/\ze\%(;\|)\|}\|{\)/ contained contains=cssPseudoClassId,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise - -" Hack for transition -" 'transition' has Props after ':'. -syn region cssAttrRegion start=/transition\s*:/ end=/\ze\%(;\|)\|}\)/ contained contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise - -syn match cssAtKeyword /@\%(font-face\|media\|keyframes\|import\|charset\|namespace\|page\|supports\)/ - -syn keyword cssAtRuleLogical only not and contained - -" @media -" Reference: http://www.w3.org/TR/css3-mediaqueries/ -syn region cssAtRule start=/@media\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssMediaProp,cssValueLength,cssAtRuleLogical,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType,cssComment,cssCustomProp,cssFunctionName nextgroup=cssDefinition -syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv speech all contained - -" @page -" http://www.w3.org/TR/css3-page/ -syn region cssAtRule start=/@page\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssPagePseudo,cssComment nextgroup=cssDefinition -syn match cssPagePseudo /:\%(left\|right\|first\|blank\)/ contained skipwhite skipnl -" @keyframe -" http://www.w3.org/TR/css3-animations/#keyframes -syn region cssAtRule start=/@\%(-[a-z]\+-\)\=keyframes\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssVendor,cssComment nextgroup=cssDefinition - -syn region cssAtRule start=/@import\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssAtKeyword,cssURL,cssMediaProp,cssValueLength,cssAtRuleLogical,cssValueInteger,cssMediaAttr,cssMediaType -syn region cssAtRule start=/@charset\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssAtKeyword -syn region cssAtRule start=/@namespace\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssAtKeyword - -" @supports -" https://www.w3.org/TR/css3-conditional/#at-supports -syn region cssAtRule start=/@supports\>/ end=/\ze{/ skipwhite skipnl contains=cssAtRuleLogical,cssAttrRegion,css.*Prop,cssValue.*,cssVendor,cssAtKeyword,cssComment nextgroup=cssDefinition - - -if main_syntax == "css" - syn sync minlines=10 -endif - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link cssComment Comment -hi def link cssVendor Comment -hi def link cssHacks Comment -hi def link cssTagName Statement -hi def link cssDeprecated Error -hi def link cssSelectorOp Special -hi def link cssSelectorOp2 Special -hi def link cssAttrComma Special - -hi def link cssAnimationProp cssProp -hi def link cssBackgroundProp cssProp -hi def link cssBorderProp cssProp -hi def link cssBoxProp cssProp -hi def link cssCascadeProp cssProp -hi def link cssColorProp cssProp -hi def link cssContentForPagedMediaProp cssProp -hi def link cssDimensionProp cssProp -hi def link cssFlexibleBoxProp cssProp -hi def link cssFontProp cssProp -hi def link cssGeneratedContentProp cssProp -hi def link cssGridProp cssProp -hi def link cssHyerlinkProp cssProp -hi def link cssInteractProp cssProp -hi def link cssLineboxProp cssProp -hi def link cssListProp cssProp -hi def link cssMarqueeProp cssProp -hi def link cssMultiColumnProp cssProp -hi def link cssPagedMediaProp cssProp -hi def link cssPositioningProp cssProp -hi def link cssObjectProp cssProp -hi def link cssPrintProp cssProp -hi def link cssRubyProp cssProp -hi def link cssSpeechProp cssProp -hi def link cssTableProp cssProp -hi def link cssTextProp cssProp -hi def link cssTransformProp cssProp -hi def link cssTransitionProp cssProp -hi def link cssUIProp cssProp -hi def link cssIEUIProp cssProp -hi def link cssAuralProp cssProp -hi def link cssRenderProp cssProp -hi def link cssMobileTextProp cssProp - -hi def link cssAnimationAttr cssAttr -hi def link cssBackgroundAttr cssAttr -hi def link cssBorderAttr cssAttr -hi def link cssBoxAttr cssAttr -hi def link cssContentForPagedMediaAttr cssAttr -hi def link cssDimensionAttr cssAttr -hi def link cssFlexibleBoxAttr cssAttr -hi def link cssFontAttr cssAttr -hi def link cssGeneratedContentAttr cssAttr -hi def link cssGridAttr cssAttr -hi def link cssHyerlinkAttr cssAttr -hi def link cssInteractAttr cssAttr -hi def link cssLineboxAttr cssAttr -hi def link cssListAttr cssAttr -hi def link cssMarginAttr cssAttr -hi def link cssMarqueeAttr cssAttr -hi def link cssMultiColumnAttr cssAttr -hi def link cssPaddingAttr cssAttr -hi def link cssPagedMediaAttr cssAttr -hi def link cssPositioningAttr cssAttr -hi def link cssObjectAttr cssAttr -hi def link cssGradientAttr cssAttr -hi def link cssPrintAttr cssAttr -hi def link cssRubyAttr cssAttr -hi def link cssSpeechAttr cssAttr -hi def link cssTableAttr cssAttr -hi def link cssTextAttr cssAttr -hi def link cssTransformAttr cssAttr -hi def link cssTransitionAttr cssAttr -hi def link cssUIAttr cssAttr -hi def link cssIEUIAttr cssAttr -hi def link cssAuralAttr cssAttr -hi def link cssRenderAttr cssAttr -hi def link cssCascadeAttr cssAttr -hi def link cssCommonAttr cssAttr - -hi def link cssPseudoClassId PreProc -hi def link cssPseudoClassLang Constant -hi def link cssValueLength Number -hi def link cssValueInteger Number -hi def link cssValueNumber Number -hi def link cssValueAngle Number -hi def link cssValueTime Number -hi def link cssValueFrequency Number -hi def link cssFunction Constant -hi def link cssURL String -hi def link cssFunctionName Function -hi def link cssFunctionComma Function -hi def link cssColor Constant -hi def link cssIdentifier Function -hi def link cssAtRule Include -hi def link cssAtKeyword PreProc -hi def link cssImportant Special -hi def link cssCustomProp Special -hi def link cssBraces Function -hi def link cssBraceError Error -hi def link cssError Error -hi def link cssUnicodeEscape Special -hi def link cssStringQQ String -hi def link cssStringQ String -hi def link cssAttributeSelector String -hi def link cssMediaType Special -hi def link cssMediaComma Normal -hi def link cssAtRuleLogical Statement -hi def link cssMediaProp cssProp -hi def link cssMediaAttr cssAttr -hi def link cssPagePseudo PreProc -hi def link cssPageMarginProp cssAtKeyword -hi def link cssPageProp cssProp -hi def link cssKeyFrameProp Constant -hi def link cssFontDescriptor Special -hi def link cssFontDescriptorProp cssProp -hi def link cssFontDescriptorAttr cssAttr -hi def link cssUnicodeRange Constant -hi def link cssClassName Function -hi def link cssClassNameDot Function -hi def link cssProp StorageClass -hi def link cssAttr Constant -hi def link cssUnitDecorators Number -hi def link cssNoise Noise - -let b:current_syntax = "css" - -if main_syntax == 'css' - unlet main_syntax -endif - -let &cpo = s:cpo_save -unlet s:cpo_save - -" vim: ts=8 diff --git a/uvim/runtime/syntax/csv.mnv b/uvim/runtime/syntax/csv.mnv new file mode 100644 index 0000000000..cf12724aea --- /dev/null +++ b/uvim/runtime/syntax/csv.mnv @@ -0,0 +1,39 @@ +mnv9script + +# Maintainer: Maxim Kim +# Last Update: 2024-06-18 + +if exists("b:current_syntax") + finish +endif + +var delimiter = get(b:, "csv_delimiter", ",") + +# generate bunch of following syntaxes: +# syntax match csvCol8 /.\{-}\(,\|$\)/ nextgroup=escCsvCol0,csvCol0 +# syntax region escCsvCol8 start=/ *"\([^"]*""\)*[^"]*/ end=/" *\(,\|$\)/ nextgroup=escCsvCol0,csvCol0 +for col in range(8, 0, -1) + var ncol = (col == 8 ? 0 : col + 1) + exe $'syntax match csvCol{col}' .. ' /.\{-}\(' .. delimiter .. '\|$\)/ nextgroup=escCsvCol' .. ncol .. ',csvCol' .. ncol + exe $'syntax region escCsvCol{col}' .. ' start=/ *"\([^"]*""\)*[^"]*/ end=/" *\(' .. delimiter .. '\|$\)/ nextgroup=escCsvCol' .. ncol .. ',csvCol' .. ncol +endfor + +hi def link csvCol1 Statement +hi def link csvCol2 Constant +hi def link csvCol3 Type +hi def link csvCol4 PreProc +hi def link csvCol5 Identifier +hi def link csvCol6 Special +hi def link csvCol7 String +hi def link csvCol8 Comment + +hi def link escCsvCol1 csvCol1 +hi def link escCsvCol2 csvCol2 +hi def link escCsvCol3 csvCol3 +hi def link escCsvCol4 csvCol4 +hi def link escCsvCol5 csvCol5 +hi def link escCsvCol6 csvCol6 +hi def link escCsvCol7 csvCol7 +hi def link escCsvCol8 csvCol8 + +b:current_syntax = "csv" diff --git a/uvim/runtime/syntax/csv.vim b/uvim/runtime/syntax/csv.vim deleted file mode 100644 index 848029a480..0000000000 --- a/uvim/runtime/syntax/csv.vim +++ /dev/null @@ -1,39 +0,0 @@ -vim9script - -# Maintainer: Maxim Kim -# Last Update: 2024-06-18 - -if exists("b:current_syntax") - finish -endif - -var delimiter = get(b:, "csv_delimiter", ",") - -# generate bunch of following syntaxes: -# syntax match csvCol8 /.\{-}\(,\|$\)/ nextgroup=escCsvCol0,csvCol0 -# syntax region escCsvCol8 start=/ *"\([^"]*""\)*[^"]*/ end=/" *\(,\|$\)/ nextgroup=escCsvCol0,csvCol0 -for col in range(8, 0, -1) - var ncol = (col == 8 ? 0 : col + 1) - exe $'syntax match csvCol{col}' .. ' /.\{-}\(' .. delimiter .. '\|$\)/ nextgroup=escCsvCol' .. ncol .. ',csvCol' .. ncol - exe $'syntax region escCsvCol{col}' .. ' start=/ *"\([^"]*""\)*[^"]*/ end=/" *\(' .. delimiter .. '\|$\)/ nextgroup=escCsvCol' .. ncol .. ',csvCol' .. ncol -endfor - -hi def link csvCol1 Statement -hi def link csvCol2 Constant -hi def link csvCol3 Type -hi def link csvCol4 PreProc -hi def link csvCol5 Identifier -hi def link csvCol6 Special -hi def link csvCol7 String -hi def link csvCol8 Comment - -hi def link escCsvCol1 csvCol1 -hi def link escCsvCol2 csvCol2 -hi def link escCsvCol3 csvCol3 -hi def link escCsvCol4 csvCol4 -hi def link escCsvCol5 csvCol5 -hi def link escCsvCol6 csvCol6 -hi def link escCsvCol7 csvCol7 -hi def link escCsvCol8 csvCol8 - -b:current_syntax = "csv" diff --git a/uvim/runtime/syntax/cterm.mnv b/uvim/runtime/syntax/cterm.mnv new file mode 100644 index 0000000000..086bd92307 --- /dev/null +++ b/uvim/runtime/syntax/cterm.mnv @@ -0,0 +1,177 @@ +" MNV syntax file +" Language: Century Term Command Script +" Maintainer: Sean M. McKee +" Last Change: 2002 Apr 13 +" Version Info: @(#)cterm.mnv 1.7 97/12/15 09:23:14 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn case ignore + +"FUNCTIONS +syn keyword ctermFunction abort addcr addlf answer at attr batch baud +syn keyword ctermFunction break call capture cd cdelay charset cls color +syn keyword ctermFunction combase config commect copy cread +syn keyword ctermFunction creadint devprefix dialer dialog dimint +syn keyword ctermFunction dimlog dimstr display dtimeout dwait edit +syn keyword ctermFunction editor emulate erase escloop fcreate +syn keyword ctermFunction fflush fillchar flags flush fopen fread +syn keyword ctermFunction freadln fseek fwrite fwriteln get hangup +syn keyword ctermFunction help hiwait htime ignore init itime +syn keyword ctermFunction keyboard lchar ldelay learn lockfile +syn keyword ctermFunction locktime log login logout lowait +syn keyword ctermFunction lsend ltime memlist menu mkdir mode +syn keyword ctermFunction modem netdialog netport noerror pages parity +syn keyword ctermFunction pause portlist printer protocol quit rcv +syn keyword ctermFunction read readint readn redial release +syn keyword ctermFunction remote rename restart retries return +syn keyword ctermFunction rmdir rtime run runx scrollback send +syn keyword ctermFunction session set setcap setcolor setkey +syn keyword ctermFunction setsym setvar startserver status +syn keyword ctermFunction stime stopbits stopserver tdelay +syn keyword ctermFunction terminal time trans type usend version +syn keyword ctermFunction vi vidblink vidcard vidout vidunder wait +syn keyword ctermFunction wildsize wclose wopen wordlen wru wruchar +syn keyword ctermFunction xfer xmit xprot +syn match ctermFunction "?" +"syn keyword ctermFunction comment remark + +"END FUNCTIONS +"INTEGER FUNCTIONS +syn keyword ctermIntFunction asc atod eval filedate filemode filesize ftell +syn keyword ctermIntFunction len termbits opsys pos sum time val mdmstat +"END INTEGER FUNCTIONS + +"STRING FUNCTIONS +syn keyword ctermStrFunction cdate ctime chr chrdy chrin comin getenv +syn keyword ctermStrFunction gethomedir left midstr right str tolower +syn keyword ctermStrFunction toupper uniq comst exists feof hascolor + +"END STRING FUNCTIONS + +"PREDEFINED TERM VARIABLES R/W +syn keyword ctermPreVarRW f _escloop _filename _kermiteol _obufsiz +syn keyword ctermPreVarRW _port _rcvsync _cbaud _reval _turnchar +syn keyword ctermPreVarRW _txblksiz _txwindow _vmin _vtime _cparity +syn keyword ctermPreVarRW _cnumber false t true _cwordlen _cstopbits +syn keyword ctermPreVarRW _cmode _cemulate _cxprot _clogin _clogout +syn keyword ctermPreVarRW _cstartsrv _cstopsrv _ccmdfile _cwru +syn keyword ctermPreVarRW _cprotocol _captfile _cremark _combufsiz +syn keyword ctermPreVarRW logfile +"END PREDEFINED TERM VARIABLES R/W + +"PREDEFINED TERM VARIABLES R/O +syn keyword ctermPreVarRO _1 _2 _3 _4 _5 _6 _7 _8 _9 _cursess +syn keyword ctermPreVarRO _lockfile _baud _errno _retval _sernum +syn keyword ctermPreVarRO _timeout _row _col _version +"END PREDEFINED TERM VARIABLES R/O + +syn keyword ctermOperator not mod eq ne gt le lt ge xor and or shr not shl + +"SYMBOLS +syn match CtermSymbols "|" +"syn keyword ctermOperators + - * / % = != > < >= <= & | ^ ! << >> +"END SYMBOLS + +"STATEMENT +syn keyword ctermStatement off +syn keyword ctermStatement disk overwrite append spool none +syn keyword ctermStatement echo view wrap +"END STATEMENT + +"TYPE +"syn keyword ctermType +"END TYPE + +"USERLIB FUNCTIONS +"syn keyword ctermLibFunc +"END USERLIB FUNCTIONS + +"LABEL +syn keyword ctermLabel case default +"END LABEL + +"CONDITIONAL +syn keyword ctermConditional on endon +syn keyword ctermConditional proc endproc +syn keyword ctermConditional for in do endfor +syn keyword ctermConditional if else elseif endif iferror +syn keyword ctermConditional switch endswitch +syn keyword ctermConditional repeat until +"END CONDITIONAL + +"REPEAT +syn keyword ctermRepeat while +"END REPEAT + +" Function arguments (eg $1 $2 $3) +syn match ctermFuncArg "\$[1-9]" + +syn keyword ctermTodo contained TODO + +syn match ctermNumber "\<\d\+\(u\=l\=\|lu\|f\)\>" +"floating point number, with dot, optional exponent +syn match ctermNumber "\<\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=\>" +"floating point number, starting with a dot, optional exponent +syn match ctermNumber "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>" +"floating point number, without dot, with exponent +syn match ctermNumber "\<\d\+e[-+]\=\d\+[fl]\=\>" +"hex number +syn match ctermNumber "0x[0-9a-f]\+\(u\=l\=\|lu\)\>" + +syn match ctermComment "![^=].*$" contains=ctermTodo +syn match ctermComment "!$" +syn match ctermComment "\*.*$" contains=ctermTodo +syn region ctermComment start="comment" end="$" contains=ctermTodo +syn region ctermComment start="remark" end="$" contains=ctermTodo + +syn region ctermVar start="\$(" end=")" + +" String and Character contstants +" Highlight special characters (those which have a backslash) differently +syn match ctermSpecial contained "\\\d\d\d\|\\." +syn match ctermSpecial contained "\^." +syn region ctermString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=ctermSpecial,ctermVar,ctermSymbols +syn match ctermCharacter "'[^\\]'" +syn match ctermSpecialCharacter "'\\.'" + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link ctermStatement Statement +hi def link ctermFunction Statement +hi def link ctermStrFunction Statement +hi def link ctermIntFunction Statement +hi def link ctermLabel Statement +hi def link ctermConditional Statement +hi def link ctermRepeat Statement +hi def link ctermLibFunc UserDefFunc +hi def link ctermType Type +hi def link ctermFuncArg PreCondit + +hi def link ctermPreVarRO PreCondit +hi def link ctermPreVarRW PreConditBold +hi def link ctermVar Type + +hi def link ctermComment Comment + +hi def link ctermCharacter SpecialChar +hi def link ctermSpecial Special +hi def link ctermSpecialCharacter SpecialChar +hi def link ctermSymbols Special +hi def link ctermString String +hi def link ctermTodo Todo +hi def link ctermOperator Statement +hi def link ctermNumber Number + +" redefine the colors +"hi PreConditBold term=bold ctermfg=1 cterm=bold guifg=Purple gui=bold +"hi Special term=bold ctermfg=6 guifg=SlateBlue gui=underline + + +let b:current_syntax = "cterm" + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/cterm.vim b/uvim/runtime/syntax/cterm.vim deleted file mode 100644 index 1b6cb2893f..0000000000 --- a/uvim/runtime/syntax/cterm.vim +++ /dev/null @@ -1,177 +0,0 @@ -" Vim syntax file -" Language: Century Term Command Script -" Maintainer: Sean M. McKee -" Last Change: 2002 Apr 13 -" Version Info: @(#)cterm.vim 1.7 97/12/15 09:23:14 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn case ignore - -"FUNCTIONS -syn keyword ctermFunction abort addcr addlf answer at attr batch baud -syn keyword ctermFunction break call capture cd cdelay charset cls color -syn keyword ctermFunction combase config commect copy cread -syn keyword ctermFunction creadint devprefix dialer dialog dimint -syn keyword ctermFunction dimlog dimstr display dtimeout dwait edit -syn keyword ctermFunction editor emulate erase escloop fcreate -syn keyword ctermFunction fflush fillchar flags flush fopen fread -syn keyword ctermFunction freadln fseek fwrite fwriteln get hangup -syn keyword ctermFunction help hiwait htime ignore init itime -syn keyword ctermFunction keyboard lchar ldelay learn lockfile -syn keyword ctermFunction locktime log login logout lowait -syn keyword ctermFunction lsend ltime memlist menu mkdir mode -syn keyword ctermFunction modem netdialog netport noerror pages parity -syn keyword ctermFunction pause portlist printer protocol quit rcv -syn keyword ctermFunction read readint readn redial release -syn keyword ctermFunction remote rename restart retries return -syn keyword ctermFunction rmdir rtime run runx scrollback send -syn keyword ctermFunction session set setcap setcolor setkey -syn keyword ctermFunction setsym setvar startserver status -syn keyword ctermFunction stime stopbits stopserver tdelay -syn keyword ctermFunction terminal time trans type usend version -syn keyword ctermFunction vi vidblink vidcard vidout vidunder wait -syn keyword ctermFunction wildsize wclose wopen wordlen wru wruchar -syn keyword ctermFunction xfer xmit xprot -syn match ctermFunction "?" -"syn keyword ctermFunction comment remark - -"END FUNCTIONS -"INTEGER FUNCTIONS -syn keyword ctermIntFunction asc atod eval filedate filemode filesize ftell -syn keyword ctermIntFunction len termbits opsys pos sum time val mdmstat -"END INTEGER FUNCTIONS - -"STRING FUNCTIONS -syn keyword ctermStrFunction cdate ctime chr chrdy chrin comin getenv -syn keyword ctermStrFunction gethomedir left midstr right str tolower -syn keyword ctermStrFunction toupper uniq comst exists feof hascolor - -"END STRING FUNCTIONS - -"PREDEFINED TERM VARIABLES R/W -syn keyword ctermPreVarRW f _escloop _filename _kermiteol _obufsiz -syn keyword ctermPreVarRW _port _rcvsync _cbaud _reval _turnchar -syn keyword ctermPreVarRW _txblksiz _txwindow _vmin _vtime _cparity -syn keyword ctermPreVarRW _cnumber false t true _cwordlen _cstopbits -syn keyword ctermPreVarRW _cmode _cemulate _cxprot _clogin _clogout -syn keyword ctermPreVarRW _cstartsrv _cstopsrv _ccmdfile _cwru -syn keyword ctermPreVarRW _cprotocol _captfile _cremark _combufsiz -syn keyword ctermPreVarRW logfile -"END PREDEFINED TERM VARIABLES R/W - -"PREDEFINED TERM VARIABLES R/O -syn keyword ctermPreVarRO _1 _2 _3 _4 _5 _6 _7 _8 _9 _cursess -syn keyword ctermPreVarRO _lockfile _baud _errno _retval _sernum -syn keyword ctermPreVarRO _timeout _row _col _version -"END PREDEFINED TERM VARIABLES R/O - -syn keyword ctermOperator not mod eq ne gt le lt ge xor and or shr not shl - -"SYMBOLS -syn match CtermSymbols "|" -"syn keyword ctermOperators + - * / % = != > < >= <= & | ^ ! << >> -"END SYMBOLS - -"STATEMENT -syn keyword ctermStatement off -syn keyword ctermStatement disk overwrite append spool none -syn keyword ctermStatement echo view wrap -"END STATEMENT - -"TYPE -"syn keyword ctermType -"END TYPE - -"USERLIB FUNCTIONS -"syn keyword ctermLibFunc -"END USERLIB FUNCTIONS - -"LABEL -syn keyword ctermLabel case default -"END LABEL - -"CONDITIONAL -syn keyword ctermConditional on endon -syn keyword ctermConditional proc endproc -syn keyword ctermConditional for in do endfor -syn keyword ctermConditional if else elseif endif iferror -syn keyword ctermConditional switch endswitch -syn keyword ctermConditional repeat until -"END CONDITIONAL - -"REPEAT -syn keyword ctermRepeat while -"END REPEAT - -" Function arguments (eg $1 $2 $3) -syn match ctermFuncArg "\$[1-9]" - -syn keyword ctermTodo contained TODO - -syn match ctermNumber "\<\d\+\(u\=l\=\|lu\|f\)\>" -"floating point number, with dot, optional exponent -syn match ctermNumber "\<\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=\>" -"floating point number, starting with a dot, optional exponent -syn match ctermNumber "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>" -"floating point number, without dot, with exponent -syn match ctermNumber "\<\d\+e[-+]\=\d\+[fl]\=\>" -"hex number -syn match ctermNumber "0x[0-9a-f]\+\(u\=l\=\|lu\)\>" - -syn match ctermComment "![^=].*$" contains=ctermTodo -syn match ctermComment "!$" -syn match ctermComment "\*.*$" contains=ctermTodo -syn region ctermComment start="comment" end="$" contains=ctermTodo -syn region ctermComment start="remark" end="$" contains=ctermTodo - -syn region ctermVar start="\$(" end=")" - -" String and Character contstants -" Highlight special characters (those which have a backslash) differently -syn match ctermSpecial contained "\\\d\d\d\|\\." -syn match ctermSpecial contained "\^." -syn region ctermString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=ctermSpecial,ctermVar,ctermSymbols -syn match ctermCharacter "'[^\\]'" -syn match ctermSpecialCharacter "'\\.'" - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link ctermStatement Statement -hi def link ctermFunction Statement -hi def link ctermStrFunction Statement -hi def link ctermIntFunction Statement -hi def link ctermLabel Statement -hi def link ctermConditional Statement -hi def link ctermRepeat Statement -hi def link ctermLibFunc UserDefFunc -hi def link ctermType Type -hi def link ctermFuncArg PreCondit - -hi def link ctermPreVarRO PreCondit -hi def link ctermPreVarRW PreConditBold -hi def link ctermVar Type - -hi def link ctermComment Comment - -hi def link ctermCharacter SpecialChar -hi def link ctermSpecial Special -hi def link ctermSpecialCharacter SpecialChar -hi def link ctermSymbols Special -hi def link ctermString String -hi def link ctermTodo Todo -hi def link ctermOperator Statement -hi def link ctermNumber Number - -" redefine the colors -"hi PreConditBold term=bold ctermfg=1 cterm=bold guifg=Purple gui=bold -"hi Special term=bold ctermfg=6 guifg=SlateBlue gui=underline - - -let b:current_syntax = "cterm" - -" vim: ts=8 diff --git a/uvim/runtime/syntax/ctrlh.mnv b/uvim/runtime/syntax/ctrlh.mnv new file mode 100644 index 0000000000..ff7b6750ed --- /dev/null +++ b/uvim/runtime/syntax/ctrlh.mnv @@ -0,0 +1,24 @@ +" MNV syntax file +" Language: CTRL-H (e.g., ASCII manpages) +" Maintainer: The MNV Project +" Last Change: 2023 Aug 10 +" Former Maintainer: Bram Moolenaar + +" Existing syntax is kept, this file can be used as an addition + +" Recognize underlined text: _^Hx +syntax match CtrlHUnderline /_\b./ contains=CtrlHHide + +" Recognize bold text: x^Hx +syntax match CtrlHBold /\(.\)\b\1/ contains=CtrlHHide + +" Hide the CTRL-H (backspace) +syntax match CtrlHHide /.\b/ contained + +" Define the default highlighting. +" Only used when an item doesn't have highlighting yet +hi def link CtrlHHide Ignore +hi def CtrlHUnderline term=underline cterm=underline gui=underline +hi def CtrlHBold term=bold cterm=bold gui=bold + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/ctrlh.vim b/uvim/runtime/syntax/ctrlh.vim deleted file mode 100644 index b34f335785..0000000000 --- a/uvim/runtime/syntax/ctrlh.vim +++ /dev/null @@ -1,24 +0,0 @@ -" Vim syntax file -" Language: CTRL-H (e.g., ASCII manpages) -" Maintainer: The Vim Project -" Last Change: 2023 Aug 10 -" Former Maintainer: Bram Moolenaar - -" Existing syntax is kept, this file can be used as an addition - -" Recognize underlined text: _^Hx -syntax match CtrlHUnderline /_\b./ contains=CtrlHHide - -" Recognize bold text: x^Hx -syntax match CtrlHBold /\(.\)\b\1/ contains=CtrlHHide - -" Hide the CTRL-H (backspace) -syntax match CtrlHHide /.\b/ contained - -" Define the default highlighting. -" Only used when an item doesn't have highlighting yet -hi def link CtrlHHide Ignore -hi def CtrlHUnderline term=underline cterm=underline gui=underline -hi def CtrlHBold term=bold cterm=bold gui=bold - -" vim: ts=8 diff --git a/uvim/runtime/syntax/cucumber.mnv b/uvim/runtime/syntax/cucumber.mnv new file mode 100644 index 0000000000..241e9c3f5e --- /dev/null +++ b/uvim/runtime/syntax/cucumber.mnv @@ -0,0 +1,170 @@ +" MNV syntax file +" Language: Cucumber +" Maintainer: Tim Pope +" Filenames: *.feature +" Last Change: 2023 Dec 28 + +if exists("b:current_syntax") + finish +endif +let s:keepcpo= &cpo +set cpo&mnv + +syn case match +syn sync minlines=20 + +let g:cucumber_languages = { + \"en": {"and": "And\\>", "background": "Background", "but": "But\\>", "examples": "Scenarios\\|Examples", "feature": "Business Need\\|Feature\\|Ability", "given": "Given\\>", "rule": "Rule", "scenario": "Scenario\\|Example", "scenario_outline": "Scenario Template\\|Scenario Outline", "then": "Then\\>", "when": "When\\>"}, + \"af": {"and": "En\\>", "background": "Agtergrond", "but": "Maar\\>", "examples": "Voorbeelde", "feature": "Besigheid Behoefte\\|Funksie\\|Vermo\\%u00eb", "given": "Gegewe\\>", "rule": "Regel", "scenario": "Voorbeeld\\|Situasie", "scenario_outline": "Situasie Uiteensetting", "then": "Dan\\>", "when": "Wanneer\\>"}, + \"am": {"and": "\\%u0535\\%u057e\\>", "background": "\\%u053f\\%u0578\\%u0576\\%u057f\\%u0565\\%u0584\\%u057d\\%u057f", "but": "\\%u0532\\%u0561\\%u0575\\%u0581\\>", "examples": "\\%u0555\\%u0580\\%u056b\\%u0576\\%u0561\\%u056f\\%u0576\\%u0565\\%u0580", "feature": "\\%u0556\\%u0578\\%u0582\\%u0576\\%u056f\\%u0581\\%u056b\\%u0578\\%u0576\\%u0561\\%u056c\\%u0578\\%u0582\\%u0569\\%u0575\\%u0578\\%u0582\\%u0576\\|\\%u0540\\%u0561\\%u057f\\%u056f\\%u0578\\%u0582\\%u0569\\%u0575\\%u0578\\%u0582\\%u0576", "given": "\\%u0534\\%u056b\\%u0581\\%u0578\\%u0582\\%u0584\\>", "rule": "Rule", "scenario": "\\%u0555\\%u0580\\%u056b\\%u0576\\%u0561\\%u056f\\|\\%u054d\\%u0581\\%u0565\\%u0576\\%u0561\\%u0580", "scenario_outline": "\\%u054d\\%u0581\\%u0565\\%u0576\\%u0561\\%u0580\\%u056b \\%u056f\\%u0561\\%u057c\\%u0578\\%u0582\\%u0581\\%u057e\\%u0561\\%u0581\\%u0584\\%u0568", "then": "\\%u0531\\%u057a\\%u0561\\>", "when": "\\%u0535\\%u0569\\%u0565\\>\\|\\%u0535\\%u0580\\%u0562\\>"}, + \"amh": {"and": "\\%u12a5\\%u1293\\>", "background": "\\%u1245\\%u12f5\\%u1218 \\%u1201\\%u1294\\%u1273\\|\\%u1218\\%u1290\\%u123b \\%u1200\\%u1233\\%u1265\\|\\%u1218\\%u1290\\%u123b", "but": "\\%u130d\\%u1295\\>", "examples": "\\%u121d\\%u1233\\%u120c\\%u12ce\\%u127d\\|\\%u1201\\%u1293\\%u1274\\%u12ce\\%u127d", "feature": "\\%u12e8\\%u121a\\%u1348\\%u1208\\%u1308\\%u12cd \\%u12f5\\%u122d\\%u130a\\%u1275\\|\\%u12e8\\%u1270\\%u1348\\%u1208\\%u1308\\%u12cd \\%u1235\\%u122b\\|\\%u1235\\%u122b", "given": "\\%u12e8\\%u1270\\%u1230\\%u1320\\>", "rule": "\\%u1205\\%u130d", "scenario": "\\%u121d\\%u1233\\%u120c\\|\\%u1201\\%u1293\\%u1274", "scenario_outline": "\\%u1201\\%u1293\\%u1274 \\%u12dd\\%u122d\\%u12dd\\%u122d\\|\\%u1201\\%u1293\\%u1274 \\%u12a0\\%u1265\\%u1290\\%u1275", "then": "\\%u12a8\\%u12da\\%u12eb\\>", "when": "\\%u1218\\%u127c\\>"}, + \"an": {"and": "Y\\>\\|E\\>", "background": "Antecedents", "but": "Pero\\>", "examples": "Eixemplos", "feature": "Caracteristica", "given": "Dadas\\>\\|Dada\\>\\|Daus\\>\\|Dau\\>", "rule": "Rule", "scenario": "Eixemplo\\|Caso", "scenario_outline": "Esquema del caso", "then": "Antonces\\>\\|Alavez\\>\\|Allora\\>", "when": "Cuan\\>"}, + \"ar": {"and": "\\%u0648\\>", "background": "\\%u0627\\%u0644\\%u062e\\%u0644\\%u0641\\%u064a\\%u0629", "but": "\\%u0644\\%u0643\\%u0646\\>", "examples": "\\%u0627\\%u0645\\%u062b\\%u0644\\%u0629", "feature": "\\%u062e\\%u0627\\%u0635\\%u064a\\%u0629", "given": "\\%u0628\\%u0641\\%u0631\\%u0636\\>", "rule": "Rule", "scenario": "\\%u0633\\%u064a\\%u0646\\%u0627\\%u0631\\%u064a\\%u0648\\|\\%u0645\\%u062b\\%u0627\\%u0644", "scenario_outline": "\\%u0633\\%u064a\\%u0646\\%u0627\\%u0631\\%u064a\\%u0648 \\%u0645\\%u062e\\%u0637\\%u0637", "then": "\\%u0627\\%u0630\\%u0627\\%u064b\\>\\|\\%u062b\\%u0645\\>", "when": "\\%u0639\\%u0646\\%u062f\\%u0645\\%u0627\\>\\|\\%u0645\\%u062a\\%u0649\\>"}, + \"ast": {"and": "Ya\\>\\|Y\\>", "background": "Antecedentes", "but": "Peru\\>", "examples": "Exemplos", "feature": "Carauter\\%u00edstica", "given": "Dada\\>\\|Daos\\>\\|Daes\\>\\|D\\%u00e1u\\>", "rule": "Rule", "scenario": "Exemplo\\|Casu", "scenario_outline": "Esbozu del casu", "then": "Ent\\%u00f3s\\>", "when": "Cuando\\>"}, + \"az": {"and": "H\\%u0259m\\>\\|V\\%u0259\\>", "background": "Kontekst\\|Ke\\%u00e7mi\\%u015f", "but": "Ancaq\\>\\|Amma\\>", "examples": "N\\%u00fcmun\\%u0259l\\%u0259r", "feature": "\\%u00d6z\\%u0259llik", "given": "Tutaq ki\\>\\|Verilir\\>", "rule": "Rule", "scenario": "Ssenari\\|N\\%u00fcmun\\%u0259", "scenario_outline": "Ssenarinin strukturu", "then": "O halda\\>", "when": "N\\%u0259 vaxt ki\\>\\|\\%u018fg\\%u0259r\\>"}, + \"bg": {"and": "\\%u0418\\>", "background": "\\%u041f\\%u0440\\%u0435\\%u0434\\%u0438\\%u0441\\%u0442\\%u043e\\%u0440\\%u0438\\%u044f", "but": "\\%u041d\\%u043e\\>", "examples": "\\%u041f\\%u0440\\%u0438\\%u043c\\%u0435\\%u0440\\%u0438", "feature": "\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446\\%u0438\\%u043e\\%u043d\\%u0430\\%u043b\\%u043d\\%u043e\\%u0441\\%u0442", "given": "\\%u0414\\%u0430\\%u0434\\%u0435\\%u043d\\%u043e\\>", "rule": "\\%u041f\\%u0440\\%u0430\\%u0432\\%u0438\\%u043b\\%u043e", "scenario": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0439\\|\\%u041f\\%u0440\\%u0438\\%u043c\\%u0435\\%u0440", "scenario_outline": "\\%u0420\\%u0430\\%u043c\\%u043a\\%u0430 \\%u043d\\%u0430 \\%u0441\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0439", "then": "\\%u0422\\%u043e\\>", "when": "\\%u041a\\%u043e\\%u0433\\%u0430\\%u0442\\%u043e\\>"}, + \"bm": {"and": "Dan\\>", "background": "Latar Belakang", "but": "Tetapi\\>\\|Tapi\\>", "examples": "Contoh", "feature": "Fungsi", "given": "Diberi\\>\\|Bagi\\>", "rule": "Rule", "scenario": "Senario\\|Situasi\\|Keadaan", "scenario_outline": "Garis Panduan Senario\\|Kerangka Senario\\|Kerangka Situasi\\|Kerangka Keadaan", "then": "Kemudian\\>\\|Maka\\>", "when": "Apabila\\>"}, + \"bs": {"and": "I\\>\\|A\\>", "background": "Pozadina", "but": "Ali\\>", "examples": "Primjeri", "feature": "Karakteristika", "given": "Dato\\>", "rule": "Rule", "scenario": "Scenariju\\|Scenario\\|Primjer", "scenario_outline": "Scenario-outline\\|Scenariju-obris", "then": "Zatim\\>", "when": "Kada\\>"}, + \"ca": {"and": "I\\>", "background": "Antecedents\\|Rerefons", "but": "Per\\%u00f2\\>", "examples": "Exemples", "feature": "Caracter\\%u00edstica\\|Funcionalitat", "given": "Donada\\>\\|Donat\\>\\|Atesa\\>\\|At\\%u00e8s\\>", "rule": "Rule", "scenario": "Escenari\\|Exemple", "scenario_outline": "Esquema de l'escenari", "then": "Aleshores\\>\\|Cal\\>", "when": "Quan\\>"}, + \"cs": {"and": "A tak\\%u00e9\\>\\|A\\>", "background": "Kontext\\|Pozad\\%u00ed", "but": "Ale\\>", "examples": "P\\%u0159\\%u00edklady", "feature": "Po\\%u017eadavek", "given": "Za p\\%u0159edpokladu\\>\\|Pokud\\>", "rule": "Pravidlo", "scenario": "P\\%u0159\\%u00edklad\\|Sc\\%u00e9n\\%u00e1\\%u0159", "scenario_outline": "Osnova sc\\%u00e9n\\%u00e1\\%u0159e\\|N\\%u00e1\\%u010drt Sc\\%u00e9n\\%u00e1\\%u0159e", "then": "Pak\\>", "when": "Kdy\\%u017e\\>"}, + \"cy-GB": {"and": "A\\>", "background": "Cefndir", "but": "Ond\\>", "examples": "Enghreifftiau", "feature": "Arwedd", "given": "Anrhegedig a\\>", "rule": "Rule", "scenario": "Enghraifft\\|Scenario", "scenario_outline": "Scenario Amlinellol", "then": "Yna\\>", "when": "Pryd\\>"}, + \"da": {"and": "Og\\>", "background": "Baggrund", "but": "Men\\>", "examples": "Eksempler", "feature": "Egenskab", "given": "Givet\\>", "rule": "Rule", "scenario": "Eksempel\\|Scenarie", "scenario_outline": "Abstrakt Scenario", "then": "S\\%u00e5\\>", "when": "N\\%u00e5r\\>"}, + \"de": {"and": "Und\\>", "background": "Voraussetzungen\\|Vorbedingungen\\|Hintergrund\\|Grundlage", "but": "Aber\\>", "examples": "Beispiele", "feature": "Funktionalit\\%u00e4t\\|Funktion", "given": "Gegeben seien\\>\\|Gegeben sei\\>\\|Angenommen\\>", "rule": "Regel\\|Rule", "scenario": "Beispiel\\|Szenario", "scenario_outline": "Szenariogrundriss\\|Szenarien", "then": "Dann\\>", "when": "Wenn\\>"}, + \"el": {"and": "\\%u039a\\%u03b1\\%u03b9\\>", "background": "\\%u03a5\\%u03c0\\%u03cc\\%u03b2\\%u03b1\\%u03b8\\%u03c1\\%u03bf", "but": "\\%u0391\\%u03bb\\%u03bb\\%u03ac\\>", "examples": "\\%u03a0\\%u03b1\\%u03c1\\%u03b1\\%u03b4\\%u03b5\\%u03af\\%u03b3\\%u03bc\\%u03b1\\%u03c4\\%u03b1\\|\\%u03a3\\%u03b5\\%u03bd\\%u03ac\\%u03c1\\%u03b9\\%u03b1", "feature": "\\%u0394\\%u03c5\\%u03bd\\%u03b1\\%u03c4\\%u03cc\\%u03c4\\%u03b7\\%u03c4\\%u03b1\\|\\%u039b\\%u03b5\\%u03b9\\%u03c4\\%u03bf\\%u03c5\\%u03c1\\%u03b3\\%u03af\\%u03b1", "given": "\\%u0394\\%u03b5\\%u03b4\\%u03bf\\%u03bc\\%u03ad\\%u03bd\\%u03bf\\%u03c5\\>", "rule": "Rule", "scenario": "\\%u03a0\\%u03b1\\%u03c1\\%u03ac\\%u03b4\\%u03b5\\%u03b9\\%u03b3\\%u03bc\\%u03b1\\|\\%u03a3\\%u03b5\\%u03bd\\%u03ac\\%u03c1\\%u03b9\\%u03bf", "scenario_outline": "\\%u03a0\\%u03b5\\%u03c1\\%u03af\\%u03b3\\%u03c1\\%u03b1\\%u03bc\\%u03bc\\%u03b1 \\%u03a3\\%u03b5\\%u03bd\\%u03b1\\%u03c1\\%u03af\\%u03bf\\%u03c5\\|\\%u03a0\\%u03b5\\%u03c1\\%u03b9\\%u03b3\\%u03c1\\%u03b1\\%u03c6\\%u03ae \\%u03a3\\%u03b5\\%u03bd\\%u03b1\\%u03c1\\%u03af\\%u03bf\\%u03c5", "then": "\\%u03a4\\%u03cc\\%u03c4\\%u03b5\\>", "when": "\\%u038c\\%u03c4\\%u03b1\\%u03bd\\>"}, + \"em": {"and": "\\%u1f602", "background": "\\%u1f4a4", "but": "\\%u1f614", "examples": "\\%u1f4d3", "feature": "\\%u1f4da", "given": "\\%u1f610", "rule": "Rule", "scenario": "\\%u1f952\\|\\%u1f4d5", "scenario_outline": "\\%u1f4d6", "then": "\\%u1f64f", "when": "\\%u1f3ac"}, + \"en-Scouse": {"and": "An\\>", "background": "Dis is what went down", "but": "Buh\\>", "examples": "Examples", "feature": "Feature", "given": "Youse know when youse got\\>\\|Givun\\>", "rule": "Rule", "scenario": "The thing of it is", "scenario_outline": "Wharrimean is", "then": "Den youse gotta\\>\\|Dun\\>", "when": "Youse know like when\\>\\|Wun\\>"}, + \"en-au": {"and": "Too right\\>", "background": "First off", "but": "Yeah nah\\>", "examples": "You'll wanna", "feature": "Pretty much", "given": "Y'know\\>", "rule": "Rule", "scenario": "Awww, look mate", "scenario_outline": "Reckon it's like", "then": "But at the end of the day I reckon\\>", "when": "It's just unbelievable\\>"}, + \"en-lol": {"and": "AN\\>", "background": "B4", "but": "BUT\\>", "examples": "EXAMPLZ", "feature": "OH HAI", "given": "I CAN HAZ\\>", "rule": "Rule", "scenario": "MISHUN", "scenario_outline": "MISHUN SRSLY", "then": "DEN\\>", "when": "WEN\\>"}, + \"en-old": {"and": "Ond\\>\\|7\\>", "background": "Aer\\|\\%u00c6r", "but": "Ac\\>", "examples": "Se the\\|Se \\%u00fee\\|Se \\%u00f0e", "feature": "Hwaet\\|Hw\\%u00e6t", "given": "Thurh\\>\\|\\%u00deurh\\>\\|\\%u00d0urh\\>", "rule": "Rule", "scenario": "Swa", "scenario_outline": "Swa hwaer swa\\|Swa hw\\%u00e6r swa", "then": "Tha the\\>\\|\\%u00dea \\%u00fee\\>\\|\\%u00d0a \\%u00f0e\\>\\|Tha\\>\\|\\%u00dea\\>\\|\\%u00d0a\\>", "when": "B\\%u00e6\\%u00fesealfa\\>\\|B\\%u00e6\\%u00fesealfe\\>\\|B\\%u00e6\\%u00fesealf\\>\\|Ciric\\%u00e6we\\>\\|Ciric\\%u00e6wa\\>\\|Ciric\\%u00e6w\\>"}, + \"en-pirate": {"and": "Aye\\>", "background": "Yo-ho-ho", "but": "Avast!\\>", "examples": "Dead men tell no tales", "feature": "Ahoy matey!", "given": "Gangway!\\>", "rule": "Rule", "scenario": "Heave to", "scenario_outline": "Shiver me timbers", "then": "Let go and haul\\>", "when": "Blimey!\\>"}, + \"en-tx": {"and": "Come hell or high water\\>", "background": "Lemme tell y'all a story", "but": "Well now hold on, I'll you what\\>", "examples": "Now that's a story longer than a cattle drive in July", "feature": "This ain\\%u2019t my first rodeo\\|All gussied up", "given": "All git out\\>\\|Fixin' to\\>", "rule": "Rule\\>", "scenario": "All hat and no cattle", "scenario_outline": "Busy as a hound in flea season\\|Serious as a snake bite", "then": "There\\%u2019s no tree but bears some fruit\\>", "when": "Quick out of the chute\\>"}, + \"eo": {"and": "Kaj\\>", "background": "Fono", "but": "Sed\\>", "examples": "Ekzemploj", "feature": "Trajto", "given": "Donita\\%u0135o\\>\\|Komence\\>", "rule": "Rule", "scenario": "Ekzemplo\\|Scenaro\\|Kazo", "scenario_outline": "Konturo de la scenaro\\|Kazo-skizo\\|Skizo", "then": "Do\\>", "when": "Se\\>"}, + \"es": {"and": "Y\\>\\|E\\>", "background": "Antecedentes", "but": "Pero\\>", "examples": "Ejemplos", "feature": "Necesidad del negocio\\|Caracter\\%u00edstica\\|Requisito", "given": "Dados\\>\\|Dadas\\>\\|Dado\\>\\|Dada\\>", "rule": "Regla de negocio\\|Regla", "scenario": "Escenario\\|Ejemplo", "scenario_outline": "Esquema del escenario", "then": "Entonces\\>", "when": "Cuando\\>"}, + \"et": {"and": "Ja\\>", "background": "Taust", "but": "Kuid\\>", "examples": "Juhtumid", "feature": "Omadus", "given": "Eeldades\\>", "rule": "Reegel", "scenario": "Stsenaarium\\|Juhtum", "scenario_outline": "Raamstsenaarium\\|Raamjuhtum", "then": "Siis\\>", "when": "Kui\\>"}, + \"fa": {"and": "\\%u0648\\>", "background": "\\%u0632\\%u0645\\%u06cc\\%u0646\\%u0647", "but": "\\%u0627\\%u0645\\%u0627\\>", "examples": "\\%u0646\\%u0645\\%u0648\\%u0646\\%u0647 \\%u0647\\%u0627", "feature": "\\%u0648\\%u0650\\%u06cc\\%u0698\\%u06af\\%u06cc", "given": "\\%u0628\\%u0627 \\%u0641\\%u0631\\%u0636\\>", "rule": "Rule", "scenario": "\\%u0633\\%u0646\\%u0627\\%u0631\\%u06cc\\%u0648\\|\\%u0645\\%u062b\\%u0627\\%u0644", "scenario_outline": "\\%u0627\\%u0644\\%u06af\\%u0648\\%u06cc \\%u0633\\%u0646\\%u0627\\%u0631\\%u06cc\\%u0648", "then": "\\%u0622\\%u0646\\%u06af\\%u0627\\%u0647\\>", "when": "\\%u0647\\%u0646\\%u06af\\%u0627\\%u0645\\%u06cc\\>"}, + \"fi": {"and": "Ja\\>", "background": "Tausta", "but": "Mutta\\>", "examples": "Tapaukset", "feature": "Ominaisuus", "given": "Oletetaan\\>", "rule": "Rule", "scenario": "Tapaus", "scenario_outline": "Tapausaihio", "then": "Niin\\>", "when": "Kun\\>"}, + \"fr": {"and": "Et que\\>\\|Et qu'\\|Et\\>", "background": "Contexte", "but": "Mais que\\>\\|Mais qu'\\|Mais\\>", "examples": "Exemples", "feature": "Fonctionnalit\\%u00e9", "given": "Etant donn\\%u00e9 que\\>\\|\\%u00c9tant donn\\%u00e9 que\\>\\|Etant donn\\%u00e9 qu'\\|\\%u00c9tant donn\\%u00e9 qu'\\|Etant donn\\%u00e9es\\>\\|\\%u00c9tant donn\\%u00e9es\\>\\|Etant donn\\%u00e9e\\>\\|Etant donn\\%u00e9s\\>\\|\\%u00c9tant donn\\%u00e9e\\>\\|\\%u00c9tant donn\\%u00e9s\\>\\|Sachant que\\>\\|Etant donn\\%u00e9\\>\\|\\%u00c9tant donn\\%u00e9\\>\\|Sachant qu'\\|Sachant\\>\\|Soit\\>", "rule": "R\\%u00e8gle", "scenario": "Sc\\%u00e9nario\\|Exemple", "scenario_outline": "Plan du sc\\%u00e9nario\\|Plan du Sc\\%u00e9nario", "then": "Alors\\>\\|Donc\\>", "when": "Lorsque\\>\\|Lorsqu'\\|Quand\\>"}, + \"ga": {"and": "Agus", "background": "C\\%u00falra", "but": "Ach", "examples": "Sampla\\%u00ed", "feature": "Gn\\%u00e9", "given": "Cuir i gc\\%u00e1s nach\\|Cuir i gc\\%u00e1s gur\\|Cuir i gc\\%u00e1s n\\%u00e1r\\|Cuir i gc\\%u00e1s go", "rule": "Rule", "scenario": "Sampla\\|C\\%u00e1s", "scenario_outline": "C\\%u00e1s Achomair", "then": "Ansin", "when": "Nuair nach\\|Nuair n\\%u00e1r\\|Nuair ba\\|Nuair a"}, + \"gj": {"and": "\\%u0a85\\%u0aa8\\%u0ac7\\>", "background": "\\%u0aac\\%u0ac7\\%u0a95\\%u0a97\\%u0acd\\%u0ab0\\%u0abe\\%u0a89\\%u0aa8\\%u0acd\\%u0aa1", "but": "\\%u0aaa\\%u0aa3\\>", "examples": "\\%u0a89\\%u0aa6\\%u0abe\\%u0ab9\\%u0ab0\\%u0aa3\\%u0acb", "feature": "\\%u0ab5\\%u0acd\\%u0aaf\\%u0abe\\%u0aaa\\%u0abe\\%u0ab0 \\%u0a9c\\%u0ab0\\%u0ac2\\%u0ab0\\|\\%u0a95\\%u0acd\\%u0ab7\\%u0aae\\%u0aa4\\%u0abe\\|\\%u0ab2\\%u0a95\\%u0acd\\%u0ab7\\%u0aa3", "given": "\\%u0a86\\%u0aaa\\%u0ac7\\%u0ab2 \\%u0a9b\\%u0ac7\\>", "rule": "Rule", "scenario": "\\%u0a89\\%u0aa6\\%u0abe\\%u0ab9\\%u0ab0\\%u0aa3\\|\\%u0ab8\\%u0acd\\%u0aa5\\%u0abf\\%u0aa4\\%u0abf", "scenario_outline": "\\%u0aaa\\%u0ab0\\%u0abf\\%u0aa6\\%u0acd\\%u0aa6\\%u0ab6\\%u0acd\\%u0aaf \\%u0ab0\\%u0ac2\\%u0aaa\\%u0ab0\\%u0ac7\\%u0a96\\%u0abe\\|\\%u0aaa\\%u0ab0\\%u0abf\\%u0aa6\\%u0acd\\%u0aa6\\%u0ab6\\%u0acd\\%u0aaf \\%u0aa2\\%u0abe\\%u0a82\\%u0a9a\\%u0acb", "then": "\\%u0aaa\\%u0a9b\\%u0ac0\\>", "when": "\\%u0a95\\%u0acd\\%u0aaf\\%u0abe\\%u0ab0\\%u0ac7\\>"}, + \"gl": {"and": "E\\>", "background": "Contexto", "but": "Mais\\>\\|Pero\\>", "examples": "Exemplos", "feature": "Caracter\\%u00edstica", "given": "Dados\\>\\|Dadas\\>\\|Dado\\>\\|Dada\\>", "rule": "Rule", "scenario": "Escenario\\|Exemplo", "scenario_outline": "Esbozo do escenario", "then": "Ent\\%u00f3n\\>\\|Logo\\>", "when": "Cando\\>"}, + \"he": {"and": "\\%u05d5\\%u05d2\\%u05dd\\>", "background": "\\%u05e8\\%u05e7\\%u05e2", "but": "\\%u05d0\\%u05d1\\%u05dc\\>", "examples": "\\%u05d3\\%u05d5\\%u05d2\\%u05de\\%u05d0\\%u05d5\\%u05ea", "feature": "\\%u05ea\\%u05db\\%u05d5\\%u05e0\\%u05d4", "given": "\\%u05d1\\%u05d4\\%u05d9\\%u05e0\\%u05ea\\%u05df\\>", "rule": "\\%u05db\\%u05dc\\%u05dc", "scenario": "\\%u05d3\\%u05d5\\%u05d2\\%u05de\\%u05d0\\|\\%u05ea\\%u05e8\\%u05d7\\%u05d9\\%u05e9", "scenario_outline": "\\%u05ea\\%u05d1\\%u05e0\\%u05d9\\%u05ea \\%u05ea\\%u05e8\\%u05d7\\%u05d9\\%u05e9", "then": "\\%u05d0\\%u05d6\\%u05d9\\>\\|\\%u05d0\\%u05d6\\>", "when": "\\%u05db\\%u05d0\\%u05e9\\%u05e8\\>"}, + \"hi": {"and": "\\%u0924\\%u0925\\%u093e\\>\\|\\%u0914\\%u0930\\>", "background": "\\%u092a\\%u0943\\%u0937\\%u094d\\%u0920\\%u092d\\%u0942\\%u092e\\%u093f", "but": "\\%u092a\\%u0930\\%u0928\\%u094d\\%u0924\\%u0941\\>\\|\\%u0915\\%u093f\\%u0928\\%u094d\\%u0924\\%u0941\\>\\|\\%u092a\\%u0930\\>", "examples": "\\%u0909\\%u0926\\%u093e\\%u0939\\%u0930\\%u0923", "feature": "\\%u0930\\%u0942\\%u092a \\%u0932\\%u0947\\%u0916", "given": "\\%u091a\\%u0942\\%u0902\\%u0915\\%u093f\\>\\|\\%u0905\\%u0917\\%u0930\\>\\|\\%u092f\\%u0926\\%u093f\\>", "rule": "\\%u0928\\%u093f\\%u092f\\%u092e", "scenario": "\\%u092a\\%u0930\\%u093f\\%u0926\\%u0943\\%u0936\\%u094d\\%u092f", "scenario_outline": "\\%u092a\\%u0930\\%u093f\\%u0926\\%u0943\\%u0936\\%u094d\\%u092f \\%u0930\\%u0942\\%u092a\\%u0930\\%u0947\\%u0916\\%u093e", "then": "\\%u0924\\%u0926\\%u093e\\>\\|\\%u0924\\%u092c\\>", "when": "\\%u0915\\%u0926\\%u093e\\>\\|\\%u091c\\%u092c\\>"}, + \"hr": {"and": "I\\>", "background": "Pozadina", "but": "Ali\\>", "examples": "Scenariji\\|Primjeri", "feature": "Mogu\\%u0107nost\\|Mogucnost\\|Osobina", "given": "Ukoliko\\>\\|Zadani\\>\\|Zadano\\>\\|Zadan\\>", "rule": "Rule", "scenario": "Scenarij\\|Primjer", "scenario_outline": "Koncept\\|Skica", "then": "Onda\\>", "when": "Kada\\>\\|Kad\\>"}, + \"ht": {"and": "Epi\\>\\|Ak\\>\\|E\\>", "background": "Kont\\%u00e8ks\\|Istorik", "but": "Men\\>", "examples": "Egzanp", "feature": "Karakteristik\\|Fonksyonalite\\|Mak", "given": "Sipoze ke\\>\\|Sipoze Ke\\>\\|Sipoze\\>", "rule": "Rule", "scenario": "Senaryo", "scenario_outline": "Senaryo deskripsyon\\|Senaryo Deskripsyon\\|Dyagram senaryo\\|Dyagram Senaryo\\|Plan senaryo\\|Plan Senaryo", "then": "L\\%u00e8 sa a\\>\\|Le sa a\\>", "when": "L\\%u00e8\\>\\|Le\\>"}, + \"hu": {"and": "\\%u00c9s\\>", "background": "H\\%u00e1tt\\%u00e9r", "but": "De\\>", "examples": "P\\%u00e9ld\\%u00e1k", "feature": "Jellemz\\%u0151", "given": "Amennyiben\\>\\|Adott\\>", "rule": "Szab\\%u00e1ly", "scenario": "Forgat\\%u00f3k\\%u00f6nyv\\|P\\%u00e9lda", "scenario_outline": "Forgat\\%u00f3k\\%u00f6nyv v\\%u00e1zlat", "then": "Akkor\\>", "when": "Amikor\\>\\|Majd\\>\\|Ha\\>"}, + \"id": {"and": "Dan\\>", "background": "Latar Belakang\\|Dasar", "but": "Tetapi\\>\\|Tapi\\>", "examples": "Contoh\\|Misal", "feature": "Fitur", "given": "Diasumsikan\\>\\|Diketahui\\>\\|Dengan\\>\\|Bila\\>\\|Jika\\>", "rule": "Aturan\\|Rule", "scenario": "Skenario", "scenario_outline": "Garis-Besar Skenario\\|Skenario konsep", "then": "Kemudian\\>\\|Maka\\>", "when": "Ketika\\>"}, + \"is": {"and": "Og\\>", "background": "Bakgrunnur", "but": "En\\>", "examples": "Atbur\\%u00f0ar\\%u00e1sir\\|D\\%u00e6mi", "feature": "Eiginleiki", "given": "Ef\\>", "rule": "Rule", "scenario": "Atbur\\%u00f0ar\\%u00e1s", "scenario_outline": "L\\%u00fdsing Atbur\\%u00f0ar\\%u00e1sar\\|L\\%u00fdsing D\\%u00e6ma", "then": "\\%u00de\\%u00e1\\>", "when": "\\%u00deegar\\>"}, + \"it": {"and": "E\\>", "background": "Contesto", "but": "Ma\\>", "examples": "Esempi", "feature": "Esigenza di Business\\|Funzionalit\\%u00e0\\|Abilit\\%u00e0", "given": "Dato\\>\\|Data\\>\\|Dati\\>\\|Date\\>", "rule": "Regola", "scenario": "Scenario\\|Esempio", "scenario_outline": "Schema dello scenario", "then": "Allora\\>", "when": "Quando\\>"}, + \"ja": {"and": "\\%u4e14\\%u3064\\|\\%u304b\\%u3064", "background": "\\%u80cc\\%u666f", "but": "\\%u3057\\%u304b\\%u3057\\|\\%u305f\\%u3060\\%u3057\\|\\%u7136\\%u3057\\|\\%u4f46\\%u3057", "examples": "\\%u30b5\\%u30f3\\%u30d7\\%u30eb\\|\\%u4f8b", "feature": "\\%u30d5\\%u30a3\\%u30fc\\%u30c1\\%u30e3\\|\\%u6a5f\\%u80fd", "given": "\\%u524d\\%u63d0", "rule": "\\%u30eb\\%u30fc\\%u30eb", "scenario": "\\%u30b7\\%u30ca\\%u30ea\\%u30aa", "scenario_outline": "\\%u30b7\\%u30ca\\%u30ea\\%u30aa\\%u30a2\\%u30a6\\%u30c8\\%u30e9\\%u30a4\\%u30f3\\|\\%u30b7\\%u30ca\\%u30ea\\%u30aa\\%u30c6\\%u30f3\\%u30d7\\%u30ec\\%u30fc\\%u30c8\\|\\%u30b7\\%u30ca\\%u30ea\\%u30aa\\%u30c6\\%u30f3\\%u30d7\\%u30ec\\|\\%u30c6\\%u30f3\\%u30d7\\%u30ec", "then": "\\%u306a\\%u3089\\%u3070", "when": "\\%u3082\\%u3057"}, + \"jv": {"and": "Lan\\>", "background": "Dasar", "but": "Ananging\\>\\|Nanging\\>\\|Tapi\\>", "examples": "Contone\\|Conto", "feature": "Fitur", "given": "Nalikaning\\>\\|Nalika\\>", "rule": "Rule", "scenario": "Skenario", "scenario_outline": "Konsep skenario", "then": "Banjur\\>\\|Njuk\\>", "when": "Manawa\\>\\|Menawa\\>"}, + \"ka": {"and": "\\%u10d0\\%u10e1\\%u10d4\\%u10d5\\%u10d4\\>\\|\\%u10d3\\%u10d0\\>", "background": "\\%u10d9\\%u10dd\\%u10dc\\%u10e2\\%u10d4\\%u10e5\\%u10e1\\%u10e2\\%u10d8", "but": "\\%u10db\\%u10d0\\%u10d2\\%u10e0\\%u10d0\\%u10db\\>\\|\\%u10d7\\%u10e3\\%u10db\\%u10ea\\%u10d0\\>", "examples": "\\%u10db\\%u10d0\\%u10d2\\%u10d0\\%u10da\\%u10d8\\%u10d7\\%u10d4\\%u10d1\\%u10d8", "feature": "\\%u10db\\%u10dd\\%u10d7\\%u10ee\\%u10dd\\%u10d5\\%u10dc\\%u10d0\\|\\%u10d7\\%u10d5\\%u10d8\\%u10e1\\%u10d4\\%u10d1\\%u10d0", "given": "\\%u10db\\%u10dd\\%u10ea\\%u10d4\\%u10db\\%u10e3\\%u10da\\%u10d8\\%u10d0\\>\\|\\%u10db\\%u10dd\\%u10ea\\%u10d4\\%u10db\\%u10e3\\%u10da\\%u10d8\\>\\|\\%u10d5\\%u10d7\\%u10e5\\%u10d5\\%u10d0\\%u10d7\\>", "rule": "\\%u10ec\\%u10d4\\%u10e1\\%u10d8", "scenario": "\\%u10db\\%u10d0\\%u10d2\\%u10d0\\%u10da\\%u10d8\\%u10d7\\%u10d0\\%u10d3\\|\\%u10db\\%u10d0\\%u10d2\\%u10d0\\%u10da\\%u10d8\\%u10d7\\%u10d8\\|\\%u10e1\\%u10ea\\%u10d4\\%u10dc\\%u10d0\\%u10e0\\%u10d8\\|\\%u10db\\%u10d0\\%u10d2", "scenario_outline": "\\%u10e1\\%u10ea\\%u10d4\\%u10dc\\%u10d0\\%u10e0\\%u10d8\\%u10e1 \\%u10e8\\%u10d0\\%u10d1\\%u10da\\%u10dd\\%u10dc\\%u10d8\\|\\%u10e1\\%u10ea\\%u10d4\\%u10dc\\%u10d0\\%u10e0\\%u10d8\\%u10e1 \\%u10dc\\%u10d8\\%u10db\\%u10e3\\%u10e8\\%u10d8\\|\\%u10e8\\%u10d0\\%u10d1\\%u10da\\%u10dd\\%u10dc\\%u10d8\\|\\%u10dc\\%u10d8\\%u10db\\%u10e3\\%u10e8\\%u10d8", "then": "\\%u10db\\%u10d0\\%u10e8\\%u10d8\\%u10dc\\>", "when": "\\%u10e0\\%u10dd\\%u10d2\\%u10dd\\%u10e0\\%u10ea \\%u10d9\\%u10d8\\>\\|\\%u10e0\\%u10dd\\%u10d3\\%u10d4\\%u10e1\\%u10d0\\%u10ea\\>\\|\\%u10e0\\%u10dd\\%u10ea\\%u10d0\\>\\|\\%u10d7\\%u10e3\\>"}, + \"kn": {"and": "\\%u0cae\\%u0ca4\\%u0ccd\\%u0ca4\\%u0cc1\\>", "background": "\\%u0cb9\\%u0cbf\\%u0ca8\\%u0ccd\\%u0ca8\\%u0cc6\\%u0cb2\\%u0cc6", "but": "\\%u0c86\\%u0ca6\\%u0cb0\\%u0cc6\\>", "examples": "\\%u0c89\\%u0ca6\\%u0cbe\\%u0cb9\\%u0cb0\\%u0ca3\\%u0cc6\\%u0c97\\%u0cb3\\%u0cc1", "feature": "\\%u0cb9\\%u0cc6\\%u0c9a\\%u0ccd\\%u0c9a\\%u0cb3", "given": "\\%u0ca8\\%u0cbf\\%u0cd5\\%u0ca1\\%u0cbf\\%u0ca6\\>", "rule": "Rule", "scenario": "\\%u0c95\\%u0ca5\\%u0cbe\\%u0cb8\\%u0cbe\\%u0cb0\\%u0cbe\\%u0c82\\%u0cb6\\|\\%u0c89\\%u0ca6\\%u0cbe\\%u0cb9\\%u0cb0\\%u0ca3\\%u0cc6", "scenario_outline": "\\%u0cb5\\%u0cbf\\%u0cb5\\%u0cb0\\%u0ca3\\%u0cc6", "then": "\\%u0ca8\\%u0c82\\%u0ca4\\%u0cb0\\>", "when": "\\%u0cb8\\%u0ccd\\%u0ca5\\%u0cbf\\%u0ca4\\%u0cbf\\%u0caf\\%u0ca8\\%u0ccd\\%u0ca8\\%u0cc1\\>"}, + \"ko": {"and": "\\%uadf8\\%ub9ac\\%uace0", "background": "\\%ubc30\\%uacbd", "but": "\\%ud558\\%uc9c0\\%ub9cc\\|\\%ub2e8", "examples": "\\%uc608", "feature": "\\%uae30\\%ub2a5", "given": "\\%uc870\\%uac74\\|\\%uba3c\\%uc800", "rule": "Rule", "scenario": "\\%uc2dc\\%ub098\\%ub9ac\\%uc624", "scenario_outline": "\\%uc2dc\\%ub098\\%ub9ac\\%uc624 \\%uac1c\\%uc694", "then": "\\%uadf8\\%ub7ec\\%uba74", "when": "\\%ub9cc\\%uc77c\\|\\%ub9cc\\%uc57d"}, + \"lt": {"and": "Ir\\>", "background": "Kontekstas", "but": "Bet\\>", "examples": "Pavyzd\\%u017eiai\\|Scenarijai\\|Variantai", "feature": "Savyb\\%u0117", "given": "Duota\\>", "rule": "Rule", "scenario": "Scenarijus\\|Pavyzdys", "scenario_outline": "Scenarijaus \\%u0161ablonas", "then": "Tada\\>", "when": "Kai\\>"}, + \"lu": {"and": "an\\>\\|a\\>", "background": "Hannergrond", "but": "awer\\>\\|m\\%u00e4\\>", "examples": "Beispiller", "feature": "Funktionalit\\%u00e9it", "given": "ugeholl\\>", "rule": "Rule", "scenario": "Beispill\\|Szenario", "scenario_outline": "Plang vum Szenario", "then": "dann\\>", "when": "wann\\>"}, + \"lv": {"and": "Un\\>", "background": "Konteksts\\|Situ\\%u0101cija", "but": "Bet\\>", "examples": "Piem\\%u0113ri\\|Paraugs", "feature": "Funkcionalit\\%u0101te\\|F\\%u012b\\%u010da", "given": "Kad\\>", "rule": "Rule", "scenario": "Scen\\%u0101rijs\\|Piem\\%u0113rs", "scenario_outline": "Scen\\%u0101rijs p\\%u0113c parauga", "then": "Tad\\>", "when": "Ja\\>"}, + \"mk-Cyrl": {"and": "\\%u0418\\>", "background": "\\%u041a\\%u043e\\%u043d\\%u0442\\%u0435\\%u043a\\%u0441\\%u0442\\|\\%u0421\\%u043e\\%u0434\\%u0440\\%u0436\\%u0438\\%u043d\\%u0430", "but": "\\%u041d\\%u043e\\>", "examples": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0458\\%u0430\\|\\%u041f\\%u0440\\%u0438\\%u043c\\%u0435\\%u0440\\%u0438", "feature": "\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446\\%u0438\\%u043e\\%u043d\\%u0430\\%u043b\\%u043d\\%u043e\\%u0441\\%u0442\\|\\%u0411\\%u0438\\%u0437\\%u043d\\%u0438\\%u0441 \\%u043f\\%u043e\\%u0442\\%u0440\\%u0435\\%u0431\\%u0430\\|\\%u041c\\%u043e\\%u0436\\%u043d\\%u043e\\%u0441\\%u0442", "given": "\\%u0414\\%u0430\\%u0434\\%u0435\\%u043d\\%u043e\\>\\|\\%u0414\\%u0430\\%u0434\\%u0435\\%u043d\\%u0430\\>", "rule": "Rule", "scenario": "\\%u041d\\%u0430 \\%u043f\\%u0440\\%u0438\\%u043c\\%u0435\\%u0440\\|\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u043e\\|\\%u041f\\%u0440\\%u0438\\%u043c\\%u0435\\%u0440", "scenario_outline": "\\%u041f\\%u0440\\%u0435\\%u0433\\%u043b\\%u0435\\%u0434 \\%u043d\\%u0430 \\%u0441\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0458\\%u0430\\|\\%u041a\\%u043e\\%u043d\\%u0446\\%u0435\\%u043f\\%u0442\\|\\%u0421\\%u043a\\%u0438\\%u0446\\%u0430", "then": "\\%u0422\\%u043e\\%u0433\\%u0430\\%u0448\\>", "when": "\\%u041a\\%u043e\\%u0433\\%u0430\\>"}, + \"mk-Latn": {"and": "I\\>", "background": "Sodrzhina\\|Kontekst", "but": "No\\>", "examples": "Scenaria\\|Primeri", "feature": "Funkcionalnost\\|Biznis potreba\\|Mozhnost", "given": "Dadeno\\>\\|Dadena\\>", "rule": "Rule", "scenario": "Na primer\\|Scenario", "scenario_outline": "Pregled na scenarija\\|Koncept\\|Skica", "then": "Togash\\>", "when": "Koga\\>"}, + \"mn": {"and": "\\%u0422\\%u044d\\%u0433\\%u044d\\%u044d\\%u0434\\>\\|\\%u041c\\%u04e9\\%u043d\\>", "background": "\\%u0410\\%u0433\\%u0443\\%u0443\\%u043b\\%u0433\\%u0430", "but": "\\%u0413\\%u044d\\%u0445\\%u0434\\%u044d\\%u044d\\>\\|\\%u0425\\%u0430\\%u0440\\%u0438\\%u043d\\>", "examples": "\\%u0422\\%u0443\\%u0445\\%u0430\\%u0439\\%u043b\\%u0431\\%u0430\\%u043b", "feature": "\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446\\%u0438\\%u043e\\%u043d\\%u0430\\%u043b\\|\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446", "given": "\\%u04e8\\%u0433\\%u04e9\\%u0433\\%u0434\\%u0441\\%u04e9\\%u043d \\%u043d\\%u044c\\>\\|\\%u0410\\%u043d\\%u0445\\>", "rule": "Rule", "scenario": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440", "scenario_outline": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u044b\\%u043d \\%u0442\\%u04e9\\%u043b\\%u04e9\\%u0432\\%u043b\\%u04e9\\%u0433\\%u04e9\\%u04e9", "then": "\\%u04ae\\%u04af\\%u043d\\%u0438\\%u0439 \\%u0434\\%u0430\\%u0440\\%u0430\\%u0430\\>\\|\\%u0422\\%u044d\\%u0433\\%u044d\\%u0445\\%u044d\\%u0434\\>", "when": "\\%u0425\\%u044d\\%u0440\\%u044d\\%u0432\\>"}, + \"mr": {"and": "\\%u0924\\%u0938\\%u0947\\%u091a\\>\\|\\%u0906\\%u0923\\%u093f\\>", "background": "\\%u092a\\%u093e\\%u0930\\%u094d\\%u0936\\%u094d\\%u0935\\%u092d\\%u0942\\%u092e\\%u0940", "but": "\\%u092a\\%u0930\\%u0902\\%u0924\\%u0941\\>\\|\\%u092a\\%u0923\\>", "examples": "\\%u0909\\%u0926\\%u093e\\%u0939\\%u0930\\%u0923", "feature": "\\%u0935\\%u0948\\%u0936\\%u093f\\%u0937\\%u094d\\%u091f\\%u094d\\%u092f\\|\\%u0938\\%u0941\\%u0935\\%u093f\\%u0927\\%u093e", "given": "\\%u0926\\%u093f\\%u0932\\%u0947\\%u0932\\%u094d\\%u092f\\%u093e \\%u092a\\%u094d\\%u0930\\%u092e\\%u093e\\%u0923\\%u0947\\>\\|\\%u091c\\%u0930", "rule": "\\%u0928\\%u093f\\%u092f\\%u092e", "scenario": "\\%u092a\\%u0930\\%u093f\\%u0926\\%u0943\\%u0936\\%u094d\\%u092f", "scenario_outline": "\\%u092a\\%u0930\\%u093f\\%u0926\\%u0943\\%u0936\\%u094d\\%u092f \\%u0930\\%u0942\\%u092a\\%u0930\\%u0947\\%u0916\\%u093e", "then": "\\%u0924\\%u0947\\%u0935\\%u094d\\%u0939\\%u093e\\>\\|\\%u092e\\%u0917\\>", "when": "\\%u091c\\%u0947\\%u0935\\%u094d\\%u0939\\%u093e\\>"}, + \"ne": {"and": "\\%u0905\\%u0928\\%u093f\\>\\|\\%u0930\\>", "background": "\\%u092a\\%u0943\\%u0937\\%u094d\\%u0920\\%u092d\\%u0942\\%u092e\\%u0940", "but": "\\%u0924\\%u0930\\>", "examples": "\\%u0909\\%u0926\\%u093e\\%u0939\\%u0930\\%u0923\\%u0939\\%u0930\\%u0941\\|\\%u0909\\%u0926\\%u093e\\%u0939\\%u0930\\%u0923", "feature": "\\%u0935\\%u093f\\%u0936\\%u0947\\%u0937\\%u0924\\%u093e\\|\\%u0938\\%u0941\\%u0935\\%u093f\\%u0927\\%u093e", "given": "\\%u0926\\%u093f\\%u0907\\%u090f\\%u0915\\%u094b\\>\\|\\%u0926\\%u093f\\%u090f\\%u0915\\%u094b\\>\\|\\%u092f\\%u0926\\%u093f\\>", "rule": "\\%u0928\\%u093f\\%u092f\\%u092e", "scenario": "\\%u092a\\%u0930\\%u093f\\%u0926\\%u0943\\%u0936\\%u094d\\%u092f", "scenario_outline": "\\%u092a\\%u0930\\%u093f\\%u0926\\%u0943\\%u0936\\%u094d\\%u092f \\%u0930\\%u0942\\%u092a\\%u0930\\%u0947\\%u0916\\%u093e", "then": "\\%u0924\\%u094d\\%u092f\\%u0938\\%u092a\\%u091b\\%u093f\\>\\|\\%u0905\\%u0928\\%u0940\\>", "when": "\\%u091c\\%u092c\\>"}, + \"nl": {"and": "En\\>", "background": "Achtergrond", "but": "Maar\\>", "examples": "Voorbeelden", "feature": "Functionaliteit", "given": "Gegeven\\>\\|Stel\\>", "rule": "Rule", "scenario": "Voorbeeld\\|Scenario", "scenario_outline": "Abstract Scenario", "then": "Dan\\>", "when": "Wanneer\\>\\|Als\\>"}, + \"no": {"and": "Og\\>", "background": "Bakgrunn", "but": "Men\\>", "examples": "Eksempler", "feature": "Egenskap", "given": "Gitt\\>", "rule": "Regel", "scenario": "Eksempel\\|Scenario", "scenario_outline": "Abstrakt Scenario\\|Scenariomal", "then": "S\\%u00e5\\>", "when": "N\\%u00e5r\\>"}, + \"pa": {"and": "\\%u0a05\\%u0a24\\%u0a47\\>", "background": "\\%u0a2a\\%u0a3f\\%u0a1b\\%u0a4b\\%u0a15\\%u0a5c", "but": "\\%u0a2a\\%u0a30\\>", "examples": "\\%u0a09\\%u0a26\\%u0a3e\\%u0a39\\%u0a30\\%u0a28\\%u0a3e\\%u0a02", "feature": "\\%u0a28\\%u0a15\\%u0a36 \\%u0a28\\%u0a41\\%u0a39\\%u0a3e\\%u0a30\\|\\%u0a2e\\%u0a41\\%u0a39\\%u0a3e\\%u0a02\\%u0a26\\%u0a30\\%u0a3e\\|\\%u0a16\\%u0a3e\\%u0a38\\%u0a40\\%u0a05\\%u0a24", "given": "\\%u0a1c\\%u0a3f\\%u0a35\\%u0a47\\%u0a02 \\%u0a15\\%u0a3f\\>\\|\\%u0a1c\\%u0a47\\%u0a15\\%u0a30\\>", "rule": "Rule", "scenario": "\\%u0a09\\%u0a26\\%u0a3e\\%u0a39\\%u0a30\\%u0a28\\|\\%u0a2a\\%u0a1f\\%u0a15\\%u0a25\\%u0a3e", "scenario_outline": "\\%u0a2a\\%u0a1f\\%u0a15\\%u0a25\\%u0a3e \\%u0a30\\%u0a42\\%u0a2a \\%u0a30\\%u0a47\\%u0a16\\%u0a3e\\|\\%u0a2a\\%u0a1f\\%u0a15\\%u0a25\\%u0a3e \\%u0a22\\%u0a3e\\%u0a02\\%u0a1a\\%u0a3e", "then": "\\%u0a24\\%u0a26\\>", "when": "\\%u0a1c\\%u0a26\\%u0a4b\\%u0a02\\>"}, + \"pl": {"and": "Oraz\\>\\|I\\>", "background": "Za\\%u0142o\\%u017cenia", "but": "Ale\\>", "examples": "Przyk\\%u0142ady", "feature": "Potrzeba biznesowa\\|W\\%u0142a\\%u015bciwo\\%u015b\\%u0107\\|Funkcja\\|Aspekt", "given": "Zak\\%u0142adaj\\%u0105c, \\%u017ce\\>\\|Zak\\%u0142adaj\\%u0105c\\>\\|Maj\\%u0105c\\>", "rule": "Zasada\\|Regu\\%u0142a", "scenario": "Scenariusz\\|Przyk\\%u0142ad", "scenario_outline": "Szablon scenariusza", "then": "Wtedy\\>", "when": "Je\\%u017celi\\>\\|Je\\%u015bli\\>\\|Kiedy\\>\\|Gdy\\>"}, + \"pt": {"and": "E\\>", "background": "Cen\\%u00e1rio de Fundo\\|Cenario de Fundo\\|Contexto\\|Fundo", "but": "Mas\\>", "examples": "Exemplos\\|Cen\\%u00e1rios\\|Cenarios", "feature": "Funcionalidade\\|Caracter\\%u00edstica\\|Caracteristica", "given": "Dados\\>\\|Dadas\\>\\|Dado\\>\\|Dada\\>", "rule": "Regra", "scenario": "Exemplo\\|Cen\\%u00e1rio\\|Cenario", "scenario_outline": "Delinea\\%u00e7\\%u00e3o do Cen\\%u00e1rio\\|Delineacao do Cenario\\|Esquema do Cen\\%u00e1rio\\|Esquema do Cenario", "then": "Ent\\%u00e3o\\>\\|Entao\\>", "when": "Quando\\>"}, + \"ro": {"and": "Si\\>\\|\\%u0218i\\>\\|\\%u015ei\\>", "background": "Context", "but": "Dar\\>", "examples": "Exemple", "feature": "Functionalitate\\|Func\\%u021bionalitate\\|Func\\%u0163ionalitate", "given": "Date fiind\\>\\|Dati fiind\\>\\|Da\\%u021bi fiind\\>\\|Da\\%u0163i fiind\\>\\|Dat fiind\\>\\|Dat\\%u0103 fiind", "rule": "Rule", "scenario": "Scenariu\\|Exemplu", "scenario_outline": "Structura scenariu\\|Structur\\%u0103 scenariu", "then": "Atunci\\>", "when": "Cand\\>\\|C\\%u00e2nd\\>"}, + \"ru": {"and": "\\%u041a \\%u0442\\%u043e\\%u043c\\%u0443 \\%u0436\\%u0435\\>\\|\\%u0422\\%u0430\\%u043a\\%u0436\\%u0435\\>\\|\\%u0418\\>", "background": "\\%u041f\\%u0440\\%u0435\\%u0434\\%u044b\\%u0441\\%u0442\\%u043e\\%u0440\\%u0438\\%u044f\\|\\%u041a\\%u043e\\%u043d\\%u0442\\%u0435\\%u043a\\%u0441\\%u0442", "but": "\\%u0418\\%u043d\\%u0430\\%u0447\\%u0435\\>\\|\\%u041d\\%u043e\\>\\|\\%u0410\\>", "examples": "\\%u041f\\%u0440\\%u0438\\%u043c\\%u0435\\%u0440\\%u044b", "feature": "\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446\\%u0438\\%u043e\\%u043d\\%u0430\\%u043b\\%u044c\\%u043d\\%u043e\\%u0441\\%u0442\\%u044c\\|\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446\\%u0438\\%u043e\\%u043d\\%u0430\\%u043b\\|\\%u0421\\%u0432\\%u043e\\%u0439\\%u0441\\%u0442\\%u0432\\%u043e\\|\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446\\%u0438\\%u044f\\|\\%u0424\\%u0438\\%u0447\\%u0430", "given": "\\%u0414\\%u043e\\%u043f\\%u0443\\%u0441\\%u0442\\%u0438\\%u043c\\>\\|\\%u041f\\%u0443\\%u0441\\%u0442\\%u044c\\>\\|\\%u0414\\%u0430\\%u043d\\%u043e\\>", "rule": "\\%u041f\\%u0440\\%u0430\\%u0432\\%u0438\\%u043b\\%u043e", "scenario": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0439\\|\\%u041f\\%u0440\\%u0438\\%u043c\\%u0435\\%u0440", "scenario_outline": "\\%u0421\\%u0442\\%u0440\\%u0443\\%u043a\\%u0442\\%u0443\\%u0440\\%u0430 \\%u0441\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u044f\\|\\%u0428\\%u0430\\%u0431\\%u043b\\%u043e\\%u043d \\%u0441\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u044f", "then": "\\%u0417\\%u0430\\%u0442\\%u0435\\%u043c\\>\\|\\%u0422\\%u043e\\%u0433\\%u0434\\%u0430\\>\\|\\%u0422\\%u043e\\>", "when": "\\%u041a\\%u043e\\%u0433\\%u0434\\%u0430\\>\\|\\%u0415\\%u0441\\%u043b\\%u0438\\>"}, + \"sk": {"and": "A taktie\\%u017e\\>\\|A z\\%u00e1rove\\%u0148\\>\\|A tie\\%u017e\\>\\|A\\>", "background": "Pozadie", "but": "Ale\\>", "examples": "Pr\\%u00edklady", "feature": "Po\\%u017eiadavka\\|Vlastnos\\%u0165\\|Funkcia", "given": "Za predpokladu\\>\\|Pokia\\%u013e\\>", "rule": "Rule", "scenario": "Pr\\%u00edklad\\|Scen\\%u00e1r", "scenario_outline": "Osnova Scen\\%u00e1ra\\|N\\%u00e1\\%u010drt Scen\\%u00e1ru\\|N\\%u00e1\\%u010drt Scen\\%u00e1ra", "then": "Potom\\>\\|Tak\\>", "when": "Ke\\%u010f\\>\\|Ak\\>"}, + \"sl": {"and": "Ter\\>\\|In\\>", "background": "Kontekst\\|Osnova\\|Ozadje", "but": "Vendar\\>\\|Ampak\\>\\|Toda\\>", "examples": "Scenariji\\|Primeri", "feature": "Funkcionalnost\\|Zna\\%u010dilnost\\|Funkcija\\|Mo\\%u017enosti\\|Moznosti\\|Lastnost", "given": "Privzeto\\>\\|Podano\\>\\|Zaradi\\>\\|Dano\\>", "rule": "Rule", "scenario": "Scenarij\\|Primer", "scenario_outline": "Struktura scenarija\\|Oris scenarija\\|Koncept\\|Osnutek\\|Skica", "then": "Takrat\\>\\|Potem\\>\\|Nato\\>", "when": "Kadar\\>\\|Ko\\>\\|Ce\\>\\|\\%u010ce\\>"}, + \"sr-Cyrl": {"and": "\\%u0418\\>", "background": "\\%u041a\\%u043e\\%u043d\\%u0442\\%u0435\\%u043a\\%u0441\\%u0442\\|\\%u041f\\%u043e\\%u0437\\%u0430\\%u0434\\%u0438\\%u043d\\%u0430\\|\\%u041e\\%u0441\\%u043d\\%u043e\\%u0432\\%u0430", "but": "\\%u0410\\%u043b\\%u0438\\>", "examples": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0458\\%u0438\\|\\%u041f\\%u0440\\%u0438\\%u043c\\%u0435\\%u0440\\%u0438", "feature": "\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446\\%u0438\\%u043e\\%u043d\\%u0430\\%u043b\\%u043d\\%u043e\\%u0441\\%u0442\\|\\%u041c\\%u043e\\%u0433\\%u0443\\%u045b\\%u043d\\%u043e\\%u0441\\%u0442\\|\\%u041e\\%u0441\\%u043e\\%u0431\\%u0438\\%u043d\\%u0430", "given": "\\%u0417\\%u0430 \\%u0434\\%u0430\\%u0442\\%u043e\\>\\|\\%u0417\\%u0430 \\%u0434\\%u0430\\%u0442\\%u0435\\>\\|\\%u0417\\%u0430 \\%u0434\\%u0430\\%u0442\\%u0438\\>", "rule": "\\%u041f\\%u0440\\%u0430\\%u0432\\%u0438\\%u043b\\%u043e", "scenario": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u043e\\|\\%u041f\\%u0440\\%u0438\\%u043c\\%u0435\\%u0440\\|\\%u041f\\%u0440\\%u0438\\%u043c\\%u0435\\%u0440", "scenario_outline": "\\%u0421\\%u0442\\%u0440\\%u0443\\%u043a\\%u0442\\%u0443\\%u0440\\%u0430 \\%u0441\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0458\\%u0430\\|\\%u041a\\%u043e\\%u043d\\%u0446\\%u0435\\%u043f\\%u0442\\|\\%u0421\\%u043a\\%u0438\\%u0446\\%u0430", "then": "\\%u041e\\%u043d\\%u0434\\%u0430\\>", "when": "\\%u041a\\%u0430\\%u0434\\%u0430\\>\\|\\%u041a\\%u0430\\%u0434\\>"}, + \"sr-Latn": {"and": "I\\>", "background": "Kontekst\\|Pozadina\\|Osnova", "but": "Ali\\>", "examples": "Scenariji\\|Primeri", "feature": "Funkcionalnost\\|Mogu\\%u0107nost\\|Mogucnost\\|Osobina", "given": "Za dato\\>\\|Za date\\>\\|Za dati\\>", "rule": "Pravilo", "scenario": "Scenario\\|Primer", "scenario_outline": "Struktura scenarija\\|Koncept\\|Skica", "then": "Onda\\>", "when": "Kada\\>\\|Kad\\>"}, + \"sv": {"and": "Och\\>", "background": "Bakgrund", "but": "Men\\>", "examples": "Exempel", "feature": "Egenskap", "given": "Givet\\>", "rule": "Regel", "scenario": "Scenario", "scenario_outline": "Abstrakt Scenario\\|Scenariomall", "then": "S\\%u00e5\\>", "when": "N\\%u00e4r\\>"}, + \"ta": {"and": "\\%u0bae\\%u0bc7\\%u0bb2\\%u0bc1\\%u0bae\\%u0bcd \\>\\|\\%u0bae\\%u0bb1\\%u0bcd\\%u0bb1\\%u0bc1\\%u0bae\\%u0bcd\\>", "background": "\\%u0baa\\%u0bbf\\%u0ba9\\%u0bcd\\%u0ba9\\%u0ba3\\%u0bbf", "but": "\\%u0b86\\%u0ba9\\%u0bbe\\%u0bb2\\%u0bcd \\>", "examples": "\\%u0b8e\\%u0b9f\\%u0bc1\\%u0ba4\\%u0bcd\\%u0ba4\\%u0bc1\\%u0b95\\%u0bcd\\%u0b95\\%u0bbe\\%u0b9f\\%u0bcd\\%u0b9f\\%u0bc1\\%u0b95\\%u0bb3\\%u0bcd\\|\\%u0ba8\\%u0bbf\\%u0bb2\\%u0bc8\\%u0bae\\%u0bc8\\%u0b95\\%u0bb3\\%u0bbf\\%u0bb2\\%u0bcd\\|\\%u0b95\\%u0bbe\\%u0b9f\\%u0bcd\\%u0b9a\\%u0bbf\\%u0b95\\%u0bb3\\%u0bcd", "feature": "\\%u0bb5\\%u0ba3\\%u0bbf\\%u0b95 \\%u0ba4\\%u0bc7\\%u0bb5\\%u0bc8\\|\\%u0b85\\%u0bae\\%u0bcd\\%u0b9a\\%u0bae\\%u0bcd\\|\\%u0ba4\\%u0bbf\\%u0bb1\\%u0ba9\\%u0bcd", "given": "\\%u0b95\\%u0bc6\\%u0bbe\\%u0b9f\\%u0bc1\\%u0b95\\%u0bcd\\%u0b95\\%u0baa\\%u0bcd\\%u0baa\\%u0b9f\\%u0bcd\\%u0b9f\\>", "rule": "Rule", "scenario": "\\%u0b89\\%u0ba4\\%u0bbe\\%u0bb0\\%u0ba3\\%u0bae\\%u0bbe\\%u0b95\\|\\%u0b95\\%u0bbe\\%u0b9f\\%u0bcd\\%u0b9a\\%u0bbf", "scenario_outline": "\\%u0b95\\%u0bbe\\%u0b9f\\%u0bcd\\%u0b9a\\%u0bbf \\%u0bb5\\%u0bbe\\%u0bb0\\%u0bcd\\%u0baa\\%u0bcd\\%u0baa\\%u0bc1\\%u0bb0\\%u0bc1\\|\\%u0b95\\%u0bbe\\%u0b9f\\%u0bcd\\%u0b9a\\%u0bbf \\%u0b9a\\%u0bc1\\%u0bb0\\%u0bc1\\%u0b95\\%u0bcd\\%u0b95\\%u0bae\\%u0bcd", "then": "\\%u0b85\\%u0baa\\%u0bcd\\%u0baa\\%u0bc6\\%u0bbe\\%u0bb4\\%u0bc1\\%u0ba4\\%u0bc1\\>", "when": "\\%u0b8e\\%u0baa\\%u0bcd\\%u0baa\\%u0bc7\\%u0bbe\\%u0ba4\\%u0bc1\\>"}, + \"te": {"and": "\\%u0c2e\\%u0c30\\%u0c3f\\%u0c2f\\%u0c41\\>", "background": "\\%u0c28\\%u0c47\\%u0c2a\\%u0c25\\%u0c4d\\%u0c2f\\%u0c02", "but": "\\%u0c15\\%u0c3e\\%u0c28\\%u0c3f\\>", "examples": "\\%u0c09\\%u0c26\\%u0c3e\\%u0c39\\%u0c30\\%u0c23\\%u0c32\\%u0c41", "feature": "\\%u0c17\\%u0c41\\%u0c23\\%u0c2e\\%u0c41", "given": "\\%u0c1a\\%u0c46\\%u0c2a\\%u0c4d\\%u0c2a\\%u0c2c\\%u0c21\\%u0c3f\\%u0c28\\%u0c26\\%u0c3f\\>", "rule": "Rule", "scenario": "\\%u0c38\\%u0c28\\%u0c4d\\%u0c28\\%u0c3f\\%u0c35\\%u0c47\\%u0c36\\%u0c02\\|\\%u0c09\\%u0c26\\%u0c3e\\%u0c39\\%u0c30\\%u0c23", "scenario_outline": "\\%u0c15\\%u0c25\\%u0c28\\%u0c02", "then": "\\%u0c05\\%u0c2a\\%u0c4d\\%u0c2a\\%u0c41\\%u0c21\\%u0c41\\>", "when": "\\%u0c08 \\%u0c2a\\%u0c30\\%u0c3f\\%u0c38\\%u0c4d\\%u0c25\\%u0c3f\\%u0c24\\%u0c3f\\%u0c32\\%u0c4b\\>"}, + \"th": {"and": "\\%u0e41\\%u0e25\\%u0e30\\>", "background": "\\%u0e41\\%u0e19\\%u0e27\\%u0e04\\%u0e34\\%u0e14", "but": "\\%u0e41\\%u0e15\\%u0e48\\>", "examples": "\\%u0e0a\\%u0e38\\%u0e14\\%u0e02\\%u0e2d\\%u0e07\\%u0e40\\%u0e2b\\%u0e15\\%u0e38\\%u0e01\\%u0e32\\%u0e23\\%u0e13\\%u0e4c\\|\\%u0e0a\\%u0e38\\%u0e14\\%u0e02\\%u0e2d\\%u0e07\\%u0e15\\%u0e31\\%u0e27\\%u0e2d\\%u0e22\\%u0e48\\%u0e32\\%u0e07", "feature": "\\%u0e04\\%u0e27\\%u0e32\\%u0e21\\%u0e15\\%u0e49\\%u0e2d\\%u0e07\\%u0e01\\%u0e32\\%u0e23\\%u0e17\\%u0e32\\%u0e07\\%u0e18\\%u0e38\\%u0e23\\%u0e01\\%u0e34\\%u0e08\\|\\%u0e04\\%u0e27\\%u0e32\\%u0e21\\%u0e2a\\%u0e32\\%u0e21\\%u0e32\\%u0e23\\%u0e16\\|\\%u0e42\\%u0e04\\%u0e23\\%u0e07\\%u0e2b\\%u0e25\\%u0e31\\%u0e01", "given": "\\%u0e01\\%u0e33\\%u0e2b\\%u0e19\\%u0e14\\%u0e43\\%u0e2b\\%u0e49\\>", "rule": "Rule", "scenario": "\\%u0e40\\%u0e2b\\%u0e15\\%u0e38\\%u0e01\\%u0e32\\%u0e23\\%u0e13\\%u0e4c", "scenario_outline": "\\%u0e42\\%u0e04\\%u0e23\\%u0e07\\%u0e2a\\%u0e23\\%u0e49\\%u0e32\\%u0e07\\%u0e02\\%u0e2d\\%u0e07\\%u0e40\\%u0e2b\\%u0e15\\%u0e38\\%u0e01\\%u0e32\\%u0e23\\%u0e13\\%u0e4c\\|\\%u0e2a\\%u0e23\\%u0e38\\%u0e1b\\%u0e40\\%u0e2b\\%u0e15\\%u0e38\\%u0e01\\%u0e32\\%u0e23\\%u0e13\\%u0e4c", "then": "\\%u0e14\\%u0e31\\%u0e07\\%u0e19\\%u0e31\\%u0e49\\%u0e19\\>", "when": "\\%u0e40\\%u0e21\\%u0e37\\%u0e48\\%u0e2d\\>"}, + \"tlh": {"and": "latlh\\>\\|'ej\\>", "background": "mo'", "but": "'ach\\>\\|'a\\>", "examples": "ghantoH\\|lutmey", "feature": "poQbogh malja'\\|Qu'meH 'ut\\|perbogh\\|Qap\\|laH", "given": "DaH ghu' bejlu'\\>\\|ghu' noblu'\\>", "rule": "Rule", "scenario": "lut", "scenario_outline": "lut chovnatlh", "then": "vaj\\>", "when": "qaSDI'\\>"}, + \"tr": {"and": "Ve\\>", "background": "Ge\\%u00e7mi\\%u015f", "but": "Fakat\\>\\|Ama\\>", "examples": "\\%u00d6rnekler", "feature": "\\%u00d6zellik", "given": "Diyelim ki\\>", "rule": "Kural", "scenario": "Senaryo\\|\\%u00d6rnek", "scenario_outline": "Senaryo tasla\\%u011f\\%u0131", "then": "O zaman\\>", "when": "E\\%u011fer ki\\>"}, + \"tt": {"and": "\\%u04ba\\%u04d9\\%u043c\\>\\|\\%u0412\\%u04d9\\>", "background": "\\%u041a\\%u0435\\%u0440\\%u0435\\%u0448", "but": "\\%u041b\\%u04d9\\%u043a\\%u0438\\%u043d\\>\\|\\%u04d8\\%u043c\\%u043c\\%u0430\\>", "examples": "\\%u04ae\\%u0440\\%u043d\\%u04d9\\%u043a\\%u043b\\%u04d9\\%u0440\\|\\%u041c\\%u0438\\%u0441\\%u0430\\%u043b\\%u043b\\%u0430\\%u0440", "feature": "\\%u04ae\\%u0437\\%u0435\\%u043d\\%u0447\\%u04d9\\%u043b\\%u0435\\%u043a\\%u043b\\%u0435\\%u043b\\%u0435\\%u043a\\|\\%u041c\\%u04e9\\%u043c\\%u043a\\%u0438\\%u043d\\%u043b\\%u0435\\%u043a", "given": "\\%u04d8\\%u0439\\%u0442\\%u0438\\%u043a\\>", "rule": "Rule", "scenario": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0439", "scenario_outline": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0439\\%u043d\\%u044b\\%u04a3 \\%u0442\\%u04e9\\%u0437\\%u0435\\%u043b\\%u0435\\%u0448\\%u0435", "then": "\\%u041d\\%u04d9\\%u0442\\%u0438\\%u0497\\%u04d9\\%u0434\\%u04d9\\>", "when": "\\%u04d8\\%u0433\\%u04d9\\%u0440\\>"}, + \"uk": {"and": "\\%u0410 \\%u0442\\%u0430\\%u043a\\%u043e\\%u0436\\>\\|\\%u0422\\%u0430\\>\\|\\%u0406\\>", "background": "\\%u041f\\%u0435\\%u0440\\%u0435\\%u0434\\%u0443\\%u043c\\%u043e\\%u0432\\%u0430", "but": "\\%u0410\\%u043b\\%u0435\\>", "examples": "\\%u041f\\%u0440\\%u0438\\%u043a\\%u043b\\%u0430\\%u0434\\%u0438", "feature": "\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446\\%u0456\\%u043e\\%u043d\\%u0430\\%u043b", "given": "\\%u041f\\%u0440\\%u0438\\%u043f\\%u0443\\%u0441\\%u0442\\%u0438\\%u043c\\%u043e, \\%u0449\\%u043e\\>\\|\\%u041f\\%u0440\\%u0438\\%u043f\\%u0443\\%u0441\\%u0442\\%u0438\\%u043c\\%u043e\\>\\|\\%u041d\\%u0435\\%u0445\\%u0430\\%u0439\\>\\|\\%u0414\\%u0430\\%u043d\\%u043e\\>", "rule": "Rule", "scenario": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0456\\%u0439\\|\\%u041f\\%u0440\\%u0438\\%u043a\\%u043b\\%u0430\\%u0434", "scenario_outline": "\\%u0421\\%u0442\\%u0440\\%u0443\\%u043a\\%u0442\\%u0443\\%u0440\\%u0430 \\%u0441\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0456\\%u044e", "then": "\\%u0422\\%u043e\\%u0434\\%u0456\\>\\|\\%u0422\\%u043e\\>", "when": "\\%u042f\\%u043a\\%u0449\\%u043e\\>\\|\\%u041a\\%u043e\\%u043b\\%u0438\\>"}, + \"ur": {"and": "\\%u0627\\%u0648\\%u0631\\>", "background": "\\%u067e\\%u0633 \\%u0645\\%u0646\\%u0638\\%u0631", "but": "\\%u0644\\%u06cc\\%u06a9\\%u0646\\>", "examples": "\\%u0645\\%u062b\\%u0627\\%u0644\\%u06cc\\%u06ba", "feature": "\\%u06a9\\%u0627\\%u0631\\%u0648\\%u0628\\%u0627\\%u0631 \\%u06a9\\%u06cc \\%u0636\\%u0631\\%u0648\\%u0631\\%u062a\\|\\%u0635\\%u0644\\%u0627\\%u062d\\%u06cc\\%u062a\\|\\%u062e\\%u0635\\%u0648\\%u0635\\%u06cc\\%u062a", "given": "\\%u0641\\%u0631\\%u0636 \\%u06a9\\%u06cc\\%u0627\\>\\|\\%u0628\\%u0627\\%u0644\\%u0641\\%u0631\\%u0636\\>\\|\\%u0627\\%u06af\\%u0631\\>", "rule": "Rule", "scenario": "\\%u0645\\%u0646\\%u0638\\%u0631\\%u0646\\%u0627\\%u0645\\%u06c1", "scenario_outline": "\\%u0645\\%u0646\\%u0638\\%u0631 \\%u0646\\%u0627\\%u0645\\%u06d2 \\%u06a9\\%u0627 \\%u062e\\%u0627\\%u06a9\\%u06c1", "then": "\\%u067e\\%u06be\\%u0631\\>\\|\\%u062a\\%u0628\\>", "when": "\\%u062c\\%u0628\\>"}, + \"uz": {"and": "\\%u0412\\%u0430\\>", "background": "\\%u0422\\%u0430\\%u0440\\%u0438\\%u0445", "but": "\\%u041b\\%u0435\\%u043a\\%u0438\\%u043d\\>\\|\\%u0411\\%u0438\\%u0440\\%u043e\\%u043a\\>\\|\\%u0410\\%u043c\\%u043c\\%u043e\\>", "examples": "\\%u041c\\%u0438\\%u0441\\%u043e\\%u043b\\%u043b\\%u0430\\%u0440", "feature": "\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446\\%u0438\\%u043e\\%u043d\\%u0430\\%u043b", "given": "Belgilangan\\>", "rule": "Rule", "scenario": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0439", "scenario_outline": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0439 \\%u0441\\%u0442\\%u0440\\%u0443\\%u043a\\%u0442\\%u0443\\%u0440\\%u0430\\%u0441\\%u0438", "then": "\\%u0423\\%u043d\\%u0434\\%u0430\\>", "when": "\\%u0410\\%u0433\\%u0430\\%u0440\\>"}, + \"vi": {"and": "V\\%u00e0\\>", "background": "B\\%u1ed1i c\\%u1ea3nh", "but": "Nh\\%u01b0ng\\>", "examples": "D\\%u1eef li\\%u1ec7u", "feature": "T\\%u00ednh n\\%u0103ng", "given": "Bi\\%u1ebft\\>\\|Cho\\>", "rule": "Rule", "scenario": "T\\%u00ecnh hu\\%u1ed1ng\\|K\\%u1ecbch b\\%u1ea3n", "scenario_outline": "Khung t\\%u00ecnh hu\\%u1ed1ng\\|Khung k\\%u1ecbch b\\%u1ea3n", "then": "Th\\%u00ec\\>", "when": "Khi\\>"}, + \"zh-CN": {"and": "\\%u800c\\%u4e14\\|\\%u5e76\\%u4e14\\|\\%u540c\\%u65f6", "background": "\\%u80cc\\%u666f", "but": "\\%u4f46\\%u662f", "examples": "\\%u4f8b\\%u5b50", "feature": "\\%u529f\\%u80fd", "given": "\\%u5047\\%u5982\\|\\%u5047\\%u8bbe\\|\\%u5047\\%u5b9a", "rule": "Rule\\|\\%u89c4\\%u5219", "scenario": "\\%u573a\\%u666f\\|\\%u5267\\%u672c", "scenario_outline": "\\%u573a\\%u666f\\%u5927\\%u7eb2\\|\\%u5267\\%u672c\\%u5927\\%u7eb2", "then": "\\%u90a3\\%u4e48", "when": "\\%u5f53"}, + \"zh-TW": {"and": "\\%u800c\\%u4e14\\|\\%u4e26\\%u4e14\\|\\%u540c\\%u6642", "background": "\\%u80cc\\%u666f", "but": "\\%u4f46\\%u662f", "examples": "\\%u4f8b\\%u5b50", "feature": "\\%u529f\\%u80fd", "given": "\\%u5047\\%u5982\\|\\%u5047\\%u8a2d\\|\\%u5047\\%u5b9a", "rule": "Rule", "scenario": "\\%u5834\\%u666f\\|\\%u5287\\%u672c", "scenario_outline": "\\%u5834\\%u666f\\%u5927\\%u7db1\\|\\%u5287\\%u672c\\%u5927\\%u7db1", "then": "\\%u90a3\\%u9ebc", "when": "\\%u7576"}} + +function! s:pattern(key) + let language = matchstr(getline(1),'#\s*language:\s*\zs\S\+') + if &fileencoding == 'latin1' && language == '' + let language = 'en' + endif + if has_key(g:cucumber_languages, language) + let languages = [g:cucumber_languages[language]] + else + let languages = values(g:cucumber_languages) + end + return '\<\%('.join(map(languages,'get(v:val,a:key,"\\%(a\\&b\\)")'),'\|').'\)' +endfunction + +function! s:Add(name) + let next = " skipempty skipwhite nextgroup=".join(map(["Region","AndRegion","ButRegion","StarRegion","Comment","String","Table"],'"cucumber".a:name.v:val'),",") + exe "syn region cucumber".a:name.'Region matchgroup=cucumber'.a:name.' start="\%(^\s*\)\@<=\%('.s:pattern(tolower(a:name)).'\)" end="$"'.next + exe 'syn region cucumber'.a:name.'AndRegion matchgroup=cucumber'.a:name.'And start="\%(^\s*\)\@<='.s:pattern('and').'" end="$" contained'.next + exe 'syn region cucumber'.a:name.'ButRegion matchgroup=cucumber'.a:name.'But start="\%(^\s*\)\@<='.s:pattern('but').'" end="$" contained'.next + exe 'syn region cucumber'.a:name.'StarRegion matchgroup=cucumber'.a:name.'Star start="\%(^\s*\)\@<=\*\S\@!" end="$" contained'.next + exe 'syn match cucumber'.a:name.'Comment "\%(^\s*\)\@<=#.*" contained'.next + exe 'syn region cucumber'.a:name.'String start=+\%(^\s*\)\@<="""+ end=+"""+ contained'.next + exe 'syn match cucumber'.a:name.'Table "\%(^\s*\)\@<=|.*" contained contains=cucumberDelimiter'.next + exe 'hi def link cucumber'.a:name.'Comment cucumberComment' + exe 'hi def link cucumber'.a:name.'String cucumberString' + exe 'hi def link cucumber'.a:name.'But cucumber'.a:name.'And' + exe 'hi def link cucumber'.a:name.'Star cucumber'.a:name.'And' + exe 'hi def link cucumber'.a:name.'And cucumber'.a:name + exe 'syn cluster cucumberStepRegions add=cucumber'.a:name.'Region,cucumber'.a:name.'AndRegion,cucumber'.a:name.'ButRegion' +endfunction + +syn match cucumberComment "\%(^\s*\)\@<=#.*" +syn match cucumberComment "\%(\%^\s*\)\@<=#.*" contains=cucumberLanguage +syn match cucumberLanguage "\%(#\s*\)\@<=language:" contained +syn match cucumberUnparsed "\S.*" nextgroup=cucumberUnparsedComment,cucumberUnparsed,cucumberTags,cucumberBackground,cucumberRule,cucumberScenario,cucumberScenarioOutline,cucumberExamples skipwhite skipempty contained +syn match cucumberUnparsedComment "#.*" nextgroup=cucumberUnparsedComment,cucumberUnparsed,cucumberTags,cucumberBackground,cucumberRule,cucumberScenario,cucumberScenarioOutline,cucumberExamples skipwhite skipempty contained + +exe 'syn match cucumberFeature "\%(^\s*\)\@<='.s:pattern('feature').':" nextgroup=cucumberUnparsedComment,cucumberUnparsed,cucumberBackground,cucumberRule,cucumberScenario,cucumberScenarioOutline,cucumberExamples skipwhite skipempty' +exe 'syn match cucumberBackground "\%(^\s*\)\@<='.s:pattern('background').':"' +exe 'syn match cucumberScenario "\%(^\s*\)\@<='.s:pattern('scenario').':"' +exe 'syn match cucumberRule "\%(^\s*\)\@<='.s:pattern('rule').':"' +exe 'syn match cucumberScenarioOutline "\%(^\s*\)\@<='.s:pattern('scenario_outline').':"' +exe 'syn match cucumberExamples "\%(^\s*\)\@<='.s:pattern('examples').':" nextgroup=cucumberExampleTable skipempty skipwhite' + +syn match cucumberPlaceholder "<[^<>]*>" contained containedin=@cucumberStepRegions +syn match cucumberExampleTable "\%(^\s*\)\@<=|.*" contains=cucumberDelimiter +syn match cucumberDelimiter "\\\@ -" Filenames: *.feature -" Last Change: 2023 Dec 28 - -if exists("b:current_syntax") - finish -endif -let s:keepcpo= &cpo -set cpo&vim - -syn case match -syn sync minlines=20 - -let g:cucumber_languages = { - \"en": {"and": "And\\>", "background": "Background", "but": "But\\>", "examples": "Scenarios\\|Examples", "feature": "Business Need\\|Feature\\|Ability", "given": "Given\\>", "rule": "Rule", "scenario": "Scenario\\|Example", "scenario_outline": "Scenario Template\\|Scenario Outline", "then": "Then\\>", "when": "When\\>"}, - \"af": {"and": "En\\>", "background": "Agtergrond", "but": "Maar\\>", "examples": "Voorbeelde", "feature": "Besigheid Behoefte\\|Funksie\\|Vermo\\%u00eb", "given": "Gegewe\\>", "rule": "Regel", "scenario": "Voorbeeld\\|Situasie", "scenario_outline": "Situasie Uiteensetting", "then": "Dan\\>", "when": "Wanneer\\>"}, - \"am": {"and": "\\%u0535\\%u057e\\>", "background": "\\%u053f\\%u0578\\%u0576\\%u057f\\%u0565\\%u0584\\%u057d\\%u057f", "but": "\\%u0532\\%u0561\\%u0575\\%u0581\\>", "examples": "\\%u0555\\%u0580\\%u056b\\%u0576\\%u0561\\%u056f\\%u0576\\%u0565\\%u0580", "feature": "\\%u0556\\%u0578\\%u0582\\%u0576\\%u056f\\%u0581\\%u056b\\%u0578\\%u0576\\%u0561\\%u056c\\%u0578\\%u0582\\%u0569\\%u0575\\%u0578\\%u0582\\%u0576\\|\\%u0540\\%u0561\\%u057f\\%u056f\\%u0578\\%u0582\\%u0569\\%u0575\\%u0578\\%u0582\\%u0576", "given": "\\%u0534\\%u056b\\%u0581\\%u0578\\%u0582\\%u0584\\>", "rule": "Rule", "scenario": "\\%u0555\\%u0580\\%u056b\\%u0576\\%u0561\\%u056f\\|\\%u054d\\%u0581\\%u0565\\%u0576\\%u0561\\%u0580", "scenario_outline": "\\%u054d\\%u0581\\%u0565\\%u0576\\%u0561\\%u0580\\%u056b \\%u056f\\%u0561\\%u057c\\%u0578\\%u0582\\%u0581\\%u057e\\%u0561\\%u0581\\%u0584\\%u0568", "then": "\\%u0531\\%u057a\\%u0561\\>", "when": "\\%u0535\\%u0569\\%u0565\\>\\|\\%u0535\\%u0580\\%u0562\\>"}, - \"amh": {"and": "\\%u12a5\\%u1293\\>", "background": "\\%u1245\\%u12f5\\%u1218 \\%u1201\\%u1294\\%u1273\\|\\%u1218\\%u1290\\%u123b \\%u1200\\%u1233\\%u1265\\|\\%u1218\\%u1290\\%u123b", "but": "\\%u130d\\%u1295\\>", "examples": "\\%u121d\\%u1233\\%u120c\\%u12ce\\%u127d\\|\\%u1201\\%u1293\\%u1274\\%u12ce\\%u127d", "feature": "\\%u12e8\\%u121a\\%u1348\\%u1208\\%u1308\\%u12cd \\%u12f5\\%u122d\\%u130a\\%u1275\\|\\%u12e8\\%u1270\\%u1348\\%u1208\\%u1308\\%u12cd \\%u1235\\%u122b\\|\\%u1235\\%u122b", "given": "\\%u12e8\\%u1270\\%u1230\\%u1320\\>", "rule": "\\%u1205\\%u130d", "scenario": "\\%u121d\\%u1233\\%u120c\\|\\%u1201\\%u1293\\%u1274", "scenario_outline": "\\%u1201\\%u1293\\%u1274 \\%u12dd\\%u122d\\%u12dd\\%u122d\\|\\%u1201\\%u1293\\%u1274 \\%u12a0\\%u1265\\%u1290\\%u1275", "then": "\\%u12a8\\%u12da\\%u12eb\\>", "when": "\\%u1218\\%u127c\\>"}, - \"an": {"and": "Y\\>\\|E\\>", "background": "Antecedents", "but": "Pero\\>", "examples": "Eixemplos", "feature": "Caracteristica", "given": "Dadas\\>\\|Dada\\>\\|Daus\\>\\|Dau\\>", "rule": "Rule", "scenario": "Eixemplo\\|Caso", "scenario_outline": "Esquema del caso", "then": "Antonces\\>\\|Alavez\\>\\|Allora\\>", "when": "Cuan\\>"}, - \"ar": {"and": "\\%u0648\\>", "background": "\\%u0627\\%u0644\\%u062e\\%u0644\\%u0641\\%u064a\\%u0629", "but": "\\%u0644\\%u0643\\%u0646\\>", "examples": "\\%u0627\\%u0645\\%u062b\\%u0644\\%u0629", "feature": "\\%u062e\\%u0627\\%u0635\\%u064a\\%u0629", "given": "\\%u0628\\%u0641\\%u0631\\%u0636\\>", "rule": "Rule", "scenario": "\\%u0633\\%u064a\\%u0646\\%u0627\\%u0631\\%u064a\\%u0648\\|\\%u0645\\%u062b\\%u0627\\%u0644", "scenario_outline": "\\%u0633\\%u064a\\%u0646\\%u0627\\%u0631\\%u064a\\%u0648 \\%u0645\\%u062e\\%u0637\\%u0637", "then": "\\%u0627\\%u0630\\%u0627\\%u064b\\>\\|\\%u062b\\%u0645\\>", "when": "\\%u0639\\%u0646\\%u062f\\%u0645\\%u0627\\>\\|\\%u0645\\%u062a\\%u0649\\>"}, - \"ast": {"and": "Ya\\>\\|Y\\>", "background": "Antecedentes", "but": "Peru\\>", "examples": "Exemplos", "feature": "Carauter\\%u00edstica", "given": "Dada\\>\\|Daos\\>\\|Daes\\>\\|D\\%u00e1u\\>", "rule": "Rule", "scenario": "Exemplo\\|Casu", "scenario_outline": "Esbozu del casu", "then": "Ent\\%u00f3s\\>", "when": "Cuando\\>"}, - \"az": {"and": "H\\%u0259m\\>\\|V\\%u0259\\>", "background": "Kontekst\\|Ke\\%u00e7mi\\%u015f", "but": "Ancaq\\>\\|Amma\\>", "examples": "N\\%u00fcmun\\%u0259l\\%u0259r", "feature": "\\%u00d6z\\%u0259llik", "given": "Tutaq ki\\>\\|Verilir\\>", "rule": "Rule", "scenario": "Ssenari\\|N\\%u00fcmun\\%u0259", "scenario_outline": "Ssenarinin strukturu", "then": "O halda\\>", "when": "N\\%u0259 vaxt ki\\>\\|\\%u018fg\\%u0259r\\>"}, - \"bg": {"and": "\\%u0418\\>", "background": "\\%u041f\\%u0440\\%u0435\\%u0434\\%u0438\\%u0441\\%u0442\\%u043e\\%u0440\\%u0438\\%u044f", "but": "\\%u041d\\%u043e\\>", "examples": "\\%u041f\\%u0440\\%u0438\\%u043c\\%u0435\\%u0440\\%u0438", "feature": "\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446\\%u0438\\%u043e\\%u043d\\%u0430\\%u043b\\%u043d\\%u043e\\%u0441\\%u0442", "given": "\\%u0414\\%u0430\\%u0434\\%u0435\\%u043d\\%u043e\\>", "rule": "\\%u041f\\%u0440\\%u0430\\%u0432\\%u0438\\%u043b\\%u043e", "scenario": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0439\\|\\%u041f\\%u0440\\%u0438\\%u043c\\%u0435\\%u0440", "scenario_outline": "\\%u0420\\%u0430\\%u043c\\%u043a\\%u0430 \\%u043d\\%u0430 \\%u0441\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0439", "then": "\\%u0422\\%u043e\\>", "when": "\\%u041a\\%u043e\\%u0433\\%u0430\\%u0442\\%u043e\\>"}, - \"bm": {"and": "Dan\\>", "background": "Latar Belakang", "but": "Tetapi\\>\\|Tapi\\>", "examples": "Contoh", "feature": "Fungsi", "given": "Diberi\\>\\|Bagi\\>", "rule": "Rule", "scenario": "Senario\\|Situasi\\|Keadaan", "scenario_outline": "Garis Panduan Senario\\|Kerangka Senario\\|Kerangka Situasi\\|Kerangka Keadaan", "then": "Kemudian\\>\\|Maka\\>", "when": "Apabila\\>"}, - \"bs": {"and": "I\\>\\|A\\>", "background": "Pozadina", "but": "Ali\\>", "examples": "Primjeri", "feature": "Karakteristika", "given": "Dato\\>", "rule": "Rule", "scenario": "Scenariju\\|Scenario\\|Primjer", "scenario_outline": "Scenario-outline\\|Scenariju-obris", "then": "Zatim\\>", "when": "Kada\\>"}, - \"ca": {"and": "I\\>", "background": "Antecedents\\|Rerefons", "but": "Per\\%u00f2\\>", "examples": "Exemples", "feature": "Caracter\\%u00edstica\\|Funcionalitat", "given": "Donada\\>\\|Donat\\>\\|Atesa\\>\\|At\\%u00e8s\\>", "rule": "Rule", "scenario": "Escenari\\|Exemple", "scenario_outline": "Esquema de l'escenari", "then": "Aleshores\\>\\|Cal\\>", "when": "Quan\\>"}, - \"cs": {"and": "A tak\\%u00e9\\>\\|A\\>", "background": "Kontext\\|Pozad\\%u00ed", "but": "Ale\\>", "examples": "P\\%u0159\\%u00edklady", "feature": "Po\\%u017eadavek", "given": "Za p\\%u0159edpokladu\\>\\|Pokud\\>", "rule": "Pravidlo", "scenario": "P\\%u0159\\%u00edklad\\|Sc\\%u00e9n\\%u00e1\\%u0159", "scenario_outline": "Osnova sc\\%u00e9n\\%u00e1\\%u0159e\\|N\\%u00e1\\%u010drt Sc\\%u00e9n\\%u00e1\\%u0159e", "then": "Pak\\>", "when": "Kdy\\%u017e\\>"}, - \"cy-GB": {"and": "A\\>", "background": "Cefndir", "but": "Ond\\>", "examples": "Enghreifftiau", "feature": "Arwedd", "given": "Anrhegedig a\\>", "rule": "Rule", "scenario": "Enghraifft\\|Scenario", "scenario_outline": "Scenario Amlinellol", "then": "Yna\\>", "when": "Pryd\\>"}, - \"da": {"and": "Og\\>", "background": "Baggrund", "but": "Men\\>", "examples": "Eksempler", "feature": "Egenskab", "given": "Givet\\>", "rule": "Rule", "scenario": "Eksempel\\|Scenarie", "scenario_outline": "Abstrakt Scenario", "then": "S\\%u00e5\\>", "when": "N\\%u00e5r\\>"}, - \"de": {"and": "Und\\>", "background": "Voraussetzungen\\|Vorbedingungen\\|Hintergrund\\|Grundlage", "but": "Aber\\>", "examples": "Beispiele", "feature": "Funktionalit\\%u00e4t\\|Funktion", "given": "Gegeben seien\\>\\|Gegeben sei\\>\\|Angenommen\\>", "rule": "Regel\\|Rule", "scenario": "Beispiel\\|Szenario", "scenario_outline": "Szenariogrundriss\\|Szenarien", "then": "Dann\\>", "when": "Wenn\\>"}, - \"el": {"and": "\\%u039a\\%u03b1\\%u03b9\\>", "background": "\\%u03a5\\%u03c0\\%u03cc\\%u03b2\\%u03b1\\%u03b8\\%u03c1\\%u03bf", "but": "\\%u0391\\%u03bb\\%u03bb\\%u03ac\\>", "examples": "\\%u03a0\\%u03b1\\%u03c1\\%u03b1\\%u03b4\\%u03b5\\%u03af\\%u03b3\\%u03bc\\%u03b1\\%u03c4\\%u03b1\\|\\%u03a3\\%u03b5\\%u03bd\\%u03ac\\%u03c1\\%u03b9\\%u03b1", "feature": "\\%u0394\\%u03c5\\%u03bd\\%u03b1\\%u03c4\\%u03cc\\%u03c4\\%u03b7\\%u03c4\\%u03b1\\|\\%u039b\\%u03b5\\%u03b9\\%u03c4\\%u03bf\\%u03c5\\%u03c1\\%u03b3\\%u03af\\%u03b1", "given": "\\%u0394\\%u03b5\\%u03b4\\%u03bf\\%u03bc\\%u03ad\\%u03bd\\%u03bf\\%u03c5\\>", "rule": "Rule", "scenario": "\\%u03a0\\%u03b1\\%u03c1\\%u03ac\\%u03b4\\%u03b5\\%u03b9\\%u03b3\\%u03bc\\%u03b1\\|\\%u03a3\\%u03b5\\%u03bd\\%u03ac\\%u03c1\\%u03b9\\%u03bf", "scenario_outline": "\\%u03a0\\%u03b5\\%u03c1\\%u03af\\%u03b3\\%u03c1\\%u03b1\\%u03bc\\%u03bc\\%u03b1 \\%u03a3\\%u03b5\\%u03bd\\%u03b1\\%u03c1\\%u03af\\%u03bf\\%u03c5\\|\\%u03a0\\%u03b5\\%u03c1\\%u03b9\\%u03b3\\%u03c1\\%u03b1\\%u03c6\\%u03ae \\%u03a3\\%u03b5\\%u03bd\\%u03b1\\%u03c1\\%u03af\\%u03bf\\%u03c5", "then": "\\%u03a4\\%u03cc\\%u03c4\\%u03b5\\>", "when": "\\%u038c\\%u03c4\\%u03b1\\%u03bd\\>"}, - \"em": {"and": "\\%u1f602", "background": "\\%u1f4a4", "but": "\\%u1f614", "examples": "\\%u1f4d3", "feature": "\\%u1f4da", "given": "\\%u1f610", "rule": "Rule", "scenario": "\\%u1f952\\|\\%u1f4d5", "scenario_outline": "\\%u1f4d6", "then": "\\%u1f64f", "when": "\\%u1f3ac"}, - \"en-Scouse": {"and": "An\\>", "background": "Dis is what went down", "but": "Buh\\>", "examples": "Examples", "feature": "Feature", "given": "Youse know when youse got\\>\\|Givun\\>", "rule": "Rule", "scenario": "The thing of it is", "scenario_outline": "Wharrimean is", "then": "Den youse gotta\\>\\|Dun\\>", "when": "Youse know like when\\>\\|Wun\\>"}, - \"en-au": {"and": "Too right\\>", "background": "First off", "but": "Yeah nah\\>", "examples": "You'll wanna", "feature": "Pretty much", "given": "Y'know\\>", "rule": "Rule", "scenario": "Awww, look mate", "scenario_outline": "Reckon it's like", "then": "But at the end of the day I reckon\\>", "when": "It's just unbelievable\\>"}, - \"en-lol": {"and": "AN\\>", "background": "B4", "but": "BUT\\>", "examples": "EXAMPLZ", "feature": "OH HAI", "given": "I CAN HAZ\\>", "rule": "Rule", "scenario": "MISHUN", "scenario_outline": "MISHUN SRSLY", "then": "DEN\\>", "when": "WEN\\>"}, - \"en-old": {"and": "Ond\\>\\|7\\>", "background": "Aer\\|\\%u00c6r", "but": "Ac\\>", "examples": "Se the\\|Se \\%u00fee\\|Se \\%u00f0e", "feature": "Hwaet\\|Hw\\%u00e6t", "given": "Thurh\\>\\|\\%u00deurh\\>\\|\\%u00d0urh\\>", "rule": "Rule", "scenario": "Swa", "scenario_outline": "Swa hwaer swa\\|Swa hw\\%u00e6r swa", "then": "Tha the\\>\\|\\%u00dea \\%u00fee\\>\\|\\%u00d0a \\%u00f0e\\>\\|Tha\\>\\|\\%u00dea\\>\\|\\%u00d0a\\>", "when": "B\\%u00e6\\%u00fesealfa\\>\\|B\\%u00e6\\%u00fesealfe\\>\\|B\\%u00e6\\%u00fesealf\\>\\|Ciric\\%u00e6we\\>\\|Ciric\\%u00e6wa\\>\\|Ciric\\%u00e6w\\>"}, - \"en-pirate": {"and": "Aye\\>", "background": "Yo-ho-ho", "but": "Avast!\\>", "examples": "Dead men tell no tales", "feature": "Ahoy matey!", "given": "Gangway!\\>", "rule": "Rule", "scenario": "Heave to", "scenario_outline": "Shiver me timbers", "then": "Let go and haul\\>", "when": "Blimey!\\>"}, - \"en-tx": {"and": "Come hell or high water\\>", "background": "Lemme tell y'all a story", "but": "Well now hold on, I'll you what\\>", "examples": "Now that's a story longer than a cattle drive in July", "feature": "This ain\\%u2019t my first rodeo\\|All gussied up", "given": "All git out\\>\\|Fixin' to\\>", "rule": "Rule\\>", "scenario": "All hat and no cattle", "scenario_outline": "Busy as a hound in flea season\\|Serious as a snake bite", "then": "There\\%u2019s no tree but bears some fruit\\>", "when": "Quick out of the chute\\>"}, - \"eo": {"and": "Kaj\\>", "background": "Fono", "but": "Sed\\>", "examples": "Ekzemploj", "feature": "Trajto", "given": "Donita\\%u0135o\\>\\|Komence\\>", "rule": "Rule", "scenario": "Ekzemplo\\|Scenaro\\|Kazo", "scenario_outline": "Konturo de la scenaro\\|Kazo-skizo\\|Skizo", "then": "Do\\>", "when": "Se\\>"}, - \"es": {"and": "Y\\>\\|E\\>", "background": "Antecedentes", "but": "Pero\\>", "examples": "Ejemplos", "feature": "Necesidad del negocio\\|Caracter\\%u00edstica\\|Requisito", "given": "Dados\\>\\|Dadas\\>\\|Dado\\>\\|Dada\\>", "rule": "Regla de negocio\\|Regla", "scenario": "Escenario\\|Ejemplo", "scenario_outline": "Esquema del escenario", "then": "Entonces\\>", "when": "Cuando\\>"}, - \"et": {"and": "Ja\\>", "background": "Taust", "but": "Kuid\\>", "examples": "Juhtumid", "feature": "Omadus", "given": "Eeldades\\>", "rule": "Reegel", "scenario": "Stsenaarium\\|Juhtum", "scenario_outline": "Raamstsenaarium\\|Raamjuhtum", "then": "Siis\\>", "when": "Kui\\>"}, - \"fa": {"and": "\\%u0648\\>", "background": "\\%u0632\\%u0645\\%u06cc\\%u0646\\%u0647", "but": "\\%u0627\\%u0645\\%u0627\\>", "examples": "\\%u0646\\%u0645\\%u0648\\%u0646\\%u0647 \\%u0647\\%u0627", "feature": "\\%u0648\\%u0650\\%u06cc\\%u0698\\%u06af\\%u06cc", "given": "\\%u0628\\%u0627 \\%u0641\\%u0631\\%u0636\\>", "rule": "Rule", "scenario": "\\%u0633\\%u0646\\%u0627\\%u0631\\%u06cc\\%u0648\\|\\%u0645\\%u062b\\%u0627\\%u0644", "scenario_outline": "\\%u0627\\%u0644\\%u06af\\%u0648\\%u06cc \\%u0633\\%u0646\\%u0627\\%u0631\\%u06cc\\%u0648", "then": "\\%u0622\\%u0646\\%u06af\\%u0627\\%u0647\\>", "when": "\\%u0647\\%u0646\\%u06af\\%u0627\\%u0645\\%u06cc\\>"}, - \"fi": {"and": "Ja\\>", "background": "Tausta", "but": "Mutta\\>", "examples": "Tapaukset", "feature": "Ominaisuus", "given": "Oletetaan\\>", "rule": "Rule", "scenario": "Tapaus", "scenario_outline": "Tapausaihio", "then": "Niin\\>", "when": "Kun\\>"}, - \"fr": {"and": "Et que\\>\\|Et qu'\\|Et\\>", "background": "Contexte", "but": "Mais que\\>\\|Mais qu'\\|Mais\\>", "examples": "Exemples", "feature": "Fonctionnalit\\%u00e9", "given": "Etant donn\\%u00e9 que\\>\\|\\%u00c9tant donn\\%u00e9 que\\>\\|Etant donn\\%u00e9 qu'\\|\\%u00c9tant donn\\%u00e9 qu'\\|Etant donn\\%u00e9es\\>\\|\\%u00c9tant donn\\%u00e9es\\>\\|Etant donn\\%u00e9e\\>\\|Etant donn\\%u00e9s\\>\\|\\%u00c9tant donn\\%u00e9e\\>\\|\\%u00c9tant donn\\%u00e9s\\>\\|Sachant que\\>\\|Etant donn\\%u00e9\\>\\|\\%u00c9tant donn\\%u00e9\\>\\|Sachant qu'\\|Sachant\\>\\|Soit\\>", "rule": "R\\%u00e8gle", "scenario": "Sc\\%u00e9nario\\|Exemple", "scenario_outline": "Plan du sc\\%u00e9nario\\|Plan du Sc\\%u00e9nario", "then": "Alors\\>\\|Donc\\>", "when": "Lorsque\\>\\|Lorsqu'\\|Quand\\>"}, - \"ga": {"and": "Agus", "background": "C\\%u00falra", "but": "Ach", "examples": "Sampla\\%u00ed", "feature": "Gn\\%u00e9", "given": "Cuir i gc\\%u00e1s nach\\|Cuir i gc\\%u00e1s gur\\|Cuir i gc\\%u00e1s n\\%u00e1r\\|Cuir i gc\\%u00e1s go", "rule": "Rule", "scenario": "Sampla\\|C\\%u00e1s", "scenario_outline": "C\\%u00e1s Achomair", "then": "Ansin", "when": "Nuair nach\\|Nuair n\\%u00e1r\\|Nuair ba\\|Nuair a"}, - \"gj": {"and": "\\%u0a85\\%u0aa8\\%u0ac7\\>", "background": "\\%u0aac\\%u0ac7\\%u0a95\\%u0a97\\%u0acd\\%u0ab0\\%u0abe\\%u0a89\\%u0aa8\\%u0acd\\%u0aa1", "but": "\\%u0aaa\\%u0aa3\\>", "examples": "\\%u0a89\\%u0aa6\\%u0abe\\%u0ab9\\%u0ab0\\%u0aa3\\%u0acb", "feature": "\\%u0ab5\\%u0acd\\%u0aaf\\%u0abe\\%u0aaa\\%u0abe\\%u0ab0 \\%u0a9c\\%u0ab0\\%u0ac2\\%u0ab0\\|\\%u0a95\\%u0acd\\%u0ab7\\%u0aae\\%u0aa4\\%u0abe\\|\\%u0ab2\\%u0a95\\%u0acd\\%u0ab7\\%u0aa3", "given": "\\%u0a86\\%u0aaa\\%u0ac7\\%u0ab2 \\%u0a9b\\%u0ac7\\>", "rule": "Rule", "scenario": "\\%u0a89\\%u0aa6\\%u0abe\\%u0ab9\\%u0ab0\\%u0aa3\\|\\%u0ab8\\%u0acd\\%u0aa5\\%u0abf\\%u0aa4\\%u0abf", "scenario_outline": "\\%u0aaa\\%u0ab0\\%u0abf\\%u0aa6\\%u0acd\\%u0aa6\\%u0ab6\\%u0acd\\%u0aaf \\%u0ab0\\%u0ac2\\%u0aaa\\%u0ab0\\%u0ac7\\%u0a96\\%u0abe\\|\\%u0aaa\\%u0ab0\\%u0abf\\%u0aa6\\%u0acd\\%u0aa6\\%u0ab6\\%u0acd\\%u0aaf \\%u0aa2\\%u0abe\\%u0a82\\%u0a9a\\%u0acb", "then": "\\%u0aaa\\%u0a9b\\%u0ac0\\>", "when": "\\%u0a95\\%u0acd\\%u0aaf\\%u0abe\\%u0ab0\\%u0ac7\\>"}, - \"gl": {"and": "E\\>", "background": "Contexto", "but": "Mais\\>\\|Pero\\>", "examples": "Exemplos", "feature": "Caracter\\%u00edstica", "given": "Dados\\>\\|Dadas\\>\\|Dado\\>\\|Dada\\>", "rule": "Rule", "scenario": "Escenario\\|Exemplo", "scenario_outline": "Esbozo do escenario", "then": "Ent\\%u00f3n\\>\\|Logo\\>", "when": "Cando\\>"}, - \"he": {"and": "\\%u05d5\\%u05d2\\%u05dd\\>", "background": "\\%u05e8\\%u05e7\\%u05e2", "but": "\\%u05d0\\%u05d1\\%u05dc\\>", "examples": "\\%u05d3\\%u05d5\\%u05d2\\%u05de\\%u05d0\\%u05d5\\%u05ea", "feature": "\\%u05ea\\%u05db\\%u05d5\\%u05e0\\%u05d4", "given": "\\%u05d1\\%u05d4\\%u05d9\\%u05e0\\%u05ea\\%u05df\\>", "rule": "\\%u05db\\%u05dc\\%u05dc", "scenario": "\\%u05d3\\%u05d5\\%u05d2\\%u05de\\%u05d0\\|\\%u05ea\\%u05e8\\%u05d7\\%u05d9\\%u05e9", "scenario_outline": "\\%u05ea\\%u05d1\\%u05e0\\%u05d9\\%u05ea \\%u05ea\\%u05e8\\%u05d7\\%u05d9\\%u05e9", "then": "\\%u05d0\\%u05d6\\%u05d9\\>\\|\\%u05d0\\%u05d6\\>", "when": "\\%u05db\\%u05d0\\%u05e9\\%u05e8\\>"}, - \"hi": {"and": "\\%u0924\\%u0925\\%u093e\\>\\|\\%u0914\\%u0930\\>", "background": "\\%u092a\\%u0943\\%u0937\\%u094d\\%u0920\\%u092d\\%u0942\\%u092e\\%u093f", "but": "\\%u092a\\%u0930\\%u0928\\%u094d\\%u0924\\%u0941\\>\\|\\%u0915\\%u093f\\%u0928\\%u094d\\%u0924\\%u0941\\>\\|\\%u092a\\%u0930\\>", "examples": "\\%u0909\\%u0926\\%u093e\\%u0939\\%u0930\\%u0923", "feature": "\\%u0930\\%u0942\\%u092a \\%u0932\\%u0947\\%u0916", "given": "\\%u091a\\%u0942\\%u0902\\%u0915\\%u093f\\>\\|\\%u0905\\%u0917\\%u0930\\>\\|\\%u092f\\%u0926\\%u093f\\>", "rule": "\\%u0928\\%u093f\\%u092f\\%u092e", "scenario": "\\%u092a\\%u0930\\%u093f\\%u0926\\%u0943\\%u0936\\%u094d\\%u092f", "scenario_outline": "\\%u092a\\%u0930\\%u093f\\%u0926\\%u0943\\%u0936\\%u094d\\%u092f \\%u0930\\%u0942\\%u092a\\%u0930\\%u0947\\%u0916\\%u093e", "then": "\\%u0924\\%u0926\\%u093e\\>\\|\\%u0924\\%u092c\\>", "when": "\\%u0915\\%u0926\\%u093e\\>\\|\\%u091c\\%u092c\\>"}, - \"hr": {"and": "I\\>", "background": "Pozadina", "but": "Ali\\>", "examples": "Scenariji\\|Primjeri", "feature": "Mogu\\%u0107nost\\|Mogucnost\\|Osobina", "given": "Ukoliko\\>\\|Zadani\\>\\|Zadano\\>\\|Zadan\\>", "rule": "Rule", "scenario": "Scenarij\\|Primjer", "scenario_outline": "Koncept\\|Skica", "then": "Onda\\>", "when": "Kada\\>\\|Kad\\>"}, - \"ht": {"and": "Epi\\>\\|Ak\\>\\|E\\>", "background": "Kont\\%u00e8ks\\|Istorik", "but": "Men\\>", "examples": "Egzanp", "feature": "Karakteristik\\|Fonksyonalite\\|Mak", "given": "Sipoze ke\\>\\|Sipoze Ke\\>\\|Sipoze\\>", "rule": "Rule", "scenario": "Senaryo", "scenario_outline": "Senaryo deskripsyon\\|Senaryo Deskripsyon\\|Dyagram senaryo\\|Dyagram Senaryo\\|Plan senaryo\\|Plan Senaryo", "then": "L\\%u00e8 sa a\\>\\|Le sa a\\>", "when": "L\\%u00e8\\>\\|Le\\>"}, - \"hu": {"and": "\\%u00c9s\\>", "background": "H\\%u00e1tt\\%u00e9r", "but": "De\\>", "examples": "P\\%u00e9ld\\%u00e1k", "feature": "Jellemz\\%u0151", "given": "Amennyiben\\>\\|Adott\\>", "rule": "Szab\\%u00e1ly", "scenario": "Forgat\\%u00f3k\\%u00f6nyv\\|P\\%u00e9lda", "scenario_outline": "Forgat\\%u00f3k\\%u00f6nyv v\\%u00e1zlat", "then": "Akkor\\>", "when": "Amikor\\>\\|Majd\\>\\|Ha\\>"}, - \"id": {"and": "Dan\\>", "background": "Latar Belakang\\|Dasar", "but": "Tetapi\\>\\|Tapi\\>", "examples": "Contoh\\|Misal", "feature": "Fitur", "given": "Diasumsikan\\>\\|Diketahui\\>\\|Dengan\\>\\|Bila\\>\\|Jika\\>", "rule": "Aturan\\|Rule", "scenario": "Skenario", "scenario_outline": "Garis-Besar Skenario\\|Skenario konsep", "then": "Kemudian\\>\\|Maka\\>", "when": "Ketika\\>"}, - \"is": {"and": "Og\\>", "background": "Bakgrunnur", "but": "En\\>", "examples": "Atbur\\%u00f0ar\\%u00e1sir\\|D\\%u00e6mi", "feature": "Eiginleiki", "given": "Ef\\>", "rule": "Rule", "scenario": "Atbur\\%u00f0ar\\%u00e1s", "scenario_outline": "L\\%u00fdsing Atbur\\%u00f0ar\\%u00e1sar\\|L\\%u00fdsing D\\%u00e6ma", "then": "\\%u00de\\%u00e1\\>", "when": "\\%u00deegar\\>"}, - \"it": {"and": "E\\>", "background": "Contesto", "but": "Ma\\>", "examples": "Esempi", "feature": "Esigenza di Business\\|Funzionalit\\%u00e0\\|Abilit\\%u00e0", "given": "Dato\\>\\|Data\\>\\|Dati\\>\\|Date\\>", "rule": "Regola", "scenario": "Scenario\\|Esempio", "scenario_outline": "Schema dello scenario", "then": "Allora\\>", "when": "Quando\\>"}, - \"ja": {"and": "\\%u4e14\\%u3064\\|\\%u304b\\%u3064", "background": "\\%u80cc\\%u666f", "but": "\\%u3057\\%u304b\\%u3057\\|\\%u305f\\%u3060\\%u3057\\|\\%u7136\\%u3057\\|\\%u4f46\\%u3057", "examples": "\\%u30b5\\%u30f3\\%u30d7\\%u30eb\\|\\%u4f8b", "feature": "\\%u30d5\\%u30a3\\%u30fc\\%u30c1\\%u30e3\\|\\%u6a5f\\%u80fd", "given": "\\%u524d\\%u63d0", "rule": "\\%u30eb\\%u30fc\\%u30eb", "scenario": "\\%u30b7\\%u30ca\\%u30ea\\%u30aa", "scenario_outline": "\\%u30b7\\%u30ca\\%u30ea\\%u30aa\\%u30a2\\%u30a6\\%u30c8\\%u30e9\\%u30a4\\%u30f3\\|\\%u30b7\\%u30ca\\%u30ea\\%u30aa\\%u30c6\\%u30f3\\%u30d7\\%u30ec\\%u30fc\\%u30c8\\|\\%u30b7\\%u30ca\\%u30ea\\%u30aa\\%u30c6\\%u30f3\\%u30d7\\%u30ec\\|\\%u30c6\\%u30f3\\%u30d7\\%u30ec", "then": "\\%u306a\\%u3089\\%u3070", "when": "\\%u3082\\%u3057"}, - \"jv": {"and": "Lan\\>", "background": "Dasar", "but": "Ananging\\>\\|Nanging\\>\\|Tapi\\>", "examples": "Contone\\|Conto", "feature": "Fitur", "given": "Nalikaning\\>\\|Nalika\\>", "rule": "Rule", "scenario": "Skenario", "scenario_outline": "Konsep skenario", "then": "Banjur\\>\\|Njuk\\>", "when": "Manawa\\>\\|Menawa\\>"}, - \"ka": {"and": "\\%u10d0\\%u10e1\\%u10d4\\%u10d5\\%u10d4\\>\\|\\%u10d3\\%u10d0\\>", "background": "\\%u10d9\\%u10dd\\%u10dc\\%u10e2\\%u10d4\\%u10e5\\%u10e1\\%u10e2\\%u10d8", "but": "\\%u10db\\%u10d0\\%u10d2\\%u10e0\\%u10d0\\%u10db\\>\\|\\%u10d7\\%u10e3\\%u10db\\%u10ea\\%u10d0\\>", "examples": "\\%u10db\\%u10d0\\%u10d2\\%u10d0\\%u10da\\%u10d8\\%u10d7\\%u10d4\\%u10d1\\%u10d8", "feature": "\\%u10db\\%u10dd\\%u10d7\\%u10ee\\%u10dd\\%u10d5\\%u10dc\\%u10d0\\|\\%u10d7\\%u10d5\\%u10d8\\%u10e1\\%u10d4\\%u10d1\\%u10d0", "given": "\\%u10db\\%u10dd\\%u10ea\\%u10d4\\%u10db\\%u10e3\\%u10da\\%u10d8\\%u10d0\\>\\|\\%u10db\\%u10dd\\%u10ea\\%u10d4\\%u10db\\%u10e3\\%u10da\\%u10d8\\>\\|\\%u10d5\\%u10d7\\%u10e5\\%u10d5\\%u10d0\\%u10d7\\>", "rule": "\\%u10ec\\%u10d4\\%u10e1\\%u10d8", "scenario": "\\%u10db\\%u10d0\\%u10d2\\%u10d0\\%u10da\\%u10d8\\%u10d7\\%u10d0\\%u10d3\\|\\%u10db\\%u10d0\\%u10d2\\%u10d0\\%u10da\\%u10d8\\%u10d7\\%u10d8\\|\\%u10e1\\%u10ea\\%u10d4\\%u10dc\\%u10d0\\%u10e0\\%u10d8\\|\\%u10db\\%u10d0\\%u10d2", "scenario_outline": "\\%u10e1\\%u10ea\\%u10d4\\%u10dc\\%u10d0\\%u10e0\\%u10d8\\%u10e1 \\%u10e8\\%u10d0\\%u10d1\\%u10da\\%u10dd\\%u10dc\\%u10d8\\|\\%u10e1\\%u10ea\\%u10d4\\%u10dc\\%u10d0\\%u10e0\\%u10d8\\%u10e1 \\%u10dc\\%u10d8\\%u10db\\%u10e3\\%u10e8\\%u10d8\\|\\%u10e8\\%u10d0\\%u10d1\\%u10da\\%u10dd\\%u10dc\\%u10d8\\|\\%u10dc\\%u10d8\\%u10db\\%u10e3\\%u10e8\\%u10d8", "then": "\\%u10db\\%u10d0\\%u10e8\\%u10d8\\%u10dc\\>", "when": "\\%u10e0\\%u10dd\\%u10d2\\%u10dd\\%u10e0\\%u10ea \\%u10d9\\%u10d8\\>\\|\\%u10e0\\%u10dd\\%u10d3\\%u10d4\\%u10e1\\%u10d0\\%u10ea\\>\\|\\%u10e0\\%u10dd\\%u10ea\\%u10d0\\>\\|\\%u10d7\\%u10e3\\>"}, - \"kn": {"and": "\\%u0cae\\%u0ca4\\%u0ccd\\%u0ca4\\%u0cc1\\>", "background": "\\%u0cb9\\%u0cbf\\%u0ca8\\%u0ccd\\%u0ca8\\%u0cc6\\%u0cb2\\%u0cc6", "but": "\\%u0c86\\%u0ca6\\%u0cb0\\%u0cc6\\>", "examples": "\\%u0c89\\%u0ca6\\%u0cbe\\%u0cb9\\%u0cb0\\%u0ca3\\%u0cc6\\%u0c97\\%u0cb3\\%u0cc1", "feature": "\\%u0cb9\\%u0cc6\\%u0c9a\\%u0ccd\\%u0c9a\\%u0cb3", "given": "\\%u0ca8\\%u0cbf\\%u0cd5\\%u0ca1\\%u0cbf\\%u0ca6\\>", "rule": "Rule", "scenario": "\\%u0c95\\%u0ca5\\%u0cbe\\%u0cb8\\%u0cbe\\%u0cb0\\%u0cbe\\%u0c82\\%u0cb6\\|\\%u0c89\\%u0ca6\\%u0cbe\\%u0cb9\\%u0cb0\\%u0ca3\\%u0cc6", "scenario_outline": "\\%u0cb5\\%u0cbf\\%u0cb5\\%u0cb0\\%u0ca3\\%u0cc6", "then": "\\%u0ca8\\%u0c82\\%u0ca4\\%u0cb0\\>", "when": "\\%u0cb8\\%u0ccd\\%u0ca5\\%u0cbf\\%u0ca4\\%u0cbf\\%u0caf\\%u0ca8\\%u0ccd\\%u0ca8\\%u0cc1\\>"}, - \"ko": {"and": "\\%uadf8\\%ub9ac\\%uace0", "background": "\\%ubc30\\%uacbd", "but": "\\%ud558\\%uc9c0\\%ub9cc\\|\\%ub2e8", "examples": "\\%uc608", "feature": "\\%uae30\\%ub2a5", "given": "\\%uc870\\%uac74\\|\\%uba3c\\%uc800", "rule": "Rule", "scenario": "\\%uc2dc\\%ub098\\%ub9ac\\%uc624", "scenario_outline": "\\%uc2dc\\%ub098\\%ub9ac\\%uc624 \\%uac1c\\%uc694", "then": "\\%uadf8\\%ub7ec\\%uba74", "when": "\\%ub9cc\\%uc77c\\|\\%ub9cc\\%uc57d"}, - \"lt": {"and": "Ir\\>", "background": "Kontekstas", "but": "Bet\\>", "examples": "Pavyzd\\%u017eiai\\|Scenarijai\\|Variantai", "feature": "Savyb\\%u0117", "given": "Duota\\>", "rule": "Rule", "scenario": "Scenarijus\\|Pavyzdys", "scenario_outline": "Scenarijaus \\%u0161ablonas", "then": "Tada\\>", "when": "Kai\\>"}, - \"lu": {"and": "an\\>\\|a\\>", "background": "Hannergrond", "but": "awer\\>\\|m\\%u00e4\\>", "examples": "Beispiller", "feature": "Funktionalit\\%u00e9it", "given": "ugeholl\\>", "rule": "Rule", "scenario": "Beispill\\|Szenario", "scenario_outline": "Plang vum Szenario", "then": "dann\\>", "when": "wann\\>"}, - \"lv": {"and": "Un\\>", "background": "Konteksts\\|Situ\\%u0101cija", "but": "Bet\\>", "examples": "Piem\\%u0113ri\\|Paraugs", "feature": "Funkcionalit\\%u0101te\\|F\\%u012b\\%u010da", "given": "Kad\\>", "rule": "Rule", "scenario": "Scen\\%u0101rijs\\|Piem\\%u0113rs", "scenario_outline": "Scen\\%u0101rijs p\\%u0113c parauga", "then": "Tad\\>", "when": "Ja\\>"}, - \"mk-Cyrl": {"and": "\\%u0418\\>", "background": "\\%u041a\\%u043e\\%u043d\\%u0442\\%u0435\\%u043a\\%u0441\\%u0442\\|\\%u0421\\%u043e\\%u0434\\%u0440\\%u0436\\%u0438\\%u043d\\%u0430", "but": "\\%u041d\\%u043e\\>", "examples": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0458\\%u0430\\|\\%u041f\\%u0440\\%u0438\\%u043c\\%u0435\\%u0440\\%u0438", "feature": "\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446\\%u0438\\%u043e\\%u043d\\%u0430\\%u043b\\%u043d\\%u043e\\%u0441\\%u0442\\|\\%u0411\\%u0438\\%u0437\\%u043d\\%u0438\\%u0441 \\%u043f\\%u043e\\%u0442\\%u0440\\%u0435\\%u0431\\%u0430\\|\\%u041c\\%u043e\\%u0436\\%u043d\\%u043e\\%u0441\\%u0442", "given": "\\%u0414\\%u0430\\%u0434\\%u0435\\%u043d\\%u043e\\>\\|\\%u0414\\%u0430\\%u0434\\%u0435\\%u043d\\%u0430\\>", "rule": "Rule", "scenario": "\\%u041d\\%u0430 \\%u043f\\%u0440\\%u0438\\%u043c\\%u0435\\%u0440\\|\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u043e\\|\\%u041f\\%u0440\\%u0438\\%u043c\\%u0435\\%u0440", "scenario_outline": "\\%u041f\\%u0440\\%u0435\\%u0433\\%u043b\\%u0435\\%u0434 \\%u043d\\%u0430 \\%u0441\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0458\\%u0430\\|\\%u041a\\%u043e\\%u043d\\%u0446\\%u0435\\%u043f\\%u0442\\|\\%u0421\\%u043a\\%u0438\\%u0446\\%u0430", "then": "\\%u0422\\%u043e\\%u0433\\%u0430\\%u0448\\>", "when": "\\%u041a\\%u043e\\%u0433\\%u0430\\>"}, - \"mk-Latn": {"and": "I\\>", "background": "Sodrzhina\\|Kontekst", "but": "No\\>", "examples": "Scenaria\\|Primeri", "feature": "Funkcionalnost\\|Biznis potreba\\|Mozhnost", "given": "Dadeno\\>\\|Dadena\\>", "rule": "Rule", "scenario": "Na primer\\|Scenario", "scenario_outline": "Pregled na scenarija\\|Koncept\\|Skica", "then": "Togash\\>", "when": "Koga\\>"}, - \"mn": {"and": "\\%u0422\\%u044d\\%u0433\\%u044d\\%u044d\\%u0434\\>\\|\\%u041c\\%u04e9\\%u043d\\>", "background": "\\%u0410\\%u0433\\%u0443\\%u0443\\%u043b\\%u0433\\%u0430", "but": "\\%u0413\\%u044d\\%u0445\\%u0434\\%u044d\\%u044d\\>\\|\\%u0425\\%u0430\\%u0440\\%u0438\\%u043d\\>", "examples": "\\%u0422\\%u0443\\%u0445\\%u0430\\%u0439\\%u043b\\%u0431\\%u0430\\%u043b", "feature": "\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446\\%u0438\\%u043e\\%u043d\\%u0430\\%u043b\\|\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446", "given": "\\%u04e8\\%u0433\\%u04e9\\%u0433\\%u0434\\%u0441\\%u04e9\\%u043d \\%u043d\\%u044c\\>\\|\\%u0410\\%u043d\\%u0445\\>", "rule": "Rule", "scenario": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440", "scenario_outline": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u044b\\%u043d \\%u0442\\%u04e9\\%u043b\\%u04e9\\%u0432\\%u043b\\%u04e9\\%u0433\\%u04e9\\%u04e9", "then": "\\%u04ae\\%u04af\\%u043d\\%u0438\\%u0439 \\%u0434\\%u0430\\%u0440\\%u0430\\%u0430\\>\\|\\%u0422\\%u044d\\%u0433\\%u044d\\%u0445\\%u044d\\%u0434\\>", "when": "\\%u0425\\%u044d\\%u0440\\%u044d\\%u0432\\>"}, - \"mr": {"and": "\\%u0924\\%u0938\\%u0947\\%u091a\\>\\|\\%u0906\\%u0923\\%u093f\\>", "background": "\\%u092a\\%u093e\\%u0930\\%u094d\\%u0936\\%u094d\\%u0935\\%u092d\\%u0942\\%u092e\\%u0940", "but": "\\%u092a\\%u0930\\%u0902\\%u0924\\%u0941\\>\\|\\%u092a\\%u0923\\>", "examples": "\\%u0909\\%u0926\\%u093e\\%u0939\\%u0930\\%u0923", "feature": "\\%u0935\\%u0948\\%u0936\\%u093f\\%u0937\\%u094d\\%u091f\\%u094d\\%u092f\\|\\%u0938\\%u0941\\%u0935\\%u093f\\%u0927\\%u093e", "given": "\\%u0926\\%u093f\\%u0932\\%u0947\\%u0932\\%u094d\\%u092f\\%u093e \\%u092a\\%u094d\\%u0930\\%u092e\\%u093e\\%u0923\\%u0947\\>\\|\\%u091c\\%u0930", "rule": "\\%u0928\\%u093f\\%u092f\\%u092e", "scenario": "\\%u092a\\%u0930\\%u093f\\%u0926\\%u0943\\%u0936\\%u094d\\%u092f", "scenario_outline": "\\%u092a\\%u0930\\%u093f\\%u0926\\%u0943\\%u0936\\%u094d\\%u092f \\%u0930\\%u0942\\%u092a\\%u0930\\%u0947\\%u0916\\%u093e", "then": "\\%u0924\\%u0947\\%u0935\\%u094d\\%u0939\\%u093e\\>\\|\\%u092e\\%u0917\\>", "when": "\\%u091c\\%u0947\\%u0935\\%u094d\\%u0939\\%u093e\\>"}, - \"ne": {"and": "\\%u0905\\%u0928\\%u093f\\>\\|\\%u0930\\>", "background": "\\%u092a\\%u0943\\%u0937\\%u094d\\%u0920\\%u092d\\%u0942\\%u092e\\%u0940", "but": "\\%u0924\\%u0930\\>", "examples": "\\%u0909\\%u0926\\%u093e\\%u0939\\%u0930\\%u0923\\%u0939\\%u0930\\%u0941\\|\\%u0909\\%u0926\\%u093e\\%u0939\\%u0930\\%u0923", "feature": "\\%u0935\\%u093f\\%u0936\\%u0947\\%u0937\\%u0924\\%u093e\\|\\%u0938\\%u0941\\%u0935\\%u093f\\%u0927\\%u093e", "given": "\\%u0926\\%u093f\\%u0907\\%u090f\\%u0915\\%u094b\\>\\|\\%u0926\\%u093f\\%u090f\\%u0915\\%u094b\\>\\|\\%u092f\\%u0926\\%u093f\\>", "rule": "\\%u0928\\%u093f\\%u092f\\%u092e", "scenario": "\\%u092a\\%u0930\\%u093f\\%u0926\\%u0943\\%u0936\\%u094d\\%u092f", "scenario_outline": "\\%u092a\\%u0930\\%u093f\\%u0926\\%u0943\\%u0936\\%u094d\\%u092f \\%u0930\\%u0942\\%u092a\\%u0930\\%u0947\\%u0916\\%u093e", "then": "\\%u0924\\%u094d\\%u092f\\%u0938\\%u092a\\%u091b\\%u093f\\>\\|\\%u0905\\%u0928\\%u0940\\>", "when": "\\%u091c\\%u092c\\>"}, - \"nl": {"and": "En\\>", "background": "Achtergrond", "but": "Maar\\>", "examples": "Voorbeelden", "feature": "Functionaliteit", "given": "Gegeven\\>\\|Stel\\>", "rule": "Rule", "scenario": "Voorbeeld\\|Scenario", "scenario_outline": "Abstract Scenario", "then": "Dan\\>", "when": "Wanneer\\>\\|Als\\>"}, - \"no": {"and": "Og\\>", "background": "Bakgrunn", "but": "Men\\>", "examples": "Eksempler", "feature": "Egenskap", "given": "Gitt\\>", "rule": "Regel", "scenario": "Eksempel\\|Scenario", "scenario_outline": "Abstrakt Scenario\\|Scenariomal", "then": "S\\%u00e5\\>", "when": "N\\%u00e5r\\>"}, - \"pa": {"and": "\\%u0a05\\%u0a24\\%u0a47\\>", "background": "\\%u0a2a\\%u0a3f\\%u0a1b\\%u0a4b\\%u0a15\\%u0a5c", "but": "\\%u0a2a\\%u0a30\\>", "examples": "\\%u0a09\\%u0a26\\%u0a3e\\%u0a39\\%u0a30\\%u0a28\\%u0a3e\\%u0a02", "feature": "\\%u0a28\\%u0a15\\%u0a36 \\%u0a28\\%u0a41\\%u0a39\\%u0a3e\\%u0a30\\|\\%u0a2e\\%u0a41\\%u0a39\\%u0a3e\\%u0a02\\%u0a26\\%u0a30\\%u0a3e\\|\\%u0a16\\%u0a3e\\%u0a38\\%u0a40\\%u0a05\\%u0a24", "given": "\\%u0a1c\\%u0a3f\\%u0a35\\%u0a47\\%u0a02 \\%u0a15\\%u0a3f\\>\\|\\%u0a1c\\%u0a47\\%u0a15\\%u0a30\\>", "rule": "Rule", "scenario": "\\%u0a09\\%u0a26\\%u0a3e\\%u0a39\\%u0a30\\%u0a28\\|\\%u0a2a\\%u0a1f\\%u0a15\\%u0a25\\%u0a3e", "scenario_outline": "\\%u0a2a\\%u0a1f\\%u0a15\\%u0a25\\%u0a3e \\%u0a30\\%u0a42\\%u0a2a \\%u0a30\\%u0a47\\%u0a16\\%u0a3e\\|\\%u0a2a\\%u0a1f\\%u0a15\\%u0a25\\%u0a3e \\%u0a22\\%u0a3e\\%u0a02\\%u0a1a\\%u0a3e", "then": "\\%u0a24\\%u0a26\\>", "when": "\\%u0a1c\\%u0a26\\%u0a4b\\%u0a02\\>"}, - \"pl": {"and": "Oraz\\>\\|I\\>", "background": "Za\\%u0142o\\%u017cenia", "but": "Ale\\>", "examples": "Przyk\\%u0142ady", "feature": "Potrzeba biznesowa\\|W\\%u0142a\\%u015bciwo\\%u015b\\%u0107\\|Funkcja\\|Aspekt", "given": "Zak\\%u0142adaj\\%u0105c, \\%u017ce\\>\\|Zak\\%u0142adaj\\%u0105c\\>\\|Maj\\%u0105c\\>", "rule": "Zasada\\|Regu\\%u0142a", "scenario": "Scenariusz\\|Przyk\\%u0142ad", "scenario_outline": "Szablon scenariusza", "then": "Wtedy\\>", "when": "Je\\%u017celi\\>\\|Je\\%u015bli\\>\\|Kiedy\\>\\|Gdy\\>"}, - \"pt": {"and": "E\\>", "background": "Cen\\%u00e1rio de Fundo\\|Cenario de Fundo\\|Contexto\\|Fundo", "but": "Mas\\>", "examples": "Exemplos\\|Cen\\%u00e1rios\\|Cenarios", "feature": "Funcionalidade\\|Caracter\\%u00edstica\\|Caracteristica", "given": "Dados\\>\\|Dadas\\>\\|Dado\\>\\|Dada\\>", "rule": "Regra", "scenario": "Exemplo\\|Cen\\%u00e1rio\\|Cenario", "scenario_outline": "Delinea\\%u00e7\\%u00e3o do Cen\\%u00e1rio\\|Delineacao do Cenario\\|Esquema do Cen\\%u00e1rio\\|Esquema do Cenario", "then": "Ent\\%u00e3o\\>\\|Entao\\>", "when": "Quando\\>"}, - \"ro": {"and": "Si\\>\\|\\%u0218i\\>\\|\\%u015ei\\>", "background": "Context", "but": "Dar\\>", "examples": "Exemple", "feature": "Functionalitate\\|Func\\%u021bionalitate\\|Func\\%u0163ionalitate", "given": "Date fiind\\>\\|Dati fiind\\>\\|Da\\%u021bi fiind\\>\\|Da\\%u0163i fiind\\>\\|Dat fiind\\>\\|Dat\\%u0103 fiind", "rule": "Rule", "scenario": "Scenariu\\|Exemplu", "scenario_outline": "Structura scenariu\\|Structur\\%u0103 scenariu", "then": "Atunci\\>", "when": "Cand\\>\\|C\\%u00e2nd\\>"}, - \"ru": {"and": "\\%u041a \\%u0442\\%u043e\\%u043c\\%u0443 \\%u0436\\%u0435\\>\\|\\%u0422\\%u0430\\%u043a\\%u0436\\%u0435\\>\\|\\%u0418\\>", "background": "\\%u041f\\%u0440\\%u0435\\%u0434\\%u044b\\%u0441\\%u0442\\%u043e\\%u0440\\%u0438\\%u044f\\|\\%u041a\\%u043e\\%u043d\\%u0442\\%u0435\\%u043a\\%u0441\\%u0442", "but": "\\%u0418\\%u043d\\%u0430\\%u0447\\%u0435\\>\\|\\%u041d\\%u043e\\>\\|\\%u0410\\>", "examples": "\\%u041f\\%u0440\\%u0438\\%u043c\\%u0435\\%u0440\\%u044b", "feature": "\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446\\%u0438\\%u043e\\%u043d\\%u0430\\%u043b\\%u044c\\%u043d\\%u043e\\%u0441\\%u0442\\%u044c\\|\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446\\%u0438\\%u043e\\%u043d\\%u0430\\%u043b\\|\\%u0421\\%u0432\\%u043e\\%u0439\\%u0441\\%u0442\\%u0432\\%u043e\\|\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446\\%u0438\\%u044f\\|\\%u0424\\%u0438\\%u0447\\%u0430", "given": "\\%u0414\\%u043e\\%u043f\\%u0443\\%u0441\\%u0442\\%u0438\\%u043c\\>\\|\\%u041f\\%u0443\\%u0441\\%u0442\\%u044c\\>\\|\\%u0414\\%u0430\\%u043d\\%u043e\\>", "rule": "\\%u041f\\%u0440\\%u0430\\%u0432\\%u0438\\%u043b\\%u043e", "scenario": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0439\\|\\%u041f\\%u0440\\%u0438\\%u043c\\%u0435\\%u0440", "scenario_outline": "\\%u0421\\%u0442\\%u0440\\%u0443\\%u043a\\%u0442\\%u0443\\%u0440\\%u0430 \\%u0441\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u044f\\|\\%u0428\\%u0430\\%u0431\\%u043b\\%u043e\\%u043d \\%u0441\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u044f", "then": "\\%u0417\\%u0430\\%u0442\\%u0435\\%u043c\\>\\|\\%u0422\\%u043e\\%u0433\\%u0434\\%u0430\\>\\|\\%u0422\\%u043e\\>", "when": "\\%u041a\\%u043e\\%u0433\\%u0434\\%u0430\\>\\|\\%u0415\\%u0441\\%u043b\\%u0438\\>"}, - \"sk": {"and": "A taktie\\%u017e\\>\\|A z\\%u00e1rove\\%u0148\\>\\|A tie\\%u017e\\>\\|A\\>", "background": "Pozadie", "but": "Ale\\>", "examples": "Pr\\%u00edklady", "feature": "Po\\%u017eiadavka\\|Vlastnos\\%u0165\\|Funkcia", "given": "Za predpokladu\\>\\|Pokia\\%u013e\\>", "rule": "Rule", "scenario": "Pr\\%u00edklad\\|Scen\\%u00e1r", "scenario_outline": "Osnova Scen\\%u00e1ra\\|N\\%u00e1\\%u010drt Scen\\%u00e1ru\\|N\\%u00e1\\%u010drt Scen\\%u00e1ra", "then": "Potom\\>\\|Tak\\>", "when": "Ke\\%u010f\\>\\|Ak\\>"}, - \"sl": {"and": "Ter\\>\\|In\\>", "background": "Kontekst\\|Osnova\\|Ozadje", "but": "Vendar\\>\\|Ampak\\>\\|Toda\\>", "examples": "Scenariji\\|Primeri", "feature": "Funkcionalnost\\|Zna\\%u010dilnost\\|Funkcija\\|Mo\\%u017enosti\\|Moznosti\\|Lastnost", "given": "Privzeto\\>\\|Podano\\>\\|Zaradi\\>\\|Dano\\>", "rule": "Rule", "scenario": "Scenarij\\|Primer", "scenario_outline": "Struktura scenarija\\|Oris scenarija\\|Koncept\\|Osnutek\\|Skica", "then": "Takrat\\>\\|Potem\\>\\|Nato\\>", "when": "Kadar\\>\\|Ko\\>\\|Ce\\>\\|\\%u010ce\\>"}, - \"sr-Cyrl": {"and": "\\%u0418\\>", "background": "\\%u041a\\%u043e\\%u043d\\%u0442\\%u0435\\%u043a\\%u0441\\%u0442\\|\\%u041f\\%u043e\\%u0437\\%u0430\\%u0434\\%u0438\\%u043d\\%u0430\\|\\%u041e\\%u0441\\%u043d\\%u043e\\%u0432\\%u0430", "but": "\\%u0410\\%u043b\\%u0438\\>", "examples": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0458\\%u0438\\|\\%u041f\\%u0440\\%u0438\\%u043c\\%u0435\\%u0440\\%u0438", "feature": "\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446\\%u0438\\%u043e\\%u043d\\%u0430\\%u043b\\%u043d\\%u043e\\%u0441\\%u0442\\|\\%u041c\\%u043e\\%u0433\\%u0443\\%u045b\\%u043d\\%u043e\\%u0441\\%u0442\\|\\%u041e\\%u0441\\%u043e\\%u0431\\%u0438\\%u043d\\%u0430", "given": "\\%u0417\\%u0430 \\%u0434\\%u0430\\%u0442\\%u043e\\>\\|\\%u0417\\%u0430 \\%u0434\\%u0430\\%u0442\\%u0435\\>\\|\\%u0417\\%u0430 \\%u0434\\%u0430\\%u0442\\%u0438\\>", "rule": "\\%u041f\\%u0440\\%u0430\\%u0432\\%u0438\\%u043b\\%u043e", "scenario": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u043e\\|\\%u041f\\%u0440\\%u0438\\%u043c\\%u0435\\%u0440\\|\\%u041f\\%u0440\\%u0438\\%u043c\\%u0435\\%u0440", "scenario_outline": "\\%u0421\\%u0442\\%u0440\\%u0443\\%u043a\\%u0442\\%u0443\\%u0440\\%u0430 \\%u0441\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0458\\%u0430\\|\\%u041a\\%u043e\\%u043d\\%u0446\\%u0435\\%u043f\\%u0442\\|\\%u0421\\%u043a\\%u0438\\%u0446\\%u0430", "then": "\\%u041e\\%u043d\\%u0434\\%u0430\\>", "when": "\\%u041a\\%u0430\\%u0434\\%u0430\\>\\|\\%u041a\\%u0430\\%u0434\\>"}, - \"sr-Latn": {"and": "I\\>", "background": "Kontekst\\|Pozadina\\|Osnova", "but": "Ali\\>", "examples": "Scenariji\\|Primeri", "feature": "Funkcionalnost\\|Mogu\\%u0107nost\\|Mogucnost\\|Osobina", "given": "Za dato\\>\\|Za date\\>\\|Za dati\\>", "rule": "Pravilo", "scenario": "Scenario\\|Primer", "scenario_outline": "Struktura scenarija\\|Koncept\\|Skica", "then": "Onda\\>", "when": "Kada\\>\\|Kad\\>"}, - \"sv": {"and": "Och\\>", "background": "Bakgrund", "but": "Men\\>", "examples": "Exempel", "feature": "Egenskap", "given": "Givet\\>", "rule": "Regel", "scenario": "Scenario", "scenario_outline": "Abstrakt Scenario\\|Scenariomall", "then": "S\\%u00e5\\>", "when": "N\\%u00e4r\\>"}, - \"ta": {"and": "\\%u0bae\\%u0bc7\\%u0bb2\\%u0bc1\\%u0bae\\%u0bcd \\>\\|\\%u0bae\\%u0bb1\\%u0bcd\\%u0bb1\\%u0bc1\\%u0bae\\%u0bcd\\>", "background": "\\%u0baa\\%u0bbf\\%u0ba9\\%u0bcd\\%u0ba9\\%u0ba3\\%u0bbf", "but": "\\%u0b86\\%u0ba9\\%u0bbe\\%u0bb2\\%u0bcd \\>", "examples": "\\%u0b8e\\%u0b9f\\%u0bc1\\%u0ba4\\%u0bcd\\%u0ba4\\%u0bc1\\%u0b95\\%u0bcd\\%u0b95\\%u0bbe\\%u0b9f\\%u0bcd\\%u0b9f\\%u0bc1\\%u0b95\\%u0bb3\\%u0bcd\\|\\%u0ba8\\%u0bbf\\%u0bb2\\%u0bc8\\%u0bae\\%u0bc8\\%u0b95\\%u0bb3\\%u0bbf\\%u0bb2\\%u0bcd\\|\\%u0b95\\%u0bbe\\%u0b9f\\%u0bcd\\%u0b9a\\%u0bbf\\%u0b95\\%u0bb3\\%u0bcd", "feature": "\\%u0bb5\\%u0ba3\\%u0bbf\\%u0b95 \\%u0ba4\\%u0bc7\\%u0bb5\\%u0bc8\\|\\%u0b85\\%u0bae\\%u0bcd\\%u0b9a\\%u0bae\\%u0bcd\\|\\%u0ba4\\%u0bbf\\%u0bb1\\%u0ba9\\%u0bcd", "given": "\\%u0b95\\%u0bc6\\%u0bbe\\%u0b9f\\%u0bc1\\%u0b95\\%u0bcd\\%u0b95\\%u0baa\\%u0bcd\\%u0baa\\%u0b9f\\%u0bcd\\%u0b9f\\>", "rule": "Rule", "scenario": "\\%u0b89\\%u0ba4\\%u0bbe\\%u0bb0\\%u0ba3\\%u0bae\\%u0bbe\\%u0b95\\|\\%u0b95\\%u0bbe\\%u0b9f\\%u0bcd\\%u0b9a\\%u0bbf", "scenario_outline": "\\%u0b95\\%u0bbe\\%u0b9f\\%u0bcd\\%u0b9a\\%u0bbf \\%u0bb5\\%u0bbe\\%u0bb0\\%u0bcd\\%u0baa\\%u0bcd\\%u0baa\\%u0bc1\\%u0bb0\\%u0bc1\\|\\%u0b95\\%u0bbe\\%u0b9f\\%u0bcd\\%u0b9a\\%u0bbf \\%u0b9a\\%u0bc1\\%u0bb0\\%u0bc1\\%u0b95\\%u0bcd\\%u0b95\\%u0bae\\%u0bcd", "then": "\\%u0b85\\%u0baa\\%u0bcd\\%u0baa\\%u0bc6\\%u0bbe\\%u0bb4\\%u0bc1\\%u0ba4\\%u0bc1\\>", "when": "\\%u0b8e\\%u0baa\\%u0bcd\\%u0baa\\%u0bc7\\%u0bbe\\%u0ba4\\%u0bc1\\>"}, - \"te": {"and": "\\%u0c2e\\%u0c30\\%u0c3f\\%u0c2f\\%u0c41\\>", "background": "\\%u0c28\\%u0c47\\%u0c2a\\%u0c25\\%u0c4d\\%u0c2f\\%u0c02", "but": "\\%u0c15\\%u0c3e\\%u0c28\\%u0c3f\\>", "examples": "\\%u0c09\\%u0c26\\%u0c3e\\%u0c39\\%u0c30\\%u0c23\\%u0c32\\%u0c41", "feature": "\\%u0c17\\%u0c41\\%u0c23\\%u0c2e\\%u0c41", "given": "\\%u0c1a\\%u0c46\\%u0c2a\\%u0c4d\\%u0c2a\\%u0c2c\\%u0c21\\%u0c3f\\%u0c28\\%u0c26\\%u0c3f\\>", "rule": "Rule", "scenario": "\\%u0c38\\%u0c28\\%u0c4d\\%u0c28\\%u0c3f\\%u0c35\\%u0c47\\%u0c36\\%u0c02\\|\\%u0c09\\%u0c26\\%u0c3e\\%u0c39\\%u0c30\\%u0c23", "scenario_outline": "\\%u0c15\\%u0c25\\%u0c28\\%u0c02", "then": "\\%u0c05\\%u0c2a\\%u0c4d\\%u0c2a\\%u0c41\\%u0c21\\%u0c41\\>", "when": "\\%u0c08 \\%u0c2a\\%u0c30\\%u0c3f\\%u0c38\\%u0c4d\\%u0c25\\%u0c3f\\%u0c24\\%u0c3f\\%u0c32\\%u0c4b\\>"}, - \"th": {"and": "\\%u0e41\\%u0e25\\%u0e30\\>", "background": "\\%u0e41\\%u0e19\\%u0e27\\%u0e04\\%u0e34\\%u0e14", "but": "\\%u0e41\\%u0e15\\%u0e48\\>", "examples": "\\%u0e0a\\%u0e38\\%u0e14\\%u0e02\\%u0e2d\\%u0e07\\%u0e40\\%u0e2b\\%u0e15\\%u0e38\\%u0e01\\%u0e32\\%u0e23\\%u0e13\\%u0e4c\\|\\%u0e0a\\%u0e38\\%u0e14\\%u0e02\\%u0e2d\\%u0e07\\%u0e15\\%u0e31\\%u0e27\\%u0e2d\\%u0e22\\%u0e48\\%u0e32\\%u0e07", "feature": "\\%u0e04\\%u0e27\\%u0e32\\%u0e21\\%u0e15\\%u0e49\\%u0e2d\\%u0e07\\%u0e01\\%u0e32\\%u0e23\\%u0e17\\%u0e32\\%u0e07\\%u0e18\\%u0e38\\%u0e23\\%u0e01\\%u0e34\\%u0e08\\|\\%u0e04\\%u0e27\\%u0e32\\%u0e21\\%u0e2a\\%u0e32\\%u0e21\\%u0e32\\%u0e23\\%u0e16\\|\\%u0e42\\%u0e04\\%u0e23\\%u0e07\\%u0e2b\\%u0e25\\%u0e31\\%u0e01", "given": "\\%u0e01\\%u0e33\\%u0e2b\\%u0e19\\%u0e14\\%u0e43\\%u0e2b\\%u0e49\\>", "rule": "Rule", "scenario": "\\%u0e40\\%u0e2b\\%u0e15\\%u0e38\\%u0e01\\%u0e32\\%u0e23\\%u0e13\\%u0e4c", "scenario_outline": "\\%u0e42\\%u0e04\\%u0e23\\%u0e07\\%u0e2a\\%u0e23\\%u0e49\\%u0e32\\%u0e07\\%u0e02\\%u0e2d\\%u0e07\\%u0e40\\%u0e2b\\%u0e15\\%u0e38\\%u0e01\\%u0e32\\%u0e23\\%u0e13\\%u0e4c\\|\\%u0e2a\\%u0e23\\%u0e38\\%u0e1b\\%u0e40\\%u0e2b\\%u0e15\\%u0e38\\%u0e01\\%u0e32\\%u0e23\\%u0e13\\%u0e4c", "then": "\\%u0e14\\%u0e31\\%u0e07\\%u0e19\\%u0e31\\%u0e49\\%u0e19\\>", "when": "\\%u0e40\\%u0e21\\%u0e37\\%u0e48\\%u0e2d\\>"}, - \"tlh": {"and": "latlh\\>\\|'ej\\>", "background": "mo'", "but": "'ach\\>\\|'a\\>", "examples": "ghantoH\\|lutmey", "feature": "poQbogh malja'\\|Qu'meH 'ut\\|perbogh\\|Qap\\|laH", "given": "DaH ghu' bejlu'\\>\\|ghu' noblu'\\>", "rule": "Rule", "scenario": "lut", "scenario_outline": "lut chovnatlh", "then": "vaj\\>", "when": "qaSDI'\\>"}, - \"tr": {"and": "Ve\\>", "background": "Ge\\%u00e7mi\\%u015f", "but": "Fakat\\>\\|Ama\\>", "examples": "\\%u00d6rnekler", "feature": "\\%u00d6zellik", "given": "Diyelim ki\\>", "rule": "Kural", "scenario": "Senaryo\\|\\%u00d6rnek", "scenario_outline": "Senaryo tasla\\%u011f\\%u0131", "then": "O zaman\\>", "when": "E\\%u011fer ki\\>"}, - \"tt": {"and": "\\%u04ba\\%u04d9\\%u043c\\>\\|\\%u0412\\%u04d9\\>", "background": "\\%u041a\\%u0435\\%u0440\\%u0435\\%u0448", "but": "\\%u041b\\%u04d9\\%u043a\\%u0438\\%u043d\\>\\|\\%u04d8\\%u043c\\%u043c\\%u0430\\>", "examples": "\\%u04ae\\%u0440\\%u043d\\%u04d9\\%u043a\\%u043b\\%u04d9\\%u0440\\|\\%u041c\\%u0438\\%u0441\\%u0430\\%u043b\\%u043b\\%u0430\\%u0440", "feature": "\\%u04ae\\%u0437\\%u0435\\%u043d\\%u0447\\%u04d9\\%u043b\\%u0435\\%u043a\\%u043b\\%u0435\\%u043b\\%u0435\\%u043a\\|\\%u041c\\%u04e9\\%u043c\\%u043a\\%u0438\\%u043d\\%u043b\\%u0435\\%u043a", "given": "\\%u04d8\\%u0439\\%u0442\\%u0438\\%u043a\\>", "rule": "Rule", "scenario": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0439", "scenario_outline": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0439\\%u043d\\%u044b\\%u04a3 \\%u0442\\%u04e9\\%u0437\\%u0435\\%u043b\\%u0435\\%u0448\\%u0435", "then": "\\%u041d\\%u04d9\\%u0442\\%u0438\\%u0497\\%u04d9\\%u0434\\%u04d9\\>", "when": "\\%u04d8\\%u0433\\%u04d9\\%u0440\\>"}, - \"uk": {"and": "\\%u0410 \\%u0442\\%u0430\\%u043a\\%u043e\\%u0436\\>\\|\\%u0422\\%u0430\\>\\|\\%u0406\\>", "background": "\\%u041f\\%u0435\\%u0440\\%u0435\\%u0434\\%u0443\\%u043c\\%u043e\\%u0432\\%u0430", "but": "\\%u0410\\%u043b\\%u0435\\>", "examples": "\\%u041f\\%u0440\\%u0438\\%u043a\\%u043b\\%u0430\\%u0434\\%u0438", "feature": "\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446\\%u0456\\%u043e\\%u043d\\%u0430\\%u043b", "given": "\\%u041f\\%u0440\\%u0438\\%u043f\\%u0443\\%u0441\\%u0442\\%u0438\\%u043c\\%u043e, \\%u0449\\%u043e\\>\\|\\%u041f\\%u0440\\%u0438\\%u043f\\%u0443\\%u0441\\%u0442\\%u0438\\%u043c\\%u043e\\>\\|\\%u041d\\%u0435\\%u0445\\%u0430\\%u0439\\>\\|\\%u0414\\%u0430\\%u043d\\%u043e\\>", "rule": "Rule", "scenario": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0456\\%u0439\\|\\%u041f\\%u0440\\%u0438\\%u043a\\%u043b\\%u0430\\%u0434", "scenario_outline": "\\%u0421\\%u0442\\%u0440\\%u0443\\%u043a\\%u0442\\%u0443\\%u0440\\%u0430 \\%u0441\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0456\\%u044e", "then": "\\%u0422\\%u043e\\%u0434\\%u0456\\>\\|\\%u0422\\%u043e\\>", "when": "\\%u042f\\%u043a\\%u0449\\%u043e\\>\\|\\%u041a\\%u043e\\%u043b\\%u0438\\>"}, - \"ur": {"and": "\\%u0627\\%u0648\\%u0631\\>", "background": "\\%u067e\\%u0633 \\%u0645\\%u0646\\%u0638\\%u0631", "but": "\\%u0644\\%u06cc\\%u06a9\\%u0646\\>", "examples": "\\%u0645\\%u062b\\%u0627\\%u0644\\%u06cc\\%u06ba", "feature": "\\%u06a9\\%u0627\\%u0631\\%u0648\\%u0628\\%u0627\\%u0631 \\%u06a9\\%u06cc \\%u0636\\%u0631\\%u0648\\%u0631\\%u062a\\|\\%u0635\\%u0644\\%u0627\\%u062d\\%u06cc\\%u062a\\|\\%u062e\\%u0635\\%u0648\\%u0635\\%u06cc\\%u062a", "given": "\\%u0641\\%u0631\\%u0636 \\%u06a9\\%u06cc\\%u0627\\>\\|\\%u0628\\%u0627\\%u0644\\%u0641\\%u0631\\%u0636\\>\\|\\%u0627\\%u06af\\%u0631\\>", "rule": "Rule", "scenario": "\\%u0645\\%u0646\\%u0638\\%u0631\\%u0646\\%u0627\\%u0645\\%u06c1", "scenario_outline": "\\%u0645\\%u0646\\%u0638\\%u0631 \\%u0646\\%u0627\\%u0645\\%u06d2 \\%u06a9\\%u0627 \\%u062e\\%u0627\\%u06a9\\%u06c1", "then": "\\%u067e\\%u06be\\%u0631\\>\\|\\%u062a\\%u0628\\>", "when": "\\%u062c\\%u0628\\>"}, - \"uz": {"and": "\\%u0412\\%u0430\\>", "background": "\\%u0422\\%u0430\\%u0440\\%u0438\\%u0445", "but": "\\%u041b\\%u0435\\%u043a\\%u0438\\%u043d\\>\\|\\%u0411\\%u0438\\%u0440\\%u043e\\%u043a\\>\\|\\%u0410\\%u043c\\%u043c\\%u043e\\>", "examples": "\\%u041c\\%u0438\\%u0441\\%u043e\\%u043b\\%u043b\\%u0430\\%u0440", "feature": "\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446\\%u0438\\%u043e\\%u043d\\%u0430\\%u043b", "given": "Belgilangan\\>", "rule": "Rule", "scenario": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0439", "scenario_outline": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0439 \\%u0441\\%u0442\\%u0440\\%u0443\\%u043a\\%u0442\\%u0443\\%u0440\\%u0430\\%u0441\\%u0438", "then": "\\%u0423\\%u043d\\%u0434\\%u0430\\>", "when": "\\%u0410\\%u0433\\%u0430\\%u0440\\>"}, - \"vi": {"and": "V\\%u00e0\\>", "background": "B\\%u1ed1i c\\%u1ea3nh", "but": "Nh\\%u01b0ng\\>", "examples": "D\\%u1eef li\\%u1ec7u", "feature": "T\\%u00ednh n\\%u0103ng", "given": "Bi\\%u1ebft\\>\\|Cho\\>", "rule": "Rule", "scenario": "T\\%u00ecnh hu\\%u1ed1ng\\|K\\%u1ecbch b\\%u1ea3n", "scenario_outline": "Khung t\\%u00ecnh hu\\%u1ed1ng\\|Khung k\\%u1ecbch b\\%u1ea3n", "then": "Th\\%u00ec\\>", "when": "Khi\\>"}, - \"zh-CN": {"and": "\\%u800c\\%u4e14\\|\\%u5e76\\%u4e14\\|\\%u540c\\%u65f6", "background": "\\%u80cc\\%u666f", "but": "\\%u4f46\\%u662f", "examples": "\\%u4f8b\\%u5b50", "feature": "\\%u529f\\%u80fd", "given": "\\%u5047\\%u5982\\|\\%u5047\\%u8bbe\\|\\%u5047\\%u5b9a", "rule": "Rule\\|\\%u89c4\\%u5219", "scenario": "\\%u573a\\%u666f\\|\\%u5267\\%u672c", "scenario_outline": "\\%u573a\\%u666f\\%u5927\\%u7eb2\\|\\%u5267\\%u672c\\%u5927\\%u7eb2", "then": "\\%u90a3\\%u4e48", "when": "\\%u5f53"}, - \"zh-TW": {"and": "\\%u800c\\%u4e14\\|\\%u4e26\\%u4e14\\|\\%u540c\\%u6642", "background": "\\%u80cc\\%u666f", "but": "\\%u4f46\\%u662f", "examples": "\\%u4f8b\\%u5b50", "feature": "\\%u529f\\%u80fd", "given": "\\%u5047\\%u5982\\|\\%u5047\\%u8a2d\\|\\%u5047\\%u5b9a", "rule": "Rule", "scenario": "\\%u5834\\%u666f\\|\\%u5287\\%u672c", "scenario_outline": "\\%u5834\\%u666f\\%u5927\\%u7db1\\|\\%u5287\\%u672c\\%u5927\\%u7db1", "then": "\\%u90a3\\%u9ebc", "when": "\\%u7576"}} - -function! s:pattern(key) - let language = matchstr(getline(1),'#\s*language:\s*\zs\S\+') - if &fileencoding == 'latin1' && language == '' - let language = 'en' - endif - if has_key(g:cucumber_languages, language) - let languages = [g:cucumber_languages[language]] - else - let languages = values(g:cucumber_languages) - end - return '\<\%('.join(map(languages,'get(v:val,a:key,"\\%(a\\&b\\)")'),'\|').'\)' -endfunction - -function! s:Add(name) - let next = " skipempty skipwhite nextgroup=".join(map(["Region","AndRegion","ButRegion","StarRegion","Comment","String","Table"],'"cucumber".a:name.v:val'),",") - exe "syn region cucumber".a:name.'Region matchgroup=cucumber'.a:name.' start="\%(^\s*\)\@<=\%('.s:pattern(tolower(a:name)).'\)" end="$"'.next - exe 'syn region cucumber'.a:name.'AndRegion matchgroup=cucumber'.a:name.'And start="\%(^\s*\)\@<='.s:pattern('and').'" end="$" contained'.next - exe 'syn region cucumber'.a:name.'ButRegion matchgroup=cucumber'.a:name.'But start="\%(^\s*\)\@<='.s:pattern('but').'" end="$" contained'.next - exe 'syn region cucumber'.a:name.'StarRegion matchgroup=cucumber'.a:name.'Star start="\%(^\s*\)\@<=\*\S\@!" end="$" contained'.next - exe 'syn match cucumber'.a:name.'Comment "\%(^\s*\)\@<=#.*" contained'.next - exe 'syn region cucumber'.a:name.'String start=+\%(^\s*\)\@<="""+ end=+"""+ contained'.next - exe 'syn match cucumber'.a:name.'Table "\%(^\s*\)\@<=|.*" contained contains=cucumberDelimiter'.next - exe 'hi def link cucumber'.a:name.'Comment cucumberComment' - exe 'hi def link cucumber'.a:name.'String cucumberString' - exe 'hi def link cucumber'.a:name.'But cucumber'.a:name.'And' - exe 'hi def link cucumber'.a:name.'Star cucumber'.a:name.'And' - exe 'hi def link cucumber'.a:name.'And cucumber'.a:name - exe 'syn cluster cucumberStepRegions add=cucumber'.a:name.'Region,cucumber'.a:name.'AndRegion,cucumber'.a:name.'ButRegion' -endfunction - -syn match cucumberComment "\%(^\s*\)\@<=#.*" -syn match cucumberComment "\%(\%^\s*\)\@<=#.*" contains=cucumberLanguage -syn match cucumberLanguage "\%(#\s*\)\@<=language:" contained -syn match cucumberUnparsed "\S.*" nextgroup=cucumberUnparsedComment,cucumberUnparsed,cucumberTags,cucumberBackground,cucumberRule,cucumberScenario,cucumberScenarioOutline,cucumberExamples skipwhite skipempty contained -syn match cucumberUnparsedComment "#.*" nextgroup=cucumberUnparsedComment,cucumberUnparsed,cucumberTags,cucumberBackground,cucumberRule,cucumberScenario,cucumberScenarioOutline,cucumberExamples skipwhite skipempty contained - -exe 'syn match cucumberFeature "\%(^\s*\)\@<='.s:pattern('feature').':" nextgroup=cucumberUnparsedComment,cucumberUnparsed,cucumberBackground,cucumberRule,cucumberScenario,cucumberScenarioOutline,cucumberExamples skipwhite skipempty' -exe 'syn match cucumberBackground "\%(^\s*\)\@<='.s:pattern('background').':"' -exe 'syn match cucumberScenario "\%(^\s*\)\@<='.s:pattern('scenario').':"' -exe 'syn match cucumberRule "\%(^\s*\)\@<='.s:pattern('rule').':"' -exe 'syn match cucumberScenarioOutline "\%(^\s*\)\@<='.s:pattern('scenario_outline').':"' -exe 'syn match cucumberExamples "\%(^\s*\)\@<='.s:pattern('examples').':" nextgroup=cucumberExampleTable skipempty skipwhite' - -syn match cucumberPlaceholder "<[^<>]*>" contained containedin=@cucumberStepRegions -syn match cucumberExampleTable "\%(^\s*\)\@<=|.*" contains=cucumberDelimiter -syn match cucumberDelimiter "\\\@ +" Last Change: 2024 Apr 04 +" Contributor: jiangyinzuo + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" Read the C++ syntax to start with +runtime! syntax/cpp.mnv + +" CUDA extentions. +" Reference: https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#c-language-extensions +syn keyword cudaStorageClass __device__ __global__ __host__ __managed__ +syn keyword cudaStorageClass __constant__ __grid_constant__ __shared__ +syn keyword cudaStorageClass __inline__ __noinline__ __forceinline__ __inline_hint__ +syn keyword cudaStorageClass __align__ __thread__ __restrict__ +"syn keyword cudaStorageClass __import__ __export__ __location__ +syn keyword cudaType char1 char2 char3 char4 +syn keyword cudaType uchar1 uchar2 uchar3 uchar4 +syn keyword cudaType short1 short2 short3 short4 +syn keyword cudaType ushort1 ushort2 ushort3 ushort4 +syn keyword cudaType int1 int2 int3 int4 +syn keyword cudaType uint1 uint2 uint3 uint4 +syn keyword cudaType long1 long2 long3 long4 +syn keyword cudaType ulong1 ulong2 ulong3 ulong4 +syn keyword cudaType longlong1 longlong2 longlong3 longlong4 +syn keyword cudaType ulonglong1 ulonglong2 ulonglong3 ulonglong4 +syn keyword cudaType float1 float2 float3 float4 +syn keyword cudaType double1 double2 double3 double4 +syn keyword cudaType dim3 texture textureReference +syn keyword cudaType cudaError_t cudaDeviceProp cudaMemcpyKind +syn keyword cudaType cudaArray cudaChannelFormatKind +syn keyword cudaType cudaChannelFormatDesc cudaTextureAddressMode +syn keyword cudaType cudaTextureFilterMode cudaTextureReadMode +syn keyword cudaVariable gridDim blockIdx blockDim threadIdx warpSize +syn keyword cudaConstant __CUDA_ARCH__ +syn keyword cudaConstant __DEVICE_EMULATION__ +" There are too many CUDA enumeration constants. We only define a subset of commonly used constants. +" Reference: https://docs.nvidia.com/cuda/cuda-runtime-api/group__CUDART__TYPES.html +syn keyword cudaConstant cudaSuccess + +hi def link cudaStorageClass StorageClass +hi def link cudaType Type +hi def link cudaVariable Identifier +hi def link cudaConstant Constant + +let b:current_syntax = "cuda" + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/cuda.vim b/uvim/runtime/syntax/cuda.vim deleted file mode 100644 index 8306d096a0..0000000000 --- a/uvim/runtime/syntax/cuda.vim +++ /dev/null @@ -1,53 +0,0 @@ -" Vim syntax file -" Language: CUDA (NVIDIA Compute Unified Device Architecture) -" Maintainer: Timothy B. Terriberry -" Last Change: 2024 Apr 04 -" Contributor: jiangyinzuo - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" Read the C++ syntax to start with -runtime! syntax/cpp.vim - -" CUDA extentions. -" Reference: https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#c-language-extensions -syn keyword cudaStorageClass __device__ __global__ __host__ __managed__ -syn keyword cudaStorageClass __constant__ __grid_constant__ __shared__ -syn keyword cudaStorageClass __inline__ __noinline__ __forceinline__ __inline_hint__ -syn keyword cudaStorageClass __align__ __thread__ __restrict__ -"syn keyword cudaStorageClass __import__ __export__ __location__ -syn keyword cudaType char1 char2 char3 char4 -syn keyword cudaType uchar1 uchar2 uchar3 uchar4 -syn keyword cudaType short1 short2 short3 short4 -syn keyword cudaType ushort1 ushort2 ushort3 ushort4 -syn keyword cudaType int1 int2 int3 int4 -syn keyword cudaType uint1 uint2 uint3 uint4 -syn keyword cudaType long1 long2 long3 long4 -syn keyword cudaType ulong1 ulong2 ulong3 ulong4 -syn keyword cudaType longlong1 longlong2 longlong3 longlong4 -syn keyword cudaType ulonglong1 ulonglong2 ulonglong3 ulonglong4 -syn keyword cudaType float1 float2 float3 float4 -syn keyword cudaType double1 double2 double3 double4 -syn keyword cudaType dim3 texture textureReference -syn keyword cudaType cudaError_t cudaDeviceProp cudaMemcpyKind -syn keyword cudaType cudaArray cudaChannelFormatKind -syn keyword cudaType cudaChannelFormatDesc cudaTextureAddressMode -syn keyword cudaType cudaTextureFilterMode cudaTextureReadMode -syn keyword cudaVariable gridDim blockIdx blockDim threadIdx warpSize -syn keyword cudaConstant __CUDA_ARCH__ -syn keyword cudaConstant __DEVICE_EMULATION__ -" There are too many CUDA enumeration constants. We only define a subset of commonly used constants. -" Reference: https://docs.nvidia.com/cuda/cuda-runtime-api/group__CUDART__TYPES.html -syn keyword cudaConstant cudaSuccess - -hi def link cudaStorageClass StorageClass -hi def link cudaType Type -hi def link cudaVariable Identifier -hi def link cudaConstant Constant - -let b:current_syntax = "cuda" - -" vim: ts=8 diff --git a/uvim/runtime/syntax/cupl.mnv b/uvim/runtime/syntax/cupl.mnv new file mode 100644 index 0000000000..d1d4a82317 --- /dev/null +++ b/uvim/runtime/syntax/cupl.mnv @@ -0,0 +1,124 @@ +" MNV syntax file +" Language: CUPL +" Maintainer: John Cook +" Last Change: 2011 Dec 27 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +" this language is oblivious to case. +syn case ignore + +" A bunch of keywords +syn keyword cuplHeader name partno date revision rev designer company nextgroup=cuplHeaderContents +syn keyword cuplHeader assembly assy location device nextgroup=cuplHeaderContents + +syn keyword cuplTodo contained TODO XXX FIXME + +" cuplHeaderContents uses default highlighting except for numbers +syn match cuplHeaderContents ".\+;"me=e-1 contains=cuplNumber contained + +" String constants +syn region cuplString start=+'+ end=+'+ +syn region cuplString start=+"+ end=+"+ + +syn keyword cuplStatement append condition +syn keyword cuplStatement default else +syn keyword cuplStatement field fld format function fuse +syn keyword cuplStatement group if jump loc +syn keyword cuplStatement macro min node out +syn keyword cuplStatement pin pinnode present table +syn keyword cuplStatement sequence sequenced sequencejk sequencers sequencet + +syn keyword cuplFunction log2 log8 log16 log + +" Valid integer number formats (decimal, binary, octal, hex) +syn match cuplNumber "\<[-+]\=[0-9]\+\>" +syn match cuplNumber "'d'[0-9]\+\>" +syn match cuplNumber "'b'[01x]\+\>" +syn match cuplNumber "'o'[0-7x]\+\>" +syn match cuplNumber "'h'[0-9a-fx]\+\>" + +" operators +syn match cuplLogicalOperator "[!#&$]" +syn match cuplArithmeticOperator "[-+*/%]" +syn match cuplArithmeticOperator "\*\*" +syn match cuplAssignmentOperator ":\==" +syn match cuplEqualityOperator ":" +syn match cuplTruthTableOperator "=>" + +" Signal extensions +syn match cuplExtension "\.[as][pr]\>" +syn match cuplExtension "\.oe\>" +syn match cuplExtension "\.oemux\>" +syn match cuplExtension "\.[dlsrjk]\>" +syn match cuplExtension "\.ck\>" +syn match cuplExtension "\.dq\>" +syn match cuplExtension "\.ckmux\>" +syn match cuplExtension "\.tec\>" +syn match cuplExtension "\.cnt\>" + +syn match cuplRangeOperator "\.\." contained + +" match ranges like memadr:[0000..1FFF] +" and highlight both the numbers and the .. operator +syn match cuplNumberRange "\<\x\+\.\.\x\+\>" contains=cuplRangeOperator + +" match vectors of type [name3..0] (decimal numbers only) +" but assign them no special highlighting except for the .. operator +syn match cuplBitVector "\<\a\+\d\+\.\.\d\+\>" contains=cuplRangeOperator + +" other special characters +syn match cuplSpecialChar "[\[\](){},;]" + +" directives +" (define these after cuplOperator so $xxx overrides $) +syn match cuplDirective "\$msg" +syn match cuplDirective "\$macro" +syn match cuplDirective "\$mend" +syn match cuplDirective "\$repeat" +syn match cuplDirective "\$repend" +syn match cuplDirective "\$define" +syn match cuplDirective "\$include" + +" multi-line comments +syn region cuplComment start=+/\*+ end=+\*/+ contains=cuplNumber,cuplTodo + +syn sync minlines=1 + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +" The default highlighting. +hi def link cuplHeader cuplStatement +hi def link cuplLogicalOperator cuplOperator +hi def link cuplRangeOperator cuplOperator +hi def link cuplArithmeticOperator cuplOperator +hi def link cuplAssignmentOperator cuplOperator +hi def link cuplEqualityOperator cuplOperator +hi def link cuplTruthTableOperator cuplOperator +hi def link cuplOperator cuplStatement +hi def link cuplFunction cuplStatement +hi def link cuplStatement Statement +hi def link cuplNumberRange cuplNumber +hi def link cuplNumber cuplString +hi def link cuplString String +hi def link cuplComment Comment +hi def link cuplExtension cuplSpecial +hi def link cuplSpecialChar cuplSpecial +hi def link cuplSpecial Special +hi def link cuplDirective PreProc +hi def link cuplTodo Todo + + +let b:current_syntax = "cupl" + +let &cpo = s:cpo_save +unlet s:cpo_save + +" mnv:ts=8 diff --git a/uvim/runtime/syntax/cupl.vim b/uvim/runtime/syntax/cupl.vim deleted file mode 100644 index 54495f8ba5..0000000000 --- a/uvim/runtime/syntax/cupl.vim +++ /dev/null @@ -1,124 +0,0 @@ -" Vim syntax file -" Language: CUPL -" Maintainer: John Cook -" Last Change: 2011 Dec 27 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -" this language is oblivious to case. -syn case ignore - -" A bunch of keywords -syn keyword cuplHeader name partno date revision rev designer company nextgroup=cuplHeaderContents -syn keyword cuplHeader assembly assy location device nextgroup=cuplHeaderContents - -syn keyword cuplTodo contained TODO XXX FIXME - -" cuplHeaderContents uses default highlighting except for numbers -syn match cuplHeaderContents ".\+;"me=e-1 contains=cuplNumber contained - -" String constants -syn region cuplString start=+'+ end=+'+ -syn region cuplString start=+"+ end=+"+ - -syn keyword cuplStatement append condition -syn keyword cuplStatement default else -syn keyword cuplStatement field fld format function fuse -syn keyword cuplStatement group if jump loc -syn keyword cuplStatement macro min node out -syn keyword cuplStatement pin pinnode present table -syn keyword cuplStatement sequence sequenced sequencejk sequencers sequencet - -syn keyword cuplFunction log2 log8 log16 log - -" Valid integer number formats (decimal, binary, octal, hex) -syn match cuplNumber "\<[-+]\=[0-9]\+\>" -syn match cuplNumber "'d'[0-9]\+\>" -syn match cuplNumber "'b'[01x]\+\>" -syn match cuplNumber "'o'[0-7x]\+\>" -syn match cuplNumber "'h'[0-9a-fx]\+\>" - -" operators -syn match cuplLogicalOperator "[!#&$]" -syn match cuplArithmeticOperator "[-+*/%]" -syn match cuplArithmeticOperator "\*\*" -syn match cuplAssignmentOperator ":\==" -syn match cuplEqualityOperator ":" -syn match cuplTruthTableOperator "=>" - -" Signal extensions -syn match cuplExtension "\.[as][pr]\>" -syn match cuplExtension "\.oe\>" -syn match cuplExtension "\.oemux\>" -syn match cuplExtension "\.[dlsrjk]\>" -syn match cuplExtension "\.ck\>" -syn match cuplExtension "\.dq\>" -syn match cuplExtension "\.ckmux\>" -syn match cuplExtension "\.tec\>" -syn match cuplExtension "\.cnt\>" - -syn match cuplRangeOperator "\.\." contained - -" match ranges like memadr:[0000..1FFF] -" and highlight both the numbers and the .. operator -syn match cuplNumberRange "\<\x\+\.\.\x\+\>" contains=cuplRangeOperator - -" match vectors of type [name3..0] (decimal numbers only) -" but assign them no special highlighting except for the .. operator -syn match cuplBitVector "\<\a\+\d\+\.\.\d\+\>" contains=cuplRangeOperator - -" other special characters -syn match cuplSpecialChar "[\[\](){},;]" - -" directives -" (define these after cuplOperator so $xxx overrides $) -syn match cuplDirective "\$msg" -syn match cuplDirective "\$macro" -syn match cuplDirective "\$mend" -syn match cuplDirective "\$repeat" -syn match cuplDirective "\$repend" -syn match cuplDirective "\$define" -syn match cuplDirective "\$include" - -" multi-line comments -syn region cuplComment start=+/\*+ end=+\*/+ contains=cuplNumber,cuplTodo - -syn sync minlines=1 - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -" The default highlighting. -hi def link cuplHeader cuplStatement -hi def link cuplLogicalOperator cuplOperator -hi def link cuplRangeOperator cuplOperator -hi def link cuplArithmeticOperator cuplOperator -hi def link cuplAssignmentOperator cuplOperator -hi def link cuplEqualityOperator cuplOperator -hi def link cuplTruthTableOperator cuplOperator -hi def link cuplOperator cuplStatement -hi def link cuplFunction cuplStatement -hi def link cuplStatement Statement -hi def link cuplNumberRange cuplNumber -hi def link cuplNumber cuplString -hi def link cuplString String -hi def link cuplComment Comment -hi def link cuplExtension cuplSpecial -hi def link cuplSpecialChar cuplSpecial -hi def link cuplSpecial Special -hi def link cuplDirective PreProc -hi def link cuplTodo Todo - - -let b:current_syntax = "cupl" - -let &cpo = s:cpo_save -unlet s:cpo_save - -" vim:ts=8 diff --git a/uvim/runtime/syntax/cuplsim.mnv b/uvim/runtime/syntax/cuplsim.mnv new file mode 100644 index 0000000000..b034733352 --- /dev/null +++ b/uvim/runtime/syntax/cuplsim.mnv @@ -0,0 +1,63 @@ +" MNV syntax file +" Language: CUPL simulation +" Maintainer: John Cook +" Last Change: 2001 Apr 25 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" Read the CUPL syntax to start with +runtime! syntax/cupl.mnv +unlet b:current_syntax + +" omit definition-specific stuff +syn clear cuplStatement +syn clear cuplFunction +syn clear cuplLogicalOperator +syn clear cuplArithmeticOperator +syn clear cuplAssignmentOperator +syn clear cuplEqualityOperator +syn clear cuplTruthTableOperator +syn clear cuplExtension + +" simulation order statement +syn match cuplsimOrder "order:" nextgroup=cuplsimOrderSpec skipempty +syn region cuplsimOrderSpec start="." end=";"me=e-1 contains=cuplComment,cuplsimOrderFormat,cuplBitVector,cuplSpecialChar,cuplLogicalOperator,cuplCommaOperator contained + +" simulation base statement +syn match cuplsimBase "base:" nextgroup=cuplsimBaseSpec skipempty +syn region cuplsimBaseSpec start="." end=";"me=e-1 contains=cuplComment,cuplsimBaseType contained +syn keyword cuplsimBaseType octal decimal hex contained + +" simulation vectors statement +syn match cuplsimVectors "vectors:" + +" simulator format control +syn match cuplsimOrderFormat "%\d\+\>" contained + +" simulator control +syn match cuplsimStimulus "[10ckpx]\+" +syn match cuplsimStimulus +'\(\x\|x\)\+'+ +syn match cuplsimOutput "[lhznx*]\+" +syn match cuplsimOutput +"\x\+"+ + +syn sync minlines=1 + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +" append to the highlighting links in cupl.mnv +" The default highlighting. +hi def link cuplsimOrder cuplStatement +hi def link cuplsimBase cuplStatement +hi def link cuplsimBaseType cuplStatement +hi def link cuplsimVectors cuplStatement +hi def link cuplsimStimulus cuplNumber +hi def link cuplsimOutput cuplNumber +hi def link cuplsimOrderFormat cuplNumber + + +let b:current_syntax = "cuplsim" +" mnv:ts=8 diff --git a/uvim/runtime/syntax/cuplsim.vim b/uvim/runtime/syntax/cuplsim.vim deleted file mode 100644 index 36eb4c3555..0000000000 --- a/uvim/runtime/syntax/cuplsim.vim +++ /dev/null @@ -1,63 +0,0 @@ -" Vim syntax file -" Language: CUPL simulation -" Maintainer: John Cook -" Last Change: 2001 Apr 25 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" Read the CUPL syntax to start with -runtime! syntax/cupl.vim -unlet b:current_syntax - -" omit definition-specific stuff -syn clear cuplStatement -syn clear cuplFunction -syn clear cuplLogicalOperator -syn clear cuplArithmeticOperator -syn clear cuplAssignmentOperator -syn clear cuplEqualityOperator -syn clear cuplTruthTableOperator -syn clear cuplExtension - -" simulation order statement -syn match cuplsimOrder "order:" nextgroup=cuplsimOrderSpec skipempty -syn region cuplsimOrderSpec start="." end=";"me=e-1 contains=cuplComment,cuplsimOrderFormat,cuplBitVector,cuplSpecialChar,cuplLogicalOperator,cuplCommaOperator contained - -" simulation base statement -syn match cuplsimBase "base:" nextgroup=cuplsimBaseSpec skipempty -syn region cuplsimBaseSpec start="." end=";"me=e-1 contains=cuplComment,cuplsimBaseType contained -syn keyword cuplsimBaseType octal decimal hex contained - -" simulation vectors statement -syn match cuplsimVectors "vectors:" - -" simulator format control -syn match cuplsimOrderFormat "%\d\+\>" contained - -" simulator control -syn match cuplsimStimulus "[10ckpx]\+" -syn match cuplsimStimulus +'\(\x\|x\)\+'+ -syn match cuplsimOutput "[lhznx*]\+" -syn match cuplsimOutput +"\x\+"+ - -syn sync minlines=1 - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -" append to the highlighting links in cupl.vim -" The default highlighting. -hi def link cuplsimOrder cuplStatement -hi def link cuplsimBase cuplStatement -hi def link cuplsimBaseType cuplStatement -hi def link cuplsimVectors cuplStatement -hi def link cuplsimStimulus cuplNumber -hi def link cuplsimOutput cuplNumber -hi def link cuplsimOrderFormat cuplNumber - - -let b:current_syntax = "cuplsim" -" vim:ts=8 diff --git a/uvim/runtime/syntax/cvs.mnv b/uvim/runtime/syntax/cvs.mnv new file mode 100644 index 0000000000..5deae41960 --- /dev/null +++ b/uvim/runtime/syntax/cvs.mnv @@ -0,0 +1,29 @@ +" MNV syntax file +" Language: CVS commit file +" Maintainer: Matt Dunford (zenmatic@gmail.com) +" Last Change: Sat Nov 24 23:25:11 CET 2001 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn region cvsLine start="^CVS: " end="$" contains=cvsFile,cvsCom,cvsFiles,cvsTag +syn match cvsFile contained " \t\(\(\S\+\) \)\+" +syn match cvsTag contained " Tag:" +syn match cvsFiles contained "\(Added\|Modified\|Removed\) Files:" +syn region cvsCom start="Committing in" end="$" contains=cvsDir contained extend keepend +syn match cvsDir contained "\S\+$" + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link cvsLine Comment +hi def link cvsDir cvsFile +hi def link cvsFile Constant +hi def link cvsFiles cvsCom +hi def link cvsTag cvsCom +hi def link cvsCom Statement + + +let b:current_syntax = "cvs" diff --git a/uvim/runtime/syntax/cvs.vim b/uvim/runtime/syntax/cvs.vim deleted file mode 100644 index e1e413fcf9..0000000000 --- a/uvim/runtime/syntax/cvs.vim +++ /dev/null @@ -1,29 +0,0 @@ -" Vim syntax file -" Language: CVS commit file -" Maintainer: Matt Dunford (zenmatic@gmail.com) -" Last Change: Sat Nov 24 23:25:11 CET 2001 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn region cvsLine start="^CVS: " end="$" contains=cvsFile,cvsCom,cvsFiles,cvsTag -syn match cvsFile contained " \t\(\(\S\+\) \)\+" -syn match cvsTag contained " Tag:" -syn match cvsFiles contained "\(Added\|Modified\|Removed\) Files:" -syn region cvsCom start="Committing in" end="$" contains=cvsDir contained extend keepend -syn match cvsDir contained "\S\+$" - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link cvsLine Comment -hi def link cvsDir cvsFile -hi def link cvsFile Constant -hi def link cvsFiles cvsCom -hi def link cvsTag cvsCom -hi def link cvsCom Statement - - -let b:current_syntax = "cvs" diff --git a/uvim/runtime/syntax/cvsrc.mnv b/uvim/runtime/syntax/cvsrc.mnv new file mode 100644 index 0000000000..8e91987436 --- /dev/null +++ b/uvim/runtime/syntax/cvsrc.mnv @@ -0,0 +1,39 @@ +" MNV syntax file +" Language: cvs(1) RC file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2006-04-19 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn region cvsrcString display oneline start=+"+ skip=+\\\\\|\\\\"+ end=+"+ +syn region cvsrcString display oneline start=+'+ skip=+\\\\\|\\\\'+ end=+'+ + +syn match cvsrcNumber display '\<\d\+\>' + +syn match cvsrcBegin display '^' nextgroup=cvsrcCommand skipwhite + +syn region cvsrcCommand contained transparent matchgroup=cvsrcCommand + \ start='add\|admin\|checkout\|commit\|cvs\|diff' + \ start='export\|history\|import\|init\|log' + \ start='rdiff\|release\|remove\|rtag\|status\|tag' + \ start='update' + \ end='$' + \ contains=cvsrcOption,cvsrcString,cvsrcNumber + \ keepend + +syn match cvsrcOption contained display '-\a\+' + +hi def link cvsrcString String +hi def link cvsrcNumber Number +hi def link cvsrcCommand Keyword +hi def link cvsrcOption Identifier + +let b:current_syntax = "cvsrc" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/cvsrc.vim b/uvim/runtime/syntax/cvsrc.vim deleted file mode 100644 index 9522de6436..0000000000 --- a/uvim/runtime/syntax/cvsrc.vim +++ /dev/null @@ -1,39 +0,0 @@ -" Vim syntax file -" Language: cvs(1) RC file -" Previous Maintainer: Nikolai Weibull -" Latest Revision: 2006-04-19 - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn region cvsrcString display oneline start=+"+ skip=+\\\\\|\\\\"+ end=+"+ -syn region cvsrcString display oneline start=+'+ skip=+\\\\\|\\\\'+ end=+'+ - -syn match cvsrcNumber display '\<\d\+\>' - -syn match cvsrcBegin display '^' nextgroup=cvsrcCommand skipwhite - -syn region cvsrcCommand contained transparent matchgroup=cvsrcCommand - \ start='add\|admin\|checkout\|commit\|cvs\|diff' - \ start='export\|history\|import\|init\|log' - \ start='rdiff\|release\|remove\|rtag\|status\|tag' - \ start='update' - \ end='$' - \ contains=cvsrcOption,cvsrcString,cvsrcNumber - \ keepend - -syn match cvsrcOption contained display '-\a\+' - -hi def link cvsrcString String -hi def link cvsrcNumber Number -hi def link cvsrcCommand Keyword -hi def link cvsrcOption Identifier - -let b:current_syntax = "cvsrc" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/cweb.mnv b/uvim/runtime/syntax/cweb.mnv new file mode 100644 index 0000000000..41c38ac8e4 --- /dev/null +++ b/uvim/runtime/syntax/cweb.mnv @@ -0,0 +1,68 @@ +" MNV syntax file +" Language: CWEB +" Maintainer: Andreas Scherer +" Last Change: 2011 Dec 25 by Thilo Six + +" Details of the CWEB language can be found in the article by Donald E. Knuth +" and Silvio Levy, "The CWEB System of Structured Documentation", included as +" file "cwebman.tex" in the standard CWEB distribution, available for +" anonymous ftp at ftp://labrea.stanford.edu/pub/cweb/. + +" TODO: Section names and C/C++ comments should be treated as TeX material. +" TODO: The current version switches syntax highlighting off for section +" TODO: names, and leaves C/C++ comments as such. (On the other hand, +" TODO: switching to TeX mode in C/C++ comments might be colour overkill.) + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" For starters, read the TeX syntax; TeX syntax items are allowed at the top +" level in the CWEB syntax, e.g., in the preamble. In general, a CWEB source +" code can be seen as a normal TeX document with some C/C++ material +" interspersed in certain defined regions. +runtime! syntax/tex.mnv +unlet b:current_syntax + +" Read the C/C++ syntax too; C/C++ syntax items are treated as such in the +" C/C++ section of a CWEB chunk or in inner C/C++ context in "|...|" groups. +syntax include @webIncludedC :p:h/cpp.mnv + +let s:cpo_save = &cpo +set cpo&mnv + +" Inner C/C++ context (ICC) should be quite simple as it's comprised of +" material in "|...|"; however the naive definition for this region would +" hickup at the innocious "\|" TeX macro. Note: For the time being we expect +" that an ICC begins either at the start of a line or after some white space. +syntax region webInnerCcontext start="\(^\|[ \t\~`(]\)|" end="|" contains=@webIncludedC,webSectionName,webRestrictedTeX,webIgnoredStuff + +" Genuine C/C++ material. This syntactic region covers both the definition +" part and the C/C++ part of a CWEB section; it is ended by the TeX part of +" the next section. +syntax region webCpart start="@[dfscp<(]" end="@[ \*]" contains=@webIncludedC,webSectionName,webRestrictedTeX,webIgnoredStuff + +" Section names contain C/C++ material only in inner context. +syntax region webSectionName start="@[<(]" end="@>" contains=webInnerCcontext contained + +" The contents of "control texts" is not treated as TeX material, because in +" non-trivial cases this completely clobbers the syntax recognition. Instead, +" we highlight these elements as "strings". +syntax region webRestrictedTeX start="@[\^\.:t=q]" end="@>" oneline + +" Double-@ means single-@, anywhere in the CWEB source. (This allows e-mail +" address without going into C/C++ mode.) +syntax match webIgnoredStuff "@@" + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link webRestrictedTeX String + + +let b:current_syntax = "cweb" + +let &cpo = s:cpo_save +unlet s:cpo_save +" mnv: ts=8 diff --git a/uvim/runtime/syntax/cweb.vim b/uvim/runtime/syntax/cweb.vim deleted file mode 100644 index 4e06b3646d..0000000000 --- a/uvim/runtime/syntax/cweb.vim +++ /dev/null @@ -1,68 +0,0 @@ -" Vim syntax file -" Language: CWEB -" Maintainer: Andreas Scherer -" Last Change: 2011 Dec 25 by Thilo Six - -" Details of the CWEB language can be found in the article by Donald E. Knuth -" and Silvio Levy, "The CWEB System of Structured Documentation", included as -" file "cwebman.tex" in the standard CWEB distribution, available for -" anonymous ftp at ftp://labrea.stanford.edu/pub/cweb/. - -" TODO: Section names and C/C++ comments should be treated as TeX material. -" TODO: The current version switches syntax highlighting off for section -" TODO: names, and leaves C/C++ comments as such. (On the other hand, -" TODO: switching to TeX mode in C/C++ comments might be colour overkill.) - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" For starters, read the TeX syntax; TeX syntax items are allowed at the top -" level in the CWEB syntax, e.g., in the preamble. In general, a CWEB source -" code can be seen as a normal TeX document with some C/C++ material -" interspersed in certain defined regions. -runtime! syntax/tex.vim -unlet b:current_syntax - -" Read the C/C++ syntax too; C/C++ syntax items are treated as such in the -" C/C++ section of a CWEB chunk or in inner C/C++ context in "|...|" groups. -syntax include @webIncludedC :p:h/cpp.vim - -let s:cpo_save = &cpo -set cpo&vim - -" Inner C/C++ context (ICC) should be quite simple as it's comprised of -" material in "|...|"; however the naive definition for this region would -" hickup at the innocious "\|" TeX macro. Note: For the time being we expect -" that an ICC begins either at the start of a line or after some white space. -syntax region webInnerCcontext start="\(^\|[ \t\~`(]\)|" end="|" contains=@webIncludedC,webSectionName,webRestrictedTeX,webIgnoredStuff - -" Genuine C/C++ material. This syntactic region covers both the definition -" part and the C/C++ part of a CWEB section; it is ended by the TeX part of -" the next section. -syntax region webCpart start="@[dfscp<(]" end="@[ \*]" contains=@webIncludedC,webSectionName,webRestrictedTeX,webIgnoredStuff - -" Section names contain C/C++ material only in inner context. -syntax region webSectionName start="@[<(]" end="@>" contains=webInnerCcontext contained - -" The contents of "control texts" is not treated as TeX material, because in -" non-trivial cases this completely clobbers the syntax recognition. Instead, -" we highlight these elements as "strings". -syntax region webRestrictedTeX start="@[\^\.:t=q]" end="@>" oneline - -" Double-@ means single-@, anywhere in the CWEB source. (This allows e-mail -" address without going into C/C++ mode.) -syntax match webIgnoredStuff "@@" - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link webRestrictedTeX String - - -let b:current_syntax = "cweb" - -let &cpo = s:cpo_save -unlet s:cpo_save -" vim: ts=8 diff --git a/uvim/runtime/syntax/cynlib.mnv b/uvim/runtime/syntax/cynlib.mnv new file mode 100644 index 0000000000..aa1d268e90 --- /dev/null +++ b/uvim/runtime/syntax/cynlib.mnv @@ -0,0 +1,74 @@ +" MNV syntax file +" Language: Cynlib(C++) +" Maintainer: Phil Derrick +" Last change: 2001 Sep 02 +" URL http://www.derrickp.freeserve.co.uk/mnv/syntax/cynlib.mnv +" +" Language Information +" +" Cynlib is a library of C++ classes to allow hardware +" modelling in C++. Combined with a simulation kernel, +" the compiled and linked executable forms a hardware +" simulation of the described design. +" +" Further information can be found from www.forteds.com + + +" Remove any old syntax stuff hanging around +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + + + +" Read the C++ syntax to start with - this includes the C syntax +runtime! syntax/cpp.mnv +unlet b:current_syntax + +" Cynlib extensions + +syn keyword cynlibMacro Default CYNSCON +syn keyword cynlibMacro Case CaseX EndCaseX +syn keyword cynlibType CynData CynSignedData CynTime +syn keyword cynlibType In Out InST OutST +syn keyword cynlibType Struct +syn keyword cynlibType Int Uint Const +syn keyword cynlibType Long Ulong +syn keyword cynlibType OneHot +syn keyword cynlibType CynClock Cynclock0 +syn keyword cynlibFunction time configure my_name +syn keyword cynlibFunction CynModule epilog execute_on +syn keyword cynlibFunction my_name +syn keyword cynlibFunction CynBind bind +syn keyword cynlibFunction CynWait CynEvent +syn keyword cynlibFunction CynSetName +syn keyword cynlibFunction CynTick CynRun +syn keyword cynlibFunction CynFinish +syn keyword cynlibFunction Cynprintf CynSimTime +syn keyword cynlibFunction CynVcdFile +syn keyword cynlibFunction CynVcdAdd CynVcdRemove +syn keyword cynlibFunction CynVcdOn CynVcdOff +syn keyword cynlibFunction CynVcdScale +syn keyword cynlibFunction CynBgnName CynEndName +syn keyword cynlibFunction CynClock configure time +syn keyword cynlibFunction CynRedAnd CynRedNand +syn keyword cynlibFunction CynRedOr CynRedNor +syn keyword cynlibFunction CynRedXor CynRedXnor +syn keyword cynlibFunction CynVerify + + +syn match cynlibOperator "<<=" +syn keyword cynlibType In Out InST OutST Int Uint Const Cynclock + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link cynlibOperator Operator +hi def link cynlibMacro Statement +hi def link cynlibFunction Statement +hi def link cynlibppMacro Statement +hi def link cynlibType Type + + +let b:current_syntax = "cynlib" diff --git a/uvim/runtime/syntax/cynlib.vim b/uvim/runtime/syntax/cynlib.vim deleted file mode 100644 index 24ad2a2e31..0000000000 --- a/uvim/runtime/syntax/cynlib.vim +++ /dev/null @@ -1,74 +0,0 @@ -" Vim syntax file -" Language: Cynlib(C++) -" Maintainer: Phil Derrick -" Last change: 2001 Sep 02 -" URL http://www.derrickp.freeserve.co.uk/vim/syntax/cynlib.vim -" -" Language Information -" -" Cynlib is a library of C++ classes to allow hardware -" modelling in C++. Combined with a simulation kernel, -" the compiled and linked executable forms a hardware -" simulation of the described design. -" -" Further information can be found from www.forteds.com - - -" Remove any old syntax stuff hanging around -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - - - -" Read the C++ syntax to start with - this includes the C syntax -runtime! syntax/cpp.vim -unlet b:current_syntax - -" Cynlib extensions - -syn keyword cynlibMacro Default CYNSCON -syn keyword cynlibMacro Case CaseX EndCaseX -syn keyword cynlibType CynData CynSignedData CynTime -syn keyword cynlibType In Out InST OutST -syn keyword cynlibType Struct -syn keyword cynlibType Int Uint Const -syn keyword cynlibType Long Ulong -syn keyword cynlibType OneHot -syn keyword cynlibType CynClock Cynclock0 -syn keyword cynlibFunction time configure my_name -syn keyword cynlibFunction CynModule epilog execute_on -syn keyword cynlibFunction my_name -syn keyword cynlibFunction CynBind bind -syn keyword cynlibFunction CynWait CynEvent -syn keyword cynlibFunction CynSetName -syn keyword cynlibFunction CynTick CynRun -syn keyword cynlibFunction CynFinish -syn keyword cynlibFunction Cynprintf CynSimTime -syn keyword cynlibFunction CynVcdFile -syn keyword cynlibFunction CynVcdAdd CynVcdRemove -syn keyword cynlibFunction CynVcdOn CynVcdOff -syn keyword cynlibFunction CynVcdScale -syn keyword cynlibFunction CynBgnName CynEndName -syn keyword cynlibFunction CynClock configure time -syn keyword cynlibFunction CynRedAnd CynRedNand -syn keyword cynlibFunction CynRedOr CynRedNor -syn keyword cynlibFunction CynRedXor CynRedXnor -syn keyword cynlibFunction CynVerify - - -syn match cynlibOperator "<<=" -syn keyword cynlibType In Out InST OutST Int Uint Const Cynclock - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link cynlibOperator Operator -hi def link cynlibMacro Statement -hi def link cynlibFunction Statement -hi def link cynlibppMacro Statement -hi def link cynlibType Type - - -let b:current_syntax = "cynlib" diff --git a/uvim/runtime/syntax/cynpp.mnv b/uvim/runtime/syntax/cynpp.mnv new file mode 100644 index 0000000000..b20f0a7f5f --- /dev/null +++ b/uvim/runtime/syntax/cynpp.mnv @@ -0,0 +1,50 @@ +" MNV syntax file +" Language: Cyn++ +" Maintainer: Phil Derrick +" Last change: 2001 Sep 02 +" +" Language Information +" +" Cynpp (Cyn++) is a macro language to ease coding in Cynlib. +" Cynlib is a library of C++ classes to allow hardware +" modelling in C++. Combined with a simulation kernel, +" the compiled and linked executable forms a hardware +" simulation of the described design. +" +" Cyn++ is designed to be HDL-like. +" +" Further information can be found from www.forteds.com + + + + + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" Read the Cynlib syntax to start with - this includes the C++ syntax +runtime! syntax/cynlib.mnv +unlet b:current_syntax + + + +" Cyn++ extensions + +syn keyword cynppMacro Always EndAlways +syn keyword cynppMacro Module EndModule +syn keyword cynppMacro Initial EndInitial +syn keyword cynppMacro Posedge Negedge Changed +syn keyword cynppMacro At +syn keyword cynppMacro Thread EndThread +syn keyword cynppMacro Instantiate + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link cLabel Label +hi def link cynppMacro Statement + + +let b:current_syntax = "cynpp" diff --git a/uvim/runtime/syntax/cynpp.vim b/uvim/runtime/syntax/cynpp.vim deleted file mode 100644 index 3064b11a63..0000000000 --- a/uvim/runtime/syntax/cynpp.vim +++ /dev/null @@ -1,50 +0,0 @@ -" Vim syntax file -" Language: Cyn++ -" Maintainer: Phil Derrick -" Last change: 2001 Sep 02 -" -" Language Information -" -" Cynpp (Cyn++) is a macro language to ease coding in Cynlib. -" Cynlib is a library of C++ classes to allow hardware -" modelling in C++. Combined with a simulation kernel, -" the compiled and linked executable forms a hardware -" simulation of the described design. -" -" Cyn++ is designed to be HDL-like. -" -" Further information can be found from www.forteds.com - - - - - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" Read the Cynlib syntax to start with - this includes the C++ syntax -runtime! syntax/cynlib.vim -unlet b:current_syntax - - - -" Cyn++ extensions - -syn keyword cynppMacro Always EndAlways -syn keyword cynppMacro Module EndModule -syn keyword cynppMacro Initial EndInitial -syn keyword cynppMacro Posedge Negedge Changed -syn keyword cynppMacro At -syn keyword cynppMacro Thread EndThread -syn keyword cynppMacro Instantiate - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link cLabel Label -hi def link cynppMacro Statement - - -let b:current_syntax = "cynpp" diff --git a/uvim/runtime/syntax/d.mnv b/uvim/runtime/syntax/d.mnv new file mode 100644 index 0000000000..dc69ff095a --- /dev/null +++ b/uvim/runtime/syntax/d.mnv @@ -0,0 +1,573 @@ +" MNV syntax file for the D programming language (version 1.076 and 2.069). +" +" Language: D +" Maintainer: Jesse Phillips +" Last Change: 2016 Feb 2 +" Version: 0.28 +" +" Contributors: +" - Jason Mills: original Maintainer +" - Kirk McDonald +" - Tim Keating +" - Frank Benoit +" - Shougo Matsushita +" - Ellery Newcomer +" - Steven N. Oliver +" - Sohgo Takeuchi +" - Robert Clipsham +" - Petar Kirov +" +" Please submit bugs/comments/suggestions to the github repo: +" https://github.com/JesseKPhillips/d.mnv +" +" Options: +" d_comment_strings - Set to highlight strings and numbers in comments. +" +" d_hl_operator_overload - Set to highlight D's specially named functions +" that when overloaded implement unary and binary operators (e.g. opCmp). +" +" d_hl_object_types - Set to highlight some common types from object.di. + +" Quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" Support cpoptions +let s:cpo_save = &cpo +set cpo&mnv + +" Set the current syntax to be known as d +let b:current_syntax = "d" + +" Keyword definitions +" +syn keyword dExternal contained import module +syn keyword dAssert assert +syn keyword dConditional if else switch +syn keyword dBranch goto break continue +syn keyword dRepeat while for do foreach foreach_reverse +syn keyword dBoolean true false +syn keyword dConstant null +syn keyword dConstant __FILE__ __LINE__ __EOF__ __VERSION__ +syn keyword dConstant __DATE__ __TIME__ __TIMESTAMP__ __VENDOR__ +syn keyword dConstant __MODULE__ __FUNCTION__ __PRETTY_FUNCTION__ +syn keyword dTypedef alias typedef +syn keyword dStructure template interface class struct union +syn keyword dEnum enum +syn keyword dOperator new delete typeof typeid cast align is +syn keyword dOperator this super +if exists("d_hl_operator_overload") + syn keyword dOpOverload opNeg opCom opPostInc opPostDec opCast opAdd + syn keyword dOpOverload opSub opSub_r opMul opDiv opDiv_r opMod + syn keyword dOpOverload opMod_r opAnd opOr opXor opShl opShl_r opShr + syn keyword dOpOverload opShr_r opUShr opUShr_r opCat + syn keyword dOpOverload opCat_r opEquals opCmp + syn keyword dOpOverload opAssign opAddAssign opSubAssign opMulAssign + syn keyword dOpOverload opDivAssign opModAssign opAndAssign + syn keyword dOpOverload opOrAssign opXorAssign opShlAssign + syn keyword dOpOverload opShrAssign opUShrAssign opCatAssign + syn keyword dOpOverload opIndex opIndexAssign opIndexOpAssign + syn keyword dOpOverload opCall opSlice opSliceAssign opSliceOpAssign + syn keyword dOpOverload opPos opAdd_r opMul_r opAnd_r opOr_r opXor_r + syn keyword dOpOverload opIn opIn_r opPow opDispatch opStar opDot + syn keyword dOpOverload opApply opApplyReverse opDollar + syn keyword dOpOverload opUnary opIndexUnary opSliceUnary + syn keyword dOpOverload opBinary opBinaryRight +endif + +syn keyword dType byte ubyte short ushort int uint long ulong cent ucent +syn keyword dType void bool Object +syn keyword dType float double real +syn keyword dType ushort int uint long ulong float +syn keyword dType char wchar dchar string wstring dstring +syn keyword dType ireal ifloat idouble creal cfloat cdouble +syn keyword dType size_t ptrdiff_t sizediff_t equals_t hash_t +if exists("d_hl_object_types") + syn keyword dType Object Throwable AssociativeArray Error Exception + syn keyword dType Interface OffsetTypeInfo TypeInfo TypeInfo_Typedef + syn keyword dType TypeInfo_Enum TypeInfo_Pointer TypeInfo_Array + syn keyword dType TypeInfo_StaticArray TypeInfo_AssociativeArray + syn keyword dType TypeInfo_Function TypeInfo_Delegate TypeInfo_Class + syn keyword dType ClassInfo TypeInfo_Interface TypeInfo_Struct + syn keyword dType TypeInfo_Tuple TypeInfo_Const TypeInfo_Invariant + syn keyword dType TypeInfo_Shared TypeInfo_Inout MemberInfo + syn keyword dType MemberInfo_field MemberInfo_function ModuleInfo +endif +syn keyword dDebug deprecated unittest invariant +syn keyword dExceptions throw try catch finally +syn keyword dScopeDecl public protected private export package +syn keyword dStatement debug return with +syn keyword dStatement function delegate __ctfe mixin macro __simd +syn keyword dStatement in out body +syn keyword dStorageClass contained in out scope +syn keyword dStorageClass inout ref lazy pure nothrow +syn keyword dStorageClass auto static override final abstract volatile +syn keyword dStorageClass __gshared __vector +syn keyword dStorageClass synchronized shared immutable const lazy +syn keyword dIdentifier _arguments _argptr __vptr __monitor +syn keyword dIdentifier _ctor _dtor __argTypes __overloadset +syn keyword dScopeIdentifier contained exit success failure +syn keyword dTraitsIdentifier contained isAbstractClass isArithmetic +syn keyword dTraitsIdentifier contained isAssociativeArray isFinalClass +syn keyword dTraitsIdentifier contained isPOD isNested isFloating +syn keyword dTraitsIdentifier contained isIntegral isScalar isStaticArray +syn keyword dTraitsIdentifier contained isUnsigned isVirtualFunction +syn keyword dTraitsIdentifier contained isVirtualMethod isAbstractFunction +syn keyword dTraitsIdentifier contained isFinalFunction isStaticFunction +syn keyword dTraitsIdentifier contained isOverrideFunction isTemplate +syn keyword dTraitsIdentifier contained isRef isOut isLazy hasMember +syn keyword dTraitsIdentifier contained identifier getAliasThis +syn keyword dTraitsIdentifier contained getAttributes getFunctionAttributes getMember +syn keyword dTraitsIdentifier contained getOverloads getPointerBitmap getProtection +syn keyword dTraitsIdentifier contained getVirtualFunctions getVirtualIndex +syn keyword dTraitsIdentifier contained getVirtualMethods getUnitTests +syn keyword dTraitsIdentifier contained parent classInstanceSize allMembers +syn keyword dTraitsIdentifier contained derivedMembers isSame compiles +syn keyword dPragmaIdentifier contained inline lib mangle msg startaddress GNU_asm +syn keyword dExternIdentifier contained C C++ D Windows Pascal System Objective-C +syn keyword dAttribute contained safe trusted system +syn keyword dAttribute contained property disable nogc +syn keyword dVersionIdentifier contained DigitalMars GNU LDC SDC D_NET +syn keyword dVersionIdentifier contained X86 X86_64 ARM PPC PPC64 IA64 MIPS MIPS64 Alpha +syn keyword dVersionIdentifier contained SPARC SPARC64 S390 S390X HPPA HPPA64 SH SH64 +syn keyword dVersionIdentifier contained linux Posix OSX FreeBSD Windows Win32 Win64 +syn keyword dVersionIdentifier contained OpenBSD BSD Solaris AIX SkyOS SysV3 SysV4 Hurd +syn keyword dVersionIdentifier contained Cygwin MinGW +syn keyword dVersionIdentifier contained LittleEndian BigEndian +syn keyword dVersionIdentifier contained D_InlineAsm_X86 D_InlineAsm_X86_64 +syn keyword dVersionIdentifier contained D_Version2 D_Coverage D_Ddoc D_LP64 D_PIC +syn keyword dVersionIdentifier contained unittest assert none all + +syn cluster dComment contains=dNestedComment,dBlockComment,dLineComment + +" Highlight the sharpbang +syn match dSharpBang "\%^#!.*" display + +" Attributes/annotations +syn match dAnnotation "@[_$a-zA-Z][_$a-zA-Z0-9_]*\>" contains=dAttribute + +" Version Identifiers +syn match dVersion "\" +syn match dVersion "\"he=s+7 contains=dVersionIdentifier + +" Scope Identifiers +syn match dStatement "\" +syn match dStatement "\"he=s+5 contains=dScopeIdentifier + +" Traits Statement +syn match dStatement "\<__traits\>" +syn match dStatement "\<__traits\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+8 contains=dTraitsIdentifier + +" Pragma Statement +syn match dPragma "\" +syn match dPragma "\"he=s+6 contains=dPragmaIdentifier + +" Necessary to highlight C++ in extern modifiers. +syn match dExternIdentifier "C\(++\)\?" contained + +" Extern Identifiers +syn match dExternal "\" +syn match dExtern "\"he=s+6 contains=dExternIdentifier + +" Make import a region to prevent highlighting keywords +syn region dImport start="\+ contained transparent contains=dNestAngleString,@Spell +syn region dNestCurlyString start=+{+ end=+}+ contained transparent contains=dNestCurlyString,@Spell + +" Nesting delimited strings +" +syn region dParenString matchgroup=dParenString start=+q"(+ end=+)"+ contains=dNestParenString,@Spell +syn region dBrackString matchgroup=dBrackString start=+q"\[+ end=+\]"+ contains=dNestBrackString,@Spell +syn region dAngleString matchgroup=dAngleString start=+q"<+ end=+>"+ contains=dNestAngleString,@Spell +syn region dCurlyString matchgroup=dCurlyString start=+q"{+ end=+}"+ contains=dNestCurlyString,@Spell + +hi link dParenString dNestString +hi link dBrackString dNestString +hi link dAngleString dNestString +hi link dCurlyString dNestString + +syn cluster dTokens add=dString,dRawString,dHexString,dDelimString,dNestString + +" Token strings +" +syn region dNestTokenString start=+{+ end=+}+ contained contains=dNestTokenString,@dTokens,dFormat +syn region dTokenString matchgroup=dTokenStringBrack transparent start=+q{+ end=+}+ contains=dNestTokenString,@dTokens,dFormat + +syn cluster dTokens add=dTokenString + +" Numbers +" +syn case ignore + +syn match dDec display "\<\d[0-9_]*\(u\=l\=\|l\=u\=\)\>" + +" Hex number +syn match dHex display "\<0x[0-9a-f_]\+\(u\=l\=\|l\=u\=\)\>" + +syn match dOctal display "\<0[0-7_]\+\(u\=l\=\|l\=u\=\)\>" +" flag an octal number with wrong digits +syn match dOctalError display "\<0[0-7_]*[89][0-9_]*" + +" binary numbers +syn match dBinary display "\<0b[01_]\+\(u\=l\=\|l\=u\=\)\>" + +"floating point without the dot +syn match dFloat display "\<\d[0-9_]*\(fi\=\|l\=i\)\>" +"floating point number, with dot, optional exponent +syn match dFloat display "\<\d[0-9_]*\.[0-9_]*\(e[-+]\=[0-9_]\+\)\=[fl]\=i\=" +"floating point number, starting with a dot, optional exponent +syn match dFloat display "\(\.[0-9_]\+\)\(e[-+]\=[0-9_]\+\)\=[fl]\=i\=\>" +"floating point number, without dot, with exponent +"syn match dFloat display "\<\d\+e[-+]\=\d\+[fl]\=\>" +syn match dFloat display "\<\d[0-9_]*e[-+]\=[0-9_]\+[fl]\=\>" + +"floating point without the dot +syn match dHexFloat display "\<0x[0-9a-f_]\+\(fi\=\|l\=i\)\>" +"floating point number, with dot, optional exponent +syn match dHexFloat display "\<0x[0-9a-f_]\+\.[0-9a-f_]*\(p[-+]\=[0-9_]\+\)\=[fl]\=i\=" +"floating point number, without dot, with exponent +syn match dHexFloat display "\<0x[0-9a-f_]\+p[-+]\=[0-9_]\+[fl]\=i\=\>" + +syn cluster dTokens add=dDec,dHex,dOctal,dOctalError,dBinary,dFloat,dHexFloat + +syn case match + +" Pragma (preprocessor) support +" TODO: Highlight following Integer and optional Filespec. +syn region dPragma start="#\s*\(line\>\)" skip="\\$" end="$" + +" Block +" +syn region dBlock start="{" end="}" transparent fold + + +" The default highlighting. +" +hi def link dBinary Number +hi def link dDec Number +hi def link dHex Number +hi def link dOctal Number +hi def link dFloat Float +hi def link dHexFloat Float +hi def link dDebug Debug +hi def link dBranch Conditional +hi def link dConditional Conditional +hi def link dLabel Label +hi def link dUserLabel Label +hi def link dRepeat Repeat +hi def link dExceptions Exception +hi def link dAssert Statement +hi def link dStatement Statement +hi def link dScopeDecl dStorageClass +hi def link dStorageClass StorageClass +hi def link dBoolean Boolean +hi def link dUnicode Special +hi def link dTokenStringBrack String +hi def link dHereString String +hi def link dNestString String +hi def link dDelimString String +hi def link dRawString String +hi def link dString String +hi def link dHexString String +hi def link dCharacter Character +hi def link dEscSequence SpecialChar +hi def link dFormat SpecialChar +hi def link dSpecialCharError Error +hi def link dOctalError Error +hi def link dOperator Operator +hi def link dOpOverload Identifier +hi def link dConstant Constant +hi def link dTypedef Typedef +hi def link dEnum Structure +hi def link dStructure Structure +hi def link dTodo Todo +hi def link dType Type +hi def link dLineComment Comment +hi def link dBlockComment Comment +hi def link dNestedComment Comment +hi def link dCommentError Error +hi def link dNestedCommentError Error +hi def link dCommentStartError Error +hi def link dExternal Include +hi def link dAnnotation PreProc +hi def link dSharpBang PreProc +hi def link dAttribute StorageClass +hi def link dIdentifier Identifier +hi def link dVersion dStatement +hi def link dVersionIdentifier Identifier +hi def link dScopeIdentifier Identifier +hi def link dTraitsIdentifier Identifier +hi def link dPragma PreProc +hi def link dPragmaIdentifier Identifier +hi def link dExtern dExternal +hi def link dExternIdentifier Identifier + +" Marks contents of the asm statment body as special + +syn match dAsmStatement "\" +syn region dAsmBody start="asm[\n]*\s*{"hs=e+1 end="}"he=e-1 contains=dAsmStatement,dAsmOpCode,@dComment,DUserLabel + +hi def link dAsmBody dUnicode +hi def link dAsmStatement dStatement +hi def link dAsmOpCode Identifier + +syn keyword dAsmOpCode contained aaa aad aam aas +syn keyword dAsmOpCode contained add addpd addps addsd +syn keyword dAsmOpCode contained and andnpd andnps andpd +syn keyword dAsmOpCode contained arpl bound bsf bsr +syn keyword dAsmOpCode contained bt btc btr bts +syn keyword dAsmOpCode contained call bswap andps addss +syn keyword dAsmOpCode contained cbw cdq clc cld +syn keyword dAsmOpCode contained cli clts cmc cmova +syn keyword dAsmOpCode contained cmovb cmovbe cmovc cmove +syn keyword dAsmOpCode contained cmovge cmovl cmovle cmovna +syn keyword dAsmOpCode contained cmovnae cmovg cmovae clflush +syn keyword dAsmOpCode contained cmovnb cmovnbe cmovnc cmovne +syn keyword dAsmOpCode contained cmovnge cmovnl cmovnle cmovno +syn keyword dAsmOpCode contained cmovns cmovnz cmovo cmovp +syn keyword dAsmOpCode contained cmovpo cmovs cmovz cmp +syn keyword dAsmOpCode contained cmppd cmovpe cmovnp cmovng +syn keyword dAsmOpCode contained cmpps cmps cmpsb cmpsd +syn keyword dAsmOpCode contained cmpsw cmpxch8b cmpxchg comisd +syn keyword dAsmOpCode contained cpuid cvtdq2pd cvtdq2ps cvtpd2dq +syn keyword dAsmOpCode contained cvtpd2ps cvtpi2pd cvtpi2ps cvtps2dq +syn keyword dAsmOpCode contained cvtps2pd cvtpd2pi comiss cmpss +syn keyword dAsmOpCode contained cvtps2pi cvtsd2si cvtsd2ss cvtsi2sd +syn keyword dAsmOpCode contained cvtss2sd cvtss2si cvttpd2dq cvttpd2pi +syn keyword dAsmOpCode contained cvttps2pi cvttsd2si cvttss2si cwd +syn keyword dAsmOpCode contained da daa das db +syn keyword dAsmOpCode contained dd cwde cvttps2dq cvtsi2ss +syn keyword dAsmOpCode contained de dec df di +syn keyword dAsmOpCode contained divpd divps divsd divss +syn keyword dAsmOpCode contained dq ds dt dw +syn keyword dAsmOpCode contained enter f2xm1 fabs fadd +syn keyword dAsmOpCode contained faddp emms dl div +syn keyword dAsmOpCode contained fbld fbstp fchs fclex +syn keyword dAsmOpCode contained fcmovbe fcmove fcmovnb fcmovnbe +syn keyword dAsmOpCode contained fcmovnu fcmovu fcom fcomi +syn keyword dAsmOpCode contained fcomp fcompp fcos fdecstp +syn keyword dAsmOpCode contained fdisi fcomip fcmovne fcmovb +syn keyword dAsmOpCode contained fdiv fdivp fdivr fdivrp +syn keyword dAsmOpCode contained ffree fiadd ficom ficomp +syn keyword dAsmOpCode contained fidivr fild fimul fincstp +syn keyword dAsmOpCode contained fist fistp fisub fisubr +syn keyword dAsmOpCode contained fld finit fidiv feni +syn keyword dAsmOpCode contained fld1 fldcw fldenv fldl2e +syn keyword dAsmOpCode contained fldlg2 fldln2 fldpi fldz +syn keyword dAsmOpCode contained fmulp fnclex fndisi fneni +syn keyword dAsmOpCode contained fnop fnsave fnstcw fnstenv +syn keyword dAsmOpCode contained fnstsw fninit fmul fldl2t +syn keyword dAsmOpCode contained fpatan fprem fprem1 fptan +syn keyword dAsmOpCode contained frstor fsave fscale fsetpm +syn keyword dAsmOpCode contained fsincos fsqrt fst fstcw +syn keyword dAsmOpCode contained fstp fstsw fsub fsubp +syn keyword dAsmOpCode contained fsubr fstenv fsin frndint +syn keyword dAsmOpCode contained fsubrp ftst fucom fucomi +syn keyword dAsmOpCode contained fucomp fucompp fwait fxam +syn keyword dAsmOpCode contained fxrstor fxsave fxtract fyl2x +syn keyword dAsmOpCode contained hlt idiv imul in +syn keyword dAsmOpCode contained inc fyl2xp1 fxch fucomip +syn keyword dAsmOpCode contained ins insb insd insw +syn keyword dAsmOpCode contained into invd invlpg iret +syn keyword dAsmOpCode contained ja jae jb jbe +syn keyword dAsmOpCode contained jcxz je jecxz jg +syn keyword dAsmOpCode contained jge jc iretd int +syn keyword dAsmOpCode contained jl jle jmp jna +syn keyword dAsmOpCode contained jnb jnbe jnc jne +syn keyword dAsmOpCode contained jnge jnl jnle jno +syn keyword dAsmOpCode contained jns jnz jo jp +syn keyword dAsmOpCode contained jpe jnp jng jnae +syn keyword dAsmOpCode contained jpo js jz lahf +syn keyword dAsmOpCode contained ldmxcsr lds lea leave +syn keyword dAsmOpCode contained lfence lfs lgdt lgs +syn keyword dAsmOpCode contained lldt lmsw lock lods +syn keyword dAsmOpCode contained lodsb lidt les lar +syn keyword dAsmOpCode contained lodsd lodsw loop loope +syn keyword dAsmOpCode contained loopnz loopz lsl lss +syn keyword dAsmOpCode contained maskmovdqu maskmovq maxpd maxps +syn keyword dAsmOpCode contained maxss mfence minpd minps +syn keyword dAsmOpCode contained minsd maxsd ltr loopne +syn keyword dAsmOpCode contained minss mov movapd movaps +syn keyword dAsmOpCode contained movdq2q movdqa movdqu movhlps +syn keyword dAsmOpCode contained movhps movlhps movlpd movlps +syn keyword dAsmOpCode contained movmskps movntdq movnti movntpd +syn keyword dAsmOpCode contained movntps movmskpd movhpd movd +syn keyword dAsmOpCode contained movntq movq movq2dq movs +syn keyword dAsmOpCode contained movsd movss movsw movsx +syn keyword dAsmOpCode contained movups movzx mul mulpd +syn keyword dAsmOpCode contained mulsd mulss neg nop +syn keyword dAsmOpCode contained not mulps movupd movsb +syn keyword dAsmOpCode contained or orpd orps out +syn keyword dAsmOpCode contained outsb outsd outsw packssdw +syn keyword dAsmOpCode contained packuswb paddb paddd paddq +syn keyword dAsmOpCode contained paddsw paddusb paddusw paddw +syn keyword dAsmOpCode contained pand paddsb packsswb outs +syn keyword dAsmOpCode contained pandn pavgb pavgw pcmpeqb +syn keyword dAsmOpCode contained pcmpeqw pcmpgtb pcmpgtd pcmpgtw +syn keyword dAsmOpCode contained pinsrw pmaddwd pmaxsw pmaxub +syn keyword dAsmOpCode contained pminub pmovmskb pmulhuw pmulhw +syn keyword dAsmOpCode contained pmullw pminsw pextrw pcmpeqd +syn keyword dAsmOpCode contained pmuludq pop popa popad +syn keyword dAsmOpCode contained popfd por prefetchnta prefetcht0 +syn keyword dAsmOpCode contained prefetcht2 psadbw pshufd pshufhw +syn keyword dAsmOpCode contained pshufw pslld pslldq psllq +syn keyword dAsmOpCode contained psllw pshuflw prefetcht1 popf +syn keyword dAsmOpCode contained psrad psraw psrld psrldq +syn keyword dAsmOpCode contained psrlw psubb psubd psubq +syn keyword dAsmOpCode contained psubsw psubusb psubusw psubw +syn keyword dAsmOpCode contained punpckhdq punpckhqdq punpckhwd punpcklbw +syn keyword dAsmOpCode contained punpckldq punpckhbw psubsb psrlq +syn keyword dAsmOpCode contained punpcklqdq punpcklwd push pusha +syn keyword dAsmOpCode contained pushf pushfd pxor rcl +syn keyword dAsmOpCode contained rcpss rcr rdmsr rdpmc +syn keyword dAsmOpCode contained rep repe repne repnz +syn keyword dAsmOpCode contained repz rdtsc rcpps pushad +syn keyword dAsmOpCode contained ret retf rol ror +syn keyword dAsmOpCode contained rsqrtps rsqrtss sahf sal +syn keyword dAsmOpCode contained sbb scas scasb scasd +syn keyword dAsmOpCode contained seta setae setb setbe +syn keyword dAsmOpCode contained setc scasw sar rsm +syn keyword dAsmOpCode contained sete setg setge setl +syn keyword dAsmOpCode contained setna setnae setnb setnbe +syn keyword dAsmOpCode contained setne setng setnge setnl +syn keyword dAsmOpCode contained setno setnp setns setnz +syn keyword dAsmOpCode contained seto setnle setnc setle +syn keyword dAsmOpCode contained setp setpe setpo sets +syn keyword dAsmOpCode contained sfence sgdt shl shld +syn keyword dAsmOpCode contained shrd shufpd shufps sidt +syn keyword dAsmOpCode contained smsw sqrtpd sqrtps sqrtsd +syn keyword dAsmOpCode contained sqrtss sldt shr setz +syn keyword dAsmOpCode contained stc std sti stmxcsr +syn keyword dAsmOpCode contained stosb stosd stosw str +syn keyword dAsmOpCode contained subpd subps subsd subss +syn keyword dAsmOpCode contained sysexit test ucomisd ucomiss +syn keyword dAsmOpCode contained ud2 sysenter sub stos +syn keyword dAsmOpCode contained unpckhpd unpckhps unpcklpd unpcklps +syn keyword dAsmOpCode contained verw wbinvd wrmsr xadd +syn keyword dAsmOpCode contained xchg xlatb xor xorpd +syn keyword dAsmOpCode contained xorps pfrcpit1 pfmin movddup +syn keyword dAsmOpCode contained addsubpd addsubps fisttp haddps +syn keyword dAsmOpCode contained hsubpd hsubps lddqu monitor +syn keyword dAsmOpCode contained haddpd xlat wait verr +syn keyword dAsmOpCode contained movshdup movsldup mwait pfcmpeq +syn keyword dAsmOpCode contained pavgusb pf2id pfacc pfadd +syn keyword dAsmOpCode contained pfcmpge pfcmpgt pfmax pfmul +syn keyword dAsmOpCode contained pfnacc pfpnacc pfrcp pfrcpit1 +syn keyword dAsmOpCode contained pfrsqit1 pfrsqrt pfsub pfsubr +syn keyword dAsmOpCode contained pmulhrw pswapd syscall sysret +syn keyword dAsmOpCode contained vpmuldq xgetbv cmpxchg8b cmpxchg16b +syn keyword dAsmOpCode contained pabsb pabsd pabsw palignr +syn keyword dAsmOpCode contained phaddd phaddsw phaddw phsubd +syn keyword dAsmOpCode contained phsubsw phsubw pmaddubsw pmulhrsw +syn keyword dAsmOpCode contained pshufb psignb psignd psignw +syn keyword dAsmOpCode contained popfq pushfq blendpd blendps +syn keyword dAsmOpCode contained blendvpd blendvps extractps insertps +syn keyword dAsmOpCode contained movntdqa mpsadbw packusdw pblendvb +syn keyword dAsmOpCode contained pblendw pcmpeqq pextrb pextrd +syn keyword dAsmOpCode contained pextrq phminposuw pinsrb pinsrd +syn keyword dAsmOpCode contained pinsrq pmaxsb pmaxsd pmaxud +syn keyword dAsmOpCode contained pmaxuw pminsb pminsd pminud +syn keyword dAsmOpCode contained pminuw pmulld ptest roundpd +syn keyword dAsmOpCode contained roundps roundsd roundss pmuldq +syn keyword dAsmOpCode contained pmovsxbd pmovsxdq pmovzxbq pmovzxdq +syn keyword dAsmOpCode contained pmovsxbq pmovsxwd pmovzxbq pmovzxwd +syn keyword dAsmOpCode contained pmovsxbw pmovsxwq pmovzxbw pmovzxwq +syn keyword dAsmOpCode contained crc32 pcmpestri pcmpestrm pcmpgtq +syn keyword dAsmOpCode contained pcmpistri pcmpistrm popcnt pi2fd +syn keyword dAsmOpCode contained adc + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/d.vim b/uvim/runtime/syntax/d.vim deleted file mode 100644 index fdac98c437..0000000000 --- a/uvim/runtime/syntax/d.vim +++ /dev/null @@ -1,573 +0,0 @@ -" Vim syntax file for the D programming language (version 1.076 and 2.069). -" -" Language: D -" Maintainer: Jesse Phillips -" Last Change: 2016 Feb 2 -" Version: 0.28 -" -" Contributors: -" - Jason Mills: original Maintainer -" - Kirk McDonald -" - Tim Keating -" - Frank Benoit -" - Shougo Matsushita -" - Ellery Newcomer -" - Steven N. Oliver -" - Sohgo Takeuchi -" - Robert Clipsham -" - Petar Kirov -" -" Please submit bugs/comments/suggestions to the github repo: -" https://github.com/JesseKPhillips/d.vim -" -" Options: -" d_comment_strings - Set to highlight strings and numbers in comments. -" -" d_hl_operator_overload - Set to highlight D's specially named functions -" that when overloaded implement unary and binary operators (e.g. opCmp). -" -" d_hl_object_types - Set to highlight some common types from object.di. - -" Quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" Support cpoptions -let s:cpo_save = &cpo -set cpo&vim - -" Set the current syntax to be known as d -let b:current_syntax = "d" - -" Keyword definitions -" -syn keyword dExternal contained import module -syn keyword dAssert assert -syn keyword dConditional if else switch -syn keyword dBranch goto break continue -syn keyword dRepeat while for do foreach foreach_reverse -syn keyword dBoolean true false -syn keyword dConstant null -syn keyword dConstant __FILE__ __LINE__ __EOF__ __VERSION__ -syn keyword dConstant __DATE__ __TIME__ __TIMESTAMP__ __VENDOR__ -syn keyword dConstant __MODULE__ __FUNCTION__ __PRETTY_FUNCTION__ -syn keyword dTypedef alias typedef -syn keyword dStructure template interface class struct union -syn keyword dEnum enum -syn keyword dOperator new delete typeof typeid cast align is -syn keyword dOperator this super -if exists("d_hl_operator_overload") - syn keyword dOpOverload opNeg opCom opPostInc opPostDec opCast opAdd - syn keyword dOpOverload opSub opSub_r opMul opDiv opDiv_r opMod - syn keyword dOpOverload opMod_r opAnd opOr opXor opShl opShl_r opShr - syn keyword dOpOverload opShr_r opUShr opUShr_r opCat - syn keyword dOpOverload opCat_r opEquals opCmp - syn keyword dOpOverload opAssign opAddAssign opSubAssign opMulAssign - syn keyword dOpOverload opDivAssign opModAssign opAndAssign - syn keyword dOpOverload opOrAssign opXorAssign opShlAssign - syn keyword dOpOverload opShrAssign opUShrAssign opCatAssign - syn keyword dOpOverload opIndex opIndexAssign opIndexOpAssign - syn keyword dOpOverload opCall opSlice opSliceAssign opSliceOpAssign - syn keyword dOpOverload opPos opAdd_r opMul_r opAnd_r opOr_r opXor_r - syn keyword dOpOverload opIn opIn_r opPow opDispatch opStar opDot - syn keyword dOpOverload opApply opApplyReverse opDollar - syn keyword dOpOverload opUnary opIndexUnary opSliceUnary - syn keyword dOpOverload opBinary opBinaryRight -endif - -syn keyword dType byte ubyte short ushort int uint long ulong cent ucent -syn keyword dType void bool Object -syn keyword dType float double real -syn keyword dType ushort int uint long ulong float -syn keyword dType char wchar dchar string wstring dstring -syn keyword dType ireal ifloat idouble creal cfloat cdouble -syn keyword dType size_t ptrdiff_t sizediff_t equals_t hash_t -if exists("d_hl_object_types") - syn keyword dType Object Throwable AssociativeArray Error Exception - syn keyword dType Interface OffsetTypeInfo TypeInfo TypeInfo_Typedef - syn keyword dType TypeInfo_Enum TypeInfo_Pointer TypeInfo_Array - syn keyword dType TypeInfo_StaticArray TypeInfo_AssociativeArray - syn keyword dType TypeInfo_Function TypeInfo_Delegate TypeInfo_Class - syn keyword dType ClassInfo TypeInfo_Interface TypeInfo_Struct - syn keyword dType TypeInfo_Tuple TypeInfo_Const TypeInfo_Invariant - syn keyword dType TypeInfo_Shared TypeInfo_Inout MemberInfo - syn keyword dType MemberInfo_field MemberInfo_function ModuleInfo -endif -syn keyword dDebug deprecated unittest invariant -syn keyword dExceptions throw try catch finally -syn keyword dScopeDecl public protected private export package -syn keyword dStatement debug return with -syn keyword dStatement function delegate __ctfe mixin macro __simd -syn keyword dStatement in out body -syn keyword dStorageClass contained in out scope -syn keyword dStorageClass inout ref lazy pure nothrow -syn keyword dStorageClass auto static override final abstract volatile -syn keyword dStorageClass __gshared __vector -syn keyword dStorageClass synchronized shared immutable const lazy -syn keyword dIdentifier _arguments _argptr __vptr __monitor -syn keyword dIdentifier _ctor _dtor __argTypes __overloadset -syn keyword dScopeIdentifier contained exit success failure -syn keyword dTraitsIdentifier contained isAbstractClass isArithmetic -syn keyword dTraitsIdentifier contained isAssociativeArray isFinalClass -syn keyword dTraitsIdentifier contained isPOD isNested isFloating -syn keyword dTraitsIdentifier contained isIntegral isScalar isStaticArray -syn keyword dTraitsIdentifier contained isUnsigned isVirtualFunction -syn keyword dTraitsIdentifier contained isVirtualMethod isAbstractFunction -syn keyword dTraitsIdentifier contained isFinalFunction isStaticFunction -syn keyword dTraitsIdentifier contained isOverrideFunction isTemplate -syn keyword dTraitsIdentifier contained isRef isOut isLazy hasMember -syn keyword dTraitsIdentifier contained identifier getAliasThis -syn keyword dTraitsIdentifier contained getAttributes getFunctionAttributes getMember -syn keyword dTraitsIdentifier contained getOverloads getPointerBitmap getProtection -syn keyword dTraitsIdentifier contained getVirtualFunctions getVirtualIndex -syn keyword dTraitsIdentifier contained getVirtualMethods getUnitTests -syn keyword dTraitsIdentifier contained parent classInstanceSize allMembers -syn keyword dTraitsIdentifier contained derivedMembers isSame compiles -syn keyword dPragmaIdentifier contained inline lib mangle msg startaddress GNU_asm -syn keyword dExternIdentifier contained C C++ D Windows Pascal System Objective-C -syn keyword dAttribute contained safe trusted system -syn keyword dAttribute contained property disable nogc -syn keyword dVersionIdentifier contained DigitalMars GNU LDC SDC D_NET -syn keyword dVersionIdentifier contained X86 X86_64 ARM PPC PPC64 IA64 MIPS MIPS64 Alpha -syn keyword dVersionIdentifier contained SPARC SPARC64 S390 S390X HPPA HPPA64 SH SH64 -syn keyword dVersionIdentifier contained linux Posix OSX FreeBSD Windows Win32 Win64 -syn keyword dVersionIdentifier contained OpenBSD BSD Solaris AIX SkyOS SysV3 SysV4 Hurd -syn keyword dVersionIdentifier contained Cygwin MinGW -syn keyword dVersionIdentifier contained LittleEndian BigEndian -syn keyword dVersionIdentifier contained D_InlineAsm_X86 D_InlineAsm_X86_64 -syn keyword dVersionIdentifier contained D_Version2 D_Coverage D_Ddoc D_LP64 D_PIC -syn keyword dVersionIdentifier contained unittest assert none all - -syn cluster dComment contains=dNestedComment,dBlockComment,dLineComment - -" Highlight the sharpbang -syn match dSharpBang "\%^#!.*" display - -" Attributes/annotations -syn match dAnnotation "@[_$a-zA-Z][_$a-zA-Z0-9_]*\>" contains=dAttribute - -" Version Identifiers -syn match dVersion "\" -syn match dVersion "\"he=s+7 contains=dVersionIdentifier - -" Scope Identifiers -syn match dStatement "\" -syn match dStatement "\"he=s+5 contains=dScopeIdentifier - -" Traits Statement -syn match dStatement "\<__traits\>" -syn match dStatement "\<__traits\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+8 contains=dTraitsIdentifier - -" Pragma Statement -syn match dPragma "\" -syn match dPragma "\"he=s+6 contains=dPragmaIdentifier - -" Necessary to highlight C++ in extern modifiers. -syn match dExternIdentifier "C\(++\)\?" contained - -" Extern Identifiers -syn match dExternal "\" -syn match dExtern "\"he=s+6 contains=dExternIdentifier - -" Make import a region to prevent highlighting keywords -syn region dImport start="\+ contained transparent contains=dNestAngleString,@Spell -syn region dNestCurlyString start=+{+ end=+}+ contained transparent contains=dNestCurlyString,@Spell - -" Nesting delimited strings -" -syn region dParenString matchgroup=dParenString start=+q"(+ end=+)"+ contains=dNestParenString,@Spell -syn region dBrackString matchgroup=dBrackString start=+q"\[+ end=+\]"+ contains=dNestBrackString,@Spell -syn region dAngleString matchgroup=dAngleString start=+q"<+ end=+>"+ contains=dNestAngleString,@Spell -syn region dCurlyString matchgroup=dCurlyString start=+q"{+ end=+}"+ contains=dNestCurlyString,@Spell - -hi link dParenString dNestString -hi link dBrackString dNestString -hi link dAngleString dNestString -hi link dCurlyString dNestString - -syn cluster dTokens add=dString,dRawString,dHexString,dDelimString,dNestString - -" Token strings -" -syn region dNestTokenString start=+{+ end=+}+ contained contains=dNestTokenString,@dTokens,dFormat -syn region dTokenString matchgroup=dTokenStringBrack transparent start=+q{+ end=+}+ contains=dNestTokenString,@dTokens,dFormat - -syn cluster dTokens add=dTokenString - -" Numbers -" -syn case ignore - -syn match dDec display "\<\d[0-9_]*\(u\=l\=\|l\=u\=\)\>" - -" Hex number -syn match dHex display "\<0x[0-9a-f_]\+\(u\=l\=\|l\=u\=\)\>" - -syn match dOctal display "\<0[0-7_]\+\(u\=l\=\|l\=u\=\)\>" -" flag an octal number with wrong digits -syn match dOctalError display "\<0[0-7_]*[89][0-9_]*" - -" binary numbers -syn match dBinary display "\<0b[01_]\+\(u\=l\=\|l\=u\=\)\>" - -"floating point without the dot -syn match dFloat display "\<\d[0-9_]*\(fi\=\|l\=i\)\>" -"floating point number, with dot, optional exponent -syn match dFloat display "\<\d[0-9_]*\.[0-9_]*\(e[-+]\=[0-9_]\+\)\=[fl]\=i\=" -"floating point number, starting with a dot, optional exponent -syn match dFloat display "\(\.[0-9_]\+\)\(e[-+]\=[0-9_]\+\)\=[fl]\=i\=\>" -"floating point number, without dot, with exponent -"syn match dFloat display "\<\d\+e[-+]\=\d\+[fl]\=\>" -syn match dFloat display "\<\d[0-9_]*e[-+]\=[0-9_]\+[fl]\=\>" - -"floating point without the dot -syn match dHexFloat display "\<0x[0-9a-f_]\+\(fi\=\|l\=i\)\>" -"floating point number, with dot, optional exponent -syn match dHexFloat display "\<0x[0-9a-f_]\+\.[0-9a-f_]*\(p[-+]\=[0-9_]\+\)\=[fl]\=i\=" -"floating point number, without dot, with exponent -syn match dHexFloat display "\<0x[0-9a-f_]\+p[-+]\=[0-9_]\+[fl]\=i\=\>" - -syn cluster dTokens add=dDec,dHex,dOctal,dOctalError,dBinary,dFloat,dHexFloat - -syn case match - -" Pragma (preprocessor) support -" TODO: Highlight following Integer and optional Filespec. -syn region dPragma start="#\s*\(line\>\)" skip="\\$" end="$" - -" Block -" -syn region dBlock start="{" end="}" transparent fold - - -" The default highlighting. -" -hi def link dBinary Number -hi def link dDec Number -hi def link dHex Number -hi def link dOctal Number -hi def link dFloat Float -hi def link dHexFloat Float -hi def link dDebug Debug -hi def link dBranch Conditional -hi def link dConditional Conditional -hi def link dLabel Label -hi def link dUserLabel Label -hi def link dRepeat Repeat -hi def link dExceptions Exception -hi def link dAssert Statement -hi def link dStatement Statement -hi def link dScopeDecl dStorageClass -hi def link dStorageClass StorageClass -hi def link dBoolean Boolean -hi def link dUnicode Special -hi def link dTokenStringBrack String -hi def link dHereString String -hi def link dNestString String -hi def link dDelimString String -hi def link dRawString String -hi def link dString String -hi def link dHexString String -hi def link dCharacter Character -hi def link dEscSequence SpecialChar -hi def link dFormat SpecialChar -hi def link dSpecialCharError Error -hi def link dOctalError Error -hi def link dOperator Operator -hi def link dOpOverload Identifier -hi def link dConstant Constant -hi def link dTypedef Typedef -hi def link dEnum Structure -hi def link dStructure Structure -hi def link dTodo Todo -hi def link dType Type -hi def link dLineComment Comment -hi def link dBlockComment Comment -hi def link dNestedComment Comment -hi def link dCommentError Error -hi def link dNestedCommentError Error -hi def link dCommentStartError Error -hi def link dExternal Include -hi def link dAnnotation PreProc -hi def link dSharpBang PreProc -hi def link dAttribute StorageClass -hi def link dIdentifier Identifier -hi def link dVersion dStatement -hi def link dVersionIdentifier Identifier -hi def link dScopeIdentifier Identifier -hi def link dTraitsIdentifier Identifier -hi def link dPragma PreProc -hi def link dPragmaIdentifier Identifier -hi def link dExtern dExternal -hi def link dExternIdentifier Identifier - -" Marks contents of the asm statment body as special - -syn match dAsmStatement "\" -syn region dAsmBody start="asm[\n]*\s*{"hs=e+1 end="}"he=e-1 contains=dAsmStatement,dAsmOpCode,@dComment,DUserLabel - -hi def link dAsmBody dUnicode -hi def link dAsmStatement dStatement -hi def link dAsmOpCode Identifier - -syn keyword dAsmOpCode contained aaa aad aam aas -syn keyword dAsmOpCode contained add addpd addps addsd -syn keyword dAsmOpCode contained and andnpd andnps andpd -syn keyword dAsmOpCode contained arpl bound bsf bsr -syn keyword dAsmOpCode contained bt btc btr bts -syn keyword dAsmOpCode contained call bswap andps addss -syn keyword dAsmOpCode contained cbw cdq clc cld -syn keyword dAsmOpCode contained cli clts cmc cmova -syn keyword dAsmOpCode contained cmovb cmovbe cmovc cmove -syn keyword dAsmOpCode contained cmovge cmovl cmovle cmovna -syn keyword dAsmOpCode contained cmovnae cmovg cmovae clflush -syn keyword dAsmOpCode contained cmovnb cmovnbe cmovnc cmovne -syn keyword dAsmOpCode contained cmovnge cmovnl cmovnle cmovno -syn keyword dAsmOpCode contained cmovns cmovnz cmovo cmovp -syn keyword dAsmOpCode contained cmovpo cmovs cmovz cmp -syn keyword dAsmOpCode contained cmppd cmovpe cmovnp cmovng -syn keyword dAsmOpCode contained cmpps cmps cmpsb cmpsd -syn keyword dAsmOpCode contained cmpsw cmpxch8b cmpxchg comisd -syn keyword dAsmOpCode contained cpuid cvtdq2pd cvtdq2ps cvtpd2dq -syn keyword dAsmOpCode contained cvtpd2ps cvtpi2pd cvtpi2ps cvtps2dq -syn keyword dAsmOpCode contained cvtps2pd cvtpd2pi comiss cmpss -syn keyword dAsmOpCode contained cvtps2pi cvtsd2si cvtsd2ss cvtsi2sd -syn keyword dAsmOpCode contained cvtss2sd cvtss2si cvttpd2dq cvttpd2pi -syn keyword dAsmOpCode contained cvttps2pi cvttsd2si cvttss2si cwd -syn keyword dAsmOpCode contained da daa das db -syn keyword dAsmOpCode contained dd cwde cvttps2dq cvtsi2ss -syn keyword dAsmOpCode contained de dec df di -syn keyword dAsmOpCode contained divpd divps divsd divss -syn keyword dAsmOpCode contained dq ds dt dw -syn keyword dAsmOpCode contained enter f2xm1 fabs fadd -syn keyword dAsmOpCode contained faddp emms dl div -syn keyword dAsmOpCode contained fbld fbstp fchs fclex -syn keyword dAsmOpCode contained fcmovbe fcmove fcmovnb fcmovnbe -syn keyword dAsmOpCode contained fcmovnu fcmovu fcom fcomi -syn keyword dAsmOpCode contained fcomp fcompp fcos fdecstp -syn keyword dAsmOpCode contained fdisi fcomip fcmovne fcmovb -syn keyword dAsmOpCode contained fdiv fdivp fdivr fdivrp -syn keyword dAsmOpCode contained ffree fiadd ficom ficomp -syn keyword dAsmOpCode contained fidivr fild fimul fincstp -syn keyword dAsmOpCode contained fist fistp fisub fisubr -syn keyword dAsmOpCode contained fld finit fidiv feni -syn keyword dAsmOpCode contained fld1 fldcw fldenv fldl2e -syn keyword dAsmOpCode contained fldlg2 fldln2 fldpi fldz -syn keyword dAsmOpCode contained fmulp fnclex fndisi fneni -syn keyword dAsmOpCode contained fnop fnsave fnstcw fnstenv -syn keyword dAsmOpCode contained fnstsw fninit fmul fldl2t -syn keyword dAsmOpCode contained fpatan fprem fprem1 fptan -syn keyword dAsmOpCode contained frstor fsave fscale fsetpm -syn keyword dAsmOpCode contained fsincos fsqrt fst fstcw -syn keyword dAsmOpCode contained fstp fstsw fsub fsubp -syn keyword dAsmOpCode contained fsubr fstenv fsin frndint -syn keyword dAsmOpCode contained fsubrp ftst fucom fucomi -syn keyword dAsmOpCode contained fucomp fucompp fwait fxam -syn keyword dAsmOpCode contained fxrstor fxsave fxtract fyl2x -syn keyword dAsmOpCode contained hlt idiv imul in -syn keyword dAsmOpCode contained inc fyl2xp1 fxch fucomip -syn keyword dAsmOpCode contained ins insb insd insw -syn keyword dAsmOpCode contained into invd invlpg iret -syn keyword dAsmOpCode contained ja jae jb jbe -syn keyword dAsmOpCode contained jcxz je jecxz jg -syn keyword dAsmOpCode contained jge jc iretd int -syn keyword dAsmOpCode contained jl jle jmp jna -syn keyword dAsmOpCode contained jnb jnbe jnc jne -syn keyword dAsmOpCode contained jnge jnl jnle jno -syn keyword dAsmOpCode contained jns jnz jo jp -syn keyword dAsmOpCode contained jpe jnp jng jnae -syn keyword dAsmOpCode contained jpo js jz lahf -syn keyword dAsmOpCode contained ldmxcsr lds lea leave -syn keyword dAsmOpCode contained lfence lfs lgdt lgs -syn keyword dAsmOpCode contained lldt lmsw lock lods -syn keyword dAsmOpCode contained lodsb lidt les lar -syn keyword dAsmOpCode contained lodsd lodsw loop loope -syn keyword dAsmOpCode contained loopnz loopz lsl lss -syn keyword dAsmOpCode contained maskmovdqu maskmovq maxpd maxps -syn keyword dAsmOpCode contained maxss mfence minpd minps -syn keyword dAsmOpCode contained minsd maxsd ltr loopne -syn keyword dAsmOpCode contained minss mov movapd movaps -syn keyword dAsmOpCode contained movdq2q movdqa movdqu movhlps -syn keyword dAsmOpCode contained movhps movlhps movlpd movlps -syn keyword dAsmOpCode contained movmskps movntdq movnti movntpd -syn keyword dAsmOpCode contained movntps movmskpd movhpd movd -syn keyword dAsmOpCode contained movntq movq movq2dq movs -syn keyword dAsmOpCode contained movsd movss movsw movsx -syn keyword dAsmOpCode contained movups movzx mul mulpd -syn keyword dAsmOpCode contained mulsd mulss neg nop -syn keyword dAsmOpCode contained not mulps movupd movsb -syn keyword dAsmOpCode contained or orpd orps out -syn keyword dAsmOpCode contained outsb outsd outsw packssdw -syn keyword dAsmOpCode contained packuswb paddb paddd paddq -syn keyword dAsmOpCode contained paddsw paddusb paddusw paddw -syn keyword dAsmOpCode contained pand paddsb packsswb outs -syn keyword dAsmOpCode contained pandn pavgb pavgw pcmpeqb -syn keyword dAsmOpCode contained pcmpeqw pcmpgtb pcmpgtd pcmpgtw -syn keyword dAsmOpCode contained pinsrw pmaddwd pmaxsw pmaxub -syn keyword dAsmOpCode contained pminub pmovmskb pmulhuw pmulhw -syn keyword dAsmOpCode contained pmullw pminsw pextrw pcmpeqd -syn keyword dAsmOpCode contained pmuludq pop popa popad -syn keyword dAsmOpCode contained popfd por prefetchnta prefetcht0 -syn keyword dAsmOpCode contained prefetcht2 psadbw pshufd pshufhw -syn keyword dAsmOpCode contained pshufw pslld pslldq psllq -syn keyword dAsmOpCode contained psllw pshuflw prefetcht1 popf -syn keyword dAsmOpCode contained psrad psraw psrld psrldq -syn keyword dAsmOpCode contained psrlw psubb psubd psubq -syn keyword dAsmOpCode contained psubsw psubusb psubusw psubw -syn keyword dAsmOpCode contained punpckhdq punpckhqdq punpckhwd punpcklbw -syn keyword dAsmOpCode contained punpckldq punpckhbw psubsb psrlq -syn keyword dAsmOpCode contained punpcklqdq punpcklwd push pusha -syn keyword dAsmOpCode contained pushf pushfd pxor rcl -syn keyword dAsmOpCode contained rcpss rcr rdmsr rdpmc -syn keyword dAsmOpCode contained rep repe repne repnz -syn keyword dAsmOpCode contained repz rdtsc rcpps pushad -syn keyword dAsmOpCode contained ret retf rol ror -syn keyword dAsmOpCode contained rsqrtps rsqrtss sahf sal -syn keyword dAsmOpCode contained sbb scas scasb scasd -syn keyword dAsmOpCode contained seta setae setb setbe -syn keyword dAsmOpCode contained setc scasw sar rsm -syn keyword dAsmOpCode contained sete setg setge setl -syn keyword dAsmOpCode contained setna setnae setnb setnbe -syn keyword dAsmOpCode contained setne setng setnge setnl -syn keyword dAsmOpCode contained setno setnp setns setnz -syn keyword dAsmOpCode contained seto setnle setnc setle -syn keyword dAsmOpCode contained setp setpe setpo sets -syn keyword dAsmOpCode contained sfence sgdt shl shld -syn keyword dAsmOpCode contained shrd shufpd shufps sidt -syn keyword dAsmOpCode contained smsw sqrtpd sqrtps sqrtsd -syn keyword dAsmOpCode contained sqrtss sldt shr setz -syn keyword dAsmOpCode contained stc std sti stmxcsr -syn keyword dAsmOpCode contained stosb stosd stosw str -syn keyword dAsmOpCode contained subpd subps subsd subss -syn keyword dAsmOpCode contained sysexit test ucomisd ucomiss -syn keyword dAsmOpCode contained ud2 sysenter sub stos -syn keyword dAsmOpCode contained unpckhpd unpckhps unpcklpd unpcklps -syn keyword dAsmOpCode contained verw wbinvd wrmsr xadd -syn keyword dAsmOpCode contained xchg xlatb xor xorpd -syn keyword dAsmOpCode contained xorps pfrcpit1 pfmin movddup -syn keyword dAsmOpCode contained addsubpd addsubps fisttp haddps -syn keyword dAsmOpCode contained hsubpd hsubps lddqu monitor -syn keyword dAsmOpCode contained haddpd xlat wait verr -syn keyword dAsmOpCode contained movshdup movsldup mwait pfcmpeq -syn keyword dAsmOpCode contained pavgusb pf2id pfacc pfadd -syn keyword dAsmOpCode contained pfcmpge pfcmpgt pfmax pfmul -syn keyword dAsmOpCode contained pfnacc pfpnacc pfrcp pfrcpit1 -syn keyword dAsmOpCode contained pfrsqit1 pfrsqrt pfsub pfsubr -syn keyword dAsmOpCode contained pmulhrw pswapd syscall sysret -syn keyword dAsmOpCode contained vpmuldq xgetbv cmpxchg8b cmpxchg16b -syn keyword dAsmOpCode contained pabsb pabsd pabsw palignr -syn keyword dAsmOpCode contained phaddd phaddsw phaddw phsubd -syn keyword dAsmOpCode contained phsubsw phsubw pmaddubsw pmulhrsw -syn keyword dAsmOpCode contained pshufb psignb psignd psignw -syn keyword dAsmOpCode contained popfq pushfq blendpd blendps -syn keyword dAsmOpCode contained blendvpd blendvps extractps insertps -syn keyword dAsmOpCode contained movntdqa mpsadbw packusdw pblendvb -syn keyword dAsmOpCode contained pblendw pcmpeqq pextrb pextrd -syn keyword dAsmOpCode contained pextrq phminposuw pinsrb pinsrd -syn keyword dAsmOpCode contained pinsrq pmaxsb pmaxsd pmaxud -syn keyword dAsmOpCode contained pmaxuw pminsb pminsd pminud -syn keyword dAsmOpCode contained pminuw pmulld ptest roundpd -syn keyword dAsmOpCode contained roundps roundsd roundss pmuldq -syn keyword dAsmOpCode contained pmovsxbd pmovsxdq pmovzxbq pmovzxdq -syn keyword dAsmOpCode contained pmovsxbq pmovsxwd pmovzxbq pmovzxwd -syn keyword dAsmOpCode contained pmovsxbw pmovsxwq pmovzxbw pmovzxwq -syn keyword dAsmOpCode contained crc32 pcmpestri pcmpestrm pcmpgtq -syn keyword dAsmOpCode contained pcmpistri pcmpistrm popcnt pi2fd -syn keyword dAsmOpCode contained adc - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/dart.mnv b/uvim/runtime/syntax/dart.mnv new file mode 100644 index 0000000000..e5234d74bc --- /dev/null +++ b/uvim/runtime/syntax/dart.mnv @@ -0,0 +1,90 @@ +" MNV syntax file +" +" Language: Dart +" Maintainer: Eugene 'pr3d4t0r' Ciurana +" Source: https://github.com/pr3d4t0r/dart-mnv-syntax +" Last Update: 2019 Oct 19 +" +" License: MNV is Charityware. dart.mnv syntax is Charityware. +" (c) Copyright 2019 by Eugene Ciurana / pr3d4t0r. Licensed +" under the standard MNV LICENSE - MNV command :help uganda.txt +" for details. +" +" Questions, comments: +" https://ciurana.eu/pgp, https://keybase.io/pr3d4t0r +" +" mnv: set fileencoding=utf-8: + + +" Quit when a (custom) syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + + +syn keyword dartCommentTodo contained TODO FIXME XXX TBD +syn match dartLineComment "//.*" contains=dartTodo,@Spell +syn match dartCommentSkip "^[ \t]*\*\($\|[ \t]\+\)" +syn region dartComment start="/\*" end="\*/" contains=@Spell,dartTodo +syn keyword dartReserved assert async await class const export extends external final hide import implements interface library mixin on show super sync yield +syn match dartNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>" + + +syn keyword dartBoolean false true +syn keyword dartBranch break continue +syn keyword dartConditional if else switch +syn keyword dartException catch finally rethrow throw try +syn keyword dartIdentifier abstract covariant deferred dynamic factory Function operator part static this typedef var +syn keyword dartLabel case default +syn keyword dartNull null +syn keyword dartOperator is new +syn keyword dartRepeat for do in while +syn keyword dartStatement return with +syn keyword dartType bool double enum int String StringBuffer void +syn keyword dartTodo contained TODO FIXME XXX + + +syn match dartEscape contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\)" +syn match dartSpecialError contained "\\." +syn match dartStrInterpol contained "\${[\x, _]*\}" + +syn region dartDQString start=+"+ end=+"+ end=+$+ contains=dartEscape,dartStrInterpol,dartSpecialError,@Spell +syn region dartSQString start=+'+ end=+'+ end=+$+ contains=dartEscape,dartStrInterpol,dartSpecialError,@Spell + +syn match dartBraces "[{}\[\]]" +syn match dartParens "[()]" + + +syn sync fromstart +syn sync maxlines=100 + + +hi def link dartBoolean Boolean +hi def link dartBranch Conditional +hi def link dartComment Comment +hi def link dartConditional Conditional +hi def link dartDQString String +hi def link dartEscape SpecialChar +hi def link dartException Exception +hi def link dartIdentifier Identifier +hi def link dartLabel Label +hi def link dartLineComment Comment +hi def link dartNull Keyword +hi def link dartOperator Operator +hi def link dartRepeat Repeat +hi def link dartReserved Keyword +hi def link dartSQString String +hi def link dartSpecialError Error +hi def link dartStatement Statement +hi def link dartStrInterpol Special +hi def link dartTodo Todo +hi def link dartType Type + + +let b:current_syntax = "dart" +let &cpo = s:cpo_save +unlet s:cpo_save + diff --git a/uvim/runtime/syntax/dart.vim b/uvim/runtime/syntax/dart.vim deleted file mode 100644 index d1c2bf2158..0000000000 --- a/uvim/runtime/syntax/dart.vim +++ /dev/null @@ -1,90 +0,0 @@ -" Vim syntax file -" -" Language: Dart -" Maintainer: Eugene 'pr3d4t0r' Ciurana -" Source: https://github.com/pr3d4t0r/dart-vim-syntax -" Last Update: 2019 Oct 19 -" -" License: Vim is Charityware. dart.vim syntax is Charityware. -" (c) Copyright 2019 by Eugene Ciurana / pr3d4t0r. Licensed -" under the standard VIM LICENSE - Vim command :help uganda.txt -" for details. -" -" Questions, comments: -" https://ciurana.eu/pgp, https://keybase.io/pr3d4t0r -" -" vim: set fileencoding=utf-8: - - -" Quit when a (custom) syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - - -syn keyword dartCommentTodo contained TODO FIXME XXX TBD -syn match dartLineComment "//.*" contains=dartTodo,@Spell -syn match dartCommentSkip "^[ \t]*\*\($\|[ \t]\+\)" -syn region dartComment start="/\*" end="\*/" contains=@Spell,dartTodo -syn keyword dartReserved assert async await class const export extends external final hide import implements interface library mixin on show super sync yield -syn match dartNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>" - - -syn keyword dartBoolean false true -syn keyword dartBranch break continue -syn keyword dartConditional if else switch -syn keyword dartException catch finally rethrow throw try -syn keyword dartIdentifier abstract covariant deferred dynamic factory Function operator part static this typedef var -syn keyword dartLabel case default -syn keyword dartNull null -syn keyword dartOperator is new -syn keyword dartRepeat for do in while -syn keyword dartStatement return with -syn keyword dartType bool double enum int String StringBuffer void -syn keyword dartTodo contained TODO FIXME XXX - - -syn match dartEscape contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\)" -syn match dartSpecialError contained "\\." -syn match dartStrInterpol contained "\${[\x, _]*\}" - -syn region dartDQString start=+"+ end=+"+ end=+$+ contains=dartEscape,dartStrInterpol,dartSpecialError,@Spell -syn region dartSQString start=+'+ end=+'+ end=+$+ contains=dartEscape,dartStrInterpol,dartSpecialError,@Spell - -syn match dartBraces "[{}\[\]]" -syn match dartParens "[()]" - - -syn sync fromstart -syn sync maxlines=100 - - -hi def link dartBoolean Boolean -hi def link dartBranch Conditional -hi def link dartComment Comment -hi def link dartConditional Conditional -hi def link dartDQString String -hi def link dartEscape SpecialChar -hi def link dartException Exception -hi def link dartIdentifier Identifier -hi def link dartLabel Label -hi def link dartLineComment Comment -hi def link dartNull Keyword -hi def link dartOperator Operator -hi def link dartRepeat Repeat -hi def link dartReserved Keyword -hi def link dartSQString String -hi def link dartSpecialError Error -hi def link dartStatement Statement -hi def link dartStrInterpol Special -hi def link dartTodo Todo -hi def link dartType Type - - -let b:current_syntax = "dart" -let &cpo = s:cpo_save -unlet s:cpo_save - diff --git a/uvim/runtime/syntax/datascript.mnv b/uvim/runtime/syntax/datascript.mnv new file mode 100644 index 0000000000..d1ca509f0c --- /dev/null +++ b/uvim/runtime/syntax/datascript.mnv @@ -0,0 +1,102 @@ +" MNV syntax file +" Language: DataScript +" Maintainer: Dominique Pelle +" Last Change: 2015 Jul 30 +" +" DataScript is a formal language for modelling binary datatypes, +" bitstreams or file formats. For more information, see: +" +" http://dstools.sourceforge.net/DataScriptLanguageOverview.html + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif +let s:keepcpo= &cpo +set cpo&mnv + +syn keyword dsPackage import package +syn keyword dsType bit bool string +syn keyword dsType int int8 int16 int32 int64 +syn keyword dsType uint8 uint16 uint32 uint64 +syn keyword dsType varint16 varint32 varint64 +syn keyword dsType varuint16 varuint32 varuint64 +syn keyword dsType leint16 leint32 leint64 +syn keyword dsType leuint16 leuint32 leuint64 +syn keyword dsEndian little big +syn keyword dsAlign align +syn keyword dsLabel case default +syn keyword dsConditional if condition +syn keyword dsBoolean true false +syn keyword dsCompound union choice on enum bitmask subtype explicit +syn keyword dsKeyword function return +syn keyword dsOperator sizeof bitsizeof lengthof is sum forall in +syn keyword dsStorageClass const +syn keyword dsTodo contained TODO FIXME XXX +syn keyword dsSql sql sql_table sql_database sql_pragma sql_index +syn keyword dsSql sql_integer sql_metadata sql_key sql_virtual +syn keyword dsSql using reference_key foreign_key to + +" dsCommentGroup allows adding matches for special things in comments. +syn cluster dsCommentGroup contains=dsTodo + +syn match dsOffset display "^\s*[a-zA-Z_:\.][a-zA-Z0-9_:\.]*\s*:" + +syn match dsNumber display "\<\d\+\>" +syn match dsNumberHex display "\<0[xX]\x\+\>" +syn match dsNumberBin display "\<[01]\+[bB]\>" contains=dsBinaryB +syn match dsBinaryB display contained "[bB]\>" +syn match dsOctal display "\<0\o\+\>" contains=dsOctalZero +syn match dsOctalZero display contained "\<0" + +syn match dsOctalError display "\<0\o*[89]\d*\>" + +syn match dsCommentError display "\*/" +syn match dsCommentStartError display "/\*"me=e-1 contained + +syn region dsCommentL + \ start="//" skip="\\$" end="$" keepend + \ contains=@dsCommentGroup,@Spell +syn region dsComment + \ matchgroup=dsCommentStart start="/\*" end="\*/" + \ contains=@dsCommentGroup,dsCommentStartError,@Spell extend + +syn region dsString + \ start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell + +syn sync ccomment dsComment + +" Define the default highlighting. +hi def link dsType Type +hi def link dsEndian StorageClass +hi def link dsStorageClass StorageClass +hi def link dsAlign Label +hi def link dsLabel Label +hi def link dsOffset Label +hi def link dsSql PreProc +hi def link dsCompound Structure +hi def link dsConditional Conditional +hi def link dsBoolean Boolean +hi def link dsKeyword Statement +hi def link dsString String +hi def link dsNumber Number +hi def link dsNumberBin Number +hi def link dsBinaryB Special +hi def link dsOctal Number +hi def link dsOctalZero Special +hi def link dsOctalError Error +hi def link dsNumberHex Number +hi def link dsTodo Todo +hi def link dsOperator Operator +hi def link dsPackage Include +hi def link dsCommentError Error +hi def link dsCommentStartError Error +hi def link dsCommentStart dsComment +hi def link dsCommentL dsComment +hi def link cCommentL dsComment +hi def link dsComment Comment + +let b:current_syntax = "datascript" + +let &cpo = s:keepcpo +unlet s:keepcpo diff --git a/uvim/runtime/syntax/datascript.vim b/uvim/runtime/syntax/datascript.vim deleted file mode 100644 index 7b686a144e..0000000000 --- a/uvim/runtime/syntax/datascript.vim +++ /dev/null @@ -1,102 +0,0 @@ -" Vim syntax file -" Language: DataScript -" Maintainer: Dominique Pelle -" Last Change: 2015 Jul 30 -" -" DataScript is a formal language for modelling binary datatypes, -" bitstreams or file formats. For more information, see: -" -" http://dstools.sourceforge.net/DataScriptLanguageOverview.html - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif -let s:keepcpo= &cpo -set cpo&vim - -syn keyword dsPackage import package -syn keyword dsType bit bool string -syn keyword dsType int int8 int16 int32 int64 -syn keyword dsType uint8 uint16 uint32 uint64 -syn keyword dsType varint16 varint32 varint64 -syn keyword dsType varuint16 varuint32 varuint64 -syn keyword dsType leint16 leint32 leint64 -syn keyword dsType leuint16 leuint32 leuint64 -syn keyword dsEndian little big -syn keyword dsAlign align -syn keyword dsLabel case default -syn keyword dsConditional if condition -syn keyword dsBoolean true false -syn keyword dsCompound union choice on enum bitmask subtype explicit -syn keyword dsKeyword function return -syn keyword dsOperator sizeof bitsizeof lengthof is sum forall in -syn keyword dsStorageClass const -syn keyword dsTodo contained TODO FIXME XXX -syn keyword dsSql sql sql_table sql_database sql_pragma sql_index -syn keyword dsSql sql_integer sql_metadata sql_key sql_virtual -syn keyword dsSql using reference_key foreign_key to - -" dsCommentGroup allows adding matches for special things in comments. -syn cluster dsCommentGroup contains=dsTodo - -syn match dsOffset display "^\s*[a-zA-Z_:\.][a-zA-Z0-9_:\.]*\s*:" - -syn match dsNumber display "\<\d\+\>" -syn match dsNumberHex display "\<0[xX]\x\+\>" -syn match dsNumberBin display "\<[01]\+[bB]\>" contains=dsBinaryB -syn match dsBinaryB display contained "[bB]\>" -syn match dsOctal display "\<0\o\+\>" contains=dsOctalZero -syn match dsOctalZero display contained "\<0" - -syn match dsOctalError display "\<0\o*[89]\d*\>" - -syn match dsCommentError display "\*/" -syn match dsCommentStartError display "/\*"me=e-1 contained - -syn region dsCommentL - \ start="//" skip="\\$" end="$" keepend - \ contains=@dsCommentGroup,@Spell -syn region dsComment - \ matchgroup=dsCommentStart start="/\*" end="\*/" - \ contains=@dsCommentGroup,dsCommentStartError,@Spell extend - -syn region dsString - \ start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell - -syn sync ccomment dsComment - -" Define the default highlighting. -hi def link dsType Type -hi def link dsEndian StorageClass -hi def link dsStorageClass StorageClass -hi def link dsAlign Label -hi def link dsLabel Label -hi def link dsOffset Label -hi def link dsSql PreProc -hi def link dsCompound Structure -hi def link dsConditional Conditional -hi def link dsBoolean Boolean -hi def link dsKeyword Statement -hi def link dsString String -hi def link dsNumber Number -hi def link dsNumberBin Number -hi def link dsBinaryB Special -hi def link dsOctal Number -hi def link dsOctalZero Special -hi def link dsOctalError Error -hi def link dsNumberHex Number -hi def link dsTodo Todo -hi def link dsOperator Operator -hi def link dsPackage Include -hi def link dsCommentError Error -hi def link dsCommentStartError Error -hi def link dsCommentStart dsComment -hi def link dsCommentL dsComment -hi def link cCommentL dsComment -hi def link dsComment Comment - -let b:current_syntax = "datascript" - -let &cpo = s:keepcpo -unlet s:keepcpo diff --git a/uvim/runtime/syntax/dax.mnv b/uvim/runtime/syntax/dax.mnv new file mode 100644 index 0000000000..fc66ef8b6e --- /dev/null +++ b/uvim/runtime/syntax/dax.mnv @@ -0,0 +1,151 @@ +" MNV syntax file +" Language: Data Analysis Expressions (DAX) +" Maintainer: Anarion Dunedain +" Last Change: +" 2025 Mar 28 First version + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif +let s:keepcpo = &cpo +set cpo&mnv + +" There are DAX functions with dot in the name (like VARX.S) +setlocal iskeyword+=. +" DAX is case insensitive +syn case ignore + +" DAX statements +syn keyword daxStatement DEFINE EVALUATE MEASURE RETURN VAR +syn match daxStatement "ORDER\ BY" +syn match daxStatement "START\ AT" + +" TODO +syn keyword daxTodo FIXME NOTE TODO OPTIMIZE XXX HACK contained + +" DAX functions +syn keyword daxFunction + \ ABS ACCRINT ACCRINTM ACOS ACOSH ACOT ACOTH + \ ADDCOLUMNS ADDMISSINGITEMS ALL ALLCROSSFILTERED ALLEXCEPT ALLNOBLANKROW ALLSELECTED + \ AMORDEGRC AMORLINC AND APPROXIMATEDISTINCTCOUNT ASIN ASINH ATAN + \ ATANH AVERAGE AVERAGEA AVERAGEX BETA.DIST BETA.INV BITAND + \ BITLSHIFT BITOR BITRSHIFT BITXOR BLANK CALCULATE CALCULATETABLE + \ CALENDAR CALENDARAUTO CEILING CHISQ.DIST CHISQ.DIST.RT CHISQ.INV CHISQ.INV.RT + \ CLOSINGBALANCEMONTH CLOSINGBALANCEQUARTER CLOSINGBALANCEYEAR COALESCE COLUMNSTATISTICS COMBIN COMBINA + \ COMBINEVALUES CONCATENATE CONCATENATEX CONFIDENCE.NORM CONFIDENCE.T CONTAINSROW + \ CONTAINSSTRING CONTAINSSTRINGEXACT CONVERT COS COSH COT COTH + \ COUNT COUNTA COUNTAX COUNTBLANK COUNTROWS COUNTX COUPDAYBS + \ COUPDAYS COUPDAYSNC COUPNCD COUPNUM COUPPCD CROSSFILTER CROSSJOIN + \ CUMIPMT CUMPRINC CURRENCY CURRENTGROUP CUSTOMDATA DATATABLE DATE + \ DATEADD DATEDIFF DATESBETWEEN DATESINPERIOD DATESMTD DATESQTD DATESYTD + \ DATEVALUE DAY DB DDB DEGREES DETAILROWS DISC + \ DISTINCT column DISTINCT table DISTINCTCOUNT DISTINCTCOUNTNOBLANK DIVIDE DOLLARDE DOLLARFR + \ DURATION EARLIER EARLIEST EDATE EFFECT ENDOFMONTH ENDOFQUARTER + \ ENDOFYEAR EOMONTH ERROR EVALUATEANDLOG EVEN EXACT EXCEPT + \ EXP EXPON.DIST FACT FALSE FILTER FILTERS FIND + \ FIRST FIRSTDATE FIXED FLOOR FORMAT FV GCD + \ GENERATE GENERATEALL GENERATESERIES GEOMEAN GEOMEANX GROUPBY HASONEFILTER + \ HASONEVALUE HOUR IF IF.EAGER IFERROR IGNORE INDEX + \ INFO.ALTERNATEOFDEFINITIONS INFO.ANNOTATIONS INFO.ATTRIBUTEHIERARCHIES INFO.ATTRIBUTEHIERARCHYSTORAGES INFO.CALCDEPENDENCY INFO.CALCULATIONGROUPS INFO.CALCULATIONITEMS + \ INFO.CATALOGS INFO.CHANGEDPROPERTIES INFO.COLUMNPARTITIONSTORAGES INFO.COLUMNPERMISSIONS INFO.COLUMNS INFO.COLUMNSTORAGES INFO.CSDLMETADATA + \ INFO.CULTURES INFO.DATACOVERAGEDEFINITIONS INFO.DATASOURCES INFO.DELTATABLEMETADATASTORAGES INFO.DEPENDENCIES INFO.DETAILROWSDEFINITIONS INFO.DICTIONARYSTORAGES + \ INFO.EXCLUDEDARTIFACTS INFO.EXPRESSIONS INFO.EXTENDEDPROPERTIES INFO.FORMATSTRINGDEFINITIONS INFO.FUNCTIONS INFO.GENERALSEGMENTMAPSEGMENTMETADATASTORAGES INFO.GROUPBYCOLUMNS + \ INFO.HIERARCHIES INFO.HIERARCHYSTORAGES INFO.KPIS INFO.LEVELS INFO.LINGUISTICMETADATA INFO.MEASURES INFO.MODEL + \ INFO.OBJECTTRANSLATIONS INFO.PARQUETFILESTORAGES INFO.PARTITIONS INFO.PARTITIONSTORAGES INFO.PERSPECTIVECOLUMNS INFO.PERSPECTIVEHIERARCHIES INFO.PERSPECTIVEMEASURES + \ INFO.PERSPECTIVES INFO.PERSPECTIVETABLES INFO.PROPERTIES INFO.QUERYGROUPS INFO.REFRESHPOLICIES INFO.RELATEDCOLUMNDETAILS INFO.RELATIONSHIPINDEXSTORAGES + \ INFO.RELATIONSHIPS INFO.RELATIONSHIPSTORAGES INFO.ROLEMEMBERSHIPS INFO.ROLES INFO.SEGMENTMAPSTORAGES INFO.SEGMENTSTORAGES INFO.STORAGEFILES + \ INFO.STORAGEFOLDERS INFO.STORAGETABLECOLUMNS INFO.STORAGETABLECOLUMNSEGMENTS INFO.STORAGETABLES INFO.TABLEPERMISSIONS INFO.TABLES INFO.TABLESTORAGES + \ INFO.VARIATIONS INFO.VIEW.COLUMNS INFO.VIEW.MEASURES INFO.VIEW.RELATIONSHIPS INFO.VIEW.TABLES INT INTERSECT + \ INTRATE IPMT ISAFTER ISBLANK ISCROSSFILTERED ISEMPTY ISERROR + \ ISEVEN ISFILTERED ISINSCOPE ISLOGICAL ISNONTEXT ISNUMBER ISO.CEILING + \ ISODD ISONORAFTER ISPMT ISSELECTEDMEASURE ISSUBTOTAL ISTEXT KEEPFILTERS + \ LAST LASTDATE LCM LEFT LEN LINEST LINESTX + \ LN LOG LOG10 LOOKUPVALUE LOWER MATCHBY MAX + \ MAXA MAXX MDURATION MEDIAN MEDIANX MID MIN + \ MINA MINUTE MINX MOD MONTH MOVINGAVERAGE MROUND + \ NATURALINNERJOIN NATURALLEFTOUTERJOIN NETWORKDAYS NEXT NEXTDAY NEXTMONTH NEXTQUARTER + \ NEXTYEAR NOMINAL NONVISUAL NORM.DIST NORM.INV NORM.S.DIST NORM.S.INV + \ NOT NOW NPER ODD ODDFPRICE ODDFYIELD ODDLPRICE + \ ODDLYIELD OFFSET OPENINGBALANCEMONTH OPENINGBALANCEQUARTER OPENINGBALANCEYEAR OR ORDERBY + \ PARALLELPERIOD PARTITIONBY PATH PATHCONTAINS PATHITEM PATHITEMREVERSE PATHLENGTH + \ PDURATION PERCENTILE.EXC PERCENTILE.INC PERCENTILEX.EXC PERCENTILEX.INC PERMUT PI + \ PMT POISSON.DIST POWER PPMT PREVIOUS PREVIOUSDAY PREVIOUSMONTH + \ PREVIOUSQUARTER PREVIOUSYEAR PRICE PRICEDISC PRICEMAT PRODUCT PRODUCTX + \ PV QUARTER QUOTIENT RADIANS RAND RANDBETWEEN RANGE + \ RANK RANK.EQ RANKX RATE RECEIVED RELATED RELATEDTABLE + \ REMOVEFILTERS REPLACE REPT RIGHT ROLLUP ROLLUPADDISSUBTOTAL ROLLUPGROUP + \ ROLLUPISSUBTOTAL ROUND ROUNDDOWN ROUNDUP ROW ROWNUMBER RRI + \ RUNNINGSUM SAMEPERIODLASTYEAR SAMPLE SEARCH SECOND SELECTCOLUMNS SELECTEDMEASURE + \ SELECTEDMEASUREFORMATSTRING SELECTEDMEASURENAME SELECTEDVALUE SIGN SIN SINH SLN + \ SQRT SQRTPI STARTOFMONTH STARTOFQUARTER STARTOFYEAR STDEV.P STDEV.S + \ STDEVX.P STDEVX.S SUBSTITUTE SUBSTITUTEWITHINDEX SUM SUMMARIZE SUMMARIZECOLUMNS + \ SUMX SWITCH SYD T.DIST T.DIST.2T T.DIST.RT T.INV + \ T.INV.2t TAN TANH TBILLEQ TBILLPRICE TBILLYIELD TIME + \ TIMEVALUE TOCSV TODAY TOJSON TOPN TOTALMTD TOTALQTD + \ TOTALYTD TREATAS TRIM TRUE TRUNC Table Constructor UNICHAR + \ UNICODE UNION UPPER USERCULTURE USERELATIONSHIP USERNAME USEROBJECTID + \ USERPRINCIPALNAME UTCNOW UTCTODAY VALUE VALUES VAR.P VAR.S + \ VARX.P VARX.S VDB WEEKDAY WEEKNUM WINDOW XIRR + \ XNPV YEAR YEARFRAC YIELD YIELDDISC YIELDMAT + +" CONTAINS is a mnv syntax keyword and can't be a defined keyword +syn match daxFunction "CONTAINS" + +" Numbers +" integer number, or floating point number without a dot. +syn match daxNumber "\<\d\+\>" +" floating point number, with dot +syn match daxNumber "\<\d\+\.\d*\>" + +syn match daxFloat "[-+]\=\<\d\+[eE][\-+]\=\d\+" +syn match daxFloat "[-+]\=\<\d\+\.\d*\([eE][\-+]\=\d\+\)\=" +syn match daxFloat "[-+]\=\<\.\d\+\([eE][\-+]\=\d\+\)\=" + +" String and Character constants +syn region daxString start=+"+ end=+"+ + +" DAX Table and Column names +syn region daxTable start=+'+ms=s+1 end=+'+me=e-1 +syn region daxColumn matchgroup=daxParen start=/\[/ end=/\]/ + +" Operators +syn match daxOperator "+" +syn match daxOperator "-" +syn match daxOperator "*" +syn match daxOperator "/" +syn match daxOperator "\^" +syn match daxOperator "\ NOT(\s\|\\)" +syn match daxOperator "\ IN\ " +syn match daxOperator "&&" +syn match daxOperator "&" +syn match daxOperator "\\|\\|" +syn match daxOperator "[<>]=\=" +syn match daxOperator "<>" +syn match daxOperator "=" +syn match daxOperator ">" +syn match daxOperator "<" + +" Comments +syn region daxComment start="\(^\|\s\)\//" end="$" contains=daxTodo +syn region daxComment start="/\*" end="\*/" contains=daxTodo + +" Define highlighting +hi def link daxComment Comment +hi def link daxNumber Number +hi def link daxFloat Float +hi def link daxString String +hi def link daxStatement Keyword +hi def link daxOperator Operator +hi def link daxFunction Function +hi def link daxTable Number +hi def link daxColumn Statement +hi def link daxParen Delimiter +hi def link daxTodo Todo + +let b:current_syntax = "dax" + +let &cpo = s:keepcpo +unlet! s:keepcpo + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/dax.vim b/uvim/runtime/syntax/dax.vim deleted file mode 100644 index 12e54ee1f5..0000000000 --- a/uvim/runtime/syntax/dax.vim +++ /dev/null @@ -1,151 +0,0 @@ -" Vim syntax file -" Language: Data Analysis Expressions (DAX) -" Maintainer: Anarion Dunedain -" Last Change: -" 2025 Mar 28 First version - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif -let s:keepcpo = &cpo -set cpo&vim - -" There are DAX functions with dot in the name (like VARX.S) -setlocal iskeyword+=. -" DAX is case insensitive -syn case ignore - -" DAX statements -syn keyword daxStatement DEFINE EVALUATE MEASURE RETURN VAR -syn match daxStatement "ORDER\ BY" -syn match daxStatement "START\ AT" - -" TODO -syn keyword daxTodo FIXME NOTE TODO OPTIMIZE XXX HACK contained - -" DAX functions -syn keyword daxFunction - \ ABS ACCRINT ACCRINTM ACOS ACOSH ACOT ACOTH - \ ADDCOLUMNS ADDMISSINGITEMS ALL ALLCROSSFILTERED ALLEXCEPT ALLNOBLANKROW ALLSELECTED - \ AMORDEGRC AMORLINC AND APPROXIMATEDISTINCTCOUNT ASIN ASINH ATAN - \ ATANH AVERAGE AVERAGEA AVERAGEX BETA.DIST BETA.INV BITAND - \ BITLSHIFT BITOR BITRSHIFT BITXOR BLANK CALCULATE CALCULATETABLE - \ CALENDAR CALENDARAUTO CEILING CHISQ.DIST CHISQ.DIST.RT CHISQ.INV CHISQ.INV.RT - \ CLOSINGBALANCEMONTH CLOSINGBALANCEQUARTER CLOSINGBALANCEYEAR COALESCE COLUMNSTATISTICS COMBIN COMBINA - \ COMBINEVALUES CONCATENATE CONCATENATEX CONFIDENCE.NORM CONFIDENCE.T CONTAINSROW - \ CONTAINSSTRING CONTAINSSTRINGEXACT CONVERT COS COSH COT COTH - \ COUNT COUNTA COUNTAX COUNTBLANK COUNTROWS COUNTX COUPDAYBS - \ COUPDAYS COUPDAYSNC COUPNCD COUPNUM COUPPCD CROSSFILTER CROSSJOIN - \ CUMIPMT CUMPRINC CURRENCY CURRENTGROUP CUSTOMDATA DATATABLE DATE - \ DATEADD DATEDIFF DATESBETWEEN DATESINPERIOD DATESMTD DATESQTD DATESYTD - \ DATEVALUE DAY DB DDB DEGREES DETAILROWS DISC - \ DISTINCT column DISTINCT table DISTINCTCOUNT DISTINCTCOUNTNOBLANK DIVIDE DOLLARDE DOLLARFR - \ DURATION EARLIER EARLIEST EDATE EFFECT ENDOFMONTH ENDOFQUARTER - \ ENDOFYEAR EOMONTH ERROR EVALUATEANDLOG EVEN EXACT EXCEPT - \ EXP EXPON.DIST FACT FALSE FILTER FILTERS FIND - \ FIRST FIRSTDATE FIXED FLOOR FORMAT FV GCD - \ GENERATE GENERATEALL GENERATESERIES GEOMEAN GEOMEANX GROUPBY HASONEFILTER - \ HASONEVALUE HOUR IF IF.EAGER IFERROR IGNORE INDEX - \ INFO.ALTERNATEOFDEFINITIONS INFO.ANNOTATIONS INFO.ATTRIBUTEHIERARCHIES INFO.ATTRIBUTEHIERARCHYSTORAGES INFO.CALCDEPENDENCY INFO.CALCULATIONGROUPS INFO.CALCULATIONITEMS - \ INFO.CATALOGS INFO.CHANGEDPROPERTIES INFO.COLUMNPARTITIONSTORAGES INFO.COLUMNPERMISSIONS INFO.COLUMNS INFO.COLUMNSTORAGES INFO.CSDLMETADATA - \ INFO.CULTURES INFO.DATACOVERAGEDEFINITIONS INFO.DATASOURCES INFO.DELTATABLEMETADATASTORAGES INFO.DEPENDENCIES INFO.DETAILROWSDEFINITIONS INFO.DICTIONARYSTORAGES - \ INFO.EXCLUDEDARTIFACTS INFO.EXPRESSIONS INFO.EXTENDEDPROPERTIES INFO.FORMATSTRINGDEFINITIONS INFO.FUNCTIONS INFO.GENERALSEGMENTMAPSEGMENTMETADATASTORAGES INFO.GROUPBYCOLUMNS - \ INFO.HIERARCHIES INFO.HIERARCHYSTORAGES INFO.KPIS INFO.LEVELS INFO.LINGUISTICMETADATA INFO.MEASURES INFO.MODEL - \ INFO.OBJECTTRANSLATIONS INFO.PARQUETFILESTORAGES INFO.PARTITIONS INFO.PARTITIONSTORAGES INFO.PERSPECTIVECOLUMNS INFO.PERSPECTIVEHIERARCHIES INFO.PERSPECTIVEMEASURES - \ INFO.PERSPECTIVES INFO.PERSPECTIVETABLES INFO.PROPERTIES INFO.QUERYGROUPS INFO.REFRESHPOLICIES INFO.RELATEDCOLUMNDETAILS INFO.RELATIONSHIPINDEXSTORAGES - \ INFO.RELATIONSHIPS INFO.RELATIONSHIPSTORAGES INFO.ROLEMEMBERSHIPS INFO.ROLES INFO.SEGMENTMAPSTORAGES INFO.SEGMENTSTORAGES INFO.STORAGEFILES - \ INFO.STORAGEFOLDERS INFO.STORAGETABLECOLUMNS INFO.STORAGETABLECOLUMNSEGMENTS INFO.STORAGETABLES INFO.TABLEPERMISSIONS INFO.TABLES INFO.TABLESTORAGES - \ INFO.VARIATIONS INFO.VIEW.COLUMNS INFO.VIEW.MEASURES INFO.VIEW.RELATIONSHIPS INFO.VIEW.TABLES INT INTERSECT - \ INTRATE IPMT ISAFTER ISBLANK ISCROSSFILTERED ISEMPTY ISERROR - \ ISEVEN ISFILTERED ISINSCOPE ISLOGICAL ISNONTEXT ISNUMBER ISO.CEILING - \ ISODD ISONORAFTER ISPMT ISSELECTEDMEASURE ISSUBTOTAL ISTEXT KEEPFILTERS - \ LAST LASTDATE LCM LEFT LEN LINEST LINESTX - \ LN LOG LOG10 LOOKUPVALUE LOWER MATCHBY MAX - \ MAXA MAXX MDURATION MEDIAN MEDIANX MID MIN - \ MINA MINUTE MINX MOD MONTH MOVINGAVERAGE MROUND - \ NATURALINNERJOIN NATURALLEFTOUTERJOIN NETWORKDAYS NEXT NEXTDAY NEXTMONTH NEXTQUARTER - \ NEXTYEAR NOMINAL NONVISUAL NORM.DIST NORM.INV NORM.S.DIST NORM.S.INV - \ NOT NOW NPER ODD ODDFPRICE ODDFYIELD ODDLPRICE - \ ODDLYIELD OFFSET OPENINGBALANCEMONTH OPENINGBALANCEQUARTER OPENINGBALANCEYEAR OR ORDERBY - \ PARALLELPERIOD PARTITIONBY PATH PATHCONTAINS PATHITEM PATHITEMREVERSE PATHLENGTH - \ PDURATION PERCENTILE.EXC PERCENTILE.INC PERCENTILEX.EXC PERCENTILEX.INC PERMUT PI - \ PMT POISSON.DIST POWER PPMT PREVIOUS PREVIOUSDAY PREVIOUSMONTH - \ PREVIOUSQUARTER PREVIOUSYEAR PRICE PRICEDISC PRICEMAT PRODUCT PRODUCTX - \ PV QUARTER QUOTIENT RADIANS RAND RANDBETWEEN RANGE - \ RANK RANK.EQ RANKX RATE RECEIVED RELATED RELATEDTABLE - \ REMOVEFILTERS REPLACE REPT RIGHT ROLLUP ROLLUPADDISSUBTOTAL ROLLUPGROUP - \ ROLLUPISSUBTOTAL ROUND ROUNDDOWN ROUNDUP ROW ROWNUMBER RRI - \ RUNNINGSUM SAMEPERIODLASTYEAR SAMPLE SEARCH SECOND SELECTCOLUMNS SELECTEDMEASURE - \ SELECTEDMEASUREFORMATSTRING SELECTEDMEASURENAME SELECTEDVALUE SIGN SIN SINH SLN - \ SQRT SQRTPI STARTOFMONTH STARTOFQUARTER STARTOFYEAR STDEV.P STDEV.S - \ STDEVX.P STDEVX.S SUBSTITUTE SUBSTITUTEWITHINDEX SUM SUMMARIZE SUMMARIZECOLUMNS - \ SUMX SWITCH SYD T.DIST T.DIST.2T T.DIST.RT T.INV - \ T.INV.2t TAN TANH TBILLEQ TBILLPRICE TBILLYIELD TIME - \ TIMEVALUE TOCSV TODAY TOJSON TOPN TOTALMTD TOTALQTD - \ TOTALYTD TREATAS TRIM TRUE TRUNC Table Constructor UNICHAR - \ UNICODE UNION UPPER USERCULTURE USERELATIONSHIP USERNAME USEROBJECTID - \ USERPRINCIPALNAME UTCNOW UTCTODAY VALUE VALUES VAR.P VAR.S - \ VARX.P VARX.S VDB WEEKDAY WEEKNUM WINDOW XIRR - \ XNPV YEAR YEARFRAC YIELD YIELDDISC YIELDMAT - -" CONTAINS is a vim syntax keyword and can't be a defined keyword -syn match daxFunction "CONTAINS" - -" Numbers -" integer number, or floating point number without a dot. -syn match daxNumber "\<\d\+\>" -" floating point number, with dot -syn match daxNumber "\<\d\+\.\d*\>" - -syn match daxFloat "[-+]\=\<\d\+[eE][\-+]\=\d\+" -syn match daxFloat "[-+]\=\<\d\+\.\d*\([eE][\-+]\=\d\+\)\=" -syn match daxFloat "[-+]\=\<\.\d\+\([eE][\-+]\=\d\+\)\=" - -" String and Character constants -syn region daxString start=+"+ end=+"+ - -" DAX Table and Column names -syn region daxTable start=+'+ms=s+1 end=+'+me=e-1 -syn region daxColumn matchgroup=daxParen start=/\[/ end=/\]/ - -" Operators -syn match daxOperator "+" -syn match daxOperator "-" -syn match daxOperator "*" -syn match daxOperator "/" -syn match daxOperator "\^" -syn match daxOperator "\ NOT(\s\|\\)" -syn match daxOperator "\ IN\ " -syn match daxOperator "&&" -syn match daxOperator "&" -syn match daxOperator "\\|\\|" -syn match daxOperator "[<>]=\=" -syn match daxOperator "<>" -syn match daxOperator "=" -syn match daxOperator ">" -syn match daxOperator "<" - -" Comments -syn region daxComment start="\(^\|\s\)\//" end="$" contains=daxTodo -syn region daxComment start="/\*" end="\*/" contains=daxTodo - -" Define highlighting -hi def link daxComment Comment -hi def link daxNumber Number -hi def link daxFloat Float -hi def link daxString String -hi def link daxStatement Keyword -hi def link daxOperator Operator -hi def link daxFunction Function -hi def link daxTable Number -hi def link daxColumn Statement -hi def link daxParen Delimiter -hi def link daxTodo Todo - -let b:current_syntax = "dax" - -let &cpo = s:keepcpo -unlet! s:keepcpo - -" vim: ts=8 diff --git a/uvim/runtime/syntax/dcd.mnv b/uvim/runtime/syntax/dcd.mnv new file mode 100644 index 0000000000..a1ffe735fa --- /dev/null +++ b/uvim/runtime/syntax/dcd.mnv @@ -0,0 +1,51 @@ +" MNV syntax file +" Language: WildPackets EtherPeek Decoder (.dcd) file +" Maintainer: Christopher Shinn +" Last Change: 2003 Apr 25 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" Keywords +syn keyword dcdFunction DCod TRTS TNXT CRLF +syn match dcdFunction display "\(STR\)\#" +syn keyword dcdLabel LABL +syn region dcdLabel start="[A-Z]" end=";" +syn keyword dcdConditional CEQU CNEQ CGTE CLTE CBIT CLSE +syn keyword dcdConditional LSTS LSTE LSTZ +syn keyword dcdConditional TYPE TTST TEQU TNEQ TGTE TLTE TBIT TLSE TSUB SKIP +syn keyword dcdConditional MARK WHOA +syn keyword dcdConditional SEQU SNEQ SGTE SLTE SBIT +syn match dcdConditional display "\(CST\)\#" "\(TST\)\#" +syn keyword dcdDisplay HBIT DBIT BBIT +syn keyword dcdDisplay HBYT DBYT BBYT +syn keyword dcdDisplay HWRD DWRD BWRD +syn keyword dcdDisplay HLNG DLNG BLNG +syn keyword dcdDisplay D64B +syn match dcdDisplay display "\(HEX\)\#" "\(CHR\)\#" "\(EBC\)\#" +syn keyword dcdDisplay HGLB DGLB BGLB +syn keyword dcdDisplay DUMP +syn keyword dcdStatement IPLG IPV6 ATLG AT03 AT01 ETHR TRNG PRTO PORT +syn keyword dcdStatement TIME OSTP PSTR CSTR NBNM DMPE FTPL CKSM FCSC +syn keyword dcdStatement GBIT GBYT GWRD GLNG +syn keyword dcdStatement MOVE ANDG ORRG NOTG ADDG SUBG MULG DIVG MODG INCR DECR +syn keyword dcdSpecial PRV1 PRV2 PRV3 PRV4 PRV5 PRV6 PRV7 PRV8 + +" Comment +syn region dcdComment start="\*" end="\;" + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link dcdFunction Identifier +hi def link dcdLabel Constant +hi def link dcdConditional Conditional +hi def link dcdDisplay Type +hi def link dcdStatement Statement +hi def link dcdSpecial Special +hi def link dcdComment Comment + + +let b:current_syntax = "dcd" diff --git a/uvim/runtime/syntax/dcd.vim b/uvim/runtime/syntax/dcd.vim deleted file mode 100644 index 058d272375..0000000000 --- a/uvim/runtime/syntax/dcd.vim +++ /dev/null @@ -1,51 +0,0 @@ -" Vim syntax file -" Language: WildPackets EtherPeek Decoder (.dcd) file -" Maintainer: Christopher Shinn -" Last Change: 2003 Apr 25 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" Keywords -syn keyword dcdFunction DCod TRTS TNXT CRLF -syn match dcdFunction display "\(STR\)\#" -syn keyword dcdLabel LABL -syn region dcdLabel start="[A-Z]" end=";" -syn keyword dcdConditional CEQU CNEQ CGTE CLTE CBIT CLSE -syn keyword dcdConditional LSTS LSTE LSTZ -syn keyword dcdConditional TYPE TTST TEQU TNEQ TGTE TLTE TBIT TLSE TSUB SKIP -syn keyword dcdConditional MARK WHOA -syn keyword dcdConditional SEQU SNEQ SGTE SLTE SBIT -syn match dcdConditional display "\(CST\)\#" "\(TST\)\#" -syn keyword dcdDisplay HBIT DBIT BBIT -syn keyword dcdDisplay HBYT DBYT BBYT -syn keyword dcdDisplay HWRD DWRD BWRD -syn keyword dcdDisplay HLNG DLNG BLNG -syn keyword dcdDisplay D64B -syn match dcdDisplay display "\(HEX\)\#" "\(CHR\)\#" "\(EBC\)\#" -syn keyword dcdDisplay HGLB DGLB BGLB -syn keyword dcdDisplay DUMP -syn keyword dcdStatement IPLG IPV6 ATLG AT03 AT01 ETHR TRNG PRTO PORT -syn keyword dcdStatement TIME OSTP PSTR CSTR NBNM DMPE FTPL CKSM FCSC -syn keyword dcdStatement GBIT GBYT GWRD GLNG -syn keyword dcdStatement MOVE ANDG ORRG NOTG ADDG SUBG MULG DIVG MODG INCR DECR -syn keyword dcdSpecial PRV1 PRV2 PRV3 PRV4 PRV5 PRV6 PRV7 PRV8 - -" Comment -syn region dcdComment start="\*" end="\;" - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link dcdFunction Identifier -hi def link dcdLabel Constant -hi def link dcdConditional Conditional -hi def link dcdDisplay Type -hi def link dcdStatement Statement -hi def link dcdSpecial Special -hi def link dcdComment Comment - - -let b:current_syntax = "dcd" diff --git a/uvim/runtime/syntax/dcl.mnv b/uvim/runtime/syntax/dcl.mnv new file mode 100644 index 0000000000..3e40552844 --- /dev/null +++ b/uvim/runtime/syntax/dcl.mnv @@ -0,0 +1,153 @@ +" MNV syntax file +" Language: DCL (Digital Command Language - vms) +" Maintainer: This runtime file is looking for a new maintainer. +" Former Maintainer: Charles E. Campbell +" Last Change: Mar 26, 2019 +" Version: 13 +" Former URL: http://www.drchip.org/astronaut/mnv/index.html#SYNTAX_DCL + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +if (v:version == 704 && has("patch-7.4.1142")) || v:version > 704 + syn iskeyword $,@,48-57,_ +else + setlocal iskeyword=$,@,48-57,_ +endif + +syn case ignore +syn keyword dclInstr accounting del[ete] gen[cat] mou[nt] run +syn keyword dclInstr all[ocate] dep[osit] gen[eral] ncp run[off] +syn keyword dclInstr ana[lyze] dia[gnose] gos[ub] ncs sca +syn keyword dclInstr app[end] dif[ferences] got[o] on sea[rch] +syn keyword dclInstr ass[ign] dir[ectory] hel[p] ope[n] set +syn keyword dclInstr att[ach] dis[able] ico[nv] pas[cal] sho[w] +syn keyword dclInstr aut[horize] dis[connect] if pas[sword] sor[t] +syn keyword dclInstr aut[ogen] dis[mount] ini[tialize] pat[ch] spa[wn] +syn keyword dclInstr bac[kup] dpm[l] inq[uire] pca sta[rt] +syn keyword dclInstr cal[l] dqs ins[tall] pho[ne] sto[p] +syn keyword dclInstr can[cel] dsr job pri[nt] sub[mit] +syn keyword dclInstr cc dst[graph] lat[cp] pro[duct] sub[routine] +syn keyword dclInstr clo[se] dtm lib[rary] psw[rap] swx[cr] +syn keyword dclInstr cms dum[p] lic[ense] pur[ge] syn[chronize] +syn keyword dclInstr con[nect] edi[t] lin[k] qde[lete] sys[gen] +syn keyword dclInstr con[tinue] ena[ble] lmc[p] qse[t] sys[man] +syn keyword dclInstr con[vert] end[subroutine] loc[ale] qsh[ow] tff +syn keyword dclInstr cop[y] eod log[in] rea[d] then +syn keyword dclInstr cre[ate] eoj log[out] rec[all] typ[e] +syn keyword dclInstr cxx exa[mine] lse[dit] rec[over] uil +syn keyword dclInstr cxx[l_help] exc[hange] mac[ro] ren[ame] unl[ock] +syn keyword dclInstr dea[llocate] exi[t] mai[l] rep[ly] ves[t] +syn keyword dclInstr dea[ssign] fdl mer[ge] req[uest] vie[w] +syn keyword dclInstr deb[ug] flo[wgraph] mes[sage] ret[urn] wai[t] +syn keyword dclInstr dec[k] fon[t] mms rms wri[te] +syn keyword dclInstr def[ine] for[tran] + +syn keyword dclLexical f$context f$edit f$getjpi f$message f$setprv +syn keyword dclLexical f$csid f$element f$getqui f$mode f$string +syn keyword dclLexical f$cvsi f$environment f$getsyi f$parse f$time +syn keyword dclLexical f$cvtime f$extract f$identifier f$pid f$trnlnm +syn keyword dclLexical f$cvui f$fao f$integer f$privilege f$type +syn keyword dclLexical f$device f$file_attributes f$length f$process f$user +syn keyword dclLexical f$directory f$getdvi f$locate f$search f$verify + +syn match dclMdfy "/\I\i*" nextgroup=dclMdfySet,dclMdfySetString +syn match dclMdfySet "=[^ \t"]*" contained +syn region dclMdfySet matchgroup=dclMdfyBrkt start="=\[" matchgroup=dclMdfyBrkt end="]" contains=dclMdfySep +syn region dclMdfySetString start='="' skip='""' end='"' contained +syn match dclMdfySep "[:,]" contained + +" Numbers +syn match dclNumber "\d\+" + +" Varname (mainly to prevent dclNumbers from being recognized when part of a dclVarname) +syn match dclVarname "\I\i*" + +" Filenames (devices, paths) +syn match dclDevice "\I\i*\(\$\I\i*\)\=:[^=]"me=e-1 nextgroup=dclDirPath,dclFilename +syn match dclDirPath "\[\(\I\i*\.\)*\I\i*\]" contains=dclDirSep nextgroup=dclFilename +syn match dclFilename "\I\i*\$\(\I\i*\)\=\.\(\I\i*\)*\(;\d\+\)\=" contains=dclDirSep +syn match dclFilename "\I\i*\.\(\I\i*\)\=\(;\d\+\)\=" contains=dclDirSep contained +syn match dclDirSep "[[\].;]" + +" Strings +syn region dclString start='"' skip='""' end='"' contains=@Spell + +" $ stuff and comments +syn cluster dclCommentGroup contains=dclStart,dclTodo,@Spell +syn match dclStart "^\$" skipwhite nextgroup=dclExe +syn match dclContinue "-$" +syn match dclComment "^\$!.*$" contains=@dclCommentGroup +syn match dclExe "\I\i*" contained +syn keyword dclTodo contained COMBAK DEBUG FIXME TODO XXX + +" Assignments and Operators +syn match dclAssign ":==\=" +syn match dclAssign "=" +syn match dclOper "--\|+\|\*\|/" +syn match dclLogOper "\.[a-zA-Z][a-zA-Z][a-zA-Z]\=\." contains=dclLogical,dclLogSep +syn keyword dclLogical contained and ge gts lt nes +syn keyword dclLogical contained eq ges le lts not +syn keyword dclLogical contained eqs gt les ne or +syn match dclLogSep "\." contained + +" @command procedures +syn match dclCmdProcStart "@" nextgroup=dclCmdProc +syn match dclCmdProc "\I\i*\(\.\I\i*\)\=" contained +syn match dclCmdProc "\I\i*:" contained nextgroup=dclCmdDirPath,dclCmdProc +syn match dclCmdDirPath "\[\(\I\i*\.\)*\I\i*\]" contained nextgroup=delCmdProc + +" labels +syn match dclGotoLabel "^\$\s*\I\i*:\s*$" contains=dclStart + +" parameters +syn match dclParam "'\I[a-zA-Z0-9_$]*'\=" + +" () matching (the clusters are commented out until a mnv/vms comes out for v5.2+) +"syn cluster dclNextGroups contains=dclCmdDirPath,dclCmdProc,dclCmdProc,dclDirPath,dclFilename,dclFilename,dclMdfySet,dclMdfySetString,delCmdProc,dclExe,dclTodo +"syn region dclFuncList matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" contains=ALLBUT,@dclNextGroups +syn region dclFuncList matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" contains=ALLBUT,dclCmdDirPath,dclCmdProc,dclCmdProc,dclDirPath,dclFilename,dclFilename,dclMdfySet,dclMdfySetString,delCmdProc,dclExe,dclTodo +syn match dclError ")" + +" Define the default highlighting. +if !exists("skip_dcl_syntax_inits") + + hi def link dclLogOper dclError + hi def link dclLogical dclOper + hi def link dclLogSep dclSep + + hi def link dclAssign Operator + hi def link dclCmdProc Special + hi def link dclCmdProcStart Operator + hi def link dclComment Comment + hi def link dclContinue Statement + hi def link dclDevice Identifier + hi def link dclDirPath Identifier + hi def link dclDirPath Identifier + hi def link dclDirSep Delimiter + hi def link dclError Error + hi def link dclExe Statement + hi def link dclFilename NONE + hi def link dclGotoLabel Label + hi def link dclInstr Statement + hi def link dclLexical Function + hi def link dclMdfy Type + hi def link dclMdfyBrkt Delimiter + hi def link dclMdfySep Delimiter + hi def link dclMdfySet Type + hi def link dclMdfySetString String + hi def link dclNumber Number + hi def link dclOper Operator + hi def link dclParam Special + hi def link dclSep Delimiter + hi def link dclStart Delimiter + hi def link dclString String + hi def link dclTodo Todo + +endif + +let b:current_syntax = "dcl" + +" mnv: ts=16 diff --git a/uvim/runtime/syntax/dcl.vim b/uvim/runtime/syntax/dcl.vim deleted file mode 100644 index 1987ebbce6..0000000000 --- a/uvim/runtime/syntax/dcl.vim +++ /dev/null @@ -1,153 +0,0 @@ -" Vim syntax file -" Language: DCL (Digital Command Language - vms) -" Maintainer: This runtime file is looking for a new maintainer. -" Former Maintainer: Charles E. Campbell -" Last Change: Mar 26, 2019 -" Version: 13 -" Former URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_DCL - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -if (v:version == 704 && has("patch-7.4.1142")) || v:version > 704 - syn iskeyword $,@,48-57,_ -else - setlocal iskeyword=$,@,48-57,_ -endif - -syn case ignore -syn keyword dclInstr accounting del[ete] gen[cat] mou[nt] run -syn keyword dclInstr all[ocate] dep[osit] gen[eral] ncp run[off] -syn keyword dclInstr ana[lyze] dia[gnose] gos[ub] ncs sca -syn keyword dclInstr app[end] dif[ferences] got[o] on sea[rch] -syn keyword dclInstr ass[ign] dir[ectory] hel[p] ope[n] set -syn keyword dclInstr att[ach] dis[able] ico[nv] pas[cal] sho[w] -syn keyword dclInstr aut[horize] dis[connect] if pas[sword] sor[t] -syn keyword dclInstr aut[ogen] dis[mount] ini[tialize] pat[ch] spa[wn] -syn keyword dclInstr bac[kup] dpm[l] inq[uire] pca sta[rt] -syn keyword dclInstr cal[l] dqs ins[tall] pho[ne] sto[p] -syn keyword dclInstr can[cel] dsr job pri[nt] sub[mit] -syn keyword dclInstr cc dst[graph] lat[cp] pro[duct] sub[routine] -syn keyword dclInstr clo[se] dtm lib[rary] psw[rap] swx[cr] -syn keyword dclInstr cms dum[p] lic[ense] pur[ge] syn[chronize] -syn keyword dclInstr con[nect] edi[t] lin[k] qde[lete] sys[gen] -syn keyword dclInstr con[tinue] ena[ble] lmc[p] qse[t] sys[man] -syn keyword dclInstr con[vert] end[subroutine] loc[ale] qsh[ow] tff -syn keyword dclInstr cop[y] eod log[in] rea[d] then -syn keyword dclInstr cre[ate] eoj log[out] rec[all] typ[e] -syn keyword dclInstr cxx exa[mine] lse[dit] rec[over] uil -syn keyword dclInstr cxx[l_help] exc[hange] mac[ro] ren[ame] unl[ock] -syn keyword dclInstr dea[llocate] exi[t] mai[l] rep[ly] ves[t] -syn keyword dclInstr dea[ssign] fdl mer[ge] req[uest] vie[w] -syn keyword dclInstr deb[ug] flo[wgraph] mes[sage] ret[urn] wai[t] -syn keyword dclInstr dec[k] fon[t] mms rms wri[te] -syn keyword dclInstr def[ine] for[tran] - -syn keyword dclLexical f$context f$edit f$getjpi f$message f$setprv -syn keyword dclLexical f$csid f$element f$getqui f$mode f$string -syn keyword dclLexical f$cvsi f$environment f$getsyi f$parse f$time -syn keyword dclLexical f$cvtime f$extract f$identifier f$pid f$trnlnm -syn keyword dclLexical f$cvui f$fao f$integer f$privilege f$type -syn keyword dclLexical f$device f$file_attributes f$length f$process f$user -syn keyword dclLexical f$directory f$getdvi f$locate f$search f$verify - -syn match dclMdfy "/\I\i*" nextgroup=dclMdfySet,dclMdfySetString -syn match dclMdfySet "=[^ \t"]*" contained -syn region dclMdfySet matchgroup=dclMdfyBrkt start="=\[" matchgroup=dclMdfyBrkt end="]" contains=dclMdfySep -syn region dclMdfySetString start='="' skip='""' end='"' contained -syn match dclMdfySep "[:,]" contained - -" Numbers -syn match dclNumber "\d\+" - -" Varname (mainly to prevent dclNumbers from being recognized when part of a dclVarname) -syn match dclVarname "\I\i*" - -" Filenames (devices, paths) -syn match dclDevice "\I\i*\(\$\I\i*\)\=:[^=]"me=e-1 nextgroup=dclDirPath,dclFilename -syn match dclDirPath "\[\(\I\i*\.\)*\I\i*\]" contains=dclDirSep nextgroup=dclFilename -syn match dclFilename "\I\i*\$\(\I\i*\)\=\.\(\I\i*\)*\(;\d\+\)\=" contains=dclDirSep -syn match dclFilename "\I\i*\.\(\I\i*\)\=\(;\d\+\)\=" contains=dclDirSep contained -syn match dclDirSep "[[\].;]" - -" Strings -syn region dclString start='"' skip='""' end='"' contains=@Spell - -" $ stuff and comments -syn cluster dclCommentGroup contains=dclStart,dclTodo,@Spell -syn match dclStart "^\$" skipwhite nextgroup=dclExe -syn match dclContinue "-$" -syn match dclComment "^\$!.*$" contains=@dclCommentGroup -syn match dclExe "\I\i*" contained -syn keyword dclTodo contained COMBAK DEBUG FIXME TODO XXX - -" Assignments and Operators -syn match dclAssign ":==\=" -syn match dclAssign "=" -syn match dclOper "--\|+\|\*\|/" -syn match dclLogOper "\.[a-zA-Z][a-zA-Z][a-zA-Z]\=\." contains=dclLogical,dclLogSep -syn keyword dclLogical contained and ge gts lt nes -syn keyword dclLogical contained eq ges le lts not -syn keyword dclLogical contained eqs gt les ne or -syn match dclLogSep "\." contained - -" @command procedures -syn match dclCmdProcStart "@" nextgroup=dclCmdProc -syn match dclCmdProc "\I\i*\(\.\I\i*\)\=" contained -syn match dclCmdProc "\I\i*:" contained nextgroup=dclCmdDirPath,dclCmdProc -syn match dclCmdDirPath "\[\(\I\i*\.\)*\I\i*\]" contained nextgroup=delCmdProc - -" labels -syn match dclGotoLabel "^\$\s*\I\i*:\s*$" contains=dclStart - -" parameters -syn match dclParam "'\I[a-zA-Z0-9_$]*'\=" - -" () matching (the clusters are commented out until a vim/vms comes out for v5.2+) -"syn cluster dclNextGroups contains=dclCmdDirPath,dclCmdProc,dclCmdProc,dclDirPath,dclFilename,dclFilename,dclMdfySet,dclMdfySetString,delCmdProc,dclExe,dclTodo -"syn region dclFuncList matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" contains=ALLBUT,@dclNextGroups -syn region dclFuncList matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" contains=ALLBUT,dclCmdDirPath,dclCmdProc,dclCmdProc,dclDirPath,dclFilename,dclFilename,dclMdfySet,dclMdfySetString,delCmdProc,dclExe,dclTodo -syn match dclError ")" - -" Define the default highlighting. -if !exists("skip_dcl_syntax_inits") - - hi def link dclLogOper dclError - hi def link dclLogical dclOper - hi def link dclLogSep dclSep - - hi def link dclAssign Operator - hi def link dclCmdProc Special - hi def link dclCmdProcStart Operator - hi def link dclComment Comment - hi def link dclContinue Statement - hi def link dclDevice Identifier - hi def link dclDirPath Identifier - hi def link dclDirPath Identifier - hi def link dclDirSep Delimiter - hi def link dclError Error - hi def link dclExe Statement - hi def link dclFilename NONE - hi def link dclGotoLabel Label - hi def link dclInstr Statement - hi def link dclLexical Function - hi def link dclMdfy Type - hi def link dclMdfyBrkt Delimiter - hi def link dclMdfySep Delimiter - hi def link dclMdfySet Type - hi def link dclMdfySetString String - hi def link dclNumber Number - hi def link dclOper Operator - hi def link dclParam Special - hi def link dclSep Delimiter - hi def link dclStart Delimiter - hi def link dclString String - hi def link dclTodo Todo - -endif - -let b:current_syntax = "dcl" - -" vim: ts=16 diff --git a/uvim/runtime/syntax/deb822sources.mnv b/uvim/runtime/syntax/deb822sources.mnv new file mode 100644 index 0000000000..21e465646f --- /dev/null +++ b/uvim/runtime/syntax/deb822sources.mnv @@ -0,0 +1,63 @@ +" MNV syntax file +" Language: Debian deb822-format source list file +" Maintainer: Debian MNV Maintainers +" Last Change: 2024 Jan 30 +" URL: https://salsa.debian.org/mnv-team/mnv-debian/blob/main/syntax/deb822sources.mnv + +" Standard syntax initialization +if exists('b:current_syntax') + finish +endif + +" case insensitive +syn case ignore + +" A bunch of useful keywords +syn match deb822sourcesType /\<\(deb-src\|deb\)\ */ contained +syn match deb822sourcesFreeComponent /\<\(main\|universe\)\> */ contained +syn match deb822sourcesNonFreeComponent /\<\(contrib\|non-free-firmware\|non-free\|restricted\|multiverse\)\> */ contained + +" Comments are matched from the first character of a line to the end-of-line +syn region deb822sourcesComment start="^#" end="$" + +" Include Debian versioning information +runtime! syntax/shared/debversions.mnv + +exe 'syn match deb822sourcesSupportedSuites contained + *\([[:alnum:]_./]*\)\<\('. join(g:debSharedSupportedVersions, '\|'). '\)\>\([-[:alnum:]_./]*\) *+' +exe 'syn match deb822sourcesUnsupportedSuites contained + *\([[:alnum:]_./]*\)\<\('. join(g:debSharedUnsupportedVersions, '\|'). '\)\>\([-[:alnum:]_./]*\) *+' + +unlet g:debSharedSupportedVersions +unlet g:debSharedUnsupportedVersions + +syn region deb822sourcesSuites start="\(^Suites: *\)\@<=" end="$" contains=deb822sourcesSupportedSuites,deb822sourcesUnsupportedSuites oneline + +syn keyword deb822sourcesForce contained force +syn keyword deb822sourcesYesNo contained yes no + +" Match uri's +syn match deb822sourcesUri '\(https\?://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\+' + +syn region deb822sourcesStrictField matchgroup=deb822sourcesEntryField start="^\%(Types\|URIs\|Suites\|Components\): *" end="$" contains=deb822sourcesType,deb822sourcesUri,deb822sourcesSupportedSuites,deb822sourcesUnsupportedSuites,deb822sourcesFreeComponent,deb822sourcesNonFreeComponent oneline +syn region deb822sourcesField matchgroup=deb822sourcesOptionField start="^\%(Signed-By\|Check-Valid-Until\|Valid-Until-Min\|Valid-Until-Max\|Date-Max-Future\|InRelease-Path\): *" end="$" oneline +syn region deb822sourcesField matchgroup=deb822sourcesMultiValueOptionField start="^\%(Architectures\|Languages\|Targets\)\%(-Add\|-Remove\)\?: *" end="$" oneline +syn region deb822sourcesStrictField matchgroup=deb822sourcesBooleanOptionField start="^\%(PDiffs\|Allow-Insecure\|Allow-Weak\|Allow-Downgrade-To-Insecure\|Trusted\|Check-Date\|Enabled\): *" end="$" contains=deb822sourcesYesNo oneline +syn region deb822sourcesStrictField matchgroup=deb822sourcesForceBooleanOptionField start="^\%(By-Hash\): *" end="$" contains=deb822sourcesForce,deb822sourcesYesNo oneline + +hi def link deb822sourcesField Default +hi def link deb822sourcesComment Comment +hi def link deb822sourcesEntryField Keyword +hi def link deb822sourcesOptionField Special +hi def link deb822sourcesMultiValueOptionField Special +hi def link deb822sourcesBooleanOptionField Special +hi def link deb822sourcesForceBooleanOptionField Special +hi def link deb822sourcesStrictField Error +hi def link deb822sourcesType Identifier +hi def link deb822sourcesFreeComponent Identifier +hi def link deb822sourcesNonFreeComponent Identifier +hi def link deb822sourcesForce Identifier +hi def link deb822sourcesYesNo Identifier +hi def link deb822sourcesUri Constant +hi def link deb822sourcesSupportedSuites Type +hi def link deb822sourcesUnsupportedSuites WarningMsg + +let b:current_syntax = 'deb822sources' diff --git a/uvim/runtime/syntax/deb822sources.vim b/uvim/runtime/syntax/deb822sources.vim deleted file mode 100644 index ec45605905..0000000000 --- a/uvim/runtime/syntax/deb822sources.vim +++ /dev/null @@ -1,63 +0,0 @@ -" Vim syntax file -" Language: Debian deb822-format source list file -" Maintainer: Debian Vim Maintainers -" Last Change: 2024 Jan 30 -" URL: https://salsa.debian.org/vim-team/vim-debian/blob/main/syntax/deb822sources.vim - -" Standard syntax initialization -if exists('b:current_syntax') - finish -endif - -" case insensitive -syn case ignore - -" A bunch of useful keywords -syn match deb822sourcesType /\<\(deb-src\|deb\)\ */ contained -syn match deb822sourcesFreeComponent /\<\(main\|universe\)\> */ contained -syn match deb822sourcesNonFreeComponent /\<\(contrib\|non-free-firmware\|non-free\|restricted\|multiverse\)\> */ contained - -" Comments are matched from the first character of a line to the end-of-line -syn region deb822sourcesComment start="^#" end="$" - -" Include Debian versioning information -runtime! syntax/shared/debversions.vim - -exe 'syn match deb822sourcesSupportedSuites contained + *\([[:alnum:]_./]*\)\<\('. join(g:debSharedSupportedVersions, '\|'). '\)\>\([-[:alnum:]_./]*\) *+' -exe 'syn match deb822sourcesUnsupportedSuites contained + *\([[:alnum:]_./]*\)\<\('. join(g:debSharedUnsupportedVersions, '\|'). '\)\>\([-[:alnum:]_./]*\) *+' - -unlet g:debSharedSupportedVersions -unlet g:debSharedUnsupportedVersions - -syn region deb822sourcesSuites start="\(^Suites: *\)\@<=" end="$" contains=deb822sourcesSupportedSuites,deb822sourcesUnsupportedSuites oneline - -syn keyword deb822sourcesForce contained force -syn keyword deb822sourcesYesNo contained yes no - -" Match uri's -syn match deb822sourcesUri '\(https\?://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\+' - -syn region deb822sourcesStrictField matchgroup=deb822sourcesEntryField start="^\%(Types\|URIs\|Suites\|Components\): *" end="$" contains=deb822sourcesType,deb822sourcesUri,deb822sourcesSupportedSuites,deb822sourcesUnsupportedSuites,deb822sourcesFreeComponent,deb822sourcesNonFreeComponent oneline -syn region deb822sourcesField matchgroup=deb822sourcesOptionField start="^\%(Signed-By\|Check-Valid-Until\|Valid-Until-Min\|Valid-Until-Max\|Date-Max-Future\|InRelease-Path\): *" end="$" oneline -syn region deb822sourcesField matchgroup=deb822sourcesMultiValueOptionField start="^\%(Architectures\|Languages\|Targets\)\%(-Add\|-Remove\)\?: *" end="$" oneline -syn region deb822sourcesStrictField matchgroup=deb822sourcesBooleanOptionField start="^\%(PDiffs\|Allow-Insecure\|Allow-Weak\|Allow-Downgrade-To-Insecure\|Trusted\|Check-Date\|Enabled\): *" end="$" contains=deb822sourcesYesNo oneline -syn region deb822sourcesStrictField matchgroup=deb822sourcesForceBooleanOptionField start="^\%(By-Hash\): *" end="$" contains=deb822sourcesForce,deb822sourcesYesNo oneline - -hi def link deb822sourcesField Default -hi def link deb822sourcesComment Comment -hi def link deb822sourcesEntryField Keyword -hi def link deb822sourcesOptionField Special -hi def link deb822sourcesMultiValueOptionField Special -hi def link deb822sourcesBooleanOptionField Special -hi def link deb822sourcesForceBooleanOptionField Special -hi def link deb822sourcesStrictField Error -hi def link deb822sourcesType Identifier -hi def link deb822sourcesFreeComponent Identifier -hi def link deb822sourcesNonFreeComponent Identifier -hi def link deb822sourcesForce Identifier -hi def link deb822sourcesYesNo Identifier -hi def link deb822sourcesUri Constant -hi def link deb822sourcesSupportedSuites Type -hi def link deb822sourcesUnsupportedSuites WarningMsg - -let b:current_syntax = 'deb822sources' diff --git a/uvim/runtime/syntax/debchangelog.mnv b/uvim/runtime/syntax/debchangelog.mnv new file mode 100644 index 0000000000..8f0d6af230 --- /dev/null +++ b/uvim/runtime/syntax/debchangelog.mnv @@ -0,0 +1,62 @@ +" MNV syntax file +" Language: Debian changelog files +" Maintainer: Debian MNV Maintainers +" Former Maintainers: Gerfried Fuchs +" Wichert Akkerman +" Last Change: 2023 Oct 11 +" URL: https://salsa.debian.org/mnv-team/mnv-debian/blob/main/syntax/debchangelog.mnv + +" Standard syntax initialization +if exists('b:current_syntax') + finish +endif + +" Case doesn't matter for us +syn case ignore + +let s:urgency='urgency=\(low\|medium\|high\|emergency\|critical\)\( [^[:space:],][^,]*\)\=' +let s:binNMU='binary-only=yes' + +" Include Debian versioning information +runtime! syntax/shared/debversions.mnv + +exe 'syn match debchangelogTarget contained "\%( \%('.join(g:debSharedSupportedVersions, '\|').'\)\>[-[:alnum:]]*\)\+"' +exe 'syn match debchangelogUnsupportedTarget contained "\%( \%('.join(g:debSharedUnsupportedVersions, '\|').'\)\>[-[:alnum:]]*\)\+"' + +unlet g:debSharedSupportedVersions +unlet g:debSharedUnsupportedVersions + +" Define some common expressions we can use later on +syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ " +exe 'syn match debchangelogFirstKV contained "; \('.s:urgency.'\|'.s:binNMU.'\)"' +exe 'syn match debchangelogOtherKV contained ", \('.s:urgency.'\|'.s:binNMU.'\)"' +syn match debchangelogUnreleased contained / UNRELEASED/ +syn match debchangelogVersion contained "(.\{-})" +syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*" +syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*" +syn match debchangelogEmail contained "[_=[:alnum:].+-]\+@[[:alnum:]./\-]\+" +syn match debchangelogEmail contained "<.\{-}>" + +" Define the entries that make up the changelog +syn region debchangelogHeader start="^[^ ]" end="$" contains=debchangelogName,debchangelogFirstKV,debchangelogOtherKV,debchangelogTarget,debchangelogUnsupportedTarget,debchangelogUnreleased,debchangelogVersion,debchangelogBinNMU oneline +syn region debchangelogFooter start="^ [^ ]" end="$" contains=debchangelogEmail oneline +syn region debchangelogEntry start="^ " end="$" contains=debchangelogCloses,debchangelogLP oneline + +" Associate our matches and regions with pretty colours +hi def link debchangelogHeader Error +hi def link debchangelogFooter Identifier +hi def link debchangelogEntry Normal +hi def link debchangelogCloses Statement +hi def link debchangelogLP Statement +hi def link debchangelogFirstKV Identifier +hi def link debchangelogOtherKV Identifier +hi def link debchangelogName Comment +hi def link debchangelogVersion Identifier +hi def link debchangelogUnreleased WarningMsg +hi def link debchangelogEmail Special +hi def link debchangelogTarget Identifier +hi def link debchangelogUnsupportedTarget Identifier + +let b:current_syntax = 'debchangelog' + +" mnv: ts=8 sw=2 diff --git a/uvim/runtime/syntax/debchangelog.vim b/uvim/runtime/syntax/debchangelog.vim deleted file mode 100644 index da35a6a10b..0000000000 --- a/uvim/runtime/syntax/debchangelog.vim +++ /dev/null @@ -1,62 +0,0 @@ -" Vim syntax file -" Language: Debian changelog files -" Maintainer: Debian Vim Maintainers -" Former Maintainers: Gerfried Fuchs -" Wichert Akkerman -" Last Change: 2023 Oct 11 -" URL: https://salsa.debian.org/vim-team/vim-debian/blob/main/syntax/debchangelog.vim - -" Standard syntax initialization -if exists('b:current_syntax') - finish -endif - -" Case doesn't matter for us -syn case ignore - -let s:urgency='urgency=\(low\|medium\|high\|emergency\|critical\)\( [^[:space:],][^,]*\)\=' -let s:binNMU='binary-only=yes' - -" Include Debian versioning information -runtime! syntax/shared/debversions.vim - -exe 'syn match debchangelogTarget contained "\%( \%('.join(g:debSharedSupportedVersions, '\|').'\)\>[-[:alnum:]]*\)\+"' -exe 'syn match debchangelogUnsupportedTarget contained "\%( \%('.join(g:debSharedUnsupportedVersions, '\|').'\)\>[-[:alnum:]]*\)\+"' - -unlet g:debSharedSupportedVersions -unlet g:debSharedUnsupportedVersions - -" Define some common expressions we can use later on -syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ " -exe 'syn match debchangelogFirstKV contained "; \('.s:urgency.'\|'.s:binNMU.'\)"' -exe 'syn match debchangelogOtherKV contained ", \('.s:urgency.'\|'.s:binNMU.'\)"' -syn match debchangelogUnreleased contained / UNRELEASED/ -syn match debchangelogVersion contained "(.\{-})" -syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*" -syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*" -syn match debchangelogEmail contained "[_=[:alnum:].+-]\+@[[:alnum:]./\-]\+" -syn match debchangelogEmail contained "<.\{-}>" - -" Define the entries that make up the changelog -syn region debchangelogHeader start="^[^ ]" end="$" contains=debchangelogName,debchangelogFirstKV,debchangelogOtherKV,debchangelogTarget,debchangelogUnsupportedTarget,debchangelogUnreleased,debchangelogVersion,debchangelogBinNMU oneline -syn region debchangelogFooter start="^ [^ ]" end="$" contains=debchangelogEmail oneline -syn region debchangelogEntry start="^ " end="$" contains=debchangelogCloses,debchangelogLP oneline - -" Associate our matches and regions with pretty colours -hi def link debchangelogHeader Error -hi def link debchangelogFooter Identifier -hi def link debchangelogEntry Normal -hi def link debchangelogCloses Statement -hi def link debchangelogLP Statement -hi def link debchangelogFirstKV Identifier -hi def link debchangelogOtherKV Identifier -hi def link debchangelogName Comment -hi def link debchangelogVersion Identifier -hi def link debchangelogUnreleased WarningMsg -hi def link debchangelogEmail Special -hi def link debchangelogTarget Identifier -hi def link debchangelogUnsupportedTarget Identifier - -let b:current_syntax = 'debchangelog' - -" vim: ts=8 sw=2 diff --git a/uvim/runtime/syntax/debcontrol.mnv b/uvim/runtime/syntax/debcontrol.mnv new file mode 100644 index 0000000000..14a1706832 --- /dev/null +++ b/uvim/runtime/syntax/debcontrol.mnv @@ -0,0 +1,152 @@ +" MNV syntax file +" Language: Debian control files +" Maintainer: Debian MNV Maintainers +" Former Maintainers: Gerfried Fuchs +" Wichert Akkerman +" Last Change: 2026 Jan 20 +" URL: https://salsa.debian.org/mnv-team/mnv-debian/blob/main/syntax/debcontrol.mnv + +" Standard syntax initialization +if exists('b:current_syntax') + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +" Should match case except for the keys of each field +syn case match + +syn iskeyword @,48-57,- + +" Everything that is not explicitly matched by the rules below +syn match debcontrolElse "^.*$" + +" Common separators +syn match debControlComma ",[ \t]*" +syn match debControlSpace "[ \t]" + +runtime! syntax/shared/debarchitectures.mnv + +" Define some common expressions we can use later on +syn keyword debcontrolArchitecture contained all any +exe 'syn keyword debcontrolArchitecture contained '. join(g:debArchitectureKernelAnyArch) +exe 'syn keyword debcontrolArchitecture contained '. join(g:debArchitectureAnyKernelArch) +exe 'syn keyword debcontrolArchitecture contained '. join(g:debArchitectureArchs) + +" Keep in sync with https://metadata.ftp-master.debian.org/sections.822 +" curl -q https://metadata.ftp-master.debian.org/sections.822 2>/dev/null| grep-dctrl -n --not -FSection -sSection / - +let s:sections = [ + \ 'admin', 'cli-mono', 'comm', 'database', 'debian-installer', 'debug' + \, 'devel', 'doc', 'editors', 'education', 'electronics', 'embedded' + \, 'fonts', 'games', 'gnome', 'gnu-r', 'gnustep', 'golang', 'graphics' + \, 'hamradio', 'haskell', 'httpd', 'interpreters', 'introspection' + \, 'java', 'javascript', 'kde', 'kernel', 'libdevel', 'libs', 'lisp' + \, 'localization', 'mail', 'math', 'metapackages', 'misc', 'net', 'news' + \, 'ocaml', 'oldlibs', 'otherosfs', 'perl', 'php', 'python', 'raku' + \, 'ruby', 'rust', 'science', 'shells', 'sound', 'tasks', 'tex', 'text' + \, 'utils', 'vcs', 'video', 'web', 'x11', 'xfce', 'zope' + \ ] + +syn keyword debcontrolMultiArch contained no foreign allowed same +syn match debcontrolName contained "[a-z0-9][a-z0-9+.-]\+" +syn keyword debcontrolPriority contained extra important optional required standard +exe 'syn match debcontrolSection contained "\%(\%(contrib\|non-free\|non-US/main\|non-US/contrib\|non-US/non-free\|restricted\|universe\|multiverse\)/\)\=\<\%('.join(s:sections, '\|').'\)\>"' +syn keyword debcontrolPackageType contained udeb deb +syn match debcontrolVariable contained "\${.\{-}}" +syn keyword debcontrolDmUpload contained yes +syn keyword debcontrolYesNo contained yes no +syn match debcontrolR3 contained "\<\%(no\|binary-targets\|[[:graph:]]\+/[[:graph:]]\+\%( \+[[:graph:]]\+/[[:graph:]]\+\)*\)\>" + +unlet s:sections + +" A URL (using the domain name definitions from RFC 1034 and 1738), right now +" only enforce protocol and some sanity on the server/path part; +syn match debcontrolHTTPUrl contained "\vhttps?://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$" +syn match debcontrolVcsSvn contained "\vsvn%(\+ssh)?://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$" +syn match debcontrolVcsCvs contained "\v%(\-d *)?:pserver:[^@]+\@[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?:/[^[:space:]]*%( [^[:space:]]+)?$" +syn match debcontrolVcsGit contained "\v%(git|https?)://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?%(\s+-b\s+[^ ~^:?*[\\]+)?$" + +" An email address +syn match debcontrolEmail "[_=[:alnum:]\.+-]\+@[[:alnum:]\./\-]\+" +syn match debcontrolEmail "<.\{-}>" + +" #-Comments +syn match debcontrolComment "^#.*$" contains=@Spell + +" Build profiles +" Since there's no official spec for the field, use dpkg's parsing +" (from BuildProfiles.pm) as the de facto spec +syn match debcontrolBuildProfile "<\@" contained + +" Architecture specification for a package relationship +let s:all_archs = join(g:debArchitectureKernelAnyArch, '\|') + \. '\|' + \. join(g:debArchitectureAnyKernelArch, '\|') + \. '\|' + \. join(g:debArchitectureArchs, '\|') +exe 'syn match debcontrolArchSpec "\[\s*!\=\%('. s:all_archs .'\)\%(\s\+!\=\%('. s:all_archs. '\)\)*\s*\]" contained' +unlet s:all_archs + +syn case ignore + +" Handle all fields from deb-src-control(5) + +" Catch-all for the legal fields +syn region debcontrolField matchgroup=debcontrolKey start="^\%(XSBC-Original-\)\=Maintainer: " end="$" contains=debcontrolVariable,debcontrolEmail oneline +syn region debcontrolField matchgroup=debcontrolKey start="^Build-Profiles: " end="$" contains=debcontrolVariable,debcontrolBuildProfile oneline +syn region debcontrolField matchgroup=debcontrolKey start="^\%(Standards-Version\|Bugs\|Origin\|X[SB]-Python-Version\|\%(XS-\)\=Vcs-Mtn\|\%(XS-\)\=Testsuite\%(-Triggers\)\=\|Build-Driver\|Tag\|Subarchitecture\|Kernel-Version\|Installer-Menu-Item\): " end="$" contains=debcontrolVariable oneline +syn region debcontrolMultiField matchgroup=debcontrolKey start="^\%(Build-\%(Conflicts\|Depends\)\%(-Arch\|-Indep\)\=\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Breaks\|Enhances\|Replaces\|Conflicts\|Provides\|Built-Using\|Static-Built-Using\): *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=debcontrolVariable,debcontrolComment,debcontrolBuildProfile,debcontrolArchSpec +syn region debcontrolMultiField matchgroup=debcontrolKey start="^X[SBC]\{0,3\}\%(Private-\)\=-[-a-zA-Z0-9]\+: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=debcontrolVariable,debcontrolComment +syn region debcontrolMultiField matchgroup=debcontrolKey start="^Uploaders: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=debcontrolEmail,debcontrolVariable,debcontrolComment +syn region debcontrolMultiFieldSpell matchgroup=debcontrolKey start="^Description: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=debcontrolVariable,debcontrolComment,@Spell + +" Fields for which we do strict syntax checking +syn region debcontrolStrictField matchgroup=debcontrolKey start="^Architecture: *" end="$" contains=debcontrolArchitecture,debcontrolSpace oneline +syn region debcontrolStrictField matchgroup=debcontrolKey start="^Multi-Arch: *" end="$" contains=debcontrolMultiArch oneline +syn region debcontrolStrictField matchgroup=debcontrolKey start="^\%(Package\|Source\): *" end="$" contains=debcontrolName oneline +syn region debcontrolStrictField matchgroup=debcontrolKey start="^Priority: *" end="$" contains=debcontrolPriority oneline +syn region debcontrolStrictField matchgroup=debcontrolKey start="^Section: *" end="$" contains=debcontrolSection oneline +syn region debcontrolStrictField matchgroup=debcontrolKey start="^\%(XC-\)\=Package-Type: *" end="$" contains=debcontrolPackageType oneline +syn region debcontrolStrictField matchgroup=debcontrolKey start="^Homepage: *" end="$" contains=debcontrolHTTPUrl oneline keepend +syn region debcontrolStrictField matchgroup=debcontrolKey start="^\%(XS-[-a-zA-Z0-9]\+-\)\=Vcs-\%(Browser\|Arch\|Bzr\|Darcs\|Hg\): *" end="$" contains=debcontrolHTTPUrl oneline keepend +syn region debcontrolStrictField matchgroup=debcontrolKey start="^\%(XS-[-a-zA-Z0-9]\+-\)\=Vcs-Svn: *" end="$" contains=debcontrolVcsSvn,debcontrolHTTPUrl oneline keepend +syn region debcontrolStrictField matchgroup=debcontrolKey start="^\%(XS-[-a-zA-Z0-9]\+-\)\=Vcs-Cvs: *" end="$" contains=debcontrolVcsCvs oneline keepend +syn region debcontrolStrictField matchgroup=debcontrolKey start="^\%(XS-[-a-zA-Z0-9]\+-\)\=Vcs-Git: *" end="$" contains=debcontrolVcsGit oneline keepend +syn region debcontrolStrictField matchgroup=debcontrolKey start="^Rules-Requires-Root: *" end="$" contains=debcontrolR3 oneline +syn region debcontrolStrictField matchgroup=debcontrolKey start="^\%(\%(Build-\)\=Essential\|Protected\): *" end="$" contains=debcontrolYesNo oneline + +syn region debcontrolStrictField matchgroup=debcontrolDeprecatedKey start="^\%(XS-\)\=DM-Upload-Allowed: *" end="$" contains=debcontrolDmUpload oneline + +" Associate our matches and regions with pretty colours +hi def link debcontrolKey Keyword +hi def link debcontrolField Normal +hi def link debcontrolStrictField Error +hi def link debcontrolDeprecatedKey Error +hi def link debcontrolMultiField Normal +hi def link debcontrolArchitecture Normal +hi def link debcontrolMultiArch Normal +hi def link debcontrolName Normal +hi def link debcontrolPriority Normal +hi def link debcontrolSection Normal +hi def link debcontrolPackageType Normal +hi def link debcontrolVariable Identifier +hi def link debcontrolArchSpec Identifier +hi def link debcontrolBuildProfile Identifier +hi def link debcontrolEmail Identifier +hi def link debcontrolVcsSvn Identifier +hi def link debcontrolVcsCvs Identifier +hi def link debcontrolVcsGit Identifier +hi def link debcontrolHTTPUrl Identifier +hi def link debcontrolDmUpload Identifier +hi def link debcontrolYesNo Identifier +hi def link debcontrolR3 Identifier +hi def link debcontrolComment Comment +hi def link debcontrolElse Special + +let b:current_syntax = 'debcontrol' + +let &cpo = s:cpo_save +unlet s:cpo_save + +" mnv: ts=8 sw=2 diff --git a/uvim/runtime/syntax/debcontrol.vim b/uvim/runtime/syntax/debcontrol.vim deleted file mode 100644 index 7b4d14062a..0000000000 --- a/uvim/runtime/syntax/debcontrol.vim +++ /dev/null @@ -1,152 +0,0 @@ -" Vim syntax file -" Language: Debian control files -" Maintainer: Debian Vim Maintainers -" Former Maintainers: Gerfried Fuchs -" Wichert Akkerman -" Last Change: 2026 Jan 20 -" URL: https://salsa.debian.org/vim-team/vim-debian/blob/main/syntax/debcontrol.vim - -" Standard syntax initialization -if exists('b:current_syntax') - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -" Should match case except for the keys of each field -syn case match - -syn iskeyword @,48-57,- - -" Everything that is not explicitly matched by the rules below -syn match debcontrolElse "^.*$" - -" Common separators -syn match debControlComma ",[ \t]*" -syn match debControlSpace "[ \t]" - -runtime! syntax/shared/debarchitectures.vim - -" Define some common expressions we can use later on -syn keyword debcontrolArchitecture contained all any -exe 'syn keyword debcontrolArchitecture contained '. join(g:debArchitectureKernelAnyArch) -exe 'syn keyword debcontrolArchitecture contained '. join(g:debArchitectureAnyKernelArch) -exe 'syn keyword debcontrolArchitecture contained '. join(g:debArchitectureArchs) - -" Keep in sync with https://metadata.ftp-master.debian.org/sections.822 -" curl -q https://metadata.ftp-master.debian.org/sections.822 2>/dev/null| grep-dctrl -n --not -FSection -sSection / - -let s:sections = [ - \ 'admin', 'cli-mono', 'comm', 'database', 'debian-installer', 'debug' - \, 'devel', 'doc', 'editors', 'education', 'electronics', 'embedded' - \, 'fonts', 'games', 'gnome', 'gnu-r', 'gnustep', 'golang', 'graphics' - \, 'hamradio', 'haskell', 'httpd', 'interpreters', 'introspection' - \, 'java', 'javascript', 'kde', 'kernel', 'libdevel', 'libs', 'lisp' - \, 'localization', 'mail', 'math', 'metapackages', 'misc', 'net', 'news' - \, 'ocaml', 'oldlibs', 'otherosfs', 'perl', 'php', 'python', 'raku' - \, 'ruby', 'rust', 'science', 'shells', 'sound', 'tasks', 'tex', 'text' - \, 'utils', 'vcs', 'video', 'web', 'x11', 'xfce', 'zope' - \ ] - -syn keyword debcontrolMultiArch contained no foreign allowed same -syn match debcontrolName contained "[a-z0-9][a-z0-9+.-]\+" -syn keyword debcontrolPriority contained extra important optional required standard -exe 'syn match debcontrolSection contained "\%(\%(contrib\|non-free\|non-US/main\|non-US/contrib\|non-US/non-free\|restricted\|universe\|multiverse\)/\)\=\<\%('.join(s:sections, '\|').'\)\>"' -syn keyword debcontrolPackageType contained udeb deb -syn match debcontrolVariable contained "\${.\{-}}" -syn keyword debcontrolDmUpload contained yes -syn keyword debcontrolYesNo contained yes no -syn match debcontrolR3 contained "\<\%(no\|binary-targets\|[[:graph:]]\+/[[:graph:]]\+\%( \+[[:graph:]]\+/[[:graph:]]\+\)*\)\>" - -unlet s:sections - -" A URL (using the domain name definitions from RFC 1034 and 1738), right now -" only enforce protocol and some sanity on the server/path part; -syn match debcontrolHTTPUrl contained "\vhttps?://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$" -syn match debcontrolVcsSvn contained "\vsvn%(\+ssh)?://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$" -syn match debcontrolVcsCvs contained "\v%(\-d *)?:pserver:[^@]+\@[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?:/[^[:space:]]*%( [^[:space:]]+)?$" -syn match debcontrolVcsGit contained "\v%(git|https?)://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?%(\s+-b\s+[^ ~^:?*[\\]+)?$" - -" An email address -syn match debcontrolEmail "[_=[:alnum:]\.+-]\+@[[:alnum:]\./\-]\+" -syn match debcontrolEmail "<.\{-}>" - -" #-Comments -syn match debcontrolComment "^#.*$" contains=@Spell - -" Build profiles -" Since there's no official spec for the field, use dpkg's parsing -" (from BuildProfiles.pm) as the de facto spec -syn match debcontrolBuildProfile "<\@" contained - -" Architecture specification for a package relationship -let s:all_archs = join(g:debArchitectureKernelAnyArch, '\|') - \. '\|' - \. join(g:debArchitectureAnyKernelArch, '\|') - \. '\|' - \. join(g:debArchitectureArchs, '\|') -exe 'syn match debcontrolArchSpec "\[\s*!\=\%('. s:all_archs .'\)\%(\s\+!\=\%('. s:all_archs. '\)\)*\s*\]" contained' -unlet s:all_archs - -syn case ignore - -" Handle all fields from deb-src-control(5) - -" Catch-all for the legal fields -syn region debcontrolField matchgroup=debcontrolKey start="^\%(XSBC-Original-\)\=Maintainer: " end="$" contains=debcontrolVariable,debcontrolEmail oneline -syn region debcontrolField matchgroup=debcontrolKey start="^Build-Profiles: " end="$" contains=debcontrolVariable,debcontrolBuildProfile oneline -syn region debcontrolField matchgroup=debcontrolKey start="^\%(Standards-Version\|Bugs\|Origin\|X[SB]-Python-Version\|\%(XS-\)\=Vcs-Mtn\|\%(XS-\)\=Testsuite\%(-Triggers\)\=\|Build-Driver\|Tag\|Subarchitecture\|Kernel-Version\|Installer-Menu-Item\): " end="$" contains=debcontrolVariable oneline -syn region debcontrolMultiField matchgroup=debcontrolKey start="^\%(Build-\%(Conflicts\|Depends\)\%(-Arch\|-Indep\)\=\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Breaks\|Enhances\|Replaces\|Conflicts\|Provides\|Built-Using\|Static-Built-Using\): *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=debcontrolVariable,debcontrolComment,debcontrolBuildProfile,debcontrolArchSpec -syn region debcontrolMultiField matchgroup=debcontrolKey start="^X[SBC]\{0,3\}\%(Private-\)\=-[-a-zA-Z0-9]\+: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=debcontrolVariable,debcontrolComment -syn region debcontrolMultiField matchgroup=debcontrolKey start="^Uploaders: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=debcontrolEmail,debcontrolVariable,debcontrolComment -syn region debcontrolMultiFieldSpell matchgroup=debcontrolKey start="^Description: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=debcontrolVariable,debcontrolComment,@Spell - -" Fields for which we do strict syntax checking -syn region debcontrolStrictField matchgroup=debcontrolKey start="^Architecture: *" end="$" contains=debcontrolArchitecture,debcontrolSpace oneline -syn region debcontrolStrictField matchgroup=debcontrolKey start="^Multi-Arch: *" end="$" contains=debcontrolMultiArch oneline -syn region debcontrolStrictField matchgroup=debcontrolKey start="^\%(Package\|Source\): *" end="$" contains=debcontrolName oneline -syn region debcontrolStrictField matchgroup=debcontrolKey start="^Priority: *" end="$" contains=debcontrolPriority oneline -syn region debcontrolStrictField matchgroup=debcontrolKey start="^Section: *" end="$" contains=debcontrolSection oneline -syn region debcontrolStrictField matchgroup=debcontrolKey start="^\%(XC-\)\=Package-Type: *" end="$" contains=debcontrolPackageType oneline -syn region debcontrolStrictField matchgroup=debcontrolKey start="^Homepage: *" end="$" contains=debcontrolHTTPUrl oneline keepend -syn region debcontrolStrictField matchgroup=debcontrolKey start="^\%(XS-[-a-zA-Z0-9]\+-\)\=Vcs-\%(Browser\|Arch\|Bzr\|Darcs\|Hg\): *" end="$" contains=debcontrolHTTPUrl oneline keepend -syn region debcontrolStrictField matchgroup=debcontrolKey start="^\%(XS-[-a-zA-Z0-9]\+-\)\=Vcs-Svn: *" end="$" contains=debcontrolVcsSvn,debcontrolHTTPUrl oneline keepend -syn region debcontrolStrictField matchgroup=debcontrolKey start="^\%(XS-[-a-zA-Z0-9]\+-\)\=Vcs-Cvs: *" end="$" contains=debcontrolVcsCvs oneline keepend -syn region debcontrolStrictField matchgroup=debcontrolKey start="^\%(XS-[-a-zA-Z0-9]\+-\)\=Vcs-Git: *" end="$" contains=debcontrolVcsGit oneline keepend -syn region debcontrolStrictField matchgroup=debcontrolKey start="^Rules-Requires-Root: *" end="$" contains=debcontrolR3 oneline -syn region debcontrolStrictField matchgroup=debcontrolKey start="^\%(\%(Build-\)\=Essential\|Protected\): *" end="$" contains=debcontrolYesNo oneline - -syn region debcontrolStrictField matchgroup=debcontrolDeprecatedKey start="^\%(XS-\)\=DM-Upload-Allowed: *" end="$" contains=debcontrolDmUpload oneline - -" Associate our matches and regions with pretty colours -hi def link debcontrolKey Keyword -hi def link debcontrolField Normal -hi def link debcontrolStrictField Error -hi def link debcontrolDeprecatedKey Error -hi def link debcontrolMultiField Normal -hi def link debcontrolArchitecture Normal -hi def link debcontrolMultiArch Normal -hi def link debcontrolName Normal -hi def link debcontrolPriority Normal -hi def link debcontrolSection Normal -hi def link debcontrolPackageType Normal -hi def link debcontrolVariable Identifier -hi def link debcontrolArchSpec Identifier -hi def link debcontrolBuildProfile Identifier -hi def link debcontrolEmail Identifier -hi def link debcontrolVcsSvn Identifier -hi def link debcontrolVcsCvs Identifier -hi def link debcontrolVcsGit Identifier -hi def link debcontrolHTTPUrl Identifier -hi def link debcontrolDmUpload Identifier -hi def link debcontrolYesNo Identifier -hi def link debcontrolR3 Identifier -hi def link debcontrolComment Comment -hi def link debcontrolElse Special - -let b:current_syntax = 'debcontrol' - -let &cpo = s:cpo_save -unlet s:cpo_save - -" vim: ts=8 sw=2 diff --git a/uvim/runtime/syntax/debcopyright.mnv b/uvim/runtime/syntax/debcopyright.mnv new file mode 100644 index 0000000000..dcac4854a9 --- /dev/null +++ b/uvim/runtime/syntax/debcopyright.mnv @@ -0,0 +1,33 @@ +" MNV syntax file +" Language: Debian copyright file +" Maintainer: Debian MNV Maintainers +" Last Change: 2024 Jul 28 +" URL: https://salsa.debian.org/mnv-team/mnv-debian/blob/main/syntax/debcopyright.mnv + +" Standard syntax initialization +if exists('b:current_syntax') + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn case match + +syn match debcopyrightUrl "\vhttps?://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$" +syn match debcopyrightKey "^\%(Format\|Upstream-Name\|Upstream-Contact\|Disclaimer\|Source\|Comment\|Files\|Copyright\|License\|Files-\%(Excluded\|Included\)\%(-[-a-zA-Z0-9]\+\)\=\): *" +syn match debcopyrightEmail "[_=[:alnum:]\.+-]\+@[[:alnum:]\./\-]\+" +syn match debcopyrightEmail "<.\{-}>" +syn match debcopyrightComment "^#.*$" contains=@Spell + +hi def link debcopyrightUrl Identifier +hi def link debcopyrightKey Keyword +hi def link debcopyrightEmail Identifier +hi def link debcopyrightComment Comment + +let b:current_syntax = 'debcopyright' + +let &cpo = s:cpo_save +unlet s:cpo_save + +" mnv: ts=8 sw=2 diff --git a/uvim/runtime/syntax/debcopyright.vim b/uvim/runtime/syntax/debcopyright.vim deleted file mode 100644 index cb9e8965de..0000000000 --- a/uvim/runtime/syntax/debcopyright.vim +++ /dev/null @@ -1,33 +0,0 @@ -" Vim syntax file -" Language: Debian copyright file -" Maintainer: Debian Vim Maintainers -" Last Change: 2024 Jul 28 -" URL: https://salsa.debian.org/vim-team/vim-debian/blob/main/syntax/debcopyright.vim - -" Standard syntax initialization -if exists('b:current_syntax') - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn case match - -syn match debcopyrightUrl "\vhttps?://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$" -syn match debcopyrightKey "^\%(Format\|Upstream-Name\|Upstream-Contact\|Disclaimer\|Source\|Comment\|Files\|Copyright\|License\|Files-\%(Excluded\|Included\)\%(-[-a-zA-Z0-9]\+\)\=\): *" -syn match debcopyrightEmail "[_=[:alnum:]\.+-]\+@[[:alnum:]\./\-]\+" -syn match debcopyrightEmail "<.\{-}>" -syn match debcopyrightComment "^#.*$" contains=@Spell - -hi def link debcopyrightUrl Identifier -hi def link debcopyrightKey Keyword -hi def link debcopyrightEmail Identifier -hi def link debcopyrightComment Comment - -let b:current_syntax = 'debcopyright' - -let &cpo = s:cpo_save -unlet s:cpo_save - -" vim: ts=8 sw=2 diff --git a/uvim/runtime/syntax/debsources.mnv b/uvim/runtime/syntax/debsources.mnv new file mode 100644 index 0000000000..bc819e12d7 --- /dev/null +++ b/uvim/runtime/syntax/debsources.mnv @@ -0,0 +1,46 @@ +" MNV syntax file +" Language: Debian sources.list +" Maintainer: Debian MNV Maintainers +" Former Maintainer: Matthijs Mohlmann +" Last Change: 2024 Jan 30 +" URL: https://salsa.debian.org/mnv-team/mnv-debian/blob/main/syntax/debsources.mnv + +" Standard syntax initialization +if exists('b:current_syntax') + finish +endif + +" case sensitive +syn case match + +" A bunch of useful keywords +syn match debsourcesType /\<\(deb-src\|deb\)\>/ contained +syn match debsourcesFreeComponent /\<\(main\|universe\)\>/ contained +syn match debsourcesNonFreeComponent /\<\(contrib\|non-free-firmware\|non-free\|restricted\|multiverse\)\>/ contained + +" Match comments +syn match debsourcesComment /#.*/ contains=@Spell + +" Include Debian versioning information +runtime! syntax/shared/debversions.mnv + +exe 'syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\<\('. join(g:debSharedSupportedVersions, '\|'). '\)\>\([-[:alnum:]_./]*\)+' +exe 'syn match debsourcesUnsupportedDistrKeyword +\([[:alnum:]_./]*\)\<\('. join(g:debSharedUnsupportedVersions, '\|') .'\)\>\([-[:alnum:]_./]*\)+' + +unlet g:debSharedSupportedVersions +unlet g:debSharedUnsupportedVersions + +" Match uri's +syn match debsourcesUri '\(https\?://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\+' +syn region debsourcesLine start="^" end="$" contains=debsourcesType,debsourcesFreeComponent,debsourcesNonFreeComponent,debsourcesComment,debsourcesUri,debsourcesDistrKeyword,debsourcesUnsupportedDistrKeyword oneline + +" Associate our matches and regions with pretty colours +hi def link debsourcesType Statement +hi def link debsourcesFreeComponent Statement +hi def link debsourcesNonFreeComponent Statement +hi def link debsourcesComment Comment +hi def link debsourcesUri Constant +hi def link debsourcesDistrKeyword Type +hi def link debsourcesUnsupportedDistrKeyword WarningMsg + +let b:current_syntax = 'debsources' diff --git a/uvim/runtime/syntax/debsources.vim b/uvim/runtime/syntax/debsources.vim deleted file mode 100644 index 76b52cfaa4..0000000000 --- a/uvim/runtime/syntax/debsources.vim +++ /dev/null @@ -1,46 +0,0 @@ -" Vim syntax file -" Language: Debian sources.list -" Maintainer: Debian Vim Maintainers -" Former Maintainer: Matthijs Mohlmann -" Last Change: 2024 Jan 30 -" URL: https://salsa.debian.org/vim-team/vim-debian/blob/main/syntax/debsources.vim - -" Standard syntax initialization -if exists('b:current_syntax') - finish -endif - -" case sensitive -syn case match - -" A bunch of useful keywords -syn match debsourcesType /\<\(deb-src\|deb\)\>/ contained -syn match debsourcesFreeComponent /\<\(main\|universe\)\>/ contained -syn match debsourcesNonFreeComponent /\<\(contrib\|non-free-firmware\|non-free\|restricted\|multiverse\)\>/ contained - -" Match comments -syn match debsourcesComment /#.*/ contains=@Spell - -" Include Debian versioning information -runtime! syntax/shared/debversions.vim - -exe 'syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\<\('. join(g:debSharedSupportedVersions, '\|'). '\)\>\([-[:alnum:]_./]*\)+' -exe 'syn match debsourcesUnsupportedDistrKeyword +\([[:alnum:]_./]*\)\<\('. join(g:debSharedUnsupportedVersions, '\|') .'\)\>\([-[:alnum:]_./]*\)+' - -unlet g:debSharedSupportedVersions -unlet g:debSharedUnsupportedVersions - -" Match uri's -syn match debsourcesUri '\(https\?://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\+' -syn region debsourcesLine start="^" end="$" contains=debsourcesType,debsourcesFreeComponent,debsourcesNonFreeComponent,debsourcesComment,debsourcesUri,debsourcesDistrKeyword,debsourcesUnsupportedDistrKeyword oneline - -" Associate our matches and regions with pretty colours -hi def link debsourcesType Statement -hi def link debsourcesFreeComponent Statement -hi def link debsourcesNonFreeComponent Statement -hi def link debsourcesComment Comment -hi def link debsourcesUri Constant -hi def link debsourcesDistrKeyword Type -hi def link debsourcesUnsupportedDistrKeyword WarningMsg - -let b:current_syntax = 'debsources' diff --git a/uvim/runtime/syntax/def.mnv b/uvim/runtime/syntax/def.mnv new file mode 100644 index 0000000000..3e1dae8264 --- /dev/null +++ b/uvim/runtime/syntax/def.mnv @@ -0,0 +1,44 @@ +" MNV syntax file +" Language: Microsoft Module-Definition (.def) File +" Orig Author: Rob Brady +" Maintainer: Wu Yongwei +" Last Change: $Date: 2007/10/02 13:51:24 $ +" $Revision: 1.2 $ + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn case ignore + +syn match defComment ";.*" + +syn keyword defKeyword LIBRARY STUB EXETYPE DESCRIPTION CODE WINDOWS DOS +syn keyword defKeyword RESIDENTNAME PRIVATE EXPORTS IMPORTS SEGMENTS +syn keyword defKeyword HEAPSIZE DATA +syn keyword defStorage LOADONCALL MOVEABLE DISCARDABLE SINGLE +syn keyword defStorage FIXED PRELOAD + +syn match defOrdinal "\s\+@\d\+" + +syn region defString start=+'+ end=+'+ + +syn match defNumber "\d+" +syn match defNumber "0x\x\+" + + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link defComment Comment +hi def link defKeyword Keyword +hi def link defStorage StorageClass +hi def link defString String +hi def link defNumber Number +hi def link defOrdinal Operator + + +let b:current_syntax = "def" + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/def.vim b/uvim/runtime/syntax/def.vim deleted file mode 100644 index a17714c41e..0000000000 --- a/uvim/runtime/syntax/def.vim +++ /dev/null @@ -1,44 +0,0 @@ -" Vim syntax file -" Language: Microsoft Module-Definition (.def) File -" Orig Author: Rob Brady -" Maintainer: Wu Yongwei -" Last Change: $Date: 2007/10/02 13:51:24 $ -" $Revision: 1.2 $ - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn case ignore - -syn match defComment ";.*" - -syn keyword defKeyword LIBRARY STUB EXETYPE DESCRIPTION CODE WINDOWS DOS -syn keyword defKeyword RESIDENTNAME PRIVATE EXPORTS IMPORTS SEGMENTS -syn keyword defKeyword HEAPSIZE DATA -syn keyword defStorage LOADONCALL MOVEABLE DISCARDABLE SINGLE -syn keyword defStorage FIXED PRELOAD - -syn match defOrdinal "\s\+@\d\+" - -syn region defString start=+'+ end=+'+ - -syn match defNumber "\d+" -syn match defNumber "0x\x\+" - - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link defComment Comment -hi def link defKeyword Keyword -hi def link defStorage StorageClass -hi def link defString String -hi def link defNumber Number -hi def link defOrdinal Operator - - -let b:current_syntax = "def" - -" vim: ts=8 diff --git a/uvim/runtime/syntax/denyhosts.mnv b/uvim/runtime/syntax/denyhosts.mnv new file mode 100644 index 0000000000..5ab86dcd5e --- /dev/null +++ b/uvim/runtime/syntax/denyhosts.mnv @@ -0,0 +1,289 @@ +" MNV syntax file +" Language: denyhosts configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2007-06-25 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn keyword denyhostsTodo + \ contained + \ TODO + \ FIXME + \ XXX + \ NOTE + +syn case ignore + +syn match denyhostsComment + \ contained + \ display + \ '#.*' + \ contains=denyhostsTodo, + \ @Spell + +syn match denyhostsBegin + \ display + \ '^' + \ nextgroup=@denyhostsSetting, + \ denyhostsComment + \ skipwhite + +syn cluster denyhostsSetting + \ contains=denyhostsStringSetting, + \ denyhostsBooleanSetting, + \ denyhostsPathSetting, + \ denyhostsNumericSetting, + \ denyhostsTimespecSetting, + \ denyhostsFormatSetting, + \ denyhostsRegexSetting + +syn keyword denyhostsStringSetting + \ contained + \ ADMIN_EMAIL + \ SMTP_HOST + \ SMTP_USERNAME + \ SMTP_PASSWORD + \ SMTP_FROM + \ SMTP_SUBJECT + \ BLOCK_SERVICE + \ nextgroup=denyhostsStringDelimiter + \ skipwhite + +syn keyword denyhostsBooleanSetting + \ contained + \ SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS + \ HOSTNAME_LOOKUP + \ SYSLOG_REPORT + \ RESET_ON_SUCCESS + \ SYNC_UPLOAD + \ SYNC_DOWNLOAD + \ ALLOWED_HOSTS_HOSTNAME_LOOKUP + \ nextgroup=denyhostsBooleanDelimiter + \ skipwhite + +syn keyword denyhostsPathSetting + \ contained + \ DAEMON_LOG + \ PLUGIN_DENY + \ PLUGIN_PURGE + \ SECURE_LOG + \ LOCK_FILE + \ HOSTS_DENY + \ WORK_DIR + \ nextgroup=denyhostsPathDelimiter + \ skipwhite + +syn keyword denyhostsNumericSetting + \ contained + \ SYNC_DOWNLOAD_THRESHOLD + \ SMTP_PORT + \ PURGE_THRESHOLD + \ DENY_THRESHOLD_INVALID + \ DENY_THRESHOLD_VALID + \ DENY_THRESHOLD_ROOT + \ DENY_THRESHOLD_RESTRICTED + \ nextgroup=denyhostsNumericDelimiter + \ skipwhite + +syn keyword denyhostsTimespecSetting + \ contained + \ DAEMON_SLEEP + \ DAEMON_PURGE + \ AGE_RESET_INVALID + \ AGE_RESET_VALID + \ AGE_RESET_ROOT + \ AGE_RESET_RESTRICTED + \ SYNC_INTERVAL + \ SYNC_DOWNLOAD_RESILIENCY + \ PURGE_DENY + \ nextgroup=denyhostsTimespecDelimiter + \ skipwhite + +syn keyword denyhostsFormatSetting + \ contained + \ DAEMON_LOG_TIME_FORMAT + \ DAEMON_LOG_MESSAGE_FORMAT + \ SMTP_DATE_FORMAT + \ nextgroup=denyhostsFormatDelimiter + \ skipwhite + +syn keyword denyhostsRegexSetting + \ contained + \ SSHD_FORMAT_REGEX + \ FAILED_ENTRY_REGEX + \ FAILED_ENTRY_REGEX2 + \ FAILED_ENTRY_REGEX3 + \ FAILED_ENTRY_REGEX4 + \ FAILED_ENTRY_REGEX5 + \ FAILED_ENTRY_REGEX6 + \ FAILED_ENTRY_REGEX7 + \ USERDEF_FAILED_ENTRY_REGEX + \ SUCCESSFUL_ENTRY_REGEX + \ nextgroup=denyhostsRegexDelimiter + \ skipwhite + +syn keyword denyhostURLSetting + \ contained + \ SYNC_SERVER + \ nextgroup=denyhostsURLDelimiter + \ skipwhite + +syn match denyhostsStringDelimiter + \ contained + \ display + \ '[:=]' + \ nextgroup=denyhostsString + \ skipwhite + +syn match denyhostsBooleanDelimiter + \ contained + \ display + \ '[:=]' + \ nextgroup=@denyhostsBoolean + \ skipwhite + +syn match denyhostsPathDelimiter + \ contained + \ display + \ '[:=]' + \ nextgroup=denyhostsPath + \ skipwhite + +syn match denyhostsNumericDelimiter + \ contained + \ display + \ '[:=]' + \ nextgroup=denyhostsNumber + \ skipwhite + +syn match denyhostsTimespecDelimiter + \ contained + \ display + \ '[:=]' + \ nextgroup=denyhostsTimespec + \ skipwhite + +syn match denyhostsFormatDelimiter + \ contained + \ display + \ '[:=]' + \ nextgroup=denyhostsFormat + \ skipwhite + +syn match denyhostsRegexDelimiter + \ contained + \ display + \ '[:=]' + \ nextgroup=denyhostsRegex + \ skipwhite + +syn match denyhostsURLDelimiter + \ contained + \ display + \ '[:=]' + \ nextgroup=denyhostsURL + \ skipwhite + +syn match denyhostsString + \ contained + \ display + \ '.\+' + +syn cluster denyhostsBoolean + \ contains=denyhostsBooleanTrue, + \ denyhostsBooleanFalse + +syn match denyhostsBooleanFalse + \ contained + \ display + \ '.\+' + +syn match denyhostsBooleanTrue + \ contained + \ display + \ '\s*\%(1\|t\%(rue\)\=\|y\%(es\)\=\)\>\s*$' + +syn match denyhostsPath + \ contained + \ display + \ '.\+' + +syn match denyhostsNumber + \ contained + \ display + \ '\d\+\>' + +syn match denyhostsTimespec + \ contained + \ display + \ '\d\+[mhdwy]\>' + +syn match denyhostsFormat + \ contained + \ display + \ '.\+' + \ contains=denyhostsFormattingExpandos + +syn match denyhostsFormattingExpandos + \ contained + \ display + \ '%.' + +syn match denyhostsRegex + \ contained + \ display + \ '.\+' + +" TODO: Perhaps come up with a better regex here? There should really be a +" library for these kinds of generic regexes, that is, URLs, mail addresses, … +syn match denyhostsURL + \ contained + \ display + \ '.\+' + +hi def link denyhostsTodo Todo +hi def link denyhostsComment Comment +hi def link denyhostsSetting Keyword +hi def link denyhostsStringSetting denyhostsSetting +hi def link denyhostsBooleanSetting denyhostsSetting +hi def link denyhostsPathSetting denyhostsSetting +hi def link denyhostsNumericSetting denyhostsSetting +hi def link denyhostsTimespecSetting denyhostsSetting +hi def link denyhostsFormatSetting denyhostsSetting +hi def link denyhostsRegexSetting denyhostsSetting +hi def link denyhostURLSetting denyhostsSetting +hi def link denyhostsDelimiter Normal +hi def link denyhostsStringDelimiter denyhostsDelimiter +hi def link denyhostsBooleanDelimiter denyhostsDelimiter +hi def link denyhostsPathDelimiter denyhostsDelimiter +hi def link denyhostsNumericDelimiter denyhostsDelimiter +hi def link denyhostsTimespecDelimiter denyhostsDelimiter +hi def link denyhostsFormatDelimiter denyhostsDelimiter +hi def link denyhostsRegexDelimiter denyhostsDelimiter +hi def link denyhostsURLDelimiter denyhostsDelimiter +hi def link denyhostsString String +if exists('g:syntax_booleans_simple') || exists('b:syntax_booleans_simple') + hi def link denyhostsBoolean Boolean + hi def link denyhostsBooleanFalse denyhostsBoolean + hi def link denyhostsBooleanTrue denyhostsBoolean +else + hi def denyhostsBooleanTrue term=bold ctermfg=Green guifg=Green + hi def denyhostsBooleanFalse ctermfg=Red guifg=Red +endif +hi def link denyhostsPath String +hi def link denyhostsNumber Number +hi def link denyhostsTimespec Number +hi def link denyhostsFormat String +hi def link denyhostsFormattingExpandos Special +hi def link denyhostsRegex String +hi def link denyhostsURL String + +let b:current_syntax = "denyhosts" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/denyhosts.vim b/uvim/runtime/syntax/denyhosts.vim deleted file mode 100644 index f32faab168..0000000000 --- a/uvim/runtime/syntax/denyhosts.vim +++ /dev/null @@ -1,289 +0,0 @@ -" Vim syntax file -" Language: denyhosts configuration file -" Previous Maintainer: Nikolai Weibull -" Latest Revision: 2007-06-25 - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn keyword denyhostsTodo - \ contained - \ TODO - \ FIXME - \ XXX - \ NOTE - -syn case ignore - -syn match denyhostsComment - \ contained - \ display - \ '#.*' - \ contains=denyhostsTodo, - \ @Spell - -syn match denyhostsBegin - \ display - \ '^' - \ nextgroup=@denyhostsSetting, - \ denyhostsComment - \ skipwhite - -syn cluster denyhostsSetting - \ contains=denyhostsStringSetting, - \ denyhostsBooleanSetting, - \ denyhostsPathSetting, - \ denyhostsNumericSetting, - \ denyhostsTimespecSetting, - \ denyhostsFormatSetting, - \ denyhostsRegexSetting - -syn keyword denyhostsStringSetting - \ contained - \ ADMIN_EMAIL - \ SMTP_HOST - \ SMTP_USERNAME - \ SMTP_PASSWORD - \ SMTP_FROM - \ SMTP_SUBJECT - \ BLOCK_SERVICE - \ nextgroup=denyhostsStringDelimiter - \ skipwhite - -syn keyword denyhostsBooleanSetting - \ contained - \ SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS - \ HOSTNAME_LOOKUP - \ SYSLOG_REPORT - \ RESET_ON_SUCCESS - \ SYNC_UPLOAD - \ SYNC_DOWNLOAD - \ ALLOWED_HOSTS_HOSTNAME_LOOKUP - \ nextgroup=denyhostsBooleanDelimiter - \ skipwhite - -syn keyword denyhostsPathSetting - \ contained - \ DAEMON_LOG - \ PLUGIN_DENY - \ PLUGIN_PURGE - \ SECURE_LOG - \ LOCK_FILE - \ HOSTS_DENY - \ WORK_DIR - \ nextgroup=denyhostsPathDelimiter - \ skipwhite - -syn keyword denyhostsNumericSetting - \ contained - \ SYNC_DOWNLOAD_THRESHOLD - \ SMTP_PORT - \ PURGE_THRESHOLD - \ DENY_THRESHOLD_INVALID - \ DENY_THRESHOLD_VALID - \ DENY_THRESHOLD_ROOT - \ DENY_THRESHOLD_RESTRICTED - \ nextgroup=denyhostsNumericDelimiter - \ skipwhite - -syn keyword denyhostsTimespecSetting - \ contained - \ DAEMON_SLEEP - \ DAEMON_PURGE - \ AGE_RESET_INVALID - \ AGE_RESET_VALID - \ AGE_RESET_ROOT - \ AGE_RESET_RESTRICTED - \ SYNC_INTERVAL - \ SYNC_DOWNLOAD_RESILIENCY - \ PURGE_DENY - \ nextgroup=denyhostsTimespecDelimiter - \ skipwhite - -syn keyword denyhostsFormatSetting - \ contained - \ DAEMON_LOG_TIME_FORMAT - \ DAEMON_LOG_MESSAGE_FORMAT - \ SMTP_DATE_FORMAT - \ nextgroup=denyhostsFormatDelimiter - \ skipwhite - -syn keyword denyhostsRegexSetting - \ contained - \ SSHD_FORMAT_REGEX - \ FAILED_ENTRY_REGEX - \ FAILED_ENTRY_REGEX2 - \ FAILED_ENTRY_REGEX3 - \ FAILED_ENTRY_REGEX4 - \ FAILED_ENTRY_REGEX5 - \ FAILED_ENTRY_REGEX6 - \ FAILED_ENTRY_REGEX7 - \ USERDEF_FAILED_ENTRY_REGEX - \ SUCCESSFUL_ENTRY_REGEX - \ nextgroup=denyhostsRegexDelimiter - \ skipwhite - -syn keyword denyhostURLSetting - \ contained - \ SYNC_SERVER - \ nextgroup=denyhostsURLDelimiter - \ skipwhite - -syn match denyhostsStringDelimiter - \ contained - \ display - \ '[:=]' - \ nextgroup=denyhostsString - \ skipwhite - -syn match denyhostsBooleanDelimiter - \ contained - \ display - \ '[:=]' - \ nextgroup=@denyhostsBoolean - \ skipwhite - -syn match denyhostsPathDelimiter - \ contained - \ display - \ '[:=]' - \ nextgroup=denyhostsPath - \ skipwhite - -syn match denyhostsNumericDelimiter - \ contained - \ display - \ '[:=]' - \ nextgroup=denyhostsNumber - \ skipwhite - -syn match denyhostsTimespecDelimiter - \ contained - \ display - \ '[:=]' - \ nextgroup=denyhostsTimespec - \ skipwhite - -syn match denyhostsFormatDelimiter - \ contained - \ display - \ '[:=]' - \ nextgroup=denyhostsFormat - \ skipwhite - -syn match denyhostsRegexDelimiter - \ contained - \ display - \ '[:=]' - \ nextgroup=denyhostsRegex - \ skipwhite - -syn match denyhostsURLDelimiter - \ contained - \ display - \ '[:=]' - \ nextgroup=denyhostsURL - \ skipwhite - -syn match denyhostsString - \ contained - \ display - \ '.\+' - -syn cluster denyhostsBoolean - \ contains=denyhostsBooleanTrue, - \ denyhostsBooleanFalse - -syn match denyhostsBooleanFalse - \ contained - \ display - \ '.\+' - -syn match denyhostsBooleanTrue - \ contained - \ display - \ '\s*\%(1\|t\%(rue\)\=\|y\%(es\)\=\)\>\s*$' - -syn match denyhostsPath - \ contained - \ display - \ '.\+' - -syn match denyhostsNumber - \ contained - \ display - \ '\d\+\>' - -syn match denyhostsTimespec - \ contained - \ display - \ '\d\+[mhdwy]\>' - -syn match denyhostsFormat - \ contained - \ display - \ '.\+' - \ contains=denyhostsFormattingExpandos - -syn match denyhostsFormattingExpandos - \ contained - \ display - \ '%.' - -syn match denyhostsRegex - \ contained - \ display - \ '.\+' - -" TODO: Perhaps come up with a better regex here? There should really be a -" library for these kinds of generic regexes, that is, URLs, mail addresses, … -syn match denyhostsURL - \ contained - \ display - \ '.\+' - -hi def link denyhostsTodo Todo -hi def link denyhostsComment Comment -hi def link denyhostsSetting Keyword -hi def link denyhostsStringSetting denyhostsSetting -hi def link denyhostsBooleanSetting denyhostsSetting -hi def link denyhostsPathSetting denyhostsSetting -hi def link denyhostsNumericSetting denyhostsSetting -hi def link denyhostsTimespecSetting denyhostsSetting -hi def link denyhostsFormatSetting denyhostsSetting -hi def link denyhostsRegexSetting denyhostsSetting -hi def link denyhostURLSetting denyhostsSetting -hi def link denyhostsDelimiter Normal -hi def link denyhostsStringDelimiter denyhostsDelimiter -hi def link denyhostsBooleanDelimiter denyhostsDelimiter -hi def link denyhostsPathDelimiter denyhostsDelimiter -hi def link denyhostsNumericDelimiter denyhostsDelimiter -hi def link denyhostsTimespecDelimiter denyhostsDelimiter -hi def link denyhostsFormatDelimiter denyhostsDelimiter -hi def link denyhostsRegexDelimiter denyhostsDelimiter -hi def link denyhostsURLDelimiter denyhostsDelimiter -hi def link denyhostsString String -if exists('g:syntax_booleans_simple') || exists('b:syntax_booleans_simple') - hi def link denyhostsBoolean Boolean - hi def link denyhostsBooleanFalse denyhostsBoolean - hi def link denyhostsBooleanTrue denyhostsBoolean -else - hi def denyhostsBooleanTrue term=bold ctermfg=Green guifg=Green - hi def denyhostsBooleanFalse ctermfg=Red guifg=Red -endif -hi def link denyhostsPath String -hi def link denyhostsNumber Number -hi def link denyhostsTimespec Number -hi def link denyhostsFormat String -hi def link denyhostsFormattingExpandos Special -hi def link denyhostsRegex String -hi def link denyhostsURL String - -let b:current_syntax = "denyhosts" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/dep3patch.mnv b/uvim/runtime/syntax/dep3patch.mnv new file mode 100644 index 0000000000..f7ae95a614 --- /dev/null +++ b/uvim/runtime/syntax/dep3patch.mnv @@ -0,0 +1,57 @@ +" MNV syntax file +" Language: Debian DEP3 Patch headers +" Maintainer: Gabriel Filion +" Last Change: 2023 Jan 16 +" URL: https://salsa.debian.org/mnv-team/mnv-debian/blob/main/syntax/dep3patch.mnv +" +" Specification of the DEP3 patch header format is available at: +" https://dep-team.pages.debian.net/deps/dep3/ + +" Standard syntax initialization +if exists('b:current_syntax') + finish +endif + +runtime! syntax/diff.mnv +unlet! b:current_syntax + +let s:cpo_save = &cpo +set cpo&mnv + +syn region dep3patchHeaders start="\%^" end="^\%(---\)\@=" contains=dep3patchKey,dep3patchMultiField + +syn case ignore + +syn region dep3patchMultiField matchgroup=dep3patchKey start="^\%(Description\|Subject\)\ze: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contained contains=@Spell +syn region dep3patchMultiField matchgroup=dep3patchKey start="^Origin\ze: *" end="$" contained contains=dep3patchHTTPUrl,dep3patchCommitID,dep3patchOriginCategory oneline keepend +syn region dep3patchMultiField matchgroup=dep3patchKey start="^Bug\%(-[[:graph:]]\+\)\?\ze: *" end="$" contained contains=dep3patchHTTPUrl oneline keepend +syn region dep3patchMultiField matchgroup=dep3patchKey start="^Forwarded\ze: *" end="$" contained contains=dep3patchHTTPUrl,dep3patchForwardedShort oneline keepend +syn region dep3patchMultiField matchgroup=dep3patchKey start="^\%(Author\|From\)\ze: *" end="$" contained contains=dep3patchEmail oneline keepend +syn region dep3patchMultiField matchgroup=dep3patchKey start="^\%(Reviewed-by\|Acked-by\)\ze: *" end="$" contained contains=dep3patchEmail oneline keepend +syn region dep3patchMultiField matchgroup=dep3patchKey start="^Last-Update\ze: *" end="$" contained contains=dep3patchISODate oneline keepend +syn region dep3patchMultiField matchgroup=dep3patchKey start="^Applied-Upstream\ze: *" end="$" contained contains=dep3patchHTTPUrl,dep3patchCommitID oneline keepend + +syn match dep3patchHTTPUrl contained "\vhttps?://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$" +syn match dep3patchCommitID contained "commit:[[:alnum:]]\+" +syn match dep3patchOriginCategory contained "\%(upstream\|backport\|vendor\|other\), " +syn match dep3patchForwardedShort contained "\%(yes\|no\|not-needed\), " +syn match dep3patchEmail "[_=[:alnum:]\.+-]\+@[[:alnum:]\./\-]\+" +syn match dep3patchEmail "<.\{-}>" +syn match dep3patchISODate "[[:digit:]]\{4}-[[:digit:]]\{2}-[[:digit:]]\{2}" + +" Associate our matches and regions with pretty colours +hi def link dep3patchKey Keyword +hi def link dep3patchOriginCategory Keyword +hi def link dep3patchForwardedShort Keyword +hi def link dep3patchMultiField Normal +hi def link dep3patchHTTPUrl Identifier +hi def link dep3patchCommitID Identifier +hi def link dep3patchEmail Identifier +hi def link dep3patchISODate Identifier + +let b:current_syntax = 'dep3patch' + +let &cpo = s:cpo_save +unlet s:cpo_save + +" mnv: ts=8 sw=2 diff --git a/uvim/runtime/syntax/dep3patch.vim b/uvim/runtime/syntax/dep3patch.vim deleted file mode 100644 index c00bddfde2..0000000000 --- a/uvim/runtime/syntax/dep3patch.vim +++ /dev/null @@ -1,57 +0,0 @@ -" Vim syntax file -" Language: Debian DEP3 Patch headers -" Maintainer: Gabriel Filion -" Last Change: 2023 Jan 16 -" URL: https://salsa.debian.org/vim-team/vim-debian/blob/main/syntax/dep3patch.vim -" -" Specification of the DEP3 patch header format is available at: -" https://dep-team.pages.debian.net/deps/dep3/ - -" Standard syntax initialization -if exists('b:current_syntax') - finish -endif - -runtime! syntax/diff.vim -unlet! b:current_syntax - -let s:cpo_save = &cpo -set cpo&vim - -syn region dep3patchHeaders start="\%^" end="^\%(---\)\@=" contains=dep3patchKey,dep3patchMultiField - -syn case ignore - -syn region dep3patchMultiField matchgroup=dep3patchKey start="^\%(Description\|Subject\)\ze: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contained contains=@Spell -syn region dep3patchMultiField matchgroup=dep3patchKey start="^Origin\ze: *" end="$" contained contains=dep3patchHTTPUrl,dep3patchCommitID,dep3patchOriginCategory oneline keepend -syn region dep3patchMultiField matchgroup=dep3patchKey start="^Bug\%(-[[:graph:]]\+\)\?\ze: *" end="$" contained contains=dep3patchHTTPUrl oneline keepend -syn region dep3patchMultiField matchgroup=dep3patchKey start="^Forwarded\ze: *" end="$" contained contains=dep3patchHTTPUrl,dep3patchForwardedShort oneline keepend -syn region dep3patchMultiField matchgroup=dep3patchKey start="^\%(Author\|From\)\ze: *" end="$" contained contains=dep3patchEmail oneline keepend -syn region dep3patchMultiField matchgroup=dep3patchKey start="^\%(Reviewed-by\|Acked-by\)\ze: *" end="$" contained contains=dep3patchEmail oneline keepend -syn region dep3patchMultiField matchgroup=dep3patchKey start="^Last-Update\ze: *" end="$" contained contains=dep3patchISODate oneline keepend -syn region dep3patchMultiField matchgroup=dep3patchKey start="^Applied-Upstream\ze: *" end="$" contained contains=dep3patchHTTPUrl,dep3patchCommitID oneline keepend - -syn match dep3patchHTTPUrl contained "\vhttps?://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$" -syn match dep3patchCommitID contained "commit:[[:alnum:]]\+" -syn match dep3patchOriginCategory contained "\%(upstream\|backport\|vendor\|other\), " -syn match dep3patchForwardedShort contained "\%(yes\|no\|not-needed\), " -syn match dep3patchEmail "[_=[:alnum:]\.+-]\+@[[:alnum:]\./\-]\+" -syn match dep3patchEmail "<.\{-}>" -syn match dep3patchISODate "[[:digit:]]\{4}-[[:digit:]]\{2}-[[:digit:]]\{2}" - -" Associate our matches and regions with pretty colours -hi def link dep3patchKey Keyword -hi def link dep3patchOriginCategory Keyword -hi def link dep3patchForwardedShort Keyword -hi def link dep3patchMultiField Normal -hi def link dep3patchHTTPUrl Identifier -hi def link dep3patchCommitID Identifier -hi def link dep3patchEmail Identifier -hi def link dep3patchISODate Identifier - -let b:current_syntax = 'dep3patch' - -let &cpo = s:cpo_save -unlet s:cpo_save - -" vim: ts=8 sw=2 diff --git a/uvim/runtime/syntax/desc.mnv b/uvim/runtime/syntax/desc.mnv new file mode 100644 index 0000000000..4306cacce5 --- /dev/null +++ b/uvim/runtime/syntax/desc.mnv @@ -0,0 +1,88 @@ +" MNV syntax file +" Language: T2 / ROCK Linux .desc +" Maintainer: RenĂ© Rebe , Piotr Esden-Tempski +" Last Change: 2006 Aug 14 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" syntax definitions + +setl iskeyword+=- +syn keyword descFlag DIETLIBC KAFFE JAIL NOPARALLEL FPIC-QUIRK LIBTOOL-WUIRK NO-LIBTOOL-FIX AUTOMAKE-QUIRK NO-AS-NEEDED NO-SSP KERNEL INIT LIBC CC CXX F77 KCC contained +syn keyword descLicense Unknown GPL LGPL FDL MIT BSD OpenSource Free-to-use Commercial contained + +" tags +syn match descTag /^\[\(COPY\)\]/ +syn match descTag /^\[\(I\|TITLE\)\]/ +syn match descTag /^\[\(T\|TEXT\)\]/ contained +syn match descTag /^\[\(U\|URL\)\]/ +syn match descTag /^\[\(A\|AUTHOR\)\]/ +syn match descTag /^\[\(M\|MAINTAINER\)\]/ +syn match descTag /^\[\(C\|CATEGORY\)\]/ contained +syn match descTag /^\[\(F\|FLAG\)\]/ contained +syn match descTag /^\[\(E\|DEP\|DEPENDENCY\)\]/ +syn match descTag /^\[\(R\|ARCH\|ARCHITECTURE\)\]/ +syn match descTag /^\[\(L\|LICENSE\)\]/ contained +syn match descTag /^\[\(S\|STATUS\)\]/ +syn match descTag /^\[\(O\|CONF\)\]/ +syn match descTag /^\[\(V\|VER\|VERSION\)\]/ +syn match descTag /^\[\(P\|PRI\|PRIORITY\)\]/ nextgroup=descInstall skipwhite +syn match descTag /^\[\(D\|DOWN\|DOWNLOAD\)\]/ nextgroup=descSum skipwhite + +" misc +syn match descUrl /\w\+:\/\/\S\+/ +syn match descCategory /\w\+\/\w\+/ contained +syn match descEmail /<[\.A-Za-z0-9]\+@[\.A-Za-z0-9]\+>/ + +" priority tag +syn match descInstallX /X/ contained +syn match descInstallO /O/ contained +syn match descInstall /[OX]/ contained contains=descInstallX,descInstallO nextgroup=descStage skipwhite +syn match descDash /-/ contained +syn match descDigit /\d/ contained +syn match descStage /[\-0][\-1][\-2][\-3][\-4][\-5][\-6][\-7][\-8][\-9]/ contained contains=descDash,descDigit nextgroup=descCompilePriority skipwhite +syn match descCompilePriority /\d\{3}\.\d\{3}/ contained + +" download tag +syn match descSum /\d\+/ contained nextgroup=descTarball skipwhite +syn match descTarball /\S\+/ contained nextgroup=descUrl skipwhite + + +" tag regions +syn region descText start=/^\[\(T\|TEXT\)\]/ end=/$/ contains=descTag,descUrl,descEmail + +syn region descTagRegion start=/^\[\(C\|CATEGORY\)\]/ end=/$/ contains=descTag,descCategory + +syn region descTagRegion start=/^\[\(F\|FLAG\)\]/ end=/$/ contains=descTag,descFlag + +syn region descTagRegion start=/^\[\(L\|LICENSE\)\]/ end=/$/ contains=descTag,descLicense + +" Only when an item doesn't have highlighting yet + +hi def link descFlag Identifier +hi def link descLicense Identifier +hi def link descCategory Identifier + +hi def link descTag Type +hi def link descUrl Underlined +hi def link descEmail Underlined + +" priority tag colors +hi def link descInstallX Boolean +hi def link descInstallO Type +hi def link descDash Operator +hi def link descDigit Number +hi def link descCompilePriority Number + +" download tag colors +hi def link descSum Number +hi def link descTarball Underlined + +" tag region colors +hi def link descText Comment + + +let b:current_syntax = "desc" diff --git a/uvim/runtime/syntax/desc.vim b/uvim/runtime/syntax/desc.vim deleted file mode 100644 index 84b9cd0f34..0000000000 --- a/uvim/runtime/syntax/desc.vim +++ /dev/null @@ -1,88 +0,0 @@ -" Vim syntax file -" Language: T2 / ROCK Linux .desc -" Maintainer: RenĂ© Rebe , Piotr Esden-Tempski -" Last Change: 2006 Aug 14 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" syntax definitions - -setl iskeyword+=- -syn keyword descFlag DIETLIBC KAFFE JAIL NOPARALLEL FPIC-QUIRK LIBTOOL-WUIRK NO-LIBTOOL-FIX AUTOMAKE-QUIRK NO-AS-NEEDED NO-SSP KERNEL INIT LIBC CC CXX F77 KCC contained -syn keyword descLicense Unknown GPL LGPL FDL MIT BSD OpenSource Free-to-use Commercial contained - -" tags -syn match descTag /^\[\(COPY\)\]/ -syn match descTag /^\[\(I\|TITLE\)\]/ -syn match descTag /^\[\(T\|TEXT\)\]/ contained -syn match descTag /^\[\(U\|URL\)\]/ -syn match descTag /^\[\(A\|AUTHOR\)\]/ -syn match descTag /^\[\(M\|MAINTAINER\)\]/ -syn match descTag /^\[\(C\|CATEGORY\)\]/ contained -syn match descTag /^\[\(F\|FLAG\)\]/ contained -syn match descTag /^\[\(E\|DEP\|DEPENDENCY\)\]/ -syn match descTag /^\[\(R\|ARCH\|ARCHITECTURE\)\]/ -syn match descTag /^\[\(L\|LICENSE\)\]/ contained -syn match descTag /^\[\(S\|STATUS\)\]/ -syn match descTag /^\[\(O\|CONF\)\]/ -syn match descTag /^\[\(V\|VER\|VERSION\)\]/ -syn match descTag /^\[\(P\|PRI\|PRIORITY\)\]/ nextgroup=descInstall skipwhite -syn match descTag /^\[\(D\|DOWN\|DOWNLOAD\)\]/ nextgroup=descSum skipwhite - -" misc -syn match descUrl /\w\+:\/\/\S\+/ -syn match descCategory /\w\+\/\w\+/ contained -syn match descEmail /<[\.A-Za-z0-9]\+@[\.A-Za-z0-9]\+>/ - -" priority tag -syn match descInstallX /X/ contained -syn match descInstallO /O/ contained -syn match descInstall /[OX]/ contained contains=descInstallX,descInstallO nextgroup=descStage skipwhite -syn match descDash /-/ contained -syn match descDigit /\d/ contained -syn match descStage /[\-0][\-1][\-2][\-3][\-4][\-5][\-6][\-7][\-8][\-9]/ contained contains=descDash,descDigit nextgroup=descCompilePriority skipwhite -syn match descCompilePriority /\d\{3}\.\d\{3}/ contained - -" download tag -syn match descSum /\d\+/ contained nextgroup=descTarball skipwhite -syn match descTarball /\S\+/ contained nextgroup=descUrl skipwhite - - -" tag regions -syn region descText start=/^\[\(T\|TEXT\)\]/ end=/$/ contains=descTag,descUrl,descEmail - -syn region descTagRegion start=/^\[\(C\|CATEGORY\)\]/ end=/$/ contains=descTag,descCategory - -syn region descTagRegion start=/^\[\(F\|FLAG\)\]/ end=/$/ contains=descTag,descFlag - -syn region descTagRegion start=/^\[\(L\|LICENSE\)\]/ end=/$/ contains=descTag,descLicense - -" Only when an item doesn't have highlighting yet - -hi def link descFlag Identifier -hi def link descLicense Identifier -hi def link descCategory Identifier - -hi def link descTag Type -hi def link descUrl Underlined -hi def link descEmail Underlined - -" priority tag colors -hi def link descInstallX Boolean -hi def link descInstallO Type -hi def link descDash Operator -hi def link descDigit Number -hi def link descCompilePriority Number - -" download tag colors -hi def link descSum Number -hi def link descTarball Underlined - -" tag region colors -hi def link descText Comment - - -let b:current_syntax = "desc" diff --git a/uvim/runtime/syntax/desktop.mnv b/uvim/runtime/syntax/desktop.mnv new file mode 100644 index 0000000000..83974c5baa --- /dev/null +++ b/uvim/runtime/syntax/desktop.mnv @@ -0,0 +1,267 @@ +" MNV syntax file +" Language: XDG desktop entry +" Filenames: *.desktop, *.directory +" Maintainer: Eisuke Kawashima ( e.kawaschima+mnv AT gmail.com ) +" Previous Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl ) +" Last Change: 2022 Sep 22 +" Version Info: desktop.mnv 1.5 +" References: +" - https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.5.html (2020-04-27) +" - https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-0.11.html (2006-02-07) + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv +syn case match + +" Variable {{{1 +" This syntax file can be used to all *nix configuration files similar to dos +" ini format (eg. .xawtv, .radio, kde rc files) - this is default mode. +" By default strict following of freedesktop.org standard is enforced. +" To highlight nonstandard extensions that does not begin with X-, set +" let g:desktop_enable_nonstd = v:true +" Note that this may cause wrong highlight. +" To highlight KDE-reserved features, set +" let g:desktop_enable_kde = v:true +" g:desktop_enable_kde follows g:desktop_enable_nonstd if not supplied + +if exists("g:desktop_enable_nonstd") && g:desktop_enable_nonstd + let s:desktop_enable_nonstd = v:true +else + let s:desktop_enable_nonstd = v:false +endif + +if exists("g:desktop_enable_kde") && g:desktop_enable_kde || s:desktop_enable_nonstd + let s:desktop_enable_kde = v:true +else + let s:desktop_enable_kde = v:false +endif + +" Comment {{{1 +syn match dtComment /^#.*$/ + +" Error {{{1 +syn match dtError /\%(^\s.*\|\s\+$\)/ + +" Group Header {{{1 +" ASCII printable characters except for brackets [ (0x5B) and ] (0x5D) +syn match dtGroup /^\[[\x20-\x5A\x5C\x5E-\x7E]\+\]$/ + +" Entries {{{1 +syn match dtDelim /=/ contained +" lang_territory.codeset@modifier +syn match dtLocaleSuffix + \ /\[\%(C\|POSIX\|[a-z]\{2,4}\%(_[A-Z0-9]\{2,3}\)\?\)\%(\.[A-Za-z0-9_-]\+\)\?\%(@[A-Za-z]\+\)\?\]\ze\s*=/ + \ contained + +" Boolean Value {{{2 +syn match dtBoolean + \ /^\%(DBusActivatable\|Hidden\|NoDisplay\|PrefersNonDefaultGPU\|SingleMainWindow\|StartupNotify\|Terminal\)\s*=\s*\%(true\|false\)/ + \ contains=dtBooleanKey,dtDelim,dtBooleanValue transparent +syn keyword dtBooleanKey + \ DBusActivatable Hidden NoDisplay PrefersNonDefaultGPU SingleMainWindow StartupNotify Terminal + \ contained nextgroup=dtDelim + +if s:desktop_enable_kde + syn match dtBoolean + \ /^ReadOnly\s*=\s*\%(true\|false\)/ + \ contains=dtBooleanKey,dtDelim,dtBooleanValue transparent + syn keyword dtBooleanKey + \ ReadOnly + \ contained nextgroup=dtDelim +endif +syn keyword dtBooleanValue true false contained + +" Numeric Value {{{2 +" icon theme +syn match dtNumeric /^\%(MaxSize\|MinSize\|Size\|Threshold\)\s*=\s*\d\+/ contains=dtNumericKey,dtDelim,dtNumericDecimal +syn keyword dtNumericKey + \ MaxSize MinSize Size Threshold + \ contained nextgroup=dtDelim + +if s:desktop_enable_kde + syn match dtNumeric /^InitialPreference\s*=\s*\d\+/ contains=dtNumericKey,dtDelim,dtNumericDecimal + syn keyword dtNumericKey + \ InitialPreference + \ contained nextgroup=dtDelim +endif + +syn match dtNumericDecimal /\<\d\+$/ contained + +" String Value {{{2 +syn match dtString + \ /^\%(Actions\|Implements\|MimeType\|NotShowIn\|OnlyShowIn\|Path\|StartupWMClass\|URL\)\s*=.*\S/ + \ contains=dtStringKey,dtDelim transparent +syn keyword dtStringKey + \ Actions Implements MimeType NotShowIn OnlyShowIn Path StartupWMClass URL Version + \ contained nextgroup=dtDelim + +" icon theme +syn match dtString + \ /^\%(Context\|Directories\|Example\|Inherits\)\s*=.*\S/ + \ contains=dtStringKey,dtDelim transparent +syn keyword dtStringKey + \ Context Directories Example Inherits + \ contained nextgroup=dtDelim + +if s:desktop_enable_kde + syn match dtString + \ /^\%(Dev\|DocPath\|FSType\|MountPoint\|ServiceTypes\)\s*=.*\S/ + \ contains=dtStringKey,dtDelim transparent + syn keyword dtStringKey + \ Dev DocPath FSType MountPoint ServiceTypes + \ contained nextgroup=dtDelim +endif + +" Categories {{{3 +" https://specifications.freedesktop.org/menu-spec/menu-spec-1.0.html#category-registry +syn match dtCategories /^Categories\s*=.\+\S/ contains=dtCategoriesKey,dtDelim,dtCategoriesValue transparent +syn keyword dtCategoriesKey + \ Categories + \ contained nextgroup=dtDelim + +" Main Categories +syn keyword dtCategoriesValue + \ Audio AudioVideo Development Education Game Graphics Network Office + \ Settings System Utility Video + \ contained + +" Additional Categories +syn keyword dtCategoriesValue + \ BoardGame Chat Clock Geoscience Presentation 2DGraphics 3DGraphics + \ Accessibility ActionGame AdventureGame Amusement ArcadeGame Archiving + \ Art ArtificialIntelligence Astronomy AudioVideoEditing Biology + \ BlocksGame BoardGame Building Calculator Calendar CardGame Chart Chat + \ Chemistry Clock Compression ComputerScience ConsoleOnly Construction + \ ContactManagement Core DataVisualization Database Debugger + \ DesktopSettings Dialup Dictionary DiscBurning Documentation Economy + \ Electricity Electronics Email Emulator Engineering FileManager + \ FileTools FileTransfer Filesystem Finance FlowChart GNOME GTK + \ GUIDesigner Geography Geology Geoscience HamRadio HardwareSettings + \ History IDE IRCClient ImageProcessing InstantMessaging Java KDE + \ KidsGame Languages Literature LogicGame Math MedicalSoftware Midi + \ Mixer Monitor Motif Music News NumericalAnalysis OCR P2P PDA + \ PackageManager ParallelComputing Photography Physics Player + \ Presentation Printing Profiling ProjectManagement Publishing Qt + \ RasterGraphics Recorder RemoteAccess RevisionControl Robotics + \ RolePlaying Scanning Science Security Sequencer Simulation Sports + \ SportsGame Spreadsheet StrategyGame TV Telephony TelephonyTools + \ TerminalEmulator TextEditor TextTools Translation Tuner VectorGraphics + \ VideoConference Viewer WebBrowser WebDevelopment WordProcessor + \ contained + +" Reserved Category +syn keyword dtCategoriesValue + \ Applet Screensaver Shell TrayIcon + \ contained + +" Exec/TryExec {{{3 +syn match dtExec /^\%(Exec\|TryExec\)\s*=.\+\S/ contains=dtExecKey,dtDelim,dtExecParam transparent +syn keyword dtExecKey + \ Exec TryExec + \ contained nextgroup=dtDelim +" code for file(s), URL(s), etc +syn match dtExecParam /\s\zs%[fFuUick]\ze\%(\W\|$\)/ contained + +" Type {{{3 +syn match dtType /^Type\s*=\s*\S\+/ contains=dtTypeKey,dtDelim,dtTypeValue transparent +syn keyword dtTypeKey + \ Type + \ contained nextgroup=dtDelim +syn keyword dtTypeValue + \ Application Directory Link + \ contained + +if s:desktop_enable_kde + syn keyword dtTypeValue + \ FSDevice Service ServiceType + \ contained +endif + + +" Version {{{3 +syn match dtVersion /^Version\s*=\s*\S\+/ contains=dtVersionKey,dtDelim,dtVersionValue transparent +syn keyword dtVersionKey + \ Version + \ contained nextgroup=dtDelim +syn match dtVersionValue /[0-9]\+\%(\.[0-9]\+\)\{1,2}$/ contained + +" Localestring Value {{{2 +syn match dtLocalestring + \ /^\%(Comment\|GenericName\|Keywords\|Name\)\%(\[.\{-}\]\)\?\s*=.*\S/ + \ contains=dtLocalestringKey,dtLocaleSuffix,dtDelim transparent +syn keyword dtLocalestringKey + \ Comment GenericName Keywords Name + \ contained nextgroup=dtLocaleSuffix,dtDelim skipwhite + +" Iconstring Value {{{2 +syn match dtIconstring + \ /^Icon\s*=.*\S/ + \ contains=dtIconstringKey,dtDelim transparent +syn keyword dtIconstringKey + \ Icon + \ contained nextgroup=dtDelim skipwhite + +if s:desktop_enable_kde + syn match dtIconstring + \ /^UnmountIcon\>\%(\[.\{-}\]\)\?\s*=.*\S/ + \ contains=dtIconstringKey,dtLocaleSuffix,dtDelim transparent + syn keyword dtIconstringKey + \ UnmountIcon + \ contained nextgroup=dtLocaleSuffix,dtDelim skipwhite +endif + +" X-Extension {{{2 +syn match dtXExtension /^X-[0-9A-Za-z-]*\%(\[.\{-}\]\)\?\s*=.*\S/ + \ contains=dtXExtensionKey,dtLocaleSuffix,dtDelim transparent +syn match dtXExtensionKey /^X-[0-9A-Za-z-]*/ contained nextgroup=dtLocaleSuffix,dtDelim + +" non standard {{{2 +if s:desktop_enable_nonstd + syn match dtNonStdLabel /^[0-9A-Za-z-]\+\%(\[.\{-}\]\)\?\s*=.*\S/ + \ contains=dtNonStdLabelKey,dtLocaleSuffix,dtDelim transparent + syn match dtNonStdLabelKey /^[0-9A-Za-z-]\+/ contained nextgroup=dtLocaleSuffix,dtDelim +endif + +" Highlight {{{1 +hi def link dtComment Comment +hi def link dtError Error + +hi def link dtGroup Special + +hi def link dtDelim Delimiter +hi def link dtLocaleSuffix Identifier + +hi def link dtBooleanKey Type +hi def link dtBooleanValue Boolean + +hi def link dtNumericKey Type +hi def link dtNumericDecimal Number + +hi def link dtStringKey Type +hi def link dtCategoriesKey Type +hi def link dtCategoriesValue Constant +hi def link dtExecKey Type +hi def link dtExecParam Special +hi def link dtTypeKey Type +hi def link dtTypeValue Constant +hi def link dtVersionKey Type +hi def link dtVersionValue Constant + +hi def link dtLocalestringKey Type + +hi def link dtIconStringKey Type + +hi def link dtXExtensionKey Type + +hi def link dtNonStdLabelKey Type + +" Clean Up {{{1 +let b:current_syntax = "desktop" +let &cpo = s:cpo_save + +" mnv:ts=8:sw=2:fdm=marker diff --git a/uvim/runtime/syntax/desktop.vim b/uvim/runtime/syntax/desktop.vim deleted file mode 100644 index 461ba855b9..0000000000 --- a/uvim/runtime/syntax/desktop.vim +++ /dev/null @@ -1,267 +0,0 @@ -" Vim syntax file -" Language: XDG desktop entry -" Filenames: *.desktop, *.directory -" Maintainer: Eisuke Kawashima ( e.kawaschima+vim AT gmail.com ) -" Previous Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl ) -" Last Change: 2022 Sep 22 -" Version Info: desktop.vim 1.5 -" References: -" - https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.5.html (2020-04-27) -" - https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-0.11.html (2006-02-07) - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim -syn case match - -" Variable {{{1 -" This syntax file can be used to all *nix configuration files similar to dos -" ini format (eg. .xawtv, .radio, kde rc files) - this is default mode. -" By default strict following of freedesktop.org standard is enforced. -" To highlight nonstandard extensions that does not begin with X-, set -" let g:desktop_enable_nonstd = v:true -" Note that this may cause wrong highlight. -" To highlight KDE-reserved features, set -" let g:desktop_enable_kde = v:true -" g:desktop_enable_kde follows g:desktop_enable_nonstd if not supplied - -if exists("g:desktop_enable_nonstd") && g:desktop_enable_nonstd - let s:desktop_enable_nonstd = v:true -else - let s:desktop_enable_nonstd = v:false -endif - -if exists("g:desktop_enable_kde") && g:desktop_enable_kde || s:desktop_enable_nonstd - let s:desktop_enable_kde = v:true -else - let s:desktop_enable_kde = v:false -endif - -" Comment {{{1 -syn match dtComment /^#.*$/ - -" Error {{{1 -syn match dtError /\%(^\s.*\|\s\+$\)/ - -" Group Header {{{1 -" ASCII printable characters except for brackets [ (0x5B) and ] (0x5D) -syn match dtGroup /^\[[\x20-\x5A\x5C\x5E-\x7E]\+\]$/ - -" Entries {{{1 -syn match dtDelim /=/ contained -" lang_territory.codeset@modifier -syn match dtLocaleSuffix - \ /\[\%(C\|POSIX\|[a-z]\{2,4}\%(_[A-Z0-9]\{2,3}\)\?\)\%(\.[A-Za-z0-9_-]\+\)\?\%(@[A-Za-z]\+\)\?\]\ze\s*=/ - \ contained - -" Boolean Value {{{2 -syn match dtBoolean - \ /^\%(DBusActivatable\|Hidden\|NoDisplay\|PrefersNonDefaultGPU\|SingleMainWindow\|StartupNotify\|Terminal\)\s*=\s*\%(true\|false\)/ - \ contains=dtBooleanKey,dtDelim,dtBooleanValue transparent -syn keyword dtBooleanKey - \ DBusActivatable Hidden NoDisplay PrefersNonDefaultGPU SingleMainWindow StartupNotify Terminal - \ contained nextgroup=dtDelim - -if s:desktop_enable_kde - syn match dtBoolean - \ /^ReadOnly\s*=\s*\%(true\|false\)/ - \ contains=dtBooleanKey,dtDelim,dtBooleanValue transparent - syn keyword dtBooleanKey - \ ReadOnly - \ contained nextgroup=dtDelim -endif -syn keyword dtBooleanValue true false contained - -" Numeric Value {{{2 -" icon theme -syn match dtNumeric /^\%(MaxSize\|MinSize\|Size\|Threshold\)\s*=\s*\d\+/ contains=dtNumericKey,dtDelim,dtNumericDecimal -syn keyword dtNumericKey - \ MaxSize MinSize Size Threshold - \ contained nextgroup=dtDelim - -if s:desktop_enable_kde - syn match dtNumeric /^InitialPreference\s*=\s*\d\+/ contains=dtNumericKey,dtDelim,dtNumericDecimal - syn keyword dtNumericKey - \ InitialPreference - \ contained nextgroup=dtDelim -endif - -syn match dtNumericDecimal /\<\d\+$/ contained - -" String Value {{{2 -syn match dtString - \ /^\%(Actions\|Implements\|MimeType\|NotShowIn\|OnlyShowIn\|Path\|StartupWMClass\|URL\)\s*=.*\S/ - \ contains=dtStringKey,dtDelim transparent -syn keyword dtStringKey - \ Actions Implements MimeType NotShowIn OnlyShowIn Path StartupWMClass URL Version - \ contained nextgroup=dtDelim - -" icon theme -syn match dtString - \ /^\%(Context\|Directories\|Example\|Inherits\)\s*=.*\S/ - \ contains=dtStringKey,dtDelim transparent -syn keyword dtStringKey - \ Context Directories Example Inherits - \ contained nextgroup=dtDelim - -if s:desktop_enable_kde - syn match dtString - \ /^\%(Dev\|DocPath\|FSType\|MountPoint\|ServiceTypes\)\s*=.*\S/ - \ contains=dtStringKey,dtDelim transparent - syn keyword dtStringKey - \ Dev DocPath FSType MountPoint ServiceTypes - \ contained nextgroup=dtDelim -endif - -" Categories {{{3 -" https://specifications.freedesktop.org/menu-spec/menu-spec-1.0.html#category-registry -syn match dtCategories /^Categories\s*=.\+\S/ contains=dtCategoriesKey,dtDelim,dtCategoriesValue transparent -syn keyword dtCategoriesKey - \ Categories - \ contained nextgroup=dtDelim - -" Main Categories -syn keyword dtCategoriesValue - \ Audio AudioVideo Development Education Game Graphics Network Office - \ Settings System Utility Video - \ contained - -" Additional Categories -syn keyword dtCategoriesValue - \ BoardGame Chat Clock Geoscience Presentation 2DGraphics 3DGraphics - \ Accessibility ActionGame AdventureGame Amusement ArcadeGame Archiving - \ Art ArtificialIntelligence Astronomy AudioVideoEditing Biology - \ BlocksGame BoardGame Building Calculator Calendar CardGame Chart Chat - \ Chemistry Clock Compression ComputerScience ConsoleOnly Construction - \ ContactManagement Core DataVisualization Database Debugger - \ DesktopSettings Dialup Dictionary DiscBurning Documentation Economy - \ Electricity Electronics Email Emulator Engineering FileManager - \ FileTools FileTransfer Filesystem Finance FlowChart GNOME GTK - \ GUIDesigner Geography Geology Geoscience HamRadio HardwareSettings - \ History IDE IRCClient ImageProcessing InstantMessaging Java KDE - \ KidsGame Languages Literature LogicGame Math MedicalSoftware Midi - \ Mixer Monitor Motif Music News NumericalAnalysis OCR P2P PDA - \ PackageManager ParallelComputing Photography Physics Player - \ Presentation Printing Profiling ProjectManagement Publishing Qt - \ RasterGraphics Recorder RemoteAccess RevisionControl Robotics - \ RolePlaying Scanning Science Security Sequencer Simulation Sports - \ SportsGame Spreadsheet StrategyGame TV Telephony TelephonyTools - \ TerminalEmulator TextEditor TextTools Translation Tuner VectorGraphics - \ VideoConference Viewer WebBrowser WebDevelopment WordProcessor - \ contained - -" Reserved Category -syn keyword dtCategoriesValue - \ Applet Screensaver Shell TrayIcon - \ contained - -" Exec/TryExec {{{3 -syn match dtExec /^\%(Exec\|TryExec\)\s*=.\+\S/ contains=dtExecKey,dtDelim,dtExecParam transparent -syn keyword dtExecKey - \ Exec TryExec - \ contained nextgroup=dtDelim -" code for file(s), URL(s), etc -syn match dtExecParam /\s\zs%[fFuUick]\ze\%(\W\|$\)/ contained - -" Type {{{3 -syn match dtType /^Type\s*=\s*\S\+/ contains=dtTypeKey,dtDelim,dtTypeValue transparent -syn keyword dtTypeKey - \ Type - \ contained nextgroup=dtDelim -syn keyword dtTypeValue - \ Application Directory Link - \ contained - -if s:desktop_enable_kde - syn keyword dtTypeValue - \ FSDevice Service ServiceType - \ contained -endif - - -" Version {{{3 -syn match dtVersion /^Version\s*=\s*\S\+/ contains=dtVersionKey,dtDelim,dtVersionValue transparent -syn keyword dtVersionKey - \ Version - \ contained nextgroup=dtDelim -syn match dtVersionValue /[0-9]\+\%(\.[0-9]\+\)\{1,2}$/ contained - -" Localestring Value {{{2 -syn match dtLocalestring - \ /^\%(Comment\|GenericName\|Keywords\|Name\)\%(\[.\{-}\]\)\?\s*=.*\S/ - \ contains=dtLocalestringKey,dtLocaleSuffix,dtDelim transparent -syn keyword dtLocalestringKey - \ Comment GenericName Keywords Name - \ contained nextgroup=dtLocaleSuffix,dtDelim skipwhite - -" Iconstring Value {{{2 -syn match dtIconstring - \ /^Icon\s*=.*\S/ - \ contains=dtIconstringKey,dtDelim transparent -syn keyword dtIconstringKey - \ Icon - \ contained nextgroup=dtDelim skipwhite - -if s:desktop_enable_kde - syn match dtIconstring - \ /^UnmountIcon\>\%(\[.\{-}\]\)\?\s*=.*\S/ - \ contains=dtIconstringKey,dtLocaleSuffix,dtDelim transparent - syn keyword dtIconstringKey - \ UnmountIcon - \ contained nextgroup=dtLocaleSuffix,dtDelim skipwhite -endif - -" X-Extension {{{2 -syn match dtXExtension /^X-[0-9A-Za-z-]*\%(\[.\{-}\]\)\?\s*=.*\S/ - \ contains=dtXExtensionKey,dtLocaleSuffix,dtDelim transparent -syn match dtXExtensionKey /^X-[0-9A-Za-z-]*/ contained nextgroup=dtLocaleSuffix,dtDelim - -" non standard {{{2 -if s:desktop_enable_nonstd - syn match dtNonStdLabel /^[0-9A-Za-z-]\+\%(\[.\{-}\]\)\?\s*=.*\S/ - \ contains=dtNonStdLabelKey,dtLocaleSuffix,dtDelim transparent - syn match dtNonStdLabelKey /^[0-9A-Za-z-]\+/ contained nextgroup=dtLocaleSuffix,dtDelim -endif - -" Highlight {{{1 -hi def link dtComment Comment -hi def link dtError Error - -hi def link dtGroup Special - -hi def link dtDelim Delimiter -hi def link dtLocaleSuffix Identifier - -hi def link dtBooleanKey Type -hi def link dtBooleanValue Boolean - -hi def link dtNumericKey Type -hi def link dtNumericDecimal Number - -hi def link dtStringKey Type -hi def link dtCategoriesKey Type -hi def link dtCategoriesValue Constant -hi def link dtExecKey Type -hi def link dtExecParam Special -hi def link dtTypeKey Type -hi def link dtTypeValue Constant -hi def link dtVersionKey Type -hi def link dtVersionValue Constant - -hi def link dtLocalestringKey Type - -hi def link dtIconStringKey Type - -hi def link dtXExtensionKey Type - -hi def link dtNonStdLabelKey Type - -" Clean Up {{{1 -let b:current_syntax = "desktop" -let &cpo = s:cpo_save - -" vim:ts=8:sw=2:fdm=marker diff --git a/uvim/runtime/syntax/dictconf.mnv b/uvim/runtime/syntax/dictconf.mnv new file mode 100644 index 0000000000..f6df279b99 --- /dev/null +++ b/uvim/runtime/syntax/dictconf.mnv @@ -0,0 +1,80 @@ +" MNV syntax file +" Language: dict(1) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2006-04-19 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn keyword dictconfTodo contained TODO FIXME XXX NOTE + +syn region dictconfComment display oneline start='#' end='$' + \ contains=dictconfTodo,@Spell + +syn match dictconfBegin display '^' + \ nextgroup=dictconfKeyword,dictconfComment + \ skipwhite + +syn keyword dictconfKeyword contained server + \ nextgroup=dictconfServer skipwhite + +syn keyword dictconfKeyword contained pager + \ nextgroup=dictconfPager + +syn match dictconfServer contained display + \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*' + \ nextgroup=dictconfServerOptG skipwhite + +syn region dictconfServer contained display oneline + \ start=+"+ skip=+""+ end=+"+ + \ nextgroup=dictconfServerOptG skipwhite + +syn region dictconfServerOptG contained transparent + \ matchgroup=dictconfServerOptsD start='{' + \ matchgroup=dictconfServerOptsD end='}' + \ contains=dictconfServerOpts,dictconfComment + +syn keyword dictconfServerOpts contained port + \ nextgroup=dictconfNumber skipwhite + +syn keyword dictconfServerOpts contained user + \ nextgroup=dictconfUsername skipwhite + +syn match dictconfUsername contained display + \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*' + \ nextgroup=dictconfSecret skipwhite +syn region dictconfUsername contained display oneline + \ start=+"+ skip=+""+ end=+"+ + \ nextgroup=dictconfSecret skipwhite + +syn match dictconfSecret contained display + \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*' +syn region dictconfSecret contained display oneline + \ start=+"+ skip=+""+ end=+"+ + +syn match dictconfNumber contained '\<\d\+\>' + +syn match dictconfPager contained display + \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*' +syn region dictconfPager contained display oneline + \ start=+"+ skip=+""+ end=+"+ + +hi def link dictconfTodo Todo +hi def link dictconfComment Comment +hi def link dictconfKeyword Keyword +hi def link dictconfServer String +hi def link dictconfServerOptsD Delimiter +hi def link dictconfServerOpts Identifier +hi def link dictconfUsername String +hi def link dictconfSecret Special +hi def link dictconfNumber Number +hi def link dictconfPager String + +let b:current_syntax = "dictconf" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/dictconf.vim b/uvim/runtime/syntax/dictconf.vim deleted file mode 100644 index c762808c89..0000000000 --- a/uvim/runtime/syntax/dictconf.vim +++ /dev/null @@ -1,80 +0,0 @@ -" Vim syntax file -" Language: dict(1) configuration file -" Previous Maintainer: Nikolai Weibull -" Latest Revision: 2006-04-19 - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn keyword dictconfTodo contained TODO FIXME XXX NOTE - -syn region dictconfComment display oneline start='#' end='$' - \ contains=dictconfTodo,@Spell - -syn match dictconfBegin display '^' - \ nextgroup=dictconfKeyword,dictconfComment - \ skipwhite - -syn keyword dictconfKeyword contained server - \ nextgroup=dictconfServer skipwhite - -syn keyword dictconfKeyword contained pager - \ nextgroup=dictconfPager - -syn match dictconfServer contained display - \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*' - \ nextgroup=dictconfServerOptG skipwhite - -syn region dictconfServer contained display oneline - \ start=+"+ skip=+""+ end=+"+ - \ nextgroup=dictconfServerOptG skipwhite - -syn region dictconfServerOptG contained transparent - \ matchgroup=dictconfServerOptsD start='{' - \ matchgroup=dictconfServerOptsD end='}' - \ contains=dictconfServerOpts,dictconfComment - -syn keyword dictconfServerOpts contained port - \ nextgroup=dictconfNumber skipwhite - -syn keyword dictconfServerOpts contained user - \ nextgroup=dictconfUsername skipwhite - -syn match dictconfUsername contained display - \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*' - \ nextgroup=dictconfSecret skipwhite -syn region dictconfUsername contained display oneline - \ start=+"+ skip=+""+ end=+"+ - \ nextgroup=dictconfSecret skipwhite - -syn match dictconfSecret contained display - \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*' -syn region dictconfSecret contained display oneline - \ start=+"+ skip=+""+ end=+"+ - -syn match dictconfNumber contained '\<\d\+\>' - -syn match dictconfPager contained display - \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*' -syn region dictconfPager contained display oneline - \ start=+"+ skip=+""+ end=+"+ - -hi def link dictconfTodo Todo -hi def link dictconfComment Comment -hi def link dictconfKeyword Keyword -hi def link dictconfServer String -hi def link dictconfServerOptsD Delimiter -hi def link dictconfServerOpts Identifier -hi def link dictconfUsername String -hi def link dictconfSecret Special -hi def link dictconfNumber Number -hi def link dictconfPager String - -let b:current_syntax = "dictconf" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/dictdconf.mnv b/uvim/runtime/syntax/dictdconf.mnv new file mode 100644 index 0000000000..d9f21578ac --- /dev/null +++ b/uvim/runtime/syntax/dictdconf.mnv @@ -0,0 +1,146 @@ +" MNV syntax file +" Language: dictd(8) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2006-04-19 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn keyword dictdconfTodo contained TODO FIXME XXX NOTE + +syn region dictdconfComment display oneline start='#' end='$' + \ contains=dictdconfTodo,dictdconfSpecialC, + \ @Spell + +syn keyword dictdconfSpecialC LASTLINE + +syn match dictdconfBegin display '^' + \ nextgroup=dictdconfKeyword,dictdconfComment + \ skipwhite + +syn keyword dictdconfKeyword contained access + \ nextgroup=dictdconfAccessG skipwhite + +syn region dictdconfAccessG contained transparent + \ matchgroup=dictdconfDelimiter start='{' + \ matchgroup=dictdconfDelimiter end='}' + \ contains=dictdconfAccess,dictdconfComment + +syn keyword dictdconfAccess contained allow deny authonly user + \ nextgroup=dictdconfString skipwhite + +syn keyword dictdconfKeyword contained database + \ nextgroup=dictdconfDatabase skipwhite + +syn match dictdconfDatabase contained display + \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*' + \ nextgroup=dictdconfSpecG skipwhite +syn region dictdconfDatabase contained display oneline + \ start=+"+ skip=+""\|\\\\\|\\"+ end=+"+ + \ nextgroup=dictdconfSpecG skipwhite + +syn region dictdconfSpecG contained transparent + \ matchgroup=dictdconfDelimiter start='{' + \ matchgroup=dictdconfDelimiter end='}' + \ contains=dictdconfSpec,dictdconfAccess, + \ dictdconfComment + +syn keyword dictdconfSpec contained data index index_suffix index_word + \ filter prefilter postfilter name info + \ disable_strat + \ nextgroup=dictdconfString skipwhite + +syn keyword dictdconfSpec contained invisible + +syn keyword dictdconfKeyword contained database_virtual + \ nextgroup=dictdconfVDatabase skipwhite + +syn match dictdconfVDatabase contained display + \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*' + \ nextgroup=dictdconfVSpecG skipwhite +syn region dictdconfVDatabase contained display oneline + \ start=+"+ skip=+""\|\\\\\|\\"+ end=+"+ + \ nextgroup=dictdconfVSpecG skipwhite + +syn region dictdconfVSpecG contained transparent + \ matchgroup=dictdconfDelimiter start='{' + \ matchgroup=dictdconfDelimiter end='}' + \ contains=dictdconfVSpec,dictdconfAccess, + \ dictdconfComment + +syn keyword dictdconfVSpec contained name info database_list disable_strat + \ nextgroup=dictdconfString skipwhite + +syn keyword dictdconfVSpec contained invisible + +syn keyword dictdconfKeyword contained database_plugin + \ nextgroup=dictdconfPDatabase skipwhite + +syn match dictdconfPDatabase contained display + \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*' + \ nextgroup=dictdconfPSpecG skipwhite +syn region dictdconfPDatabase contained display oneline + \ start=+"+ skip=+""\|\\\\\|\\"+ end=+"+ + \ nextgroup=dictdconfPSpecG skipwhite + +syn region dictdconfPSpecG contained transparent + \ matchgroup=dictdconfDelimiter start='{' + \ matchgroup=dictdconfDelimiter end='}' + \ contains=dictdconfPSpec,dictdconfAccess, + \ dictdconfComment + +syn keyword dictdconfPSpec contained name info plugin data disable_strat + \ nextgroup=dictdconfString skipwhite + +syn keyword dictdconfPSpec contained invisible + +syn keyword dictdconfKeyword contained database_exit + +syn keyword dictdconfKeyword contained site + \ nextgroup=dictdconfString skipwhite + +syn keyword dictdconfKeyword contained user + \ nextgroup=dictdconfUsername skipwhite + +syn match dictdconfUsername contained display + \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*' + \ nextgroup=dictdconfSecret skipwhite +syn region dictdconfUsername contained display oneline + \ start=+"+ skip=+""+ end=+"+ + \ nextgroup=dictdconfSecret skipwhite + +syn match dictdconfSecret contained display + \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*' +syn region dictdconfSecret contained display oneline + \ start=+"+ skip=+""+ end=+"+ + +syn match dictdconfString contained display + \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*' +syn region dictdconfString contained display oneline + \ start=+"+ skip=+""\|\\\\\|\\"+ end=+"+ + +hi def link dictdconfTodo Todo +hi def link dictdconfComment Comment +hi def link dictdconfSpecialC Special +hi def link dictdconfKeyword Keyword +hi def link dictdconfIdentifier Identifier +hi def link dictdconfAccess dictdconfIdentifier +hi def link dictdconfDatabase dictdconfString +hi def link dictdconfSpec dictdconfIdentifier +hi def link dictdconfVDatabase dictdconfDatabase +hi def link dictdconfVSpec dictdconfSpec +hi def link dictdconfPDatabase dictdconfDatabase +hi def link dictdconfPSpec dictdconfSpec +hi def link dictdconfUsername dictdconfString +hi def link dictdconfSecret Special +hi def link dictdconfString String +hi def link dictdconfDelimiter Delimiter + +let b:current_syntax = "dictdconf" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/dictdconf.vim b/uvim/runtime/syntax/dictdconf.vim deleted file mode 100644 index ecf5fd346f..0000000000 --- a/uvim/runtime/syntax/dictdconf.vim +++ /dev/null @@ -1,146 +0,0 @@ -" Vim syntax file -" Language: dictd(8) configuration file -" Previous Maintainer: Nikolai Weibull -" Latest Revision: 2006-04-19 - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn keyword dictdconfTodo contained TODO FIXME XXX NOTE - -syn region dictdconfComment display oneline start='#' end='$' - \ contains=dictdconfTodo,dictdconfSpecialC, - \ @Spell - -syn keyword dictdconfSpecialC LASTLINE - -syn match dictdconfBegin display '^' - \ nextgroup=dictdconfKeyword,dictdconfComment - \ skipwhite - -syn keyword dictdconfKeyword contained access - \ nextgroup=dictdconfAccessG skipwhite - -syn region dictdconfAccessG contained transparent - \ matchgroup=dictdconfDelimiter start='{' - \ matchgroup=dictdconfDelimiter end='}' - \ contains=dictdconfAccess,dictdconfComment - -syn keyword dictdconfAccess contained allow deny authonly user - \ nextgroup=dictdconfString skipwhite - -syn keyword dictdconfKeyword contained database - \ nextgroup=dictdconfDatabase skipwhite - -syn match dictdconfDatabase contained display - \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*' - \ nextgroup=dictdconfSpecG skipwhite -syn region dictdconfDatabase contained display oneline - \ start=+"+ skip=+""\|\\\\\|\\"+ end=+"+ - \ nextgroup=dictdconfSpecG skipwhite - -syn region dictdconfSpecG contained transparent - \ matchgroup=dictdconfDelimiter start='{' - \ matchgroup=dictdconfDelimiter end='}' - \ contains=dictdconfSpec,dictdconfAccess, - \ dictdconfComment - -syn keyword dictdconfSpec contained data index index_suffix index_word - \ filter prefilter postfilter name info - \ disable_strat - \ nextgroup=dictdconfString skipwhite - -syn keyword dictdconfSpec contained invisible - -syn keyword dictdconfKeyword contained database_virtual - \ nextgroup=dictdconfVDatabase skipwhite - -syn match dictdconfVDatabase contained display - \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*' - \ nextgroup=dictdconfVSpecG skipwhite -syn region dictdconfVDatabase contained display oneline - \ start=+"+ skip=+""\|\\\\\|\\"+ end=+"+ - \ nextgroup=dictdconfVSpecG skipwhite - -syn region dictdconfVSpecG contained transparent - \ matchgroup=dictdconfDelimiter start='{' - \ matchgroup=dictdconfDelimiter end='}' - \ contains=dictdconfVSpec,dictdconfAccess, - \ dictdconfComment - -syn keyword dictdconfVSpec contained name info database_list disable_strat - \ nextgroup=dictdconfString skipwhite - -syn keyword dictdconfVSpec contained invisible - -syn keyword dictdconfKeyword contained database_plugin - \ nextgroup=dictdconfPDatabase skipwhite - -syn match dictdconfPDatabase contained display - \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*' - \ nextgroup=dictdconfPSpecG skipwhite -syn region dictdconfPDatabase contained display oneline - \ start=+"+ skip=+""\|\\\\\|\\"+ end=+"+ - \ nextgroup=dictdconfPSpecG skipwhite - -syn region dictdconfPSpecG contained transparent - \ matchgroup=dictdconfDelimiter start='{' - \ matchgroup=dictdconfDelimiter end='}' - \ contains=dictdconfPSpec,dictdconfAccess, - \ dictdconfComment - -syn keyword dictdconfPSpec contained name info plugin data disable_strat - \ nextgroup=dictdconfString skipwhite - -syn keyword dictdconfPSpec contained invisible - -syn keyword dictdconfKeyword contained database_exit - -syn keyword dictdconfKeyword contained site - \ nextgroup=dictdconfString skipwhite - -syn keyword dictdconfKeyword contained user - \ nextgroup=dictdconfUsername skipwhite - -syn match dictdconfUsername contained display - \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*' - \ nextgroup=dictdconfSecret skipwhite -syn region dictdconfUsername contained display oneline - \ start=+"+ skip=+""+ end=+"+ - \ nextgroup=dictdconfSecret skipwhite - -syn match dictdconfSecret contained display - \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*' -syn region dictdconfSecret contained display oneline - \ start=+"+ skip=+""+ end=+"+ - -syn match dictdconfString contained display - \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*' -syn region dictdconfString contained display oneline - \ start=+"+ skip=+""\|\\\\\|\\"+ end=+"+ - -hi def link dictdconfTodo Todo -hi def link dictdconfComment Comment -hi def link dictdconfSpecialC Special -hi def link dictdconfKeyword Keyword -hi def link dictdconfIdentifier Identifier -hi def link dictdconfAccess dictdconfIdentifier -hi def link dictdconfDatabase dictdconfString -hi def link dictdconfSpec dictdconfIdentifier -hi def link dictdconfVDatabase dictdconfDatabase -hi def link dictdconfVSpec dictdconfSpec -hi def link dictdconfPDatabase dictdconfDatabase -hi def link dictdconfPSpec dictdconfSpec -hi def link dictdconfUsername dictdconfString -hi def link dictdconfSecret Special -hi def link dictdconfString String -hi def link dictdconfDelimiter Delimiter - -let b:current_syntax = "dictdconf" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/diff.mnv b/uvim/runtime/syntax/diff.mnv new file mode 100644 index 0000000000..bf83781ccc --- /dev/null +++ b/uvim/runtime/syntax/diff.mnv @@ -0,0 +1,390 @@ +" MNV syntax file +" Language: Diff (context or unified) +" Maintainer: The MNV Project +" Translations by Jakson Alves de Aquino. +" Last Change: 2025 Aug 16 +" Former Maintainer: Bram Moolenaar + +" Quit when a (custom) syntax file was already loaded +if exists("b:current_syntax") + finish +endif +scriptencoding utf-8 + +syn match diffOnly "^Only in .*" +syn match diffIdentical "^Files .* and .* are identical$" +syn match diffDiffer "^Files .* and .* differ$" +syn match diffBDiffer "^Binary files .* and .* differ$" +syn match diffIsA "^File .* is a .* while file .* is a .*" +syn match diffNoEOL "^\\ No newline at end of file.*" +syn match diffCommon "^Common subdirectories: .*" + +" Disable the translations by setting diff_translations to zero. +if !exists("diff_translations") || diff_translations + +" ca +syn match diffOnly "^NomĂ©s a .*" +syn match diffIdentical "^Els fitxers .* i .* sĂłn idèntics$" +syn match diffDiffer "^Els fitxers .* i .* difereixen$" +syn match diffBDiffer "^Els fitxers .* i .* difereixen$" +syn match diffIsA "^El fitxer .* Ă©s un .* mentre que el fitxer .* Ă©s un .*" +syn match diffNoEOL "^\\ No hi ha cap carĂ cter de salt de lĂ­nia al final del fitxer" +syn match diffCommon "^Subdirectoris comuns: .* i .*" + +" cs +syn match diffOnly "^Pouze v .*" +syn match diffIdentical "^Soubory .* a .* jsou identickĂ©$" +syn match diffDiffer "^Soubory .* a .* jsou rĹŻznĂ©$" +syn match diffBDiffer "^BinárnĂ­ soubory .* a .* jsou rozdĂ­lnĂ©$" +syn match diffBDiffer "^Soubory .* a .* jsou rĹŻznĂ©$" +syn match diffIsA "^Soubor .* je .* pokud soubor .* je .*" +syn match diffNoEOL "^\\ ChybĂ­ znak konce řádku na konci souboru" +syn match diffCommon "^SpoleÄŤnĂ© podadresáře: .* a .*" + +" da +syn match diffOnly "^Kun i .*" +syn match diffIdentical "^Filerne .* og .* er identiske$" +syn match diffDiffer "^Filerne .* og .* er forskellige$" +syn match diffBDiffer "^Binære filer .* og .* er forskellige$" +syn match diffIsA "^Filen .* er en .* mens filen .* er en .*" +syn match diffNoEOL "^\\ Intet linjeskift ved filafslutning" +syn match diffCommon "^Identiske underkataloger: .* og .*" + +" de +syn match diffOnly "^Nur in .*" +syn match diffIdentical "^Dateien .* und .* sind identisch.$" +syn match diffDiffer "^Dateien .* und .* sind verschieden.$" +syn match diffBDiffer "^Binärdateien .* and .* sind verschieden.$" +syn match diffBDiffer "^Binärdateien .* und .* sind verschieden.$" +syn match diffIsA "^Datei .* ist ein .* während Datei .* ein .* ist.$" +syn match diffNoEOL "^\\ Kein Zeilenumbruch am Dateiende." +syn match diffCommon "^Gemeinsame Unterverzeichnisse: .* und .*.$" + +" el +syn match diffOnly "^Μόνο Ďτο .*" +syn match diffIdentical "^Τα αĎχεία .* καί .* είναι πανομοιότυπα$" +syn match diffDiffer "^Τα αĎχεία .* και .* διαφέĎουν$" +syn match diffBDiffer "^Τα αĎχεία .* και .* διαφέĎουν$" +syn match diffIsA "^Το αĎχείο .* είναι .* ενώ το αĎχείο .* είναι .*" +syn match diffNoEOL "^\\ Δεν υπάĎχει χαĎακτήĎας νέας ÎłĎαμμής Ďτο τέλος του αĎχείου" +syn match diffCommon "^Οι υποκατάλογοι .* και .* είναι ταυτόĎημοι$" + +" eo +syn match diffOnly "^Nur en .*" +syn match diffIdentical "^Dosieroj .* kaj .* estas samaj$" +syn match diffDiffer "^Dosieroj .* kaj .* estas malsamaj$" +syn match diffBDiffer "^Dosieroj .* kaj .* estas malsamaj$" +syn match diffIsA "^Dosiero .* estas .*, dum dosiero .* estas .*" +syn match diffNoEOL "^\\ Mankas linifino ĉe fino de dosiero" +syn match diffCommon "^Komunaj subdosierujoj: .* kaj .*" + +" es +syn match diffOnly "^SĂłlo en .*" +syn match diffIdentical "^Los ficheros .* y .* son idĂ©nticos$" +syn match diffDiffer "^Los ficheros .* y .* son distintos$" +syn match diffBDiffer "^Los ficheros binarios .* y .* son distintos$" +syn match diffIsA "^El fichero .* es un .* mientras que el .* es un .*" +syn match diffNoEOL "^\\ No hay ningĂşn carácter de nueva lĂ­nea al final del fichero" +syn match diffCommon "^Subdirectorios comunes: .* y .*" + +" fi +syn match diffOnly "^Vain hakemistossa .*" +syn match diffIdentical "^Tiedostot .* ja .* ovat identtiset$" +syn match diffDiffer "^Tiedostot .* ja .* eroavat$" +syn match diffBDiffer "^Binääritiedostot .* ja .* eroavat$" +syn match diffIsA "^Tiedosto .* on .*, kun taas tiedosto .* on .*" +syn match diffNoEOL "^\\ Ei rivinvaihtoa tiedoston lopussa" +syn match diffCommon "^Yhteiset alihakemistot: .* ja .*" + +" fr +syn match diffOnly "^Seulement dans .*" +syn match diffIdentical "^Les fichiers .* et .* sont identiques.*" +syn match diffDiffer "^Les fichiers .* et .* sont diffĂ©rents.*" +syn match diffBDiffer "^Les fichiers binaires .* et .* sont diffĂ©rents.*" +syn match diffIsA "^Le fichier .* est un .* alors que le fichier .* est un .*" +syn match diffNoEOL "^\\ Pas de fin de ligne Ă  la fin du fichier.*" +syn match diffCommon "^Les sous-rĂ©pertoires .* et .* sont identiques.*" + +" ga +syn match diffOnly "^I .* amháin: .*" +syn match diffIdentical "^Is comhionann iad na comhaid .* agus .*" +syn match diffDiffer "^Tá difrĂ­ocht idir na comhaid .* agus .*" +syn match diffBDiffer "^Tá difrĂ­ocht idir na comhaid .* agus .*" +syn match diffIsA "^Tá comhad .* ina .* ach tá comhad .* ina .*" +syn match diffNoEOL "^\\ Gan lĂ­ne nua ag an chomhadchrĂ­och" +syn match diffCommon "^Fochomhadlanna i gcoitianta: .* agus .*" + +" gl +syn match diffOnly "^SĂł en .*" +syn match diffIdentical "^Os ficheiros .* e .* son idĂ©nticos$" +syn match diffDiffer "^Os ficheiros .* e .* son diferentes$" +syn match diffBDiffer "^Os ficheiros binarios .* e .* son diferentes$" +syn match diffIsA "^O ficheiro .* Ă© un .* mentres que o ficheiro .* Ă© un .*" +syn match diffNoEOL "^\\ Non hai un salto de liña na fin da liña" +syn match diffCommon "^Subdirectorios comĂşns: .* e .*" + +" he +" ^.* are expansive patterns for long lines, so disabled unless we can match +" some specific hebrew chars +if search('\%u05d5\|\%u05d1', 'nw', '', 100) + syn match diffOnly "^.*-ב קר ×צמנ .*" + syn match diffIdentical "^םיהז םניה .*-ו .* םיצבקה$" + syn match diffDiffer "^הזמ ×”×– םינוש `.*'-ו `.*' םיצבקה$" + syn match diffBDiffer "^הזמ ×”×– םינוש `.*'-ו `.*' םיירניב םיצבק$" + syn match diffIsA "^.* .*-ל .* .* תוושהל ןתינ ×ל$" + syn match diffNoEOL "^\\ ץבוקה ףוסב השד.-הרוש ות רס." + syn match diffCommon "^.*-ו .* :תוהז תויקית-תת$" +endif + +" hr +syn match diffOnly "^Samo u .*" +syn match diffIdentical "^Datoteke .* i .* su identiÄŤne$" +syn match diffDiffer "^Datoteke .* i .* se razlikuju$" +syn match diffBDiffer "^Binarne datoteke .* i .* se razlikuju$" +syn match diffIsA "^Datoteka .* je .*, a datoteka .* je .*" +syn match diffNoEOL "^\\ Nema novog retka na kraju datoteke" +syn match diffCommon "^UobiÄŤajeni poddirektoriji: .* i .*" + +" hu +syn match diffOnly "^Csak .* -ben: .*" +syn match diffIdentical "^.* Ă©s .* fájlok azonosak$" +syn match diffDiffer "^A(z) .* Ă©s a(z) .* fájlok kĂĽlönböznek$" +syn match diffBDiffer "^A(z) .* Ă©s a(z) .* fájlok kĂĽlönböznek$" +syn match diffIsA "^A(z) .* fájl egy .*, viszont a(z) .* fájl egy .*" +syn match diffNoEOL "^\\ Nincs Ăşjsor a fájl vĂ©gĂ©n" +syn match diffCommon "^Közös alkönyvtárak: .* Ă©s .*" + +" id +syn match diffOnly "^Hanya dalam .*" +syn match diffIdentical "^File .* dan .* identik$" +syn match diffDiffer "^Berkas .* dan .* berbeda$" +syn match diffBDiffer "^File biner .* dan .* berbeda$" +syn match diffIsA "^File .* adalah .* sementara file .* adalah .*" +syn match diffNoEOL "^\\ Tidak ada baris-baru di akhir dari berkas" +syn match diffCommon "^Subdirektori sama: .* dan .*" + +" it +syn match diffOnly "^Solo in .*" +syn match diffIdentical "^I file .* e .* sono identici$" +syn match diffDiffer "^I file .* e .* sono diversi$" +syn match diffBDiffer "^I file .* e .* sono diversi$" +syn match diffBDiffer "^I file binari .* e .* sono diversi$" +syn match diffIsA "^File .* è un .* mentre file .* è un .*" +syn match diffNoEOL "^\\ Manca newline alla fine del file" +syn match diffCommon "^Sottodirectory in comune: .* e .*" + +" ja +syn match diffOnly "^.*ă ă‘ă«ç™şč¦‹: .*" +syn match diffIdentical "^ă•ァイă«.*ă¨.*ăŻĺŚä¸€$" +syn match diffDiffer "^ă•ァイă«.*ă¨.*ăŻé•ă„ăľă™$" +syn match diffBDiffer "^ăイăŠăŞăĽă»ă•ァイă«.*ă¨.*ăŻé•ă„ăľă™$" +syn match diffIsA "^ă•ァイă«.*ăŻ.*ă€ă•ァイă«.*ăŻ.*" +syn match diffNoEOL "^\\ ă•ァイă«ćś«ĺ°ľă«ć”ąčˇŚăŚă‚りăľă›ă‚“" +syn match diffCommon "^共通ă®ä¸‹ä˝Ťă‡ă‚Łă¬ă‚ŻăăŞăĽ: .*ă¨.*" + +" ja DiffUtils 3.3 +syn match diffOnly "^.* ă®ăżă«ĺ­ĺś¨: .*" +syn match diffIdentical "^ă•ァイ㫠.* 㨠.* ăŻĺŚä¸€ă§ă™$" +syn match diffDiffer "^ă•ァイ㫠.* 㨠.* ăŻç•°ăŞă‚Šăľă™$" +syn match diffBDiffer "^ăイăŠăŞăĽă•ァイ㫠.* ă¨.* ăŻç•°ăŞă‚Šăľă™$" +syn match diffIsA "^ă•ァイ㫠.* 㯠.* ă§ă™ă€‚一方ă€ă•ァイ㫠.* 㯠.* ă§ă™$" +syn match diffNoEOL "^\\ ă•ァイă«ćś«ĺ°ľă«ć”ąčˇŚăŚă‚りăľă›ă‚“" +syn match diffCommon "^共通ă®ă‚µă–ă‡ă‚Łă¬ă‚ŻăăŞăĽ: .* 㨠.*" + +" lv +syn match diffOnly "^Tikai iekš .*" +syn match diffIdentical "^Fails .* un .* ir identiski$" +syn match diffDiffer "^Faili .* un .* atšķiras$" +syn match diffBDiffer "^Faili .* un .* atšķiras$" +syn match diffBDiffer "^BinÄrie faili .* un .* atšķiras$" +syn match diffIsA "^Fails .* ir .* kamÄ“r fails .* ir .*" +syn match diffNoEOL "^\\ Nav jaunu rindu faila beigÄs" +syn match diffCommon "^KopÄ“jÄs apakšdirektorijas: .* un .*" + +" ms +syn match diffOnly "^Hanya dalam .*" +syn match diffIdentical "^Fail .* dan .* adalah serupa$" +syn match diffDiffer "^Fail .* dan .* berbeza$" +syn match diffBDiffer "^Fail .* dan .* berbeza$" +syn match diffIsA "^Fail .* adalah .* manakala fail .* adalah .*" +syn match diffNoEOL "^\\ Tiada baris baru pada penghujung fail" +syn match diffCommon "^Subdirektori umum: .* dan .*" + +" nl +syn match diffOnly "^Alleen in .*" +syn match diffIdentical "^Bestanden .* en .* zijn identiek$" +syn match diffDiffer "^Bestanden .* en .* zijn verschillend$" +syn match diffBDiffer "^Bestanden .* en .* zijn verschillend$" +syn match diffBDiffer "^Binaire bestanden .* en .* zijn verschillend$" +syn match diffIsA "^Bestand .* is een .* terwijl bestand .* een .* is$" +syn match diffNoEOL "^\\ Geen regeleindeteken (LF) aan einde van bestand" +syn match diffCommon "^Gemeenschappelijke submappen: .* en .*" + +" pl +syn match diffOnly "^Tylko w .*" +syn match diffIdentical "^Pliki .* i .* sÄ… identyczne$" +syn match diffDiffer "^Pliki .* i .* różniÄ… siÄ™$" +syn match diffBDiffer "^Pliki .* i .* różniÄ… siÄ™$" +syn match diffBDiffer "^Binarne pliki .* i .* różniÄ… siÄ™$" +syn match diffIsA "^Plik .* jest .*, podczas gdy plik .* jest .*" +syn match diffNoEOL "^\\ Brak znaku nowej linii na koĹ„cu pliku" +syn match diffCommon "^WspĂłlne podkatalogi: .* i .*" + +" pt_BR +syn match diffOnly "^Somente em .*" +syn match diffOnly "^Apenas em .*" +syn match diffIdentical "^Os aquivos .* e .* sĂŁo idĂŞnticos$" +syn match diffDiffer "^Os arquivos .* e .* sĂŁo diferentes$" +syn match diffBDiffer "^Os arquivos binários .* e .* sĂŁo diferentes$" +syn match diffIsA "^O arquivo .* Ă© .* enquanto o arquivo .* Ă© .*" +syn match diffNoEOL "^\\ Falta o caracter nova linha no final do arquivo" +syn match diffCommon "^SubdiretĂłrios idĂŞnticos: .* e .*" + +" ro +syn match diffOnly "^Doar Ă®n .*" +syn match diffIdentical "^FiĹźierele .* Ĺźi .* sunt identice$" +syn match diffDiffer "^FiĹźierele .* Ĺźi .* diferÄ$" +syn match diffBDiffer "^FiĹźierele binare .* Ĺźi .* diferÄ$" +syn match diffIsA "^FiĹźierul .* este un .* pe când fiĹźierul .* este un .*.$" +syn match diffNoEOL "^\\ Nici un element de linie nouÄ la sfârĹźitul fiĹźierului" +syn match diffCommon "^Subdirectoare comune: .* Ĺźi .*.$" + +" ru +syn match diffOnly "^Только в .*" +syn match diffIdentical "^Файлы .* и .* идентичны$" +syn match diffDiffer "^Файлы .* и .* различаютŃŃŹ$" +syn match diffBDiffer "^Файлы .* и .* различаютŃŃŹ$" +syn match diffIsA "^Файл .* это .*, тогда как файл .* -- .*" +syn match diffNoEOL "^\\ Đ’ конце файла нет новой Ńтроки" +syn match diffCommon "^Общие подкаталоги: .* и .*" + +" sr +syn match diffOnly "^Само Ń .*" +syn match diffIdentical "^Датотеке „.*“ и „.*“ Ńе подŃдараŃŃ$" +syn match diffDiffer "^Датотеке .* и .* различите$" +syn match diffBDiffer "^Бинарне датотеке .* и .* различите$" +syn match diffIsA "^Датотека „.*“ Ńе „.*“ док Ńе датотека „.*“ „.*“$" +syn match diffNoEOL "^\\ Без новог реда на краŃŃ Đ´Đ°Ń‚ĐľŃ‚ĐµĐşĐµ" +syn match diffCommon "^ЗаŃеднички поддиректориŃŃми: .* и .*" + +" sv +syn match diffOnly "^Endast i .*" +syn match diffIdentical "^Filerna .* och .* är lika$" +syn match diffDiffer "^Filerna .* och .* skiljer$" +syn match diffBDiffer "^Filerna .* och .* skiljer$" +syn match diffIsA "^Fil .* är en .* medan fil .* är en .*" +syn match diffBDiffer "^De binära filerna .* och .* skiljer$" +syn match diffIsA "^Filen .* är .* medan filen .* är .*" +syn match diffNoEOL "^\\ Ingen nyrad vid filslut" +syn match diffCommon "^Lika underkataloger: .* och .*" + +" tr +syn match diffOnly "^Yalnızca .*'da: .*" +syn match diffIdentical "^.* ve .* dosyaları birbirinin aynı$" +syn match diffDiffer "^.* ve .* dosyaları birbirinden farklı$" +syn match diffBDiffer "^.* ve .* dosyaları birbirinden farklı$" +syn match diffBDiffer "^İkili .* ve .* birbirinden farklı$" +syn match diffIsA "^.* dosyası, bir .*, halbuki .* dosyası bir .*" +syn match diffNoEOL "^\\ Dosya sonunda yenisatır yok." +syn match diffCommon "^Ortak alt dizinler: .* ve .*" + +" uk +syn match diffOnly "^ЛиŃе Ń .*" +syn match diffIdentical "^Файли .* та .* ідентичні$" +syn match diffDiffer "^Файли .* та .* відрізняютьŃŃŹ$" +syn match diffBDiffer "^Файли .* та .* відрізняютьŃŃŹ$" +syn match diffBDiffer "^Двійкові файли .* та .* відрізняютьŃŃŹ$" +syn match diffIsA "^Файл .* це .*, тоді ŃŹĐş файл .* -- .*" +syn match diffNoEOL "^\\ Наприкінці Ń„Đ°ĐąĐ»Ń Đ˝ĐµĐĽĐ°Ń” нового рядка" +syn match diffCommon "^Спільні підкаталоги: .* та .*" + +" vi +syn match diffOnly "^Chỉ trong .*" +syn match diffIdentical "^Hai táş­p tin .* vĂ  .* lĂ  báş±ng nhau.$" +syn match diffIdentical "^Cả .* vĂ  .* lĂ  cĂąng má»™t táş­p tin$" +syn match diffDiffer "^Hai táş­p tin .* vĂ  .* lĂ  khác nhau.$" +syn match diffBDiffer "^Hai táş­p tin nhị phân .* vĂ  .* khác nhau$" +syn match diffIsA "^Táş­p tin .* lĂ  má»™t .* trong khi táş­p tin .* lĂ  má»™t .*.$" +syn match diffBDiffer "^Hai táş­p tin .* vĂ  .* lĂ  khác nhau.$" +syn match diffIsA "^Táş­p tin .* lĂ  má»™t .* còn táş­p tin .* lĂ  má»™t .*.$" +syn match diffNoEOL "^\\ KhĂ´ng cĂł kĂ˝ tá»± dòng má»›i tại kĂŞt thức táş­p tin." +syn match diffCommon "^Thư mục con chung: .* vĂ  .*" + +" zh_CN +syn match diffOnly "^只在 .* ĺ­ĺś¨ďĽš.*" +syn match diffIdentical "^文件 .* ĺ’Ś .* 相ĺŚ$" +syn match diffDiffer "^文件 .* ĺ’Ś .* 不ĺŚ$" +syn match diffBDiffer "^二进ĺ¶ć–‡ä»¶ .* ĺ’Ś .* 不ĺŚ$" +syn match diffIsA "^文件 .* ćŻ.*而文件 .* ćŻ.*" +syn match diffNoEOL "^\\ 文件尾没有 newline 字符" +syn match diffCommon "^.* ĺ’Ś .* 有共ĺŚçš„ĺ­ç›®ĺ˝•$" + +" zh_TW +syn match diffOnly "^只在 .* ĺ­ĺś¨ďĽš.*" +syn match diffIdentical "^ćŞ”ćˇ .* ĺ’Ś .* 相ĺŚ$" +syn match diffDiffer "^ćŞ”ćˇ .* č‡ .* 不ĺŚ$" +syn match diffBDiffer "^二ĺ…碼檔 .* č‡ .* 不ĺŚ$" +syn match diffIsA "^ćŞ”ćˇ .* ćŻ.*č€ŚćŞ”ćˇ .* ćŻ.*" +syn match diffNoEOL "^\\ 檔ćˇćś«ć˛’有 newline ĺ­—ĺ…" +syn match diffCommon "^.* ĺ’Ś .* 有共ĺŚçš„副目錄$" + +endif + + +syn match diffRemoved "^-.*" +syn match diffRemoved "^<.*" +syn match diffAdded "^+.*" +syn match diffAdded "^>.*" +syn match diffChanged "^! .*" + +syn match diffSubname " @@..*"ms=s+3 contained +syn match diffLine "^@.*" contains=diffSubname +syn match diffLine "^\<\d\+\>.*" +syn match diffLine "^\*\*\*\*.*" +syn match diffLine "^---$" + +" Some versions of diff have lines like "#c#" and "#d#" (where # is a number) +syn match diffLine "^\d\+\(,\d\+\)\=[cda]\d\+\>.*" + +syn match diffFile "^diff\>.*" +syn match diffFile "^Index: .*" +syn match diffFile "^==== .*" + +if search('^@@ -\S\+ +\S\+ @@', 'nw', '', 100) + " unified + syn match diffOldFile "^--- .*" + syn match diffNewFile "^+++ .*" +else + " context / old style + syn match diffOldFile "^\*\*\* .*" + syn match diffNewFile "^--- .*" +endif + +" Used by git +syn match diffIndexLine "^index \x\x\x\x.*" + +syn match diffComment "^#.*" + +" Define the default highlighting. +" Only used when an item doesn't have highlighting yet +hi def link diffOldFile diffFile +hi def link diffNewFile diffFile +hi def link diffIndexLine PreProc +hi def link diffFile Type +hi def link diffOnly Constant +hi def link diffIdentical Constant +hi def link diffDiffer Constant +hi def link diffBDiffer Constant +hi def link diffIsA Constant +hi def link diffNoEOL Constant +hi def link diffCommon Constant +hi def link diffRemoved Removed +hi def link diffChanged Changed +hi def link diffAdded Added +hi def link diffLine Statement +hi def link diffSubname PreProc +hi def link diffComment Comment + +let b:current_syntax = "diff" + +" mnv: ts=8 sw=2 diff --git a/uvim/runtime/syntax/diff.vim b/uvim/runtime/syntax/diff.vim deleted file mode 100644 index 71d2763bab..0000000000 --- a/uvim/runtime/syntax/diff.vim +++ /dev/null @@ -1,390 +0,0 @@ -" Vim syntax file -" Language: Diff (context or unified) -" Maintainer: The Vim Project -" Translations by Jakson Alves de Aquino. -" Last Change: 2025 Aug 16 -" Former Maintainer: Bram Moolenaar - -" Quit when a (custom) syntax file was already loaded -if exists("b:current_syntax") - finish -endif -scriptencoding utf-8 - -syn match diffOnly "^Only in .*" -syn match diffIdentical "^Files .* and .* are identical$" -syn match diffDiffer "^Files .* and .* differ$" -syn match diffBDiffer "^Binary files .* and .* differ$" -syn match diffIsA "^File .* is a .* while file .* is a .*" -syn match diffNoEOL "^\\ No newline at end of file.*" -syn match diffCommon "^Common subdirectories: .*" - -" Disable the translations by setting diff_translations to zero. -if !exists("diff_translations") || diff_translations - -" ca -syn match diffOnly "^NomĂ©s a .*" -syn match diffIdentical "^Els fitxers .* i .* sĂłn idèntics$" -syn match diffDiffer "^Els fitxers .* i .* difereixen$" -syn match diffBDiffer "^Els fitxers .* i .* difereixen$" -syn match diffIsA "^El fitxer .* Ă©s un .* mentre que el fitxer .* Ă©s un .*" -syn match diffNoEOL "^\\ No hi ha cap carĂ cter de salt de lĂ­nia al final del fitxer" -syn match diffCommon "^Subdirectoris comuns: .* i .*" - -" cs -syn match diffOnly "^Pouze v .*" -syn match diffIdentical "^Soubory .* a .* jsou identickĂ©$" -syn match diffDiffer "^Soubory .* a .* jsou rĹŻznĂ©$" -syn match diffBDiffer "^BinárnĂ­ soubory .* a .* jsou rozdĂ­lnĂ©$" -syn match diffBDiffer "^Soubory .* a .* jsou rĹŻznĂ©$" -syn match diffIsA "^Soubor .* je .* pokud soubor .* je .*" -syn match diffNoEOL "^\\ ChybĂ­ znak konce řádku na konci souboru" -syn match diffCommon "^SpoleÄŤnĂ© podadresáře: .* a .*" - -" da -syn match diffOnly "^Kun i .*" -syn match diffIdentical "^Filerne .* og .* er identiske$" -syn match diffDiffer "^Filerne .* og .* er forskellige$" -syn match diffBDiffer "^Binære filer .* og .* er forskellige$" -syn match diffIsA "^Filen .* er en .* mens filen .* er en .*" -syn match diffNoEOL "^\\ Intet linjeskift ved filafslutning" -syn match diffCommon "^Identiske underkataloger: .* og .*" - -" de -syn match diffOnly "^Nur in .*" -syn match diffIdentical "^Dateien .* und .* sind identisch.$" -syn match diffDiffer "^Dateien .* und .* sind verschieden.$" -syn match diffBDiffer "^Binärdateien .* and .* sind verschieden.$" -syn match diffBDiffer "^Binärdateien .* und .* sind verschieden.$" -syn match diffIsA "^Datei .* ist ein .* während Datei .* ein .* ist.$" -syn match diffNoEOL "^\\ Kein Zeilenumbruch am Dateiende." -syn match diffCommon "^Gemeinsame Unterverzeichnisse: .* und .*.$" - -" el -syn match diffOnly "^Μόνο Ďτο .*" -syn match diffIdentical "^Τα αĎχεία .* καί .* είναι πανομοιότυπα$" -syn match diffDiffer "^Τα αĎχεία .* και .* διαφέĎουν$" -syn match diffBDiffer "^Τα αĎχεία .* και .* διαφέĎουν$" -syn match diffIsA "^Το αĎχείο .* είναι .* ενώ το αĎχείο .* είναι .*" -syn match diffNoEOL "^\\ Δεν υπάĎχει χαĎακτήĎας νέας ÎłĎαμμής Ďτο τέλος του αĎχείου" -syn match diffCommon "^Οι υποκατάλογοι .* και .* είναι ταυτόĎημοι$" - -" eo -syn match diffOnly "^Nur en .*" -syn match diffIdentical "^Dosieroj .* kaj .* estas samaj$" -syn match diffDiffer "^Dosieroj .* kaj .* estas malsamaj$" -syn match diffBDiffer "^Dosieroj .* kaj .* estas malsamaj$" -syn match diffIsA "^Dosiero .* estas .*, dum dosiero .* estas .*" -syn match diffNoEOL "^\\ Mankas linifino ĉe fino de dosiero" -syn match diffCommon "^Komunaj subdosierujoj: .* kaj .*" - -" es -syn match diffOnly "^SĂłlo en .*" -syn match diffIdentical "^Los ficheros .* y .* son idĂ©nticos$" -syn match diffDiffer "^Los ficheros .* y .* son distintos$" -syn match diffBDiffer "^Los ficheros binarios .* y .* son distintos$" -syn match diffIsA "^El fichero .* es un .* mientras que el .* es un .*" -syn match diffNoEOL "^\\ No hay ningĂşn carácter de nueva lĂ­nea al final del fichero" -syn match diffCommon "^Subdirectorios comunes: .* y .*" - -" fi -syn match diffOnly "^Vain hakemistossa .*" -syn match diffIdentical "^Tiedostot .* ja .* ovat identtiset$" -syn match diffDiffer "^Tiedostot .* ja .* eroavat$" -syn match diffBDiffer "^Binääritiedostot .* ja .* eroavat$" -syn match diffIsA "^Tiedosto .* on .*, kun taas tiedosto .* on .*" -syn match diffNoEOL "^\\ Ei rivinvaihtoa tiedoston lopussa" -syn match diffCommon "^Yhteiset alihakemistot: .* ja .*" - -" fr -syn match diffOnly "^Seulement dans .*" -syn match diffIdentical "^Les fichiers .* et .* sont identiques.*" -syn match diffDiffer "^Les fichiers .* et .* sont diffĂ©rents.*" -syn match diffBDiffer "^Les fichiers binaires .* et .* sont diffĂ©rents.*" -syn match diffIsA "^Le fichier .* est un .* alors que le fichier .* est un .*" -syn match diffNoEOL "^\\ Pas de fin de ligne Ă  la fin du fichier.*" -syn match diffCommon "^Les sous-rĂ©pertoires .* et .* sont identiques.*" - -" ga -syn match diffOnly "^I .* amháin: .*" -syn match diffIdentical "^Is comhionann iad na comhaid .* agus .*" -syn match diffDiffer "^Tá difrĂ­ocht idir na comhaid .* agus .*" -syn match diffBDiffer "^Tá difrĂ­ocht idir na comhaid .* agus .*" -syn match diffIsA "^Tá comhad .* ina .* ach tá comhad .* ina .*" -syn match diffNoEOL "^\\ Gan lĂ­ne nua ag an chomhadchrĂ­och" -syn match diffCommon "^Fochomhadlanna i gcoitianta: .* agus .*" - -" gl -syn match diffOnly "^SĂł en .*" -syn match diffIdentical "^Os ficheiros .* e .* son idĂ©nticos$" -syn match diffDiffer "^Os ficheiros .* e .* son diferentes$" -syn match diffBDiffer "^Os ficheiros binarios .* e .* son diferentes$" -syn match diffIsA "^O ficheiro .* Ă© un .* mentres que o ficheiro .* Ă© un .*" -syn match diffNoEOL "^\\ Non hai un salto de liña na fin da liña" -syn match diffCommon "^Subdirectorios comĂşns: .* e .*" - -" he -" ^.* are expansive patterns for long lines, so disabled unless we can match -" some specific hebrew chars -if search('\%u05d5\|\%u05d1', 'nw', '', 100) - syn match diffOnly "^.*-ב קר ×צמנ .*" - syn match diffIdentical "^םיהז םניה .*-ו .* םיצבקה$" - syn match diffDiffer "^הזמ ×”×– םינוש `.*'-ו `.*' םיצבקה$" - syn match diffBDiffer "^הזמ ×”×– םינוש `.*'-ו `.*' םיירניב םיצבק$" - syn match diffIsA "^.* .*-ל .* .* תוושהל ןתינ ×ל$" - syn match diffNoEOL "^\\ ץבוקה ףוסב השד.-הרוש ות רס." - syn match diffCommon "^.*-ו .* :תוהז תויקית-תת$" -endif - -" hr -syn match diffOnly "^Samo u .*" -syn match diffIdentical "^Datoteke .* i .* su identiÄŤne$" -syn match diffDiffer "^Datoteke .* i .* se razlikuju$" -syn match diffBDiffer "^Binarne datoteke .* i .* se razlikuju$" -syn match diffIsA "^Datoteka .* je .*, a datoteka .* je .*" -syn match diffNoEOL "^\\ Nema novog retka na kraju datoteke" -syn match diffCommon "^UobiÄŤajeni poddirektoriji: .* i .*" - -" hu -syn match diffOnly "^Csak .* -ben: .*" -syn match diffIdentical "^.* Ă©s .* fájlok azonosak$" -syn match diffDiffer "^A(z) .* Ă©s a(z) .* fájlok kĂĽlönböznek$" -syn match diffBDiffer "^A(z) .* Ă©s a(z) .* fájlok kĂĽlönböznek$" -syn match diffIsA "^A(z) .* fájl egy .*, viszont a(z) .* fájl egy .*" -syn match diffNoEOL "^\\ Nincs Ăşjsor a fájl vĂ©gĂ©n" -syn match diffCommon "^Közös alkönyvtárak: .* Ă©s .*" - -" id -syn match diffOnly "^Hanya dalam .*" -syn match diffIdentical "^File .* dan .* identik$" -syn match diffDiffer "^Berkas .* dan .* berbeda$" -syn match diffBDiffer "^File biner .* dan .* berbeda$" -syn match diffIsA "^File .* adalah .* sementara file .* adalah .*" -syn match diffNoEOL "^\\ Tidak ada baris-baru di akhir dari berkas" -syn match diffCommon "^Subdirektori sama: .* dan .*" - -" it -syn match diffOnly "^Solo in .*" -syn match diffIdentical "^I file .* e .* sono identici$" -syn match diffDiffer "^I file .* e .* sono diversi$" -syn match diffBDiffer "^I file .* e .* sono diversi$" -syn match diffBDiffer "^I file binari .* e .* sono diversi$" -syn match diffIsA "^File .* è un .* mentre file .* è un .*" -syn match diffNoEOL "^\\ Manca newline alla fine del file" -syn match diffCommon "^Sottodirectory in comune: .* e .*" - -" ja -syn match diffOnly "^.*ă ă‘ă«ç™şč¦‹: .*" -syn match diffIdentical "^ă•ァイă«.*ă¨.*ăŻĺŚä¸€$" -syn match diffDiffer "^ă•ァイă«.*ă¨.*ăŻé•ă„ăľă™$" -syn match diffBDiffer "^ăイăŠăŞăĽă»ă•ァイă«.*ă¨.*ăŻé•ă„ăľă™$" -syn match diffIsA "^ă•ァイă«.*ăŻ.*ă€ă•ァイă«.*ăŻ.*" -syn match diffNoEOL "^\\ ă•ァイă«ćś«ĺ°ľă«ć”ąčˇŚăŚă‚りăľă›ă‚“" -syn match diffCommon "^共通ă®ä¸‹ä˝Ťă‡ă‚Łă¬ă‚ŻăăŞăĽ: .*ă¨.*" - -" ja DiffUtils 3.3 -syn match diffOnly "^.* ă®ăżă«ĺ­ĺś¨: .*" -syn match diffIdentical "^ă•ァイ㫠.* 㨠.* ăŻĺŚä¸€ă§ă™$" -syn match diffDiffer "^ă•ァイ㫠.* 㨠.* ăŻç•°ăŞă‚Šăľă™$" -syn match diffBDiffer "^ăイăŠăŞăĽă•ァイ㫠.* ă¨.* ăŻç•°ăŞă‚Šăľă™$" -syn match diffIsA "^ă•ァイ㫠.* 㯠.* ă§ă™ă€‚一方ă€ă•ァイ㫠.* 㯠.* ă§ă™$" -syn match diffNoEOL "^\\ ă•ァイă«ćś«ĺ°ľă«ć”ąčˇŚăŚă‚りăľă›ă‚“" -syn match diffCommon "^共通ă®ă‚µă–ă‡ă‚Łă¬ă‚ŻăăŞăĽ: .* 㨠.*" - -" lv -syn match diffOnly "^Tikai iekš .*" -syn match diffIdentical "^Fails .* un .* ir identiski$" -syn match diffDiffer "^Faili .* un .* atšķiras$" -syn match diffBDiffer "^Faili .* un .* atšķiras$" -syn match diffBDiffer "^BinÄrie faili .* un .* atšķiras$" -syn match diffIsA "^Fails .* ir .* kamÄ“r fails .* ir .*" -syn match diffNoEOL "^\\ Nav jaunu rindu faila beigÄs" -syn match diffCommon "^KopÄ“jÄs apakšdirektorijas: .* un .*" - -" ms -syn match diffOnly "^Hanya dalam .*" -syn match diffIdentical "^Fail .* dan .* adalah serupa$" -syn match diffDiffer "^Fail .* dan .* berbeza$" -syn match diffBDiffer "^Fail .* dan .* berbeza$" -syn match diffIsA "^Fail .* adalah .* manakala fail .* adalah .*" -syn match diffNoEOL "^\\ Tiada baris baru pada penghujung fail" -syn match diffCommon "^Subdirektori umum: .* dan .*" - -" nl -syn match diffOnly "^Alleen in .*" -syn match diffIdentical "^Bestanden .* en .* zijn identiek$" -syn match diffDiffer "^Bestanden .* en .* zijn verschillend$" -syn match diffBDiffer "^Bestanden .* en .* zijn verschillend$" -syn match diffBDiffer "^Binaire bestanden .* en .* zijn verschillend$" -syn match diffIsA "^Bestand .* is een .* terwijl bestand .* een .* is$" -syn match diffNoEOL "^\\ Geen regeleindeteken (LF) aan einde van bestand" -syn match diffCommon "^Gemeenschappelijke submappen: .* en .*" - -" pl -syn match diffOnly "^Tylko w .*" -syn match diffIdentical "^Pliki .* i .* sÄ… identyczne$" -syn match diffDiffer "^Pliki .* i .* różniÄ… siÄ™$" -syn match diffBDiffer "^Pliki .* i .* różniÄ… siÄ™$" -syn match diffBDiffer "^Binarne pliki .* i .* różniÄ… siÄ™$" -syn match diffIsA "^Plik .* jest .*, podczas gdy plik .* jest .*" -syn match diffNoEOL "^\\ Brak znaku nowej linii na koĹ„cu pliku" -syn match diffCommon "^WspĂłlne podkatalogi: .* i .*" - -" pt_BR -syn match diffOnly "^Somente em .*" -syn match diffOnly "^Apenas em .*" -syn match diffIdentical "^Os aquivos .* e .* sĂŁo idĂŞnticos$" -syn match diffDiffer "^Os arquivos .* e .* sĂŁo diferentes$" -syn match diffBDiffer "^Os arquivos binários .* e .* sĂŁo diferentes$" -syn match diffIsA "^O arquivo .* Ă© .* enquanto o arquivo .* Ă© .*" -syn match diffNoEOL "^\\ Falta o caracter nova linha no final do arquivo" -syn match diffCommon "^SubdiretĂłrios idĂŞnticos: .* e .*" - -" ro -syn match diffOnly "^Doar Ă®n .*" -syn match diffIdentical "^FiĹźierele .* Ĺźi .* sunt identice$" -syn match diffDiffer "^FiĹźierele .* Ĺźi .* diferÄ$" -syn match diffBDiffer "^FiĹźierele binare .* Ĺźi .* diferÄ$" -syn match diffIsA "^FiĹźierul .* este un .* pe când fiĹźierul .* este un .*.$" -syn match diffNoEOL "^\\ Nici un element de linie nouÄ la sfârĹźitul fiĹźierului" -syn match diffCommon "^Subdirectoare comune: .* Ĺźi .*.$" - -" ru -syn match diffOnly "^Только в .*" -syn match diffIdentical "^Файлы .* и .* идентичны$" -syn match diffDiffer "^Файлы .* и .* различаютŃŃŹ$" -syn match diffBDiffer "^Файлы .* и .* различаютŃŃŹ$" -syn match diffIsA "^Файл .* это .*, тогда как файл .* -- .*" -syn match diffNoEOL "^\\ Đ’ конце файла нет новой Ńтроки" -syn match diffCommon "^Общие подкаталоги: .* и .*" - -" sr -syn match diffOnly "^Само Ń .*" -syn match diffIdentical "^Датотеке „.*“ и „.*“ Ńе подŃдараŃŃ$" -syn match diffDiffer "^Датотеке .* и .* различите$" -syn match diffBDiffer "^Бинарне датотеке .* и .* различите$" -syn match diffIsA "^Датотека „.*“ Ńе „.*“ док Ńе датотека „.*“ „.*“$" -syn match diffNoEOL "^\\ Без новог реда на краŃŃ Đ´Đ°Ń‚ĐľŃ‚ĐµĐşĐµ" -syn match diffCommon "^ЗаŃеднички поддиректориŃŃми: .* и .*" - -" sv -syn match diffOnly "^Endast i .*" -syn match diffIdentical "^Filerna .* och .* är lika$" -syn match diffDiffer "^Filerna .* och .* skiljer$" -syn match diffBDiffer "^Filerna .* och .* skiljer$" -syn match diffIsA "^Fil .* är en .* medan fil .* är en .*" -syn match diffBDiffer "^De binära filerna .* och .* skiljer$" -syn match diffIsA "^Filen .* är .* medan filen .* är .*" -syn match diffNoEOL "^\\ Ingen nyrad vid filslut" -syn match diffCommon "^Lika underkataloger: .* och .*" - -" tr -syn match diffOnly "^Yalnızca .*'da: .*" -syn match diffIdentical "^.* ve .* dosyaları birbirinin aynı$" -syn match diffDiffer "^.* ve .* dosyaları birbirinden farklı$" -syn match diffBDiffer "^.* ve .* dosyaları birbirinden farklı$" -syn match diffBDiffer "^İkili .* ve .* birbirinden farklı$" -syn match diffIsA "^.* dosyası, bir .*, halbuki .* dosyası bir .*" -syn match diffNoEOL "^\\ Dosya sonunda yenisatır yok." -syn match diffCommon "^Ortak alt dizinler: .* ve .*" - -" uk -syn match diffOnly "^ЛиŃе Ń .*" -syn match diffIdentical "^Файли .* та .* ідентичні$" -syn match diffDiffer "^Файли .* та .* відрізняютьŃŃŹ$" -syn match diffBDiffer "^Файли .* та .* відрізняютьŃŃŹ$" -syn match diffBDiffer "^Двійкові файли .* та .* відрізняютьŃŃŹ$" -syn match diffIsA "^Файл .* це .*, тоді ŃŹĐş файл .* -- .*" -syn match diffNoEOL "^\\ Наприкінці Ń„Đ°ĐąĐ»Ń Đ˝ĐµĐĽĐ°Ń” нового рядка" -syn match diffCommon "^Спільні підкаталоги: .* та .*" - -" vi -syn match diffOnly "^Chỉ trong .*" -syn match diffIdentical "^Hai táş­p tin .* vĂ  .* lĂ  báş±ng nhau.$" -syn match diffIdentical "^Cả .* vĂ  .* lĂ  cĂąng má»™t táş­p tin$" -syn match diffDiffer "^Hai táş­p tin .* vĂ  .* lĂ  khác nhau.$" -syn match diffBDiffer "^Hai táş­p tin nhị phân .* vĂ  .* khác nhau$" -syn match diffIsA "^Táş­p tin .* lĂ  má»™t .* trong khi táş­p tin .* lĂ  má»™t .*.$" -syn match diffBDiffer "^Hai táş­p tin .* vĂ  .* lĂ  khác nhau.$" -syn match diffIsA "^Táş­p tin .* lĂ  má»™t .* còn táş­p tin .* lĂ  má»™t .*.$" -syn match diffNoEOL "^\\ KhĂ´ng cĂł kĂ˝ tá»± dòng má»›i tại kĂŞt thức táş­p tin." -syn match diffCommon "^Thư mục con chung: .* vĂ  .*" - -" zh_CN -syn match diffOnly "^只在 .* ĺ­ĺś¨ďĽš.*" -syn match diffIdentical "^文件 .* ĺ’Ś .* 相ĺŚ$" -syn match diffDiffer "^文件 .* ĺ’Ś .* 不ĺŚ$" -syn match diffBDiffer "^二进ĺ¶ć–‡ä»¶ .* ĺ’Ś .* 不ĺŚ$" -syn match diffIsA "^文件 .* ćŻ.*而文件 .* ćŻ.*" -syn match diffNoEOL "^\\ 文件尾没有 newline 字符" -syn match diffCommon "^.* ĺ’Ś .* 有共ĺŚçš„ĺ­ç›®ĺ˝•$" - -" zh_TW -syn match diffOnly "^只在 .* ĺ­ĺś¨ďĽš.*" -syn match diffIdentical "^ćŞ”ćˇ .* ĺ’Ś .* 相ĺŚ$" -syn match diffDiffer "^ćŞ”ćˇ .* č‡ .* 不ĺŚ$" -syn match diffBDiffer "^二ĺ…碼檔 .* č‡ .* 不ĺŚ$" -syn match diffIsA "^ćŞ”ćˇ .* ćŻ.*č€ŚćŞ”ćˇ .* ćŻ.*" -syn match diffNoEOL "^\\ 檔ćˇćś«ć˛’有 newline ĺ­—ĺ…" -syn match diffCommon "^.* ĺ’Ś .* 有共ĺŚçš„副目錄$" - -endif - - -syn match diffRemoved "^-.*" -syn match diffRemoved "^<.*" -syn match diffAdded "^+.*" -syn match diffAdded "^>.*" -syn match diffChanged "^! .*" - -syn match diffSubname " @@..*"ms=s+3 contained -syn match diffLine "^@.*" contains=diffSubname -syn match diffLine "^\<\d\+\>.*" -syn match diffLine "^\*\*\*\*.*" -syn match diffLine "^---$" - -" Some versions of diff have lines like "#c#" and "#d#" (where # is a number) -syn match diffLine "^\d\+\(,\d\+\)\=[cda]\d\+\>.*" - -syn match diffFile "^diff\>.*" -syn match diffFile "^Index: .*" -syn match diffFile "^==== .*" - -if search('^@@ -\S\+ +\S\+ @@', 'nw', '', 100) - " unified - syn match diffOldFile "^--- .*" - syn match diffNewFile "^+++ .*" -else - " context / old style - syn match diffOldFile "^\*\*\* .*" - syn match diffNewFile "^--- .*" -endif - -" Used by git -syn match diffIndexLine "^index \x\x\x\x.*" - -syn match diffComment "^#.*" - -" Define the default highlighting. -" Only used when an item doesn't have highlighting yet -hi def link diffOldFile diffFile -hi def link diffNewFile diffFile -hi def link diffIndexLine PreProc -hi def link diffFile Type -hi def link diffOnly Constant -hi def link diffIdentical Constant -hi def link diffDiffer Constant -hi def link diffBDiffer Constant -hi def link diffIsA Constant -hi def link diffNoEOL Constant -hi def link diffCommon Constant -hi def link diffRemoved Removed -hi def link diffChanged Changed -hi def link diffAdded Added -hi def link diffLine Statement -hi def link diffSubname PreProc -hi def link diffComment Comment - -let b:current_syntax = "diff" - -" vim: ts=8 sw=2 diff --git a/uvim/runtime/syntax/dircolors.mnv b/uvim/runtime/syntax/dircolors.mnv new file mode 100644 index 0000000000..4b27b7b1aa --- /dev/null +++ b/uvim/runtime/syntax/dircolors.mnv @@ -0,0 +1,222 @@ +" MNV syntax file +" Language: dircolors(1) input file +" Maintainer: Jan Larres +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2018-02-19 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syntax keyword dircolorsTodo FIXME TODO XXX NOTE contained + +syntax region dircolorsComment start='#' end='$' contains=dircolorsTodo,@Spell + +syntax keyword dircolorsKeyword TERM LEFT LEFTCODE RIGHT RIGHTCODE END ENDCODE + +syntax keyword dircolorsKeyword NORMAL NORM FILE RESET DIR LNK LINK SYMLINK + \ MULTIHARDLINK FIFO SOCK DOOR BLK CHR ORPHAN + \ MISSING PIPE BLOCK CHR EXEC SETUID SETGID + \ CAPABILITY STICKY_OTHER_WRITABLE + \ OTHER_WRITABLE STICKY + +" Slackware only, ignored by GNU dircolors. +syntax keyword dircolorsKeyword COLOR OPTIONS EIGHTBIT + +syntax match dircolorsExtension '^\s*\zs[.*]\S\+' + +syntax match dircolorsEscape '\\[abefnrtv?_\\^#]' +syntax match dircolorsEscape '\\[0-9]\{3}' +syntax match dircolorsEscape '\\x[0-9a-f]\{3}' + +if !has('gui_running') && &t_Co == '' + syntax match dircolorsNumber '\<\d\+\>' + highlight default link dircolorsNumber Number +endif + +highlight default link dircolorsTodo Todo +highlight default link dircolorsComment Comment +highlight default link dircolorsKeyword Keyword +highlight default link dircolorsExtension Identifier +highlight default link dircolorsEscape Special + +function! s:set_guicolors() abort + let s:termguicolors = {} + + let s:termguicolors[0] = "Black" + let s:termguicolors[1] = "DarkRed" + let s:termguicolors[2] = "DarkGreen" + let s:termguicolors[3] = "DarkYellow" + let s:termguicolors[4] = "DarkBlue" + let s:termguicolors[5] = "DarkMagenta" + let s:termguicolors[6] = "DarkCyan" + let s:termguicolors[7] = "Gray" + let s:termguicolors[8] = "DarkGray" + let s:termguicolors[9] = "Red" + let s:termguicolors[10] = "Green" + let s:termguicolors[11] = "Yellow" + let s:termguicolors[12] = "Blue" + let s:termguicolors[13] = "Magenta" + let s:termguicolors[14] = "Cyan" + let s:termguicolors[15] = "White" + + let xterm_palette = ["00", "5f", "87", "af", "d7", "ff"] + + let cur_col = 16 + + for r in xterm_palette + for g in xterm_palette + for b in xterm_palette + let s:termguicolors[cur_col] = '#' . r . g . b + let cur_col += 1 + endfor + endfor + endfor + + for i in range(24) + let g = i * 0xa + 8 + let s:termguicolors[i + 232] = '#' . g . g . g + endfor +endfunction + +function! s:get_hi_str(color, place) abort + if a:color >= 0 && a:color <= 255 + if has('gui_running') + return ' gui' . a:place . '=' . s:termguicolors[a:color] + elseif a:color <= 7 || &t_Co == 256 || &t_Co == 88 + return ' cterm' . a:place . '=' . a:color + endif + endif + return '' +endfunction + +function! s:get_256color(colors) abort + if len(a:colors) >= 2 " May be fewer while editing + let [_five, color] = remove(a:colors, 0, 1) + if _five != '5' || color == '' + return -1 + else + return str2nr(color) + endif + else + return -1 + endif +endfunction + +function! s:preview_color(linenr) abort + let line = getline(a:linenr) + let defline = matchlist(line, '^\v([A-Z_]+|[*.]\S+)\s+([0-9;]+)') + if empty(defline) + return + endif + + let colordef = defline[2] + + let colors = split(colordef, ';') + + let hi_str = '' + let hi_attrs = [] + while len(colors) > 0 + let item = str2nr(remove(colors, 0)) + if item == 1 + call add(hi_attrs, 'bold') + elseif item == 3 + call add(hi_attrs, 'italic') + elseif item == 4 + call add(hi_attrs, 'underline') + elseif item == 7 + call add(hi_attrs, 'inverse') + elseif item >= 30 && item <= 37 + " ANSI SGR foreground color + let hi_str .= s:get_hi_str(item - 30, 'fg') + elseif item >= 40 && item <= 47 + " ANSI SGR background color + let hi_str .= s:get_hi_str(item - 40, 'bg') + elseif item >= 90 && item <= 97 + " ANSI SGR+8 foreground color (xterm 16-color support) + let hi_str .= s:get_hi_str(item - 82, 'fg') + elseif item >= 100 && item <= 107 + " ANSI SGR+8 background color (xterm 16-color support) + let hi_str .= s:get_hi_str(item - 92, 'bg') + elseif item == 38 + " Foreground for terminals with 88/256 color support + let color = s:get_256color(colors) + if color == -1 + break + endif + let hi_str .= s:get_hi_str(color, 'fg') + elseif item == 48 + " Background for terminals with 88/256 color support + let color = s:get_256color(colors) + if color == -1 + break + endif + let hi_str .= s:get_hi_str(color, 'bg') + endif + endwhile + + if hi_str == '' && empty(hi_attrs) + return + endif + + " Check whether we have already defined this color + redir => s:currentmatch + silent! execute 'syntax list' + redir END + + if s:currentmatch !~# '\/\\_s\\zs' . colordef . '\\ze\\_s\/' + " Append the buffer number to avoid problems with other dircolors + " buffers interfering + let bufnr = bufnr('%') + execute 'syntax match dircolorsColor' . b:dc_next_index . '_' . bufnr . + \ ' "\_s\zs' . colordef . '\ze\_s"' + let hi_attrs_str = '' + if !empty(hi_attrs) + if has('gui_running') + let hi_attrs_str = ' gui=' . join(hi_attrs, ',') + else + let hi_attrs_str = ' cterm=' . join(hi_attrs, ',') + endif + endif + execute 'highlight default dircolorsColor' . b:dc_next_index . '_' . + \ bufnr . hi_str . hi_attrs_str + let b:dc_next_index += 1 + endif +endfunction + +" Avoid accumulating too many definitions while editing +function! s:reset_colors() abort + if b:dc_next_index > 0 + let bufnr = bufnr('%') + for i in range(b:dc_next_index) + execute 'syntax clear dircolorsColor' . i . '_' . bufnr + execute 'highlight clear dircolorsColor' . i . '_' . bufnr + endfor + let b:dc_next_index = 0 + endif + + for linenr in range(1, line('$')) + call s:preview_color(linenr) + endfor +endfunction + +let b:dc_next_index = 0 + +if has('gui_running') + call s:set_guicolors() +endif + +if has('gui_running') || &t_Co != '' + call s:reset_colors() + + autocmd CursorMoved,CursorMovedI call s:preview_color('.') + autocmd CursorHold,CursorHoldI call s:reset_colors() +endif + +let b:current_syntax = "dircolors" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/dircolors.vim b/uvim/runtime/syntax/dircolors.vim deleted file mode 100644 index 24bc31ff7e..0000000000 --- a/uvim/runtime/syntax/dircolors.vim +++ /dev/null @@ -1,222 +0,0 @@ -" Vim syntax file -" Language: dircolors(1) input file -" Maintainer: Jan Larres -" Previous Maintainer: Nikolai Weibull -" Latest Revision: 2018-02-19 - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syntax keyword dircolorsTodo FIXME TODO XXX NOTE contained - -syntax region dircolorsComment start='#' end='$' contains=dircolorsTodo,@Spell - -syntax keyword dircolorsKeyword TERM LEFT LEFTCODE RIGHT RIGHTCODE END ENDCODE - -syntax keyword dircolorsKeyword NORMAL NORM FILE RESET DIR LNK LINK SYMLINK - \ MULTIHARDLINK FIFO SOCK DOOR BLK CHR ORPHAN - \ MISSING PIPE BLOCK CHR EXEC SETUID SETGID - \ CAPABILITY STICKY_OTHER_WRITABLE - \ OTHER_WRITABLE STICKY - -" Slackware only, ignored by GNU dircolors. -syntax keyword dircolorsKeyword COLOR OPTIONS EIGHTBIT - -syntax match dircolorsExtension '^\s*\zs[.*]\S\+' - -syntax match dircolorsEscape '\\[abefnrtv?_\\^#]' -syntax match dircolorsEscape '\\[0-9]\{3}' -syntax match dircolorsEscape '\\x[0-9a-f]\{3}' - -if !has('gui_running') && &t_Co == '' - syntax match dircolorsNumber '\<\d\+\>' - highlight default link dircolorsNumber Number -endif - -highlight default link dircolorsTodo Todo -highlight default link dircolorsComment Comment -highlight default link dircolorsKeyword Keyword -highlight default link dircolorsExtension Identifier -highlight default link dircolorsEscape Special - -function! s:set_guicolors() abort - let s:termguicolors = {} - - let s:termguicolors[0] = "Black" - let s:termguicolors[1] = "DarkRed" - let s:termguicolors[2] = "DarkGreen" - let s:termguicolors[3] = "DarkYellow" - let s:termguicolors[4] = "DarkBlue" - let s:termguicolors[5] = "DarkMagenta" - let s:termguicolors[6] = "DarkCyan" - let s:termguicolors[7] = "Gray" - let s:termguicolors[8] = "DarkGray" - let s:termguicolors[9] = "Red" - let s:termguicolors[10] = "Green" - let s:termguicolors[11] = "Yellow" - let s:termguicolors[12] = "Blue" - let s:termguicolors[13] = "Magenta" - let s:termguicolors[14] = "Cyan" - let s:termguicolors[15] = "White" - - let xterm_palette = ["00", "5f", "87", "af", "d7", "ff"] - - let cur_col = 16 - - for r in xterm_palette - for g in xterm_palette - for b in xterm_palette - let s:termguicolors[cur_col] = '#' . r . g . b - let cur_col += 1 - endfor - endfor - endfor - - for i in range(24) - let g = i * 0xa + 8 - let s:termguicolors[i + 232] = '#' . g . g . g - endfor -endfunction - -function! s:get_hi_str(color, place) abort - if a:color >= 0 && a:color <= 255 - if has('gui_running') - return ' gui' . a:place . '=' . s:termguicolors[a:color] - elseif a:color <= 7 || &t_Co == 256 || &t_Co == 88 - return ' cterm' . a:place . '=' . a:color - endif - endif - return '' -endfunction - -function! s:get_256color(colors) abort - if len(a:colors) >= 2 " May be fewer while editing - let [_five, color] = remove(a:colors, 0, 1) - if _five != '5' || color == '' - return -1 - else - return str2nr(color) - endif - else - return -1 - endif -endfunction - -function! s:preview_color(linenr) abort - let line = getline(a:linenr) - let defline = matchlist(line, '^\v([A-Z_]+|[*.]\S+)\s+([0-9;]+)') - if empty(defline) - return - endif - - let colordef = defline[2] - - let colors = split(colordef, ';') - - let hi_str = '' - let hi_attrs = [] - while len(colors) > 0 - let item = str2nr(remove(colors, 0)) - if item == 1 - call add(hi_attrs, 'bold') - elseif item == 3 - call add(hi_attrs, 'italic') - elseif item == 4 - call add(hi_attrs, 'underline') - elseif item == 7 - call add(hi_attrs, 'inverse') - elseif item >= 30 && item <= 37 - " ANSI SGR foreground color - let hi_str .= s:get_hi_str(item - 30, 'fg') - elseif item >= 40 && item <= 47 - " ANSI SGR background color - let hi_str .= s:get_hi_str(item - 40, 'bg') - elseif item >= 90 && item <= 97 - " ANSI SGR+8 foreground color (xterm 16-color support) - let hi_str .= s:get_hi_str(item - 82, 'fg') - elseif item >= 100 && item <= 107 - " ANSI SGR+8 background color (xterm 16-color support) - let hi_str .= s:get_hi_str(item - 92, 'bg') - elseif item == 38 - " Foreground for terminals with 88/256 color support - let color = s:get_256color(colors) - if color == -1 - break - endif - let hi_str .= s:get_hi_str(color, 'fg') - elseif item == 48 - " Background for terminals with 88/256 color support - let color = s:get_256color(colors) - if color == -1 - break - endif - let hi_str .= s:get_hi_str(color, 'bg') - endif - endwhile - - if hi_str == '' && empty(hi_attrs) - return - endif - - " Check whether we have already defined this color - redir => s:currentmatch - silent! execute 'syntax list' - redir END - - if s:currentmatch !~# '\/\\_s\\zs' . colordef . '\\ze\\_s\/' - " Append the buffer number to avoid problems with other dircolors - " buffers interfering - let bufnr = bufnr('%') - execute 'syntax match dircolorsColor' . b:dc_next_index . '_' . bufnr . - \ ' "\_s\zs' . colordef . '\ze\_s"' - let hi_attrs_str = '' - if !empty(hi_attrs) - if has('gui_running') - let hi_attrs_str = ' gui=' . join(hi_attrs, ',') - else - let hi_attrs_str = ' cterm=' . join(hi_attrs, ',') - endif - endif - execute 'highlight default dircolorsColor' . b:dc_next_index . '_' . - \ bufnr . hi_str . hi_attrs_str - let b:dc_next_index += 1 - endif -endfunction - -" Avoid accumulating too many definitions while editing -function! s:reset_colors() abort - if b:dc_next_index > 0 - let bufnr = bufnr('%') - for i in range(b:dc_next_index) - execute 'syntax clear dircolorsColor' . i . '_' . bufnr - execute 'highlight clear dircolorsColor' . i . '_' . bufnr - endfor - let b:dc_next_index = 0 - endif - - for linenr in range(1, line('$')) - call s:preview_color(linenr) - endfor -endfunction - -let b:dc_next_index = 0 - -if has('gui_running') - call s:set_guicolors() -endif - -if has('gui_running') || &t_Co != '' - call s:reset_colors() - - autocmd CursorMoved,CursorMovedI call s:preview_color('.') - autocmd CursorHold,CursorHoldI call s:reset_colors() -endif - -let b:current_syntax = "dircolors" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/dirpager.mnv b/uvim/runtime/syntax/dirpager.mnv new file mode 100644 index 0000000000..379da76258 --- /dev/null +++ b/uvim/runtime/syntax/dirpager.mnv @@ -0,0 +1,56 @@ +" MNV syntax file +" Maintainer: Thilo Six +" Contact: +" http://www.mnv.org/maillist.php#mnv-dev +" +" Description: display directory content inside MNV with syntax +" highlighting +" File: runtime/syntax/dirpager.mnv +" Last Change: 2022 Jun 14 +" Modeline: mnv: ts=8:sw=2:sts=2: +" +" Credits: dirpager.mnv is derived from Nikolai Weibulls dircolors.mnv +" +" License: MNV License +" MNV is Charityware, see ":help Uganda" +" +" Usage: $ ls -la | view -c "set ft=dirpager" - +" +" +",----[ ls(1posix) ]-------------------------------------------------- +" +" The character shall describe the type of file, as +" follows: +" +" d Directory. +" b Block special file. +" c Character special file. +" l (ell) Symbolic link. +" p FIFO. +" - Regular file. +" + +if exists("b:current_syntax") || &compatible + finish +endif + +setlocal nowrap + +syn keyword DirPagerTodo contained FIXME TODO XXX NOTE + +syn region DirPagerExe start='^...x\|^......x\|^.........x' end='$' contains=DirPagerTodo,@Spell +syn region DirPagerDir start='^d' end='$' contains=DirPagerTodo,@Spell +syn region DirPagerLink start='^l' end='$' contains=DirPagerTodo,@Spell +syn region DirPagerSpecial start='^b' end='$' contains=DirPagerTodo,@Spell +syn region DirPagerSpecial start='^c' end='$' contains=DirPagerTodo,@Spell +syn region DirPagerFifo start='^p' end='$' contains=DirPagerTodo,@Spell + +hi def link DirPagerTodo Todo +hi def DirPagerExe ctermfg=Green guifg=Green +hi def DirPagerDir ctermfg=Blue guifg=Blue +hi def DirPagerLink ctermfg=Cyan guifg=Cyan +hi def DirPagerSpecial ctermfg=Yellow guifg=Yellow +hi def DirPagerFifo ctermfg=Brown guifg=Brown + +let b:current_syntax = "dirpager" + diff --git a/uvim/runtime/syntax/dirpager.vim b/uvim/runtime/syntax/dirpager.vim deleted file mode 100644 index dc8b9867ab..0000000000 --- a/uvim/runtime/syntax/dirpager.vim +++ /dev/null @@ -1,56 +0,0 @@ -" Vim syntax file -" Maintainer: Thilo Six -" Contact: -" http://www.vim.org/maillist.php#vim-dev -" -" Description: display directory content inside Vim with syntax -" highlighting -" File: runtime/syntax/dirpager.vim -" Last Change: 2022 Jun 14 -" Modeline: vim: ts=8:sw=2:sts=2: -" -" Credits: dirpager.vim is derived from Nikolai Weibulls dircolors.vim -" -" License: VIM License -" Vim is Charityware, see ":help Uganda" -" -" Usage: $ ls -la | view -c "set ft=dirpager" - -" -" -",----[ ls(1posix) ]-------------------------------------------------- -" -" The character shall describe the type of file, as -" follows: -" -" d Directory. -" b Block special file. -" c Character special file. -" l (ell) Symbolic link. -" p FIFO. -" - Regular file. -" - -if exists("b:current_syntax") || &compatible - finish -endif - -setlocal nowrap - -syn keyword DirPagerTodo contained FIXME TODO XXX NOTE - -syn region DirPagerExe start='^...x\|^......x\|^.........x' end='$' contains=DirPagerTodo,@Spell -syn region DirPagerDir start='^d' end='$' contains=DirPagerTodo,@Spell -syn region DirPagerLink start='^l' end='$' contains=DirPagerTodo,@Spell -syn region DirPagerSpecial start='^b' end='$' contains=DirPagerTodo,@Spell -syn region DirPagerSpecial start='^c' end='$' contains=DirPagerTodo,@Spell -syn region DirPagerFifo start='^p' end='$' contains=DirPagerTodo,@Spell - -hi def link DirPagerTodo Todo -hi def DirPagerExe ctermfg=Green guifg=Green -hi def DirPagerDir ctermfg=Blue guifg=Blue -hi def DirPagerLink ctermfg=Cyan guifg=Cyan -hi def DirPagerSpecial ctermfg=Yellow guifg=Yellow -hi def DirPagerFifo ctermfg=Brown guifg=Brown - -let b:current_syntax = "dirpager" - diff --git a/uvim/runtime/syntax/diva.mnv b/uvim/runtime/syntax/diva.mnv new file mode 100644 index 0000000000..0de8ff5600 --- /dev/null +++ b/uvim/runtime/syntax/diva.mnv @@ -0,0 +1,96 @@ +" MNV syntax file +" Language: SKILL for Diva +" Maintainer: Toby Schaffer +" Last Change: 2001 May 09 +" Comments: SKILL is a Lisp-like programming language for use in EDA +" tools from Cadence Design Systems. It allows you to have +" a programming environment within the Cadence environment +" that gives you access to the complete tool set and design +" database. These items are for Diva verification rules decks. + +" Don't remove any old syntax stuff hanging around! We need stuff +" from skill.mnv. +if !exists("did_skill_syntax_inits") + runtime! syntax/skill.mnv +endif + +syn keyword divaDRCKeywords area enc notch ovlp sep width +syn keyword divaDRCKeywords app diffNet length lengtha lengthb +syn keyword divaDRCKeywords notParallel only_perp opposite parallel +syn keyword divaDRCKeywords sameNet shielded with_perp +syn keyword divaDRCKeywords edge edgea edgeb fig figa figb +syn keyword divaDRCKeywords normalGrow squareGrow message raw +syn keyword divaMeasKeywords perimeter length bends_all bends_full +syn keyword divaMeasKeywords bends_part corners_all corners_full +syn keyword divaMeasKeywords corners_part angles_all angles_full +syn keyword divaMeasKeywords angles_part fig_count butting coincident +syn keyword divaMeasKeywords over not_over outside inside enclosing +syn keyword divaMeasKeywords figure one_net two_net three_net grounded +syn keyword divaMeasKeywords polarized limit keep ignore +syn match divaCtrlFunctions "(ivIf\>"hs=s+1 +syn match divaCtrlFunctions "\"hs=s+1 +syn match divaCtrlFunctions "\"hs=s+1 +syn match divaCtrlFunctions "\"hs=s+1 +syn match divaCtrlFunctions "\"hs=s+1 +syn match divaCtrlFunctions "\"hs=s+1 +syn match divaExtFunctions "\"hs=s+1 +syn match divaExtFunctions "\<\(save\|measure\|attach\|multiLevel\|calculate\)Parasitic("he=e-1 +syn match divaExtFunctions "(\(calculate\|measure\)Parameter\>"hs=s+1 +syn match divaExtFunctions "\<\(calculate\|measure\)Parameter("he=e-1 +syn match divaExtFunctions "(measure\(Resistance\|Fringe\)\>"hs=s+1 +syn match divaExtFunctions "\"hs=s+1 +syn match divaExtFunctions "\"hs=s+1 +syn match divaDRCFunctions "\"hs=s+1 +syn match divaDRCFunctions "\"hs=s+1 +syn match divaDRCFunctions "\"hs=s+1 +syn match divaDRCFunctions "\"hs=s+1 +syn match divaFunctions "\<\(drcExtract\|lvs\)Rules("he=e-1 +syn match divaLayerFunctions "(saveDerived\>"hs=s+1 +syn match divaLayerFunctions "\"hs=s+1 +syn match divaLayerFunctions "\"hs=s+1 +syn match divaChkFunctions "\"hs=s+1 +syn match divaChkFunctions "\"hs=s+1 +syn match divaLVSFunctions "\"hs=s+1 +syn match divaLVSFunctions "\"hs=s+1 +syn match divaLVSFunctions "\"hs=s+1 +syn match divaLVSFunctions "\<\(permute\|prune\|remove\)Device("he=e-1 +syn match divaGeomFunctions "(geom\u\a\+\(45\|90\)\=\>"hs=s+1 +syn match divaGeomFunctions "\ -" Last Change: 2001 May 09 -" Comments: SKILL is a Lisp-like programming language for use in EDA -" tools from Cadence Design Systems. It allows you to have -" a programming environment within the Cadence environment -" that gives you access to the complete tool set and design -" database. These items are for Diva verification rules decks. - -" Don't remove any old syntax stuff hanging around! We need stuff -" from skill.vim. -if !exists("did_skill_syntax_inits") - runtime! syntax/skill.vim -endif - -syn keyword divaDRCKeywords area enc notch ovlp sep width -syn keyword divaDRCKeywords app diffNet length lengtha lengthb -syn keyword divaDRCKeywords notParallel only_perp opposite parallel -syn keyword divaDRCKeywords sameNet shielded with_perp -syn keyword divaDRCKeywords edge edgea edgeb fig figa figb -syn keyword divaDRCKeywords normalGrow squareGrow message raw -syn keyword divaMeasKeywords perimeter length bends_all bends_full -syn keyword divaMeasKeywords bends_part corners_all corners_full -syn keyword divaMeasKeywords corners_part angles_all angles_full -syn keyword divaMeasKeywords angles_part fig_count butting coincident -syn keyword divaMeasKeywords over not_over outside inside enclosing -syn keyword divaMeasKeywords figure one_net two_net three_net grounded -syn keyword divaMeasKeywords polarized limit keep ignore -syn match divaCtrlFunctions "(ivIf\>"hs=s+1 -syn match divaCtrlFunctions "\"hs=s+1 -syn match divaCtrlFunctions "\"hs=s+1 -syn match divaCtrlFunctions "\"hs=s+1 -syn match divaCtrlFunctions "\"hs=s+1 -syn match divaCtrlFunctions "\"hs=s+1 -syn match divaExtFunctions "\"hs=s+1 -syn match divaExtFunctions "\<\(save\|measure\|attach\|multiLevel\|calculate\)Parasitic("he=e-1 -syn match divaExtFunctions "(\(calculate\|measure\)Parameter\>"hs=s+1 -syn match divaExtFunctions "\<\(calculate\|measure\)Parameter("he=e-1 -syn match divaExtFunctions "(measure\(Resistance\|Fringe\)\>"hs=s+1 -syn match divaExtFunctions "\"hs=s+1 -syn match divaExtFunctions "\"hs=s+1 -syn match divaDRCFunctions "\"hs=s+1 -syn match divaDRCFunctions "\"hs=s+1 -syn match divaDRCFunctions "\"hs=s+1 -syn match divaDRCFunctions "\"hs=s+1 -syn match divaFunctions "\<\(drcExtract\|lvs\)Rules("he=e-1 -syn match divaLayerFunctions "(saveDerived\>"hs=s+1 -syn match divaLayerFunctions "\"hs=s+1 -syn match divaLayerFunctions "\"hs=s+1 -syn match divaChkFunctions "\"hs=s+1 -syn match divaChkFunctions "\"hs=s+1 -syn match divaLVSFunctions "\"hs=s+1 -syn match divaLVSFunctions "\"hs=s+1 -syn match divaLVSFunctions "\"hs=s+1 -syn match divaLVSFunctions "\<\(permute\|prune\|remove\)Device("he=e-1 -syn match divaGeomFunctions "(geom\u\a\+\(45\|90\)\=\>"hs=s+1 -syn match divaGeomFunctions "\ +" Last Change: 2021 Nov 29 +" 2026 Feb 12 by MNV Project add partial support #19386 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syntax case match + +" Mark illegal characters +syn match djangoError "%}\|}}\|#}" + +" Django template built-in tags and parameters +" 'comment' doesn't appear here because it gets special treatment +syn keyword djangoStatement contained autoescape csrf_token empty +" FIXME ==, !=, <, >, <=, and >= should be djangoStatements: +" syn keyword djangoStatement contained == != < > <= >= +syn keyword djangoStatement contained and as block endblock by cycle debug else elif +syn keyword djangoStatement contained extends filter endfilter firstof for +syn keyword djangoStatement contained endfor if endif ifchanged endifchanged +syn keyword djangoStatement contained ifequal endifequal ifnotequal +syn keyword djangoStatement contained endifnotequal in include load not now or +syn keyword djangoStatement contained parsed regroup reversed spaceless +syn keyword djangoStatement contained endspaceless ssi templatetag openblock +syn keyword djangoStatement contained closeblock openvariable closevariable +syn keyword djangoStatement contained openbrace closebrace opencomment +syn keyword djangoStatement contained closecomment widthratio url with endwith +syn keyword djangoStatement contained get_current_language trans noop blocktrans +syn keyword djangoStatement contained endblocktrans get_available_languages +syn keyword djangoStatement contained get_current_language_bidi plural +syn keyword djangoStatement contained translate blocktranslate endblocktranslate +syn keyword djangoStatement contained partialdef endpartialdef partial + +" Django templete built-in filters +syn keyword djangoFilter contained add addslashes capfirst center cut date +syn keyword djangoFilter contained default default_if_none dictsort +syn keyword djangoFilter contained dictsortreversed divisibleby escape escapejs +syn keyword djangoFilter contained filesizeformat first fix_ampersands +syn keyword djangoFilter contained floatformat get_digit join last length length_is +syn keyword djangoFilter contained linebreaks linebreaksbr linenumbers ljust +syn keyword djangoFilter contained lower make_list phone2numeric pluralize +syn keyword djangoFilter contained pprint random removetags rjust slice slugify +syn keyword djangoFilter contained safe safeseq stringformat striptags +syn keyword djangoFilter contained time timesince timeuntil title truncatechars +syn keyword djangoFilter contained truncatewords truncatewords_html unordered_list upper urlencode +syn keyword djangoFilter contained urlize urlizetrunc wordcount wordwrap yesno + +" Keywords to highlight within comments +syn keyword djangoTodo contained TODO FIXME XXX + +" Django template constants (always surrounded by double quotes) +syn region djangoArgument contained start=/"/ skip=/\\"/ end=/"/ + +" Mark illegal characters within tag and variables blocks +syn match djangoTagError contained "#}\|{{\|[^%]}}\|[&#]" +syn match djangoVarError contained "#}\|{%\|%}\|[<>!&#%]" + +" Django template tag and variable blocks +syn region djangoTagBlock start="{%" end="%}" contains=djangoStatement,djangoFilter,djangoArgument,djangoTagError display +syn region djangoVarBlock start="{{" end="}}" contains=djangoFilter,djangoArgument,djangoVarError display + +" Django template 'comment' tag and comment block +syn region djangoComment start="{%\s*comment\(\s\+.\{-}\)\?%}" end="{%\s*endcomment\s*%}" contains=djangoTodo +syn region djangoComBlock start="{#" end="#}" contains=djangoTodo + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link djangoTagBlock PreProc +hi def link djangoVarBlock PreProc +hi def link djangoStatement Statement +hi def link djangoFilter Identifier +hi def link djangoArgument Constant +hi def link djangoTagError Error +hi def link djangoVarError Error +hi def link djangoError Error +hi def link djangoComment Comment +hi def link djangoComBlock Comment +hi def link djangoTodo Todo + + +let b:current_syntax = "django" diff --git a/uvim/runtime/syntax/django.vim b/uvim/runtime/syntax/django.vim deleted file mode 100644 index 353221af08..0000000000 --- a/uvim/runtime/syntax/django.vim +++ /dev/null @@ -1,86 +0,0 @@ -" Vim syntax file -" Language: Django template -" Maintainer: Dave Hodder -" Last Change: 2021 Nov 29 -" 2026 Feb 12 by Vim Project add partial support #19386 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syntax case match - -" Mark illegal characters -syn match djangoError "%}\|}}\|#}" - -" Django template built-in tags and parameters -" 'comment' doesn't appear here because it gets special treatment -syn keyword djangoStatement contained autoescape csrf_token empty -" FIXME ==, !=, <, >, <=, and >= should be djangoStatements: -" syn keyword djangoStatement contained == != < > <= >= -syn keyword djangoStatement contained and as block endblock by cycle debug else elif -syn keyword djangoStatement contained extends filter endfilter firstof for -syn keyword djangoStatement contained endfor if endif ifchanged endifchanged -syn keyword djangoStatement contained ifequal endifequal ifnotequal -syn keyword djangoStatement contained endifnotequal in include load not now or -syn keyword djangoStatement contained parsed regroup reversed spaceless -syn keyword djangoStatement contained endspaceless ssi templatetag openblock -syn keyword djangoStatement contained closeblock openvariable closevariable -syn keyword djangoStatement contained openbrace closebrace opencomment -syn keyword djangoStatement contained closecomment widthratio url with endwith -syn keyword djangoStatement contained get_current_language trans noop blocktrans -syn keyword djangoStatement contained endblocktrans get_available_languages -syn keyword djangoStatement contained get_current_language_bidi plural -syn keyword djangoStatement contained translate blocktranslate endblocktranslate -syn keyword djangoStatement contained partialdef endpartialdef partial - -" Django templete built-in filters -syn keyword djangoFilter contained add addslashes capfirst center cut date -syn keyword djangoFilter contained default default_if_none dictsort -syn keyword djangoFilter contained dictsortreversed divisibleby escape escapejs -syn keyword djangoFilter contained filesizeformat first fix_ampersands -syn keyword djangoFilter contained floatformat get_digit join last length length_is -syn keyword djangoFilter contained linebreaks linebreaksbr linenumbers ljust -syn keyword djangoFilter contained lower make_list phone2numeric pluralize -syn keyword djangoFilter contained pprint random removetags rjust slice slugify -syn keyword djangoFilter contained safe safeseq stringformat striptags -syn keyword djangoFilter contained time timesince timeuntil title truncatechars -syn keyword djangoFilter contained truncatewords truncatewords_html unordered_list upper urlencode -syn keyword djangoFilter contained urlize urlizetrunc wordcount wordwrap yesno - -" Keywords to highlight within comments -syn keyword djangoTodo contained TODO FIXME XXX - -" Django template constants (always surrounded by double quotes) -syn region djangoArgument contained start=/"/ skip=/\\"/ end=/"/ - -" Mark illegal characters within tag and variables blocks -syn match djangoTagError contained "#}\|{{\|[^%]}}\|[&#]" -syn match djangoVarError contained "#}\|{%\|%}\|[<>!&#%]" - -" Django template tag and variable blocks -syn region djangoTagBlock start="{%" end="%}" contains=djangoStatement,djangoFilter,djangoArgument,djangoTagError display -syn region djangoVarBlock start="{{" end="}}" contains=djangoFilter,djangoArgument,djangoVarError display - -" Django template 'comment' tag and comment block -syn region djangoComment start="{%\s*comment\(\s\+.\{-}\)\?%}" end="{%\s*endcomment\s*%}" contains=djangoTodo -syn region djangoComBlock start="{#" end="#}" contains=djangoTodo - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link djangoTagBlock PreProc -hi def link djangoVarBlock PreProc -hi def link djangoStatement Statement -hi def link djangoFilter Identifier -hi def link djangoArgument Constant -hi def link djangoTagError Error -hi def link djangoVarError Error -hi def link djangoError Error -hi def link djangoComment Comment -hi def link djangoComBlock Comment -hi def link djangoTodo Todo - - -let b:current_syntax = "django" diff --git a/uvim/runtime/syntax/dns.mnv b/uvim/runtime/syntax/dns.mnv new file mode 100644 index 0000000000..bdb0b132f2 --- /dev/null +++ b/uvim/runtime/syntax/dns.mnv @@ -0,0 +1,5 @@ +" MNV syntax file +" Language: DNS/BIND Zone File + +" This has been replaced by the bindzone syntax +:runtime! syntax/bindzone.mnv diff --git a/uvim/runtime/syntax/dns.vim b/uvim/runtime/syntax/dns.vim deleted file mode 100644 index cc9a3f0e96..0000000000 --- a/uvim/runtime/syntax/dns.vim +++ /dev/null @@ -1,5 +0,0 @@ -" Vim syntax file -" Language: DNS/BIND Zone File - -" This has been replaced by the bindzone syntax -:runtime! syntax/bindzone.vim diff --git a/uvim/runtime/syntax/dnsmasq.mnv b/uvim/runtime/syntax/dnsmasq.mnv new file mode 100644 index 0000000000..eacab1efe9 --- /dev/null +++ b/uvim/runtime/syntax/dnsmasq.mnv @@ -0,0 +1,242 @@ +" MNV syntax file +" Maintainer: Thilo Six +" Contact: mnv-foo@xk2c-foo.de +" :3s+-foo++g +" Description: highlight dnsmasq configuration files +" File: runtime/syntax/dnsmasq.mnv +" Version: 2.76 +" Last Change: 2015 Sep 27 +" Modeline: mnv: ts=8:sw=2:sts=2: +" +" License: MNV License +" MNV is Charityware, see ":help Uganda" +" +" Options: You might want to add this to your mnvrc: +" +" if &background == "dark" +" let dnsmasq_backrgound_light = 0 +" else +" let dnsmasq_backrgound_light = 1 +" endif +" + +" quit when a syntax file was already loaded +if exists("b:current_syntax") || &compatible + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +if !exists("b:dnsmasq_backrgound_light") + if exists("dnsmasq_backrgound_light") + let b:dnsmasq_backrgound_light = dnsmasq_backrgound_light + else + let b:dnsmasq_backrgound_light = 0 + endif +endif + + +" case on +syn case match + +syn match DnsmasqValues "=.*"hs=s+1 contains=DnsmasqComment,DnsmasqSpecial +syn match DnsmasqSpecial display '=\|@\|,\|!\|:' nextgroup=DnsmasqValues +syn match DnsmasqSpecial "#" + +syn match DnsmasqIPv4 "\<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>" nextgroup=DnsmasqSubnet2,DnsmasqRange +syn match DnsmasqSubnet "\<255.\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{2\}\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>" +syn match DnsmasqSubnet2 contained "\/\([0-4]\?[0-9]\)\>" +syn match DnsmasqRange contained "-" +syn match DnsmasqMac "\<\(\x\x\?:\)\{5}\x\x\?" + +syn match DnsmasqTime "\<\(\d\{1,3}\)[hm]\>" + +" String +syn match DnsmasqString "\".*\"" contains=@Spell +syn match DnsmasqString "'.*'" contains=@Spell + +" Comments +syn keyword DnsmasqTodo FIXME TODO XXX NOTE contained +syn match DnsmasqComment "\(^\|\s\+\)#.*$" contains=@Spell,DnsmasqTodo + +" highlight trailing spaces +syn match DnsmasqTrailSpace "[ \t]\+$" +syn match DnsmasqTrailSpace "[ \t]\+$" containedin=ALL + +syn match DnsmasqKeywordSpecial "\:"me=e-1 +syn match DnsmasqKeywordSpecial "\:"me=e-1 +syn match DnsmasqKeywordSpecial ",\"hs=s+1 contains=DnsmasqSpecial +syn match DnsmasqKeywordSpecial ",\"hs=s+1 contains=DnsmasqSpecial +syn match DnsmasqKeywordSpecial "\:"me=e-1 +syn match DnsmasqKeywordSpecial "\:"me=e-1 +syn match DnsmasqKeywordSpecial "\:"me=e-1 +syn match DnsmasqKeywordSpecial "\:"me=e-1 +syn match DnsmasqKeywordSpecial "\:"me=e-1 +syn match DnsmasqKeywordSpecial "\:"me=e-1 +syn match DnsmasqKeywordSpecial "\:"me=e-1 +syn match DnsmasqKeywordSpecial ",\"hs=s+1 contains=DnsmasqSpecial +syn match DnsmasqKeywordSpecial "\:"me=e-1 + +syn match DnsmasqKeyword "^\s*add-mac\>" +syn match DnsmasqKeyword "^\s*add-subnet\>" +syn match DnsmasqKeyword "^\s*addn-hosts\>" +syn match DnsmasqKeyword "^\s*address\>" +syn match DnsmasqKeyword "^\s*alias\>" +syn match DnsmasqKeyword "^\s*all-servers\>" +syn match DnsmasqKeyword "^\s*auth-zone\>" +syn match DnsmasqKeyword "^\s*bind-dynamic\>" +syn match DnsmasqKeyword "^\s*bind-interfaces\>" +syn match DnsmasqKeyword "^\s*bogus-nxdomain\>" +syn match DnsmasqKeyword "^\s*bogus-priv\>" +syn match DnsmasqKeyword "^\s*bootp-dynamic\>" +syn match DnsmasqKeyword "^\s*bridge-interface\>" +syn match DnsmasqKeyword "^\s*cache-size\>" +syn match DnsmasqKeyword "^\s*clear-on-reload\>" +syn match DnsmasqKeyword "^\s*cname\>" +syn match DnsmasqKeyword "^\s*conf-dir\>" +syn match DnsmasqKeyword "^\s*conf-file\>" +syn match DnsmasqKeyword "^\s*conntrack\>" +syn match DnsmasqKeyword "^\s*dhcp-alternate-port\>" +syn match DnsmasqKeyword "^\s*dhcp-authoritative\>" +syn match DnsmasqKeyword "^\s*dhcp-boot\>" +syn match DnsmasqKeyword "^\s*dhcp-broadcast\>" +syn match DnsmasqKeyword "^\s*dhcp-circuitid\>" +syn match DnsmasqKeyword "^\s*dhcp-client-update\>" +syn match DnsmasqKeyword "^\s*dhcp-duid\>" +syn match DnsmasqKeyword "^\s*dhcp-fqdn\>" +syn match DnsmasqKeyword "^\s*dhcp-generate-names\>" +syn match DnsmasqKeyword "^\s*dhcp-host\>" +syn match DnsmasqKeyword "^\s*dhcp-hostsfile\>" +syn match DnsmasqKeyword "^\s*dhcp-ignore\>" +syn match DnsmasqKeyword "^\s*dhcp-ignore-names\>" +syn match DnsmasqKeyword "^\s*dhcp-lease-max\>" +syn match DnsmasqKeyword "^\s*dhcp-leasefile\>" +syn match DnsmasqKeyword "^\s*dhcp-luascript\>" +syn match DnsmasqKeyword "^\s*dhcp-mac\>" +syn match DnsmasqKeyword "^\s*dhcp-match\>" +syn match DnsmasqKeyword "^\s*dhcp-no-override\>" +syn match DnsmasqKeyword "^\s*dhcp-option\>" +syn match DnsmasqKeyword "^\s*dhcp-option-force\>" +syn match DnsmasqKeyword "^\s*dhcp-optsfile\>" +syn match DnsmasqKeyword "^\s*dhcp-proxy\>" +syn match DnsmasqKeyword "^\s*dhcp-range\>" +syn match DnsmasqKeyword "^\s*dhcp-relay\>" +syn match DnsmasqKeyword "^\s*dhcp-remoteid\>" +syn match DnsmasqKeyword "^\s*dhcp-script\>" +syn match DnsmasqKeyword "^\s*dhcp-scriptuser\>" +syn match DnsmasqKeyword "^\s*dhcp-sequential-ip\>" +syn match DnsmasqKeyword "^\s*dhcp-subscrid\>" +syn match DnsmasqKeyword "^\s*dhcp-userclass\>" +syn match DnsmasqKeyword "^\s*dhcp-vendorclass\>" +syn match DnsmasqKeyword "^\s*dhcp-hostsdir\>" +syn match DnsmasqKeyword "^\s*dns-rr\>" +syn match DnsmasqKeyword "^\s*dnssec\>" +syn match DnsmasqKeyword "^\s*dnssec-check-unsigned\>" +syn match DnsmasqKeyword "^\s*dnssec-no-timecheck\>" +syn match DnsmasqKeyword "^\s*dnssec-timestamp\>" +syn match DnsmasqKeyword "^\s*dns-forward-max\>" +syn match DnsmasqKeyword "^\s*domain\>" +syn match DnsmasqKeyword "^\s*domain-needed\>" +syn match DnsmasqKeyword "^\s*edns-packet-max\>" +syn match DnsmasqKeyword "^\s*enable-dbus\>" +syn match DnsmasqKeyword "^\s*enable-ra\>" +syn match DnsmasqKeyword "^\s*enable-tftp\>" +syn match DnsmasqKeyword "^\s*except-interface\>" +syn match DnsmasqKeyword "^\s*expand-hosts\>" +syn match DnsmasqKeyword "^\s*filterwin2k\>" +syn match DnsmasqKeyword "^\s*group\>" +syn match DnsmasqKeyword "^\s*host-record\>" +syn match DnsmasqKeyword "^\s*interface\>" +syn match DnsmasqKeyword "^\s*interface-name\>" +syn match DnsmasqKeyword "^\s*ipset\>" +syn match DnsmasqKeyword "^\s*ignore-address\>" +syn match DnsmasqKeyword "^\s*keep-in-foreground\>" +syn match DnsmasqKeyword "^\s*leasefile-ro\>" +syn match DnsmasqKeyword "^\s*listen-address\>" +syn match DnsmasqKeyword "^\s*local\>" +syn match DnsmasqKeyword "^\s*localmx\>" +syn match DnsmasqKeyword "^\s*local-ttl\>" +syn match DnsmasqKeyword "^\s*local-service\>" +syn match DnsmasqKeyword "^\s*localise-queries\>" +syn match DnsmasqKeyword "^\s*log-async\>" +syn match DnsmasqKeyword "^\s*log-dhcp\>" +syn match DnsmasqKeyword "^\s*log-facility\>" +syn match DnsmasqKeyword "^\s*log-queries\>" +syn match DnsmasqKeyword "^\s*max-ttl\>" +syn match DnsmasqKeyword "^\s*max-cache-ttl\>" +syn match DnsmasqKeyword "^\s*min-cache-ttl\>" +syn match DnsmasqKeyword "^\s*min-port\>" +syn match DnsmasqKeyword "^\s*mx-host\>" +syn match DnsmasqKeyword "^\s*mx-target\>" +syn match DnsmasqKeyword "^\s*naptr-record\>" +syn match DnsmasqKeyword "^\s*neg-ttl\>" +syn match DnsmasqKeyword "^\s*no-daemon\>" +syn match DnsmasqKeyword "^\s*no-dhcp-interface\>" +syn match DnsmasqKeyword "^\s*no-hosts\>" +syn match DnsmasqKeyword "^\s*no-negcache\>" +syn match DnsmasqKeyword "^\s*no-ping\>" +syn match DnsmasqKeyword "^\s*no-poll\>" +syn match DnsmasqKeyword "^\s*no-resolv\>" +syn match DnsmasqKeyword "^\s*pid-file\>" +syn match DnsmasqKeyword "^\s*port\>" +syn match DnsmasqKeyword "^\s*proxy-dnssec\>" +syn match DnsmasqKeyword "^\s*ptr-record\>" +syn match DnsmasqKeyword "^\s*pxe-prompt\>" +syn match DnsmasqKeyword "^\s*pxe-service\>" +syn match DnsmasqKeyword "^\s*query-port\>" +syn match DnsmasqKeyword "^\s*quiet-ra\>" +syn match DnsmasqKeyword "^\s*quiet-dhcp\>" +syn match DnsmasqKeyword "^\s*quiet-dhcp6\>" +syn match DnsmasqKeyword "^\s*ra-param\>" +syn match DnsmasqKeyword "^\s*read-ethers\>" +syn match DnsmasqKeyword "^\s*rebind-domain-ok\>" +syn match DnsmasqKeyword "^\s*rebind-localhost-ok\>" +syn match DnsmasqKeyword "^\s*resolv-file\>" +syn match DnsmasqKeyword "^\s*rev-server\>" +syn match DnsmasqKeyword "^\s*selfmx\>" +syn match DnsmasqKeyword "^\s*server\>" +syn match DnsmasqKeyword "^\s*servers-file\>" +syn match DnsmasqKeyword "^\s*srv-host\>" +syn match DnsmasqKeyword "^\s*stop-dns-rebind\>" +syn match DnsmasqKeyword "^\s*strict-order\>" +syn match DnsmasqKeyword "^\s*synth-domain\>" +syn match DnsmasqKeyword "^\s*tag-if\>" +syn match DnsmasqKeyword "^\s*test\>" +syn match DnsmasqKeyword "^\s*tftp-max\>" +syn match DnsmasqKeyword "^\s*tftp-lowercase\>" +syn match DnsmasqKeyword "^\s*tftp-no-blocksize\>" +syn match DnsmasqKeyword "^\s*tftp-no-fail\>" +syn match DnsmasqKeyword "^\s*tftp-port-range\>" +syn match DnsmasqKeyword "^\s*tftp-root\>" +syn match DnsmasqKeyword "^\s*tftp-secure\>" +syn match DnsmasqKeyword "^\s*tftp-unique-root\>" +syn match DnsmasqKeyword "^\s*txt-record\>" +syn match DnsmasqKeyword "^\s*user\>" +syn match DnsmasqKeyword "^\s*version\>" + + +if b:dnsmasq_backrgound_light == 1 + hi def DnsmasqKeyword ctermfg=DarkGreen guifg=DarkGreen +else + hi def link DnsmasqKeyword Keyword +endif +hi def link DnsmasqKeywordSpecial Type +hi def link DnsmasqTodo Todo +hi def link DnsmasqSpecial Constant +hi def link DnsmasqIPv4 Identifier +hi def link DnsmasqSubnet2 DnsmasqSubnet +hi def link DnsmasqSubnet DnsmasqMac +hi def link DnsmasqRange DnsmasqMac +hi def link DnsmasqMac Preproc +hi def link DnsmasqTime Preproc +hi def link DnsmasqComment Comment +hi def link DnsmasqTrailSpace DiffDelete +hi def link DnsmasqString Constant +hi def link DnsmasqValues Normal + +let b:current_syntax = "dnsmasq" + +let &cpo = s:cpo_save +unlet s:cpo_save + diff --git a/uvim/runtime/syntax/dnsmasq.vim b/uvim/runtime/syntax/dnsmasq.vim deleted file mode 100644 index a4cc8b577b..0000000000 --- a/uvim/runtime/syntax/dnsmasq.vim +++ /dev/null @@ -1,242 +0,0 @@ -" Vim syntax file -" Maintainer: Thilo Six -" Contact: vim-foo@xk2c-foo.de -" :3s+-foo++g -" Description: highlight dnsmasq configuration files -" File: runtime/syntax/dnsmasq.vim -" Version: 2.76 -" Last Change: 2015 Sep 27 -" Modeline: vim: ts=8:sw=2:sts=2: -" -" License: VIM License -" Vim is Charityware, see ":help Uganda" -" -" Options: You might want to add this to your vimrc: -" -" if &background == "dark" -" let dnsmasq_backrgound_light = 0 -" else -" let dnsmasq_backrgound_light = 1 -" endif -" - -" quit when a syntax file was already loaded -if exists("b:current_syntax") || &compatible - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -if !exists("b:dnsmasq_backrgound_light") - if exists("dnsmasq_backrgound_light") - let b:dnsmasq_backrgound_light = dnsmasq_backrgound_light - else - let b:dnsmasq_backrgound_light = 0 - endif -endif - - -" case on -syn case match - -syn match DnsmasqValues "=.*"hs=s+1 contains=DnsmasqComment,DnsmasqSpecial -syn match DnsmasqSpecial display '=\|@\|,\|!\|:' nextgroup=DnsmasqValues -syn match DnsmasqSpecial "#" - -syn match DnsmasqIPv4 "\<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>" nextgroup=DnsmasqSubnet2,DnsmasqRange -syn match DnsmasqSubnet "\<255.\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{2\}\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>" -syn match DnsmasqSubnet2 contained "\/\([0-4]\?[0-9]\)\>" -syn match DnsmasqRange contained "-" -syn match DnsmasqMac "\<\(\x\x\?:\)\{5}\x\x\?" - -syn match DnsmasqTime "\<\(\d\{1,3}\)[hm]\>" - -" String -syn match DnsmasqString "\".*\"" contains=@Spell -syn match DnsmasqString "'.*'" contains=@Spell - -" Comments -syn keyword DnsmasqTodo FIXME TODO XXX NOTE contained -syn match DnsmasqComment "\(^\|\s\+\)#.*$" contains=@Spell,DnsmasqTodo - -" highlight trailing spaces -syn match DnsmasqTrailSpace "[ \t]\+$" -syn match DnsmasqTrailSpace "[ \t]\+$" containedin=ALL - -syn match DnsmasqKeywordSpecial "\:"me=e-1 -syn match DnsmasqKeywordSpecial "\:"me=e-1 -syn match DnsmasqKeywordSpecial ",\"hs=s+1 contains=DnsmasqSpecial -syn match DnsmasqKeywordSpecial ",\"hs=s+1 contains=DnsmasqSpecial -syn match DnsmasqKeywordSpecial "\:"me=e-1 -syn match DnsmasqKeywordSpecial "\:"me=e-1 -syn match DnsmasqKeywordSpecial "\:"me=e-1 -syn match DnsmasqKeywordSpecial "\:"me=e-1 -syn match DnsmasqKeywordSpecial "\:"me=e-1 -syn match DnsmasqKeywordSpecial "\:"me=e-1 -syn match DnsmasqKeywordSpecial "\:"me=e-1 -syn match DnsmasqKeywordSpecial ",\"hs=s+1 contains=DnsmasqSpecial -syn match DnsmasqKeywordSpecial "\:"me=e-1 - -syn match DnsmasqKeyword "^\s*add-mac\>" -syn match DnsmasqKeyword "^\s*add-subnet\>" -syn match DnsmasqKeyword "^\s*addn-hosts\>" -syn match DnsmasqKeyword "^\s*address\>" -syn match DnsmasqKeyword "^\s*alias\>" -syn match DnsmasqKeyword "^\s*all-servers\>" -syn match DnsmasqKeyword "^\s*auth-zone\>" -syn match DnsmasqKeyword "^\s*bind-dynamic\>" -syn match DnsmasqKeyword "^\s*bind-interfaces\>" -syn match DnsmasqKeyword "^\s*bogus-nxdomain\>" -syn match DnsmasqKeyword "^\s*bogus-priv\>" -syn match DnsmasqKeyword "^\s*bootp-dynamic\>" -syn match DnsmasqKeyword "^\s*bridge-interface\>" -syn match DnsmasqKeyword "^\s*cache-size\>" -syn match DnsmasqKeyword "^\s*clear-on-reload\>" -syn match DnsmasqKeyword "^\s*cname\>" -syn match DnsmasqKeyword "^\s*conf-dir\>" -syn match DnsmasqKeyword "^\s*conf-file\>" -syn match DnsmasqKeyword "^\s*conntrack\>" -syn match DnsmasqKeyword "^\s*dhcp-alternate-port\>" -syn match DnsmasqKeyword "^\s*dhcp-authoritative\>" -syn match DnsmasqKeyword "^\s*dhcp-boot\>" -syn match DnsmasqKeyword "^\s*dhcp-broadcast\>" -syn match DnsmasqKeyword "^\s*dhcp-circuitid\>" -syn match DnsmasqKeyword "^\s*dhcp-client-update\>" -syn match DnsmasqKeyword "^\s*dhcp-duid\>" -syn match DnsmasqKeyword "^\s*dhcp-fqdn\>" -syn match DnsmasqKeyword "^\s*dhcp-generate-names\>" -syn match DnsmasqKeyword "^\s*dhcp-host\>" -syn match DnsmasqKeyword "^\s*dhcp-hostsfile\>" -syn match DnsmasqKeyword "^\s*dhcp-ignore\>" -syn match DnsmasqKeyword "^\s*dhcp-ignore-names\>" -syn match DnsmasqKeyword "^\s*dhcp-lease-max\>" -syn match DnsmasqKeyword "^\s*dhcp-leasefile\>" -syn match DnsmasqKeyword "^\s*dhcp-luascript\>" -syn match DnsmasqKeyword "^\s*dhcp-mac\>" -syn match DnsmasqKeyword "^\s*dhcp-match\>" -syn match DnsmasqKeyword "^\s*dhcp-no-override\>" -syn match DnsmasqKeyword "^\s*dhcp-option\>" -syn match DnsmasqKeyword "^\s*dhcp-option-force\>" -syn match DnsmasqKeyword "^\s*dhcp-optsfile\>" -syn match DnsmasqKeyword "^\s*dhcp-proxy\>" -syn match DnsmasqKeyword "^\s*dhcp-range\>" -syn match DnsmasqKeyword "^\s*dhcp-relay\>" -syn match DnsmasqKeyword "^\s*dhcp-remoteid\>" -syn match DnsmasqKeyword "^\s*dhcp-script\>" -syn match DnsmasqKeyword "^\s*dhcp-scriptuser\>" -syn match DnsmasqKeyword "^\s*dhcp-sequential-ip\>" -syn match DnsmasqKeyword "^\s*dhcp-subscrid\>" -syn match DnsmasqKeyword "^\s*dhcp-userclass\>" -syn match DnsmasqKeyword "^\s*dhcp-vendorclass\>" -syn match DnsmasqKeyword "^\s*dhcp-hostsdir\>" -syn match DnsmasqKeyword "^\s*dns-rr\>" -syn match DnsmasqKeyword "^\s*dnssec\>" -syn match DnsmasqKeyword "^\s*dnssec-check-unsigned\>" -syn match DnsmasqKeyword "^\s*dnssec-no-timecheck\>" -syn match DnsmasqKeyword "^\s*dnssec-timestamp\>" -syn match DnsmasqKeyword "^\s*dns-forward-max\>" -syn match DnsmasqKeyword "^\s*domain\>" -syn match DnsmasqKeyword "^\s*domain-needed\>" -syn match DnsmasqKeyword "^\s*edns-packet-max\>" -syn match DnsmasqKeyword "^\s*enable-dbus\>" -syn match DnsmasqKeyword "^\s*enable-ra\>" -syn match DnsmasqKeyword "^\s*enable-tftp\>" -syn match DnsmasqKeyword "^\s*except-interface\>" -syn match DnsmasqKeyword "^\s*expand-hosts\>" -syn match DnsmasqKeyword "^\s*filterwin2k\>" -syn match DnsmasqKeyword "^\s*group\>" -syn match DnsmasqKeyword "^\s*host-record\>" -syn match DnsmasqKeyword "^\s*interface\>" -syn match DnsmasqKeyword "^\s*interface-name\>" -syn match DnsmasqKeyword "^\s*ipset\>" -syn match DnsmasqKeyword "^\s*ignore-address\>" -syn match DnsmasqKeyword "^\s*keep-in-foreground\>" -syn match DnsmasqKeyword "^\s*leasefile-ro\>" -syn match DnsmasqKeyword "^\s*listen-address\>" -syn match DnsmasqKeyword "^\s*local\>" -syn match DnsmasqKeyword "^\s*localmx\>" -syn match DnsmasqKeyword "^\s*local-ttl\>" -syn match DnsmasqKeyword "^\s*local-service\>" -syn match DnsmasqKeyword "^\s*localise-queries\>" -syn match DnsmasqKeyword "^\s*log-async\>" -syn match DnsmasqKeyword "^\s*log-dhcp\>" -syn match DnsmasqKeyword "^\s*log-facility\>" -syn match DnsmasqKeyword "^\s*log-queries\>" -syn match DnsmasqKeyword "^\s*max-ttl\>" -syn match DnsmasqKeyword "^\s*max-cache-ttl\>" -syn match DnsmasqKeyword "^\s*min-cache-ttl\>" -syn match DnsmasqKeyword "^\s*min-port\>" -syn match DnsmasqKeyword "^\s*mx-host\>" -syn match DnsmasqKeyword "^\s*mx-target\>" -syn match DnsmasqKeyword "^\s*naptr-record\>" -syn match DnsmasqKeyword "^\s*neg-ttl\>" -syn match DnsmasqKeyword "^\s*no-daemon\>" -syn match DnsmasqKeyword "^\s*no-dhcp-interface\>" -syn match DnsmasqKeyword "^\s*no-hosts\>" -syn match DnsmasqKeyword "^\s*no-negcache\>" -syn match DnsmasqKeyword "^\s*no-ping\>" -syn match DnsmasqKeyword "^\s*no-poll\>" -syn match DnsmasqKeyword "^\s*no-resolv\>" -syn match DnsmasqKeyword "^\s*pid-file\>" -syn match DnsmasqKeyword "^\s*port\>" -syn match DnsmasqKeyword "^\s*proxy-dnssec\>" -syn match DnsmasqKeyword "^\s*ptr-record\>" -syn match DnsmasqKeyword "^\s*pxe-prompt\>" -syn match DnsmasqKeyword "^\s*pxe-service\>" -syn match DnsmasqKeyword "^\s*query-port\>" -syn match DnsmasqKeyword "^\s*quiet-ra\>" -syn match DnsmasqKeyword "^\s*quiet-dhcp\>" -syn match DnsmasqKeyword "^\s*quiet-dhcp6\>" -syn match DnsmasqKeyword "^\s*ra-param\>" -syn match DnsmasqKeyword "^\s*read-ethers\>" -syn match DnsmasqKeyword "^\s*rebind-domain-ok\>" -syn match DnsmasqKeyword "^\s*rebind-localhost-ok\>" -syn match DnsmasqKeyword "^\s*resolv-file\>" -syn match DnsmasqKeyword "^\s*rev-server\>" -syn match DnsmasqKeyword "^\s*selfmx\>" -syn match DnsmasqKeyword "^\s*server\>" -syn match DnsmasqKeyword "^\s*servers-file\>" -syn match DnsmasqKeyword "^\s*srv-host\>" -syn match DnsmasqKeyword "^\s*stop-dns-rebind\>" -syn match DnsmasqKeyword "^\s*strict-order\>" -syn match DnsmasqKeyword "^\s*synth-domain\>" -syn match DnsmasqKeyword "^\s*tag-if\>" -syn match DnsmasqKeyword "^\s*test\>" -syn match DnsmasqKeyword "^\s*tftp-max\>" -syn match DnsmasqKeyword "^\s*tftp-lowercase\>" -syn match DnsmasqKeyword "^\s*tftp-no-blocksize\>" -syn match DnsmasqKeyword "^\s*tftp-no-fail\>" -syn match DnsmasqKeyword "^\s*tftp-port-range\>" -syn match DnsmasqKeyword "^\s*tftp-root\>" -syn match DnsmasqKeyword "^\s*tftp-secure\>" -syn match DnsmasqKeyword "^\s*tftp-unique-root\>" -syn match DnsmasqKeyword "^\s*txt-record\>" -syn match DnsmasqKeyword "^\s*user\>" -syn match DnsmasqKeyword "^\s*version\>" - - -if b:dnsmasq_backrgound_light == 1 - hi def DnsmasqKeyword ctermfg=DarkGreen guifg=DarkGreen -else - hi def link DnsmasqKeyword Keyword -endif -hi def link DnsmasqKeywordSpecial Type -hi def link DnsmasqTodo Todo -hi def link DnsmasqSpecial Constant -hi def link DnsmasqIPv4 Identifier -hi def link DnsmasqSubnet2 DnsmasqSubnet -hi def link DnsmasqSubnet DnsmasqMac -hi def link DnsmasqRange DnsmasqMac -hi def link DnsmasqMac Preproc -hi def link DnsmasqTime Preproc -hi def link DnsmasqComment Comment -hi def link DnsmasqTrailSpace DiffDelete -hi def link DnsmasqString Constant -hi def link DnsmasqValues Normal - -let b:current_syntax = "dnsmasq" - -let &cpo = s:cpo_save -unlet s:cpo_save - diff --git a/uvim/runtime/syntax/docbk.mnv b/uvim/runtime/syntax/docbk.mnv new file mode 100644 index 0000000000..bf3136bfb7 --- /dev/null +++ b/uvim/runtime/syntax/docbk.mnv @@ -0,0 +1,186 @@ +" MNV syntax file +" Language: DocBook +" Maintainer: Devin Weaver +" Last Updated By: Shlomi Fish +" URL: http://tritarget.com/pub/mnv/syntax/docbk.mnv +" Last Change: 2012 Nov 28 +" Version: 1.2 (and modified after that) +" Thanks to Johannes Zellner for the default to XML +" suggestion. + +" REFERENCES: +" http://docbook.org/ +" http://www.open-oasis.org/docbook/ +" + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" Auto detect added by Bram Moolenaar +if !exists('b:docbk_type') + if expand('%:e') == "sgml" + let b:docbk_type = 'sgml' + else + let b:docbk_type = 'xml' + endif +endif + +if !exists('b:docbk_ver') + if exists('docbk_ver') + let b:docbk_ver = docbk_ver + else + let b:docbk_ver = 4 + endif +end + +if 'xml' == b:docbk_type + doau Syntax xml + syn cluster xmlTagHook add=docbkKeyword + syn cluster xmlRegionHook add=docbkRegion,docbkTitle,docbkRemark,docbkCite + syn case match +elseif 'sgml' == b:docbk_type + doau Syntax sgml + syn cluster sgmlTagHook add=docbkKeyword + syn cluster sgmlRegionHook add=docbkRegion,docbkTitle,docbkRemark,docbkCite + syn case ignore +endif + +syn keyword docbkKeyword abbrev abstract accel acronym address contained +syn keyword docbkKeyword affiliation alt anchor answer appendix contained +syn keyword docbkKeyword application area areaset areaspec arg contained +syn keyword docbkKeyword article artpagenums attribution audiodata contained +syn keyword docbkKeyword audioobject author authorgroup contained +syn keyword docbkKeyword authorinitials bibliocoverage bibliodiv contained +syn keyword docbkKeyword biblioentry bibliography biblioid contained +syn keyword docbkKeyword bibliolist bibliomisc bibliomixed contained +syn keyword docbkKeyword bibliomset biblioref bibliorelation contained +syn keyword docbkKeyword biblioset bibliosource blockquote book contained +syn keyword docbkKeyword bridgehead callout calloutlist caption contained +syn keyword docbkKeyword caution chapter citation citebiblioid contained +syn keyword docbkKeyword citerefentry citetitle city classname contained +syn keyword docbkKeyword classsynopsis classsynopsisinfo cmdsynopsis contained +syn keyword docbkKeyword co code col colgroup collab colophon contained +syn keyword docbkKeyword colspec command computeroutput confdates contained +syn keyword docbkKeyword confgroup confnum confsponsor conftitle contained +syn keyword docbkKeyword constant constructorsynopsis contractnum contained +syn keyword docbkKeyword contractsponsor contrib copyright coref contained +syn keyword docbkKeyword country database date dedication contained +syn keyword docbkKeyword destructorsynopsis edition editor email contained +syn keyword docbkKeyword emphasis entry entrytbl envar epigraph contained +syn keyword docbkKeyword equation errorcode errorname errortext contained +syn keyword docbkKeyword errortype example exceptionname fax contained +syn keyword docbkKeyword fieldsynopsis figure filename firstname contained +syn keyword docbkKeyword firstterm footnote footnoteref contained +syn keyword docbkKeyword foreignphrase formalpara funcdef funcparams contained +syn keyword docbkKeyword funcprototype funcsynopsis funcsynopsisinfo contained +syn keyword docbkKeyword function glossary glossdef glossdiv contained +syn keyword docbkKeyword glossentry glosslist glosssee glossseealso contained +syn keyword docbkKeyword glossterm group guibutton guiicon guilabel contained +syn keyword docbkKeyword guimenu guimenuitem guisubmenu hardware contained +syn keyword docbkKeyword holder honorific imagedata imageobject contained +syn keyword docbkKeyword imageobjectco important index indexdiv contained +syn keyword docbkKeyword indexentry indexterm informalequation contained +syn keyword docbkKeyword informalexample informalfigure contained +syn keyword docbkKeyword informaltable initializer inlineequation contained +syn keyword docbkKeyword inlinemediaobject interfacename issuenum contained +syn keyword docbkKeyword itemizedlist itermset jobtitle keycap contained +syn keyword docbkKeyword keycode keycombo keysym keyword keywordset contained +syn keyword docbkKeyword label legalnotice lineage lineannotation contained +syn keyword docbkKeyword link listitem literal literallayout contained +syn keyword docbkKeyword manvolnum markup mathphrase mediaobject contained +syn keyword docbkKeyword member menuchoice methodname methodparam contained +syn keyword docbkKeyword methodsynopsis modifier mousebutton msg contained +syn keyword docbkKeyword msgaud msgentry msgexplan msginfo msglevel contained +syn keyword docbkKeyword msgmain msgorig msgrel msgset msgsub contained +syn keyword docbkKeyword msgtext note olink ooclass ooexception contained +syn keyword docbkKeyword oointerface option optional orderedlist contained +syn keyword docbkKeyword orgdiv orgname otheraddr othercredit contained +syn keyword docbkKeyword othername package pagenums para paramdef contained +syn keyword docbkKeyword parameter part partintro personblurb contained +syn keyword docbkKeyword personname phone phrase pob postcode contained +syn keyword docbkKeyword preface primary primaryie printhistory contained +syn keyword docbkKeyword procedure productname productnumber contained +syn keyword docbkKeyword programlisting programlistingco prompt contained +syn keyword docbkKeyword property pubdate publisher publishername contained +syn keyword docbkKeyword qandadiv qandaentry qandaset question quote contained +syn keyword docbkKeyword refclass refdescriptor refentry contained +syn keyword docbkKeyword refentrytitle reference refmeta refmiscinfo contained +syn keyword docbkKeyword refname refnamediv refpurpose refsect1 contained +syn keyword docbkKeyword refsect2 refsect3 refsection refsynopsisdiv contained +syn keyword docbkKeyword releaseinfo remark replaceable returnvalue contained +syn keyword docbkKeyword revdescription revhistory revision contained +syn keyword docbkKeyword revnumber revremark row sbr screen screenco contained +syn keyword docbkKeyword screenshot secondary secondaryie sect1 contained +syn keyword docbkKeyword sect2 sect3 sect4 sect5 section see seealso contained +syn keyword docbkKeyword seealsoie seeie seg seglistitem contained +syn keyword docbkKeyword segmentedlist segtitle seriesvolnums set contained +syn keyword docbkKeyword setindex shortaffil shortcut sidebar contained +syn keyword docbkKeyword simpara simplelist simplemsgentry contained +syn keyword docbkKeyword simplesect spanspec state step contained +syn keyword docbkKeyword stepalternatives street subject subjectset contained +syn keyword docbkKeyword subjectterm subscript substeps subtitle contained +syn keyword docbkKeyword superscript surname symbol synopfragment contained +syn keyword docbkKeyword synopfragmentref synopsis systemitem table contained +syn keyword docbkKeyword task taskprerequisites taskrelated contained +syn keyword docbkKeyword tasksummary tbody td term termdef tertiary contained +syn keyword docbkKeyword tertiaryie textdata textobject tfoot tgroup contained +syn keyword docbkKeyword th thead tip title titleabbrev toc tocentry contained +syn keyword docbkKeyword token tr trademark type uri userinput contained +syn keyword docbkKeyword varargs variablelist varlistentry varname contained +syn keyword docbkKeyword videodata videoobject void volumenum contained +syn keyword docbkKeyword warning wordasword xref year contained + +if b:docbk_ver == 4 + syn keyword docbkKeyword ackno action appendixinfo articleinfo contained + syn keyword docbkKeyword authorblurb beginpage bibliographyinfo contained + syn keyword docbkKeyword blockinfo bookinfo chapterinfo contained + syn keyword docbkKeyword collabname corpauthor corpcredit contained + syn keyword docbkKeyword corpname glossaryinfo graphic graphicco contained + syn keyword docbkKeyword highlights indexinfo inlinegraphic contained + syn keyword docbkKeyword interface invpartnumber isbn issn lot contained + syn keyword docbkKeyword lotentry medialabel mediaobjectco contained + syn keyword docbkKeyword modespec objectinfo partinfo contained + syn keyword docbkKeyword prefaceinfo pubsnumber refentryinfo contained + syn keyword docbkKeyword referenceinfo refsect1info refsect2info contained + syn keyword docbkKeyword refsect3info refsectioninfo contained + syn keyword docbkKeyword refsynopsisdivinfo screeninfo sect1info contained + syn keyword docbkKeyword sect2info sect3info sect4info sect5info contained + syn keyword docbkKeyword sectioninfo setindexinfo setinfo contained + syn keyword docbkKeyword sgmltag sidebarinfo structfield contained + syn keyword docbkKeyword structname tocback tocchap tocfront contained + syn keyword docbkKeyword toclevel1 toclevel2 toclevel3 toclevel4 contained + syn keyword docbkKeyword toclevel5 tocpart ulink contained + +else + syn keyword docbkKeyword acknowledgements annotation arc contained + syn keyword docbkKeyword constraint constraintdef cover contained + syn keyword docbkKeyword extendedlink givenname info lhs locator contained + syn keyword docbkKeyword multimediaparam nonterminal org person contained + syn keyword docbkKeyword production productionrecap contained + syn keyword docbkKeyword productionset rhs tag tocdiv topic contained + +endif + +" Add special emphasis on some regions. Thanks to Rory Hunter for these ideas. +syn region docbkRegion start=""lc=10 end=""me=e-11 contains=xmlRegion,xmlEntity,sgmlRegion,sgmlEntity keepend +syn region docbkTitle start=""lc=7 end=""me=e-8 contains=xmlRegion,xmlEntity,sgmlRegion,sgmlEntity keepend +syn region docbkRemark start=""lc=8 end=""me=e-9 contains=xmlRegion,xmlEntity,sgmlRegion,sgmlEntity keepend +syn region docbkRemark start=""lc=9 end=""me=e-10 contains=xmlRegion,xmlEntity,sgmlRegion,sgmlEntity keepend +syn region docbkCite start=""lc=10 end=""me=e-11 contains=xmlRegion,xmlEntity,sgmlRegion,sgmlEntity keepend + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet +hi def DocbkBold term=bold cterm=bold gui=bold + +hi def link docbkKeyword Statement +hi def link docbkRegion DocbkBold +hi def link docbkTitle Title +hi def link docbkRemark Comment +hi def link docbkCite Constant + + +let b:current_syntax = "docbk" + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/docbk.vim b/uvim/runtime/syntax/docbk.vim deleted file mode 100644 index 809f2894e6..0000000000 --- a/uvim/runtime/syntax/docbk.vim +++ /dev/null @@ -1,186 +0,0 @@ -" Vim syntax file -" Language: DocBook -" Maintainer: Devin Weaver -" Last Updated By: Shlomi Fish -" URL: http://tritarget.com/pub/vim/syntax/docbk.vim -" Last Change: 2012 Nov 28 -" Version: 1.2 (and modified after that) -" Thanks to Johannes Zellner for the default to XML -" suggestion. - -" REFERENCES: -" http://docbook.org/ -" http://www.open-oasis.org/docbook/ -" - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" Auto detect added by Bram Moolenaar -if !exists('b:docbk_type') - if expand('%:e') == "sgml" - let b:docbk_type = 'sgml' - else - let b:docbk_type = 'xml' - endif -endif - -if !exists('b:docbk_ver') - if exists('docbk_ver') - let b:docbk_ver = docbk_ver - else - let b:docbk_ver = 4 - endif -end - -if 'xml' == b:docbk_type - doau Syntax xml - syn cluster xmlTagHook add=docbkKeyword - syn cluster xmlRegionHook add=docbkRegion,docbkTitle,docbkRemark,docbkCite - syn case match -elseif 'sgml' == b:docbk_type - doau Syntax sgml - syn cluster sgmlTagHook add=docbkKeyword - syn cluster sgmlRegionHook add=docbkRegion,docbkTitle,docbkRemark,docbkCite - syn case ignore -endif - -syn keyword docbkKeyword abbrev abstract accel acronym address contained -syn keyword docbkKeyword affiliation alt anchor answer appendix contained -syn keyword docbkKeyword application area areaset areaspec arg contained -syn keyword docbkKeyword article artpagenums attribution audiodata contained -syn keyword docbkKeyword audioobject author authorgroup contained -syn keyword docbkKeyword authorinitials bibliocoverage bibliodiv contained -syn keyword docbkKeyword biblioentry bibliography biblioid contained -syn keyword docbkKeyword bibliolist bibliomisc bibliomixed contained -syn keyword docbkKeyword bibliomset biblioref bibliorelation contained -syn keyword docbkKeyword biblioset bibliosource blockquote book contained -syn keyword docbkKeyword bridgehead callout calloutlist caption contained -syn keyword docbkKeyword caution chapter citation citebiblioid contained -syn keyword docbkKeyword citerefentry citetitle city classname contained -syn keyword docbkKeyword classsynopsis classsynopsisinfo cmdsynopsis contained -syn keyword docbkKeyword co code col colgroup collab colophon contained -syn keyword docbkKeyword colspec command computeroutput confdates contained -syn keyword docbkKeyword confgroup confnum confsponsor conftitle contained -syn keyword docbkKeyword constant constructorsynopsis contractnum contained -syn keyword docbkKeyword contractsponsor contrib copyright coref contained -syn keyword docbkKeyword country database date dedication contained -syn keyword docbkKeyword destructorsynopsis edition editor email contained -syn keyword docbkKeyword emphasis entry entrytbl envar epigraph contained -syn keyword docbkKeyword equation errorcode errorname errortext contained -syn keyword docbkKeyword errortype example exceptionname fax contained -syn keyword docbkKeyword fieldsynopsis figure filename firstname contained -syn keyword docbkKeyword firstterm footnote footnoteref contained -syn keyword docbkKeyword foreignphrase formalpara funcdef funcparams contained -syn keyword docbkKeyword funcprototype funcsynopsis funcsynopsisinfo contained -syn keyword docbkKeyword function glossary glossdef glossdiv contained -syn keyword docbkKeyword glossentry glosslist glosssee glossseealso contained -syn keyword docbkKeyword glossterm group guibutton guiicon guilabel contained -syn keyword docbkKeyword guimenu guimenuitem guisubmenu hardware contained -syn keyword docbkKeyword holder honorific imagedata imageobject contained -syn keyword docbkKeyword imageobjectco important index indexdiv contained -syn keyword docbkKeyword indexentry indexterm informalequation contained -syn keyword docbkKeyword informalexample informalfigure contained -syn keyword docbkKeyword informaltable initializer inlineequation contained -syn keyword docbkKeyword inlinemediaobject interfacename issuenum contained -syn keyword docbkKeyword itemizedlist itermset jobtitle keycap contained -syn keyword docbkKeyword keycode keycombo keysym keyword keywordset contained -syn keyword docbkKeyword label legalnotice lineage lineannotation contained -syn keyword docbkKeyword link listitem literal literallayout contained -syn keyword docbkKeyword manvolnum markup mathphrase mediaobject contained -syn keyword docbkKeyword member menuchoice methodname methodparam contained -syn keyword docbkKeyword methodsynopsis modifier mousebutton msg contained -syn keyword docbkKeyword msgaud msgentry msgexplan msginfo msglevel contained -syn keyword docbkKeyword msgmain msgorig msgrel msgset msgsub contained -syn keyword docbkKeyword msgtext note olink ooclass ooexception contained -syn keyword docbkKeyword oointerface option optional orderedlist contained -syn keyword docbkKeyword orgdiv orgname otheraddr othercredit contained -syn keyword docbkKeyword othername package pagenums para paramdef contained -syn keyword docbkKeyword parameter part partintro personblurb contained -syn keyword docbkKeyword personname phone phrase pob postcode contained -syn keyword docbkKeyword preface primary primaryie printhistory contained -syn keyword docbkKeyword procedure productname productnumber contained -syn keyword docbkKeyword programlisting programlistingco prompt contained -syn keyword docbkKeyword property pubdate publisher publishername contained -syn keyword docbkKeyword qandadiv qandaentry qandaset question quote contained -syn keyword docbkKeyword refclass refdescriptor refentry contained -syn keyword docbkKeyword refentrytitle reference refmeta refmiscinfo contained -syn keyword docbkKeyword refname refnamediv refpurpose refsect1 contained -syn keyword docbkKeyword refsect2 refsect3 refsection refsynopsisdiv contained -syn keyword docbkKeyword releaseinfo remark replaceable returnvalue contained -syn keyword docbkKeyword revdescription revhistory revision contained -syn keyword docbkKeyword revnumber revremark row sbr screen screenco contained -syn keyword docbkKeyword screenshot secondary secondaryie sect1 contained -syn keyword docbkKeyword sect2 sect3 sect4 sect5 section see seealso contained -syn keyword docbkKeyword seealsoie seeie seg seglistitem contained -syn keyword docbkKeyword segmentedlist segtitle seriesvolnums set contained -syn keyword docbkKeyword setindex shortaffil shortcut sidebar contained -syn keyword docbkKeyword simpara simplelist simplemsgentry contained -syn keyword docbkKeyword simplesect spanspec state step contained -syn keyword docbkKeyword stepalternatives street subject subjectset contained -syn keyword docbkKeyword subjectterm subscript substeps subtitle contained -syn keyword docbkKeyword superscript surname symbol synopfragment contained -syn keyword docbkKeyword synopfragmentref synopsis systemitem table contained -syn keyword docbkKeyword task taskprerequisites taskrelated contained -syn keyword docbkKeyword tasksummary tbody td term termdef tertiary contained -syn keyword docbkKeyword tertiaryie textdata textobject tfoot tgroup contained -syn keyword docbkKeyword th thead tip title titleabbrev toc tocentry contained -syn keyword docbkKeyword token tr trademark type uri userinput contained -syn keyword docbkKeyword varargs variablelist varlistentry varname contained -syn keyword docbkKeyword videodata videoobject void volumenum contained -syn keyword docbkKeyword warning wordasword xref year contained - -if b:docbk_ver == 4 - syn keyword docbkKeyword ackno action appendixinfo articleinfo contained - syn keyword docbkKeyword authorblurb beginpage bibliographyinfo contained - syn keyword docbkKeyword blockinfo bookinfo chapterinfo contained - syn keyword docbkKeyword collabname corpauthor corpcredit contained - syn keyword docbkKeyword corpname glossaryinfo graphic graphicco contained - syn keyword docbkKeyword highlights indexinfo inlinegraphic contained - syn keyword docbkKeyword interface invpartnumber isbn issn lot contained - syn keyword docbkKeyword lotentry medialabel mediaobjectco contained - syn keyword docbkKeyword modespec objectinfo partinfo contained - syn keyword docbkKeyword prefaceinfo pubsnumber refentryinfo contained - syn keyword docbkKeyword referenceinfo refsect1info refsect2info contained - syn keyword docbkKeyword refsect3info refsectioninfo contained - syn keyword docbkKeyword refsynopsisdivinfo screeninfo sect1info contained - syn keyword docbkKeyword sect2info sect3info sect4info sect5info contained - syn keyword docbkKeyword sectioninfo setindexinfo setinfo contained - syn keyword docbkKeyword sgmltag sidebarinfo structfield contained - syn keyword docbkKeyword structname tocback tocchap tocfront contained - syn keyword docbkKeyword toclevel1 toclevel2 toclevel3 toclevel4 contained - syn keyword docbkKeyword toclevel5 tocpart ulink contained - -else - syn keyword docbkKeyword acknowledgements annotation arc contained - syn keyword docbkKeyword constraint constraintdef cover contained - syn keyword docbkKeyword extendedlink givenname info lhs locator contained - syn keyword docbkKeyword multimediaparam nonterminal org person contained - syn keyword docbkKeyword production productionrecap contained - syn keyword docbkKeyword productionset rhs tag tocdiv topic contained - -endif - -" Add special emphasis on some regions. Thanks to Rory Hunter for these ideas. -syn region docbkRegion start=""lc=10 end=""me=e-11 contains=xmlRegion,xmlEntity,sgmlRegion,sgmlEntity keepend -syn region docbkTitle start=""lc=7 end=""me=e-8 contains=xmlRegion,xmlEntity,sgmlRegion,sgmlEntity keepend -syn region docbkRemark start=""lc=8 end=""me=e-9 contains=xmlRegion,xmlEntity,sgmlRegion,sgmlEntity keepend -syn region docbkRemark start=""lc=9 end=""me=e-10 contains=xmlRegion,xmlEntity,sgmlRegion,sgmlEntity keepend -syn region docbkCite start=""lc=10 end=""me=e-11 contains=xmlRegion,xmlEntity,sgmlRegion,sgmlEntity keepend - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet -hi def DocbkBold term=bold cterm=bold gui=bold - -hi def link docbkKeyword Statement -hi def link docbkRegion DocbkBold -hi def link docbkTitle Title -hi def link docbkRemark Comment -hi def link docbkCite Constant - - -let b:current_syntax = "docbk" - -" vim: ts=8 diff --git a/uvim/runtime/syntax/docbksgml.mnv b/uvim/runtime/syntax/docbksgml.mnv new file mode 100644 index 0000000000..a6128870bd --- /dev/null +++ b/uvim/runtime/syntax/docbksgml.mnv @@ -0,0 +1,7 @@ +" MNV syntax file +" Language: DocBook SGML +" Maintainer: Johannes Zellner +" Last Change: Sam, 07 Sep 2002 17:20:46 CEST + +let b:docbk_type="sgml" +runtime syntax/docbk.mnv diff --git a/uvim/runtime/syntax/docbksgml.vim b/uvim/runtime/syntax/docbksgml.vim deleted file mode 100644 index 544f3d290d..0000000000 --- a/uvim/runtime/syntax/docbksgml.vim +++ /dev/null @@ -1,7 +0,0 @@ -" Vim syntax file -" Language: DocBook SGML -" Maintainer: Johannes Zellner -" Last Change: Sam, 07 Sep 2002 17:20:46 CEST - -let b:docbk_type="sgml" -runtime syntax/docbk.vim diff --git a/uvim/runtime/syntax/docbkxml.mnv b/uvim/runtime/syntax/docbkxml.mnv new file mode 100644 index 0000000000..27749fe5d7 --- /dev/null +++ b/uvim/runtime/syntax/docbkxml.mnv @@ -0,0 +1,7 @@ +" MNV syntax file +" Language: DocBook XML +" Maintainer: Johannes Zellner +" Last Change: Sam, 07 Sep 2002 17:20:12 CEST + +let b:docbk_type="xml" +runtime syntax/docbk.mnv diff --git a/uvim/runtime/syntax/docbkxml.vim b/uvim/runtime/syntax/docbkxml.vim deleted file mode 100644 index 181af2cc80..0000000000 --- a/uvim/runtime/syntax/docbkxml.vim +++ /dev/null @@ -1,7 +0,0 @@ -" Vim syntax file -" Language: DocBook XML -" Maintainer: Johannes Zellner -" Last Change: Sam, 07 Sep 2002 17:20:12 CEST - -let b:docbk_type="xml" -runtime syntax/docbk.vim diff --git a/uvim/runtime/syntax/dockerfile.mnv b/uvim/runtime/syntax/dockerfile.mnv new file mode 100644 index 0000000000..01ca14ea09 --- /dev/null +++ b/uvim/runtime/syntax/dockerfile.mnv @@ -0,0 +1,44 @@ +" dockerfile.mnv - Syntax highlighting for Dockerfiles +" Maintainer: Honza Pokorny +" Last Change: 2024 Dec 20 +" License: BSD + +" https://docs.docker.com/engine/reference/builder/ + +if exists("b:current_syntax") + finish +endif + +syntax include @JSON syntax/json.mnv +unlet b:current_syntax + +syntax include @Shell syntax/sh.mnv +unlet b:current_syntax + +syntax case ignore +syntax match dockerfileLinePrefix /\v^\s*(ONBUILD\s+)?\ze\S/ contains=dockerfileKeyword nextgroup=dockerfileInstruction skipwhite +syntax region dockerfileFrom matchgroup=dockerfileKeyword start=/\v^\s*(FROM)\ze(\s|$)/ skip=/\v\\\_./ end=/\v((^|\s)AS(\s|$)|$)/ contains=dockerfileOption + +syntax keyword dockerfileKeyword contained ADD ARG CMD COPY ENTRYPOINT ENV EXPOSE HEALTHCHECK LABEL MAINTAINER ONBUILD RUN SHELL STOPSIGNAL USER VOLUME WORKDIR +syntax match dockerfileOption contained /\v(^|\s)\zs--\S+/ + +syntax match dockerfileInstruction contained /\v<(\S+)>(\s+--\S+)*/ contains=dockerfileKeyword,dockerfileOption skipwhite nextgroup=dockerfileValue +syntax match dockerfileInstruction contained /\v<(ADD|COPY)>(\s+--\S+)*/ contains=dockerfileKeyword,dockerfileOption skipwhite nextgroup=dockerfileJSON +syntax match dockerfileInstruction contained /\v<(HEALTHCHECK)>(\s+--\S+)*/ contains=dockerfileKeyword,dockerfileOption skipwhite nextgroup=dockerfileInstruction +syntax match dockerfileInstruction contained /\v<(CMD|ENTRYPOINT|RUN)>/ contains=dockerfileKeyword skipwhite nextgroup=dockerfileShell +syntax match dockerfileInstruction contained /\v<(CMD|ENTRYPOINT|RUN)>\ze\s+\[/ contains=dockerfileKeyword skipwhite nextgroup=dockerfileJSON +syntax match dockerfileInstruction contained /\v<(SHELL|VOLUME)>/ contains=dockerfileKeyword skipwhite nextgroup=dockerfileJSON + +syntax region dockerfileString contained start=/\v"/ skip=/\v\\./ end=/\v"/ +syntax region dockerfileJSON contained keepend start=/\v\[/ skip=/\v\\\_./ end=/\v$/ contains=@JSON +syntax region dockerfileShell contained keepend start=/\v/ skip=/\v\\\_./ end=/\v$/ contains=@Shell +syntax region dockerfileValue contained keepend start=/\v/ skip=/\v\\\_./ end=/\v$/ contains=dockerfileString + +syntax region dockerfileComment start=/\v^\s*#/ end=/\v$/ contains=@Spell + +hi def link dockerfileString String +hi def link dockerfileKeyword Keyword +hi def link dockerfileComment Comment +hi def link dockerfileOption Special + +let b:current_syntax = "dockerfile" diff --git a/uvim/runtime/syntax/dockerfile.vim b/uvim/runtime/syntax/dockerfile.vim deleted file mode 100644 index f1d612f4ad..0000000000 --- a/uvim/runtime/syntax/dockerfile.vim +++ /dev/null @@ -1,44 +0,0 @@ -" dockerfile.vim - Syntax highlighting for Dockerfiles -" Maintainer: Honza Pokorny -" Last Change: 2024 Dec 20 -" License: BSD - -" https://docs.docker.com/engine/reference/builder/ - -if exists("b:current_syntax") - finish -endif - -syntax include @JSON syntax/json.vim -unlet b:current_syntax - -syntax include @Shell syntax/sh.vim -unlet b:current_syntax - -syntax case ignore -syntax match dockerfileLinePrefix /\v^\s*(ONBUILD\s+)?\ze\S/ contains=dockerfileKeyword nextgroup=dockerfileInstruction skipwhite -syntax region dockerfileFrom matchgroup=dockerfileKeyword start=/\v^\s*(FROM)\ze(\s|$)/ skip=/\v\\\_./ end=/\v((^|\s)AS(\s|$)|$)/ contains=dockerfileOption - -syntax keyword dockerfileKeyword contained ADD ARG CMD COPY ENTRYPOINT ENV EXPOSE HEALTHCHECK LABEL MAINTAINER ONBUILD RUN SHELL STOPSIGNAL USER VOLUME WORKDIR -syntax match dockerfileOption contained /\v(^|\s)\zs--\S+/ - -syntax match dockerfileInstruction contained /\v<(\S+)>(\s+--\S+)*/ contains=dockerfileKeyword,dockerfileOption skipwhite nextgroup=dockerfileValue -syntax match dockerfileInstruction contained /\v<(ADD|COPY)>(\s+--\S+)*/ contains=dockerfileKeyword,dockerfileOption skipwhite nextgroup=dockerfileJSON -syntax match dockerfileInstruction contained /\v<(HEALTHCHECK)>(\s+--\S+)*/ contains=dockerfileKeyword,dockerfileOption skipwhite nextgroup=dockerfileInstruction -syntax match dockerfileInstruction contained /\v<(CMD|ENTRYPOINT|RUN)>/ contains=dockerfileKeyword skipwhite nextgroup=dockerfileShell -syntax match dockerfileInstruction contained /\v<(CMD|ENTRYPOINT|RUN)>\ze\s+\[/ contains=dockerfileKeyword skipwhite nextgroup=dockerfileJSON -syntax match dockerfileInstruction contained /\v<(SHELL|VOLUME)>/ contains=dockerfileKeyword skipwhite nextgroup=dockerfileJSON - -syntax region dockerfileString contained start=/\v"/ skip=/\v\\./ end=/\v"/ -syntax region dockerfileJSON contained keepend start=/\v\[/ skip=/\v\\\_./ end=/\v$/ contains=@JSON -syntax region dockerfileShell contained keepend start=/\v/ skip=/\v\\\_./ end=/\v$/ contains=@Shell -syntax region dockerfileValue contained keepend start=/\v/ skip=/\v\\\_./ end=/\v$/ contains=dockerfileString - -syntax region dockerfileComment start=/\v^\s*#/ end=/\v$/ contains=@Spell - -hi def link dockerfileString String -hi def link dockerfileKeyword Keyword -hi def link dockerfileComment Comment -hi def link dockerfileOption Special - -let b:current_syntax = "dockerfile" diff --git a/uvim/runtime/syntax/dosbatch.mnv b/uvim/runtime/syntax/dosbatch.mnv new file mode 100644 index 0000000000..60057f2630 --- /dev/null +++ b/uvim/runtime/syntax/dosbatch.mnv @@ -0,0 +1,164 @@ +" MNV syntax file +" Language: MS-DOS/Windows batch file (with NT command extensions) +" Maintainer: Mike Williams +" Filenames: *.bat +" Last Change: 3rd February 2024 +" 2024 Aug 14 by MNV Project: improve syntax (#15453) +" +" Options Flags: +" dosbatch_cmdextversion - 1 = Windows NT, 2 = Windows 2000 [default] +" dosbatch_colons_comment - any value to allow :: comments in code blocks +" + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" Set default highlighting to Win2k +if !exists("dosbatch_cmdextversion") + let dosbatch_cmdextversion = 2 +endif + +" DOS bat files are case insensitive but case preserving! +syn case ignore + +syn keyword dosbatchTodo contained TODO + +" Dosbat keywords +syn keyword dosbatchStatement goto call exit +syn keyword dosbatchConditional if else +syn keyword dosbatchRepeat for + +" Some operators - first lot are case sensitive! +syn case match +syn keyword dosbatchOperator EQU NEQ LSS LEQ GTR GEQ +syn case ignore +syn match dosbatchOperator "\s[-+\*/%!~]\s" +syn match dosbatchOperator "=" +syn match dosbatchOperator "[-+\*/%]=" +syn match dosbatchOperator "\s\(&\||\|^\|<<\|>>\)=\=\s" +syn match dosbatchIfOperator "if\s\+\(\(not\)\=\s\+\)\=\(exist\|defined\|errorlevel\|cmdextversion\)\="lc=2 + +" String - using "'s is a convenience rather than a requirement outside of FOR +syn match dosbatchString "\"[^"]*\"" contains=dosbatchVariable,dosBatchArgument,dosbatchSpecialChar,@dosbatchNumber,@Spell +syn match dosbatchString "\|]\|\^\@<=[)>|]\)*"lc=4 contains=dosbatchVariable,dosbatchArgument,dosbatchSpecialChar,@dosbatchNumber,@Spell +syn match dosbatchEchoOperator "\^]" +syn match dosbatchSpecialChar "\$[a-hl-npqstv_$+]" +syn match dosbatchSpecialChar "%%" + +" Environment variables +syn match dosbatchIdentifier contained "\s\h\w*\>" +syn match dosbatchVariable "%\h\w*%" +syn match dosbatchVariable "%\h\w*:\*\=[^=]*=[^%]*%" +syn match dosbatchVariable "%\h\w*:\~[-]\=\d\+\(,[-]\=\d\+\)\=%" contains=dosbatchInteger +syn match dosbatchVariable "!\h\w*!" +syn match dosbatchVariable "!\h\w*:\*\=[^=]*=[^!]*!" +syn match dosbatchVariable "!\h\w*:\~[-]\=\d\+\(,[-]\=\d\+\)\=!" contains=dosbatchInteger +syn match dosbatchSet "\s\h\w*[+-]\==\{-1}" contains=dosbatchIdentifier,dosbatchOperator + +" Args to bat files and for loops, etc +syn match dosbatchArgument "%\(\d\|\*\)" +syn match dosbatchArgument "%%[a-z]\>" +if dosbatch_cmdextversion == 1 + syn match dosbatchArgument "%\~[fdpnxs]\+\(\($PATH:\)\=[a-z]\|\d\)\>" +else + syn match dosbatchArgument "%\~[fdpnxsatz]\+\(\($PATH:\)\=[a-z]\|\d\)\>" +endif + +" Line labels +syn match dosbatchLabel "^\s*:\s*\h\w*\>" +syn match dosbatchLabel "\<\(goto\|call\)\s\+:\h\w*\>"lc=4 +syn match dosbatchLabel "\"lc=4 +syn match dosbatchLabel ":\h\w*\>" + +" Comments - usual rem but also two colons as first non-space is an idiom +syn match dosbatchRemComment "^rem\($\|\s.*$\)"lc=3 contains=dosbatchTodo,dosbatchSpecialChar,@dosbatchNumber,dosbatchVariable,dosbatchArgument,@Spell +syn match dosbatchRemComment "^@rem\($\|\s.*$\)"lc=4 contains=dosbatchTodo,@dosbatchNumber,dosbatchVariable,dosbatchArgument,@Spell +syn match dosbatchRemComment "\srem\($\|\s.*$\)"lc=4 contains=dosbatchTodo,dosbatchSpecialChar,@dosbatchNumber,dosbatchVariable,dosbatchArgument,@Spell +syn match dosbatchRemComment "\s@rem\($\|\s.*$\)"lc=5 contains=dosbatchTodo,@dosbatchNumber,dosbatchVariable,dosbatchArgument,@Spell +syn match dosbatchColonComment "\s*:\s*:.*$" contains=dosbatchTodo,dosbatchSpecialChar,@dosbatchNumber,dosbatchVariable,dosbatchArgument,@Spell + +" Commands code blocks +syn cluster dosbatchCodeBlockComment contains=dosbatchRemComment +if exists("dosbatch_colons_comment") + syn cluster dosbatchCodeBlockComment add=dosbatchColonComment +else + syn match dosbatchColonCommentErr contained "\s*:\s*:.*$" +endif +syn match dosbatchColonCommentErr contained "\s*:\s*:[^)]*\(\(\n\s*\)\?)\)\@=" +syn region dosbatchCodeBlock transparent start=+(+ end=+)+ contains=dosbatchString,dosbatchVariable,dosBatchArgument,@dosbatchNumber,dosbatchImplicit,dosbatchStatement,dosbatchConditional,dosbatchRepeat,dosbatchOperator,dosbatchIfOperator,@dosbatchCodeBlockComment,dosbatchColonCommentErr,dosbatchCodeBlock +syn match dosbatchCodeBlockErr ")" + +syn sync match dosbatchSyncCodeBlock grouphere NONE "^)\s*$" + +syn keyword dosbatchImplicit append assoc at attrib break cacls cd chcp chdir +syn keyword dosbatchImplicit chkdsk chkntfs cls cmd color comp compact convert copy +syn keyword dosbatchImplicit date del dir diskcomp diskcopy doskey echo endlocal +syn keyword dosbatchImplicit erase fc find findstr format ftype +syn keyword dosbatchImplicit graftabl help keyb label md mkdir mode more move +syn keyword dosbatchImplicit path pause popd print prompt pushd rd recover rem +syn keyword dosbatchImplicit ren rename replace restore rmdir set setlocal shift +syn keyword dosbatchImplicit sort start subst time title tree type ver verify +syn keyword dosbatchImplicit vol xcopy + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link dosbatchTodo Todo +hi def link dosbatchError Error +hi def link dosbatchCodeBlockErr dosbatchError +hi def link dosbatchColonCommentErr dosbatchError + +hi def link dosbatchStatement Statement +hi def link dosbatchCommands dosbatchStatement +hi def link dosbatchLabel Label +hi def link dosbatchConditional Conditional +hi def link dosbatchRepeat Repeat + +hi def link dosbatchOperator Operator +hi def link dosbatchEchoOperator dosbatchOperator +hi def link dosbatchIfOperator dosbatchOperator + +hi def link dosbatchArgument Identifier +hi def link dosbatchIdentifier Identifier +hi def link dosbatchVariable dosbatchIdentifier + +hi def link dosbatchSpecialChar SpecialChar +hi def link dosbatchString String +hi def link dosbatchNumber Number +hi def link dosbatchInteger dosbatchNumber +hi def link dosbatchHex dosbatchNumber +hi def link dosbatchBinary dosbatchNumber +hi def link dosbatchOctal dosbatchNumber + +hi def link dosbatchComment Comment +hi def link dosbatchRemComment dosbatchComment +hi def link dosbatchColonComment dosbatchComment + +hi def link dosbatchImplicit Function + +hi def link dosbatchSwitch Special + +hi def link dosbatchCmd PreProc + + +let b:current_syntax = "dosbatch" + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/dosbatch.vim b/uvim/runtime/syntax/dosbatch.vim deleted file mode 100644 index 0c3e99be3b..0000000000 --- a/uvim/runtime/syntax/dosbatch.vim +++ /dev/null @@ -1,164 +0,0 @@ -" Vim syntax file -" Language: MS-DOS/Windows batch file (with NT command extensions) -" Maintainer: Mike Williams -" Filenames: *.bat -" Last Change: 3rd February 2024 -" 2024 Aug 14 by Vim Project: improve syntax (#15453) -" -" Options Flags: -" dosbatch_cmdextversion - 1 = Windows NT, 2 = Windows 2000 [default] -" dosbatch_colons_comment - any value to allow :: comments in code blocks -" - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" Set default highlighting to Win2k -if !exists("dosbatch_cmdextversion") - let dosbatch_cmdextversion = 2 -endif - -" DOS bat files are case insensitive but case preserving! -syn case ignore - -syn keyword dosbatchTodo contained TODO - -" Dosbat keywords -syn keyword dosbatchStatement goto call exit -syn keyword dosbatchConditional if else -syn keyword dosbatchRepeat for - -" Some operators - first lot are case sensitive! -syn case match -syn keyword dosbatchOperator EQU NEQ LSS LEQ GTR GEQ -syn case ignore -syn match dosbatchOperator "\s[-+\*/%!~]\s" -syn match dosbatchOperator "=" -syn match dosbatchOperator "[-+\*/%]=" -syn match dosbatchOperator "\s\(&\||\|^\|<<\|>>\)=\=\s" -syn match dosbatchIfOperator "if\s\+\(\(not\)\=\s\+\)\=\(exist\|defined\|errorlevel\|cmdextversion\)\="lc=2 - -" String - using "'s is a convenience rather than a requirement outside of FOR -syn match dosbatchString "\"[^"]*\"" contains=dosbatchVariable,dosBatchArgument,dosbatchSpecialChar,@dosbatchNumber,@Spell -syn match dosbatchString "\|]\|\^\@<=[)>|]\)*"lc=4 contains=dosbatchVariable,dosbatchArgument,dosbatchSpecialChar,@dosbatchNumber,@Spell -syn match dosbatchEchoOperator "\^]" -syn match dosbatchSpecialChar "\$[a-hl-npqstv_$+]" -syn match dosbatchSpecialChar "%%" - -" Environment variables -syn match dosbatchIdentifier contained "\s\h\w*\>" -syn match dosbatchVariable "%\h\w*%" -syn match dosbatchVariable "%\h\w*:\*\=[^=]*=[^%]*%" -syn match dosbatchVariable "%\h\w*:\~[-]\=\d\+\(,[-]\=\d\+\)\=%" contains=dosbatchInteger -syn match dosbatchVariable "!\h\w*!" -syn match dosbatchVariable "!\h\w*:\*\=[^=]*=[^!]*!" -syn match dosbatchVariable "!\h\w*:\~[-]\=\d\+\(,[-]\=\d\+\)\=!" contains=dosbatchInteger -syn match dosbatchSet "\s\h\w*[+-]\==\{-1}" contains=dosbatchIdentifier,dosbatchOperator - -" Args to bat files and for loops, etc -syn match dosbatchArgument "%\(\d\|\*\)" -syn match dosbatchArgument "%%[a-z]\>" -if dosbatch_cmdextversion == 1 - syn match dosbatchArgument "%\~[fdpnxs]\+\(\($PATH:\)\=[a-z]\|\d\)\>" -else - syn match dosbatchArgument "%\~[fdpnxsatz]\+\(\($PATH:\)\=[a-z]\|\d\)\>" -endif - -" Line labels -syn match dosbatchLabel "^\s*:\s*\h\w*\>" -syn match dosbatchLabel "\<\(goto\|call\)\s\+:\h\w*\>"lc=4 -syn match dosbatchLabel "\"lc=4 -syn match dosbatchLabel ":\h\w*\>" - -" Comments - usual rem but also two colons as first non-space is an idiom -syn match dosbatchRemComment "^rem\($\|\s.*$\)"lc=3 contains=dosbatchTodo,dosbatchSpecialChar,@dosbatchNumber,dosbatchVariable,dosbatchArgument,@Spell -syn match dosbatchRemComment "^@rem\($\|\s.*$\)"lc=4 contains=dosbatchTodo,@dosbatchNumber,dosbatchVariable,dosbatchArgument,@Spell -syn match dosbatchRemComment "\srem\($\|\s.*$\)"lc=4 contains=dosbatchTodo,dosbatchSpecialChar,@dosbatchNumber,dosbatchVariable,dosbatchArgument,@Spell -syn match dosbatchRemComment "\s@rem\($\|\s.*$\)"lc=5 contains=dosbatchTodo,@dosbatchNumber,dosbatchVariable,dosbatchArgument,@Spell -syn match dosbatchColonComment "\s*:\s*:.*$" contains=dosbatchTodo,dosbatchSpecialChar,@dosbatchNumber,dosbatchVariable,dosbatchArgument,@Spell - -" Commands code blocks -syn cluster dosbatchCodeBlockComment contains=dosbatchRemComment -if exists("dosbatch_colons_comment") - syn cluster dosbatchCodeBlockComment add=dosbatchColonComment -else - syn match dosbatchColonCommentErr contained "\s*:\s*:.*$" -endif -syn match dosbatchColonCommentErr contained "\s*:\s*:[^)]*\(\(\n\s*\)\?)\)\@=" -syn region dosbatchCodeBlock transparent start=+(+ end=+)+ contains=dosbatchString,dosbatchVariable,dosBatchArgument,@dosbatchNumber,dosbatchImplicit,dosbatchStatement,dosbatchConditional,dosbatchRepeat,dosbatchOperator,dosbatchIfOperator,@dosbatchCodeBlockComment,dosbatchColonCommentErr,dosbatchCodeBlock -syn match dosbatchCodeBlockErr ")" - -syn sync match dosbatchSyncCodeBlock grouphere NONE "^)\s*$" - -syn keyword dosbatchImplicit append assoc at attrib break cacls cd chcp chdir -syn keyword dosbatchImplicit chkdsk chkntfs cls cmd color comp compact convert copy -syn keyword dosbatchImplicit date del dir diskcomp diskcopy doskey echo endlocal -syn keyword dosbatchImplicit erase fc find findstr format ftype -syn keyword dosbatchImplicit graftabl help keyb label md mkdir mode more move -syn keyword dosbatchImplicit path pause popd print prompt pushd rd recover rem -syn keyword dosbatchImplicit ren rename replace restore rmdir set setlocal shift -syn keyword dosbatchImplicit sort start subst time title tree type ver verify -syn keyword dosbatchImplicit vol xcopy - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link dosbatchTodo Todo -hi def link dosbatchError Error -hi def link dosbatchCodeBlockErr dosbatchError -hi def link dosbatchColonCommentErr dosbatchError - -hi def link dosbatchStatement Statement -hi def link dosbatchCommands dosbatchStatement -hi def link dosbatchLabel Label -hi def link dosbatchConditional Conditional -hi def link dosbatchRepeat Repeat - -hi def link dosbatchOperator Operator -hi def link dosbatchEchoOperator dosbatchOperator -hi def link dosbatchIfOperator dosbatchOperator - -hi def link dosbatchArgument Identifier -hi def link dosbatchIdentifier Identifier -hi def link dosbatchVariable dosbatchIdentifier - -hi def link dosbatchSpecialChar SpecialChar -hi def link dosbatchString String -hi def link dosbatchNumber Number -hi def link dosbatchInteger dosbatchNumber -hi def link dosbatchHex dosbatchNumber -hi def link dosbatchBinary dosbatchNumber -hi def link dosbatchOctal dosbatchNumber - -hi def link dosbatchComment Comment -hi def link dosbatchRemComment dosbatchComment -hi def link dosbatchColonComment dosbatchComment - -hi def link dosbatchImplicit Function - -hi def link dosbatchSwitch Special - -hi def link dosbatchCmd PreProc - - -let b:current_syntax = "dosbatch" - -" vim: ts=8 diff --git a/uvim/runtime/syntax/dosini.mnv b/uvim/runtime/syntax/dosini.mnv new file mode 100644 index 0000000000..2c6f7c96bc --- /dev/null +++ b/uvim/runtime/syntax/dosini.mnv @@ -0,0 +1,49 @@ +" MNV syntax file +" Language: Configuration File (ini file) for MSDOS/MS Windows +" Version: 2.4 +" Original Author: Sean M. McKee +" Previous Maintainer: Nima Talebi +" Current Maintainer: Hong Xu +" Homepage: http://www.mnv.org/scripts/script.php?script_id=3747 +" Repository: https://github.com/xuhdev/syntax-dosini.mnv +" Last Change: 2024 Sept 08 + + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" using of line-continuation requires cpo&mnv +let s:cpo_save = &cpo +set cpo&mnv + +" shut case off +syn case ignore + +syn match dosiniLabel "^.\{-}\ze\s*=" nextgroup=dosiniNumber,dosiniValue +syn match dosiniValue "=\zs.*" +syn match dosiniNumber "=\zs\s*\d\+\s*$" +syn match dosiniNumber "=\zs\s*\d*\.\d\+\s*$" +syn match dosiniNumber "=\zs\s*\d\+e[+-]\=\d\+\s*$" +syn region dosiniHeader start="^\s*\[" end="\]" +syn match dosiniComment "^[#;].*$" contains=@Spell +syn region dosiniSection start="\s*\[.*\]" end="\ze\s*\[.*\]" fold + \ contains=dosiniLabel,dosiniValue,dosiniNumber,dosiniHeader,dosiniComment + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link dosiniNumber Number +hi def link dosiniHeader Special +hi def link dosiniComment Comment +hi def link dosiniLabel Type +hi def link dosiniValue String + + +let b:current_syntax = "dosini" + +let &cpo = s:cpo_save +unlet s:cpo_save + +" mnv: sts=2 sw=2 et diff --git a/uvim/runtime/syntax/dosini.vim b/uvim/runtime/syntax/dosini.vim deleted file mode 100644 index e8212b6d2e..0000000000 --- a/uvim/runtime/syntax/dosini.vim +++ /dev/null @@ -1,49 +0,0 @@ -" Vim syntax file -" Language: Configuration File (ini file) for MSDOS/MS Windows -" Version: 2.4 -" Original Author: Sean M. McKee -" Previous Maintainer: Nima Talebi -" Current Maintainer: Hong Xu -" Homepage: http://www.vim.org/scripts/script.php?script_id=3747 -" Repository: https://github.com/xuhdev/syntax-dosini.vim -" Last Change: 2024 Sept 08 - - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" using of line-continuation requires cpo&vim -let s:cpo_save = &cpo -set cpo&vim - -" shut case off -syn case ignore - -syn match dosiniLabel "^.\{-}\ze\s*=" nextgroup=dosiniNumber,dosiniValue -syn match dosiniValue "=\zs.*" -syn match dosiniNumber "=\zs\s*\d\+\s*$" -syn match dosiniNumber "=\zs\s*\d*\.\d\+\s*$" -syn match dosiniNumber "=\zs\s*\d\+e[+-]\=\d\+\s*$" -syn region dosiniHeader start="^\s*\[" end="\]" -syn match dosiniComment "^[#;].*$" contains=@Spell -syn region dosiniSection start="\s*\[.*\]" end="\ze\s*\[.*\]" fold - \ contains=dosiniLabel,dosiniValue,dosiniNumber,dosiniHeader,dosiniComment - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link dosiniNumber Number -hi def link dosiniHeader Special -hi def link dosiniComment Comment -hi def link dosiniLabel Type -hi def link dosiniValue String - - -let b:current_syntax = "dosini" - -let &cpo = s:cpo_save -unlet s:cpo_save - -" vim: sts=2 sw=2 et diff --git a/uvim/runtime/syntax/dot.mnv b/uvim/runtime/syntax/dot.mnv new file mode 100644 index 0000000000..7365bb71f0 --- /dev/null +++ b/uvim/runtime/syntax/dot.mnv @@ -0,0 +1,121 @@ +" Language: Dot +" Filenames: *.dot +" Maintainer: Markus Mottl +" URL: http://www.ocaml.info/mnv/syntax/dot.mnv +" Last Change: 2021 Mar 24 - better attr + escape string matching, new keywords (Farbod Salamat-Zadeh) +" 2011 May 17 - improved identifier matching + two new keywords +" 2001 May 04 - initial version + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +let s:keepcpo = &cpo +set cpo&mnv + +" Errors +syn match dotParErr ")" +syn match dotBrackErr "]" +syn match dotBraceErr "}" + +" Enclosing delimiters +syn region dotEncl transparent matchgroup=dotParEncl start="(" matchgroup=dotParEncl end=")" contains=ALLBUT,dotParErr +syn region dotEncl transparent matchgroup=dotBrackEncl start="\[" matchgroup=dotBrackEncl end="\]" contains=ALLBUT,dotBrackErr +syn region dotEncl transparent matchgroup=dotBraceEncl start="{" matchgroup=dotBraceEncl end="}" contains=ALLBUT,dotBraceErr + +" Comments +syn region dotComment start="//" end="$" contains=dotComment,dotTodo +syn region dotComment start="/\*" end="\*/" contains=dotComment,dotTodo +syn keyword dotTodo contained TODO FIXME XXX + +" Strings +syn region dotString start=+"+ skip=+\\\\\|\\"+ end=+"+ + +" Escape strings +syn match dotEscString /\v\\(N|G|E|T|H|L)/ containedin=dotString +syn match dotEscString /\v\\(n|l|r)/ containedin=dotString + +" General keywords +syn keyword dotKeyword graph digraph subgraph node edge strict + +" Node, edge and graph attributes +syn keyword dotType _background area arrowhead arrowsize arrowtail bb bgcolor + \ center charset class clusterrank color colorscheme comment compound + \ concentrate constraint Damping decorate defaultdist dim dimen dir + \ diredgeconstraints distortion dpi edgehref edgetarget edgetooltip + \ edgeURL epsilon esep fillcolor fixedsize fontcolor fontname fontnames + \ fontpath fontsize forcelabels gradientangle group head_lp headclip + \ headhref headlabel headport headtarget headtooltip headURL height href + \ id image imagepath imagepos imagescale inputscale K label label_scheme + \ labelangle labeldistance labelfloat labelfontcolor labelfontname + \ labelfontsize labelhref labeljust labelloc labeltarget labeltooltip + \ labelURL landscape layer layerlistsep layers layerselect layersep + \ layout len levels levelsgap lhead lheight lp ltail lwidth margin + \ maxiter mclimit mindist minlen mode model mosek newrank nodesep + \ nojustify normalize notranslate nslimit nslimit1 ordering orientation + \ outputorder overlap overlap_scaling overlap_shrink pack packmode pad + \ page pagedir pencolor penwidth peripheries pin pos quadtree quantum + \ rank rankdir ranksep ratio rects regular remincross repulsiveforce + \ resolution root rotate rotation samehead sametail samplepoints scale + \ searchsize sep shape shapefile showboxes sides size skew smoothing + \ sortv splines start style stylesheet tail_lp tailclip tailhref + \ taillabel tailport tailtarget tailtooltip tailURL target tooltip + \ truecolor URL vertices viewport voro_margin weight width xdotversion + \ xlabel xlp z + +" Special chars +syn match dotKeyChar "=" +syn match dotKeyChar ";" +syn match dotKeyChar "->" +syn match dotKeyChar "--" + +" Identifier +syn match dotIdentifier /\<\w\+\(:\w\+\)\?\>/ + +" Synchronization +syn sync minlines=50 +syn sync maxlines=500 + +" Define the default highlighting. +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_dot_syntax_inits") + if version < 508 + let did_dot_syntax_inits = 1 + command -nargs=+ HiLink hi link + else + command -nargs=+ HiLink hi def link + endif + + HiLink dotParErr Error + HiLink dotBraceErr Error + HiLink dotBrackErr Error + + HiLink dotComment Comment + HiLink dotTodo Todo + + HiLink dotParEncl Keyword + HiLink dotBrackEncl Keyword + HiLink dotBraceEncl Keyword + + HiLink dotKeyword Keyword + HiLink dotType Type + HiLink dotKeyChar Keyword + + HiLink dotString String + HiLink dotEscString Keyword + HiLink dotIdentifier Identifier + + delcommand HiLink +endif + +let b:current_syntax = "dot" + +let &cpo = s:keepcpo +unlet s:keepcpo + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/dot.vim b/uvim/runtime/syntax/dot.vim deleted file mode 100644 index 68a0f57a98..0000000000 --- a/uvim/runtime/syntax/dot.vim +++ /dev/null @@ -1,121 +0,0 @@ -" Language: Dot -" Filenames: *.dot -" Maintainer: Markus Mottl -" URL: http://www.ocaml.info/vim/syntax/dot.vim -" Last Change: 2021 Mar 24 - better attr + escape string matching, new keywords (Farbod Salamat-Zadeh) -" 2011 May 17 - improved identifier matching + two new keywords -" 2001 May 04 - initial version - -" For version 5.x: Clear all syntax items -" For version 6.x: Quit when a syntax file was already loaded -if version < 600 - syntax clear -elseif exists("b:current_syntax") - finish -endif - -let s:keepcpo = &cpo -set cpo&vim - -" Errors -syn match dotParErr ")" -syn match dotBrackErr "]" -syn match dotBraceErr "}" - -" Enclosing delimiters -syn region dotEncl transparent matchgroup=dotParEncl start="(" matchgroup=dotParEncl end=")" contains=ALLBUT,dotParErr -syn region dotEncl transparent matchgroup=dotBrackEncl start="\[" matchgroup=dotBrackEncl end="\]" contains=ALLBUT,dotBrackErr -syn region dotEncl transparent matchgroup=dotBraceEncl start="{" matchgroup=dotBraceEncl end="}" contains=ALLBUT,dotBraceErr - -" Comments -syn region dotComment start="//" end="$" contains=dotComment,dotTodo -syn region dotComment start="/\*" end="\*/" contains=dotComment,dotTodo -syn keyword dotTodo contained TODO FIXME XXX - -" Strings -syn region dotString start=+"+ skip=+\\\\\|\\"+ end=+"+ - -" Escape strings -syn match dotEscString /\v\\(N|G|E|T|H|L)/ containedin=dotString -syn match dotEscString /\v\\(n|l|r)/ containedin=dotString - -" General keywords -syn keyword dotKeyword graph digraph subgraph node edge strict - -" Node, edge and graph attributes -syn keyword dotType _background area arrowhead arrowsize arrowtail bb bgcolor - \ center charset class clusterrank color colorscheme comment compound - \ concentrate constraint Damping decorate defaultdist dim dimen dir - \ diredgeconstraints distortion dpi edgehref edgetarget edgetooltip - \ edgeURL epsilon esep fillcolor fixedsize fontcolor fontname fontnames - \ fontpath fontsize forcelabels gradientangle group head_lp headclip - \ headhref headlabel headport headtarget headtooltip headURL height href - \ id image imagepath imagepos imagescale inputscale K label label_scheme - \ labelangle labeldistance labelfloat labelfontcolor labelfontname - \ labelfontsize labelhref labeljust labelloc labeltarget labeltooltip - \ labelURL landscape layer layerlistsep layers layerselect layersep - \ layout len levels levelsgap lhead lheight lp ltail lwidth margin - \ maxiter mclimit mindist minlen mode model mosek newrank nodesep - \ nojustify normalize notranslate nslimit nslimit1 ordering orientation - \ outputorder overlap overlap_scaling overlap_shrink pack packmode pad - \ page pagedir pencolor penwidth peripheries pin pos quadtree quantum - \ rank rankdir ranksep ratio rects regular remincross repulsiveforce - \ resolution root rotate rotation samehead sametail samplepoints scale - \ searchsize sep shape shapefile showboxes sides size skew smoothing - \ sortv splines start style stylesheet tail_lp tailclip tailhref - \ taillabel tailport tailtarget tailtooltip tailURL target tooltip - \ truecolor URL vertices viewport voro_margin weight width xdotversion - \ xlabel xlp z - -" Special chars -syn match dotKeyChar "=" -syn match dotKeyChar ";" -syn match dotKeyChar "->" -syn match dotKeyChar "--" - -" Identifier -syn match dotIdentifier /\<\w\+\(:\w\+\)\?\>/ - -" Synchronization -syn sync minlines=50 -syn sync maxlines=500 - -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_dot_syntax_inits") - if version < 508 - let did_dot_syntax_inits = 1 - command -nargs=+ HiLink hi link - else - command -nargs=+ HiLink hi def link - endif - - HiLink dotParErr Error - HiLink dotBraceErr Error - HiLink dotBrackErr Error - - HiLink dotComment Comment - HiLink dotTodo Todo - - HiLink dotParEncl Keyword - HiLink dotBrackEncl Keyword - HiLink dotBraceEncl Keyword - - HiLink dotKeyword Keyword - HiLink dotType Type - HiLink dotKeyChar Keyword - - HiLink dotString String - HiLink dotEscString Keyword - HiLink dotIdentifier Identifier - - delcommand HiLink -endif - -let b:current_syntax = "dot" - -let &cpo = s:keepcpo -unlet s:keepcpo - -" vim: ts=8 diff --git a/uvim/runtime/syntax/doxygen.mnv b/uvim/runtime/syntax/doxygen.mnv new file mode 100644 index 0000000000..4f5703e293 --- /dev/null +++ b/uvim/runtime/syntax/doxygen.mnv @@ -0,0 +1,633 @@ +" DoxyGen syntax highlighting extension for c/c++/idl/java +" Language: doxygen on top of c, cpp, idl, java, php +" Maintainer: Michael Geddes +" Author: Michael Geddes +" Last Change: December 2020 +" Version: 1.30 +" +" Copyright 2004-2020 Michael Geddes +" Please feel free to use, modify & distribute all or part of this script, +" providing this copyright message remains. +" I would appreciate being acknowledged in any derived scripts, and would +" appreciate and welcome any updates, modifications or suggestions. + +" NOTE: Comments welcome! +" +" There are two variables that control the syntax highlighting produced by this +" script: +" doxygen_enhanced_colour - Use the (non-standard) original colours designed +" for this highlighting. +" doxygen_my_rendering - Disable the HTML bold/italic/underline rendering. +" +" A brief description without '.' or '!' will cause the end comment +" character to be marked as an error. You can define the colour of this using +" the highlight doxygenErrorComment. +" A \link without an \endlink will cause an error highlight on the end-comment. +" This is defined by doxygenLinkError +" +" The variable g:doxygen_codeword_font can be set to the guifont for marking \c +" words - a 'typewriter' like font normally. Spaces must be escaped. It can +" also be set to any highlight attribute. Alternatively, a highlight for doxygenCodeWord +" can be used to override it. +" +" By default, highlighting is done assuming you have the JAVADOC_AUTOBRIEF +" setting turned on in your Doxygen configuration. If you don't, you +" can set the variable g:doxygen_javadoc_autobrief to 0 to have the +" highlighting more accurately reflect the way Doxygen will interpret your +" comments. +" +" Support for cpp, c, idl, doxygen and php. +" +" Special thanks to: Wu Yongwei, Toby Allsopp +" + +if exists('b:suppress_doxygen') + unlet b:suppress_doxygen + finish +endif + +if exists('b:current_syntax') && b:current_syntax =~ 'doxygen' && !exists('doxygen_debug_script') + finish +endif + +let s:cpo_save = &cpo +try + set cpo&mnv + + " Start of Doxygen syntax highlighting: + " + + " C/C++ Style line comments + syn match doxygenCommentWhite +\s*\ze/\*\(\*/\)\@![*!]+ containedin=phpRegion + syn match doxygenCommentWhite +\s*\ze//[/!]+ containedin=phpRegion + syn match doxygenCommentWhite +\s*\ze/\*\(\*/\)\@![*!]+ + syn match doxygenCommentWhite +\s*\ze//[/!]+ containedin=phpRegion + + syn region doxygenComment start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contains=doxygenSyncStart,doxygenStart,doxygenTODO,doxygenLeadingWhite keepend fold containedin=phpRegion + syn region doxygenCommentL start=+//[/!]<\@!+me=e-1 end=+$+ contains=doxygenLeadingLWhite,doxygenStartL,@Spell keepend skipwhite skipnl nextgroup=doxygenCommentWhite2 fold containedin=phpRegion + syn region doxygenCommentL start=+//[/!]<+me=e-2 end=+$+ contains=doxygenStartL,@Spell keepend skipwhite skipnl fold containedin=phpRegion + syn region doxygenCommentL start=+//@\ze[{}]+ end=+$+ contains=doxygenGroupDefine,doxygenGroupDefineSpecial,@Spell fold containedin=phpRegion + syn region doxygenComment start=+/\*@\ze[{}]+ end=+\*/+ contains=doxygenGroupDefine,doxygenGroupDefineSpecial,@Spell fold containedin=phpRegion + + " Single line brief followed by multiline comment. + syn match doxygenCommentWhite2 +\_s*\ze/\*\(\*/\)\@![*!]+ contained nextgroup=doxygenComment2 + syn region doxygenComment2 start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contained contains=doxygenSyncStart2,doxygenStart2,doxygenTODO keepend fold + " This helps with sync-ing as for some reason, syncing behaves differently to a normal region, and the start pattern does not get matched. + syn match doxygenSyncStart2 +[^*/]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenStartSpecial,doxygenSkipComment,doxygenStartSkip2 skipwhite skipnl + + " Skip empty lines at the start for when comments start on the 2nd/3rd line. + syn match doxygenStartSkip2 +^\s*\*[^/]+me=e-1 contained nextgroup=doxygenBody,doxygenStartSpecial,doxygenStartSkipWhite skipwhite skipnl + syn match doxygenStartSkip2 +^\s*\*$+ contained nextgroup=doxygenBody,doxygenStartSpecial,doxygenStartSkipWhite skipwhite skipnl + syn match doxygenStart2 +/\*[*!]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenStartSpecial,doxygenStartSkip2 skipwhite skipnl + + + " Match the Starting pattern (effectively creating the start of a BNF) + if !exists('g:doxygen_javadoc_autobrief') || g:doxygen_javadoc_autobrief + syn match doxygenStart +/\*[*!]+ contained nextgroup=doxygenBrief,doxygenPrev,doxygenFindBriefSpecial,doxygenStartSpecial,doxygenStartSkipWhite,doxygenPage skipwhite skipnl + syn match doxygenLeadingLWhite +\s\++ contained nextgroup=doxygenPrevL,doxygenBriefL,doxygenSpecial + syn match doxygenStartL +//[/!]+ contained nextgroup=doxygenLeaingLWhite,doxygenPrevL,doxygenBriefL,doxygenSpecial + " Match the first sentence as a brief comment + if ! exists('g:doxygen_end_punctuation') + let g:doxygen_end_punctuation='[.]' + endif + + exe 'syn region doxygenBrief contained start=+[\\@]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]+ start=+\(^\s*\)\@\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\@=+ contains=doxygenSmallSpecial,doxygenContinueCommentWhite,doxygenLeadingWhite,doxygenBriefEndComment,doxygenFindBriefSpecial,doxygenSmallSpecial,@doxygenHtmlGroup,doxygenTODO,doxygenHyperLink,doxygenHashLink,@Spell skipnl nextgroup=doxygenBody' + + syn match doxygenBriefEndComment +\*/+ contained + + exe 'syn region doxygenBriefL start=+@\k\@!\|[\\@]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@]+ start=+\<+ skip=+'.doxygen_end_punctuation.'\S+ end=+'.doxygen_end_punctuation.'\|$+ contained contains=doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell keepend' + syn match doxygenPrevL +<+ contained nextgroup=doxygenBriefL,doxygenSpecial skipwhite + else + syn match doxygenStart +/\*[*!]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenFindBriefSpecial,doxygenStartSpecial,doxygenStartSkipWhite,doxygenPage skipwhite skipnl + syn match doxygenStartL +//[/!]+ contained nextgroup=doxygenLeadingLWhite,doxygenPrevL,doxygenLine,doxygenSpecial + syn match doxygenLeadingLWhite +\s\++ contained nextgroup=doxygenPrevL,doxygenLine,doxygenSpecial + syn region doxygenLine start=+@\k\@!\|[\\@]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@<]+ start=+\<+ end='$' contained contains=doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell keepend + syn match doxygenPrevL +<+ contained nextgroup=doxygenLine,doxygenSpecial skipwhite + + endif + + " This helps with sync-ing as for some reason, syncing behaves differently to a normal region, and the start pattern does not get matched. + syn match doxygenSyncStart +\ze[^*/]+ contained nextgroup=doxygenBrief,doxygenPrev,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkipWhite,doxygenPage skipwhite skipnl + " Match an [@\]brief so that it moves to body-mode. + " + " + " syn match doxygenBriefLine contained + syn match doxygenBriefSpecial contained +[@\\]+ nextgroup=doxygenBriefWord skipwhite + " syn region doxygenFindBriefSpecial start=+[@\\]brief\>+ end=+\(\n\s*\*\=\s*\([@\\]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+ keepend contains=doxygenBriefSpecial nextgroup=doxygenBody keepend skipwhite skipnl contained + syn region doxygenFindBriefSpecial start=+[@\\]brief\>+ skip=+^\s*\(\*/\@!\s*\)\=\(\<\|[@\\]\<\([npcbea]\>\|em\>\|ref\|link\>\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]\)+ end=+^+ keepend contains=doxygenBriefSpecial nextgroup=doxygenBody keepend skipwhite skipnl contained + + + +" end=+\(\n\s*\*\=\s*\([@\\]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+ +"syn region doxygenBriefLine contained start=+\<\k+ skip=+^\s*\(\*/\@!\s*\)\=\(\<\|[@\\]\<\([npcbea]\>\|em\>\|ref\|link\>\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]\)+ end=+^+ contains=doxygenContinueCommentWhite,doxygenSmallSpecial,@doxygenHtmlGroup,doxygenTODO,doxygenHyperLink,doxygenHashLink,@Spell skipwhite keepend matchgroup=xxx +syn region doxygenBriefLine contained start=+\<\k+ skip=+^\s*\(\*/\@!\s*\)\=\(\<\|[@\\]\<\([npcbea]\>\|em\>\|ref\|link\>\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]\)+ end=+^+ skipwhite keepend matchgroup=xxx contains=@Spell +" syn region doxygenBriefLine matchgroup=xxxy contained start=+\<\k.\++ skip=+^\s*\k+ end=+end+ skipwhite keepend +"doxygenFindBriefSpecial, + "" syn region doxygenSpecialMultilineDesc start=+.\++ contained contains=doxygenSpecialContinueCommentWhite,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell skipwhite keepend + + + " Match a '<' for applying a comment to the previous element. + syn match doxygenPrev +<+ contained nextgroup=doxygenBrief,doxygenBody,doxygenSpecial,doxygenStartSkipWhite skipwhite + +if exists("c_comment_strings") + " These are anti-Doxygen comments. If there are more than two asterisks or 3 '/'s + " then turn the comments back into normal C comments. + syn region cComment start="/\*\*\*" end="\*/" contains=@cCommentGroup,cCommentString,cCharacter,cNumbersCom,cSpaceError + syn region cCommentL start="////" skip="\\$" end="$" contains=@cCommentGroup,cComment2String,cCharacter,cNumbersCom,cSpaceError +else + syn region cComment start="/\*\*\*" end="\*/" contains=@cCommentGroup,cSpaceError + syn region cCommentL start="////" skip="\\$" end="$" contains=@cCommentGroup,cSpaceError +endif + + " Special commands at the start of the area: starting with '@' or '\' + syn region doxygenStartSpecial contained start=+[@\\]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!+ end=+$+ end=+\*/+me=s-1,he=s-1 contains=doxygenSpecial nextgroup=doxygenSkipComment skipnl keepend + syn match doxygenSkipComment contained +^\s*\*/\@!+ nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenPage skipwhite + + "syn region doxygenBodyBit contained start=+$+ + + " The main body of a doxygen comment. + syn region doxygenBody contained start=+\(/\*[*!]\)\@|]\@|#]\+[-0-9A-Za-z_%=+*/!~>|]\@!\|\\[\\<>&.]@\|[.,]\w\@=\|::\|([^)]*)\|&[0-9a-zA-Z]\{2,7};\)\+' + exe 'syn region doxygenSpecial'.a:name.'Word contained start=+'.a:kword.'+ end=+\(\_s\+'.mx.'\)\@<=[-a-zA-Z_0-9+*/^%|~!=&\\]\@!+ skipwhite contains=doxygenContinueCommentWhite,doxygen'.a:name.'Word' + exe 'syn match doxygen'.a:name.'Word contained "\_s\@<='.mx.'" contains=doxygenHtmlSpecial,@Spell keepend' + endfun + call s:DxyCreateSmallSpecial('p', 'Code') + call s:DxyCreateSmallSpecial('c', 'Code') + call s:DxyCreateSmallSpecial('b', 'Bold') + call s:DxyCreateSmallSpecial('e', 'Emphasised') + call s:DxyCreateSmallSpecial('em', 'Emphasised') + call s:DxyCreateSmallSpecial('a', 'Argument') + call s:DxyCreateSmallSpecial('ref', 'Ref') + delfun s:DxyCreateSmallSpecial + + syn match doxygenSmallSpecial contained +[@\\]\(\<[npcbea]\>\|\\|\\|\\|f\$\|[$\\&<>#]\)\@=+ nextgroup=doxygenOtherLink,doxygenHyperLink,doxygenHashLink,doxygenFormula,doxygenSymbol,doxygenSpecial.*Word + + " Now for special characters + syn match doxygenSpecial contained +[@\\]\(\<[npcbea]\>\|\\|\\>\|\#]\)\@!+ nextgroup=doxygenParam,doxygenTParam,doxygenRetval,doxygenBriefWord,doxygenBold,doxygenBOther,doxygenOther,doxygenOtherTODO,doxygenOtherWARN,doxygenOtherBUG,doxygenPage,doxygenGroupDefine,doxygenCodeRegion,doxygenVerbatimRegion,doxygenDotRegion + " doxygenOtherLink,doxygenSymbol,doxygenFormula,doxygenErrorSpecial,doxygenSpecial.*Word + " + syn match doxygenGroupDefine contained +@\@<=[{}]+ + syn match doxygenGroupDefineSpecial contained +@\ze[{}]+ + + syn match doxygenErrorSpecial contained +\s+ + + " Match parameters and retvals (highlighting the first word as special). + syn match doxygenParamDirection contained "\v\[(\s*in>((]\s*\[|\s*,\s*)out>)=|out>((]\s*\[|\s*,\s*)in>)=)\]" nextgroup=doxygenParamName skipwhite + syn keyword doxygenParam contained param nextgroup=doxygenParamName,doxygenParamDirection skipwhite + syn keyword doxygenTParam contained tparam nextgroup=doxygenParamName skipwhite + syn match doxygenParamName contained +[A-Za-z0-9_:]\++ nextgroup=doxygenSpecialMultilineDesc skipwhite + syn keyword doxygenRetval contained retval throw throws exception nextgroup=doxygenReturnValue skipwhite + syn match doxygenReturnValue contained +\S\++ nextgroup=doxygenSpecialMultilineDesc skipwhite + + " Match one line identifiers. + syn keyword doxygenOther contained addindex anchor + \ dontinclude endhtmlonly endlatexonly showinitializer hideinitializer + \ example htmlonly image include includelineno ingroup latexonly line + \ overload relates related relatesalso relatedalso sa skip skipline + \ until verbinclude version addtogroup htmlinclude copydoc dotfile + \ xmlonly endxmlonly + \ nextgroup=doxygenSpecialOnelineDesc copybrief copydetails copyright dir extends + \ implements + + syn region doxygenCodeRegion contained matchgroup=doxygenOther start=+\+ matchgroup=doxygenOther end=+[\\@]\@<=\+ contains=doxygenCodeRegionSpecial,doxygenContinueCommentWhite,doxygenErrorComment,@NoSpell + syn match doxygenCodeRegionSpecial contained +[\\@]\(endcode\>\)\@=+ + + syn region doxygenVerbatimRegion contained matchgroup=doxygenOther start=+\+ matchgroup=doxygenOther end=+[\\@]\@<=\+ contains=doxygenVerbatimRegionSpecial,doxygenContinueCommentWhite,doxygenErrorComment,@NoSpell + syn match doxygenVerbatimRegionSpecial contained +[\\@]\(endverbatim\>\)\@=+ + + if exists('b:current_syntax') + let b:doxygen_syntax_save=b:current_syntax + unlet b:current_syntax + endif + + syn include @Dotx syntax/dot.mnv + + if exists('b:doxygen_syntax_save') + let b:current_syntax=b:doxygen_syntax_save + unlet b:doxygen_syntax_save + else + unlet b:current_syntax + endif + + syn region doxygenDotRegion contained matchgroup=doxygenOther start=+\+ matchgroup=doxygenOther end=+[\\@]\@<=\+ contains=doxygenDotRegionSpecial,doxygenErrorComment,doxygenContinueCommentWhite,@NoSpell,@Dotx + syn match doxygenDotRegionSpecial contained +[\\@]\(enddot\>\)\@=+ + + " Match single line identifiers. + syn keyword doxygenBOther contained class enum file fn mainpage interface + \ namespace struct typedef union var def name + \ nextgroup=doxygenSpecialTypeOnelineDesc + + syn keyword doxygenOther contained par nextgroup=doxygenHeaderLine + syn region doxygenHeaderLine start=+.+ end=+^+ contained skipwhite nextgroup=doxygenSpecialMultilineDesc + " Match the start of other multiline comments. + syn keyword doxygenOther contained arg author authors date deprecated li return returns result see invariant note post pre remarks since test internal nextgroup=doxygenSpecialMultilineDesc + syn keyword doxygenOtherTODO contained todo attention nextgroup=doxygenSpecialMultilineDesc + syn keyword doxygenOtherWARN contained warning nextgroup=doxygenSpecialMultilineDesc + syn keyword doxygenOtherBUG contained bug nextgroup=doxygenSpecialMultilineDesc + + " Handle \link, \endlink, highlighting the link-to and the link text bits separately. + syn region doxygenOtherLink matchgroup=doxygenOther start=+\+ end=+[\@]\@<=endlink\>+ contained contains=doxygenLinkWord,doxygenContinueCommentWhite,doxygenLinkError,doxygenEndlinkSpecial + syn match doxygenEndlinkSpecial contained +[\\@]\zeendlink\>+ + + syn match doxygenLinkWord "[_a-zA-Z:#()][_a-z0-9A-Z:#()]*\>" contained skipnl nextgroup=doxygenLinkRest,doxygenContinueLinkComment + syn match doxygenLinkRest +[^*@\\]\|\*/\@!\|[@\\]\(endlink\>\)\@!+ contained skipnl nextgroup=doxygenLinkRest,doxygenContinueLinkComment + syn match doxygenContinueLinkComment contained +^\s*\*\=[^/]+me=e-1 nextgroup=doxygenLinkRest + syn match doxygenLinkError "\*/" contained + " #Link highlighting. + syn match doxygenHashLink /\(\h\w*\)\?#\(\.\w\@=\|\w\+\|::\|()\)\+/ contained contains=doxygenHashSpecial + syn match doxygenHashSpecial /#/ contained + syn match doxygenHyperLink /\(\s\|^\s*\*\?\)\@<=\(http\|https\|ftp\):\/\/[-0-9a-zA-Z_?&=+#%/.!':;@~]\+/ contained + + " Handle \page. This does not use doxygenBrief. + syn match doxygenPage "[\\@]page\>"me=s+1 contained skipwhite nextgroup=doxygenPagePage + syn keyword doxygenPagePage page contained skipwhite nextgroup=doxygenPageIdent + syn region doxygenPageDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend skipwhite skipnl nextgroup=doxygenBody + syn match doxygenPageIdent "\<\w\+\>" contained nextgroup=doxygenPageDesc + + " Handle section + syn keyword doxygenOther defgroup section subsection subsubsection weakgroup contained skipwhite nextgroup=doxygenSpecialIdent + syn region doxygenSpecialSectionDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend skipwhite skipnl nextgroup=doxygenContinueCommentWhite + syn match doxygenSpecialIdent "\<\w\+\>" contained nextgroup=doxygenSpecialSectionDesc + + " Does the one-line description for the one-line type identifiers. + syn region doxygenSpecialTypeOnelineDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend + syn region doxygenSpecialOnelineDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend + + " Handle the multiline description for the multiline type identifiers. + " Continue until an 'empty' line (can contain a '*' continuation) or until the + " next whole-line @ command \ command. + syn region doxygenSpecialMultilineDesc start=+.\++ skip=+^\s*\(\*/\@!\s*\)\=\(\<\|[@\\]\<\([npcbea]\>\|em\>\|ref\|link\>\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]\)+ end=+^+ contained contains=doxygenSpecialContinueCommentWhite,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell skipwhite keepend + +" syn match doxygenSpecialContinueComment contained +^\s*\*/\@!\s*+ nextgroup=doxygenSpecial skipwhite + syn match doxygenSpecialContinueCommentWhite contained +^\s*\ze\*+ nextgroup=doxygenSpecialContinueComment + syn match doxygenSpecialContinueComment contained +\*/\@!+ + + + " Handle special cases 'bold' and 'group' + syn keyword doxygenBold contained bold nextgroup=doxygenSpecialHeading + syn keyword doxygenBriefWord contained brief nextgroup=doxygenBriefLine skipwhite + syn match doxygenSpecialHeading +.\++ contained skipwhite + syn keyword doxygenGroup contained group nextgroup=doxygenGroupName skipwhite + syn keyword doxygenGroupName contained +\k\++ nextgroup=doxygenSpecialOnelineDesc skipwhite + + " Handle special symbol identifiers @$, @\, @$ etc + syn match doxygenSymbol contained +[$\\&<>#n]+ + + " Simplistic handling of formula regions + syn region doxygenFormula contained matchgroup=doxygenFormulaEnds start=+f\$+ end=+[@\\]f\$+ contains=doxygenFormulaSpecial,doxygenFormulaOperator + syn match doxygenFormulaSpecial contained +[@\\]\(f[^$]\|[^f]\)+me=s+1 nextgroup=doxygenFormulaKeyword,doxygenFormulaEscaped + syn match doxygenFormulaEscaped contained "." + syn match doxygenFormulaKeyword contained "[a-z]\+" + syn match doxygenFormulaOperator contained +[_^]+ + + syn region doxygenFormula contained matchgroup=doxygenFormulaEnds start=+f\[+ end=+[@\\]f]+ contains=doxygenFormulaSpecial,doxygenFormulaOperator,doxygenAtom + syn region doxygenAtom contained transparent matchgroup=doxygenFormulaOperator start=+{+ end=+}+ contains=doxygenAtom,doxygenFormulaSpecial,doxygenFormulaOperator + + " Add TODO highlighting. + syn keyword doxygenTODO contained TODO README XXX FIXME + + " Supported HTML subset. Not perfect, but okay. + syn case ignore + syn region doxygenHtmlTag contained matchgroup=doxygenHtmlCh start=+\v\+ skip=+\\<\|\<\k\+=\("[^"]*"\|'[^']*\)+ end=+>+ contains=doxygenHtmlCmd,doxygenContinueCommentWhite,doxygenHtmlVar + syn keyword doxygenHtmlCmd contained b i em strong u img a br p center code dfn dl dd dt hr h1 h2 h3 li ol ul pre small sub sup table tt var caption nextgroup=doxygenHtmlVar skipwhite + syn keyword doxygenHtmlVar contained src alt longdesc name height width usemap ismap href type nextgroup=doxygenHtmlEqu skipwhite + syn match doxygenHtmlEqu contained +=+ nextgroup=doxygenHtmlExpr skipwhite + syn match doxygenHtmlExpr contained +"\(\\.\|[^"]\)*"\|'\(\\.\|[^']\)*'+ nextgroup=doxygenHtmlVar skipwhite + syn case match + syn match doxygenHtmlSpecial contained "&\(copy\|quot\|[AEIOUYaeiouy]uml\|[AEIOUYaeiouy]acute\|[AEIOUaeiouy]grave\|[AEIOUaeiouy]circ\|[ANOano]tilde\|szlig\|[Aa]ring\|nbsp\|gt\|lt\|amp\);" + + syn cluster doxygenHtmlGroup contains=doxygenHtmlCode,doxygenHtmlBold,doxygenHtmlUnderline,doxygenHtmlItalic,doxygenHtmlSpecial,doxygenHtmlTag,doxygenHtmlLink + + syn cluster doxygenHtmlTop contains=@Spell,doxygenHtmlSpecial,doxygenHtmlTag,doxygenContinueCommentWhite + " Html Support + syn region doxygenHtmlLink contained start=+<[aA]\>\s*\(\n\s*\*\s*\)\=\(\(name\|href\)=\("[^"]*"\|'[^']*'\)\)\=\s*>+ end=++me=e-4 contains=@doxygenHtmlTop + hi link doxygenHtmlLink Underlined + + syn region doxygenHtmlBold contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderline,doxygenHtmlBoldItalic,@Spell + syn region doxygenHtmlBold contained start="\c" end="\c"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderline,doxygenHtmlBoldItalic,@Spell + syn region doxygenHtmlBoldUnderline contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderlineItalic,@Spell + syn region doxygenHtmlBoldItalic contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldItalicUnderline,@Spell + syn region doxygenHtmlBoldItalic contained start="\c" end="\c"me=e-5 contains=@doxygenHtmlTop,doxygenHtmlBoldItalicUnderline,@Spell + syn region doxygenHtmlBoldUnderlineItalic contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,@Spell + syn region doxygenHtmlBoldUnderlineItalic contained start="\c" end="\c"me=e-5 contains=@doxygenHtmlTop,@Spell + syn region doxygenHtmlBoldItalicUnderline contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderlineItalic,@Spell + + syn region doxygenHtmlUnderline contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBold,doxygenHtmlUnderlineItalic,@Spell + syn region doxygenHtmlUnderlineBold contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBoldItalic,@Spell + syn region doxygenHtmlUnderlineBold contained start="\c" end="\c"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBoldItalic,@Spell + syn region doxygenHtmlUnderlineItalic contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,htmUnderlineItalicBold,@Spell + syn region doxygenHtmlUnderlineItalic contained start="\c" end="\c"me=e-5 contains=@doxygenHtmlTop,htmUnderlineItalicBold,@Spell + syn region doxygenHtmlUnderlineItalicBold contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,@Spell + syn region doxygenHtmlUnderlineItalicBold contained start="\c" end="\c"me=e-9 contains=@doxygenHtmlTop,@Spell + syn region doxygenHtmlUnderlineBoldItalic contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,@Spell + syn region doxygenHtmlUnderlineBoldItalic contained start="\c" end="\c"me=e-5 contains=@doxygenHtmlTop,@Spell + + syn region doxygenHtmlItalic contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicBold,doxygenHtmlItalicUnderline,@Spell + syn region doxygenHtmlItalic contained start="\c" end="\c"me=e-5 contains=@doxygenHtmlTop,@Spell + syn region doxygenHtmlItalicBold contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicBoldUnderline,@Spell + syn region doxygenHtmlItalicBold contained start="\c" end="\c"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlItalicBoldUnderline,@Spell + syn region doxygenHtmlItalicBoldUnderline contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,@Spell + syn region doxygenHtmlItalicUnderline contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicUnderlineBold,@Spell + syn region doxygenHtmlItalicUnderlineBold contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,@Spell + syn region doxygenHtmlItalicUnderlineBold contained start="\c" end="\c"me=e-9 contains=@doxygenHtmlTop,@Spell + + syn region doxygenHtmlCode contained start="\c" end="\c"me=e-7 contains=@doxygenHtmlTop,@NoSpell + + " Prevent the doxygen contained matches from leaking into the c/rc groups. + syn cluster cParenGroup add=doxygen.* + syn cluster cParenGroup remove=doxygenComment,doxygenCommentL + syn cluster cPreProcGroup add=doxygen.* + syn cluster cMultiGroup add=doxygen.* + syn cluster rcParenGroup add=doxygen.* + syn cluster rcParenGroup remove=doxygenComment,doxygenCommentL + syn cluster rcGroup add=doxygen.* + + let s:my_syncolor=0 + if !exists(':SynColor') + command -nargs=+ SynColor hi def + let s:my_syncolor=1 + endif + + let s:my_synlink=0 + if !exists(':SynLink') + command -nargs=+ SynLink hi def link + let s:my_synlink=1 + endif + + try + "let did_doxygen_syntax_inits = &background + hi doxygen_Dummy guifg=black + + fun! s:Doxygen_Hilights_Base() + SynLink doxygenHtmlSpecial Special + SynLink doxygenHtmlVar Type + SynLink doxygenHtmlExpr String + + SynLink doxygenSmallSpecial SpecialChar + + SynLink doxygenSpecialCodeWord doxygenSmallSpecial + SynLink doxygenSpecialBoldWord doxygenSmallSpecial + SynLink doxygenSpecialEmphasisedWord doxygenSmallSpecial + SynLink doxygenSpecialArgumentWord doxygenSmallSpecial + + " SynColor doxygenFormulaKeyword cterm=bold ctermfg=DarkMagenta guifg=DarkMagenta gui=bold + SynLink doxygenFormulaKeyword Keyword + "SynColor doxygenFormulaEscaped ctermfg=DarkMagenta guifg=DarkMagenta gui=bold + SynLink doxygenFormulaEscaped Special + SynLink doxygenFormulaOperator Operator + SynLink doxygenFormula Statement + SynLink doxygenSymbol Constant + SynLink doxygenSpecial Special + SynLink doxygenFormulaSpecial Special + "SynColor doxygenFormulaSpecial ctermfg=DarkBlue guifg=DarkBlue + endfun + call s:Doxygen_Hilights_Base() + + fun! s:Doxygen_Hilights() + " Pick a sensible default for 'codeword'. + let font='' + if exists('g:doxygen_codeword_font') + if g:doxygen_codeword_font !~ '\<\k\+=' + let font='font='.g:doxygen_codeword_font + else + let font=g:doxygen_codeword_font + endif + else + " Try and pick a font (only some platforms have been tested). + if has('gui_running') + if has('gui_gtk2') + if &guifont == '' + let font="font='FreeSerif 12'" + else + let font="font='".substitute(&guifont, '^.\{-}\(\d\+\)$', 'FreeSerif \1','')."'" + endif + + elseif has('gui_win32') || has('gui_win16') || has('gui_win95') + + if exists('g:doxygen_use_bitsream_vera') && g:doxygen_use_bitsream_vera + let font_base='Bitstream_Vera_Sans_Mono' + else + let font_base='Lucida_Console' + endif + if &guifont == '' + let font='font='.font_base.':h10' + else + let font='font='.matchstr(substitute(&guifont, '^[^:]*', font_base,''),'[^,]*') + endif + elseif has('gui_athena') || has('gui_gtk') || &guifont=~'^\(-[^-]\+\)\{14}' + if &guifont == '' + let font='font=-b&h-lucidatypewriter-medium-r-normal-*-*-140-*-*-m-*-iso8859-1' + else + " let font='font='.substitute(&guifont,'^\(-[^-]\+\)\{7}-\([0-9]\+\).*', '-b\&h-lucidatypewriter-medium-r-normal-*-*-\2-*-*-m-*-iso8859-1','') + " The above line works, but it is hard to expect the combination of + " the two fonts will look good. + endif + elseif has('gui_kde') + " let font='font=Bitstream\ Vera\ Sans\ Mono/12/-1/5/50/0/0/0/0/0' + endif + endif + endif + if font=='' | let font='gui=bold' | endif + exe 'SynColor doxygenCodeWord term=bold cterm=bold '.font + if (exists('g:doxygen_enhanced_color') && g:doxygen_enhanced_color) || (exists('g:doxygen_enhanced_colour') && g:doxygen_enhanced_colour) + if &background=='light' + SynColor doxygenComment ctermfg=DarkRed guifg=DarkRed + SynColor doxygenBrief cterm=bold ctermfg=Cyan guifg=DarkBlue gui=bold + SynColor doxygenBody ctermfg=DarkBlue guifg=DarkBlue + SynColor doxygenSpecialTypeOnelineDesc cterm=bold ctermfg=DarkRed guifg=firebrick3 gui=bold + SynColor doxygenBOther cterm=bold ctermfg=DarkMagenta guifg=#aa50aa gui=bold + SynColor doxygenParam ctermfg=DarkGray guifg=#aa50aa + SynColor doxygenParamName cterm=italic ctermfg=DarkBlue guifg=DeepSkyBlue4 gui=italic,bold + SynColor doxygenSpecialOnelineDesc cterm=bold ctermfg=DarkCyan guifg=DodgerBlue3 gui=bold + SynColor doxygenSpecialHeading cterm=bold ctermfg=DarkBlue guifg=DeepSkyBlue4 gui=bold + SynColor doxygenPrev ctermfg=DarkGreen guifg=DarkGreen + else + SynColor doxygenComment ctermfg=LightRed guifg=LightRed + SynColor doxygenBrief cterm=bold ctermfg=Cyan ctermbg=darkgrey guifg=LightBlue gui=Bold,Italic + SynColor doxygenBody ctermfg=Cyan guifg=LightBlue + SynColor doxygenSpecialTypeOnelineDesc cterm=bold ctermfg=Red guifg=firebrick3 gui=bold + SynColor doxygenBOther cterm=bold ctermfg=Magenta guifg=#aa50aa gui=bold + SynColor doxygenParam ctermfg=LightGray guifg=LightGray + SynColor doxygenParamName cterm=italic ctermfg=LightBlue guifg=LightBlue gui=italic,bold + SynColor doxygenSpecialOnelineDesc cterm=bold ctermfg=LightCyan guifg=LightCyan gui=bold + SynColor doxygenSpecialHeading cterm=bold ctermfg=LightBlue guifg=LightBlue gui=bold + SynColor doxygenPrev ctermfg=LightGreen guifg=LightGreen + endif + SynLink doxygenValue doxygenParamName + else + SynLink doxygenComment SpecialComment + SynLink doxygenBrief Statement + SynLink doxygenBody Comment + SynLink doxygenSpecialTypeOnelineDesc Statement + SynLink doxygenBOther Constant + SynLink doxygenParam SpecialComment + SynLink doxygenParamName Underlined + SynLink doxygenSpecialOnelineDesc Statement + SynLink doxygenSpecialHeading Statement + SynLink doxygenPrev SpecialComment + SynLink doxygenValue Constant + endif + SynLink doxygenTParam doxygenParam + + endfun + + call s:Doxygen_Hilights() + + syn match doxygenLeadingWhite +\(^\s*\*\)\@<=\s*+ contained + + " This is still a proposal, but it is probably fine. However, it doesn't + " work when 'syntax' is set in a modeline, catch the security error. + try + aug doxygengroup + au! + au Syntax UserColor_reset nested call s:Doxygen_Hilights_Base() + au Syntax UserColor_{on,reset,enable} nested call s:Doxygen_Hilights() + aug END + catch /E12:/ + endtry + + + SynLink doxygenBody Comment + SynLink doxygenLine doxygenBody + SynLink doxygenTODO Todo + SynLink doxygenOtherTODO Todo + SynLink doxygenOtherWARN Todo + SynLink doxygenOtherBUG Todo + SynLink doxygenLeadingLWhite doxygenBody + + SynLink doxygenErrorSpecial Error + SynLink doxygenErrorEnd Error + SynLink doxygenErrorComment Error + SynLink doxygenLinkError Error + SynLink doxygenBriefSpecial doxygenSpecial + SynLink doxygenHashSpecial doxygenSpecial + SynLink doxygenGroupDefineSpecial doxygenSpecial + SynLink doxygenEndlinkSpecial doxygenSpecial + SynLink doxygenCodeRegionSpecial doxygenSpecial + SynLink doxygenVerbatimRegionSpecial doxygenSpecial + SynLink doxygenDotRegionSpecial doxygenSpecial + SynLink doxygenGroupDefine doxygenParam + + SynLink doxygenSpecialMultilineDesc doxygenSpecialOnelineDesc + SynLink doxygenFormulaEnds doxygenSpecial + SynLink doxygenBold doxygenParam + SynLink doxygenBriefWord doxygenParam + SynLink doxygenRetval doxygenParam + SynLink doxygenOther doxygenParam + SynLink doxygenStart doxygenComment + SynLink doxygenStart2 doxygenStart + SynLink doxygenComment2 doxygenComment + SynLink doxygenCommentL doxygenComment + SynLink doxygenContinueComment doxygenComment + SynLink doxygenSpecialContinueComment doxygenComment + SynLink doxygenSkipComment doxygenComment + SynLink doxygenEndComment doxygenComment + SynLink doxygenStartL doxygenComment + SynLink doxygenBriefEndComment doxygenComment + SynLink doxygenPrevL doxygenPrev + SynLink doxygenBriefL doxygenBrief + SynLink doxygenBriefLine doxygenBrief + SynLink doxygenHeaderLine doxygenSpecialHeading + SynLink doxygenCommentWhite Normal + SynLink doxygenCommentWhite2 doxygenCommentWhite + SynLink doxygenContinueCommentWhite doxygenCommentWhite + SynLink doxygenStartSkipWhite doxygenContinueCommentWhite + SynLink doxygenLinkWord doxygenParamName + SynLink doxygenLinkRest doxygenSpecialMultilineDesc + SynLink doxygenHyperLink doxygenLinkWord + SynLink doxygenHashLink doxygenLinkWord + SynLink doxygenReturnValue doxygenValue + + SynLink doxygenPage doxygenSpecial + SynLink doxygenPagePage doxygenBOther + SynLink doxygenPageIdent doxygenParamName + SynLink doxygenPageDesc doxygenSpecialTypeOnelineDesc + + SynLink doxygenSpecialIdent doxygenPageIdent + SynLink doxygenSpecialSectionDesc doxygenSpecialMultilineDesc + + SynLink doxygenSpecialRefWord doxygenOther + SynLink doxygenRefWord doxygenPageIdent + SynLink doxygenContinueLinkComment doxygenComment + + SynLink doxygenHtmlCh Function + SynLink doxygenHtmlCmd Statement + SynLink doxygenHtmlBoldItalicUnderline doxygenHtmlBoldUnderlineItalic + SynLink doxygenHtmlUnderlineBold doxygenHtmlBoldUnderline + SynLink doxygenHtmlUnderlineItalicBold doxygenHtmlBoldUnderlineItalic + SynLink doxygenHtmlUnderlineBoldItalic doxygenHtmlBoldUnderlineItalic + SynLink doxygenHtmlItalicUnderline doxygenHtmlUnderlineItalic + SynLink doxygenHtmlItalicBold doxygenHtmlBoldItalic + SynLink doxygenHtmlItalicBoldUnderline doxygenHtmlBoldUnderlineItalic + SynLink doxygenHtmlItalicUnderlineBold doxygenHtmlBoldUnderlineItalic + SynLink doxygenHtmlLink Underlined + + SynLink doxygenParamDirection StorageClass + + + if !exists("doxygen_my_rendering") && !exists("html_my_rendering") + SynColor doxygenBoldWord term=bold cterm=bold gui=bold + SynColor doxygenEmphasisedWord term=italic cterm=italic gui=italic + SynLink doxygenArgumentWord doxygenEmphasisedWord + SynLink doxygenHtmlCode doxygenCodeWord + SynLink doxygenHtmlBold doxygenBoldWord + SynColor doxygenHtmlBoldUnderline term=bold,underline cterm=bold,underline gui=bold,underline + SynColor doxygenHtmlBoldItalic term=bold,italic cterm=bold,italic gui=bold,italic + SynColor doxygenHtmlBoldUnderlineItalic term=bold,italic,underline cterm=bold,italic,underline gui=bold,italic,underline + SynColor doxygenHtmlUnderline term=underline cterm=underline gui=underline + SynColor doxygenHtmlUnderlineItalic term=italic,underline cterm=italic,underline gui=italic,underline + SynColor doxygenHtmlItalic term=italic cterm=italic gui=italic + endif + + finally + if s:my_synlink | delcommand SynLink | endif + if s:my_syncolor | delcommand SynColor | endif + endtry + + if &syntax=='idl' + syn cluster idlCommentable add=doxygenComment,doxygenCommentL + endif + + "syn sync clear + "syn sync maxlines=500 + "syn sync minlines=50 + syn sync match doxygenComment groupthere cComment "/\@ -" Author: Michael Geddes -" Last Change: December 2020 -" Version: 1.30 -" -" Copyright 2004-2020 Michael Geddes -" Please feel free to use, modify & distribute all or part of this script, -" providing this copyright message remains. -" I would appreciate being acknowledged in any derived scripts, and would -" appreciate and welcome any updates, modifications or suggestions. - -" NOTE: Comments welcome! -" -" There are two variables that control the syntax highlighting produced by this -" script: -" doxygen_enhanced_colour - Use the (non-standard) original colours designed -" for this highlighting. -" doxygen_my_rendering - Disable the HTML bold/italic/underline rendering. -" -" A brief description without '.' or '!' will cause the end comment -" character to be marked as an error. You can define the colour of this using -" the highlight doxygenErrorComment. -" A \link without an \endlink will cause an error highlight on the end-comment. -" This is defined by doxygenLinkError -" -" The variable g:doxygen_codeword_font can be set to the guifont for marking \c -" words - a 'typewriter' like font normally. Spaces must be escaped. It can -" also be set to any highlight attribute. Alternatively, a highlight for doxygenCodeWord -" can be used to override it. -" -" By default, highlighting is done assuming you have the JAVADOC_AUTOBRIEF -" setting turned on in your Doxygen configuration. If you don't, you -" can set the variable g:doxygen_javadoc_autobrief to 0 to have the -" highlighting more accurately reflect the way Doxygen will interpret your -" comments. -" -" Support for cpp, c, idl, doxygen and php. -" -" Special thanks to: Wu Yongwei, Toby Allsopp -" - -if exists('b:suppress_doxygen') - unlet b:suppress_doxygen - finish -endif - -if exists('b:current_syntax') && b:current_syntax =~ 'doxygen' && !exists('doxygen_debug_script') - finish -endif - -let s:cpo_save = &cpo -try - set cpo&vim - - " Start of Doxygen syntax highlighting: - " - - " C/C++ Style line comments - syn match doxygenCommentWhite +\s*\ze/\*\(\*/\)\@![*!]+ containedin=phpRegion - syn match doxygenCommentWhite +\s*\ze//[/!]+ containedin=phpRegion - syn match doxygenCommentWhite +\s*\ze/\*\(\*/\)\@![*!]+ - syn match doxygenCommentWhite +\s*\ze//[/!]+ containedin=phpRegion - - syn region doxygenComment start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contains=doxygenSyncStart,doxygenStart,doxygenTODO,doxygenLeadingWhite keepend fold containedin=phpRegion - syn region doxygenCommentL start=+//[/!]<\@!+me=e-1 end=+$+ contains=doxygenLeadingLWhite,doxygenStartL,@Spell keepend skipwhite skipnl nextgroup=doxygenCommentWhite2 fold containedin=phpRegion - syn region doxygenCommentL start=+//[/!]<+me=e-2 end=+$+ contains=doxygenStartL,@Spell keepend skipwhite skipnl fold containedin=phpRegion - syn region doxygenCommentL start=+//@\ze[{}]+ end=+$+ contains=doxygenGroupDefine,doxygenGroupDefineSpecial,@Spell fold containedin=phpRegion - syn region doxygenComment start=+/\*@\ze[{}]+ end=+\*/+ contains=doxygenGroupDefine,doxygenGroupDefineSpecial,@Spell fold containedin=phpRegion - - " Single line brief followed by multiline comment. - syn match doxygenCommentWhite2 +\_s*\ze/\*\(\*/\)\@![*!]+ contained nextgroup=doxygenComment2 - syn region doxygenComment2 start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contained contains=doxygenSyncStart2,doxygenStart2,doxygenTODO keepend fold - " This helps with sync-ing as for some reason, syncing behaves differently to a normal region, and the start pattern does not get matched. - syn match doxygenSyncStart2 +[^*/]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenStartSpecial,doxygenSkipComment,doxygenStartSkip2 skipwhite skipnl - - " Skip empty lines at the start for when comments start on the 2nd/3rd line. - syn match doxygenStartSkip2 +^\s*\*[^/]+me=e-1 contained nextgroup=doxygenBody,doxygenStartSpecial,doxygenStartSkipWhite skipwhite skipnl - syn match doxygenStartSkip2 +^\s*\*$+ contained nextgroup=doxygenBody,doxygenStartSpecial,doxygenStartSkipWhite skipwhite skipnl - syn match doxygenStart2 +/\*[*!]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenStartSpecial,doxygenStartSkip2 skipwhite skipnl - - - " Match the Starting pattern (effectively creating the start of a BNF) - if !exists('g:doxygen_javadoc_autobrief') || g:doxygen_javadoc_autobrief - syn match doxygenStart +/\*[*!]+ contained nextgroup=doxygenBrief,doxygenPrev,doxygenFindBriefSpecial,doxygenStartSpecial,doxygenStartSkipWhite,doxygenPage skipwhite skipnl - syn match doxygenLeadingLWhite +\s\++ contained nextgroup=doxygenPrevL,doxygenBriefL,doxygenSpecial - syn match doxygenStartL +//[/!]+ contained nextgroup=doxygenLeaingLWhite,doxygenPrevL,doxygenBriefL,doxygenSpecial - " Match the first sentence as a brief comment - if ! exists('g:doxygen_end_punctuation') - let g:doxygen_end_punctuation='[.]' - endif - - exe 'syn region doxygenBrief contained start=+[\\@]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]+ start=+\(^\s*\)\@\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\@=+ contains=doxygenSmallSpecial,doxygenContinueCommentWhite,doxygenLeadingWhite,doxygenBriefEndComment,doxygenFindBriefSpecial,doxygenSmallSpecial,@doxygenHtmlGroup,doxygenTODO,doxygenHyperLink,doxygenHashLink,@Spell skipnl nextgroup=doxygenBody' - - syn match doxygenBriefEndComment +\*/+ contained - - exe 'syn region doxygenBriefL start=+@\k\@!\|[\\@]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@]+ start=+\<+ skip=+'.doxygen_end_punctuation.'\S+ end=+'.doxygen_end_punctuation.'\|$+ contained contains=doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell keepend' - syn match doxygenPrevL +<+ contained nextgroup=doxygenBriefL,doxygenSpecial skipwhite - else - syn match doxygenStart +/\*[*!]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenFindBriefSpecial,doxygenStartSpecial,doxygenStartSkipWhite,doxygenPage skipwhite skipnl - syn match doxygenStartL +//[/!]+ contained nextgroup=doxygenLeadingLWhite,doxygenPrevL,doxygenLine,doxygenSpecial - syn match doxygenLeadingLWhite +\s\++ contained nextgroup=doxygenPrevL,doxygenLine,doxygenSpecial - syn region doxygenLine start=+@\k\@!\|[\\@]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@<]+ start=+\<+ end='$' contained contains=doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell keepend - syn match doxygenPrevL +<+ contained nextgroup=doxygenLine,doxygenSpecial skipwhite - - endif - - " This helps with sync-ing as for some reason, syncing behaves differently to a normal region, and the start pattern does not get matched. - syn match doxygenSyncStart +\ze[^*/]+ contained nextgroup=doxygenBrief,doxygenPrev,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkipWhite,doxygenPage skipwhite skipnl - " Match an [@\]brief so that it moves to body-mode. - " - " - " syn match doxygenBriefLine contained - syn match doxygenBriefSpecial contained +[@\\]+ nextgroup=doxygenBriefWord skipwhite - " syn region doxygenFindBriefSpecial start=+[@\\]brief\>+ end=+\(\n\s*\*\=\s*\([@\\]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+ keepend contains=doxygenBriefSpecial nextgroup=doxygenBody keepend skipwhite skipnl contained - syn region doxygenFindBriefSpecial start=+[@\\]brief\>+ skip=+^\s*\(\*/\@!\s*\)\=\(\<\|[@\\]\<\([npcbea]\>\|em\>\|ref\|link\>\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]\)+ end=+^+ keepend contains=doxygenBriefSpecial nextgroup=doxygenBody keepend skipwhite skipnl contained - - - -" end=+\(\n\s*\*\=\s*\([@\\]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+ -"syn region doxygenBriefLine contained start=+\<\k+ skip=+^\s*\(\*/\@!\s*\)\=\(\<\|[@\\]\<\([npcbea]\>\|em\>\|ref\|link\>\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]\)+ end=+^+ contains=doxygenContinueCommentWhite,doxygenSmallSpecial,@doxygenHtmlGroup,doxygenTODO,doxygenHyperLink,doxygenHashLink,@Spell skipwhite keepend matchgroup=xxx -syn region doxygenBriefLine contained start=+\<\k+ skip=+^\s*\(\*/\@!\s*\)\=\(\<\|[@\\]\<\([npcbea]\>\|em\>\|ref\|link\>\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]\)+ end=+^+ skipwhite keepend matchgroup=xxx contains=@Spell -" syn region doxygenBriefLine matchgroup=xxxy contained start=+\<\k.\++ skip=+^\s*\k+ end=+end+ skipwhite keepend -"doxygenFindBriefSpecial, - "" syn region doxygenSpecialMultilineDesc start=+.\++ contained contains=doxygenSpecialContinueCommentWhite,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell skipwhite keepend - - - " Match a '<' for applying a comment to the previous element. - syn match doxygenPrev +<+ contained nextgroup=doxygenBrief,doxygenBody,doxygenSpecial,doxygenStartSkipWhite skipwhite - -if exists("c_comment_strings") - " These are anti-Doxygen comments. If there are more than two asterisks or 3 '/'s - " then turn the comments back into normal C comments. - syn region cComment start="/\*\*\*" end="\*/" contains=@cCommentGroup,cCommentString,cCharacter,cNumbersCom,cSpaceError - syn region cCommentL start="////" skip="\\$" end="$" contains=@cCommentGroup,cComment2String,cCharacter,cNumbersCom,cSpaceError -else - syn region cComment start="/\*\*\*" end="\*/" contains=@cCommentGroup,cSpaceError - syn region cCommentL start="////" skip="\\$" end="$" contains=@cCommentGroup,cSpaceError -endif - - " Special commands at the start of the area: starting with '@' or '\' - syn region doxygenStartSpecial contained start=+[@\\]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!+ end=+$+ end=+\*/+me=s-1,he=s-1 contains=doxygenSpecial nextgroup=doxygenSkipComment skipnl keepend - syn match doxygenSkipComment contained +^\s*\*/\@!+ nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenPage skipwhite - - "syn region doxygenBodyBit contained start=+$+ - - " The main body of a doxygen comment. - syn region doxygenBody contained start=+\(/\*[*!]\)\@|]\@|#]\+[-0-9A-Za-z_%=+*/!~>|]\@!\|\\[\\<>&.]@\|[.,]\w\@=\|::\|([^)]*)\|&[0-9a-zA-Z]\{2,7};\)\+' - exe 'syn region doxygenSpecial'.a:name.'Word contained start=+'.a:kword.'+ end=+\(\_s\+'.mx.'\)\@<=[-a-zA-Z_0-9+*/^%|~!=&\\]\@!+ skipwhite contains=doxygenContinueCommentWhite,doxygen'.a:name.'Word' - exe 'syn match doxygen'.a:name.'Word contained "\_s\@<='.mx.'" contains=doxygenHtmlSpecial,@Spell keepend' - endfun - call s:DxyCreateSmallSpecial('p', 'Code') - call s:DxyCreateSmallSpecial('c', 'Code') - call s:DxyCreateSmallSpecial('b', 'Bold') - call s:DxyCreateSmallSpecial('e', 'Emphasised') - call s:DxyCreateSmallSpecial('em', 'Emphasised') - call s:DxyCreateSmallSpecial('a', 'Argument') - call s:DxyCreateSmallSpecial('ref', 'Ref') - delfun s:DxyCreateSmallSpecial - - syn match doxygenSmallSpecial contained +[@\\]\(\<[npcbea]\>\|\\|\\|\\|f\$\|[$\\&<>#]\)\@=+ nextgroup=doxygenOtherLink,doxygenHyperLink,doxygenHashLink,doxygenFormula,doxygenSymbol,doxygenSpecial.*Word - - " Now for special characters - syn match doxygenSpecial contained +[@\\]\(\<[npcbea]\>\|\\|\\>\|\#]\)\@!+ nextgroup=doxygenParam,doxygenTParam,doxygenRetval,doxygenBriefWord,doxygenBold,doxygenBOther,doxygenOther,doxygenOtherTODO,doxygenOtherWARN,doxygenOtherBUG,doxygenPage,doxygenGroupDefine,doxygenCodeRegion,doxygenVerbatimRegion,doxygenDotRegion - " doxygenOtherLink,doxygenSymbol,doxygenFormula,doxygenErrorSpecial,doxygenSpecial.*Word - " - syn match doxygenGroupDefine contained +@\@<=[{}]+ - syn match doxygenGroupDefineSpecial contained +@\ze[{}]+ - - syn match doxygenErrorSpecial contained +\s+ - - " Match parameters and retvals (highlighting the first word as special). - syn match doxygenParamDirection contained "\v\[(\s*in>((]\s*\[|\s*,\s*)out>)=|out>((]\s*\[|\s*,\s*)in>)=)\]" nextgroup=doxygenParamName skipwhite - syn keyword doxygenParam contained param nextgroup=doxygenParamName,doxygenParamDirection skipwhite - syn keyword doxygenTParam contained tparam nextgroup=doxygenParamName skipwhite - syn match doxygenParamName contained +[A-Za-z0-9_:]\++ nextgroup=doxygenSpecialMultilineDesc skipwhite - syn keyword doxygenRetval contained retval throw throws exception nextgroup=doxygenReturnValue skipwhite - syn match doxygenReturnValue contained +\S\++ nextgroup=doxygenSpecialMultilineDesc skipwhite - - " Match one line identifiers. - syn keyword doxygenOther contained addindex anchor - \ dontinclude endhtmlonly endlatexonly showinitializer hideinitializer - \ example htmlonly image include includelineno ingroup latexonly line - \ overload relates related relatesalso relatedalso sa skip skipline - \ until verbinclude version addtogroup htmlinclude copydoc dotfile - \ xmlonly endxmlonly - \ nextgroup=doxygenSpecialOnelineDesc copybrief copydetails copyright dir extends - \ implements - - syn region doxygenCodeRegion contained matchgroup=doxygenOther start=+\+ matchgroup=doxygenOther end=+[\\@]\@<=\+ contains=doxygenCodeRegionSpecial,doxygenContinueCommentWhite,doxygenErrorComment,@NoSpell - syn match doxygenCodeRegionSpecial contained +[\\@]\(endcode\>\)\@=+ - - syn region doxygenVerbatimRegion contained matchgroup=doxygenOther start=+\+ matchgroup=doxygenOther end=+[\\@]\@<=\+ contains=doxygenVerbatimRegionSpecial,doxygenContinueCommentWhite,doxygenErrorComment,@NoSpell - syn match doxygenVerbatimRegionSpecial contained +[\\@]\(endverbatim\>\)\@=+ - - if exists('b:current_syntax') - let b:doxygen_syntax_save=b:current_syntax - unlet b:current_syntax - endif - - syn include @Dotx syntax/dot.vim - - if exists('b:doxygen_syntax_save') - let b:current_syntax=b:doxygen_syntax_save - unlet b:doxygen_syntax_save - else - unlet b:current_syntax - endif - - syn region doxygenDotRegion contained matchgroup=doxygenOther start=+\+ matchgroup=doxygenOther end=+[\\@]\@<=\+ contains=doxygenDotRegionSpecial,doxygenErrorComment,doxygenContinueCommentWhite,@NoSpell,@Dotx - syn match doxygenDotRegionSpecial contained +[\\@]\(enddot\>\)\@=+ - - " Match single line identifiers. - syn keyword doxygenBOther contained class enum file fn mainpage interface - \ namespace struct typedef union var def name - \ nextgroup=doxygenSpecialTypeOnelineDesc - - syn keyword doxygenOther contained par nextgroup=doxygenHeaderLine - syn region doxygenHeaderLine start=+.+ end=+^+ contained skipwhite nextgroup=doxygenSpecialMultilineDesc - " Match the start of other multiline comments. - syn keyword doxygenOther contained arg author authors date deprecated li return returns result see invariant note post pre remarks since test internal nextgroup=doxygenSpecialMultilineDesc - syn keyword doxygenOtherTODO contained todo attention nextgroup=doxygenSpecialMultilineDesc - syn keyword doxygenOtherWARN contained warning nextgroup=doxygenSpecialMultilineDesc - syn keyword doxygenOtherBUG contained bug nextgroup=doxygenSpecialMultilineDesc - - " Handle \link, \endlink, highlighting the link-to and the link text bits separately. - syn region doxygenOtherLink matchgroup=doxygenOther start=+\+ end=+[\@]\@<=endlink\>+ contained contains=doxygenLinkWord,doxygenContinueCommentWhite,doxygenLinkError,doxygenEndlinkSpecial - syn match doxygenEndlinkSpecial contained +[\\@]\zeendlink\>+ - - syn match doxygenLinkWord "[_a-zA-Z:#()][_a-z0-9A-Z:#()]*\>" contained skipnl nextgroup=doxygenLinkRest,doxygenContinueLinkComment - syn match doxygenLinkRest +[^*@\\]\|\*/\@!\|[@\\]\(endlink\>\)\@!+ contained skipnl nextgroup=doxygenLinkRest,doxygenContinueLinkComment - syn match doxygenContinueLinkComment contained +^\s*\*\=[^/]+me=e-1 nextgroup=doxygenLinkRest - syn match doxygenLinkError "\*/" contained - " #Link highlighting. - syn match doxygenHashLink /\(\h\w*\)\?#\(\.\w\@=\|\w\+\|::\|()\)\+/ contained contains=doxygenHashSpecial - syn match doxygenHashSpecial /#/ contained - syn match doxygenHyperLink /\(\s\|^\s*\*\?\)\@<=\(http\|https\|ftp\):\/\/[-0-9a-zA-Z_?&=+#%/.!':;@~]\+/ contained - - " Handle \page. This does not use doxygenBrief. - syn match doxygenPage "[\\@]page\>"me=s+1 contained skipwhite nextgroup=doxygenPagePage - syn keyword doxygenPagePage page contained skipwhite nextgroup=doxygenPageIdent - syn region doxygenPageDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend skipwhite skipnl nextgroup=doxygenBody - syn match doxygenPageIdent "\<\w\+\>" contained nextgroup=doxygenPageDesc - - " Handle section - syn keyword doxygenOther defgroup section subsection subsubsection weakgroup contained skipwhite nextgroup=doxygenSpecialIdent - syn region doxygenSpecialSectionDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend skipwhite skipnl nextgroup=doxygenContinueCommentWhite - syn match doxygenSpecialIdent "\<\w\+\>" contained nextgroup=doxygenSpecialSectionDesc - - " Does the one-line description for the one-line type identifiers. - syn region doxygenSpecialTypeOnelineDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend - syn region doxygenSpecialOnelineDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend - - " Handle the multiline description for the multiline type identifiers. - " Continue until an 'empty' line (can contain a '*' continuation) or until the - " next whole-line @ command \ command. - syn region doxygenSpecialMultilineDesc start=+.\++ skip=+^\s*\(\*/\@!\s*\)\=\(\<\|[@\\]\<\([npcbea]\>\|em\>\|ref\|link\>\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]\)+ end=+^+ contained contains=doxygenSpecialContinueCommentWhite,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell skipwhite keepend - -" syn match doxygenSpecialContinueComment contained +^\s*\*/\@!\s*+ nextgroup=doxygenSpecial skipwhite - syn match doxygenSpecialContinueCommentWhite contained +^\s*\ze\*+ nextgroup=doxygenSpecialContinueComment - syn match doxygenSpecialContinueComment contained +\*/\@!+ - - - " Handle special cases 'bold' and 'group' - syn keyword doxygenBold contained bold nextgroup=doxygenSpecialHeading - syn keyword doxygenBriefWord contained brief nextgroup=doxygenBriefLine skipwhite - syn match doxygenSpecialHeading +.\++ contained skipwhite - syn keyword doxygenGroup contained group nextgroup=doxygenGroupName skipwhite - syn keyword doxygenGroupName contained +\k\++ nextgroup=doxygenSpecialOnelineDesc skipwhite - - " Handle special symbol identifiers @$, @\, @$ etc - syn match doxygenSymbol contained +[$\\&<>#n]+ - - " Simplistic handling of formula regions - syn region doxygenFormula contained matchgroup=doxygenFormulaEnds start=+f\$+ end=+[@\\]f\$+ contains=doxygenFormulaSpecial,doxygenFormulaOperator - syn match doxygenFormulaSpecial contained +[@\\]\(f[^$]\|[^f]\)+me=s+1 nextgroup=doxygenFormulaKeyword,doxygenFormulaEscaped - syn match doxygenFormulaEscaped contained "." - syn match doxygenFormulaKeyword contained "[a-z]\+" - syn match doxygenFormulaOperator contained +[_^]+ - - syn region doxygenFormula contained matchgroup=doxygenFormulaEnds start=+f\[+ end=+[@\\]f]+ contains=doxygenFormulaSpecial,doxygenFormulaOperator,doxygenAtom - syn region doxygenAtom contained transparent matchgroup=doxygenFormulaOperator start=+{+ end=+}+ contains=doxygenAtom,doxygenFormulaSpecial,doxygenFormulaOperator - - " Add TODO highlighting. - syn keyword doxygenTODO contained TODO README XXX FIXME - - " Supported HTML subset. Not perfect, but okay. - syn case ignore - syn region doxygenHtmlTag contained matchgroup=doxygenHtmlCh start=+\v\+ skip=+\\<\|\<\k\+=\("[^"]*"\|'[^']*\)+ end=+>+ contains=doxygenHtmlCmd,doxygenContinueCommentWhite,doxygenHtmlVar - syn keyword doxygenHtmlCmd contained b i em strong u img a br p center code dfn dl dd dt hr h1 h2 h3 li ol ul pre small sub sup table tt var caption nextgroup=doxygenHtmlVar skipwhite - syn keyword doxygenHtmlVar contained src alt longdesc name height width usemap ismap href type nextgroup=doxygenHtmlEqu skipwhite - syn match doxygenHtmlEqu contained +=+ nextgroup=doxygenHtmlExpr skipwhite - syn match doxygenHtmlExpr contained +"\(\\.\|[^"]\)*"\|'\(\\.\|[^']\)*'+ nextgroup=doxygenHtmlVar skipwhite - syn case match - syn match doxygenHtmlSpecial contained "&\(copy\|quot\|[AEIOUYaeiouy]uml\|[AEIOUYaeiouy]acute\|[AEIOUaeiouy]grave\|[AEIOUaeiouy]circ\|[ANOano]tilde\|szlig\|[Aa]ring\|nbsp\|gt\|lt\|amp\);" - - syn cluster doxygenHtmlGroup contains=doxygenHtmlCode,doxygenHtmlBold,doxygenHtmlUnderline,doxygenHtmlItalic,doxygenHtmlSpecial,doxygenHtmlTag,doxygenHtmlLink - - syn cluster doxygenHtmlTop contains=@Spell,doxygenHtmlSpecial,doxygenHtmlTag,doxygenContinueCommentWhite - " Html Support - syn region doxygenHtmlLink contained start=+<[aA]\>\s*\(\n\s*\*\s*\)\=\(\(name\|href\)=\("[^"]*"\|'[^']*'\)\)\=\s*>+ end=++me=e-4 contains=@doxygenHtmlTop - hi link doxygenHtmlLink Underlined - - syn region doxygenHtmlBold contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderline,doxygenHtmlBoldItalic,@Spell - syn region doxygenHtmlBold contained start="\c" end="\c"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderline,doxygenHtmlBoldItalic,@Spell - syn region doxygenHtmlBoldUnderline contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderlineItalic,@Spell - syn region doxygenHtmlBoldItalic contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldItalicUnderline,@Spell - syn region doxygenHtmlBoldItalic contained start="\c" end="\c"me=e-5 contains=@doxygenHtmlTop,doxygenHtmlBoldItalicUnderline,@Spell - syn region doxygenHtmlBoldUnderlineItalic contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,@Spell - syn region doxygenHtmlBoldUnderlineItalic contained start="\c" end="\c"me=e-5 contains=@doxygenHtmlTop,@Spell - syn region doxygenHtmlBoldItalicUnderline contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderlineItalic,@Spell - - syn region doxygenHtmlUnderline contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBold,doxygenHtmlUnderlineItalic,@Spell - syn region doxygenHtmlUnderlineBold contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBoldItalic,@Spell - syn region doxygenHtmlUnderlineBold contained start="\c" end="\c"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBoldItalic,@Spell - syn region doxygenHtmlUnderlineItalic contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,htmUnderlineItalicBold,@Spell - syn region doxygenHtmlUnderlineItalic contained start="\c" end="\c"me=e-5 contains=@doxygenHtmlTop,htmUnderlineItalicBold,@Spell - syn region doxygenHtmlUnderlineItalicBold contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,@Spell - syn region doxygenHtmlUnderlineItalicBold contained start="\c" end="\c"me=e-9 contains=@doxygenHtmlTop,@Spell - syn region doxygenHtmlUnderlineBoldItalic contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,@Spell - syn region doxygenHtmlUnderlineBoldItalic contained start="\c" end="\c"me=e-5 contains=@doxygenHtmlTop,@Spell - - syn region doxygenHtmlItalic contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicBold,doxygenHtmlItalicUnderline,@Spell - syn region doxygenHtmlItalic contained start="\c" end="\c"me=e-5 contains=@doxygenHtmlTop,@Spell - syn region doxygenHtmlItalicBold contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicBoldUnderline,@Spell - syn region doxygenHtmlItalicBold contained start="\c" end="\c"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlItalicBoldUnderline,@Spell - syn region doxygenHtmlItalicBoldUnderline contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,@Spell - syn region doxygenHtmlItalicUnderline contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicUnderlineBold,@Spell - syn region doxygenHtmlItalicUnderlineBold contained start="\c" end="\c"me=e-4 contains=@doxygenHtmlTop,@Spell - syn region doxygenHtmlItalicUnderlineBold contained start="\c" end="\c"me=e-9 contains=@doxygenHtmlTop,@Spell - - syn region doxygenHtmlCode contained start="\c" end="\c"me=e-7 contains=@doxygenHtmlTop,@NoSpell - - " Prevent the doxygen contained matches from leaking into the c/rc groups. - syn cluster cParenGroup add=doxygen.* - syn cluster cParenGroup remove=doxygenComment,doxygenCommentL - syn cluster cPreProcGroup add=doxygen.* - syn cluster cMultiGroup add=doxygen.* - syn cluster rcParenGroup add=doxygen.* - syn cluster rcParenGroup remove=doxygenComment,doxygenCommentL - syn cluster rcGroup add=doxygen.* - - let s:my_syncolor=0 - if !exists(':SynColor') - command -nargs=+ SynColor hi def - let s:my_syncolor=1 - endif - - let s:my_synlink=0 - if !exists(':SynLink') - command -nargs=+ SynLink hi def link - let s:my_synlink=1 - endif - - try - "let did_doxygen_syntax_inits = &background - hi doxygen_Dummy guifg=black - - fun! s:Doxygen_Hilights_Base() - SynLink doxygenHtmlSpecial Special - SynLink doxygenHtmlVar Type - SynLink doxygenHtmlExpr String - - SynLink doxygenSmallSpecial SpecialChar - - SynLink doxygenSpecialCodeWord doxygenSmallSpecial - SynLink doxygenSpecialBoldWord doxygenSmallSpecial - SynLink doxygenSpecialEmphasisedWord doxygenSmallSpecial - SynLink doxygenSpecialArgumentWord doxygenSmallSpecial - - " SynColor doxygenFormulaKeyword cterm=bold ctermfg=DarkMagenta guifg=DarkMagenta gui=bold - SynLink doxygenFormulaKeyword Keyword - "SynColor doxygenFormulaEscaped ctermfg=DarkMagenta guifg=DarkMagenta gui=bold - SynLink doxygenFormulaEscaped Special - SynLink doxygenFormulaOperator Operator - SynLink doxygenFormula Statement - SynLink doxygenSymbol Constant - SynLink doxygenSpecial Special - SynLink doxygenFormulaSpecial Special - "SynColor doxygenFormulaSpecial ctermfg=DarkBlue guifg=DarkBlue - endfun - call s:Doxygen_Hilights_Base() - - fun! s:Doxygen_Hilights() - " Pick a sensible default for 'codeword'. - let font='' - if exists('g:doxygen_codeword_font') - if g:doxygen_codeword_font !~ '\<\k\+=' - let font='font='.g:doxygen_codeword_font - else - let font=g:doxygen_codeword_font - endif - else - " Try and pick a font (only some platforms have been tested). - if has('gui_running') - if has('gui_gtk2') - if &guifont == '' - let font="font='FreeSerif 12'" - else - let font="font='".substitute(&guifont, '^.\{-}\(\d\+\)$', 'FreeSerif \1','')."'" - endif - - elseif has('gui_win32') || has('gui_win16') || has('gui_win95') - - if exists('g:doxygen_use_bitsream_vera') && g:doxygen_use_bitsream_vera - let font_base='Bitstream_Vera_Sans_Mono' - else - let font_base='Lucida_Console' - endif - if &guifont == '' - let font='font='.font_base.':h10' - else - let font='font='.matchstr(substitute(&guifont, '^[^:]*', font_base,''),'[^,]*') - endif - elseif has('gui_athena') || has('gui_gtk') || &guifont=~'^\(-[^-]\+\)\{14}' - if &guifont == '' - let font='font=-b&h-lucidatypewriter-medium-r-normal-*-*-140-*-*-m-*-iso8859-1' - else - " let font='font='.substitute(&guifont,'^\(-[^-]\+\)\{7}-\([0-9]\+\).*', '-b\&h-lucidatypewriter-medium-r-normal-*-*-\2-*-*-m-*-iso8859-1','') - " The above line works, but it is hard to expect the combination of - " the two fonts will look good. - endif - elseif has('gui_kde') - " let font='font=Bitstream\ Vera\ Sans\ Mono/12/-1/5/50/0/0/0/0/0' - endif - endif - endif - if font=='' | let font='gui=bold' | endif - exe 'SynColor doxygenCodeWord term=bold cterm=bold '.font - if (exists('g:doxygen_enhanced_color') && g:doxygen_enhanced_color) || (exists('g:doxygen_enhanced_colour') && g:doxygen_enhanced_colour) - if &background=='light' - SynColor doxygenComment ctermfg=DarkRed guifg=DarkRed - SynColor doxygenBrief cterm=bold ctermfg=Cyan guifg=DarkBlue gui=bold - SynColor doxygenBody ctermfg=DarkBlue guifg=DarkBlue - SynColor doxygenSpecialTypeOnelineDesc cterm=bold ctermfg=DarkRed guifg=firebrick3 gui=bold - SynColor doxygenBOther cterm=bold ctermfg=DarkMagenta guifg=#aa50aa gui=bold - SynColor doxygenParam ctermfg=DarkGray guifg=#aa50aa - SynColor doxygenParamName cterm=italic ctermfg=DarkBlue guifg=DeepSkyBlue4 gui=italic,bold - SynColor doxygenSpecialOnelineDesc cterm=bold ctermfg=DarkCyan guifg=DodgerBlue3 gui=bold - SynColor doxygenSpecialHeading cterm=bold ctermfg=DarkBlue guifg=DeepSkyBlue4 gui=bold - SynColor doxygenPrev ctermfg=DarkGreen guifg=DarkGreen - else - SynColor doxygenComment ctermfg=LightRed guifg=LightRed - SynColor doxygenBrief cterm=bold ctermfg=Cyan ctermbg=darkgrey guifg=LightBlue gui=Bold,Italic - SynColor doxygenBody ctermfg=Cyan guifg=LightBlue - SynColor doxygenSpecialTypeOnelineDesc cterm=bold ctermfg=Red guifg=firebrick3 gui=bold - SynColor doxygenBOther cterm=bold ctermfg=Magenta guifg=#aa50aa gui=bold - SynColor doxygenParam ctermfg=LightGray guifg=LightGray - SynColor doxygenParamName cterm=italic ctermfg=LightBlue guifg=LightBlue gui=italic,bold - SynColor doxygenSpecialOnelineDesc cterm=bold ctermfg=LightCyan guifg=LightCyan gui=bold - SynColor doxygenSpecialHeading cterm=bold ctermfg=LightBlue guifg=LightBlue gui=bold - SynColor doxygenPrev ctermfg=LightGreen guifg=LightGreen - endif - SynLink doxygenValue doxygenParamName - else - SynLink doxygenComment SpecialComment - SynLink doxygenBrief Statement - SynLink doxygenBody Comment - SynLink doxygenSpecialTypeOnelineDesc Statement - SynLink doxygenBOther Constant - SynLink doxygenParam SpecialComment - SynLink doxygenParamName Underlined - SynLink doxygenSpecialOnelineDesc Statement - SynLink doxygenSpecialHeading Statement - SynLink doxygenPrev SpecialComment - SynLink doxygenValue Constant - endif - SynLink doxygenTParam doxygenParam - - endfun - - call s:Doxygen_Hilights() - - syn match doxygenLeadingWhite +\(^\s*\*\)\@<=\s*+ contained - - " This is still a proposal, but it is probably fine. However, it doesn't - " work when 'syntax' is set in a modeline, catch the security error. - try - aug doxygengroup - au! - au Syntax UserColor_reset nested call s:Doxygen_Hilights_Base() - au Syntax UserColor_{on,reset,enable} nested call s:Doxygen_Hilights() - aug END - catch /E12:/ - endtry - - - SynLink doxygenBody Comment - SynLink doxygenLine doxygenBody - SynLink doxygenTODO Todo - SynLink doxygenOtherTODO Todo - SynLink doxygenOtherWARN Todo - SynLink doxygenOtherBUG Todo - SynLink doxygenLeadingLWhite doxygenBody - - SynLink doxygenErrorSpecial Error - SynLink doxygenErrorEnd Error - SynLink doxygenErrorComment Error - SynLink doxygenLinkError Error - SynLink doxygenBriefSpecial doxygenSpecial - SynLink doxygenHashSpecial doxygenSpecial - SynLink doxygenGroupDefineSpecial doxygenSpecial - SynLink doxygenEndlinkSpecial doxygenSpecial - SynLink doxygenCodeRegionSpecial doxygenSpecial - SynLink doxygenVerbatimRegionSpecial doxygenSpecial - SynLink doxygenDotRegionSpecial doxygenSpecial - SynLink doxygenGroupDefine doxygenParam - - SynLink doxygenSpecialMultilineDesc doxygenSpecialOnelineDesc - SynLink doxygenFormulaEnds doxygenSpecial - SynLink doxygenBold doxygenParam - SynLink doxygenBriefWord doxygenParam - SynLink doxygenRetval doxygenParam - SynLink doxygenOther doxygenParam - SynLink doxygenStart doxygenComment - SynLink doxygenStart2 doxygenStart - SynLink doxygenComment2 doxygenComment - SynLink doxygenCommentL doxygenComment - SynLink doxygenContinueComment doxygenComment - SynLink doxygenSpecialContinueComment doxygenComment - SynLink doxygenSkipComment doxygenComment - SynLink doxygenEndComment doxygenComment - SynLink doxygenStartL doxygenComment - SynLink doxygenBriefEndComment doxygenComment - SynLink doxygenPrevL doxygenPrev - SynLink doxygenBriefL doxygenBrief - SynLink doxygenBriefLine doxygenBrief - SynLink doxygenHeaderLine doxygenSpecialHeading - SynLink doxygenCommentWhite Normal - SynLink doxygenCommentWhite2 doxygenCommentWhite - SynLink doxygenContinueCommentWhite doxygenCommentWhite - SynLink doxygenStartSkipWhite doxygenContinueCommentWhite - SynLink doxygenLinkWord doxygenParamName - SynLink doxygenLinkRest doxygenSpecialMultilineDesc - SynLink doxygenHyperLink doxygenLinkWord - SynLink doxygenHashLink doxygenLinkWord - SynLink doxygenReturnValue doxygenValue - - SynLink doxygenPage doxygenSpecial - SynLink doxygenPagePage doxygenBOther - SynLink doxygenPageIdent doxygenParamName - SynLink doxygenPageDesc doxygenSpecialTypeOnelineDesc - - SynLink doxygenSpecialIdent doxygenPageIdent - SynLink doxygenSpecialSectionDesc doxygenSpecialMultilineDesc - - SynLink doxygenSpecialRefWord doxygenOther - SynLink doxygenRefWord doxygenPageIdent - SynLink doxygenContinueLinkComment doxygenComment - - SynLink doxygenHtmlCh Function - SynLink doxygenHtmlCmd Statement - SynLink doxygenHtmlBoldItalicUnderline doxygenHtmlBoldUnderlineItalic - SynLink doxygenHtmlUnderlineBold doxygenHtmlBoldUnderline - SynLink doxygenHtmlUnderlineItalicBold doxygenHtmlBoldUnderlineItalic - SynLink doxygenHtmlUnderlineBoldItalic doxygenHtmlBoldUnderlineItalic - SynLink doxygenHtmlItalicUnderline doxygenHtmlUnderlineItalic - SynLink doxygenHtmlItalicBold doxygenHtmlBoldItalic - SynLink doxygenHtmlItalicBoldUnderline doxygenHtmlBoldUnderlineItalic - SynLink doxygenHtmlItalicUnderlineBold doxygenHtmlBoldUnderlineItalic - SynLink doxygenHtmlLink Underlined - - SynLink doxygenParamDirection StorageClass - - - if !exists("doxygen_my_rendering") && !exists("html_my_rendering") - SynColor doxygenBoldWord term=bold cterm=bold gui=bold - SynColor doxygenEmphasisedWord term=italic cterm=italic gui=italic - SynLink doxygenArgumentWord doxygenEmphasisedWord - SynLink doxygenHtmlCode doxygenCodeWord - SynLink doxygenHtmlBold doxygenBoldWord - SynColor doxygenHtmlBoldUnderline term=bold,underline cterm=bold,underline gui=bold,underline - SynColor doxygenHtmlBoldItalic term=bold,italic cterm=bold,italic gui=bold,italic - SynColor doxygenHtmlBoldUnderlineItalic term=bold,italic,underline cterm=bold,italic,underline gui=bold,italic,underline - SynColor doxygenHtmlUnderline term=underline cterm=underline gui=underline - SynColor doxygenHtmlUnderlineItalic term=italic,underline cterm=italic,underline gui=italic,underline - SynColor doxygenHtmlItalic term=italic cterm=italic gui=italic - endif - - finally - if s:my_synlink | delcommand SynLink | endif - if s:my_syncolor | delcommand SynColor | endif - endtry - - if &syntax=='idl' - syn cluster idlCommentable add=doxygenComment,doxygenCommentL - endif - - "syn sync clear - "syn sync maxlines=500 - "syn sync minlines=50 - syn sync match doxygenComment groupthere cComment "/\@ +" Last change: Wed Apr 25 18:50:01 PDT 2001 +" Extensions: drac.*,*.drac,*.drc,*.lvs,*.lpe +" Comment: Dracula is an industry-standard language created by CADENCE (a +" company specializing in Electronics Design Automation), for +" the purposes of Design Rule Checking, Layout vs. Schematic +" verification, and Layout Parameter Extraction. + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" Ignore case +syn case ignore + +" A bunch of useful Dracula keywords + +"syn match draculaIdentifier + +syn keyword draculaStatement indisk primary outdisk printfile system +syn keyword draculaStatement mode scale resolution listerror keepdata +syn keyword draculaStatement datatype by lt gt output label range touch +syn keyword draculaStatement inside outside within overlap outlib +syn keyword draculaStatement schematic model unit parset +syn match draculaStatement "flag-\(non45\|acuteangle\|offgrid\)" +syn match draculaStatement "text-pri-only" +syn match draculaStatement "[=&]" +syn match draculaStatement "\[[^,]*\]" +syn match draculastatement "^ *\(sel\|width\|ext\|enc\|area\|shrink\|grow\|length\)" +syn match draculastatement "^ *\(or\|not\|and\|select\|size\|connect\|sconnect\|int\)" +syn match draculastatement "^ *\(softchk\|stamp\|element\|parasitic cap\|attribute cap\)" +syn match draculastatement "^ *\(flagnon45\|lextract\|equation\|lpeselect\|lpechk\|attach\)" +syn match draculaStatement "\(temporary\|connect\)-layer" +syn match draculaStatement "program-dir" +syn match draculaStatement "status-command" +syn match draculaStatement "batch-queue" +syn match draculaStatement "cnames-csen" +syn match draculaStatement "filter-lay-opt" +syn match draculaStatement "filter-sch-opt" +syn match draculaStatement "power-node" +syn match draculaStatement "ground-node" +syn match draculaStatement "subckt-name" + +syn match draculaType "\*description" +syn match draculaType "\*input-layer" +syn match draculaType "\*operation" +syn match draculaType "\*end" + +syn match draculaComment ";.*" + +syn match draculaPreProc "^#.*" + +"Modify the following as needed. The trade-off is performance versus +"functionality. +syn sync lines=50 + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link draculaIdentifier Identifier +hi def link draculaStatement Statement +hi def link draculaType Type +hi def link draculaComment Comment +hi def link draculaPreProc PreProc + + +let b:current_syntax = "dracula" + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/dracula.vim b/uvim/runtime/syntax/dracula.vim deleted file mode 100644 index a373dc200c..0000000000 --- a/uvim/runtime/syntax/dracula.vim +++ /dev/null @@ -1,72 +0,0 @@ -" Vim syntax file -" Language: Dracula -" Maintainer: Scott Bordelon -" Last change: Wed Apr 25 18:50:01 PDT 2001 -" Extensions: drac.*,*.drac,*.drc,*.lvs,*.lpe -" Comment: Dracula is an industry-standard language created by CADENCE (a -" company specializing in Electronics Design Automation), for -" the purposes of Design Rule Checking, Layout vs. Schematic -" verification, and Layout Parameter Extraction. - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" Ignore case -syn case ignore - -" A bunch of useful Dracula keywords - -"syn match draculaIdentifier - -syn keyword draculaStatement indisk primary outdisk printfile system -syn keyword draculaStatement mode scale resolution listerror keepdata -syn keyword draculaStatement datatype by lt gt output label range touch -syn keyword draculaStatement inside outside within overlap outlib -syn keyword draculaStatement schematic model unit parset -syn match draculaStatement "flag-\(non45\|acuteangle\|offgrid\)" -syn match draculaStatement "text-pri-only" -syn match draculaStatement "[=&]" -syn match draculaStatement "\[[^,]*\]" -syn match draculastatement "^ *\(sel\|width\|ext\|enc\|area\|shrink\|grow\|length\)" -syn match draculastatement "^ *\(or\|not\|and\|select\|size\|connect\|sconnect\|int\)" -syn match draculastatement "^ *\(softchk\|stamp\|element\|parasitic cap\|attribute cap\)" -syn match draculastatement "^ *\(flagnon45\|lextract\|equation\|lpeselect\|lpechk\|attach\)" -syn match draculaStatement "\(temporary\|connect\)-layer" -syn match draculaStatement "program-dir" -syn match draculaStatement "status-command" -syn match draculaStatement "batch-queue" -syn match draculaStatement "cnames-csen" -syn match draculaStatement "filter-lay-opt" -syn match draculaStatement "filter-sch-opt" -syn match draculaStatement "power-node" -syn match draculaStatement "ground-node" -syn match draculaStatement "subckt-name" - -syn match draculaType "\*description" -syn match draculaType "\*input-layer" -syn match draculaType "\*operation" -syn match draculaType "\*end" - -syn match draculaComment ";.*" - -syn match draculaPreProc "^#.*" - -"Modify the following as needed. The trade-off is performance versus -"functionality. -syn sync lines=50 - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link draculaIdentifier Identifier -hi def link draculaStatement Statement -hi def link draculaType Type -hi def link draculaComment Comment -hi def link draculaPreProc PreProc - - -let b:current_syntax = "dracula" - -" vim: ts=8 diff --git a/uvim/runtime/syntax/dsl.mnv b/uvim/runtime/syntax/dsl.mnv new file mode 100644 index 0000000000..f7836e1e3b --- /dev/null +++ b/uvim/runtime/syntax/dsl.mnv @@ -0,0 +1,38 @@ +" MNV syntax file +" Language: DSSSL +" Maintainer: Johannes Zellner +" Last Change: Tue, 27 Apr 2004 14:54:59 CEST +" Filenames: *.dsl +" $Id: dsl.mnv,v 1.1 2004/06/13 19:13:31 mnvboss Exp $ + +if exists("b:current_syntax") | finish | endif + +runtime syntax/xml.mnv +syn cluster xmlRegionHook add=dslRegion,dslComment +syn cluster xmlCommentHook add=dslCond + +" EXAMPLE: +" +" (define html-manifest #f) +" ]]> +" +" NOTE: 'contains' the same as xmlRegion, except xmlTag / xmlEndTag +syn region dslCond matchgroup=dslCondDelim start="\[\_[^[]\+\[" end="]]" contains=xmlCdata,@xmlRegionCluster,xmlComment,xmlEntity,xmlProcessing,@xmlRegionHook + +" NOTE, that dslRegion and dslComment do both NOT have a 'contained' +" argument, so this will also work in plain dsssl documents. + +syn region dslRegion matchgroup=Delimiter start=+(+ end=+)+ contains=dslRegion,dslString,dslComment +syn match dslString +"\_[^"]*"+ contained +syn match dslComment +;.*$+ contains=dslTodo +syn keyword dslTodo contained TODO FIXME XXX display + +" The default highlighting. +hi def link dslTodo Todo +hi def link dslString String +hi def link dslComment Comment +" compare the following with xmlCdataStart / xmlCdataEnd +hi def link dslCondDelim Type + +let b:current_syntax = "dsl" diff --git a/uvim/runtime/syntax/dsl.vim b/uvim/runtime/syntax/dsl.vim deleted file mode 100644 index 95c7843140..0000000000 --- a/uvim/runtime/syntax/dsl.vim +++ /dev/null @@ -1,38 +0,0 @@ -" Vim syntax file -" Language: DSSSL -" Maintainer: Johannes Zellner -" Last Change: Tue, 27 Apr 2004 14:54:59 CEST -" Filenames: *.dsl -" $Id: dsl.vim,v 1.1 2004/06/13 19:13:31 vimboss Exp $ - -if exists("b:current_syntax") | finish | endif - -runtime syntax/xml.vim -syn cluster xmlRegionHook add=dslRegion,dslComment -syn cluster xmlCommentHook add=dslCond - -" EXAMPLE: -" -" (define html-manifest #f) -" ]]> -" -" NOTE: 'contains' the same as xmlRegion, except xmlTag / xmlEndTag -syn region dslCond matchgroup=dslCondDelim start="\[\_[^[]\+\[" end="]]" contains=xmlCdata,@xmlRegionCluster,xmlComment,xmlEntity,xmlProcessing,@xmlRegionHook - -" NOTE, that dslRegion and dslComment do both NOT have a 'contained' -" argument, so this will also work in plain dsssl documents. - -syn region dslRegion matchgroup=Delimiter start=+(+ end=+)+ contains=dslRegion,dslString,dslComment -syn match dslString +"\_[^"]*"+ contained -syn match dslComment +;.*$+ contains=dslTodo -syn keyword dslTodo contained TODO FIXME XXX display - -" The default highlighting. -hi def link dslTodo Todo -hi def link dslString String -hi def link dslComment Comment -" compare the following with xmlCdataStart / xmlCdataEnd -hi def link dslCondDelim Type - -let b:current_syntax = "dsl" diff --git a/uvim/runtime/syntax/dtd.mnv b/uvim/runtime/syntax/dtd.mnv new file mode 100644 index 0000000000..5c21b25171 --- /dev/null +++ b/uvim/runtime/syntax/dtd.mnv @@ -0,0 +1,161 @@ +" MNV syntax file +" Language: DTD (Document Type Definition for XML) +" Maintainer: Christian Brabandt +" Repository: https://github.com/chrisbra/mnv-xml-ftplugin +" Previous Maintainer: Johannes Zellner +" Author: Daniel Amyot +" Last Changed: Sept 24, 2019 +" Filenames: *.dtd +" +" REFERENCES: +" http://www.w3.org/TR/html40/ +" http://www.w3.org/TR/NOTE-html-970421 +" +" TODO: +" - improve synchronizing. + +if exists("b:current_syntax") + finish +endif +let s:dtd_cpo_save = &cpo +set cpo&mnv + +if !exists("dtd_ignore_case") + " I prefer having the case takes into consideration. + syn case match +else + syn case ignore +endif + + +" the following line makes the opening highlighted using 'dtdFunction'. +" +" PROVIDES: @dtdTagHook +" +syn region dtdTag matchgroup=dtdFunction + \ start=++ matchgroup=NONE + \ contains=dtdTag,dtdTagName,dtdError,dtdComment,dtdString,dtdAttrType,dtdAttrDef,dtdEnum,dtdParamEntityInst,dtdParamEntityDecl,dtdCard,@dtdTagHook + +if !exists("dtd_no_tag_errors") + " mark everything as an error which starts with a + +endif + +" if this is a html like comment highlight also +" the opening as Comment. +syn region dtdComment start=++ contains=dtdTodo,@Spell + + +" proper DTD comment +syn region dtdComment contained start=+--+ end=+--+ contains=dtdTodo,@Spell + + +" Start tags (keywords). This is contained in dtdFunction. +" Note that everything not contained here will be marked +" as error. +syn match dtdTagName contained +" + \ matchgroup=NONE contains=dtdParamEntityPunct + syn match dtdParamEntityPunct contained "\." + + " declarations + " syn region dtdParamEntityDecl oneline matchgroup=dtdParamEntityDPunct start=+" contains=dtdParamEntityDPunct + syn match dtdParamEntityDecl + -" Repository: https://github.com/chrisbra/vim-xml-ftplugin -" Previous Maintainer: Johannes Zellner -" Author: Daniel Amyot -" Last Changed: Sept 24, 2019 -" Filenames: *.dtd -" -" REFERENCES: -" http://www.w3.org/TR/html40/ -" http://www.w3.org/TR/NOTE-html-970421 -" -" TODO: -" - improve synchronizing. - -if exists("b:current_syntax") - finish -endif -let s:dtd_cpo_save = &cpo -set cpo&vim - -if !exists("dtd_ignore_case") - " I prefer having the case takes into consideration. - syn case match -else - syn case ignore -endif - - -" the following line makes the opening highlighted using 'dtdFunction'. -" -" PROVIDES: @dtdTagHook -" -syn region dtdTag matchgroup=dtdFunction - \ start=++ matchgroup=NONE - \ contains=dtdTag,dtdTagName,dtdError,dtdComment,dtdString,dtdAttrType,dtdAttrDef,dtdEnum,dtdParamEntityInst,dtdParamEntityDecl,dtdCard,@dtdTagHook - -if !exists("dtd_no_tag_errors") - " mark everything as an error which starts with a + -endif - -" if this is a html like comment highlight also -" the opening as Comment. -syn region dtdComment start=++ contains=dtdTodo,@Spell - - -" proper DTD comment -syn region dtdComment contained start=+--+ end=+--+ contains=dtdTodo,@Spell - - -" Start tags (keywords). This is contained in dtdFunction. -" Note that everything not contained here will be marked -" as error. -syn match dtdTagName contained +" - \ matchgroup=NONE contains=dtdParamEntityPunct - syn match dtdParamEntityPunct contained "\." - - " declarations - " syn region dtdParamEntityDecl oneline matchgroup=dtdParamEntityDPunct start=+" contains=dtdParamEntityDPunct - syn match dtdParamEntityDecl + (njj) +" Last change: 2001 Sep 02 + +" These are used with Claudio Fleiner's html.mnv in the standard distribution. +" +" Still very hackish. The 'dtml attributes' and 'dtml methods' have been +" hacked out of the Zope Quick Reference in case someone finds something +" sensible to do with them. I certainly haven't. + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" First load the HTML syntax +runtime! syntax/html.mnv + +syn case match + +" This doesn't have any effect. Does it need to be moved to above/ +" if !exists("main_syntax") +" let main_syntax = 'dtml' +" endif + +" dtml attributes +syn keyword dtmlAttribute ac_inherited_permissions access_debug_info contained +syn keyword dtmlAttribute acquiredRolesAreUsedBy all_meta_types assume_children AUTH_TYPE contained +syn keyword dtmlAttribute AUTHENTICATED_USER AUTHENTICATION_PATH BASE0 batch-end-index batch-size contained +syn keyword dtmlAttribute batch-start-index bobobase_modification_time boundary branches contained +syn keyword dtmlAttribute branches_expr capitalize cb_dataItems cb_dataValid cb_isCopyable contained +syn keyword dtmlAttribute cb_isMoveable changeClassId classDefinedAndInheritedPermissions contained +syn keyword dtmlAttribute classDefinedPermissions classInheritedPermissions collapse-all column contained +syn keyword dtmlAttribute connected connectionIsValid CONTENT_LENGTH CONTENT_TYPE cook cookies contained +syn keyword dtmlAttribute COPY count- createInObjectManager da_has_single_argument dav__allprop contained +syn keyword dtmlAttribute dav__init dav__propnames dav__propstat dav__validate default contained +syn keyword dtmlAttribute delClassAttr DELETE Destination DestinationURL digits discard contained +syn keyword dtmlAttribute disposition document_src e encode enter etc expand-all expr File contained +syn keyword dtmlAttribute filtered_manage_options filtered_meta_types first- fmt footer form contained +syn keyword dtmlAttribute GATEWAY_INTERFACE get_local_roles get_local_roles_for_userid contained +syn keyword dtmlAttribute get_request_var_or_attr get_size get_size get_valid_userids getAttribute contained +syn keyword dtmlAttribute getAttributeNode getAttributes getChildNodes getClassAttr getContentType contained +syn keyword dtmlAttribute getData getDocType getDocumentElement getElementsByTagName getFirstChild contained +syn keyword dtmlAttribute getImplementation getLastChild getLength getName getNextSibling contained +syn keyword dtmlAttribute getNodeName getNodeType getNodeValue getOwnerDocument getParentNode contained +syn keyword dtmlAttribute getPreviousSibling getProperty getPropertyType getSize getSize getSize contained +syn keyword dtmlAttribute get_size getTagName getUser getUserName getUserNames getUsers contained +syn keyword dtmlAttribute has_local_roles hasChildNodes hasProperty HEAD header hexdigits HTML contained +syn keyword dtmlAttribute html_quote HTMLFile id index_html index_objects indexes contained +syn keyword dtmlAttribute inheritedAttribute items last- leave leave_another leaves letters LOCK contained +syn keyword dtmlAttribute locked_in_version lower lowercase mailfrom mailhost mailhost_list mailto contained +syn keyword dtmlAttribute manage manage_ methods manage_access manage_acquiredPermissions contained +syn keyword dtmlAttribute manage_addConferaTopic manage_addDocument manage_addDTMLDocument contained +syn keyword dtmlAttribute manage_addDTMLMethod manage_addFile manage_addFolder manage_addImage contained +syn keyword dtmlAttribute manage_addLocalRoles manage_addMailHost manage_addPermission contained +syn keyword dtmlAttribute manage_addPrincipiaFactory manage_addProduct manage_addProperty contained +syn keyword dtmlAttribute manage_addUserFolder manage_addZClass manage_addZGadflyConnection contained +syn keyword dtmlAttribute manage_addZGadflyConnectionForm manage_advanced manage_afterAdd contained +syn keyword dtmlAttribute manage_afterClone manage_beforeDelete manage_changePermissions contained +syn keyword dtmlAttribute manage_changeProperties manage_clone manage_CopyContainerFirstItem contained +syn keyword dtmlAttribute manage_copyObjects manage_cutObjects manage_defined_roles contained +syn keyword dtmlAttribute manage_delLocalRoles manage_delObjects manage_delProperties contained +syn keyword dtmlAttribute manage_distribute manage_edit manage_editedDialog manage_editProperties contained +syn keyword dtmlAttribute manage_editRoles manage_exportObject manage_FTPget manage_FTPlist contained +syn keyword dtmlAttribute manage_FTPstat manage_get_product_readme__ manage_getPermissionMapping contained +syn keyword dtmlAttribute manage_haveProxy manage_help manage_importObject manage_listLocalRoles contained +syn keyword dtmlAttribute manage_options manage_pasteObjects manage_permission contained +syn keyword dtmlAttribute manage_propertiesForm manage_proxy manage_renameObject manage_role contained +syn keyword dtmlAttribute manage_setLocalRoles manage_setPermissionMapping contained +syn keyword dtmlAttribute manage_subclassableClassNames manage_test manage_testForm contained +syn keyword dtmlAttribute manage_undo_transactions manage_upload manage_users manage_workspace contained +syn keyword dtmlAttribute management_interface mapping math max- mean- median- meta_type min- contained +syn keyword dtmlAttribute MKCOL modified_in_version MOVE multiple name navigate_filter new_version contained +syn keyword dtmlAttribute newline_to_br next next-batches next-sequence next-sequence-end-index contained +syn keyword dtmlAttribute next-sequence-size next-sequence-start-index no manage_access None contained +syn keyword dtmlAttribute nonempty normalize nowrap null Object Manager objectIds objectItems contained +syn keyword dtmlAttribute objectMap objectValues octdigits only optional OPTIONS orphan overlap contained +syn keyword dtmlAttribute PARENTS PATH_INFO PATH_TRANSLATED permission_settings contained +syn keyword dtmlAttribute permissionMappingPossibleValues permissionsOfRole pi port contained +syn keyword dtmlAttribute possible_permissions previous previous-batches previous-sequence contained +syn keyword dtmlAttribute previous-sequence-end-index previous-sequence-size contained +syn keyword dtmlAttribute previous-sequence-start-index PrincipiaFind PrincipiaSearchSource contained +syn keyword dtmlAttribute propdict propertyIds propertyItems propertyLabel propertyMap propertyMap contained +syn keyword dtmlAttribute propertyValues PROPFIND PROPPATCH PUT query_day query_month QUERY_STRING contained +syn keyword dtmlAttribute query_year quoted_input quoted_report raise_standardErrorMessage random contained +syn keyword dtmlAttribute read read_raw REMOTE_ADDR REMOTE_HOST REMOTE_IDENT REMOTE_USER REQUEST contained +syn keyword dtmlAttribute REQUESTED_METHOD required RESPONSE reverse rolesOfPermission save schema contained +syn keyword dtmlAttribute SCRIPT_NAME sequence-end sequence-even sequence-index contained +syn keyword dtmlAttribute sequence-index-var- sequence-item sequence-key sequence-Letter contained +syn keyword dtmlAttribute sequence-letter sequence-number sequence-odd sequence-query contained +syn keyword dtmlAttribute sequence-roman sequence-Roman sequence-start sequence-step-end-index contained +syn keyword dtmlAttribute sequence-step-size sequence-step-start-index sequence-var- SERVER_NAME contained +syn keyword dtmlAttribute SERVER_PORT SERVER_PROTOCOL SERVER_SOFTWARE setClassAttr setName single contained +syn keyword dtmlAttribute size skip_unauthorized smtphost sort spacify sql_quote SQLConnectionIDs contained +syn keyword dtmlAttribute standard-deviation- standard-deviation-n- standard_html_footer contained +syn keyword dtmlAttribute standard_html_header start String string subject SubTemplate superValues contained +syn keyword dtmlAttribute tabs_path_info tag test_url_ text_content this thousands_commas title contained +syn keyword dtmlAttribute title_and_id title_or_id total- tpURL tpValues TRACE translate tree-c contained +syn keyword dtmlAttribute tree-colspan tree-e tree-item-expanded tree-item-url tree-level contained +syn keyword dtmlAttribute tree-root-url tree-s tree-state type undoable_transactions UNLOCK contained +syn keyword dtmlAttribute update_data upper uppercase url url_quote URLn user_names contained +syn keyword dtmlAttribute userdefined_roles valid_property_id valid_roles validate_roles contained +syn keyword dtmlAttribute validClipData validRoles values variance- variance-n- view_image_or_file contained +syn keyword dtmlAttribute where whitespace whrandom xml_namespace zclass_candidate_view_actions contained +syn keyword dtmlAttribute ZClassBaseClassNames ziconImage ZopeFind ZQueryIds contained + +syn keyword dtmlMethod abs absolute_url ac_inherited_permissions aCommon contained +syn keyword dtmlMethod aCommonZ acos acquiredRolesAreUsedBy aDay addPropertySheet aMonth AMPM contained +syn keyword dtmlMethod ampm AMPMMinutes appendChild appendData appendHeader asin atan atan2 contained +syn keyword dtmlMethod atof atoi betavariate capatilize capwords catalog_object ceil center contained +syn keyword dtmlMethod choice chr cloneNode COPY cos cosh count createInObjectManager contained +syn keyword dtmlMethod createSQLInput cunifvariate Date DateTime Day day dayOfYear dd default contained +syn keyword dtmlMethod DELETE deleteData delPropertySheet divmod document_id document_title dow contained +syn keyword dtmlMethod earliestTime enter equalTo exp expireCookie expovariate fabs fCommon contained +syn keyword dtmlMethod fCommonZ filtered_manage_options filtered_meta_types find float floor contained +syn keyword dtmlMethod fmod frexp gamma gauss get get_local_roles_for_userid get_size getattr contained +syn keyword dtmlMethod getAttribute getAttributeNode getClassAttr getDomains contained +syn keyword dtmlMethod getElementsByTagName getHeader getitem getNamedItem getobject contained +syn keyword dtmlMethod getObjectsInfo getpath getProperty getRoles getStatus getUser contained +syn keyword dtmlMethod getUserName greaterThan greaterThanEqualTo h_12 h_24 has_key contained +syn keyword dtmlMethod has_permission has_role hasattr hasFeature hash hasProperty HEAD hex contained +syn keyword dtmlMethod hour hypot index index_html inheritedAttribute insertBefore insertData contained +syn keyword dtmlMethod int isCurrentDay isCurrentHour isCurrentMinute isCurrentMonth contained +syn keyword dtmlMethod isCurrentYear isFuture isLeadYear isPast item join latestTime ldexp contained +syn keyword dtmlMethod leave leave_another len lessThan lessThanEqualTo ljust log log10 contained +syn keyword dtmlMethod lognormvariate lower lstrip maketrans manage manage_access contained +syn keyword dtmlMethod manage_acquiredPermissions manage_addColumn manage_addDocument contained +syn keyword dtmlMethod manage_addDTMLDocument manage_addDTMLMethod manage_addFile contained +syn keyword dtmlMethod manage_addFolder manage_addImage manage_addIndex manage_addLocalRoles contained +syn keyword dtmlMethod manage_addMailHost manage_addPermission manage_addPrincipiaFactory contained +syn keyword dtmlMethod manage_addProduct manage_addProperty manage_addPropertySheet contained +syn keyword dtmlMethod manage_addUserFolder manage_addZCatalog manage_addZClass contained +syn keyword dtmlMethod manage_addZGadflyConnection manage_addZGadflyConnectionForm contained +syn keyword dtmlMethod manage_advanced manage_catalogClear manage_catalogFoundItems contained +syn keyword dtmlMethod manage_catalogObject manage_catalogReindex manage_changePermissions contained +syn keyword dtmlMethod manage_changeProperties manage_clone manage_CopyContainerFirstItem contained +syn keyword dtmlMethod manage_copyObjects manage_createEditor manage_createView contained +syn keyword dtmlMethod manage_cutObjects manage_defined_roles manage_delColumns contained +syn keyword dtmlMethod manage_delIndexes manage_delLocalRoles manage_delObjects contained +syn keyword dtmlMethod manage_delProperties manage_Discard__draft__ manage_distribute contained +syn keyword dtmlMethod manage_edit manage_edit manage_editedDialog manage_editProperties contained +syn keyword dtmlMethod manage_editRoles manage_exportObject manage_importObject contained +syn keyword dtmlMethod manage_makeChanges manage_pasteObjects manage_permission contained +syn keyword dtmlMethod manage_propertiesForm manage_proxy manage_renameObject manage_role contained +syn keyword dtmlMethod manage_Save__draft__ manage_setLocalRoles manage_setPermissionMapping contained +syn keyword dtmlMethod manage_test manage_testForm manage_uncatalogObject contained +syn keyword dtmlMethod manage_undo_transactions manage_upload manage_users manage_workspace contained +syn keyword dtmlMethod mange_createWizard max min minute MKCOL mm modf month Month MOVE contained +syn keyword dtmlMethod namespace new_version nextObject normalvariate notEqualTo objectIds contained +syn keyword dtmlMethod objectItems objectValues oct OPTIONS ord paretovariate parts pCommon contained +syn keyword dtmlMethod pCommonZ pDay permissionsOfRole pMonth pow PreciseAMPM PreciseTime contained +syn keyword dtmlMethod previousObject propertyInfo propertyLabel PROPFIND PROPPATCH PUT quit contained +syn keyword dtmlMethod raise_standardErrorMessage randint random read read_raw redirect contained +syn keyword dtmlMethod removeAttribute removeAttributeNode removeChild replace replaceChild contained +syn keyword dtmlMethod replaceData rfc822 rfind rindex rjust rolesOfPermission round rstrip contained +syn keyword dtmlMethod save searchResults second seed set setAttribute setAttributeNode setBase contained +syn keyword dtmlMethod setCookie setHeader setStatus sin sinh split splitText sqrt str strip contained +syn keyword dtmlMethod substringData superValues swapcase tabs_path_info tan tanh Time contained +syn keyword dtmlMethod TimeMinutes timeTime timezone title title_and_id title_or_id toXML contained +syn keyword dtmlMethod toZone uncatalog_object undoable_transactions uniform uniqueValuesFor contained +syn keyword dtmlMethod update_data upper valid_property_id validate_roles vonmisesvariate contained +syn keyword dtmlMethod weibullvariate year yy zfill ZopeFind contained + +" DTML tags +syn keyword dtmlTagName var if elif else unless in with let call raise try except tag comment tree sqlvar sqltest sqlgroup sendmail mime transparent contained + +syn keyword dtmlEndTagName if unless in with let raise try tree sendmail transparent contained + +" Own additions +syn keyword dtmlTODO TODO FIXME contained + +syn region dtmlComment start=++ end=++ contains=dtmlTODO + +" All dtmlTagNames are contained by dtmlIsTag. +syn match dtmlIsTag "dtml-[A-Za-z]\+" contains=dtmlTagName + +" 'var' tag entity syntax: &dtml-variableName; +" - with attributes: &dtml.attribute1[.attribute2]...-variableName; +syn match dtmlSpecialChar "&dtml[.0-9A-Za-z_]\{-}-[0-9A-Za-z_.]\+;" + +" Redefine to allow inclusion of DTML within HTML strings. +syn cluster htmlTop contains=@Spell,htmlTag,htmlEndTag,dtmlSpecialChar,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,@htmlPreproc +syn region htmlLink start="[^>]*href\>" end=""me=e-4 contains=@Spell,htmlTag,htmlEndTag,dtmlSpecialChar,htmlSpecialChar,htmlPreProc,htmlComment,javaScript,@htmlPreproc +syn region htmlHead start="" end=""me=e-7 end=""me=e-5 end=""me=e-3 contains=htmlTag,htmlEndTag,dtmlSpecialChar,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,htmlTitle,javaScript,cssStyle,@htmlPreproc +syn region htmlTitle start="" end=""me=e-8 contains=htmlTag,htmlEndTag,dtmlSpecialChar,htmlSpecialChar,htmlPreProc,htmlComment,javaScript,@htmlPreproc +syn region htmlString contained start=+"+ end=+"+ contains=dtmlSpecialChar,htmlSpecialChar,javaScriptExpression,dtmlIsTag,dtmlAttribute,dtmlMethod,@htmlPreproc +syn match htmlTagN contained +<\s*[-a-zA-Z0-9]\++hs=s+1 contains=htmlTagName,htmlSpecialTagName,dtmlIsTag,dtmlAttribute,dtmlMethod,@htmlTagNameCluster +syn match htmlTagN contained + (njj) -" Last change: 2001 Sep 02 - -" These are used with Claudio Fleiner's html.vim in the standard distribution. -" -" Still very hackish. The 'dtml attributes' and 'dtml methods' have been -" hacked out of the Zope Quick Reference in case someone finds something -" sensible to do with them. I certainly haven't. - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" First load the HTML syntax -runtime! syntax/html.vim - -syn case match - -" This doesn't have any effect. Does it need to be moved to above/ -" if !exists("main_syntax") -" let main_syntax = 'dtml' -" endif - -" dtml attributes -syn keyword dtmlAttribute ac_inherited_permissions access_debug_info contained -syn keyword dtmlAttribute acquiredRolesAreUsedBy all_meta_types assume_children AUTH_TYPE contained -syn keyword dtmlAttribute AUTHENTICATED_USER AUTHENTICATION_PATH BASE0 batch-end-index batch-size contained -syn keyword dtmlAttribute batch-start-index bobobase_modification_time boundary branches contained -syn keyword dtmlAttribute branches_expr capitalize cb_dataItems cb_dataValid cb_isCopyable contained -syn keyword dtmlAttribute cb_isMoveable changeClassId classDefinedAndInheritedPermissions contained -syn keyword dtmlAttribute classDefinedPermissions classInheritedPermissions collapse-all column contained -syn keyword dtmlAttribute connected connectionIsValid CONTENT_LENGTH CONTENT_TYPE cook cookies contained -syn keyword dtmlAttribute COPY count- createInObjectManager da_has_single_argument dav__allprop contained -syn keyword dtmlAttribute dav__init dav__propnames dav__propstat dav__validate default contained -syn keyword dtmlAttribute delClassAttr DELETE Destination DestinationURL digits discard contained -syn keyword dtmlAttribute disposition document_src e encode enter etc expand-all expr File contained -syn keyword dtmlAttribute filtered_manage_options filtered_meta_types first- fmt footer form contained -syn keyword dtmlAttribute GATEWAY_INTERFACE get_local_roles get_local_roles_for_userid contained -syn keyword dtmlAttribute get_request_var_or_attr get_size get_size get_valid_userids getAttribute contained -syn keyword dtmlAttribute getAttributeNode getAttributes getChildNodes getClassAttr getContentType contained -syn keyword dtmlAttribute getData getDocType getDocumentElement getElementsByTagName getFirstChild contained -syn keyword dtmlAttribute getImplementation getLastChild getLength getName getNextSibling contained -syn keyword dtmlAttribute getNodeName getNodeType getNodeValue getOwnerDocument getParentNode contained -syn keyword dtmlAttribute getPreviousSibling getProperty getPropertyType getSize getSize getSize contained -syn keyword dtmlAttribute get_size getTagName getUser getUserName getUserNames getUsers contained -syn keyword dtmlAttribute has_local_roles hasChildNodes hasProperty HEAD header hexdigits HTML contained -syn keyword dtmlAttribute html_quote HTMLFile id index_html index_objects indexes contained -syn keyword dtmlAttribute inheritedAttribute items last- leave leave_another leaves letters LOCK contained -syn keyword dtmlAttribute locked_in_version lower lowercase mailfrom mailhost mailhost_list mailto contained -syn keyword dtmlAttribute manage manage_ methods manage_access manage_acquiredPermissions contained -syn keyword dtmlAttribute manage_addConferaTopic manage_addDocument manage_addDTMLDocument contained -syn keyword dtmlAttribute manage_addDTMLMethod manage_addFile manage_addFolder manage_addImage contained -syn keyword dtmlAttribute manage_addLocalRoles manage_addMailHost manage_addPermission contained -syn keyword dtmlAttribute manage_addPrincipiaFactory manage_addProduct manage_addProperty contained -syn keyword dtmlAttribute manage_addUserFolder manage_addZClass manage_addZGadflyConnection contained -syn keyword dtmlAttribute manage_addZGadflyConnectionForm manage_advanced manage_afterAdd contained -syn keyword dtmlAttribute manage_afterClone manage_beforeDelete manage_changePermissions contained -syn keyword dtmlAttribute manage_changeProperties manage_clone manage_CopyContainerFirstItem contained -syn keyword dtmlAttribute manage_copyObjects manage_cutObjects manage_defined_roles contained -syn keyword dtmlAttribute manage_delLocalRoles manage_delObjects manage_delProperties contained -syn keyword dtmlAttribute manage_distribute manage_edit manage_editedDialog manage_editProperties contained -syn keyword dtmlAttribute manage_editRoles manage_exportObject manage_FTPget manage_FTPlist contained -syn keyword dtmlAttribute manage_FTPstat manage_get_product_readme__ manage_getPermissionMapping contained -syn keyword dtmlAttribute manage_haveProxy manage_help manage_importObject manage_listLocalRoles contained -syn keyword dtmlAttribute manage_options manage_pasteObjects manage_permission contained -syn keyword dtmlAttribute manage_propertiesForm manage_proxy manage_renameObject manage_role contained -syn keyword dtmlAttribute manage_setLocalRoles manage_setPermissionMapping contained -syn keyword dtmlAttribute manage_subclassableClassNames manage_test manage_testForm contained -syn keyword dtmlAttribute manage_undo_transactions manage_upload manage_users manage_workspace contained -syn keyword dtmlAttribute management_interface mapping math max- mean- median- meta_type min- contained -syn keyword dtmlAttribute MKCOL modified_in_version MOVE multiple name navigate_filter new_version contained -syn keyword dtmlAttribute newline_to_br next next-batches next-sequence next-sequence-end-index contained -syn keyword dtmlAttribute next-sequence-size next-sequence-start-index no manage_access None contained -syn keyword dtmlAttribute nonempty normalize nowrap null Object Manager objectIds objectItems contained -syn keyword dtmlAttribute objectMap objectValues octdigits only optional OPTIONS orphan overlap contained -syn keyword dtmlAttribute PARENTS PATH_INFO PATH_TRANSLATED permission_settings contained -syn keyword dtmlAttribute permissionMappingPossibleValues permissionsOfRole pi port contained -syn keyword dtmlAttribute possible_permissions previous previous-batches previous-sequence contained -syn keyword dtmlAttribute previous-sequence-end-index previous-sequence-size contained -syn keyword dtmlAttribute previous-sequence-start-index PrincipiaFind PrincipiaSearchSource contained -syn keyword dtmlAttribute propdict propertyIds propertyItems propertyLabel propertyMap propertyMap contained -syn keyword dtmlAttribute propertyValues PROPFIND PROPPATCH PUT query_day query_month QUERY_STRING contained -syn keyword dtmlAttribute query_year quoted_input quoted_report raise_standardErrorMessage random contained -syn keyword dtmlAttribute read read_raw REMOTE_ADDR REMOTE_HOST REMOTE_IDENT REMOTE_USER REQUEST contained -syn keyword dtmlAttribute REQUESTED_METHOD required RESPONSE reverse rolesOfPermission save schema contained -syn keyword dtmlAttribute SCRIPT_NAME sequence-end sequence-even sequence-index contained -syn keyword dtmlAttribute sequence-index-var- sequence-item sequence-key sequence-Letter contained -syn keyword dtmlAttribute sequence-letter sequence-number sequence-odd sequence-query contained -syn keyword dtmlAttribute sequence-roman sequence-Roman sequence-start sequence-step-end-index contained -syn keyword dtmlAttribute sequence-step-size sequence-step-start-index sequence-var- SERVER_NAME contained -syn keyword dtmlAttribute SERVER_PORT SERVER_PROTOCOL SERVER_SOFTWARE setClassAttr setName single contained -syn keyword dtmlAttribute size skip_unauthorized smtphost sort spacify sql_quote SQLConnectionIDs contained -syn keyword dtmlAttribute standard-deviation- standard-deviation-n- standard_html_footer contained -syn keyword dtmlAttribute standard_html_header start String string subject SubTemplate superValues contained -syn keyword dtmlAttribute tabs_path_info tag test_url_ text_content this thousands_commas title contained -syn keyword dtmlAttribute title_and_id title_or_id total- tpURL tpValues TRACE translate tree-c contained -syn keyword dtmlAttribute tree-colspan tree-e tree-item-expanded tree-item-url tree-level contained -syn keyword dtmlAttribute tree-root-url tree-s tree-state type undoable_transactions UNLOCK contained -syn keyword dtmlAttribute update_data upper uppercase url url_quote URLn user_names contained -syn keyword dtmlAttribute userdefined_roles valid_property_id valid_roles validate_roles contained -syn keyword dtmlAttribute validClipData validRoles values variance- variance-n- view_image_or_file contained -syn keyword dtmlAttribute where whitespace whrandom xml_namespace zclass_candidate_view_actions contained -syn keyword dtmlAttribute ZClassBaseClassNames ziconImage ZopeFind ZQueryIds contained - -syn keyword dtmlMethod abs absolute_url ac_inherited_permissions aCommon contained -syn keyword dtmlMethod aCommonZ acos acquiredRolesAreUsedBy aDay addPropertySheet aMonth AMPM contained -syn keyword dtmlMethod ampm AMPMMinutes appendChild appendData appendHeader asin atan atan2 contained -syn keyword dtmlMethod atof atoi betavariate capatilize capwords catalog_object ceil center contained -syn keyword dtmlMethod choice chr cloneNode COPY cos cosh count createInObjectManager contained -syn keyword dtmlMethod createSQLInput cunifvariate Date DateTime Day day dayOfYear dd default contained -syn keyword dtmlMethod DELETE deleteData delPropertySheet divmod document_id document_title dow contained -syn keyword dtmlMethod earliestTime enter equalTo exp expireCookie expovariate fabs fCommon contained -syn keyword dtmlMethod fCommonZ filtered_manage_options filtered_meta_types find float floor contained -syn keyword dtmlMethod fmod frexp gamma gauss get get_local_roles_for_userid get_size getattr contained -syn keyword dtmlMethod getAttribute getAttributeNode getClassAttr getDomains contained -syn keyword dtmlMethod getElementsByTagName getHeader getitem getNamedItem getobject contained -syn keyword dtmlMethod getObjectsInfo getpath getProperty getRoles getStatus getUser contained -syn keyword dtmlMethod getUserName greaterThan greaterThanEqualTo h_12 h_24 has_key contained -syn keyword dtmlMethod has_permission has_role hasattr hasFeature hash hasProperty HEAD hex contained -syn keyword dtmlMethod hour hypot index index_html inheritedAttribute insertBefore insertData contained -syn keyword dtmlMethod int isCurrentDay isCurrentHour isCurrentMinute isCurrentMonth contained -syn keyword dtmlMethod isCurrentYear isFuture isLeadYear isPast item join latestTime ldexp contained -syn keyword dtmlMethod leave leave_another len lessThan lessThanEqualTo ljust log log10 contained -syn keyword dtmlMethod lognormvariate lower lstrip maketrans manage manage_access contained -syn keyword dtmlMethod manage_acquiredPermissions manage_addColumn manage_addDocument contained -syn keyword dtmlMethod manage_addDTMLDocument manage_addDTMLMethod manage_addFile contained -syn keyword dtmlMethod manage_addFolder manage_addImage manage_addIndex manage_addLocalRoles contained -syn keyword dtmlMethod manage_addMailHost manage_addPermission manage_addPrincipiaFactory contained -syn keyword dtmlMethod manage_addProduct manage_addProperty manage_addPropertySheet contained -syn keyword dtmlMethod manage_addUserFolder manage_addZCatalog manage_addZClass contained -syn keyword dtmlMethod manage_addZGadflyConnection manage_addZGadflyConnectionForm contained -syn keyword dtmlMethod manage_advanced manage_catalogClear manage_catalogFoundItems contained -syn keyword dtmlMethod manage_catalogObject manage_catalogReindex manage_changePermissions contained -syn keyword dtmlMethod manage_changeProperties manage_clone manage_CopyContainerFirstItem contained -syn keyword dtmlMethod manage_copyObjects manage_createEditor manage_createView contained -syn keyword dtmlMethod manage_cutObjects manage_defined_roles manage_delColumns contained -syn keyword dtmlMethod manage_delIndexes manage_delLocalRoles manage_delObjects contained -syn keyword dtmlMethod manage_delProperties manage_Discard__draft__ manage_distribute contained -syn keyword dtmlMethod manage_edit manage_edit manage_editedDialog manage_editProperties contained -syn keyword dtmlMethod manage_editRoles manage_exportObject manage_importObject contained -syn keyword dtmlMethod manage_makeChanges manage_pasteObjects manage_permission contained -syn keyword dtmlMethod manage_propertiesForm manage_proxy manage_renameObject manage_role contained -syn keyword dtmlMethod manage_Save__draft__ manage_setLocalRoles manage_setPermissionMapping contained -syn keyword dtmlMethod manage_test manage_testForm manage_uncatalogObject contained -syn keyword dtmlMethod manage_undo_transactions manage_upload manage_users manage_workspace contained -syn keyword dtmlMethod mange_createWizard max min minute MKCOL mm modf month Month MOVE contained -syn keyword dtmlMethod namespace new_version nextObject normalvariate notEqualTo objectIds contained -syn keyword dtmlMethod objectItems objectValues oct OPTIONS ord paretovariate parts pCommon contained -syn keyword dtmlMethod pCommonZ pDay permissionsOfRole pMonth pow PreciseAMPM PreciseTime contained -syn keyword dtmlMethod previousObject propertyInfo propertyLabel PROPFIND PROPPATCH PUT quit contained -syn keyword dtmlMethod raise_standardErrorMessage randint random read read_raw redirect contained -syn keyword dtmlMethod removeAttribute removeAttributeNode removeChild replace replaceChild contained -syn keyword dtmlMethod replaceData rfc822 rfind rindex rjust rolesOfPermission round rstrip contained -syn keyword dtmlMethod save searchResults second seed set setAttribute setAttributeNode setBase contained -syn keyword dtmlMethod setCookie setHeader setStatus sin sinh split splitText sqrt str strip contained -syn keyword dtmlMethod substringData superValues swapcase tabs_path_info tan tanh Time contained -syn keyword dtmlMethod TimeMinutes timeTime timezone title title_and_id title_or_id toXML contained -syn keyword dtmlMethod toZone uncatalog_object undoable_transactions uniform uniqueValuesFor contained -syn keyword dtmlMethod update_data upper valid_property_id validate_roles vonmisesvariate contained -syn keyword dtmlMethod weibullvariate year yy zfill ZopeFind contained - -" DTML tags -syn keyword dtmlTagName var if elif else unless in with let call raise try except tag comment tree sqlvar sqltest sqlgroup sendmail mime transparent contained - -syn keyword dtmlEndTagName if unless in with let raise try tree sendmail transparent contained - -" Own additions -syn keyword dtmlTODO TODO FIXME contained - -syn region dtmlComment start=++ end=++ contains=dtmlTODO - -" All dtmlTagNames are contained by dtmlIsTag. -syn match dtmlIsTag "dtml-[A-Za-z]\+" contains=dtmlTagName - -" 'var' tag entity syntax: &dtml-variableName; -" - with attributes: &dtml.attribute1[.attribute2]...-variableName; -syn match dtmlSpecialChar "&dtml[.0-9A-Za-z_]\{-}-[0-9A-Za-z_.]\+;" - -" Redefine to allow inclusion of DTML within HTML strings. -syn cluster htmlTop contains=@Spell,htmlTag,htmlEndTag,dtmlSpecialChar,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,@htmlPreproc -syn region htmlLink start="[^>]*href\>" end=""me=e-4 contains=@Spell,htmlTag,htmlEndTag,dtmlSpecialChar,htmlSpecialChar,htmlPreProc,htmlComment,javaScript,@htmlPreproc -syn region htmlHead start="" end=""me=e-7 end=""me=e-5 end=""me=e-3 contains=htmlTag,htmlEndTag,dtmlSpecialChar,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,htmlTitle,javaScript,cssStyle,@htmlPreproc -syn region htmlTitle start="" end=""me=e-8 contains=htmlTag,htmlEndTag,dtmlSpecialChar,htmlSpecialChar,htmlPreProc,htmlComment,javaScript,@htmlPreproc -syn region htmlString contained start=+"+ end=+"+ contains=dtmlSpecialChar,htmlSpecialChar,javaScriptExpression,dtmlIsTag,dtmlAttribute,dtmlMethod,@htmlPreproc -syn match htmlTagN contained +<\s*[-a-zA-Z0-9]\++hs=s+1 contains=htmlTagName,htmlSpecialTagName,dtmlIsTag,dtmlAttribute,dtmlMethod,@htmlTagNameCluster -syn match htmlTagN contained + + +" dtrace lexer and parser are at +" http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libdtrace/common/dt_lex.l +" http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libdtrace/common/dt_grammar.y + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" Read the C syntax to start with +runtime! syntax/c.mnv +unlet b:current_syntax + +syn clear cCommentL " dtrace doesn't support // style comments + +" First line may start with #!, also make sure a '-s' flag is somewhere in +" that line. +syn match dtraceComment "\%^#!.*-s.*" + +" Probe descriptors need explicit matches, so that keywords in probe +" descriptors don't show up as errors. Note that this regex detects probes +" as "something with three ':' in it". This works in practice, but it's not +" really correct. Also add special case code for BEGIN, END and ERROR, since +" they are common. +" Be careful not to detect '/*some:::node*/\n/**/' as probe, as it's +" commented out. +" XXX: This allows a probe description to end with ',', even if it's not +" followed by another probe. +" XXX: This doesn't work if followed by a comment. +let s:oneProbe = '\%(BEGIN\|END\|ERROR\|\S\{-}:\S\{-}:\S\{-}:\S\{-}\)\_s*' +exec 'syn match dtraceProbe "'.s:oneProbe.'\%(,\_s*'.s:oneProbe.'\)*\ze\_s\%({\|\/[^*]\|\%$\)"' + +" Note: We have to be careful to not make this match /* */ comments. +" Also be careful not to eat `c = a / b; b = a / 2;`. We use the same +" technique as the dtrace lexer: a predicate has to be followed by {, ;, or +" EOF. Also note that dtrace doesn't allow an empty predicate // (we do). +" This regex doesn't allow a divison operator in the predicate. +" Make sure that this matches the empty predicate as well. +" XXX: This doesn't work if followed by a comment. +syn match dtracePredicate "/\*\@!\_[^/]*/\ze\_s*\%({\|;\|\%$\)" + "contains=ALLBUT,dtraceOption " this lets the region contain too much stuff + +" Pragmas. +" dtrace seems not to support whitespace before or after the '='. dtrace +" supports only one option per #pragma, and no continuations of #pragma over +" several lines with '\'. +" Note that dtrace treats units (Hz etc) as case-insenstive, we allow only +" sane unit capitalization in this script (ie 'ns', 'us', 'ms', 's' have to be +" small, Hertz can be 'Hz' or 'hz') +" XXX: "cpu" is always highlighted as builtin var, not as option + +" auto or manual: bufresize +syn match dtraceOption contained "bufresize=\%(auto\|manual\)\s*$" + +" scalar: cpu jstackframes jstackstrsize nspec stackframes stackindent ustackframes +syn match dtraceOption contained "\%(cpu\|jstackframes\|jstackstrsize\|nspec\|stackframes\|stackindent\|ustackframes\)=\d\+\s*$" + +" size: aggsize bufsize dynvarsize specsize strsize +" size defaults to something if no unit is given (ie., having no unit is ok) +syn match dtraceOption contained "\%(aggsize\|bufsize\|dynvarsize\|specsize\|strsize\)=\d\+\%(k\|m\|g\|t\|K\|M\|G\|T\)\=\s*$" + +" time: aggrate cleanrate statusrate switchrate +" time defaults to hz if no unit is given +syn match dtraceOption contained "\%(aggrate\|cleanrate\|statusrate\|switchrate\)=\d\+\%(hz\|Hz\|ns\|us\|ms\|s\)\=\s*$" + +" No type: defaultargs destructive flowindent grabanon quiet rawbytes +syn match dtraceOption contained "\%(defaultargs\|destructive\|flowindent\|grabanon\|quiet\|rawbytes\)\s*$" + + +" Turn reserved but unspecified keywords into errors +syn keyword dtraceReservedKeyword auto break case continue counter default do +syn keyword dtraceReservedKeyword else for goto if import probe provider +syn keyword dtraceReservedKeyword register restrict return static switch while + +" Add dtrace-specific stuff +syn keyword dtraceOperator sizeof offsetof stringof xlate +syn keyword dtraceStatement self inline xlate this translator + +" Builtin variables +syn keyword dtraceIdentifier arg0 arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 +syn keyword dtraceIdentifier args caller chip cpu curcpu curlwpsinfo curpsinfo +syn keyword dtraceIdentifier curthread cwd epid errno execname gid id ipl lgrp +syn keyword dtraceIdentifier pid ppid probefunc probemod probename probeprov +syn keyword dtraceIdentifier pset root stackdepth tid timestamp uid uregs +syn keyword dtraceIdentifier vtimestamp walltimestamp +syn keyword dtraceIdentifier ustackdepth + +" Macro Variables +syn match dtraceConstant "$[0-9]\+" +syn match dtraceConstant "$\(egid\|euid\|gid\|pgid\|ppid\)" +syn match dtraceConstant "$\(projid\|sid\|target\|taskid\|uid\)" + +" Data Recording Actions +syn keyword dtraceFunction trace tracemem printf printa stack ustack jstack + +" Process Destructive Actions +syn keyword dtraceFunction stop raise copyout copyoutstr system + +" Kernel Destructive Actions +syn keyword dtraceFunction breakpoint panic chill + +" Special Actions +syn keyword dtraceFunction speculate commit discard exit + +" Subroutines +syn keyword dtraceFunction alloca basename bcopy cleanpath copyin copyinstr +syn keyword dtraceFunction copyinto dirname msgdsize msgsize mutex_owned +syn keyword dtraceFunction mutex_owner mutex_type_adaptive progenyof +syn keyword dtraceFunction rand rw_iswriter rw_write_held speculation +syn keyword dtraceFunction strjoin strlen + +" Aggregating Functions +syn keyword dtraceAggregatingFunction count sum avg min max lquantize quantize + +syn keyword dtraceType int8_t int16_t int32_t int64_t intptr_t +syn keyword dtraceType uint8_t uint16_t uint32_t uint64_t uintptr_t +syn keyword dtraceType string +syn keyword dtraceType pid_t id_t + + +" Define the default highlighting. +" We use `hi def link` directly, this requires 5.8. +hi def link dtraceReservedKeyword Error +hi def link dtracePredicate String +hi def link dtraceProbe dtraceStatement +hi def link dtraceStatement Statement +hi def link dtraceConstant Constant +hi def link dtraceIdentifier Identifier +hi def link dtraceAggregatingFunction dtraceFunction +hi def link dtraceFunction Function +hi def link dtraceType Type +hi def link dtraceOperator Operator +hi def link dtraceComment Comment +hi def link dtraceNumber Number +hi def link dtraceOption Identifier + +let b:current_syntax = "dtrace" diff --git a/uvim/runtime/syntax/dtrace.vim b/uvim/runtime/syntax/dtrace.vim deleted file mode 100644 index 392fa1c1c9..0000000000 --- a/uvim/runtime/syntax/dtrace.vim +++ /dev/null @@ -1,145 +0,0 @@ -" DTrace D script syntax file. To avoid confusion with the D programming -" language, I call this script dtrace.vim instead of d.vim. -" Language: D script as described in "Solaris Dynamic Tracing Guide", -" http://docs.sun.com/app/docs/doc/817-6223 -" Version: 1.5 -" Last Change: 2008/04/05 -" Maintainer: Nicolas Weber - -" dtrace lexer and parser are at -" http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libdtrace/common/dt_lex.l -" http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libdtrace/common/dt_grammar.y - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" Read the C syntax to start with -runtime! syntax/c.vim -unlet b:current_syntax - -syn clear cCommentL " dtrace doesn't support // style comments - -" First line may start with #!, also make sure a '-s' flag is somewhere in -" that line. -syn match dtraceComment "\%^#!.*-s.*" - -" Probe descriptors need explicit matches, so that keywords in probe -" descriptors don't show up as errors. Note that this regex detects probes -" as "something with three ':' in it". This works in practice, but it's not -" really correct. Also add special case code for BEGIN, END and ERROR, since -" they are common. -" Be careful not to detect '/*some:::node*/\n/**/' as probe, as it's -" commented out. -" XXX: This allows a probe description to end with ',', even if it's not -" followed by another probe. -" XXX: This doesn't work if followed by a comment. -let s:oneProbe = '\%(BEGIN\|END\|ERROR\|\S\{-}:\S\{-}:\S\{-}:\S\{-}\)\_s*' -exec 'syn match dtraceProbe "'.s:oneProbe.'\%(,\_s*'.s:oneProbe.'\)*\ze\_s\%({\|\/[^*]\|\%$\)"' - -" Note: We have to be careful to not make this match /* */ comments. -" Also be careful not to eat `c = a / b; b = a / 2;`. We use the same -" technique as the dtrace lexer: a predicate has to be followed by {, ;, or -" EOF. Also note that dtrace doesn't allow an empty predicate // (we do). -" This regex doesn't allow a divison operator in the predicate. -" Make sure that this matches the empty predicate as well. -" XXX: This doesn't work if followed by a comment. -syn match dtracePredicate "/\*\@!\_[^/]*/\ze\_s*\%({\|;\|\%$\)" - "contains=ALLBUT,dtraceOption " this lets the region contain too much stuff - -" Pragmas. -" dtrace seems not to support whitespace before or after the '='. dtrace -" supports only one option per #pragma, and no continuations of #pragma over -" several lines with '\'. -" Note that dtrace treats units (Hz etc) as case-insenstive, we allow only -" sane unit capitalization in this script (ie 'ns', 'us', 'ms', 's' have to be -" small, Hertz can be 'Hz' or 'hz') -" XXX: "cpu" is always highlighted as builtin var, not as option - -" auto or manual: bufresize -syn match dtraceOption contained "bufresize=\%(auto\|manual\)\s*$" - -" scalar: cpu jstackframes jstackstrsize nspec stackframes stackindent ustackframes -syn match dtraceOption contained "\%(cpu\|jstackframes\|jstackstrsize\|nspec\|stackframes\|stackindent\|ustackframes\)=\d\+\s*$" - -" size: aggsize bufsize dynvarsize specsize strsize -" size defaults to something if no unit is given (ie., having no unit is ok) -syn match dtraceOption contained "\%(aggsize\|bufsize\|dynvarsize\|specsize\|strsize\)=\d\+\%(k\|m\|g\|t\|K\|M\|G\|T\)\=\s*$" - -" time: aggrate cleanrate statusrate switchrate -" time defaults to hz if no unit is given -syn match dtraceOption contained "\%(aggrate\|cleanrate\|statusrate\|switchrate\)=\d\+\%(hz\|Hz\|ns\|us\|ms\|s\)\=\s*$" - -" No type: defaultargs destructive flowindent grabanon quiet rawbytes -syn match dtraceOption contained "\%(defaultargs\|destructive\|flowindent\|grabanon\|quiet\|rawbytes\)\s*$" - - -" Turn reserved but unspecified keywords into errors -syn keyword dtraceReservedKeyword auto break case continue counter default do -syn keyword dtraceReservedKeyword else for goto if import probe provider -syn keyword dtraceReservedKeyword register restrict return static switch while - -" Add dtrace-specific stuff -syn keyword dtraceOperator sizeof offsetof stringof xlate -syn keyword dtraceStatement self inline xlate this translator - -" Builtin variables -syn keyword dtraceIdentifier arg0 arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 -syn keyword dtraceIdentifier args caller chip cpu curcpu curlwpsinfo curpsinfo -syn keyword dtraceIdentifier curthread cwd epid errno execname gid id ipl lgrp -syn keyword dtraceIdentifier pid ppid probefunc probemod probename probeprov -syn keyword dtraceIdentifier pset root stackdepth tid timestamp uid uregs -syn keyword dtraceIdentifier vtimestamp walltimestamp -syn keyword dtraceIdentifier ustackdepth - -" Macro Variables -syn match dtraceConstant "$[0-9]\+" -syn match dtraceConstant "$\(egid\|euid\|gid\|pgid\|ppid\)" -syn match dtraceConstant "$\(projid\|sid\|target\|taskid\|uid\)" - -" Data Recording Actions -syn keyword dtraceFunction trace tracemem printf printa stack ustack jstack - -" Process Destructive Actions -syn keyword dtraceFunction stop raise copyout copyoutstr system - -" Kernel Destructive Actions -syn keyword dtraceFunction breakpoint panic chill - -" Special Actions -syn keyword dtraceFunction speculate commit discard exit - -" Subroutines -syn keyword dtraceFunction alloca basename bcopy cleanpath copyin copyinstr -syn keyword dtraceFunction copyinto dirname msgdsize msgsize mutex_owned -syn keyword dtraceFunction mutex_owner mutex_type_adaptive progenyof -syn keyword dtraceFunction rand rw_iswriter rw_write_held speculation -syn keyword dtraceFunction strjoin strlen - -" Aggregating Functions -syn keyword dtraceAggregatingFunction count sum avg min max lquantize quantize - -syn keyword dtraceType int8_t int16_t int32_t int64_t intptr_t -syn keyword dtraceType uint8_t uint16_t uint32_t uint64_t uintptr_t -syn keyword dtraceType string -syn keyword dtraceType pid_t id_t - - -" Define the default highlighting. -" We use `hi def link` directly, this requires 5.8. -hi def link dtraceReservedKeyword Error -hi def link dtracePredicate String -hi def link dtraceProbe dtraceStatement -hi def link dtraceStatement Statement -hi def link dtraceConstant Constant -hi def link dtraceIdentifier Identifier -hi def link dtraceAggregatingFunction dtraceFunction -hi def link dtraceFunction Function -hi def link dtraceType Type -hi def link dtraceOperator Operator -hi def link dtraceComment Comment -hi def link dtraceNumber Number -hi def link dtraceOption Identifier - -let b:current_syntax = "dtrace" diff --git a/uvim/runtime/syntax/dts.mnv b/uvim/runtime/syntax/dts.mnv new file mode 100644 index 0000000000..3abfacd5e2 --- /dev/null +++ b/uvim/runtime/syntax/dts.mnv @@ -0,0 +1,80 @@ +" MNV syntax file +" Language: dts/dtsi (device tree files) +" Maintainer: Daniel Mack +" Last Change: 2023 Apr 28 + +if exists("b:current_syntax") + finish +endif +let b:current_syntax = 'dts' + +syntax region dtsComment start="/\*" end="\*/" +syntax match dtsReference "&[[:alpha:][:digit:]_]\+" +syntax match dtsReference "&{[[:alpha:][:digit:]@_/-]\+}" +syntax region dtsBinaryProperty start="\[" end="\]" +syntax match dtsStringProperty "\".*\"" +syntax match dtsKeyword "/[[:alpha:][:digit:]-]\+/\([[:space:]]\|;\)"he=e-1 +syntax match dtsLabel "^[[:space:]]*[[:alpha:][:digit:]_]\+:" +syntax match dtsNode /[[:alpha:][:digit:]-_]\+\(@[0-9a-fA-F]\+\|\)[[:space:]]*{/he=e-1 +syntax region dtsCellProperty start="<" end=">" contains=dtsReference,dtsBinaryProperty,dtsStringProperty,dtsComment +syntax region dtsCommentInner start="/\*" end="\*/" +syntax match dtsCommentLine "//.*$" + +" Accept %: for # (C99) +syn region cPreCondit start="^\s*\zs\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" keepend contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError +syn match cPreConditMatch display "^\s*\zs\(%:\|#\)\s*\(else\|endif\)\>" +if !exists("c_no_if0") + syn cluster cCppOutInGroup contains=cCppInIf,cCppInElse,cCppInElse2,cCppOutIf,cCppOutIf2,cCppOutElse,cCppInSkip,cCppOutSkip + syn region cCppOutWrapper start="^\s*\zs\(%:\|#\)\s*if\s\+0\+\s*\($\|//\|/\*\|&\)" end=".\@=\|$" contains=cCppOutIf,cCppOutElse,@NoSpell fold + syn region cCppOutIf contained start="0\+" matchgroup=cCppOutWrapper end="^\s*\(%:\|#\)\s*endif\>" contains=cCppOutIf2,cCppOutElse + if !exists("c_no_if0_fold") + syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell fold + else + syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell + endif + syn region cCppOutElse contained matchgroup=cCppOutWrapper start="^\s*\(%:\|#\)\s*\(else\|elif\)" end="^\s*\(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cPreCondit + syn region cCppInWrapper start="^\s*\zs\(%:\|#\)\s*if\s\+0*[1-9]\d*\s*\($\|//\|/\*\||\)" end=".\@=\|$" contains=cCppInIf,cCppInElse fold + syn region cCppInIf contained matchgroup=cCppInWrapper start="\d\+" end="^\s*\(%:\|#\)\s*endif\>" contains=TOP,cPreCondit + if !exists("c_no_if0_fold") + syn region cCppInElse contained start="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0*[1-9]\d*\s*\($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 fold + else + syn region cCppInElse contained start="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0*[1-9]\d*\s*\($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 + endif + syn region cCppInElse2 contained matchgroup=cCppInWrapper start="^\s*\(%:\|#\)\s*\(else\|elif\)\([^/]\|/[^/*]\)*" end="^\s*\(%:\|#\)\s*endif\>"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell + syn region cCppOutSkip contained start="^\s*\(%:\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" contains=cSpaceError,cCppOutSkip + syn region cCppInSkip contained matchgroup=cCppInWrapper start="^\s*\(%:\|#\)\s*\(if\s\+\(\d\+\s*\($\|//\|/\*\||\|&\)\)\@!\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" containedin=cCppOutElse,cCppInIf,cCppInSkip contains=TOP,cPreProc +endif +syn region cIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+ +syn match cIncluded display contained "<[^>]*>" +syn match cInclude display "^\s*\zs\(%:\|#\)\s*include\>\s*["<]" contains=cIncluded +"syn match cLineSkip "\\$" +syn cluster cPreProcGroup contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInParen,cErrInBracket,cUserLabel,cSpecial,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti,cBadBlock +syn region cDefine start="^\s*\zs\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell +syn region cPreProc start="^\s*\zs\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell + +hi def link dtsCellProperty Number +hi def link dtsBinaryProperty Number +hi def link dtsStringProperty String +hi def link dtsKeyword Include +hi def link dtsLabel Label +hi def link dtsNode Structure +hi def link dtsReference Macro +hi def link dtsComment Comment +hi def link dtsCommentInner Comment +hi def link dtsCommentLine Comment + +hi def link cInclude Include +hi def link cPreProc PreProc +hi def link cDefine Macro +hi def link cIncluded cString +hi def link cString String + +hi def link cCppInWrapper cCppOutWrapper +hi def link cCppOutWrapper cPreCondit +hi def link cPreConditMatch cPreCondit +hi def link cPreCondit PreCondit +hi def link cCppOutSkip cCppOutIf2 + +hi def link cCppInElse2 cCppOutIf2 +hi def link cCppOutIf2 cCppOut +hi def link cCppOut Comment diff --git a/uvim/runtime/syntax/dts.vim b/uvim/runtime/syntax/dts.vim deleted file mode 100644 index bb7eff7be1..0000000000 --- a/uvim/runtime/syntax/dts.vim +++ /dev/null @@ -1,80 +0,0 @@ -" Vim syntax file -" Language: dts/dtsi (device tree files) -" Maintainer: Daniel Mack -" Last Change: 2023 Apr 28 - -if exists("b:current_syntax") - finish -endif -let b:current_syntax = 'dts' - -syntax region dtsComment start="/\*" end="\*/" -syntax match dtsReference "&[[:alpha:][:digit:]_]\+" -syntax match dtsReference "&{[[:alpha:][:digit:]@_/-]\+}" -syntax region dtsBinaryProperty start="\[" end="\]" -syntax match dtsStringProperty "\".*\"" -syntax match dtsKeyword "/[[:alpha:][:digit:]-]\+/\([[:space:]]\|;\)"he=e-1 -syntax match dtsLabel "^[[:space:]]*[[:alpha:][:digit:]_]\+:" -syntax match dtsNode /[[:alpha:][:digit:]-_]\+\(@[0-9a-fA-F]\+\|\)[[:space:]]*{/he=e-1 -syntax region dtsCellProperty start="<" end=">" contains=dtsReference,dtsBinaryProperty,dtsStringProperty,dtsComment -syntax region dtsCommentInner start="/\*" end="\*/" -syntax match dtsCommentLine "//.*$" - -" Accept %: for # (C99) -syn region cPreCondit start="^\s*\zs\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" keepend contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError -syn match cPreConditMatch display "^\s*\zs\(%:\|#\)\s*\(else\|endif\)\>" -if !exists("c_no_if0") - syn cluster cCppOutInGroup contains=cCppInIf,cCppInElse,cCppInElse2,cCppOutIf,cCppOutIf2,cCppOutElse,cCppInSkip,cCppOutSkip - syn region cCppOutWrapper start="^\s*\zs\(%:\|#\)\s*if\s\+0\+\s*\($\|//\|/\*\|&\)" end=".\@=\|$" contains=cCppOutIf,cCppOutElse,@NoSpell fold - syn region cCppOutIf contained start="0\+" matchgroup=cCppOutWrapper end="^\s*\(%:\|#\)\s*endif\>" contains=cCppOutIf2,cCppOutElse - if !exists("c_no_if0_fold") - syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell fold - else - syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell - endif - syn region cCppOutElse contained matchgroup=cCppOutWrapper start="^\s*\(%:\|#\)\s*\(else\|elif\)" end="^\s*\(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cPreCondit - syn region cCppInWrapper start="^\s*\zs\(%:\|#\)\s*if\s\+0*[1-9]\d*\s*\($\|//\|/\*\||\)" end=".\@=\|$" contains=cCppInIf,cCppInElse fold - syn region cCppInIf contained matchgroup=cCppInWrapper start="\d\+" end="^\s*\(%:\|#\)\s*endif\>" contains=TOP,cPreCondit - if !exists("c_no_if0_fold") - syn region cCppInElse contained start="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0*[1-9]\d*\s*\($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 fold - else - syn region cCppInElse contained start="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0*[1-9]\d*\s*\($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 - endif - syn region cCppInElse2 contained matchgroup=cCppInWrapper start="^\s*\(%:\|#\)\s*\(else\|elif\)\([^/]\|/[^/*]\)*" end="^\s*\(%:\|#\)\s*endif\>"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell - syn region cCppOutSkip contained start="^\s*\(%:\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" contains=cSpaceError,cCppOutSkip - syn region cCppInSkip contained matchgroup=cCppInWrapper start="^\s*\(%:\|#\)\s*\(if\s\+\(\d\+\s*\($\|//\|/\*\||\|&\)\)\@!\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" containedin=cCppOutElse,cCppInIf,cCppInSkip contains=TOP,cPreProc -endif -syn region cIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+ -syn match cIncluded display contained "<[^>]*>" -syn match cInclude display "^\s*\zs\(%:\|#\)\s*include\>\s*["<]" contains=cIncluded -"syn match cLineSkip "\\$" -syn cluster cPreProcGroup contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInParen,cErrInBracket,cUserLabel,cSpecial,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti,cBadBlock -syn region cDefine start="^\s*\zs\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell -syn region cPreProc start="^\s*\zs\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell - -hi def link dtsCellProperty Number -hi def link dtsBinaryProperty Number -hi def link dtsStringProperty String -hi def link dtsKeyword Include -hi def link dtsLabel Label -hi def link dtsNode Structure -hi def link dtsReference Macro -hi def link dtsComment Comment -hi def link dtsCommentInner Comment -hi def link dtsCommentLine Comment - -hi def link cInclude Include -hi def link cPreProc PreProc -hi def link cDefine Macro -hi def link cIncluded cString -hi def link cString String - -hi def link cCppInWrapper cCppOutWrapper -hi def link cCppOutWrapper cPreCondit -hi def link cPreConditMatch cPreCondit -hi def link cPreCondit PreCondit -hi def link cCppOutSkip cCppOutIf2 - -hi def link cCppInElse2 cCppOutIf2 -hi def link cCppOutIf2 cCppOut -hi def link cCppOut Comment diff --git a/uvim/runtime/syntax/dune.mnv b/uvim/runtime/syntax/dune.mnv new file mode 100644 index 0000000000..db22a1ebc0 --- /dev/null +++ b/uvim/runtime/syntax/dune.mnv @@ -0,0 +1,50 @@ +" MNV syntax file +" Language: Dune buildsystem +" Maintainer: Markus Mottl +" Anton Kochkov +" URL: https://github.com/ocaml/mnv-ocaml +" Last Change: +" 2023 Nov 24 - Add end-of-line strings (Samuel Hym) +" 2019 Feb 27 - Add newer keywords to the syntax (Simon Cruanes) +" 2018 May 8 - Check current_syntax (Kawahara Satoru) +" 2018 Mar 29 - Extend jbuild syntax with more keywords (Petter A. Urkedal) +" 2017 Sep 6 - Initial version (Etienne Millon) + +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 test 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 region lispString start=+"\\[>|]+ end=+$+ contains=@Spell + +syn cluster lispBaseListCluster add=duneVar +syn match duneVar '\${[@<^]}' containedin=lispSymbol +syn match duneVar '\${\k\+\(:\k\+\)\?}' containedin=lispSymbol + +hi def link duneVar Identifier + +let b:current_syntax = "dune" diff --git a/uvim/runtime/syntax/dune.vim b/uvim/runtime/syntax/dune.vim deleted file mode 100644 index 3cfb47fbee..0000000000 --- a/uvim/runtime/syntax/dune.vim +++ /dev/null @@ -1,50 +0,0 @@ -" Vim syntax file -" Language: Dune buildsystem -" Maintainer: Markus Mottl -" Anton Kochkov -" URL: https://github.com/ocaml/vim-ocaml -" Last Change: -" 2023 Nov 24 - Add end-of-line strings (Samuel Hym) -" 2019 Feb 27 - Add newer keywords to the syntax (Simon Cruanes) -" 2018 May 8 - Check current_syntax (Kawahara Satoru) -" 2018 Mar 29 - Extend jbuild syntax with more keywords (Petter A. Urkedal) -" 2017 Sep 6 - Initial version (Etienne Millon) - -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 test 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 region lispString start=+"\\[>|]+ end=+$+ contains=@Spell - -syn cluster lispBaseListCluster add=duneVar -syn match duneVar '\${[@<^]}' containedin=lispSymbol -syn match duneVar '\${\k\+\(:\k\+\)\?}' containedin=lispSymbol - -hi def link duneVar Identifier - -let b:current_syntax = "dune" diff --git a/uvim/runtime/syntax/dylan.mnv b/uvim/runtime/syntax/dylan.mnv new file mode 100644 index 0000000000..3b48bddb21 --- /dev/null +++ b/uvim/runtime/syntax/dylan.mnv @@ -0,0 +1,92 @@ +" MNV syntax file +" Language: Dylan +" Authors: Justus Pendleton +" Brent A. Fulgham +" Last Change: Fri Sep 29 13:45:55 PDT 2000 +" +" This syntax file is based on the Haskell, Perl, Scheme, and C +" syntax files. + +" Part 1: Syntax definition +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn case ignore + +setlocal lisp + +" Highlight special characters (those that have backslashes) differently +syn match dylanSpecial display contained "\\\(x\x\+\|\o\{1,3}\|.\|$\)" + +" Keywords +syn keyword dylanBlock afterwards begin block cleanup end +syn keyword dylanClassMods abstract concrete primary inherited virtual +syn keyword dylanException exception handler signal +syn keyword dylanParamDefs method class function library macro interface +syn keyword dylanSimpleDefs constant variable generic primary +syn keyword dylanOther above below from by in instance local slot subclass then to +syn keyword dylanConditional if when select case else elseif unless finally otherwise then +syn keyword dylanRepeat begin for until while from to +syn keyword dylanStatement define let +syn keyword dylanImport use import export exclude rename create +syn keyword dylanMiscMods open sealed domain singleton sideways inline functional + +" Matching rules for special forms +syn match dylanOperator "\s[-!%&\*\+/=\?@\\^|~:]\+[-#!>%&:\*\+/=\?@\\^|~]*" +syn match dylanOperator "\(\<[A-Z][a-zA-Z0-9_']*\.\)\=:[-!#$%&\*\+./=\?@\\^|~:]*" +" Numbers +syn match dylanNumber "\<[0-9]\+\>\|\<0[xX][0-9a-fA-F]\+\>\|\<0[oO][0-7]\+\>" +syn match dylanNumber "\<[0-9]\+\.[0-9]\+\([eE][-+]\=[0-9]\+\)\=\>" +" Booleans +syn match dylanBoolean "#t\|#f" +" Comments +syn match dylanComment "//.*" +syn region dylanComment start="/\*" end="\*/" +" Strings +syn region dylanString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=dySpecial +syn match dylanCharacter "'[^\\]'" +" Constants, classes, and variables +syn match dylanConstant "$\<[a-zA-Z0-9\-]\+\>" +syn match dylanClass "<\<[a-zA-Z0-9\-]\+\>>" +syn match dylanVariable "\*\<[a-zA-Z0-9\-]\+\>\*" +" Preconditions +syn region dylanPrecondit start="^\s*#\s*\(if\>\|else\>\|endif\>\)" skip="\\$" end="$" + +" These appear at the top of files (usually). I like to highlight the whole line +" so that the definition stands out. They should probably really be keywords, but they +" don't generally appear in the middle of a line of code. +syn region dylanHeader start="^[Mm]odule:" end="^$" + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link dylanBlock PreProc +hi def link dylanBoolean Boolean +hi def link dylanCharacter Character +hi def link dylanClass Structure +hi def link dylanClassMods StorageClass +hi def link dylanComment Comment +hi def link dylanConditional Conditional +hi def link dylanConstant Constant +hi def link dylanException Exception +hi def link dylanHeader Macro +hi def link dylanImport Include +hi def link dylanLabel Label +hi def link dylanMiscMods StorageClass +hi def link dylanNumber Number +hi def link dylanOther Keyword +hi def link dylanOperator Operator +hi def link dylanParamDefs Keyword +hi def link dylanPrecondit PreCondit +hi def link dylanRepeat Repeat +hi def link dylanSimpleDefs Keyword +hi def link dylanStatement Macro +hi def link dylanString String +hi def link dylanVariable Identifier + + +let b:current_syntax = "dylan" + +" mnv:ts=8 diff --git a/uvim/runtime/syntax/dylan.vim b/uvim/runtime/syntax/dylan.vim deleted file mode 100644 index 345e932e60..0000000000 --- a/uvim/runtime/syntax/dylan.vim +++ /dev/null @@ -1,92 +0,0 @@ -" Vim syntax file -" Language: Dylan -" Authors: Justus Pendleton -" Brent A. Fulgham -" Last Change: Fri Sep 29 13:45:55 PDT 2000 -" -" This syntax file is based on the Haskell, Perl, Scheme, and C -" syntax files. - -" Part 1: Syntax definition -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn case ignore - -setlocal lisp - -" Highlight special characters (those that have backslashes) differently -syn match dylanSpecial display contained "\\\(x\x\+\|\o\{1,3}\|.\|$\)" - -" Keywords -syn keyword dylanBlock afterwards begin block cleanup end -syn keyword dylanClassMods abstract concrete primary inherited virtual -syn keyword dylanException exception handler signal -syn keyword dylanParamDefs method class function library macro interface -syn keyword dylanSimpleDefs constant variable generic primary -syn keyword dylanOther above below from by in instance local slot subclass then to -syn keyword dylanConditional if when select case else elseif unless finally otherwise then -syn keyword dylanRepeat begin for until while from to -syn keyword dylanStatement define let -syn keyword dylanImport use import export exclude rename create -syn keyword dylanMiscMods open sealed domain singleton sideways inline functional - -" Matching rules for special forms -syn match dylanOperator "\s[-!%&\*\+/=\?@\\^|~:]\+[-#!>%&:\*\+/=\?@\\^|~]*" -syn match dylanOperator "\(\<[A-Z][a-zA-Z0-9_']*\.\)\=:[-!#$%&\*\+./=\?@\\^|~:]*" -" Numbers -syn match dylanNumber "\<[0-9]\+\>\|\<0[xX][0-9a-fA-F]\+\>\|\<0[oO][0-7]\+\>" -syn match dylanNumber "\<[0-9]\+\.[0-9]\+\([eE][-+]\=[0-9]\+\)\=\>" -" Booleans -syn match dylanBoolean "#t\|#f" -" Comments -syn match dylanComment "//.*" -syn region dylanComment start="/\*" end="\*/" -" Strings -syn region dylanString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=dySpecial -syn match dylanCharacter "'[^\\]'" -" Constants, classes, and variables -syn match dylanConstant "$\<[a-zA-Z0-9\-]\+\>" -syn match dylanClass "<\<[a-zA-Z0-9\-]\+\>>" -syn match dylanVariable "\*\<[a-zA-Z0-9\-]\+\>\*" -" Preconditions -syn region dylanPrecondit start="^\s*#\s*\(if\>\|else\>\|endif\>\)" skip="\\$" end="$" - -" These appear at the top of files (usually). I like to highlight the whole line -" so that the definition stands out. They should probably really be keywords, but they -" don't generally appear in the middle of a line of code. -syn region dylanHeader start="^[Mm]odule:" end="^$" - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link dylanBlock PreProc -hi def link dylanBoolean Boolean -hi def link dylanCharacter Character -hi def link dylanClass Structure -hi def link dylanClassMods StorageClass -hi def link dylanComment Comment -hi def link dylanConditional Conditional -hi def link dylanConstant Constant -hi def link dylanException Exception -hi def link dylanHeader Macro -hi def link dylanImport Include -hi def link dylanLabel Label -hi def link dylanMiscMods StorageClass -hi def link dylanNumber Number -hi def link dylanOther Keyword -hi def link dylanOperator Operator -hi def link dylanParamDefs Keyword -hi def link dylanPrecondit PreCondit -hi def link dylanRepeat Repeat -hi def link dylanSimpleDefs Keyword -hi def link dylanStatement Macro -hi def link dylanString String -hi def link dylanVariable Identifier - - -let b:current_syntax = "dylan" - -" vim:ts=8 diff --git a/uvim/runtime/syntax/dylanintr.mnv b/uvim/runtime/syntax/dylanintr.mnv new file mode 100644 index 0000000000..f64e15e14a --- /dev/null +++ b/uvim/runtime/syntax/dylanintr.mnv @@ -0,0 +1,39 @@ +" MNV syntax file +" Language: Dylan +" Authors: Justus Pendleton +" Last Change: Fri Sep 29 13:53:27 PDT 2000 +" + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn case ignore + +syn region dylanintrInfo matchgroup=Statement start="^" end=":" oneline +syn match dylanintrInterface "define interface" +syn match dylanintrClass "<.*>" +syn region dylanintrType start=+"+ skip=+\\\\\|\\"+ end=+"+ + +syn region dylanintrIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+ +syn match dylanintrIncluded contained "<[^>]*>" +syn match dylanintrInclude "^\s*#\s*include\>\s*["<]" contains=intrIncluded + +"syn keyword intrMods pointer struct + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link dylanintrInfo Special +hi def link dylanintrInterface Operator +hi def link dylanintrMods Type +hi def link dylanintrClass StorageClass +hi def link dylanintrType Type +hi def link dylanintrIncluded String +hi def link dylanintrInclude Include + + +let b:current_syntax = "dylanintr" + +" mnv:ts=8 diff --git a/uvim/runtime/syntax/dylanintr.vim b/uvim/runtime/syntax/dylanintr.vim deleted file mode 100644 index 692db34985..0000000000 --- a/uvim/runtime/syntax/dylanintr.vim +++ /dev/null @@ -1,39 +0,0 @@ -" Vim syntax file -" Language: Dylan -" Authors: Justus Pendleton -" Last Change: Fri Sep 29 13:53:27 PDT 2000 -" - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn case ignore - -syn region dylanintrInfo matchgroup=Statement start="^" end=":" oneline -syn match dylanintrInterface "define interface" -syn match dylanintrClass "<.*>" -syn region dylanintrType start=+"+ skip=+\\\\\|\\"+ end=+"+ - -syn region dylanintrIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+ -syn match dylanintrIncluded contained "<[^>]*>" -syn match dylanintrInclude "^\s*#\s*include\>\s*["<]" contains=intrIncluded - -"syn keyword intrMods pointer struct - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link dylanintrInfo Special -hi def link dylanintrInterface Operator -hi def link dylanintrMods Type -hi def link dylanintrClass StorageClass -hi def link dylanintrType Type -hi def link dylanintrIncluded String -hi def link dylanintrInclude Include - - -let b:current_syntax = "dylanintr" - -" vim:ts=8 diff --git a/uvim/runtime/syntax/dylanlid.mnv b/uvim/runtime/syntax/dylanlid.mnv new file mode 100644 index 0000000000..aa461ce914 --- /dev/null +++ b/uvim/runtime/syntax/dylanlid.mnv @@ -0,0 +1,29 @@ +" MNV syntax file +" Language: Dylan Library Interface Files +" Authors: Justus Pendleton +" Brent Fulgham +" Last Change: Fri Sep 29 13:50:20 PDT 2000 +" + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn case ignore + +syn region dylanlidInfo matchgroup=Statement start="^" end=":" oneline +syn region dylanlidEntry matchgroup=Statement start=":%" end="$" oneline + +syn sync lines=50 + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link dylanlidInfo Type +hi def link dylanlidEntry String + + +let b:current_syntax = "dylanlid" + +" mnv:ts=8 diff --git a/uvim/runtime/syntax/dylanlid.vim b/uvim/runtime/syntax/dylanlid.vim deleted file mode 100644 index dae0bf94b1..0000000000 --- a/uvim/runtime/syntax/dylanlid.vim +++ /dev/null @@ -1,29 +0,0 @@ -" Vim syntax file -" Language: Dylan Library Interface Files -" Authors: Justus Pendleton -" Brent Fulgham -" Last Change: Fri Sep 29 13:50:20 PDT 2000 -" - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn case ignore - -syn region dylanlidInfo matchgroup=Statement start="^" end=":" oneline -syn region dylanlidEntry matchgroup=Statement start=":%" end="$" oneline - -syn sync lines=50 - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link dylanlidInfo Type -hi def link dylanlidEntry String - - -let b:current_syntax = "dylanlid" - -" vim:ts=8 diff --git a/uvim/runtime/syntax/ecd.mnv b/uvim/runtime/syntax/ecd.mnv new file mode 100644 index 0000000000..be703fafd5 --- /dev/null +++ b/uvim/runtime/syntax/ecd.mnv @@ -0,0 +1,44 @@ +" MNV syntax file +" Language: ecd (Embedix Component Description) files +" Maintainer: John Beppu +" URL: http://opensource.lineo.com/~beppu/prose/ecd_mnv.html +" Last Change: 2001 Sep 27 + +" An ECD file contains meta-data for packages in the Embedix Linux distro. +" This syntax file was derived from apachestyle.mnv +" by Christian Hammers + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn case ignore + +" specials +syn match ecdComment "^\s*#.*" + +" options and values +syn match ecdAttr "^\s*[a-zA-Z]\S*\s*[=].*$" contains=ecdAttrN,ecdAttrV +syn match ecdAttrN contained "^.*="me=e-1 +syn match ecdAttrV contained "=.*$"ms=s+1 + +" tags +syn region ecdTag start=+<+ end=+>+ contains=ecdTagN,ecdTagError +syn match ecdTagN contained +<[/\s]*[-a-zA-Z0-9_]\++ms=s+1 +syn match ecdTagError contained "[^>]<"ms=s+1 + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link ecdComment Comment +hi def link ecdAttr Type +hi def link ecdAttrN Statement +hi def link ecdAttrV Value +hi def link ecdTag Function +hi def link ecdTagN Statement +hi def link ecdTagError Error + + +let b:current_syntax = "ecd" +" mnv: ts=8 diff --git a/uvim/runtime/syntax/ecd.vim b/uvim/runtime/syntax/ecd.vim deleted file mode 100644 index 1276f2bd9d..0000000000 --- a/uvim/runtime/syntax/ecd.vim +++ /dev/null @@ -1,44 +0,0 @@ -" Vim syntax file -" Language: ecd (Embedix Component Description) files -" Maintainer: John Beppu -" URL: http://opensource.lineo.com/~beppu/prose/ecd_vim.html -" Last Change: 2001 Sep 27 - -" An ECD file contains meta-data for packages in the Embedix Linux distro. -" This syntax file was derived from apachestyle.vim -" by Christian Hammers - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn case ignore - -" specials -syn match ecdComment "^\s*#.*" - -" options and values -syn match ecdAttr "^\s*[a-zA-Z]\S*\s*[=].*$" contains=ecdAttrN,ecdAttrV -syn match ecdAttrN contained "^.*="me=e-1 -syn match ecdAttrV contained "=.*$"ms=s+1 - -" tags -syn region ecdTag start=+<+ end=+>+ contains=ecdTagN,ecdTagError -syn match ecdTagN contained +<[/\s]*[-a-zA-Z0-9_]\++ms=s+1 -syn match ecdTagError contained "[^>]<"ms=s+1 - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link ecdComment Comment -hi def link ecdAttr Type -hi def link ecdAttrN Statement -hi def link ecdAttrV Value -hi def link ecdTag Function -hi def link ecdTagN Statement -hi def link ecdTagError Error - - -let b:current_syntax = "ecd" -" vim: ts=8 diff --git a/uvim/runtime/syntax/edif.mnv b/uvim/runtime/syntax/edif.mnv new file mode 100644 index 0000000000..1cda23d0f6 --- /dev/null +++ b/uvim/runtime/syntax/edif.mnv @@ -0,0 +1,45 @@ +" MNV syntax file +" Language: EDIF (Electronic Design Interchange Format) +" Maintainer: Artem Zankovich +" Last Change: Oct 14, 2002 +" +" Supported standarts are: +" ANSI/EIA Standard 548-1988 (EDIF Version 2 0 0) +" IEC 61690-1 (EDIF Version 3 0 0) +" IEC 61690-2 (EDIF Version 4 0 0) + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +setlocal iskeyword=48-57,-,+,A-Z,a-z,_,& + +syn region edifList matchgroup=Delimiter start="(" end=")" contains=edifList,edifKeyword,edifString,edifNumber + +" Strings +syn match edifInStringError /%/ contained +syn match edifInString /%\s*\d\+\s*%/ contained +syn region edifString start=/"/ end=/"/ contains=edifInString,edifInStringError contained + +" Numbers +syn match edifNumber "\<[-+]\=[0-9]\+\>" + +" Keywords +syn match edifKeyword "(\@<=\s*[a-zA-Z&][a-zA-Z_0-9]*\>" contained + +syn match edifError ")" + +" synchronization +syntax sync fromstart + +" Define the default highlighting. + +hi def link edifInString SpecialChar +hi def link edifKeyword Keyword +hi def link edifNumber Number +hi def link edifInStringError edifError +hi def link edifError Error +hi def link edifString String + +let b:current_syntax = "edif" diff --git a/uvim/runtime/syntax/edif.vim b/uvim/runtime/syntax/edif.vim deleted file mode 100644 index 002c9f89e1..0000000000 --- a/uvim/runtime/syntax/edif.vim +++ /dev/null @@ -1,45 +0,0 @@ -" Vim syntax file -" Language: EDIF (Electronic Design Interchange Format) -" Maintainer: Artem Zankovich -" Last Change: Oct 14, 2002 -" -" Supported standarts are: -" ANSI/EIA Standard 548-1988 (EDIF Version 2 0 0) -" IEC 61690-1 (EDIF Version 3 0 0) -" IEC 61690-2 (EDIF Version 4 0 0) - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -setlocal iskeyword=48-57,-,+,A-Z,a-z,_,& - -syn region edifList matchgroup=Delimiter start="(" end=")" contains=edifList,edifKeyword,edifString,edifNumber - -" Strings -syn match edifInStringError /%/ contained -syn match edifInString /%\s*\d\+\s*%/ contained -syn region edifString start=/"/ end=/"/ contains=edifInString,edifInStringError contained - -" Numbers -syn match edifNumber "\<[-+]\=[0-9]\+\>" - -" Keywords -syn match edifKeyword "(\@<=\s*[a-zA-Z&][a-zA-Z_0-9]*\>" contained - -syn match edifError ")" - -" synchronization -syntax sync fromstart - -" Define the default highlighting. - -hi def link edifInString SpecialChar -hi def link edifKeyword Keyword -hi def link edifNumber Number -hi def link edifInStringError edifError -hi def link edifError Error -hi def link edifString String - -let b:current_syntax = "edif" diff --git a/uvim/runtime/syntax/editorconfig.mnv b/uvim/runtime/syntax/editorconfig.mnv new file mode 100644 index 0000000000..22f5ed8df9 --- /dev/null +++ b/uvim/runtime/syntax/editorconfig.mnv @@ -0,0 +1,21 @@ +" MNV syntax file +" Language: EditorConfig +" Maintainer: Gregory Anders +" Last Change: 2023-07-20 + +if exists('b:current_syntax') + finish +endif + +runtime! syntax/dosini.mnv +unlet! b:current_syntax + +syntax match editorconfigUnknownProperty "^\s*\zs[a-zA-Z0-9_-]\+\ze\s*=" + +syntax keyword editorconfigProperty root charset end_of_line indent_style +syntax keyword editorconfigProperty indent_size tab_width max_line_length +syntax keyword editorconfigProperty trim_trailing_whitespace insert_final_newline + +hi def link editorconfigProperty dosiniLabel + +let b:current_syntax = 'editorconfig' diff --git a/uvim/runtime/syntax/editorconfig.vim b/uvim/runtime/syntax/editorconfig.vim deleted file mode 100644 index 7f75ab6287..0000000000 --- a/uvim/runtime/syntax/editorconfig.vim +++ /dev/null @@ -1,21 +0,0 @@ -" Vim syntax file -" Language: EditorConfig -" Maintainer: Gregory Anders -" Last Change: 2023-07-20 - -if exists('b:current_syntax') - finish -endif - -runtime! syntax/dosini.vim -unlet! b:current_syntax - -syntax match editorconfigUnknownProperty "^\s*\zs[a-zA-Z0-9_-]\+\ze\s*=" - -syntax keyword editorconfigProperty root charset end_of_line indent_style -syntax keyword editorconfigProperty indent_size tab_width max_line_length -syntax keyword editorconfigProperty trim_trailing_whitespace insert_final_newline - -hi def link editorconfigProperty dosiniLabel - -let b:current_syntax = 'editorconfig' diff --git a/uvim/runtime/syntax/eiffel.mnv b/uvim/runtime/syntax/eiffel.mnv new file mode 100644 index 0000000000..21b1bb69b4 --- /dev/null +++ b/uvim/runtime/syntax/eiffel.mnv @@ -0,0 +1,199 @@ +" Eiffel syntax file +" Language: Eiffel +" Maintainer: Jocelyn Fiat +" Previous maintainer: Reimer Behrends +" Contributions from: Thilo Six +" +" URL: https://github.com/eiffelhub/mnv-eiffel +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:keepcpo= &cpo +set cpo&mnv + +" Option handling + +if exists("eiffel_ignore_case") + syn case ignore +else + syn case match + if exists("eiffel_pedantic") || exists("eiffel_strict") + syn keyword eiffelError current void result precursor none + syn keyword eiffelError CURRENT VOID RESULT PRECURSOR None + syn keyword eiffelError TRUE FALSE + endif + if exists("eiffel_pedantic") + syn keyword eiffelError true false + syn match eiffelError "\<[a-z_]\+[A-Z][a-zA_Z_]*\>" + syn match eiffelError "\<[A-Z][a-z_]*[A-Z][a-zA-Z_]*\>" + endif + if exists("eiffel_lower_case_predef") + syn keyword eiffelPredefined current void result precursor + endif +endif + +if exists("eiffel_hex_constants") + syn match eiffelNumber "\d[0-9a-fA-F]*[xX]" +endif + +" Keyword definitions + +syn keyword eiffelTopStruct note indexing feature creation inherit +syn match eiffelTopStruct "\" +syn match eiffelKeyword "\" +syn match eiffelTopStruct "^end\>\(\s*--\s\+class\s\+\<[A-Z][A-Z0-9_]*\>\)\=" contains=eiffelClassName +syn match eiffelBrackets "[[\]]" +syn match eiffelBracketError "\]" +syn region eiffelGeneric transparent matchgroup=eiffelBrackets start="\[" end="\]" contains=ALLBUT,eiffelBracketError,eiffelGenericDecl,eiffelStringError,eiffelStringEscape,eiffelGenericCreate,eiffelTopStruct +if exists("eiffel_ise") + syn match eiffelAgent "\" + syn match eiffelConvert "\" + syn match eiffelCreate "\" + syn match eiffelTopStruct contained "\" + syn match eiffelTopStruct contained "\" + syn match eiffelGenericCreate contained "\" + syn match eiffelTopStruct "^create\>" + syn region eiffelGenericDecl transparent matchgroup=eiffelBrackets contained start="\[" end="\]" contains=ALLBUT,eiffelCreate,eiffelTopStruct,eiffelGeneric,eiffelBracketError,eiffelStringEscape,eiffelStringError,eiffelBrackets + syn region eiffelClassHeader start="^class\>" end="$" contains=ALLBUT,eiffelCreate,eiffelGenericCreate,eiffelGeneric,eiffelStringEscape,eiffelStringError,eiffelBrackets +endif +syn keyword eiffelDeclaration is do once deferred unique local attribute assign +syn keyword eiffelDeclaration attached detachable Unique +syn keyword eiffelProperty expanded obsolete separate frozen +syn keyword eiffelProperty prefix infix +syn keyword eiffelInheritClause rename redefine undefine select export as +syn keyword eiffelAll all +syn keyword eiffelKeyword external alias some +syn keyword eiffelStatement if else elseif inspect +syn keyword eiffelStatement when then +syn match eiffelAssertion "\" +syn match eiffelAssertion "\" +syn keyword eiffelAssertion check +syn keyword eiffelDebug debug +syn keyword eiffelStatement across from until loop +syn keyword eiffelAssertion variant +syn match eiffelAssertion "\" +syn match eiffelTopStruct "^invariant\>" +syn keyword eiffelException rescue retry + +syn keyword eiffelPredefined Current Void Result Precursor + +" Operators +syn match eiffelOperator "\" +syn match eiffelOperator "\" +syn keyword eiffelOperator xor implies not +syn keyword eiffelOperator strip old +syn keyword eiffelOperator Strip +syn match eiffelOperator "\$" +syn match eiffelCreation "!" +syn match eiffelExport "[{}]" +syn match eiffelArray "<<" +syn match eiffelArray ">>" +syn match eiffelConstraint "->" +syn match eiffelOperator "[@#|&][^ \e\t\b%]*" + +" Special classes +syn keyword eiffelAnchored like +syn keyword eiffelBitType BIT + +" Constants +if !exists("eiffel_pedantic") + syn keyword eiffelBool true false +endif +syn keyword eiffelBool True False +syn region eiffelString start=+"+ skip=+%"+ end=+"+ contains=eiffelStringEscape,eiffelStringError +syn match eiffelStringEscape contained "%[^/]" +syn match eiffelStringEscape contained "%/\d\+/" +syn match eiffelStringEscape contained "^[ \t]*%" +syn match eiffelStringEscape contained "%[ \t]*$" +syn match eiffelStringError contained "%/[^0-9]" +syn match eiffelStringError contained "%/\d\+[^0-9/]" +syn match eiffelBadConstant "'\(%[^/]\|%/\d\+/\|[^'%]\)\+'" +syn match eiffelBadConstant "''" +syn match eiffelCharacter "'\(%[^/]\|%/\d\+/\|[^'%]\)'" contains=eiffelStringEscape +syn match eiffelNumber "-\=\<\d\+\(_\d\+\)*\>" +syn match eiffelNumber "\<[01]\+[bB]\>" +syn match eiffelNumber "-\=\<\d\+\(_\d\+\)*\.\(\d\+\(_\d\+\)*\)\=\([eE][-+]\=\d\+\(_\d\+\)*\)\=" +syn match eiffelNumber "-\=\.\d\+\(_\d\+\)*\([eE][-+]\=\d\+\(_\d\+\)*\)\=" +syn match eiffelComment "--.*" contains=eiffelTodo + +syn case match + +" Case sensitive stuff + +syn keyword eiffelTodo contained TODO XXX FIXME +syn match eiffelClassName "\<[A-Z][A-Z0-9_]*\>" + +" Catch mismatched parentheses +syn match eiffelParenError ")" +syn region eiffelParen transparent start="(" end=")" contains=ALLBUT,eiffelParenError,eiffelStringError,eiffelStringEscape + +if exists("eiffel_fold") +" setlocal foldmethod=indent +" syn sync fromstart +endif + +" Should suffice for even very long strings and expressions +syn sync lines=40 + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link eiffelKeyword Statement +hi def link eiffelProperty Statement +hi def link eiffelInheritClause Statement +hi def link eiffelStatement Statement +hi def link eiffelDeclaration Statement +hi def link eiffelAssertion Statement +hi def link eiffelDebug Statement +hi def link eiffelException Statement +hi def link eiffelGenericCreate Statement + +hi def link eiffelAgent Statement +hi def link eiffelConvert Statement + +hi def link eiffelTopStruct PreProc + +hi def link eiffelAll Special +hi def link eiffelAnchored Special +hi def link eiffelBitType Special + + +hi def link eiffelBool Boolean +hi def link eiffelString String +hi def link eiffelCharacter Character +hi def link eiffelClassName Type +hi def link eiffelNumber Number + +hi def link eiffelStringEscape Special + +hi def link eiffelOperator Special +hi def link eiffelArray Special +hi def link eiffelExport Special +hi def link eiffelCreation Special +hi def link eiffelBrackets Special +hi def link eiffelGeneric Special +hi def link eiffelGenericDecl Special +hi def link eiffelConstraint Special +hi def link eiffelCreate Special + +hi def link eiffelPredefined Constant + +hi def link eiffelComment Comment + +hi def link eiffelError Error +hi def link eiffelBadConstant Error +hi def link eiffelStringError Error +hi def link eiffelParenError Error +hi def link eiffelBracketError Error + +hi def link eiffelTodo Todo + + +let b:current_syntax = "eiffel" + +let &cpo = s:keepcpo +unlet s:keepcpo + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/eiffel.vim b/uvim/runtime/syntax/eiffel.vim deleted file mode 100644 index c6634871cc..0000000000 --- a/uvim/runtime/syntax/eiffel.vim +++ /dev/null @@ -1,199 +0,0 @@ -" Eiffel syntax file -" Language: Eiffel -" Maintainer: Jocelyn Fiat -" Previous maintainer: Reimer Behrends -" Contributions from: Thilo Six -" -" URL: https://github.com/eiffelhub/vim-eiffel -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -let s:keepcpo= &cpo -set cpo&vim - -" Option handling - -if exists("eiffel_ignore_case") - syn case ignore -else - syn case match - if exists("eiffel_pedantic") || exists("eiffel_strict") - syn keyword eiffelError current void result precursor none - syn keyword eiffelError CURRENT VOID RESULT PRECURSOR None - syn keyword eiffelError TRUE FALSE - endif - if exists("eiffel_pedantic") - syn keyword eiffelError true false - syn match eiffelError "\<[a-z_]\+[A-Z][a-zA_Z_]*\>" - syn match eiffelError "\<[A-Z][a-z_]*[A-Z][a-zA-Z_]*\>" - endif - if exists("eiffel_lower_case_predef") - syn keyword eiffelPredefined current void result precursor - endif -endif - -if exists("eiffel_hex_constants") - syn match eiffelNumber "\d[0-9a-fA-F]*[xX]" -endif - -" Keyword definitions - -syn keyword eiffelTopStruct note indexing feature creation inherit -syn match eiffelTopStruct "\" -syn match eiffelKeyword "\" -syn match eiffelTopStruct "^end\>\(\s*--\s\+class\s\+\<[A-Z][A-Z0-9_]*\>\)\=" contains=eiffelClassName -syn match eiffelBrackets "[[\]]" -syn match eiffelBracketError "\]" -syn region eiffelGeneric transparent matchgroup=eiffelBrackets start="\[" end="\]" contains=ALLBUT,eiffelBracketError,eiffelGenericDecl,eiffelStringError,eiffelStringEscape,eiffelGenericCreate,eiffelTopStruct -if exists("eiffel_ise") - syn match eiffelAgent "\" - syn match eiffelConvert "\" - syn match eiffelCreate "\" - syn match eiffelTopStruct contained "\" - syn match eiffelTopStruct contained "\" - syn match eiffelGenericCreate contained "\" - syn match eiffelTopStruct "^create\>" - syn region eiffelGenericDecl transparent matchgroup=eiffelBrackets contained start="\[" end="\]" contains=ALLBUT,eiffelCreate,eiffelTopStruct,eiffelGeneric,eiffelBracketError,eiffelStringEscape,eiffelStringError,eiffelBrackets - syn region eiffelClassHeader start="^class\>" end="$" contains=ALLBUT,eiffelCreate,eiffelGenericCreate,eiffelGeneric,eiffelStringEscape,eiffelStringError,eiffelBrackets -endif -syn keyword eiffelDeclaration is do once deferred unique local attribute assign -syn keyword eiffelDeclaration attached detachable Unique -syn keyword eiffelProperty expanded obsolete separate frozen -syn keyword eiffelProperty prefix infix -syn keyword eiffelInheritClause rename redefine undefine select export as -syn keyword eiffelAll all -syn keyword eiffelKeyword external alias some -syn keyword eiffelStatement if else elseif inspect -syn keyword eiffelStatement when then -syn match eiffelAssertion "\" -syn match eiffelAssertion "\" -syn keyword eiffelAssertion check -syn keyword eiffelDebug debug -syn keyword eiffelStatement across from until loop -syn keyword eiffelAssertion variant -syn match eiffelAssertion "\" -syn match eiffelTopStruct "^invariant\>" -syn keyword eiffelException rescue retry - -syn keyword eiffelPredefined Current Void Result Precursor - -" Operators -syn match eiffelOperator "\" -syn match eiffelOperator "\" -syn keyword eiffelOperator xor implies not -syn keyword eiffelOperator strip old -syn keyword eiffelOperator Strip -syn match eiffelOperator "\$" -syn match eiffelCreation "!" -syn match eiffelExport "[{}]" -syn match eiffelArray "<<" -syn match eiffelArray ">>" -syn match eiffelConstraint "->" -syn match eiffelOperator "[@#|&][^ \e\t\b%]*" - -" Special classes -syn keyword eiffelAnchored like -syn keyword eiffelBitType BIT - -" Constants -if !exists("eiffel_pedantic") - syn keyword eiffelBool true false -endif -syn keyword eiffelBool True False -syn region eiffelString start=+"+ skip=+%"+ end=+"+ contains=eiffelStringEscape,eiffelStringError -syn match eiffelStringEscape contained "%[^/]" -syn match eiffelStringEscape contained "%/\d\+/" -syn match eiffelStringEscape contained "^[ \t]*%" -syn match eiffelStringEscape contained "%[ \t]*$" -syn match eiffelStringError contained "%/[^0-9]" -syn match eiffelStringError contained "%/\d\+[^0-9/]" -syn match eiffelBadConstant "'\(%[^/]\|%/\d\+/\|[^'%]\)\+'" -syn match eiffelBadConstant "''" -syn match eiffelCharacter "'\(%[^/]\|%/\d\+/\|[^'%]\)'" contains=eiffelStringEscape -syn match eiffelNumber "-\=\<\d\+\(_\d\+\)*\>" -syn match eiffelNumber "\<[01]\+[bB]\>" -syn match eiffelNumber "-\=\<\d\+\(_\d\+\)*\.\(\d\+\(_\d\+\)*\)\=\([eE][-+]\=\d\+\(_\d\+\)*\)\=" -syn match eiffelNumber "-\=\.\d\+\(_\d\+\)*\([eE][-+]\=\d\+\(_\d\+\)*\)\=" -syn match eiffelComment "--.*" contains=eiffelTodo - -syn case match - -" Case sensitive stuff - -syn keyword eiffelTodo contained TODO XXX FIXME -syn match eiffelClassName "\<[A-Z][A-Z0-9_]*\>" - -" Catch mismatched parentheses -syn match eiffelParenError ")" -syn region eiffelParen transparent start="(" end=")" contains=ALLBUT,eiffelParenError,eiffelStringError,eiffelStringEscape - -if exists("eiffel_fold") -" setlocal foldmethod=indent -" syn sync fromstart -endif - -" Should suffice for even very long strings and expressions -syn sync lines=40 - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link eiffelKeyword Statement -hi def link eiffelProperty Statement -hi def link eiffelInheritClause Statement -hi def link eiffelStatement Statement -hi def link eiffelDeclaration Statement -hi def link eiffelAssertion Statement -hi def link eiffelDebug Statement -hi def link eiffelException Statement -hi def link eiffelGenericCreate Statement - -hi def link eiffelAgent Statement -hi def link eiffelConvert Statement - -hi def link eiffelTopStruct PreProc - -hi def link eiffelAll Special -hi def link eiffelAnchored Special -hi def link eiffelBitType Special - - -hi def link eiffelBool Boolean -hi def link eiffelString String -hi def link eiffelCharacter Character -hi def link eiffelClassName Type -hi def link eiffelNumber Number - -hi def link eiffelStringEscape Special - -hi def link eiffelOperator Special -hi def link eiffelArray Special -hi def link eiffelExport Special -hi def link eiffelCreation Special -hi def link eiffelBrackets Special -hi def link eiffelGeneric Special -hi def link eiffelGenericDecl Special -hi def link eiffelConstraint Special -hi def link eiffelCreate Special - -hi def link eiffelPredefined Constant - -hi def link eiffelComment Comment - -hi def link eiffelError Error -hi def link eiffelBadConstant Error -hi def link eiffelStringError Error -hi def link eiffelParenError Error -hi def link eiffelBracketError Error - -hi def link eiffelTodo Todo - - -let b:current_syntax = "eiffel" - -let &cpo = s:keepcpo -unlet s:keepcpo - -" vim: ts=8 diff --git a/uvim/runtime/syntax/elf.mnv b/uvim/runtime/syntax/elf.mnv new file mode 100644 index 0000000000..3486fe8c10 --- /dev/null +++ b/uvim/runtime/syntax/elf.mnv @@ -0,0 +1,82 @@ +" MNV syntax file +" Language: ELF +" Maintainer: Christian V. J. Brüssow +" Last Change: Son 22 Jun 2003 20:43:14 CEST +" Filenames: *.ab,*.am +" URL: http://www.cvjb.de/comp/mnv/elf.mnv +" $Id: elf.mnv,v 1.1 2004/06/13 19:52:27 mnvboss Exp $ +" +" ELF: Extensible Language Facility +" This is the Applix Inc., Macro and Builder programming language. +" It has nothing in common with the binary format called ELF. + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" Case does not matter +syn case ignore + +" Environments +syn region elfEnvironment transparent matchgroup=Special start="{" matchgroup=Special end="}" contains=ALLBUT,elfBraceError + +" Unmatched braces +syn match elfBraceError "}" + +" All macros must have at least one of these definitions +syn keyword elfSpecial endmacro +syn region elfSpecial transparent matchgroup=Special start="^\(\(macro\)\|\(set\)\) \S\+$" matchgroup=Special end="^\(\(endmacro\)\|\(endset\)\)$" contains=ALLBUT,elfBraceError + +" Preprocessor Commands +syn keyword elfPPCom define include + +" Some keywords +syn keyword elfKeyword false true null +syn keyword elfKeyword var format object function endfunction + +" Conditionals and loops +syn keyword elfConditional if else case of endcase for to next while until return goto + +" All built-in elf macros end with an '@' +syn match elfMacro "[0-9_A-Za-z]\+@" + +" Strings and characters +syn region elfString start=+"+ skip=+\\\\\|\\"+ end=+"+ + +" Numbers +syn match elfNumber "-\=\<[0-9]*\.\=[0-9_]\>" + +" Comments +syn region elfComment start="/\*" end="\*/" +syn match elfComment "\'.*$" + +syn sync ccomment elfComment + +" Parenthesis +syn match elfParens "[\[\]()]" + +" Punctuation +syn match elfPunct "[,;]" + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +" The default methods for highlighting. Can be overridden later. +hi def link elfComment Comment +hi def link elfPPCom Include +hi def link elfKeyword Keyword +hi def link elfSpecial Special +hi def link elfEnvironment Special +hi def link elfBraceError Error +hi def link elfConditional Conditional +hi def link elfMacro Function +hi def link elfNumber Number +hi def link elfString String +hi def link elfParens Delimiter +hi def link elfPunct Delimiter + + +let b:current_syntax = "elf" + +" mnv:ts=8:sw=4:nocindent:smartindent: diff --git a/uvim/runtime/syntax/elf.vim b/uvim/runtime/syntax/elf.vim deleted file mode 100644 index c8e5a61bd1..0000000000 --- a/uvim/runtime/syntax/elf.vim +++ /dev/null @@ -1,82 +0,0 @@ -" Vim syntax file -" Language: ELF -" Maintainer: Christian V. J. Brüssow -" Last Change: Son 22 Jun 2003 20:43:14 CEST -" Filenames: *.ab,*.am -" URL: http://www.cvjb.de/comp/vim/elf.vim -" $Id: elf.vim,v 1.1 2004/06/13 19:52:27 vimboss Exp $ -" -" ELF: Extensible Language Facility -" This is the Applix Inc., Macro and Builder programming language. -" It has nothing in common with the binary format called ELF. - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" Case does not matter -syn case ignore - -" Environments -syn region elfEnvironment transparent matchgroup=Special start="{" matchgroup=Special end="}" contains=ALLBUT,elfBraceError - -" Unmatched braces -syn match elfBraceError "}" - -" All macros must have at least one of these definitions -syn keyword elfSpecial endmacro -syn region elfSpecial transparent matchgroup=Special start="^\(\(macro\)\|\(set\)\) \S\+$" matchgroup=Special end="^\(\(endmacro\)\|\(endset\)\)$" contains=ALLBUT,elfBraceError - -" Preprocessor Commands -syn keyword elfPPCom define include - -" Some keywords -syn keyword elfKeyword false true null -syn keyword elfKeyword var format object function endfunction - -" Conditionals and loops -syn keyword elfConditional if else case of endcase for to next while until return goto - -" All built-in elf macros end with an '@' -syn match elfMacro "[0-9_A-Za-z]\+@" - -" Strings and characters -syn region elfString start=+"+ skip=+\\\\\|\\"+ end=+"+ - -" Numbers -syn match elfNumber "-\=\<[0-9]*\.\=[0-9_]\>" - -" Comments -syn region elfComment start="/\*" end="\*/" -syn match elfComment "\'.*$" - -syn sync ccomment elfComment - -" Parenthesis -syn match elfParens "[\[\]()]" - -" Punctuation -syn match elfPunct "[,;]" - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -" The default methods for highlighting. Can be overridden later. -hi def link elfComment Comment -hi def link elfPPCom Include -hi def link elfKeyword Keyword -hi def link elfSpecial Special -hi def link elfEnvironment Special -hi def link elfBraceError Error -hi def link elfConditional Conditional -hi def link elfMacro Function -hi def link elfNumber Number -hi def link elfString String -hi def link elfParens Delimiter -hi def link elfPunct Delimiter - - -let b:current_syntax = "elf" - -" vim:ts=8:sw=4:nocindent:smartindent: diff --git a/uvim/runtime/syntax/elinks.mnv b/uvim/runtime/syntax/elinks.mnv new file mode 100644 index 0000000000..37d972d042 --- /dev/null +++ b/uvim/runtime/syntax/elinks.mnv @@ -0,0 +1,188 @@ +" MNV syntax file +" Language: elinks(1) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2007-06-17 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +setlocal iskeyword+=- + +syn keyword elinksTodo contained TODO FIXME XXX NOTE + +syn region elinksComment display oneline start='#' end='$' + \ contains=elinksTodo,@Spell + +syn match elinksNumber '\<\d\+\>' + +syn region elinksString start=+"+ skip=+\\\\\|\\"+ end=+"+ + \ contains=@elinksColor + +syn keyword elinksKeyword set bind + +syn keyword elinksPrefix bookmarks +syn keyword elinksOptions file_format + +syn keyword elinksPrefix config +syn keyword elinksOptions comments indentation saving_style i18n + \ saving_style_w show_template + +syn keyword elinksPrefix connection ssl client_cert +syn keyword elinksOptions enable file cert_verify async_dns max_connections + \ max_connections_to_host receive_timeout retries + \ unrestartable_receive_timeout + +syn keyword elinksPrefix cookies +syn keyword elinksOptions accept_policy max_age paranoid_security save resave + +syn keyword elinksPrefix document browse accesskey forms images links +syn keyword elinksPrefix active_link colors search cache codepage colors +syn keyword elinksPrefix format memory download dump history global html +syn keyword elinksPrefix plain +syn keyword elinksOptions auto_follow priority auto_submit confirm_submit + \ input_size show_formhist file_tags + \ image_link_tagging image_link_prefix + \ image_link_suffix show_as_links + \ show_any_as_links background text enable_color + \ bold invert underline color_dirs numbering + \ use_tabindex number_keys_select_link + \ wraparound case regex show_hit_top_bottom + \ wraparound show_not_found margin_width refresh + \ minimum_refresh_time scroll_margin scroll_step + \ table_move_order size size cache_redirects + \ ignore_cache_control assume force_assumed text + \ background link vlink dirs allow_dark_on_black + \ ensure_contrast use_document_colors directory + \ set_original_time overwrite notify_bell + \ codepage width enable max_items display_type + \ write_interval keep_unhistory display_frames + \ display_tables expand_table_columns display_subs + \ display_sups link_display underline_links + \ wrap_nbsp display_links compress_empty_lines + +syn keyword elinksPrefix mime extension handler mailcap mimetypes type +syn keyword elinksOptions ask block program enable path ask description + \ prioritize enable path default_type + +syn keyword elinksPrefix protocol file cgi ftp proxy http bugs proxy +syn keyword elinksPrefix referer https proxy rewrite dumb smart +syn keyword elinksOptions path policy allow_special_files show_hidden_files + \ try_encoding_extensions host anon_passwd + \ use_pasv use_epsv accept_charset allow_blacklist + \ broken_302_redirect post_no_keepalive http10 + \ host user passwd policy fake accept_language + \ accept_ui_language trace user_agent host + \ enable-dumb enable-smart + +syn keyword elinksPrefix terminal +syn keyword elinksOptions type m11_hack utf_8_io restrict_852 block_cursor + \ colors transparency underline charset + +syn keyword elinksPrefix ui colors color mainmenu normal selected hotkey + \ menu marked hotkey frame dialog generic + \ frame scrollbar scrollbar-selected title text + \ checkbox checkbox-label button button-selected + \ field field-text meter shadow title title-bar + \ title-text status status-bar status-text tabs + \ unvisited normal loading separator searched mono +syn keyword elinksOptions text background + +syn keyword elinksPrefix ui dialogs leds sessions tabs timer +syn keyword elinksOptions listbox_min_height shadows underline_hotkeys enable + \ auto_save auto_restore auto_save_foldername + \ homepage show_bar wraparound confirm_close + \ enable duration action language show_status_bar + \ show_title_bar startup_goto_dialog + \ success_msgbox window_title + +syn keyword elinksOptions secure_file_saving + +syn cluster elinksColor contains=elinksColorBlack,elinksColorDarkRed, + \ elinksColorDarkGreen,elinksColorDarkYellow, + \ elinksColorDarkBlue,elinksColorDarkMagenta, + \ elinksColorDarkCyan,elinksColorGray, + \ elinksColorDarkGray,elinksColorRed, + \ elinksColorGreen,elinksColorYellow, + \ elinksColorBlue,elinksColorMagenta, + \ elinksColorCyan,elinksColorWhite + +syn keyword elinksColorBlack contained black +syn keyword elinksColorDarkRed contained darkred sandybrown maroon crimson + \ firebrick +syn keyword elinksColorDarkGreen contained darkgreen darkolivegreen + \ darkseagreen forestgreen + \ mediumspringgreen seagreen +syn keyword elinksColorDarkYellow contained brown blanchedalmond chocolate + \ darkorange darkgoldenrod orange rosybrown + \ saddlebrown peru olive olivedrab sienna +syn keyword elinksColorDarkBlue contained darkblue cadetblue cornflowerblue + \ darkslateblue deepskyblue midnightblue + \ royalblue steelblue navy +syn keyword elinksColorDarkMagenta contained darkmagenta mediumorchid + \ mediumpurple mediumslateblue slateblue + \ deeppink hotpink darkorchid orchid purple + \ indigo +syn keyword elinksColorDarkCyan contained darkcyan mediumaquamarine + \ mediumturquoise darkturquoise teal +syn keyword elinksColorGray contained silver dimgray lightslategray + \ slategray lightgrey burlywood plum tan + \ thistle +syn keyword elinksColorDarkGray contained gray darkgray darkslategray + \ darksalmon +syn keyword elinksColorRed contained red indianred orangered tomato + \ lightsalmon salmon coral lightcoral +syn keyword elinksColorGreen contained green greenyellow lawngreen + \ lightgreen lightseagreen limegreen + \ mediumseagreen springgreen yellowgreen + \ palegreen lime chartreuse +syn keyword elinksColorYellow contained yellow beige darkkhaki + \ lightgoldenrodyellow palegoldenrod gold + \ goldenrod khaki lightyellow +syn keyword elinksColorBlue contained blue aliceblue aqua aquamarine + \ azure dodgerblue lightblue lightskyblue + \ lightsteelblue mediumblue +syn keyword elinksColorMagenta contained magenta darkviolet blueviolet + \ lightpink mediumvioletred palevioletred + \ violet pink fuchsia +syn keyword elinksColorCyan contained cyan lightcyan powderblue skyblue + \ turquoise paleturquoise +syn keyword elinksColorWhite contained white antiquewhite floralwhite + \ ghostwhite navajowhite whitesmoke linen + \ lemonchiffon cornsilk lavender + \ lavenderblush seashell mistyrose ivory + \ papayawhip bisque gainsboro honeydew + \ mintcream moccasin oldlace peachpuff snow + \ wheat + +hi def link elinksTodo Todo +hi def link elinksComment Comment +hi def link elinksNumber Number +hi def link elinksString String +hi def link elinksKeyword Keyword +hi def link elinksPrefix Identifier +hi def link elinksOptions Identifier +hi def elinksColorBlack ctermfg=Black guifg=Black +hi def elinksColorDarkRed ctermfg=DarkRed guifg=DarkRed +hi def elinksColorDarkGreen ctermfg=DarkGreen guifg=DarkGreen +hi def elinksColorDarkYellow ctermfg=DarkYellow guifg=DarkYellow +hi def elinksColorDarkBlue ctermfg=DarkBlue guifg=DarkBlue +hi def elinksColorDarkMagenta ctermfg=DarkMagenta guifg=DarkMagenta +hi def elinksColorDarkCyan ctermfg=DarkCyan guifg=DarkCyan +hi def elinksColorGray ctermfg=Gray guifg=Gray +hi def elinksColorDarkGray ctermfg=DarkGray guifg=DarkGray +hi def elinksColorRed ctermfg=Red guifg=Red +hi def elinksColorGreen ctermfg=Green guifg=Green +hi def elinksColorYellow ctermfg=Yellow guifg=Yellow +hi def elinksColorBlue ctermfg=Blue guifg=Blue +hi def elinksColorMagenta ctermfg=Magenta guifg=Magenta +hi def elinksColorCyan ctermfg=Cyan guifg=Cyan +hi def elinksColorWhite ctermfg=White guifg=White + +let b:current_syntax = "elinks" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/elinks.vim b/uvim/runtime/syntax/elinks.vim deleted file mode 100644 index 98252a24d3..0000000000 --- a/uvim/runtime/syntax/elinks.vim +++ /dev/null @@ -1,188 +0,0 @@ -" Vim syntax file -" Language: elinks(1) configuration file -" Previous Maintainer: Nikolai Weibull -" Latest Revision: 2007-06-17 - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -setlocal iskeyword+=- - -syn keyword elinksTodo contained TODO FIXME XXX NOTE - -syn region elinksComment display oneline start='#' end='$' - \ contains=elinksTodo,@Spell - -syn match elinksNumber '\<\d\+\>' - -syn region elinksString start=+"+ skip=+\\\\\|\\"+ end=+"+ - \ contains=@elinksColor - -syn keyword elinksKeyword set bind - -syn keyword elinksPrefix bookmarks -syn keyword elinksOptions file_format - -syn keyword elinksPrefix config -syn keyword elinksOptions comments indentation saving_style i18n - \ saving_style_w show_template - -syn keyword elinksPrefix connection ssl client_cert -syn keyword elinksOptions enable file cert_verify async_dns max_connections - \ max_connections_to_host receive_timeout retries - \ unrestartable_receive_timeout - -syn keyword elinksPrefix cookies -syn keyword elinksOptions accept_policy max_age paranoid_security save resave - -syn keyword elinksPrefix document browse accesskey forms images links -syn keyword elinksPrefix active_link colors search cache codepage colors -syn keyword elinksPrefix format memory download dump history global html -syn keyword elinksPrefix plain -syn keyword elinksOptions auto_follow priority auto_submit confirm_submit - \ input_size show_formhist file_tags - \ image_link_tagging image_link_prefix - \ image_link_suffix show_as_links - \ show_any_as_links background text enable_color - \ bold invert underline color_dirs numbering - \ use_tabindex number_keys_select_link - \ wraparound case regex show_hit_top_bottom - \ wraparound show_not_found margin_width refresh - \ minimum_refresh_time scroll_margin scroll_step - \ table_move_order size size cache_redirects - \ ignore_cache_control assume force_assumed text - \ background link vlink dirs allow_dark_on_black - \ ensure_contrast use_document_colors directory - \ set_original_time overwrite notify_bell - \ codepage width enable max_items display_type - \ write_interval keep_unhistory display_frames - \ display_tables expand_table_columns display_subs - \ display_sups link_display underline_links - \ wrap_nbsp display_links compress_empty_lines - -syn keyword elinksPrefix mime extension handler mailcap mimetypes type -syn keyword elinksOptions ask block program enable path ask description - \ prioritize enable path default_type - -syn keyword elinksPrefix protocol file cgi ftp proxy http bugs proxy -syn keyword elinksPrefix referer https proxy rewrite dumb smart -syn keyword elinksOptions path policy allow_special_files show_hidden_files - \ try_encoding_extensions host anon_passwd - \ use_pasv use_epsv accept_charset allow_blacklist - \ broken_302_redirect post_no_keepalive http10 - \ host user passwd policy fake accept_language - \ accept_ui_language trace user_agent host - \ enable-dumb enable-smart - -syn keyword elinksPrefix terminal -syn keyword elinksOptions type m11_hack utf_8_io restrict_852 block_cursor - \ colors transparency underline charset - -syn keyword elinksPrefix ui colors color mainmenu normal selected hotkey - \ menu marked hotkey frame dialog generic - \ frame scrollbar scrollbar-selected title text - \ checkbox checkbox-label button button-selected - \ field field-text meter shadow title title-bar - \ title-text status status-bar status-text tabs - \ unvisited normal loading separator searched mono -syn keyword elinksOptions text background - -syn keyword elinksPrefix ui dialogs leds sessions tabs timer -syn keyword elinksOptions listbox_min_height shadows underline_hotkeys enable - \ auto_save auto_restore auto_save_foldername - \ homepage show_bar wraparound confirm_close - \ enable duration action language show_status_bar - \ show_title_bar startup_goto_dialog - \ success_msgbox window_title - -syn keyword elinksOptions secure_file_saving - -syn cluster elinksColor contains=elinksColorBlack,elinksColorDarkRed, - \ elinksColorDarkGreen,elinksColorDarkYellow, - \ elinksColorDarkBlue,elinksColorDarkMagenta, - \ elinksColorDarkCyan,elinksColorGray, - \ elinksColorDarkGray,elinksColorRed, - \ elinksColorGreen,elinksColorYellow, - \ elinksColorBlue,elinksColorMagenta, - \ elinksColorCyan,elinksColorWhite - -syn keyword elinksColorBlack contained black -syn keyword elinksColorDarkRed contained darkred sandybrown maroon crimson - \ firebrick -syn keyword elinksColorDarkGreen contained darkgreen darkolivegreen - \ darkseagreen forestgreen - \ mediumspringgreen seagreen -syn keyword elinksColorDarkYellow contained brown blanchedalmond chocolate - \ darkorange darkgoldenrod orange rosybrown - \ saddlebrown peru olive olivedrab sienna -syn keyword elinksColorDarkBlue contained darkblue cadetblue cornflowerblue - \ darkslateblue deepskyblue midnightblue - \ royalblue steelblue navy -syn keyword elinksColorDarkMagenta contained darkmagenta mediumorchid - \ mediumpurple mediumslateblue slateblue - \ deeppink hotpink darkorchid orchid purple - \ indigo -syn keyword elinksColorDarkCyan contained darkcyan mediumaquamarine - \ mediumturquoise darkturquoise teal -syn keyword elinksColorGray contained silver dimgray lightslategray - \ slategray lightgrey burlywood plum tan - \ thistle -syn keyword elinksColorDarkGray contained gray darkgray darkslategray - \ darksalmon -syn keyword elinksColorRed contained red indianred orangered tomato - \ lightsalmon salmon coral lightcoral -syn keyword elinksColorGreen contained green greenyellow lawngreen - \ lightgreen lightseagreen limegreen - \ mediumseagreen springgreen yellowgreen - \ palegreen lime chartreuse -syn keyword elinksColorYellow contained yellow beige darkkhaki - \ lightgoldenrodyellow palegoldenrod gold - \ goldenrod khaki lightyellow -syn keyword elinksColorBlue contained blue aliceblue aqua aquamarine - \ azure dodgerblue lightblue lightskyblue - \ lightsteelblue mediumblue -syn keyword elinksColorMagenta contained magenta darkviolet blueviolet - \ lightpink mediumvioletred palevioletred - \ violet pink fuchsia -syn keyword elinksColorCyan contained cyan lightcyan powderblue skyblue - \ turquoise paleturquoise -syn keyword elinksColorWhite contained white antiquewhite floralwhite - \ ghostwhite navajowhite whitesmoke linen - \ lemonchiffon cornsilk lavender - \ lavenderblush seashell mistyrose ivory - \ papayawhip bisque gainsboro honeydew - \ mintcream moccasin oldlace peachpuff snow - \ wheat - -hi def link elinksTodo Todo -hi def link elinksComment Comment -hi def link elinksNumber Number -hi def link elinksString String -hi def link elinksKeyword Keyword -hi def link elinksPrefix Identifier -hi def link elinksOptions Identifier -hi def elinksColorBlack ctermfg=Black guifg=Black -hi def elinksColorDarkRed ctermfg=DarkRed guifg=DarkRed -hi def elinksColorDarkGreen ctermfg=DarkGreen guifg=DarkGreen -hi def elinksColorDarkYellow ctermfg=DarkYellow guifg=DarkYellow -hi def elinksColorDarkBlue ctermfg=DarkBlue guifg=DarkBlue -hi def elinksColorDarkMagenta ctermfg=DarkMagenta guifg=DarkMagenta -hi def elinksColorDarkCyan ctermfg=DarkCyan guifg=DarkCyan -hi def elinksColorGray ctermfg=Gray guifg=Gray -hi def elinksColorDarkGray ctermfg=DarkGray guifg=DarkGray -hi def elinksColorRed ctermfg=Red guifg=Red -hi def elinksColorGreen ctermfg=Green guifg=Green -hi def elinksColorYellow ctermfg=Yellow guifg=Yellow -hi def elinksColorBlue ctermfg=Blue guifg=Blue -hi def elinksColorMagenta ctermfg=Magenta guifg=Magenta -hi def elinksColorCyan ctermfg=Cyan guifg=Cyan -hi def elinksColorWhite ctermfg=White guifg=White - -let b:current_syntax = "elinks" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/elm.mnv b/uvim/runtime/syntax/elm.mnv new file mode 100644 index 0000000000..9b67464c99 --- /dev/null +++ b/uvim/runtime/syntax/elm.mnv @@ -0,0 +1,105 @@ +" MNV syntax file +" Language: Elm +" Maintainer: Andreas Scharf +" Original Author: Joseph Hager +" Copyright: Joseph Hager +" License: BSD3 +" Latest Revision: 2020-05-29 + +if exists('b:current_syntax') + finish +endif + +" Keywords +syn keyword elmConditional else if of then case +syn keyword elmAlias alias +syn keyword elmTypedef contained type port +syn keyword elmImport exposing as import module where + +" Operators +" elm/core +syn match elmOperator contained "\(<|\||>\|||\|&&\|==\|/=\|<=\|>=\|++\|::\|+\|-\|*\|/\|//\|^\|<>\|>>\|<<\|<\|>\|%\)" +" elm/parser +syn match elmOperator contained "\(|.\||=\)" +" elm/url +syn match elmOperator contained "\(\|\)" + +" Types +syn match elmType "\<[A-Z][0-9A-Za-z_-]*" +syn keyword elmNumberType number + +" Modules +syn match elmModule "\<\([A-Z][0-9A-Za-z_'-\.]*\)\+\.[A-Za-z]"me=e-2 +syn match elmModule "^\(module\|import\)\s\+[A-Z][0-9A-Za-z_'-\.]*\(\s\+as\s\+[A-Z][0-9A-Za-z_'-\.]*\)\?\(\s\+exposing\)\?" contains=elmImport + +" Delimiters +syn match elmDelimiter "[,;]" +syn match elmBraces "[()[\]{}]" + +" Functions +syn match elmTupleFunction "\((,\+)\)" + +" Comments +syn keyword elmTodo TODO FIXME XXX contained +syn match elmLineComment "--.*" contains=elmTodo,@spell +syn region elmComment matchgroup=elmComment start="{-|\=" end="-}" contains=elmTodo,elmComment,@spell fold + +" Strings +syn match elmStringEscape "\\u[0-9a-fA-F]\{4}" contained +syn match elmStringEscape "\\[nrfvbt\\\"]" contained +syn region elmString start="\"" skip="\\\"" end="\"" contains=elmStringEscape,@spell +syn region elmTripleString start="\"\"\"" skip="\\\"" end="\"\"\"" contains=elmStringEscape,@spell +syn match elmChar "'[^'\\]'\|'\\.'\|'\\u[0-9a-fA-F]\{4}'" + +" Lambda +syn region elmLambdaFunc start="\\"hs=s+1 end="->"he=e-2 + +" Debug +syn match elmDebug "Debug.\(log\|todo\|toString\)" + +" Numbers +syn match elmInt "-\?\<\d\+\>" +syn match elmFloat "-\?\(\<\d\+\.\d\+\>\)" + +" Identifiers +syn match elmTopLevelDecl "^\s*[a-zA-Z][a-zA-z0-9_]*\('\)*\s\+:\(\r\n\|\r\|\n\|\s\)\+" contains=elmOperator +syn match elmFuncName /^\l\w*/ + +" Folding +syn region elmTopLevelTypedef start="type" end="\n\(\n\n\)\@=" contains=ALL fold +syn region elmTopLevelFunction start="^[a-zA-Z].\+\n[a-zA-Z].\+=" end="^\(\n\+\)\@=" contains=ALL fold +syn region elmCaseBlock matchgroup=elmCaseBlockDefinition start="^\z\(\s\+\)\" end="^\z1\@!\W\@=" end="\(\n\n\z1\@!\)\@=" end="\n\z1\@!\(\n\n\)\@=" contains=ALL fold +syn region elmCaseItemBlock start="^\z\(\s\+\).\+->$" end="^\z1\@!\W\@=" end="\(\n\n\z1\@!\)\@=" end="\(\n\z1\S\)\@=" contains=ALL fold +syn region elmLetBlock matchgroup=elmLetBlockDefinition start="\" end="\" contains=ALL fold + +hi def link elmFuncName Function +hi def link elmCaseBlockDefinition Conditional +hi def link elmCaseBlockItemDefinition Conditional +hi def link elmLetBlockDefinition TypeDef +hi def link elmTopLevelDecl Function +hi def link elmTupleFunction Normal +hi def link elmTodo Todo +hi def link elmComment Comment +hi def link elmLineComment Comment +hi def link elmString String +hi def link elmTripleString String +hi def link elmChar String +hi def link elmStringEscape Special +hi def link elmInt Number +hi def link elmFloat Float +hi def link elmDelimiter Delimiter +hi def link elmBraces Delimiter +hi def link elmTypedef TypeDef +hi def link elmImport Include +hi def link elmConditional Conditional +hi def link elmAlias Delimiter +hi def link elmOperator Operator +hi def link elmType Type +hi def link elmNumberType Identifier +hi def link elmLambdaFunc Function +hi def link elmDebug Debug +hi def link elmModule Type + +syn sync minlines=500 + +let b:current_syntax = 'elm' diff --git a/uvim/runtime/syntax/elm.vim b/uvim/runtime/syntax/elm.vim deleted file mode 100644 index 1277827f57..0000000000 --- a/uvim/runtime/syntax/elm.vim +++ /dev/null @@ -1,105 +0,0 @@ -" Vim syntax file -" Language: Elm -" Maintainer: Andreas Scharf -" Original Author: Joseph Hager -" Copyright: Joseph Hager -" License: BSD3 -" Latest Revision: 2020-05-29 - -if exists('b:current_syntax') - finish -endif - -" Keywords -syn keyword elmConditional else if of then case -syn keyword elmAlias alias -syn keyword elmTypedef contained type port -syn keyword elmImport exposing as import module where - -" Operators -" elm/core -syn match elmOperator contained "\(<|\||>\|||\|&&\|==\|/=\|<=\|>=\|++\|::\|+\|-\|*\|/\|//\|^\|<>\|>>\|<<\|<\|>\|%\)" -" elm/parser -syn match elmOperator contained "\(|.\||=\)" -" elm/url -syn match elmOperator contained "\(\|\)" - -" Types -syn match elmType "\<[A-Z][0-9A-Za-z_-]*" -syn keyword elmNumberType number - -" Modules -syn match elmModule "\<\([A-Z][0-9A-Za-z_'-\.]*\)\+\.[A-Za-z]"me=e-2 -syn match elmModule "^\(module\|import\)\s\+[A-Z][0-9A-Za-z_'-\.]*\(\s\+as\s\+[A-Z][0-9A-Za-z_'-\.]*\)\?\(\s\+exposing\)\?" contains=elmImport - -" Delimiters -syn match elmDelimiter "[,;]" -syn match elmBraces "[()[\]{}]" - -" Functions -syn match elmTupleFunction "\((,\+)\)" - -" Comments -syn keyword elmTodo TODO FIXME XXX contained -syn match elmLineComment "--.*" contains=elmTodo,@spell -syn region elmComment matchgroup=elmComment start="{-|\=" end="-}" contains=elmTodo,elmComment,@spell fold - -" Strings -syn match elmStringEscape "\\u[0-9a-fA-F]\{4}" contained -syn match elmStringEscape "\\[nrfvbt\\\"]" contained -syn region elmString start="\"" skip="\\\"" end="\"" contains=elmStringEscape,@spell -syn region elmTripleString start="\"\"\"" skip="\\\"" end="\"\"\"" contains=elmStringEscape,@spell -syn match elmChar "'[^'\\]'\|'\\.'\|'\\u[0-9a-fA-F]\{4}'" - -" Lambda -syn region elmLambdaFunc start="\\"hs=s+1 end="->"he=e-2 - -" Debug -syn match elmDebug "Debug.\(log\|todo\|toString\)" - -" Numbers -syn match elmInt "-\?\<\d\+\>" -syn match elmFloat "-\?\(\<\d\+\.\d\+\>\)" - -" Identifiers -syn match elmTopLevelDecl "^\s*[a-zA-Z][a-zA-z0-9_]*\('\)*\s\+:\(\r\n\|\r\|\n\|\s\)\+" contains=elmOperator -syn match elmFuncName /^\l\w*/ - -" Folding -syn region elmTopLevelTypedef start="type" end="\n\(\n\n\)\@=" contains=ALL fold -syn region elmTopLevelFunction start="^[a-zA-Z].\+\n[a-zA-Z].\+=" end="^\(\n\+\)\@=" contains=ALL fold -syn region elmCaseBlock matchgroup=elmCaseBlockDefinition start="^\z\(\s\+\)\" end="^\z1\@!\W\@=" end="\(\n\n\z1\@!\)\@=" end="\n\z1\@!\(\n\n\)\@=" contains=ALL fold -syn region elmCaseItemBlock start="^\z\(\s\+\).\+->$" end="^\z1\@!\W\@=" end="\(\n\n\z1\@!\)\@=" end="\(\n\z1\S\)\@=" contains=ALL fold -syn region elmLetBlock matchgroup=elmLetBlockDefinition start="\" end="\" contains=ALL fold - -hi def link elmFuncName Function -hi def link elmCaseBlockDefinition Conditional -hi def link elmCaseBlockItemDefinition Conditional -hi def link elmLetBlockDefinition TypeDef -hi def link elmTopLevelDecl Function -hi def link elmTupleFunction Normal -hi def link elmTodo Todo -hi def link elmComment Comment -hi def link elmLineComment Comment -hi def link elmString String -hi def link elmTripleString String -hi def link elmChar String -hi def link elmStringEscape Special -hi def link elmInt Number -hi def link elmFloat Float -hi def link elmDelimiter Delimiter -hi def link elmBraces Delimiter -hi def link elmTypedef TypeDef -hi def link elmImport Include -hi def link elmConditional Conditional -hi def link elmAlias Delimiter -hi def link elmOperator Operator -hi def link elmType Type -hi def link elmNumberType Identifier -hi def link elmLambdaFunc Function -hi def link elmDebug Debug -hi def link elmModule Type - -syn sync minlines=500 - -let b:current_syntax = 'elm' diff --git a/uvim/runtime/syntax/elmfilt.mnv b/uvim/runtime/syntax/elmfilt.mnv new file mode 100644 index 0000000000..93729e92da --- /dev/null +++ b/uvim/runtime/syntax/elmfilt.mnv @@ -0,0 +1,59 @@ +" MNV syntax file +" Language: Elm Filter rules +" Maintainer: This runtime file is looking for a new maintainer. +" Former Maintainer: Charles E. Campbell +" Last Change: Aug 31, 2016 +" Version: 9 +" Former URL: http://www.drchip.org/astronaut/mnv/index.html#SYNTAX_ELMFILT + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn cluster elmfiltIfGroup contains=elmfiltCond,elmfiltOper,elmfiltOperKey,,elmfiltNumber,elmfiltOperKey + +syn match elmfiltParenError "[()]" +syn match elmfiltMatchError "/" +syn region elmfiltIf start="\" end="\" contains=elmfiltParen,elmfiltParenError skipnl skipwhite nextgroup=elmfiltAction +syn region elmfiltParen contained matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" contains=elmfiltParen,@elmfiltIfGroup,elmfiltThenError +syn region elmfiltMatch contained matchgroup=Delimiter start="/" skip="\\/" matchgroup=Delimiter end="/" skipnl skipwhite nextgroup=elmfiltOper,elmfiltOperKey +syn match elmfiltThenError "\" skipnl skipwhite nextgroup=elmfiltString +syn match elmfiltOperKey contained "\=\|!=\|<\|<\|=" skipnl skipwhite nextgroup=elmfiltString,elmfiltCond,elmfiltOperKey +syn region elmfiltString contained start='"' skip='"\(\\\\\)*\\["%]' end='"' contains=elmfiltArg skipnl skipwhite nextgroup=elmfiltOper,elmfiltOperKey,@Spell +syn region elmfiltString contained start="'" skip="'\(\\\\\)*\\['%]" end="'" contains=elmfiltArg skipnl skipwhite nextgroup=elmfiltOper,elmfiltOperKey,@Spell +syn match elmfiltSpaceError contained "\s.*$" + +" Define the default highlighting. +if !exists("skip_elmfilt_syntax_inits") + + hi def link elmfiltAction Statement + hi def link elmfiltArg Special + hi def link elmfiltComment Comment + hi def link elmfiltCond Statement + hi def link elmfiltIf Statement + hi def link elmfiltMatch Special + hi def link elmfiltMatchError Error + hi def link elmfiltNumber Number + hi def link elmfiltOper Operator + hi def link elmfiltOperKey Type + hi def link elmfiltParenError Error + hi def link elmfiltSpaceError Error + hi def link elmfiltString String + hi def link elmfiltThenError Error + +endif + +let b:current_syntax = "elmfilt" +" mnv: ts=9 diff --git a/uvim/runtime/syntax/elmfilt.vim b/uvim/runtime/syntax/elmfilt.vim deleted file mode 100644 index aa1b57cbfe..0000000000 --- a/uvim/runtime/syntax/elmfilt.vim +++ /dev/null @@ -1,59 +0,0 @@ -" Vim syntax file -" Language: Elm Filter rules -" Maintainer: This runtime file is looking for a new maintainer. -" Former Maintainer: Charles E. Campbell -" Last Change: Aug 31, 2016 -" Version: 9 -" Former URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_ELMFILT - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn cluster elmfiltIfGroup contains=elmfiltCond,elmfiltOper,elmfiltOperKey,,elmfiltNumber,elmfiltOperKey - -syn match elmfiltParenError "[()]" -syn match elmfiltMatchError "/" -syn region elmfiltIf start="\" end="\" contains=elmfiltParen,elmfiltParenError skipnl skipwhite nextgroup=elmfiltAction -syn region elmfiltParen contained matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" contains=elmfiltParen,@elmfiltIfGroup,elmfiltThenError -syn region elmfiltMatch contained matchgroup=Delimiter start="/" skip="\\/" matchgroup=Delimiter end="/" skipnl skipwhite nextgroup=elmfiltOper,elmfiltOperKey -syn match elmfiltThenError "\" skipnl skipwhite nextgroup=elmfiltString -syn match elmfiltOperKey contained "\=\|!=\|<\|<\|=" skipnl skipwhite nextgroup=elmfiltString,elmfiltCond,elmfiltOperKey -syn region elmfiltString contained start='"' skip='"\(\\\\\)*\\["%]' end='"' contains=elmfiltArg skipnl skipwhite nextgroup=elmfiltOper,elmfiltOperKey,@Spell -syn region elmfiltString contained start="'" skip="'\(\\\\\)*\\['%]" end="'" contains=elmfiltArg skipnl skipwhite nextgroup=elmfiltOper,elmfiltOperKey,@Spell -syn match elmfiltSpaceError contained "\s.*$" - -" Define the default highlighting. -if !exists("skip_elmfilt_syntax_inits") - - hi def link elmfiltAction Statement - hi def link elmfiltArg Special - hi def link elmfiltComment Comment - hi def link elmfiltCond Statement - hi def link elmfiltIf Statement - hi def link elmfiltMatch Special - hi def link elmfiltMatchError Error - hi def link elmfiltNumber Number - hi def link elmfiltOper Operator - hi def link elmfiltOperKey Type - hi def link elmfiltParenError Error - hi def link elmfiltSpaceError Error - hi def link elmfiltString String - hi def link elmfiltThenError Error - -endif - -let b:current_syntax = "elmfilt" -" vim: ts=9 diff --git a/uvim/runtime/syntax/env.mnv b/uvim/runtime/syntax/env.mnv new file mode 100644 index 0000000000..9bd9a2c133 --- /dev/null +++ b/uvim/runtime/syntax/env.mnv @@ -0,0 +1,28 @@ +" MNV syntax file +" Language: env +" Maintainer: DuckAfire +" Last Change: 2026 Jan 27 +" Version: 2 +" Changelog: +" 0. Create syntax file. +" 1. Remove unused variable (g:main_syntax). +" 2. Apply changes required by github@dkearns + +if exists("b:current_syntax") + finish +endif + +syn match envField nextgroup=envValue /^\h\%(\w\|\.\)*/ +syn region envValue matchgroup=Operator start=/=/ end=/$/ +syn match envComment contains=envTodo,envTitles /^#.*$/ +syn keyword envTodo contained CAUTION NOTE TODO WARN WARNING +syn match envTitle contained /^\s*#\s*\zs[A-Z0-9][A-Z0-9 ]*:/ + +hi def link envField Identifier +hi def link envValue String +hi def link envComment Comment +hi def link envTodo Todo +hi def link envTitle PreProc + +let b:current_syntax = "env" + diff --git a/uvim/runtime/syntax/env.vim b/uvim/runtime/syntax/env.vim deleted file mode 100644 index a33eb045da..0000000000 --- a/uvim/runtime/syntax/env.vim +++ /dev/null @@ -1,28 +0,0 @@ -" Vim syntax file -" Language: env -" Maintainer: DuckAfire -" Last Change: 2026 Jan 27 -" Version: 2 -" Changelog: -" 0. Create syntax file. -" 1. Remove unused variable (g:main_syntax). -" 2. Apply changes required by github@dkearns - -if exists("b:current_syntax") - finish -endif - -syn match envField nextgroup=envValue /^\h\%(\w\|\.\)*/ -syn region envValue matchgroup=Operator start=/=/ end=/$/ -syn match envComment contains=envTodo,envTitles /^#.*$/ -syn keyword envTodo contained CAUTION NOTE TODO WARN WARNING -syn match envTitle contained /^\s*#\s*\zs[A-Z0-9][A-Z0-9 ]*:/ - -hi def link envField Identifier -hi def link envValue String -hi def link envComment Comment -hi def link envTodo Todo -hi def link envTitle PreProc - -let b:current_syntax = "env" - diff --git a/uvim/runtime/syntax/erlang.mnv b/uvim/runtime/syntax/erlang.mnv new file mode 100644 index 0000000000..52952a6e61 --- /dev/null +++ b/uvim/runtime/syntax/erlang.mnv @@ -0,0 +1,408 @@ +" MNV syntax file +" Language: Erlang (http://www.erlang.org) +" Maintainer: Csaba Hoch +" Contributor: Adam Rutkowski +" Johannes Christ +" Last Update: 2025-Nov-12 +" License: MNV license +" URL: https://github.com/mnv-erlang/mnv-erlang-runtime + +" Acknowledgements: This script was originally created by Kresimir Marzic [1]. +" The script was then revamped by Csaba Hoch [2]. During the revamp, the new +" highlighting style and some code was taken from the Erlang syntax script +" that is part of mnverl [3], created by Oscar Hellström [4] and improved by +" Ricardo Catalinas Jiménez [5]. + +" [1]: Kreąimir Marľić (Kresimir Marzic) +" [2]: Csaba Hoch +" [3]: https://github.com/jimenezrick/mnverl +" [4]: Oscar Hellström (http://oscar.hellstrom.st) +" [5]: Ricardo Catalinas Jiménez + +" Customization: +" +" To use the old highlighting style, add this to your .mnvrc: +" +" let g:erlang_old_style_highlight = 1 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +if !exists('g:main_syntax') + " This is an Erlang source file, and this is the main execution of + " syntax/erlang.mnv. + let g:main_syntax = 'erlang' +elseif g:main_syntax == 'erlang' + " This is an Erlang source file, and this is an inner execution of + " syntax/erlang.mnv. For example: + " + " 1. The main execution of syntax/erlang.mnv included syntax/markdown.mnv + " because "g:erlang_use_markdown_for_docs == 1". + " + " 2. syntax/markdown.mnv included syntax/erlang.mnv because + " "g:markdown_fenced_languages == ['erlang']". This is the inner + " execution of syntax/erlang.mnv. + " + " To avoid infinite recursion with Markdown and Erlang including each other, + " and to avoid the inner syntax/erlang.mnv execution messing up the + " variables of the outer erlang.mnv execution, we finish executing the inner + " erlang.mnv. + " + " In the inner execution, we already have the Erlang syntax items included, + " so the highlighting of Erlang within Markdown within Erlang will be + " acceptable. It won't highlight Markdown inside Erlang inside Markdown + " inside Erlang. + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +" "g:erlang_old_style_highlight": Whether to use old style highlighting. +" +" * "g:erlang_old_style_highlight == 0" (default): Use new style +" highlighting. +" +" * "g:erlang_old_style_highlight == 1": Use old style highlighting. +let s:old_style = (exists("g:erlang_old_style_highlight") && + \g:erlang_old_style_highlight == 1) + +" "g:erlang_use_markdown_for_docs": Whether to use Markdown highlighting in +" docstrings. +" +" * "g:erlang_use_markdown_for_docs == 1": Enable Markdown highlighting in +" docstrings. +" +" * "g:erlang_use_markdown_for_docs == 0" (default): Disable Markdown +" highlighting in docstrings. +" +" If "g:main_syntax" is not 'erlang', this is not an Erlang source file but +" for example a Markdown file, and syntax/markdown.mnv is including +" syntax/erlang.mnv. To avoid infinite recursion with Markdown and Erlang +" including each other, we disable sourcing syntax/markdown.mnv in this case. +if exists("g:erlang_use_markdown_for_docs") && g:main_syntax == 'erlang' + let s:use_markdown = g:erlang_use_markdown_for_docs +else + let s:use_markdown = 0 +endif + +" "g:erlang_docstring_default_highlight": How to highlight the text inside +" docstrings (except the text which is highlighted by Markdown). +" +" If "g:erlang_use_markdown_for_docs == 1": +" +" * "g:erlang_docstring_default_highlight == 'Comment'" (default): the plugin +" highlights the plain text inside Markdown as Markdown normally does, +" with comment highlighting to regular text in the docstring. +" +" * If you set g:erlang_docstring_default_highlight to the name of highlight +" group, for example "String", the plugin highlights the plain text inside +" Markdown with the specified highlight group. See ":highlight" for the +" available groups. You may also set it to an empty string to disable any +" specific highlighting. +" +" If "g:erlang_use_markdown_for_docs == 0": +" +" * "g:erlang_docstring_default_highlight == 'Comment'" (default): the plugin +" does not highlight the contents of the docstring as markdown, but +" continues to display them in the style of comments. +" +" * If you set g:erlang_docstring_default_highlight to the name of highlight +" group, for example "String", the plugin highlights the plain text inside +" Markdown with the specified highlight group. See ":highlight" for the +" available groups. You may also set it to an empty string to disable any +" specific highlighting. +" +" Configuration examples: +" +" " Highlight docstrings as Markdown. +" let g:erlang_use_markdown_for_docs = 1 +" let g:erlang_docstring_default_highlight = 'Comment' +" +" " 1. Highlight Markdown elements in docstrings as Markdown. +" " 2. Highlight the plain text in docstrings as String. +" let g:erlang_use_markdown_for_docs = 1 +" let g:erlang_docstring_default_highlight = 'String' +" +" " Highlight docstrings as strings. +" let g:erlang_use_markdown_for_docs = 0 +" let g:erlang_docstring_default_highlight = 'String' +" +" " Highlight docstrings as comments (default). +" let g:erlang_use_markdown_for_docs = 0 +" let g:erlang_docstring_default_highlight = 'Comment' +if exists("g:erlang_docstring_default_highlight") + let s:docstring_default_highlight = g:erlang_docstring_default_highlight +else + let s:docstring_default_highlight = 'Comment' +endif + +" Case sensitive +syn case match + +setlocal iskeyword+=$,@-@ + +" Comments +syn match erlangComment '%.*$' contains=erlangCommentAnnotation,erlangTodo +syn match erlangCommentAnnotation ' \@<=@\%(clear\|docfile\|end\|headerfile\|todo\|TODO\|type\|author\|copyright\|doc\|reference\|see\|since\|title\|version\|deprecated\|hidden\|param\|private\|equiv\|spec\|throws\)' contained +syn match erlangCommentAnnotation /`[^']*'/ contained +syn keyword erlangTodo TODO FIXME XXX contained + +" Numbers (minimum base is 2, maximum is 36.) +syn match erlangNumberInteger '\<\d\+\>' +syn match erlangNumberInteger '\<\%([2-9]\|[12]\d\|3[0-6]\)\+#[[:alnum:]]\+\>' +syn match erlangNumberFloat '\<\d\+\.\d\+\%([eE][+-]\=\d\+\)\=\>' + +" Strings, atoms, characters +syn region erlangString start=/"/ end=/"/ contains=erlangStringModifier +syn region erlangStringTripleQuoted matchgroup=String start=/"""/ end=/\%(^\s*\)\@<="""/ keepend + +" Documentation +syn region erlangDocString start=/^-\%(module\)\=doc\s*\~\="/ end=/"\.$/ contains=@erlangDocStringCluster keepend +syn region erlangDocString start=/^-\%(module\)\=doc\s*<<"/ end=/">>\.$/ contains=@erlangDocStringCluster keepend +syn region erlangDocString start=/^-\%(module\)\=doc\s*\~\="""/ end=/\%(^\s*\)\@<="""\.$/ contains=@erlangDocStringCluster keepend +syn region erlangDocString start=/^-\%(module\)\=doc\s*<<"""/ end=/\%(^\s*\)\@<=""">>\.$/ contains=@erlangDocStringCluster keepend +syn cluster erlangDocStringCluster contains=erlangInnerDocAttribute,erlangDocStringDelimiter +syn region erlangDocStringDelimiter matchgroup=erlangString start=/"/ end=/"/ contains=@erlangDocStringContained contained +syn region erlangDocStringDelimiter matchgroup=erlangString start=/"""/ end=/"""/ contains=@erlangDocStringContained contained + +if s:use_markdown + syn cluster erlangDocStringContained contains=@markdown +endif + +syn region erlangQuotedAtom start=/'/ end=/'/ contains=erlangQuotedAtomModifier +syn match erlangStringModifier '\\\%(\o\{1,3}\|x\x\x\|x{\x\+}\|\^.\|.\)\|\~\%([ni~]\|\%(-\=\d\+\|\*\)\=\.\=\%(\*\|\d\+\)\=\%(\..\)\=[tl]*[cfegswpWPBX#bx+]\)' contained +syn match erlangQuotedAtomModifier '\\\%(\o\{1,3}\|x\x\x\|x{\x\+}\|\^.\|.\)' contained +syn match erlangModifier '\$\%([^\\]\|\\\%(\o\{1,3}\|x\x\x\|x{\x\+}\|\^.\|.\)\)' + +" Operators, separators +syn match erlangOperator '==\|=:=\|/=\|=/=\|<\|=<\|>\|>=\|=>\|:=\|?=\|++\|--\|=\|!\|<-\|+\|-\|\*\|\/' +syn match erlangEqualsBinary '=<<\%(<\)\@!' +syn keyword erlangOperator div rem or xor bor bxor bsl bsr and band not bnot andalso orelse +syn match erlangBracket '{\|}\|\[\|]\||\|||' +syn match erlangPipe '|' +syn match erlangRightArrow '->' + +" Atoms, function calls (order is important) +syn match erlangAtom '\<\l[[:alnum:]_@]*' contains=erlangBoolean +syn keyword erlangBoolean true false contained +syn match erlangLocalFuncCall '\<\a[[:alnum:]_@]*\>\%(\%(\s\|\n\|%.*\n\)*(\)\@=' contains=erlangBIF +syn match erlangLocalFuncRef '\<\a[[:alnum:]_@]*\>\%(\%(\s\|\n\|%.*\n\)*/\)\@=' +syn match erlangGlobalFuncCall '\<\%(\a[[:alnum:]_@]*\%(\s\|\n\|%.*\n\)*\.\%(\s\|\n\|%.*\n\)*\)*\a[[:alnum:]_@]*\%(\s\|\n\|%.*\n\)*:\%(\s\|\n\|%.*\n\)*\a[[:alnum:]_@]*\>\%(\%(\s\|\n\|%.*\n\)*(\)\@=' contains=erlangComment,erlangVariable +syn match erlangGlobalFuncRef '\<\%(\a[[:alnum:]_@]*\%(\s\|\n\|%.*\n\)*\.\%(\s\|\n\|%.*\n\)*\)*\a[[:alnum:]_@]*\%(\s\|\n\|%.*\n\)*:\%(\s\|\n\|%.*\n\)*\a[[:alnum:]_@]*\>\%(\%(\s\|\n\|%.*\n\)*/\)\@=' contains=erlangComment,erlangVariable + +" Variables, macros, records, maps +syn match erlangVariable '\<[A-Z][[:alnum:]_@]*' +syn match erlangAnonymousVariable '\<_[[:alnum:]_@]*' +syn match erlangMacro '??\=[[:alnum:]_@]\+' +syn match erlangMacro '\%(-define(\)\@<=[[:alnum:]_@]\+' +syn region erlangQuotedMacro start=/??\=\s*'/ end=/'/ contains=erlangQuotedAtomModifier +syn match erlangMap '#' +syn match erlangRecord '#\s*\l[[:alnum:]_@]*' +syn region erlangQuotedRecord start=/#\s*'/ end=/'/ contains=erlangQuotedAtomModifier + +" Shebang (this line has to be after the ErlangMap) +syn match erlangShebang '^#!.*' + +" Bitstrings +syn match erlangBitType '\%(\/\%(\s\|\n\|%.*\n\)*\)\@<=\%(integer\|float\|binary\|bytes\|bitstring\|bits\|binary\|utf8\|utf16\|utf32\|signed\|unsigned\|big\|little\|native\|unit\)\%(\%(\s\|\n\|%.*\n\)*-\%(\s\|\n\|%.*\n\)*\%(integer\|float\|binary\|bytes\|bitstring\|bits\|binary\|utf8\|utf16\|utf32\|signed\|unsigned\|big\|little\|native\|unit\)\)*' contains=erlangComment + +" Constants and Directives +syn match erlangUnknownAttribute '^\s*-\%(\s\|\n\|%.*\n\)*\l[[:alnum:]_@]*' contains=erlangComment +syn match erlangAttribute '^\s*-\%(\s\|\n\|%.*\n\)*\%(behaviou\=r\|compile\|dialyzer\|export\|export_type\|file\|import\|module\|author\|copyright\|vsn\|on_load\|optional_callbacks\|feature\|mode\)\>' contains=erlangComment +syn match erlangDocAttribute '^\s*-\%(\s\|\n\|%.*\n\)*\%(moduledoc\|doc\)\>' contains=erlangComment,erlangDocString +syn match erlangInnerDocAttribute '^\s*-\%(\s\|\n\|%.*\n\)*\%(moduledoc\|doc\)\>' contained +syn match erlangInclude '^\s*-\%(\s\|\n\|%.*\n\)*\%(include\|include_lib\)\>' contains=erlangComment +syn match erlangRecordDef '^\s*-\%(\s\|\n\|%.*\n\)*record\>' contains=erlangComment +syn match erlangDefine '^\s*-\%(\s\|\n\|%.*\n\)*\%(define\|undef\)\>' contains=erlangComment +syn match erlangPreCondit '^\s*-\%(\s\|\n\|%.*\n\)*\%(ifdef\|ifndef\|else\|if\|elif\|endif\)\>' contains=erlangComment +syn match erlangType '^\s*-\%(\s\|\n\|%.*\n\)*\%(spec\|type\|opaque\|nominal\|callback\)\>' contains=erlangComment + +" Keywords +syn keyword erlangKeyword after begin case catch cond end fun if let of else +syn keyword erlangKeyword receive when try maybe + +" Build-in-functions (BIFs) +syn keyword erlangBIF abs alive apply atom_to_binary atom_to_list contained +syn keyword erlangBIF binary_part binary_to_atom contained +syn keyword erlangBIF binary_to_existing_atom binary_to_float contained +syn keyword erlangBIF binary_to_integer bitstring_to_list contained +syn keyword erlangBIF binary_to_list binary_to_term bit_size contained +syn keyword erlangBIF byte_size check_old_code check_process_code contained +syn keyword erlangBIF concat_binary date delete_module demonitor contained +syn keyword erlangBIF disconnect_node element erase error exit contained +syn keyword erlangBIF float float_to_binary float_to_list contained +syn keyword erlangBIF garbage_collect get get_keys group_leader contained +syn keyword erlangBIF halt hd integer_to_binary integer_to_list contained +syn keyword erlangBIF iolist_to_binary iolist_size is_alive contained +syn keyword erlangBIF is_atom is_binary is_bitstring is_boolean contained +syn keyword erlangBIF is_float is_function is_integer is_list is_map is_map_key contained +syn keyword erlangBIF is_number is_pid is_port is_process_alive contained +syn keyword erlangBIF is_record is_reference is_tuple length link contained +syn keyword erlangBIF list_to_atom list_to_binary contained +syn keyword erlangBIF list_to_bitstring list_to_existing_atom contained +syn keyword erlangBIF list_to_float list_to_integer list_to_pid contained +syn keyword erlangBIF list_to_tuple load_module make_ref map_size max contained +syn keyword erlangBIF min module_loaded monitor monitor_node node contained +syn keyword erlangBIF nodes now open_port pid_to_list port_close contained +syn keyword erlangBIF port_command port_connect pre_loaded contained +syn keyword erlangBIF process_flag process_flag process_info contained +syn keyword erlangBIF process purge_module put register registered contained +syn keyword erlangBIF round self setelement size spawn spawn_link contained +syn keyword erlangBIF spawn_monitor spawn_opt split_binary contained +syn keyword erlangBIF statistics term_to_binary throw time tl contained +syn keyword erlangBIF trunc tuple_size tuple_to_list unlink contained +syn keyword erlangBIF unregister whereis contained + +" Sync at the beginning of functions: if this is not used, multiline string +" are not always recognized, and the indentation script cannot use the +" "searchpair" (because it would not always skip strings and comments when +" looking for keywords and opening parens/brackets). +syn sync match erlangSync grouphere NONE "^[a-z]\s*(" +let b:erlang_syntax_synced = 1 + +" Define the default highlighting. See ":help group-name" for the groups and +" their colors. + +if s:use_markdown + " Add markdown syntax elements for docstrings (actually, for all + " triple-quoted strings). + unlet! b:current_syntax + + syn include @markdown syntax/markdown.mnv + let b:current_syntax = "erlang" + + " markdown-erlang.mnv includes html.mnv, which includes css.mnv, which adds + " the dash character (-) to the list of syntax keywords, which causes + " `-VarName` not to be highlighted as a variable in the Erlang code. + " + " Here we override that. + syntax iskeyword @,48-57,192-255,$,_ +endif + +" Comments +hi def link erlangComment Comment +hi def link erlangCommentAnnotation Special +hi def link erlangTodo Todo +hi def link erlangShebang Comment + +" Numbers +hi def link erlangNumberInteger Number +hi def link erlangNumberFloat Float + +" Strings, atoms, characters +hi def link erlangString String +hi def link erlangStringTripleQuoted String + +" Triple quoted strings +if s:docstring_default_highlight != '' + execute 'hi def link erlangDocStringDelimiter '. s:docstring_default_highlight +endif + +if s:old_style +hi def link erlangQuotedAtom Type +else +hi def link erlangQuotedAtom String +endif + +hi def link erlangStringModifier Special +hi def link erlangQuotedAtomModifier Special +hi def link erlangModifier Special + +" Operators, separators +hi def link erlangOperator Operator +hi def link erlangEqualsBinary ErrorMsg +hi def link erlangRightArrow Operator +if s:old_style +hi def link erlangBracket Normal +hi def link erlangPipe Normal +else +hi def link erlangBracket Delimiter +hi def link erlangPipe Delimiter +endif + +" Atoms, functions, variables, macros +if s:old_style +hi def link erlangAtom Normal +hi def link erlangLocalFuncCall Normal +hi def link erlangLocalFuncRef Normal +hi def link erlangGlobalFuncCall Function +hi def link erlangGlobalFuncRef Function +hi def link erlangVariable Normal +hi def link erlangAnonymousVariable erlangVariable +hi def link erlangMacro Normal +hi def link erlangQuotedMacro Normal +hi def link erlangRecord Normal +hi def link erlangQuotedRecord Normal +hi def link erlangMap Normal +else +hi def link erlangAtom String +hi def link erlangLocalFuncCall Normal +hi def link erlangLocalFuncRef Normal +hi def link erlangGlobalFuncCall Normal +hi def link erlangGlobalFuncRef Normal +hi def link erlangVariable Identifier +hi def link erlangAnonymousVariable erlangVariable +hi def link erlangMacro Macro +hi def link erlangQuotedMacro Macro +hi def link erlangRecord Structure +hi def link erlangQuotedRecord Structure +hi def link erlangMap Structure +endif + +" Bitstrings +if !s:old_style +hi def link erlangBitType Type +endif + +" Constants and Directives +if s:old_style +hi def link erlangAttribute Type +hi def link erlangMacroDef Type +hi def link erlangUnknownAttribute Normal +hi def link erlangInclude Type +hi def link erlangRecordDef Type +hi def link erlangDefine Type +hi def link erlangPreCondit Type +hi def link erlangType Type +else +hi def link erlangAttribute Keyword +hi def link erlangDocAttribute Keyword +hi def link erlangInnerDocAttribute Keyword +hi def link erlangMacroDef Macro +hi def link erlangUnknownAttribute Normal +hi def link erlangInclude Include +hi def link erlangRecordDef Keyword +hi def link erlangDefine Define +hi def link erlangPreCondit PreCondit +hi def link erlangType Type +endif + +" Keywords +hi def link erlangKeyword Keyword + +" Build-in-functions (BIFs) +hi def link erlangBIF Function + +if s:old_style +hi def link erlangBoolean Statement +hi def link erlangExtra Statement +hi def link erlangSignal Statement +else +hi def link erlangBoolean Boolean +hi def link erlangExtra Statement +hi def link erlangSignal Statement +endif + +let b:current_syntax = "erlang" + +if g:main_syntax ==# 'erlang' + unlet g:main_syntax +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +" mnv: sw=2 et diff --git a/uvim/runtime/syntax/erlang.vim b/uvim/runtime/syntax/erlang.vim deleted file mode 100644 index bbb03d52cd..0000000000 --- a/uvim/runtime/syntax/erlang.vim +++ /dev/null @@ -1,408 +0,0 @@ -" Vim syntax file -" Language: Erlang (http://www.erlang.org) -" Maintainer: Csaba Hoch -" Contributor: Adam Rutkowski -" Johannes Christ -" Last Update: 2025-Nov-12 -" License: Vim license -" URL: https://github.com/vim-erlang/vim-erlang-runtime - -" Acknowledgements: This script was originally created by Kresimir Marzic [1]. -" The script was then revamped by Csaba Hoch [2]. During the revamp, the new -" highlighting style and some code was taken from the Erlang syntax script -" that is part of vimerl [3], created by Oscar Hellström [4] and improved by -" Ricardo Catalinas Jiménez [5]. - -" [1]: Kreąimir Marľić (Kresimir Marzic) -" [2]: Csaba Hoch -" [3]: https://github.com/jimenezrick/vimerl -" [4]: Oscar Hellström (http://oscar.hellstrom.st) -" [5]: Ricardo Catalinas Jiménez - -" Customization: -" -" To use the old highlighting style, add this to your .vimrc: -" -" let g:erlang_old_style_highlight = 1 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -if !exists('g:main_syntax') - " This is an Erlang source file, and this is the main execution of - " syntax/erlang.vim. - let g:main_syntax = 'erlang' -elseif g:main_syntax == 'erlang' - " This is an Erlang source file, and this is an inner execution of - " syntax/erlang.vim. For example: - " - " 1. The main execution of syntax/erlang.vim included syntax/markdown.vim - " because "g:erlang_use_markdown_for_docs == 1". - " - " 2. syntax/markdown.vim included syntax/erlang.vim because - " "g:markdown_fenced_languages == ['erlang']". This is the inner - " execution of syntax/erlang.vim. - " - " To avoid infinite recursion with Markdown and Erlang including each other, - " and to avoid the inner syntax/erlang.vim execution messing up the - " variables of the outer erlang.vim execution, we finish executing the inner - " erlang.vim. - " - " In the inner execution, we already have the Erlang syntax items included, - " so the highlighting of Erlang within Markdown within Erlang will be - " acceptable. It won't highlight Markdown inside Erlang inside Markdown - " inside Erlang. - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -" "g:erlang_old_style_highlight": Whether to use old style highlighting. -" -" * "g:erlang_old_style_highlight == 0" (default): Use new style -" highlighting. -" -" * "g:erlang_old_style_highlight == 1": Use old style highlighting. -let s:old_style = (exists("g:erlang_old_style_highlight") && - \g:erlang_old_style_highlight == 1) - -" "g:erlang_use_markdown_for_docs": Whether to use Markdown highlighting in -" docstrings. -" -" * "g:erlang_use_markdown_for_docs == 1": Enable Markdown highlighting in -" docstrings. -" -" * "g:erlang_use_markdown_for_docs == 0" (default): Disable Markdown -" highlighting in docstrings. -" -" If "g:main_syntax" is not 'erlang', this is not an Erlang source file but -" for example a Markdown file, and syntax/markdown.vim is including -" syntax/erlang.vim. To avoid infinite recursion with Markdown and Erlang -" including each other, we disable sourcing syntax/markdown.vim in this case. -if exists("g:erlang_use_markdown_for_docs") && g:main_syntax == 'erlang' - let s:use_markdown = g:erlang_use_markdown_for_docs -else - let s:use_markdown = 0 -endif - -" "g:erlang_docstring_default_highlight": How to highlight the text inside -" docstrings (except the text which is highlighted by Markdown). -" -" If "g:erlang_use_markdown_for_docs == 1": -" -" * "g:erlang_docstring_default_highlight == 'Comment'" (default): the plugin -" highlights the plain text inside Markdown as Markdown normally does, -" with comment highlighting to regular text in the docstring. -" -" * If you set g:erlang_docstring_default_highlight to the name of highlight -" group, for example "String", the plugin highlights the plain text inside -" Markdown with the specified highlight group. See ":highlight" for the -" available groups. You may also set it to an empty string to disable any -" specific highlighting. -" -" If "g:erlang_use_markdown_for_docs == 0": -" -" * "g:erlang_docstring_default_highlight == 'Comment'" (default): the plugin -" does not highlight the contents of the docstring as markdown, but -" continues to display them in the style of comments. -" -" * If you set g:erlang_docstring_default_highlight to the name of highlight -" group, for example "String", the plugin highlights the plain text inside -" Markdown with the specified highlight group. See ":highlight" for the -" available groups. You may also set it to an empty string to disable any -" specific highlighting. -" -" Configuration examples: -" -" " Highlight docstrings as Markdown. -" let g:erlang_use_markdown_for_docs = 1 -" let g:erlang_docstring_default_highlight = 'Comment' -" -" " 1. Highlight Markdown elements in docstrings as Markdown. -" " 2. Highlight the plain text in docstrings as String. -" let g:erlang_use_markdown_for_docs = 1 -" let g:erlang_docstring_default_highlight = 'String' -" -" " Highlight docstrings as strings. -" let g:erlang_use_markdown_for_docs = 0 -" let g:erlang_docstring_default_highlight = 'String' -" -" " Highlight docstrings as comments (default). -" let g:erlang_use_markdown_for_docs = 0 -" let g:erlang_docstring_default_highlight = 'Comment' -if exists("g:erlang_docstring_default_highlight") - let s:docstring_default_highlight = g:erlang_docstring_default_highlight -else - let s:docstring_default_highlight = 'Comment' -endif - -" Case sensitive -syn case match - -setlocal iskeyword+=$,@-@ - -" Comments -syn match erlangComment '%.*$' contains=erlangCommentAnnotation,erlangTodo -syn match erlangCommentAnnotation ' \@<=@\%(clear\|docfile\|end\|headerfile\|todo\|TODO\|type\|author\|copyright\|doc\|reference\|see\|since\|title\|version\|deprecated\|hidden\|param\|private\|equiv\|spec\|throws\)' contained -syn match erlangCommentAnnotation /`[^']*'/ contained -syn keyword erlangTodo TODO FIXME XXX contained - -" Numbers (minimum base is 2, maximum is 36.) -syn match erlangNumberInteger '\<\d\+\>' -syn match erlangNumberInteger '\<\%([2-9]\|[12]\d\|3[0-6]\)\+#[[:alnum:]]\+\>' -syn match erlangNumberFloat '\<\d\+\.\d\+\%([eE][+-]\=\d\+\)\=\>' - -" Strings, atoms, characters -syn region erlangString start=/"/ end=/"/ contains=erlangStringModifier -syn region erlangStringTripleQuoted matchgroup=String start=/"""/ end=/\%(^\s*\)\@<="""/ keepend - -" Documentation -syn region erlangDocString start=/^-\%(module\)\=doc\s*\~\="/ end=/"\.$/ contains=@erlangDocStringCluster keepend -syn region erlangDocString start=/^-\%(module\)\=doc\s*<<"/ end=/">>\.$/ contains=@erlangDocStringCluster keepend -syn region erlangDocString start=/^-\%(module\)\=doc\s*\~\="""/ end=/\%(^\s*\)\@<="""\.$/ contains=@erlangDocStringCluster keepend -syn region erlangDocString start=/^-\%(module\)\=doc\s*<<"""/ end=/\%(^\s*\)\@<=""">>\.$/ contains=@erlangDocStringCluster keepend -syn cluster erlangDocStringCluster contains=erlangInnerDocAttribute,erlangDocStringDelimiter -syn region erlangDocStringDelimiter matchgroup=erlangString start=/"/ end=/"/ contains=@erlangDocStringContained contained -syn region erlangDocStringDelimiter matchgroup=erlangString start=/"""/ end=/"""/ contains=@erlangDocStringContained contained - -if s:use_markdown - syn cluster erlangDocStringContained contains=@markdown -endif - -syn region erlangQuotedAtom start=/'/ end=/'/ contains=erlangQuotedAtomModifier -syn match erlangStringModifier '\\\%(\o\{1,3}\|x\x\x\|x{\x\+}\|\^.\|.\)\|\~\%([ni~]\|\%(-\=\d\+\|\*\)\=\.\=\%(\*\|\d\+\)\=\%(\..\)\=[tl]*[cfegswpWPBX#bx+]\)' contained -syn match erlangQuotedAtomModifier '\\\%(\o\{1,3}\|x\x\x\|x{\x\+}\|\^.\|.\)' contained -syn match erlangModifier '\$\%([^\\]\|\\\%(\o\{1,3}\|x\x\x\|x{\x\+}\|\^.\|.\)\)' - -" Operators, separators -syn match erlangOperator '==\|=:=\|/=\|=/=\|<\|=<\|>\|>=\|=>\|:=\|?=\|++\|--\|=\|!\|<-\|+\|-\|\*\|\/' -syn match erlangEqualsBinary '=<<\%(<\)\@!' -syn keyword erlangOperator div rem or xor bor bxor bsl bsr and band not bnot andalso orelse -syn match erlangBracket '{\|}\|\[\|]\||\|||' -syn match erlangPipe '|' -syn match erlangRightArrow '->' - -" Atoms, function calls (order is important) -syn match erlangAtom '\<\l[[:alnum:]_@]*' contains=erlangBoolean -syn keyword erlangBoolean true false contained -syn match erlangLocalFuncCall '\<\a[[:alnum:]_@]*\>\%(\%(\s\|\n\|%.*\n\)*(\)\@=' contains=erlangBIF -syn match erlangLocalFuncRef '\<\a[[:alnum:]_@]*\>\%(\%(\s\|\n\|%.*\n\)*/\)\@=' -syn match erlangGlobalFuncCall '\<\%(\a[[:alnum:]_@]*\%(\s\|\n\|%.*\n\)*\.\%(\s\|\n\|%.*\n\)*\)*\a[[:alnum:]_@]*\%(\s\|\n\|%.*\n\)*:\%(\s\|\n\|%.*\n\)*\a[[:alnum:]_@]*\>\%(\%(\s\|\n\|%.*\n\)*(\)\@=' contains=erlangComment,erlangVariable -syn match erlangGlobalFuncRef '\<\%(\a[[:alnum:]_@]*\%(\s\|\n\|%.*\n\)*\.\%(\s\|\n\|%.*\n\)*\)*\a[[:alnum:]_@]*\%(\s\|\n\|%.*\n\)*:\%(\s\|\n\|%.*\n\)*\a[[:alnum:]_@]*\>\%(\%(\s\|\n\|%.*\n\)*/\)\@=' contains=erlangComment,erlangVariable - -" Variables, macros, records, maps -syn match erlangVariable '\<[A-Z][[:alnum:]_@]*' -syn match erlangAnonymousVariable '\<_[[:alnum:]_@]*' -syn match erlangMacro '??\=[[:alnum:]_@]\+' -syn match erlangMacro '\%(-define(\)\@<=[[:alnum:]_@]\+' -syn region erlangQuotedMacro start=/??\=\s*'/ end=/'/ contains=erlangQuotedAtomModifier -syn match erlangMap '#' -syn match erlangRecord '#\s*\l[[:alnum:]_@]*' -syn region erlangQuotedRecord start=/#\s*'/ end=/'/ contains=erlangQuotedAtomModifier - -" Shebang (this line has to be after the ErlangMap) -syn match erlangShebang '^#!.*' - -" Bitstrings -syn match erlangBitType '\%(\/\%(\s\|\n\|%.*\n\)*\)\@<=\%(integer\|float\|binary\|bytes\|bitstring\|bits\|binary\|utf8\|utf16\|utf32\|signed\|unsigned\|big\|little\|native\|unit\)\%(\%(\s\|\n\|%.*\n\)*-\%(\s\|\n\|%.*\n\)*\%(integer\|float\|binary\|bytes\|bitstring\|bits\|binary\|utf8\|utf16\|utf32\|signed\|unsigned\|big\|little\|native\|unit\)\)*' contains=erlangComment - -" Constants and Directives -syn match erlangUnknownAttribute '^\s*-\%(\s\|\n\|%.*\n\)*\l[[:alnum:]_@]*' contains=erlangComment -syn match erlangAttribute '^\s*-\%(\s\|\n\|%.*\n\)*\%(behaviou\=r\|compile\|dialyzer\|export\|export_type\|file\|import\|module\|author\|copyright\|vsn\|on_load\|optional_callbacks\|feature\|mode\)\>' contains=erlangComment -syn match erlangDocAttribute '^\s*-\%(\s\|\n\|%.*\n\)*\%(moduledoc\|doc\)\>' contains=erlangComment,erlangDocString -syn match erlangInnerDocAttribute '^\s*-\%(\s\|\n\|%.*\n\)*\%(moduledoc\|doc\)\>' contained -syn match erlangInclude '^\s*-\%(\s\|\n\|%.*\n\)*\%(include\|include_lib\)\>' contains=erlangComment -syn match erlangRecordDef '^\s*-\%(\s\|\n\|%.*\n\)*record\>' contains=erlangComment -syn match erlangDefine '^\s*-\%(\s\|\n\|%.*\n\)*\%(define\|undef\)\>' contains=erlangComment -syn match erlangPreCondit '^\s*-\%(\s\|\n\|%.*\n\)*\%(ifdef\|ifndef\|else\|if\|elif\|endif\)\>' contains=erlangComment -syn match erlangType '^\s*-\%(\s\|\n\|%.*\n\)*\%(spec\|type\|opaque\|nominal\|callback\)\>' contains=erlangComment - -" Keywords -syn keyword erlangKeyword after begin case catch cond end fun if let of else -syn keyword erlangKeyword receive when try maybe - -" Build-in-functions (BIFs) -syn keyword erlangBIF abs alive apply atom_to_binary atom_to_list contained -syn keyword erlangBIF binary_part binary_to_atom contained -syn keyword erlangBIF binary_to_existing_atom binary_to_float contained -syn keyword erlangBIF binary_to_integer bitstring_to_list contained -syn keyword erlangBIF binary_to_list binary_to_term bit_size contained -syn keyword erlangBIF byte_size check_old_code check_process_code contained -syn keyword erlangBIF concat_binary date delete_module demonitor contained -syn keyword erlangBIF disconnect_node element erase error exit contained -syn keyword erlangBIF float float_to_binary float_to_list contained -syn keyword erlangBIF garbage_collect get get_keys group_leader contained -syn keyword erlangBIF halt hd integer_to_binary integer_to_list contained -syn keyword erlangBIF iolist_to_binary iolist_size is_alive contained -syn keyword erlangBIF is_atom is_binary is_bitstring is_boolean contained -syn keyword erlangBIF is_float is_function is_integer is_list is_map is_map_key contained -syn keyword erlangBIF is_number is_pid is_port is_process_alive contained -syn keyword erlangBIF is_record is_reference is_tuple length link contained -syn keyword erlangBIF list_to_atom list_to_binary contained -syn keyword erlangBIF list_to_bitstring list_to_existing_atom contained -syn keyword erlangBIF list_to_float list_to_integer list_to_pid contained -syn keyword erlangBIF list_to_tuple load_module make_ref map_size max contained -syn keyword erlangBIF min module_loaded monitor monitor_node node contained -syn keyword erlangBIF nodes now open_port pid_to_list port_close contained -syn keyword erlangBIF port_command port_connect pre_loaded contained -syn keyword erlangBIF process_flag process_flag process_info contained -syn keyword erlangBIF process purge_module put register registered contained -syn keyword erlangBIF round self setelement size spawn spawn_link contained -syn keyword erlangBIF spawn_monitor spawn_opt split_binary contained -syn keyword erlangBIF statistics term_to_binary throw time tl contained -syn keyword erlangBIF trunc tuple_size tuple_to_list unlink contained -syn keyword erlangBIF unregister whereis contained - -" Sync at the beginning of functions: if this is not used, multiline string -" are not always recognized, and the indentation script cannot use the -" "searchpair" (because it would not always skip strings and comments when -" looking for keywords and opening parens/brackets). -syn sync match erlangSync grouphere NONE "^[a-z]\s*(" -let b:erlang_syntax_synced = 1 - -" Define the default highlighting. See ":help group-name" for the groups and -" their colors. - -if s:use_markdown - " Add markdown syntax elements for docstrings (actually, for all - " triple-quoted strings). - unlet! b:current_syntax - - syn include @markdown syntax/markdown.vim - let b:current_syntax = "erlang" - - " markdown-erlang.vim includes html.vim, which includes css.vim, which adds - " the dash character (-) to the list of syntax keywords, which causes - " `-VarName` not to be highlighted as a variable in the Erlang code. - " - " Here we override that. - syntax iskeyword @,48-57,192-255,$,_ -endif - -" Comments -hi def link erlangComment Comment -hi def link erlangCommentAnnotation Special -hi def link erlangTodo Todo -hi def link erlangShebang Comment - -" Numbers -hi def link erlangNumberInteger Number -hi def link erlangNumberFloat Float - -" Strings, atoms, characters -hi def link erlangString String -hi def link erlangStringTripleQuoted String - -" Triple quoted strings -if s:docstring_default_highlight != '' - execute 'hi def link erlangDocStringDelimiter '. s:docstring_default_highlight -endif - -if s:old_style -hi def link erlangQuotedAtom Type -else -hi def link erlangQuotedAtom String -endif - -hi def link erlangStringModifier Special -hi def link erlangQuotedAtomModifier Special -hi def link erlangModifier Special - -" Operators, separators -hi def link erlangOperator Operator -hi def link erlangEqualsBinary ErrorMsg -hi def link erlangRightArrow Operator -if s:old_style -hi def link erlangBracket Normal -hi def link erlangPipe Normal -else -hi def link erlangBracket Delimiter -hi def link erlangPipe Delimiter -endif - -" Atoms, functions, variables, macros -if s:old_style -hi def link erlangAtom Normal -hi def link erlangLocalFuncCall Normal -hi def link erlangLocalFuncRef Normal -hi def link erlangGlobalFuncCall Function -hi def link erlangGlobalFuncRef Function -hi def link erlangVariable Normal -hi def link erlangAnonymousVariable erlangVariable -hi def link erlangMacro Normal -hi def link erlangQuotedMacro Normal -hi def link erlangRecord Normal -hi def link erlangQuotedRecord Normal -hi def link erlangMap Normal -else -hi def link erlangAtom String -hi def link erlangLocalFuncCall Normal -hi def link erlangLocalFuncRef Normal -hi def link erlangGlobalFuncCall Normal -hi def link erlangGlobalFuncRef Normal -hi def link erlangVariable Identifier -hi def link erlangAnonymousVariable erlangVariable -hi def link erlangMacro Macro -hi def link erlangQuotedMacro Macro -hi def link erlangRecord Structure -hi def link erlangQuotedRecord Structure -hi def link erlangMap Structure -endif - -" Bitstrings -if !s:old_style -hi def link erlangBitType Type -endif - -" Constants and Directives -if s:old_style -hi def link erlangAttribute Type -hi def link erlangMacroDef Type -hi def link erlangUnknownAttribute Normal -hi def link erlangInclude Type -hi def link erlangRecordDef Type -hi def link erlangDefine Type -hi def link erlangPreCondit Type -hi def link erlangType Type -else -hi def link erlangAttribute Keyword -hi def link erlangDocAttribute Keyword -hi def link erlangInnerDocAttribute Keyword -hi def link erlangMacroDef Macro -hi def link erlangUnknownAttribute Normal -hi def link erlangInclude Include -hi def link erlangRecordDef Keyword -hi def link erlangDefine Define -hi def link erlangPreCondit PreCondit -hi def link erlangType Type -endif - -" Keywords -hi def link erlangKeyword Keyword - -" Build-in-functions (BIFs) -hi def link erlangBIF Function - -if s:old_style -hi def link erlangBoolean Statement -hi def link erlangExtra Statement -hi def link erlangSignal Statement -else -hi def link erlangBoolean Boolean -hi def link erlangExtra Statement -hi def link erlangSignal Statement -endif - -let b:current_syntax = "erlang" - -if g:main_syntax ==# 'erlang' - unlet g:main_syntax -endif - -let &cpo = s:cpo_save -unlet s:cpo_save - -" vim: sw=2 et diff --git a/uvim/runtime/syntax/eruby.mnv b/uvim/runtime/syntax/eruby.mnv new file mode 100644 index 0000000000..b5f01dbcb8 --- /dev/null +++ b/uvim/runtime/syntax/eruby.mnv @@ -0,0 +1,78 @@ +" MNV syntax file +" Language: eRuby +" Maintainer: Tim Pope +" URL: https://github.com/mnv-ruby/mnv-ruby +" Last Change: 2022 Mar 18 + +if exists("b:current_syntax") + finish +endif + +if !exists("main_syntax") + let main_syntax = 'eruby' +endif + +if !exists("g:eruby_default_subtype") + let g:eruby_default_subtype = "html" +endif + +if &filetype =~ '^eruby\.' + let b:eruby_subtype = matchstr(&filetype,'^eruby\.\zs\w\+') +elseif !exists("b:eruby_subtype") && main_syntax == 'eruby' + let s:lines = getline(1)."\n".getline(2)."\n".getline(3)."\n".getline(4)."\n".getline(5)."\n".getline("$") + let b:eruby_subtype = matchstr(s:lines,'eruby_subtype=\zs\w\+') + if b:eruby_subtype == '' + let b:eruby_subtype = matchstr(substitute(expand("%:t"),'\c\%(\.erb\|\.eruby\|\.erubis\|\.example\)\+$','',''),'\.\zs\w\+\%(\ze+\w\+\)\=$') + endif + if b:eruby_subtype == 'rhtml' + let b:eruby_subtype = 'html' + elseif b:eruby_subtype == 'rb' + let b:eruby_subtype = 'ruby' + elseif b:eruby_subtype == 'yml' + let b:eruby_subtype = 'yaml' + elseif b:eruby_subtype == 'js' + let b:eruby_subtype = 'javascript' + elseif b:eruby_subtype == 'txt' + " Conventional; not a real file type + let b:eruby_subtype = 'text' + elseif b:eruby_subtype == '' + let b:eruby_subtype = g:eruby_default_subtype + endif +endif + +if !exists("b:eruby_nest_level") + if &syntax =~# '\' + let b:eruby_nest_level = strlen(substitute(substitute(&filetype,'\C\','@','g'),'[^@]','','g')) + else + let b:eruby_nest_level = strlen(substitute(substitute(substitute(expand("%:t"),'@','','g'),'\c\.\%(erb\|rhtml\)\>','@','g'),'[^@]','','g')) + endif +endif +if !b:eruby_nest_level + let b:eruby_nest_level = 1 +endif + +if exists("b:eruby_subtype") && b:eruby_subtype != '' && b:eruby_subtype !=? 'eruby' + exe "runtime! syntax/".b:eruby_subtype.".mnv" + unlet! b:current_syntax +endif +syn include @rubyTop syntax/ruby.mnv + +syn cluster erubyRegions contains=erubyOneLiner,erubyBlock,erubyExpression,erubyComment + +exe 'syn region erubyOneLiner matchgroup=erubyDelimiter start="^%\{1,'.b:eruby_nest_level.'\}%\@!" end="$" contains=@rubyTop containedin=ALLBUT,@erubyRegions keepend oneline' +exe 'syn region erubyBlock matchgroup=erubyDelimiter start="<%\{1,'.b:eruby_nest_level.'\}%\@!-\=" end="[=-]\=%\@" contains=@rubyTop containedin=ALLBUT,@erubyRegions keepend' +exe 'syn region erubyExpression matchgroup=erubyDelimiter start="<%\{1,'.b:eruby_nest_level.'\}=\{1,4}" end="[=-]\=%\@" contains=@rubyTop containedin=ALLBUT,@erubyRegions keepend' +exe 'syn region erubyComment matchgroup=erubyDelimiter start="<%\{1,'.b:eruby_nest_level.'\}-\=#" end="[=-]\=%\@" contains=rubyTodo,@Spell containedin=ALLBUT,@erubyRegions keepend' + +" Define the default highlighting. + +hi def link erubyDelimiter PreProc +hi def link erubyComment Comment + +let b:current_syntax = 'eruby' + +if main_syntax == 'eruby' + unlet main_syntax +endif + +" mnv: nowrap sw=2 sts=2 ts=8: diff --git a/uvim/runtime/syntax/eruby.vim b/uvim/runtime/syntax/eruby.vim deleted file mode 100644 index 469408752e..0000000000 --- a/uvim/runtime/syntax/eruby.vim +++ /dev/null @@ -1,78 +0,0 @@ -" Vim syntax file -" Language: eRuby -" Maintainer: Tim Pope -" URL: https://github.com/vim-ruby/vim-ruby -" Last Change: 2022 Mar 18 - -if exists("b:current_syntax") - finish -endif - -if !exists("main_syntax") - let main_syntax = 'eruby' -endif - -if !exists("g:eruby_default_subtype") - let g:eruby_default_subtype = "html" -endif - -if &filetype =~ '^eruby\.' - let b:eruby_subtype = matchstr(&filetype,'^eruby\.\zs\w\+') -elseif !exists("b:eruby_subtype") && main_syntax == 'eruby' - let s:lines = getline(1)."\n".getline(2)."\n".getline(3)."\n".getline(4)."\n".getline(5)."\n".getline("$") - let b:eruby_subtype = matchstr(s:lines,'eruby_subtype=\zs\w\+') - if b:eruby_subtype == '' - let b:eruby_subtype = matchstr(substitute(expand("%:t"),'\c\%(\.erb\|\.eruby\|\.erubis\|\.example\)\+$','',''),'\.\zs\w\+\%(\ze+\w\+\)\=$') - endif - if b:eruby_subtype == 'rhtml' - let b:eruby_subtype = 'html' - elseif b:eruby_subtype == 'rb' - let b:eruby_subtype = 'ruby' - elseif b:eruby_subtype == 'yml' - let b:eruby_subtype = 'yaml' - elseif b:eruby_subtype == 'js' - let b:eruby_subtype = 'javascript' - elseif b:eruby_subtype == 'txt' - " Conventional; not a real file type - let b:eruby_subtype = 'text' - elseif b:eruby_subtype == '' - let b:eruby_subtype = g:eruby_default_subtype - endif -endif - -if !exists("b:eruby_nest_level") - if &syntax =~# '\' - let b:eruby_nest_level = strlen(substitute(substitute(&filetype,'\C\','@','g'),'[^@]','','g')) - else - let b:eruby_nest_level = strlen(substitute(substitute(substitute(expand("%:t"),'@','','g'),'\c\.\%(erb\|rhtml\)\>','@','g'),'[^@]','','g')) - endif -endif -if !b:eruby_nest_level - let b:eruby_nest_level = 1 -endif - -if exists("b:eruby_subtype") && b:eruby_subtype != '' && b:eruby_subtype !=? 'eruby' - exe "runtime! syntax/".b:eruby_subtype.".vim" - unlet! b:current_syntax -endif -syn include @rubyTop syntax/ruby.vim - -syn cluster erubyRegions contains=erubyOneLiner,erubyBlock,erubyExpression,erubyComment - -exe 'syn region erubyOneLiner matchgroup=erubyDelimiter start="^%\{1,'.b:eruby_nest_level.'\}%\@!" end="$" contains=@rubyTop containedin=ALLBUT,@erubyRegions keepend oneline' -exe 'syn region erubyBlock matchgroup=erubyDelimiter start="<%\{1,'.b:eruby_nest_level.'\}%\@!-\=" end="[=-]\=%\@" contains=@rubyTop containedin=ALLBUT,@erubyRegions keepend' -exe 'syn region erubyExpression matchgroup=erubyDelimiter start="<%\{1,'.b:eruby_nest_level.'\}=\{1,4}" end="[=-]\=%\@" contains=@rubyTop containedin=ALLBUT,@erubyRegions keepend' -exe 'syn region erubyComment matchgroup=erubyDelimiter start="<%\{1,'.b:eruby_nest_level.'\}-\=#" end="[=-]\=%\@" contains=rubyTodo,@Spell containedin=ALLBUT,@erubyRegions keepend' - -" Define the default highlighting. - -hi def link erubyDelimiter PreProc -hi def link erubyComment Comment - -let b:current_syntax = 'eruby' - -if main_syntax == 'eruby' - unlet main_syntax -endif - -" vim: nowrap sw=2 sts=2 ts=8: diff --git a/uvim/runtime/syntax/esmtprc.mnv b/uvim/runtime/syntax/esmtprc.mnv new file mode 100644 index 0000000000..b50e878a18 --- /dev/null +++ b/uvim/runtime/syntax/esmtprc.mnv @@ -0,0 +1,31 @@ +" MNV syntax file +" Language: Esmtp setup file (based on esmtp 0.5.0) +" Maintainer: Kornel Kielczewski +" Last Change: 16 Feb 2005 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +"All options +syntax keyword esmtprcOptions hostname username password starttls certificate_passphrase preconnect identity mda + +"All keywords +syntax keyword esmtprcIdentifier default enabled disabled required + +"We're trying to be smarer than /."*@.*/ :) +syntax match esmtprcAddress /[a-z0-9_.-]*[a-z0-9]\+@[a-z0-9_.-]*[a-z0-9]\+\.[a-z]\+/ +syntax match esmtprcFulladd /[a-z0-9_.-]*[a-z0-9]\+\.[a-z]\+:[0-9]\+/ + +"String.. +syntax region esmtprcString start=/"/ end=/"/ + + +highlight link esmtprcOptions Label +highlight link esmtprcString String +highlight link esmtprcAddress Type +highlight link esmtprcIdentifier Identifier +highlight link esmtprcFulladd Include + +let b:current_syntax = "esmtprc" diff --git a/uvim/runtime/syntax/esmtprc.vim b/uvim/runtime/syntax/esmtprc.vim deleted file mode 100644 index 81f074b59c..0000000000 --- a/uvim/runtime/syntax/esmtprc.vim +++ /dev/null @@ -1,31 +0,0 @@ -" Vim syntax file -" Language: Esmtp setup file (based on esmtp 0.5.0) -" Maintainer: Kornel Kielczewski -" Last Change: 16 Feb 2005 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -"All options -syntax keyword esmtprcOptions hostname username password starttls certificate_passphrase preconnect identity mda - -"All keywords -syntax keyword esmtprcIdentifier default enabled disabled required - -"We're trying to be smarer than /."*@.*/ :) -syntax match esmtprcAddress /[a-z0-9_.-]*[a-z0-9]\+@[a-z0-9_.-]*[a-z0-9]\+\.[a-z]\+/ -syntax match esmtprcFulladd /[a-z0-9_.-]*[a-z0-9]\+\.[a-z]\+:[0-9]\+/ - -"String.. -syntax region esmtprcString start=/"/ end=/"/ - - -highlight link esmtprcOptions Label -highlight link esmtprcString String -highlight link esmtprcAddress Type -highlight link esmtprcIdentifier Identifier -highlight link esmtprcFulladd Include - -let b:current_syntax = "esmtprc" diff --git a/uvim/runtime/syntax/esqlc.mnv b/uvim/runtime/syntax/esqlc.mnv new file mode 100644 index 0000000000..62bc235e5b --- /dev/null +++ b/uvim/runtime/syntax/esqlc.mnv @@ -0,0 +1,58 @@ +" MNV syntax file +" Language: ESQL-C +" Maintainer: Jonathan A. George +" Last Change: 2001 May 09 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" Read the C++ syntax to start with +runtime! syntax/cpp.mnv + +" ESQL-C extentions + +syntax keyword esqlcPreProc EXEC SQL INCLUDE + +syntax case ignore + +syntax keyword esqlcPreProc begin end declare section database open execute +syntax keyword esqlcPreProc prepare fetch goto continue found sqlerror work + +syntax keyword esqlcKeyword access add as asc by check cluster column +syntax keyword esqlcKeyword compress connect current decimal +syntax keyword esqlcKeyword desc exclusive file from group +syntax keyword esqlcKeyword having identified immediate increment index +syntax keyword esqlcKeyword initial into is level maxextents mode modify +syntax keyword esqlcKeyword nocompress nowait of offline on online start +syntax keyword esqlcKeyword successful synonym table then to trigger uid +syntax keyword esqlcKeyword unique user validate values view whenever +syntax keyword esqlcKeyword where with option order pctfree privileges +syntax keyword esqlcKeyword public resource row rowlabel rownum rows +syntax keyword esqlcKeyword session share size smallint + +syntax keyword esqlcOperator not and or +syntax keyword esqlcOperator in any some all between exists +syntax keyword esqlcOperator like escape +syntax keyword esqlcOperator intersect minus +syntax keyword esqlcOperator prior distinct +syntax keyword esqlcOperator sysdate + +syntax keyword esqlcStatement alter analyze audit comment commit create +syntax keyword esqlcStatement delete drop explain grant insert lock noaudit +syntax keyword esqlcStatement rename revoke rollback savepoint select set +syntax keyword esqlcStatement truncate update + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link esqlcOperator Operator +hi def link esqlcStatement Statement +hi def link esqlcKeyword esqlcSpecial +hi def link esqlcSpecial Special +hi def link esqlcPreProc PreProc + + +let b:current_syntax = "esqlc" + diff --git a/uvim/runtime/syntax/esqlc.vim b/uvim/runtime/syntax/esqlc.vim deleted file mode 100644 index 792e5d37f3..0000000000 --- a/uvim/runtime/syntax/esqlc.vim +++ /dev/null @@ -1,58 +0,0 @@ -" Vim syntax file -" Language: ESQL-C -" Maintainer: Jonathan A. George -" Last Change: 2001 May 09 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" Read the C++ syntax to start with -runtime! syntax/cpp.vim - -" ESQL-C extentions - -syntax keyword esqlcPreProc EXEC SQL INCLUDE - -syntax case ignore - -syntax keyword esqlcPreProc begin end declare section database open execute -syntax keyword esqlcPreProc prepare fetch goto continue found sqlerror work - -syntax keyword esqlcKeyword access add as asc by check cluster column -syntax keyword esqlcKeyword compress connect current decimal -syntax keyword esqlcKeyword desc exclusive file from group -syntax keyword esqlcKeyword having identified immediate increment index -syntax keyword esqlcKeyword initial into is level maxextents mode modify -syntax keyword esqlcKeyword nocompress nowait of offline on online start -syntax keyword esqlcKeyword successful synonym table then to trigger uid -syntax keyword esqlcKeyword unique user validate values view whenever -syntax keyword esqlcKeyword where with option order pctfree privileges -syntax keyword esqlcKeyword public resource row rowlabel rownum rows -syntax keyword esqlcKeyword session share size smallint - -syntax keyword esqlcOperator not and or -syntax keyword esqlcOperator in any some all between exists -syntax keyword esqlcOperator like escape -syntax keyword esqlcOperator intersect minus -syntax keyword esqlcOperator prior distinct -syntax keyword esqlcOperator sysdate - -syntax keyword esqlcStatement alter analyze audit comment commit create -syntax keyword esqlcStatement delete drop explain grant insert lock noaudit -syntax keyword esqlcStatement rename revoke rollback savepoint select set -syntax keyword esqlcStatement truncate update - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link esqlcOperator Operator -hi def link esqlcStatement Statement -hi def link esqlcKeyword esqlcSpecial -hi def link esqlcSpecial Special -hi def link esqlcPreProc PreProc - - -let b:current_syntax = "esqlc" - diff --git a/uvim/runtime/syntax/esterel.mnv b/uvim/runtime/syntax/esterel.mnv new file mode 100644 index 0000000000..f22630a842 --- /dev/null +++ b/uvim/runtime/syntax/esterel.mnv @@ -0,0 +1,78 @@ +" MNV syntax file +" Language: ESTEREL +" Maintainer: Maurizio Tranchero - +" Credits: Luca Necchi , Nikos Andrikos +" First Release: Tue May 17 23:49:39 CEST 2005 +" Last Change: Tue May 6 13:29:56 CEST 2008 +" Version: 0.8 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" case is significant +syn case ignore +" Esterel Regions +syn region esterelModule start=/module/ end=/end module/ contains=ALLBUT,esterelModule +syn region esterelLoop start=/loop/ end=/end loop/ contains=ALLBUT,esterelModule +syn region esterelAbort start=/abort/ end=/when/ contains=ALLBUT,esterelModule +syn region esterelAbort start=/weak abort/ end=/when/ contains=ALLBUT,esterelModule +syn region esterelEvery start=/every/ end=/end every/ contains=ALLBUT,esterelModule +syn region esterelIf start=/if/ end=/end if/ contains=ALLBUT,esterelModule +syn region esterelConcurrent transparent start=/\[/ end=/\]/ contains=ALLBUT,esterelModule +syn region esterelIfThen start=/if/ end=/then/ oneline +" Esterel Keywords +syn keyword esterelIO input output inputoutput constant +syn keyword esterelBoolean and or not xor xnor nor nand +syn keyword esterelExpressions mod pre +syn keyword esterelStatement nothing halt +syn keyword esterelStatement module signal sensor end +syn keyword esterelStatement every do loop abort weak +syn keyword esterelStatement emit present await +syn keyword esterelStatement pause when immediate +syn keyword esterelStatement if then else case +syn keyword esterelStatement var in run suspend +syn keyword esterelStatement repeat times combine with +syn keyword esterelStatement assert sustain +" check what it is the following +syn keyword esterelStatement relation +syn keyword esterelFunctions function procedure task +syn keyword esterelSysCall call trap exit exec +" Esterel Types +syn keyword esterelType integer float bolean +" Esterel Comment +syn match esterelComment "%.*$" +" Operators and special characters +syn match esterelSpecial ":" +syn match esterelSpecial "<=" +syn match esterelSpecial ">=" +syn match esterelSpecial "+" +syn match esterelSpecial "-" +syn match esterelSpecial "=" +syn match esterelSpecial ";" +syn match esterelSpecial "/" +syn match esterelSpecial "?" +syn match esterelOperator "\[" +syn match esterelOperator "\]" +syn match esterelOperator ":=" +syn match esterelOperator "||" +syn match esterelStatement "\<\(if\|else\)\>" +syn match esterelNone "\$" +syn match esterelNone "\\s" + +" Class Linking + +hi def link esterelStatement Statement +hi def link esterelType Type +hi def link esterelComment Comment +hi def link esterelBoolean Number +hi def link esterelExpressions Number +hi def link esterelIO String +hi def link esterelOperator Type +hi def link esterelSysCall Type +hi def link esterelFunctions Type +hi def link esterelSpecial Special + + +let b:current_syntax = "esterel" diff --git a/uvim/runtime/syntax/esterel.vim b/uvim/runtime/syntax/esterel.vim deleted file mode 100644 index b0105216d7..0000000000 --- a/uvim/runtime/syntax/esterel.vim +++ /dev/null @@ -1,78 +0,0 @@ -" Vim syntax file -" Language: ESTEREL -" Maintainer: Maurizio Tranchero - -" Credits: Luca Necchi , Nikos Andrikos -" First Release: Tue May 17 23:49:39 CEST 2005 -" Last Change: Tue May 6 13:29:56 CEST 2008 -" Version: 0.8 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" case is significant -syn case ignore -" Esterel Regions -syn region esterelModule start=/module/ end=/end module/ contains=ALLBUT,esterelModule -syn region esterelLoop start=/loop/ end=/end loop/ contains=ALLBUT,esterelModule -syn region esterelAbort start=/abort/ end=/when/ contains=ALLBUT,esterelModule -syn region esterelAbort start=/weak abort/ end=/when/ contains=ALLBUT,esterelModule -syn region esterelEvery start=/every/ end=/end every/ contains=ALLBUT,esterelModule -syn region esterelIf start=/if/ end=/end if/ contains=ALLBUT,esterelModule -syn region esterelConcurrent transparent start=/\[/ end=/\]/ contains=ALLBUT,esterelModule -syn region esterelIfThen start=/if/ end=/then/ oneline -" Esterel Keywords -syn keyword esterelIO input output inputoutput constant -syn keyword esterelBoolean and or not xor xnor nor nand -syn keyword esterelExpressions mod pre -syn keyword esterelStatement nothing halt -syn keyword esterelStatement module signal sensor end -syn keyword esterelStatement every do loop abort weak -syn keyword esterelStatement emit present await -syn keyword esterelStatement pause when immediate -syn keyword esterelStatement if then else case -syn keyword esterelStatement var in run suspend -syn keyword esterelStatement repeat times combine with -syn keyword esterelStatement assert sustain -" check what it is the following -syn keyword esterelStatement relation -syn keyword esterelFunctions function procedure task -syn keyword esterelSysCall call trap exit exec -" Esterel Types -syn keyword esterelType integer float bolean -" Esterel Comment -syn match esterelComment "%.*$" -" Operators and special characters -syn match esterelSpecial ":" -syn match esterelSpecial "<=" -syn match esterelSpecial ">=" -syn match esterelSpecial "+" -syn match esterelSpecial "-" -syn match esterelSpecial "=" -syn match esterelSpecial ";" -syn match esterelSpecial "/" -syn match esterelSpecial "?" -syn match esterelOperator "\[" -syn match esterelOperator "\]" -syn match esterelOperator ":=" -syn match esterelOperator "||" -syn match esterelStatement "\<\(if\|else\)\>" -syn match esterelNone "\$" -syn match esterelNone "\\s" - -" Class Linking - -hi def link esterelStatement Statement -hi def link esterelType Type -hi def link esterelComment Comment -hi def link esterelBoolean Number -hi def link esterelExpressions Number -hi def link esterelIO String -hi def link esterelOperator Type -hi def link esterelSysCall Type -hi def link esterelFunctions Type -hi def link esterelSpecial Special - - -let b:current_syntax = "esterel" diff --git a/uvim/runtime/syntax/eterm.mnv b/uvim/runtime/syntax/eterm.mnv new file mode 100644 index 0000000000..c83be92ff2 --- /dev/null +++ b/uvim/runtime/syntax/eterm.mnv @@ -0,0 +1,429 @@ +" MNV syntax file +" Language: eterm(1) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2006-04-21 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn keyword etermTodo contained TODO FIXME XXX NOTE + +syn region etermComment display oneline start='^#' end='$' + \ contains=etermTodo,@Spell + +syn match etermMagic display '^$' + +syn match etermNumber contained display '\<\(\d\+\|0x\x\{1,2}\)\>' + +syn region etermString contained display oneline start=+"+ + \ skip=+\\"+ end=+"+ + +syn keyword etermBoolean contained on off true false yes no + +syn keyword etermPreProc contained appname exec get put random version + \ include preproc + +syn keyword etermFunctions contained copy exit kill nop paste save + \ scroll search spawn + +syn cluster etermGeneral contains=etermComment,etermFunction, + \ etermPreProc + +syn keyword etermKeyMod contained ctrl shift lock mod1 mod2 mod3 mod4 + \ mod5 alt meta anymod +syn keyword etermKeyMod contained button1 button2 button3 button4 + \ button5 + +syn keyword etermColorOptions contained video nextgroup=etermVideoOptions + \ skipwhite + +syn keyword etermVideoType contained normal reverse + +syn keyword etermColorOptions contained foreground background cursor + \ cursor_text pointer + \ nextgroup=etermColorType skipwhite + +syn keyword etermColorType contained bd ul +syn match etermColorType contained display '\<\%(\d\|1[0-5]\)' + +syn keyword etermColorOptions contained color + \ nextgroup=etermColorNumber skipwhite + +syn keyword etermColorNumber contained bd ul nextgroup=etermColorSpec + \ skipwhite +syn match etermColorNumber contained display '\<\%(\d\|1[0-5]\)' + \ nextgroup=etermColorSpec skipwhite + +syn match etermColorSpec contained display '\S\+' + +syn region etermColorContext fold transparent matchgroup=etermContext + \ start='^\s*begin\s\+color\>' + \ end='^\s*end\>' + \ contains=@etermGeneral,etermColorOptions + +syn keyword etermAttrOptions contained geometry nextgroup=etermGeometry + \ skipwhite + +syn match etermGeometry contained display '\d\+x\d++\d\++\d\+' + +syn keyword etermAttrOptions contained scrollbar_type + \ nextgroup=etermScrollbarType skipwhite + +syn keyword etermScrollbarType contained motif xterm next + +syn keyword etermAttrOptions contained font nextgroup=etermFontType + \ skipwhite + +syn keyword etermFontType contained bold nextgroup=etermFont skipwhite +syn match etermFontType contained display '[0-5]' nextgroup=etermFont + \ skipwhite + +syn match etermFont contained display '\S\+' + +syn keyword etermFontType contained default nextgroup=etermNumber + \ skipwhite + +syn keyword etermFontType contained proportional nextgroup=etermBoolean + \ skipwhite + +syn keyword etermFontType contained fx nextgroup=etermString skipwhite + +syn keyword etermAttrOptions contained title name iconname + \ nextgroup=etermString skipwhite + +syn keyword etermAttrOptions contained scrollbar_width desktop + \ nextgroup=etermNumber skipwhite + +syn region etermAttrContext fold transparent matchgroup=etermContext + \ start='^\s*begin\s\+attributes\>' + \ end='^\s*end\>' + \ contains=@etermGeneral,etermAttrOptions + +syn keyword etermIClassOptions contained icon path nextgroup=etermString + \ skipwhite +syn keyword etermIClassOptions contained cache nextgroup=etermNumber + \ skipwhite +syn keyword etermIClassOptions contained anim nextgroup=etermNumber + \ skipwhite + +syn region etermIClassContext fold transparent matchgroup=etermContext + \ start='^\s*begin\s\+imageclasses\>' + \ end='^\s*end\>' + \ contains=@etermGeneral,etermImageContext, + \ etermIClassOptions + +syn keyword etermImageOptions contained type nextgroup=etermImageType + \ skipwhite + +syn keyword etermImageTypes contained background trough anchor up_arrow + \ left_arrow right_arrow menu menuitem + \ submenu button buttonbar down_arrow + +syn keyword etermImageOptions contained mode nextgroup=etermImageModes + \ skipwhite + +syn keyword etermImageModes contained image trans viewport auto solid + \ nextgroup=etermImageModesAllow skipwhite +syn keyword etermImageModesAllow contained allow nextgroup=etermImageModesR + \ skipwhite +syn keyword etermImageModesR contained image trans viewport auto solid + +syn keyword etermImageOptions contained state nextgroup=etermImageState + \ skipwhite + +syn keyword etermImageState contained normal selected clicked disabled + +syn keyword etermImageOptions contained color nextgroup=etermImageColorFG + \ skipwhite + +syn keyword etermImageColorFG contained '\S\+' nextgroup=etermImageColorBG + \ skipwhite + +syn keyword etermImageColorBG contained '\S\+' + +syn keyword etermImageOptions contained file nextgroup=etermString + \ skipwhite + +syn keyword etermImageOptions contained geom nextgroup=etermImageGeom + \ skipwhite + +syn match etermImageGeom contained display + \ '\s\+\%(\d\+x\d\++\d\++\d\+\)\=:\%(\%(tie\|scale\|hscale\|vscale\|propscale\)d\=\)\=' + +syn keyword etermImageOptions contained cmod colormod + \ nextgroup=etermImageCmod skipwhite + +syn keyword etermImageCmod contained image red green blue + \ nextgroup=etermImageBrightness skipwhite + +syn match etermImageBrightness contained display '\<\(\d\+\|0x\x\{1,2}\)\>' + \ nextgroup=etermImageContrast skipwhite + +syn match etermImageContrast contained display '\<\(\d\+\|0x\x\{1,2}\)\>' + \ nextgroup=etermImageGamma skipwhite + +syn match etermImageGamma contained display '\<\(\d\+\|0x\x\{1,2}\)\>' + \ nextgroup=etermImageGamma skipwhite + +syn region etermImageOptions contained display oneline + \ matchgroup=etermImageOptions + \ start='border\|bevel\%(\s\+\%(up\|down\)\)\|padding' + \ end='$' contains=etermNumber + +syn region etermImageContext contained fold transparent + \ matchgroup=etermContext + \ start='^\s*begin\s\+image\>' + \ end='^\s*end\>' + \ contains=@etermGeneral,etermImageOptions + +syn keyword etermMenuItemOptions contained action + \ nextgroup=etermMenuItemAction skipwhite + +syn keyword etermMenuItemAction contained string echo submenu script + \ nextgroup=etermString skipwhite + +syn keyword etermMenuItemAction contained separator + +syn keyword etermMenuItemOptions contained text rtext nextgroup=etermString + \ skipwhite + +syn region etermMenuItemContext contained fold transparent + \ matchgroup=etermContext + \ start='^\s*begin\s\+menuitem\>' + \ end='^\s*end\>' + \ contains=@etermGeneral,etermMenuItemOptions + +syn keyword etermMenuOptions contained title nextgroup=etermString + \ skipwhite + +syn keyword etermMenuOptions contained font_name nextgroup=etermFont + \ skipwhite + +syn match etermMenuOptions contained display '\\|-' + +syn region etermMenuContext fold transparent matchgroup=etermContext + \ start='^\s*begin\s\+menu\>' + \ end='^\s*end\>' + \ contains=@etermGeneral,etermMenuOptions, + \ etermMenuItemContext + +syn keyword etermBind contained bind nextgroup=etermBindMods + \ skipwhite + +syn keyword etermBindMods contained ctrl shift lock mod1 mod2 mod3 mod4 + \ mod5 alt meta anymod + \ nextgroup=etermBindMods skipwhite + +syn keyword etermBindTo contained to nextgroup=etermBindType + \ skipwhite + +syn keyword etermBindType contained string echo menu script + \ nextgroup=etermBindParam skipwhite + +syn match etermBindParam contained display '\S\+' + +syn region etermActionsContext fold transparent matchgroup=etermContext + \ start='^\s*begin\s\+actions\>' + \ end='^\s*end\>' + \ contains=@etermGeneral,etermActionsOptions + +syn keyword etermButtonOptions contained font nextgroup=etermFont skipwhite +syn keyword etermButtonOptions contained visible nextgroup=etermBoolean + \ skipwhite +syn keyword etermButtonOptions contained dock nextgroup=etermDockOption + \ skipwhite + +syn keyword etermDockOption contained top bottom no + +syn keyword etermButton contained button nextgroup=etermButtonText + \ skipwhite + +syn region etermButtonText contained display oneline start=+"+ + \ skip=+\\"+ end=+"+ + \ nextgroup=etermButtonIcon skipwhite + +syn keyword etermButtonIcon contained icon nextgroup=etermButtonIconFile + \ skipwhite + +syn keyword etermButtonIconFile contained '\S\+' nextgroup=etermButtonAction + \ skipwhite + +syn keyword etermButtonAction contained action nextgroup=etermBindType + \ skipwhite + +syn region etermButtonContext fold transparent matchgroup=etermContext + \ start='^\s*begin\s\+button_bar\>' + \ end='^\s*end\>' + \ contains=@etermGeneral,etermButtonOptions + +syn keyword etermMultiOptions contained encoding nextgroup=etermEncoding + \ skipwhite + +syn keyword etermEncoding eucj sjis euckr big5 gb +syn match etermEncoding display 'iso-10646' + +syn keyword etermMultiOptions contained font nextgroup=etermFontType + \ skipwhite + +syn region etermMultiContext fold transparent matchgroup=etermContext + \ start='^\s*begin\s\+multichar\>' + \ end='^\s*end\>' + \ contains=@etermGeneral,etermMultiOptions + +syn keyword etermXimOptions contained input_method + \ nextgroup=etermInputMethod skipwhite + +syn match etermInputMethod contained display '\S+' + +syn keyword etermXimOptions contained preedit_type + \ nextgroup=etermPreeditType skipwhite + +syn keyword etermPreeditType contained OverTheSpot OffTheSpot Root + +syn region etermXimContext fold transparent matchgroup=etermContext + \ start='^\s*begin\s\+xim\>' + \ end='^\s*end\>' + \ contains=@etermGeneral,etermXimOptions + +syn keyword etermTogOptions contained map_alert visual_bell login_shell + \ scrollbar utmp_logging meta8 iconic + \ no_input home_on_output home_on_input + \ scrollbar_floating scrollbar_right + \ scrollbar_popup borderless double_buffer + \ no_cursor pause xterm_select select_line + \ select_trailing_spaces report_as_keysyms + \ itrans immotile_trans buttonbar + \ resize_gravity nextgroup=etermBoolean + \ skipwhite + +syn region etermTogContext fold transparent matchgroup=etermContext + \ start='^\s*begin\s\+toggles\>' + \ end='^\s*end\>' + \ contains=@etermGeneral,etermTogOptions + +syn keyword etermKeyboardOptions contained smallfont_key bigfont_key keysym + \ nextgroup=etermKeysym skipwhite + +syn keyword etermKeysym contained '\S\+' nextgroup=etermString + \ skipwhite + +syn keyword etermKeyboardOptions contained meta_mod alt_mod numlock_mod + \ nextgroup=etermNumber skipwhite + +syn keyword etermKeyboardOptions contained greek app_keypad app_cursor + \ nextgroup=etermBoolean skipwhite + +syn region etermKeyboardContext fold transparent matchgroup=etermContext + \ start='^\s*begin\s\+keyboard\>' + \ end='^\s*end\>' + \ contains=@etermGeneral,etermKeyboardOptions + +syn keyword etermMiscOptions contained print_pipe cut_chars finished_title + \ finished_text term_name exec + \ nextgroup=etermString skipwhite + +syn keyword etermMiscOptions contained save_lines min_anchor_size + \ border_width line_space + +syn region etermMiscContext fold transparent matchgroup=etermContext + \ start='^\s*begin\s\+misc\>' + \ end='^\s*end\>' + \ contains=@etermGeneral,etermMiscOptions + +syn keyword etermEScreenOptions contained url nextgroup=etermURL skipwhite + +syn match etermURL contained display + \ '\<\%(screen\|twin\)://\%([^@:/]\+\%(@[^:/]\+\%(:[^/]\+\)\=\)\=\)\=/\S\+' + +syn keyword etermEScreenOptions contained firewall + +syn keyword etermEScreenOptions contained delay nextgroup=etermNumber + \ skipwhite + +syn keyword etermEScreenOptions contained bbar_font nextgroup=etermFont + \ skipwhite + +syn keyword etermEScreenOptions contained bbar_dock nextgroup=etermDockOption + \ skipwhite + +syn region etermEScreenContext fold transparent matchgroup=etermContext + \ start='^\s*begin\s\+escreen\>' + \ end='^\s*end\>' + \ contains=@etermGeneral,etermEScreenOptions + +if exists("eterm_minlines") + let b:eterm_minlines = eterm_minlines +else + let b:eterm_minlines = 50 +endif +exec "syn sync minlines=" . b:eterm_minlines + +hi def link etermTodo Todo +hi def link etermComment Comment +hi def link etermMagic PreProc +hi def link etermNumber Number +hi def link etermString String +hi def link etermBoolean Boolean +hi def link etermPreProc PreProc +hi def link etermFunctions Function +hi def link etermKeyMod Constant +hi def link etermOption Keyword +hi def link etermColorOptions etermOption +hi def link etermColor String +hi def link etermVideoType Type +hi def link etermColorType Type +hi def link etermColorNumber Number +hi def link etermColorSpec etermColor +hi def link etermContext Keyword +hi def link etermAttrOptions etermOption +hi def link etermGeometry String +hi def link etermScrollbarType Type +hi def link etermFontType Type +hi def link etermIClassOptions etermOption +hi def link etermImageOptions etermOption +hi def link etermImageTypes Type +hi def link etermImageModes Type +hi def link etermImageModesAllow Keyword +hi def link etermImageModesR Type +hi def link etermImageState Keyword +hi def link etermImageColorFG etermColor +hi def link etermImageColorBG etermColor +hi def link etermImageGeom String +hi def link etermImageCmod etermOption +hi def link etermImageBrightness Number +hi def link etermImageContrast Number +hi def link etermImageGamma Number +hi def link etermMenuItemOptions etermOption +hi def link etermMenuItemAction Keyword +hi def link etermMenuOptions etermOption +hi def link etermBind Keyword +hi def link etermBindMods Identifier +hi def link etermBindTo Keyword +hi def link etermBindType Type +hi def link etermBindParam String +hi def link etermButtonOptions etermOption +hi def link etermDockOption etermOption +hi def link etermButtonText String +hi def link etermButtonIcon String +hi def link etermButtonIconFile String +hi def link etermButtonAction Keyword +hi def link etermMultiOptions etermOption +hi def link etermEncoding Identifier +hi def link etermXimOptions etermOption +hi def link etermInputMethod Identifier +hi def link etermPreeditType Type +hi def link etermTogOptions etermOption +hi def link etermKeyboardOptions etermOption +hi def link etermKeysym Constant +hi def link etermMiscOptions etermOption +hi def link etermEScreenOptions etermOption +hi def link etermURL Identifier + +let b:current_syntax = "eterm" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/eterm.vim b/uvim/runtime/syntax/eterm.vim deleted file mode 100644 index 9b43cb255f..0000000000 --- a/uvim/runtime/syntax/eterm.vim +++ /dev/null @@ -1,429 +0,0 @@ -" Vim syntax file -" Language: eterm(1) configuration file -" Previous Maintainer: Nikolai Weibull -" Latest Revision: 2006-04-21 - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn keyword etermTodo contained TODO FIXME XXX NOTE - -syn region etermComment display oneline start='^#' end='$' - \ contains=etermTodo,@Spell - -syn match etermMagic display '^$' - -syn match etermNumber contained display '\<\(\d\+\|0x\x\{1,2}\)\>' - -syn region etermString contained display oneline start=+"+ - \ skip=+\\"+ end=+"+ - -syn keyword etermBoolean contained on off true false yes no - -syn keyword etermPreProc contained appname exec get put random version - \ include preproc - -syn keyword etermFunctions contained copy exit kill nop paste save - \ scroll search spawn - -syn cluster etermGeneral contains=etermComment,etermFunction, - \ etermPreProc - -syn keyword etermKeyMod contained ctrl shift lock mod1 mod2 mod3 mod4 - \ mod5 alt meta anymod -syn keyword etermKeyMod contained button1 button2 button3 button4 - \ button5 - -syn keyword etermColorOptions contained video nextgroup=etermVideoOptions - \ skipwhite - -syn keyword etermVideoType contained normal reverse - -syn keyword etermColorOptions contained foreground background cursor - \ cursor_text pointer - \ nextgroup=etermColorType skipwhite - -syn keyword etermColorType contained bd ul -syn match etermColorType contained display '\<\%(\d\|1[0-5]\)' - -syn keyword etermColorOptions contained color - \ nextgroup=etermColorNumber skipwhite - -syn keyword etermColorNumber contained bd ul nextgroup=etermColorSpec - \ skipwhite -syn match etermColorNumber contained display '\<\%(\d\|1[0-5]\)' - \ nextgroup=etermColorSpec skipwhite - -syn match etermColorSpec contained display '\S\+' - -syn region etermColorContext fold transparent matchgroup=etermContext - \ start='^\s*begin\s\+color\>' - \ end='^\s*end\>' - \ contains=@etermGeneral,etermColorOptions - -syn keyword etermAttrOptions contained geometry nextgroup=etermGeometry - \ skipwhite - -syn match etermGeometry contained display '\d\+x\d++\d\++\d\+' - -syn keyword etermAttrOptions contained scrollbar_type - \ nextgroup=etermScrollbarType skipwhite - -syn keyword etermScrollbarType contained motif xterm next - -syn keyword etermAttrOptions contained font nextgroup=etermFontType - \ skipwhite - -syn keyword etermFontType contained bold nextgroup=etermFont skipwhite -syn match etermFontType contained display '[0-5]' nextgroup=etermFont - \ skipwhite - -syn match etermFont contained display '\S\+' - -syn keyword etermFontType contained default nextgroup=etermNumber - \ skipwhite - -syn keyword etermFontType contained proportional nextgroup=etermBoolean - \ skipwhite - -syn keyword etermFontType contained fx nextgroup=etermString skipwhite - -syn keyword etermAttrOptions contained title name iconname - \ nextgroup=etermString skipwhite - -syn keyword etermAttrOptions contained scrollbar_width desktop - \ nextgroup=etermNumber skipwhite - -syn region etermAttrContext fold transparent matchgroup=etermContext - \ start='^\s*begin\s\+attributes\>' - \ end='^\s*end\>' - \ contains=@etermGeneral,etermAttrOptions - -syn keyword etermIClassOptions contained icon path nextgroup=etermString - \ skipwhite -syn keyword etermIClassOptions contained cache nextgroup=etermNumber - \ skipwhite -syn keyword etermIClassOptions contained anim nextgroup=etermNumber - \ skipwhite - -syn region etermIClassContext fold transparent matchgroup=etermContext - \ start='^\s*begin\s\+imageclasses\>' - \ end='^\s*end\>' - \ contains=@etermGeneral,etermImageContext, - \ etermIClassOptions - -syn keyword etermImageOptions contained type nextgroup=etermImageType - \ skipwhite - -syn keyword etermImageTypes contained background trough anchor up_arrow - \ left_arrow right_arrow menu menuitem - \ submenu button buttonbar down_arrow - -syn keyword etermImageOptions contained mode nextgroup=etermImageModes - \ skipwhite - -syn keyword etermImageModes contained image trans viewport auto solid - \ nextgroup=etermImageModesAllow skipwhite -syn keyword etermImageModesAllow contained allow nextgroup=etermImageModesR - \ skipwhite -syn keyword etermImageModesR contained image trans viewport auto solid - -syn keyword etermImageOptions contained state nextgroup=etermImageState - \ skipwhite - -syn keyword etermImageState contained normal selected clicked disabled - -syn keyword etermImageOptions contained color nextgroup=etermImageColorFG - \ skipwhite - -syn keyword etermImageColorFG contained '\S\+' nextgroup=etermImageColorBG - \ skipwhite - -syn keyword etermImageColorBG contained '\S\+' - -syn keyword etermImageOptions contained file nextgroup=etermString - \ skipwhite - -syn keyword etermImageOptions contained geom nextgroup=etermImageGeom - \ skipwhite - -syn match etermImageGeom contained display - \ '\s\+\%(\d\+x\d\++\d\++\d\+\)\=:\%(\%(tie\|scale\|hscale\|vscale\|propscale\)d\=\)\=' - -syn keyword etermImageOptions contained cmod colormod - \ nextgroup=etermImageCmod skipwhite - -syn keyword etermImageCmod contained image red green blue - \ nextgroup=etermImageBrightness skipwhite - -syn match etermImageBrightness contained display '\<\(\d\+\|0x\x\{1,2}\)\>' - \ nextgroup=etermImageContrast skipwhite - -syn match etermImageContrast contained display '\<\(\d\+\|0x\x\{1,2}\)\>' - \ nextgroup=etermImageGamma skipwhite - -syn match etermImageGamma contained display '\<\(\d\+\|0x\x\{1,2}\)\>' - \ nextgroup=etermImageGamma skipwhite - -syn region etermImageOptions contained display oneline - \ matchgroup=etermImageOptions - \ start='border\|bevel\%(\s\+\%(up\|down\)\)\|padding' - \ end='$' contains=etermNumber - -syn region etermImageContext contained fold transparent - \ matchgroup=etermContext - \ start='^\s*begin\s\+image\>' - \ end='^\s*end\>' - \ contains=@etermGeneral,etermImageOptions - -syn keyword etermMenuItemOptions contained action - \ nextgroup=etermMenuItemAction skipwhite - -syn keyword etermMenuItemAction contained string echo submenu script - \ nextgroup=etermString skipwhite - -syn keyword etermMenuItemAction contained separator - -syn keyword etermMenuItemOptions contained text rtext nextgroup=etermString - \ skipwhite - -syn region etermMenuItemContext contained fold transparent - \ matchgroup=etermContext - \ start='^\s*begin\s\+menuitem\>' - \ end='^\s*end\>' - \ contains=@etermGeneral,etermMenuItemOptions - -syn keyword etermMenuOptions contained title nextgroup=etermString - \ skipwhite - -syn keyword etermMenuOptions contained font_name nextgroup=etermFont - \ skipwhite - -syn match etermMenuOptions contained display '\\|-' - -syn region etermMenuContext fold transparent matchgroup=etermContext - \ start='^\s*begin\s\+menu\>' - \ end='^\s*end\>' - \ contains=@etermGeneral,etermMenuOptions, - \ etermMenuItemContext - -syn keyword etermBind contained bind nextgroup=etermBindMods - \ skipwhite - -syn keyword etermBindMods contained ctrl shift lock mod1 mod2 mod3 mod4 - \ mod5 alt meta anymod - \ nextgroup=etermBindMods skipwhite - -syn keyword etermBindTo contained to nextgroup=etermBindType - \ skipwhite - -syn keyword etermBindType contained string echo menu script - \ nextgroup=etermBindParam skipwhite - -syn match etermBindParam contained display '\S\+' - -syn region etermActionsContext fold transparent matchgroup=etermContext - \ start='^\s*begin\s\+actions\>' - \ end='^\s*end\>' - \ contains=@etermGeneral,etermActionsOptions - -syn keyword etermButtonOptions contained font nextgroup=etermFont skipwhite -syn keyword etermButtonOptions contained visible nextgroup=etermBoolean - \ skipwhite -syn keyword etermButtonOptions contained dock nextgroup=etermDockOption - \ skipwhite - -syn keyword etermDockOption contained top bottom no - -syn keyword etermButton contained button nextgroup=etermButtonText - \ skipwhite - -syn region etermButtonText contained display oneline start=+"+ - \ skip=+\\"+ end=+"+ - \ nextgroup=etermButtonIcon skipwhite - -syn keyword etermButtonIcon contained icon nextgroup=etermButtonIconFile - \ skipwhite - -syn keyword etermButtonIconFile contained '\S\+' nextgroup=etermButtonAction - \ skipwhite - -syn keyword etermButtonAction contained action nextgroup=etermBindType - \ skipwhite - -syn region etermButtonContext fold transparent matchgroup=etermContext - \ start='^\s*begin\s\+button_bar\>' - \ end='^\s*end\>' - \ contains=@etermGeneral,etermButtonOptions - -syn keyword etermMultiOptions contained encoding nextgroup=etermEncoding - \ skipwhite - -syn keyword etermEncoding eucj sjis euckr big5 gb -syn match etermEncoding display 'iso-10646' - -syn keyword etermMultiOptions contained font nextgroup=etermFontType - \ skipwhite - -syn region etermMultiContext fold transparent matchgroup=etermContext - \ start='^\s*begin\s\+multichar\>' - \ end='^\s*end\>' - \ contains=@etermGeneral,etermMultiOptions - -syn keyword etermXimOptions contained input_method - \ nextgroup=etermInputMethod skipwhite - -syn match etermInputMethod contained display '\S+' - -syn keyword etermXimOptions contained preedit_type - \ nextgroup=etermPreeditType skipwhite - -syn keyword etermPreeditType contained OverTheSpot OffTheSpot Root - -syn region etermXimContext fold transparent matchgroup=etermContext - \ start='^\s*begin\s\+xim\>' - \ end='^\s*end\>' - \ contains=@etermGeneral,etermXimOptions - -syn keyword etermTogOptions contained map_alert visual_bell login_shell - \ scrollbar utmp_logging meta8 iconic - \ no_input home_on_output home_on_input - \ scrollbar_floating scrollbar_right - \ scrollbar_popup borderless double_buffer - \ no_cursor pause xterm_select select_line - \ select_trailing_spaces report_as_keysyms - \ itrans immotile_trans buttonbar - \ resize_gravity nextgroup=etermBoolean - \ skipwhite - -syn region etermTogContext fold transparent matchgroup=etermContext - \ start='^\s*begin\s\+toggles\>' - \ end='^\s*end\>' - \ contains=@etermGeneral,etermTogOptions - -syn keyword etermKeyboardOptions contained smallfont_key bigfont_key keysym - \ nextgroup=etermKeysym skipwhite - -syn keyword etermKeysym contained '\S\+' nextgroup=etermString - \ skipwhite - -syn keyword etermKeyboardOptions contained meta_mod alt_mod numlock_mod - \ nextgroup=etermNumber skipwhite - -syn keyword etermKeyboardOptions contained greek app_keypad app_cursor - \ nextgroup=etermBoolean skipwhite - -syn region etermKeyboardContext fold transparent matchgroup=etermContext - \ start='^\s*begin\s\+keyboard\>' - \ end='^\s*end\>' - \ contains=@etermGeneral,etermKeyboardOptions - -syn keyword etermMiscOptions contained print_pipe cut_chars finished_title - \ finished_text term_name exec - \ nextgroup=etermString skipwhite - -syn keyword etermMiscOptions contained save_lines min_anchor_size - \ border_width line_space - -syn region etermMiscContext fold transparent matchgroup=etermContext - \ start='^\s*begin\s\+misc\>' - \ end='^\s*end\>' - \ contains=@etermGeneral,etermMiscOptions - -syn keyword etermEScreenOptions contained url nextgroup=etermURL skipwhite - -syn match etermURL contained display - \ '\<\%(screen\|twin\)://\%([^@:/]\+\%(@[^:/]\+\%(:[^/]\+\)\=\)\=\)\=/\S\+' - -syn keyword etermEScreenOptions contained firewall - -syn keyword etermEScreenOptions contained delay nextgroup=etermNumber - \ skipwhite - -syn keyword etermEScreenOptions contained bbar_font nextgroup=etermFont - \ skipwhite - -syn keyword etermEScreenOptions contained bbar_dock nextgroup=etermDockOption - \ skipwhite - -syn region etermEScreenContext fold transparent matchgroup=etermContext - \ start='^\s*begin\s\+escreen\>' - \ end='^\s*end\>' - \ contains=@etermGeneral,etermEScreenOptions - -if exists("eterm_minlines") - let b:eterm_minlines = eterm_minlines -else - let b:eterm_minlines = 50 -endif -exec "syn sync minlines=" . b:eterm_minlines - -hi def link etermTodo Todo -hi def link etermComment Comment -hi def link etermMagic PreProc -hi def link etermNumber Number -hi def link etermString String -hi def link etermBoolean Boolean -hi def link etermPreProc PreProc -hi def link etermFunctions Function -hi def link etermKeyMod Constant -hi def link etermOption Keyword -hi def link etermColorOptions etermOption -hi def link etermColor String -hi def link etermVideoType Type -hi def link etermColorType Type -hi def link etermColorNumber Number -hi def link etermColorSpec etermColor -hi def link etermContext Keyword -hi def link etermAttrOptions etermOption -hi def link etermGeometry String -hi def link etermScrollbarType Type -hi def link etermFontType Type -hi def link etermIClassOptions etermOption -hi def link etermImageOptions etermOption -hi def link etermImageTypes Type -hi def link etermImageModes Type -hi def link etermImageModesAllow Keyword -hi def link etermImageModesR Type -hi def link etermImageState Keyword -hi def link etermImageColorFG etermColor -hi def link etermImageColorBG etermColor -hi def link etermImageGeom String -hi def link etermImageCmod etermOption -hi def link etermImageBrightness Number -hi def link etermImageContrast Number -hi def link etermImageGamma Number -hi def link etermMenuItemOptions etermOption -hi def link etermMenuItemAction Keyword -hi def link etermMenuOptions etermOption -hi def link etermBind Keyword -hi def link etermBindMods Identifier -hi def link etermBindTo Keyword -hi def link etermBindType Type -hi def link etermBindParam String -hi def link etermButtonOptions etermOption -hi def link etermDockOption etermOption -hi def link etermButtonText String -hi def link etermButtonIcon String -hi def link etermButtonIconFile String -hi def link etermButtonAction Keyword -hi def link etermMultiOptions etermOption -hi def link etermEncoding Identifier -hi def link etermXimOptions etermOption -hi def link etermInputMethod Identifier -hi def link etermPreeditType Type -hi def link etermTogOptions etermOption -hi def link etermKeyboardOptions etermOption -hi def link etermKeysym Constant -hi def link etermMiscOptions etermOption -hi def link etermEScreenOptions etermOption -hi def link etermURL Identifier - -let b:current_syntax = "eterm" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/euphoria3.mnv b/uvim/runtime/syntax/euphoria3.mnv new file mode 100644 index 0000000000..ee836c7eeb --- /dev/null +++ b/uvim/runtime/syntax/euphoria3.mnv @@ -0,0 +1,133 @@ +" MNV syntax file +" Language: Euphoria 3.1.1 - supports DOS - (http://www.rapideuphoria.com/) +" Maintainer: Shian Lee +" Last Change: 2014 Feb 24 (for MNV 7.4) +" Remark: Euphoria has two syntax files, euphoria3.mnv and euphoria4.mnv; +" For details see :help ft-euphoria-syntax + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" Reset compatible-options to MNV default value, just in case: +let s:save_cpo = &cpo +set cpo&mnv + +" Should suffice for very long expressions: +syn sync lines=40 + +" Euphoria is a case-sensitive language (with only 4 builtin types): +syntax case match + +" Keywords/Builtins for Debug - from $EUDIR/bin/keywords.e: +syn keyword euphoria3Debug with without trace profile +syn keyword euphoria3Debug profile_time warning type_check + +" Keywords (Statments) - from $EUDIR/bin/keywords.e: +syn keyword euphoria3Keyword if end then procedure else for return +syn keyword euphoria3Keyword do elsif while type constant to and or +syn keyword euphoria3Keyword exit function global by not include +syn keyword euphoria3Keyword xor + +" Builtins (Identifiers) - from $EUDIR/bin/keywords.e: +syn keyword euphoria3Builtin length puts integer sequence position object +syn keyword euphoria3Builtin append prepend print printf +syn keyword euphoria3Builtin clear_screen floor getc gets get_key +syn keyword euphoria3Builtin rand repeat atom compare find match +syn keyword euphoria3Builtin time command_line open close getenv +syn keyword euphoria3Builtin sqrt sin cos tan log system date remainder +syn keyword euphoria3Builtin power machine_func machine_proc abort peek poke +syn keyword euphoria3Builtin call sprintf arctan and_bits or_bits xor_bits +syn keyword euphoria3Builtin not_bits pixel get_pixel mem_copy mem_set +syn keyword euphoria3Builtin c_proc c_func routine_id call_proc call_func +syn keyword euphoria3Builtin poke4 peek4s peek4u equal system_exec +syn keyword euphoria3Builtin platform task_create task_schedule task_yield +syn keyword euphoria3Builtin task_self task_suspend task_list +syn keyword euphoria3Builtin task_status task_clock_stop task_clock_start +syn keyword euphoria3Builtin find_from match_from +" Builtins (Identifiers) shortcuts for length() and print(): +syn match euphoria3Builtin "\$" +syn match euphoria3Builtin "?" + +" Library Identifiers (Function) - from $EUDIR/doc/library.doc: +syn keyword euphoria3Library reverse sort custom_sort lower upper +syn keyword euphoria3Library wildcard_match wildcard_file arcsin +syn keyword euphoria3Library arccos PI flush lock_file unlock_file +syn keyword euphoria3Library pretty_print sprint get_bytes prompt_string +syn keyword euphoria3Library wait_key get prompt_number value seek where +syn keyword euphoria3Library current_dir chdir dir walk_dir allow_break +syn keyword euphoria3Library check_break get_mouse mouse_events mouse_pointer +syn keyword euphoria3Library tick_rate sleep get_position graphics_mode +syn keyword euphoria3Library video_config scroll wrap text_color bk_color +syn keyword euphoria3Library palette all_palette get_all_palette read_bitmap +syn keyword euphoria3Library save_bitmap get_active_page set_active_page +syn keyword euphoria3Library get_display_page set_display_page sound +syn keyword euphoria3Library cursor text_rows get_screen_char put_screen_char +syn keyword euphoria3Library save_text_image display_text_image draw_line +syn keyword euphoria3Library polygon ellipse save_screen save_image display_image +syn keyword euphoria3Library dos_interrupt allocate free allocate_low free_low +syn keyword euphoria3Library allocate_string register_block unregister_block +syn keyword euphoria3Library get_vector set_vector lock_memory int_to_bytes +syn keyword euphoria3Library bytes_to_int int_to_bits bits_to_int atom_to_float64 +syn keyword euphoria3Library atom_to_float32 float64_to_atom float32_to_atom +syn keyword euphoria3Library set_rand use_vesa crash_file crash_message +syn keyword euphoria3Library crash_routine open_dll define_c_proc define_c_func +syn keyword euphoria3Library define_c_var call_back message_box free_console +syn keyword euphoria3Library instance + +" Library Identifiers (Function) - from $EUDIR/doc/database.doc: +syn keyword euphoria3Library db_create db_open db_select db_close db_create_table +syn keyword euphoria3Library db_select_table db_rename_table db_delete_table +syn keyword euphoria3Library db_table_list db_table_size db_find_key db_record_key +syn keyword euphoria3Library db_record_data db_insert db_delete_record +syn keyword euphoria3Library db_replace_data db_compress db_dump db_fatal_id + +" Linux shell comment (#!...): +syn match euphoria3Comment "\%^#!.*$" +" Comment on one line: +syn region euphoria3Comment start=/--/ end=/$/ + +" Delimiters and brackets: +syn match euphoria3Delimit "[([\])]" +syn match euphoria3Delimit "\.\." +syn match euphoria3Operator "[{}]" + +" Character constant: +syn region euphoria3Char start=/'/ skip=/\\'\|\\\\/ end=/'/ oneline + +" String constant: +syn region euphoria3String start=/"/ skip=/\\"\|\\\\/ end=/"/ oneline + +" Hexadecimal integer: +syn match euphoria3Number "#[0-9A-F]\+\>" + +" Integer/Floating point without a dot: +syn match euphoria3Number "\<\d\+\>" +" Floating point with dot: +syn match euphoria3Number "\<\d\+\.\d*\>" +" Floating point starting with a dot: +syn match euphoria3Number "\.\d\+\>" +" Boolean constants: +syn keyword euphoria3Boolean true TRUE false FALSE + +" Define the default highlighting. +" Only used when an item doesn't have highlighting yet: +hi def link euphoria3Comment Comment +hi def link euphoria3String String +hi def link euphoria3Char Character +hi def link euphoria3Number Number +hi def link euphoria3Boolean Boolean +hi def link euphoria3Builtin Identifier +hi def link euphoria3Library Function +hi def link euphoria3Keyword Statement +hi def link euphoria3Operator Statement +hi def link euphoria3Debug Debug +hi def link euphoria3Delimit Delimiter + +let b:current_syntax = "euphoria3" + +" Restore current compatible-options: +let &cpo = s:save_cpo +unlet s:save_cpo + diff --git a/uvim/runtime/syntax/euphoria3.vim b/uvim/runtime/syntax/euphoria3.vim deleted file mode 100644 index ece14027ba..0000000000 --- a/uvim/runtime/syntax/euphoria3.vim +++ /dev/null @@ -1,133 +0,0 @@ -" Vim syntax file -" Language: Euphoria 3.1.1 - supports DOS - (http://www.rapideuphoria.com/) -" Maintainer: Shian Lee -" Last Change: 2014 Feb 24 (for Vim 7.4) -" Remark: Euphoria has two syntax files, euphoria3.vim and euphoria4.vim; -" For details see :help ft-euphoria-syntax - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" Reset compatible-options to Vim default value, just in case: -let s:save_cpo = &cpo -set cpo&vim - -" Should suffice for very long expressions: -syn sync lines=40 - -" Euphoria is a case-sensitive language (with only 4 builtin types): -syntax case match - -" Keywords/Builtins for Debug - from $EUDIR/bin/keywords.e: -syn keyword euphoria3Debug with without trace profile -syn keyword euphoria3Debug profile_time warning type_check - -" Keywords (Statments) - from $EUDIR/bin/keywords.e: -syn keyword euphoria3Keyword if end then procedure else for return -syn keyword euphoria3Keyword do elsif while type constant to and or -syn keyword euphoria3Keyword exit function global by not include -syn keyword euphoria3Keyword xor - -" Builtins (Identifiers) - from $EUDIR/bin/keywords.e: -syn keyword euphoria3Builtin length puts integer sequence position object -syn keyword euphoria3Builtin append prepend print printf -syn keyword euphoria3Builtin clear_screen floor getc gets get_key -syn keyword euphoria3Builtin rand repeat atom compare find match -syn keyword euphoria3Builtin time command_line open close getenv -syn keyword euphoria3Builtin sqrt sin cos tan log system date remainder -syn keyword euphoria3Builtin power machine_func machine_proc abort peek poke -syn keyword euphoria3Builtin call sprintf arctan and_bits or_bits xor_bits -syn keyword euphoria3Builtin not_bits pixel get_pixel mem_copy mem_set -syn keyword euphoria3Builtin c_proc c_func routine_id call_proc call_func -syn keyword euphoria3Builtin poke4 peek4s peek4u equal system_exec -syn keyword euphoria3Builtin platform task_create task_schedule task_yield -syn keyword euphoria3Builtin task_self task_suspend task_list -syn keyword euphoria3Builtin task_status task_clock_stop task_clock_start -syn keyword euphoria3Builtin find_from match_from -" Builtins (Identifiers) shortcuts for length() and print(): -syn match euphoria3Builtin "\$" -syn match euphoria3Builtin "?" - -" Library Identifiers (Function) - from $EUDIR/doc/library.doc: -syn keyword euphoria3Library reverse sort custom_sort lower upper -syn keyword euphoria3Library wildcard_match wildcard_file arcsin -syn keyword euphoria3Library arccos PI flush lock_file unlock_file -syn keyword euphoria3Library pretty_print sprint get_bytes prompt_string -syn keyword euphoria3Library wait_key get prompt_number value seek where -syn keyword euphoria3Library current_dir chdir dir walk_dir allow_break -syn keyword euphoria3Library check_break get_mouse mouse_events mouse_pointer -syn keyword euphoria3Library tick_rate sleep get_position graphics_mode -syn keyword euphoria3Library video_config scroll wrap text_color bk_color -syn keyword euphoria3Library palette all_palette get_all_palette read_bitmap -syn keyword euphoria3Library save_bitmap get_active_page set_active_page -syn keyword euphoria3Library get_display_page set_display_page sound -syn keyword euphoria3Library cursor text_rows get_screen_char put_screen_char -syn keyword euphoria3Library save_text_image display_text_image draw_line -syn keyword euphoria3Library polygon ellipse save_screen save_image display_image -syn keyword euphoria3Library dos_interrupt allocate free allocate_low free_low -syn keyword euphoria3Library allocate_string register_block unregister_block -syn keyword euphoria3Library get_vector set_vector lock_memory int_to_bytes -syn keyword euphoria3Library bytes_to_int int_to_bits bits_to_int atom_to_float64 -syn keyword euphoria3Library atom_to_float32 float64_to_atom float32_to_atom -syn keyword euphoria3Library set_rand use_vesa crash_file crash_message -syn keyword euphoria3Library crash_routine open_dll define_c_proc define_c_func -syn keyword euphoria3Library define_c_var call_back message_box free_console -syn keyword euphoria3Library instance - -" Library Identifiers (Function) - from $EUDIR/doc/database.doc: -syn keyword euphoria3Library db_create db_open db_select db_close db_create_table -syn keyword euphoria3Library db_select_table db_rename_table db_delete_table -syn keyword euphoria3Library db_table_list db_table_size db_find_key db_record_key -syn keyword euphoria3Library db_record_data db_insert db_delete_record -syn keyword euphoria3Library db_replace_data db_compress db_dump db_fatal_id - -" Linux shell comment (#!...): -syn match euphoria3Comment "\%^#!.*$" -" Comment on one line: -syn region euphoria3Comment start=/--/ end=/$/ - -" Delimiters and brackets: -syn match euphoria3Delimit "[([\])]" -syn match euphoria3Delimit "\.\." -syn match euphoria3Operator "[{}]" - -" Character constant: -syn region euphoria3Char start=/'/ skip=/\\'\|\\\\/ end=/'/ oneline - -" String constant: -syn region euphoria3String start=/"/ skip=/\\"\|\\\\/ end=/"/ oneline - -" Hexadecimal integer: -syn match euphoria3Number "#[0-9A-F]\+\>" - -" Integer/Floating point without a dot: -syn match euphoria3Number "\<\d\+\>" -" Floating point with dot: -syn match euphoria3Number "\<\d\+\.\d*\>" -" Floating point starting with a dot: -syn match euphoria3Number "\.\d\+\>" -" Boolean constants: -syn keyword euphoria3Boolean true TRUE false FALSE - -" Define the default highlighting. -" Only used when an item doesn't have highlighting yet: -hi def link euphoria3Comment Comment -hi def link euphoria3String String -hi def link euphoria3Char Character -hi def link euphoria3Number Number -hi def link euphoria3Boolean Boolean -hi def link euphoria3Builtin Identifier -hi def link euphoria3Library Function -hi def link euphoria3Keyword Statement -hi def link euphoria3Operator Statement -hi def link euphoria3Debug Debug -hi def link euphoria3Delimit Delimiter - -let b:current_syntax = "euphoria3" - -" Restore current compatible-options: -let &cpo = s:save_cpo -unlet s:save_cpo - diff --git a/uvim/runtime/syntax/euphoria4.mnv b/uvim/runtime/syntax/euphoria4.mnv new file mode 100644 index 0000000000..331a193d86 --- /dev/null +++ b/uvim/runtime/syntax/euphoria4.mnv @@ -0,0 +1,245 @@ +" MNV syntax file +" Language: Euphoria 4.0.5 (http://www.openeuphoria.org/) +" Maintainer: Shian Lee +" Last Change: 2014 Feb 26 (for MNV 7.4) +" Remark: Euphoria has two syntax files, euphoria3.mnv and euphoria4.mnv; +" For details see :help ft-euphoria-syntax + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" Reset compatible-options to MNV default value, just in case: +let s:save_cpo = &cpo +set cpo&mnv + +" Should suffice for very long strings and expressions: +syn sync lines=40 + +" Euphoria is a case-sensitive language (with only 4 builtin types): +syntax case match + +" Some keywords/Builtins for Debug - from $EUDIR/include/euphoria/keywords.e: +syn keyword euphoria4Debug with without trace profile batch check indirect +syn keyword euphoria4Debug includes inline warning define + +" Keywords for conditional compilation - from $EUDIR/include/euphoria/keywords.e: +syn keyword euphoria4PreProc elsedef elsifdef ifdef + +" Keywords (Statements) - from $EUDIR/include/euphoria/keywords.e: +syn keyword euphoria4Keyword and as break by case constant continue do else +syn keyword euphoria4Keyword elsif end entry enum exit export +syn keyword euphoria4Keyword fallthru for function global goto if include +syn keyword euphoria4Keyword label loop namespace not or override procedure +syn keyword euphoria4Keyword public retry return routine switch then to type +syn keyword euphoria4Keyword until while xor + +" Builtins (Identifiers) - from $EUDIR/include/euphoria/keywords.e: +syn keyword euphoria4Builtin abort and_bits append arctan atom c_func c_proc +syn keyword euphoria4Builtin call call_func call_proc clear_screen close +syn keyword euphoria4Builtin command_line compare cos date delete delete_routine +syn keyword euphoria4Builtin equal find floor get_key getc getenv gets hash +syn keyword euphoria4Builtin head include_paths insert integer length log +syn keyword euphoria4Builtin machine_func machine_proc match mem_copy mem_set +syn keyword euphoria4Builtin not_bits object open option_switches or_bits peek +syn keyword euphoria4Builtin peek2s peek2u peek4s peek4u peek_string peeks pixel +syn keyword euphoria4Builtin platform poke poke2 poke4 position power prepend +syn keyword euphoria4Builtin print printf puts rand remainder remove repeat +syn keyword euphoria4Builtin replace routine_id sequence sin splice sprintf +syn keyword euphoria4Builtin sqrt system system_exec tail tan task_clock_start +syn keyword euphoria4Builtin task_clock_stop task_create task_list task_schedule +syn keyword euphoria4Builtin task_self task_status task_suspend task_yield time +syn keyword euphoria4Builtin xor_bits +" Builtins (Identifiers) shortcuts for length() and print(): +syn match euphoria4Builtin "\$" +syn match euphoria4Builtin "?" + +" Library Identifiers (Function) - grep from $EUDIR/include/*: +syn keyword euphoria4Library DEP_on SyntaxColor abbreviate_path abs absolute_path +syn keyword euphoria4Library accept add add_item all_copyrights all_matches +syn keyword euphoria4Library allocate allocate_code allocate_data allocate_low +syn keyword euphoria4Library allocate_pointer_array allocate_protect +syn keyword euphoria4Library allocate_string allocate_string_pointer_array +syn keyword euphoria4Library allocate_wstring allocations allow_break any_key +syn keyword euphoria4Library append_lines apply approx arccos arccosh arcsin +syn keyword euphoria4Library arcsinh arctanh assert at atan2 atom_to_float32 +syn keyword euphoria4Library atom_to_float64 attr_to_colors avedev average +syn keyword euphoria4Library begins binary_search bind binop_ok bits_to_int +syn keyword euphoria4Library bk_color breakup build_commandline build_list +syn keyword euphoria4Library bytes_to_int calc_hash calc_primes call_back +syn keyword euphoria4Library canon2win canonical canonical_path ceil +syn keyword euphoria4Library central_moment chance char_test chdir +syn keyword euphoria4Library check_all_blocks check_break check_free_list +syn keyword euphoria4Library checksum clear clear_directory cmd_parse +syn keyword euphoria4Library colors_to_attr columnize combine connect +syn keyword euphoria4Library console_colors copy copy_file cosh count crash +syn keyword euphoria4Library crash_file crash_message crash_routine create +syn keyword euphoria4Library create_directory create_file curdir current_dir +syn keyword euphoria4Library cursor custom_sort datetime days_in_month +syn keyword euphoria4Library days_in_year db_cache_clear db_clear_table db_close +syn keyword euphoria4Library db_compress db_connect db_create db_create_table +syn keyword euphoria4Library db_current db_current_table db_delete_record +syn keyword euphoria4Library db_delete_table db_dump db_fetch_record db_find_key +syn keyword euphoria4Library db_get_errors db_get_recid db_insert db_open +syn keyword euphoria4Library db_record_data db_record_key db_record_recid +syn keyword euphoria4Library db_rename_table db_replace_data db_replace_recid +syn keyword euphoria4Library db_select db_select_table db_set_caching +syn keyword euphoria4Library db_table_list db_table_size deallocate decanonical +syn keyword euphoria4Library decode defaulted_value defaultext define_c_func +syn keyword euphoria4Library define_c_proc define_c_var deg2rad delete_file +syn keyword euphoria4Library dep_works dequote deserialize diff dir dir_size +syn keyword euphoria4Library dirname disk_metrics disk_size display +syn keyword euphoria4Library display_text_image dnsquery driveid dump dup emovavg +syn keyword euphoria4Library encode ends ensure_in_list ensure_in_range +syn keyword euphoria4Library error_code error_message error_no error_string +syn keyword euphoria4Library error_to_string escape euphoria_copyright exec +syn keyword euphoria4Library exp extract fetch fib file_exists file_length +syn keyword euphoria4Library file_timestamp file_type filebase fileext filename +syn keyword euphoria4Library filter find_all find_all_but find_any find_each +syn keyword euphoria4Library find_nested find_replace find_replace_callback +syn keyword euphoria4Library find_replace_limit flags_to_string flatten +syn keyword euphoria4Library float32_to_atom float64_to_atom flush for_each +syn keyword euphoria4Library format frac free free_code free_console free_low +syn keyword euphoria4Library free_pointer_array from_date from_unix gcd geomean +syn keyword euphoria4Library get get_bytes get_charsets get_def_lang +syn keyword euphoria4Library get_display_page get_dstring get_encoding_properties +syn keyword euphoria4Library get_integer16 get_integer32 get_lang_path get_lcid +syn keyword euphoria4Library get_mouse get_option get_ovector_size get_pid +syn keyword euphoria4Library get_position get_rand get_screen_char get_text +syn keyword euphoria4Library get_vector getaddrinfo getmxrr getnsrr graphics_mode +syn keyword euphoria4Library harmean has has_console has_match hex_text +syn keyword euphoria4Library host_by_addr host_by_name http_get http_post iff +syn keyword euphoria4Library iif info init_class init_curdir insertion_sort +syn keyword euphoria4Library instance int_to_bits int_to_bytes intdiv +syn keyword euphoria4Library is_DEP_supported is_empty is_even is_even_obj +syn keyword euphoria4Library is_in_list is_in_range is_inetaddr is_leap_year +syn keyword euphoria4Library is_match is_using_DEP is_win_nt join join_path +syn keyword euphoria4Library keep_comments keep_newlines key_codes keys keyvalues +syn keyword euphoria4Library kill kurtosis lang_load larger_of largest last +syn keyword euphoria4Library listen load load_map locate_file lock_file +syn keyword euphoria4Library lock_memory log10 lookup lower malloc mapping +syn keyword euphoria4Library match_all match_any match_replace matches max +syn keyword euphoria4Library maybe_any_key median memory_used merge message_box +syn keyword euphoria4Library mid min minsize mod mode money mouse_events +syn keyword euphoria4Library mouse_pointer movavg move_file nested_get +syn keyword euphoria4Library nested_put new new_extra new_from_kvpairs +syn keyword euphoria4Library new_from_string new_time next_prime now now_gmt +syn keyword euphoria4Library number open_dll optimize option_spec_to_string +syn keyword euphoria4Library or_all pad_head pad_tail pairs parse +syn keyword euphoria4Library parse_commandline parse_ip_address parse_querystring +syn keyword euphoria4Library parse_url patch pathinfo pathname pcre_copyright +syn keyword euphoria4Library peek_end peek_top peek_wstring pivot platform_name +syn keyword euphoria4Library poke_string poke_wstring pop powof2 prepare_block +syn keyword euphoria4Library pretty_print pretty_sprint prime_list process_lines +syn keyword euphoria4Library product project prompt_number prompt_string proper +syn keyword euphoria4Library push put put_integer16 put_integer32 put_screen_char +syn keyword euphoria4Library quote rad2deg rand_range range raw_frequency read +syn keyword euphoria4Library read_bitmap read_file read_lines receive receive_from +syn keyword euphoria4Library register_block rehash remove_all remove_directory +syn keyword euphoria4Library remove_dups remove_item remove_subseq rename_file +syn keyword euphoria4Library repeat_pattern reset retain_all reverse rfind rmatch +syn keyword euphoria4Library rnd rnd_1 roll rotate rotate_bits round safe_address +syn keyword euphoria4Library sample save_bitmap save_map save_text_image scroll +syn keyword euphoria4Library seek select send send_to serialize series +syn keyword euphoria4Library service_by_name service_by_port set +syn keyword euphoria4Library set_accumulate_summary set_charsets set_colors +syn keyword euphoria4Library set_decimal_mark set_def_lang set_default_charsets +syn keyword euphoria4Library set_encoding_properties set_keycodes set_lang_path +syn keyword euphoria4Library set_option set_rand set_test_abort set_test_verbosity +syn keyword euphoria4Library set_vector set_wait_on_summary setenv shift_bits +syn keyword euphoria4Library show_block show_help show_tokens shuffle shutdown +syn keyword euphoria4Library sign sim_index sinh size skewness sleep slice small +syn keyword euphoria4Library smaller_of smallest sort sort_columns sound split +syn keyword euphoria4Library split_any split_limit split_path sprint start_time +syn keyword euphoria4Library statistics stdev store string_numbers subtract sum +syn keyword euphoria4Library sum_central_moments swap tanh task_delay temp_file +syn keyword euphoria4Library test_equal test_exec test_fail test_false +syn keyword euphoria4Library test_not_equal test_pass test_read test_report +syn keyword euphoria4Library test_true test_write text_color text_rows threshold +syn keyword euphoria4Library tick_rate to_integer to_number to_string to_unix +syn keyword euphoria4Library tokenize_file tokenize_string top transform translate +syn keyword euphoria4Library transmute trim trim_head trim_tail trsprintf trunc +syn keyword euphoria4Library type_of uname unlock_file unregister_block unsetenv +syn keyword euphoria4Library upper use_vesa valid valid_index value values version +syn keyword euphoria4Library version_date version_major version_minor version_node +syn keyword euphoria4Library version_patch version_revision version_string +syn keyword euphoria4Library version_string_long version_string_short version_type +syn keyword euphoria4Library video_config vlookup vslice wait_key walk_dir +syn keyword euphoria4Library warning_file weeks_day where which_bit wildcard_file +syn keyword euphoria4Library wildcard_match wrap write write_file write_lines +syn keyword euphoria4Library writef writefln years_day + +" Library Identifiers (Type) - grep from $EUDIR/include/*: +syn keyword euphoria4Type ascii_string boolean bordered_address byte_range +syn keyword euphoria4Type case_flagset_type color cstring +syn keyword euphoria4Type file_number file_position graphics_point +syn keyword euphoria4Type integer_array lcid lock_type machine_addr map +syn keyword euphoria4Type mixture number_array option_spec +syn keyword euphoria4Type page_aligned_address positive_int process regex +syn keyword euphoria4Type sequence_array socket stack std_library_address +syn keyword euphoria4Type string t_alnum t_alpha t_ascii t_boolean +syn keyword euphoria4Type t_bytearray t_cntrl t_consonant t_digit t_display +syn keyword euphoria4Type t_graph t_identifier t_lower t_print t_punct +syn keyword euphoria4Type t_space t_specword t_text t_upper t_vowel t_xdigit +syn keyword euphoria4Type valid_memory_protection_constant valid_wordsize + +" Linux shell comment (#!...): +syn match euphoria4Comment "\%^#!.*$" +" Single and multilines comments: +syn region euphoria4Comment start=/--/ end=/$/ +syn region euphoria4Comment start="/\*" end="\*/" + +" Delimiters and brackets: +syn match euphoria4Delimit "[([\])]" +syn match euphoria4Delimit "\.\." +syn match euphoria4Delimit ":" +syn match euphoria4Operator "[{}]" + +" Character constant: +syn region euphoria4Char start=/'/ skip=/\\'\|\\\\/ end=/'/ oneline + +" String constant (""" must be *after* "): +syn region euphoria4String start=/"/ skip=/\\"\|\\\\/ end=/"/ oneline +syn region euphoria4String start=/b"\|x"/ end=/"/ +syn region euphoria4String start=/`/ end=/`/ +syn region euphoria4String start=/"""/ end=/"""/ + +" Binary/Octal/Decimal/Hexadecimal integer: +syn match euphoria4Number "\<0b[01_]\+\>" +syn match euphoria4Number "\<0t[0-7_]\+\>" +syn match euphoria4Number "\<0d[0-9_]\+\>" +syn match euphoria4Number "\<0x[0-9A-Fa-f_]\+\>" +syn match euphoria4Number "#[0-9A-Fa-f_]\+\>" + +" Integer/Floating point without a dot: +syn match euphoria4Number "\<\d\+\>" +" Floating point with dot: +syn match euphoria4Number "\<\d\+\.\d*\>" +" Floating point starting with a dot: +syn match euphoria4Number "\.\d\+\>" +" Boolean constants: +syn keyword euphoria4Boolean true TRUE false FALSE + +" Define the default highlighting. +" Only used when an item doesn't have highlighting yet: +hi def link euphoria4Comment Comment +hi def link euphoria4String String +hi def link euphoria4Char Character +hi def link euphoria4Number Number +hi def link euphoria4Boolean Boolean +hi def link euphoria4Builtin Identifier +hi def link euphoria4Library Function +hi def link euphoria4Type Type +hi def link euphoria4Keyword Statement +hi def link euphoria4Operator Statement +hi def link euphoria4Debug Debug +hi def link euphoria4Delimit Delimiter +hi def link euphoria4PreProc PreProc + +let b:current_syntax = "euphoria4" + +" Restore current compatible-options: +let &cpo = s:save_cpo +unlet s:save_cpo + diff --git a/uvim/runtime/syntax/euphoria4.vim b/uvim/runtime/syntax/euphoria4.vim deleted file mode 100644 index baa0e8e7b9..0000000000 --- a/uvim/runtime/syntax/euphoria4.vim +++ /dev/null @@ -1,245 +0,0 @@ -" Vim syntax file -" Language: Euphoria 4.0.5 (http://www.openeuphoria.org/) -" Maintainer: Shian Lee -" Last Change: 2014 Feb 26 (for Vim 7.4) -" Remark: Euphoria has two syntax files, euphoria3.vim and euphoria4.vim; -" For details see :help ft-euphoria-syntax - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" Reset compatible-options to Vim default value, just in case: -let s:save_cpo = &cpo -set cpo&vim - -" Should suffice for very long strings and expressions: -syn sync lines=40 - -" Euphoria is a case-sensitive language (with only 4 builtin types): -syntax case match - -" Some keywords/Builtins for Debug - from $EUDIR/include/euphoria/keywords.e: -syn keyword euphoria4Debug with without trace profile batch check indirect -syn keyword euphoria4Debug includes inline warning define - -" Keywords for conditional compilation - from $EUDIR/include/euphoria/keywords.e: -syn keyword euphoria4PreProc elsedef elsifdef ifdef - -" Keywords (Statements) - from $EUDIR/include/euphoria/keywords.e: -syn keyword euphoria4Keyword and as break by case constant continue do else -syn keyword euphoria4Keyword elsif end entry enum exit export -syn keyword euphoria4Keyword fallthru for function global goto if include -syn keyword euphoria4Keyword label loop namespace not or override procedure -syn keyword euphoria4Keyword public retry return routine switch then to type -syn keyword euphoria4Keyword until while xor - -" Builtins (Identifiers) - from $EUDIR/include/euphoria/keywords.e: -syn keyword euphoria4Builtin abort and_bits append arctan atom c_func c_proc -syn keyword euphoria4Builtin call call_func call_proc clear_screen close -syn keyword euphoria4Builtin command_line compare cos date delete delete_routine -syn keyword euphoria4Builtin equal find floor get_key getc getenv gets hash -syn keyword euphoria4Builtin head include_paths insert integer length log -syn keyword euphoria4Builtin machine_func machine_proc match mem_copy mem_set -syn keyword euphoria4Builtin not_bits object open option_switches or_bits peek -syn keyword euphoria4Builtin peek2s peek2u peek4s peek4u peek_string peeks pixel -syn keyword euphoria4Builtin platform poke poke2 poke4 position power prepend -syn keyword euphoria4Builtin print printf puts rand remainder remove repeat -syn keyword euphoria4Builtin replace routine_id sequence sin splice sprintf -syn keyword euphoria4Builtin sqrt system system_exec tail tan task_clock_start -syn keyword euphoria4Builtin task_clock_stop task_create task_list task_schedule -syn keyword euphoria4Builtin task_self task_status task_suspend task_yield time -syn keyword euphoria4Builtin xor_bits -" Builtins (Identifiers) shortcuts for length() and print(): -syn match euphoria4Builtin "\$" -syn match euphoria4Builtin "?" - -" Library Identifiers (Function) - grep from $EUDIR/include/*: -syn keyword euphoria4Library DEP_on SyntaxColor abbreviate_path abs absolute_path -syn keyword euphoria4Library accept add add_item all_copyrights all_matches -syn keyword euphoria4Library allocate allocate_code allocate_data allocate_low -syn keyword euphoria4Library allocate_pointer_array allocate_protect -syn keyword euphoria4Library allocate_string allocate_string_pointer_array -syn keyword euphoria4Library allocate_wstring allocations allow_break any_key -syn keyword euphoria4Library append_lines apply approx arccos arccosh arcsin -syn keyword euphoria4Library arcsinh arctanh assert at atan2 atom_to_float32 -syn keyword euphoria4Library atom_to_float64 attr_to_colors avedev average -syn keyword euphoria4Library begins binary_search bind binop_ok bits_to_int -syn keyword euphoria4Library bk_color breakup build_commandline build_list -syn keyword euphoria4Library bytes_to_int calc_hash calc_primes call_back -syn keyword euphoria4Library canon2win canonical canonical_path ceil -syn keyword euphoria4Library central_moment chance char_test chdir -syn keyword euphoria4Library check_all_blocks check_break check_free_list -syn keyword euphoria4Library checksum clear clear_directory cmd_parse -syn keyword euphoria4Library colors_to_attr columnize combine connect -syn keyword euphoria4Library console_colors copy copy_file cosh count crash -syn keyword euphoria4Library crash_file crash_message crash_routine create -syn keyword euphoria4Library create_directory create_file curdir current_dir -syn keyword euphoria4Library cursor custom_sort datetime days_in_month -syn keyword euphoria4Library days_in_year db_cache_clear db_clear_table db_close -syn keyword euphoria4Library db_compress db_connect db_create db_create_table -syn keyword euphoria4Library db_current db_current_table db_delete_record -syn keyword euphoria4Library db_delete_table db_dump db_fetch_record db_find_key -syn keyword euphoria4Library db_get_errors db_get_recid db_insert db_open -syn keyword euphoria4Library db_record_data db_record_key db_record_recid -syn keyword euphoria4Library db_rename_table db_replace_data db_replace_recid -syn keyword euphoria4Library db_select db_select_table db_set_caching -syn keyword euphoria4Library db_table_list db_table_size deallocate decanonical -syn keyword euphoria4Library decode defaulted_value defaultext define_c_func -syn keyword euphoria4Library define_c_proc define_c_var deg2rad delete_file -syn keyword euphoria4Library dep_works dequote deserialize diff dir dir_size -syn keyword euphoria4Library dirname disk_metrics disk_size display -syn keyword euphoria4Library display_text_image dnsquery driveid dump dup emovavg -syn keyword euphoria4Library encode ends ensure_in_list ensure_in_range -syn keyword euphoria4Library error_code error_message error_no error_string -syn keyword euphoria4Library error_to_string escape euphoria_copyright exec -syn keyword euphoria4Library exp extract fetch fib file_exists file_length -syn keyword euphoria4Library file_timestamp file_type filebase fileext filename -syn keyword euphoria4Library filter find_all find_all_but find_any find_each -syn keyword euphoria4Library find_nested find_replace find_replace_callback -syn keyword euphoria4Library find_replace_limit flags_to_string flatten -syn keyword euphoria4Library float32_to_atom float64_to_atom flush for_each -syn keyword euphoria4Library format frac free free_code free_console free_low -syn keyword euphoria4Library free_pointer_array from_date from_unix gcd geomean -syn keyword euphoria4Library get get_bytes get_charsets get_def_lang -syn keyword euphoria4Library get_display_page get_dstring get_encoding_properties -syn keyword euphoria4Library get_integer16 get_integer32 get_lang_path get_lcid -syn keyword euphoria4Library get_mouse get_option get_ovector_size get_pid -syn keyword euphoria4Library get_position get_rand get_screen_char get_text -syn keyword euphoria4Library get_vector getaddrinfo getmxrr getnsrr graphics_mode -syn keyword euphoria4Library harmean has has_console has_match hex_text -syn keyword euphoria4Library host_by_addr host_by_name http_get http_post iff -syn keyword euphoria4Library iif info init_class init_curdir insertion_sort -syn keyword euphoria4Library instance int_to_bits int_to_bytes intdiv -syn keyword euphoria4Library is_DEP_supported is_empty is_even is_even_obj -syn keyword euphoria4Library is_in_list is_in_range is_inetaddr is_leap_year -syn keyword euphoria4Library is_match is_using_DEP is_win_nt join join_path -syn keyword euphoria4Library keep_comments keep_newlines key_codes keys keyvalues -syn keyword euphoria4Library kill kurtosis lang_load larger_of largest last -syn keyword euphoria4Library listen load load_map locate_file lock_file -syn keyword euphoria4Library lock_memory log10 lookup lower malloc mapping -syn keyword euphoria4Library match_all match_any match_replace matches max -syn keyword euphoria4Library maybe_any_key median memory_used merge message_box -syn keyword euphoria4Library mid min minsize mod mode money mouse_events -syn keyword euphoria4Library mouse_pointer movavg move_file nested_get -syn keyword euphoria4Library nested_put new new_extra new_from_kvpairs -syn keyword euphoria4Library new_from_string new_time next_prime now now_gmt -syn keyword euphoria4Library number open_dll optimize option_spec_to_string -syn keyword euphoria4Library or_all pad_head pad_tail pairs parse -syn keyword euphoria4Library parse_commandline parse_ip_address parse_querystring -syn keyword euphoria4Library parse_url patch pathinfo pathname pcre_copyright -syn keyword euphoria4Library peek_end peek_top peek_wstring pivot platform_name -syn keyword euphoria4Library poke_string poke_wstring pop powof2 prepare_block -syn keyword euphoria4Library pretty_print pretty_sprint prime_list process_lines -syn keyword euphoria4Library product project prompt_number prompt_string proper -syn keyword euphoria4Library push put put_integer16 put_integer32 put_screen_char -syn keyword euphoria4Library quote rad2deg rand_range range raw_frequency read -syn keyword euphoria4Library read_bitmap read_file read_lines receive receive_from -syn keyword euphoria4Library register_block rehash remove_all remove_directory -syn keyword euphoria4Library remove_dups remove_item remove_subseq rename_file -syn keyword euphoria4Library repeat_pattern reset retain_all reverse rfind rmatch -syn keyword euphoria4Library rnd rnd_1 roll rotate rotate_bits round safe_address -syn keyword euphoria4Library sample save_bitmap save_map save_text_image scroll -syn keyword euphoria4Library seek select send send_to serialize series -syn keyword euphoria4Library service_by_name service_by_port set -syn keyword euphoria4Library set_accumulate_summary set_charsets set_colors -syn keyword euphoria4Library set_decimal_mark set_def_lang set_default_charsets -syn keyword euphoria4Library set_encoding_properties set_keycodes set_lang_path -syn keyword euphoria4Library set_option set_rand set_test_abort set_test_verbosity -syn keyword euphoria4Library set_vector set_wait_on_summary setenv shift_bits -syn keyword euphoria4Library show_block show_help show_tokens shuffle shutdown -syn keyword euphoria4Library sign sim_index sinh size skewness sleep slice small -syn keyword euphoria4Library smaller_of smallest sort sort_columns sound split -syn keyword euphoria4Library split_any split_limit split_path sprint start_time -syn keyword euphoria4Library statistics stdev store string_numbers subtract sum -syn keyword euphoria4Library sum_central_moments swap tanh task_delay temp_file -syn keyword euphoria4Library test_equal test_exec test_fail test_false -syn keyword euphoria4Library test_not_equal test_pass test_read test_report -syn keyword euphoria4Library test_true test_write text_color text_rows threshold -syn keyword euphoria4Library tick_rate to_integer to_number to_string to_unix -syn keyword euphoria4Library tokenize_file tokenize_string top transform translate -syn keyword euphoria4Library transmute trim trim_head trim_tail trsprintf trunc -syn keyword euphoria4Library type_of uname unlock_file unregister_block unsetenv -syn keyword euphoria4Library upper use_vesa valid valid_index value values version -syn keyword euphoria4Library version_date version_major version_minor version_node -syn keyword euphoria4Library version_patch version_revision version_string -syn keyword euphoria4Library version_string_long version_string_short version_type -syn keyword euphoria4Library video_config vlookup vslice wait_key walk_dir -syn keyword euphoria4Library warning_file weeks_day where which_bit wildcard_file -syn keyword euphoria4Library wildcard_match wrap write write_file write_lines -syn keyword euphoria4Library writef writefln years_day - -" Library Identifiers (Type) - grep from $EUDIR/include/*: -syn keyword euphoria4Type ascii_string boolean bordered_address byte_range -syn keyword euphoria4Type case_flagset_type color cstring -syn keyword euphoria4Type file_number file_position graphics_point -syn keyword euphoria4Type integer_array lcid lock_type machine_addr map -syn keyword euphoria4Type mixture number_array option_spec -syn keyword euphoria4Type page_aligned_address positive_int process regex -syn keyword euphoria4Type sequence_array socket stack std_library_address -syn keyword euphoria4Type string t_alnum t_alpha t_ascii t_boolean -syn keyword euphoria4Type t_bytearray t_cntrl t_consonant t_digit t_display -syn keyword euphoria4Type t_graph t_identifier t_lower t_print t_punct -syn keyword euphoria4Type t_space t_specword t_text t_upper t_vowel t_xdigit -syn keyword euphoria4Type valid_memory_protection_constant valid_wordsize - -" Linux shell comment (#!...): -syn match euphoria4Comment "\%^#!.*$" -" Single and multilines comments: -syn region euphoria4Comment start=/--/ end=/$/ -syn region euphoria4Comment start="/\*" end="\*/" - -" Delimiters and brackets: -syn match euphoria4Delimit "[([\])]" -syn match euphoria4Delimit "\.\." -syn match euphoria4Delimit ":" -syn match euphoria4Operator "[{}]" - -" Character constant: -syn region euphoria4Char start=/'/ skip=/\\'\|\\\\/ end=/'/ oneline - -" String constant (""" must be *after* "): -syn region euphoria4String start=/"/ skip=/\\"\|\\\\/ end=/"/ oneline -syn region euphoria4String start=/b"\|x"/ end=/"/ -syn region euphoria4String start=/`/ end=/`/ -syn region euphoria4String start=/"""/ end=/"""/ - -" Binary/Octal/Decimal/Hexadecimal integer: -syn match euphoria4Number "\<0b[01_]\+\>" -syn match euphoria4Number "\<0t[0-7_]\+\>" -syn match euphoria4Number "\<0d[0-9_]\+\>" -syn match euphoria4Number "\<0x[0-9A-Fa-f_]\+\>" -syn match euphoria4Number "#[0-9A-Fa-f_]\+\>" - -" Integer/Floating point without a dot: -syn match euphoria4Number "\<\d\+\>" -" Floating point with dot: -syn match euphoria4Number "\<\d\+\.\d*\>" -" Floating point starting with a dot: -syn match euphoria4Number "\.\d\+\>" -" Boolean constants: -syn keyword euphoria4Boolean true TRUE false FALSE - -" Define the default highlighting. -" Only used when an item doesn't have highlighting yet: -hi def link euphoria4Comment Comment -hi def link euphoria4String String -hi def link euphoria4Char Character -hi def link euphoria4Number Number -hi def link euphoria4Boolean Boolean -hi def link euphoria4Builtin Identifier -hi def link euphoria4Library Function -hi def link euphoria4Type Type -hi def link euphoria4Keyword Statement -hi def link euphoria4Operator Statement -hi def link euphoria4Debug Debug -hi def link euphoria4Delimit Delimiter -hi def link euphoria4PreProc PreProc - -let b:current_syntax = "euphoria4" - -" Restore current compatible-options: -let &cpo = s:save_cpo -unlet s:save_cpo - diff --git a/uvim/runtime/syntax/eviews.mnv b/uvim/runtime/syntax/eviews.mnv new file mode 100644 index 0000000000..82cb5d3341 --- /dev/null +++ b/uvim/runtime/syntax/eviews.mnv @@ -0,0 +1,87 @@ +" MNV syntax file +" Language: Eviews (http://www.eviews.com) +" Maintainer: Vaidotas Zemlys +" Last Change: 2006 Apr 30 +" Filenames: *.prg +" URL: http://uosis.mif.vu.lt/~zemlys/mnv-syntax/eviews.mnv +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +setlocal iskeyword=@,48-57,_,. + +syn case match + +" Comment +syn match eComment /\'.*/ + +" Constant +" string enclosed in double quotes +syn region eString start=/"/ skip=/\\\\\|\\"/ end=/"/ +" number with no fractional part or exponent +syn match eNumber /\d\+/ +" floating point number with integer and fractional parts and optional exponent +syn match eFloat /\d\+\.\d*\([Ee][-+]\=\d\+\)\=/ +" floating point number with no integer part and optional exponent +syn match eFloat /\.\d\+\([Ee][-+]\=\d\+\)\=/ +" floating point number with no fractional part and optional exponent +syn match eFloat /\d\+[Ee][-+]\=\d\+/ + +" Identifier +" identifier with leading letter and optional following keyword characters +syn match eIdentifier /\a\k*/ + +" Eviews Programing Language +syn keyword eProgLang @date else endif @errorcount @evpath exitloop for if @isobject next poff pon return statusline step stop @temppath then @time to @toc wend while include call subroutine endsub and or + +" Eviews Objects, Views and Procedures +syn keyword eOVP alpha coef equation graph group link logl matrix model pool rowvector sample scalar series sspace sym system table text valmap var vector + + +" Standard Eviews Commands +syn keyword eStdCmd 3sls add addassign addinit addtext align alpha append arch archtest area arlm arma arroots auto axis bar bdstest binary block boxplot boxplotby bplabel cause ccopy cd cdfplot cellipse censored cfetch checkderivs chow clabel cleartext close coef coefcov coint comment control copy cor correl correlsq count cov create cross data datelabel dates db dbcopy dbcreate dbdelete dbopen dbpack dbrebuild dbrename dbrepair decomp define delete derivs describe displayname do draw driconvert drop dtable ec edftest endog eqs equation errbar exclude exit expand fetch fill fiml fit forecast freeze freq frml garch genr gmm grads graph group hconvert hfetch hilo hist hlabel hpf impulse jbera kdensity kerfit label laglen legend line linefit link linkto load logit logl ls makecoint makederivs makeendog makefilter makegarch makegrads makegraph makegroup makelimits makemodel makeregs makeresids makesignals makestates makestats makesystem map matrix means merge metafile ml model msg name nnfit open options ordered output override pageappend pagecontract pagecopy pagecreate pagedelete pageload pagerename pagesave pageselect pagestack pagestruct pageunstack param pcomp pie pool predict print probit program qqplot qstats range read rename representations resample reset residcor residcov resids results rls rndint rndseed rowvector run sample save scalar scale scat scatmat scenario seas seasplot series set setbpelem setcell setcolwidth setconvert setelem setfillcolor setfont setformat setheight setindent setjust setline setlines setmerge settextcolor setwidth sheet show signalgraphs smooth smpl solve solveopt sort spec spike sspace statby statefinal stategraphs stateinit stats statusline stomna store structure sur svar sym system table template testadd testbtw testby testdrop testexog testfit testlags teststat text tic toc trace tramoseats tsls unlink update updatecoefs uroot usage valmap var vars vector wald wfcreate wfopen wfsave wfselect white wls workfile write wtsls x11 x12 xy xyline xypair + +" Constant Identifier +syn match eConstant /\!\k*/ +" String Identifier +syn match eStringId /%\k*/ +" Command Identifier +syn match eCommand /@\k*/ + +" Special +syn match eDelimiter /[,;:]/ + +" Error +syn region eRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rError,rBraceError,rCurlyError +syn region eRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rError,rBraceError,rParenError +syn region eRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ transparent contains=ALLBUT,rError,rCurlyError,rParenError +syn match eError /[)\]}]/ +syn match eBraceError /[)}]/ contained +syn match eCurlyError /[)\]]/ contained +syn match eParenError /[\]}]/ contained + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet +hi def link eComment Comment +hi def link eConstant Identifier +hi def link eStringId Identifier +hi def link eCommand Type +hi def link eString String +hi def link eNumber Number +hi def link eBoolean Boolean +hi def link eFloat Float +hi def link eConditional Conditional +hi def link eProgLang Statement +hi def link eOVP Statement +hi def link eStdCmd Statement +hi def link eIdentifier Normal +hi def link eDelimiter Delimiter +hi def link eError Error +hi def link eBraceError Error +hi def link eCurlyError Error +hi def link eParenError Error + +let b:current_syntax="eviews" + +" mnv: ts=8 sw=2 diff --git a/uvim/runtime/syntax/eviews.vim b/uvim/runtime/syntax/eviews.vim deleted file mode 100644 index 03cfb25e60..0000000000 --- a/uvim/runtime/syntax/eviews.vim +++ /dev/null @@ -1,87 +0,0 @@ -" Vim syntax file -" Language: Eviews (http://www.eviews.com) -" Maintainer: Vaidotas Zemlys -" Last Change: 2006 Apr 30 -" Filenames: *.prg -" URL: http://uosis.mif.vu.lt/~zemlys/vim-syntax/eviews.vim -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -setlocal iskeyword=@,48-57,_,. - -syn case match - -" Comment -syn match eComment /\'.*/ - -" Constant -" string enclosed in double quotes -syn region eString start=/"/ skip=/\\\\\|\\"/ end=/"/ -" number with no fractional part or exponent -syn match eNumber /\d\+/ -" floating point number with integer and fractional parts and optional exponent -syn match eFloat /\d\+\.\d*\([Ee][-+]\=\d\+\)\=/ -" floating point number with no integer part and optional exponent -syn match eFloat /\.\d\+\([Ee][-+]\=\d\+\)\=/ -" floating point number with no fractional part and optional exponent -syn match eFloat /\d\+[Ee][-+]\=\d\+/ - -" Identifier -" identifier with leading letter and optional following keyword characters -syn match eIdentifier /\a\k*/ - -" Eviews Programing Language -syn keyword eProgLang @date else endif @errorcount @evpath exitloop for if @isobject next poff pon return statusline step stop @temppath then @time to @toc wend while include call subroutine endsub and or - -" Eviews Objects, Views and Procedures -syn keyword eOVP alpha coef equation graph group link logl matrix model pool rowvector sample scalar series sspace sym system table text valmap var vector - - -" Standard Eviews Commands -syn keyword eStdCmd 3sls add addassign addinit addtext align alpha append arch archtest area arlm arma arroots auto axis bar bdstest binary block boxplot boxplotby bplabel cause ccopy cd cdfplot cellipse censored cfetch checkderivs chow clabel cleartext close coef coefcov coint comment control copy cor correl correlsq count cov create cross data datelabel dates db dbcopy dbcreate dbdelete dbopen dbpack dbrebuild dbrename dbrepair decomp define delete derivs describe displayname do draw driconvert drop dtable ec edftest endog eqs equation errbar exclude exit expand fetch fill fiml fit forecast freeze freq frml garch genr gmm grads graph group hconvert hfetch hilo hist hlabel hpf impulse jbera kdensity kerfit label laglen legend line linefit link linkto load logit logl ls makecoint makederivs makeendog makefilter makegarch makegrads makegraph makegroup makelimits makemodel makeregs makeresids makesignals makestates makestats makesystem map matrix means merge metafile ml model msg name nnfit open options ordered output override pageappend pagecontract pagecopy pagecreate pagedelete pageload pagerename pagesave pageselect pagestack pagestruct pageunstack param pcomp pie pool predict print probit program qqplot qstats range read rename representations resample reset residcor residcov resids results rls rndint rndseed rowvector run sample save scalar scale scat scatmat scenario seas seasplot series set setbpelem setcell setcolwidth setconvert setelem setfillcolor setfont setformat setheight setindent setjust setline setlines setmerge settextcolor setwidth sheet show signalgraphs smooth smpl solve solveopt sort spec spike sspace statby statefinal stategraphs stateinit stats statusline stomna store structure sur svar sym system table template testadd testbtw testby testdrop testexog testfit testlags teststat text tic toc trace tramoseats tsls unlink update updatecoefs uroot usage valmap var vars vector wald wfcreate wfopen wfsave wfselect white wls workfile write wtsls x11 x12 xy xyline xypair - -" Constant Identifier -syn match eConstant /\!\k*/ -" String Identifier -syn match eStringId /%\k*/ -" Command Identifier -syn match eCommand /@\k*/ - -" Special -syn match eDelimiter /[,;:]/ - -" Error -syn region eRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rError,rBraceError,rCurlyError -syn region eRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rError,rBraceError,rParenError -syn region eRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ transparent contains=ALLBUT,rError,rCurlyError,rParenError -syn match eError /[)\]}]/ -syn match eBraceError /[)}]/ contained -syn match eCurlyError /[)\]]/ contained -syn match eParenError /[\]}]/ contained - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet -hi def link eComment Comment -hi def link eConstant Identifier -hi def link eStringId Identifier -hi def link eCommand Type -hi def link eString String -hi def link eNumber Number -hi def link eBoolean Boolean -hi def link eFloat Float -hi def link eConditional Conditional -hi def link eProgLang Statement -hi def link eOVP Statement -hi def link eStdCmd Statement -hi def link eIdentifier Normal -hi def link eDelimiter Delimiter -hi def link eError Error -hi def link eBraceError Error -hi def link eCurlyError Error -hi def link eParenError Error - -let b:current_syntax="eviews" - -" vim: ts=8 sw=2 diff --git a/uvim/runtime/syntax/exim.mnv b/uvim/runtime/syntax/exim.mnv new file mode 100644 index 0000000000..cb7646d56b --- /dev/null +++ b/uvim/runtime/syntax/exim.mnv @@ -0,0 +1,105 @@ +" MNV syntax file +" This is a GENERATED FILE. Please always refer to source file at the URI below. +" Language: Exim configuration file exim.conf +" Maintainer: David Ne\v{c}as (Yeti) +" Last Change: 2002-10-15 +" URL: http://trific.ath.cx/Ftp/mnv/syntax/exim.mnv + +" Setup +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn case match + +" Base constructs +syn match eximComment "^\s*#.*$" contains=eximFixme +syn match eximComment "\s#.*$" contains=eximFixme +syn keyword eximFixme FIXME TODO XXX NOT contained +syn keyword eximConstant true false yes no +syn match eximNumber "\<\d\+[KM]\?\>" +syn match eximNumber "\<0[xX]\x\+\>" +syn match eximNumber "\<\d\+\(\.\d\{,3}\)\?\>" +syn match eximTime "\<\(\d\+[wdhms]\)\+\>" +syn match eximSpecialChar "\\[\\nrt]\|\\\o\{1,3}\|\\x\x\{1,2}" +syn region eximMacroDefinition matchgroup=eximMacroName start="^[A-Z]\i*\s*=" end="$" skip="\\\s*$" transparent + +syn match eximDriverName "\<\(aliasfile\|appendfile\|autoreply\|domainlist\|forwardfile\|ipliteral\|iplookup\|lmtp\|localuser\|lookuphost\|pipe\|queryprogram\|smartuser\|smtp\)\>" +syn match eximTransport "^\s*\i\+:" + +" Options +syn keyword eximEnd end +syn keyword eximKeyword accept_8bitmime accept_timeout admin_groups allow_mx_to_ip always_bcc auth_always_advertise auth_hosts auth_over_tls_hosts auto_thaw bi_command check_log_inodes check_log_space check_spool_inodes check_spool_space collapse_source_routes daemon_smtp_port daemon_smtp_service debug_level delay_warning delay_warning_condition deliver_load_max deliver_queue_load_max delivery_date_remove dns_again_means_nonexist dns_check_names dns_check_names_pattern dns_retrans dns_ipv4_lookup dns_retry envelope_to_remove errmsg_text errmsg_file errors_address errors_copy errors_reply_to exim_group exim_path exim_user extract_addresses_remove_arguments finduser_retries forbid_domain_literals freeze_tell_mailmaster gecos_name gecos_pattern headers_check_syntax headers_checks_fail headers_sender_verify headers_sender_verify_errmsg helo_accept_junk_hosts helo_strict_syntax helo_verify hold_domains host_accept_relay host_auth_accept_relay host_lookup host_reject host_reject_recipients hosts_treat_as_local ignore_errmsg_errors ignore_errmsg_errors_after ignore_fromline_hosts ignore_fromline_local keep_malformed kill_ip_options ldap_default_servers local_domains local_domains_include_host local_domains_include_host_literals local_from_check local_from_prefix local_from_suffix local_interfaces localhost_number locally_caseless log_all_parents log_arguments log_file_path log_incoming_port log_ip_options log_level log_queue_run_level log_received_recipients log_received_sender log_refused_recipients log_rewrites log_sender_on_delivery log_smtp_confirmation log_smtp_connections log_smtp_syntax_errors log_subject lookup_open_max max_username_length message_body_visible message_filter message_filter_directory_transport message_filter_directory2_transport message_filter_file_transport message_filter_group message_filter_pipe_transport message_filter_reply_transport message_filter_user message_id_header_text message_size_limit message_size_limit_count_recipients move_frozen_messages mysql_servers never_users nobody_group nobody_user percent_hack_domains perl_at_start perl_startup pgsql_servers pid_file_path preserve_message_logs primary_hostname print_topbitchars prod_requires_admin prohibition_message qualify_domain qualify_recipient queue_list_requires_admin queue_only queue_only_file queue_only_load queue_remote_domains queue_run_in_order queue_run_max queue_smtp_domains rbl_domains rbl_hosts rbl_log_headers rbl_log_rcpt_count rbl_reject_recipients rbl_warn_header received_header_text received_headers_max receiver_try_verify receiver_unqualified_hosts receiver_verify receiver_verify_addresses receiver_verify_hosts receiver_verify_senders recipients_max recipients_max_reject recipients_reject_except recipients_reject_except_senders refuse_ip_options relay_domains relay_domains_include_local_mx relay_match_host_or_sender remote_max_parallel remote_sort retry_data_expire retry_interval_max return_path_remove return_size_limit rfc1413_hosts rfc1413_query_timeout security sender_address_relay sender_address_relay_hosts sender_reject sender_reject_recipients sender_try_verify sender_unqualified_hosts sender_verify sender_verify_batch sender_verify_callback_domains sender_verify_callback_timeout sender_verify_fixup sender_verify_hosts sender_verify_hosts_callback sender_verify_max_retry_rate sender_verify_reject smtp_accept_keepalive smtp_accept_max smtp_accept_max_per_host smtp_accept_queue smtp_accept_queue_per_connection smtp_accept_reserve smtp_banner smtp_check_spool_space smtp_connect_backlog smtp_etrn_command smtp_etrn_hosts smtp_etrn_serialize smtp_expn_hosts smtp_load_reserve smtp_receive_timeout smtp_reserve_hosts smtp_verify split_spool_directory spool_directory strip_excess_angle_brackets strip_trailing_dot syslog_timestamp timeout_frozen_after timestamps_utc timezone tls_advertise_hosts tls_certificate tls_dhparam tls_host_accept_relay tls_hosts tls_log_cipher tls_log_peerdn tls_privatekey tls_verify_certificates tls_verify_ciphers tls_verify_hosts trusted_groups trusted_users unknown_login unknown_username untrusted_set_sender uucp_from_pattern uucp_from_sender warnmsg_file +syn keyword eximKeyword no_accept_8bitmime no_allow_mx_to_ip no_always_bcc no_auth_always_advertise no_collapse_source_routes no_delivery_date_remove no_dns_check_names no_envelope_to_remove no_extract_addresses_remove_arguments no_forbid_domain_literals no_freeze_tell_mailmaster no_headers_check_syntax no_headers_checks_fail no_headers_sender_verify no_headers_sender_verify_errmsg no_helo_strict_syntax no_ignore_errmsg_errors no_ignore_fromline_local no_kill_ip_options no_local_domains_include_host no_local_domains_include_host_literals no_local_from_check no_locally_caseless no_log_all_parents no_log_arguments no_log_incoming_port no_log_ip_options no_log_received_recipients no_log_received_sender no_log_refused_recipients no_log_rewrites no_log_sender_on_delivery no_log_smtp_confirmation no_log_smtp_connections no_log_smtp_syntax_errors no_log_subject no_message_size_limit_count_recipients no_move_frozen_messages no_preserve_message_logs no_print_topbitchars no_prod_requires_admin no_queue_list_requires_admin no_queue_only no_rbl_log_headers no_rbl_log_rcpt_count no_rbl_reject_recipients no_receiver_try_verify no_receiver_verify no_recipients_max_reject no_refuse_ip_options no_relay_domains_include_local_mx no_relay_match_host_or_sender no_return_path_remove no_sender_try_verify no_sender_verify no_sender_verify_batch no_sender_verify_fixup no_sender_verify_reject no_smtp_accept_keepalive no_smtp_check_spool_space no_smtp_etrn_serialize no_smtp_verify no_split_spool_directory no_strip_excess_angle_brackets no_strip_trailing_dot no_syslog_timestamp no_timestamps_utc no_tls_log_cipher no_tls_log_peerdn no_untrusted_set_sender +syn keyword eximKeyword not_accept_8bitmime not_allow_mx_to_ip not_always_bcc not_auth_always_advertise not_collapse_source_routes not_delivery_date_remove not_dns_check_names not_envelope_to_remove not_extract_addresses_remove_arguments not_forbid_domain_literals not_freeze_tell_mailmaster not_headers_check_syntax not_headers_checks_fail not_headers_sender_verify not_headers_sender_verify_errmsg not_helo_strict_syntax not_ignore_errmsg_errors not_ignore_fromline_local not_kill_ip_options not_local_domains_include_host not_local_domains_include_host_literals not_local_from_check not_locally_caseless not_log_all_parents not_log_arguments not_log_incoming_port not_log_ip_options not_log_received_recipients not_log_received_sender not_log_refused_recipients not_log_rewrites not_log_sender_on_delivery not_log_smtp_confirmation not_log_smtp_connections not_log_smtp_syntax_errors not_log_subject not_message_size_limit_count_recipients not_move_frozen_messages not_preserve_message_logs not_print_topbitchars not_prod_requires_admin not_queue_list_requires_admin not_queue_only not_rbl_log_headers not_rbl_log_rcpt_count not_rbl_reject_recipients not_receiver_try_verify not_receiver_verify not_recipients_max_reject not_refuse_ip_options not_relay_domains_include_local_mx not_relay_match_host_or_sender not_return_path_remove not_sender_try_verify not_sender_verify not_sender_verify_batch not_sender_verify_fixup not_sender_verify_reject not_smtp_accept_keepalive not_smtp_check_spool_space not_smtp_etrn_serialize not_smtp_verify not_split_spool_directory not_strip_excess_angle_brackets not_strip_trailing_dot not_syslog_timestamp not_timestamps_utc not_tls_log_cipher not_tls_log_peerdn not_untrusted_set_sender +syn keyword eximKeyword body_only debug_print delivery_date_add driver envelope_to_add headers_add headers_only headers_remove headers_rewrite message_size_limit return_path return_path_add shadow_condition shadow_transport transport_filter +syn keyword eximKeyword no_body_only no_delivery_date_add no_envelope_to_add no_headers_only no_return_path_add +syn keyword eximKeyword not_body_only not_delivery_date_add not_envelope_to_add not_headers_only not_return_path_add +syn keyword eximKeyword allow_fifo allow_symlink batch batch_max bsmtp bsmtp_helo check_group check_owner check_string create_directory create_file current_directory directory directory_mode escape_string file file_format file_must_exist from_hack group lock_fcntl_timeout lock_interval lock_retries lockfile_mode lockfile_timeout maildir_format maildir_retries maildir_tag mailstore_format mailstore_prefix mailstore_suffix mbx_format mode mode_fail_narrower notify_comsat prefix quota quota_filecount quota_is_inclusive quota_size_regex quota_warn_message quota_warn_threshold require_lockfile retry_use_local_part suffix use_crlf use_fcntl_lock use_lockfile use_mbx_lock user +syn keyword eximKeyword no_allow_fifo no_allow_symlink no_bsmtp_helo no_check_group no_check_owner no_create_directory no_file_must_exist no_from_hack no_maildir_format no_mailstore_format no_mbx_format no_mode_fail_narrower no_notify_comsat no_quota_is_inclusive no_require_lockfile no_retry_use_local_part no_use_crlf no_use_fcntl_lock no_use_lockfile no_use_mbx_lock +syn keyword eximKeyword not_allow_fifo not_allow_symlink not_bsmtp_helo not_check_group not_check_owner not_create_directory not_file_must_exist not_from_hack not_maildir_format not_mailstore_format not_mbx_format not_mode_fail_narrower not_notify_comsat not_quota_is_inclusive not_require_lockfile not_retry_use_local_part not_use_crlf not_use_fcntl_lock not_use_lockfile not_use_mbx_lock +syn keyword eximKeyword bcc cc file file_expand file_optional from group headers initgroups log mode once once_file_size once_repeat reply_to return_message subject text to user +syn keyword eximKeyword no_file_expand no_file_optional no_initgroups no_return_message +syn keyword eximKeyword not_file_expand not_file_optional not_initgroups not_return_message +syn keyword eximKeyword batch batch_max command group initgroups retry_use_local_part timeout user +syn keyword eximKeyword no_initgroups +syn keyword eximKeyword not_initgroups +syn keyword eximKeyword allow_commands batch batch_max bsmtp bsmtp_helo check_string command current_directory environment escape_string freeze_exec_fail from_hack group home_directory ignore_status initgroups log_defer_output log_fail_output log_output max_output path pipe_as_creator prefix restrict_to_path retry_use_local_part return_fail_output return_output suffix temp_errors timeout umask use_crlf use_shell user +syn keyword eximKeyword no_bsmtp_helo no_freeze_exec_fail no_from_hack no_ignore_status no_log_defer_output no_log_fail_output no_log_output no_pipe_as_creator no_restrict_to_path no_return_fail_output no_return_output no_use_crlf no_use_shell +syn keyword eximKeyword not_bsmtp_helo not_freeze_exec_fail not_from_hack not_ignore_status not_log_defer_output not_log_fail_output not_log_output not_pipe_as_creator not_restrict_to_path not_return_fail_output not_return_output not_use_crlf not_use_shell +syn keyword eximKeyword allow_localhost authenticate_hosts batch_max command_timeout connect_timeout data_timeout delay_after_cutoff dns_qualify_single dns_search_parents fallback_hosts final_timeout gethostbyname helo_data hosts hosts_avoid_tls hosts_require_tls hosts_override hosts_max_try hosts_randomize interface keepalive max_rcpt multi_domain mx_domains port protocol retry_include_ip_address serialize_hosts service size_addition tls_certificate tls_privatekey tls_verify_certificates tls_verify_ciphers +syn keyword eximKeyword no_allow_localhost no_delay_after_cutoff no_dns_qualify_single no_dns_search_parents no_gethostbyname no_hosts_override no_hosts_randomize no_keepalive no_multi_domain no_retry_include_ip_address +syn keyword eximKeyword not_allow_localhost not_delay_after_cutoff not_dns_qualify_single not_dns_search_parents not_gethostbyname not_hosts_override not_hosts_randomize not_keepalive not_multi_domain not_retry_include_ip_address +syn keyword eximKeyword condition debug_print domains driver errors_to fail_verify fail_verify_recipient fail_verify_sender fallback_hosts group headers_add headers_remove initgroups local_parts more require_files senders transport unseen user verify verify_only verify_recipient verify_sender +syn keyword eximKeyword no_fail_verify no_fail_verify_recipient no_fail_verify_sender no_initgroups no_more no_unseen no_verify no_verify_only no_verify_recipient no_verify_sender +syn keyword eximKeyword not_fail_verify not_fail_verify_recipient not_fail_verify_sender not_initgroups not_more not_unseen not_verify not_verify_only not_verify_recipient not_verify_sender +syn keyword eximKeyword current_directory expn home_directory new_director prefix prefix_optional suffix suffix_optional +syn keyword eximKeyword no_expn no_prefix_optional no_suffix_optional +syn keyword eximKeyword not_expn not_prefix_optional not_suffix_optional +syn keyword eximKeyword check_ancestor directory_transport directory2_transport file_transport forbid_file forbid_include forbid_pipe freeze_missing_include hide_child_in_errmsg modemask one_time owners owngroups pipe_transport qualify_preserve_domain rewrite skip_syntax_errors syntax_errors_text syntax_errors_to +syn keyword eximKeyword no_check_ancestor no_forbid_file no_forbid_include no_forbid_pipe no_freeze_missing_include no_hide_child_in_errmsg no_one_time no_qualify_preserve_domain no_rewrite no_skip_syntax_errors +syn keyword eximKeyword not_check_ancestor not_forbid_file not_forbid_include not_forbid_pipe not_freeze_missing_include not_hide_child_in_errmsg not_one_time not_qualify_preserve_domain not_rewrite not_skip_syntax_errors +syn keyword eximKeyword expand file forbid_special include_domain optional queries query search_type +syn keyword eximKeyword no_expand no_forbid_special no_include_domain no_optional +syn keyword eximKeyword not_expand not_forbid_special not_include_domain not_optional +syn keyword eximKeyword allow_system_actions check_group check_local_user data file file_directory filter forbid_filter_existstest forbid_filter_logwrite forbid_filter_lookup forbid_filter_perl forbid_filter_reply ignore_eacces ignore_enotdir match_directory reply_transport seteuid +syn keyword eximKeyword no_allow_system_actions no_check_local_user no_forbid_filter_reply no_forbid_filter_existstest no_forbid_filter_logwrite no_forbid_filter_lookup no_forbid_filter_perl no_forbid_filter_reply no_ignore_eacces no_ignore_enotdir no_seteuid +syn keyword eximKeyword not_allow_system_actions not_check_local_user not_forbid_filter_reply not_forbid_filter_existstest not_forbid_filter_logwrite not_forbid_filter_lookup not_forbid_filter_perl not_forbid_filter_reply not_ignore_eacces not_ignore_enotdir not_seteuid +syn keyword eximKeyword match_directory +syn keyword eximKeyword directory_transport directory2_transport file_transport forbid_file forbid_pipe hide_child_in_errmsg new_address panic_expansion_fail pipe_transport qualify_preserve_domain rewrite +syn keyword eximKeyword no_forbid_file no_forbid_pipe no_hide_child_in_errmsg no_panic_expansion_fail no_qualify_preserve_domain no_rewrite +syn keyword eximKeyword not_forbid_file not_forbid_pipe not_hide_child_in_errmsg not_panic_expansion_fail not_qualify_preserve_domain not_rewrite +syn keyword eximKeyword ignore_target_hosts pass_on_timeout self translate_ip_address +syn keyword eximKeyword no_pass_on_timeout +syn keyword eximKeyword not_pass_on_timeout +syn keyword eximKeyword host_find_failed hosts_randomize modemask owners owngroups qualify_single route_file route_list route_queries route_query search_parents search_type +syn keyword eximKeyword no_hosts_randomize no_qualify_single no_search_parents +syn keyword eximKeyword not_hosts_randomize not_qualify_single not_search_parents +syn keyword eximKeyword hosts optional port protocol query reroute response_pattern service timeout +syn keyword eximKeyword no_optional +syn keyword eximKeyword not_optional +syn keyword eximKeyword check_secondary_mx gethostbyname mx_domains qualify_single rewrite_headers search_parents widen_domains +syn keyword eximKeyword no_check_secondary_mx no_gethostbyname no_qualify_single no_search_parents +syn keyword eximKeyword not_check_secondary_mx not_gethostbyname not_qualify_single not_search_parents +syn keyword eximKeyword command command_group command_user current_directory timeout +syn keyword eximKeyword driver public_name server_set_id server_mail_auth_condition +syn keyword eximKeyword server_prompts server_condition client_send +syn keyword eximKeyword server_secret client_name client_secret + +" Define the default highlighting + +hi def link eximComment Comment +hi def link eximFixme Todo +hi def link eximEnd Keyword +hi def link eximNumber Number +hi def link eximDriverName Constant +hi def link eximConstant Constant +hi def link eximTime Constant +hi def link eximKeyword Type +hi def link eximSpecialChar Special +hi def link eximMacroName Preproc +hi def link eximTransport Identifier + + +let b:current_syntax = "exim" diff --git a/uvim/runtime/syntax/exim.vim b/uvim/runtime/syntax/exim.vim deleted file mode 100644 index 4edc0d7948..0000000000 --- a/uvim/runtime/syntax/exim.vim +++ /dev/null @@ -1,105 +0,0 @@ -" Vim syntax file -" This is a GENERATED FILE. Please always refer to source file at the URI below. -" Language: Exim configuration file exim.conf -" Maintainer: David Ne\v{c}as (Yeti) -" Last Change: 2002-10-15 -" URL: http://trific.ath.cx/Ftp/vim/syntax/exim.vim - -" Setup -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn case match - -" Base constructs -syn match eximComment "^\s*#.*$" contains=eximFixme -syn match eximComment "\s#.*$" contains=eximFixme -syn keyword eximFixme FIXME TODO XXX NOT contained -syn keyword eximConstant true false yes no -syn match eximNumber "\<\d\+[KM]\?\>" -syn match eximNumber "\<0[xX]\x\+\>" -syn match eximNumber "\<\d\+\(\.\d\{,3}\)\?\>" -syn match eximTime "\<\(\d\+[wdhms]\)\+\>" -syn match eximSpecialChar "\\[\\nrt]\|\\\o\{1,3}\|\\x\x\{1,2}" -syn region eximMacroDefinition matchgroup=eximMacroName start="^[A-Z]\i*\s*=" end="$" skip="\\\s*$" transparent - -syn match eximDriverName "\<\(aliasfile\|appendfile\|autoreply\|domainlist\|forwardfile\|ipliteral\|iplookup\|lmtp\|localuser\|lookuphost\|pipe\|queryprogram\|smartuser\|smtp\)\>" -syn match eximTransport "^\s*\i\+:" - -" Options -syn keyword eximEnd end -syn keyword eximKeyword accept_8bitmime accept_timeout admin_groups allow_mx_to_ip always_bcc auth_always_advertise auth_hosts auth_over_tls_hosts auto_thaw bi_command check_log_inodes check_log_space check_spool_inodes check_spool_space collapse_source_routes daemon_smtp_port daemon_smtp_service debug_level delay_warning delay_warning_condition deliver_load_max deliver_queue_load_max delivery_date_remove dns_again_means_nonexist dns_check_names dns_check_names_pattern dns_retrans dns_ipv4_lookup dns_retry envelope_to_remove errmsg_text errmsg_file errors_address errors_copy errors_reply_to exim_group exim_path exim_user extract_addresses_remove_arguments finduser_retries forbid_domain_literals freeze_tell_mailmaster gecos_name gecos_pattern headers_check_syntax headers_checks_fail headers_sender_verify headers_sender_verify_errmsg helo_accept_junk_hosts helo_strict_syntax helo_verify hold_domains host_accept_relay host_auth_accept_relay host_lookup host_reject host_reject_recipients hosts_treat_as_local ignore_errmsg_errors ignore_errmsg_errors_after ignore_fromline_hosts ignore_fromline_local keep_malformed kill_ip_options ldap_default_servers local_domains local_domains_include_host local_domains_include_host_literals local_from_check local_from_prefix local_from_suffix local_interfaces localhost_number locally_caseless log_all_parents log_arguments log_file_path log_incoming_port log_ip_options log_level log_queue_run_level log_received_recipients log_received_sender log_refused_recipients log_rewrites log_sender_on_delivery log_smtp_confirmation log_smtp_connections log_smtp_syntax_errors log_subject lookup_open_max max_username_length message_body_visible message_filter message_filter_directory_transport message_filter_directory2_transport message_filter_file_transport message_filter_group message_filter_pipe_transport message_filter_reply_transport message_filter_user message_id_header_text message_size_limit message_size_limit_count_recipients move_frozen_messages mysql_servers never_users nobody_group nobody_user percent_hack_domains perl_at_start perl_startup pgsql_servers pid_file_path preserve_message_logs primary_hostname print_topbitchars prod_requires_admin prohibition_message qualify_domain qualify_recipient queue_list_requires_admin queue_only queue_only_file queue_only_load queue_remote_domains queue_run_in_order queue_run_max queue_smtp_domains rbl_domains rbl_hosts rbl_log_headers rbl_log_rcpt_count rbl_reject_recipients rbl_warn_header received_header_text received_headers_max receiver_try_verify receiver_unqualified_hosts receiver_verify receiver_verify_addresses receiver_verify_hosts receiver_verify_senders recipients_max recipients_max_reject recipients_reject_except recipients_reject_except_senders refuse_ip_options relay_domains relay_domains_include_local_mx relay_match_host_or_sender remote_max_parallel remote_sort retry_data_expire retry_interval_max return_path_remove return_size_limit rfc1413_hosts rfc1413_query_timeout security sender_address_relay sender_address_relay_hosts sender_reject sender_reject_recipients sender_try_verify sender_unqualified_hosts sender_verify sender_verify_batch sender_verify_callback_domains sender_verify_callback_timeout sender_verify_fixup sender_verify_hosts sender_verify_hosts_callback sender_verify_max_retry_rate sender_verify_reject smtp_accept_keepalive smtp_accept_max smtp_accept_max_per_host smtp_accept_queue smtp_accept_queue_per_connection smtp_accept_reserve smtp_banner smtp_check_spool_space smtp_connect_backlog smtp_etrn_command smtp_etrn_hosts smtp_etrn_serialize smtp_expn_hosts smtp_load_reserve smtp_receive_timeout smtp_reserve_hosts smtp_verify split_spool_directory spool_directory strip_excess_angle_brackets strip_trailing_dot syslog_timestamp timeout_frozen_after timestamps_utc timezone tls_advertise_hosts tls_certificate tls_dhparam tls_host_accept_relay tls_hosts tls_log_cipher tls_log_peerdn tls_privatekey tls_verify_certificates tls_verify_ciphers tls_verify_hosts trusted_groups trusted_users unknown_login unknown_username untrusted_set_sender uucp_from_pattern uucp_from_sender warnmsg_file -syn keyword eximKeyword no_accept_8bitmime no_allow_mx_to_ip no_always_bcc no_auth_always_advertise no_collapse_source_routes no_delivery_date_remove no_dns_check_names no_envelope_to_remove no_extract_addresses_remove_arguments no_forbid_domain_literals no_freeze_tell_mailmaster no_headers_check_syntax no_headers_checks_fail no_headers_sender_verify no_headers_sender_verify_errmsg no_helo_strict_syntax no_ignore_errmsg_errors no_ignore_fromline_local no_kill_ip_options no_local_domains_include_host no_local_domains_include_host_literals no_local_from_check no_locally_caseless no_log_all_parents no_log_arguments no_log_incoming_port no_log_ip_options no_log_received_recipients no_log_received_sender no_log_refused_recipients no_log_rewrites no_log_sender_on_delivery no_log_smtp_confirmation no_log_smtp_connections no_log_smtp_syntax_errors no_log_subject no_message_size_limit_count_recipients no_move_frozen_messages no_preserve_message_logs no_print_topbitchars no_prod_requires_admin no_queue_list_requires_admin no_queue_only no_rbl_log_headers no_rbl_log_rcpt_count no_rbl_reject_recipients no_receiver_try_verify no_receiver_verify no_recipients_max_reject no_refuse_ip_options no_relay_domains_include_local_mx no_relay_match_host_or_sender no_return_path_remove no_sender_try_verify no_sender_verify no_sender_verify_batch no_sender_verify_fixup no_sender_verify_reject no_smtp_accept_keepalive no_smtp_check_spool_space no_smtp_etrn_serialize no_smtp_verify no_split_spool_directory no_strip_excess_angle_brackets no_strip_trailing_dot no_syslog_timestamp no_timestamps_utc no_tls_log_cipher no_tls_log_peerdn no_untrusted_set_sender -syn keyword eximKeyword not_accept_8bitmime not_allow_mx_to_ip not_always_bcc not_auth_always_advertise not_collapse_source_routes not_delivery_date_remove not_dns_check_names not_envelope_to_remove not_extract_addresses_remove_arguments not_forbid_domain_literals not_freeze_tell_mailmaster not_headers_check_syntax not_headers_checks_fail not_headers_sender_verify not_headers_sender_verify_errmsg not_helo_strict_syntax not_ignore_errmsg_errors not_ignore_fromline_local not_kill_ip_options not_local_domains_include_host not_local_domains_include_host_literals not_local_from_check not_locally_caseless not_log_all_parents not_log_arguments not_log_incoming_port not_log_ip_options not_log_received_recipients not_log_received_sender not_log_refused_recipients not_log_rewrites not_log_sender_on_delivery not_log_smtp_confirmation not_log_smtp_connections not_log_smtp_syntax_errors not_log_subject not_message_size_limit_count_recipients not_move_frozen_messages not_preserve_message_logs not_print_topbitchars not_prod_requires_admin not_queue_list_requires_admin not_queue_only not_rbl_log_headers not_rbl_log_rcpt_count not_rbl_reject_recipients not_receiver_try_verify not_receiver_verify not_recipients_max_reject not_refuse_ip_options not_relay_domains_include_local_mx not_relay_match_host_or_sender not_return_path_remove not_sender_try_verify not_sender_verify not_sender_verify_batch not_sender_verify_fixup not_sender_verify_reject not_smtp_accept_keepalive not_smtp_check_spool_space not_smtp_etrn_serialize not_smtp_verify not_split_spool_directory not_strip_excess_angle_brackets not_strip_trailing_dot not_syslog_timestamp not_timestamps_utc not_tls_log_cipher not_tls_log_peerdn not_untrusted_set_sender -syn keyword eximKeyword body_only debug_print delivery_date_add driver envelope_to_add headers_add headers_only headers_remove headers_rewrite message_size_limit return_path return_path_add shadow_condition shadow_transport transport_filter -syn keyword eximKeyword no_body_only no_delivery_date_add no_envelope_to_add no_headers_only no_return_path_add -syn keyword eximKeyword not_body_only not_delivery_date_add not_envelope_to_add not_headers_only not_return_path_add -syn keyword eximKeyword allow_fifo allow_symlink batch batch_max bsmtp bsmtp_helo check_group check_owner check_string create_directory create_file current_directory directory directory_mode escape_string file file_format file_must_exist from_hack group lock_fcntl_timeout lock_interval lock_retries lockfile_mode lockfile_timeout maildir_format maildir_retries maildir_tag mailstore_format mailstore_prefix mailstore_suffix mbx_format mode mode_fail_narrower notify_comsat prefix quota quota_filecount quota_is_inclusive quota_size_regex quota_warn_message quota_warn_threshold require_lockfile retry_use_local_part suffix use_crlf use_fcntl_lock use_lockfile use_mbx_lock user -syn keyword eximKeyword no_allow_fifo no_allow_symlink no_bsmtp_helo no_check_group no_check_owner no_create_directory no_file_must_exist no_from_hack no_maildir_format no_mailstore_format no_mbx_format no_mode_fail_narrower no_notify_comsat no_quota_is_inclusive no_require_lockfile no_retry_use_local_part no_use_crlf no_use_fcntl_lock no_use_lockfile no_use_mbx_lock -syn keyword eximKeyword not_allow_fifo not_allow_symlink not_bsmtp_helo not_check_group not_check_owner not_create_directory not_file_must_exist not_from_hack not_maildir_format not_mailstore_format not_mbx_format not_mode_fail_narrower not_notify_comsat not_quota_is_inclusive not_require_lockfile not_retry_use_local_part not_use_crlf not_use_fcntl_lock not_use_lockfile not_use_mbx_lock -syn keyword eximKeyword bcc cc file file_expand file_optional from group headers initgroups log mode once once_file_size once_repeat reply_to return_message subject text to user -syn keyword eximKeyword no_file_expand no_file_optional no_initgroups no_return_message -syn keyword eximKeyword not_file_expand not_file_optional not_initgroups not_return_message -syn keyword eximKeyword batch batch_max command group initgroups retry_use_local_part timeout user -syn keyword eximKeyword no_initgroups -syn keyword eximKeyword not_initgroups -syn keyword eximKeyword allow_commands batch batch_max bsmtp bsmtp_helo check_string command current_directory environment escape_string freeze_exec_fail from_hack group home_directory ignore_status initgroups log_defer_output log_fail_output log_output max_output path pipe_as_creator prefix restrict_to_path retry_use_local_part return_fail_output return_output suffix temp_errors timeout umask use_crlf use_shell user -syn keyword eximKeyword no_bsmtp_helo no_freeze_exec_fail no_from_hack no_ignore_status no_log_defer_output no_log_fail_output no_log_output no_pipe_as_creator no_restrict_to_path no_return_fail_output no_return_output no_use_crlf no_use_shell -syn keyword eximKeyword not_bsmtp_helo not_freeze_exec_fail not_from_hack not_ignore_status not_log_defer_output not_log_fail_output not_log_output not_pipe_as_creator not_restrict_to_path not_return_fail_output not_return_output not_use_crlf not_use_shell -syn keyword eximKeyword allow_localhost authenticate_hosts batch_max command_timeout connect_timeout data_timeout delay_after_cutoff dns_qualify_single dns_search_parents fallback_hosts final_timeout gethostbyname helo_data hosts hosts_avoid_tls hosts_require_tls hosts_override hosts_max_try hosts_randomize interface keepalive max_rcpt multi_domain mx_domains port protocol retry_include_ip_address serialize_hosts service size_addition tls_certificate tls_privatekey tls_verify_certificates tls_verify_ciphers -syn keyword eximKeyword no_allow_localhost no_delay_after_cutoff no_dns_qualify_single no_dns_search_parents no_gethostbyname no_hosts_override no_hosts_randomize no_keepalive no_multi_domain no_retry_include_ip_address -syn keyword eximKeyword not_allow_localhost not_delay_after_cutoff not_dns_qualify_single not_dns_search_parents not_gethostbyname not_hosts_override not_hosts_randomize not_keepalive not_multi_domain not_retry_include_ip_address -syn keyword eximKeyword condition debug_print domains driver errors_to fail_verify fail_verify_recipient fail_verify_sender fallback_hosts group headers_add headers_remove initgroups local_parts more require_files senders transport unseen user verify verify_only verify_recipient verify_sender -syn keyword eximKeyword no_fail_verify no_fail_verify_recipient no_fail_verify_sender no_initgroups no_more no_unseen no_verify no_verify_only no_verify_recipient no_verify_sender -syn keyword eximKeyword not_fail_verify not_fail_verify_recipient not_fail_verify_sender not_initgroups not_more not_unseen not_verify not_verify_only not_verify_recipient not_verify_sender -syn keyword eximKeyword current_directory expn home_directory new_director prefix prefix_optional suffix suffix_optional -syn keyword eximKeyword no_expn no_prefix_optional no_suffix_optional -syn keyword eximKeyword not_expn not_prefix_optional not_suffix_optional -syn keyword eximKeyword check_ancestor directory_transport directory2_transport file_transport forbid_file forbid_include forbid_pipe freeze_missing_include hide_child_in_errmsg modemask one_time owners owngroups pipe_transport qualify_preserve_domain rewrite skip_syntax_errors syntax_errors_text syntax_errors_to -syn keyword eximKeyword no_check_ancestor no_forbid_file no_forbid_include no_forbid_pipe no_freeze_missing_include no_hide_child_in_errmsg no_one_time no_qualify_preserve_domain no_rewrite no_skip_syntax_errors -syn keyword eximKeyword not_check_ancestor not_forbid_file not_forbid_include not_forbid_pipe not_freeze_missing_include not_hide_child_in_errmsg not_one_time not_qualify_preserve_domain not_rewrite not_skip_syntax_errors -syn keyword eximKeyword expand file forbid_special include_domain optional queries query search_type -syn keyword eximKeyword no_expand no_forbid_special no_include_domain no_optional -syn keyword eximKeyword not_expand not_forbid_special not_include_domain not_optional -syn keyword eximKeyword allow_system_actions check_group check_local_user data file file_directory filter forbid_filter_existstest forbid_filter_logwrite forbid_filter_lookup forbid_filter_perl forbid_filter_reply ignore_eacces ignore_enotdir match_directory reply_transport seteuid -syn keyword eximKeyword no_allow_system_actions no_check_local_user no_forbid_filter_reply no_forbid_filter_existstest no_forbid_filter_logwrite no_forbid_filter_lookup no_forbid_filter_perl no_forbid_filter_reply no_ignore_eacces no_ignore_enotdir no_seteuid -syn keyword eximKeyword not_allow_system_actions not_check_local_user not_forbid_filter_reply not_forbid_filter_existstest not_forbid_filter_logwrite not_forbid_filter_lookup not_forbid_filter_perl not_forbid_filter_reply not_ignore_eacces not_ignore_enotdir not_seteuid -syn keyword eximKeyword match_directory -syn keyword eximKeyword directory_transport directory2_transport file_transport forbid_file forbid_pipe hide_child_in_errmsg new_address panic_expansion_fail pipe_transport qualify_preserve_domain rewrite -syn keyword eximKeyword no_forbid_file no_forbid_pipe no_hide_child_in_errmsg no_panic_expansion_fail no_qualify_preserve_domain no_rewrite -syn keyword eximKeyword not_forbid_file not_forbid_pipe not_hide_child_in_errmsg not_panic_expansion_fail not_qualify_preserve_domain not_rewrite -syn keyword eximKeyword ignore_target_hosts pass_on_timeout self translate_ip_address -syn keyword eximKeyword no_pass_on_timeout -syn keyword eximKeyword not_pass_on_timeout -syn keyword eximKeyword host_find_failed hosts_randomize modemask owners owngroups qualify_single route_file route_list route_queries route_query search_parents search_type -syn keyword eximKeyword no_hosts_randomize no_qualify_single no_search_parents -syn keyword eximKeyword not_hosts_randomize not_qualify_single not_search_parents -syn keyword eximKeyword hosts optional port protocol query reroute response_pattern service timeout -syn keyword eximKeyword no_optional -syn keyword eximKeyword not_optional -syn keyword eximKeyword check_secondary_mx gethostbyname mx_domains qualify_single rewrite_headers search_parents widen_domains -syn keyword eximKeyword no_check_secondary_mx no_gethostbyname no_qualify_single no_search_parents -syn keyword eximKeyword not_check_secondary_mx not_gethostbyname not_qualify_single not_search_parents -syn keyword eximKeyword command command_group command_user current_directory timeout -syn keyword eximKeyword driver public_name server_set_id server_mail_auth_condition -syn keyword eximKeyword server_prompts server_condition client_send -syn keyword eximKeyword server_secret client_name client_secret - -" Define the default highlighting - -hi def link eximComment Comment -hi def link eximFixme Todo -hi def link eximEnd Keyword -hi def link eximNumber Number -hi def link eximDriverName Constant -hi def link eximConstant Constant -hi def link eximTime Constant -hi def link eximKeyword Type -hi def link eximSpecialChar Special -hi def link eximMacroName Preproc -hi def link eximTransport Identifier - - -let b:current_syntax = "exim" diff --git a/uvim/runtime/syntax/expect.mnv b/uvim/runtime/syntax/expect.mnv new file mode 100644 index 0000000000..6a26a35e01 --- /dev/null +++ b/uvim/runtime/syntax/expect.mnv @@ -0,0 +1,103 @@ +" MNV syntax file +" Language: Expect +" Maintainer: Ralph Jennings +" Last Change: 2012 Jun 01 +" (Dominique Pelle added @Spell) + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" Reserved Expect variable prefixes. +syn match expectVariables "\$exp[a-zA-Z0-9_]*\|\$inter[a-zA-Z0-9_]*" +syn match expectVariables "\$spawn[a-zA-Z0-9_]*\|\$timeout[a-zA-Z0-9_]*" + +" Normal Expect variables. +syn match expectVariables "\$env([^)]*)" +syn match expectVariables "\$any_spawn_id\|\$argc\|\$argv\d*" +syn match expectVariables "\$user_spawn_id\|\$spawn_id\|\$timeout" + +" Expect variable arrays. +syn match expectVariables "\$\(expect\|interact\)_out([^)]*)" contains=expectOutVar + +" User defined variables. +syn match expectVariables "\$[a-zA-Z_][a-zA-Z0-9_]*" + +" Reserved Expect command prefixes. +syn match expectCommand "exp_[a-zA-Z0-9_]*" + +" Normal Expect commands. +syn keyword expectStatement close debug disconnect +syn keyword expectStatement exit exp_continue exp_internal exp_open +syn keyword expectStatement exp_pid exp_version +syn keyword expectStatement fork inter_return interpreter +syn keyword expectStatement log_file log_user match_max overlay +syn keyword expectStatement parity remove_nulls return +syn keyword expectStatement send send_error send_log send_user +syn keyword expectStatement sleep spawn strace stty system +syn keyword expectStatement timestamp trace trap wait + +" Tcl commands recognized and used by Expect. +syn keyword expectCommand proc +syn keyword expectConditional if else +syn keyword expectRepeat while for foreach + +" Expect commands with special arguments. +syn keyword expectStatement expect expect_after expect_background nextgroup=expectExpectOpts +syn keyword expectStatement expect_before expect_user interact nextgroup=expectExpectOpts + +syn match expectSpecial contained "\\." + +" Options for "expect", "expect_after", "expect_background", +" "expect_before", "expect_user", and "interact". +syn keyword expectExpectOpts default eof full_buffer null return timeout + +syn keyword expectOutVar contained spawn_id seconds seconds_total +syn keyword expectOutVar contained string start end buffer + +" Numbers (Tcl style). +syn case ignore + syn match expectNumber "\<\d\+\(u\=l\=\|lu\|f\)\>" + "floating point number, with dot, optional exponent + syn match expectNumber "\<\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=\>" + "floating point number, starting with a dot, optional exponent + syn match expectNumber "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>" + "floating point number, without dot, with exponent + syn match expectNumber "\<\d\+e[-+]\=\d\+[fl]\=\>" + "hex number + syn match expectNumber "0x[0-9a-f]\+\(u\=l\=\|lu\)\>" + "syn match expectIdentifier "\<[a-z_][a-z0-9_]*\>" +syn case match + +syn region expectString start=+"+ end=+"+ contains=@Spell,expectVariables,expectSpecial + +" Are these really comments in Expect? (I never use it, so I'm just guessing). +syn keyword expectTodo contained TODO +syn match expectComment "#.*$" contains=@Spell,expectTodo +syn match expectSharpBang "\%^#!.*" + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link expectSharpBang PreProc +hi def link expectVariables Special +hi def link expectCommand Function +hi def link expectStatement Statement +hi def link expectConditional Conditional +hi def link expectRepeat Repeat +hi def link expectExpectOpts Keyword +hi def link expectOutVar Special +hi def link expectSpecial Special +hi def link expectNumber Number + +hi def link expectString String + +hi def link expectComment Comment +hi def link expectTodo Todo +"hi def link expectIdentifier Identifier + + +let b:current_syntax = "expect" + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/expect.vim b/uvim/runtime/syntax/expect.vim deleted file mode 100644 index 75cbd3eddf..0000000000 --- a/uvim/runtime/syntax/expect.vim +++ /dev/null @@ -1,103 +0,0 @@ -" Vim syntax file -" Language: Expect -" Maintainer: Ralph Jennings -" Last Change: 2012 Jun 01 -" (Dominique Pelle added @Spell) - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" Reserved Expect variable prefixes. -syn match expectVariables "\$exp[a-zA-Z0-9_]*\|\$inter[a-zA-Z0-9_]*" -syn match expectVariables "\$spawn[a-zA-Z0-9_]*\|\$timeout[a-zA-Z0-9_]*" - -" Normal Expect variables. -syn match expectVariables "\$env([^)]*)" -syn match expectVariables "\$any_spawn_id\|\$argc\|\$argv\d*" -syn match expectVariables "\$user_spawn_id\|\$spawn_id\|\$timeout" - -" Expect variable arrays. -syn match expectVariables "\$\(expect\|interact\)_out([^)]*)" contains=expectOutVar - -" User defined variables. -syn match expectVariables "\$[a-zA-Z_][a-zA-Z0-9_]*" - -" Reserved Expect command prefixes. -syn match expectCommand "exp_[a-zA-Z0-9_]*" - -" Normal Expect commands. -syn keyword expectStatement close debug disconnect -syn keyword expectStatement exit exp_continue exp_internal exp_open -syn keyword expectStatement exp_pid exp_version -syn keyword expectStatement fork inter_return interpreter -syn keyword expectStatement log_file log_user match_max overlay -syn keyword expectStatement parity remove_nulls return -syn keyword expectStatement send send_error send_log send_user -syn keyword expectStatement sleep spawn strace stty system -syn keyword expectStatement timestamp trace trap wait - -" Tcl commands recognized and used by Expect. -syn keyword expectCommand proc -syn keyword expectConditional if else -syn keyword expectRepeat while for foreach - -" Expect commands with special arguments. -syn keyword expectStatement expect expect_after expect_background nextgroup=expectExpectOpts -syn keyword expectStatement expect_before expect_user interact nextgroup=expectExpectOpts - -syn match expectSpecial contained "\\." - -" Options for "expect", "expect_after", "expect_background", -" "expect_before", "expect_user", and "interact". -syn keyword expectExpectOpts default eof full_buffer null return timeout - -syn keyword expectOutVar contained spawn_id seconds seconds_total -syn keyword expectOutVar contained string start end buffer - -" Numbers (Tcl style). -syn case ignore - syn match expectNumber "\<\d\+\(u\=l\=\|lu\|f\)\>" - "floating point number, with dot, optional exponent - syn match expectNumber "\<\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=\>" - "floating point number, starting with a dot, optional exponent - syn match expectNumber "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>" - "floating point number, without dot, with exponent - syn match expectNumber "\<\d\+e[-+]\=\d\+[fl]\=\>" - "hex number - syn match expectNumber "0x[0-9a-f]\+\(u\=l\=\|lu\)\>" - "syn match expectIdentifier "\<[a-z_][a-z0-9_]*\>" -syn case match - -syn region expectString start=+"+ end=+"+ contains=@Spell,expectVariables,expectSpecial - -" Are these really comments in Expect? (I never use it, so I'm just guessing). -syn keyword expectTodo contained TODO -syn match expectComment "#.*$" contains=@Spell,expectTodo -syn match expectSharpBang "\%^#!.*" - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link expectSharpBang PreProc -hi def link expectVariables Special -hi def link expectCommand Function -hi def link expectStatement Statement -hi def link expectConditional Conditional -hi def link expectRepeat Repeat -hi def link expectExpectOpts Keyword -hi def link expectOutVar Special -hi def link expectSpecial Special -hi def link expectNumber Number - -hi def link expectString String - -hi def link expectComment Comment -hi def link expectTodo Todo -"hi def link expectIdentifier Identifier - - -let b:current_syntax = "expect" - -" vim: ts=8 diff --git a/uvim/runtime/syntax/exports.mnv b/uvim/runtime/syntax/exports.mnv new file mode 100644 index 0000000000..d814072ab6 --- /dev/null +++ b/uvim/runtime/syntax/exports.mnv @@ -0,0 +1,59 @@ +" MNV syntax file +" Language: exports +" Maintainer: This runtime file is looking for a new maintainer. +" Former Maintainer: Charles E. Campbell +" Last Change: Aug 31, 2016 +" Version: 8 +" Notes: This file includes both SysV and BSD 'isms +" Former URL: http://www.drchip.org/astronaut/mnv/index.html#SYNTAX_EXPORTS + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" Options: -word +syn keyword exportsKeyOptions contained alldirs nohide ro wsync +syn keyword exportsKeyOptions contained kerb o rw +syn match exportsOptError contained "[a-z]\+" + +" Settings: word= +syn keyword exportsKeySettings contained access anon root rw +syn match exportsSetError contained "[a-z]\+" + +" OptSet: -word= +syn keyword exportsKeyOptSet contained mapall maproot mask network +syn match exportsOptSetError contained "[a-z]\+" + +" options and settings +syn match exportsSettings "[a-z]\+=" contains=exportsKeySettings,exportsSetError +syn match exportsOptions "-[a-z]\+" contains=exportsKeyOptions,exportsOptError +syn match exportsOptSet "-[a-z]\+=" contains=exportsKeyOptSet,exportsOptSetError + +" Separators +syn match exportsSeparator "[,:]" + +" comments +syn match exportsComment "^\s*#.*$" contains=@Spell + +" Define the default highlighting. +if !exists("skip_exports_syntax_inits") + + hi def link exportsKeyOptSet exportsKeySettings + hi def link exportsOptSet exportsSettings + + hi def link exportsComment Comment + hi def link exportsKeyOptions Type + hi def link exportsKeySettings Keyword + hi def link exportsOptions Constant + hi def link exportsSeparator Constant + hi def link exportsSettings Constant + + hi def link exportsOptError Error + hi def link exportsOptSetError Error + hi def link exportsSetError Error + +endif + +let b:current_syntax = "exports" +" mnv: ts=10 diff --git a/uvim/runtime/syntax/exports.vim b/uvim/runtime/syntax/exports.vim deleted file mode 100644 index 00b7d80dfa..0000000000 --- a/uvim/runtime/syntax/exports.vim +++ /dev/null @@ -1,59 +0,0 @@ -" Vim syntax file -" Language: exports -" Maintainer: This runtime file is looking for a new maintainer. -" Former Maintainer: Charles E. Campbell -" Last Change: Aug 31, 2016 -" Version: 8 -" Notes: This file includes both SysV and BSD 'isms -" Former URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_EXPORTS - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" Options: -word -syn keyword exportsKeyOptions contained alldirs nohide ro wsync -syn keyword exportsKeyOptions contained kerb o rw -syn match exportsOptError contained "[a-z]\+" - -" Settings: word= -syn keyword exportsKeySettings contained access anon root rw -syn match exportsSetError contained "[a-z]\+" - -" OptSet: -word= -syn keyword exportsKeyOptSet contained mapall maproot mask network -syn match exportsOptSetError contained "[a-z]\+" - -" options and settings -syn match exportsSettings "[a-z]\+=" contains=exportsKeySettings,exportsSetError -syn match exportsOptions "-[a-z]\+" contains=exportsKeyOptions,exportsOptError -syn match exportsOptSet "-[a-z]\+=" contains=exportsKeyOptSet,exportsOptSetError - -" Separators -syn match exportsSeparator "[,:]" - -" comments -syn match exportsComment "^\s*#.*$" contains=@Spell - -" Define the default highlighting. -if !exists("skip_exports_syntax_inits") - - hi def link exportsKeyOptSet exportsKeySettings - hi def link exportsOptSet exportsSettings - - hi def link exportsComment Comment - hi def link exportsKeyOptions Type - hi def link exportsKeySettings Keyword - hi def link exportsOptions Constant - hi def link exportsSeparator Constant - hi def link exportsSettings Constant - - hi def link exportsOptError Error - hi def link exportsOptSetError Error - hi def link exportsSetError Error - -endif - -let b:current_syntax = "exports" -" vim: ts=10 diff --git a/uvim/runtime/syntax/falcon.mnv b/uvim/runtime/syntax/falcon.mnv new file mode 100644 index 0000000000..48c89e1d8d --- /dev/null +++ b/uvim/runtime/syntax/falcon.mnv @@ -0,0 +1,197 @@ +" MNV syntax file +" Language: Falcon +" Maintainer: Steven Oliver +" Website: http://github.com/steveno/mnv-files/blob/master/syntax/falcon.mnv +" Credits: Thanks the ruby.mnv authors, I borrowed a lot! +" Thanks to the lisp authors for the rainbow code! +" ------------------------------------------------------------------------------- + +" When wanted, highlight the trailing whitespace. +if exists("c_space_errors") + if !exists("c_no_trail_space_error") + syn match falconSpaceError "\s\+$" + endif + + if !exists("c_no_tab_space_error") + syn match falconSpaceError " \+\t"me=e-1 + endif +endif + +" Symbols +syn match falconSymbol "\(;\|,\|\.\)" +syn match falconSymbolOther "\(#\|@\)" display + +" Operators +syn match falconOperator "\(+\|-\|\*\|/\|=\|<\|>\|\*\*\|!=\|\~=\)" +syn match falconOperator "\(<=\|>=\|=>\|\.\.\|<<\|>>\|\"\)" + +" Clusters +syn region falconSymbol start="[]})\"':]\@\|::\)\@=\%(\s*(\)\@!" + +" Comments +syn match falconCommentSkip contained "^\s*\*\($\|\s\+\)" +syn region falconComment start="/\*" end="\*/" contains=@falconCommentGroup,falconSpaceError,falconTodo +syn region falconCommentL start="//" end="$" keepend contains=@falconCommentGroup,falconSpaceError,falconTodo +syn match falconSharpBang "\%^#!.*" display +syn sync ccomment falconComment + +" Numbers +syn match falconNumbers transparent "\<[+-]\=\d\|[+-]\=\.\d" contains=falconIntLiteral,falconFloatLiteral,falconHexadecimal,falconOctal +syn match falconNumbersCom contained transparent "\<[+-]\=\d\|[+-]\=\.\d" contains=falconIntLiteral,falconFloatLiteral,falconHexadecimal,falconOctal +syn match falconHexadecimal contained "\<0x\x\+\>" +syn match falconOctal contained "\<0\o\+\>" +syn match falconIntLiteral contained "[+-]\" +syn match falconFloatLiteral contained "[+-]\=\d\+\.\d*" +syn match falconFloatLiteral contained "[+-]\=\d*\.\d*" + +" Includes +syn keyword falconInclude load import + +" Expression Substitution and Backslash Notation +syn match falconStringEscape "\\\\\|\\[abefnrstv]\|\\\o\{1,3}\|\\x\x\{1,2}" contained display +syn match falconStringEscape "\%(\\M-\\C-\|\\C-\\M-\|\\M-\\c\|\\c\\M-\|\\c\|\\C-\|\\M-\)\%(\\\o\{1,3}\|\\x\x\{1,2}\|\\\=\S\)" contained display +syn region falconSymbol start="[]})\"':]\@" skip="\\\\\|\\>" fold contains=falconDelimEscape +syn region falconString matchgroup=falconStringDelimiter start="%[qw]\[" end="\]" skip="\\\\\|\\\]" fold contains=falconDelimEscape +syn region falconString matchgroup=falconStringDelimiter start="%[qw](" end=")" skip="\\\\\|\\)" fold contains=falconDelimEscape +syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold +syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]{" end="}" skip="\\\\\|\\}" fold contains=falconDelimEscape +syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]<" end=">" skip="\\\\\|\\>" fold contains=falconDelimEscape +syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]\[" end="\]" skip="\\\\\|\\\]" fold contains=falconDelimEscape +syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s](" end=")" skip="\\\\\|\\)" fold contains=falconDelimEscape + +" Generalized Double Quoted String and Array of Strings and Shell Command Output +syn region falconString matchgroup=falconStringDelimiter start="%\z([~`!@#$%^&*_\-+|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" contains=falconStringEscape fold +syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" contains=falconStringEscape fold +syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\={" end="}" skip="\\\\\|\\}" contains=falconStringEscape,falconDelimEscape fold +syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\=<" end=">" skip="\\\\\|\\>" contains=falconStringEscape,falconDelimEscape fold +syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\=\[" end="\]" skip="\\\\\|\\\]" contains=falconStringEscape,falconDelimEscape fold +syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\=(" end=")" skip="\\\\\|\\)" contains=falconStringEscape,falconDelimEscape fold + +syn region falconString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@ -" Website: http://github.com/steveno/vim-files/blob/master/syntax/falcon.vim -" Credits: Thanks the ruby.vim authors, I borrowed a lot! -" Thanks to the lisp authors for the rainbow code! -" ------------------------------------------------------------------------------- - -" When wanted, highlight the trailing whitespace. -if exists("c_space_errors") - if !exists("c_no_trail_space_error") - syn match falconSpaceError "\s\+$" - endif - - if !exists("c_no_tab_space_error") - syn match falconSpaceError " \+\t"me=e-1 - endif -endif - -" Symbols -syn match falconSymbol "\(;\|,\|\.\)" -syn match falconSymbolOther "\(#\|@\)" display - -" Operators -syn match falconOperator "\(+\|-\|\*\|/\|=\|<\|>\|\*\*\|!=\|\~=\)" -syn match falconOperator "\(<=\|>=\|=>\|\.\.\|<<\|>>\|\"\)" - -" Clusters -syn region falconSymbol start="[]})\"':]\@\|::\)\@=\%(\s*(\)\@!" - -" Comments -syn match falconCommentSkip contained "^\s*\*\($\|\s\+\)" -syn region falconComment start="/\*" end="\*/" contains=@falconCommentGroup,falconSpaceError,falconTodo -syn region falconCommentL start="//" end="$" keepend contains=@falconCommentGroup,falconSpaceError,falconTodo -syn match falconSharpBang "\%^#!.*" display -syn sync ccomment falconComment - -" Numbers -syn match falconNumbers transparent "\<[+-]\=\d\|[+-]\=\.\d" contains=falconIntLiteral,falconFloatLiteral,falconHexadecimal,falconOctal -syn match falconNumbersCom contained transparent "\<[+-]\=\d\|[+-]\=\.\d" contains=falconIntLiteral,falconFloatLiteral,falconHexadecimal,falconOctal -syn match falconHexadecimal contained "\<0x\x\+\>" -syn match falconOctal contained "\<0\o\+\>" -syn match falconIntLiteral contained "[+-]\" -syn match falconFloatLiteral contained "[+-]\=\d\+\.\d*" -syn match falconFloatLiteral contained "[+-]\=\d*\.\d*" - -" Includes -syn keyword falconInclude load import - -" Expression Substitution and Backslash Notation -syn match falconStringEscape "\\\\\|\\[abefnrstv]\|\\\o\{1,3}\|\\x\x\{1,2}" contained display -syn match falconStringEscape "\%(\\M-\\C-\|\\C-\\M-\|\\M-\\c\|\\c\\M-\|\\c\|\\C-\|\\M-\)\%(\\\o\{1,3}\|\\x\x\{1,2}\|\\\=\S\)" contained display -syn region falconSymbol start="[]})\"':]\@" skip="\\\\\|\\>" fold contains=falconDelimEscape -syn region falconString matchgroup=falconStringDelimiter start="%[qw]\[" end="\]" skip="\\\\\|\\\]" fold contains=falconDelimEscape -syn region falconString matchgroup=falconStringDelimiter start="%[qw](" end=")" skip="\\\\\|\\)" fold contains=falconDelimEscape -syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold -syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]{" end="}" skip="\\\\\|\\}" fold contains=falconDelimEscape -syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]<" end=">" skip="\\\\\|\\>" fold contains=falconDelimEscape -syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]\[" end="\]" skip="\\\\\|\\\]" fold contains=falconDelimEscape -syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s](" end=")" skip="\\\\\|\\)" fold contains=falconDelimEscape - -" Generalized Double Quoted String and Array of Strings and Shell Command Output -syn region falconString matchgroup=falconStringDelimiter start="%\z([~`!@#$%^&*_\-+|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" contains=falconStringEscape fold -syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" contains=falconStringEscape fold -syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\={" end="}" skip="\\\\\|\\}" contains=falconStringEscape,falconDelimEscape fold -syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\=<" end=">" skip="\\\\\|\\>" contains=falconStringEscape,falconDelimEscape fold -syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\=\[" end="\]" skip="\\\\\|\\\]" contains=falconStringEscape,falconDelimEscape fold -syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\=(" end=")" skip="\\\\\|\\)" contains=falconStringEscape,falconDelimEscape fold - -syn region falconString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@ +" Last Change: 2010 May 27 +" Based on Java syntax file by Claudio Fleiner + +" Quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" keyword definitions +syn keyword fanExternal using native +syn keyword fanError goto void serializable volatile +syn keyword fanConditional if else switch +syn keyword fanRepeat do while for foreach each +syn keyword fanBoolean true false +syn keyword fanConstant null +syn keyword fanTypedef this super +syn keyword fanOperator new is isnot as +syn keyword fanLongOperator plus minus mult div mod get set slice lshift rshift and or xor inverse negate increment decrement equals compare +syn keyword fanType Void Bool Int Float Decimal Str Duration Uri Type Range List Map Obj +syn keyword fanStatement return +syn keyword fanStorageClass static const final +syn keyword fanSlot virtual override once +syn keyword fanField readonly +syn keyword fanExceptions throw try catch finally +syn keyword fanAssert assert +syn keyword fanTypedef class enum mixin +syn match fanFacet "@[_a-zA-Z][_a-zA-Z0-9_]*\>" +syn keyword fanBranch break continue +syn keyword fanScopeDecl public internal protected private abstract + +if exists("fan_space_errors") + if !exists("fan_no_trail_space_error") + syn match fanSpaceError "\s\+$" + endif + if !exists("fan_no_tab_space_error") + syn match fanSpaceError " \+\t"me=e-1 + endif +endif + +syn region fanLabelRegion transparent matchgroup=fanLabel start="\" matchgroup=NONE end=":" contains=fanNumber,fanCharacter +syn keyword fanLabel default +syn keyword fanLabel case + +" The following cluster contains all fan groups except the contained ones +syn cluster fanTop add=fanExternal,fanError,fanConditional,fanRepeat,fanBoolean,fanConstant,fanTypedef,fanOperator,fanLongOperator,fanType,fanType,fanStatement,fanStorageClass,fanSlot,fanField,fanExceptions,fanAssert,fanClassDecl,fanTypedef,fanFacet,fanBranch,fanScopeDecl,fanLabelRegion,fanLabel + +" Comments +syn keyword fanTodo contained TODO FIXME XXX +syn region fanComment start="/\*" end="\*/" contains=@fanCommentSpecial,fanTodo,fanComment,@Spell +syn match fanCommentStar contained "^\s*\*[^/]"me=e-1 +syn match fanCommentStar contained "^\s*\*$" +syn match fanLineComment "//.*" contains=@fanCommentSpecial2,fanTodo,@Spell +syn match fanDocComment "\*\*.*" contains=@fanCommentSpecial2,fanTodo,@Spell +hi def link fanCommentString fanString +hi def link fanComment2String fanString +hi def link fanCommentCharacter fanCharacter + +syn cluster fanTop add=fanComment,fanLineComment,fanDocComment + +" match the special comment /**/ +syn match fanComment "/\*\*/" + +" Strings and constants +syn match fanSpecialError contained "\\." +syn match fanSpecialCharError contained "[^']" +syn match fanSpecialChar contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\|\$\)" +syn match fanStringSubst contained "\$[A-Za-z][A-Za-z_.]*" +syn match fanStringSubst contained "\${[^}]*}" +syn region fanString start=+"+ end=+"+ contains=fanSpecialChar,fanSpecialError,fanStringSubst,@Spell +syn region fanTripleString start=+"""+ end=+"""+ contains=fanSpecialChar,fanSpecialError,fanStringSubst,@Spell +syn region fanDSL start=+<|+ end=+|>+ +syn match fanUri "`[^`]*`" +syn match fanCharacter "'[^']*'" contains=fanSpecialChar,fanSpecialCharError +syn match fanCharacter "'\\''" contains=fanSpecialChar +syn match fanCharacter "'[^\\]'" +syn match fanNumber "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>" +syn match fanNumber "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\=" +syn match fanNumber "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>" +syn match fanNumber "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>" + +syn cluster fanTop add=fanString,fanCharacter,fanNumber,fanSpecial,fanStringError + +" The default highlighting. +hi def link fanBranch Conditional +hi def link fanLabel Label +hi def link fanUserLabel Label +hi def link fanConditional Conditional +hi def link fanRepeat Repeat +hi def link fanExceptions Exception +hi def link fanAssert Statement +hi def link fanStorageClass StorageClass +hi def link fanSlot StorageClass +hi def link fanField StorageClass +hi def link fanScopeDecl StorageClass +hi def link fanBoolean Boolean +hi def link fanSpecial Special +hi def link fanSpecialError Error +hi def link fanSpecialCharError Error +hi def link fanTripleString String +hi def link fanString String +hi def link fanDSL String +hi def link fanCharacter String +hi def link fanStringSubst Identifier +hi def link fanUri SpecialChar +hi def link fanSpecialChar SpecialChar +hi def link fanNumber Number +hi def link fanError Error +hi def link fanStringError Error +hi def link fanStatement Statement +hi def link fanOperator Operator +hi def link fanLongOperator Operator +hi def link fanComment Comment +hi def link fanDocComment Comment +hi def link fanLineComment Comment +hi def link fanConstant Constant +hi def link fanTypedef Typedef +hi def link fanTodo Todo +hi def link fanFacet PreProc + +hi def link fanCommentTitle SpecialComment +hi def link fanCommentStar SpecialComment +hi def link fanType Identifier +hi def link fanExternal Include + +hi def link fanSpaceError Error + +let b:current_syntax = "fan" + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/fan.vim b/uvim/runtime/syntax/fan.vim deleted file mode 100644 index fc193af062..0000000000 --- a/uvim/runtime/syntax/fan.vim +++ /dev/null @@ -1,132 +0,0 @@ -" Vim syntax file -" Language: Fantom -" Maintainer: Kamil Toman -" Last Change: 2010 May 27 -" Based on Java syntax file by Claudio Fleiner - -" Quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" keyword definitions -syn keyword fanExternal using native -syn keyword fanError goto void serializable volatile -syn keyword fanConditional if else switch -syn keyword fanRepeat do while for foreach each -syn keyword fanBoolean true false -syn keyword fanConstant null -syn keyword fanTypedef this super -syn keyword fanOperator new is isnot as -syn keyword fanLongOperator plus minus mult div mod get set slice lshift rshift and or xor inverse negate increment decrement equals compare -syn keyword fanType Void Bool Int Float Decimal Str Duration Uri Type Range List Map Obj -syn keyword fanStatement return -syn keyword fanStorageClass static const final -syn keyword fanSlot virtual override once -syn keyword fanField readonly -syn keyword fanExceptions throw try catch finally -syn keyword fanAssert assert -syn keyword fanTypedef class enum mixin -syn match fanFacet "@[_a-zA-Z][_a-zA-Z0-9_]*\>" -syn keyword fanBranch break continue -syn keyword fanScopeDecl public internal protected private abstract - -if exists("fan_space_errors") - if !exists("fan_no_trail_space_error") - syn match fanSpaceError "\s\+$" - endif - if !exists("fan_no_tab_space_error") - syn match fanSpaceError " \+\t"me=e-1 - endif -endif - -syn region fanLabelRegion transparent matchgroup=fanLabel start="\" matchgroup=NONE end=":" contains=fanNumber,fanCharacter -syn keyword fanLabel default -syn keyword fanLabel case - -" The following cluster contains all fan groups except the contained ones -syn cluster fanTop add=fanExternal,fanError,fanConditional,fanRepeat,fanBoolean,fanConstant,fanTypedef,fanOperator,fanLongOperator,fanType,fanType,fanStatement,fanStorageClass,fanSlot,fanField,fanExceptions,fanAssert,fanClassDecl,fanTypedef,fanFacet,fanBranch,fanScopeDecl,fanLabelRegion,fanLabel - -" Comments -syn keyword fanTodo contained TODO FIXME XXX -syn region fanComment start="/\*" end="\*/" contains=@fanCommentSpecial,fanTodo,fanComment,@Spell -syn match fanCommentStar contained "^\s*\*[^/]"me=e-1 -syn match fanCommentStar contained "^\s*\*$" -syn match fanLineComment "//.*" contains=@fanCommentSpecial2,fanTodo,@Spell -syn match fanDocComment "\*\*.*" contains=@fanCommentSpecial2,fanTodo,@Spell -hi def link fanCommentString fanString -hi def link fanComment2String fanString -hi def link fanCommentCharacter fanCharacter - -syn cluster fanTop add=fanComment,fanLineComment,fanDocComment - -" match the special comment /**/ -syn match fanComment "/\*\*/" - -" Strings and constants -syn match fanSpecialError contained "\\." -syn match fanSpecialCharError contained "[^']" -syn match fanSpecialChar contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\|\$\)" -syn match fanStringSubst contained "\$[A-Za-z][A-Za-z_.]*" -syn match fanStringSubst contained "\${[^}]*}" -syn region fanString start=+"+ end=+"+ contains=fanSpecialChar,fanSpecialError,fanStringSubst,@Spell -syn region fanTripleString start=+"""+ end=+"""+ contains=fanSpecialChar,fanSpecialError,fanStringSubst,@Spell -syn region fanDSL start=+<|+ end=+|>+ -syn match fanUri "`[^`]*`" -syn match fanCharacter "'[^']*'" contains=fanSpecialChar,fanSpecialCharError -syn match fanCharacter "'\\''" contains=fanSpecialChar -syn match fanCharacter "'[^\\]'" -syn match fanNumber "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>" -syn match fanNumber "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\=" -syn match fanNumber "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>" -syn match fanNumber "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>" - -syn cluster fanTop add=fanString,fanCharacter,fanNumber,fanSpecial,fanStringError - -" The default highlighting. -hi def link fanBranch Conditional -hi def link fanLabel Label -hi def link fanUserLabel Label -hi def link fanConditional Conditional -hi def link fanRepeat Repeat -hi def link fanExceptions Exception -hi def link fanAssert Statement -hi def link fanStorageClass StorageClass -hi def link fanSlot StorageClass -hi def link fanField StorageClass -hi def link fanScopeDecl StorageClass -hi def link fanBoolean Boolean -hi def link fanSpecial Special -hi def link fanSpecialError Error -hi def link fanSpecialCharError Error -hi def link fanTripleString String -hi def link fanString String -hi def link fanDSL String -hi def link fanCharacter String -hi def link fanStringSubst Identifier -hi def link fanUri SpecialChar -hi def link fanSpecialChar SpecialChar -hi def link fanNumber Number -hi def link fanError Error -hi def link fanStringError Error -hi def link fanStatement Statement -hi def link fanOperator Operator -hi def link fanLongOperator Operator -hi def link fanComment Comment -hi def link fanDocComment Comment -hi def link fanLineComment Comment -hi def link fanConstant Constant -hi def link fanTypedef Typedef -hi def link fanTodo Todo -hi def link fanFacet PreProc - -hi def link fanCommentTitle SpecialComment -hi def link fanCommentStar SpecialComment -hi def link fanType Identifier -hi def link fanExternal Include - -hi def link fanSpaceError Error - -let b:current_syntax = "fan" - -" vim: ts=8 diff --git a/uvim/runtime/syntax/fasm.mnv b/uvim/runtime/syntax/fasm.mnv new file mode 100644 index 0000000000..801d1ebf8e --- /dev/null +++ b/uvim/runtime/syntax/fasm.mnv @@ -0,0 +1,151 @@ +" MNV syntax file +" Language: Flat Assembler (FASM) +" Maintainer: Ron Aaron +" Last Change: 2012/02/13 +" MNV URL: http://www.mnv.org/lang.html +" FASM Home: http://flatassembler.net/ +" FASM Version: 1.56 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +setlocal iskeyword=a-z,A-Z,48-57,.,_ +setlocal isident=a-z,A-Z,48-57,.,_ +syn case ignore + +syn keyword fasmRegister ah al ax bh bl bp bx ch cl cr0 cr1 cr2 cr3 cr4 cr5 cr6 +syn keyword fasmRegister cr7 cs cx dh di dl dr0 dr1 dr2 dr3 dr4 dr5 dr6 dr7 ds dx +syn keyword fasmRegister eax ebp ebx ecx edi edx es esi esp fs gs mm0 mm1 mm2 mm3 +syn keyword fasmRegister mm4 mm5 mm6 mm7 si sp ss st st0 st1 st2 st3 st4 st5 st6 +syn keyword fasmRegister st7 tr0 tr1 tr2 tr3 tr4 tr5 tr6 tr7 xmm0 xmm1 xmm2 xmm3 +syn keyword fasmRegister xmm4 xmm5 xmm6 xmm7 +syn keyword fasmAddressSizes byte dqword dword fword pword qword tword word +syn keyword fasmDataDirectives db dd df dp dq dt du dw file rb rd rf rp rq rt rw +syn keyword fasmInstr aaa aad aam aas adc add addpd addps addsd addss addsubpd +syn keyword fasmInstr addsubps and andnpd andnps andpd andps arpl bound bsf bsr +syn keyword fasmInstr bswap bt btc btr bts call cbw cdq clc cld clflush cli clts +syn keyword fasmInstr cmc cmova cmovae cmovb cmovbe cmovc cmove cmovg cmovge cmovl +syn keyword fasmInstr cmovle cmovna cmovnae cmovnb cmovnbe cmovnc cmovne cmovng +syn keyword fasmInstr cmovnge cmovnl cmovnle cmovno cmovnp cmovns cmovnz cmovo cmovp +syn keyword fasmInstr cmovpe cmovpo cmovs cmovz cmp cmpeqpd cmpeqps cmpeqsd cmpeqss +syn keyword fasmInstr cmplepd cmpleps cmplesd cmpless cmpltpd cmpltps cmpltsd cmpltss +syn keyword fasmInstr cmpneqpd cmpneqps cmpneqsd cmpneqss cmpnlepd cmpnleps cmpnlesd +syn keyword fasmInstr cmpnless cmpnltpd cmpnltps cmpnltsd cmpnltss cmpordpd cmpordps +syn keyword fasmInstr cmpordsd cmpordss cmppd cmpps cmps cmpsb cmpsd cmpss cmpsw +syn keyword fasmInstr cmpunordpd cmpunordps cmpunordsd cmpunordss cmpxchg cmpxchg8b +syn keyword fasmInstr comisd comiss cpuid cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps +syn keyword fasmInstr cvtpi2pd cvtpi2ps cvtps2dq cvtps2pd cvtps2pi cvtsd2si cvtsd2ss +syn keyword fasmInstr cvtsi2sd cvtsi2ss cvtss2sd cvtss2si cvttpd2dq cvttpd2pi cvttps2dq +syn keyword fasmInstr cvttps2pi cvttsd2si cvttss2si cwd cwde daa das data dec div +syn keyword fasmInstr divpd divps divsd divss else emms end enter extrn f2xm1 fabs +syn keyword fasmInstr fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb +syn keyword fasmInstr fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp +syn keyword fasmInstr fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree +syn keyword fasmInstr ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp +syn keyword fasmInstr finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv +syn keyword fasmInstr fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi +syn keyword fasmInstr fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem +syn keyword fasmInstr fprem1 fptan frndint frstor frstpm fsave fscale fsetpm fsin +syn keyword fasmInstr fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr +syn keyword fasmInstr fsubrp ftst fucom fucomi fucomip fucomp fucompp fwait fxam +syn keyword fasmInstr fxch fxrstor fxsave fxtract fyl2x fyl2xp1 haddpd haddps heap +syn keyword fasmInstr hlt hsubpd hsubps idiv if imul in inc ins insb insd insw int +syn keyword fasmInstr int3 into invd invlpg iret iretd iretw ja jae jb jbe jc jcxz +syn keyword fasmInstr je jecxz jg jge jl jle jmp jna jnae jnb jnbe jnc jne jng jnge +syn keyword fasmInstr jnl jnle jno jnp jns jnz jo jp jpe jpo js jz lahf lar lddqu +syn keyword fasmInstr ldmxcsr lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw +syn keyword fasmInstr load loadall286 loadall386 lock lods lodsb lodsd lodsw loop +syn keyword fasmInstr loopd loope looped loopew loopne loopned loopnew loopnz loopnzd +syn keyword fasmInstr loopnzw loopw loopz loopzd loopzw lsl lss ltr maskmovdqu maskmovq +syn keyword fasmInstr maxpd maxps maxsd maxss mfence minpd minps minsd minss monitor +syn keyword fasmInstr mov movapd movaps movd movddup movdq2q movdqa movdqu movhlps +syn keyword fasmInstr movhpd movhps movlhps movlpd movlps movmskpd movmskps movntdq +syn keyword fasmInstr movnti movntpd movntps movntq movq movq2dq movs movsb movsd +syn keyword fasmInstr movshdup movsldup movss movsw movsx movupd movups movzx mul +syn keyword fasmInstr mulpd mulps mulsd mulss mwait neg nop not or org orpd orps +syn keyword fasmInstr out outs outsb outsd outsw packssdw packsswb packuswb paddb +syn keyword fasmInstr paddd paddq paddsb paddsw paddusb paddusw paddw pand pandn +syn keyword fasmInstr pause pavgb pavgusb pavgw pcmpeqb pcmpeqd pcmpeqw pcmpgtb +syn keyword fasmInstr pcmpgtd pcmpgtw pextrw pf2id pf2iw pfacc pfadd pfcmpeq pfcmpge +syn keyword fasmInstr pfcmpgt pfmax pfmin pfmul pfnacc pfpnacc pfrcp pfrcpit1 pfrcpit2 +syn keyword fasmInstr pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pi2fw pinsrw pmaddwd pmaxsw +syn keyword fasmInstr pmaxub pminsw pminub pmovmskb pmulhrw pmulhuw pmulhw pmullw +syn keyword fasmInstr pmuludq pop popa popad popaw popd popf popfd popfw popw por +syn keyword fasmInstr prefetch prefetchnta prefetcht0 prefetcht1 prefetcht2 prefetchw +syn keyword fasmInstr psadbw pshufd pshufhw pshuflw pshufw pslld pslldq psllq psllw +syn keyword fasmInstr psrad psraw psrld psrldq psrlq psrlw psubb psubd psubq psubsb +syn keyword fasmInstr psubsw psubusb psubusw psubw pswapd punpckhbw punpckhdq punpckhqdq +syn keyword fasmInstr punpckhwd punpcklbw punpckldq punpcklqdq punpcklwd push pusha +syn keyword fasmInstr pushad pushaw pushd pushf pushfd pushfw pushw pxor rcl rcpps +syn keyword fasmInstr rcpss rcr rdmsr rdpmc rdtsc rep repe repne repnz repz ret +syn keyword fasmInstr retd retf retfd retfw retn retnd retnw retw rol ror rsm rsqrtps +syn keyword fasmInstr rsqrtss sahf sal salc sar sbb scas scasb scasd scasw seta +syn keyword fasmInstr setae setalc setb setbe setc sete setg setge setl setle setna +syn keyword fasmInstr setnae setnb setnbe setnc setne setng setnge setnl setnle +syn keyword fasmInstr setno setnp setns setnz seto setp setpe setpo sets setz sfence +syn keyword fasmInstr sgdt shl shld shr shrd shufpd shufps sidt sldt smsw sqrtpd +syn keyword fasmInstr sqrtps sqrtsd sqrtss stc std sti stmxcsr store stos stosb +syn keyword fasmInstr stosd stosw str sub subpd subps subsd subss sysenter sysexit +syn keyword fasmInstr test ucomisd ucomiss ud2 unpckhpd unpckhps unpcklpd unpcklps +syn keyword fasmInstr verr verw wait wbinvd wrmsr xadd xchg xlat xlatb xor xorpd +syn keyword fasmPreprocess common equ fix forward include local macro purge restore +syn keyword fasmPreprocess reverse struc +syn keyword fasmDirective align binary code coff console discardable display dll +syn keyword fasmDirective elf entry executable export extern far fixups format gui +syn keyword fasmDirective import label ms mz native near notpageable pe public readable +syn keyword fasmDirective repeat resource section segment shareable stack times +syn keyword fasmDirective use16 use32 virtual wdm writable writeable +syn keyword fasmOperator as at defined eq eqtype from mod on ptr rva used + +syn match fasmNumericOperator "[+-/*]" +syn match fasmLogicalOperator "[=|&~<>]\|<=\|>=\|<>" +" numbers +syn match fasmBinaryNumber "\<[01]\+b\>" +syn match fasmHexNumber "\<\d\x*h\>" +syn match fasmHexNumber "\<\(0x\|$\)\x*\>" +syn match fasmFPUNumber "\<\d\+\(\.\d*\)\=\(e[-+]\=\d*\)\=\>" +syn match fasmOctalNumber "\<\(0\o\+o\=\|\o\+o\)\>" +syn match fasmDecimalNumber "\<\(0\|[1-9]\d*\)\>" +syn region fasmComment start=";" end="$" +syn region fasmString start="\"" end="\"\|$" +syn region fasmString start="'" end="'\|$" +syn match fasmSymbol "[()|\[\]:]" +syn match fasmSpecial "[#?%$,]" +syn match fasmLabel "^\s*[^; \t]\+:" + +hi def link fasmAddressSizes type +hi def link fasmNumericOperator fasmOperator +hi def link fasmLogicalOperator fasmOperator + +hi def link fasmBinaryNumber fasmNumber +hi def link fasmHexNumber fasmNumber +hi def link fasmFPUNumber fasmNumber +hi def link fasmOctalNumber fasmNumber +hi def link fasmDecimalNumber fasmNumber + +hi def link fasmSymbols fasmRegister +hi def link fasmPreprocess fasmDirective + +" link to standard syn groups so the 'colorschemes' work: +hi def link fasmOperator operator +hi def link fasmComment comment +hi def link fasmDirective preproc +hi def link fasmRegister type +hi def link fasmNumber constant +hi def link fasmSymbol structure +hi def link fasmString String +hi def link fasmSpecial special +hi def link fasmInstr keyword +hi def link fasmLabel label +hi def link fasmPrefix preproc +let b:current_syntax = "fasm" + +let &cpo = s:cpo_save +unlet s:cpo_save + +" mnv: ts=8 sw=8 : diff --git a/uvim/runtime/syntax/fasm.vim b/uvim/runtime/syntax/fasm.vim deleted file mode 100644 index 172ba7c9b6..0000000000 --- a/uvim/runtime/syntax/fasm.vim +++ /dev/null @@ -1,151 +0,0 @@ -" Vim syntax file -" Language: Flat Assembler (FASM) -" Maintainer: Ron Aaron -" Last Change: 2012/02/13 -" Vim URL: http://www.vim.org/lang.html -" FASM Home: http://flatassembler.net/ -" FASM Version: 1.56 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -setlocal iskeyword=a-z,A-Z,48-57,.,_ -setlocal isident=a-z,A-Z,48-57,.,_ -syn case ignore - -syn keyword fasmRegister ah al ax bh bl bp bx ch cl cr0 cr1 cr2 cr3 cr4 cr5 cr6 -syn keyword fasmRegister cr7 cs cx dh di dl dr0 dr1 dr2 dr3 dr4 dr5 dr6 dr7 ds dx -syn keyword fasmRegister eax ebp ebx ecx edi edx es esi esp fs gs mm0 mm1 mm2 mm3 -syn keyword fasmRegister mm4 mm5 mm6 mm7 si sp ss st st0 st1 st2 st3 st4 st5 st6 -syn keyword fasmRegister st7 tr0 tr1 tr2 tr3 tr4 tr5 tr6 tr7 xmm0 xmm1 xmm2 xmm3 -syn keyword fasmRegister xmm4 xmm5 xmm6 xmm7 -syn keyword fasmAddressSizes byte dqword dword fword pword qword tword word -syn keyword fasmDataDirectives db dd df dp dq dt du dw file rb rd rf rp rq rt rw -syn keyword fasmInstr aaa aad aam aas adc add addpd addps addsd addss addsubpd -syn keyword fasmInstr addsubps and andnpd andnps andpd andps arpl bound bsf bsr -syn keyword fasmInstr bswap bt btc btr bts call cbw cdq clc cld clflush cli clts -syn keyword fasmInstr cmc cmova cmovae cmovb cmovbe cmovc cmove cmovg cmovge cmovl -syn keyword fasmInstr cmovle cmovna cmovnae cmovnb cmovnbe cmovnc cmovne cmovng -syn keyword fasmInstr cmovnge cmovnl cmovnle cmovno cmovnp cmovns cmovnz cmovo cmovp -syn keyword fasmInstr cmovpe cmovpo cmovs cmovz cmp cmpeqpd cmpeqps cmpeqsd cmpeqss -syn keyword fasmInstr cmplepd cmpleps cmplesd cmpless cmpltpd cmpltps cmpltsd cmpltss -syn keyword fasmInstr cmpneqpd cmpneqps cmpneqsd cmpneqss cmpnlepd cmpnleps cmpnlesd -syn keyword fasmInstr cmpnless cmpnltpd cmpnltps cmpnltsd cmpnltss cmpordpd cmpordps -syn keyword fasmInstr cmpordsd cmpordss cmppd cmpps cmps cmpsb cmpsd cmpss cmpsw -syn keyword fasmInstr cmpunordpd cmpunordps cmpunordsd cmpunordss cmpxchg cmpxchg8b -syn keyword fasmInstr comisd comiss cpuid cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps -syn keyword fasmInstr cvtpi2pd cvtpi2ps cvtps2dq cvtps2pd cvtps2pi cvtsd2si cvtsd2ss -syn keyword fasmInstr cvtsi2sd cvtsi2ss cvtss2sd cvtss2si cvttpd2dq cvttpd2pi cvttps2dq -syn keyword fasmInstr cvttps2pi cvttsd2si cvttss2si cwd cwde daa das data dec div -syn keyword fasmInstr divpd divps divsd divss else emms end enter extrn f2xm1 fabs -syn keyword fasmInstr fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb -syn keyword fasmInstr fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp -syn keyword fasmInstr fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree -syn keyword fasmInstr ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp -syn keyword fasmInstr finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv -syn keyword fasmInstr fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi -syn keyword fasmInstr fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem -syn keyword fasmInstr fprem1 fptan frndint frstor frstpm fsave fscale fsetpm fsin -syn keyword fasmInstr fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr -syn keyword fasmInstr fsubrp ftst fucom fucomi fucomip fucomp fucompp fwait fxam -syn keyword fasmInstr fxch fxrstor fxsave fxtract fyl2x fyl2xp1 haddpd haddps heap -syn keyword fasmInstr hlt hsubpd hsubps idiv if imul in inc ins insb insd insw int -syn keyword fasmInstr int3 into invd invlpg iret iretd iretw ja jae jb jbe jc jcxz -syn keyword fasmInstr je jecxz jg jge jl jle jmp jna jnae jnb jnbe jnc jne jng jnge -syn keyword fasmInstr jnl jnle jno jnp jns jnz jo jp jpe jpo js jz lahf lar lddqu -syn keyword fasmInstr ldmxcsr lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw -syn keyword fasmInstr load loadall286 loadall386 lock lods lodsb lodsd lodsw loop -syn keyword fasmInstr loopd loope looped loopew loopne loopned loopnew loopnz loopnzd -syn keyword fasmInstr loopnzw loopw loopz loopzd loopzw lsl lss ltr maskmovdqu maskmovq -syn keyword fasmInstr maxpd maxps maxsd maxss mfence minpd minps minsd minss monitor -syn keyword fasmInstr mov movapd movaps movd movddup movdq2q movdqa movdqu movhlps -syn keyword fasmInstr movhpd movhps movlhps movlpd movlps movmskpd movmskps movntdq -syn keyword fasmInstr movnti movntpd movntps movntq movq movq2dq movs movsb movsd -syn keyword fasmInstr movshdup movsldup movss movsw movsx movupd movups movzx mul -syn keyword fasmInstr mulpd mulps mulsd mulss mwait neg nop not or org orpd orps -syn keyword fasmInstr out outs outsb outsd outsw packssdw packsswb packuswb paddb -syn keyword fasmInstr paddd paddq paddsb paddsw paddusb paddusw paddw pand pandn -syn keyword fasmInstr pause pavgb pavgusb pavgw pcmpeqb pcmpeqd pcmpeqw pcmpgtb -syn keyword fasmInstr pcmpgtd pcmpgtw pextrw pf2id pf2iw pfacc pfadd pfcmpeq pfcmpge -syn keyword fasmInstr pfcmpgt pfmax pfmin pfmul pfnacc pfpnacc pfrcp pfrcpit1 pfrcpit2 -syn keyword fasmInstr pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pi2fw pinsrw pmaddwd pmaxsw -syn keyword fasmInstr pmaxub pminsw pminub pmovmskb pmulhrw pmulhuw pmulhw pmullw -syn keyword fasmInstr pmuludq pop popa popad popaw popd popf popfd popfw popw por -syn keyword fasmInstr prefetch prefetchnta prefetcht0 prefetcht1 prefetcht2 prefetchw -syn keyword fasmInstr psadbw pshufd pshufhw pshuflw pshufw pslld pslldq psllq psllw -syn keyword fasmInstr psrad psraw psrld psrldq psrlq psrlw psubb psubd psubq psubsb -syn keyword fasmInstr psubsw psubusb psubusw psubw pswapd punpckhbw punpckhdq punpckhqdq -syn keyword fasmInstr punpckhwd punpcklbw punpckldq punpcklqdq punpcklwd push pusha -syn keyword fasmInstr pushad pushaw pushd pushf pushfd pushfw pushw pxor rcl rcpps -syn keyword fasmInstr rcpss rcr rdmsr rdpmc rdtsc rep repe repne repnz repz ret -syn keyword fasmInstr retd retf retfd retfw retn retnd retnw retw rol ror rsm rsqrtps -syn keyword fasmInstr rsqrtss sahf sal salc sar sbb scas scasb scasd scasw seta -syn keyword fasmInstr setae setalc setb setbe setc sete setg setge setl setle setna -syn keyword fasmInstr setnae setnb setnbe setnc setne setng setnge setnl setnle -syn keyword fasmInstr setno setnp setns setnz seto setp setpe setpo sets setz sfence -syn keyword fasmInstr sgdt shl shld shr shrd shufpd shufps sidt sldt smsw sqrtpd -syn keyword fasmInstr sqrtps sqrtsd sqrtss stc std sti stmxcsr store stos stosb -syn keyword fasmInstr stosd stosw str sub subpd subps subsd subss sysenter sysexit -syn keyword fasmInstr test ucomisd ucomiss ud2 unpckhpd unpckhps unpcklpd unpcklps -syn keyword fasmInstr verr verw wait wbinvd wrmsr xadd xchg xlat xlatb xor xorpd -syn keyword fasmPreprocess common equ fix forward include local macro purge restore -syn keyword fasmPreprocess reverse struc -syn keyword fasmDirective align binary code coff console discardable display dll -syn keyword fasmDirective elf entry executable export extern far fixups format gui -syn keyword fasmDirective import label ms mz native near notpageable pe public readable -syn keyword fasmDirective repeat resource section segment shareable stack times -syn keyword fasmDirective use16 use32 virtual wdm writable writeable -syn keyword fasmOperator as at defined eq eqtype from mod on ptr rva used - -syn match fasmNumericOperator "[+-/*]" -syn match fasmLogicalOperator "[=|&~<>]\|<=\|>=\|<>" -" numbers -syn match fasmBinaryNumber "\<[01]\+b\>" -syn match fasmHexNumber "\<\d\x*h\>" -syn match fasmHexNumber "\<\(0x\|$\)\x*\>" -syn match fasmFPUNumber "\<\d\+\(\.\d*\)\=\(e[-+]\=\d*\)\=\>" -syn match fasmOctalNumber "\<\(0\o\+o\=\|\o\+o\)\>" -syn match fasmDecimalNumber "\<\(0\|[1-9]\d*\)\>" -syn region fasmComment start=";" end="$" -syn region fasmString start="\"" end="\"\|$" -syn region fasmString start="'" end="'\|$" -syn match fasmSymbol "[()|\[\]:]" -syn match fasmSpecial "[#?%$,]" -syn match fasmLabel "^\s*[^; \t]\+:" - -hi def link fasmAddressSizes type -hi def link fasmNumericOperator fasmOperator -hi def link fasmLogicalOperator fasmOperator - -hi def link fasmBinaryNumber fasmNumber -hi def link fasmHexNumber fasmNumber -hi def link fasmFPUNumber fasmNumber -hi def link fasmOctalNumber fasmNumber -hi def link fasmDecimalNumber fasmNumber - -hi def link fasmSymbols fasmRegister -hi def link fasmPreprocess fasmDirective - -" link to standard syn groups so the 'colorschemes' work: -hi def link fasmOperator operator -hi def link fasmComment comment -hi def link fasmDirective preproc -hi def link fasmRegister type -hi def link fasmNumber constant -hi def link fasmSymbol structure -hi def link fasmString String -hi def link fasmSpecial special -hi def link fasmInstr keyword -hi def link fasmLabel label -hi def link fasmPrefix preproc -let b:current_syntax = "fasm" - -let &cpo = s:cpo_save -unlet s:cpo_save - -" vim: ts=8 sw=8 : diff --git a/uvim/runtime/syntax/fdcc.mnv b/uvim/runtime/syntax/fdcc.mnv new file mode 100644 index 0000000000..e4e8a8da83 --- /dev/null +++ b/uvim/runtime/syntax/fdcc.mnv @@ -0,0 +1,101 @@ +" MNV syntax file +" Language: fdcc or locale files +" Maintainer: Dwayne Bailey +" Last Change: 2004 May 16 +" Remarks: FDCC (Formal Definitions of Cultural Conventions) see ISO TR 14652 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn sync minlines=150 +setlocal iskeyword+=- + +" Numbers +syn match fdccNumber /[0-9]*/ contained + +" Unicode codings and strings +syn match fdccUnicodeInValid /<[^<]*>/ contained +syn match fdccUnicodeValid // contained +syn region fdccString start=/"/ end=/"/ contains=fdccUnicodeInValid,fdccUnicodeValid + +" Valid LC_ Keywords +syn keyword fdccKeyword escape_char comment_char +syn keyword fdccKeywordIdentification title source address contact email tel fax language territory revision date category +syn keyword fdccKeywordCtype copy space translit_start include translit_end outdigit class +syn keyword fdccKeywordCollate copy script order_start order_end collating-symbol reorder-after reorder-end collating-element symbol-equivalence +syn keyword fdccKeywordMonetary copy int_curr_symbol currency_symbol mon_decimal_point mon_thousands_sep mon_grouping positive_sign negative_sign int_frac_digits frac_digits p_cs_precedes p_sep_by_space n_cs_precedes n_sep_by_space p_sign_posn n_sign_posn int_p_cs_precedes int_p_sep_by_space int_n_cs_precedes int_n_sep_by_space int_p_sign_posn int_n_sign_posn +syn keyword fdccKeywordNumeric copy decimal_point thousands_sep grouping +syn keyword fdccKeywordTime copy abday day abmon mon d_t_fmt d_fmt t_fmt am_pm t_fmt_ampm date_fmt era_d_fmt first_weekday first_workday week cal_direction time_zone era alt_digits era_d_t_fmt +syn keyword fdccKeywordMessages copy yesexpr noexpr yesstr nostr +syn keyword fdccKeywordPaper copy height width +syn keyword fdccKeywordTelephone copy tel_int_fmt int_prefix tel_dom_fmt int_select +syn keyword fdccKeywordMeasurement copy measurement +syn keyword fdccKeywordName copy name_fmt name_gen name_mr name_mrs name_miss name_ms +syn keyword fdccKeywordAddress copy postal_fmt country_name country_post country_ab2 country_ab3 country_num country_car country_isbn lang_name lang_ab lang_term lang_lib + +" Comments +syn keyword fdccTodo TODO FIXME contained +syn match fdccVariable /%[a-zA-Z]/ contained +syn match fdccComment /[#%].*/ contains=fdccTodo,fdccVariable + +" LC_ Groups +syn region fdccBlank matchgroup=fdccLCIdentification start=/^LC_IDENTIFICATION$/ end=/^END LC_IDENTIFICATION$/ contains=fdccKeywordIdentification,fdccString,fdccComment +syn region fdccBlank matchgroup=fdccLCCtype start=/^LC_CTYPE$/ end=/^END LC_CTYPE$/ contains=fdccKeywordCtype,fdccString,fdccComment,fdccUnicodeInValid,fdccUnicodeValid +syn region fdccBlank matchgroup=fdccLCCollate start=/^LC_COLLATE$/ end=/^END LC_COLLATE$/ contains=fdccKeywordCollate,fdccString,fdccComment,fdccUnicodeInValid,fdccUnicodeValid +syn region fdccBlank matchgroup=fdccLCMonetary start=/^LC_MONETARY$/ end=/^END LC_MONETARY$/ contains=fdccKeywordMonetary,fdccString,fdccComment,fdccNumber +syn region fdccBlank matchgroup=fdccLCNumeric start=/^LC_NUMERIC$/ end=/^END LC_NUMERIC$/ contains=fdccKeywordNumeric,fdccString,fdccComment,fdccNumber +syn region fdccBlank matchgroup=fdccLCTime start=/^LC_TIME$/ end=/^END LC_TIME$/ contains=fdccKeywordTime,fdccString,fdccComment,fdccNumber +syn region fdccBlank matchgroup=fdccLCMessages start=/^LC_MESSAGES$/ end=/^END LC_MESSAGES$/ contains=fdccKeywordMessages,fdccString,fdccComment +syn region fdccBlank matchgroup=fdccLCPaper start=/^LC_PAPER$/ end=/^END LC_PAPER$/ contains=fdccKeywordPaper,fdccString,fdccComment,fdccNumber +syn region fdccBlank matchgroup=fdccLCTelephone start=/^LC_TELEPHONE$/ end=/^END LC_TELEPHONE$/ contains=fdccKeywordTelephone,fdccString,fdccComment +syn region fdccBlank matchgroup=fdccLCMeasurement start=/^LC_MEASUREMENT$/ end=/^END LC_MEASUREMENT$/ contains=fdccKeywordMeasurement,fdccString,fdccComment,fdccNumber +syn region fdccBlank matchgroup=fdccLCName start=/^LC_NAME$/ end=/^END LC_NAME$/ contains=fdccKeywordName,fdccString,fdccComment +syn region fdccBlank matchgroup=fdccLCAddress start=/^LC_ADDRESS$/ end=/^END LC_ADDRESS$/ contains=fdccKeywordAddress,fdccString,fdccComment,fdccNumber + + +" Only when an item doesn't have highlighting yet + +hi def link fdccBlank Blank + +hi def link fdccTodo Todo +hi def link fdccComment Comment +hi def link fdccVariable Type + +hi def link fdccLCIdentification Statement +hi def link fdccLCCtype Statement +hi def link fdccLCCollate Statement +hi def link fdccLCMonetary Statement +hi def link fdccLCNumeric Statement +hi def link fdccLCTime Statement +hi def link fdccLCMessages Statement +hi def link fdccLCPaper Statement +hi def link fdccLCTelephone Statement +hi def link fdccLCMeasurement Statement +hi def link fdccLCName Statement +hi def link fdccLCAddress Statement + +hi def link fdccUnicodeInValid Error +hi def link fdccUnicodeValid String +hi def link fdccString String +hi def link fdccNumber Blank + +hi def link fdccKeywordIdentification fdccKeyword +hi def link fdccKeywordCtype fdccKeyword +hi def link fdccKeywordCollate fdccKeyword +hi def link fdccKeywordMonetary fdccKeyword +hi def link fdccKeywordNumeric fdccKeyword +hi def link fdccKeywordTime fdccKeyword +hi def link fdccKeywordMessages fdccKeyword +hi def link fdccKeywordPaper fdccKeyword +hi def link fdccKeywordTelephone fdccKeyword +hi def link fdccKeywordMeasurement fdccKeyword +hi def link fdccKeywordName fdccKeyword +hi def link fdccKeywordAddress fdccKeyword +hi def link fdccKeyword Identifier + + +let b:current_syntax = "fdcc" + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/fdcc.vim b/uvim/runtime/syntax/fdcc.vim deleted file mode 100644 index f7b296b9c6..0000000000 --- a/uvim/runtime/syntax/fdcc.vim +++ /dev/null @@ -1,101 +0,0 @@ -" Vim syntax file -" Language: fdcc or locale files -" Maintainer: Dwayne Bailey -" Last Change: 2004 May 16 -" Remarks: FDCC (Formal Definitions of Cultural Conventions) see ISO TR 14652 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn sync minlines=150 -setlocal iskeyword+=- - -" Numbers -syn match fdccNumber /[0-9]*/ contained - -" Unicode codings and strings -syn match fdccUnicodeInValid /<[^<]*>/ contained -syn match fdccUnicodeValid // contained -syn region fdccString start=/"/ end=/"/ contains=fdccUnicodeInValid,fdccUnicodeValid - -" Valid LC_ Keywords -syn keyword fdccKeyword escape_char comment_char -syn keyword fdccKeywordIdentification title source address contact email tel fax language territory revision date category -syn keyword fdccKeywordCtype copy space translit_start include translit_end outdigit class -syn keyword fdccKeywordCollate copy script order_start order_end collating-symbol reorder-after reorder-end collating-element symbol-equivalence -syn keyword fdccKeywordMonetary copy int_curr_symbol currency_symbol mon_decimal_point mon_thousands_sep mon_grouping positive_sign negative_sign int_frac_digits frac_digits p_cs_precedes p_sep_by_space n_cs_precedes n_sep_by_space p_sign_posn n_sign_posn int_p_cs_precedes int_p_sep_by_space int_n_cs_precedes int_n_sep_by_space int_p_sign_posn int_n_sign_posn -syn keyword fdccKeywordNumeric copy decimal_point thousands_sep grouping -syn keyword fdccKeywordTime copy abday day abmon mon d_t_fmt d_fmt t_fmt am_pm t_fmt_ampm date_fmt era_d_fmt first_weekday first_workday week cal_direction time_zone era alt_digits era_d_t_fmt -syn keyword fdccKeywordMessages copy yesexpr noexpr yesstr nostr -syn keyword fdccKeywordPaper copy height width -syn keyword fdccKeywordTelephone copy tel_int_fmt int_prefix tel_dom_fmt int_select -syn keyword fdccKeywordMeasurement copy measurement -syn keyword fdccKeywordName copy name_fmt name_gen name_mr name_mrs name_miss name_ms -syn keyword fdccKeywordAddress copy postal_fmt country_name country_post country_ab2 country_ab3 country_num country_car country_isbn lang_name lang_ab lang_term lang_lib - -" Comments -syn keyword fdccTodo TODO FIXME contained -syn match fdccVariable /%[a-zA-Z]/ contained -syn match fdccComment /[#%].*/ contains=fdccTodo,fdccVariable - -" LC_ Groups -syn region fdccBlank matchgroup=fdccLCIdentification start=/^LC_IDENTIFICATION$/ end=/^END LC_IDENTIFICATION$/ contains=fdccKeywordIdentification,fdccString,fdccComment -syn region fdccBlank matchgroup=fdccLCCtype start=/^LC_CTYPE$/ end=/^END LC_CTYPE$/ contains=fdccKeywordCtype,fdccString,fdccComment,fdccUnicodeInValid,fdccUnicodeValid -syn region fdccBlank matchgroup=fdccLCCollate start=/^LC_COLLATE$/ end=/^END LC_COLLATE$/ contains=fdccKeywordCollate,fdccString,fdccComment,fdccUnicodeInValid,fdccUnicodeValid -syn region fdccBlank matchgroup=fdccLCMonetary start=/^LC_MONETARY$/ end=/^END LC_MONETARY$/ contains=fdccKeywordMonetary,fdccString,fdccComment,fdccNumber -syn region fdccBlank matchgroup=fdccLCNumeric start=/^LC_NUMERIC$/ end=/^END LC_NUMERIC$/ contains=fdccKeywordNumeric,fdccString,fdccComment,fdccNumber -syn region fdccBlank matchgroup=fdccLCTime start=/^LC_TIME$/ end=/^END LC_TIME$/ contains=fdccKeywordTime,fdccString,fdccComment,fdccNumber -syn region fdccBlank matchgroup=fdccLCMessages start=/^LC_MESSAGES$/ end=/^END LC_MESSAGES$/ contains=fdccKeywordMessages,fdccString,fdccComment -syn region fdccBlank matchgroup=fdccLCPaper start=/^LC_PAPER$/ end=/^END LC_PAPER$/ contains=fdccKeywordPaper,fdccString,fdccComment,fdccNumber -syn region fdccBlank matchgroup=fdccLCTelephone start=/^LC_TELEPHONE$/ end=/^END LC_TELEPHONE$/ contains=fdccKeywordTelephone,fdccString,fdccComment -syn region fdccBlank matchgroup=fdccLCMeasurement start=/^LC_MEASUREMENT$/ end=/^END LC_MEASUREMENT$/ contains=fdccKeywordMeasurement,fdccString,fdccComment,fdccNumber -syn region fdccBlank matchgroup=fdccLCName start=/^LC_NAME$/ end=/^END LC_NAME$/ contains=fdccKeywordName,fdccString,fdccComment -syn region fdccBlank matchgroup=fdccLCAddress start=/^LC_ADDRESS$/ end=/^END LC_ADDRESS$/ contains=fdccKeywordAddress,fdccString,fdccComment,fdccNumber - - -" Only when an item doesn't have highlighting yet - -hi def link fdccBlank Blank - -hi def link fdccTodo Todo -hi def link fdccComment Comment -hi def link fdccVariable Type - -hi def link fdccLCIdentification Statement -hi def link fdccLCCtype Statement -hi def link fdccLCCollate Statement -hi def link fdccLCMonetary Statement -hi def link fdccLCNumeric Statement -hi def link fdccLCTime Statement -hi def link fdccLCMessages Statement -hi def link fdccLCPaper Statement -hi def link fdccLCTelephone Statement -hi def link fdccLCMeasurement Statement -hi def link fdccLCName Statement -hi def link fdccLCAddress Statement - -hi def link fdccUnicodeInValid Error -hi def link fdccUnicodeValid String -hi def link fdccString String -hi def link fdccNumber Blank - -hi def link fdccKeywordIdentification fdccKeyword -hi def link fdccKeywordCtype fdccKeyword -hi def link fdccKeywordCollate fdccKeyword -hi def link fdccKeywordMonetary fdccKeyword -hi def link fdccKeywordNumeric fdccKeyword -hi def link fdccKeywordTime fdccKeyword -hi def link fdccKeywordMessages fdccKeyword -hi def link fdccKeywordPaper fdccKeyword -hi def link fdccKeywordTelephone fdccKeyword -hi def link fdccKeywordMeasurement fdccKeyword -hi def link fdccKeywordName fdccKeyword -hi def link fdccKeywordAddress fdccKeyword -hi def link fdccKeyword Identifier - - -let b:current_syntax = "fdcc" - -" vim: ts=8 diff --git a/uvim/runtime/syntax/fetchmail.mnv b/uvim/runtime/syntax/fetchmail.mnv new file mode 100644 index 0000000000..b5d78f7cab --- /dev/null +++ b/uvim/runtime/syntax/fetchmail.mnv @@ -0,0 +1,83 @@ +" MNV syntax file +" Language: fetchmail(1) RC File +" Maintainer: Doug Kearns +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2022 Jul 02 + +" Version 6.4.3 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn keyword fetchmailTodo contained FIXME TODO XXX NOTE + +syn region fetchmailComment start='#' end='$' contains=fetchmailTodo,@Spell + +syn match fetchmailNumber display '\<\d\+\>' + +syn region fetchmailString start=+"+ skip=+\\\\\|\\"+ end=+"+ + \ contains=fetchmailStringEsc +syn region fetchmailString start=+'+ skip=+\\\\\|\\'+ end=+'+ + \ contains=fetchmailStringEsc + +syn match fetchmailStringEsc contained '\\\([ntb]\|0\d*\|x\x\+\)' + +syn region fetchmailKeyword transparent matchgroup=fetchmailKeyword + \ start='\' + \ end='\' + \ contains=ALLBUT,fetchmailOptions,fetchmailSet + +syn keyword fetchmailServerOpts contained via proto[col] local[domains] port + \ service auth[enticate] timeout envelope + \ qvirtual aka interface monitor plugin plugout + \ dns checkalias uidl interval tracepolls + \ principal esmtpname esmtppassword +" removed in 6.3.0 +syn keyword fetchmailServerOpts contained netsec +syn match fetchmailServerOpts contained '\' +syn match fetchmailServerOpts contained '\ -" Previous Maintainer: Nikolai Weibull -" Latest Revision: 2022 Jul 02 - -" Version 6.4.3 - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn keyword fetchmailTodo contained FIXME TODO XXX NOTE - -syn region fetchmailComment start='#' end='$' contains=fetchmailTodo,@Spell - -syn match fetchmailNumber display '\<\d\+\>' - -syn region fetchmailString start=+"+ skip=+\\\\\|\\"+ end=+"+ - \ contains=fetchmailStringEsc -syn region fetchmailString start=+'+ skip=+\\\\\|\\'+ end=+'+ - \ contains=fetchmailStringEsc - -syn match fetchmailStringEsc contained '\\\([ntb]\|0\d*\|x\x\+\)' - -syn region fetchmailKeyword transparent matchgroup=fetchmailKeyword - \ start='\' - \ end='\' - \ contains=ALLBUT,fetchmailOptions,fetchmailSet - -syn keyword fetchmailServerOpts contained via proto[col] local[domains] port - \ service auth[enticate] timeout envelope - \ qvirtual aka interface monitor plugin plugout - \ dns checkalias uidl interval tracepolls - \ principal esmtpname esmtppassword -" removed in 6.3.0 -syn keyword fetchmailServerOpts contained netsec -syn match fetchmailServerOpts contained '\' -syn match fetchmailServerOpts contained '\ +" Update: 26 Sep 2002 +" Changes: +" - Dynamic 4GL/FourJs/4GL 7.30 pseudo comment directives (Julian Bridle) +" - Conditionally allow case insensitive keywords (Julian Bridle) +" + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +if exists("fgl_ignore_case") + syntax case ignore +else + syntax case match +endif +syn keyword fglKeyword ABORT ABS ABSOLUTE ACCEPT ACCESS ACOS ADD AFTER ALL +syn keyword fglKeyword ALLOCATE ALTER AND ANSI ANY APPEND ARG_VAL ARRAY ARR_COUNT +syn keyword fglKeyword ARR_CURR AS ASC ASCENDING ASCII ASIN AT ATAN ATAN2 ATTACH +syn keyword fglKeyword ATTRIBUTE ATTRIBUTES AUDIT AUTHORIZATION AUTO AUTONEXT AVERAGE AVG +syn keyword fglKeyword BEFORE BEGIN BETWEEN BLACK BLINK BLUE BOLD BORDER BOTH BOTTOM +syn keyword fglKeyword BREAK BUFFERED BY BYTE +syn keyword fglKeyword CALL CASCADE CASE CHAR CHARACTER CHARACTER_LENGTH CHAR_LENGTH +syn keyword fglKeyword CHECK CLASS_ORIGIN CLEAR CLIPPED CLOSE CLUSTER COLOR +syn keyword fglKeyword COLUMN COLUMNS COMMAND COMMENT COMMENTS COMMIT COMMITTED +syn keyword fglKeyword COMPOSITES COMPRESS CONCURRENT CONNECT CONNECTION +syn keyword fglKeyword CONNECTION_ALIAS CONSTRAINED CONSTRAINT CONSTRAINTS CONSTRUCT +syn keyword fglKeyword CONTINUE CONTROL COS COUNT CREATE CURRENT CURSOR CYAN +syn keyword fglKeyword DATA DATABASE DATASKIP DATE DATETIME DAY DBA DBINFO DBSERVERNAME +syn keyword fglKeyword DEALLOCATE DEBUG DEC DECIMAL DECLARE DEFAULT DEFAULTS DEFER +syn keyword fglKeyword DEFERRED DEFINE DELETE DELIMITER DELIMITERS DESC DESCENDING +syn keyword fglKeyword DESCRIBE DESCRIPTOR DETACH DIAGNOSTICS DIM DIRTY DISABLED +syn keyword fglKeyword DISCONNECT DISPLAY DISTINCT DISTRIBUTIONS DO DORMANT DOUBLE +syn keyword fglKeyword DOWN DOWNSHIFT DROP +syn keyword fglKeyword EACH ELIF ELSE ENABLED END ENTRY ERROR ERRORLOG ERR_GET +syn keyword fglKeyword ERR_PRINT ERR_QUIT ESC ESCAPE EVERY EXCEPTION EXCLUSIVE +syn keyword fglKeyword EXEC EXECUTE EXISTS EXIT EXP EXPLAIN EXPRESSION EXTEND EXTENT +syn keyword fglKeyword EXTERN EXTERNAL +syn keyword fglKeyword F1 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F2 F20 F21 F22 F23 +syn keyword fglKeyword F24 F25 F26 F27 F28 F29 F3 F30 F31 F32 F33 F34 F35 F36 F37 F38 +syn keyword fglKeyword F39 F4 F40 F41 F42 F43 F44 F45 F46 F47 F48 F49 F5 F50 F51 F52 +syn keyword fglKeyword F53 F54 F55 F56 F57 F58 F59 F6 F60 F61 F62 F63 F64 F7 F8 F9 +syn keyword fglKeyword FALSE FETCH FGL_GETENV FGL_KEYVAL FGL_LASTKEY FIELD FIELD_TOUCHED +syn keyword fglKeyword FILE FILLFACTOR FILTERING FINISH FIRST FLOAT FLUSH FOR +syn keyword fglKeyword FOREACH FOREIGN FORM FORMAT FORMONLY FORTRAN FOUND FRACTION +syn keyword fglKeyword FRAGMENT FREE FROM FUNCTION GET_FLDBUF GLOBAL GLOBALS GO GOTO +syn keyword fglKeyword GRANT GREEN GROUP HAVING HEADER HELP HEX HIDE HIGH HOLD HOUR +syn keyword fglKeyword IDATA IF ILENGTH IMMEDIATE IN INCLUDE INDEX INDEXES INDICATOR +syn keyword fglKeyword INFIELD INIT INITIALIZE INPUT INSERT INSTRUCTIONS INT INTEGER +syn keyword fglKeyword INTERRUPT INTERVAL INTO INT_FLAG INVISIBLE IS ISAM ISOLATION +syn keyword fglKeyword ITYPE +syn keyword fglKeyword KEY LABEL +syn keyword fglKeyword LANGUAGE LAST LEADING LEFT LENGTH LET LIKE LINE +syn keyword fglKeyword LINENO LINES LOAD LOCATE LOCK LOG LOG10 LOGN LONG LOW +syn keyword fglKeyword MAGENTA MAIN MARGIN MATCHES MAX MDY MEDIUM MEMORY MENU MESSAGE +syn keyword fglKeyword MESSAGE_LENGTH MESSAGE_TEXT MIN MINUTE MOD MODE MODIFY MODULE +syn keyword fglKeyword MONEY MONTH MORE +syn keyword fglKeyword NAME NCHAR NEED NEW NEXT NEXTPAGE NO NOCR NOENTRY NONE NORMAL +syn keyword fglKeyword NOT NOTFOUND NULL NULLABLE NUMBER NUMERIC NUM_ARGS NVARCHAR +syn keyword fglKeyword OCTET_LENGTH OF OFF OLD ON ONLY OPEN OPTIMIZATION OPTION OPTIONS +syn keyword fglKeyword OR ORDER OTHERWISE OUTER OUTPUT +syn keyword fglKeyword PAGE PAGENO PAUSE PDQPRIORITY PERCENT PICTURE PIPE POW PRECISION +syn keyword fglKeyword PREPARE PREVIOUS PREVPAGE PRIMARY PRINT PRINTER PRIOR PRIVATE +syn keyword fglKeyword PRIVILEGES PROCEDURE PROGRAM PROMPT PUBLIC PUT +syn keyword fglKeyword QUIT QUIT_FLAG +syn keyword fglKeyword RAISE RANGE READ READONLY REAL RECORD RECOVER RED REFERENCES +syn keyword fglKeyword REFERENCING REGISTER RELATIVE REMAINDER REMOVE RENAME REOPTIMIZATION +syn keyword fglKeyword REPEATABLE REPORT REQUIRED RESOLUTION RESOURCE RESTRICT +syn keyword fglKeyword RESUME RETURN RETURNED_SQLSTATE RETURNING REVERSE REVOKE RIGHT +syn keyword fglKeyword ROBIN ROLE ROLLBACK ROLLFORWARD ROOT ROUND ROW ROWID ROWIDS +syn keyword fglKeyword ROWS ROW_COUNT RUN +syn keyword fglKeyword SCALE SCHEMA SCREEN SCROLL SCR_LINE SECOND SECTION SELECT +syn keyword fglKeyword SERIAL SERIALIZABLE SERVER_NAME SESSION SET SET_COUNT SHARE +syn keyword fglKeyword SHORT SHOW SITENAME SIZE SIZEOF SKIP SLEEP SMALLFLOAT SMALLINT +syn keyword fglKeyword SOME SPACE SPACES SQL SQLAWARN SQLCA SQLCODE SQLERRD SQLERRM +syn keyword fglKeyword SQLERROR SQLERRP SQLSTATE SQLWARNING SQRT STABILITY START +syn keyword fglKeyword STARTLOG STATIC STATISTICS STATUS STDEV STEP STOP STRING STRUCT +syn keyword fglKeyword SUBCLASS_ORIGIN SUM SWITCH SYNONYM SYSTEM +syn keyword fglKeyword SysBlobs SysChecks SysColAuth SysColDepend SysColumns +syn keyword fglKeyword SysConstraints SysDefaults SysDepend SysDistrib SysFragAuth +syn keyword fglKeyword SysFragments SysIndexes SysObjState SysOpClstr SysProcAuth +syn keyword fglKeyword SysProcBody SysProcPlan SysProcedures SysReferences SysRoleAuth +syn keyword fglKeyword SysSynTable SysSynonyms SysTabAuth SysTables SysTrigBody +syn keyword fglKeyword SysTriggers SysUsers SysViews SysViolations +syn keyword fglKeyword TAB TABLE TABLES TAN TEMP TEXT THEN THROUGH THRU TIME TO +syn keyword fglKeyword TODAY TOP TOTAL TRACE TRAILER TRAILING TRANSACTION TRIGGER +syn keyword fglKeyword TRIGGERS TRIM TRUE TRUNC TYPE TYPEDEF +syn keyword fglKeyword UNCOMMITTED UNCONSTRAINED UNDERLINE UNION UNIQUE UNITS UNLOAD +syn keyword fglKeyword UNLOCK UNSIGNED UP UPDATE UPSHIFT USER USING +syn keyword fglKeyword VALIDATE VALUE VALUES VARCHAR VARIABLES VARIANCE VARYING +syn keyword fglKeyword VERIFY VIEW VIOLATIONS +syn keyword fglKeyword WAIT WAITING WARNING WEEKDAY WHEN WHENEVER WHERE WHILE WHITE +syn keyword fglKeyword WINDOW WITH WITHOUT WORDWRAP WORK WRAP WRITE +syn keyword fglKeyword YEAR YELLOW +syn keyword fglKeyword ZEROFILL + +" Strings and characters: +syn region fglString start=+"+ skip=+\\\\\|\\"+ end=+"+ +syn region fglString start=+'+ skip=+\\\\\|\\"+ end=+'+ + +" Numbers: +syn match fglNumber "-\=\<[0-9]*\.\=[0-9_]\>" + +" Comments: +syn region fglComment start="{" end="}" +syn match fglComment "--.*" +syn match fglComment "#.*" + +" Not a comment even though it looks like one (Dynamic 4GL/FourJs directive) +syn match fglSpecial "--#" +syn match fglSpecial "--@" + +syn sync ccomment fglComment + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link fglComment Comment +"hi def link fglKeyword fglSpecial +hi def link fglKeyword fglStatement +hi def link fglNumber Number +hi def link fglOperator fglStatement +hi def link fglSpecial Special +hi def link fglStatement Statement +hi def link fglString String +hi def link fglType Type + + +let b:current_syntax = "fgl" + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/fgl.vim b/uvim/runtime/syntax/fgl.vim deleted file mode 100644 index 1b75d137b6..0000000000 --- a/uvim/runtime/syntax/fgl.vim +++ /dev/null @@ -1,134 +0,0 @@ -" Vim syntax file -" Language: Informix 4GL -" Maintainer: Rafal M. Sulejman -" Update: 26 Sep 2002 -" Changes: -" - Dynamic 4GL/FourJs/4GL 7.30 pseudo comment directives (Julian Bridle) -" - Conditionally allow case insensitive keywords (Julian Bridle) -" - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -if exists("fgl_ignore_case") - syntax case ignore -else - syntax case match -endif -syn keyword fglKeyword ABORT ABS ABSOLUTE ACCEPT ACCESS ACOS ADD AFTER ALL -syn keyword fglKeyword ALLOCATE ALTER AND ANSI ANY APPEND ARG_VAL ARRAY ARR_COUNT -syn keyword fglKeyword ARR_CURR AS ASC ASCENDING ASCII ASIN AT ATAN ATAN2 ATTACH -syn keyword fglKeyword ATTRIBUTE ATTRIBUTES AUDIT AUTHORIZATION AUTO AUTONEXT AVERAGE AVG -syn keyword fglKeyword BEFORE BEGIN BETWEEN BLACK BLINK BLUE BOLD BORDER BOTH BOTTOM -syn keyword fglKeyword BREAK BUFFERED BY BYTE -syn keyword fglKeyword CALL CASCADE CASE CHAR CHARACTER CHARACTER_LENGTH CHAR_LENGTH -syn keyword fglKeyword CHECK CLASS_ORIGIN CLEAR CLIPPED CLOSE CLUSTER COLOR -syn keyword fglKeyword COLUMN COLUMNS COMMAND COMMENT COMMENTS COMMIT COMMITTED -syn keyword fglKeyword COMPOSITES COMPRESS CONCURRENT CONNECT CONNECTION -syn keyword fglKeyword CONNECTION_ALIAS CONSTRAINED CONSTRAINT CONSTRAINTS CONSTRUCT -syn keyword fglKeyword CONTINUE CONTROL COS COUNT CREATE CURRENT CURSOR CYAN -syn keyword fglKeyword DATA DATABASE DATASKIP DATE DATETIME DAY DBA DBINFO DBSERVERNAME -syn keyword fglKeyword DEALLOCATE DEBUG DEC DECIMAL DECLARE DEFAULT DEFAULTS DEFER -syn keyword fglKeyword DEFERRED DEFINE DELETE DELIMITER DELIMITERS DESC DESCENDING -syn keyword fglKeyword DESCRIBE DESCRIPTOR DETACH DIAGNOSTICS DIM DIRTY DISABLED -syn keyword fglKeyword DISCONNECT DISPLAY DISTINCT DISTRIBUTIONS DO DORMANT DOUBLE -syn keyword fglKeyword DOWN DOWNSHIFT DROP -syn keyword fglKeyword EACH ELIF ELSE ENABLED END ENTRY ERROR ERRORLOG ERR_GET -syn keyword fglKeyword ERR_PRINT ERR_QUIT ESC ESCAPE EVERY EXCEPTION EXCLUSIVE -syn keyword fglKeyword EXEC EXECUTE EXISTS EXIT EXP EXPLAIN EXPRESSION EXTEND EXTENT -syn keyword fglKeyword EXTERN EXTERNAL -syn keyword fglKeyword F1 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F2 F20 F21 F22 F23 -syn keyword fglKeyword F24 F25 F26 F27 F28 F29 F3 F30 F31 F32 F33 F34 F35 F36 F37 F38 -syn keyword fglKeyword F39 F4 F40 F41 F42 F43 F44 F45 F46 F47 F48 F49 F5 F50 F51 F52 -syn keyword fglKeyword F53 F54 F55 F56 F57 F58 F59 F6 F60 F61 F62 F63 F64 F7 F8 F9 -syn keyword fglKeyword FALSE FETCH FGL_GETENV FGL_KEYVAL FGL_LASTKEY FIELD FIELD_TOUCHED -syn keyword fglKeyword FILE FILLFACTOR FILTERING FINISH FIRST FLOAT FLUSH FOR -syn keyword fglKeyword FOREACH FOREIGN FORM FORMAT FORMONLY FORTRAN FOUND FRACTION -syn keyword fglKeyword FRAGMENT FREE FROM FUNCTION GET_FLDBUF GLOBAL GLOBALS GO GOTO -syn keyword fglKeyword GRANT GREEN GROUP HAVING HEADER HELP HEX HIDE HIGH HOLD HOUR -syn keyword fglKeyword IDATA IF ILENGTH IMMEDIATE IN INCLUDE INDEX INDEXES INDICATOR -syn keyword fglKeyword INFIELD INIT INITIALIZE INPUT INSERT INSTRUCTIONS INT INTEGER -syn keyword fglKeyword INTERRUPT INTERVAL INTO INT_FLAG INVISIBLE IS ISAM ISOLATION -syn keyword fglKeyword ITYPE -syn keyword fglKeyword KEY LABEL -syn keyword fglKeyword LANGUAGE LAST LEADING LEFT LENGTH LET LIKE LINE -syn keyword fglKeyword LINENO LINES LOAD LOCATE LOCK LOG LOG10 LOGN LONG LOW -syn keyword fglKeyword MAGENTA MAIN MARGIN MATCHES MAX MDY MEDIUM MEMORY MENU MESSAGE -syn keyword fglKeyword MESSAGE_LENGTH MESSAGE_TEXT MIN MINUTE MOD MODE MODIFY MODULE -syn keyword fglKeyword MONEY MONTH MORE -syn keyword fglKeyword NAME NCHAR NEED NEW NEXT NEXTPAGE NO NOCR NOENTRY NONE NORMAL -syn keyword fglKeyword NOT NOTFOUND NULL NULLABLE NUMBER NUMERIC NUM_ARGS NVARCHAR -syn keyword fglKeyword OCTET_LENGTH OF OFF OLD ON ONLY OPEN OPTIMIZATION OPTION OPTIONS -syn keyword fglKeyword OR ORDER OTHERWISE OUTER OUTPUT -syn keyword fglKeyword PAGE PAGENO PAUSE PDQPRIORITY PERCENT PICTURE PIPE POW PRECISION -syn keyword fglKeyword PREPARE PREVIOUS PREVPAGE PRIMARY PRINT PRINTER PRIOR PRIVATE -syn keyword fglKeyword PRIVILEGES PROCEDURE PROGRAM PROMPT PUBLIC PUT -syn keyword fglKeyword QUIT QUIT_FLAG -syn keyword fglKeyword RAISE RANGE READ READONLY REAL RECORD RECOVER RED REFERENCES -syn keyword fglKeyword REFERENCING REGISTER RELATIVE REMAINDER REMOVE RENAME REOPTIMIZATION -syn keyword fglKeyword REPEATABLE REPORT REQUIRED RESOLUTION RESOURCE RESTRICT -syn keyword fglKeyword RESUME RETURN RETURNED_SQLSTATE RETURNING REVERSE REVOKE RIGHT -syn keyword fglKeyword ROBIN ROLE ROLLBACK ROLLFORWARD ROOT ROUND ROW ROWID ROWIDS -syn keyword fglKeyword ROWS ROW_COUNT RUN -syn keyword fglKeyword SCALE SCHEMA SCREEN SCROLL SCR_LINE SECOND SECTION SELECT -syn keyword fglKeyword SERIAL SERIALIZABLE SERVER_NAME SESSION SET SET_COUNT SHARE -syn keyword fglKeyword SHORT SHOW SITENAME SIZE SIZEOF SKIP SLEEP SMALLFLOAT SMALLINT -syn keyword fglKeyword SOME SPACE SPACES SQL SQLAWARN SQLCA SQLCODE SQLERRD SQLERRM -syn keyword fglKeyword SQLERROR SQLERRP SQLSTATE SQLWARNING SQRT STABILITY START -syn keyword fglKeyword STARTLOG STATIC STATISTICS STATUS STDEV STEP STOP STRING STRUCT -syn keyword fglKeyword SUBCLASS_ORIGIN SUM SWITCH SYNONYM SYSTEM -syn keyword fglKeyword SysBlobs SysChecks SysColAuth SysColDepend SysColumns -syn keyword fglKeyword SysConstraints SysDefaults SysDepend SysDistrib SysFragAuth -syn keyword fglKeyword SysFragments SysIndexes SysObjState SysOpClstr SysProcAuth -syn keyword fglKeyword SysProcBody SysProcPlan SysProcedures SysReferences SysRoleAuth -syn keyword fglKeyword SysSynTable SysSynonyms SysTabAuth SysTables SysTrigBody -syn keyword fglKeyword SysTriggers SysUsers SysViews SysViolations -syn keyword fglKeyword TAB TABLE TABLES TAN TEMP TEXT THEN THROUGH THRU TIME TO -syn keyword fglKeyword TODAY TOP TOTAL TRACE TRAILER TRAILING TRANSACTION TRIGGER -syn keyword fglKeyword TRIGGERS TRIM TRUE TRUNC TYPE TYPEDEF -syn keyword fglKeyword UNCOMMITTED UNCONSTRAINED UNDERLINE UNION UNIQUE UNITS UNLOAD -syn keyword fglKeyword UNLOCK UNSIGNED UP UPDATE UPSHIFT USER USING -syn keyword fglKeyword VALIDATE VALUE VALUES VARCHAR VARIABLES VARIANCE VARYING -syn keyword fglKeyword VERIFY VIEW VIOLATIONS -syn keyword fglKeyword WAIT WAITING WARNING WEEKDAY WHEN WHENEVER WHERE WHILE WHITE -syn keyword fglKeyword WINDOW WITH WITHOUT WORDWRAP WORK WRAP WRITE -syn keyword fglKeyword YEAR YELLOW -syn keyword fglKeyword ZEROFILL - -" Strings and characters: -syn region fglString start=+"+ skip=+\\\\\|\\"+ end=+"+ -syn region fglString start=+'+ skip=+\\\\\|\\"+ end=+'+ - -" Numbers: -syn match fglNumber "-\=\<[0-9]*\.\=[0-9_]\>" - -" Comments: -syn region fglComment start="{" end="}" -syn match fglComment "--.*" -syn match fglComment "#.*" - -" Not a comment even though it looks like one (Dynamic 4GL/FourJs directive) -syn match fglSpecial "--#" -syn match fglSpecial "--@" - -syn sync ccomment fglComment - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link fglComment Comment -"hi def link fglKeyword fglSpecial -hi def link fglKeyword fglStatement -hi def link fglNumber Number -hi def link fglOperator fglStatement -hi def link fglSpecial Special -hi def link fglStatement Statement -hi def link fglString String -hi def link fglType Type - - -let b:current_syntax = "fgl" - -" vim: ts=8 diff --git a/uvim/runtime/syntax/fish.mnv b/uvim/runtime/syntax/fish.mnv new file mode 100644 index 0000000000..c77bfae6d1 --- /dev/null +++ b/uvim/runtime/syntax/fish.mnv @@ -0,0 +1,225 @@ +" MNV syntax file +" Language: fish +" Maintainer: Nicholas Boyle (github.com/nickeb96) +" Repository: https://github.com/nickeb96/fish.mnv +" Last Change: February 1, 2023 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + + +" Statements +syn cluster fishStatement contains=fishKeywordAndOr,fishNot,fishSelectStatement,fishKeyword,fishKeywordIf,fishCommand,fishVariable + +syn keyword fishKeywordAndOr and or nextgroup=fishNot,fishSelectStatement,fishKeyword,fishKeywordIf,fishCommand +hi def link fishKeywordAndOr fishOperator + +syn keyword fishNot not skipwhite nextgroup=fishSelectStatement,fishKeyword,fishKeywordIf,fishCommand +syn match fishNot /!/ skipwhite nextgroup=fishSelectStatement,fishKeyword,fishKeywordIf,fishCommand +hi def link fishNot fishOperator + +syn keyword fishSelectStatement command builtin skipwhite nextgroup=fishKeyword,fishKeywordIf,fishCommand,fishOption +hi def link fishSelectStatement fishKeyword + +syn keyword fishKeyword end skipwhite nextgroup=@fishTerminator + +syn keyword fishKeywordIf if skipwhite nextgroup=@fishStatement +syn keyword fishKeyword else skipwhite nextgroup=fishKeywordIf,fishSemicolon +hi def link fishKeywordIf fishKeyword + +syn keyword fishKeyword switch skipwhite nextgroup=@fishArgument +syn keyword fishKeyword case skipwhite nextgroup=@fishArgument + +syn keyword fishKeyword while skipwhite nextgroup=@fishStatement + +syn keyword fishKeyword for skipwhite nextgroup=fishForVariable +syn match fishForVariable /[[:alnum:]_]\+/ contained skipwhite nextgroup=fishKeywordIn +syn keyword fishKeywordIn in contained skipwhite nextgroup=@fishArgument +hi def link fishForVariable fishParameter +hi def link fishKeywordIn fishKeyword + +syn keyword fishKeyword _ abbr argparse begin bg bind block break breakpoint cd commandline + \ complete continue count disown echo emit eval exec exit false fg function functions + \ history jobs math printf pwd random read realpath return set set_color source status + \ string test time true type ulimit wait + \ skipwhite nextgroup=@fishNext +syn match fishKeyword /\/ skipwhite nextgroup=@fishNext + +syn match fishCommand /[[:alnum:]_\/[][[:alnum:]+._-]*/ skipwhite nextgroup=@fishNext + + +" Internally Nested Arguments + +syn cluster fishSubscriptArgs contains=fishInnerVariable,fishIndexNum,fishIndexRange,fishInnerCommandSub + +syn match fishInnerVariable /\$\+[[:alnum:]_]\+/ contained +syn match fishInnerVariable /\$\+[[:alnum:]_]\+\[/me=e-1,he=e-1 contained nextgroup=fishInnerSubscript +hi def link fishInnerVariable fishVariable + +syn region fishInnerSubscript matchgroup=fishVariable start=/\[/ end=/]/ contained + \ keepend contains=@fishSubscriptArgs +hi def link fishInnerSubscript fishSubscript + +syn match fishIndexNum /[+-]?[[:digit:]]\+/ contained +hi def link fishIndexNum fishParameter + +syn match fishIndexRange /\.\./ contained +hi def link fishIndexRange fishParameter + +syn region fishInnerCommandSub matchgroup=fishOperator start=/(/ start=/\$(/ end=/)/ contained + \ contains=@fishStatement +hi def link fishInnerCommandSub fishCommandSub + +syn region fishQuotedCommandSub matchgroup=fishOperator start=/\$(/ end=/)/ contained + \ contains=@fishStatement +hi def link fishQuotedCommandSub fishCommandSub + +syn match fishBraceExpansionComma /,/ contained +hi def link fishBraceExpansionComma fishOperator + +syn match fishBracedParameter '[[:alnum:]\u5b\u5d@:=+.%/!_-]\+' contained contains=fishInnerPathGlob +hi def link fishBracedParameter fishParameter + +syn region fishBracedQuote start=/'/ skip=/\\'/ end=/'/ contained + \ contains=fishEscapedEscape,fishEscapedSQuote +syn region fishBracedQuote start=/"/ skip=/\\"/ end=/"/ contained + \ contains=fishEscapedEscape,fishEscapedDQuote,fishEscapedDollar,fishInnerVariable,fishInnerCommandSub +hi def link fishBracedQuote fishQuote + + +" Arguments + +syn cluster fishArgument contains=fishParameter,fishOption,fishVariable,fishPathGlob,fishBraceExpansion,fishQuote,fishCharacter,fishCommandSub,fishRedirection,fishSelfPid + +syn match fishParameter '[[:alnum:]\u5b\u5d@:=+.,%/!_-]\+' contained skipwhite nextgroup=@fishNext + +syn match fishOption /-[[:alnum:]=_-]*/ contained skipwhite nextgroup=@fishNext + +syn match fishPathGlob /\(\~\|*\|?\)/ contained skipwhite nextgroup=@fishNext + +syn region fishBraceExpansion matchgroup=fishOperator start=/{/ end=/}/ contained + \ contains=fishBraceExpansionComma,fishInnerVariable,fishInnerCommandSub,fishBracedParameter,fishBracedQuote + \ skipwhite nextgroup=@fishNext + +syn match fishVariable /\$\+[[:alnum:]_]\+/ skipwhite nextgroup=@fishNext +syn match fishVariable /\$\+[[:alnum:]_]\+\[/me=e-1,he=e-1 nextgroup=fishSubscript + +syn region fishSubscript matchgroup=fishVariable start=/\[/ end=/]/ contained + \ keepend contains=@fishSubscriptArgs + \ skipwhite nextgroup=@fishNext + +syn region fishCommandSub matchgroup=fishOperator start=/(/ start=/\$(/ end=/)/ contained + \ contains=@fishStatement + \ skipwhite nextgroup=@fishNext + +syn region fishQuote start=/'/ skip=/\\'/ end=/'/ contained + \ contains=fishEscapedEscape,fishEscapedSQuote + \ skipwhite nextgroup=@fishNext +syn region fishQuote start=/"/ skip=/\\"/ end=/"/ contained + \ contains=fishEscapedEscape,fishEscapedDQuote,fishEscapedDollar,fishInnerVariable,fishQuotedCommandSub + \ skipwhite nextgroup=@fishNext + +syn match fishEscapedEscape /\\\\/ contained +syn match fishEscapedSQuote /\\'/ contained +syn match fishEscapedDQuote /\\"/ contained +syn match fishEscapedDollar /\\\$/ contained +hi def link fishEscapedEscape fishCharacter +hi def link fishEscapedSQuote fishCharacter +hi def link fishEscapedDQuote fishCharacter +hi def link fishEscapedDollar fishCharacter + +syn match fishCharacter /\\[0-7]\{1,3}/ contained skipwhite nextgroup=@fishNext +syn match fishCharacter /\\u[0-9a-fA-F]\{4}/ contained skipwhite nextgroup=@fishNext +syn match fishCharacter /\\U[0-9a-fA-F]\{8}/ contained skipwhite nextgroup=@fishNext +syn match fishCharacter /\\x[0-7][0-9a-fA-F]\|\\x[0-9a-fA-F]/ contained skipwhite nextgroup=@fishNext +syn match fishCharacter /\\X[0-9a-fA-F]\{1,2}/ contained skipwhite nextgroup=@fishNext +syn match fishCharacter /\\[abcefnrtv[\](){}<>\\*?~%#$|&;'" ]/ contained skipwhite nextgroup=@fishNext + +syn match fishRedirection /[>?]\?/ contained skipwhite nextgroup=fishRedirectionTarget +syn match fishRedirection /[0-9&]\?>&[0-9-]/ contained skipwhite nextgroup=@fishNext + +syn match fishRedirectionTarget /[[:alnum:]$~*?{,}"'\/._-]\+/ contained contains=fishInnerVariable skipwhite nextgroup=@fishNext +hi def link fishRedirectionTarget fishRedirection + +syn match fishSelfPid /%self\>/ contained nextgroup=@fishNext +hi def link fishSelfPid fishOperator + + +" Terminators + +syn cluster fishTerminator contains=fishPipe,fishBackgroundJob,fishSemicolon,fishSymbolicAndOr + +syn match fishPipe /\(1>\|2>\|&\)\?|/ contained skipwhite nextgroup=@fishStatement +hi def link fishPipe fishEnd + +syn match fishBackgroundJob /&$/ contained skipwhite nextgroup=@fishStatement +syn match fishBackgroundJob /&[^<>&|]/me=s+1,he=s+1 contained skipwhite nextgroup=@fishStatement +hi def link fishBackgroundJob fishEnd + +syn match fishSemicolon /;/ skipwhite nextgroup=@fishStatement +hi def link fishSemicolon fishEnd + +syn match fishSymbolicAndOr /\(&&\|||\)/ contained skipwhite skipempty nextgroup=@fishStatement +hi def link fishSymbolicAndOr fishOperator + + +" Other + +syn cluster fishNext contains=fishEscapedNl,@fishArgument,@fishTerminator + +syn match fishEscapedNl /\\$/ skipnl skipwhite contained nextgroup=@fishNext + +syn match fishComment /#.*/ contains=fishTodo,@Spell + +syn keyword fishTodo TODO contained + + + +syn sync minlines=200 +syn sync maxlines=300 + + +" Intermediate highlight groups matching $fish_color_* variables + +hi def link fishCommand fish_color_command +hi def link fishComment fish_color_comment +hi def link fishEnd fish_color_end +hi def link fishCharacter fish_color_escape +hi def link fishKeyword fish_color_keyword +hi def link fishEscapedNl fish_color_normal +hi def link fishOperator fish_color_operator +hi def link fishVariable fish_color_operator +hi def link fishInnerVariable fish_color_operator +hi def link fishPathGlob fish_color_operator +hi def link fishOption fish_color_option +hi def link fishParameter fish_color_param +hi def link fishQuote fish_color_quote +hi def link fishRedirection fish_color_redirection + + +" Default highlight groups + +hi def link fish_color_param Normal +hi def link fish_color_normal Normal +hi def link fish_color_option Normal +hi def link fish_color_command Function +hi def link fish_color_keyword Keyword +hi def link fish_color_end Delimiter +hi def link fish_color_operator Operator +hi def link fish_color_redirection Type +hi def link fish_color_quote String +hi def link fish_color_escape Character +hi def link fish_color_comment Comment + +hi def link fishTodo Todo + + +let b:current_syntax = 'fish' + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/fish.vim b/uvim/runtime/syntax/fish.vim deleted file mode 100644 index 266878bbdc..0000000000 --- a/uvim/runtime/syntax/fish.vim +++ /dev/null @@ -1,225 +0,0 @@ -" Vim syntax file -" Language: fish -" Maintainer: Nicholas Boyle (github.com/nickeb96) -" Repository: https://github.com/nickeb96/fish.vim -" Last Change: February 1, 2023 - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - - -" Statements -syn cluster fishStatement contains=fishKeywordAndOr,fishNot,fishSelectStatement,fishKeyword,fishKeywordIf,fishCommand,fishVariable - -syn keyword fishKeywordAndOr and or nextgroup=fishNot,fishSelectStatement,fishKeyword,fishKeywordIf,fishCommand -hi def link fishKeywordAndOr fishOperator - -syn keyword fishNot not skipwhite nextgroup=fishSelectStatement,fishKeyword,fishKeywordIf,fishCommand -syn match fishNot /!/ skipwhite nextgroup=fishSelectStatement,fishKeyword,fishKeywordIf,fishCommand -hi def link fishNot fishOperator - -syn keyword fishSelectStatement command builtin skipwhite nextgroup=fishKeyword,fishKeywordIf,fishCommand,fishOption -hi def link fishSelectStatement fishKeyword - -syn keyword fishKeyword end skipwhite nextgroup=@fishTerminator - -syn keyword fishKeywordIf if skipwhite nextgroup=@fishStatement -syn keyword fishKeyword else skipwhite nextgroup=fishKeywordIf,fishSemicolon -hi def link fishKeywordIf fishKeyword - -syn keyword fishKeyword switch skipwhite nextgroup=@fishArgument -syn keyword fishKeyword case skipwhite nextgroup=@fishArgument - -syn keyword fishKeyword while skipwhite nextgroup=@fishStatement - -syn keyword fishKeyword for skipwhite nextgroup=fishForVariable -syn match fishForVariable /[[:alnum:]_]\+/ contained skipwhite nextgroup=fishKeywordIn -syn keyword fishKeywordIn in contained skipwhite nextgroup=@fishArgument -hi def link fishForVariable fishParameter -hi def link fishKeywordIn fishKeyword - -syn keyword fishKeyword _ abbr argparse begin bg bind block break breakpoint cd commandline - \ complete continue count disown echo emit eval exec exit false fg function functions - \ history jobs math printf pwd random read realpath return set set_color source status - \ string test time true type ulimit wait - \ skipwhite nextgroup=@fishNext -syn match fishKeyword /\/ skipwhite nextgroup=@fishNext - -syn match fishCommand /[[:alnum:]_\/[][[:alnum:]+._-]*/ skipwhite nextgroup=@fishNext - - -" Internally Nested Arguments - -syn cluster fishSubscriptArgs contains=fishInnerVariable,fishIndexNum,fishIndexRange,fishInnerCommandSub - -syn match fishInnerVariable /\$\+[[:alnum:]_]\+/ contained -syn match fishInnerVariable /\$\+[[:alnum:]_]\+\[/me=e-1,he=e-1 contained nextgroup=fishInnerSubscript -hi def link fishInnerVariable fishVariable - -syn region fishInnerSubscript matchgroup=fishVariable start=/\[/ end=/]/ contained - \ keepend contains=@fishSubscriptArgs -hi def link fishInnerSubscript fishSubscript - -syn match fishIndexNum /[+-]?[[:digit:]]\+/ contained -hi def link fishIndexNum fishParameter - -syn match fishIndexRange /\.\./ contained -hi def link fishIndexRange fishParameter - -syn region fishInnerCommandSub matchgroup=fishOperator start=/(/ start=/\$(/ end=/)/ contained - \ contains=@fishStatement -hi def link fishInnerCommandSub fishCommandSub - -syn region fishQuotedCommandSub matchgroup=fishOperator start=/\$(/ end=/)/ contained - \ contains=@fishStatement -hi def link fishQuotedCommandSub fishCommandSub - -syn match fishBraceExpansionComma /,/ contained -hi def link fishBraceExpansionComma fishOperator - -syn match fishBracedParameter '[[:alnum:]\u5b\u5d@:=+.%/!_-]\+' contained contains=fishInnerPathGlob -hi def link fishBracedParameter fishParameter - -syn region fishBracedQuote start=/'/ skip=/\\'/ end=/'/ contained - \ contains=fishEscapedEscape,fishEscapedSQuote -syn region fishBracedQuote start=/"/ skip=/\\"/ end=/"/ contained - \ contains=fishEscapedEscape,fishEscapedDQuote,fishEscapedDollar,fishInnerVariable,fishInnerCommandSub -hi def link fishBracedQuote fishQuote - - -" Arguments - -syn cluster fishArgument contains=fishParameter,fishOption,fishVariable,fishPathGlob,fishBraceExpansion,fishQuote,fishCharacter,fishCommandSub,fishRedirection,fishSelfPid - -syn match fishParameter '[[:alnum:]\u5b\u5d@:=+.,%/!_-]\+' contained skipwhite nextgroup=@fishNext - -syn match fishOption /-[[:alnum:]=_-]*/ contained skipwhite nextgroup=@fishNext - -syn match fishPathGlob /\(\~\|*\|?\)/ contained skipwhite nextgroup=@fishNext - -syn region fishBraceExpansion matchgroup=fishOperator start=/{/ end=/}/ contained - \ contains=fishBraceExpansionComma,fishInnerVariable,fishInnerCommandSub,fishBracedParameter,fishBracedQuote - \ skipwhite nextgroup=@fishNext - -syn match fishVariable /\$\+[[:alnum:]_]\+/ skipwhite nextgroup=@fishNext -syn match fishVariable /\$\+[[:alnum:]_]\+\[/me=e-1,he=e-1 nextgroup=fishSubscript - -syn region fishSubscript matchgroup=fishVariable start=/\[/ end=/]/ contained - \ keepend contains=@fishSubscriptArgs - \ skipwhite nextgroup=@fishNext - -syn region fishCommandSub matchgroup=fishOperator start=/(/ start=/\$(/ end=/)/ contained - \ contains=@fishStatement - \ skipwhite nextgroup=@fishNext - -syn region fishQuote start=/'/ skip=/\\'/ end=/'/ contained - \ contains=fishEscapedEscape,fishEscapedSQuote - \ skipwhite nextgroup=@fishNext -syn region fishQuote start=/"/ skip=/\\"/ end=/"/ contained - \ contains=fishEscapedEscape,fishEscapedDQuote,fishEscapedDollar,fishInnerVariable,fishQuotedCommandSub - \ skipwhite nextgroup=@fishNext - -syn match fishEscapedEscape /\\\\/ contained -syn match fishEscapedSQuote /\\'/ contained -syn match fishEscapedDQuote /\\"/ contained -syn match fishEscapedDollar /\\\$/ contained -hi def link fishEscapedEscape fishCharacter -hi def link fishEscapedSQuote fishCharacter -hi def link fishEscapedDQuote fishCharacter -hi def link fishEscapedDollar fishCharacter - -syn match fishCharacter /\\[0-7]\{1,3}/ contained skipwhite nextgroup=@fishNext -syn match fishCharacter /\\u[0-9a-fA-F]\{4}/ contained skipwhite nextgroup=@fishNext -syn match fishCharacter /\\U[0-9a-fA-F]\{8}/ contained skipwhite nextgroup=@fishNext -syn match fishCharacter /\\x[0-7][0-9a-fA-F]\|\\x[0-9a-fA-F]/ contained skipwhite nextgroup=@fishNext -syn match fishCharacter /\\X[0-9a-fA-F]\{1,2}/ contained skipwhite nextgroup=@fishNext -syn match fishCharacter /\\[abcefnrtv[\](){}<>\\*?~%#$|&;'" ]/ contained skipwhite nextgroup=@fishNext - -syn match fishRedirection /[>?]\?/ contained skipwhite nextgroup=fishRedirectionTarget -syn match fishRedirection /[0-9&]\?>&[0-9-]/ contained skipwhite nextgroup=@fishNext - -syn match fishRedirectionTarget /[[:alnum:]$~*?{,}"'\/._-]\+/ contained contains=fishInnerVariable skipwhite nextgroup=@fishNext -hi def link fishRedirectionTarget fishRedirection - -syn match fishSelfPid /%self\>/ contained nextgroup=@fishNext -hi def link fishSelfPid fishOperator - - -" Terminators - -syn cluster fishTerminator contains=fishPipe,fishBackgroundJob,fishSemicolon,fishSymbolicAndOr - -syn match fishPipe /\(1>\|2>\|&\)\?|/ contained skipwhite nextgroup=@fishStatement -hi def link fishPipe fishEnd - -syn match fishBackgroundJob /&$/ contained skipwhite nextgroup=@fishStatement -syn match fishBackgroundJob /&[^<>&|]/me=s+1,he=s+1 contained skipwhite nextgroup=@fishStatement -hi def link fishBackgroundJob fishEnd - -syn match fishSemicolon /;/ skipwhite nextgroup=@fishStatement -hi def link fishSemicolon fishEnd - -syn match fishSymbolicAndOr /\(&&\|||\)/ contained skipwhite skipempty nextgroup=@fishStatement -hi def link fishSymbolicAndOr fishOperator - - -" Other - -syn cluster fishNext contains=fishEscapedNl,@fishArgument,@fishTerminator - -syn match fishEscapedNl /\\$/ skipnl skipwhite contained nextgroup=@fishNext - -syn match fishComment /#.*/ contains=fishTodo,@Spell - -syn keyword fishTodo TODO contained - - - -syn sync minlines=200 -syn sync maxlines=300 - - -" Intermediate highlight groups matching $fish_color_* variables - -hi def link fishCommand fish_color_command -hi def link fishComment fish_color_comment -hi def link fishEnd fish_color_end -hi def link fishCharacter fish_color_escape -hi def link fishKeyword fish_color_keyword -hi def link fishEscapedNl fish_color_normal -hi def link fishOperator fish_color_operator -hi def link fishVariable fish_color_operator -hi def link fishInnerVariable fish_color_operator -hi def link fishPathGlob fish_color_operator -hi def link fishOption fish_color_option -hi def link fishParameter fish_color_param -hi def link fishQuote fish_color_quote -hi def link fishRedirection fish_color_redirection - - -" Default highlight groups - -hi def link fish_color_param Normal -hi def link fish_color_normal Normal -hi def link fish_color_option Normal -hi def link fish_color_command Function -hi def link fish_color_keyword Keyword -hi def link fish_color_end Delimiter -hi def link fish_color_operator Operator -hi def link fish_color_redirection Type -hi def link fish_color_quote String -hi def link fish_color_escape Character -hi def link fish_color_comment Comment - -hi def link fishTodo Todo - - -let b:current_syntax = 'fish' - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/flexwiki.mnv b/uvim/runtime/syntax/flexwiki.mnv new file mode 100644 index 0000000000..bdb4dfc4dd --- /dev/null +++ b/uvim/runtime/syntax/flexwiki.mnv @@ -0,0 +1,133 @@ +" MNV syntax file +" Language: FlexWiki, http://www.flexwiki.com/ +" Maintainer: George V. Reilly +" Home: http://www.georgevreilly.com/mnv/flexwiki/ +" Other Home: http://www.mnv.org/scripts/script.php?script_id=1529 +" Author: George V. Reilly +" Filenames: *.wiki +" Last Change: Wed Apr 26 11:00 PM 2006 P +" Version: 0.3 + +" Note: The horrible regexps were reverse-engineered from +" FlexWikiCore\EngineSource\Formatter.cs, with help from the Regex Analyzer +" in The Regulator, http://regulator.sourceforge.net/ .NET uses Perl-style +" regexes, which use a different syntax than MNV (fewer \s). +" The primary test case is FlexWiki\FormattingRules.wiki + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" A WikiWord (unqualifiedWikiName) +syntax match flexwikiWord /\%(_\?\([A-Z]\{2,}[a-z0-9]\+[A-Za-z0-9]*\)\|\([A-Z][a-z0-9]\+[A-Za-z0-9]*[A-Z]\+[A-Za-z0-9]*\)\)/ +" A [bracketed wiki word] +syntax match flexwikiWord /\[[[:alnum:]\s]\+\]/ + +" text: "this is a link (optional tooltip)":http://www.microsoft.com +" TODO: check URL syntax against RFC +syntax match flexwikiLink `\("[^"(]\+\((\([^)]\+\))\)\?":\)\?\(https\?\|ftp\|gopher\|telnet\|file\|notes\|ms-help\):\(\(\(//\)\|\(\\\\\)\)\+[A-Za-z0-9:#@%/;$~_?+-=.&\-\\\\]*\)` + +" text: *strong* +syntax match flexwikiBold /\(^\|\W\)\zs\*\([^ ].\{-}\)\*/ +" '''bold''' +syntax match flexwikiBold /'''\([^'].\{-}\)'''/ + +" text: _emphasis_ +syntax match flexwikiItalic /\(^\|\W\)\zs_\([^ ].\{-}\)_/ +" ''italic'' +syntax match flexwikiItalic /''\([^'].\{-}\)''/ + +" ``deemphasis`` +syntax match flexwikiDeEmphasis /``\([^`].\{-}\)``/ + +" text: @code@ +syntax match flexwikiCode /\(^\|\s\|(\|\[\)\zs@\([^@]\+\)@/ + +" text: -deleted text- +syntax match flexwikiDelText /\(^\|\s\+\)\zs-\([^ , horizontal rule +syntax match flexwikiHR /^----.*$/ + +" Formatting can be turned off by ""enclosing it in pairs of double quotes"" +syntax match flexwikiEscape /"".\{-}""/ + +" Tables. Each line starts and ends with '||'; each cell is separated by '||' +syntax match flexwikiTable /||/ + +" Bulleted list items start with one or tabs, followed by whitespace, then '*' +" Numeric list items start with one or tabs, followed by whitespace, then '1.' +" Eight spaces at the beginning of the line is equivalent to the leading tab. +syntax match flexwikiList /^\(\t\| \{8}\)\s*\(\*\|1\.\).*$/ contains=@flexwikiText + +" Treat all other lines that start with spaces as PRE-formatted text. +syntax match flexwikiPre /^[ \t]\+[^ \t*1].*$/ + + +" Link FlexWiki syntax items to colors +hi def link flexwikiH1 Title +hi def link flexwikiH2 flexwikiH1 +hi def link flexwikiH3 flexwikiH2 +hi def link flexwikiH4 flexwikiH3 +hi def link flexwikiH5 flexwikiH4 +hi def link flexwikiH6 flexwikiH5 +hi def link flexwikiHR flexwikiH6 + +hi def flexwikiBold term=bold cterm=bold gui=bold +hi def flexwikiItalic term=italic cterm=italic gui=italic + +hi def link flexwikiCode Statement +hi def link flexwikiWord Underlined + +hi def link flexwikiEscape Todo +hi def link flexwikiPre PreProc +hi def link flexwikiLink Underlined +hi def link flexwikiList Type +hi def link flexwikiTable Type +hi def link flexwikiEmoticons Constant +hi def link flexwikiDelText Comment +hi def link flexwikiDeEmphasis Comment +hi def link flexwikiInsText Constant +hi def link flexwikiSuperScript Constant +hi def link flexwikiSubScript Constant +hi def link flexwikiCitation Constant + +hi def link flexwikiSingleLineProperty Identifier + +let b:current_syntax="FlexWiki" + +" mnv:tw=0: diff --git a/uvim/runtime/syntax/flexwiki.vim b/uvim/runtime/syntax/flexwiki.vim deleted file mode 100644 index 3b5f7ff573..0000000000 --- a/uvim/runtime/syntax/flexwiki.vim +++ /dev/null @@ -1,133 +0,0 @@ -" Vim syntax file -" Language: FlexWiki, http://www.flexwiki.com/ -" Maintainer: George V. Reilly -" Home: http://www.georgevreilly.com/vim/flexwiki/ -" Other Home: http://www.vim.org/scripts/script.php?script_id=1529 -" Author: George V. Reilly -" Filenames: *.wiki -" Last Change: Wed Apr 26 11:00 PM 2006 P -" Version: 0.3 - -" Note: The horrible regexps were reverse-engineered from -" FlexWikiCore\EngineSource\Formatter.cs, with help from the Regex Analyzer -" in The Regulator, http://regulator.sourceforge.net/ .NET uses Perl-style -" regexes, which use a different syntax than Vim (fewer \s). -" The primary test case is FlexWiki\FormattingRules.wiki - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" A WikiWord (unqualifiedWikiName) -syntax match flexwikiWord /\%(_\?\([A-Z]\{2,}[a-z0-9]\+[A-Za-z0-9]*\)\|\([A-Z][a-z0-9]\+[A-Za-z0-9]*[A-Z]\+[A-Za-z0-9]*\)\)/ -" A [bracketed wiki word] -syntax match flexwikiWord /\[[[:alnum:]\s]\+\]/ - -" text: "this is a link (optional tooltip)":http://www.microsoft.com -" TODO: check URL syntax against RFC -syntax match flexwikiLink `\("[^"(]\+\((\([^)]\+\))\)\?":\)\?\(https\?\|ftp\|gopher\|telnet\|file\|notes\|ms-help\):\(\(\(//\)\|\(\\\\\)\)\+[A-Za-z0-9:#@%/;$~_?+-=.&\-\\\\]*\)` - -" text: *strong* -syntax match flexwikiBold /\(^\|\W\)\zs\*\([^ ].\{-}\)\*/ -" '''bold''' -syntax match flexwikiBold /'''\([^'].\{-}\)'''/ - -" text: _emphasis_ -syntax match flexwikiItalic /\(^\|\W\)\zs_\([^ ].\{-}\)_/ -" ''italic'' -syntax match flexwikiItalic /''\([^'].\{-}\)''/ - -" ``deemphasis`` -syntax match flexwikiDeEmphasis /``\([^`].\{-}\)``/ - -" text: @code@ -syntax match flexwikiCode /\(^\|\s\|(\|\[\)\zs@\([^@]\+\)@/ - -" text: -deleted text- -syntax match flexwikiDelText /\(^\|\s\+\)\zs-\([^ , horizontal rule -syntax match flexwikiHR /^----.*$/ - -" Formatting can be turned off by ""enclosing it in pairs of double quotes"" -syntax match flexwikiEscape /"".\{-}""/ - -" Tables. Each line starts and ends with '||'; each cell is separated by '||' -syntax match flexwikiTable /||/ - -" Bulleted list items start with one or tabs, followed by whitespace, then '*' -" Numeric list items start with one or tabs, followed by whitespace, then '1.' -" Eight spaces at the beginning of the line is equivalent to the leading tab. -syntax match flexwikiList /^\(\t\| \{8}\)\s*\(\*\|1\.\).*$/ contains=@flexwikiText - -" Treat all other lines that start with spaces as PRE-formatted text. -syntax match flexwikiPre /^[ \t]\+[^ \t*1].*$/ - - -" Link FlexWiki syntax items to colors -hi def link flexwikiH1 Title -hi def link flexwikiH2 flexwikiH1 -hi def link flexwikiH3 flexwikiH2 -hi def link flexwikiH4 flexwikiH3 -hi def link flexwikiH5 flexwikiH4 -hi def link flexwikiH6 flexwikiH5 -hi def link flexwikiHR flexwikiH6 - -hi def flexwikiBold term=bold cterm=bold gui=bold -hi def flexwikiItalic term=italic cterm=italic gui=italic - -hi def link flexwikiCode Statement -hi def link flexwikiWord Underlined - -hi def link flexwikiEscape Todo -hi def link flexwikiPre PreProc -hi def link flexwikiLink Underlined -hi def link flexwikiList Type -hi def link flexwikiTable Type -hi def link flexwikiEmoticons Constant -hi def link flexwikiDelText Comment -hi def link flexwikiDeEmphasis Comment -hi def link flexwikiInsText Constant -hi def link flexwikiSuperScript Constant -hi def link flexwikiSubScript Constant -hi def link flexwikiCitation Constant - -hi def link flexwikiSingleLineProperty Identifier - -let b:current_syntax="FlexWiki" - -" vim:tw=0: diff --git a/uvim/runtime/syntax/focexec.mnv b/uvim/runtime/syntax/focexec.mnv new file mode 100644 index 0000000000..ae17955ae1 --- /dev/null +++ b/uvim/runtime/syntax/focexec.mnv @@ -0,0 +1,88 @@ +" MNV syntax file +" Language: Focus Executable +" Maintainer: Rob Brady +" Last Change: $Date: 2004/06/13 15:38:04 $ +" URL: http://www.datatone.com/~robb/mnv/syntax/focexec.mnv +" $Revision: 1.1 $ + +" this is a very simple syntax file - I will be improving it +" one thing is how to do computes +" I don't like that &vars and FUSE() functions highlight to the same color +" I think some of these things should get different highlights - +" should MODIFY commands look different than TABLE? + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn case match + +" A bunch of useful keywords +syn keyword focexecTable TABLE SUM BY ACROSS END PRINT HOLD LIST NOPRINT +syn keyword focexecTable SUBFOOT SUBHEAD HEADING FOOTING PAGE-BREAK AS +syn keyword focexecTable WHERE AND OR NOSPLIT FORMAT +syn keyword focexecModify MODIFY DATA ON FIXFORM PROMPT MATCH COMPUTE +syn keyword focexecModify GOTO CASE ENDCASE TYPE NOMATCH REJECT INCLUDE +syn keyword focexecModify CONTINUE FROM +syn keyword focexecNormal CHECK FILE CREATE EX SET IF FILEDEF DEFINE +syn keyword focexecNormal REBUILD IF RECORDLIMIT FI EQ JOIN +syn keyword focexecJoin IN TO +syn keyword focexecFileDef DISK +syn keyword focexecSet MSG ALL +syn match focexecDash "-RUN" +syn match focexecDash "-PROMPT" +syn match focexecDash "-WINFORM" + +" String and Character constants +syn region focexecString1 start=+"+ end=+"+ +syn region focexecString2 start=+'+ end=+'+ + +"amper variables +syn match focexecAmperVar "&&\=[A-Z_]\+" + +"fuse functions +syn keyword focexecFuse GETUSER GETUSR WHOAMI FEXERR ASIS GETTOK UPCASE LOCASE +syn keyword focexecFuse SUBSTR TODAY TODAYI POSIT HHMMSS BYTVAL EDAUT1 BITVAL +syn keyword focexecFuse BITSON FGETENV FPUTENV HEXBYT SPAWN YM YMI JULDAT +syn keyword focexecFuse JULDATI DOWK DOWKI DOWKLI CHGDAT CHGDATI FTOA ATODBL +syn keyword focexecFuse SOUNDEX RJUST REVERSE PARAG OVRLAY LJUST CTRFLD CTRAN +syn keyword focexecFuse CHKFMT ARGLEN GREGDT GREGDTI DTYMD DTYMDI DTDMY DTDMYI +syn keyword focexecFuse DTYDM DTYDMI DTMYD DTMYDI DTDYM DTDYMI DAYMD DAYMDI +syn keyword focexecFuse DAMDY DAMDYI DADMY DADMYI AYM AYMI AYMD AYMDI CHKPCK +syn keyword focexecFuse IMOD FMOD DMOD PCKOUT EXP BAR SPELLNM SPELLNUM RTCIVP +syn keyword focexecFuse PRDUNI PRDNOR RDNORM RDUNIF LCWORD ITOZ RLPHLD IBIPRO +syn keyword focexecFuse IBIPRW IBIPRC IBIPRU IBIRCP PTHDAT ITOPACK ITONUM +syn keyword focexecFuse DSMEXEC DSMEVAL DSMERRC MSMEXEC MSMEVAL MSMERRC EXTDXI +syn keyword focexecFuse BAANHASH EDAYSI DTOG GTOD HSETPT HPART HTIME HNAME +syn keyword focexecFuse HADD HDIFF HDATE HGETC HCNVRT HDTTM HMIDNT TEMPPATH +syn keyword focexecFuse DATEADD DATEDIF DATEMOV DATECVT EURHLD EURXCH FINDFOC +syn keyword focexecFuse FERRMES CNCTUSR CURRPATH USERPATH SYSTEM ASKYN +syn keyword focexecFuse FUSEMENU POPEDIT POPFILE + +syn match focexecNumber "\<\d\+\>" +syn match focexecNumber "\<\d\+\.\d*\>" + +syn match focexecComment "-\*.*" + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link focexecString1 String +hi def link focexecString2 String +hi def link focexecNumber Number +hi def link focexecComment Comment +hi def link focexecTable Keyword +hi def link focexecModify Keyword +hi def link focexecNormal Keyword +hi def link focexecSet Keyword +hi def link focexecDash Keyword +hi def link focexecFileDef Keyword +hi def link focexecJoin Keyword +hi def link focexecAmperVar Identifier +hi def link focexecFuse Function + + +let b:current_syntax = "focexec" + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/focexec.vim b/uvim/runtime/syntax/focexec.vim deleted file mode 100644 index 187fd50dbf..0000000000 --- a/uvim/runtime/syntax/focexec.vim +++ /dev/null @@ -1,88 +0,0 @@ -" Vim syntax file -" Language: Focus Executable -" Maintainer: Rob Brady -" Last Change: $Date: 2004/06/13 15:38:04 $ -" URL: http://www.datatone.com/~robb/vim/syntax/focexec.vim -" $Revision: 1.1 $ - -" this is a very simple syntax file - I will be improving it -" one thing is how to do computes -" I don't like that &vars and FUSE() functions highlight to the same color -" I think some of these things should get different highlights - -" should MODIFY commands look different than TABLE? - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn case match - -" A bunch of useful keywords -syn keyword focexecTable TABLE SUM BY ACROSS END PRINT HOLD LIST NOPRINT -syn keyword focexecTable SUBFOOT SUBHEAD HEADING FOOTING PAGE-BREAK AS -syn keyword focexecTable WHERE AND OR NOSPLIT FORMAT -syn keyword focexecModify MODIFY DATA ON FIXFORM PROMPT MATCH COMPUTE -syn keyword focexecModify GOTO CASE ENDCASE TYPE NOMATCH REJECT INCLUDE -syn keyword focexecModify CONTINUE FROM -syn keyword focexecNormal CHECK FILE CREATE EX SET IF FILEDEF DEFINE -syn keyword focexecNormal REBUILD IF RECORDLIMIT FI EQ JOIN -syn keyword focexecJoin IN TO -syn keyword focexecFileDef DISK -syn keyword focexecSet MSG ALL -syn match focexecDash "-RUN" -syn match focexecDash "-PROMPT" -syn match focexecDash "-WINFORM" - -" String and Character constants -syn region focexecString1 start=+"+ end=+"+ -syn region focexecString2 start=+'+ end=+'+ - -"amper variables -syn match focexecAmperVar "&&\=[A-Z_]\+" - -"fuse functions -syn keyword focexecFuse GETUSER GETUSR WHOAMI FEXERR ASIS GETTOK UPCASE LOCASE -syn keyword focexecFuse SUBSTR TODAY TODAYI POSIT HHMMSS BYTVAL EDAUT1 BITVAL -syn keyword focexecFuse BITSON FGETENV FPUTENV HEXBYT SPAWN YM YMI JULDAT -syn keyword focexecFuse JULDATI DOWK DOWKI DOWKLI CHGDAT CHGDATI FTOA ATODBL -syn keyword focexecFuse SOUNDEX RJUST REVERSE PARAG OVRLAY LJUST CTRFLD CTRAN -syn keyword focexecFuse CHKFMT ARGLEN GREGDT GREGDTI DTYMD DTYMDI DTDMY DTDMYI -syn keyword focexecFuse DTYDM DTYDMI DTMYD DTMYDI DTDYM DTDYMI DAYMD DAYMDI -syn keyword focexecFuse DAMDY DAMDYI DADMY DADMYI AYM AYMI AYMD AYMDI CHKPCK -syn keyword focexecFuse IMOD FMOD DMOD PCKOUT EXP BAR SPELLNM SPELLNUM RTCIVP -syn keyword focexecFuse PRDUNI PRDNOR RDNORM RDUNIF LCWORD ITOZ RLPHLD IBIPRO -syn keyword focexecFuse IBIPRW IBIPRC IBIPRU IBIRCP PTHDAT ITOPACK ITONUM -syn keyword focexecFuse DSMEXEC DSMEVAL DSMERRC MSMEXEC MSMEVAL MSMERRC EXTDXI -syn keyword focexecFuse BAANHASH EDAYSI DTOG GTOD HSETPT HPART HTIME HNAME -syn keyword focexecFuse HADD HDIFF HDATE HGETC HCNVRT HDTTM HMIDNT TEMPPATH -syn keyword focexecFuse DATEADD DATEDIF DATEMOV DATECVT EURHLD EURXCH FINDFOC -syn keyword focexecFuse FERRMES CNCTUSR CURRPATH USERPATH SYSTEM ASKYN -syn keyword focexecFuse FUSEMENU POPEDIT POPFILE - -syn match focexecNumber "\<\d\+\>" -syn match focexecNumber "\<\d\+\.\d*\>" - -syn match focexecComment "-\*.*" - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link focexecString1 String -hi def link focexecString2 String -hi def link focexecNumber Number -hi def link focexecComment Comment -hi def link focexecTable Keyword -hi def link focexecModify Keyword -hi def link focexecNormal Keyword -hi def link focexecSet Keyword -hi def link focexecDash Keyword -hi def link focexecFileDef Keyword -hi def link focexecJoin Keyword -hi def link focexecAmperVar Identifier -hi def link focexecFuse Function - - -let b:current_syntax = "focexec" - -" vim: ts=8 diff --git a/uvim/runtime/syntax/form.mnv b/uvim/runtime/syntax/form.mnv new file mode 100644 index 0000000000..d750b2e3ff --- /dev/null +++ b/uvim/runtime/syntax/form.mnv @@ -0,0 +1,145 @@ +" MNV syntax file +" Language: FORM +" Version: 2.0 +" Maintainer: Michael M. Tung +" Last Change: +" Past Change: +" Past Change: + +" First public release based on 'Symbolic Manipulation with FORM' +" by J.A.M. Vermaseren, CAN, Netherlands, 1991. +" This syntax file is still in development. Please send suggestions +" to the maintainer. + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn case ignore + +" a bunch of useful FORM keywords +syn keyword formType global local +syn keyword formHeaderStatement symbol symbols cfunction cfunctions +syn keyword formHeaderStatement function functions vector vectors +syn keyword formHeaderStatement tensor tensors ctensor ctensors +syn keyword formHeaderStatement set sets index indices table ctable +syn keyword formHeaderStatement dimension dimensions unittrace +syn keyword formConditional if else elseif endif while +syn keyword formConditional repeat endrepeat label goto +syn keyword formConditional argument endargument exit +syn keyword formConditional inexpression inside term +syn keyword formConditional endinexpression endinside endterm +syn keyword formStatement abrackets also antibrackets antisymmetrize +syn keyword formStatement argexplode argimplode apply auto autodeclare +syn keyword formStatement brackets chainin chainout chisholm cleartable +syn keyword formStatement collect commuting compress contract +syn keyword formStatement cyclesymmetrize deallocatetable delete +syn keyword formStatement dimension discard disorder drop factarg fill +syn keyword formStatement fillexpression fixindex format funpowers hide +syn keyword formStatement identify idnew idold ifmatch inparallel +syn keyword formStatement insidefirst keep load makeinteger many metric +syn keyword formStatement moduleoption modulus multi multiply ndrop +syn keyword formStatement nfunctions nhide normalize notinparallel +syn keyword formStatement nprint nskip ntable ntensors nunhide nwrite +syn keyword formStatement off on once only polyfun pophide print +syn keyword formStatement printtable propercount pushhide ratio +syn keyword formStatement rcyclesymmetrize redefine renumber +syn keyword formStatement replaceinarg replaceloop save select +syn keyword formStatement setexitflag skip slavepatchsize sort splitarg +syn keyword formStatement splitfirstarg splitlastarg sum symmetrize +syn keyword formStatement tablebase testuse threadbucketsize totensor +syn keyword formStatement tovector trace4 tracen tryreplace unhide +syn keyword formStatement unittrace vectors write +" for compatibility with older FORM versions: +syn keyword formStatement id bracket count match traceN + +" some special functions +syn keyword formStatement abs_ bernoulli_ binom_ conjg_ count_ +syn keyword formStatement d_ dd_ delta_ deltap_ denom_ distrib_ +syn keyword formStatement dum_ dummy_ dummyten_ e_ exp_ fac_ +syn keyword formStatement factorin_ firstbracket_ g5_ g6_ g7_ +syn keyword formStatement g_ gcd_ gi_ integer_ invfac_ match_ +syn keyword formStatement max_ maxpowerof_ min_ minpowerof_ +syn keyword formStatement mod_ nargs_ nterms_ pattern_ poly_ +syn keyword formStatement polyadd_ polydiv_ polygcd_ polyintfac_ +syn keyword formStatement polymul_ polynorm_ polyrem_ polysub_ +syn keyword formStatement replace_ reverse_ root_ setfun_ sig_ +syn keyword formStatement sign_ sum_ sump_ table_ tbl_ term_ +syn keyword formStatement termsin_ termsinbracket_ theta_ thetap_ +syn keyword formStatement 5_ 6_ 7_ + +syn keyword formReserved sqrt_ ln_ sin_ cos_ tan_ asin_ acos_ +syn keyword formReserved atan_ atan2_ sinh_ cosh_ tanh_ asinh_ +syn keyword formReserved acosh_ atanh_ li2_ lin_ + +syn keyword formTodo contained TODO FIXME XXX + +syn match formSpecial display contained "\\\(n\|t\|b\|\\\|\"\)" +syn match formSpecial display contained "%\(%\|e\|E\|s\|f\|\$\)" +syn match formSpecial "\" +syn match formNumber "\<\d\+\>" +syn match formNumber "\<\d\+\.\d*\>" +syn match formNumber "\.\d\+\>" +syn match formNumber "-\d" contains=Number +syn match formNumber "-\.\d" contains=Number +syn match formNumber "i_\+\>" +syn match formNumber "fac_\+\>" +" pattern matching wildcards +syn match formNumber "?[a-zA-Z0-9]*" +" dollar-variables (new in 3.x) +syn match formNumber "\\$[a-zA-Z0-9]*" +" scalar products +syn match formNumber "^\=[a-zA-Z][a-zA-Z0-9]*\.[a-zA-Z][a-zA-Z0-9]*\>" + +syn match formDirective "^\=\.[a-zA-Z][a-zA-Z0-9]*\>" + +" hi User Labels +syn sync ccomment formComment minlines=10 + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link formConditional Conditional +hi def link formNumber Number +hi def link formStatement Statement +hi def link formComment Comment +hi def link formPreProc PreProc +hi def link formDirective PreProc +hi def link formType Type +hi def link formString String +hi def link formNestedString String +hi def link formReserved Error +hi def link formTodo Todo +hi def link formSpecial SpecialChar + +if !exists("form_enhanced_color") +hi def link formHeaderStatement Statement +else +" enhanced color mode +hi def link formHeaderStatement HeaderStatement +" dark and a light background for local types +if &background == "dark" +hi HeaderStatement term=underline ctermfg=LightGreen guifg=LightGreen gui=bold +else +hi HeaderStatement term=underline ctermfg=DarkGreen guifg=SeaGreen gui=bold +endif +" change slightly the default for dark gmnv +if has("gui_running") && &background == "dark" +hi Conditional guifg=LightBlue gui=bold +hi Statement guifg=LightYellow +endif +endif + + + let b:current_syntax = "form" + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/form.vim b/uvim/runtime/syntax/form.vim deleted file mode 100644 index 9718480da3..0000000000 --- a/uvim/runtime/syntax/form.vim +++ /dev/null @@ -1,145 +0,0 @@ -" Vim syntax file -" Language: FORM -" Version: 2.0 -" Maintainer: Michael M. Tung -" Last Change: -" Past Change: -" Past Change: - -" First public release based on 'Symbolic Manipulation with FORM' -" by J.A.M. Vermaseren, CAN, Netherlands, 1991. -" This syntax file is still in development. Please send suggestions -" to the maintainer. - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syn case ignore - -" a bunch of useful FORM keywords -syn keyword formType global local -syn keyword formHeaderStatement symbol symbols cfunction cfunctions -syn keyword formHeaderStatement function functions vector vectors -syn keyword formHeaderStatement tensor tensors ctensor ctensors -syn keyword formHeaderStatement set sets index indices table ctable -syn keyword formHeaderStatement dimension dimensions unittrace -syn keyword formConditional if else elseif endif while -syn keyword formConditional repeat endrepeat label goto -syn keyword formConditional argument endargument exit -syn keyword formConditional inexpression inside term -syn keyword formConditional endinexpression endinside endterm -syn keyword formStatement abrackets also antibrackets antisymmetrize -syn keyword formStatement argexplode argimplode apply auto autodeclare -syn keyword formStatement brackets chainin chainout chisholm cleartable -syn keyword formStatement collect commuting compress contract -syn keyword formStatement cyclesymmetrize deallocatetable delete -syn keyword formStatement dimension discard disorder drop factarg fill -syn keyword formStatement fillexpression fixindex format funpowers hide -syn keyword formStatement identify idnew idold ifmatch inparallel -syn keyword formStatement insidefirst keep load makeinteger many metric -syn keyword formStatement moduleoption modulus multi multiply ndrop -syn keyword formStatement nfunctions nhide normalize notinparallel -syn keyword formStatement nprint nskip ntable ntensors nunhide nwrite -syn keyword formStatement off on once only polyfun pophide print -syn keyword formStatement printtable propercount pushhide ratio -syn keyword formStatement rcyclesymmetrize redefine renumber -syn keyword formStatement replaceinarg replaceloop save select -syn keyword formStatement setexitflag skip slavepatchsize sort splitarg -syn keyword formStatement splitfirstarg splitlastarg sum symmetrize -syn keyword formStatement tablebase testuse threadbucketsize totensor -syn keyword formStatement tovector trace4 tracen tryreplace unhide -syn keyword formStatement unittrace vectors write -" for compatibility with older FORM versions: -syn keyword formStatement id bracket count match traceN - -" some special functions -syn keyword formStatement abs_ bernoulli_ binom_ conjg_ count_ -syn keyword formStatement d_ dd_ delta_ deltap_ denom_ distrib_ -syn keyword formStatement dum_ dummy_ dummyten_ e_ exp_ fac_ -syn keyword formStatement factorin_ firstbracket_ g5_ g6_ g7_ -syn keyword formStatement g_ gcd_ gi_ integer_ invfac_ match_ -syn keyword formStatement max_ maxpowerof_ min_ minpowerof_ -syn keyword formStatement mod_ nargs_ nterms_ pattern_ poly_ -syn keyword formStatement polyadd_ polydiv_ polygcd_ polyintfac_ -syn keyword formStatement polymul_ polynorm_ polyrem_ polysub_ -syn keyword formStatement replace_ reverse_ root_ setfun_ sig_ -syn keyword formStatement sign_ sum_ sump_ table_ tbl_ term_ -syn keyword formStatement termsin_ termsinbracket_ theta_ thetap_ -syn keyword formStatement 5_ 6_ 7_ - -syn keyword formReserved sqrt_ ln_ sin_ cos_ tan_ asin_ acos_ -syn keyword formReserved atan_ atan2_ sinh_ cosh_ tanh_ asinh_ -syn keyword formReserved acosh_ atanh_ li2_ lin_ - -syn keyword formTodo contained TODO FIXME XXX - -syn match formSpecial display contained "\\\(n\|t\|b\|\\\|\"\)" -syn match formSpecial display contained "%\(%\|e\|E\|s\|f\|\$\)" -syn match formSpecial "\" -syn match formNumber "\<\d\+\>" -syn match formNumber "\<\d\+\.\d*\>" -syn match formNumber "\.\d\+\>" -syn match formNumber "-\d" contains=Number -syn match formNumber "-\.\d" contains=Number -syn match formNumber "i_\+\>" -syn match formNumber "fac_\+\>" -" pattern matching wildcards -syn match formNumber "?[a-zA-Z0-9]*" -" dollar-variables (new in 3.x) -syn match formNumber "\\$[a-zA-Z0-9]*" -" scalar products -syn match formNumber "^\=[a-zA-Z][a-zA-Z0-9]*\.[a-zA-Z][a-zA-Z0-9]*\>" - -syn match formDirective "^\=\.[a-zA-Z][a-zA-Z0-9]*\>" - -" hi User Labels -syn sync ccomment formComment minlines=10 - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link formConditional Conditional -hi def link formNumber Number -hi def link formStatement Statement -hi def link formComment Comment -hi def link formPreProc PreProc -hi def link formDirective PreProc -hi def link formType Type -hi def link formString String -hi def link formNestedString String -hi def link formReserved Error -hi def link formTodo Todo -hi def link formSpecial SpecialChar - -if !exists("form_enhanced_color") -hi def link formHeaderStatement Statement -else -" enhanced color mode -hi def link formHeaderStatement HeaderStatement -" dark and a light background for local types -if &background == "dark" -hi HeaderStatement term=underline ctermfg=LightGreen guifg=LightGreen gui=bold -else -hi HeaderStatement term=underline ctermfg=DarkGreen guifg=SeaGreen gui=bold -endif -" change slightly the default for dark gvim -if has("gui_running") && &background == "dark" -hi Conditional guifg=LightBlue gui=bold -hi Statement guifg=LightYellow -endif -endif - - - let b:current_syntax = "form" - -" vim: ts=8 diff --git a/uvim/runtime/syntax/forth.mnv b/uvim/runtime/syntax/forth.mnv new file mode 100644 index 0000000000..fa12b95e8a --- /dev/null +++ b/uvim/runtime/syntax/forth.mnv @@ -0,0 +1,455 @@ +" MNV syntax file +" Language: Forth +" Maintainer: Johan Kotlinski +" Previous Maintainer: Christian V. J. Brüssow +" Last Change: 2023 Aug 13 +" Filenames: *.f,*.fs,*.ft,*.fth,*.4th +" URL: https://github.com/jkotlinski/forth.mnv + +" Supports the Forth-2012 Standard. +" +" Removed words from the earlier Forth-79, Forth-83 and Forth-94 standards are +" also included. +" +" These have been organised according to the version in which they were +" initially included and the version in which they were removed (obsolescent +" status is ignored). Words with "experimental" or "uncontrolled" status are +" not included unless they were later standardised. + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +" Synchronization method +exe "syn sync minlines=" .. get(g:, "forth_minlines", 50) + +syn case ignore + +" Characters allowed in keywords +" I don't know if 128-255 are allowed in ANS-FORTH +syn iskeyword 33-126,128-255 + +" Space errors {{{1 +" when wanted, highlight trailing white space +if exists("forth_space_errors") + if !exists("forth_no_trail_space_error") + syn match forthSpaceError display excludenl "\s\+$" + endif + if !exists("forth_no_tab_space_error") + syn match forthSpaceError display " \+\t"me=e-1 + endif +endif + +" Core words {{{1 + +" basic mathematical and logical operators {{{2 +syn keyword forthOperators * */ */MOD + - / /MOD 0< 0= 1+ 1- 2* 2/ < = > ABS +syn keyword forthOperators AND FM/MOD INVERT LSHIFT M* MAX MIN MOD NEGATE OR +syn keyword forthOperators RSHIFT SM/REM U< UM* UM/MOD XOR + " extension words +syn keyword forthOperators 0<> 0> <> U> WITHIN + " Forth-79 +syn keyword forthOperators U* U/ U/MOD + " Forth-79, Forth-83 +syn keyword forthOperators NOT + " Forth-83 +syn keyword forthOperators 2+ 2- + +" non-standard basic mathematical and logical operators +syn keyword forthOperators 0<= 0>= 8* <= >= ?DNEGATE ?NEGATE U<= U>= UNDER+ + +" various words that take an input and do something with it {{{2 +syn keyword forthFunction . U. + " extension words +syn keyword forthFunction .R U.R + +" stack manipulations {{{2 +syn keyword forthStack 2DROP 2DUP 2OVER 2SWAP >R ?DUP DROP DUP OVER R> R@ ROT +syn keyword forthStack SWAP + " extension words +syn keyword forthStack NIP PICK ROLL TUCK +syn keyword forthRStack 2>R 2R> 2R@ + +" non-standard stack manipulations +syn keyword forthStack -ROT 3DROP 3DUP 4-ROT 4DROP 4DUP 4ROT 4SWAP 4TUCK +syn keyword forthStack 5DROP 5DUP 8DROP 8DUP 8SWAP +syn keyword forthRStack 4>R 4R> 4R@ 4RDROP RDROP + +" stack pointer manipulations {{{2 +syn keyword forthSP DEPTH + +" non-standard stack pointer manipulations +syn keyword forthSP FP! FP@ LP! LP@ RP! RP@ SP! SP@ + +" address operations {{{2 +syn keyword forthMemory ! +! 2! 2@ @ C! C@ +syn keyword forthAdrArith ALIGN ALIGNED ALLOT CELL+ CELLS CHAR+ CHARS +syn keyword forthMemBlks FILL MOVE + " extension words +syn keyword forthMemBlks ERASE UNUSED + +" non-standard address operations +syn keyword forthAdrArith ADDRESS-UNIT-BITS CELL CFALIGN CFALIGNED FLOAT +syn keyword forthAdrArith MAXALIGN MAXALIGNED + +" conditionals {{{2 +syn keyword forthCond ELSE IF THEN + " extension words +syn keyword forthCond CASE ENDCASE ENDOF OF + +" non-standard conditionals +syn keyword forthCond ?DUP-0=-IF ?DUP-IF ENDIF + +" iterations {{{2 +syn keyword forthLoop +LOOP BEGIN DO EXIT I J LEAVE LOOP RECURSE REPEAT UNLOOP +syn keyword forthLoop UNTIL WHILE + " extension words +syn keyword forthLoop ?DO AGAIN + +" non-standard iterations +syn keyword forthLoop +DO -DO -LOOP ?LEAVE DONE FOR K NEXT U+DO U-DO + +" new words {{{2 +syn match forthColonDef "\<:\s*[^ \t]\+\>" +syn keyword forthEndOfColonDef ; +syn keyword forthDefine ' , C, CONSTANT CREATE DOES> EXECUTE IMMEDIATE LITERAL +syn keyword forthDefine POSTPONE STATE VARIABLE ] +syn match forthDefine "\<\[']\>" +syn match forthDefine "\<\[\>" + " extension words +syn keyword forthColonDef :NONAME +syn keyword forthDefine BUFFER: COMPILE, DEFER IS MARKER TO VALUE +syn match forthDefine "\<\[COMPILE]\>" + " Forth-79, Forth-83 +syn keyword forthDefine COMPILE + +" non-standard new words +syn match forthClassDef "\<:CLASS\s*[^ \t]\+\>" +syn keyword forthEndOfClassDef ;CLASS +syn match forthObjectDef "\<:OBJECT\s*[^ \t]\+\>" +syn keyword forthEndOfObjectDef ;OBJECT +syn match forthColonDef "\<:M\s*[^ \t]\+\>" +syn keyword forthEndOfColonDef ;M +syn keyword forthDefine 2, COMPILE-ONLY CREATE-INTERPRET/COMPILE +syn keyword forthDefine CVARIABLE F, FIND-NAME INTERPRET INTERPRETATION> +syn keyword forthDefine LASTXT NAME>COMP NAME>INT NAME?INT POSTPONE, RESTRICT +syn keyword forthDefine USER +syn match forthDefine "\<\[COMP']\>" + +" basic character operations {{{2 +syn keyword forthCharOps BL COUNT CR EMIT FIND KEY SPACE SPACES TYPE WORD +" recognize 'char (' or '[CHAR] (' correctly, so it doesn't +" highlight everything after the paren as a comment till a closing ')' +syn match forthCharOps '\ #S <# >NUMBER HOLD S>D SIGN + " extension words +syn keyword forthConversion HOLDS + " Forth-79, Forth-83, Forth-93 +syn keyword forthConversion CONVERT + +" non-standard char-number conversion +syn keyword forthConversion #>> (NUMBER) (NUMBER?) <<# DIGIT DPL HLD NUMBER + +" interpreter, wordbook, compiler {{{2 +syn keyword forthForth >BODY >IN ACCEPT ENVIRONMENT? EVALUATE HERE QUIT SOURCE + " extension words +syn keyword forthForth ACTION-OF DEFER! DEFER@ PAD PARSE PARSE-NAME REFILL +syn keyword forthForth RESTORE-INPUT SAVE-INPUT SOURCE-ID + " Forth-79 +syn keyword forthForth 79-STANDARD + " Forth-83 +syn keyword forthForth MARK >RESOLVE ?BRANCH BRANCH FORTH-83 + " Forth-79, Forth-83, Forth-94 +syn keyword forthForth QUERY + " Forth-83, Forth-94 +syn keyword forthForth SPAN + +" non-standard interpreter, wordbook, compiler +syn keyword forthForth ) >LINK >NEXT >VIEW ASSERT( ASSERT0( ASSERT1( ASSERT2( +syn keyword forthForth ASSERT3( BODY> CFA COLD L>NAME LINK> N>LINK NAME> VIEW +syn keyword forthForth VIEW> + +" booleans {{{2 + " extension words +syn match forthBoolean "\<\%(TRUE\|FALSE\)\>" + +" numbers {{{2 +syn keyword forthMath BASE DECIMAL + " extension words +syn keyword forthMath HEX +syn match forthInteger '\<-\=\d\+\.\=\>' +syn match forthInteger '\<#-\=\d\+\.\=\>' +syn match forthInteger '\<\$-\=\x\+\.\=\>' +syn match forthInteger '\<%-\=[01]\+\.\=\>' + +" characters {{{2 +syn match forthCharacter "'\k'" + +" strings {{{2 + +" Words that end with " are assumed to start string parsing. +" This includes standard words: S" ." +syn region forthString matchgroup=forthString start=+\<\S\+"\s+ end=+"+ end=+$+ contains=@Spell + " extension words +syn region forthString matchgroup=forthString start=+\\|:\@=\)" + +" XXX If you find this overkill you can remove it. This has to come after the +" highlighting for numbers and booleans otherwise it has no effect. +syn region forthComment start='\<\%(0\|FALSE\)\s\+\[IF]' end='\<\[ENDIF]' end='\<\[THEN]' contains=forthTodo + +if get(g:, "forth_no_comment_fold", 0) + syn region forthComment start='\<(\>' end=')' contains=@Spell,forthTodo,forthSpaceError + " extension words + syn match forthComment '\<\\\>.*$' contains=@Spell,forthTodo,forthSpaceError +else + syn region forthComment start='\<(\>' end=')' contains=@Spell,forthTodo,forthSpaceError fold + " extension words + syn match forthComment '\<\\\>.*$' contains=@Spell,forthTodo,forthSpaceError + syn region forthMultilineComment start="^\s*\\\>" end="\n\%(\s*\\\>\)\@!" contains=forthComment transparent fold +endif + + " extension words +syn region forthComment start='\<\.(\>' end=')' end='$' contains=@Spell,forthTodo,forthSpaceError + +" ABORT {{{2 +syn keyword forthForth ABORT +syn region forthForth start=+\+ end=+$+ + +" The optional Block word set {{{1 +" Handled as Core words - REFILL +syn keyword forthBlocks BLK BLOCK BUFFER FLUSH LOAD SAVE-BUFFERS UPDATE + " extension words +syn keyword forthBlocks EMPTY-BUFFERS LIST SCR THRU + +" Non-standard Block words +syn keyword forthBlocks +LOAD +THRU --> BLOCK-INCLUDED BLOCK-OFFSET +syn keyword forthBlocks BLOCK-POSITION EMPTY-BUFFER GET-BLOCK-FID OPEN-BLOCKS +syn keyword forthBlocks SAVE-BUFFER UPDATED? USE + +" The optional Double-Number word set {{{1 +syn keyword forthConversion D>S +syn keyword forthDefine 2CONSTANT 2LITERAL 2VARIABLE +syn keyword forthFunction D. D.R +syn keyword forthOperators D+ D- D0= D2* D2/ D= DABS DMAX DMIN DNEGATE +syn keyword forthOperators D0< D< M+ M*/ + " extension words +syn keyword forthDefine 2VALUE +syn keyword forthOperators DU< +syn keyword forthStack 2ROT + +" Non-standard Double-Number words +syn keyword forthOperators D0<= D0<> D0> D0>= D<= D<> D> D>= DU<= DU> DU>= +syn keyword forthStack 2-ROT 2NIP 2RDROP 2TUCK + +" The optional Exception word set {{{1 +" Handled as Core words - ABORT ABORT" +syn keyword forthCond CATCH THROW + +" The optional Facility word set {{{1 +syn keyword forthCharOps AT-XY KEY? PAGE + " extension words +syn keyword forthCharOps EKEY EKEY>CHAR EKEY>FKEY EKEY? EMIT? K-ALT-MASK +syn keyword forthCharOps K-CTRL-MASK K-DELETE K-DOWN K-END K-F1 K-F10 K-F11 +syn keyword forthCharOps K-F12 K-F2 K-F3 K-F4 K-F5 K-F6 K-F7 K-F8 K-F9 K-HOME +syn keyword forthCharOps K-INSERT K-LEFT K-NEXT K-PRIOR K-RIGHT K-SHIFT-MASK +syn keyword forthCharOps K-UP +syn keyword forthDefine +FIELD BEGIN-STRUCTURE CFIELD: END-STRUCTURE FIELD: +syn keyword forthForth MS TIME&DATE + +" The optional File-Access word set {{{1 +" Handled as Core words - REFILL SOURCE-ID S\" S" ( +syn keyword forthFileMode BIN R/O R/W W/O +syn keyword forthFileWords CLOSE-FILE CREATE-FILE DELETE-FILE FILE-POSITION +syn keyword forthFileWords FILE-SIZE INCLUDE-FILE INCLUDED OPEN-FILE READ-FILE +syn keyword forthFileWords READ-LINE REPOSITION-FILE RESIZE-FILE WRITE-FILE +syn keyword forthFileWords WRITE-LINE + " extension words +syn keyword forthFileWords FILE-STATUS FLUSH-FILE RENAME-FILE REQUIRED +syn match forthInclude '\' + +syn keyword forthConversion >FLOAT D>F F>D +syn keyword forthAdrArith FALIGN FALIGNED FLOAT+ FLOATS +syn keyword forthDefine FCONSTANT FLITERAL FVARIABLE +syn keyword forthFStack FDROP FDUP FOVER FROT FSWAP +syn keyword forthFunction REPRESENT +syn keyword forthMemory F! F@ +syn keyword forthOperators F* F+ F- F/ F0< F0= F< FLOOR FMAX FMIN FNEGATE +syn keyword forthOperators FROUND +syn keyword forthSP FDEPTH + " extension words +syn keyword forthConversion F>S S>F +syn keyword forthAdrArith DFALIGN DFALIGNED DFLOAT+ DFLOATS SFALIGN +syn keyword forthAdrArith SFALIGNED SFLOAT+ SFLOATS +syn keyword forthDefine DFFIELD: FFIELD: FVALUE SFFIELD: +syn keyword forthFunction F. FE. FS. PRECISION SET-PRECISION +syn keyword forthMemory DF! DF@ SF! SF@ +syn keyword forthOperators F** FABS FACOS FACOSH FALOG FASIN FASINH FATAN +syn keyword forthOperators FATAN2 FATANH FCOS FCOSH FEXP FEXPM1 FLN FLNP1 +syn keyword forthOperators FLOG FSIN FSINCOS FSINH FSQRT FTAN FTANH FTRUNC F~ + +" Non-standard Floating-Point words +syn keyword forthOperators 1/F F2* F2/ F~ABS F~REL +syn keyword forthFStack FNIP FTUCK + +" The optional Locals word set {{{1 +syn keyword forthForth (LOCAL) + " extension words +syn region forthLocals start="\<{:\>" end="\<:}\>" +syn region forthLocals start="\" end="\<|\>" + +" Non-standard Locals words +syn region forthLocals start="\<{\>" end="\<}\>" + +" The optional Memory-Allocation word set {{{1 +syn keyword forthMemory ALLOCATE FREE RESIZE + +" The optional Programming-Tools wordset {{{1 +syn keyword forthDebug .S ? DUMP SEE WORDS + " extension words +syn keyword forthAssembler ;CODE ASSEMBLER CODE END-CODE +syn keyword forthCond AHEAD CS-PICK CS-ROLL +syn keyword forthDefine NAME>COMPILE NAME>INTERPRET NAME>STRING SYNONYM +syn keyword forthDefine TRAVERSE-WORDLIST +syn match forthDefine "\<\[DEFINED]\>" +syn match forthDefine "\<\[ELSE]\>" +syn match forthDefine "\<\[IF]\>" +syn match forthDefine "\<\[THEN]\>" +syn match forthDefine "\<\[UNDEFINED]\>" +syn keyword forthForth BYE FORGET +syn keyword forthStack N>R NR> +syn keyword forthVocs EDITOR + +" Non-standard Programming-Tools words +syn keyword forthAssembler FLUSH-ICACHE +syn keyword forthDebug PRINTDEBUGDATA PRINTDEBUGLINE +syn match forthDebug "\<\~\~\>" +syn match forthDefine "\<\[+LOOP]\>" +syn match forthDefine "\<\[?DO]\>" +syn match forthDefine "\<\[AGAIN]\>" +syn match forthDefine "\<\[BEGIN]\>" +syn match forthDefine "\<\[DO]\>" +syn match forthDefine "\<\[ENDIF]\>" +syn match forthDefine "\<\[IFDEF]\>" +syn match forthDefine "\<\[IFUNDEF]\>" +syn match forthDefine "\<\[LOOP]\>" +syn match forthDefine "\<\[NEXT]\>" +syn match forthDefine "\<\[REPEAT]\>" +syn match forthDefine "\<\[UNTIL]\>" +syn match forthDefine "\<\[WHILE]\>" + +" The optional Search-Order word set {{{1 +" Handled as Core words - FIND +syn keyword forthVocs DEFINITIONS FORTH-WORDLIST GET-CURRENT GET-ORDER +syn keyword forthVocs SEARCH-WORDLIST SET-CURRENT SET-ORDER WORDLIST + " extension words +syn keyword forthVocs ALSO FORTH ONLY ORDER PREVIOUS + " Forth-79, Forth-83 +syn keyword forthVocs CONTEXT CURRENT VOCABULARY + +" Non-standard Search-Order words +syn keyword forthVocs #VOCS ROOT SEAL VOCS + +" The optional String word set {{{1 +syn keyword forthFunction -TRAILING /STRING BLANK CMOVE CMOVE> COMPARE SEARCH +syn keyword forthFunction SLITERAL + " extension words +syn keyword forthFunction REPLACES SUBSTITUTE UNESCAPE + +" The optional Extended-Character word set {{{1 +" Handled as Core words - [CHAR] CHAR and PARSE +syn keyword forthAdrArith XCHAR+ +syn keyword forthCharOps X-SIZE XC-SIZE XEMIT XKEY XKEY? +syn keyword forthDefine XC, +syn keyword forthMemory XC!+ XC!+? XC@+ + " extension words +syn keyword forthAdrArith XCHAR- +X/STRING X\\STRING- +syn keyword forthCharOps EKEY>XCHAR X-WIDTH XC-WIDTH +syn keyword forthConversion XHOLD +syn keyword forthString -TRAILING-GARBAGE + +" Define the default highlighting {{{1 +hi def link forthBoolean Boolean +hi def link forthCharacter Character +hi def link forthTodo Todo +hi def link forthOperators Operator +hi def link forthMath Number +hi def link forthInteger Number +hi def link forthFloat Float +hi def link forthStack Special +hi def link forthRstack Special +hi def link forthFStack Special +hi def link forthSP Special +hi def link forthMemory Function +hi def link forthAdrArith Function +hi def link forthMemBlks Function +hi def link forthCond Conditional +hi def link forthLoop Repeat +hi def link forthColonDef Define +hi def link forthEndOfColonDef Define +hi def link forthDefine Define +hi def link forthDebug Debug +hi def link forthAssembler Include +hi def link forthCharOps Character +hi def link forthConversion String +hi def link forthForth Statement +hi def link forthVocs Statement +hi def link forthEscape Special +hi def link forthString String +hi def link forthComment Comment +hi def link forthClassDef Define +hi def link forthEndOfClassDef Define +hi def link forthObjectDef Define +hi def link forthEndOfObjectDef Define +hi def link forthInclude Include +hi def link forthLocals Type " nothing else uses type and locals must stand out +hi def link forthFileMode Function +hi def link forthFunction Function +hi def link forthFileWords Statement +hi def link forthBlocks Statement +hi def link forthSpaceError Error +"}}} + +let b:current_syntax = "forth" + +let &cpo = s:cpo_save +unlet s:cpo_save + +" mnv:ts=8:sw=4:nocindent:smartindent:fdm=marker:tw=78 + diff --git a/uvim/runtime/syntax/forth.vim b/uvim/runtime/syntax/forth.vim deleted file mode 100644 index 252116a187..0000000000 --- a/uvim/runtime/syntax/forth.vim +++ /dev/null @@ -1,455 +0,0 @@ -" Vim syntax file -" Language: Forth -" Maintainer: Johan Kotlinski -" Previous Maintainer: Christian V. J. Brüssow -" Last Change: 2023 Aug 13 -" Filenames: *.f,*.fs,*.ft,*.fth,*.4th -" URL: https://github.com/jkotlinski/forth.vim - -" Supports the Forth-2012 Standard. -" -" Removed words from the earlier Forth-79, Forth-83 and Forth-94 standards are -" also included. -" -" These have been organised according to the version in which they were -" initially included and the version in which they were removed (obsolescent -" status is ignored). Words with "experimental" or "uncontrolled" status are -" not included unless they were later standardised. - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -" Synchronization method -exe "syn sync minlines=" .. get(g:, "forth_minlines", 50) - -syn case ignore - -" Characters allowed in keywords -" I don't know if 128-255 are allowed in ANS-FORTH -syn iskeyword 33-126,128-255 - -" Space errors {{{1 -" when wanted, highlight trailing white space -if exists("forth_space_errors") - if !exists("forth_no_trail_space_error") - syn match forthSpaceError display excludenl "\s\+$" - endif - if !exists("forth_no_tab_space_error") - syn match forthSpaceError display " \+\t"me=e-1 - endif -endif - -" Core words {{{1 - -" basic mathematical and logical operators {{{2 -syn keyword forthOperators * */ */MOD + - / /MOD 0< 0= 1+ 1- 2* 2/ < = > ABS -syn keyword forthOperators AND FM/MOD INVERT LSHIFT M* MAX MIN MOD NEGATE OR -syn keyword forthOperators RSHIFT SM/REM U< UM* UM/MOD XOR - " extension words -syn keyword forthOperators 0<> 0> <> U> WITHIN - " Forth-79 -syn keyword forthOperators U* U/ U/MOD - " Forth-79, Forth-83 -syn keyword forthOperators NOT - " Forth-83 -syn keyword forthOperators 2+ 2- - -" non-standard basic mathematical and logical operators -syn keyword forthOperators 0<= 0>= 8* <= >= ?DNEGATE ?NEGATE U<= U>= UNDER+ - -" various words that take an input and do something with it {{{2 -syn keyword forthFunction . U. - " extension words -syn keyword forthFunction .R U.R - -" stack manipulations {{{2 -syn keyword forthStack 2DROP 2DUP 2OVER 2SWAP >R ?DUP DROP DUP OVER R> R@ ROT -syn keyword forthStack SWAP - " extension words -syn keyword forthStack NIP PICK ROLL TUCK -syn keyword forthRStack 2>R 2R> 2R@ - -" non-standard stack manipulations -syn keyword forthStack -ROT 3DROP 3DUP 4-ROT 4DROP 4DUP 4ROT 4SWAP 4TUCK -syn keyword forthStack 5DROP 5DUP 8DROP 8DUP 8SWAP -syn keyword forthRStack 4>R 4R> 4R@ 4RDROP RDROP - -" stack pointer manipulations {{{2 -syn keyword forthSP DEPTH - -" non-standard stack pointer manipulations -syn keyword forthSP FP! FP@ LP! LP@ RP! RP@ SP! SP@ - -" address operations {{{2 -syn keyword forthMemory ! +! 2! 2@ @ C! C@ -syn keyword forthAdrArith ALIGN ALIGNED ALLOT CELL+ CELLS CHAR+ CHARS -syn keyword forthMemBlks FILL MOVE - " extension words -syn keyword forthMemBlks ERASE UNUSED - -" non-standard address operations -syn keyword forthAdrArith ADDRESS-UNIT-BITS CELL CFALIGN CFALIGNED FLOAT -syn keyword forthAdrArith MAXALIGN MAXALIGNED - -" conditionals {{{2 -syn keyword forthCond ELSE IF THEN - " extension words -syn keyword forthCond CASE ENDCASE ENDOF OF - -" non-standard conditionals -syn keyword forthCond ?DUP-0=-IF ?DUP-IF ENDIF - -" iterations {{{2 -syn keyword forthLoop +LOOP BEGIN DO EXIT I J LEAVE LOOP RECURSE REPEAT UNLOOP -syn keyword forthLoop UNTIL WHILE - " extension words -syn keyword forthLoop ?DO AGAIN - -" non-standard iterations -syn keyword forthLoop +DO -DO -LOOP ?LEAVE DONE FOR K NEXT U+DO U-DO - -" new words {{{2 -syn match forthColonDef "\<:\s*[^ \t]\+\>" -syn keyword forthEndOfColonDef ; -syn keyword forthDefine ' , C, CONSTANT CREATE DOES> EXECUTE IMMEDIATE LITERAL -syn keyword forthDefine POSTPONE STATE VARIABLE ] -syn match forthDefine "\<\[']\>" -syn match forthDefine "\<\[\>" - " extension words -syn keyword forthColonDef :NONAME -syn keyword forthDefine BUFFER: COMPILE, DEFER IS MARKER TO VALUE -syn match forthDefine "\<\[COMPILE]\>" - " Forth-79, Forth-83 -syn keyword forthDefine COMPILE - -" non-standard new words -syn match forthClassDef "\<:CLASS\s*[^ \t]\+\>" -syn keyword forthEndOfClassDef ;CLASS -syn match forthObjectDef "\<:OBJECT\s*[^ \t]\+\>" -syn keyword forthEndOfObjectDef ;OBJECT -syn match forthColonDef "\<:M\s*[^ \t]\+\>" -syn keyword forthEndOfColonDef ;M -syn keyword forthDefine 2, COMPILE-ONLY CREATE-INTERPRET/COMPILE -syn keyword forthDefine CVARIABLE F, FIND-NAME INTERPRET INTERPRETATION> -syn keyword forthDefine LASTXT NAME>COMP NAME>INT NAME?INT POSTPONE, RESTRICT -syn keyword forthDefine USER -syn match forthDefine "\<\[COMP']\>" - -" basic character operations {{{2 -syn keyword forthCharOps BL COUNT CR EMIT FIND KEY SPACE SPACES TYPE WORD -" recognize 'char (' or '[CHAR] (' correctly, so it doesn't -" highlight everything after the paren as a comment till a closing ')' -syn match forthCharOps '\ #S <# >NUMBER HOLD S>D SIGN - " extension words -syn keyword forthConversion HOLDS - " Forth-79, Forth-83, Forth-93 -syn keyword forthConversion CONVERT - -" non-standard char-number conversion -syn keyword forthConversion #>> (NUMBER) (NUMBER?) <<# DIGIT DPL HLD NUMBER - -" interpreter, wordbook, compiler {{{2 -syn keyword forthForth >BODY >IN ACCEPT ENVIRONMENT? EVALUATE HERE QUIT SOURCE - " extension words -syn keyword forthForth ACTION-OF DEFER! DEFER@ PAD PARSE PARSE-NAME REFILL -syn keyword forthForth RESTORE-INPUT SAVE-INPUT SOURCE-ID - " Forth-79 -syn keyword forthForth 79-STANDARD - " Forth-83 -syn keyword forthForth MARK >RESOLVE ?BRANCH BRANCH FORTH-83 - " Forth-79, Forth-83, Forth-94 -syn keyword forthForth QUERY - " Forth-83, Forth-94 -syn keyword forthForth SPAN - -" non-standard interpreter, wordbook, compiler -syn keyword forthForth ) >LINK >NEXT >VIEW ASSERT( ASSERT0( ASSERT1( ASSERT2( -syn keyword forthForth ASSERT3( BODY> CFA COLD L>NAME LINK> N>LINK NAME> VIEW -syn keyword forthForth VIEW> - -" booleans {{{2 - " extension words -syn match forthBoolean "\<\%(TRUE\|FALSE\)\>" - -" numbers {{{2 -syn keyword forthMath BASE DECIMAL - " extension words -syn keyword forthMath HEX -syn match forthInteger '\<-\=\d\+\.\=\>' -syn match forthInteger '\<#-\=\d\+\.\=\>' -syn match forthInteger '\<\$-\=\x\+\.\=\>' -syn match forthInteger '\<%-\=[01]\+\.\=\>' - -" characters {{{2 -syn match forthCharacter "'\k'" - -" strings {{{2 - -" Words that end with " are assumed to start string parsing. -" This includes standard words: S" ." -syn region forthString matchgroup=forthString start=+\<\S\+"\s+ end=+"+ end=+$+ contains=@Spell - " extension words -syn region forthString matchgroup=forthString start=+\\|:\@=\)" - -" XXX If you find this overkill you can remove it. This has to come after the -" highlighting for numbers and booleans otherwise it has no effect. -syn region forthComment start='\<\%(0\|FALSE\)\s\+\[IF]' end='\<\[ENDIF]' end='\<\[THEN]' contains=forthTodo - -if get(g:, "forth_no_comment_fold", 0) - syn region forthComment start='\<(\>' end=')' contains=@Spell,forthTodo,forthSpaceError - " extension words - syn match forthComment '\<\\\>.*$' contains=@Spell,forthTodo,forthSpaceError -else - syn region forthComment start='\<(\>' end=')' contains=@Spell,forthTodo,forthSpaceError fold - " extension words - syn match forthComment '\<\\\>.*$' contains=@Spell,forthTodo,forthSpaceError - syn region forthMultilineComment start="^\s*\\\>" end="\n\%(\s*\\\>\)\@!" contains=forthComment transparent fold -endif - - " extension words -syn region forthComment start='\<\.(\>' end=')' end='$' contains=@Spell,forthTodo,forthSpaceError - -" ABORT {{{2 -syn keyword forthForth ABORT -syn region forthForth start=+\+ end=+$+ - -" The optional Block word set {{{1 -" Handled as Core words - REFILL -syn keyword forthBlocks BLK BLOCK BUFFER FLUSH LOAD SAVE-BUFFERS UPDATE - " extension words -syn keyword forthBlocks EMPTY-BUFFERS LIST SCR THRU - -" Non-standard Block words -syn keyword forthBlocks +LOAD +THRU --> BLOCK-INCLUDED BLOCK-OFFSET -syn keyword forthBlocks BLOCK-POSITION EMPTY-BUFFER GET-BLOCK-FID OPEN-BLOCKS -syn keyword forthBlocks SAVE-BUFFER UPDATED? USE - -" The optional Double-Number word set {{{1 -syn keyword forthConversion D>S -syn keyword forthDefine 2CONSTANT 2LITERAL 2VARIABLE -syn keyword forthFunction D. D.R -syn keyword forthOperators D+ D- D0= D2* D2/ D= DABS DMAX DMIN DNEGATE -syn keyword forthOperators D0< D< M+ M*/ - " extension words -syn keyword forthDefine 2VALUE -syn keyword forthOperators DU< -syn keyword forthStack 2ROT - -" Non-standard Double-Number words -syn keyword forthOperators D0<= D0<> D0> D0>= D<= D<> D> D>= DU<= DU> DU>= -syn keyword forthStack 2-ROT 2NIP 2RDROP 2TUCK - -" The optional Exception word set {{{1 -" Handled as Core words - ABORT ABORT" -syn keyword forthCond CATCH THROW - -" The optional Facility word set {{{1 -syn keyword forthCharOps AT-XY KEY? PAGE - " extension words -syn keyword forthCharOps EKEY EKEY>CHAR EKEY>FKEY EKEY? EMIT? K-ALT-MASK -syn keyword forthCharOps K-CTRL-MASK K-DELETE K-DOWN K-END K-F1 K-F10 K-F11 -syn keyword forthCharOps K-F12 K-F2 K-F3 K-F4 K-F5 K-F6 K-F7 K-F8 K-F9 K-HOME -syn keyword forthCharOps K-INSERT K-LEFT K-NEXT K-PRIOR K-RIGHT K-SHIFT-MASK -syn keyword forthCharOps K-UP -syn keyword forthDefine +FIELD BEGIN-STRUCTURE CFIELD: END-STRUCTURE FIELD: -syn keyword forthForth MS TIME&DATE - -" The optional File-Access word set {{{1 -" Handled as Core words - REFILL SOURCE-ID S\" S" ( -syn keyword forthFileMode BIN R/O R/W W/O -syn keyword forthFileWords CLOSE-FILE CREATE-FILE DELETE-FILE FILE-POSITION -syn keyword forthFileWords FILE-SIZE INCLUDE-FILE INCLUDED OPEN-FILE READ-FILE -syn keyword forthFileWords READ-LINE REPOSITION-FILE RESIZE-FILE WRITE-FILE -syn keyword forthFileWords WRITE-LINE - " extension words -syn keyword forthFileWords FILE-STATUS FLUSH-FILE RENAME-FILE REQUIRED -syn match forthInclude '\' - -syn keyword forthConversion >FLOAT D>F F>D -syn keyword forthAdrArith FALIGN FALIGNED FLOAT+ FLOATS -syn keyword forthDefine FCONSTANT FLITERAL FVARIABLE -syn keyword forthFStack FDROP FDUP FOVER FROT FSWAP -syn keyword forthFunction REPRESENT -syn keyword forthMemory F! F@ -syn keyword forthOperators F* F+ F- F/ F0< F0= F< FLOOR FMAX FMIN FNEGATE -syn keyword forthOperators FROUND -syn keyword forthSP FDEPTH - " extension words -syn keyword forthConversion F>S S>F -syn keyword forthAdrArith DFALIGN DFALIGNED DFLOAT+ DFLOATS SFALIGN -syn keyword forthAdrArith SFALIGNED SFLOAT+ SFLOATS -syn keyword forthDefine DFFIELD: FFIELD: FVALUE SFFIELD: -syn keyword forthFunction F. FE. FS. PRECISION SET-PRECISION -syn keyword forthMemory DF! DF@ SF! SF@ -syn keyword forthOperators F** FABS FACOS FACOSH FALOG FASIN FASINH FATAN -syn keyword forthOperators FATAN2 FATANH FCOS FCOSH FEXP FEXPM1 FLN FLNP1 -syn keyword forthOperators FLOG FSIN FSINCOS FSINH FSQRT FTAN FTANH FTRUNC F~ - -" Non-standard Floating-Point words -syn keyword forthOperators 1/F F2* F2/ F~ABS F~REL -syn keyword forthFStack FNIP FTUCK - -" The optional Locals word set {{{1 -syn keyword forthForth (LOCAL) - " extension words -syn region forthLocals start="\<{:\>" end="\<:}\>" -syn region forthLocals start="\" end="\<|\>" - -" Non-standard Locals words -syn region forthLocals start="\<{\>" end="\<}\>" - -" The optional Memory-Allocation word set {{{1 -syn keyword forthMemory ALLOCATE FREE RESIZE - -" The optional Programming-Tools wordset {{{1 -syn keyword forthDebug .S ? DUMP SEE WORDS - " extension words -syn keyword forthAssembler ;CODE ASSEMBLER CODE END-CODE -syn keyword forthCond AHEAD CS-PICK CS-ROLL -syn keyword forthDefine NAME>COMPILE NAME>INTERPRET NAME>STRING SYNONYM -syn keyword forthDefine TRAVERSE-WORDLIST -syn match forthDefine "\<\[DEFINED]\>" -syn match forthDefine "\<\[ELSE]\>" -syn match forthDefine "\<\[IF]\>" -syn match forthDefine "\<\[THEN]\>" -syn match forthDefine "\<\[UNDEFINED]\>" -syn keyword forthForth BYE FORGET -syn keyword forthStack N>R NR> -syn keyword forthVocs EDITOR - -" Non-standard Programming-Tools words -syn keyword forthAssembler FLUSH-ICACHE -syn keyword forthDebug PRINTDEBUGDATA PRINTDEBUGLINE -syn match forthDebug "\<\~\~\>" -syn match forthDefine "\<\[+LOOP]\>" -syn match forthDefine "\<\[?DO]\>" -syn match forthDefine "\<\[AGAIN]\>" -syn match forthDefine "\<\[BEGIN]\>" -syn match forthDefine "\<\[DO]\>" -syn match forthDefine "\<\[ENDIF]\>" -syn match forthDefine "\<\[IFDEF]\>" -syn match forthDefine "\<\[IFUNDEF]\>" -syn match forthDefine "\<\[LOOP]\>" -syn match forthDefine "\<\[NEXT]\>" -syn match forthDefine "\<\[REPEAT]\>" -syn match forthDefine "\<\[UNTIL]\>" -syn match forthDefine "\<\[WHILE]\>" - -" The optional Search-Order word set {{{1 -" Handled as Core words - FIND -syn keyword forthVocs DEFINITIONS FORTH-WORDLIST GET-CURRENT GET-ORDER -syn keyword forthVocs SEARCH-WORDLIST SET-CURRENT SET-ORDER WORDLIST - " extension words -syn keyword forthVocs ALSO FORTH ONLY ORDER PREVIOUS - " Forth-79, Forth-83 -syn keyword forthVocs CONTEXT CURRENT VOCABULARY - -" Non-standard Search-Order words -syn keyword forthVocs #VOCS ROOT SEAL VOCS - -" The optional String word set {{{1 -syn keyword forthFunction -TRAILING /STRING BLANK CMOVE CMOVE> COMPARE SEARCH -syn keyword forthFunction SLITERAL - " extension words -syn keyword forthFunction REPLACES SUBSTITUTE UNESCAPE - -" The optional Extended-Character word set {{{1 -" Handled as Core words - [CHAR] CHAR and PARSE -syn keyword forthAdrArith XCHAR+ -syn keyword forthCharOps X-SIZE XC-SIZE XEMIT XKEY XKEY? -syn keyword forthDefine XC, -syn keyword forthMemory XC!+ XC!+? XC@+ - " extension words -syn keyword forthAdrArith XCHAR- +X/STRING X\\STRING- -syn keyword forthCharOps EKEY>XCHAR X-WIDTH XC-WIDTH -syn keyword forthConversion XHOLD -syn keyword forthString -TRAILING-GARBAGE - -" Define the default highlighting {{{1 -hi def link forthBoolean Boolean -hi def link forthCharacter Character -hi def link forthTodo Todo -hi def link forthOperators Operator -hi def link forthMath Number -hi def link forthInteger Number -hi def link forthFloat Float -hi def link forthStack Special -hi def link forthRstack Special -hi def link forthFStack Special -hi def link forthSP Special -hi def link forthMemory Function -hi def link forthAdrArith Function -hi def link forthMemBlks Function -hi def link forthCond Conditional -hi def link forthLoop Repeat -hi def link forthColonDef Define -hi def link forthEndOfColonDef Define -hi def link forthDefine Define -hi def link forthDebug Debug -hi def link forthAssembler Include -hi def link forthCharOps Character -hi def link forthConversion String -hi def link forthForth Statement -hi def link forthVocs Statement -hi def link forthEscape Special -hi def link forthString String -hi def link forthComment Comment -hi def link forthClassDef Define -hi def link forthEndOfClassDef Define -hi def link forthObjectDef Define -hi def link forthEndOfObjectDef Define -hi def link forthInclude Include -hi def link forthLocals Type " nothing else uses type and locals must stand out -hi def link forthFileMode Function -hi def link forthFunction Function -hi def link forthFileWords Statement -hi def link forthBlocks Statement -hi def link forthSpaceError Error -"}}} - -let b:current_syntax = "forth" - -let &cpo = s:cpo_save -unlet s:cpo_save - -" vim:ts=8:sw=4:nocindent:smartindent:fdm=marker:tw=78 - diff --git a/uvim/runtime/syntax/fortran.mnv b/uvim/runtime/syntax/fortran.mnv new file mode 100644 index 0000000000..31882bce25 --- /dev/null +++ b/uvim/runtime/syntax/fortran.mnv @@ -0,0 +1,490 @@ +" MNV syntax file +" Language: Fortran 2023 (and Fortran 2018, 2008, 2003, 95, 90, and 77) +" Version: (v113) 2024 February 01 +" Maintainers: Ajit J. Thakkar ; +" Joshua Hollett +" Usage: For instructions, do :help fortran-syntax from MNV +" Credits: +" Version 0.1 for Fortran 95 was created in April 2000 by Ajit Thakkar from an +" older Fortran 77 syntax file by Mario Eusebio and Preben Guldberg. +" Since then, useful suggestions and contributions have been made, in order, by: +" Andrej Panjkov, Bram Moolenaar, Thomas Olsen, Michael Sternberg, Christian Reile, +" Walter Dieudonne, Alexander Wagner, Roman Bertle, Charles Rendleman, +" Andrew Griffiths, Joe Krahn, Hendrik Merx, Matt Thompson, Jan Hermann, +" Stefano Zaghi, Vishnu V. Krishnan, Judicael Grasset, Takuma Yoshida, +" Eisuke Kawashima, Andre Chalella, Fritz Reese, Karl D. Hammond, +" and Michele Esposito Marzino. + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +" Choose between fixed and free source form if this hasn't been done yet +if !exists("b:fortran_fixed_source") + if exists("fortran_free_source") + " User guarantees free source form for all Fortran files + let b:fortran_fixed_source = 0 + elseif exists("fortran_fixed_source") + " User guarantees fixed source form for all fortran files + let b:fortran_fixed_source = 1 + elseif expand("%:e") =~? '^f\%(90\|95\|03\|08\)$' + " Free-form file extension defaults as in Intel ifort, gcc(gfortran), NAG, Pathscale, and Cray compilers + let b:fortran_fixed_source = 0 + elseif expand("%:e") =~? '^\%(f\|f77\|for\)$' + " Fixed-form file extension defaults + let b:fortran_fixed_source = 1 + else + " Modern Fortran compilers still allow both free and fixed source form. + " Assume fixed source form unless signs of free source form + " are detected in the first five columns of the first s:lmax lines. + " Detection becomes more accurate and time-consuming if more lines + " are checked. Increase the limit below if you keep lots of comments at + " the very top of each file and you have a fast computer. + let s:lmax = 500 + if ( s:lmax > line("$") ) + let s:lmax = line("$") + endif + let b:fortran_fixed_source = 1 + let s:ln=1 + while s:ln <= s:lmax + let s:test = strpart(getline(s:ln),0,5) + if s:test !~ '^[Cc*]' && s:test !~ '^ *[!#]' && s:test =~ '[^ 0-9\t]' && s:test !~ '^[ 0-9]*\t' + let b:fortran_fixed_source = 0 + break + endif + let s:ln = s:ln + 1 + endwhile + unlet! s:lmax s:ln s:test + endif +endif + +" Group names ending in 'Del' and 'Ob', respectively, indicate features deleted and obsolescent in Fortran 2018 and later +" Deleted features are highlighted as errors +" Obsolescent features are highlighted as todo items +syn case ignore + +if b:fortran_fixed_source == 1 + syn match fortranConstructName "^\s\{6,}\zs\a\w*\ze\s*:" +else + syn match fortranConstructName "^\s*\zs\a\w*\ze\s*:" +endif +syn match fortranConstructName "\%(\" +syn match fortranConstructName "\%(\" +syn match fortranConstructName "\%(\" + +syn match fortranUnitName "\%(\<\%(end\s*\)\?\%(subroutine\|function\|module\|program\|submodule\)\s\+\)\@12<=\a\w*" +syn match fortranUnitHeader "\\ze\s*\%(!.*\)\?$" + +syn keyword fortranIntrinsic abs acos aimag aint anint asin atan atan2 cmplx conjg cos cosh exp ichar index int log log10 max min nint sin sinh sqrt tan tanh +syn keyword fortranIntrinsicR achar iachar transfer dble dprod dim lge lgt lle llt mod +syn keyword fortranIntrinsic command_argument_count get_command get_command_argument get_environment_variable is_iostat_end is_iostat_eor move_alloc new_line same_type_as extends_type_of +syn keyword fortranIntrinsic selected_real_kind selected_int_kind selected_logical_kind selected_char_kind next previous +syn keyword fortranIntrinsic acosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 +syn keyword fortranIntrinsic adjustl adjustr all allocated any associated bit_size btest ceiling cshift date_and_time digits +syn keyword fortranIntrinsic dot_product eoshift exponent floor fraction iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc merge minexponent minloc +syn keyword fortranIntrinsic modulo mvbits nearest pack precision present radix random_number random_seed range repeat reshape rrspacing scale scan set_exponent shape spacing +" intrinsic names often used for variables in older Fortran code +syn match fortranIntrinsic '\<\%(count\|epsilon\|maxval\|minval\|product\|sum\|huge\|tiny\|char\)\>\ze\s*(' +syn keyword fortranIntrinsic spread system_clock transpose trim ubound unpack verify is_contiguous event_query +syn keyword fortranIntrinsic atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits +syn keyword fortranIntrinsic bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image +syn keyword fortranIntrinsic null cpu_time failed_images stopped_images image_status co_broadcast co_max co_min co_sum co_reduce +syn keyword fortranIntrinsic atomic_add atomic_and atomic_or atomic_xor atomic_fetch_add atomic_fetch_and atomic_fetch_or atomic_fetch_xor atomic_cas +syn keyword fortranIntrinsic ieee_arithmetic ieee_features ieee_exceptions +syn keyword fortranIntrinsic ieee_class ieee_copy_sign ieee_fma ieee_get_rounding_mode ieee_get_underflow_mode ieee_int ieee_is_finite +syn keyword fortranIntrinsic ieee_is_nan ieee_is_negative ieee_is_normal ieee_logb ieee_max ieee_max_mag ieee_max_num ieee_max_num_mag +syn keyword fortranIntrinsic ieee_min ieee_min_mag ieee_min_num ieee_min_num_mag ieee_next_after ieee_next_down ieee_next_up ieee_quiet_eq +syn keyword fortranIntrinsic ieee_quiet_ge ieee_quiet_gt ieee_quiet_le ieee_quiet_lt ieee_quiet_ne ieee_real ieee_rem ieee_rint ieee_scalb +syn keyword fortranIntrinsic ieee_selected_real_kind ieee_set_rounding_mode ieee_set_underflow_mode ieee_signaling_eq ieee_signaling_ge +syn keyword fortranIntrinsic ieee_signaling_gt ieee_signaling_le ieee_signaling_lt ieee_signaling_ne ieee_signbit ieee_support_datatype +syn keyword fortranIntrinsic ieee_support_denormal ieee_support_divide ieee_support_inf ieee_support_io ieee_support_nan ieee_support_rounding +syn keyword fortranIntrinsic ieee_support_sqrt ieee_support_subnormal ieee_support_standard ieee_support_underflow_control +syn keyword fortranIntrinsic ieee_unordered ieee_value ieee_get_flag ieee_get_halting_mode ieee_get_modes ieee_get_status +syn keyword fortranIntrinsic ieee_set_flag ieee_set_halting_mode ieee_set_modes ieee_set_status ieee_support_flag ieee_support_halting +syn keyword fortranIntrinsic iso_c_binding c_loc c_funloc c_sizeof c_associated c_f_pointer c_f_procpointer c_f_strpointer f_c_string +syn keyword fortranIntrinsic iso_fortran_env compiler_options compiler_version +syn keyword fortranIntrinsic out_of_range reduce random_init coshape get_team split tokenize +syn keyword fortranIntrinsic acosd asind atand atan2d cosd sind tand acospi asinpi atanpi atan2pi cospi sinpi tanpi +syn match fortranIntrinsic "\%(^\s*\|type *is *(\s*\)\@12\ze\s*(' +syn match fortranIntrinsic '\<\%(sign\|size\|team_number\)\>\ze\s*(' +" Obsolescent type-specific intrinsics +syn keyword fortranIntrinsicOb alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl +if exists("fortran_vendor_intrinsics") + syn keyword fortranIntrinsicVen algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh +endif + +syn keyword fortranType generic final enumerator import classof typeof team_type event_type lock_type notify_type +syn keyword fortranType ieee_flag_type ieee_modes_type ieee_status_type ieee_class_type ieee_round_type ieee_features_type +syn keyword fortranType c_ptr c_funptr elemental pure impure recursive non_recursive simple +syn match fortranType "^\s*\%(implicit\s\+\)\?\%(real\|double\s*precision\|integer\|logical\|complex\|character\|type\)\>" +syn match fortranTypeOb "^\s*\%(character\s*\)\@15<=\*" +syn match fortranType "^\s*\zsimplicit\s\+none\>" +syn match fortranType "\" +syn match fortranType "\%(\" +syn match fortranType "\<\%(end\s*\)\?interface\>" +syn match fortranType "\" +syn match fortranType "\<\%(end\s*\)\?enumeration\s\+type\>" +syn match fortranType "\<\%(end\s*\)\?\%(module\s\+\)\?procedure\>" +syn match fortranType "\%(simple \|pure \|impure \|recursive \|non_recursive \|elemental \|module \)\@17<=\%(real\|double precision\|integer\|logical\|complex\|character\)" +syn match fortranTypeR display "\" +syn match fortranTypeR display "\" +syn keyword fortranAttribute abstract allocatable bind codimension contiguous deferred dimension extends +syn keyword fortranAttribute external intent intrinsic non_intrinsic non_overridable nopass optional parameter pass +syn keyword fortranAttribute pointer private protected public save sequence target value volatile +syn match fortranAttribute "\\ze\s*\%(::\|,\|(\)" + +syn keyword fortranUnitHeader result operator assignment +syn match fortranUnitHeader "\<\%(end\s*\)\?\%(subroutine\|function\|module\|program\|submodule\)\>" +syn match fortranBlock "\<\%(end\s*\)\?\%(block\|critical\|associate\)\>" +syn match fortranCalled "\<\%(call\s\+\)\@7<=\a\w*" +syn match fortranRepeat "\" +syn keyword fortranRepeat concurrent +syn keyword fortranRepeatR while +syn match fortranRepeat "\" +syn keyword fortranRepeatOb forall +syn match fortranRepeatOb "\" + +syn keyword fortranTodo contained bug note debug todo fixme + +"Catch errors caused by too many right parentheses +syn region fortranParen transparent start="(" end=")" contains=ALLBUT,fortranParenError,@fortranCommentGroup,cIncluded,@spell +syn match fortranParenError ")" + +syn match fortranOperator "\.\s*n\?eqv\s*\." +syn match fortranOperator "\.\s*\%(and\|or\|not\)\s*\." +syn match fortranOperator "\%(+\|-\|/\|\*\)" +syn match fortranOperator "\%(\%(>\|<\)=\?\|==\|/=\|=\)" +syn match fortranOperator "\%(%\|?\|=>\)" +syn match fortranOperator "\%([\|]\)" +syn match fortranOperatorR "\.\s*[gl][et]\s*\." +syn match fortranOperatorR "\.\s*\%(eq\|ne\)\s*\." + +syn keyword fortranReadWrite print flush +syn match fortranReadWrite '\<\%(backspace\|close\|endfile\|inquire\|open\|read\|rewind\|wait\|write\)\ze\s*(' + +"If tabs are allowed then the left margin checks do not work +if exists("fortran_have_tabs") + syn match fortranTab "\t" transparent +else + syn match fortranTab "\t" +endif + +"Numbers of various sorts +" Integers +syn match fortranNumber display "\<\d\+\%(_\a\w*\)\?\>" +" floating point number, without a decimal point +syn match fortranFloatIll display "\<\d\+[deq][-+]\?\d\+\%(_\a\w*\)\?\>" +" floating point number, starting with a decimal point +syn match fortranFloatIll display "\.\d\+\%([deq][-+]\?\d\+\)\?\%(_\a\w*\)\?\>" +" floating point number, no digits after decimal +syn match fortranFloatIll display "\<\d\+\.\%([deq][-+]\?\d\+\)\?\%(_\a\w*\)\?\>" +" floating point number, D or Q exponents +syn match fortranFloatIll display "\<\d\+\.\d\+\%([dq][-+]\?\d\+\)\?\%(_\a\w*\)\?\>" +" floating point number +syn match fortranFloat display "\<\d\+\.\d\+\%(e[-+]\?\d\+\)\?\%(_\a\w*\)\?\>" +" binary number +syn match fortranBinary display "b["'][01]\+["']" +" octal number +syn match fortranOctal display "o["'][0-7]\+["']" +" hexadecimal number +syn match fortranHex display "z["'][0-9A-F]\+["']" +" Numbers in formats +syn match fortranFormatSpec display "\d*f\d\+\.\d\+" +syn match fortranFormatSpec display "\d*e[sn]\?\d\+\.\d\+\%(e\d+\>\)\?" +syn match fortranFormatSpec display "\d*\%(d\|q\|g\)\d\+\.\d\+\%(e\d+\)\?" +syn match fortranFormatSpec display "\d\+x\>" +" The next match cannot be used because it would pick up identifiers as well +" syn match fortranFormatSpec display "\<\%(a\|i\)\d\+" +" Numbers as labels +if (b:fortran_fixed_source == 1) + syn match fortranLabelNumber display "^\zs\d\{1,5}\ze\s" + syn match fortranLabelNumber display "^ \zs\d\{1,4}\ze\s" + syn match fortranLabelNumber display "^ \zs\d\{1,3}\ze\s" + syn match fortranLabelNumber display "^ \zs\d\d\?\ze\s" + syn match fortranLabelNumber display "^ \zs\d\ze\s" +else + syn match fortranLabelNumber display "^\s*\zs\d\{1,5}\ze\s*\a" + syn match fortranLabelNumberOb display "^\s*\zs\d\{1,5}\ze *end\s*\%(do\|if\)\>\ze" +endif +" Numbers as targets +syn match fortranTarget display "\%(\" +syn match fortranTargetOb display "\%(\" +syn match fortranTarget display "\%(\" + +syn match fortranBoolean "\.\s*\%(true\|false\)\s*\." + +syn keyword fortranKeyword call use only continue allocate deallocate nullify return cycle exit contains +syn match fortranKeyword "\" +syn match fortranKeyword "\<\%(error\s\+\)\?stop\>" +syn match fortranKeyword "\" +syn match fortranKeywordDel "\" +syn match fortranConditional "\<\%(end\s*\)\?\%(if\|where\|select\)\>" +syn match fortranConditional "\" +syn match fortranConditional "\<\%(case\|rank\|class\)\s\+default\>" +syn match fortranConditional "^\s*\zs\%(case\|rank\)\ze\s\+(" +syn match fortranConditional "\<\%(class\|type\)\s\+is\>" +syn match fortranConditionalDel "\" +syn match fortranImageControl "\<\%(change\|form\|end\)\s\+team\>" +syn match fortranImageControl "\" + +syn keyword fortranStorageClass in out inout +syn match fortranStorageClass '\<\%(kind\|len\)\>\ze\s*=' +syn match fortranStorageClass "^\s*data\>\ze\%(\s\+\a\)\@=" +syn match fortranStorageClassOb "\\%(\s*\%(/\|\a\)\)\@=" +syn match fortranStorageClassOb "\\%(\s*(\)\@=" + +syn keyword fortranConstant c_null_char c_alert c_backspace c_form_feed c_new_line c_carriage_return c_horizontal_tab c_vertical_tab c_ptrdiff_t +syn keyword fortranConstant c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr +syn keyword fortranConstant character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit stat_failed_image stat_locked stat_locked_other_image stat_stopped_image stat_unlocked stat_unlocked_failed_image +syn keyword fortranConstant int8 int16 int32 int64 real16 real32 real64 real128 character_kinds integer_kinds logical_kinds real_kinds iostat_inquire_internal_unit initial_team current_team parent_team +syn keyword fortranConstant ieee_invalid ieee_overflow ieee_divide_by_zero ieee_underflow ieee_inexact ieee_usual ieee_all +syn keyword fortranConstant ieee_signaling_nan ieee_quiet_nan ieee_negative_inf ieee_negative_normal ieee_negative_subnormal +syn keyword fortranConstant ieee_negative_zero ieee_positive_zero ieee_positive_subnormal ieee_positive_normal ieee_positive_inf +syn keyword fortranConstant ieee_other_value ieee_negative_denormal ieee_positive_denormal ieee_negative_subnormal +syn keyword fortranConstant ieee_positive_subnormal ieee_nearest ieee_to_zero ieee_up ieee_down ieee_away ieee_other ieee_datatype +syn keyword fortranConstant ieee_denormal ieee_divide ieee_halting ieee_inexact_flag ieee_inf ieee_invalid_flag ieee_nan +syn keyword fortranConstant ieee_rounding ieee_sqrt ieee_subnormal ieee_underflow_flag +syn match fortranConstant "\.\s*nil\s*\." + +" CUDA Fortran +if exists("fortran_CUDA") + syn match fortranTypeCUDA "\" + syn keyword fortranTypeCUDA host global device + syn keyword fortranTypeCUDA shared constant pinned texture + syn keyword fortranTypeCUDA dim1 dim2 dim3 dim4 + syn keyword fortranTypeCUDA cudadeviceprop cuda_count_kind cuda_stream_kind + syn keyword fortranTypeCUDA cudaEvent cudaFuncAttributes cudaArrayPtr + syn keyword fortranTypeCUDA cudaSymbol cudaChannelFormatDesc cudaPitchedPtr + syn keyword fortranTypeCUDA cudaExtent cudaMemcpy3DParms + syn keyword fortranTypeCUDA cudaFuncCachePreferNone cudaFuncCachePreferShared + syn keyword fortranTypeCUDA cudaFuncCachePreferL1 cudaLimitStackSize + syn keyword fortranTypeCUDA cudaLimitPrintfSize cudaLimitMallocHeapSize + syn keyword fortranTypeCUDA cudaSharedMemBankSizeDefault cudaSharedMemBankSizeFourByte cudaSharedMemBankSizeEightByte + syn keyword fortranTypeCUDA cudaEventDefault cudaEventBlockingSync cudaEventDisableTiming + syn keyword fortranTypeCUDA cudaMemcpyHostToDevice cudaMemcpyDeviceToHost + syn keyword fortranTypeCUDA cudaMemcpyDeviceToDevice + syn keyword fortranTypeCUDA cudaErrorNotReady cudaSuccess cudaErrorInvalidValue + syn keyword fortranTypeCUDA c_devptr + + syn match fortranStringCUDA "\" + syn match fortranStringCUDA "\" + syn match fortranStringCUDA "\" + syn match fortranStringCUDA "\" + + syn keyword fortranIntrinsicCUDA warpsize syncthreads syncthreads_and syncthreads_count syncthreads_or threadfence threadfence_block threadfence_system gpu_time allthreads anythread ballot + syn keyword fortranIntrinsicCUDA atomicadd atomicsub atomicmax atomicmin atomicand atomicor atomicxor atomicexch atomicinc atomicdec atomiccas sizeof __shfl __shfl_up __shfl_down __shfl_xor + syn keyword fortranIntrinsicCUDA cudaChooseDevice cudaDeviceGetCacheConfig cudaDeviceGetLimit cudaDeviceGetSharedMemConfig cudaDeviceReset cudaDeviceSetCacheConfig cudaDeviceSetLimit cudaDeviceSetSharedMemConfig cudaDeviceSynchronize cudaGetDevice cudaGetDeviceCount cudaGetDeviceProperties cudaSetDevice cudaSetDeviceFlags cudaSetValidDevices + syn keyword fortranIntrinsicCUDA cudaThreadExit cudaThreadSynchronize cudaGetLastError cudaGetErrorString cudaPeekAtLastError cudaStreamCreate cudaStreamDestroy cudaStreamQuery cudaStreamSynchronize cudaStreamWaitEvent cudaEventCreate cudaEventCreateWithFlags cudaEventDestroy cudaEventElapsedTime cudaEventQuery cudaEventRecord cudaEventSynchronize + syn keyword fortranIntrinsicCUDA cudaFuncGetAttributes cudaFuncSetCacheConfig cudaFuncSetSharedMemConfig cudaSetDoubleForDevice cudaSetDoubleForHost cudaFree cudaFreeArray cudaFreeHost cudaGetSymbolAddress cudaGetSymbolSize + syn keyword fortranIntrinsicCUDA cudaHostAlloc cudaHostGetDevicePointer cudaHostGetFlags cudaHostRegister cudaHostUnregister cudaMalloc cudaMallocArray cudaMallocHost cudaMallocPitch cudaMalloc3D cudaMalloc3DArray + syn keyword fortranIntrinsicCUDA cudaMemcpy cudaMemcpyArraytoArray cudaMemcpyAsync cudaMemcpyFromArray cudaMemcpyFromSymbol cudaMemcpyFromSymbolAsync cudaMemcpyPeer cudaMemcpyPeerAsync cudaMemcpyToArray cudaMemcpyToSymbol cudaMemcpyToSymbolAsync cudaMemcpy2D cudaMemcpy2DArrayToArray cudaMemcpy2DAsync cudaMemcpy2DFromArray cudaMemcpy2DToArray cudaMemcpy3D cudaMemcpy3DAsync + syn keyword fortranIntrinsicCUDA cudaMemGetInfo cudaMemset cudaMemset2D cudaMemset3D cudaDeviceCanAccessPeer cudaDeviceDisablePeerAccess cudaDeviceEnablePeerAccess cudaPointerGetAttributes cudaDriverGetVersion cudaRuntimeGetVersion +endif + +syn region none matchgroup=fortranType start="<<<" end=">>>" contains=ALLBUT,none + +syn cluster fortranCommentGroup contains=fortranTodo + +if (b:fortran_fixed_source == 1) + if !exists("fortran_have_tabs") + if exists("fortran_extended_line_length") + " Vendor extensions allow lines with a text width of 132 + syn match fortranSerialNumber excludenl "^.\{133,}$"lc=132 + else + " Standard requires fixed format to have a text width of 72, + " but all current compilers use 80 instead + syn match fortranSerialNumber excludenl "^.\{81,}$"lc=80 + endif + "Flag left margin errors + syn match fortranLabelError "^.\{-,4}[^0-9 ]" contains=fortranTab + syn match fortranLabelError "^.\{4}\d\S" + endif + syn match fortranComment excludenl "^[!c*].*$" contains=@fortranCommentGroup,@spell + syn match fortranLeftMargin transparent "^ \{5}" + syn match fortranContinueMark display "^.\{5}\S"lc=5 +else + syn match fortranContinueMark display "&" +endif + +syn match fortranComment excludenl "!.*$" contains=@fortranCommentGroup,@spell +syn match fortranOpenMP excludenl "^\s*\zs!\$\%(OMP\)\?&\?\s.*$" +syn match fortranEndStatement display ";" + +"cpp is often used with Fortran +syn match cPreProc "^\s*#\s*\%(define\|ifdef\)\>.*" +syn match cPreProc "^\s*#\s*\%(elif\|if\)\>.*" +syn match cPreProc "^\s*#\s*\%(ifndef\|undef\)\>.*" +syn match cPreCondit "^\s*#\s*\%(else\|endif\)\>.*" +syn region cIncluded contained start=+"[^("]+ skip=+\\\\\|\\"+ end=+"+ contains=fortranLeftMargin,fortranContinueMark,fortranSerialNumber +syn match cIncluded contained "<[^>]*>" +syn match cInclude "^\s*#\s*include\>\s*["<]" contains=cIncluded + +"Synchronising limits assume that comment and continuation lines are not mixed +if exists("fortran_fold") + syn sync fromstart +elseif (b:fortran_fixed_source == 0) + syn sync linecont "&" minlines=30 +else + syn sync minlines=30 +endif + +if exists("fortran_fold") + + if has("folding") + setlocal foldmethod=syntax + endif + if (b:fortran_fixed_source == 1) + syn region fortranProgram transparent fold keepend start="^\s*program\s\+\z(\a\w*\)" skip="^\%([!c*]\|\s*#\).*$" excludenl end="\\)\?\|$\)" contains=ALLBUT,fortranModule + syn region fortranModule transparent fold keepend start="^\s*submodule\s\+(\a\w*\s*\%(:\a\w*\s*\)*)\s*\z\(\a\w*\)" skip="^\%([!c*]\|\s*#\).*$" excludenl end="\\)\?\|$\)" contains=ALLBUT,fortranProgram,fortranModule + syn region fortranModule transparent fold keepend start="^\s*module\s\+\%(procedure\)\@9!\z(\a\w*\)" skip="^\%([!c*]\|\s*#\).*$" excludenl end="\\)\?\|$\)" contains=ALLBUT,fortranProgram + syn region fortranFunction transparent fold keepend extend start="\; -" Joshua Hollett -" Usage: For instructions, do :help fortran-syntax from Vim -" Credits: -" Version 0.1 for Fortran 95 was created in April 2000 by Ajit Thakkar from an -" older Fortran 77 syntax file by Mario Eusebio and Preben Guldberg. -" Since then, useful suggestions and contributions have been made, in order, by: -" Andrej Panjkov, Bram Moolenaar, Thomas Olsen, Michael Sternberg, Christian Reile, -" Walter Dieudonne, Alexander Wagner, Roman Bertle, Charles Rendleman, -" Andrew Griffiths, Joe Krahn, Hendrik Merx, Matt Thompson, Jan Hermann, -" Stefano Zaghi, Vishnu V. Krishnan, Judicael Grasset, Takuma Yoshida, -" Eisuke Kawashima, Andre Chalella, Fritz Reese, Karl D. Hammond, -" and Michele Esposito Marzino. - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -" Choose between fixed and free source form if this hasn't been done yet -if !exists("b:fortran_fixed_source") - if exists("fortran_free_source") - " User guarantees free source form for all Fortran files - let b:fortran_fixed_source = 0 - elseif exists("fortran_fixed_source") - " User guarantees fixed source form for all fortran files - let b:fortran_fixed_source = 1 - elseif expand("%:e") =~? '^f\%(90\|95\|03\|08\)$' - " Free-form file extension defaults as in Intel ifort, gcc(gfortran), NAG, Pathscale, and Cray compilers - let b:fortran_fixed_source = 0 - elseif expand("%:e") =~? '^\%(f\|f77\|for\)$' - " Fixed-form file extension defaults - let b:fortran_fixed_source = 1 - else - " Modern Fortran compilers still allow both free and fixed source form. - " Assume fixed source form unless signs of free source form - " are detected in the first five columns of the first s:lmax lines. - " Detection becomes more accurate and time-consuming if more lines - " are checked. Increase the limit below if you keep lots of comments at - " the very top of each file and you have a fast computer. - let s:lmax = 500 - if ( s:lmax > line("$") ) - let s:lmax = line("$") - endif - let b:fortran_fixed_source = 1 - let s:ln=1 - while s:ln <= s:lmax - let s:test = strpart(getline(s:ln),0,5) - if s:test !~ '^[Cc*]' && s:test !~ '^ *[!#]' && s:test =~ '[^ 0-9\t]' && s:test !~ '^[ 0-9]*\t' - let b:fortran_fixed_source = 0 - break - endif - let s:ln = s:ln + 1 - endwhile - unlet! s:lmax s:ln s:test - endif -endif - -" Group names ending in 'Del' and 'Ob', respectively, indicate features deleted and obsolescent in Fortran 2018 and later -" Deleted features are highlighted as errors -" Obsolescent features are highlighted as todo items -syn case ignore - -if b:fortran_fixed_source == 1 - syn match fortranConstructName "^\s\{6,}\zs\a\w*\ze\s*:" -else - syn match fortranConstructName "^\s*\zs\a\w*\ze\s*:" -endif -syn match fortranConstructName "\%(\" -syn match fortranConstructName "\%(\" -syn match fortranConstructName "\%(\" - -syn match fortranUnitName "\%(\<\%(end\s*\)\?\%(subroutine\|function\|module\|program\|submodule\)\s\+\)\@12<=\a\w*" -syn match fortranUnitHeader "\\ze\s*\%(!.*\)\?$" - -syn keyword fortranIntrinsic abs acos aimag aint anint asin atan atan2 cmplx conjg cos cosh exp ichar index int log log10 max min nint sin sinh sqrt tan tanh -syn keyword fortranIntrinsicR achar iachar transfer dble dprod dim lge lgt lle llt mod -syn keyword fortranIntrinsic command_argument_count get_command get_command_argument get_environment_variable is_iostat_end is_iostat_eor move_alloc new_line same_type_as extends_type_of -syn keyword fortranIntrinsic selected_real_kind selected_int_kind selected_logical_kind selected_char_kind next previous -syn keyword fortranIntrinsic acosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 -syn keyword fortranIntrinsic adjustl adjustr all allocated any associated bit_size btest ceiling cshift date_and_time digits -syn keyword fortranIntrinsic dot_product eoshift exponent floor fraction iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc merge minexponent minloc -syn keyword fortranIntrinsic modulo mvbits nearest pack precision present radix random_number random_seed range repeat reshape rrspacing scale scan set_exponent shape spacing -" intrinsic names often used for variables in older Fortran code -syn match fortranIntrinsic '\<\%(count\|epsilon\|maxval\|minval\|product\|sum\|huge\|tiny\|char\)\>\ze\s*(' -syn keyword fortranIntrinsic spread system_clock transpose trim ubound unpack verify is_contiguous event_query -syn keyword fortranIntrinsic atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits -syn keyword fortranIntrinsic bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image -syn keyword fortranIntrinsic null cpu_time failed_images stopped_images image_status co_broadcast co_max co_min co_sum co_reduce -syn keyword fortranIntrinsic atomic_add atomic_and atomic_or atomic_xor atomic_fetch_add atomic_fetch_and atomic_fetch_or atomic_fetch_xor atomic_cas -syn keyword fortranIntrinsic ieee_arithmetic ieee_features ieee_exceptions -syn keyword fortranIntrinsic ieee_class ieee_copy_sign ieee_fma ieee_get_rounding_mode ieee_get_underflow_mode ieee_int ieee_is_finite -syn keyword fortranIntrinsic ieee_is_nan ieee_is_negative ieee_is_normal ieee_logb ieee_max ieee_max_mag ieee_max_num ieee_max_num_mag -syn keyword fortranIntrinsic ieee_min ieee_min_mag ieee_min_num ieee_min_num_mag ieee_next_after ieee_next_down ieee_next_up ieee_quiet_eq -syn keyword fortranIntrinsic ieee_quiet_ge ieee_quiet_gt ieee_quiet_le ieee_quiet_lt ieee_quiet_ne ieee_real ieee_rem ieee_rint ieee_scalb -syn keyword fortranIntrinsic ieee_selected_real_kind ieee_set_rounding_mode ieee_set_underflow_mode ieee_signaling_eq ieee_signaling_ge -syn keyword fortranIntrinsic ieee_signaling_gt ieee_signaling_le ieee_signaling_lt ieee_signaling_ne ieee_signbit ieee_support_datatype -syn keyword fortranIntrinsic ieee_support_denormal ieee_support_divide ieee_support_inf ieee_support_io ieee_support_nan ieee_support_rounding -syn keyword fortranIntrinsic ieee_support_sqrt ieee_support_subnormal ieee_support_standard ieee_support_underflow_control -syn keyword fortranIntrinsic ieee_unordered ieee_value ieee_get_flag ieee_get_halting_mode ieee_get_modes ieee_get_status -syn keyword fortranIntrinsic ieee_set_flag ieee_set_halting_mode ieee_set_modes ieee_set_status ieee_support_flag ieee_support_halting -syn keyword fortranIntrinsic iso_c_binding c_loc c_funloc c_sizeof c_associated c_f_pointer c_f_procpointer c_f_strpointer f_c_string -syn keyword fortranIntrinsic iso_fortran_env compiler_options compiler_version -syn keyword fortranIntrinsic out_of_range reduce random_init coshape get_team split tokenize -syn keyword fortranIntrinsic acosd asind atand atan2d cosd sind tand acospi asinpi atanpi atan2pi cospi sinpi tanpi -syn match fortranIntrinsic "\%(^\s*\|type *is *(\s*\)\@12\ze\s*(' -syn match fortranIntrinsic '\<\%(sign\|size\|team_number\)\>\ze\s*(' -" Obsolescent type-specific intrinsics -syn keyword fortranIntrinsicOb alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl -if exists("fortran_vendor_intrinsics") - syn keyword fortranIntrinsicVen algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh -endif - -syn keyword fortranType generic final enumerator import classof typeof team_type event_type lock_type notify_type -syn keyword fortranType ieee_flag_type ieee_modes_type ieee_status_type ieee_class_type ieee_round_type ieee_features_type -syn keyword fortranType c_ptr c_funptr elemental pure impure recursive non_recursive simple -syn match fortranType "^\s*\%(implicit\s\+\)\?\%(real\|double\s*precision\|integer\|logical\|complex\|character\|type\)\>" -syn match fortranTypeOb "^\s*\%(character\s*\)\@15<=\*" -syn match fortranType "^\s*\zsimplicit\s\+none\>" -syn match fortranType "\" -syn match fortranType "\%(\" -syn match fortranType "\<\%(end\s*\)\?interface\>" -syn match fortranType "\" -syn match fortranType "\<\%(end\s*\)\?enumeration\s\+type\>" -syn match fortranType "\<\%(end\s*\)\?\%(module\s\+\)\?procedure\>" -syn match fortranType "\%(simple \|pure \|impure \|recursive \|non_recursive \|elemental \|module \)\@17<=\%(real\|double precision\|integer\|logical\|complex\|character\)" -syn match fortranTypeR display "\" -syn match fortranTypeR display "\" -syn keyword fortranAttribute abstract allocatable bind codimension contiguous deferred dimension extends -syn keyword fortranAttribute external intent intrinsic non_intrinsic non_overridable nopass optional parameter pass -syn keyword fortranAttribute pointer private protected public save sequence target value volatile -syn match fortranAttribute "\\ze\s*\%(::\|,\|(\)" - -syn keyword fortranUnitHeader result operator assignment -syn match fortranUnitHeader "\<\%(end\s*\)\?\%(subroutine\|function\|module\|program\|submodule\)\>" -syn match fortranBlock "\<\%(end\s*\)\?\%(block\|critical\|associate\)\>" -syn match fortranCalled "\<\%(call\s\+\)\@7<=\a\w*" -syn match fortranRepeat "\" -syn keyword fortranRepeat concurrent -syn keyword fortranRepeatR while -syn match fortranRepeat "\" -syn keyword fortranRepeatOb forall -syn match fortranRepeatOb "\" - -syn keyword fortranTodo contained bug note debug todo fixme - -"Catch errors caused by too many right parentheses -syn region fortranParen transparent start="(" end=")" contains=ALLBUT,fortranParenError,@fortranCommentGroup,cIncluded,@spell -syn match fortranParenError ")" - -syn match fortranOperator "\.\s*n\?eqv\s*\." -syn match fortranOperator "\.\s*\%(and\|or\|not\)\s*\." -syn match fortranOperator "\%(+\|-\|/\|\*\)" -syn match fortranOperator "\%(\%(>\|<\)=\?\|==\|/=\|=\)" -syn match fortranOperator "\%(%\|?\|=>\)" -syn match fortranOperator "\%([\|]\)" -syn match fortranOperatorR "\.\s*[gl][et]\s*\." -syn match fortranOperatorR "\.\s*\%(eq\|ne\)\s*\." - -syn keyword fortranReadWrite print flush -syn match fortranReadWrite '\<\%(backspace\|close\|endfile\|inquire\|open\|read\|rewind\|wait\|write\)\ze\s*(' - -"If tabs are allowed then the left margin checks do not work -if exists("fortran_have_tabs") - syn match fortranTab "\t" transparent -else - syn match fortranTab "\t" -endif - -"Numbers of various sorts -" Integers -syn match fortranNumber display "\<\d\+\%(_\a\w*\)\?\>" -" floating point number, without a decimal point -syn match fortranFloatIll display "\<\d\+[deq][-+]\?\d\+\%(_\a\w*\)\?\>" -" floating point number, starting with a decimal point -syn match fortranFloatIll display "\.\d\+\%([deq][-+]\?\d\+\)\?\%(_\a\w*\)\?\>" -" floating point number, no digits after decimal -syn match fortranFloatIll display "\<\d\+\.\%([deq][-+]\?\d\+\)\?\%(_\a\w*\)\?\>" -" floating point number, D or Q exponents -syn match fortranFloatIll display "\<\d\+\.\d\+\%([dq][-+]\?\d\+\)\?\%(_\a\w*\)\?\>" -" floating point number -syn match fortranFloat display "\<\d\+\.\d\+\%(e[-+]\?\d\+\)\?\%(_\a\w*\)\?\>" -" binary number -syn match fortranBinary display "b["'][01]\+["']" -" octal number -syn match fortranOctal display "o["'][0-7]\+["']" -" hexadecimal number -syn match fortranHex display "z["'][0-9A-F]\+["']" -" Numbers in formats -syn match fortranFormatSpec display "\d*f\d\+\.\d\+" -syn match fortranFormatSpec display "\d*e[sn]\?\d\+\.\d\+\%(e\d+\>\)\?" -syn match fortranFormatSpec display "\d*\%(d\|q\|g\)\d\+\.\d\+\%(e\d+\)\?" -syn match fortranFormatSpec display "\d\+x\>" -" The next match cannot be used because it would pick up identifiers as well -" syn match fortranFormatSpec display "\<\%(a\|i\)\d\+" -" Numbers as labels -if (b:fortran_fixed_source == 1) - syn match fortranLabelNumber display "^\zs\d\{1,5}\ze\s" - syn match fortranLabelNumber display "^ \zs\d\{1,4}\ze\s" - syn match fortranLabelNumber display "^ \zs\d\{1,3}\ze\s" - syn match fortranLabelNumber display "^ \zs\d\d\?\ze\s" - syn match fortranLabelNumber display "^ \zs\d\ze\s" -else - syn match fortranLabelNumber display "^\s*\zs\d\{1,5}\ze\s*\a" - syn match fortranLabelNumberOb display "^\s*\zs\d\{1,5}\ze *end\s*\%(do\|if\)\>\ze" -endif -" Numbers as targets -syn match fortranTarget display "\%(\" -syn match fortranTargetOb display "\%(\" -syn match fortranTarget display "\%(\" - -syn match fortranBoolean "\.\s*\%(true\|false\)\s*\." - -syn keyword fortranKeyword call use only continue allocate deallocate nullify return cycle exit contains -syn match fortranKeyword "\" -syn match fortranKeyword "\<\%(error\s\+\)\?stop\>" -syn match fortranKeyword "\" -syn match fortranKeywordDel "\" -syn match fortranConditional "\<\%(end\s*\)\?\%(if\|where\|select\)\>" -syn match fortranConditional "\" -syn match fortranConditional "\<\%(case\|rank\|class\)\s\+default\>" -syn match fortranConditional "^\s*\zs\%(case\|rank\)\ze\s\+(" -syn match fortranConditional "\<\%(class\|type\)\s\+is\>" -syn match fortranConditionalDel "\" -syn match fortranImageControl "\<\%(change\|form\|end\)\s\+team\>" -syn match fortranImageControl "\" - -syn keyword fortranStorageClass in out inout -syn match fortranStorageClass '\<\%(kind\|len\)\>\ze\s*=' -syn match fortranStorageClass "^\s*data\>\ze\%(\s\+\a\)\@=" -syn match fortranStorageClassOb "\\%(\s*\%(/\|\a\)\)\@=" -syn match fortranStorageClassOb "\\%(\s*(\)\@=" - -syn keyword fortranConstant c_null_char c_alert c_backspace c_form_feed c_new_line c_carriage_return c_horizontal_tab c_vertical_tab c_ptrdiff_t -syn keyword fortranConstant c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr -syn keyword fortranConstant character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit stat_failed_image stat_locked stat_locked_other_image stat_stopped_image stat_unlocked stat_unlocked_failed_image -syn keyword fortranConstant int8 int16 int32 int64 real16 real32 real64 real128 character_kinds integer_kinds logical_kinds real_kinds iostat_inquire_internal_unit initial_team current_team parent_team -syn keyword fortranConstant ieee_invalid ieee_overflow ieee_divide_by_zero ieee_underflow ieee_inexact ieee_usual ieee_all -syn keyword fortranConstant ieee_signaling_nan ieee_quiet_nan ieee_negative_inf ieee_negative_normal ieee_negative_subnormal -syn keyword fortranConstant ieee_negative_zero ieee_positive_zero ieee_positive_subnormal ieee_positive_normal ieee_positive_inf -syn keyword fortranConstant ieee_other_value ieee_negative_denormal ieee_positive_denormal ieee_negative_subnormal -syn keyword fortranConstant ieee_positive_subnormal ieee_nearest ieee_to_zero ieee_up ieee_down ieee_away ieee_other ieee_datatype -syn keyword fortranConstant ieee_denormal ieee_divide ieee_halting ieee_inexact_flag ieee_inf ieee_invalid_flag ieee_nan -syn keyword fortranConstant ieee_rounding ieee_sqrt ieee_subnormal ieee_underflow_flag -syn match fortranConstant "\.\s*nil\s*\." - -" CUDA Fortran -if exists("fortran_CUDA") - syn match fortranTypeCUDA "\" - syn keyword fortranTypeCUDA host global device - syn keyword fortranTypeCUDA shared constant pinned texture - syn keyword fortranTypeCUDA dim1 dim2 dim3 dim4 - syn keyword fortranTypeCUDA cudadeviceprop cuda_count_kind cuda_stream_kind - syn keyword fortranTypeCUDA cudaEvent cudaFuncAttributes cudaArrayPtr - syn keyword fortranTypeCUDA cudaSymbol cudaChannelFormatDesc cudaPitchedPtr - syn keyword fortranTypeCUDA cudaExtent cudaMemcpy3DParms - syn keyword fortranTypeCUDA cudaFuncCachePreferNone cudaFuncCachePreferShared - syn keyword fortranTypeCUDA cudaFuncCachePreferL1 cudaLimitStackSize - syn keyword fortranTypeCUDA cudaLimitPrintfSize cudaLimitMallocHeapSize - syn keyword fortranTypeCUDA cudaSharedMemBankSizeDefault cudaSharedMemBankSizeFourByte cudaSharedMemBankSizeEightByte - syn keyword fortranTypeCUDA cudaEventDefault cudaEventBlockingSync cudaEventDisableTiming - syn keyword fortranTypeCUDA cudaMemcpyHostToDevice cudaMemcpyDeviceToHost - syn keyword fortranTypeCUDA cudaMemcpyDeviceToDevice - syn keyword fortranTypeCUDA cudaErrorNotReady cudaSuccess cudaErrorInvalidValue - syn keyword fortranTypeCUDA c_devptr - - syn match fortranStringCUDA "\" - syn match fortranStringCUDA "\" - syn match fortranStringCUDA "\" - syn match fortranStringCUDA "\" - - syn keyword fortranIntrinsicCUDA warpsize syncthreads syncthreads_and syncthreads_count syncthreads_or threadfence threadfence_block threadfence_system gpu_time allthreads anythread ballot - syn keyword fortranIntrinsicCUDA atomicadd atomicsub atomicmax atomicmin atomicand atomicor atomicxor atomicexch atomicinc atomicdec atomiccas sizeof __shfl __shfl_up __shfl_down __shfl_xor - syn keyword fortranIntrinsicCUDA cudaChooseDevice cudaDeviceGetCacheConfig cudaDeviceGetLimit cudaDeviceGetSharedMemConfig cudaDeviceReset cudaDeviceSetCacheConfig cudaDeviceSetLimit cudaDeviceSetSharedMemConfig cudaDeviceSynchronize cudaGetDevice cudaGetDeviceCount cudaGetDeviceProperties cudaSetDevice cudaSetDeviceFlags cudaSetValidDevices - syn keyword fortranIntrinsicCUDA cudaThreadExit cudaThreadSynchronize cudaGetLastError cudaGetErrorString cudaPeekAtLastError cudaStreamCreate cudaStreamDestroy cudaStreamQuery cudaStreamSynchronize cudaStreamWaitEvent cudaEventCreate cudaEventCreateWithFlags cudaEventDestroy cudaEventElapsedTime cudaEventQuery cudaEventRecord cudaEventSynchronize - syn keyword fortranIntrinsicCUDA cudaFuncGetAttributes cudaFuncSetCacheConfig cudaFuncSetSharedMemConfig cudaSetDoubleForDevice cudaSetDoubleForHost cudaFree cudaFreeArray cudaFreeHost cudaGetSymbolAddress cudaGetSymbolSize - syn keyword fortranIntrinsicCUDA cudaHostAlloc cudaHostGetDevicePointer cudaHostGetFlags cudaHostRegister cudaHostUnregister cudaMalloc cudaMallocArray cudaMallocHost cudaMallocPitch cudaMalloc3D cudaMalloc3DArray - syn keyword fortranIntrinsicCUDA cudaMemcpy cudaMemcpyArraytoArray cudaMemcpyAsync cudaMemcpyFromArray cudaMemcpyFromSymbol cudaMemcpyFromSymbolAsync cudaMemcpyPeer cudaMemcpyPeerAsync cudaMemcpyToArray cudaMemcpyToSymbol cudaMemcpyToSymbolAsync cudaMemcpy2D cudaMemcpy2DArrayToArray cudaMemcpy2DAsync cudaMemcpy2DFromArray cudaMemcpy2DToArray cudaMemcpy3D cudaMemcpy3DAsync - syn keyword fortranIntrinsicCUDA cudaMemGetInfo cudaMemset cudaMemset2D cudaMemset3D cudaDeviceCanAccessPeer cudaDeviceDisablePeerAccess cudaDeviceEnablePeerAccess cudaPointerGetAttributes cudaDriverGetVersion cudaRuntimeGetVersion -endif - -syn region none matchgroup=fortranType start="<<<" end=">>>" contains=ALLBUT,none - -syn cluster fortranCommentGroup contains=fortranTodo - -if (b:fortran_fixed_source == 1) - if !exists("fortran_have_tabs") - if exists("fortran_extended_line_length") - " Vendor extensions allow lines with a text width of 132 - syn match fortranSerialNumber excludenl "^.\{133,}$"lc=132 - else - " Standard requires fixed format to have a text width of 72, - " but all current compilers use 80 instead - syn match fortranSerialNumber excludenl "^.\{81,}$"lc=80 - endif - "Flag left margin errors - syn match fortranLabelError "^.\{-,4}[^0-9 ]" contains=fortranTab - syn match fortranLabelError "^.\{4}\d\S" - endif - syn match fortranComment excludenl "^[!c*].*$" contains=@fortranCommentGroup,@spell - syn match fortranLeftMargin transparent "^ \{5}" - syn match fortranContinueMark display "^.\{5}\S"lc=5 -else - syn match fortranContinueMark display "&" -endif - -syn match fortranComment excludenl "!.*$" contains=@fortranCommentGroup,@spell -syn match fortranOpenMP excludenl "^\s*\zs!\$\%(OMP\)\?&\?\s.*$" -syn match fortranEndStatement display ";" - -"cpp is often used with Fortran -syn match cPreProc "^\s*#\s*\%(define\|ifdef\)\>.*" -syn match cPreProc "^\s*#\s*\%(elif\|if\)\>.*" -syn match cPreProc "^\s*#\s*\%(ifndef\|undef\)\>.*" -syn match cPreCondit "^\s*#\s*\%(else\|endif\)\>.*" -syn region cIncluded contained start=+"[^("]+ skip=+\\\\\|\\"+ end=+"+ contains=fortranLeftMargin,fortranContinueMark,fortranSerialNumber -syn match cIncluded contained "<[^>]*>" -syn match cInclude "^\s*#\s*include\>\s*["<]" contains=cIncluded - -"Synchronising limits assume that comment and continuation lines are not mixed -if exists("fortran_fold") - syn sync fromstart -elseif (b:fortran_fixed_source == 0) - syn sync linecont "&" minlines=30 -else - syn sync minlines=30 -endif - -if exists("fortran_fold") - - if has("folding") - setlocal foldmethod=syntax - endif - if (b:fortran_fixed_source == 1) - syn region fortranProgram transparent fold keepend start="^\s*program\s\+\z(\a\w*\)" skip="^\%([!c*]\|\s*#\).*$" excludenl end="\\)\?\|$\)" contains=ALLBUT,fortranModule - syn region fortranModule transparent fold keepend start="^\s*submodule\s\+(\a\w*\s*\%(:\a\w*\s*\)*)\s*\z\(\a\w*\)" skip="^\%([!c*]\|\s*#\).*$" excludenl end="\\)\?\|$\)" contains=ALLBUT,fortranProgram,fortranModule - syn region fortranModule transparent fold keepend start="^\s*module\s\+\%(procedure\)\@9!\z(\a\w*\)" skip="^\%([!c*]\|\s*#\).*$" excludenl end="\\)\?\|$\)" contains=ALLBUT,fortranProgram - syn region fortranFunction transparent fold keepend extend start="\ +" Last Change: 15 May 2006 + +" This file replaces the FoxPro for DOS v2.x syntax file +" maintained by Powing Tse +" +" Change Log: added support for FoxPro Codebook highlighting +" corrected highlighting of comments that do NOT start in col 1 +" corrected highlighting of comments at end of line (&&) +" +" +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" FoxPro Codebook Naming Conventions +syn match foxproCBConst "\<[c][A-Z][A-Za-z0-9_]*\>" +syn match foxproCBVar "\<[lgrt][acndlmf][A-Z][A-Za-z0-9_]*\>" +syn match foxproCBField "\<[a-z0-9]*\.[A-Za-z0-9_]*\>" +" PROPER CodeBook field names start with the data type and do NOT have _ +syn match foxproCBField "\<[A-Za-z0-9]*\.[acndlm][A-Z][A-Za-z0-9]*\>" +syn match foxproCBWin "\" +" CodeBook 2.0 defined objects as follows +" This uses the hotkey from the screen builder as the second character +syn match foxproCBObject "\<[lgr][bfthnkoli][A-Z][A-Za-z0-9_]*\>" +" A later version added the following conventions for objects +syn match foxproCBObject "\" +syn match foxproCBObject "\" +syn match foxproCBObject "\" +syn match foxproCBObject "\" +syn match foxproCBObject "\" +syn match foxproCBObject "\" +syn match foxproCBObject "\" +syn match foxproCBObject "\" +syn match foxproCBObject "\" +syn match foxproCBObject "\" + +syntax case ignore + +" Highlight special characters +syn match foxproSpecial "^\s*!" +syn match foxproSpecial "&" +syn match foxproSpecial ";\s*$" +syn match foxproSpecial "^\s*=" +syn match foxproSpecial "^\s*\\" +syn match foxproSpecial "^\s*\\\\" +syn match foxproSpecial "^\s*?" +syn match foxproSpecial "^\s*??" +syn match foxproSpecial "^\s*???" +syn match foxproSpecial "\\." + +" @ Statements +syn match foxproAtSymbol contained "^\s*@" +syn match foxproAtCmd contained "\\|\\|\\|\\|\\|\\|\\|\\|\\|\" +syn match foxproAtStart transparent "^\s*@.*" contains=ALL + +" preprocessor directives +syn match foxproPreProc "^\s*#\s*\(\\|\\|\\|\\)" +syn match foxproPreProc "^\s*#\s*\(\\|\\)" +syn match foxproPreProc "^\s*#\s*\" + +" Functions +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 +syn match foxproFunc "\\s*("me=e-1 + +" Commands +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\\s*\" +syn match foxproCmd "^\s*\\s*\\s*\" +syn match foxproCmd "^\s*\\s*\\s*\" +syn match foxproCmd "^\s*\\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\\s*\<=\>" +syn match foxproCmd "^\s*\\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\\s*\" +syn match foxproCmd "^\s*\\s*\\s*\" +syn match foxproCmd "^\s*\\s*\\s*\" +syn match foxproCmd "^\s*\\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\\s*\\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\\s*\/n" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\\s*\" +syn match foxproCmd "^\s*\\s*\\s*\\s*\" +syn match foxproCmd "^\s*\\s*\\s*\" +syn match foxproCmd "^\s*\\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\\s*\" +syn match foxproCmd "^\s*\\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\" +syn match foxproCmd "^\s*\\s*\" + +" Enclosed Block +syn match foxproEnBlk "^\s*\\s*\" +syn match foxproEnBlk "^\s*\" +syn match foxproEnBlk "^\s*\" +syn match foxproEnBlk "^\s*\" +syn match foxproEnBlk "^\s*\\s*\" +syn match foxproEnBlk "^\s*\" +syn match foxproEnBlk "^\s*\" +syn match foxproEnBlk "^\s*\" +syn match foxproEnBlk "^\s*\" +syn match foxproEnBlk "^\s*\" +syn match foxproEnBlk "^\s*\" +syn match foxproEnBlk "^\s*\" +syn match foxproEnBlk "^\s*\" +syn match foxproEnBlk "^\s*\" +syn match foxproEnBlk "^\s*\" +syn match foxproEnBlk "^\s*\" +syn match foxproEnBlk "^\s*\" +syn match foxproEnBlk "^\s*\" + +" System Variables +syn keyword foxproSysVar _alignment _assist _beautify _box _calcmem _calcvalue +syn keyword foxproSysVar _cliptext _curobj _dblclick _diarydate _dos _foxdoc +syn keyword foxproSysVar _foxgraph _gengraph _genmenu _genpd _genscrn _genxtab +syn keyword foxproSysVar _indent _lmargin _mac _mline _padvance _pageno _pbpage +syn keyword foxproSysVar _pcolno _pcopies _pdriver _pdsetup _pecode _peject _pepage +syn keyword foxproSysVar _plength _plineno _ploffset _ppitch _pquality _pretext +syn keyword foxproSysVar _pscode _pspacing _pwait _rmargin _shell _spellchk +syn keyword foxproSysVar _startup _tabs _tally _text _throttle _transport _unix +syn keyword foxproSysVar _windows _wrap + +" Strings +syn region foxproString start=+"+ end=+"+ oneline +syn region foxproString start=+'+ end=+'+ oneline +syn region foxproString start=+\[+ end=+\]+ oneline + +" Constants +syn match foxproConst "\.t\." +syn match foxproConst "\.f\." + +"integer number, or floating point number without a dot and with "f". +syn match foxproNumber "\<[0-9]\+\>" +"floating point number, with dot, optional exponent +syn match foxproFloat "\<[0-9]\+\.[0-9]*\(e[-+]\=[0-9]\+\)\=\>" +"floating point number, starting with a dot, optional exponent +syn match foxproFloat "\.[0-9]\+\(e[-+]\=[0-9]\+\)\=\>" +"floating point number, without dot, with exponent +syn match foxproFloat "\<[0-9]\+e[-+]\=[0-9]\+\>" + +syn match foxproComment "^\s*\*.*" +syn match foxproComment "&&.*" + +"catch errors caused by wrong parenthesis +syn region foxproParen transparent start='(' end=')' contains=ALLBUT,foxproParenErr +syn match foxproParenErr ")" + +syn sync minlines=1 maxlines=3 + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link foxproSpecial Special +hi def link foxproAtSymbol Special +hi def link foxproAtCmd Statement +hi def link foxproPreProc PreProc +hi def link foxproFunc Identifier +hi def link foxproCmd Statement +hi def link foxproEnBlk Type +hi def link foxproSysVar String +hi def link foxproString String +hi def link foxproConst Constant +hi def link foxproNumber Number +hi def link foxproFloat Float +hi def link foxproComment Comment +hi def link foxproParenErr Error +hi def link foxproCBConst PreProc +hi def link foxproCBField Special +hi def link foxproCBVar Identifier +hi def link foxproCBWin Special +hi def link foxproCBObject Identifier + + +let b:current_syntax = "foxpro" diff --git a/uvim/runtime/syntax/foxpro.vim b/uvim/runtime/syntax/foxpro.vim deleted file mode 100644 index 795859eac9..0000000000 --- a/uvim/runtime/syntax/foxpro.vim +++ /dev/null @@ -1,716 +0,0 @@ -" Vim syntax file -" Filename: foxpro.vim -" Version: 1.0 -" Language: FoxPro for DOS/UNIX v2.6 -" Maintainer: Bill W. Smith, Jr. -" Last Change: 15 May 2006 - -" This file replaces the FoxPro for DOS v2.x syntax file -" maintained by Powing Tse -" -" Change Log: added support for FoxPro Codebook highlighting -" corrected highlighting of comments that do NOT start in col 1 -" corrected highlighting of comments at end of line (&&) -" -" -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" FoxPro Codebook Naming Conventions -syn match foxproCBConst "\<[c][A-Z][A-Za-z0-9_]*\>" -syn match foxproCBVar "\<[lgrt][acndlmf][A-Z][A-Za-z0-9_]*\>" -syn match foxproCBField "\<[a-z0-9]*\.[A-Za-z0-9_]*\>" -" PROPER CodeBook field names start with the data type and do NOT have _ -syn match foxproCBField "\<[A-Za-z0-9]*\.[acndlm][A-Z][A-Za-z0-9]*\>" -syn match foxproCBWin "\" -" CodeBook 2.0 defined objects as follows -" This uses the hotkey from the screen builder as the second character -syn match foxproCBObject "\<[lgr][bfthnkoli][A-Z][A-Za-z0-9_]*\>" -" A later version added the following conventions for objects -syn match foxproCBObject "\" -syn match foxproCBObject "\" -syn match foxproCBObject "\" -syn match foxproCBObject "\" -syn match foxproCBObject "\" -syn match foxproCBObject "\" -syn match foxproCBObject "\" -syn match foxproCBObject "\" -syn match foxproCBObject "\" -syn match foxproCBObject "\" - -syntax case ignore - -" Highlight special characters -syn match foxproSpecial "^\s*!" -syn match foxproSpecial "&" -syn match foxproSpecial ";\s*$" -syn match foxproSpecial "^\s*=" -syn match foxproSpecial "^\s*\\" -syn match foxproSpecial "^\s*\\\\" -syn match foxproSpecial "^\s*?" -syn match foxproSpecial "^\s*??" -syn match foxproSpecial "^\s*???" -syn match foxproSpecial "\\." - -" @ Statements -syn match foxproAtSymbol contained "^\s*@" -syn match foxproAtCmd contained "\\|\\|\\|\\|\\|\\|\\|\\|\\|\" -syn match foxproAtStart transparent "^\s*@.*" contains=ALL - -" preprocessor directives -syn match foxproPreProc "^\s*#\s*\(\\|\\|\\|\\)" -syn match foxproPreProc "^\s*#\s*\(\\|\\)" -syn match foxproPreProc "^\s*#\s*\" - -" Functions -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 -syn match foxproFunc "\\s*("me=e-1 - -" Commands -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\\s*\" -syn match foxproCmd "^\s*\\s*\\s*\" -syn match foxproCmd "^\s*\\s*\\s*\" -syn match foxproCmd "^\s*\\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\\s*\<=\>" -syn match foxproCmd "^\s*\\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\\s*\" -syn match foxproCmd "^\s*\\s*\\s*\" -syn match foxproCmd "^\s*\\s*\\s*\" -syn match foxproCmd "^\s*\\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\\s*\\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\\s*\/n" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\\s*\" -syn match foxproCmd "^\s*\\s*\\s*\\s*\" -syn match foxproCmd "^\s*\\s*\\s*\" -syn match foxproCmd "^\s*\\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\\s*\" -syn match foxproCmd "^\s*\\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\" -syn match foxproCmd "^\s*\\s*\" - -" Enclosed Block -syn match foxproEnBlk "^\s*\\s*\" -syn match foxproEnBlk "^\s*\" -syn match foxproEnBlk "^\s*\" -syn match foxproEnBlk "^\s*\" -syn match foxproEnBlk "^\s*\\s*\" -syn match foxproEnBlk "^\s*\" -syn match foxproEnBlk "^\s*\" -syn match foxproEnBlk "^\s*\" -syn match foxproEnBlk "^\s*\" -syn match foxproEnBlk "^\s*\" -syn match foxproEnBlk "^\s*\" -syn match foxproEnBlk "^\s*\" -syn match foxproEnBlk "^\s*\" -syn match foxproEnBlk "^\s*\" -syn match foxproEnBlk "^\s*\" -syn match foxproEnBlk "^\s*\" -syn match foxproEnBlk "^\s*\" -syn match foxproEnBlk "^\s*\" - -" System Variables -syn keyword foxproSysVar _alignment _assist _beautify _box _calcmem _calcvalue -syn keyword foxproSysVar _cliptext _curobj _dblclick _diarydate _dos _foxdoc -syn keyword foxproSysVar _foxgraph _gengraph _genmenu _genpd _genscrn _genxtab -syn keyword foxproSysVar _indent _lmargin _mac _mline _padvance _pageno _pbpage -syn keyword foxproSysVar _pcolno _pcopies _pdriver _pdsetup _pecode _peject _pepage -syn keyword foxproSysVar _plength _plineno _ploffset _ppitch _pquality _pretext -syn keyword foxproSysVar _pscode _pspacing _pwait _rmargin _shell _spellchk -syn keyword foxproSysVar _startup _tabs _tally _text _throttle _transport _unix -syn keyword foxproSysVar _windows _wrap - -" Strings -syn region foxproString start=+"+ end=+"+ oneline -syn region foxproString start=+'+ end=+'+ oneline -syn region foxproString start=+\[+ end=+\]+ oneline - -" Constants -syn match foxproConst "\.t\." -syn match foxproConst "\.f\." - -"integer number, or floating point number without a dot and with "f". -syn match foxproNumber "\<[0-9]\+\>" -"floating point number, with dot, optional exponent -syn match foxproFloat "\<[0-9]\+\.[0-9]*\(e[-+]\=[0-9]\+\)\=\>" -"floating point number, starting with a dot, optional exponent -syn match foxproFloat "\.[0-9]\+\(e[-+]\=[0-9]\+\)\=\>" -"floating point number, without dot, with exponent -syn match foxproFloat "\<[0-9]\+e[-+]\=[0-9]\+\>" - -syn match foxproComment "^\s*\*.*" -syn match foxproComment "&&.*" - -"catch errors caused by wrong parenthesis -syn region foxproParen transparent start='(' end=')' contains=ALLBUT,foxproParenErr -syn match foxproParenErr ")" - -syn sync minlines=1 maxlines=3 - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link foxproSpecial Special -hi def link foxproAtSymbol Special -hi def link foxproAtCmd Statement -hi def link foxproPreProc PreProc -hi def link foxproFunc Identifier -hi def link foxproCmd Statement -hi def link foxproEnBlk Type -hi def link foxproSysVar String -hi def link foxproString String -hi def link foxproConst Constant -hi def link foxproNumber Number -hi def link foxproFloat Float -hi def link foxproComment Comment -hi def link foxproParenErr Error -hi def link foxproCBConst PreProc -hi def link foxproCBField Special -hi def link foxproCBVar Identifier -hi def link foxproCBWin Special -hi def link foxproCBObject Identifier - - -let b:current_syntax = "foxpro" diff --git a/uvim/runtime/syntax/fpcmake.mnv b/uvim/runtime/syntax/fpcmake.mnv new file mode 100644 index 0000000000..2b36d92171 --- /dev/null +++ b/uvim/runtime/syntax/fpcmake.mnv @@ -0,0 +1,58 @@ +" MNV syntax file +" Language: Free Pascal Makefile Definition Files +" Maintainer: Doug Kearns +" Last Change: 2021 Apr 23 + +if exists("b:current_syntax") + finish +endif + +runtime! syntax/make.mnv + +" NOTE: using start-of-line anchored syn-match groups is simpler than other +" alternatives when interacting with the sourced make.mnv syntax groups + +" Sections +syn region fpcmakeSection matchgroup=fpcmakeSectionDelimiter start="^\s*\[" end="]" contains=fpcmakeSectionName + +syn keyword fpcmakeSectionName contained clean compiler default dist install +syn keyword fpcmakeSectionName contained lib package prerules require rules +syn keyword fpcmakeSectionName contained shared target + +" [clean] +syn match fpcmakeRule "^\s*\(units\|files\)\>" +" [compiler] +syn match fpcmakeRule "^\s*\(options\|version\|unitdir\|librarydir\|objectdir\)\>" +syn match fpcmakeRule "^\s*\(targetdir\|sourcedir\|unittargetdir\|includedir\)\>" +" [default] +syn match fpcmakeRule "^\s*\(cpu\|dir\|fpcdir\|rule\|target\)\>" +" [dist] +syn match fpcmakeRule "^\s*\(destdir\|zipname\|ziptarget\)\>" +" [install] +syn match fpcmakeRule "^\s*\(basedir\|datadir\|fpcpackage\|files\|prefix\)\>" +syn match fpcmakeRule "^\s*\(units\)\>" +" [package] +syn match fpcmakeRule "^\s*\(name\|version\|main\)\>" +" [requires] +syn match fpcmakeRule "^\s*\(fpcmake\|packages\|libc\|nortl\|unitdir\)\>" +syn match fpcmakeRule "^\s*\(packagedir\|tools\)\>" +" [shared] +syn match fpcmakeRule "^\s*\(build\|libname\|libversion\|libunits\)\>" +" [target] +syn match fpcmakeRule "^\s*\(dirs\|exampledirs\|examples\|loaders\|programs\)\>" +syn match fpcmakeRule "^\s*\(rsts\|units\)\>" + +" Comments +syn keyword fpcmakeTodo TODO FIXME XXX contained +syn match fpcmakeComment "#.*" contains=fpcmakeTodo,@Spell + +" Default highlighting +hi def link fpcmakeSectionDelimiter Delimiter +hi def link fpcmakeSectionName Type +hi def link fpcmakeComment Comment +hi def link fpcmakeTodo Todo +hi def link fpcmakeRule Identifier + +let b:current_syntax = "fpcmake" + +" mnv: nowrap sw=2 sts=2 ts=8 noet: diff --git a/uvim/runtime/syntax/fpcmake.vim b/uvim/runtime/syntax/fpcmake.vim deleted file mode 100644 index bbc6f1d770..0000000000 --- a/uvim/runtime/syntax/fpcmake.vim +++ /dev/null @@ -1,58 +0,0 @@ -" Vim syntax file -" Language: Free Pascal Makefile Definition Files -" Maintainer: Doug Kearns -" Last Change: 2021 Apr 23 - -if exists("b:current_syntax") - finish -endif - -runtime! syntax/make.vim - -" NOTE: using start-of-line anchored syn-match groups is simpler than other -" alternatives when interacting with the sourced make.vim syntax groups - -" Sections -syn region fpcmakeSection matchgroup=fpcmakeSectionDelimiter start="^\s*\[" end="]" contains=fpcmakeSectionName - -syn keyword fpcmakeSectionName contained clean compiler default dist install -syn keyword fpcmakeSectionName contained lib package prerules require rules -syn keyword fpcmakeSectionName contained shared target - -" [clean] -syn match fpcmakeRule "^\s*\(units\|files\)\>" -" [compiler] -syn match fpcmakeRule "^\s*\(options\|version\|unitdir\|librarydir\|objectdir\)\>" -syn match fpcmakeRule "^\s*\(targetdir\|sourcedir\|unittargetdir\|includedir\)\>" -" [default] -syn match fpcmakeRule "^\s*\(cpu\|dir\|fpcdir\|rule\|target\)\>" -" [dist] -syn match fpcmakeRule "^\s*\(destdir\|zipname\|ziptarget\)\>" -" [install] -syn match fpcmakeRule "^\s*\(basedir\|datadir\|fpcpackage\|files\|prefix\)\>" -syn match fpcmakeRule "^\s*\(units\)\>" -" [package] -syn match fpcmakeRule "^\s*\(name\|version\|main\)\>" -" [requires] -syn match fpcmakeRule "^\s*\(fpcmake\|packages\|libc\|nortl\|unitdir\)\>" -syn match fpcmakeRule "^\s*\(packagedir\|tools\)\>" -" [shared] -syn match fpcmakeRule "^\s*\(build\|libname\|libversion\|libunits\)\>" -" [target] -syn match fpcmakeRule "^\s*\(dirs\|exampledirs\|examples\|loaders\|programs\)\>" -syn match fpcmakeRule "^\s*\(rsts\|units\)\>" - -" Comments -syn keyword fpcmakeTodo TODO FIXME XXX contained -syn match fpcmakeComment "#.*" contains=fpcmakeTodo,@Spell - -" Default highlighting -hi def link fpcmakeSectionDelimiter Delimiter -hi def link fpcmakeSectionName Type -hi def link fpcmakeComment Comment -hi def link fpcmakeTodo Todo -hi def link fpcmakeRule Identifier - -let b:current_syntax = "fpcmake" - -" vim: nowrap sw=2 sts=2 ts=8 noet: diff --git a/uvim/runtime/syntax/framescript.mnv b/uvim/runtime/syntax/framescript.mnv new file mode 100644 index 0000000000..ddcd577a10 --- /dev/null +++ b/uvim/runtime/syntax/framescript.mnv @@ -0,0 +1,491 @@ +" MNV syntax file +" Language: FrameScript v4.0 +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2007-02-22 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn match framescriptOperator + \ '[+*/%=-]\|[><]=\=\|#[&|]' + +syn keyword framescriptTodo + \ contained + \ TODO FIXME XXX NOTE + +syn cluster framescriptCommentGroup + \ contains= + \ framescriptTodo, + \ @Spell + +syn match framescriptComment + \ display + \ contains=@framescriptCommentGroup + \ '//.*$' + +syn region framescriptComment + \ contains=@framescriptCommentGroup + \ matchgroup=framescriptCommentStart + \ start='/\*' + \ end='\*/' + +syn case ignore + +syn match framescriptInclude + \ display + \ contains=framescriptIncluded + \ "^\s*<#Include\>\s*'" + +syn region framescriptIncluded + \ contained + \ display + \ start=+'+ + \ skip=+\\\\\|\\'+ + \ end=+'+ + +syn match framescriptNumbers + \ display + \ transparent + \ contains= + \ framescriptInteger, + \ framescriptReal, + \ framescriptMetric, + \ framescriptCharacter + \ '\<\d\|\.\d' + +syn keyword framescriptBoolean + \ True False + +syn match framescriptInteger + \ contained + \ display + \ '\d\+\>' + +syn match framescriptInteger + \ contained + \ display + \ '\x\+H\>' + +syn match framescriptInteger + \ contained + \ display + \ '[01]\+B\>' + +syn match framescriptReal + \ contained + \ display + \ '\d\+\.\d*\|\.\d\+\>' + +syn match framescriptMetric + \ contained + \ display + \ '\%(\d\+\%(\.\d*\)\=\|\.\d\+\)\%(pts\|in\|"\|cm\|mm\|pica\)\>' + +syn match framescriptCharacter + \ contained + \ display + \ '\d\+S\>' + +syn region framescriptString + \ contains=framescriptStringSpecialChar,@Spell + \ start=+'+ + \ skip=+\\\\\|\\'+ + \ end=+'+ + +syn match framescriptStringSpecialChar + \ contained + \ display + \ "\\[\\']" + +syn keyword framescriptConstant + \ BackSlash + \ CharCR + \ CharLF + \ CharTAB + \ ClientDir + \ ClientName + \ FslVersionMajor + \ FslVersionMinor + \ InstallName + \ InstalledScriptList + \ MainScript + \ NULL + \ ObjEndOffset + \ ProductRevision + \ Quote + \ ThisScript + +syn keyword framescriptOperator + \ not + \ and + \ or + +syn keyword framescriptSessionVariables + \ ErrorCode + \ ErrorMsg + \ DeclareVarMode + \ PlatformEncodingMode + +syn keyword framescriptStructure + \ Event + \ EndEvent + +syn keyword framescriptStatement + \ Sub + \ EndSub + \ Run + \ Function + \ EndFunction + \ Set + \ Add + \ Apply + \ CallClient + \ Close + \ Copy + \ Cut + \ DialogBox + \ Delete + \ Demote + \ Display + \ DocCompare + \ Export + \ Find + \ LeaveLoop + \ LeaveScript + \ LeaveSub + \ LoopNext + \ Merge + \ MsgBox + \ Paste + \ PopClipboard + \ PushClipboard + \ Read + \ Replace + \ Return + \ Sort + \ Split + +syn keyword framescriptStatement + \ nextgroup=framescriptApplySubStatement skipwhite skipempty + \ Apply + +syn keyword framescriptApplySubStatement + \ contained + \ Pagelayout + \ TextProperties + +syn keyword framescriptStatement + \ nextgroup=framescriptClearSubStatement skipwhite skipempty + \ Clear + +syn keyword framescriptClearSubStatement + \ contained + \ ChangeBars + \ Text + +syn keyword framescriptStatement + \ nextgroup=framescriptCloseSubStatement skipwhite skipempty + \ Close + +syn keyword framescriptCloseSubStatement + \ contained + \ Book + \ Document + \ TextFile + +syn keyword framescriptStatement + \ nextgroup=framescriptExecSubStatement skipwhite skipempty + \ Exec + +syn keyword framescriptExecSubStatement + \ contained + \ Compile + \ Script + \ Wait + +syn keyword framescriptStatement + \ nextgroup=framescriptExecuteSubStatement skipwhite skipempty + \ Execute + +syn keyword framescriptExecuteSubStatement + \ contained + \ FrameCommand + \ Hypertext + \ StartUndoCheckPoint + \ EndUndoCheckPoint + \ ClearUndoHistory + +syn keyword framescriptStatement + \ nextgroup=framescriptGenerateSubStatement skipwhite skipempty + \ Generate + +syn keyword framescriptGenerateSubStatement + \ contained + \ Bookfile + +syn keyword framescriptStatement + \ nextgroup=framescriptGetSubStatement skipwhite skipempty + \ Get + +syn keyword framescriptGetSubStatement + \ contained + \ Member + \ Object + \ String + \ TextList + \ TextProperties + +syn keyword framescriptStatement + \ nextgroup=framescriptImportSubStatement skipwhite skipempty + \ Import + +syn keyword framescriptImportSubStatement + \ contained + \ File + \ Formats + \ ElementDefs + +syn keyword framescriptStatement + \ nextgroup=framescriptInstallSubStatement skipwhite skipempty + \ Install + \ Uninstall + +syn keyword framescriptInstallSubStatement + \ contained + \ ChangeBars + \ Text + +syn keyword framescriptStatement + \ nextgroup=framescriptNewSubStatement skipwhite skipempty + \ New + +syn keyword framescriptNewSubStatement + \ contained + \ AFrame + \ Footnote + \ Marker + \ TiApiClient + \ Variable + \ XRef + \ FormatChangeList + \ FormatRule + \ FmtRuleClause + \ Arc + \ Ellipse + \ Flow + \ Group + \ Inset + \ Line + \ Math + \ Polygon + \ Polyline + \ Rectangle + \ RoundRect + \ TextFrame + \ Textline + \ UnanchoredFrame + \ Command + \ Menu + \ MenuItemSeparator + \ Book + \ CharacterFormat + \ Color + \ ConditionFormat + \ ElementDef + \ FormatChangeList + \ MarkerType + \ MasterPage + \ ParagraphFormat + \ PgfFmt + \ ReferencePAge + \ RulingFormat + \ TableFormat + \ VariableFormat + \ XRefFormat + \ BodyPage + \ BookComponent + \ Paragraph + \ Element + \ Attribute + \ AttributeDef + \ AttributeList + \ AttributeDefList + \ ElementLoc + \ ElementRange + \ Table + \ TableRows + \ TableCols + \ Text + \ Integer + \ Real + \ Metric + \ String + \ Object + \ TextLoc + \ TextRange + \ IntList + \ UIntList + \ MetricList + \ StringList + \ PointList + \ TabList + \ PropertyList + \ LibVar + \ ScriptVar + \ SubVar + \ TextFile + +syn keyword framescriptStatement + \ nextgroup=framescriptOpenSubStatement skipwhite skipempty + \ Open + +syn keyword framescriptOpenSubStatement + \ contained + \ Document + \ Book + \ TextFile + +syn keyword framescriptStatement + \ nextgroup=framescriptPrintSubStatement skipwhite skipempty + \ Print + +syn keyword framescriptPrintSubStatement + \ contained + \ Document + \ Book + +syn keyword framescriptStatement + \ nextgroup=framescriptQuitSubStatement skipwhite skipempty + \ Quit + +syn keyword framescriptQuitSubStatement + \ contained + \ Session + +syn keyword framescriptStatement + \ nextgroup=framescriptRemoveSubStatement skipwhite skipempty + \ Remove + +syn keyword framescriptRemoveSubStatement + \ contained + \ Attribute + \ CommandObject + +syn keyword framescriptStatement + \ nextgroup=framescriptSaveSubStatement skipwhite skipempty + \ Save + +syn keyword framescriptSaveSubStatement + \ contained + \ Document + \ Book + +syn keyword framescriptStatement + \ nextgroup=framescriptSelectSubStatement skipwhite skipempty + \ Select + +syn keyword framescriptSelectSubStatement + \ contained + \ TableCells + +syn keyword framescriptStatement + \ nextgroup=framescriptStraddleSubStatement skipwhite skipempty + \ Straddle + +syn keyword framescriptStraddleSubStatement + \ contained + \ TableCells + +syn keyword framescriptStatement + \ nextgroup=framescriptUpdateSubStatement skipwhite skipempty + \ Update + +syn keyword framescriptUpdateSubStatement + \ contained + \ ReDisplay + \ Formatting + \ Hyphenating + \ ResetEquationsSettings + \ ResetRefFrames + \ RestartPgfNums + \ TextInset + \ Variables + \ XRefs + \ Book + +syn keyword framescriptStatement + \ nextgroup=framescriptWriteSubStatement skipwhite skipempty + \ Write + +syn keyword framescriptUpdateSubStatement + \ contained + \ Console + \ Display + +syn keyword framescriptRepeat + \ Loop + \ EndLoop + +syn keyword framescriptConditional + \ If + \ ElseIf + \ Else + \ EndIf + +syn keyword framescriptType + \ Local + \ GlobalVar + +let b:framescript_minlines = exists("framescript_minlines") + \ ? framescript_minlines : 15 +exec "syn sync ccomment framescriptComment minlines=" . b:framescript_minlines + +hi def link framescriptTodo Todo +hi def link framescriptComment Comment +hi def link framescriptCommentStart framescriptComment +hi def link framescriptInclude Include +hi def link framescriptIncluded String +hi def link framescriptBoolean Boolean +hi def link framescriptNumber Number +hi def link framescriptInteger framescriptNumber +hi def link framescriptReal framescriptNumber +hi def link framescriptMetric framescriptNumber +hi def link framescriptCharacter framescriptNumber +hi def link framescriptString String +hi def link framescriptStringSpecialChar SpecialChar +hi def link framescriptConstant Constant +hi def link framescriptOperator None +hi def link framescriptSessionVariables PreProc +hi def link framescriptStructure Structure +hi def link framescriptStatement Statement +hi def link framescriptSubStatement Type +hi def link framescriptApplySubStatement framescriptSubStatement +hi def link framescriptClearSubStatement framescriptSubStatement +hi def link framescriptCloseSubStatement framescriptSubStatement +hi def link framescriptExecSubStatement framescriptSubStatement +hi def link framescriptExecuteSubStatement framescriptSubStatement +hi def link framescriptGenerateSubStatement framescriptSubStatement +hi def link framescriptGetSubStatement framescriptSubStatement +hi def link framescriptImportSubStatement framescriptSubStatement +hi def link framescriptInstallSubStatement framescriptSubStatement +hi def link framescriptNewSubStatement framescriptSubStatement +hi def link framescriptOpenSubStatement framescriptSubStatement +hi def link framescriptPrintSubStatement framescriptSubStatement +hi def link framescriptQuitSubStatement framescriptSubStatement +hi def link framescriptRemoveSubStatement framescriptSubStatement +hi def link framescriptSaveSubStatement framescriptSubStatement +hi def link framescriptSelectSubStatement framescriptSubStatement +hi def link framescriptStraddleSubStatement framescriptSubStatement +hi def link framescriptUpdateSubStatement framescriptSubStatement +hi def link framescriptRepeat Repeat +hi def link framescriptConditional Conditional +hi def link framescriptType Type + +let b:current_syntax = "framescript" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/framescript.vim b/uvim/runtime/syntax/framescript.vim deleted file mode 100644 index 8b16d048a0..0000000000 --- a/uvim/runtime/syntax/framescript.vim +++ /dev/null @@ -1,491 +0,0 @@ -" Vim syntax file -" Language: FrameScript v4.0 -" Previous Maintainer: Nikolai Weibull -" Latest Revision: 2007-02-22 - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn match framescriptOperator - \ '[+*/%=-]\|[><]=\=\|#[&|]' - -syn keyword framescriptTodo - \ contained - \ TODO FIXME XXX NOTE - -syn cluster framescriptCommentGroup - \ contains= - \ framescriptTodo, - \ @Spell - -syn match framescriptComment - \ display - \ contains=@framescriptCommentGroup - \ '//.*$' - -syn region framescriptComment - \ contains=@framescriptCommentGroup - \ matchgroup=framescriptCommentStart - \ start='/\*' - \ end='\*/' - -syn case ignore - -syn match framescriptInclude - \ display - \ contains=framescriptIncluded - \ "^\s*<#Include\>\s*'" - -syn region framescriptIncluded - \ contained - \ display - \ start=+'+ - \ skip=+\\\\\|\\'+ - \ end=+'+ - -syn match framescriptNumbers - \ display - \ transparent - \ contains= - \ framescriptInteger, - \ framescriptReal, - \ framescriptMetric, - \ framescriptCharacter - \ '\<\d\|\.\d' - -syn keyword framescriptBoolean - \ True False - -syn match framescriptInteger - \ contained - \ display - \ '\d\+\>' - -syn match framescriptInteger - \ contained - \ display - \ '\x\+H\>' - -syn match framescriptInteger - \ contained - \ display - \ '[01]\+B\>' - -syn match framescriptReal - \ contained - \ display - \ '\d\+\.\d*\|\.\d\+\>' - -syn match framescriptMetric - \ contained - \ display - \ '\%(\d\+\%(\.\d*\)\=\|\.\d\+\)\%(pts\|in\|"\|cm\|mm\|pica\)\>' - -syn match framescriptCharacter - \ contained - \ display - \ '\d\+S\>' - -syn region framescriptString - \ contains=framescriptStringSpecialChar,@Spell - \ start=+'+ - \ skip=+\\\\\|\\'+ - \ end=+'+ - -syn match framescriptStringSpecialChar - \ contained - \ display - \ "\\[\\']" - -syn keyword framescriptConstant - \ BackSlash - \ CharCR - \ CharLF - \ CharTAB - \ ClientDir - \ ClientName - \ FslVersionMajor - \ FslVersionMinor - \ InstallName - \ InstalledScriptList - \ MainScript - \ NULL - \ ObjEndOffset - \ ProductRevision - \ Quote - \ ThisScript - -syn keyword framescriptOperator - \ not - \ and - \ or - -syn keyword framescriptSessionVariables - \ ErrorCode - \ ErrorMsg - \ DeclareVarMode - \ PlatformEncodingMode - -syn keyword framescriptStructure - \ Event - \ EndEvent - -syn keyword framescriptStatement - \ Sub - \ EndSub - \ Run - \ Function - \ EndFunction - \ Set - \ Add - \ Apply - \ CallClient - \ Close - \ Copy - \ Cut - \ DialogBox - \ Delete - \ Demote - \ Display - \ DocCompare - \ Export - \ Find - \ LeaveLoop - \ LeaveScript - \ LeaveSub - \ LoopNext - \ Merge - \ MsgBox - \ Paste - \ PopClipboard - \ PushClipboard - \ Read - \ Replace - \ Return - \ Sort - \ Split - -syn keyword framescriptStatement - \ nextgroup=framescriptApplySubStatement skipwhite skipempty - \ Apply - -syn keyword framescriptApplySubStatement - \ contained - \ Pagelayout - \ TextProperties - -syn keyword framescriptStatement - \ nextgroup=framescriptClearSubStatement skipwhite skipempty - \ Clear - -syn keyword framescriptClearSubStatement - \ contained - \ ChangeBars - \ Text - -syn keyword framescriptStatement - \ nextgroup=framescriptCloseSubStatement skipwhite skipempty - \ Close - -syn keyword framescriptCloseSubStatement - \ contained - \ Book - \ Document - \ TextFile - -syn keyword framescriptStatement - \ nextgroup=framescriptExecSubStatement skipwhite skipempty - \ Exec - -syn keyword framescriptExecSubStatement - \ contained - \ Compile - \ Script - \ Wait - -syn keyword framescriptStatement - \ nextgroup=framescriptExecuteSubStatement skipwhite skipempty - \ Execute - -syn keyword framescriptExecuteSubStatement - \ contained - \ FrameCommand - \ Hypertext - \ StartUndoCheckPoint - \ EndUndoCheckPoint - \ ClearUndoHistory - -syn keyword framescriptStatement - \ nextgroup=framescriptGenerateSubStatement skipwhite skipempty - \ Generate - -syn keyword framescriptGenerateSubStatement - \ contained - \ Bookfile - -syn keyword framescriptStatement - \ nextgroup=framescriptGetSubStatement skipwhite skipempty - \ Get - -syn keyword framescriptGetSubStatement - \ contained - \ Member - \ Object - \ String - \ TextList - \ TextProperties - -syn keyword framescriptStatement - \ nextgroup=framescriptImportSubStatement skipwhite skipempty - \ Import - -syn keyword framescriptImportSubStatement - \ contained - \ File - \ Formats - \ ElementDefs - -syn keyword framescriptStatement - \ nextgroup=framescriptInstallSubStatement skipwhite skipempty - \ Install - \ Uninstall - -syn keyword framescriptInstallSubStatement - \ contained - \ ChangeBars - \ Text - -syn keyword framescriptStatement - \ nextgroup=framescriptNewSubStatement skipwhite skipempty - \ New - -syn keyword framescriptNewSubStatement - \ contained - \ AFrame - \ Footnote - \ Marker - \ TiApiClient - \ Variable - \ XRef - \ FormatChangeList - \ FormatRule - \ FmtRuleClause - \ Arc - \ Ellipse - \ Flow - \ Group - \ Inset - \ Line - \ Math - \ Polygon - \ Polyline - \ Rectangle - \ RoundRect - \ TextFrame - \ Textline - \ UnanchoredFrame - \ Command - \ Menu - \ MenuItemSeparator - \ Book - \ CharacterFormat - \ Color - \ ConditionFormat - \ ElementDef - \ FormatChangeList - \ MarkerType - \ MasterPage - \ ParagraphFormat - \ PgfFmt - \ ReferencePAge - \ RulingFormat - \ TableFormat - \ VariableFormat - \ XRefFormat - \ BodyPage - \ BookComponent - \ Paragraph - \ Element - \ Attribute - \ AttributeDef - \ AttributeList - \ AttributeDefList - \ ElementLoc - \ ElementRange - \ Table - \ TableRows - \ TableCols - \ Text - \ Integer - \ Real - \ Metric - \ String - \ Object - \ TextLoc - \ TextRange - \ IntList - \ UIntList - \ MetricList - \ StringList - \ PointList - \ TabList - \ PropertyList - \ LibVar - \ ScriptVar - \ SubVar - \ TextFile - -syn keyword framescriptStatement - \ nextgroup=framescriptOpenSubStatement skipwhite skipempty - \ Open - -syn keyword framescriptOpenSubStatement - \ contained - \ Document - \ Book - \ TextFile - -syn keyword framescriptStatement - \ nextgroup=framescriptPrintSubStatement skipwhite skipempty - \ Print - -syn keyword framescriptPrintSubStatement - \ contained - \ Document - \ Book - -syn keyword framescriptStatement - \ nextgroup=framescriptQuitSubStatement skipwhite skipempty - \ Quit - -syn keyword framescriptQuitSubStatement - \ contained - \ Session - -syn keyword framescriptStatement - \ nextgroup=framescriptRemoveSubStatement skipwhite skipempty - \ Remove - -syn keyword framescriptRemoveSubStatement - \ contained - \ Attribute - \ CommandObject - -syn keyword framescriptStatement - \ nextgroup=framescriptSaveSubStatement skipwhite skipempty - \ Save - -syn keyword framescriptSaveSubStatement - \ contained - \ Document - \ Book - -syn keyword framescriptStatement - \ nextgroup=framescriptSelectSubStatement skipwhite skipempty - \ Select - -syn keyword framescriptSelectSubStatement - \ contained - \ TableCells - -syn keyword framescriptStatement - \ nextgroup=framescriptStraddleSubStatement skipwhite skipempty - \ Straddle - -syn keyword framescriptStraddleSubStatement - \ contained - \ TableCells - -syn keyword framescriptStatement - \ nextgroup=framescriptUpdateSubStatement skipwhite skipempty - \ Update - -syn keyword framescriptUpdateSubStatement - \ contained - \ ReDisplay - \ Formatting - \ Hyphenating - \ ResetEquationsSettings - \ ResetRefFrames - \ RestartPgfNums - \ TextInset - \ Variables - \ XRefs - \ Book - -syn keyword framescriptStatement - \ nextgroup=framescriptWriteSubStatement skipwhite skipempty - \ Write - -syn keyword framescriptUpdateSubStatement - \ contained - \ Console - \ Display - -syn keyword framescriptRepeat - \ Loop - \ EndLoop - -syn keyword framescriptConditional - \ If - \ ElseIf - \ Else - \ EndIf - -syn keyword framescriptType - \ Local - \ GlobalVar - -let b:framescript_minlines = exists("framescript_minlines") - \ ? framescript_minlines : 15 -exec "syn sync ccomment framescriptComment minlines=" . b:framescript_minlines - -hi def link framescriptTodo Todo -hi def link framescriptComment Comment -hi def link framescriptCommentStart framescriptComment -hi def link framescriptInclude Include -hi def link framescriptIncluded String -hi def link framescriptBoolean Boolean -hi def link framescriptNumber Number -hi def link framescriptInteger framescriptNumber -hi def link framescriptReal framescriptNumber -hi def link framescriptMetric framescriptNumber -hi def link framescriptCharacter framescriptNumber -hi def link framescriptString String -hi def link framescriptStringSpecialChar SpecialChar -hi def link framescriptConstant Constant -hi def link framescriptOperator None -hi def link framescriptSessionVariables PreProc -hi def link framescriptStructure Structure -hi def link framescriptStatement Statement -hi def link framescriptSubStatement Type -hi def link framescriptApplySubStatement framescriptSubStatement -hi def link framescriptClearSubStatement framescriptSubStatement -hi def link framescriptCloseSubStatement framescriptSubStatement -hi def link framescriptExecSubStatement framescriptSubStatement -hi def link framescriptExecuteSubStatement framescriptSubStatement -hi def link framescriptGenerateSubStatement framescriptSubStatement -hi def link framescriptGetSubStatement framescriptSubStatement -hi def link framescriptImportSubStatement framescriptSubStatement -hi def link framescriptInstallSubStatement framescriptSubStatement -hi def link framescriptNewSubStatement framescriptSubStatement -hi def link framescriptOpenSubStatement framescriptSubStatement -hi def link framescriptPrintSubStatement framescriptSubStatement -hi def link framescriptQuitSubStatement framescriptSubStatement -hi def link framescriptRemoveSubStatement framescriptSubStatement -hi def link framescriptSaveSubStatement framescriptSubStatement -hi def link framescriptSelectSubStatement framescriptSubStatement -hi def link framescriptStraddleSubStatement framescriptSubStatement -hi def link framescriptUpdateSubStatement framescriptSubStatement -hi def link framescriptRepeat Repeat -hi def link framescriptConditional Conditional -hi def link framescriptType Type - -let b:current_syntax = "framescript" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/freebasic.mnv b/uvim/runtime/syntax/freebasic.mnv new file mode 100644 index 0000000000..a39f4076fe --- /dev/null +++ b/uvim/runtime/syntax/freebasic.mnv @@ -0,0 +1,674 @@ +" MNV syntax file +" Language: FreeBASIC +" Maintainer: Doug Kearns +" Previous Maintainer: Mark Manning +" Last Change: 2023 Aug 14 +" +" Description: +" +" Based originally on the work done by Allan Kelly +" Updated by Mark Manning +" Applied FreeBASIC support to the already excellent support +" for standard basic syntax (like QB). +" +" First version based on Micro$soft QBASIC circa +" 1989, as documented in 'Learn BASIC Now' by +" Halvorson&Rygmyr. Microsoft Press 1989. This syntax file +" not a complete implementation yet. Send suggestions to +" the maintainer. +" +" TODO: split this into separate dialect-based files, possibly with a common base +" +" Quit when a (custom) syntax file was already loaded (Taken from c.mnv) +" +if exists("b:current_syntax") + finish +endif +" +" Dialect detection +" +let s:lang = freebasic#GetDialect() +" +" Whitespace Errors +" +if exists("freebasic_space_errors") + if !exists("freebasic_no_trail_space_error") + syn match freebasicSpaceError display excludenl "\s\+$" + endif + if !exists("freebasic_no_tab_space_error") + syn match freebasicSpaceError display " \+\t"me=e-1 + endif +endif +" +" Be sure to turn on the "case ignore" since current versions +" of freebasic support both upper as well as lowercase +" letters. - MEM 10/1/2006 +" +syn case ignore +" +" Do the Basic variables names first. This is because it +" is the most inclusive of the tests. Later on we change +" this so the identifiers are split up into the various +" types of identifiers like functions, basic commands and +" such. MEM 9/9/2006 +" +if s:lang =~# '\<\%(qb\|fblite\)\>' + syn iskeyword @,48-57,_,192-255,. + syn match freebasicIdentifier "\<\h\%(\w\|\.\)*\>" + syn match freebasicGenericFunction "\<\h\%(\w\|\.\)*\>\ze\s*(" +else + syn iskeyword @,48-57,_,192-255 + syn match freebasicIdentifier "\<\h\w*\>" + syn match freebasicGenericFunction "\<\h\w*\>\ze\s*(" +endif +" +" This list of keywords is taken directly from the FreeBASIC +" user's guide as presented by the FreeBASIC online site. +" +syn keyword freebasicArrays ERASE LBOUND PRESERVE REDIM UBOUND + +" array.bi +syn keyword freebasicArrays ARRAYLEN ARRAYSIZE +if s:lang == "fb" + syn keyword freebasicArrays ArrayConstDescriptorPtr ArrayDescriptorPtr FBARRAY +endif + +if s:lang == "qb" + syn keyword freebasicAsm __ASM + syn match freebasicAsm "\" +else + syn keyword freebasicAsm ASM + syn match freebasicAsm "\" +endif + +if s:lang == "qb" + syn keyword freebasicBitManipulation __BIT __BITRESET __BITSET __HIBYTE __HIWORD __LOBYTE __LOWORD +else + syn keyword freebasicBitManipulation BIT BITRESET BITSET HIBYTE HIWORD LOBYTE LOWORD +endif + +if s:lang != "fb" + syn keyword freebasicCompilerSwitches DEFDBL DEFINT DEFLNG DEFSNG DEFSTR +endif +if s:lang == "qb" + syn keyword freebasicCompilerSwitches __DEFBYTE __DEFLONGINT __DEFSHORT __DEFUBYTE __DEFUINT __DEFULONGINT __DEFUSHORT +elseif s:lang == "fblite" || s:lang == "deprecated" + syn keyword freebasicCompilerSwitches DEFBYTE DEFLONGINT DEFSHORT DEFUBYTE DEFUINT DEFUILONGINT DEFUSHORT +endif + +syn match freebasicCompilerSwitches "\" +syn match freebasicCompilerSwitches "\" + +syn keyword freebasicData DATA READ RESTORE + +syn keyword freebasicProgramFlow EXIT GOTO RETURN SLEEP +syn match freebasicProgramFlow "\" +if s:lang == "qb" + syn keyword freebasicProgramFlow __SLEEP +endif +if s:lang == "fblite" || s:lang == "qb" + syn keyword freebasicProgramFlow GOSUB +endif +if s:lang == "fb" || s:lang == "deprecated" + syn keyword freebasicProgramFlow SCOPE + syn match freebasicProgramFlow "\" +endif + +if s:lang == "fblite" || s:lang == "qb" + syn region freebasicConditional matchgroup=freebasicConditional start="\" end="\" transparent + syn region freebasicConditional matchgroup=freebasicConditional start="\" end="\" transparent +endif +syn keyword freebasicConditional IF THEN ELSE ELSEIF +if s:lang == "qb" + syn keyword freebasicConditional __IIF __WITH + syn match freebasicConditional "\" +else + syn keyword freebasicConditional IIF WITH + syn match freebasicConditional "\" +endif +syn match freebasicConditional "\" +syn match freebasicConditional "\" +syn match freebasicConditional "\" +syn match freebasicConditional "\" +syn match freebasicConditional "\" + +syn keyword freebasicConsole BEEP CLS CSRLIN LOCATE PRINT POS SPC TAB USING VIEW WIDTH +syn match freebasicConsole "?" + +syn keyword freebasicDataTypes SINGLE DOUBLE INTEGER LONG +syn match freebasicDataTypes "\" +syn keyword freebasicDataTypes AS DIM CONST ENUM SHARED TYPE +syn match freebasicDataTypes "\" +syn match freebasicDataTypes "\" +if s:lang == "qb" + syn keyword freebasicDataTypes __BOOLEAN __BYTE __LONGINT __SHORT __UBYTE __UINTEGER __ULONG __ULONGINT __UNSIGNED __USHORT __ZSTRING + syn match freebasicDataTypes "\<__WSTRING\>" + syn keyword freebasicDataTypes __EXPLICIT __EXTENDS __IMPLEMENTS __OBJECT __POINTER __PTR __SIZEOF __TYPEOF + syn keyword freebasicDataTypes __UNION + syn match freebasicDataTypes "\" +else + syn keyword freebasicDataTypes BOOLEAN BYTE LONGINT SHORT UBYTE UINTEGER ULONG ULONGINT UNSIGNED USHORT ZSTRING + syn match freebasicDataTypes "\" + syn keyword freebasicDataTypes EXPLICIT EXTENDS IMPLEMENTS OBJECT POINTER PTR SIZEOF TYPEOF + syn keyword freebasicDataTypes UNION + syn match freebasicDataTypes "\" +endif +if s:lang == "fb" + syn keyword freebasicDataTypes BASE CLASS THIS VAR +endif + +if s:lang == "qb" + syn match freebasicDateTime "\<\%(date\|time\)\$" +elseif s:lang == "fblite" || s:lang == "deprecated" + syn match freebasicDateTime "\<\%(date\|time\)\>\$\=" +else " fb + syn keyword freebasicDateTime DATE TIME +endif +syn keyword freebasicDateTime SETDATE SETTIME + +" datetime.bi +syn keyword freebasicDateTime DATEADD DATEDIFF DATEPART DATESERIAL DATEVALUE DAY HOUR ISDATE MINUTE +syn keyword freebasicDateTime MONTH MONTHNAME NOW SECOND TIMESERIAL TIMEVALUE +syn keyword freebasicDateTime TIMER YEAR WEEKDAY WEEKDAYNAME + +syn keyword freebasicDebug STOP +if s:lang == "qb" + syn keyword freebasicDebug __ASSERT __ASSERTWARN +else + syn keyword freebasicDebug ASSERT ASSERTWARN +endif + +syn keyword freebasicErrorHandling ERR ERL ERROR +if s:lang == "qb" + syn keyword freebasicErrorHandling __ERFN __ERMN + syn match freebasicErrorHandling "\" +else + syn keyword freebasicErrorHandling ERFN ERMN + syn match freebasicErrorHandling "\" +endif +if s:lang != "fb" + syn match freebasicErrorHandling "\" +endif + +syn match freebasicFiles "\" +syn match freebasicFiles "\" +syn match freebasicFiles "\" +syn match freebasicFiles "\" +syn keyword freebasicFiles ACCESS APPEND BINARY CLOSE EOF FREEFILE INPUT LOC +syn keyword freebasicFiles LOCK LOF OUTPUT RANDOM RESET SEEK UNLOCK WRITE +syn match freebasicFiles "\" +if s:lang == "qb" + syn keyword freebasicFiles __ENCODING +else + syn keyword freebasicFiles ENCODING WINPUT + syn match freebasicFiles "\" +endif + +" file.bi +syn keyword freebasicFiles FILEATTR FILECOPY FILEDATETIME FILEEXISTS FILEFLUSH FILELEN FILESETEOF + +syn keyword freebasicFunctions ALIAS BYREF BYVAL CDECL DECLARE LIB NAKED PASCAL STATIC STDCALL +syn match freebasicFunctions "\" +syn match freebasicFunctions "\" + +if s:lang == "fb" + syn keyword freebasicFunctions ABSTRACT OVERRIDE VIRTUAL __THISCALL + syn keyword freebasicFunctions CONSTRUCTOR DESTRUCTOR OPERATOR PROPERTY + syn match freebasicFunctions "\" + syn match freebasicFunctions "\" + syn match freebasicFunctions "\" + syn match freebasicFunctions "\" +else + syn keyword freebasicFunctions CALL +endif + +syn match freebasicGraphics "\" +syn keyword freebasicGraphics ADD ALPHA BLOAD BSAVE CIRCLE CLS COLOR DRAW GET +syn keyword freebasicGraphics LINE PAINT PALETTE PCOPY PMAP POINT +syn keyword freebasicGraphics PRESET PSET PUT SCREEN +syn keyword freebasicGraphics TRANS WINDOW +if s:lang == "qb" + syn keyword freebasicGraphics __FLIP __IMAGECONVERTROW __IMAGECREATE __IMAGEDESTROY __IMAGEINFO __POINTCOORD + syn keyword freebasicGraphics __RGB __RGBA __SCREENCOPY __SCREENCONTROL __SCREENEVENT __SCREENGLPROC __SCREENINFO + syn keyword freebasicGraphics __SCREENLIST __SCREENLOCK __SCREENPTR __SCREENRES __SCREENSET __SCREENSYNC + syn keyword freebasicGraphics __SCREENUNLOCK __WINDOWTITLE +else + syn keyword freebasicGraphics CUSTOM + syn keyword freebasicGraphics FLIP IMAGECONVERTROW IMAGECREATE IMAGEDESTROY IMAGEINFO POINTCOORD + syn keyword freebasicGraphics RGB RGBA SCREENCOPY SCREENCONTROL SCREENEVENT SCREENGLPROC SCREENINFO + syn keyword freebasicGraphics SCREENLIST SCREENLOCK SCREENPTR SCREENRES SCREENSET SCREENSYNC + syn keyword freebasicGraphics SCREENUNLOCK WINDOWTITLE +endif + +if s:lang != "qb" + syn match freebasicHardware "\" +endif +syn keyword freebasicHardware INP OUT WAIT LPOS LPRINT + +syn keyword freebasicMath ABS ATN COS EXP FIX FRAC INT LOG MOD RANDOMIZE RND SGN SIN SQR TAN + +if s:lang == "qb" + syn keyword freebasicMath __ACOS __ASIN __ATAN2 +else + syn keyword freebasicMath ACOS ASIN ATAN2 +endif + +if s:lang == "qb" + syn keyword freebasicMemory __ALLOCATE __CALLOCATE __DEALLOCATE __REALLOCATE +else + syn keyword freebasicMemory ALLOCATE CALLOCATE DEALLOCATE REALLOCATE + syn keyword freebasicMemory PEEK POKE CLEAR FB_MEMCOPY FB_MEMCOPYCLEAR FB_MEMMOVE SWAP SADD + syn keyword freebasicMemory FIELD FRE +endif + +syn keyword freebasicMisc LET TO +if s:lang == "qb" + syn keyword freebasicMisc __OFFSETOF +else + syn keyword freebasicMisc OFFSETOF +endif + +syn keyword freebasicModularizing CHAIN COMMON +if s:lang == "fb" + syn keyword freebasicModularizing EXTERN + syn match freebasicModularizing "\" + syn keyword freebasicModularizing PROTECTED +endif +if s:lang == "qb" + syn keyword freebasicModularizing __EXPORT __IMPORT __DYLIBFREE __DYLIBLOAD __DYLIBSYMBOL +else + syn keyword freebasicModularizing EXPORT IMPORT DYLIBFREE DYLIBLOAD DYLIBSYMBOL + syn keyword freebasicModularizing PRIVATE PUBLIC + syn keyword freebasicModularizing NAMESPACE + syn match freebasicModularizing "\" +endif + +if s:lang != "qb" + syn keyword freebasicMultithreading MUTEXCREATE MUTEXDESTROY MUTEXLOCK MUTEXUNLOCK THREADCREATE THREADWAIT + syn keyword freebasicMultithreading CONDBROADCAST CONDCREATE CONDDESTROY CONDSIGNAL CONDWAIT + syn keyword freebasicMultithreading THREADCALL THREADDETACH THREADSELF +endif + +syn keyword freebasicShell CHDIR KILL NAME MKDIR RMDIR RUN SETENVIRON +if s:lang == "qb" + syn keyword freebasicShell __CURDIR __DIR __EXEC __EXEPATH + syn match freebasicString "\<\%(command\|environ\)\$" +else + " fbio.bi + syn keyword freebasicShell ISREDIRECTED + syn keyword freebasicShell CURDIR DIR EXEC EXEPATH + syn match freebasicString "\<\%(command\|environ\)\>\$\=" +endif + +syn keyword freebasicEnviron SHELL SYSTEM + +syn keyword freebasicLoops FOR LOOP WHILE WEND DO STEP UNTIL NEXT +if s:lang == "qb" + syn keyword freebasicLoops __CONTINUE +else + syn keyword freebasicLoops CONTINUE +endif +" +" File numbers +" +syn match freebasicFilenumber "#\d\+" +syn match freebasicFilenumber "#\a[[:alpha:].]*[%&!#]\=" + +syn match freebasicMetacommand "$\s*\%(dynamic\|static\)" +syn match freebasicMetacommand "$\s*include\s*\%(once\)\=\s*:\s*'[^']\+'" +syn match freebasicMetacommand '$\s*include\s*\%(once\)\=\s*:\s*"[^"]\+"' +syn match freebasicMetacommand '$\s*lang\s*:\s*"[^"]\+"' +" +" Intrinsic defines +" +syn keyword freebasicPredefined __DATE__ __DATE_ISO__ +syn keyword freebasicPredefined __FB_64BIT__ __FB_ARGC__ __FB_ARG_COUNT__ __FB_ARG_EXTRACT__ __FB_ARG_LEFTOF__ +syn keyword freebasicPredefined __FB_ARG_RIGHTOF__ __FB_ARGV__ __FB_ARM__ __FB_ASM__ __FB_BACKEND__ +syn keyword freebasicPredefined __FB_BIGENDIAN__ __FB_BUILD_DATE__ __FB_BUILD_DATE_ISO__ __FB_BUILD_SHA1__ +syn keyword freebasicPredefined __FB_CYGWIN__ __FB_DARWIN__ __FB_DEBUG__ __FB_DOS__ __FB_ERR__ __FB_EVAL__ +syn keyword freebasicPredefined __FB_FPMODE__ __FB_FPU__ __FB_FREEBSD__ __FB_GCC__ __FB_GUI__ __FB_IIF__ __FB_JOIN__ +syn keyword freebasicPredefined __FB_LANG__ __FB_LINUX__ __FB_MAIN__ __FB_MIN_VERSION__ __FB_MT__ __FB_NETBSD__ +syn keyword freebasicPredefined __FB_OPENBSD__ __FB_OPTIMIZE__ __FB_OPTION_BYVAL__ __FB_OPTION_DYNAMIC__ +syn keyword freebasicPredefined __FB_OPTION_ESCAPE__ __FB_OPTION_EXPLICIT__ __FB_OPTION_GOSUB__ +syn keyword freebasicPredefined __FB_OPTION_PRIVATE__ __FB_OUT_DLL__ __FB_OUT_EXE__ __FB_OUT_LIB__ __FB_OUT_OBJ__ +syn keyword freebasicPredefined __FB_PCOS__ __FB_PPC__ __FB_QUERY_SYMBOL__ __FB_QUOTE__ __FB_SIGNATURE__ __FB_SSE__ +syn keyword freebasicPredefined __FB_UNIQUEID__ __FB_UNIQUEID_POP__ __FB_UNIQUEID_PUSH__ __FB_UNIX__ __FB_UNQUOTE__ +syn keyword freebasicPredefined __FB_VECTORIZE__ __FB_VER_MAJOR__ __FB_VER_MINOR__ __FB_VER_PATCH__ __FB_VERSION__ +syn keyword freebasicPredefined __FB_WIN32__ __FB_X86__ __FB_XBOX__ +syn keyword freebasicPredefined __FILE__ __FILE_NQ__ __FUNCTION__ __FUNCTION_NQ__ +syn keyword freebasicPredefined __LINE__ __PATH__ __TIME__ +" +" Preprocessor directives +" +syn match freebasicInclude "#\s*\%(inclib\|include\%(\s\+once\)\=\|libpath\)\>" + +syn match freebasicPreProcessor "#\s*assert\>" +syn match freebasicPreProcessor "#\s*cmdline\>" +syn match freebasicPreProcessor "#\s*\%(define\|undef\)\>" +syn match freebasicPreProcessor "#\s*\%(if\|ifdef\|ifndef\|else\|elseif\|endif\)\>" +syn match freebasicPreProcessor "#\s*\%(macro\|endmacro\)\>" +syn match freebasicPreProcessor "#\s*error\>" +syn match freebasicPreProcessor "#\s*lang\>" +syn match freebasicPreProcessor "#\s*line\>" +syn match freebasicPreProcessor "#\s*pragma\%(\s\+reserve\)\=\>" +syn match freebasicPreProcessor "#\s*\%(print\|dynamic\|static\)\>" +syn keyword freebasicPreProcessor DEFINED + +syn keyword freebasicString LEN +syn keyword freebasicString ASC +" string.bi +syn keyword freebasicString FORMAT +syn keyword freebasicString VAL +syn keyword freebasicString CVD CVI CVL CVS +syn keyword freebasicString INSTR +syn keyword freebasicString LSET RSET + +if s:lang == "qb" + syn match freebasicString "\\$\=" + syn keyword freebasicString WSPACE + syn match freebasicString "\\$\=" + syn keyword freebasicString WCHR + syn keyword freebasicString WBIN WHEX WOCT WSTR + syn match freebasicString "\<\%(bin\|hex\|oct\|str\)\>\$\=" + syn keyword freebasicString VALLNG VALINT VALUINT VALULNG + syn match freebasicString "\<\%(mkd\|mki\|mkl\|mks\)\>\$\=" + syn match freebasicString "\<\%(mklongint\|mkshort\)\>\$\=" + syn keyword freebasicString CVLONGINT CVSHORT + syn match freebasicString "\<\%(left\|mid\|right\|lcase\|ucase\|ltrim\|rtrim\)\>\$\=" + syn match freebasicString "\\$\=" + syn keyword freebasicString INSTRREV +endif + +syn keyword freebasicTypeCasting CDBL CINT CLNG CSNG +if s:lang == "qb" + syn keyword freebasicTypeCasting __CAST __CBOOL __CBYTE __CLNGINT __CPTR __CSHORT __CSIGN __CYBTE __CUINT __CULNG + syn keyword freebasicTypeCasting __CULNGINT __CUNSG __CUSHORT +else + syn keyword freebasicTypeCasting CAST CBOOL CBYTE CLNGINT CPTR CSHORT CSIGN CUBYTE CUINT CULNG CULNGINT CUNSG CUSHORT +endif + +syn match freebasicUserInput "\" +syn keyword freebasicUserInput INKEY INPUT +if s:lang == "qb" + syn keyword freebasicUserInput __GETJOYSTICK __GETKEY __GETMOUSE __MULTIKEY __SETMOUSE STICK STRIG +else + syn keyword freebasicUserInput GETJOYSTICK GETKEY GETMOUSE MULTIKEY SETMOUSE +endif +" +" Operators +" +" TODO: make these context sensitive to remove the overlap of common operators +" : alpha operators should probably always be highlighted +" -- DJK 20/11/19 +if s:lang == "qb" + syn match freebasicArithmeticOperator "\<\%(MOD\|__SHL\|__SHR\)\>" +else + syn match freebasicArithmeticOperator "\<\%(MOD\|SHL\|SHR\)\>" +endif +syn match freebasicBitwiseOperator "\<\%(AND\|EQV\|IMP\|NOT\|OR\|XOR\)\>" " freebaseLogical? +if s:lang == "qb" + syn match freebasicAssignmentOperator "\<\%(MOD\|AND\|EQV\|IMP\|OR\|XOR\|__SHL\|__SHR\)=\@=" " exclude trailing '=' +else + syn match freebasicAssignmentOperator "\<\%(MOD\|AND\|EQV\|IMP\|OR\|XOR\|SHL\|SHR\)=\@=" +endif +syn match freebasicShortcircuitOperator "\<\%(ANDALSO\|ORELSE\)\>" +if s:lang == "fb" + syn match freebasicMemoryOperator '\<\%(new\|delete\)\>' +endif +syn keyword freebasicPointerOperator STRPTR VARPTR +if s:lang == "qb" + syn keyword freebasicPointerOperator __PROCPTR +else + syn keyword freebasicPointerOperator PROCPTR +endif +syn match freebasicTypeOperator '\' +syn match freebasicTypeOperator '\.' nextgroup=freebasicIdentifier skipwhite +if s:lang == "fb" + syn match freebasicTypeOperator '->' nextgroup=freebasicIdentifier skipwhite +endif + +if exists("freebasic_operators") + syn match freebasicAssignmentOperator "=>\=\|[-+&/\\*^]=" + if s:lang == "qb" + syn match freebasicAssignmentOperator "\<\%(MOD\|AND\|EQV\|IMP\|OR\|XOR\|__SHL\|__SHR\)=" " include trailing '=' + else + syn match freebasicAssignmentOperator "\<\%(MOD\|AND\|EQV\|IMP\|OR\|XOR\|SHL\|SHR\)=" + endif + syn match freebasicArithmeticOperator "[-+&/\\*^]" + " syn match freebasicIndexingOperator "[[\]()]" " FIXME + syn match freebasicRelationalOperator "=\|<>\|<=\|<\|>=\|>" + syn match freebasicPreprocessorOperator '\%(^\s*\)\@' nextgroup=freebasicIdentifier skipwhite + endif +endif + +syn cluster freebasicOperator contains=freebasic.*Operator +" +" Catch errors caused by wrong parenthesis +" +" syn region freebasicParen transparent start='(' end=')' contains=ALLBUT,@freebasicParenGroup +" syn match freebasicParenError ")" +" syn match freebasicInParen contained "[{}]" +" syn cluster freebasicParenGroup contains=freebasicParenError,freebasicSpecial,freebasicTodo,freebasicUserCont,freebasicUserLabel,freebasicBitField +" +" Integer number +" +syn match freebasicHexError "&h\w*\>" +syn match freebasicOctalError "&o\w*\>" +syn match freebasicBinaryError "&b\w*\>" +syn match freebasicHex "&h\x\+\%([%L&U]\|UL\|LL\|ULL\)\=\>" +syn match freebasicOctal "&o\o\+\%([%L&U]\|UL\|LL\|ULL\)\=\>" +syn match freebasicBinary "&b[10]\+\%([%L&U]\|UL\|LL\|ULL\)\=\>" +syn match freebasicInteger "\<\d\+\%([%L&U]\|UL\|LL\|ULL\)\=\>" +" +" Floating point +" See: https://www.freebasic.net/forum/viewtopic.php?t=20323 +" +" Floating point number, with dot, optional exponent, optional suffix +" +syn match freebasicFloat "\<\d\+\.\d*\%([de][-+]\=\d*\)\=[f!#]\=" +" +" Floating point number, starting with a dot, optional exponent, optional suffix +" +syn match freebasicFloat "\.\d\+\%([de][-+]\=\d*\)\=[f!#]\=" +" +" Floating point number, without dot, with optional exponent, optional suffix +" +syn match freebasicFloat "\<\d\+\%([de][-+]\=\d*\)[f!#]\=" +" +" Floating point number, without dot, without exponent, with suffix +" +syn match freebasicFloat "\<\d\+[f!#]" +" +" Create the clusters +" +syn cluster freebasicNumber contains=freebasicHex,freebasicOctal,freebasicBinary,freebasicInteger,freebasicFloat +syn cluster freebasicNumberError contains=freebasicHexError,freebasicOctalError,freebasicBinaryError +" +" Booleans +" +if s:lang != "qb" + syn keyword freebasicBoolean TRUE FALSE +endif +" +" +" String and escape sequences +" +syn match freebasicSpecial contained "\\." +syn match freebasicSpecial contained "\\\d\{1,3}" +syn match freebasicSpecial contained "\\&h\x\{1,2}" +syn match freebasicSpecial contained "\\&o\o\{1,3}" +syn match freebasicSpecial contained "\\&b[01]\{1,8}" +syn match freebasicSpecial contained "\\u\x\{1,4}" +syn region freebasicString start='"' end='"' " TODO: Toggle contains on Option Escape in fblite and qb? -- DJK 20/11/19 +syn region freebasicString start='!\zs"' end='"' contains=freebasicSpecial +syn region freebasicString start='$\zs"' end='"' +" +" Line labels +" +if s:lang =~# '\<\%(qb\|fblite\)\>' + syn match freebasicLineLabel "^\s*\zs\h\%(\w\|\.\)*\ze\s*:" +else + syn match freebasicLineLabel "^\s*\zs\h\w*\ze\s*:" +endif +syn match freebasicLineNumber "^\s*\zs\d\+" +" +" Line continuations +" +" syn match freebasicLineContinuation "\<_\>" nextgroup=freebasicComment,freebasicPostLineContinuation skipwhite +syn keyword freebasicLineContinuation _ nextgroup=freebasicComment,freebasicPostLineContinuation skipwhite +syn match freebasicPostLineContinuation ".*" contained +" +" +" Type suffixes +if exists("freebasic_type_suffixes") && s:lang =~# '\<\%(qb\|fblite\)\>' + syn match freebasicTypeSuffix "\h\%(\w\|.\)*\zs[$%&!#]" +endif +" +" Comments +" +syn keyword freebasicTodo TODO FIXME XXX NOTE contained +syn region freebasicComment start="\" end="$" contains=freebasicTodo,@Spell,freebasicMetacommand +syn region freebasicComment start="'" end="$" contains=freebasicTodo,@Spell,freebasicMetacommand +syn region freebasicDoubleComment start="''" end="$" contains=freebasicTodo,@Spell + +if !exists("freebasic_no_comment_fold") + syn region freebasicMultilineComment start="/'" end="'/" contains=freebasicTodo,@Spell,freeBasicMultilineComment fold keepend extend + syn region freebasicMultilineComment2 start="^\s*'.*\n\%(\s*'\)\@=" end="^\s*'.*\n\%(\s*'\)\@!" contains=freebasicComment,freebasicDoubleComment keepend fold +else + syn region freebasicMultilineComment start="/'" end="'/" contains=freebasicTodo,@Spell,freeBasicMultilineComment +endif + +syn case match + +syn sync linebreaks=1 + +" +" The default methods for highlighting. Can be overridden later +" +hi def link freebasicArrays StorageClass +hi def link freebasicAsm Special +hi def link freebasicBitManipulation Operator +hi def link freebasicBoolean Boolean +if s:lang == "fb" + hi def link freebasicCompilerSwitches freebasicUnsupportedError +else + hi def link freebasicCompilerSwitches PreCondit +endif +hi def link freebasicConsole Special +hi def link freebasicData Special +hi def link freebasicDataTypes Type +hi def link freebasicDateTime Type +hi def link freebasicDebug Special +hi def link freebasicErrorHandling Special +hi def link freebasicFilenumber Special +hi def link freebasicFiles Special +hi def link freebasicFunctions Function +hi def link freebasicGraphics Function +hi def link freebasicHardware Special +hi def link freebasicLoops Repeat +hi def link freebasicMath Function +if s:lang == "fb" + hi def link freebasicMetacommand freebasicUnsupportedError +else + hi def link freebasicMetacommand SpecialComment +endif +hi def link freebasicMemory Function +hi def link freebasicMisc Special +hi def link freebasicModularizing Special +hi def link freebasicMultithreading Special +hi def link freebasicShell Special +hi def link freebasicEnviron Special +hi def link freebasicPointer Special +hi def link freebasicPredefined PreProc +hi def link freebasicPreProcessor PreProc +hi def link freebasicProgramFlow Statement +hi def link freebasicString String +hi def link freebasicTypeCasting Type +hi def link freebasicUserInput Statement +hi def link freebasicComment Comment +hi def link freebasicDoubleComment Comment +hi def link freebasicMultilineComment Comment +hi def link freebasicConditional Conditional +hi def link freebasicError Error +hi def link freebasicIdentifier Identifier +hi def link freebasicInclude Include +hi def link freebasicGenericFunction Function +hi def link freebasicLineContinuation Special +hi def link freebasicLineLabel LineNr +if s:lang == "fb" + hi def link freebasicLineNumber freebasicUnsupportedError +else + hi def link freebasicLineNumber LineNr +endif +hi def link freebasicMathOperator Operator + +hi def link freebasicHex Number +hi def link freebasicOctal Number +hi def link freebasicBinary Number +hi def link freebasicInteger Number +hi def link freebasicFloat Float + +hi def link freebasicHexError Error +hi def link freebasicOctalError Error +hi def link freebasicBinaryError Error + +hi def link freebasicAssignmentOperator Operator +hi def link freebasicArithmeticOperator Operator +hi def link freebasicIndexingOperator Operator +hi def link freebasicRelationalOperator Operator +hi def link freebasicBitwiseOperator Operator +hi def link freebasicShortcircuitOperator Operator +hi def link freebasicPreprocessorOperator Operator +hi def link freebasicPointerOperator Operator +if exists("freebasic_operators") + hi def link freebasicTypeOperator Operator +endif +hi def link freebasicMemoryOperator Operator + +hi def link freebasicSpaceError Error + +hi def link freebasicSpecial Special +hi def link freebasicTodo Todo + +hi def link freebasicUnsupported freebasicUnsupportedError +hi def link freebasicUnsupportedError Error + +unlet s:lang + +let b:current_syntax = "freebasic" + +" mnv: ts=8 tw=132 fdm=marker diff --git a/uvim/runtime/syntax/freebasic.vim b/uvim/runtime/syntax/freebasic.vim deleted file mode 100644 index 5c43289c16..0000000000 --- a/uvim/runtime/syntax/freebasic.vim +++ /dev/null @@ -1,674 +0,0 @@ -" Vim syntax file -" Language: FreeBASIC -" Maintainer: Doug Kearns -" Previous Maintainer: Mark Manning -" Last Change: 2023 Aug 14 -" -" Description: -" -" Based originally on the work done by Allan Kelly -" Updated by Mark Manning -" Applied FreeBASIC support to the already excellent support -" for standard basic syntax (like QB). -" -" First version based on Micro$soft QBASIC circa -" 1989, as documented in 'Learn BASIC Now' by -" Halvorson&Rygmyr. Microsoft Press 1989. This syntax file -" not a complete implementation yet. Send suggestions to -" the maintainer. -" -" TODO: split this into separate dialect-based files, possibly with a common base -" -" Quit when a (custom) syntax file was already loaded (Taken from c.vim) -" -if exists("b:current_syntax") - finish -endif -" -" Dialect detection -" -let s:lang = freebasic#GetDialect() -" -" Whitespace Errors -" -if exists("freebasic_space_errors") - if !exists("freebasic_no_trail_space_error") - syn match freebasicSpaceError display excludenl "\s\+$" - endif - if !exists("freebasic_no_tab_space_error") - syn match freebasicSpaceError display " \+\t"me=e-1 - endif -endif -" -" Be sure to turn on the "case ignore" since current versions -" of freebasic support both upper as well as lowercase -" letters. - MEM 10/1/2006 -" -syn case ignore -" -" Do the Basic variables names first. This is because it -" is the most inclusive of the tests. Later on we change -" this so the identifiers are split up into the various -" types of identifiers like functions, basic commands and -" such. MEM 9/9/2006 -" -if s:lang =~# '\<\%(qb\|fblite\)\>' - syn iskeyword @,48-57,_,192-255,. - syn match freebasicIdentifier "\<\h\%(\w\|\.\)*\>" - syn match freebasicGenericFunction "\<\h\%(\w\|\.\)*\>\ze\s*(" -else - syn iskeyword @,48-57,_,192-255 - syn match freebasicIdentifier "\<\h\w*\>" - syn match freebasicGenericFunction "\<\h\w*\>\ze\s*(" -endif -" -" This list of keywords is taken directly from the FreeBASIC -" user's guide as presented by the FreeBASIC online site. -" -syn keyword freebasicArrays ERASE LBOUND PRESERVE REDIM UBOUND - -" array.bi -syn keyword freebasicArrays ARRAYLEN ARRAYSIZE -if s:lang == "fb" - syn keyword freebasicArrays ArrayConstDescriptorPtr ArrayDescriptorPtr FBARRAY -endif - -if s:lang == "qb" - syn keyword freebasicAsm __ASM - syn match freebasicAsm "\" -else - syn keyword freebasicAsm ASM - syn match freebasicAsm "\" -endif - -if s:lang == "qb" - syn keyword freebasicBitManipulation __BIT __BITRESET __BITSET __HIBYTE __HIWORD __LOBYTE __LOWORD -else - syn keyword freebasicBitManipulation BIT BITRESET BITSET HIBYTE HIWORD LOBYTE LOWORD -endif - -if s:lang != "fb" - syn keyword freebasicCompilerSwitches DEFDBL DEFINT DEFLNG DEFSNG DEFSTR -endif -if s:lang == "qb" - syn keyword freebasicCompilerSwitches __DEFBYTE __DEFLONGINT __DEFSHORT __DEFUBYTE __DEFUINT __DEFULONGINT __DEFUSHORT -elseif s:lang == "fblite" || s:lang == "deprecated" - syn keyword freebasicCompilerSwitches DEFBYTE DEFLONGINT DEFSHORT DEFUBYTE DEFUINT DEFUILONGINT DEFUSHORT -endif - -syn match freebasicCompilerSwitches "\" -syn match freebasicCompilerSwitches "\" - -syn keyword freebasicData DATA READ RESTORE - -syn keyword freebasicProgramFlow EXIT GOTO RETURN SLEEP -syn match freebasicProgramFlow "\" -if s:lang == "qb" - syn keyword freebasicProgramFlow __SLEEP -endif -if s:lang == "fblite" || s:lang == "qb" - syn keyword freebasicProgramFlow GOSUB -endif -if s:lang == "fb" || s:lang == "deprecated" - syn keyword freebasicProgramFlow SCOPE - syn match freebasicProgramFlow "\" -endif - -if s:lang == "fblite" || s:lang == "qb" - syn region freebasicConditional matchgroup=freebasicConditional start="\" end="\" transparent - syn region freebasicConditional matchgroup=freebasicConditional start="\" end="\" transparent -endif -syn keyword freebasicConditional IF THEN ELSE ELSEIF -if s:lang == "qb" - syn keyword freebasicConditional __IIF __WITH - syn match freebasicConditional "\" -else - syn keyword freebasicConditional IIF WITH - syn match freebasicConditional "\" -endif -syn match freebasicConditional "\" -syn match freebasicConditional "\" -syn match freebasicConditional "\" -syn match freebasicConditional "\" -syn match freebasicConditional "\" - -syn keyword freebasicConsole BEEP CLS CSRLIN LOCATE PRINT POS SPC TAB USING VIEW WIDTH -syn match freebasicConsole "?" - -syn keyword freebasicDataTypes SINGLE DOUBLE INTEGER LONG -syn match freebasicDataTypes "\" -syn keyword freebasicDataTypes AS DIM CONST ENUM SHARED TYPE -syn match freebasicDataTypes "\" -syn match freebasicDataTypes "\" -if s:lang == "qb" - syn keyword freebasicDataTypes __BOOLEAN __BYTE __LONGINT __SHORT __UBYTE __UINTEGER __ULONG __ULONGINT __UNSIGNED __USHORT __ZSTRING - syn match freebasicDataTypes "\<__WSTRING\>" - syn keyword freebasicDataTypes __EXPLICIT __EXTENDS __IMPLEMENTS __OBJECT __POINTER __PTR __SIZEOF __TYPEOF - syn keyword freebasicDataTypes __UNION - syn match freebasicDataTypes "\" -else - syn keyword freebasicDataTypes BOOLEAN BYTE LONGINT SHORT UBYTE UINTEGER ULONG ULONGINT UNSIGNED USHORT ZSTRING - syn match freebasicDataTypes "\" - syn keyword freebasicDataTypes EXPLICIT EXTENDS IMPLEMENTS OBJECT POINTER PTR SIZEOF TYPEOF - syn keyword freebasicDataTypes UNION - syn match freebasicDataTypes "\" -endif -if s:lang == "fb" - syn keyword freebasicDataTypes BASE CLASS THIS VAR -endif - -if s:lang == "qb" - syn match freebasicDateTime "\<\%(date\|time\)\$" -elseif s:lang == "fblite" || s:lang == "deprecated" - syn match freebasicDateTime "\<\%(date\|time\)\>\$\=" -else " fb - syn keyword freebasicDateTime DATE TIME -endif -syn keyword freebasicDateTime SETDATE SETTIME - -" datetime.bi -syn keyword freebasicDateTime DATEADD DATEDIFF DATEPART DATESERIAL DATEVALUE DAY HOUR ISDATE MINUTE -syn keyword freebasicDateTime MONTH MONTHNAME NOW SECOND TIMESERIAL TIMEVALUE -syn keyword freebasicDateTime TIMER YEAR WEEKDAY WEEKDAYNAME - -syn keyword freebasicDebug STOP -if s:lang == "qb" - syn keyword freebasicDebug __ASSERT __ASSERTWARN -else - syn keyword freebasicDebug ASSERT ASSERTWARN -endif - -syn keyword freebasicErrorHandling ERR ERL ERROR -if s:lang == "qb" - syn keyword freebasicErrorHandling __ERFN __ERMN - syn match freebasicErrorHandling "\" -else - syn keyword freebasicErrorHandling ERFN ERMN - syn match freebasicErrorHandling "\" -endif -if s:lang != "fb" - syn match freebasicErrorHandling "\" -endif - -syn match freebasicFiles "\" -syn match freebasicFiles "\" -syn match freebasicFiles "\" -syn match freebasicFiles "\" -syn keyword freebasicFiles ACCESS APPEND BINARY CLOSE EOF FREEFILE INPUT LOC -syn keyword freebasicFiles LOCK LOF OUTPUT RANDOM RESET SEEK UNLOCK WRITE -syn match freebasicFiles "\" -if s:lang == "qb" - syn keyword freebasicFiles __ENCODING -else - syn keyword freebasicFiles ENCODING WINPUT - syn match freebasicFiles "\" -endif - -" file.bi -syn keyword freebasicFiles FILEATTR FILECOPY FILEDATETIME FILEEXISTS FILEFLUSH FILELEN FILESETEOF - -syn keyword freebasicFunctions ALIAS BYREF BYVAL CDECL DECLARE LIB NAKED PASCAL STATIC STDCALL -syn match freebasicFunctions "\" -syn match freebasicFunctions "\" - -if s:lang == "fb" - syn keyword freebasicFunctions ABSTRACT OVERRIDE VIRTUAL __THISCALL - syn keyword freebasicFunctions CONSTRUCTOR DESTRUCTOR OPERATOR PROPERTY - syn match freebasicFunctions "\" - syn match freebasicFunctions "\" - syn match freebasicFunctions "\" - syn match freebasicFunctions "\" -else - syn keyword freebasicFunctions CALL -endif - -syn match freebasicGraphics "\" -syn keyword freebasicGraphics ADD ALPHA BLOAD BSAVE CIRCLE CLS COLOR DRAW GET -syn keyword freebasicGraphics LINE PAINT PALETTE PCOPY PMAP POINT -syn keyword freebasicGraphics PRESET PSET PUT SCREEN -syn keyword freebasicGraphics TRANS WINDOW -if s:lang == "qb" - syn keyword freebasicGraphics __FLIP __IMAGECONVERTROW __IMAGECREATE __IMAGEDESTROY __IMAGEINFO __POINTCOORD - syn keyword freebasicGraphics __RGB __RGBA __SCREENCOPY __SCREENCONTROL __SCREENEVENT __SCREENGLPROC __SCREENINFO - syn keyword freebasicGraphics __SCREENLIST __SCREENLOCK __SCREENPTR __SCREENRES __SCREENSET __SCREENSYNC - syn keyword freebasicGraphics __SCREENUNLOCK __WINDOWTITLE -else - syn keyword freebasicGraphics CUSTOM - syn keyword freebasicGraphics FLIP IMAGECONVERTROW IMAGECREATE IMAGEDESTROY IMAGEINFO POINTCOORD - syn keyword freebasicGraphics RGB RGBA SCREENCOPY SCREENCONTROL SCREENEVENT SCREENGLPROC SCREENINFO - syn keyword freebasicGraphics SCREENLIST SCREENLOCK SCREENPTR SCREENRES SCREENSET SCREENSYNC - syn keyword freebasicGraphics SCREENUNLOCK WINDOWTITLE -endif - -if s:lang != "qb" - syn match freebasicHardware "\" -endif -syn keyword freebasicHardware INP OUT WAIT LPOS LPRINT - -syn keyword freebasicMath ABS ATN COS EXP FIX FRAC INT LOG MOD RANDOMIZE RND SGN SIN SQR TAN - -if s:lang == "qb" - syn keyword freebasicMath __ACOS __ASIN __ATAN2 -else - syn keyword freebasicMath ACOS ASIN ATAN2 -endif - -if s:lang == "qb" - syn keyword freebasicMemory __ALLOCATE __CALLOCATE __DEALLOCATE __REALLOCATE -else - syn keyword freebasicMemory ALLOCATE CALLOCATE DEALLOCATE REALLOCATE - syn keyword freebasicMemory PEEK POKE CLEAR FB_MEMCOPY FB_MEMCOPYCLEAR FB_MEMMOVE SWAP SADD - syn keyword freebasicMemory FIELD FRE -endif - -syn keyword freebasicMisc LET TO -if s:lang == "qb" - syn keyword freebasicMisc __OFFSETOF -else - syn keyword freebasicMisc OFFSETOF -endif - -syn keyword freebasicModularizing CHAIN COMMON -if s:lang == "fb" - syn keyword freebasicModularizing EXTERN - syn match freebasicModularizing "\" - syn keyword freebasicModularizing PROTECTED -endif -if s:lang == "qb" - syn keyword freebasicModularizing __EXPORT __IMPORT __DYLIBFREE __DYLIBLOAD __DYLIBSYMBOL -else - syn keyword freebasicModularizing EXPORT IMPORT DYLIBFREE DYLIBLOAD DYLIBSYMBOL - syn keyword freebasicModularizing PRIVATE PUBLIC - syn keyword freebasicModularizing NAMESPACE - syn match freebasicModularizing "\" -endif - -if s:lang != "qb" - syn keyword freebasicMultithreading MUTEXCREATE MUTEXDESTROY MUTEXLOCK MUTEXUNLOCK THREADCREATE THREADWAIT - syn keyword freebasicMultithreading CONDBROADCAST CONDCREATE CONDDESTROY CONDSIGNAL CONDWAIT - syn keyword freebasicMultithreading THREADCALL THREADDETACH THREADSELF -endif - -syn keyword freebasicShell CHDIR KILL NAME MKDIR RMDIR RUN SETENVIRON -if s:lang == "qb" - syn keyword freebasicShell __CURDIR __DIR __EXEC __EXEPATH - syn match freebasicString "\<\%(command\|environ\)\$" -else - " fbio.bi - syn keyword freebasicShell ISREDIRECTED - syn keyword freebasicShell CURDIR DIR EXEC EXEPATH - syn match freebasicString "\<\%(command\|environ\)\>\$\=" -endif - -syn keyword freebasicEnviron SHELL SYSTEM - -syn keyword freebasicLoops FOR LOOP WHILE WEND DO STEP UNTIL NEXT -if s:lang == "qb" - syn keyword freebasicLoops __CONTINUE -else - syn keyword freebasicLoops CONTINUE -endif -" -" File numbers -" -syn match freebasicFilenumber "#\d\+" -syn match freebasicFilenumber "#\a[[:alpha:].]*[%&!#]\=" - -syn match freebasicMetacommand "$\s*\%(dynamic\|static\)" -syn match freebasicMetacommand "$\s*include\s*\%(once\)\=\s*:\s*'[^']\+'" -syn match freebasicMetacommand '$\s*include\s*\%(once\)\=\s*:\s*"[^"]\+"' -syn match freebasicMetacommand '$\s*lang\s*:\s*"[^"]\+"' -" -" Intrinsic defines -" -syn keyword freebasicPredefined __DATE__ __DATE_ISO__ -syn keyword freebasicPredefined __FB_64BIT__ __FB_ARGC__ __FB_ARG_COUNT__ __FB_ARG_EXTRACT__ __FB_ARG_LEFTOF__ -syn keyword freebasicPredefined __FB_ARG_RIGHTOF__ __FB_ARGV__ __FB_ARM__ __FB_ASM__ __FB_BACKEND__ -syn keyword freebasicPredefined __FB_BIGENDIAN__ __FB_BUILD_DATE__ __FB_BUILD_DATE_ISO__ __FB_BUILD_SHA1__ -syn keyword freebasicPredefined __FB_CYGWIN__ __FB_DARWIN__ __FB_DEBUG__ __FB_DOS__ __FB_ERR__ __FB_EVAL__ -syn keyword freebasicPredefined __FB_FPMODE__ __FB_FPU__ __FB_FREEBSD__ __FB_GCC__ __FB_GUI__ __FB_IIF__ __FB_JOIN__ -syn keyword freebasicPredefined __FB_LANG__ __FB_LINUX__ __FB_MAIN__ __FB_MIN_VERSION__ __FB_MT__ __FB_NETBSD__ -syn keyword freebasicPredefined __FB_OPENBSD__ __FB_OPTIMIZE__ __FB_OPTION_BYVAL__ __FB_OPTION_DYNAMIC__ -syn keyword freebasicPredefined __FB_OPTION_ESCAPE__ __FB_OPTION_EXPLICIT__ __FB_OPTION_GOSUB__ -syn keyword freebasicPredefined __FB_OPTION_PRIVATE__ __FB_OUT_DLL__ __FB_OUT_EXE__ __FB_OUT_LIB__ __FB_OUT_OBJ__ -syn keyword freebasicPredefined __FB_PCOS__ __FB_PPC__ __FB_QUERY_SYMBOL__ __FB_QUOTE__ __FB_SIGNATURE__ __FB_SSE__ -syn keyword freebasicPredefined __FB_UNIQUEID__ __FB_UNIQUEID_POP__ __FB_UNIQUEID_PUSH__ __FB_UNIX__ __FB_UNQUOTE__ -syn keyword freebasicPredefined __FB_VECTORIZE__ __FB_VER_MAJOR__ __FB_VER_MINOR__ __FB_VER_PATCH__ __FB_VERSION__ -syn keyword freebasicPredefined __FB_WIN32__ __FB_X86__ __FB_XBOX__ -syn keyword freebasicPredefined __FILE__ __FILE_NQ__ __FUNCTION__ __FUNCTION_NQ__ -syn keyword freebasicPredefined __LINE__ __PATH__ __TIME__ -" -" Preprocessor directives -" -syn match freebasicInclude "#\s*\%(inclib\|include\%(\s\+once\)\=\|libpath\)\>" - -syn match freebasicPreProcessor "#\s*assert\>" -syn match freebasicPreProcessor "#\s*cmdline\>" -syn match freebasicPreProcessor "#\s*\%(define\|undef\)\>" -syn match freebasicPreProcessor "#\s*\%(if\|ifdef\|ifndef\|else\|elseif\|endif\)\>" -syn match freebasicPreProcessor "#\s*\%(macro\|endmacro\)\>" -syn match freebasicPreProcessor "#\s*error\>" -syn match freebasicPreProcessor "#\s*lang\>" -syn match freebasicPreProcessor "#\s*line\>" -syn match freebasicPreProcessor "#\s*pragma\%(\s\+reserve\)\=\>" -syn match freebasicPreProcessor "#\s*\%(print\|dynamic\|static\)\>" -syn keyword freebasicPreProcessor DEFINED - -syn keyword freebasicString LEN -syn keyword freebasicString ASC -" string.bi -syn keyword freebasicString FORMAT -syn keyword freebasicString VAL -syn keyword freebasicString CVD CVI CVL CVS -syn keyword freebasicString INSTR -syn keyword freebasicString LSET RSET - -if s:lang == "qb" - syn match freebasicString "\\$\=" - syn keyword freebasicString WSPACE - syn match freebasicString "\\$\=" - syn keyword freebasicString WCHR - syn keyword freebasicString WBIN WHEX WOCT WSTR - syn match freebasicString "\<\%(bin\|hex\|oct\|str\)\>\$\=" - syn keyword freebasicString VALLNG VALINT VALUINT VALULNG - syn match freebasicString "\<\%(mkd\|mki\|mkl\|mks\)\>\$\=" - syn match freebasicString "\<\%(mklongint\|mkshort\)\>\$\=" - syn keyword freebasicString CVLONGINT CVSHORT - syn match freebasicString "\<\%(left\|mid\|right\|lcase\|ucase\|ltrim\|rtrim\)\>\$\=" - syn match freebasicString "\\$\=" - syn keyword freebasicString INSTRREV -endif - -syn keyword freebasicTypeCasting CDBL CINT CLNG CSNG -if s:lang == "qb" - syn keyword freebasicTypeCasting __CAST __CBOOL __CBYTE __CLNGINT __CPTR __CSHORT __CSIGN __CYBTE __CUINT __CULNG - syn keyword freebasicTypeCasting __CULNGINT __CUNSG __CUSHORT -else - syn keyword freebasicTypeCasting CAST CBOOL CBYTE CLNGINT CPTR CSHORT CSIGN CUBYTE CUINT CULNG CULNGINT CUNSG CUSHORT -endif - -syn match freebasicUserInput "\" -syn keyword freebasicUserInput INKEY INPUT -if s:lang == "qb" - syn keyword freebasicUserInput __GETJOYSTICK __GETKEY __GETMOUSE __MULTIKEY __SETMOUSE STICK STRIG -else - syn keyword freebasicUserInput GETJOYSTICK GETKEY GETMOUSE MULTIKEY SETMOUSE -endif -" -" Operators -" -" TODO: make these context sensitive to remove the overlap of common operators -" : alpha operators should probably always be highlighted -" -- DJK 20/11/19 -if s:lang == "qb" - syn match freebasicArithmeticOperator "\<\%(MOD\|__SHL\|__SHR\)\>" -else - syn match freebasicArithmeticOperator "\<\%(MOD\|SHL\|SHR\)\>" -endif -syn match freebasicBitwiseOperator "\<\%(AND\|EQV\|IMP\|NOT\|OR\|XOR\)\>" " freebaseLogical? -if s:lang == "qb" - syn match freebasicAssignmentOperator "\<\%(MOD\|AND\|EQV\|IMP\|OR\|XOR\|__SHL\|__SHR\)=\@=" " exclude trailing '=' -else - syn match freebasicAssignmentOperator "\<\%(MOD\|AND\|EQV\|IMP\|OR\|XOR\|SHL\|SHR\)=\@=" -endif -syn match freebasicShortcircuitOperator "\<\%(ANDALSO\|ORELSE\)\>" -if s:lang == "fb" - syn match freebasicMemoryOperator '\<\%(new\|delete\)\>' -endif -syn keyword freebasicPointerOperator STRPTR VARPTR -if s:lang == "qb" - syn keyword freebasicPointerOperator __PROCPTR -else - syn keyword freebasicPointerOperator PROCPTR -endif -syn match freebasicTypeOperator '\' -syn match freebasicTypeOperator '\.' nextgroup=freebasicIdentifier skipwhite -if s:lang == "fb" - syn match freebasicTypeOperator '->' nextgroup=freebasicIdentifier skipwhite -endif - -if exists("freebasic_operators") - syn match freebasicAssignmentOperator "=>\=\|[-+&/\\*^]=" - if s:lang == "qb" - syn match freebasicAssignmentOperator "\<\%(MOD\|AND\|EQV\|IMP\|OR\|XOR\|__SHL\|__SHR\)=" " include trailing '=' - else - syn match freebasicAssignmentOperator "\<\%(MOD\|AND\|EQV\|IMP\|OR\|XOR\|SHL\|SHR\)=" - endif - syn match freebasicArithmeticOperator "[-+&/\\*^]" - " syn match freebasicIndexingOperator "[[\]()]" " FIXME - syn match freebasicRelationalOperator "=\|<>\|<=\|<\|>=\|>" - syn match freebasicPreprocessorOperator '\%(^\s*\)\@' nextgroup=freebasicIdentifier skipwhite - endif -endif - -syn cluster freebasicOperator contains=freebasic.*Operator -" -" Catch errors caused by wrong parenthesis -" -" syn region freebasicParen transparent start='(' end=')' contains=ALLBUT,@freebasicParenGroup -" syn match freebasicParenError ")" -" syn match freebasicInParen contained "[{}]" -" syn cluster freebasicParenGroup contains=freebasicParenError,freebasicSpecial,freebasicTodo,freebasicUserCont,freebasicUserLabel,freebasicBitField -" -" Integer number -" -syn match freebasicHexError "&h\w*\>" -syn match freebasicOctalError "&o\w*\>" -syn match freebasicBinaryError "&b\w*\>" -syn match freebasicHex "&h\x\+\%([%L&U]\|UL\|LL\|ULL\)\=\>" -syn match freebasicOctal "&o\o\+\%([%L&U]\|UL\|LL\|ULL\)\=\>" -syn match freebasicBinary "&b[10]\+\%([%L&U]\|UL\|LL\|ULL\)\=\>" -syn match freebasicInteger "\<\d\+\%([%L&U]\|UL\|LL\|ULL\)\=\>" -" -" Floating point -" See: https://www.freebasic.net/forum/viewtopic.php?t=20323 -" -" Floating point number, with dot, optional exponent, optional suffix -" -syn match freebasicFloat "\<\d\+\.\d*\%([de][-+]\=\d*\)\=[f!#]\=" -" -" Floating point number, starting with a dot, optional exponent, optional suffix -" -syn match freebasicFloat "\.\d\+\%([de][-+]\=\d*\)\=[f!#]\=" -" -" Floating point number, without dot, with optional exponent, optional suffix -" -syn match freebasicFloat "\<\d\+\%([de][-+]\=\d*\)[f!#]\=" -" -" Floating point number, without dot, without exponent, with suffix -" -syn match freebasicFloat "\<\d\+[f!#]" -" -" Create the clusters -" -syn cluster freebasicNumber contains=freebasicHex,freebasicOctal,freebasicBinary,freebasicInteger,freebasicFloat -syn cluster freebasicNumberError contains=freebasicHexError,freebasicOctalError,freebasicBinaryError -" -" Booleans -" -if s:lang != "qb" - syn keyword freebasicBoolean TRUE FALSE -endif -" -" -" String and escape sequences -" -syn match freebasicSpecial contained "\\." -syn match freebasicSpecial contained "\\\d\{1,3}" -syn match freebasicSpecial contained "\\&h\x\{1,2}" -syn match freebasicSpecial contained "\\&o\o\{1,3}" -syn match freebasicSpecial contained "\\&b[01]\{1,8}" -syn match freebasicSpecial contained "\\u\x\{1,4}" -syn region freebasicString start='"' end='"' " TODO: Toggle contains on Option Escape in fblite and qb? -- DJK 20/11/19 -syn region freebasicString start='!\zs"' end='"' contains=freebasicSpecial -syn region freebasicString start='$\zs"' end='"' -" -" Line labels -" -if s:lang =~# '\<\%(qb\|fblite\)\>' - syn match freebasicLineLabel "^\s*\zs\h\%(\w\|\.\)*\ze\s*:" -else - syn match freebasicLineLabel "^\s*\zs\h\w*\ze\s*:" -endif -syn match freebasicLineNumber "^\s*\zs\d\+" -" -" Line continuations -" -" syn match freebasicLineContinuation "\<_\>" nextgroup=freebasicComment,freebasicPostLineContinuation skipwhite -syn keyword freebasicLineContinuation _ nextgroup=freebasicComment,freebasicPostLineContinuation skipwhite -syn match freebasicPostLineContinuation ".*" contained -" -" -" Type suffixes -if exists("freebasic_type_suffixes") && s:lang =~# '\<\%(qb\|fblite\)\>' - syn match freebasicTypeSuffix "\h\%(\w\|.\)*\zs[$%&!#]" -endif -" -" Comments -" -syn keyword freebasicTodo TODO FIXME XXX NOTE contained -syn region freebasicComment start="\" end="$" contains=freebasicTodo,@Spell,freebasicMetacommand -syn region freebasicComment start="'" end="$" contains=freebasicTodo,@Spell,freebasicMetacommand -syn region freebasicDoubleComment start="''" end="$" contains=freebasicTodo,@Spell - -if !exists("freebasic_no_comment_fold") - syn region freebasicMultilineComment start="/'" end="'/" contains=freebasicTodo,@Spell,freeBasicMultilineComment fold keepend extend - syn region freebasicMultilineComment2 start="^\s*'.*\n\%(\s*'\)\@=" end="^\s*'.*\n\%(\s*'\)\@!" contains=freebasicComment,freebasicDoubleComment keepend fold -else - syn region freebasicMultilineComment start="/'" end="'/" contains=freebasicTodo,@Spell,freeBasicMultilineComment -endif - -syn case match - -syn sync linebreaks=1 - -" -" The default methods for highlighting. Can be overridden later -" -hi def link freebasicArrays StorageClass -hi def link freebasicAsm Special -hi def link freebasicBitManipulation Operator -hi def link freebasicBoolean Boolean -if s:lang == "fb" - hi def link freebasicCompilerSwitches freebasicUnsupportedError -else - hi def link freebasicCompilerSwitches PreCondit -endif -hi def link freebasicConsole Special -hi def link freebasicData Special -hi def link freebasicDataTypes Type -hi def link freebasicDateTime Type -hi def link freebasicDebug Special -hi def link freebasicErrorHandling Special -hi def link freebasicFilenumber Special -hi def link freebasicFiles Special -hi def link freebasicFunctions Function -hi def link freebasicGraphics Function -hi def link freebasicHardware Special -hi def link freebasicLoops Repeat -hi def link freebasicMath Function -if s:lang == "fb" - hi def link freebasicMetacommand freebasicUnsupportedError -else - hi def link freebasicMetacommand SpecialComment -endif -hi def link freebasicMemory Function -hi def link freebasicMisc Special -hi def link freebasicModularizing Special -hi def link freebasicMultithreading Special -hi def link freebasicShell Special -hi def link freebasicEnviron Special -hi def link freebasicPointer Special -hi def link freebasicPredefined PreProc -hi def link freebasicPreProcessor PreProc -hi def link freebasicProgramFlow Statement -hi def link freebasicString String -hi def link freebasicTypeCasting Type -hi def link freebasicUserInput Statement -hi def link freebasicComment Comment -hi def link freebasicDoubleComment Comment -hi def link freebasicMultilineComment Comment -hi def link freebasicConditional Conditional -hi def link freebasicError Error -hi def link freebasicIdentifier Identifier -hi def link freebasicInclude Include -hi def link freebasicGenericFunction Function -hi def link freebasicLineContinuation Special -hi def link freebasicLineLabel LineNr -if s:lang == "fb" - hi def link freebasicLineNumber freebasicUnsupportedError -else - hi def link freebasicLineNumber LineNr -endif -hi def link freebasicMathOperator Operator - -hi def link freebasicHex Number -hi def link freebasicOctal Number -hi def link freebasicBinary Number -hi def link freebasicInteger Number -hi def link freebasicFloat Float - -hi def link freebasicHexError Error -hi def link freebasicOctalError Error -hi def link freebasicBinaryError Error - -hi def link freebasicAssignmentOperator Operator -hi def link freebasicArithmeticOperator Operator -hi def link freebasicIndexingOperator Operator -hi def link freebasicRelationalOperator Operator -hi def link freebasicBitwiseOperator Operator -hi def link freebasicShortcircuitOperator Operator -hi def link freebasicPreprocessorOperator Operator -hi def link freebasicPointerOperator Operator -if exists("freebasic_operators") - hi def link freebasicTypeOperator Operator -endif -hi def link freebasicMemoryOperator Operator - -hi def link freebasicSpaceError Error - -hi def link freebasicSpecial Special -hi def link freebasicTodo Todo - -hi def link freebasicUnsupported freebasicUnsupportedError -hi def link freebasicUnsupportedError Error - -unlet s:lang - -let b:current_syntax = "freebasic" - -" vim: ts=8 tw=132 fdm=marker diff --git a/uvim/runtime/syntax/fstab.mnv b/uvim/runtime/syntax/fstab.mnv new file mode 100644 index 0000000000..4a8bfeb132 --- /dev/null +++ b/uvim/runtime/syntax/fstab.mnv @@ -0,0 +1,530 @@ +" MNV syntax file +" Language: fstab file +" Maintainer: Radu Dineiu +" URL: https://raw.github.com/rid9/mnv-fstab/master/syntax/fstab.mnv +" Last Change: 2026 Feb 14 +" Version: 1.7.1 +" +" Credits: +" David Necas (Yeti) +" Stefano Zacchiroli +" Georgi Georgiev +" James Vega +" Elias Probst + +" Options: +" let fstab_unknown_fs_errors = 1 +" highlight unknown filesystems as errors +" +" let fstab_unknown_device_errors = 0 +" do not highlight unknown devices as errors +" +" Changelog: +" - 2025 Aug 21 added support for mtab +" - 2026 Feb 14 added cgroup2 to device types + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +" General +syn cluster fsGeneralCluster contains=fsComment +syn match fsComment /\s*#.*/ contains=@Spell +syn match fsOperator /[,=:#]/ + +" Device +syn cluster fsDeviceCluster contains=fsOperator,fsDeviceKeyword,fsDeviceError +syn match fsDeviceError /\%([^a-zA-Z0-9_\/#@:\.-]\|^\w\{-}\ze\W\)/ contained +syn keyword fsDeviceKeyword contained none proc linproc tmpfs devpts devtmpfs sysfs usbfs tracefs overlay cgroup2 +syn keyword fsDeviceKeyword contained LABEL nextgroup=fsDeviceLabel +syn keyword fsDeviceKeyword contained UUID nextgroup=fsDeviceUUID +syn keyword fsDeviceKeyword contained PARTLABEL nextgroup=fsDevicePARTLABEL +syn keyword fsDeviceKeyword contained PARTUUID nextgroup=fsDevicePARTUUID +syn keyword fsDeviceKeyword contained sshfs nextgroup=fsDeviceSshfs +syn match fsDeviceKeyword contained /^[a-zA-Z0-9.\-]\+\ze:/ +syn match fsDeviceLabel contained /=[^ \t]\+/hs=s+1 contains=fsOperator +syn match fsDeviceUUID contained /=[^ \t]\+/hs=s+1 contains=fsOperator +syn match fsDevicePARTLABEL contained /=[^ \t]\+/hs=s+1 contains=fsOperator +syn match fsDevicePARTUUID contained /=[^ \t]\+/hs=s+1 contains=fsOperator +syn match fsDeviceSshfs contained /#[_=[:alnum:]\.\/+-]\+@[a-z0-9._-]\+\a\{2}:[^ \t]\+/hs=s+1 contains=fsOperator + +" Mount Point +syn cluster fsMountPointCluster contains=fsMountPointKeyword,fsMountPointError +syn match fsMountPointError /\%([^ \ta-zA-Z0-9_\/#@\.-]\|\s\+\zs\w\{-}\ze\s\)/ contained +syn keyword fsMountPointKeyword contained none swap + +" Type +syn cluster fsTypeCluster contains=fsTypeKeyword,fsTypeUnknown +syn match fsTypeUnknown /\s\+\zs\w\+/ contained +syn keyword fsTypeKeyword contained adfs ados affs anon_inodefs atfs audiofs auto autofs bdev befs bfs btrfs binfmt_misc cd9660 ceph cfs cgroup cifs coda coherent configfs cpuset cramfs debugfs devfs devpts devtmpfs dlmfs e2compr ecryptfs efivarfs efs erofs exfat ext2 ext2fs ext3 ext4 f2fs fdesc ffs filecore fuse fuseblk fusectl gfs2 hfs hfsplus hpfs hugetlbfs iso9660 jffs jffs2 jfs kernfs lfs linprocfs mfs minix mqueue msdos ncpfs nfs nfs4 nfsd nilfs2 none ntfs ntfs3 null nwfs ocfs2 omfs overlay ovlfs pipefs portal proc procfs pstore ptyfs pvfs2 qnx4 qnx6 reiserfs ramfs romfs rpc_pipefs securityfs shm smbfs spufs squashfs sockfs sshfs std subfs swap sysfs sysv tcfs tmpfs tracefs ubifs udf ufs umap umsdos union usbfs userfs v9fs vfat virtiofs vs3fs vxfs wrapfs wvfs xenfs xenix xfs zisofs zonefs + +" Options +" ------- +" Options: General +syn cluster fsOptionsCluster contains=fsOperator,fsOptionsGeneral,fsOptionsKeywords,fsTypeUnknown +syn match fsOptionsNumber /\d\+/ +syn match fsOptionsNumberSigned /[-+]\?\d\+/ +syn match fsOptionsNumberOctal /[0-8]\+/ +syn match fsOptionsString /[a-zA-Z0-9_-]\+/ +syn keyword fsOptionsTrueFalse true false +syn keyword fsOptionsYesNo yes no +syn keyword fsOptionsYN y n +syn keyword fsOptions01 0 1 +syn cluster fsOptionsCheckCluster contains=fsOptionsExt2Check,fsOptionsFatCheck +syn keyword fsOptionsSize 512 1024 2048 +syn keyword fsOptionsGeneral async atime auto bind current defaults dev devgid devmode devmtime devuid dirsync exec force fstab kudzu loop managed mand move noatime noauto noclusterr noclusterw nodev nodevmtime nodiratime noexec nomand norelatime nosuid nosymfollow nouser owner pamconsole rbind rdonly relatime remount ro rq rw suid suiddir supermount sw sync union update user users wxallowed xx nofail failok lazytime +syn match fsOptionsGeneral /_netdev/ + +syn match fsOptionsKeywords contained /\/ +syn keyword fsOptionsKeywords contained acl bsddf minixdf debug grpid bsdgroups minixdf nocheck nogrpid oldalloc orlov sysvgroups nouid32 nobh user_xattr nouser_xattr + +" Options: ext3 +syn match fsOptionsKeywords contained /\/ +syn keyword fsOptionsUfsError contained panic lock umount repair + +" Options: usbfs +syn match fsOptionsKeywords contained /\<\%(dev\|bus\|list\)\%(id\|gid\)=/ nextgroup=fsOptionsNumber +syn match fsOptionsKeywords contained /\<\%(dev\|bus\|list\)mode=/ nextgroup=fsOptionsNumberOctal + +" Options: v9fs +syn match fsOptionsKeywords contained /\<\%(trans\)=/ nextgroup=fsOptionsV9Trans +syn keyword fsOptionsV9Trans unix tcp fd virtio rdma +syn match fsOptionsKeywords contained /\ -" URL: https://raw.github.com/rid9/vim-fstab/master/syntax/fstab.vim -" Last Change: 2026 Feb 14 -" Version: 1.7.1 -" -" Credits: -" David Necas (Yeti) -" Stefano Zacchiroli -" Georgi Georgiev -" James Vega -" Elias Probst - -" Options: -" let fstab_unknown_fs_errors = 1 -" highlight unknown filesystems as errors -" -" let fstab_unknown_device_errors = 0 -" do not highlight unknown devices as errors -" -" Changelog: -" - 2025 Aug 21 added support for mtab -" - 2026 Feb 14 added cgroup2 to device types - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -" General -syn cluster fsGeneralCluster contains=fsComment -syn match fsComment /\s*#.*/ contains=@Spell -syn match fsOperator /[,=:#]/ - -" Device -syn cluster fsDeviceCluster contains=fsOperator,fsDeviceKeyword,fsDeviceError -syn match fsDeviceError /\%([^a-zA-Z0-9_\/#@:\.-]\|^\w\{-}\ze\W\)/ contained -syn keyword fsDeviceKeyword contained none proc linproc tmpfs devpts devtmpfs sysfs usbfs tracefs overlay cgroup2 -syn keyword fsDeviceKeyword contained LABEL nextgroup=fsDeviceLabel -syn keyword fsDeviceKeyword contained UUID nextgroup=fsDeviceUUID -syn keyword fsDeviceKeyword contained PARTLABEL nextgroup=fsDevicePARTLABEL -syn keyword fsDeviceKeyword contained PARTUUID nextgroup=fsDevicePARTUUID -syn keyword fsDeviceKeyword contained sshfs nextgroup=fsDeviceSshfs -syn match fsDeviceKeyword contained /^[a-zA-Z0-9.\-]\+\ze:/ -syn match fsDeviceLabel contained /=[^ \t]\+/hs=s+1 contains=fsOperator -syn match fsDeviceUUID contained /=[^ \t]\+/hs=s+1 contains=fsOperator -syn match fsDevicePARTLABEL contained /=[^ \t]\+/hs=s+1 contains=fsOperator -syn match fsDevicePARTUUID contained /=[^ \t]\+/hs=s+1 contains=fsOperator -syn match fsDeviceSshfs contained /#[_=[:alnum:]\.\/+-]\+@[a-z0-9._-]\+\a\{2}:[^ \t]\+/hs=s+1 contains=fsOperator - -" Mount Point -syn cluster fsMountPointCluster contains=fsMountPointKeyword,fsMountPointError -syn match fsMountPointError /\%([^ \ta-zA-Z0-9_\/#@\.-]\|\s\+\zs\w\{-}\ze\s\)/ contained -syn keyword fsMountPointKeyword contained none swap - -" Type -syn cluster fsTypeCluster contains=fsTypeKeyword,fsTypeUnknown -syn match fsTypeUnknown /\s\+\zs\w\+/ contained -syn keyword fsTypeKeyword contained adfs ados affs anon_inodefs atfs audiofs auto autofs bdev befs bfs btrfs binfmt_misc cd9660 ceph cfs cgroup cifs coda coherent configfs cpuset cramfs debugfs devfs devpts devtmpfs dlmfs e2compr ecryptfs efivarfs efs erofs exfat ext2 ext2fs ext3 ext4 f2fs fdesc ffs filecore fuse fuseblk fusectl gfs2 hfs hfsplus hpfs hugetlbfs iso9660 jffs jffs2 jfs kernfs lfs linprocfs mfs minix mqueue msdos ncpfs nfs nfs4 nfsd nilfs2 none ntfs ntfs3 null nwfs ocfs2 omfs overlay ovlfs pipefs portal proc procfs pstore ptyfs pvfs2 qnx4 qnx6 reiserfs ramfs romfs rpc_pipefs securityfs shm smbfs spufs squashfs sockfs sshfs std subfs swap sysfs sysv tcfs tmpfs tracefs ubifs udf ufs umap umsdos union usbfs userfs v9fs vfat virtiofs vs3fs vxfs wrapfs wvfs xenfs xenix xfs zisofs zonefs - -" Options -" ------- -" Options: General -syn cluster fsOptionsCluster contains=fsOperator,fsOptionsGeneral,fsOptionsKeywords,fsTypeUnknown -syn match fsOptionsNumber /\d\+/ -syn match fsOptionsNumberSigned /[-+]\?\d\+/ -syn match fsOptionsNumberOctal /[0-8]\+/ -syn match fsOptionsString /[a-zA-Z0-9_-]\+/ -syn keyword fsOptionsTrueFalse true false -syn keyword fsOptionsYesNo yes no -syn keyword fsOptionsYN y n -syn keyword fsOptions01 0 1 -syn cluster fsOptionsCheckCluster contains=fsOptionsExt2Check,fsOptionsFatCheck -syn keyword fsOptionsSize 512 1024 2048 -syn keyword fsOptionsGeneral async atime auto bind current defaults dev devgid devmode devmtime devuid dirsync exec force fstab kudzu loop managed mand move noatime noauto noclusterr noclusterw nodev nodevmtime nodiratime noexec nomand norelatime nosuid nosymfollow nouser owner pamconsole rbind rdonly relatime remount ro rq rw suid suiddir supermount sw sync union update user users wxallowed xx nofail failok lazytime -syn match fsOptionsGeneral /_netdev/ - -syn match fsOptionsKeywords contained /\/ -syn keyword fsOptionsKeywords contained acl bsddf minixdf debug grpid bsdgroups minixdf nocheck nogrpid oldalloc orlov sysvgroups nouid32 nobh user_xattr nouser_xattr - -" Options: ext3 -syn match fsOptionsKeywords contained /\/ -syn keyword fsOptionsUfsError contained panic lock umount repair - -" Options: usbfs -syn match fsOptionsKeywords contained /\<\%(dev\|bus\|list\)\%(id\|gid\)=/ nextgroup=fsOptionsNumber -syn match fsOptionsKeywords contained /\<\%(dev\|bus\|list\)mode=/ nextgroup=fsOptionsNumberOctal - -" Options: v9fs -syn match fsOptionsKeywords contained /\<\%(trans\)=/ nextgroup=fsOptionsV9Trans -syn keyword fsOptionsV9Trans unix tcp fd virtio rdma -syn match fsOptionsKeywords contained /\ +" Previous Maintainer: Haakon Riiser +" Last Change: Sat 29 Sep 2007 11:08:34 AM PDT +" 2025 Dec 14: Update fvwm2 keywords #18924 +" +" Thanks to David Necas (Yeti) for adding Fvwm 2.4 support. +" +" 2006-05-09 gi1242: Rewrote fvwm2 syntax completely. Also since fvwm1 is now +" mostly obsolete, made the syntax file pick fvwm2 syntax by default. + +if exists("b:current_syntax") + finish +endif +let s:keepcpo= &cpo +set cpo&mnv + +" Fvwm configuration files are case insensitive +syn case ignore + +" Identifiers in Fvwm can contain most characters, so we only +" include the most common ones here. +setlocal iskeyword=_,-,+,.,a-z,A-Z,48-57 + +" Syntax items common to fvwm1 and fvwm2 config files +syn cluster fvwmConstants contains=fvwmEnvVar,fvwmNumber +syn match fvwmEnvVar "\$\w\+" +syn match fvwmNumber '\v<(\d+|0x[0-9a-f]+)>' + +syn match fvwmModConf nextgroup=fvwmModArg "\v^\s*\*\a+" +syn region fvwmModArg contained contains=fvwmString,fvwmRGBValue + \ start='.' skip='\\$' end='$' + +syn region fvwmString contains=fvwmBackslash start='"' + \ matchgroup=fvwmBackslash skip='\v\\"' end='"' +syn region fvwmString contains=fvwmBackslash start='`' + \ matchgroup=fvwmBackslash skip='\v\\`' end='`' +syn region fvwmString contains=fvwmBackslash start="'" + \ matchgroup=fvwmBackslash skip="\v\\'" end="'" +syn match fvwmBackslash contained '\\[^"'`]' + +syn match fvwmRGBValue "#\x\{3}" +syn match fvwmRGBValue "#\x\{6}" +syn match fvwmRGBValue "#\x\{9}" +syn match fvwmRGBValue "#\x\{12}" +syn match fvwmRGBValue "rgb:\x\{1,4}/\x\{1,4}/\x\{1,4}" + +syn region fvwmComment contains=@Spell + \ start='^\s*#\s' skip='\\$' end='$' +syn region fvwmComment start="\v^\s*#(\S|$)" skip='\\$' end='$' + +if (exists("b:fvwm_version") && b:fvwm_version == 1) + \ || (exists("use_fvwm_1") && use_fvwm_1) + + " + " Syntax highlighting for Fvwm1 files. + " + + " Moved from common syntax items + syn match fvwmModule "\' + syn match fvwmGradient contained '\v<[HVDBSCRY]Gradient>' + + " Styles + syn keyword fvwmKeyword nextgroup=fvwmStyleArgs skipwhite + \ Style WindowStyle + syn region fvwmStyleArgs contained transparent contains=fvwmStyleNames,@fvwmConstants,fvwmString,fvwmRGBValue + \ start='.' skip='\\$' end='$' + syn keyword fvwmStyleNames contained + \ BorderWidth HandleWidth NoIcon Icon MiniIcon + \ IconBox IconGrid IconFill IconSize NoTitle + \ Title TitleAtBottom TitleAtLeft TitleAtRight + \ TitleAtTop LeftTitleRotatedCW + \ LeftTitleRotatedCCW RightTitleRotatedCCW + \ RightTitleRotatedCW TopTitleRotated + \ TopTitleNotRotated BottomTitleRotated + \ BottomTitleNotRotated UseTitleDecorRotation + \ StippledTitle StippledTitleOff + \ IndexedWindowName ExactWindowName + \ IndexedIconName ExactIconName Borders + \ NoHandles Handles WindowListSkip + \ WindowListHit CirculateSkip CirculateHit + \ CirculateSkipShaded CirculateHitShaded Layer + \ StaysOnTop StaysOnBottom StaysPut Sticky + \ Slippery StickyAcrossPages StickyAcrossDesks + \ StartIconic StartNormal Color ForeColor + \ BackColor Colorset HilightFore HilightBack + \ HilightColorset BorderColorset + \ HilightBorderColorset IconTitleColorset + \ HilightIconTitleColorset IconTitleFormat + \ IconBackgroundColorset IconTitleRelief + \ IconBackgroundRelief IconBackgroundPadding + \ Font IconFont StartsOnDesk StartsOnPage + \ StartsAnyWhere StartsOnScreen + \ ManualPlacementHonorsStartsOnPage + \ ManualPlacementIgnoresStartsOnPage + \ CaptureHonorsStartsOnPage + \ CaptureIgnoresStartsOnPage + \ RecaptureHonorsStartsOnPage + \ RecaptureIgnoresStartsOnPage + \ StartsOnPageIncludesTransients + \ StartsOnPageIgnoresTransients IconTitle + \ NoIconTitle MwmButtons FvwmButtons MwmBorder + \ FvwmBorder MwmDecor NoDecorHint MwmFunctions + \ NoFuncHint HintOverride NoOverride NoButton + \ Button ResizeHintOverride NoResizeOverride + \ OLDecor NoOLDecor GNOMEUseHints + \ GNOMEIgnoreHints StickyIcon SlipperyIcon + \ StickyAcrossPagesIcon StickyAcrossDesksIcon + \ ManualPlacement CascadePlacement + \ MinOverlapPlacement + \ MinOverlapPercentPlacement + \ TileManualPlacement TileCascadePlacement + \ MinOverlapPlacementPenalties + \ MinOverlapPercentPlacementPenalties + \ DecorateTransient NakedTransient + \ DontRaiseTransient RaiseTransient + \ DontLowerTransient LowerTransient + \ DontStackTransientParent + \ StackTransientParent SkipMapping ShowMapping + \ ScatterWindowGroups KeepWindowGroupsOnDesk + \ UseDecor UseStyle NoPPosition UsePPosition + \ NoUSPosition UseUSPosition + \ NoTransientPPosition UseTransientPPosition + \ NoTransientUSPosition UseTransientUSPosition + \ NoIconPosition UseIconPosition Lenience + \ NoLenience ClickToFocus SloppyFocus + \ MouseFocus FocusFollowsMouse NeverFocus + \ ClickToFocusPassesClickOff + \ ClickToFocusPassesClick + \ ClickToFocusRaisesOff ClickToFocusRaises + \ MouseFocusClickRaises + \ MouseFocusClickRaisesOff GrabFocus + \ GrabFocusOff GrabFocusTransientOff + \ GrabFocusTransient FPFocusClickButtons + \ FPFocusClickModifiers + \ FPSortWindowlistByFocus FPClickRaisesFocused + \ FPClickDecorRaisesFocused + \ FPClickIconRaisesFocused + \ FPClickRaisesUnfocused + \ FPClickDecorRaisesUnfocused + \ FPClickIconRaisesUnfocused FPClickToFocus + \ FPClickDecorToFocus FPClickIconToFocus + \ FPEnterToFocus FPLeaveToUnfocus + \ FPFocusByProgram FPFocusByFunction + \ FPFocusByFunctionWarpPointer FPLenient + \ FPPassFocusClick FPPassRaiseClick + \ FPIgnoreFocusClickMotion + \ FPIgnoreRaiseClickMotion + \ FPAllowFocusClickFunction + \ FPAllowRaiseClickFunction FPGrabFocus + \ FPGrabFocusTransient FPOverrideGrabFocus + \ FPReleaseFocus FPReleaseFocusTransient + \ FPOverrideReleaseFocus StartsLowered + \ StartsRaised IgnoreRestack AllowRestack + \ FixedPosition VariablePosition + \ FixedUSPosition VariableUSPosition + \ FixedPPosition VariablePPosition FixedSize + \ VariableSize FixedUSSize VariableUSSize + \ FixedPSize VariablePSize Closable + \ Iconifiable Maximizable + \ AllowMaximizeFixedSize IconOverride + \ NoIconOverride NoActiveIconOverride + \ DepressableBorder FirmBorder MaxWindowSize + \ IconifyWindowGroups IconifyWindowGroupsOff + \ ResizeOpaque ResizeOutline BackingStore + \ BackingStoreOff BackingStoreWindowDefault + \ Opacity ParentalRelativity SaveUnder + \ SaveUnderOff WindowShadeShrinks + \ WindowShadeScrolls WindowShadeSteps + \ WindowShadeAlwaysLazy WindowShadeBusy + \ WindowShadeLazy EWMHDonateIcon + \ EWMHDontDonateIcon EWMHDonateMiniIcon + \ EWMHDontDonateMiniIcon EWMHMiniIconOverride + \ EWMHNoMiniIconOverride + \ EWMHUseStackingOrderHints + \ EWMHIgnoreStackingOrderHints + \ EWMHIgnoreStateHints EWMHUseStateHints + \ EWMHIgnoreStrutHints EWMHIgnoreWindowType + \ EWMHUseStrutHints + \ EWMHMaximizeIgnoreWorkingArea + \ EWMHMaximizeUseWorkingArea + \ EWMHMaximizeUseDynamicWorkingArea + \ EWMHPlacementIgnoreWorkingArea + \ EWMHPlacementUseWorkingArea + \ EWMHPlacementUseDynamicWorkingArea + \ MoveByProgramMethod Unmanaged State + \ StippledIconTitle StickyStippledTitle + \ StickyStippledIconTitle + \ PositionPlacement + \ UnderMousePlacementHonorsStartsOnPage + \ UnderMousePlacementIgnoresStartsOnPage + \ MinOverlapPlacementPenalties + \ MinOverlapPercentPlacementPenalties + \ MinWindowSize StartShaded + \ EdgeMoveDelay EdgeMoveResistance + + " Cursor styles + syn keyword fvwmKeyword nextgroup=fvwmCursorStyle skipwhite + \ CursorStyle + syn case match + syn keyword fvwmCursorStyle contained + \ POSITION TITLE DEFAULT SYS MOVE RESIZE WAIT + \ MENU SELECT DESTROY TOP RIGHT BOTTOM LEFT + \ TOP_LEFT TOP_RIGHT BOTTOM_LEFT BOTTOM_RIGHT + \ TOP_EDGE RIGHT_EDGE BOTTOM_EDGE LEFT_EDGE + \ ROOT STROKE + syn case ignore + + " Menu style + syn keyword fvwmKeyword nextgroup=fvwmMStyleArgs skipwhite + \ MenuStyle + syn region fvwmMStyleArgs contained transparent contains=fvwmMStyleNames,@fvwmConstants,fvwmString,fvwmGradient,fvwmRGBValue + \ start='.' skip='\\$' end='$' + syn keyword fvwmMStyleNames contained + \ Fvwm Mwm Win BorderWidth Foreground + \ Background Greyed HilightBack HilightBackOff + \ ActiveFore ActiveForeOff MenuColorset + \ ActiveColorset GreyedColorset Hilight3DThick + \ Hilight3DThin Hilight3DOff + \ Hilight3DThickness Animation AnimationOff + \ Font MenuFace PopupDelay PopupOffset + \ TitleWarp TitleWarpOff TitleUnderlines0 + \ TitleUnderlines1 TitleUnderlines2 + \ SeparatorsLong SeparatorsShort + \ TrianglesSolid TrianglesRelief + \ PopupImmediately PopupDelayed + \ PopdownImmediately PopdownDelayed + \ PopupActiveArea DoubleClickTime SidePic + \ SideColor PopupAsRootMenu PopupAsSubmenu + \ PopupIgnore PopupClose RemoveSubmenus + \ HoldSubmenus SubmenusRight SubmenusLeft + \ SelectOnRelease ItemFormat + \ VerticalItemSpacing VerticalTitleSpacing + \ AutomaticHotkeys AutomaticHotkeysOff + \ TitleFont TitleColorset HilightTitleBack + + " Button style + syn keyword fvwmKeyword nextgroup=fvwmBNum skipwhite + \ ButtonStyle AddButtonStyle + syn match fvwmBNum contained + \ nextgroup=fvwmBState,fvwmBStyleArgs skipwhite + \ '\v<([0-9]|All|Left|Right|Reset)>' + syn keyword fvwmBState contained nextgroup=fvwmBStyleArgs skipwhite + \ ActiveUp ActiveDown InactiveUp InactiveDown + \ Active Inactive ToggledActiveUp + \ ToggledActiveDown ToggledInactiveUp + \ ToggledInactiveDown ToggledActive + \ ToggledInactive AllNormal AllToggled + \ AllActive AllInactive AllUp AllDown + syn region fvwmBStyleArgs contained contains=fvwmBStyleFlags,fvwmBStyleNames,fvwmGradient,fvwmRGBValue,@fvwmConstants,fvwmString + \ start='\S' skip='\\$' end='$' + syn keyword fvwmBStyleNames contained + \ Simple Default Solid Colorset Vector Pixmap + \ AdjustedPixmap ShrunkPixmap StretchedPixmap + \ TiledPixmap MiniIcon MwmDecorMenu MwmDecorMin + \ MwmDecorMax MwmDecorShade MwmDecorStick MwmDecorLayer + syn keyword fvwmBStyleFlags contained + \ Raised Sunk Flat UseTitleStyle + \ UseBorderStyle + + " Border style + syn keyword fvwmKeyword skipwhite nextgroup=fvwmBdState,fvwmBdStyleArgs + \ BorderStyle + syn keyword fvwmBdState contained skipwhite nextgroup=fvwmBdStyleArgs + \ Active Inactive + syn region fvwmBdStyleArgs contained contains=fvwmBdStyNames,fvwmBdStyFlags + \ start='\S' skip='\\$' end='$' + syn keyword fvwmBdStyNames contained + \ TiledPixmap Colorset + syn keyword fvwmBdStyFlags contained + \ HiddenHandles NoInset Raised Sunk Flat + + " Title styles + syn keyword fvwmKeyword skipwhite nextgroup=fvwmTState,fvwmTStyleArgs + \ TitleStyle AddTitleStyle + syn keyword fvwmTState contained skipwhite nextgroup=fvwmTStyleArgs + \ ActiveUp ActiveDown InactiveUp InactiveDown + \ Active Inactive ToggledActiveUp + \ ToggledActiveDown ToggledInactiveUp + \ ToggledInactiveDown ToggledActive + \ ToggledInactive AllNormal AllToggled + \ AllActive AllInactive AllUp AllDown + syn region fvwmTStyleArgs contained contains=fvwmBStyleNames,fvwmTStyleNames,fvwmMPmapNames,fvwmTStyleFlags,fvwmGradient,fvwmRGBValue,@fvwmConstants + \ start='\S' skip='\\$' end='$' + syn keyword fvwmTStyleNames contained + \ MultiPixmap + syn keyword fvwmTStyleNames contained + \ LeftJustified Centered RightJustified Height + \ MinHeight + syn keyword fvwmMPmapNames contained + \ Main LeftMain RightMain UnderText LeftOfText + \ RightOfText LeftEnd RightEnd Buttons + \ LeftButtons RightButtons + syn keyword fvwmTStyleFlags contained + \ Raised Flat Sunk + + " Button state + syn keyword fvwmKeyword nextgroup=fvwmBStateArgs + \ ButtonState + syn region fvwmBStateArgs contained contains=fvwmBStateTF,fvwmBStateNames + \ start='.' skip='\\$' end='$' + syn keyword fvwmBStateNames contained ActiveDown Inactive InactiveDown + syn keyword fvwmBStateTF contained True False + + " Paths + syn keyword fvwmKeyword nextgroup=fvwmPath skipwhite + \ IconPath ImagePath LocalePath PixmapPath + \ ModulePath + syn match fvwmPath contained contains=fvwmEnvVar '\v.+$' + + " Window list command + syn keyword fvwmKeyword nextgroup=fvwmWLArgs skipwhite + \ WindowList + syn region fvwmWLArgs contained + \ contains=fvwmCondition,@fvwmConstants,fvwmString,fvwmWLOpts + \ start='.' skip='\\$' end='$' + syn keyword fvwmWLOpts contained + \ Geometry NoGeometry NoGeometryWithInfo + \ NoDeskNum NoNumInDeskTitle + \ NoCurrentDeskTitle MaxLabelWidth width + \ TitleForAllDesks Function funcname Desk + \ desknum CurrentDesk NoIcons Icons OnlyIcons + \ NoNormal Normal OnlyNormal NoSticky Sticky + \ OnlySticky NoStickyAcrossPages + \ StickyAcrossPages OnlyStickyAcrossPages + \ NoStickyAcrossDesks StickyAcrossDesks + \ OnlyStickyAcrossDesks NoOnTop OnTop + \ OnlyOnTop NoOnBottom OnBottom OnlyOnBottom + \ Layer UseListSkip OnlyListSkip NoDeskSort + \ ReverseOrder CurrentAtEnd IconifiedAtEnd + \ UseIconName Alphabetic NotAlphabetic + \ SortByResource SortByClass NoHotkeys + \ SelectOnRelease + + syn keyword fvwmSpecialFn StartFunction InitFunction RestartFunction + \ ExitFunction SessionInitFunction + \ SessionRestartFunction SessionExitFunction + \ MissingSubmenuFunction WindowListFunc + + syn keyword fvwmKeyword skipwhite nextgroup=fvwmKeyWin,fvwmKeyName + \ Key PointerKey + syn region fvwmKeyWin contained skipwhite nextgroup=fvwmKeyName + \ start='(' end=')' + syn case match + syn match fvwmKeyName contained skipwhite nextgroup=fvwmKeyContext + \ '\v<([a-zA-Z0-9]|F\d+|KP_\d)>' + syn keyword fvwmKeyName contained skipwhite nextgroup=fvwmKeyContext + \ BackSpace Begin Break Cancel Clear Delete + \ Down End Escape Execute Find Help Home + \ Insert KP_Add KP_Begin KP_Decimal KP_Delete + \ KP_Divide KP_Down KP_End KP_Enter KP_Equal + \ KP_Home KP_Insert KP_Left KP_Multiply + \ KP_Next KP_Page_Down KP_Page_Up KP_Prior + \ KP_Right KP_Separator KP_Space KP_Subtract + \ KP_Tab KP_Up Left Linefeed Menu Mode_switch + \ Next Num_Lock Page_Down Page_Up Pause Print + \ Prior Redo Return Right script_switch + \ Scroll_Lock Select Sys_Req Tab Undo Up space + \ exclam quotedbl numbersign dollar percent + \ ampersand apostrophe quoteright parenleft + \ parenright asterisk plus comma minus period + \ slash colon semicolon less equal greater + \ question at bracketleft backslash + \ bracketright asciicircum underscore grave + \ quoteleft braceleft bar braceright + \ asciitilde + + syn match fvwmKeyContext contained skipwhite nextgroup=fvwmKeyMods + \ '\v<[][RWDTS_F<^>vI0-9AM-]+>' + syn match fvwmKeyMods contained '\v[NCSMLA1-5]+' + syn case ignore + + syn keyword fvwmKeyword skipwhite nextgroup=fvwmMouseWin,fvwmMouseButton + \ Mouse + syn region fvwmMouseWin contained skipwhite nextgroup=fvwmMouseButton + \ start='(' end=')' + syn match fvwmMouseButton contained skipwhite nextgroup=fvwmKeyContext + \ '[0-5]' +endif + +" Define syntax highlighting groups + +" +" Common highlighting groups +" +hi def link fvwmComment Comment +hi def link fvwmEnvVar Macro +hi def link fvwmNumber Number +hi def link fvwmKeyword Keyword +hi def link fvwmPath Constant +hi def link fvwmModConf Macro +hi def link fvwmRGBValue Constant +hi def link fvwmString String +hi def link fvwmBackslash SpecialChar + + +" +" Highlighting groups for fvwm1 specific items +" +hi def link fvwmExec fvwmKeyword +hi def link fvwmKey fvwmKeyword +hi def link fvwmModule fvwmKeyword +hi def link fvwmFunction Function + +" +" Highlighting groups for fvwm2 specific items +" +hi def link fvwmSpecialFn Type +hi def link fvwmCursorStyle fvwmStyleNames +hi def link fvwmStyleNames Identifier +hi def link fvwmMStyleNames fvwmStyleNames +hi def link fvwmCSNames fvwmStyleNames +hi def link fvwmGradient fvwmStyleNames +hi def link fvwmCondNames fvwmStyleNames +hi def link fvwmTCNames fvwmStyleNames +hi def link fvwmTRNames fvwmStyleNames +hi def link fvwmWLOpts fvwmStyleNames + +hi def link fvwmBNum Number +hi def link fvwmBState Type +hi def link fvwmBStyleNames fvwmStyleNames +hi def link fvwmBStyleFlags Special + +hi def link fvwmBStateTF Constant +hi def link fvwmBStateNames fvwmStyleNames + +hi def link fvwmBdState fvwmBState +hi def link fvwmBdStyNames fvwmStyleNames +hi def link fvwmBdStyFlags fvwmBStyleFlags + +hi def link fvwmTState fvwmBState +hi def link fvwmTStyleNames fvwmStyleNames +hi def link fvwmMPmapNames fvwmBStyleFlags +hi def link fvwmTStyleFlags fvwmBStyleFlags + +hi def link fvwmDirection fvwmBStyleFlags + +hi def link fvwmKeyWin Constant +hi def link fvwmMouseWin fvwmKeyWin +hi def link fvwmKeyName Special +hi def link fvwmKeyContext fvwmKeyName +hi def link fvwmKeyMods fvwmKeyName +hi def link fvwmMouseButton fvwmKeyName + +hi def link fvwmMenuString String +hi def link fvwmIcon Type +hi def link fvwmShortcutKey SpecialChar + +hi def link fvwmModuleName Function + +let b:current_syntax = "fvwm" + +let &cpo = s:keepcpo +unlet s:keepcpo diff --git a/uvim/runtime/syntax/fvwm.vim b/uvim/runtime/syntax/fvwm.vim deleted file mode 100644 index cb974a2daf..0000000000 --- a/uvim/runtime/syntax/fvwm.vim +++ /dev/null @@ -1,646 +0,0 @@ -" Vim syntax file for Fvwm-2.5.22 -" Language: Fvwm{1,2} configuration file -" Maintainer: Gautam Iyer -" Previous Maintainer: Haakon Riiser -" Last Change: Sat 29 Sep 2007 11:08:34 AM PDT -" 2025 Dec 14: Update fvwm2 keywords #18924 -" -" Thanks to David Necas (Yeti) for adding Fvwm 2.4 support. -" -" 2006-05-09 gi1242: Rewrote fvwm2 syntax completely. Also since fvwm1 is now -" mostly obsolete, made the syntax file pick fvwm2 syntax by default. - -if exists("b:current_syntax") - finish -endif -let s:keepcpo= &cpo -set cpo&vim - -" Fvwm configuration files are case insensitive -syn case ignore - -" Identifiers in Fvwm can contain most characters, so we only -" include the most common ones here. -setlocal iskeyword=_,-,+,.,a-z,A-Z,48-57 - -" Syntax items common to fvwm1 and fvwm2 config files -syn cluster fvwmConstants contains=fvwmEnvVar,fvwmNumber -syn match fvwmEnvVar "\$\w\+" -syn match fvwmNumber '\v<(\d+|0x[0-9a-f]+)>' - -syn match fvwmModConf nextgroup=fvwmModArg "\v^\s*\*\a+" -syn region fvwmModArg contained contains=fvwmString,fvwmRGBValue - \ start='.' skip='\\$' end='$' - -syn region fvwmString contains=fvwmBackslash start='"' - \ matchgroup=fvwmBackslash skip='\v\\"' end='"' -syn region fvwmString contains=fvwmBackslash start='`' - \ matchgroup=fvwmBackslash skip='\v\\`' end='`' -syn region fvwmString contains=fvwmBackslash start="'" - \ matchgroup=fvwmBackslash skip="\v\\'" end="'" -syn match fvwmBackslash contained '\\[^"'`]' - -syn match fvwmRGBValue "#\x\{3}" -syn match fvwmRGBValue "#\x\{6}" -syn match fvwmRGBValue "#\x\{9}" -syn match fvwmRGBValue "#\x\{12}" -syn match fvwmRGBValue "rgb:\x\{1,4}/\x\{1,4}/\x\{1,4}" - -syn region fvwmComment contains=@Spell - \ start='^\s*#\s' skip='\\$' end='$' -syn region fvwmComment start="\v^\s*#(\S|$)" skip='\\$' end='$' - -if (exists("b:fvwm_version") && b:fvwm_version == 1) - \ || (exists("use_fvwm_1") && use_fvwm_1) - - " - " Syntax highlighting for Fvwm1 files. - " - - " Moved from common syntax items - syn match fvwmModule "\' - syn match fvwmGradient contained '\v<[HVDBSCRY]Gradient>' - - " Styles - syn keyword fvwmKeyword nextgroup=fvwmStyleArgs skipwhite - \ Style WindowStyle - syn region fvwmStyleArgs contained transparent contains=fvwmStyleNames,@fvwmConstants,fvwmString,fvwmRGBValue - \ start='.' skip='\\$' end='$' - syn keyword fvwmStyleNames contained - \ BorderWidth HandleWidth NoIcon Icon MiniIcon - \ IconBox IconGrid IconFill IconSize NoTitle - \ Title TitleAtBottom TitleAtLeft TitleAtRight - \ TitleAtTop LeftTitleRotatedCW - \ LeftTitleRotatedCCW RightTitleRotatedCCW - \ RightTitleRotatedCW TopTitleRotated - \ TopTitleNotRotated BottomTitleRotated - \ BottomTitleNotRotated UseTitleDecorRotation - \ StippledTitle StippledTitleOff - \ IndexedWindowName ExactWindowName - \ IndexedIconName ExactIconName Borders - \ NoHandles Handles WindowListSkip - \ WindowListHit CirculateSkip CirculateHit - \ CirculateSkipShaded CirculateHitShaded Layer - \ StaysOnTop StaysOnBottom StaysPut Sticky - \ Slippery StickyAcrossPages StickyAcrossDesks - \ StartIconic StartNormal Color ForeColor - \ BackColor Colorset HilightFore HilightBack - \ HilightColorset BorderColorset - \ HilightBorderColorset IconTitleColorset - \ HilightIconTitleColorset IconTitleFormat - \ IconBackgroundColorset IconTitleRelief - \ IconBackgroundRelief IconBackgroundPadding - \ Font IconFont StartsOnDesk StartsOnPage - \ StartsAnyWhere StartsOnScreen - \ ManualPlacementHonorsStartsOnPage - \ ManualPlacementIgnoresStartsOnPage - \ CaptureHonorsStartsOnPage - \ CaptureIgnoresStartsOnPage - \ RecaptureHonorsStartsOnPage - \ RecaptureIgnoresStartsOnPage - \ StartsOnPageIncludesTransients - \ StartsOnPageIgnoresTransients IconTitle - \ NoIconTitle MwmButtons FvwmButtons MwmBorder - \ FvwmBorder MwmDecor NoDecorHint MwmFunctions - \ NoFuncHint HintOverride NoOverride NoButton - \ Button ResizeHintOverride NoResizeOverride - \ OLDecor NoOLDecor GNOMEUseHints - \ GNOMEIgnoreHints StickyIcon SlipperyIcon - \ StickyAcrossPagesIcon StickyAcrossDesksIcon - \ ManualPlacement CascadePlacement - \ MinOverlapPlacement - \ MinOverlapPercentPlacement - \ TileManualPlacement TileCascadePlacement - \ MinOverlapPlacementPenalties - \ MinOverlapPercentPlacementPenalties - \ DecorateTransient NakedTransient - \ DontRaiseTransient RaiseTransient - \ DontLowerTransient LowerTransient - \ DontStackTransientParent - \ StackTransientParent SkipMapping ShowMapping - \ ScatterWindowGroups KeepWindowGroupsOnDesk - \ UseDecor UseStyle NoPPosition UsePPosition - \ NoUSPosition UseUSPosition - \ NoTransientPPosition UseTransientPPosition - \ NoTransientUSPosition UseTransientUSPosition - \ NoIconPosition UseIconPosition Lenience - \ NoLenience ClickToFocus SloppyFocus - \ MouseFocus FocusFollowsMouse NeverFocus - \ ClickToFocusPassesClickOff - \ ClickToFocusPassesClick - \ ClickToFocusRaisesOff ClickToFocusRaises - \ MouseFocusClickRaises - \ MouseFocusClickRaisesOff GrabFocus - \ GrabFocusOff GrabFocusTransientOff - \ GrabFocusTransient FPFocusClickButtons - \ FPFocusClickModifiers - \ FPSortWindowlistByFocus FPClickRaisesFocused - \ FPClickDecorRaisesFocused - \ FPClickIconRaisesFocused - \ FPClickRaisesUnfocused - \ FPClickDecorRaisesUnfocused - \ FPClickIconRaisesUnfocused FPClickToFocus - \ FPClickDecorToFocus FPClickIconToFocus - \ FPEnterToFocus FPLeaveToUnfocus - \ FPFocusByProgram FPFocusByFunction - \ FPFocusByFunctionWarpPointer FPLenient - \ FPPassFocusClick FPPassRaiseClick - \ FPIgnoreFocusClickMotion - \ FPIgnoreRaiseClickMotion - \ FPAllowFocusClickFunction - \ FPAllowRaiseClickFunction FPGrabFocus - \ FPGrabFocusTransient FPOverrideGrabFocus - \ FPReleaseFocus FPReleaseFocusTransient - \ FPOverrideReleaseFocus StartsLowered - \ StartsRaised IgnoreRestack AllowRestack - \ FixedPosition VariablePosition - \ FixedUSPosition VariableUSPosition - \ FixedPPosition VariablePPosition FixedSize - \ VariableSize FixedUSSize VariableUSSize - \ FixedPSize VariablePSize Closable - \ Iconifiable Maximizable - \ AllowMaximizeFixedSize IconOverride - \ NoIconOverride NoActiveIconOverride - \ DepressableBorder FirmBorder MaxWindowSize - \ IconifyWindowGroups IconifyWindowGroupsOff - \ ResizeOpaque ResizeOutline BackingStore - \ BackingStoreOff BackingStoreWindowDefault - \ Opacity ParentalRelativity SaveUnder - \ SaveUnderOff WindowShadeShrinks - \ WindowShadeScrolls WindowShadeSteps - \ WindowShadeAlwaysLazy WindowShadeBusy - \ WindowShadeLazy EWMHDonateIcon - \ EWMHDontDonateIcon EWMHDonateMiniIcon - \ EWMHDontDonateMiniIcon EWMHMiniIconOverride - \ EWMHNoMiniIconOverride - \ EWMHUseStackingOrderHints - \ EWMHIgnoreStackingOrderHints - \ EWMHIgnoreStateHints EWMHUseStateHints - \ EWMHIgnoreStrutHints EWMHIgnoreWindowType - \ EWMHUseStrutHints - \ EWMHMaximizeIgnoreWorkingArea - \ EWMHMaximizeUseWorkingArea - \ EWMHMaximizeUseDynamicWorkingArea - \ EWMHPlacementIgnoreWorkingArea - \ EWMHPlacementUseWorkingArea - \ EWMHPlacementUseDynamicWorkingArea - \ MoveByProgramMethod Unmanaged State - \ StippledIconTitle StickyStippledTitle - \ StickyStippledIconTitle - \ PositionPlacement - \ UnderMousePlacementHonorsStartsOnPage - \ UnderMousePlacementIgnoresStartsOnPage - \ MinOverlapPlacementPenalties - \ MinOverlapPercentPlacementPenalties - \ MinWindowSize StartShaded - \ EdgeMoveDelay EdgeMoveResistance - - " Cursor styles - syn keyword fvwmKeyword nextgroup=fvwmCursorStyle skipwhite - \ CursorStyle - syn case match - syn keyword fvwmCursorStyle contained - \ POSITION TITLE DEFAULT SYS MOVE RESIZE WAIT - \ MENU SELECT DESTROY TOP RIGHT BOTTOM LEFT - \ TOP_LEFT TOP_RIGHT BOTTOM_LEFT BOTTOM_RIGHT - \ TOP_EDGE RIGHT_EDGE BOTTOM_EDGE LEFT_EDGE - \ ROOT STROKE - syn case ignore - - " Menu style - syn keyword fvwmKeyword nextgroup=fvwmMStyleArgs skipwhite - \ MenuStyle - syn region fvwmMStyleArgs contained transparent contains=fvwmMStyleNames,@fvwmConstants,fvwmString,fvwmGradient,fvwmRGBValue - \ start='.' skip='\\$' end='$' - syn keyword fvwmMStyleNames contained - \ Fvwm Mwm Win BorderWidth Foreground - \ Background Greyed HilightBack HilightBackOff - \ ActiveFore ActiveForeOff MenuColorset - \ ActiveColorset GreyedColorset Hilight3DThick - \ Hilight3DThin Hilight3DOff - \ Hilight3DThickness Animation AnimationOff - \ Font MenuFace PopupDelay PopupOffset - \ TitleWarp TitleWarpOff TitleUnderlines0 - \ TitleUnderlines1 TitleUnderlines2 - \ SeparatorsLong SeparatorsShort - \ TrianglesSolid TrianglesRelief - \ PopupImmediately PopupDelayed - \ PopdownImmediately PopdownDelayed - \ PopupActiveArea DoubleClickTime SidePic - \ SideColor PopupAsRootMenu PopupAsSubmenu - \ PopupIgnore PopupClose RemoveSubmenus - \ HoldSubmenus SubmenusRight SubmenusLeft - \ SelectOnRelease ItemFormat - \ VerticalItemSpacing VerticalTitleSpacing - \ AutomaticHotkeys AutomaticHotkeysOff - \ TitleFont TitleColorset HilightTitleBack - - " Button style - syn keyword fvwmKeyword nextgroup=fvwmBNum skipwhite - \ ButtonStyle AddButtonStyle - syn match fvwmBNum contained - \ nextgroup=fvwmBState,fvwmBStyleArgs skipwhite - \ '\v<([0-9]|All|Left|Right|Reset)>' - syn keyword fvwmBState contained nextgroup=fvwmBStyleArgs skipwhite - \ ActiveUp ActiveDown InactiveUp InactiveDown - \ Active Inactive ToggledActiveUp - \ ToggledActiveDown ToggledInactiveUp - \ ToggledInactiveDown ToggledActive - \ ToggledInactive AllNormal AllToggled - \ AllActive AllInactive AllUp AllDown - syn region fvwmBStyleArgs contained contains=fvwmBStyleFlags,fvwmBStyleNames,fvwmGradient,fvwmRGBValue,@fvwmConstants,fvwmString - \ start='\S' skip='\\$' end='$' - syn keyword fvwmBStyleNames contained - \ Simple Default Solid Colorset Vector Pixmap - \ AdjustedPixmap ShrunkPixmap StretchedPixmap - \ TiledPixmap MiniIcon MwmDecorMenu MwmDecorMin - \ MwmDecorMax MwmDecorShade MwmDecorStick MwmDecorLayer - syn keyword fvwmBStyleFlags contained - \ Raised Sunk Flat UseTitleStyle - \ UseBorderStyle - - " Border style - syn keyword fvwmKeyword skipwhite nextgroup=fvwmBdState,fvwmBdStyleArgs - \ BorderStyle - syn keyword fvwmBdState contained skipwhite nextgroup=fvwmBdStyleArgs - \ Active Inactive - syn region fvwmBdStyleArgs contained contains=fvwmBdStyNames,fvwmBdStyFlags - \ start='\S' skip='\\$' end='$' - syn keyword fvwmBdStyNames contained - \ TiledPixmap Colorset - syn keyword fvwmBdStyFlags contained - \ HiddenHandles NoInset Raised Sunk Flat - - " Title styles - syn keyword fvwmKeyword skipwhite nextgroup=fvwmTState,fvwmTStyleArgs - \ TitleStyle AddTitleStyle - syn keyword fvwmTState contained skipwhite nextgroup=fvwmTStyleArgs - \ ActiveUp ActiveDown InactiveUp InactiveDown - \ Active Inactive ToggledActiveUp - \ ToggledActiveDown ToggledInactiveUp - \ ToggledInactiveDown ToggledActive - \ ToggledInactive AllNormal AllToggled - \ AllActive AllInactive AllUp AllDown - syn region fvwmTStyleArgs contained contains=fvwmBStyleNames,fvwmTStyleNames,fvwmMPmapNames,fvwmTStyleFlags,fvwmGradient,fvwmRGBValue,@fvwmConstants - \ start='\S' skip='\\$' end='$' - syn keyword fvwmTStyleNames contained - \ MultiPixmap - syn keyword fvwmTStyleNames contained - \ LeftJustified Centered RightJustified Height - \ MinHeight - syn keyword fvwmMPmapNames contained - \ Main LeftMain RightMain UnderText LeftOfText - \ RightOfText LeftEnd RightEnd Buttons - \ LeftButtons RightButtons - syn keyword fvwmTStyleFlags contained - \ Raised Flat Sunk - - " Button state - syn keyword fvwmKeyword nextgroup=fvwmBStateArgs - \ ButtonState - syn region fvwmBStateArgs contained contains=fvwmBStateTF,fvwmBStateNames - \ start='.' skip='\\$' end='$' - syn keyword fvwmBStateNames contained ActiveDown Inactive InactiveDown - syn keyword fvwmBStateTF contained True False - - " Paths - syn keyword fvwmKeyword nextgroup=fvwmPath skipwhite - \ IconPath ImagePath LocalePath PixmapPath - \ ModulePath - syn match fvwmPath contained contains=fvwmEnvVar '\v.+$' - - " Window list command - syn keyword fvwmKeyword nextgroup=fvwmWLArgs skipwhite - \ WindowList - syn region fvwmWLArgs contained - \ contains=fvwmCondition,@fvwmConstants,fvwmString,fvwmWLOpts - \ start='.' skip='\\$' end='$' - syn keyword fvwmWLOpts contained - \ Geometry NoGeometry NoGeometryWithInfo - \ NoDeskNum NoNumInDeskTitle - \ NoCurrentDeskTitle MaxLabelWidth width - \ TitleForAllDesks Function funcname Desk - \ desknum CurrentDesk NoIcons Icons OnlyIcons - \ NoNormal Normal OnlyNormal NoSticky Sticky - \ OnlySticky NoStickyAcrossPages - \ StickyAcrossPages OnlyStickyAcrossPages - \ NoStickyAcrossDesks StickyAcrossDesks - \ OnlyStickyAcrossDesks NoOnTop OnTop - \ OnlyOnTop NoOnBottom OnBottom OnlyOnBottom - \ Layer UseListSkip OnlyListSkip NoDeskSort - \ ReverseOrder CurrentAtEnd IconifiedAtEnd - \ UseIconName Alphabetic NotAlphabetic - \ SortByResource SortByClass NoHotkeys - \ SelectOnRelease - - syn keyword fvwmSpecialFn StartFunction InitFunction RestartFunction - \ ExitFunction SessionInitFunction - \ SessionRestartFunction SessionExitFunction - \ MissingSubmenuFunction WindowListFunc - - syn keyword fvwmKeyword skipwhite nextgroup=fvwmKeyWin,fvwmKeyName - \ Key PointerKey - syn region fvwmKeyWin contained skipwhite nextgroup=fvwmKeyName - \ start='(' end=')' - syn case match - syn match fvwmKeyName contained skipwhite nextgroup=fvwmKeyContext - \ '\v<([a-zA-Z0-9]|F\d+|KP_\d)>' - syn keyword fvwmKeyName contained skipwhite nextgroup=fvwmKeyContext - \ BackSpace Begin Break Cancel Clear Delete - \ Down End Escape Execute Find Help Home - \ Insert KP_Add KP_Begin KP_Decimal KP_Delete - \ KP_Divide KP_Down KP_End KP_Enter KP_Equal - \ KP_Home KP_Insert KP_Left KP_Multiply - \ KP_Next KP_Page_Down KP_Page_Up KP_Prior - \ KP_Right KP_Separator KP_Space KP_Subtract - \ KP_Tab KP_Up Left Linefeed Menu Mode_switch - \ Next Num_Lock Page_Down Page_Up Pause Print - \ Prior Redo Return Right script_switch - \ Scroll_Lock Select Sys_Req Tab Undo Up space - \ exclam quotedbl numbersign dollar percent - \ ampersand apostrophe quoteright parenleft - \ parenright asterisk plus comma minus period - \ slash colon semicolon less equal greater - \ question at bracketleft backslash - \ bracketright asciicircum underscore grave - \ quoteleft braceleft bar braceright - \ asciitilde - - syn match fvwmKeyContext contained skipwhite nextgroup=fvwmKeyMods - \ '\v<[][RWDTS_F<^>vI0-9AM-]+>' - syn match fvwmKeyMods contained '\v[NCSMLA1-5]+' - syn case ignore - - syn keyword fvwmKeyword skipwhite nextgroup=fvwmMouseWin,fvwmMouseButton - \ Mouse - syn region fvwmMouseWin contained skipwhite nextgroup=fvwmMouseButton - \ start='(' end=')' - syn match fvwmMouseButton contained skipwhite nextgroup=fvwmKeyContext - \ '[0-5]' -endif - -" Define syntax highlighting groups - -" -" Common highlighting groups -" -hi def link fvwmComment Comment -hi def link fvwmEnvVar Macro -hi def link fvwmNumber Number -hi def link fvwmKeyword Keyword -hi def link fvwmPath Constant -hi def link fvwmModConf Macro -hi def link fvwmRGBValue Constant -hi def link fvwmString String -hi def link fvwmBackslash SpecialChar - - -" -" Highlighting groups for fvwm1 specific items -" -hi def link fvwmExec fvwmKeyword -hi def link fvwmKey fvwmKeyword -hi def link fvwmModule fvwmKeyword -hi def link fvwmFunction Function - -" -" Highlighting groups for fvwm2 specific items -" -hi def link fvwmSpecialFn Type -hi def link fvwmCursorStyle fvwmStyleNames -hi def link fvwmStyleNames Identifier -hi def link fvwmMStyleNames fvwmStyleNames -hi def link fvwmCSNames fvwmStyleNames -hi def link fvwmGradient fvwmStyleNames -hi def link fvwmCondNames fvwmStyleNames -hi def link fvwmTCNames fvwmStyleNames -hi def link fvwmTRNames fvwmStyleNames -hi def link fvwmWLOpts fvwmStyleNames - -hi def link fvwmBNum Number -hi def link fvwmBState Type -hi def link fvwmBStyleNames fvwmStyleNames -hi def link fvwmBStyleFlags Special - -hi def link fvwmBStateTF Constant -hi def link fvwmBStateNames fvwmStyleNames - -hi def link fvwmBdState fvwmBState -hi def link fvwmBdStyNames fvwmStyleNames -hi def link fvwmBdStyFlags fvwmBStyleFlags - -hi def link fvwmTState fvwmBState -hi def link fvwmTStyleNames fvwmStyleNames -hi def link fvwmMPmapNames fvwmBStyleFlags -hi def link fvwmTStyleFlags fvwmBStyleFlags - -hi def link fvwmDirection fvwmBStyleFlags - -hi def link fvwmKeyWin Constant -hi def link fvwmMouseWin fvwmKeyWin -hi def link fvwmKeyName Special -hi def link fvwmKeyContext fvwmKeyName -hi def link fvwmKeyMods fvwmKeyName -hi def link fvwmMouseButton fvwmKeyName - -hi def link fvwmMenuString String -hi def link fvwmIcon Type -hi def link fvwmShortcutKey SpecialChar - -hi def link fvwmModuleName Function - -let b:current_syntax = "fvwm" - -let &cpo = s:keepcpo -unlet s:keepcpo diff --git a/uvim/runtime/syntax/fvwm2m4.mnv b/uvim/runtime/syntax/fvwm2m4.mnv new file mode 100644 index 0000000000..b9a4de396f --- /dev/null +++ b/uvim/runtime/syntax/fvwm2m4.mnv @@ -0,0 +1,32 @@ +" MNV syntax file +" Language: FvwmM4 preprocessed Fvwm2 configuration files +" Maintainer: David Ne\v{c}as (Yeti) +" Last Change: 2002-06-02 +" URI: http://physics.muni.cz/~yeti/download/syntax/fvwmm4.mnv + +" Setup +" quit when a syntax file was already loaded +if exists('b:current_syntax') + finish +endif + +" Let included files know they are included +if !exists('main_syntax') + let main_syntax = 'fvwm2m4' +endif + +" Include M4 syntax +runtime! syntax/m4.mnv +unlet b:current_syntax + +" Include Fvwm2 syntax (Fvwm1 doesn't have M4 preprocessor) +runtime! syntax/fvwm.mnv +unlet b:current_syntax + +" That's all! +let b:current_syntax = 'fvwm2m4' + +if main_syntax == 'fvwm2m4' + unlet main_syntax +endif + diff --git a/uvim/runtime/syntax/fvwm2m4.vim b/uvim/runtime/syntax/fvwm2m4.vim deleted file mode 100644 index e296273e31..0000000000 --- a/uvim/runtime/syntax/fvwm2m4.vim +++ /dev/null @@ -1,32 +0,0 @@ -" Vim syntax file -" Language: FvwmM4 preprocessed Fvwm2 configuration files -" Maintainer: David Ne\v{c}as (Yeti) -" Last Change: 2002-06-02 -" URI: http://physics.muni.cz/~yeti/download/syntax/fvwmm4.vim - -" Setup -" quit when a syntax file was already loaded -if exists('b:current_syntax') - finish -endif - -" Let included files know they are included -if !exists('main_syntax') - let main_syntax = 'fvwm2m4' -endif - -" Include M4 syntax -runtime! syntax/m4.vim -unlet b:current_syntax - -" Include Fvwm2 syntax (Fvwm1 doesn't have M4 preprocessor) -runtime! syntax/fvwm.vim -unlet b:current_syntax - -" That's all! -let b:current_syntax = 'fvwm2m4' - -if main_syntax == 'fvwm2m4' - unlet main_syntax -endif - diff --git a/uvim/runtime/syntax/gdb.mnv b/uvim/runtime/syntax/gdb.mnv new file mode 100644 index 0000000000..072488e104 --- /dev/null +++ b/uvim/runtime/syntax/gdb.mnv @@ -0,0 +1,1645 @@ +" MNV syntax file +" Language: GDB command files +" Maintainer: Doug Kearns +" Previous Maintainer: Claudio Fleiner +" Last Change: 2026 Feb 08 +" Contributors: Simon Sobisch + +" WARNING: the group names are NOT stable and may change at any time + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +syn iskeyword @,48-57,_,128-167,224-235,- + +" Include {{{1 +" TODO: other languages: ada asm auto c d fortran go local minimal opencl pascal rust unknown +syn include @gdbC syntax/c.mnv +unlet b:current_syntax + +syn region gdbExpression contained start="\S" skip="\\$" end="$" contains=@gdbC,gdbLineContinuation transparent + +" Commands {{{1 + +" breakpoints {{{2 +syn keyword gdbCommand contained aw[atch] nextgroup=@gdbWatchOption,gdbExpression skipwhite +syn keyword gdbCommand contained b[reak] +syn keyword gdbCommand contained break-[range] +syn keyword gdbCommand contained cat[ch] nextgroup=gdbCatchArgs skipwhite + syn keyword gdbCatchArgs contained assert catch exception exec fork handlers load rethrow signal syscall throw unload vfork +syn keyword gdbCommand contained cl[ear] cl + +syn match gdbCommand contained "\" nextgroup=gdbBreakpointNumber,gdbBreakpointRange skipwhite + " TODO: move this and generalise to idlist or similar? Where else are id + " numbers and ranges used? Breakpoints include catchpoints and watchpoints. + syn match gdbBreakpointNumber contained "\<\d\+\>" nextgroup=gdbBreakpointNumber,gdbBreakpointRange skipwhite + syn match gdbBreakpointRange contained "\<\d\+-\d\+\>" nextgroup=gdbBreakpointNumber,gdbBreakpointRange skipwhite + syn cluster gdbBreakpointNumbers contains=gdbBreakpointNumber,gdbBreakpointRange + syn match gdbBreakpointCount contained "-\@1" nextgroup=@gdbBreakpointNumbers skipwhite + " TODO: better name + syn keyword gdbCommandsKeyword silent contained + hi def link gdbCommandsKeyword gdbCommand +syn region gdbMultilineCommand contained start="\" matchgroup=gdbCommand end="^\s*\zsend\ze\s*$" contains=gdbCommand,gdbComment,gdbCommandsKeyword transparent fold + +syn keyword gdbCommand contained cond[ition] nextgroup=@gdbConditionOption,gdbConditionBreakpointNumber skipwhite + syn match gdbConditionEndOption contained "--" nextgroup=gdbExpression skipwhite + syn match gdbConditionOption contained "-f\%[orce]\>" nextgroup=gdbConditionEndOption,gdbExpression skipwhite + syn cluster gdbConditionOption contains=gdbConditionOption,gdbConditionEndOption + syn match gdbConditionBreakpointNumber contained "\<\d\+\>" contains=gdbBreakpointNumber nextgroup=gdbExpression skipwhite + +syn keyword gdbCommand contained del[ete] del d nextgroup=@gdbBreakpointNumbers,gdbDeleteArgs skipwhite + syn keyword gdbDeleteArgs contained breakpoints nextgroup=@gdbBreakpointNumbers skipwhite + syn keyword gdbDeleteArgs contained tracepoints tr nextgroup=@gdbBreakpointNumbers skipwhite + syn keyword gdbDeleteArgs contained bookmark checkpoint display mem tvariable +syn keyword gdbCommand contained dis[able] disa dis nextgroup=@gdbBreakpointNumbers,gdbDisableArgs skipwhite + syn keyword gdbDisableArgs contained breakpoints nextgroup=@gdbBreakpointNumbers skipwhite + syn keyword gdbDisableArgs contained display frame-filter mem pretty-printer probes type-printer unwinder xmethod +syn keyword gdbCommand contained dp[rintf] +syn keyword gdbCommand contained e[nable] en nextgroup=gdbEnableArgs skipwhite + syn keyword gdbEnableArgs contained display frame-filter mem pretty-printer probes type-printer unwinder xmethod + syn keyword gdbEnableArgs contained delete once nextgroup=@gdbBreakpointNumbers skipwhite + syn keyword gdbEnableArgs contained count nextgroup=gdbBreakpointCount skipwhite + syn keyword gdbEnableArgs contained breakpoints nextgroup=gdbEnableBreakpointArgs,@gdbBreakpointNumbers skipwhite + syn keyword gdbEnableBreakpointArgs contained count nextgroup=gdbBreakpointCount skipwhite + syn keyword gdbEnableBreakpointArgs contained delete once nextgroup=@gdbBreakpointNumbers skipwhite +syn keyword gdbCommand contained ft[race] +syn keyword gdbCommand contained hb[reak] +syn keyword gdbCommand contained ig[nore] +syn keyword gdbCommand contained rb[reak] +syn keyword gdbCommand contained rw[atch] nextgroup=@gdbWatchOption,gdbExpression skipwhite +syn keyword gdbCommand contained save nextgroup=gdbSaveArgs skipwhite + syn keyword gdbSaveArgs contained breakpoints gdb-index tracepoints +syn keyword gdbCommand contained sk[ip] nextgroup=gdbSkipArgs skipwhite + syn keyword gdbSkipArgs contained delete disable enable file function +syn keyword gdbCommand contained str[ace] +syn keyword gdbCommand contained tb[reak] +syn keyword gdbCommand contained tc[atch] +syn keyword gdbCommand contained tc[atch] nextgroup=gdbCatchArgs skipwhite +syn keyword gdbCommand contained thb[reak] +syn keyword gdbCommand contained tr[ace] tp +syn keyword gdbCommand contained wa[tch] nextgroup=@gdbWatchOption,gdbExpression skipwhite + syn match gdbWatchEndOption contained "--" nextgroup=gdbExpression skipwhite + syn match gdbWatchOption contained "-l\%[ocation]\>" nextgroup=gdbWatchEndOption,gdbExpression skipwhite + syn cluster gdbWatchOption contains=gdbWatchOption,gdbWatchEndOption + +" data {{{2 +syn keyword gdbCommand contained ag[ent-printf] nextgroup=gdbString +syn keyword gdbCommand contained app[end] nextgroup=gdbAppendArgs skipwhite + syn keyword gdbAppendArgs contained b[inary] nextgroup=gdbAppendBinaryArgs skipwhite + syn keyword gdbAppendBinaryArgs contained m[emory] v[alue] nextgroup=gdbAppendBinaryArgs skipwhite + syn keyword gdbAppendArgs contained m[emory] v[alue] +syn keyword gdbCommand contained ca[ll] +syn keyword gdbCommand contained disas[semble] +syn keyword gdbCommand contained disp[lay] nextgroup=gdbFormat skipwhite +syn keyword gdbCommand contained du[mp] nextgroup=gdbDumpArgs skipwhite + " TODO: share subcommand group + syn keyword gdbDumpArgs contained b[inary] i[hex] s[rec] t[ekhex] va[lue] ve[rilog] nextgroup=gdbDumpBinaryArgs skipwhite + syn keyword gdbDumpArgs contained m[emory] + syn keyword gdbDumpBinaryArgs contained m[emory] v[alue] +syn keyword gdbCommand contained explore nextgroup=gdbExploreArgs skipwhite + syn keyword gdbExploreArgs contained t[ype] v[alue] +syn keyword gdbCommand contained find +syn keyword gdbCommand contained in[it-if-undefined] +syn keyword gdbCommand contained mem +syn keyword gdbCommand contained memo[ry-tag] nextgroup=gdbMemoryTagArgs skipwhite + syn keyword gdbMemoryTagArgs contained c[heck] + syn keyword gdbMemoryTagArgs contained print-a[llocation-tag] + syn keyword gdbMemoryTagArgs contained print-l[ogical-tag] + syn keyword gdbMemoryTagArgs contained s[et-allocation-tag] + syn keyword gdbMemoryTagArgs contained w[ith-logical-tag] +syn keyword gdbCommand contained ou[tput] +syn keyword gdbCommand contained pr[int] ins[pect] p nextgroup=gdbPrintFormat skipwhite + syn match gdbPrintFormat contained "/1\=[oxdutfaicsz]\=" +syn keyword gdbCommand contained print-[object] po +syn keyword gdbCommand contained printf +syn keyword gdbCommand contained pt[ype] +syn keyword gdbCommand contained resto[re] + +" Set command {{{3 +syn keyword gdbCommand contained set nextgroup=gdbSetArgs skipwhite + + " Value types {{{4 + + " Boolean + syn keyword gdbSetBooleanValue contained on of[f] + + " Auto-boolean + syn keyword gdbSetAutoBooleanValue contained on of[f] a[uto] + + " Integer + syn keyword gdbSetIntegerValue contained unlimited + syn match gdbSetIntegerValue contained "[+-]\=\d\+\>" + + " UInteger + syn keyword gdbSetUIntegerValue contained unlimited + syn match gdbSetUIntegerValue contained "\<\d\+\>" + + " ZInteger + syn match gdbSetZIntegerValue contained "[+-]\=\d\+\>" + + " ZUInteger + syn match gdbSetZUIntegerValue contained "\<\d\+\>" + + " ZUIntegerUnlimited + syn keyword gdbSetZUIntegerUnlimitedValue contained unlimited + syn match gdbSetZUIntegerUnlimitedValue contained "-1\>" + syn match gdbSetZUIntegerUnlimitedValue contained "\<\d\+\>" + + " Enum + syn cluster gdbSetAskBooleanValue contains=gdbSetBooleanValue,gdbSetAskValue + syn keyword gdbSetAskValue contained a[sk] + + " String + syn region gdbSetStringValue contained start="\S" skip="\\$" end="\s*$" contains=gdbStringEscape + " StringNoEscape + syn region gdbSetStringNoEscapeValue contained start="\S" skip="\\$" end="\s*$" + + " OptionalFilename + syn match gdbSetOptionalFilenameValue contained "\S\+\%(\s*\S\+\)*" + " Filename + syn match gdbSetFilenameValue contained "\S\+\%(\s*\S\+\)*" + " TODO: better pattern? + " syn match gdbSetFilenameValue contained "\S.\{-}\ze\%(\s*$\)" + " syn region gdbSetFilenameValue contained start="\S" skip="\\$" end=\s*$" + + " Subcommands {{{4 + + syn keyword gdbSetArgs contained ag[ent] con[firm] ed[iting] ob[server] pa[gination] remotec[ache] remotef[low] ve[rbose] wr[ite] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained hei[ght] wi[dth] nextgroup=gdbSetUIntegerValue skipwhite + syn keyword gdbSetArgs contained an[notate] compl[aints] wa[tchdog] nextgroup=gdbSetZIntegerValue skipwhite + syn keyword gdbSetArgs contained remotet[imeout] remotea[ddresssize] nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite + syn keyword gdbSetArgs contained cha[rset] " [charset] + syn keyword gdbSetArgs contained end[ian] nextgroup=gdbSetEndianValue skipwhite + syn keyword gdbSetEndianValue contained auto big little + syn keyword gdbSetArgs contained dir[ectories] nextgroup=gdbSetOptionalFilenameValue skipwhite + syn keyword gdbSetArgs contained la[nguage] nextgroup=gdbSetLanguageValue skipwhite + syn keyword gdbSetLanguageValue contained ada asm auto c d fortran go local minimal modula-2 objective-c opencl pascal rust + syn keyword gdbSetLanguageValue contained unknown + syn match gdbSetLanguageValue contained "\" + syn keyword gdbSetArgs contained arg[s] nextgroup=gdbSetStringValue skipwhite + syn keyword gdbSetArgs contained cw[d] nextgroup=gdbSetOptionalFilenameValue skipwhite + " TODO: worth including an architecture value? + syn keyword gdbSetArgs contained arc[hitecture] proc[essor] nextgroup=gdbArchitecture skipwhite + syn keyword gdbSetArgs contained env[ironment] " VAR VALUE + syn keyword gdbSetArgs contained lis[tsize] nextgroup=gdbSetIntegerValue skipwhite + " TODO: auto as constant? + syn keyword gdbSetArgs contained gn[utarget] g nextgroup=gdbSetStringNoEscapeValue skipwhite + syn keyword gdbSetArgs contained rad[ix] + syn keyword gdbSetArgs contained os[abi] nextgroup=gdbSetOsabiValue skipwhite + syn keyword gdbSetOsabiValue contained auto default none + syn keyword gdbSetArgs contained pro[mpt] nextgroup=gdbSetStringValue skipwhite + syn keyword gdbSetArgs contained remotelogb[ase] nextgroup=gdbSetRemotelogbaseValue skipwhite + syn keyword gdbSetRemotelogbaseValue contained hex octal ascii + syn keyword gdbSetArgs contained remotelogf[ile] nextgroup=gdbSetFilenameValue skipwhite + " TODO: deprecated + syn keyword gdbSetArgs contained remotew[ritesize] + syn keyword gdbSetArgs contained vari[able] var " VAR = EXP + + syn keyword gdbSetArgs contained ad[a] nextgroup=gdbSetAdaArgs skipwhite + syn keyword gdbSetAdaArgs contained p[rint-signatures] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetAdaArgs contained s[ource-charset] nextgroup=gdbSetAdaSourceCharsetValue skipwhite + syn keyword gdbSetAdaSourceCharsetValue contained CP437 CP850 + syn match gdbSetAdaSourceCharsetValue contained "\" + syn keyword gdbSetAdaSourceCharsetValue contained UTF-8 + syn keyword gdbSetAdaArgs contained t[rust-PAD-over-XVS] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained arm nextgroup=gdbSetArmArgs skipwhite + syn keyword gdbSetArmArgs contained apcs32 nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArmArgs contained abi nextgroup=gdbSetArmAbiValue skipwhite + syn keyword gdbSetArmAbiValue contained AAPCS APCS auto + syn keyword gdbSetArmArgs contained disassembler nextgroup=gdbSetArmDisassemblerValue skipwhite + syn keyword gdbSetArmDisassemblerValue contained apcs atpcs gcc raw special-atpcs std + syn keyword gdbSetArmArgs contained fpu nextgroup=gdbSetArmFpuValue skipwhite + syn keyword gdbSetArmFpuValue contained auto fpa softfpa softvfp vfp + syn keyword gdbSetArmArgs contained fallback-mode nextgroup=gdbSetArmFallbackModeValue skipwhite + syn keyword gdbSetArmFallbackModeValue contained arm auto thumb + syn keyword gdbSetArmArgs contained force-mode nextgroup=gdbSetArmForceModeValue skipwhite + syn keyword gdbSetArmForceModeValue contained arm auto thumb + syn keyword gdbSetArgs contained bac[ktrace] nextgroup=gdbSetBacktraceArgs skipwhite + syn keyword gdbSetBacktraceArgs contained l[imit] nextgroup=gdbSetUIntegerValue skipwhite + syn keyword gdbSetBacktraceArgs contained past-e[ntry] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetBacktraceArgs contained past-m[ain] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained br[eakpoint] nextgroup=gdbSetBreakpointArgs skipwhite + syn keyword gdbSetBreakpointArgs contained p[ending] nextgroup=gdbSetAutoBooleanValue skipwhite + syn keyword gdbSetBreakpointArgs contained al[ways-inserted] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetBreakpointArgs contained au[to-hw] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetBreakpointArgs contained c[ondition-evaluation] nextgroup=gdbSetBreakpointCondtionEvaluationValue skipwhite + syn keyword gdbSetBreakpointCondtionEvaluationValue contained auto host target + syn keyword gdbSetArgs contained c[heck] ch c nextgroup=gdbSetCheckArgs skipwhite + syn keyword gdbSetCheckArgs contained range nextgroup=gdbSetCheckRangeValue skipwhite + syn keyword gdbSetCheckArgs contained type nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetCheckRangeValue contained on off warn auto + + syn keyword gdbSetArgs contained dc[ache] nextgroup=gdbSetDcacheArgs skipwhite + syn keyword gdbSetDcacheArgs contained size nextgroup=gdbSetZUIntegerValue skipwhite + syn keyword gdbSetDcacheArgs contained line-size nextgroup=gdbSetZUIntegerValue skipwhite + syn keyword gdbSetArgs contained debugi[nfod] nextgroup=gdbSetDebuginfodArgs skipwhite + syn keyword gdbSetDebuginfodArgs contained enabled nextgroup=@gdbSetAskBooleanValue skipwhite + syn keyword gdbSetDebuginfodArgs contained urls nextgroup=gdbSetStringNoEscapeValue skipwhite + syn keyword gdbSetDebuginfodArgs contained verbose nextgroup=gdbSetZUIntegerValue skipwhite + syn keyword gdbSetArgs contained for[tran] nextgroup=gdbSetFortranArgs skipwhite + syn keyword gdbSetFortranArgs contained repack-array-slices nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained gu[ile] gu nextgroup=gdbSetGuileArgs skipwhite + syn keyword gdbSetGuileArgs contained print-stack nextgroup=gdbSetGuilePrintStackValue skipwhite + syn keyword gdbSetGuilePrintStackValue contained none full message + syn keyword gdbSetArgs contained hi[story] nextgroup=gdbSetHistoryArgs skipwhite + syn keyword gdbSetHistoryArgs contained expansion save nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetHistoryArgs contained filename nextgroup=gdbSetOptionalFilenameValue skipwhite + syn keyword gdbSetHistoryArgs contained size nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite + syn keyword gdbSetHistoryArgs contained remove-duplicates nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite + syn keyword gdbSetArgs contained lo[gging] nextgroup=gdbSetLoggingArgs skipwhite + syn keyword gdbSetLoggingArgs contained debugredirect enabled overwrite redirect nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetLoggingArgs contained file nextgroup=gdbSetFilenameValue skipwhite + syn keyword gdbSetArgs contained me[m] nextgroup=gdbSetMemArgs skipwhite + syn keyword gdbSetMemArgs contained inaccessible-by-default + syn keyword gdbSetArgs contained mips nextgroup=gdbSetMipsArgs skipwhite + syn keyword gdbSetMipsArgs contained abi nextgroup=gdbSetMipsAbiValue skipwhite + syn keyword gdbSetMipsAbiValue contained auto eabi32 eabi64 n32 n64 o32 o64 + syn keyword gdbSetMipsArgs contained compression nextgroup=gdbSetMipsCompressionValue skipwhite + syn keyword gdbSetMipsCompressionValue contained micromips mips16 + syn keyword gdbSetMipsArgs contained mask-address nextgroup=gdbSetAutoBooleanValue skipwhite + syn keyword gdbSetArgs contained mipsf[pu] nextgroup=gdbSetMipsfpuValue skipwhite + syn keyword gdbSetMipsfpuValue contained auto double none single 1 0 yes no on off + syn keyword gdbSetArgs contained mp[x] nextgroup=gdbSetMpxArgs skipwhite + syn keyword gdbSetMpxArgs contained bound + syn keyword gdbSetArgs contained po[werpc] nextgroup=gdbSetPowerpcArgs skipwhite + syn keyword gdbSetPowerpcArgs contained exact-watchpoints nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetPowerpcArgs contained soft-float nextgroup=gdbSetAutoBooleanValue skipwhite + syn keyword gdbSetPowerpcArgs contained vector-abi nextgroup=gdbSetPowerpcVectorAbiValue skipwhite + syn keyword gdbSetPowerpcVectorAbiValue contained altivec auto generic spe + syn keyword gdbSetArgs contained pri[nt] pr p nextgroup=gdbSetPrintArgs skipwhite + syn keyword gdbSetPrintArgs contained address demangle finish object pretty union vtbl nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetPrintArgs contained elements repeats nextgroup=gdbSetUIntegerValue skipwhite + syn keyword gdbSetPrintArgs contained type nextgroup=gdbSetPrintTypeArgs skipwhite + syn keyword gdbSetPrintTypeArgs contained hex methods typedefs nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetPrintTypeArgs contained nested-type-limit nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite + syn keyword gdbSetPrintArgs contained array nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetPrintArgs contained array-indexes nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetPrintArgs contained asm-demangle nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetPrintArgs contained entry-values nextgroup=gdbSetPrintEntryValuesValue skipwhite + syn keyword gdbSetPrintEntryValuesValue contained both compact default if-needed no only preferred + syn keyword gdbSetPrintArgs contained frame-arguments nextgroup=gdbSetPrintFrameArgumentsValue skipwhite + syn keyword gdbSetPrintFrameArgumentsValue contained all none presence scalars + syn keyword gdbSetPrintArgs contained frame-info nextgroup=gdbSetPrintFrameInfoValue skipwhite + syn keyword gdbSetPrintFrameInfoValue contained auto location location-and-address short-location source-and-location source-line + syn keyword gdbSetPrintArgs contained inferior-events nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetPrintArgs contained max-depth nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite + syn keyword gdbSetPrintArgs contained max-symbolic-offset nextgroup=gdbSetUIntegerValue skipwhite + syn keyword gdbSetPrintArgs contained memory-tag-violations nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetPrintArgs contained null-stop nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetPrintArgs contained pascal_static-members nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetPrintArgs contained raw-frame-arguments nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetPrintArgs contained raw-values nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetPrintArgs contained sevenbit-strings nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetPrintArgs contained static-members nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetPrintArgs contained symbol nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetPrintArgs contained symbol-filename nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetPrintArgs contained symbol-loading nextgroup=gdbSetSymbolLoadingValue skipwhite + syn keyword gdbSetSymbolLoadingValue contained brief full off + syn keyword gdbSetPrintArgs contained thread-events nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained py[thon] nextgroup=gdbSetPythonArgs skipwhite + syn keyword gdbSetPythonArgs contained dont-write-bytecode nextgroup=gdbSetAutoBooleanValue skipwhite + syn keyword gdbSetPythonArgs contained ignore-environment + syn keyword gdbSetPythonArgs contained print-stack nextgroup=gdbSetPythonPrintStackValue skipwhite + syn keyword gdbSetPythonPrintStackValue contained none full message + syn keyword gdbSetArgs contained rav[enscar] nextgroup=gdbSetRavenscarArgs skipwhite + syn keyword gdbSetRavenscarArgs contained task-switching + syn keyword gdbSetArgs contained rec[ord] rec nextgroup=gdbSetRecordArgs skipwhite + syn keyword gdbSetRecordArgs contained btrace nextgroup=gdbSetRecordBtraceArgs skipwhite + syn keyword gdbSetRecordBtraceArgs contained bts nextgroup=gdbSetRecordBtraceBtsArgs skipwhite + syn keyword gdbSetRecordBtraceBtsArgs contained buffer-size nextgroup=gdbSetUIntegerValue skipwhite + syn keyword gdbSetRecordBtraceArgs contained cpu nextgroup=gdbSetRecordBtraceCpuArgs skipwhite + syn keyword gdbSetRecordBtraceCpuArgs contained auto none + syn keyword gdbSetRecordBtraceArgs contained pt nextgroup=gdbSetRecordBtracePtArgs skipwhite + syn keyword gdbSetRecordBtracePtArgs contained buffer-size nextgroup=gdbSetUIntegerValue skipwhite + syn keyword gdbSetRecordBtraceArgs contained replay-memory-access nextgroup=gdbSetRecordBtraceReplayMemoryAccessValue skipwhite + syn keyword gdbSetRecordBtraceReplayMemoryAccessValue contained read-only read-write + syn keyword gdbSetRecordArgs contained full nextgroup=gdbSetRecordFullArgs skipwhite + syn keyword gdbSetRecordFullArgs contained insn-number-max nextgroup=gdbSetUIntegerValue skipwhite + syn keyword gdbSetRecordFullArgs contained memory-query + syn keyword gdbSetRecordFullArgs contained stop-at-limit + syn keyword gdbSetRecordArgs contained function-call-history-size nextgroup=gdbSetUIntegerValue skipwhite + syn keyword gdbSetRecordArgs contained instruction-history-size nextgroup=gdbSetUIntegerValue skipwhite + syn keyword gdbSetArgs contained ri[scv] nextgroup=gdbSetRiscvArgs skipwhite + syn keyword gdbSetRiscvArgs contained use-compressed-breakpoints nextgroup=gdbSetAutoBooleanValue skipwhite + syn keyword gdbSetArgs contained se[rial] nextgroup=gdbSetSerialArgs skipwhite + syn keyword gdbSetSerialArgs contained baud nextgroup=gdbSetZIntegerValue skipwhite + syn keyword gdbSetSerialArgs contained parity nextgroup=gdbSetSerialParityValue skipwhite + syn keyword gdbSetSerialParityValue contained none odd + syn keyword gdbSetArgs contained sh nextgroup=gdbSetShArgs skipwhite + syn keyword gdbSetShArgs contained calling-convention nextgroup=gdbSetShCallingConventionValue skipwhite + syn keyword gdbSetShCallingConventionValue contained gcc renesas + syn keyword gdbSetArgs contained sou[rce] nextgroup=gdbSetSourceArgs skipwhite + syn keyword gdbSetSourceArgs contained open + syn keyword gdbSetArgs contained sty[le] nextgroup=gdbSetStyleArgs skipwhite + syn keyword gdbSetStyleArgs contained address nextgroup=gdbSetStyleAddressArgs skipwhite + syn keyword gdbSetStyleAddressArgs contained background foreground intensity + syn keyword gdbSetStyleArgs contained disassembler nextgroup=gdbSetStyleDissassemblerArgs skipwhite + syn keyword gdbSetStyleDissassemblerArgs contained enabled nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetStyleArgs contained enabled nextgroup=gdbSetAutoBooleanValue skipwhite + syn keyword gdbSetStyleArgs contained filename nextgroup=gdbSetStyleFilenameArgs skipwhite + syn keyword gdbSetStyleFilenameArgs contained background foreground intensity + syn keyword gdbSetStyleArgs contained function nextgroup=gdbSetStyleFunctionArgs skipwhite + syn keyword gdbSetStyleFunctionArgs contained background foreground intensity + syn keyword gdbSetStyleArgs contained highlight nextgroup=gdbSetStyleHighlightArgs skipwhite + syn keyword gdbSetStyleHighlightArgs contained background foreground intensity + syn keyword gdbSetStyleArgs contained metadata nextgroup=gdbSetStyleMetadataArgs skipwhite + syn keyword gdbSetStyleMetadataArgs contained background foreground intensity + syn keyword gdbSetStyleArgs contained sources nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetStyleArgs contained title nextgroup=gdbSetStyleTitleArgs skipwhite + syn keyword gdbSetStyleTitleArgs contained background foreground intensity + syn keyword gdbSetStyleArgs contained tui-active-border nextgroup=gdbSetStyleTuiActiveBorderArgs skipwhite + syn keyword gdbSetStyleTuiActiveBorderArgs contained background foreground intensity + syn keyword gdbSetStyleArgs contained tui-border nextgroup=gdbSetStyleTuiBorderArgs skipwhite + syn keyword gdbSetStyleTuiBorderArgs contained background foreground intensity + syn keyword gdbSetStyleArgs contained variable nextgroup=gdbSetStyleVariableArgs skipwhite + syn keyword gdbSetStyleVariableArgs contained background foreground intensity + syn keyword gdbSetStyleArgs contained version nextgroup=gdbSetStyleVersionArgs skipwhite + syn keyword gdbSetStyleVersionArgs contained background foreground intensity + syn keyword gdbSetArgs contained tc[p] nextgroup=gdbSetTcpArgs skipwhite + syn keyword gdbSetTcpArgs contained auto-retry nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetTcpArgs contained connect-timeout nextgroup=gdbSetUIntegerValue skipwhite + syn keyword gdbSetArgs contained td[esc] nextgroup=gdbSetTdescArgs skipwhite + syn keyword gdbSetTdescArgs contained filename nextgroup=gdbSetFilenameValue skipwhite + syn keyword gdbSetArgs contained tu[i] nextgroup=gdbSetTuiArgs skipwhite + syn keyword gdbSetTuiArgs contained active-border-mode + syn keyword gdbSetTuiArgs contained border-kind nextgroup=gdbSetTuiBorderKindValue skipwhite + syn keyword gdbSetTuiBorderKindValue contained asc ascii space + syn keyword gdbSetTuiArgs contained border-mode nextgroup=gdbSetTuiBorderModeValue skipwhite + syn keyword gdbSetTuiBorderModeValue contained normal standout reverse half half-standout bold bold-standout + syn keyword gdbSetTuiArgs contained compact-source + syn keyword gdbSetTuiArgs contained tab-width nextgroup=gdbSetZUIntegerValue skipwhite + + syn keyword gdbSetArgs contained auto-c[onnect-native-target] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained auto-l[oad] nextgroup=gdbSetAutoloadValue,gdbSetAutoloadArgs skipwhite + syn keyword gdbSetAutoloadValue contained no off 0 + syn keyword gdbSetAutoloadArgs contained gdb-scripts nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetAutoloadArgs contained guile-scripts nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetAutoloadArgs contained libthread-db nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetAutoloadArgs contained local-gdbinit nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetAutoloadArgs contained python-scripts nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetAutoloadArgs contained safe-path nextgroup=gdbSetOptionalFilenameValue skipwhite + syn keyword gdbSetAutoloadArgs contained scripts-directory nextgroup=gdbSetOptionalFilenameValue skipwhite + syn keyword gdbSetArgs contained auto-s[olib-add] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained bas[enames-may-differ] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained can[-use-hw-watchpoints] nextgroup=gdbSetZIntegerValue skipwhite + syn keyword gdbSetArgs contained cas[e-sensitive] nextgroup=gdbSetAutoBooleanValue skipwhite + syn keyword gdbSetArgs contained ci[rcular-trace-buffer] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained cod[e-cache] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained coe[rce-float-to-double] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained compile-a[rgs] nextgroup=gdbSetStringValue skipwhite + syn keyword gdbSetArgs contained compile-g[cc] nextgroup=gdbSetOptionalFilenameValue skipwhite + syn keyword gdbSetArgs contained cp[-abi] nextgroup=gdbSetCpAbiValue skipwhite + syn keyword gdbSetCpAbiValue contained auto gnu-v2 gnu-v3 + syn keyword gdbSetArgs contained cris-d[warf2-cfi] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained cris-m[ode] nextgroup=gdbSetCrisModeValue skipwhite + syn keyword gdbSetCrisModeValue contained guru normal + syn keyword gdbSetArgs contained cris-v[ersion] nextgroup=gdbSetZUIntegerValue skipwhite + syn keyword gdbSetArgs contained data-directory nextgroup=gdbSetFilenameValue skipwhite + syn keyword gdbSetArgs contained debug nextgroup=gdbSetDebugArgs skipwhite + syn keyword gdbSetDebugArgs contained arch bpf expression microblaze mips overload record serial target varobj xtensa nextgroup=gdbSetZUIntegerValue skipwhite + syn keyword gdbSetDebugArgs contained aarch64 arc arm csky displaced frame infrun hppa jit nios2 notification observer or1k parser nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetDebugArgs contained riscv nextgroup=gdbSetDebugRiscvArgs skipwhite + syn keyword gdbSetDebugRiscvArgs contained breakpoints gdbarch infcall unwinder nextgroup=gdbSetZUIntegerValue skipwhite + syn keyword gdbSetDebugArgs contained skip symfile threads timestamp xml nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetDebugArgs contained aix-solib nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetDebugArgs contained auto-load nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetDebugArgs contained bfd-cache nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetDebugArgs contained check-physname nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetDebugArgs contained coff-pe-read nextgroup=gdbSetZUIntegerValue skipwhite + syn keyword gdbSetDebugArgs contained compile nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetDebugArgs contained compile-cplus-scopes nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetDebugArgs contained compile-cplus-types nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetDebugArgs contained dwarf-die nextgroup=gdbSetZUIntegerValue skipwhite + syn keyword gdbSetDebugArgs contained dwarf-line nextgroup=gdbSetZUIntegerValue skipwhite + syn keyword gdbSetDebugArgs contained dwarf-read nextgroup=gdbSetZUIntegerValue skipwhite + syn keyword gdbSetDebugArgs contained entry-values nextgroup=gdbSetZUIntegerValue skipwhite + syn keyword gdbSetDebugArgs contained event-loop nextgroup=gdbSetDebugEventLoopValue skipwhite + syn keyword gdbSetDebugEventLoopValue contained all all-except-ui off + syn keyword gdbSetDebugArgs contained fortran-array-slicing nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetDebugArgs contained index-cache nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetDebugArgs contained libthread-db nextgroup=gdbSetZUIntegerValue skipwhite + syn keyword gdbSetDebugArgs contained linux-namespaces nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetDebugArgs contained linux-nat nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetDebugArgs contained mach-o nextgroup=gdbSetZUIntegerValue skipwhite + syn keyword gdbSetDebugArgs contained py-breakpoint nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetDebugArgs contained py-micmd nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetDebugArgs contained py-unwind nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetDebugArgs contained remote nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetDebugArgs contained remote-packet-max-chars nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite + syn keyword gdbSetDebugArgs contained separate-debug-file nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetDebugArgs contained solib-dsbt nextgroup=gdbSetZUIntegerValue skipwhite + syn keyword gdbSetDebugArgs contained solib-frv nextgroup=gdbSetZUIntegerValue skipwhite + syn keyword gdbSetDebugArgs contained stap-expression nextgroup=gdbSetZUIntegerValue skipwhite + syn keyword gdbSetDebugArgs contained symbol-lookup nextgroup=gdbSetZUIntegerValue skipwhite + syn keyword gdbSetDebugArgs contained symtab-create nextgroup=gdbSetZUIntegerValue skipwhite + syn keyword gdbSetArgs contained debug-[file-directory] nextgroup=gdbSetOptionalFilenameValue skipwhite + syn keyword gdbSetArgs contained def[ault-collect] nextgroup=gdbSetStringValue skipwhite + syn keyword gdbSetArgs contained dem[angle-style] nextgroup=gdbSetDemangleStyleValue skipwhite + syn keyword gdbSetDemangleStyleValue contained auto dlang gnat gnu-v3 java none rust + syn keyword gdbSetArgs contained det[ach-on-fork] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained disab[le-randomization] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained disassemble-[next-line] nextgroup=gdbSetAutoBooleanValue skipwhite + syn keyword gdbSetArgs contained disassembler[-options] nextgroup=gdbSetStringNoEscapeValue skipwhite + syn keyword gdbSetArgs contained disassembly[-flavor] nextgroup=gdbSetDisassemblyFlavorValue skipwhite + syn keyword gdbSetDisassemblyFlavorValue contained att intel + syn keyword gdbSetArgs contained disconnected-d[printf] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained disconnected-t[racing] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained disp[laced-stepping] nextgroup=gdbSetAutoBooleanValue skipwhite + syn keyword gdbSetArgs contained dprintf-c[hannel] nextgroup=gdbSetStringValue skipwhite + syn keyword gdbSetArgs contained dprintf-f[unction] nextgroup=gdbSetStringValue skipwhite + syn keyword gdbSetArgs contained dprintf-s[tyle] nextgroup=gdbSetDprintfStyleValue skipwhite + syn keyword gdbSetDprintfStyleValue contained agent call gdb + syn keyword gdbSetArgs contained du[mp-excluded-mappings] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained exec-di[rection] nextgroup=gdbSetExecDirectionValue skipwhite + syn keyword gdbSetExecDirectionValue contained forward reverse + syn keyword gdbSetArgs contained exec-do[ne-display] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained exec-f[ile-mismatch] nextgroup=gdbSetExecFileMismatchValue skipwhite + syn keyword gdbSetExecFileMismatchValue contained ask off warn + syn keyword gdbSetArgs contained exec-w[rapper] nextgroup=gdbSetFilenameValue skipwhite + syn keyword gdbSetArgs contained extend[ed-prompt] nextgroup=gdbSetExtendedPromptValue skipwhite + " TODO: move this? + syn region gdbSetExtendedPromptValue contained start="\S" skip="\\$" end="\s*$" + syn match gdbStringEscape "\\[\\ efnprtvw]" containedin=gdbSetExtendedPromptValue + syn match gdbStringEscape "\\[fpt]{[^}]\+}" containedin=gdbSetExtendedPromptValue + syn match gdbStringEscape "\\\[[^]]\+]" containedin=gdbSetExtendedPromptValue + syn keyword gdbSetArgs contained extens[ion-language] nextgroup=gdbSetStringNoEscapeValue skipwhite + syn keyword gdbSetArgs contained fi[lename-display] nextgroup=gdbSetFilenameDisplayValue skipwhite + syn keyword gdbSetFilenameDisplayValue contained absolute basename relative + syn keyword gdbSetArgs contained follow-e[xec-mode] nextgroup=gdbSetFollowExecModeValue skipwhite + syn keyword gdbSetFollowExecModeValue contained new same + syn keyword gdbSetArgs contained follow-f[ork-mode] nextgroup=gdbSetFollowForkModeValue skipwhite + syn keyword gdbSetFollowForkModeValue contained child parent + syn keyword gdbSetArgs contained fr[ame-filter] nextgroup=gdbSetFrameFilterArgs skipwhite + syn keyword gdbSetFrameFilterArgs contained priority nextgroup=gdbSetFrameFilterPriorityValue skipwhite + syn keyword gdbSetFrameFilterPriorityValue contained global progspace + syn keyword gdbSetArgs contained ho[st-charset] " [charset] + syn keyword gdbSetArgs contained heu[ristic-fence-post] nextgroup=gdbSetZIntegerValue skipwhite + syn keyword gdbSetArgs contained ind[ex-cache] nextgroup=gdbSetIndexCacheArgs skipwhite + syn keyword gdbSetIndexCacheArgs contained directory nextgroup=gdbSetFilenameValue skipwhite + syn keyword gdbSetIndexCacheArgs contained enabled nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained inf[erior-tty] nextgroup=gdbSetOptionalFilenameValue skipwhite + syn keyword gdbSetArgs contained inp[ut-radix] + syn keyword gdbSetArgs contained int[eractive-mode] nextgroup=gdbSetAutoBooleanValue skipwhite + syn keyword gdbSetArgs contained lib[thread-db-search-path] nextgroup=gdbSetOptionalFilenameValue skipwhite + syn keyword gdbSetArgs contained max-c[ompletions] nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite + syn keyword gdbSetArgs contained max-u[ser-call-depth] nextgroup=gdbSetUIntegerValue skipwhite + syn keyword gdbSetArgs contained max-v[alue-size] nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite + syn keyword gdbSetArgs contained may-c[all-functions] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained may-insert-b[reakpoints] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained may-insert-f[ast-tracepoints] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained may-insert-t[racepoints] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained may-int[errupt] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained may-write-m[emory] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained may-write-r[egisters] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained mi-[async] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained mu[ltiple-symbols] nextgroup=gdbSetMultipleSymbolsValue skipwhite + syn keyword gdbSetMultipleSymbolsValue contained all ask cancel + syn keyword gdbSetArgs contained no[n-stop] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained op[aque-type-resolution] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained ou[tput-radix] + syn keyword gdbSetArgs contained ov[erload-resolution] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained ran[ge-stepping] nextgroup=gdbSetBooleanValue skipwhite + " TODO: remote protocol specific variables? + syn keyword gdbSetArgs contained remote nextgroup=gdbSetRemoteArgs skipwhite + syn keyword gdbSetRemoteArgs contained TracepointSource-packet + syn keyword gdbSetRemoteArgs contained Z-packet nextgroup=gdbSetAutoBooleanValue skipwhite + syn keyword gdbSetRemoteArgs contained access-watchpoint-packet + syn keyword gdbSetRemoteArgs contained agent-packet + syn keyword gdbSetRemoteArgs contained allow-packet + syn keyword gdbSetRemoteArgs contained attach-packet + syn keyword gdbSetRemoteArgs contained binary-download-packet + syn keyword gdbSetRemoteArgs contained X-packet + syn keyword gdbSetRemoteArgs contained breakpoint-commands-packet + syn keyword gdbSetRemoteArgs contained btrace-conf-bts-size-packet + syn keyword gdbSetRemoteArgs contained btrace-conf-pt-size-packet + syn keyword gdbSetRemoteArgs contained catch-syscalls-packet + syn keyword gdbSetRemoteArgs contained conditional-breakpoints-packet + syn keyword gdbSetRemoteArgs contained conditional-tracepoints-packet + syn keyword gdbSetRemoteArgs contained ctrl-c-packet + syn keyword gdbSetRemoteArgs contained disable-btrace-packet + syn keyword gdbSetRemoteArgs contained disable-randomization-packet + syn keyword gdbSetRemoteArgs contained enable-btrace-bts-packet + syn keyword gdbSetRemoteArgs contained enable-btrace-pt-packet + syn keyword gdbSetRemoteArgs contained environment-hex-encoded-packet + syn keyword gdbSetRemoteArgs contained environment-reset-packet + syn keyword gdbSetRemoteArgs contained environment-unset-packet + syn keyword gdbSetRemoteArgs contained exec-event-feature-packet + syn keyword gdbSetRemoteArgs contained exec-file nextgroup=gdbSetStringNoEscapeValue skipwhite + syn keyword gdbSetRemoteArgs contained fast-tracepoints-packet + syn keyword gdbSetRemoteArgs contained fetch-register-packet + syn keyword gdbSetRemoteArgs contained p-packet + syn keyword gdbSetRemoteArgs contained fork-event-feature-packet + syn keyword gdbSetRemoteArgs contained get-thread-information-block-address-packet + syn keyword gdbSetRemoteArgs contained get-thread-local-storage-address-packet + syn keyword gdbSetRemoteArgs contained hardware-breakpoint-limit nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite + syn keyword gdbSetRemoteArgs contained hardware-breakpoint-packet + syn keyword gdbSetRemoteArgs contained hardware-watchpoint-length-limit nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite + syn keyword gdbSetRemoteArgs contained hardware-watchpoint-limit nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite + syn keyword gdbSetRemoteArgs contained hostio-close-packet + syn keyword gdbSetRemoteArgs contained hostio-fstat-packet + syn keyword gdbSetRemoteArgs contained hostio-open-packet + syn keyword gdbSetRemoteArgs contained hostio-pread-packet + syn keyword gdbSetRemoteArgs contained hostio-pwrite-packet + syn keyword gdbSetRemoteArgs contained hostio-readlink-packet + syn keyword gdbSetRemoteArgs contained hostio-setfs-packet + syn keyword gdbSetRemoteArgs contained hostio-unlink-packet + syn keyword gdbSetRemoteArgs contained hwbreak-feature-packet + syn keyword gdbSetRemoteArgs contained install-in-trace-packet + syn keyword gdbSetRemoteArgs contained interrupt-on-connect + syn keyword gdbSetRemoteArgs contained interrupt-sequence nextgroup=gdbSetRemoteInterruptSequenceValue skipwhite + syn keyword gdbSetRemoteInterruptSequenceValue contained BREAK BREAK-g Ctrl-C + syn keyword gdbSetRemoteArgs contained kill-packet + syn keyword gdbSetRemoteArgs contained library-info-packet + syn keyword gdbSetRemoteArgs contained library-info-svr4-packet + syn keyword gdbSetRemoteArgs contained memory-map-packet + syn keyword gdbSetRemoteArgs contained memory-read-packet-size + syn keyword gdbSetRemoteArgs contained memory-tagging-feature-packet + syn keyword gdbSetRemoteArgs contained memory-write-packet-size + syn keyword gdbSetRemoteArgs contained multiprocess-feature-packet + syn keyword gdbSetRemoteArgs contained no-resumed-stop-reply-packet + syn keyword gdbSetRemoteArgs contained noack-packet + syn keyword gdbSetRemoteArgs contained osdata-packet + syn keyword gdbSetRemoteArgs contained pass-signals-packet + syn keyword gdbSetRemoteArgs contained pid-to-exec-file-packet + syn keyword gdbSetRemoteArgs contained program-signals-packet + syn keyword gdbSetRemoteArgs contained query-attached-packet + syn keyword gdbSetRemoteArgs contained read-aux-vector-packet + syn keyword gdbSetRemoteArgs contained read-btrace-conf-packet + syn keyword gdbSetRemoteArgs contained read-btrace-packet + syn keyword gdbSetRemoteArgs contained read-fdpic-loadmap-packet + syn keyword gdbSetRemoteArgs contained read-sdata-object-packet + syn keyword gdbSetRemoteArgs contained read-siginfo-object-packet + syn keyword gdbSetRemoteArgs contained read-watchpoint-packet + syn keyword gdbSetRemoteArgs contained reverse-continue-packet + syn keyword gdbSetRemoteArgs contained reverse-step-packet + syn keyword gdbSetRemoteArgs contained run-packet + syn keyword gdbSetRemoteArgs contained search-memory-packet + syn keyword gdbSetRemoteArgs contained set-register-packet + syn keyword gdbSetRemoteArgs contained P-packet + syn keyword gdbSetRemoteArgs contained set-working-dir-packet + syn keyword gdbSetRemoteArgs contained software-breakpoint-packet + syn keyword gdbSetRemoteArgs contained startup-with-shell-packet + syn keyword gdbSetRemoteArgs contained static-tracepoints-packet + syn keyword gdbSetRemoteArgs contained supported-packets-packet + syn keyword gdbSetRemoteArgs contained swbreak-feature-packet + syn keyword gdbSetRemoteArgs contained symbol-lookup-packet + syn keyword gdbSetRemoteArgs contained system-call-allowed + syn keyword gdbSetRemoteArgs contained target-features-packet + syn keyword gdbSetRemoteArgs contained thread-events-packet + syn keyword gdbSetRemoteArgs contained threads-packet + syn keyword gdbSetRemoteArgs contained trace-buffer-size-packet + syn keyword gdbSetRemoteArgs contained trace-status-packet + syn keyword gdbSetRemoteArgs contained traceframe-info-packet + syn keyword gdbSetRemoteArgs contained unwind-info-block-packet + syn keyword gdbSetRemoteArgs contained verbose-resume-packet + syn keyword gdbSetRemoteArgs contained verbose-resume-supported-packet + syn keyword gdbSetRemoteArgs contained vfork-event-feature-packet + syn keyword gdbSetRemoteArgs contained write-siginfo-object-packet + syn keyword gdbSetRemoteArgs contained write-watchpoint-packet + syn keyword gdbSetArgs contained remote-[mips64-transfers-32bit-regs] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained schedule-[multiple] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained schedule[r-locking] nextgroup=gdbSetSchedulerLockingValue skipwhite + syn keyword gdbSetSchedulerLockingValue contained on off replay step + syn keyword gdbSetArgs contained scr[ipt-extension] nextgroup=gdbSetScriptExtensionValue skipwhite + syn keyword gdbSetScriptExtensionValue contained off soft strict + syn keyword gdbSetArgs contained solib-s[earch-path] nextgroup=gdbSetOptionalFilenameValue skipwhite + syn keyword gdbSetArgs contained stac[k-cache] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained startup-q[uietly] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained startup-w[ith-shell] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained ste[p-mode] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained sto[p-on-solib-events] nextgroup=gdbSetZIntegerValue skipwhite + syn keyword gdbSetArgs contained str[uct-convention] nextgroup=gdbSetStructConventionValue skipwhite + syn keyword gdbSetStructConventionValue contained default pcc reg + syn keyword gdbSetArgs contained sub[stitute-path] nextgroup=gdbSetFilenameValue skipwhite + syn keyword gdbSetArgs contained sup[press-cli-notifications] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained sy[sroot] solib-a[bsolute-prefix] nextgroup=gdbSetOptionalFilenameValue skipwhite + syn keyword gdbSetArgs contained target-c[harset] " [charset] + syn keyword gdbSetArgs contained target-f[ile-system-kind] nextgroup=gdbSetTargetFileSystemKindValue skipwhite + syn keyword gdbSetTargetFileSystemKindValue contained auto unix dos-based + syn keyword gdbSetArgs contained target-w[ide-charset] " [charset] + syn keyword gdbSetArgs contained trace-b[uffer-size] nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite + syn keyword gdbSetArgs contained trace-c[ommands] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained trace-n[otes] nextgroup=gdbSetStringValue skipwhite + syn keyword gdbSetArgs contained trace-s[top-notes] nextgroup=gdbSetStringValue skipwhite + syn keyword gdbSetArgs contained trace-u[ser] nextgroup=gdbSetStringValue skipwhite + syn keyword gdbSetArgs contained tru[st-readonly-sections] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained unwind-[on-terminating-exception] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained unwindo[nsignal] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained use-c[oredump-filter] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained use-d[eprecated-index-sections] nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbSetArgs contained vars[ize-limit] nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite + " }}}3 + +syn keyword gdbCommand contained und[isplay] +syn keyword gdbCommand contained wha[tis] +syn match gdbWith contained "\<\%(wit\%[h]\|w\)\>" nextgroup=gdbSetArgs skipwhite +syn region gdbWrappedCommand contained start="\<\%(wit\%[h]\|w\)\>" matchgroup=gdbCommandAnchor end="--" end="$" skip="\\$" transparent contains=gdbWith,gdbLineContinuation nextgroup=gdbCommand skipwhite keepend +syn keyword gdbCommand contained x nextgroup=gdbFormat +syn match gdbFormat contained "/\%(-\=\d*\)\=[oxdutfaicsz]\=[bhwg]\=" +syn match gdbFormat contained "/\%(-\=\d*\)\=[bhwg]\=[oxdutfaicsz]\=" + +" files {{{2 +syn keyword gdbCommand contained add-symbol-file +syn keyword gdbCommand contained add-symbol-file-[from-memory] +syn keyword gdbCommand contained cd +syn keyword gdbCommand contained co[re-file] +syn keyword gdbCommand contained dir[ectory] +syn keyword gdbCommand contained ed[it] +syn keyword gdbCommand contained exe[c-file] +syn keyword gdbCommand contained fil[e] +syn keyword gdbCommand contained for[ward-search] fo sea[rch] +syn keyword gdbCommand contained ge[nerate-core-file] gc[ore] +syn keyword gdbCommand contained li[st] l +syn keyword gdbCommand contained lo[ad] +syn keyword gdbCommand contained no[sharedlibrary] +syn keyword gdbCommand contained pat[h] +syn keyword gdbCommand contained pw[d] +syn keyword gdbCommand contained remot[e] nextgroup=gdbRemoteArgs skipwhite + syn keyword gdbRemoteArgs contained d[elete] g[et] p[ut] +syn keyword gdbCommand contained remove-s[ymbol-file] +syn keyword gdbCommand contained reverse-se[arch] rev +syn keyword gdbCommand contained sec[tion] +syn keyword gdbCommand contained sha[redlibrary] +syn keyword gdbCommand contained sy[mbol-file] + +" internals {{{2 +syn keyword gdbCommand contained mai[ntenance] mt nextgroup=gdbMaintenanceArgs skipwhite + syn keyword gdbMaintenanceArgs contained agent + syn keyword gdbMaintenanceArgs contained agent-eval + syn keyword gdbMaintenanceArgs contained agent-printf + syn keyword gdbMaintenanceArgs contained btrace nextgroup=gdbMaintenanceBtraceArgs skipwhite + syn keyword gdbMaintenanceBtraceArgs contained clear clear-packet-history packet-history + syn keyword gdbMaintenanceArgs contained check nextgroup=gdbMaintenanceCheckArgs skipwhite + syn keyword gdbMaintenanceCheckArgs contained libthread-db xml-descriptions + syn keyword gdbMaintenanceArgs contained check-psymtabs + syn keyword gdbMaintenanceArgs contained check-symtabs + syn keyword gdbMaintenanceArgs contained cplus cp nextgroup=gdbMaintenanceCplusArgs skipwhite + syn keyword gdbMaintenanceCplusArgs contained first_component + syn keyword gdbMaintenanceArgs contained demangler-warning + syn keyword gdbMaintenanceArgs contained deprecate + syn keyword gdbMaintenanceArgs contained dump-me + syn keyword gdbMaintenanceArgs contained expand-symtabs + syn keyword gdbMaintenanceArgs contained flush nextgroup=gdbMaintenanceFlushArgs skipwhite + syn keyword gdbMaintenanceFlushArgs contained dcache register-cache source-cache symbol-cache + syn keyword gdbMaintenanceArgs contained info i nextgroup=gdbMaintenanceInfoArgs skipwhite + syn keyword gdbMaintenanceInfoArgs contained bfds breakpoints btrace jit line-table program-spaces psymtabs sections selftests + syn keyword gdbMaintenanceInfoArgs contained symtabs target-sections + syn keyword gdbMaintenanceArgs contained internal-error + syn keyword gdbMaintenanceArgs contained internal-warning + syn keyword gdbMaintenanceArgs contained packet + syn keyword gdbMaintenanceArgs contained print nextgroup=gdbMaintenancePrintArgs skipwhite + syn keyword gdbMaintenancePrintArgs contained arc nextgroup=gdbMaintenancePrintArcArgs skipwhite + syn keyword gdbMaintenancePrintArcArgs contained arc-instruction + syn keyword gdbMaintenancePrintArgs contained architecture c-tdesc cooked-registers core-file-backed-mappings dummy-frames + syn keyword gdbMaintenancePrintArgs contained msymbols objfiles psymbols raw-registers reggroups register-groups registers + syn keyword gdbMaintenancePrintArgs contained remote-registers statistics symbol-cache symbol-cache-statistics symbols + syn keyword gdbMaintenancePrintArgs contained target-stack type unwind user-registers xml-tdesc + syn keyword gdbMaintenanceArgs contained selftest + syn keyword gdbMaintenanceArgs contained set nextgroup=gdbMaintenanceSetArgs skipwhite + syn keyword gdbMaintenanceSetArgs contained ada nextgroup=gdbMaintenanceSetAdaArgs skipwhite + syn keyword gdbMaintenanceSetAdaArgs contained ignore-descriptive-types nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbMaintenanceSetArgs contained backtrace-on-fatal-signal nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbMaintenanceSetArgs contained bfd-sharing nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbMaintenanceSetArgs contained btrace nextgroup=gdbMaintenanceSetBtraceArgs skipwhite + syn keyword gdbMaintenanceSetBtraceArgs contained pt nextgroup=gdbMaintenanceSetBtracePtArgs skipwhite + syn keyword gdbMaintenanceSetBtracePtArgs contained skip-pad nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbMaintenanceSetArgs contained catch-demangler-crashes nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbMaintenanceSetArgs contained check-libthread-db nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbMaintenanceSetArgs contained demangler-warning nextgroup=gdbMaintenanceSetDemanglerWarningArgs skipwhite + syn keyword gdbMaintenanceSetDemanglerWarningArgs contained quit nextgroup=@gdbSetAskBooleanValue skipwhite + syn keyword gdbMaintenanceSetArgs contained dwarf nextgroup=gdbMaintenanceSetDwarfArgs skipwhite + syn keyword gdbMaintenanceSetDwarfArgs contained always-disassemble unwinders nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbMaintenanceSetDwarfArgs contained max-cache-age nextgroup=gdbSetZIntegerValue skipwhite + syn keyword gdbMaintenanceSetArgs contained gnu-source-highlight nextgroup=gdbMaintenanceSetGnuSourceHighlightArgs skipwhite + syn keyword gdbMaintenanceSetGnuSourceHighlightArgs contained enabled nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbMaintenanceSetArgs contained internal-error nextgroup=gdbMaintenanceSetInternalErrorArgs skipwhite + syn keyword gdbMaintenanceSetInternalErrorArgs contained backtrace nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbMaintenanceSetInternalErrorArgs contained corefile quit nextgroup=@gdbSetAskBooleanValue skipwhite + syn keyword gdbMaintenanceSetArgs contained internal-warning nextgroup=gdbMaintenanceSetInternalWarningArgs skipwhite + syn keyword gdbMaintenanceSetInternalWarningArgs contained backtrace nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbMaintenanceSetInternalWarningArgs contained corefile quit nextgroup=@gdbSetAskBooleanValue skipwhite + syn keyword gdbMaintenanceSetArgs contained per-command nextgroup=gdbMaintenanceSetPerCommandArgs skipwhite + syn keyword gdbMaintenanceSetPerCommandArgs contained space symtab time nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbMaintenanceSetArgs contained profile nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbMaintenanceSetArgs contained selftest nextgroup=gdbMaintenanceSetSelftestArgs skipwhite + syn keyword gdbMaintenanceSetSelftestArgs contained verbose nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbMaintenanceSetArgs contained show-all-tib nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbMaintenanceSetArgs contained show-debug-regs nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbMaintenanceSetArgs contained symbol-cache-size nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite + syn keyword gdbMaintenanceSetArgs contained target-async nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbMaintenanceSetArgs contained target-non-stop nextgroup=gdbSetAutoBooleanValue skipwhite + syn keyword gdbMaintenanceSetArgs contained test-settings nextgroup=gdbMaintenanceSetTestSettingsArgs skipwhite + syn keyword gdbMaintenanceSetTestSettingsArgs contained auto-boolean nextgroup=gdbSetAutoBooleanValue skipwhite + syn keyword gdbMaintenanceSetTestSettingsArgs contained boolean nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbMaintenanceSetTestSettingsArgs contained enum + syn keyword gdbMaintenanceSetTestSettingsArgs contained filename + syn keyword gdbMaintenanceSetTestSettingsArgs contained integer nextgroup=gdbSetIntegerValue skipwhite + syn keyword gdbMaintenanceSetTestSettingsArgs contained optional-filename + syn keyword gdbMaintenanceSetTestSettingsArgs contained string + syn keyword gdbMaintenanceSetTestSettingsArgs contained string-noescape + syn keyword gdbMaintenanceSetTestSettingsArgs contained uinteger nextgroup=gdbSetUIntegerValue skipwhite + syn keyword gdbMaintenanceSetTestSettingsArgs contained zinteger nextgroup=gdbSetZIntegerValue skipwhite + syn keyword gdbMaintenanceSetTestSettingsArgs contained zuinteger nextgroup=gdbSetZUIntegerValue skipwhite + syn keyword gdbMaintenanceSetTestSettingsArgs contained zuinteger-unlimited nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite + syn keyword gdbMaintenanceSetArgs contained tui-resize-message nextgroup=gdbSetBooleanValue skipwhite + syn keyword gdbMaintenanceSetArgs contained worker-threads nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite + syn keyword gdbMaintenanceArgs contained show nextgroup=gdbMaintenanceShowArgs,gdbMaintenanceSetArgs skipwhite + syn keyword gdbMaintenanceShowArgs contained test-options-completion-result + syn keyword gdbMaintenanceArgs contained space + syn keyword gdbMaintenanceArgs contained test-options nextgroup=gdbMaintenanceTestOptionsArgs skipwhite + syn keyword gdbMaintenanceTestOptionsArgs contained require-delimiter unknown-is-error unknown-is-operand + syn keyword gdbMaintenanceArgs contained time + syn keyword gdbMaintenanceArgs contained translate-address + syn keyword gdbMaintenanceArgs contained undeprecate + syn keyword gdbMaintenanceArgs contained with + +" obscure {{{2 +syn keyword gdbCommand contained ch[eckpoint] +syn keyword gdbCommand contained compa[re-sections] + +" syn keyword gdbCommand contained compi[le] exp[ression] +" syn keyword gdbCommand contained compi[le] exp[ression] nextgroup=gdbCompileArgs skipwhite +" syn keyword gdbCompile contained compi[le] exp[ression] nextgroup=gdbCompileArgs skipwhite +syn match gdbCompile contained "\<\%(compi\%[le]\|exp\%[ression]\)\>" nextgroup=gdbCompileArgs skipwhite + syn keyword gdbCompileArgs contained c[ode] nextgroup=gdbCompileCodeOptions,@gdbC skipwhite + syn match gdbCompileCodeOptions contained "--\|\%(-r\%[aw]\)\(\s\+--\)\=" nextgroup=@gdbC skipwhite + syn keyword gdbCompileArgs contained f[ile] nextgroup=gdbCompileCodeOptions skipwhite + syn keyword gdbCompileArgs contained p[rint] nextgroup=gdbCompilePrintOptions,gdbCompilePrintFormat,@gdbC skipwhite + " TODO: proper option support + syn match gdbCompilePrintOptions contained "\%(-\w\+\%(\s\+\w\+\)\=\s\+\)*--" nextgroup=@gdbC,gdbCompilePrintFormat skipwhite + syn match gdbCompilePrintFormat contained "/[oxdutfaicsz]" nextgroup=@gdbC skipwhite + +syn region gdbCommand contained start="\<\%(compi\%[le]\|exp\%[ression]\)\s\+c\%[ode]\ze\s" skip="\\$" end="$" contains=gdbCompile,@gdbC keepend transparent fold +syn region gdbMultilineCommand contained start="\<\%(compi\%[le]\|exp\%[ression]\)\s\+c\%[ode]\%(\s\+-r\%[aw]\)\=\%(\s\+--\)\=\s*$" matchgroup=gdbCommand end="^\s*\zsend\ze\s*$" contains=gdbCompile,@gdbC transparent fold +syn region gdbCommand contained start="\<\%(compi\%[le]\|exp\%[ression]\)\s\+p\%[rint]\ze\s" skip="\\$" end="$" contains=gdbCompile,@gdbC keepend transparent fold +syn region gdbMultilineCommand contained start="\<\%(compi\%[le]\|exp\%[ression]\)\s\+p\%[rint]\%(\%(\s\+-.*\)\=\s\+--\)\=\%(\s\+/[a-z]\)\=\s*$" matchgroup=gdbCommand end="^\s*\zsend\ze\s*$" contains=gdbCompile,@gdbC transparent fold + +syn keyword gdbCommand contained compl[ete] + +" Guile {{{3 +syn include @gdbGuile syntax/scheme.mnv +unlet b:current_syntax +syn keyword gdbCommand contained guile-repl +syn keyword gdbCommand contained gr +syn region gdbCommand contained matchgroup=gdbCommand start="\" nextgroup=gdbAliasEndOption,gdbAliasName skipwhite + syn match gdbAliasName contained "\<\w\%(\w\|-\)*\>" nextgroup=gdbAliasEquals skipwhite + syn match gdbAliasEquals contained "=" nextgroup=@gdbCommands skipwhite + +syn keyword gdbCommand contained apr[opos] + +syn region gdbDefine contained matchgroup=gdbCommand start="\" end="^\s*\zsend\ze\s*$" contains=TOP transparent fold +syn keyword gdbCommand contained define-[prefix] +syn keyword gdbCommand contained dem[angle] + +syn region gdbDocument contained matchgroup=gdbCommand start="\" end="^\s*\zsend\ze\s*$" fold contains=gdbDocumentCommand + +syn keyword gdbCommand contained don[t-repeat] +syn keyword gdbCommand contained down-[silently] +syn keyword gdbCommand contained ec[ho] nextgroup=gdbUnquotedString skipwhite + " TODO: move + syn region gdbUnquotedString contained start="\S" skip="\\$" end="$" contains=gdbStringEscape,gdbLineContinuation + hi def link gdbUnquotedString String + " syn region gdbUnquotedStringNoEscape contained start="\S" skip="\\$" end="$" contains=gdbLineContinuation + " hi def link gdbUnquotedStringNoEscape String +syn keyword gdbCommand contained he[lp] h + +syn region gdbIf contained matchgroup=gdbCommand start="\" end="\%(^\s*\)\@<=end\ze\s*$" contains=TOP transparent fold +syn keyword gdbCommand contained else containedin=gdbIf + +syn keyword gdbCommand contained interp[reter-exec] +syn keyword gdbCommand contained mak[e] +syn keyword gdbCommand contained new[-ui] +syn keyword gdbCommand contained ov[erlay] ov ovly nextgroup=gdbOverlayArgs skipwhite + syn keyword gdbOverlayArgs contained a[uto] li[st-overlays] lo[ad-target] man[ual] map[-overlay] o[ff] u[nmap-overlay] +" TODO: pi completes as pipe ignoring pi (python-interactive) +" : sh region +syn keyword gdbCommand contained pip[e] +syn match gdbCommand contained "|" +syn keyword gdbCommand contained qui[t] exi[t] q +syn keyword gdbCommand contained she[ll] nextgroup=gdbShellValue skipwhite +syn match gdbCommand contained "!" nextgroup=gdbShellValue skipwhite + syn include @gdbSh syntax/sh.mnv + unlet b:current_syntax + syn region gdbShellValue contained start="\S" skip="\\$" end="$" contains=@gdbSh,gdbLineContinuation keepend +syn keyword gdbCommand contained so[urce] nextgroup=gdbSourceOption skipwhite + syn match gdbSourceOption contained "\<-[sv]\>" nextgroup=gdbSourceOption skipwhite +syn keyword gdbCommand contained up-[silently] + +syn region gdbWhile contained matchgroup=gdbCommand start="\" end="\%(^\s*\)\@<=end\ze\s*$" contains=TOP transparent fold +syn keyword gdbCommand contained loop_b[reak] loop_c[ontinue] containedin=gdbWhile + +" text-user-interface {{{2 +syn match gdbCommand contained "[<>+-]" +syn keyword gdbCommand contained foc[us] fs +syn keyword gdbCommand contained la[yout] nextgroup=gdbLayoutArgs skipwhite + syn keyword gdbLayoutArgs contained a[sm] n[ext] p[rev] r[egs] sp[lit] sr[c] +syn keyword gdbCommand contained ref[resh] +syn keyword gdbCommand contained tu[i] nextgroup=gdbTuiArgs skipwhite + syn keyword gdbTuiArgs contained d[isable] e[nable] n[ew-layout] r[eg] +syn keyword gdbCommand contained upd[ate] +syn keyword gdbCommand contained win[height] wh nextgroup=gdbWindowName skipwhite + syn keyword gdbWindowName contained a[sm] c[md] sr[c] st[atus] r[egs] + +" tracepoints {{{2 +syn keyword gdbCommand contained ac[tions] +syn keyword gdbCommand contained col[lect] +syn keyword gdbCommand contained end +syn keyword gdbCommand contained pas[scount] +syn keyword gdbCommand contained t[dump] +syn keyword gdbCommand contained tev[al] +syn keyword gdbCommand contained tfi[nd] nextgroup=gdbTfindArgs skipwhite + syn keyword gdbTfindArgs contained e[nd] l[ine] n[one] o[utside] p[c] r[ange] s[tart] t[racepoint] +syn keyword gdbCommand contained tsa[ve] +syn keyword gdbCommand contained tstar[t] +syn keyword gdbCommand contained tstat[us] +syn keyword gdbCommand contained tsto[p] +syn keyword gdbCommand contained tv[ariable] +syn keyword gdbCommand contained while-stepping stepp[ing] ws + +" unclassified {{{2 +syn keyword gdbCommand contained add-i[nferior] +syn keyword gdbCommand contained clo[ne-inferior] +syn keyword gdbCommand contained ev[al] +syn keyword gdbCommand contained fl[ash-erase] +syn keyword gdbCommand contained fu[nction] +syn keyword gdbCommand contained jit-reader-l[oad] +syn keyword gdbCommand contained jit-reader-u[nload] +syn keyword gdbCommand contained remove-i[nferiors] +syn keyword gdbCommand contained uns[et] nextgroup=gdbUnsetArgs skipwhite + syn keyword gdbUnsetArgs contained environment exec-wrapper substitute-path + syn keyword gdbUnsetArgs contained tdesc nextgroup=gdbUnsetTdescArgs skipwhite + syn keyword gdbUnsetTdescArgs contained filename + syn keyword gdbUnsetArgs contained exec-wrapper + syn keyword gdbUnsetArgs contained substitute-path +syn keyword gdbCommand contained bo[okmark] +syn keyword gdbCommand contained go[to-bookmark] +" }}} + +" Command syntax {{{1 +syn keyword gdbPrefix contained server nextgroup=gdbCommand skipwhite + +syn cluster gdbCommands contains=gdbCommand,gdbMultilineCommand,gdbCompile,gdbDefine,gdbDocument,gdbIf,gdbWhile,gdbPrefix,gdbWrappedCommand + +syn match gdbCommandAnchor "^" nextgroup=@gdbCommands skipwhite +" TODO: give higher priority than \\ in unquoted strings as \\$ matches \ escape of first char on following line +syn match gdbLineContinuation "\\$" + +" Comments {{{1 +syn match gdbComment "^\s*\zs#.*" contains=@Spell + +" Variables {{{1 +syn match gdbVariable "\$\K\k*" + +" Strings and constants {{{1 +syn region gdbString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=gdbStringEscape,@Spell +syn match gdbStringEscape contained "\\[abfnrtv\\'" ]" +syn match gdbStringEscape contained "\\\o\{1,3}" +syn match gdbCharacter "'[^']*'" contains=gdbSpecialChar,gdbSpecialCharError +syn match gdbCharacter "'\\''" contains=gdbSpecialChar +syn match gdbCharacter "'[^\\]'" +syn match gdbNumber "\<[0-9_]\+\>" +syn match gdbNumber "\<0x[0-9a-fA-F_]\+\>" + +syn match gdbNumber "\<0\o\+\>" +syn match gdbNumber "\<\d\+\>\.\=" +syn match gdbNumber "\<0x\x\+\>" + +" Architecture {{{2 +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" +syn match gdbArchitecture contained "\" + +" Sync {{{1 +exec "syn sync minlines=" .. get(g:, "gdb_minlines", 100) +exec "syn sync maxlines=" .. get(g:, "gdb_minlines", 200) +syn sync ccomment gdbComment +syn sync linecont "\\$" + +" Default Highlighting {{{1 +" Only when an item doesn't have highlighting yet +hi def link gdbCompile gdbCommand +hi def link gdbFuncDef Function +hi def link gdbComment Comment +hi def link gdbCommand Statement +hi def link gdbPrefix gdbCommand +hi def link gdbString String +hi def link gdbStringEscape SpecialChar +hi def link gdbCharacter Character +hi def link gdbVariable Identifier +hi def link gdbWith gdbCommand + +" Command options {{{2 +hi def link gdbFormat Special +hi def link gdbPrintFormat gdbFormat +hi def link gdbOption Special +hi def link gdbCompileCodeOptions gdbOption +hi def link gdbCompilePrintOptions gdbOption +hi def link gdbCompilePrintFormat gdbFormat + +" Subcommands {{{2 +hi def link gdbCommandArgs Type +hi def link gdbAdiArgs gdbCommandArgs +hi def link gdbAliasOption gdbCommandArgs +hi def link gdbAliasEndOption gdbCommandArgs +hi def link gdbAppendArgs gdbCommandArgs +hi def link gdbAppendBinaryArgs gdbAppendArgs +hi def link gdbCatchArgs gdbCommandArgs +hi def link gdbCompileArgs gdbCommandArgs +hi def link gdbConditionOption gdbCommandArgs +hi def link gdbConditionEndOption gdbCommandArgs +hi def link gdbDeleteArgs gdbCommandArgs +hi def link gdbDetachArgs gdbCommandArgs +hi def link gdbDisableArgs gdbCommandArgs +hi def link gdbDumpArgs gdbCommandArgs +hi def link gdbDumpBinaryArgs gdbDumpArgs +hi def link gdbEnableArgs gdbCommandArgs +hi def link gdbEnableBreakpointArgs gdbEnableArgs +hi def link gdbExploreArgs gdbCommandArgs +hi def link gdbFrameArgs gdbCommandArgs +hi def link gdbFrameApplyArgs gdbCommandArgs +hi def link gdbInfoArgs gdbCommandArgs +hi def link gdbInfoAutoLoadArgs gdbInfoArgs +hi def link gdbInfoFrameArgs gdbInfoArgs +hi def link gdbInfoModuleArgs gdbInfoArgs +hi def link gdbInfoProbesArgs gdbInfoArgs +hi def link gdbInfoProcArgs gdbInfoArgs +hi def link gdbInfoW32Args gdbInfoArgs +hi def link gdbKillArgs gdbCommandArgs +hi def link gdbLayoutArgs gdbCommandArgs +hi def link gdbMacroArgs gdbCommandArgs +hi def link gdbMaintenanceArgs gdbCommandArgs +hi def link gdbMaintenanceBtraceArgs gdbCommandArgs +hi def link gdbMaintenanceCheckArgs gdbCommandArgs +hi def link gdbMaintenanceCplusArgs gdbCommandArgs +hi def link gdbMaintenanceFlushArgs gdbCommandArgs +hi def link gdbMaintenanceInfoArgs gdbCommandArgs +hi def link gdbMaintenancePrintArgs gdbCommandArgs +hi def link gdbMaintenancePrintArcArgs gdbCommandArgs +hi def link gdbMaintenanceSetArgs gdbCommandArgs +hi def link gdbMaintenanceSetAdaArgs gdbCommandArgs +hi def link gdbMaintenanceSetBtraceArgs gdbCommandArgs +hi def link gdbMaintenanceSetBtracePtArgs gdbCommandArgs +hi def link gdbMaintenanceSetDemanglerWarningArgs gdbCommandArgs +hi def link gdbMaintenanceSetDwarfArgs gdbCommandArgs +hi def link gdbMaintenanceSetGnuSourceHighlightArgs gdbCommandArgs +hi def link gdbMaintenanceSetInternalErrorArgs gdbCommandArgs +hi def link gdbMaintenanceSetInternalErrorArgs gdbCommandArgs +hi def link gdbMaintenanceSetInternalWarningArgs gdbCommandArgs +hi def link gdbMaintenanceSetPerCommandArgs gdbCommandArgs +hi def link gdbMaintenanceSetSelftestArgs gdbCommandArgs +hi def link gdbMaintenanceSetTestSettingsArgs gdbCommandArgs +hi def link gdbMaintenanceShowArgs gdbCommandArgs +hi def link gdbMaintenanceTestOptionsArgs gdbCommandArgs +hi def link gdbMemoryTagArgs gdbCommandArgs +hi def link gdbOverlayArgs gdbCommandArgs +hi def link gdbRecordArgs gdbCommandArgs +hi def link gdbRecordBtraceArgs gdbRecordArgs +hi def link gdbRecordGotoArgs gdbRecordArgs +hi def link gdbRecordFullArgs gdbRecordArgs +hi def link gdbRemoteArgs gdbCommandArgs +hi def link gdbSaveArgs gdbCommandArgs +hi def link gdbSelectFrameArgs gdbCommandArgs +hi def link gdbSkipArgs gdbCommandArgs +hi def link gdbSetArgs gdbCommandArgs +hi def link gdbSetAdaArgs gdbCommandArgs +hi def link gdbSetArmArgs gdbCommandArgs +hi def link gdbSetAutoloadArgs gdbCommandArgs +hi def link gdbSetBacktraceArgs gdbCommandArgs +hi def link gdbSetBreakpointArgs gdbCommandArgs +hi def link gdbSetCheckArgs gdbCommandArgs +hi def link gdbSetDcacheArgs gdbCommandArgs +hi def link gdbSetDebugArgs gdbCommandArgs +hi def link gdbSetDebuginfodArgs gdbCommandArgs +hi def link gdbSetDebugRiscvArgs gdbCommandArgs +hi def link gdbSetFortranArgs gdbCommandArgs +hi def link gdbSetFrameFilterArgs gdbCommandArgs +hi def link gdbSetGuileArgs gdbCommandArgs +hi def link gdbSetHistoryArgs gdbCommandArgs +hi def link gdbSetIndexCacheArgs gdbCommandArgs +hi def link gdbSetLoggingArgs gdbCommandArgs +hi def link gdbSetMemArgs gdbCommandArgs +hi def link gdbSetMipsArgs gdbCommandArgs +hi def link gdbSetMpxArgs gdbCommandArgs +hi def link gdbSetPowerpcArgs gdbCommandArgs +hi def link gdbSetPrintArgs gdbCommandArgs +hi def link gdbSetPrintTypeArgs gdbSetPrintArgs +hi def link gdbSetPythonArgs gdbCommandArgs +hi def link gdbSetRavenscarArgs gdbCommandArgs +hi def link gdbSetRecordArgs gdbCommandArgs +hi def link gdbSetRecordBtraceArgs gdbSetRecordArgs +hi def link gdbSetRecordBtraceBtsArgs gdbSetRecordBtraceArgs +hi def link gdbSetRecordBtraceCpuArgs gdbSetRecordBtraceArgs +hi def link gdbSetRecordFullArgs gdbSetRecordArgs +hi def link gdbSetRecordBtracePtArgs gdbSetRecordBtraceArgs +hi def link gdbSetRemoteArgs gdbCommandArgs +hi def link gdbSetRiscvArgs gdbCommandArgs +hi def link gdbSetSerialArgs gdbCommandArgs +hi def link gdbSetShArgs gdbCommandArgs +hi def link gdbSetSourceArgs gdbCommandArgs +hi def link gdbSetStyleArgs gdbCommandArgs +hi def link gdbSetStyleAddressArgs gdbSetStyleArgs +hi def link gdbSetStyleDissassemblerArgs gdbSetStyleArgs +hi def link gdbSetStyleFilenameArgs gdbSetStyleArgs +hi def link gdbSetStyleFunctionArgs gdbSetStyleArgs +hi def link gdbSetStyleHighlightArgs gdbSetStyleArgs +hi def link gdbSetStyleMetadataArgs gdbSetStyleArgs +hi def link gdbSetStyleTitleArgs gdbSetStyleArgs +hi def link gdbSetStyleTuiActiveBorderArgs gdbSetStyleArgs +hi def link gdbSetStyleTuiBorderArgs gdbSetStyleArgs +hi def link gdbSetStyleVariableArgs gdbSetStyleArgs +hi def link gdbSetStyleVersionArgs gdbSetStyleArgs +hi def link gdbSetTuiArgs gdbCommandArgs +hi def link gdbSetTcpArgs gdbCommandArgs +hi def link gdbSetTdescArgs gdbCommandArgs +hi def link gdbShowArgs gdbCommandArgs +hi def link gdbShowIndexCacheArgs gdbCommandArgs +" TODO: dedicated option highlight group? +hi def link gdbSourceOption gdbCommandArgs +hi def link gdbTaskArgs gdbCommandArgs +hi def link gdbTaskApplyArgs gdbTaskArgs +hi def link gdbTargetArgs gdbCommandArgs +hi def link gdbTfindArgs gdbCommandArgs +hi def link gdbThreadArgs gdbCommandArgs +hi def link gdbThreadApplyArgs gdbThreadArgs +hi def link gdbTuiArgs gdbCommandArgs +hi def link gdbUnsetArgs gdbCommandArgs +hi def link gdbUnsetTdescArgs gdbUnsetArgs +hi def link gdbWatchOption gdbCommandArgs +hi def link gdbWatchEndOption gdbCommandArgs + +" Set values {{{2 +hi def link gdbSetValue Constant +hi def link gdbSetAskValue gdbSetValue +hi def link gdbSetAutoBooleanValue gdbSetValue +hi def link gdbSetBooleanValue gdbSetValue +hi def link gdbSetIntegerValue gdbSetValue +hi def link gdbSetUIntegerValue gdbSetValue +hi def link gdbSetZIntegerValue gdbSetValue +hi def link gdbSetZUIntegerValue gdbSetValue +hi def link gdbSetZUIntegerUnlimitedValue gdbSetValue +hi def link gdbSetFilenameValue gdbSetValue +hi def link gdbSetOptionalFilenameValue gdbSetValue +hi def link gdbSetStringValue gdbString +hi def link gdbSetStringNoEscapeValue gdbString +hi def link gdbSetExtendedPromptValue gdbString + +" Enum values {{{3 +hi def link gdbSetAdaSourceCharsetValue gdbSetValue +hi def link gdbSetArmAbiValue gdbSetValue +hi def link gdbSetArmDisassemblerValue gdbSetValue +hi def link gdbSetArmFallbackModeValue gdbSetValue +hi def link gdbSetArmForceModeValue gdbSetValue +hi def link gdbSetArmFpuValue gdbSetValue +hi def link gdbSetAutoloadValue gdbSetValue +hi def link gdbSetBreakpointCondtionEvaluationValue gdbSetValue +hi def link gdbSetCheckRangeValue gdbSetValue +hi def link gdbSetCpAbiValue gdbSetValue +hi def link gdbSetCrisModeValue gdbSetValue +hi def link gdbSetDebugEventLoopValue gdbSetValue +hi def link gdbSetDemangleStyleValue gdbSetValue +hi def link gdbSetDisassemblyFlavorValue gdbSetValue +hi def link gdbSetDprintfStyleValue gdbSetValue +hi def link gdbSetEndianValue gdbSetValue +hi def link gdbSetExecDirectionValue gdbSetValue +hi def link gdbSetExecFileMismatchValue gdbSetValue +hi def link gdbSetFilenameDisplayValue gdbSetValue +hi def link gdbSetFollowExecModeValue gdbSetValue +hi def link gdbSetFollowForkModeValue gdbSetValue +hi def link gdbSetFrameFilterPriorityValue gdbSetValue +hi def link gdbSetGuilePrintStackValue gdbSetValue +hi def link gdbSetLanguageValue gdbSetValue +hi def link gdbSetMipsAbiValue gdbSetValue +hi def link gdbSetMipsCompressionValue gdbSetValue +hi def link gdbSetMipsfpuValue gdbSetValue +hi def link gdbSetMultipleSymbolsValue gdbSetValue +hi def link gdbSetOsabiValue gdbSetValue +hi def link gdbSetPowerpcVectorAbiValue gdbSetValue +hi def link gdbSetPrintEntryValuesValue gdbSetValue +hi def link gdbSetPrintFrameArgumentsValue gdbSetValue +hi def link gdbSetPrintFrameInfoValue gdbSetValue +hi def link gdbSetPythonPrintStackValue gdbSetValue +hi def link gdbSetRecordBtraceReplayMemoryAccessValue gdbSetValue +hi def link gdbSetRemoteInterruptSequenceValue gdbSetValue +hi def link gdbSetRemotelogbaseValue gdbSetValue +hi def link gdbSetSchedulerLockingValue gdbSetValue +hi def link gdbSetScriptExtensionValue gdbSetValue +hi def link gdbSetSerialParityValue gdbSetValue +hi def link gdbSetShCallingConventionValue gdbSetValue +hi def link gdbSetStructConventionValue gdbSetValue +hi def link gdbSetSymbolLoadingValue gdbSetValue +hi def link gdbSetTargetFileSystemKindValue gdbSetValue +hi def link gdbSetTuiBorderKindValue gdbSetValue +hi def link gdbSetTuiBorderModeValue gdbSetValue +" }}}2 + +hi def link gdbAliasName Function +hi def link gdbArchitecture Constant +hi def link gdbWindowName Constant +hi def link gdbBreakpointCount Number +hi def link gdbBreakpointNumber Constant +hi def link gdbBreakpointRange Constant + +hi def link gdbDocument Special +hi def link gdbNumber Number +hi def link gdbLineContinuation Special +" }}} + +let b:current_syntax = "gdb" + +let &cpo = s:cpo_save +unlet s:cpo_save + +" mnv: nowrap sw=2 sts=2 ts=8 noet fdm=marker: diff --git a/uvim/runtime/syntax/gdb.vim b/uvim/runtime/syntax/gdb.vim deleted file mode 100644 index 0955f0f107..0000000000 --- a/uvim/runtime/syntax/gdb.vim +++ /dev/null @@ -1,1645 +0,0 @@ -" Vim syntax file -" Language: GDB command files -" Maintainer: Doug Kearns -" Previous Maintainer: Claudio Fleiner -" Last Change: 2026 Feb 08 -" Contributors: Simon Sobisch - -" WARNING: the group names are NOT stable and may change at any time - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn iskeyword @,48-57,_,128-167,224-235,- - -" Include {{{1 -" TODO: other languages: ada asm auto c d fortran go local minimal opencl pascal rust unknown -syn include @gdbC syntax/c.vim -unlet b:current_syntax - -syn region gdbExpression contained start="\S" skip="\\$" end="$" contains=@gdbC,gdbLineContinuation transparent - -" Commands {{{1 - -" breakpoints {{{2 -syn keyword gdbCommand contained aw[atch] nextgroup=@gdbWatchOption,gdbExpression skipwhite -syn keyword gdbCommand contained b[reak] -syn keyword gdbCommand contained break-[range] -syn keyword gdbCommand contained cat[ch] nextgroup=gdbCatchArgs skipwhite - syn keyword gdbCatchArgs contained assert catch exception exec fork handlers load rethrow signal syscall throw unload vfork -syn keyword gdbCommand contained cl[ear] cl - -syn match gdbCommand contained "\" nextgroup=gdbBreakpointNumber,gdbBreakpointRange skipwhite - " TODO: move this and generalise to idlist or similar? Where else are id - " numbers and ranges used? Breakpoints include catchpoints and watchpoints. - syn match gdbBreakpointNumber contained "\<\d\+\>" nextgroup=gdbBreakpointNumber,gdbBreakpointRange skipwhite - syn match gdbBreakpointRange contained "\<\d\+-\d\+\>" nextgroup=gdbBreakpointNumber,gdbBreakpointRange skipwhite - syn cluster gdbBreakpointNumbers contains=gdbBreakpointNumber,gdbBreakpointRange - syn match gdbBreakpointCount contained "-\@1" nextgroup=@gdbBreakpointNumbers skipwhite - " TODO: better name - syn keyword gdbCommandsKeyword silent contained - hi def link gdbCommandsKeyword gdbCommand -syn region gdbMultilineCommand contained start="\" matchgroup=gdbCommand end="^\s*\zsend\ze\s*$" contains=gdbCommand,gdbComment,gdbCommandsKeyword transparent fold - -syn keyword gdbCommand contained cond[ition] nextgroup=@gdbConditionOption,gdbConditionBreakpointNumber skipwhite - syn match gdbConditionEndOption contained "--" nextgroup=gdbExpression skipwhite - syn match gdbConditionOption contained "-f\%[orce]\>" nextgroup=gdbConditionEndOption,gdbExpression skipwhite - syn cluster gdbConditionOption contains=gdbConditionOption,gdbConditionEndOption - syn match gdbConditionBreakpointNumber contained "\<\d\+\>" contains=gdbBreakpointNumber nextgroup=gdbExpression skipwhite - -syn keyword gdbCommand contained del[ete] del d nextgroup=@gdbBreakpointNumbers,gdbDeleteArgs skipwhite - syn keyword gdbDeleteArgs contained breakpoints nextgroup=@gdbBreakpointNumbers skipwhite - syn keyword gdbDeleteArgs contained tracepoints tr nextgroup=@gdbBreakpointNumbers skipwhite - syn keyword gdbDeleteArgs contained bookmark checkpoint display mem tvariable -syn keyword gdbCommand contained dis[able] disa dis nextgroup=@gdbBreakpointNumbers,gdbDisableArgs skipwhite - syn keyword gdbDisableArgs contained breakpoints nextgroup=@gdbBreakpointNumbers skipwhite - syn keyword gdbDisableArgs contained display frame-filter mem pretty-printer probes type-printer unwinder xmethod -syn keyword gdbCommand contained dp[rintf] -syn keyword gdbCommand contained e[nable] en nextgroup=gdbEnableArgs skipwhite - syn keyword gdbEnableArgs contained display frame-filter mem pretty-printer probes type-printer unwinder xmethod - syn keyword gdbEnableArgs contained delete once nextgroup=@gdbBreakpointNumbers skipwhite - syn keyword gdbEnableArgs contained count nextgroup=gdbBreakpointCount skipwhite - syn keyword gdbEnableArgs contained breakpoints nextgroup=gdbEnableBreakpointArgs,@gdbBreakpointNumbers skipwhite - syn keyword gdbEnableBreakpointArgs contained count nextgroup=gdbBreakpointCount skipwhite - syn keyword gdbEnableBreakpointArgs contained delete once nextgroup=@gdbBreakpointNumbers skipwhite -syn keyword gdbCommand contained ft[race] -syn keyword gdbCommand contained hb[reak] -syn keyword gdbCommand contained ig[nore] -syn keyword gdbCommand contained rb[reak] -syn keyword gdbCommand contained rw[atch] nextgroup=@gdbWatchOption,gdbExpression skipwhite -syn keyword gdbCommand contained save nextgroup=gdbSaveArgs skipwhite - syn keyword gdbSaveArgs contained breakpoints gdb-index tracepoints -syn keyword gdbCommand contained sk[ip] nextgroup=gdbSkipArgs skipwhite - syn keyword gdbSkipArgs contained delete disable enable file function -syn keyword gdbCommand contained str[ace] -syn keyword gdbCommand contained tb[reak] -syn keyword gdbCommand contained tc[atch] -syn keyword gdbCommand contained tc[atch] nextgroup=gdbCatchArgs skipwhite -syn keyword gdbCommand contained thb[reak] -syn keyword gdbCommand contained tr[ace] tp -syn keyword gdbCommand contained wa[tch] nextgroup=@gdbWatchOption,gdbExpression skipwhite - syn match gdbWatchEndOption contained "--" nextgroup=gdbExpression skipwhite - syn match gdbWatchOption contained "-l\%[ocation]\>" nextgroup=gdbWatchEndOption,gdbExpression skipwhite - syn cluster gdbWatchOption contains=gdbWatchOption,gdbWatchEndOption - -" data {{{2 -syn keyword gdbCommand contained ag[ent-printf] nextgroup=gdbString -syn keyword gdbCommand contained app[end] nextgroup=gdbAppendArgs skipwhite - syn keyword gdbAppendArgs contained b[inary] nextgroup=gdbAppendBinaryArgs skipwhite - syn keyword gdbAppendBinaryArgs contained m[emory] v[alue] nextgroup=gdbAppendBinaryArgs skipwhite - syn keyword gdbAppendArgs contained m[emory] v[alue] -syn keyword gdbCommand contained ca[ll] -syn keyword gdbCommand contained disas[semble] -syn keyword gdbCommand contained disp[lay] nextgroup=gdbFormat skipwhite -syn keyword gdbCommand contained du[mp] nextgroup=gdbDumpArgs skipwhite - " TODO: share subcommand group - syn keyword gdbDumpArgs contained b[inary] i[hex] s[rec] t[ekhex] va[lue] ve[rilog] nextgroup=gdbDumpBinaryArgs skipwhite - syn keyword gdbDumpArgs contained m[emory] - syn keyword gdbDumpBinaryArgs contained m[emory] v[alue] -syn keyword gdbCommand contained explore nextgroup=gdbExploreArgs skipwhite - syn keyword gdbExploreArgs contained t[ype] v[alue] -syn keyword gdbCommand contained find -syn keyword gdbCommand contained in[it-if-undefined] -syn keyword gdbCommand contained mem -syn keyword gdbCommand contained memo[ry-tag] nextgroup=gdbMemoryTagArgs skipwhite - syn keyword gdbMemoryTagArgs contained c[heck] - syn keyword gdbMemoryTagArgs contained print-a[llocation-tag] - syn keyword gdbMemoryTagArgs contained print-l[ogical-tag] - syn keyword gdbMemoryTagArgs contained s[et-allocation-tag] - syn keyword gdbMemoryTagArgs contained w[ith-logical-tag] -syn keyword gdbCommand contained ou[tput] -syn keyword gdbCommand contained pr[int] ins[pect] p nextgroup=gdbPrintFormat skipwhite - syn match gdbPrintFormat contained "/1\=[oxdutfaicsz]\=" -syn keyword gdbCommand contained print-[object] po -syn keyword gdbCommand contained printf -syn keyword gdbCommand contained pt[ype] -syn keyword gdbCommand contained resto[re] - -" Set command {{{3 -syn keyword gdbCommand contained set nextgroup=gdbSetArgs skipwhite - - " Value types {{{4 - - " Boolean - syn keyword gdbSetBooleanValue contained on of[f] - - " Auto-boolean - syn keyword gdbSetAutoBooleanValue contained on of[f] a[uto] - - " Integer - syn keyword gdbSetIntegerValue contained unlimited - syn match gdbSetIntegerValue contained "[+-]\=\d\+\>" - - " UInteger - syn keyword gdbSetUIntegerValue contained unlimited - syn match gdbSetUIntegerValue contained "\<\d\+\>" - - " ZInteger - syn match gdbSetZIntegerValue contained "[+-]\=\d\+\>" - - " ZUInteger - syn match gdbSetZUIntegerValue contained "\<\d\+\>" - - " ZUIntegerUnlimited - syn keyword gdbSetZUIntegerUnlimitedValue contained unlimited - syn match gdbSetZUIntegerUnlimitedValue contained "-1\>" - syn match gdbSetZUIntegerUnlimitedValue contained "\<\d\+\>" - - " Enum - syn cluster gdbSetAskBooleanValue contains=gdbSetBooleanValue,gdbSetAskValue - syn keyword gdbSetAskValue contained a[sk] - - " String - syn region gdbSetStringValue contained start="\S" skip="\\$" end="\s*$" contains=gdbStringEscape - " StringNoEscape - syn region gdbSetStringNoEscapeValue contained start="\S" skip="\\$" end="\s*$" - - " OptionalFilename - syn match gdbSetOptionalFilenameValue contained "\S\+\%(\s*\S\+\)*" - " Filename - syn match gdbSetFilenameValue contained "\S\+\%(\s*\S\+\)*" - " TODO: better pattern? - " syn match gdbSetFilenameValue contained "\S.\{-}\ze\%(\s*$\)" - " syn region gdbSetFilenameValue contained start="\S" skip="\\$" end=\s*$" - - " Subcommands {{{4 - - syn keyword gdbSetArgs contained ag[ent] con[firm] ed[iting] ob[server] pa[gination] remotec[ache] remotef[low] ve[rbose] wr[ite] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained hei[ght] wi[dth] nextgroup=gdbSetUIntegerValue skipwhite - syn keyword gdbSetArgs contained an[notate] compl[aints] wa[tchdog] nextgroup=gdbSetZIntegerValue skipwhite - syn keyword gdbSetArgs contained remotet[imeout] remotea[ddresssize] nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite - syn keyword gdbSetArgs contained cha[rset] " [charset] - syn keyword gdbSetArgs contained end[ian] nextgroup=gdbSetEndianValue skipwhite - syn keyword gdbSetEndianValue contained auto big little - syn keyword gdbSetArgs contained dir[ectories] nextgroup=gdbSetOptionalFilenameValue skipwhite - syn keyword gdbSetArgs contained la[nguage] nextgroup=gdbSetLanguageValue skipwhite - syn keyword gdbSetLanguageValue contained ada asm auto c d fortran go local minimal modula-2 objective-c opencl pascal rust - syn keyword gdbSetLanguageValue contained unknown - syn match gdbSetLanguageValue contained "\" - syn keyword gdbSetArgs contained arg[s] nextgroup=gdbSetStringValue skipwhite - syn keyword gdbSetArgs contained cw[d] nextgroup=gdbSetOptionalFilenameValue skipwhite - " TODO: worth including an architecture value? - syn keyword gdbSetArgs contained arc[hitecture] proc[essor] nextgroup=gdbArchitecture skipwhite - syn keyword gdbSetArgs contained env[ironment] " VAR VALUE - syn keyword gdbSetArgs contained lis[tsize] nextgroup=gdbSetIntegerValue skipwhite - " TODO: auto as constant? - syn keyword gdbSetArgs contained gn[utarget] g nextgroup=gdbSetStringNoEscapeValue skipwhite - syn keyword gdbSetArgs contained rad[ix] - syn keyword gdbSetArgs contained os[abi] nextgroup=gdbSetOsabiValue skipwhite - syn keyword gdbSetOsabiValue contained auto default none - syn keyword gdbSetArgs contained pro[mpt] nextgroup=gdbSetStringValue skipwhite - syn keyword gdbSetArgs contained remotelogb[ase] nextgroup=gdbSetRemotelogbaseValue skipwhite - syn keyword gdbSetRemotelogbaseValue contained hex octal ascii - syn keyword gdbSetArgs contained remotelogf[ile] nextgroup=gdbSetFilenameValue skipwhite - " TODO: deprecated - syn keyword gdbSetArgs contained remotew[ritesize] - syn keyword gdbSetArgs contained vari[able] var " VAR = EXP - - syn keyword gdbSetArgs contained ad[a] nextgroup=gdbSetAdaArgs skipwhite - syn keyword gdbSetAdaArgs contained p[rint-signatures] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetAdaArgs contained s[ource-charset] nextgroup=gdbSetAdaSourceCharsetValue skipwhite - syn keyword gdbSetAdaSourceCharsetValue contained CP437 CP850 - syn match gdbSetAdaSourceCharsetValue contained "\" - syn keyword gdbSetAdaSourceCharsetValue contained UTF-8 - syn keyword gdbSetAdaArgs contained t[rust-PAD-over-XVS] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained arm nextgroup=gdbSetArmArgs skipwhite - syn keyword gdbSetArmArgs contained apcs32 nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArmArgs contained abi nextgroup=gdbSetArmAbiValue skipwhite - syn keyword gdbSetArmAbiValue contained AAPCS APCS auto - syn keyword gdbSetArmArgs contained disassembler nextgroup=gdbSetArmDisassemblerValue skipwhite - syn keyword gdbSetArmDisassemblerValue contained apcs atpcs gcc raw special-atpcs std - syn keyword gdbSetArmArgs contained fpu nextgroup=gdbSetArmFpuValue skipwhite - syn keyword gdbSetArmFpuValue contained auto fpa softfpa softvfp vfp - syn keyword gdbSetArmArgs contained fallback-mode nextgroup=gdbSetArmFallbackModeValue skipwhite - syn keyword gdbSetArmFallbackModeValue contained arm auto thumb - syn keyword gdbSetArmArgs contained force-mode nextgroup=gdbSetArmForceModeValue skipwhite - syn keyword gdbSetArmForceModeValue contained arm auto thumb - syn keyword gdbSetArgs contained bac[ktrace] nextgroup=gdbSetBacktraceArgs skipwhite - syn keyword gdbSetBacktraceArgs contained l[imit] nextgroup=gdbSetUIntegerValue skipwhite - syn keyword gdbSetBacktraceArgs contained past-e[ntry] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetBacktraceArgs contained past-m[ain] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained br[eakpoint] nextgroup=gdbSetBreakpointArgs skipwhite - syn keyword gdbSetBreakpointArgs contained p[ending] nextgroup=gdbSetAutoBooleanValue skipwhite - syn keyword gdbSetBreakpointArgs contained al[ways-inserted] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetBreakpointArgs contained au[to-hw] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetBreakpointArgs contained c[ondition-evaluation] nextgroup=gdbSetBreakpointCondtionEvaluationValue skipwhite - syn keyword gdbSetBreakpointCondtionEvaluationValue contained auto host target - syn keyword gdbSetArgs contained c[heck] ch c nextgroup=gdbSetCheckArgs skipwhite - syn keyword gdbSetCheckArgs contained range nextgroup=gdbSetCheckRangeValue skipwhite - syn keyword gdbSetCheckArgs contained type nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetCheckRangeValue contained on off warn auto - - syn keyword gdbSetArgs contained dc[ache] nextgroup=gdbSetDcacheArgs skipwhite - syn keyword gdbSetDcacheArgs contained size nextgroup=gdbSetZUIntegerValue skipwhite - syn keyword gdbSetDcacheArgs contained line-size nextgroup=gdbSetZUIntegerValue skipwhite - syn keyword gdbSetArgs contained debugi[nfod] nextgroup=gdbSetDebuginfodArgs skipwhite - syn keyword gdbSetDebuginfodArgs contained enabled nextgroup=@gdbSetAskBooleanValue skipwhite - syn keyword gdbSetDebuginfodArgs contained urls nextgroup=gdbSetStringNoEscapeValue skipwhite - syn keyword gdbSetDebuginfodArgs contained verbose nextgroup=gdbSetZUIntegerValue skipwhite - syn keyword gdbSetArgs contained for[tran] nextgroup=gdbSetFortranArgs skipwhite - syn keyword gdbSetFortranArgs contained repack-array-slices nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained gu[ile] gu nextgroup=gdbSetGuileArgs skipwhite - syn keyword gdbSetGuileArgs contained print-stack nextgroup=gdbSetGuilePrintStackValue skipwhite - syn keyword gdbSetGuilePrintStackValue contained none full message - syn keyword gdbSetArgs contained hi[story] nextgroup=gdbSetHistoryArgs skipwhite - syn keyword gdbSetHistoryArgs contained expansion save nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetHistoryArgs contained filename nextgroup=gdbSetOptionalFilenameValue skipwhite - syn keyword gdbSetHistoryArgs contained size nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite - syn keyword gdbSetHistoryArgs contained remove-duplicates nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite - syn keyword gdbSetArgs contained lo[gging] nextgroup=gdbSetLoggingArgs skipwhite - syn keyword gdbSetLoggingArgs contained debugredirect enabled overwrite redirect nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetLoggingArgs contained file nextgroup=gdbSetFilenameValue skipwhite - syn keyword gdbSetArgs contained me[m] nextgroup=gdbSetMemArgs skipwhite - syn keyword gdbSetMemArgs contained inaccessible-by-default - syn keyword gdbSetArgs contained mips nextgroup=gdbSetMipsArgs skipwhite - syn keyword gdbSetMipsArgs contained abi nextgroup=gdbSetMipsAbiValue skipwhite - syn keyword gdbSetMipsAbiValue contained auto eabi32 eabi64 n32 n64 o32 o64 - syn keyword gdbSetMipsArgs contained compression nextgroup=gdbSetMipsCompressionValue skipwhite - syn keyword gdbSetMipsCompressionValue contained micromips mips16 - syn keyword gdbSetMipsArgs contained mask-address nextgroup=gdbSetAutoBooleanValue skipwhite - syn keyword gdbSetArgs contained mipsf[pu] nextgroup=gdbSetMipsfpuValue skipwhite - syn keyword gdbSetMipsfpuValue contained auto double none single 1 0 yes no on off - syn keyword gdbSetArgs contained mp[x] nextgroup=gdbSetMpxArgs skipwhite - syn keyword gdbSetMpxArgs contained bound - syn keyword gdbSetArgs contained po[werpc] nextgroup=gdbSetPowerpcArgs skipwhite - syn keyword gdbSetPowerpcArgs contained exact-watchpoints nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetPowerpcArgs contained soft-float nextgroup=gdbSetAutoBooleanValue skipwhite - syn keyword gdbSetPowerpcArgs contained vector-abi nextgroup=gdbSetPowerpcVectorAbiValue skipwhite - syn keyword gdbSetPowerpcVectorAbiValue contained altivec auto generic spe - syn keyword gdbSetArgs contained pri[nt] pr p nextgroup=gdbSetPrintArgs skipwhite - syn keyword gdbSetPrintArgs contained address demangle finish object pretty union vtbl nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetPrintArgs contained elements repeats nextgroup=gdbSetUIntegerValue skipwhite - syn keyword gdbSetPrintArgs contained type nextgroup=gdbSetPrintTypeArgs skipwhite - syn keyword gdbSetPrintTypeArgs contained hex methods typedefs nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetPrintTypeArgs contained nested-type-limit nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite - syn keyword gdbSetPrintArgs contained array nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetPrintArgs contained array-indexes nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetPrintArgs contained asm-demangle nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetPrintArgs contained entry-values nextgroup=gdbSetPrintEntryValuesValue skipwhite - syn keyword gdbSetPrintEntryValuesValue contained both compact default if-needed no only preferred - syn keyword gdbSetPrintArgs contained frame-arguments nextgroup=gdbSetPrintFrameArgumentsValue skipwhite - syn keyword gdbSetPrintFrameArgumentsValue contained all none presence scalars - syn keyword gdbSetPrintArgs contained frame-info nextgroup=gdbSetPrintFrameInfoValue skipwhite - syn keyword gdbSetPrintFrameInfoValue contained auto location location-and-address short-location source-and-location source-line - syn keyword gdbSetPrintArgs contained inferior-events nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetPrintArgs contained max-depth nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite - syn keyword gdbSetPrintArgs contained max-symbolic-offset nextgroup=gdbSetUIntegerValue skipwhite - syn keyword gdbSetPrintArgs contained memory-tag-violations nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetPrintArgs contained null-stop nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetPrintArgs contained pascal_static-members nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetPrintArgs contained raw-frame-arguments nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetPrintArgs contained raw-values nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetPrintArgs contained sevenbit-strings nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetPrintArgs contained static-members nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetPrintArgs contained symbol nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetPrintArgs contained symbol-filename nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetPrintArgs contained symbol-loading nextgroup=gdbSetSymbolLoadingValue skipwhite - syn keyword gdbSetSymbolLoadingValue contained brief full off - syn keyword gdbSetPrintArgs contained thread-events nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained py[thon] nextgroup=gdbSetPythonArgs skipwhite - syn keyword gdbSetPythonArgs contained dont-write-bytecode nextgroup=gdbSetAutoBooleanValue skipwhite - syn keyword gdbSetPythonArgs contained ignore-environment - syn keyword gdbSetPythonArgs contained print-stack nextgroup=gdbSetPythonPrintStackValue skipwhite - syn keyword gdbSetPythonPrintStackValue contained none full message - syn keyword gdbSetArgs contained rav[enscar] nextgroup=gdbSetRavenscarArgs skipwhite - syn keyword gdbSetRavenscarArgs contained task-switching - syn keyword gdbSetArgs contained rec[ord] rec nextgroup=gdbSetRecordArgs skipwhite - syn keyword gdbSetRecordArgs contained btrace nextgroup=gdbSetRecordBtraceArgs skipwhite - syn keyword gdbSetRecordBtraceArgs contained bts nextgroup=gdbSetRecordBtraceBtsArgs skipwhite - syn keyword gdbSetRecordBtraceBtsArgs contained buffer-size nextgroup=gdbSetUIntegerValue skipwhite - syn keyword gdbSetRecordBtraceArgs contained cpu nextgroup=gdbSetRecordBtraceCpuArgs skipwhite - syn keyword gdbSetRecordBtraceCpuArgs contained auto none - syn keyword gdbSetRecordBtraceArgs contained pt nextgroup=gdbSetRecordBtracePtArgs skipwhite - syn keyword gdbSetRecordBtracePtArgs contained buffer-size nextgroup=gdbSetUIntegerValue skipwhite - syn keyword gdbSetRecordBtraceArgs contained replay-memory-access nextgroup=gdbSetRecordBtraceReplayMemoryAccessValue skipwhite - syn keyword gdbSetRecordBtraceReplayMemoryAccessValue contained read-only read-write - syn keyword gdbSetRecordArgs contained full nextgroup=gdbSetRecordFullArgs skipwhite - syn keyword gdbSetRecordFullArgs contained insn-number-max nextgroup=gdbSetUIntegerValue skipwhite - syn keyword gdbSetRecordFullArgs contained memory-query - syn keyword gdbSetRecordFullArgs contained stop-at-limit - syn keyword gdbSetRecordArgs contained function-call-history-size nextgroup=gdbSetUIntegerValue skipwhite - syn keyword gdbSetRecordArgs contained instruction-history-size nextgroup=gdbSetUIntegerValue skipwhite - syn keyword gdbSetArgs contained ri[scv] nextgroup=gdbSetRiscvArgs skipwhite - syn keyword gdbSetRiscvArgs contained use-compressed-breakpoints nextgroup=gdbSetAutoBooleanValue skipwhite - syn keyword gdbSetArgs contained se[rial] nextgroup=gdbSetSerialArgs skipwhite - syn keyword gdbSetSerialArgs contained baud nextgroup=gdbSetZIntegerValue skipwhite - syn keyword gdbSetSerialArgs contained parity nextgroup=gdbSetSerialParityValue skipwhite - syn keyword gdbSetSerialParityValue contained none odd - syn keyword gdbSetArgs contained sh nextgroup=gdbSetShArgs skipwhite - syn keyword gdbSetShArgs contained calling-convention nextgroup=gdbSetShCallingConventionValue skipwhite - syn keyword gdbSetShCallingConventionValue contained gcc renesas - syn keyword gdbSetArgs contained sou[rce] nextgroup=gdbSetSourceArgs skipwhite - syn keyword gdbSetSourceArgs contained open - syn keyword gdbSetArgs contained sty[le] nextgroup=gdbSetStyleArgs skipwhite - syn keyword gdbSetStyleArgs contained address nextgroup=gdbSetStyleAddressArgs skipwhite - syn keyword gdbSetStyleAddressArgs contained background foreground intensity - syn keyword gdbSetStyleArgs contained disassembler nextgroup=gdbSetStyleDissassemblerArgs skipwhite - syn keyword gdbSetStyleDissassemblerArgs contained enabled nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetStyleArgs contained enabled nextgroup=gdbSetAutoBooleanValue skipwhite - syn keyword gdbSetStyleArgs contained filename nextgroup=gdbSetStyleFilenameArgs skipwhite - syn keyword gdbSetStyleFilenameArgs contained background foreground intensity - syn keyword gdbSetStyleArgs contained function nextgroup=gdbSetStyleFunctionArgs skipwhite - syn keyword gdbSetStyleFunctionArgs contained background foreground intensity - syn keyword gdbSetStyleArgs contained highlight nextgroup=gdbSetStyleHighlightArgs skipwhite - syn keyword gdbSetStyleHighlightArgs contained background foreground intensity - syn keyword gdbSetStyleArgs contained metadata nextgroup=gdbSetStyleMetadataArgs skipwhite - syn keyword gdbSetStyleMetadataArgs contained background foreground intensity - syn keyword gdbSetStyleArgs contained sources nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetStyleArgs contained title nextgroup=gdbSetStyleTitleArgs skipwhite - syn keyword gdbSetStyleTitleArgs contained background foreground intensity - syn keyword gdbSetStyleArgs contained tui-active-border nextgroup=gdbSetStyleTuiActiveBorderArgs skipwhite - syn keyword gdbSetStyleTuiActiveBorderArgs contained background foreground intensity - syn keyword gdbSetStyleArgs contained tui-border nextgroup=gdbSetStyleTuiBorderArgs skipwhite - syn keyword gdbSetStyleTuiBorderArgs contained background foreground intensity - syn keyword gdbSetStyleArgs contained variable nextgroup=gdbSetStyleVariableArgs skipwhite - syn keyword gdbSetStyleVariableArgs contained background foreground intensity - syn keyword gdbSetStyleArgs contained version nextgroup=gdbSetStyleVersionArgs skipwhite - syn keyword gdbSetStyleVersionArgs contained background foreground intensity - syn keyword gdbSetArgs contained tc[p] nextgroup=gdbSetTcpArgs skipwhite - syn keyword gdbSetTcpArgs contained auto-retry nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetTcpArgs contained connect-timeout nextgroup=gdbSetUIntegerValue skipwhite - syn keyword gdbSetArgs contained td[esc] nextgroup=gdbSetTdescArgs skipwhite - syn keyword gdbSetTdescArgs contained filename nextgroup=gdbSetFilenameValue skipwhite - syn keyword gdbSetArgs contained tu[i] nextgroup=gdbSetTuiArgs skipwhite - syn keyword gdbSetTuiArgs contained active-border-mode - syn keyword gdbSetTuiArgs contained border-kind nextgroup=gdbSetTuiBorderKindValue skipwhite - syn keyword gdbSetTuiBorderKindValue contained asc ascii space - syn keyword gdbSetTuiArgs contained border-mode nextgroup=gdbSetTuiBorderModeValue skipwhite - syn keyword gdbSetTuiBorderModeValue contained normal standout reverse half half-standout bold bold-standout - syn keyword gdbSetTuiArgs contained compact-source - syn keyword gdbSetTuiArgs contained tab-width nextgroup=gdbSetZUIntegerValue skipwhite - - syn keyword gdbSetArgs contained auto-c[onnect-native-target] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained auto-l[oad] nextgroup=gdbSetAutoloadValue,gdbSetAutoloadArgs skipwhite - syn keyword gdbSetAutoloadValue contained no off 0 - syn keyword gdbSetAutoloadArgs contained gdb-scripts nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetAutoloadArgs contained guile-scripts nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetAutoloadArgs contained libthread-db nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetAutoloadArgs contained local-gdbinit nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetAutoloadArgs contained python-scripts nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetAutoloadArgs contained safe-path nextgroup=gdbSetOptionalFilenameValue skipwhite - syn keyword gdbSetAutoloadArgs contained scripts-directory nextgroup=gdbSetOptionalFilenameValue skipwhite - syn keyword gdbSetArgs contained auto-s[olib-add] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained bas[enames-may-differ] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained can[-use-hw-watchpoints] nextgroup=gdbSetZIntegerValue skipwhite - syn keyword gdbSetArgs contained cas[e-sensitive] nextgroup=gdbSetAutoBooleanValue skipwhite - syn keyword gdbSetArgs contained ci[rcular-trace-buffer] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained cod[e-cache] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained coe[rce-float-to-double] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained compile-a[rgs] nextgroup=gdbSetStringValue skipwhite - syn keyword gdbSetArgs contained compile-g[cc] nextgroup=gdbSetOptionalFilenameValue skipwhite - syn keyword gdbSetArgs contained cp[-abi] nextgroup=gdbSetCpAbiValue skipwhite - syn keyword gdbSetCpAbiValue contained auto gnu-v2 gnu-v3 - syn keyword gdbSetArgs contained cris-d[warf2-cfi] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained cris-m[ode] nextgroup=gdbSetCrisModeValue skipwhite - syn keyword gdbSetCrisModeValue contained guru normal - syn keyword gdbSetArgs contained cris-v[ersion] nextgroup=gdbSetZUIntegerValue skipwhite - syn keyword gdbSetArgs contained data-directory nextgroup=gdbSetFilenameValue skipwhite - syn keyword gdbSetArgs contained debug nextgroup=gdbSetDebugArgs skipwhite - syn keyword gdbSetDebugArgs contained arch bpf expression microblaze mips overload record serial target varobj xtensa nextgroup=gdbSetZUIntegerValue skipwhite - syn keyword gdbSetDebugArgs contained aarch64 arc arm csky displaced frame infrun hppa jit nios2 notification observer or1k parser nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetDebugArgs contained riscv nextgroup=gdbSetDebugRiscvArgs skipwhite - syn keyword gdbSetDebugRiscvArgs contained breakpoints gdbarch infcall unwinder nextgroup=gdbSetZUIntegerValue skipwhite - syn keyword gdbSetDebugArgs contained skip symfile threads timestamp xml nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetDebugArgs contained aix-solib nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetDebugArgs contained auto-load nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetDebugArgs contained bfd-cache nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetDebugArgs contained check-physname nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetDebugArgs contained coff-pe-read nextgroup=gdbSetZUIntegerValue skipwhite - syn keyword gdbSetDebugArgs contained compile nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetDebugArgs contained compile-cplus-scopes nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetDebugArgs contained compile-cplus-types nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetDebugArgs contained dwarf-die nextgroup=gdbSetZUIntegerValue skipwhite - syn keyword gdbSetDebugArgs contained dwarf-line nextgroup=gdbSetZUIntegerValue skipwhite - syn keyword gdbSetDebugArgs contained dwarf-read nextgroup=gdbSetZUIntegerValue skipwhite - syn keyword gdbSetDebugArgs contained entry-values nextgroup=gdbSetZUIntegerValue skipwhite - syn keyword gdbSetDebugArgs contained event-loop nextgroup=gdbSetDebugEventLoopValue skipwhite - syn keyword gdbSetDebugEventLoopValue contained all all-except-ui off - syn keyword gdbSetDebugArgs contained fortran-array-slicing nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetDebugArgs contained index-cache nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetDebugArgs contained libthread-db nextgroup=gdbSetZUIntegerValue skipwhite - syn keyword gdbSetDebugArgs contained linux-namespaces nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetDebugArgs contained linux-nat nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetDebugArgs contained mach-o nextgroup=gdbSetZUIntegerValue skipwhite - syn keyword gdbSetDebugArgs contained py-breakpoint nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetDebugArgs contained py-micmd nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetDebugArgs contained py-unwind nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetDebugArgs contained remote nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetDebugArgs contained remote-packet-max-chars nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite - syn keyword gdbSetDebugArgs contained separate-debug-file nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetDebugArgs contained solib-dsbt nextgroup=gdbSetZUIntegerValue skipwhite - syn keyword gdbSetDebugArgs contained solib-frv nextgroup=gdbSetZUIntegerValue skipwhite - syn keyword gdbSetDebugArgs contained stap-expression nextgroup=gdbSetZUIntegerValue skipwhite - syn keyword gdbSetDebugArgs contained symbol-lookup nextgroup=gdbSetZUIntegerValue skipwhite - syn keyword gdbSetDebugArgs contained symtab-create nextgroup=gdbSetZUIntegerValue skipwhite - syn keyword gdbSetArgs contained debug-[file-directory] nextgroup=gdbSetOptionalFilenameValue skipwhite - syn keyword gdbSetArgs contained def[ault-collect] nextgroup=gdbSetStringValue skipwhite - syn keyword gdbSetArgs contained dem[angle-style] nextgroup=gdbSetDemangleStyleValue skipwhite - syn keyword gdbSetDemangleStyleValue contained auto dlang gnat gnu-v3 java none rust - syn keyword gdbSetArgs contained det[ach-on-fork] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained disab[le-randomization] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained disassemble-[next-line] nextgroup=gdbSetAutoBooleanValue skipwhite - syn keyword gdbSetArgs contained disassembler[-options] nextgroup=gdbSetStringNoEscapeValue skipwhite - syn keyword gdbSetArgs contained disassembly[-flavor] nextgroup=gdbSetDisassemblyFlavorValue skipwhite - syn keyword gdbSetDisassemblyFlavorValue contained att intel - syn keyword gdbSetArgs contained disconnected-d[printf] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained disconnected-t[racing] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained disp[laced-stepping] nextgroup=gdbSetAutoBooleanValue skipwhite - syn keyword gdbSetArgs contained dprintf-c[hannel] nextgroup=gdbSetStringValue skipwhite - syn keyword gdbSetArgs contained dprintf-f[unction] nextgroup=gdbSetStringValue skipwhite - syn keyword gdbSetArgs contained dprintf-s[tyle] nextgroup=gdbSetDprintfStyleValue skipwhite - syn keyword gdbSetDprintfStyleValue contained agent call gdb - syn keyword gdbSetArgs contained du[mp-excluded-mappings] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained exec-di[rection] nextgroup=gdbSetExecDirectionValue skipwhite - syn keyword gdbSetExecDirectionValue contained forward reverse - syn keyword gdbSetArgs contained exec-do[ne-display] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained exec-f[ile-mismatch] nextgroup=gdbSetExecFileMismatchValue skipwhite - syn keyword gdbSetExecFileMismatchValue contained ask off warn - syn keyword gdbSetArgs contained exec-w[rapper] nextgroup=gdbSetFilenameValue skipwhite - syn keyword gdbSetArgs contained extend[ed-prompt] nextgroup=gdbSetExtendedPromptValue skipwhite - " TODO: move this? - syn region gdbSetExtendedPromptValue contained start="\S" skip="\\$" end="\s*$" - syn match gdbStringEscape "\\[\\ efnprtvw]" containedin=gdbSetExtendedPromptValue - syn match gdbStringEscape "\\[fpt]{[^}]\+}" containedin=gdbSetExtendedPromptValue - syn match gdbStringEscape "\\\[[^]]\+]" containedin=gdbSetExtendedPromptValue - syn keyword gdbSetArgs contained extens[ion-language] nextgroup=gdbSetStringNoEscapeValue skipwhite - syn keyword gdbSetArgs contained fi[lename-display] nextgroup=gdbSetFilenameDisplayValue skipwhite - syn keyword gdbSetFilenameDisplayValue contained absolute basename relative - syn keyword gdbSetArgs contained follow-e[xec-mode] nextgroup=gdbSetFollowExecModeValue skipwhite - syn keyword gdbSetFollowExecModeValue contained new same - syn keyword gdbSetArgs contained follow-f[ork-mode] nextgroup=gdbSetFollowForkModeValue skipwhite - syn keyword gdbSetFollowForkModeValue contained child parent - syn keyword gdbSetArgs contained fr[ame-filter] nextgroup=gdbSetFrameFilterArgs skipwhite - syn keyword gdbSetFrameFilterArgs contained priority nextgroup=gdbSetFrameFilterPriorityValue skipwhite - syn keyword gdbSetFrameFilterPriorityValue contained global progspace - syn keyword gdbSetArgs contained ho[st-charset] " [charset] - syn keyword gdbSetArgs contained heu[ristic-fence-post] nextgroup=gdbSetZIntegerValue skipwhite - syn keyword gdbSetArgs contained ind[ex-cache] nextgroup=gdbSetIndexCacheArgs skipwhite - syn keyword gdbSetIndexCacheArgs contained directory nextgroup=gdbSetFilenameValue skipwhite - syn keyword gdbSetIndexCacheArgs contained enabled nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained inf[erior-tty] nextgroup=gdbSetOptionalFilenameValue skipwhite - syn keyword gdbSetArgs contained inp[ut-radix] - syn keyword gdbSetArgs contained int[eractive-mode] nextgroup=gdbSetAutoBooleanValue skipwhite - syn keyword gdbSetArgs contained lib[thread-db-search-path] nextgroup=gdbSetOptionalFilenameValue skipwhite - syn keyword gdbSetArgs contained max-c[ompletions] nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite - syn keyword gdbSetArgs contained max-u[ser-call-depth] nextgroup=gdbSetUIntegerValue skipwhite - syn keyword gdbSetArgs contained max-v[alue-size] nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite - syn keyword gdbSetArgs contained may-c[all-functions] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained may-insert-b[reakpoints] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained may-insert-f[ast-tracepoints] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained may-insert-t[racepoints] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained may-int[errupt] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained may-write-m[emory] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained may-write-r[egisters] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained mi-[async] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained mu[ltiple-symbols] nextgroup=gdbSetMultipleSymbolsValue skipwhite - syn keyword gdbSetMultipleSymbolsValue contained all ask cancel - syn keyword gdbSetArgs contained no[n-stop] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained op[aque-type-resolution] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained ou[tput-radix] - syn keyword gdbSetArgs contained ov[erload-resolution] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained ran[ge-stepping] nextgroup=gdbSetBooleanValue skipwhite - " TODO: remote protocol specific variables? - syn keyword gdbSetArgs contained remote nextgroup=gdbSetRemoteArgs skipwhite - syn keyword gdbSetRemoteArgs contained TracepointSource-packet - syn keyword gdbSetRemoteArgs contained Z-packet nextgroup=gdbSetAutoBooleanValue skipwhite - syn keyword gdbSetRemoteArgs contained access-watchpoint-packet - syn keyword gdbSetRemoteArgs contained agent-packet - syn keyword gdbSetRemoteArgs contained allow-packet - syn keyword gdbSetRemoteArgs contained attach-packet - syn keyword gdbSetRemoteArgs contained binary-download-packet - syn keyword gdbSetRemoteArgs contained X-packet - syn keyword gdbSetRemoteArgs contained breakpoint-commands-packet - syn keyword gdbSetRemoteArgs contained btrace-conf-bts-size-packet - syn keyword gdbSetRemoteArgs contained btrace-conf-pt-size-packet - syn keyword gdbSetRemoteArgs contained catch-syscalls-packet - syn keyword gdbSetRemoteArgs contained conditional-breakpoints-packet - syn keyword gdbSetRemoteArgs contained conditional-tracepoints-packet - syn keyword gdbSetRemoteArgs contained ctrl-c-packet - syn keyword gdbSetRemoteArgs contained disable-btrace-packet - syn keyword gdbSetRemoteArgs contained disable-randomization-packet - syn keyword gdbSetRemoteArgs contained enable-btrace-bts-packet - syn keyword gdbSetRemoteArgs contained enable-btrace-pt-packet - syn keyword gdbSetRemoteArgs contained environment-hex-encoded-packet - syn keyword gdbSetRemoteArgs contained environment-reset-packet - syn keyword gdbSetRemoteArgs contained environment-unset-packet - syn keyword gdbSetRemoteArgs contained exec-event-feature-packet - syn keyword gdbSetRemoteArgs contained exec-file nextgroup=gdbSetStringNoEscapeValue skipwhite - syn keyword gdbSetRemoteArgs contained fast-tracepoints-packet - syn keyword gdbSetRemoteArgs contained fetch-register-packet - syn keyword gdbSetRemoteArgs contained p-packet - syn keyword gdbSetRemoteArgs contained fork-event-feature-packet - syn keyword gdbSetRemoteArgs contained get-thread-information-block-address-packet - syn keyword gdbSetRemoteArgs contained get-thread-local-storage-address-packet - syn keyword gdbSetRemoteArgs contained hardware-breakpoint-limit nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite - syn keyword gdbSetRemoteArgs contained hardware-breakpoint-packet - syn keyword gdbSetRemoteArgs contained hardware-watchpoint-length-limit nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite - syn keyword gdbSetRemoteArgs contained hardware-watchpoint-limit nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite - syn keyword gdbSetRemoteArgs contained hostio-close-packet - syn keyword gdbSetRemoteArgs contained hostio-fstat-packet - syn keyword gdbSetRemoteArgs contained hostio-open-packet - syn keyword gdbSetRemoteArgs contained hostio-pread-packet - syn keyword gdbSetRemoteArgs contained hostio-pwrite-packet - syn keyword gdbSetRemoteArgs contained hostio-readlink-packet - syn keyword gdbSetRemoteArgs contained hostio-setfs-packet - syn keyword gdbSetRemoteArgs contained hostio-unlink-packet - syn keyword gdbSetRemoteArgs contained hwbreak-feature-packet - syn keyword gdbSetRemoteArgs contained install-in-trace-packet - syn keyword gdbSetRemoteArgs contained interrupt-on-connect - syn keyword gdbSetRemoteArgs contained interrupt-sequence nextgroup=gdbSetRemoteInterruptSequenceValue skipwhite - syn keyword gdbSetRemoteInterruptSequenceValue contained BREAK BREAK-g Ctrl-C - syn keyword gdbSetRemoteArgs contained kill-packet - syn keyword gdbSetRemoteArgs contained library-info-packet - syn keyword gdbSetRemoteArgs contained library-info-svr4-packet - syn keyword gdbSetRemoteArgs contained memory-map-packet - syn keyword gdbSetRemoteArgs contained memory-read-packet-size - syn keyword gdbSetRemoteArgs contained memory-tagging-feature-packet - syn keyword gdbSetRemoteArgs contained memory-write-packet-size - syn keyword gdbSetRemoteArgs contained multiprocess-feature-packet - syn keyword gdbSetRemoteArgs contained no-resumed-stop-reply-packet - syn keyword gdbSetRemoteArgs contained noack-packet - syn keyword gdbSetRemoteArgs contained osdata-packet - syn keyword gdbSetRemoteArgs contained pass-signals-packet - syn keyword gdbSetRemoteArgs contained pid-to-exec-file-packet - syn keyword gdbSetRemoteArgs contained program-signals-packet - syn keyword gdbSetRemoteArgs contained query-attached-packet - syn keyword gdbSetRemoteArgs contained read-aux-vector-packet - syn keyword gdbSetRemoteArgs contained read-btrace-conf-packet - syn keyword gdbSetRemoteArgs contained read-btrace-packet - syn keyword gdbSetRemoteArgs contained read-fdpic-loadmap-packet - syn keyword gdbSetRemoteArgs contained read-sdata-object-packet - syn keyword gdbSetRemoteArgs contained read-siginfo-object-packet - syn keyword gdbSetRemoteArgs contained read-watchpoint-packet - syn keyword gdbSetRemoteArgs contained reverse-continue-packet - syn keyword gdbSetRemoteArgs contained reverse-step-packet - syn keyword gdbSetRemoteArgs contained run-packet - syn keyword gdbSetRemoteArgs contained search-memory-packet - syn keyword gdbSetRemoteArgs contained set-register-packet - syn keyword gdbSetRemoteArgs contained P-packet - syn keyword gdbSetRemoteArgs contained set-working-dir-packet - syn keyword gdbSetRemoteArgs contained software-breakpoint-packet - syn keyword gdbSetRemoteArgs contained startup-with-shell-packet - syn keyword gdbSetRemoteArgs contained static-tracepoints-packet - syn keyword gdbSetRemoteArgs contained supported-packets-packet - syn keyword gdbSetRemoteArgs contained swbreak-feature-packet - syn keyword gdbSetRemoteArgs contained symbol-lookup-packet - syn keyword gdbSetRemoteArgs contained system-call-allowed - syn keyword gdbSetRemoteArgs contained target-features-packet - syn keyword gdbSetRemoteArgs contained thread-events-packet - syn keyword gdbSetRemoteArgs contained threads-packet - syn keyword gdbSetRemoteArgs contained trace-buffer-size-packet - syn keyword gdbSetRemoteArgs contained trace-status-packet - syn keyword gdbSetRemoteArgs contained traceframe-info-packet - syn keyword gdbSetRemoteArgs contained unwind-info-block-packet - syn keyword gdbSetRemoteArgs contained verbose-resume-packet - syn keyword gdbSetRemoteArgs contained verbose-resume-supported-packet - syn keyword gdbSetRemoteArgs contained vfork-event-feature-packet - syn keyword gdbSetRemoteArgs contained write-siginfo-object-packet - syn keyword gdbSetRemoteArgs contained write-watchpoint-packet - syn keyword gdbSetArgs contained remote-[mips64-transfers-32bit-regs] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained schedule-[multiple] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained schedule[r-locking] nextgroup=gdbSetSchedulerLockingValue skipwhite - syn keyword gdbSetSchedulerLockingValue contained on off replay step - syn keyword gdbSetArgs contained scr[ipt-extension] nextgroup=gdbSetScriptExtensionValue skipwhite - syn keyword gdbSetScriptExtensionValue contained off soft strict - syn keyword gdbSetArgs contained solib-s[earch-path] nextgroup=gdbSetOptionalFilenameValue skipwhite - syn keyword gdbSetArgs contained stac[k-cache] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained startup-q[uietly] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained startup-w[ith-shell] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained ste[p-mode] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained sto[p-on-solib-events] nextgroup=gdbSetZIntegerValue skipwhite - syn keyword gdbSetArgs contained str[uct-convention] nextgroup=gdbSetStructConventionValue skipwhite - syn keyword gdbSetStructConventionValue contained default pcc reg - syn keyword gdbSetArgs contained sub[stitute-path] nextgroup=gdbSetFilenameValue skipwhite - syn keyword gdbSetArgs contained sup[press-cli-notifications] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained sy[sroot] solib-a[bsolute-prefix] nextgroup=gdbSetOptionalFilenameValue skipwhite - syn keyword gdbSetArgs contained target-c[harset] " [charset] - syn keyword gdbSetArgs contained target-f[ile-system-kind] nextgroup=gdbSetTargetFileSystemKindValue skipwhite - syn keyword gdbSetTargetFileSystemKindValue contained auto unix dos-based - syn keyword gdbSetArgs contained target-w[ide-charset] " [charset] - syn keyword gdbSetArgs contained trace-b[uffer-size] nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite - syn keyword gdbSetArgs contained trace-c[ommands] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained trace-n[otes] nextgroup=gdbSetStringValue skipwhite - syn keyword gdbSetArgs contained trace-s[top-notes] nextgroup=gdbSetStringValue skipwhite - syn keyword gdbSetArgs contained trace-u[ser] nextgroup=gdbSetStringValue skipwhite - syn keyword gdbSetArgs contained tru[st-readonly-sections] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained unwind-[on-terminating-exception] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained unwindo[nsignal] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained use-c[oredump-filter] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained use-d[eprecated-index-sections] nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbSetArgs contained vars[ize-limit] nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite - " }}}3 - -syn keyword gdbCommand contained und[isplay] -syn keyword gdbCommand contained wha[tis] -syn match gdbWith contained "\<\%(wit\%[h]\|w\)\>" nextgroup=gdbSetArgs skipwhite -syn region gdbWrappedCommand contained start="\<\%(wit\%[h]\|w\)\>" matchgroup=gdbCommandAnchor end="--" end="$" skip="\\$" transparent contains=gdbWith,gdbLineContinuation nextgroup=gdbCommand skipwhite keepend -syn keyword gdbCommand contained x nextgroup=gdbFormat -syn match gdbFormat contained "/\%(-\=\d*\)\=[oxdutfaicsz]\=[bhwg]\=" -syn match gdbFormat contained "/\%(-\=\d*\)\=[bhwg]\=[oxdutfaicsz]\=" - -" files {{{2 -syn keyword gdbCommand contained add-symbol-file -syn keyword gdbCommand contained add-symbol-file-[from-memory] -syn keyword gdbCommand contained cd -syn keyword gdbCommand contained co[re-file] -syn keyword gdbCommand contained dir[ectory] -syn keyword gdbCommand contained ed[it] -syn keyword gdbCommand contained exe[c-file] -syn keyword gdbCommand contained fil[e] -syn keyword gdbCommand contained for[ward-search] fo sea[rch] -syn keyword gdbCommand contained ge[nerate-core-file] gc[ore] -syn keyword gdbCommand contained li[st] l -syn keyword gdbCommand contained lo[ad] -syn keyword gdbCommand contained no[sharedlibrary] -syn keyword gdbCommand contained pat[h] -syn keyword gdbCommand contained pw[d] -syn keyword gdbCommand contained remot[e] nextgroup=gdbRemoteArgs skipwhite - syn keyword gdbRemoteArgs contained d[elete] g[et] p[ut] -syn keyword gdbCommand contained remove-s[ymbol-file] -syn keyword gdbCommand contained reverse-se[arch] rev -syn keyword gdbCommand contained sec[tion] -syn keyword gdbCommand contained sha[redlibrary] -syn keyword gdbCommand contained sy[mbol-file] - -" internals {{{2 -syn keyword gdbCommand contained mai[ntenance] mt nextgroup=gdbMaintenanceArgs skipwhite - syn keyword gdbMaintenanceArgs contained agent - syn keyword gdbMaintenanceArgs contained agent-eval - syn keyword gdbMaintenanceArgs contained agent-printf - syn keyword gdbMaintenanceArgs contained btrace nextgroup=gdbMaintenanceBtraceArgs skipwhite - syn keyword gdbMaintenanceBtraceArgs contained clear clear-packet-history packet-history - syn keyword gdbMaintenanceArgs contained check nextgroup=gdbMaintenanceCheckArgs skipwhite - syn keyword gdbMaintenanceCheckArgs contained libthread-db xml-descriptions - syn keyword gdbMaintenanceArgs contained check-psymtabs - syn keyword gdbMaintenanceArgs contained check-symtabs - syn keyword gdbMaintenanceArgs contained cplus cp nextgroup=gdbMaintenanceCplusArgs skipwhite - syn keyword gdbMaintenanceCplusArgs contained first_component - syn keyword gdbMaintenanceArgs contained demangler-warning - syn keyword gdbMaintenanceArgs contained deprecate - syn keyword gdbMaintenanceArgs contained dump-me - syn keyword gdbMaintenanceArgs contained expand-symtabs - syn keyword gdbMaintenanceArgs contained flush nextgroup=gdbMaintenanceFlushArgs skipwhite - syn keyword gdbMaintenanceFlushArgs contained dcache register-cache source-cache symbol-cache - syn keyword gdbMaintenanceArgs contained info i nextgroup=gdbMaintenanceInfoArgs skipwhite - syn keyword gdbMaintenanceInfoArgs contained bfds breakpoints btrace jit line-table program-spaces psymtabs sections selftests - syn keyword gdbMaintenanceInfoArgs contained symtabs target-sections - syn keyword gdbMaintenanceArgs contained internal-error - syn keyword gdbMaintenanceArgs contained internal-warning - syn keyword gdbMaintenanceArgs contained packet - syn keyword gdbMaintenanceArgs contained print nextgroup=gdbMaintenancePrintArgs skipwhite - syn keyword gdbMaintenancePrintArgs contained arc nextgroup=gdbMaintenancePrintArcArgs skipwhite - syn keyword gdbMaintenancePrintArcArgs contained arc-instruction - syn keyword gdbMaintenancePrintArgs contained architecture c-tdesc cooked-registers core-file-backed-mappings dummy-frames - syn keyword gdbMaintenancePrintArgs contained msymbols objfiles psymbols raw-registers reggroups register-groups registers - syn keyword gdbMaintenancePrintArgs contained remote-registers statistics symbol-cache symbol-cache-statistics symbols - syn keyword gdbMaintenancePrintArgs contained target-stack type unwind user-registers xml-tdesc - syn keyword gdbMaintenanceArgs contained selftest - syn keyword gdbMaintenanceArgs contained set nextgroup=gdbMaintenanceSetArgs skipwhite - syn keyword gdbMaintenanceSetArgs contained ada nextgroup=gdbMaintenanceSetAdaArgs skipwhite - syn keyword gdbMaintenanceSetAdaArgs contained ignore-descriptive-types nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbMaintenanceSetArgs contained backtrace-on-fatal-signal nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbMaintenanceSetArgs contained bfd-sharing nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbMaintenanceSetArgs contained btrace nextgroup=gdbMaintenanceSetBtraceArgs skipwhite - syn keyword gdbMaintenanceSetBtraceArgs contained pt nextgroup=gdbMaintenanceSetBtracePtArgs skipwhite - syn keyword gdbMaintenanceSetBtracePtArgs contained skip-pad nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbMaintenanceSetArgs contained catch-demangler-crashes nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbMaintenanceSetArgs contained check-libthread-db nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbMaintenanceSetArgs contained demangler-warning nextgroup=gdbMaintenanceSetDemanglerWarningArgs skipwhite - syn keyword gdbMaintenanceSetDemanglerWarningArgs contained quit nextgroup=@gdbSetAskBooleanValue skipwhite - syn keyword gdbMaintenanceSetArgs contained dwarf nextgroup=gdbMaintenanceSetDwarfArgs skipwhite - syn keyword gdbMaintenanceSetDwarfArgs contained always-disassemble unwinders nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbMaintenanceSetDwarfArgs contained max-cache-age nextgroup=gdbSetZIntegerValue skipwhite - syn keyword gdbMaintenanceSetArgs contained gnu-source-highlight nextgroup=gdbMaintenanceSetGnuSourceHighlightArgs skipwhite - syn keyword gdbMaintenanceSetGnuSourceHighlightArgs contained enabled nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbMaintenanceSetArgs contained internal-error nextgroup=gdbMaintenanceSetInternalErrorArgs skipwhite - syn keyword gdbMaintenanceSetInternalErrorArgs contained backtrace nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbMaintenanceSetInternalErrorArgs contained corefile quit nextgroup=@gdbSetAskBooleanValue skipwhite - syn keyword gdbMaintenanceSetArgs contained internal-warning nextgroup=gdbMaintenanceSetInternalWarningArgs skipwhite - syn keyword gdbMaintenanceSetInternalWarningArgs contained backtrace nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbMaintenanceSetInternalWarningArgs contained corefile quit nextgroup=@gdbSetAskBooleanValue skipwhite - syn keyword gdbMaintenanceSetArgs contained per-command nextgroup=gdbMaintenanceSetPerCommandArgs skipwhite - syn keyword gdbMaintenanceSetPerCommandArgs contained space symtab time nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbMaintenanceSetArgs contained profile nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbMaintenanceSetArgs contained selftest nextgroup=gdbMaintenanceSetSelftestArgs skipwhite - syn keyword gdbMaintenanceSetSelftestArgs contained verbose nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbMaintenanceSetArgs contained show-all-tib nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbMaintenanceSetArgs contained show-debug-regs nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbMaintenanceSetArgs contained symbol-cache-size nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite - syn keyword gdbMaintenanceSetArgs contained target-async nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbMaintenanceSetArgs contained target-non-stop nextgroup=gdbSetAutoBooleanValue skipwhite - syn keyword gdbMaintenanceSetArgs contained test-settings nextgroup=gdbMaintenanceSetTestSettingsArgs skipwhite - syn keyword gdbMaintenanceSetTestSettingsArgs contained auto-boolean nextgroup=gdbSetAutoBooleanValue skipwhite - syn keyword gdbMaintenanceSetTestSettingsArgs contained boolean nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbMaintenanceSetTestSettingsArgs contained enum - syn keyword gdbMaintenanceSetTestSettingsArgs contained filename - syn keyword gdbMaintenanceSetTestSettingsArgs contained integer nextgroup=gdbSetIntegerValue skipwhite - syn keyword gdbMaintenanceSetTestSettingsArgs contained optional-filename - syn keyword gdbMaintenanceSetTestSettingsArgs contained string - syn keyword gdbMaintenanceSetTestSettingsArgs contained string-noescape - syn keyword gdbMaintenanceSetTestSettingsArgs contained uinteger nextgroup=gdbSetUIntegerValue skipwhite - syn keyword gdbMaintenanceSetTestSettingsArgs contained zinteger nextgroup=gdbSetZIntegerValue skipwhite - syn keyword gdbMaintenanceSetTestSettingsArgs contained zuinteger nextgroup=gdbSetZUIntegerValue skipwhite - syn keyword gdbMaintenanceSetTestSettingsArgs contained zuinteger-unlimited nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite - syn keyword gdbMaintenanceSetArgs contained tui-resize-message nextgroup=gdbSetBooleanValue skipwhite - syn keyword gdbMaintenanceSetArgs contained worker-threads nextgroup=gdbSetZUIntegerUnlimitedValue skipwhite - syn keyword gdbMaintenanceArgs contained show nextgroup=gdbMaintenanceShowArgs,gdbMaintenanceSetArgs skipwhite - syn keyword gdbMaintenanceShowArgs contained test-options-completion-result - syn keyword gdbMaintenanceArgs contained space - syn keyword gdbMaintenanceArgs contained test-options nextgroup=gdbMaintenanceTestOptionsArgs skipwhite - syn keyword gdbMaintenanceTestOptionsArgs contained require-delimiter unknown-is-error unknown-is-operand - syn keyword gdbMaintenanceArgs contained time - syn keyword gdbMaintenanceArgs contained translate-address - syn keyword gdbMaintenanceArgs contained undeprecate - syn keyword gdbMaintenanceArgs contained with - -" obscure {{{2 -syn keyword gdbCommand contained ch[eckpoint] -syn keyword gdbCommand contained compa[re-sections] - -" syn keyword gdbCommand contained compi[le] exp[ression] -" syn keyword gdbCommand contained compi[le] exp[ression] nextgroup=gdbCompileArgs skipwhite -" syn keyword gdbCompile contained compi[le] exp[ression] nextgroup=gdbCompileArgs skipwhite -syn match gdbCompile contained "\<\%(compi\%[le]\|exp\%[ression]\)\>" nextgroup=gdbCompileArgs skipwhite - syn keyword gdbCompileArgs contained c[ode] nextgroup=gdbCompileCodeOptions,@gdbC skipwhite - syn match gdbCompileCodeOptions contained "--\|\%(-r\%[aw]\)\(\s\+--\)\=" nextgroup=@gdbC skipwhite - syn keyword gdbCompileArgs contained f[ile] nextgroup=gdbCompileCodeOptions skipwhite - syn keyword gdbCompileArgs contained p[rint] nextgroup=gdbCompilePrintOptions,gdbCompilePrintFormat,@gdbC skipwhite - " TODO: proper option support - syn match gdbCompilePrintOptions contained "\%(-\w\+\%(\s\+\w\+\)\=\s\+\)*--" nextgroup=@gdbC,gdbCompilePrintFormat skipwhite - syn match gdbCompilePrintFormat contained "/[oxdutfaicsz]" nextgroup=@gdbC skipwhite - -syn region gdbCommand contained start="\<\%(compi\%[le]\|exp\%[ression]\)\s\+c\%[ode]\ze\s" skip="\\$" end="$" contains=gdbCompile,@gdbC keepend transparent fold -syn region gdbMultilineCommand contained start="\<\%(compi\%[le]\|exp\%[ression]\)\s\+c\%[ode]\%(\s\+-r\%[aw]\)\=\%(\s\+--\)\=\s*$" matchgroup=gdbCommand end="^\s*\zsend\ze\s*$" contains=gdbCompile,@gdbC transparent fold -syn region gdbCommand contained start="\<\%(compi\%[le]\|exp\%[ression]\)\s\+p\%[rint]\ze\s" skip="\\$" end="$" contains=gdbCompile,@gdbC keepend transparent fold -syn region gdbMultilineCommand contained start="\<\%(compi\%[le]\|exp\%[ression]\)\s\+p\%[rint]\%(\%(\s\+-.*\)\=\s\+--\)\=\%(\s\+/[a-z]\)\=\s*$" matchgroup=gdbCommand end="^\s*\zsend\ze\s*$" contains=gdbCompile,@gdbC transparent fold - -syn keyword gdbCommand contained compl[ete] - -" Guile {{{3 -syn include @gdbGuile syntax/scheme.vim -unlet b:current_syntax -syn keyword gdbCommand contained guile-repl -syn keyword gdbCommand contained gr -syn region gdbCommand contained matchgroup=gdbCommand start="\" nextgroup=gdbAliasEndOption,gdbAliasName skipwhite - syn match gdbAliasName contained "\<\w\%(\w\|-\)*\>" nextgroup=gdbAliasEquals skipwhite - syn match gdbAliasEquals contained "=" nextgroup=@gdbCommands skipwhite - -syn keyword gdbCommand contained apr[opos] - -syn region gdbDefine contained matchgroup=gdbCommand start="\" end="^\s*\zsend\ze\s*$" contains=TOP transparent fold -syn keyword gdbCommand contained define-[prefix] -syn keyword gdbCommand contained dem[angle] - -syn region gdbDocument contained matchgroup=gdbCommand start="\" end="^\s*\zsend\ze\s*$" fold contains=gdbDocumentCommand - -syn keyword gdbCommand contained don[t-repeat] -syn keyword gdbCommand contained down-[silently] -syn keyword gdbCommand contained ec[ho] nextgroup=gdbUnquotedString skipwhite - " TODO: move - syn region gdbUnquotedString contained start="\S" skip="\\$" end="$" contains=gdbStringEscape,gdbLineContinuation - hi def link gdbUnquotedString String - " syn region gdbUnquotedStringNoEscape contained start="\S" skip="\\$" end="$" contains=gdbLineContinuation - " hi def link gdbUnquotedStringNoEscape String -syn keyword gdbCommand contained he[lp] h - -syn region gdbIf contained matchgroup=gdbCommand start="\" end="\%(^\s*\)\@<=end\ze\s*$" contains=TOP transparent fold -syn keyword gdbCommand contained else containedin=gdbIf - -syn keyword gdbCommand contained interp[reter-exec] -syn keyword gdbCommand contained mak[e] -syn keyword gdbCommand contained new[-ui] -syn keyword gdbCommand contained ov[erlay] ov ovly nextgroup=gdbOverlayArgs skipwhite - syn keyword gdbOverlayArgs contained a[uto] li[st-overlays] lo[ad-target] man[ual] map[-overlay] o[ff] u[nmap-overlay] -" TODO: pi completes as pipe ignoring pi (python-interactive) -" : sh region -syn keyword gdbCommand contained pip[e] -syn match gdbCommand contained "|" -syn keyword gdbCommand contained qui[t] exi[t] q -syn keyword gdbCommand contained she[ll] nextgroup=gdbShellValue skipwhite -syn match gdbCommand contained "!" nextgroup=gdbShellValue skipwhite - syn include @gdbSh syntax/sh.vim - unlet b:current_syntax - syn region gdbShellValue contained start="\S" skip="\\$" end="$" contains=@gdbSh,gdbLineContinuation keepend -syn keyword gdbCommand contained so[urce] nextgroup=gdbSourceOption skipwhite - syn match gdbSourceOption contained "\<-[sv]\>" nextgroup=gdbSourceOption skipwhite -syn keyword gdbCommand contained up-[silently] - -syn region gdbWhile contained matchgroup=gdbCommand start="\" end="\%(^\s*\)\@<=end\ze\s*$" contains=TOP transparent fold -syn keyword gdbCommand contained loop_b[reak] loop_c[ontinue] containedin=gdbWhile - -" text-user-interface {{{2 -syn match gdbCommand contained "[<>+-]" -syn keyword gdbCommand contained foc[us] fs -syn keyword gdbCommand contained la[yout] nextgroup=gdbLayoutArgs skipwhite - syn keyword gdbLayoutArgs contained a[sm] n[ext] p[rev] r[egs] sp[lit] sr[c] -syn keyword gdbCommand contained ref[resh] -syn keyword gdbCommand contained tu[i] nextgroup=gdbTuiArgs skipwhite - syn keyword gdbTuiArgs contained d[isable] e[nable] n[ew-layout] r[eg] -syn keyword gdbCommand contained upd[ate] -syn keyword gdbCommand contained win[height] wh nextgroup=gdbWindowName skipwhite - syn keyword gdbWindowName contained a[sm] c[md] sr[c] st[atus] r[egs] - -" tracepoints {{{2 -syn keyword gdbCommand contained ac[tions] -syn keyword gdbCommand contained col[lect] -syn keyword gdbCommand contained end -syn keyword gdbCommand contained pas[scount] -syn keyword gdbCommand contained t[dump] -syn keyword gdbCommand contained tev[al] -syn keyword gdbCommand contained tfi[nd] nextgroup=gdbTfindArgs skipwhite - syn keyword gdbTfindArgs contained e[nd] l[ine] n[one] o[utside] p[c] r[ange] s[tart] t[racepoint] -syn keyword gdbCommand contained tsa[ve] -syn keyword gdbCommand contained tstar[t] -syn keyword gdbCommand contained tstat[us] -syn keyword gdbCommand contained tsto[p] -syn keyword gdbCommand contained tv[ariable] -syn keyword gdbCommand contained while-stepping stepp[ing] ws - -" unclassified {{{2 -syn keyword gdbCommand contained add-i[nferior] -syn keyword gdbCommand contained clo[ne-inferior] -syn keyword gdbCommand contained ev[al] -syn keyword gdbCommand contained fl[ash-erase] -syn keyword gdbCommand contained fu[nction] -syn keyword gdbCommand contained jit-reader-l[oad] -syn keyword gdbCommand contained jit-reader-u[nload] -syn keyword gdbCommand contained remove-i[nferiors] -syn keyword gdbCommand contained uns[et] nextgroup=gdbUnsetArgs skipwhite - syn keyword gdbUnsetArgs contained environment exec-wrapper substitute-path - syn keyword gdbUnsetArgs contained tdesc nextgroup=gdbUnsetTdescArgs skipwhite - syn keyword gdbUnsetTdescArgs contained filename - syn keyword gdbUnsetArgs contained exec-wrapper - syn keyword gdbUnsetArgs contained substitute-path -syn keyword gdbCommand contained bo[okmark] -syn keyword gdbCommand contained go[to-bookmark] -" }}} - -" Command syntax {{{1 -syn keyword gdbPrefix contained server nextgroup=gdbCommand skipwhite - -syn cluster gdbCommands contains=gdbCommand,gdbMultilineCommand,gdbCompile,gdbDefine,gdbDocument,gdbIf,gdbWhile,gdbPrefix,gdbWrappedCommand - -syn match gdbCommandAnchor "^" nextgroup=@gdbCommands skipwhite -" TODO: give higher priority than \\ in unquoted strings as \\$ matches \ escape of first char on following line -syn match gdbLineContinuation "\\$" - -" Comments {{{1 -syn match gdbComment "^\s*\zs#.*" contains=@Spell - -" Variables {{{1 -syn match gdbVariable "\$\K\k*" - -" Strings and constants {{{1 -syn region gdbString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=gdbStringEscape,@Spell -syn match gdbStringEscape contained "\\[abfnrtv\\'" ]" -syn match gdbStringEscape contained "\\\o\{1,3}" -syn match gdbCharacter "'[^']*'" contains=gdbSpecialChar,gdbSpecialCharError -syn match gdbCharacter "'\\''" contains=gdbSpecialChar -syn match gdbCharacter "'[^\\]'" -syn match gdbNumber "\<[0-9_]\+\>" -syn match gdbNumber "\<0x[0-9a-fA-F_]\+\>" - -syn match gdbNumber "\<0\o\+\>" -syn match gdbNumber "\<\d\+\>\.\=" -syn match gdbNumber "\<0x\x\+\>" - -" Architecture {{{2 -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" -syn match gdbArchitecture contained "\" - -" Sync {{{1 -exec "syn sync minlines=" .. get(g:, "gdb_minlines", 100) -exec "syn sync maxlines=" .. get(g:, "gdb_minlines", 200) -syn sync ccomment gdbComment -syn sync linecont "\\$" - -" Default Highlighting {{{1 -" Only when an item doesn't have highlighting yet -hi def link gdbCompile gdbCommand -hi def link gdbFuncDef Function -hi def link gdbComment Comment -hi def link gdbCommand Statement -hi def link gdbPrefix gdbCommand -hi def link gdbString String -hi def link gdbStringEscape SpecialChar -hi def link gdbCharacter Character -hi def link gdbVariable Identifier -hi def link gdbWith gdbCommand - -" Command options {{{2 -hi def link gdbFormat Special -hi def link gdbPrintFormat gdbFormat -hi def link gdbOption Special -hi def link gdbCompileCodeOptions gdbOption -hi def link gdbCompilePrintOptions gdbOption -hi def link gdbCompilePrintFormat gdbFormat - -" Subcommands {{{2 -hi def link gdbCommandArgs Type -hi def link gdbAdiArgs gdbCommandArgs -hi def link gdbAliasOption gdbCommandArgs -hi def link gdbAliasEndOption gdbCommandArgs -hi def link gdbAppendArgs gdbCommandArgs -hi def link gdbAppendBinaryArgs gdbAppendArgs -hi def link gdbCatchArgs gdbCommandArgs -hi def link gdbCompileArgs gdbCommandArgs -hi def link gdbConditionOption gdbCommandArgs -hi def link gdbConditionEndOption gdbCommandArgs -hi def link gdbDeleteArgs gdbCommandArgs -hi def link gdbDetachArgs gdbCommandArgs -hi def link gdbDisableArgs gdbCommandArgs -hi def link gdbDumpArgs gdbCommandArgs -hi def link gdbDumpBinaryArgs gdbDumpArgs -hi def link gdbEnableArgs gdbCommandArgs -hi def link gdbEnableBreakpointArgs gdbEnableArgs -hi def link gdbExploreArgs gdbCommandArgs -hi def link gdbFrameArgs gdbCommandArgs -hi def link gdbFrameApplyArgs gdbCommandArgs -hi def link gdbInfoArgs gdbCommandArgs -hi def link gdbInfoAutoLoadArgs gdbInfoArgs -hi def link gdbInfoFrameArgs gdbInfoArgs -hi def link gdbInfoModuleArgs gdbInfoArgs -hi def link gdbInfoProbesArgs gdbInfoArgs -hi def link gdbInfoProcArgs gdbInfoArgs -hi def link gdbInfoW32Args gdbInfoArgs -hi def link gdbKillArgs gdbCommandArgs -hi def link gdbLayoutArgs gdbCommandArgs -hi def link gdbMacroArgs gdbCommandArgs -hi def link gdbMaintenanceArgs gdbCommandArgs -hi def link gdbMaintenanceBtraceArgs gdbCommandArgs -hi def link gdbMaintenanceCheckArgs gdbCommandArgs -hi def link gdbMaintenanceCplusArgs gdbCommandArgs -hi def link gdbMaintenanceFlushArgs gdbCommandArgs -hi def link gdbMaintenanceInfoArgs gdbCommandArgs -hi def link gdbMaintenancePrintArgs gdbCommandArgs -hi def link gdbMaintenancePrintArcArgs gdbCommandArgs -hi def link gdbMaintenanceSetArgs gdbCommandArgs -hi def link gdbMaintenanceSetAdaArgs gdbCommandArgs -hi def link gdbMaintenanceSetBtraceArgs gdbCommandArgs -hi def link gdbMaintenanceSetBtracePtArgs gdbCommandArgs -hi def link gdbMaintenanceSetDemanglerWarningArgs gdbCommandArgs -hi def link gdbMaintenanceSetDwarfArgs gdbCommandArgs -hi def link gdbMaintenanceSetGnuSourceHighlightArgs gdbCommandArgs -hi def link gdbMaintenanceSetInternalErrorArgs gdbCommandArgs -hi def link gdbMaintenanceSetInternalErrorArgs gdbCommandArgs -hi def link gdbMaintenanceSetInternalWarningArgs gdbCommandArgs -hi def link gdbMaintenanceSetPerCommandArgs gdbCommandArgs -hi def link gdbMaintenanceSetSelftestArgs gdbCommandArgs -hi def link gdbMaintenanceSetTestSettingsArgs gdbCommandArgs -hi def link gdbMaintenanceShowArgs gdbCommandArgs -hi def link gdbMaintenanceTestOptionsArgs gdbCommandArgs -hi def link gdbMemoryTagArgs gdbCommandArgs -hi def link gdbOverlayArgs gdbCommandArgs -hi def link gdbRecordArgs gdbCommandArgs -hi def link gdbRecordBtraceArgs gdbRecordArgs -hi def link gdbRecordGotoArgs gdbRecordArgs -hi def link gdbRecordFullArgs gdbRecordArgs -hi def link gdbRemoteArgs gdbCommandArgs -hi def link gdbSaveArgs gdbCommandArgs -hi def link gdbSelectFrameArgs gdbCommandArgs -hi def link gdbSkipArgs gdbCommandArgs -hi def link gdbSetArgs gdbCommandArgs -hi def link gdbSetAdaArgs gdbCommandArgs -hi def link gdbSetArmArgs gdbCommandArgs -hi def link gdbSetAutoloadArgs gdbCommandArgs -hi def link gdbSetBacktraceArgs gdbCommandArgs -hi def link gdbSetBreakpointArgs gdbCommandArgs -hi def link gdbSetCheckArgs gdbCommandArgs -hi def link gdbSetDcacheArgs gdbCommandArgs -hi def link gdbSetDebugArgs gdbCommandArgs -hi def link gdbSetDebuginfodArgs gdbCommandArgs -hi def link gdbSetDebugRiscvArgs gdbCommandArgs -hi def link gdbSetFortranArgs gdbCommandArgs -hi def link gdbSetFrameFilterArgs gdbCommandArgs -hi def link gdbSetGuileArgs gdbCommandArgs -hi def link gdbSetHistoryArgs gdbCommandArgs -hi def link gdbSetIndexCacheArgs gdbCommandArgs -hi def link gdbSetLoggingArgs gdbCommandArgs -hi def link gdbSetMemArgs gdbCommandArgs -hi def link gdbSetMipsArgs gdbCommandArgs -hi def link gdbSetMpxArgs gdbCommandArgs -hi def link gdbSetPowerpcArgs gdbCommandArgs -hi def link gdbSetPrintArgs gdbCommandArgs -hi def link gdbSetPrintTypeArgs gdbSetPrintArgs -hi def link gdbSetPythonArgs gdbCommandArgs -hi def link gdbSetRavenscarArgs gdbCommandArgs -hi def link gdbSetRecordArgs gdbCommandArgs -hi def link gdbSetRecordBtraceArgs gdbSetRecordArgs -hi def link gdbSetRecordBtraceBtsArgs gdbSetRecordBtraceArgs -hi def link gdbSetRecordBtraceCpuArgs gdbSetRecordBtraceArgs -hi def link gdbSetRecordFullArgs gdbSetRecordArgs -hi def link gdbSetRecordBtracePtArgs gdbSetRecordBtraceArgs -hi def link gdbSetRemoteArgs gdbCommandArgs -hi def link gdbSetRiscvArgs gdbCommandArgs -hi def link gdbSetSerialArgs gdbCommandArgs -hi def link gdbSetShArgs gdbCommandArgs -hi def link gdbSetSourceArgs gdbCommandArgs -hi def link gdbSetStyleArgs gdbCommandArgs -hi def link gdbSetStyleAddressArgs gdbSetStyleArgs -hi def link gdbSetStyleDissassemblerArgs gdbSetStyleArgs -hi def link gdbSetStyleFilenameArgs gdbSetStyleArgs -hi def link gdbSetStyleFunctionArgs gdbSetStyleArgs -hi def link gdbSetStyleHighlightArgs gdbSetStyleArgs -hi def link gdbSetStyleMetadataArgs gdbSetStyleArgs -hi def link gdbSetStyleTitleArgs gdbSetStyleArgs -hi def link gdbSetStyleTuiActiveBorderArgs gdbSetStyleArgs -hi def link gdbSetStyleTuiBorderArgs gdbSetStyleArgs -hi def link gdbSetStyleVariableArgs gdbSetStyleArgs -hi def link gdbSetStyleVersionArgs gdbSetStyleArgs -hi def link gdbSetTuiArgs gdbCommandArgs -hi def link gdbSetTcpArgs gdbCommandArgs -hi def link gdbSetTdescArgs gdbCommandArgs -hi def link gdbShowArgs gdbCommandArgs -hi def link gdbShowIndexCacheArgs gdbCommandArgs -" TODO: dedicated option highlight group? -hi def link gdbSourceOption gdbCommandArgs -hi def link gdbTaskArgs gdbCommandArgs -hi def link gdbTaskApplyArgs gdbTaskArgs -hi def link gdbTargetArgs gdbCommandArgs -hi def link gdbTfindArgs gdbCommandArgs -hi def link gdbThreadArgs gdbCommandArgs -hi def link gdbThreadApplyArgs gdbThreadArgs -hi def link gdbTuiArgs gdbCommandArgs -hi def link gdbUnsetArgs gdbCommandArgs -hi def link gdbUnsetTdescArgs gdbUnsetArgs -hi def link gdbWatchOption gdbCommandArgs -hi def link gdbWatchEndOption gdbCommandArgs - -" Set values {{{2 -hi def link gdbSetValue Constant -hi def link gdbSetAskValue gdbSetValue -hi def link gdbSetAutoBooleanValue gdbSetValue -hi def link gdbSetBooleanValue gdbSetValue -hi def link gdbSetIntegerValue gdbSetValue -hi def link gdbSetUIntegerValue gdbSetValue -hi def link gdbSetZIntegerValue gdbSetValue -hi def link gdbSetZUIntegerValue gdbSetValue -hi def link gdbSetZUIntegerUnlimitedValue gdbSetValue -hi def link gdbSetFilenameValue gdbSetValue -hi def link gdbSetOptionalFilenameValue gdbSetValue -hi def link gdbSetStringValue gdbString -hi def link gdbSetStringNoEscapeValue gdbString -hi def link gdbSetExtendedPromptValue gdbString - -" Enum values {{{3 -hi def link gdbSetAdaSourceCharsetValue gdbSetValue -hi def link gdbSetArmAbiValue gdbSetValue -hi def link gdbSetArmDisassemblerValue gdbSetValue -hi def link gdbSetArmFallbackModeValue gdbSetValue -hi def link gdbSetArmForceModeValue gdbSetValue -hi def link gdbSetArmFpuValue gdbSetValue -hi def link gdbSetAutoloadValue gdbSetValue -hi def link gdbSetBreakpointCondtionEvaluationValue gdbSetValue -hi def link gdbSetCheckRangeValue gdbSetValue -hi def link gdbSetCpAbiValue gdbSetValue -hi def link gdbSetCrisModeValue gdbSetValue -hi def link gdbSetDebugEventLoopValue gdbSetValue -hi def link gdbSetDemangleStyleValue gdbSetValue -hi def link gdbSetDisassemblyFlavorValue gdbSetValue -hi def link gdbSetDprintfStyleValue gdbSetValue -hi def link gdbSetEndianValue gdbSetValue -hi def link gdbSetExecDirectionValue gdbSetValue -hi def link gdbSetExecFileMismatchValue gdbSetValue -hi def link gdbSetFilenameDisplayValue gdbSetValue -hi def link gdbSetFollowExecModeValue gdbSetValue -hi def link gdbSetFollowForkModeValue gdbSetValue -hi def link gdbSetFrameFilterPriorityValue gdbSetValue -hi def link gdbSetGuilePrintStackValue gdbSetValue -hi def link gdbSetLanguageValue gdbSetValue -hi def link gdbSetMipsAbiValue gdbSetValue -hi def link gdbSetMipsCompressionValue gdbSetValue -hi def link gdbSetMipsfpuValue gdbSetValue -hi def link gdbSetMultipleSymbolsValue gdbSetValue -hi def link gdbSetOsabiValue gdbSetValue -hi def link gdbSetPowerpcVectorAbiValue gdbSetValue -hi def link gdbSetPrintEntryValuesValue gdbSetValue -hi def link gdbSetPrintFrameArgumentsValue gdbSetValue -hi def link gdbSetPrintFrameInfoValue gdbSetValue -hi def link gdbSetPythonPrintStackValue gdbSetValue -hi def link gdbSetRecordBtraceReplayMemoryAccessValue gdbSetValue -hi def link gdbSetRemoteInterruptSequenceValue gdbSetValue -hi def link gdbSetRemotelogbaseValue gdbSetValue -hi def link gdbSetSchedulerLockingValue gdbSetValue -hi def link gdbSetScriptExtensionValue gdbSetValue -hi def link gdbSetSerialParityValue gdbSetValue -hi def link gdbSetShCallingConventionValue gdbSetValue -hi def link gdbSetStructConventionValue gdbSetValue -hi def link gdbSetSymbolLoadingValue gdbSetValue -hi def link gdbSetTargetFileSystemKindValue gdbSetValue -hi def link gdbSetTuiBorderKindValue gdbSetValue -hi def link gdbSetTuiBorderModeValue gdbSetValue -" }}}2 - -hi def link gdbAliasName Function -hi def link gdbArchitecture Constant -hi def link gdbWindowName Constant -hi def link gdbBreakpointCount Number -hi def link gdbBreakpointNumber Constant -hi def link gdbBreakpointRange Constant - -hi def link gdbDocument Special -hi def link gdbNumber Number -hi def link gdbLineContinuation Special -" }}} - -let b:current_syntax = "gdb" - -let &cpo = s:cpo_save -unlet s:cpo_save - -" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker: diff --git a/uvim/runtime/syntax/gdmo.mnv b/uvim/runtime/syntax/gdmo.mnv new file mode 100644 index 0000000000..5b55c3f9cd --- /dev/null +++ b/uvim/runtime/syntax/gdmo.mnv @@ -0,0 +1,83 @@ +" MNV syntax file +" Language: GDMO +" (ISO-10165-4; Guidelines for the Definition of Managed Object) +" Maintainer: Gyuman (Chester) Kim +" URL: http://classicalprogrammer.wikidot.com/local--files/mnv-syntax-file-for-gdmo/gdmo.mnv +" Last change: 8th June, 2011 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" keyword definitions +syn match gdmoCategory "MANAGED\s\+OBJECT\s\+CLASS" +syn keyword gdmoCategory NOTIFICATION ATTRIBUTE BEHAVIOUR PACKAGE ACTION +syn match gdmoCategory "NAME\s\+BINDING" +syn match gdmoRelationship "DERIVED\s\+FROM" +syn match gdmoRelationship "SUPERIOR\s\+OBJECT\s\+CLASS" +syn match gdmoRelationship "SUBORDINATE\s\+OBJECT\s\+CLASS" +syn match gdmoExtension "AND\s\+SUBCLASSES" +syn match gdmoDefinition "DEFINED\s\+AS" +syn match gdmoDefinition "REGISTERED\s\+AS" +syn match gdmoExtension "ORDER\s\+BY" +syn match gdmoReference "WITH\s\+ATTRIBUTE" +syn match gdmoReference "WITH\s\+INFORMATION\s\+SYNTAX" +syn match gdmoReference "WITH\s\+REPLY\s\+SYNTAX" +syn match gdmoReference "WITH\s\+ATTRIBUTE\s\+SYNTAX" +syn match gdmoExtension "AND\s\+ATTRIBUTE\s\+IDS" +syn match gdmoExtension "MATCHES\s\+FOR" +syn match gdmoReference "CHARACTERIZED\s\+BY" +syn match gdmoReference "CONDITIONAL\s\+PACKAGES" +syn match gdmoExtension "PRESENT\s\+IF" +syn match gdmoExtension "DEFAULT\s\+VALUE" +syn match gdmoExtension "PERMITTED\s\+VALUES" +syn match gdmoExtension "REQUIRED\s\+VALUES" +syn match gdmoExtension "NAMED\s\+BY" +syn keyword gdmoReference ATTRIBUTES NOTIFICATIONS ACTIONS +syn keyword gdmoExtension DELETE CREATE +syn keyword gdmoExtension EQUALITY SUBSTRINGS ORDERING +syn match gdmoExtension "REPLACE-WITH-DEFAULT" +syn match gdmoExtension "GET" +syn match gdmoExtension "GET-REPLACE" +syn match gdmoExtension "ADD-REMOVE" +syn match gdmoExtension "WITH-REFERENCE-OBJECT" +syn match gdmoExtension "WITH-AUTOMATIC-INSTANCE-NAMING" +syn match gdmoExtension "ONLY-IF-NO-CONTAINED-OBJECTS" + + +" Strings and constants +syn match gdmoSpecial contained "\\\d\d\d\|\\." +syn region gdmoString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=gdmoSpecial +syn match gdmoCharacter "'[^\\]'" +syn match gdmoSpecialCharacter "'\\.'" +syn match gdmoNumber "0[xX][0-9a-fA-F]\+\>" +syn match gdmoLineComment "--.*" +syn match gdmoLineComment "--.*--" + +syn match gdmoDefinition "^\s*[a-zA-Z][-a-zA-Z0-9_.\[\] \t{}]* *::="me=e-3 +syn match gdmoBraces "[{}]" + +syn sync ccomment gdmoComment + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link gdmoCategory Structure +hi def link gdmoRelationship Macro +hi def link gdmoDefinition Statement +hi def link gdmoReference Type +hi def link gdmoExtension Operator +hi def link gdmoBraces Function +hi def link gdmoSpecial Special +hi def link gdmoString String +hi def link gdmoCharacter Character +hi def link gdmoSpecialCharacter gdmoSpecial +hi def link gdmoComment Comment +hi def link gdmoLineComment gdmoComment +hi def link gdmoType Type + + +let b:current_syntax = "gdmo" + +" mnv: ts=8 diff --git a/uvim/runtime/syntax/gdmo.vim b/uvim/runtime/syntax/gdmo.vim deleted file mode 100644 index 009f402ffa..0000000000 --- a/uvim/runtime/syntax/gdmo.vim +++ /dev/null @@ -1,83 +0,0 @@ -" Vim syntax file -" Language: GDMO -" (ISO-10165-4; Guidelines for the Definition of Managed Object) -" Maintainer: Gyuman (Chester) Kim -" URL: http://classicalprogrammer.wikidot.com/local--files/vim-syntax-file-for-gdmo/gdmo.vim -" Last change: 8th June, 2011 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" keyword definitions -syn match gdmoCategory "MANAGED\s\+OBJECT\s\+CLASS" -syn keyword gdmoCategory NOTIFICATION ATTRIBUTE BEHAVIOUR PACKAGE ACTION -syn match gdmoCategory "NAME\s\+BINDING" -syn match gdmoRelationship "DERIVED\s\+FROM" -syn match gdmoRelationship "SUPERIOR\s\+OBJECT\s\+CLASS" -syn match gdmoRelationship "SUBORDINATE\s\+OBJECT\s\+CLASS" -syn match gdmoExtension "AND\s\+SUBCLASSES" -syn match gdmoDefinition "DEFINED\s\+AS" -syn match gdmoDefinition "REGISTERED\s\+AS" -syn match gdmoExtension "ORDER\s\+BY" -syn match gdmoReference "WITH\s\+ATTRIBUTE" -syn match gdmoReference "WITH\s\+INFORMATION\s\+SYNTAX" -syn match gdmoReference "WITH\s\+REPLY\s\+SYNTAX" -syn match gdmoReference "WITH\s\+ATTRIBUTE\s\+SYNTAX" -syn match gdmoExtension "AND\s\+ATTRIBUTE\s\+IDS" -syn match gdmoExtension "MATCHES\s\+FOR" -syn match gdmoReference "CHARACTERIZED\s\+BY" -syn match gdmoReference "CONDITIONAL\s\+PACKAGES" -syn match gdmoExtension "PRESENT\s\+IF" -syn match gdmoExtension "DEFAULT\s\+VALUE" -syn match gdmoExtension "PERMITTED\s\+VALUES" -syn match gdmoExtension "REQUIRED\s\+VALUES" -syn match gdmoExtension "NAMED\s\+BY" -syn keyword gdmoReference ATTRIBUTES NOTIFICATIONS ACTIONS -syn keyword gdmoExtension DELETE CREATE -syn keyword gdmoExtension EQUALITY SUBSTRINGS ORDERING -syn match gdmoExtension "REPLACE-WITH-DEFAULT" -syn match gdmoExtension "GET" -syn match gdmoExtension "GET-REPLACE" -syn match gdmoExtension "ADD-REMOVE" -syn match gdmoExtension "WITH-REFERENCE-OBJECT" -syn match gdmoExtension "WITH-AUTOMATIC-INSTANCE-NAMING" -syn match gdmoExtension "ONLY-IF-NO-CONTAINED-OBJECTS" - - -" Strings and constants -syn match gdmoSpecial contained "\\\d\d\d\|\\." -syn region gdmoString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=gdmoSpecial -syn match gdmoCharacter "'[^\\]'" -syn match gdmoSpecialCharacter "'\\.'" -syn match gdmoNumber "0[xX][0-9a-fA-F]\+\>" -syn match gdmoLineComment "--.*" -syn match gdmoLineComment "--.*--" - -syn match gdmoDefinition "^\s*[a-zA-Z][-a-zA-Z0-9_.\[\] \t{}]* *::="me=e-3 -syn match gdmoBraces "[{}]" - -syn sync ccomment gdmoComment - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link gdmoCategory Structure -hi def link gdmoRelationship Macro -hi def link gdmoDefinition Statement -hi def link gdmoReference Type -hi def link gdmoExtension Operator -hi def link gdmoBraces Function -hi def link gdmoSpecial Special -hi def link gdmoString String -hi def link gdmoCharacter Character -hi def link gdmoSpecialCharacter gdmoSpecial -hi def link gdmoComment Comment -hi def link gdmoLineComment gdmoComment -hi def link gdmoType Type - - -let b:current_syntax = "gdmo" - -" vim: ts=8 diff --git a/uvim/runtime/syntax/gdresource.mnv b/uvim/runtime/syntax/gdresource.mnv new file mode 100644 index 0000000000..df84f52abc --- /dev/null +++ b/uvim/runtime/syntax/gdresource.mnv @@ -0,0 +1,65 @@ +" MNV syntax file for Godot resource (scenes) +" Language: gdresource +" Maintainer: Maxim Kim +" Filenames: *.tscn, *.tres +" Website: https://github.com/habamax/mnv-gdscript + +if exists("b:current_syntax") + finish +endif + +let s:keepcpo = &cpo +set cpo&mnv + +syn match gdResourceNumber "\<0x\%(_\=\x\)\+\>" +syn match gdResourceNumber "\<0b\%(_\=[01]\)\+\>" +syn match gdResourceNumber "\<\d\%(_\=\d\)*\>" +syn match gdResourceNumber "\<\d\%(_\=\d\)*\%(e[+-]\=\d\%(_\=\d\)*\)\=\>" +syn match gdResourceNumber "\<\d\%(_\=\d\)*\.\%(e[+-]\=\d\%(_\=\d\)*\)\=\%(\W\|$\)\@=" +syn match gdResourceNumber "\%(^\|\W\)\@1<=\%(\d\%(_\=\d\)*\)\=\.\d\%(_\=\d\)*\%(e[+-]\=\d\%(_\=\d\)*\)\=\>" + +syn keyword gdResourceKeyword true false + +syn region gdResourceString + \ start=+[uU]\="+ end='"' skip='\\\\\|\\"' + \ contains=@Spell keepend + +" Section +syn region gdResourceSection matchgroup=gdResourceSectionDelimiter + \ start='^\[' end=']\s*$' + \ oneline keepend + \ contains=gdResourceSectionName,gdResourceSectionAttribute + +syn match gdResourceSectionName '\[\@<=\S\+' contained skipwhite +syn match gdResourceSectionAttribute '\S\+\s*=\s*\S\+' + \ skipwhite keepend contained + \ contains=gdResourceSectionAttributeName,gdResourceSectionAttributeValue +syn match gdResourceSectionAttributeName '\S\+\ze\(\s*=\)' skipwhite contained +syn match gdResourceSectionAttributeValue '\(=\s*\)\zs\S\+\ze' skipwhite + \ contained + \ contains=gdResourceString,gdResourceNumber,gdResourceKeyword + + +" Section body +syn match gdResourceAttribute '^\s*\S\+\s*=.*$' + \ skipwhite keepend + \ contains=gdResourceAttributeName,gdResourceAttributeValue + +syn match gdResourceAttributeName '\S\+\ze\(\s*=\)' skipwhite contained +syn match gdResourceAttributeValue '\(=\s*\)\zs.*$' skipwhite + \ contained + \ contains=gdResourceString,gdResourceNumber,gdResourceKeyword + + +hi def link gdResourceNumber Constant +hi def link gdResourceKeyword Constant +hi def link gdResourceSectionName Statement +hi def link gdResourceSectionDelimiter Delimiter +hi def link gdResourceSectionAttributeName Type +hi def link gdResourceAttributeName Identifier +hi def link gdResourceString String + +let b:current_syntax = "gdresource" + +let &cpo = s:keepcpo +unlet s:keepcpo diff --git a/uvim/runtime/syntax/gdresource.vim b/uvim/runtime/syntax/gdresource.vim deleted file mode 100644 index 7e1a2513e2..0000000000 --- a/uvim/runtime/syntax/gdresource.vim +++ /dev/null @@ -1,65 +0,0 @@ -" Vim syntax file for Godot resource (scenes) -" Language: gdresource -" Maintainer: Maxim Kim -" Filenames: *.tscn, *.tres -" Website: https://github.com/habamax/vim-gdscript - -if exists("b:current_syntax") - finish -endif - -let s:keepcpo = &cpo -set cpo&vim - -syn match gdResourceNumber "\<0x\%(_\=\x\)\+\>" -syn match gdResourceNumber "\<0b\%(_\=[01]\)\+\>" -syn match gdResourceNumber "\<\d\%(_\=\d\)*\>" -syn match gdResourceNumber "\<\d\%(_\=\d\)*\%(e[+-]\=\d\%(_\=\d\)*\)\=\>" -syn match gdResourceNumber "\<\d\%(_\=\d\)*\.\%(e[+-]\=\d\%(_\=\d\)*\)\=\%(\W\|$\)\@=" -syn match gdResourceNumber "\%(^\|\W\)\@1<=\%(\d\%(_\=\d\)*\)\=\.\d\%(_\=\d\)*\%(e[+-]\=\d\%(_\=\d\)*\)\=\>" - -syn keyword gdResourceKeyword true false - -syn region gdResourceString - \ start=+[uU]\="+ end='"' skip='\\\\\|\\"' - \ contains=@Spell keepend - -" Section -syn region gdResourceSection matchgroup=gdResourceSectionDelimiter - \ start='^\[' end=']\s*$' - \ oneline keepend - \ contains=gdResourceSectionName,gdResourceSectionAttribute - -syn match gdResourceSectionName '\[\@<=\S\+' contained skipwhite -syn match gdResourceSectionAttribute '\S\+\s*=\s*\S\+' - \ skipwhite keepend contained - \ contains=gdResourceSectionAttributeName,gdResourceSectionAttributeValue -syn match gdResourceSectionAttributeName '\S\+\ze\(\s*=\)' skipwhite contained -syn match gdResourceSectionAttributeValue '\(=\s*\)\zs\S\+\ze' skipwhite - \ contained - \ contains=gdResourceString,gdResourceNumber,gdResourceKeyword - - -" Section body -syn match gdResourceAttribute '^\s*\S\+\s*=.*$' - \ skipwhite keepend - \ contains=gdResourceAttributeName,gdResourceAttributeValue - -syn match gdResourceAttributeName '\S\+\ze\(\s*=\)' skipwhite contained -syn match gdResourceAttributeValue '\(=\s*\)\zs.*$' skipwhite - \ contained - \ contains=gdResourceString,gdResourceNumber,gdResourceKeyword - - -hi def link gdResourceNumber Constant -hi def link gdResourceKeyword Constant -hi def link gdResourceSectionName Statement -hi def link gdResourceSectionDelimiter Delimiter -hi def link gdResourceSectionAttributeName Type -hi def link gdResourceAttributeName Identifier -hi def link gdResourceString String - -let b:current_syntax = "gdresource" - -let &cpo = s:keepcpo -unlet s:keepcpo diff --git a/uvim/runtime/syntax/gdscript.mnv b/uvim/runtime/syntax/gdscript.mnv new file mode 100644 index 0000000000..210b8504d8 --- /dev/null +++ b/uvim/runtime/syntax/gdscript.mnv @@ -0,0 +1,103 @@ +" MNV syntax file for Godot gdscript +" Language: gdscript +" Maintainer: Maxim Kim +" Website: https://github.com/habamax/mnv-gdscript +" Filenames: *.gd + +if exists("b:current_syntax") + finish +endif + +let s:keepcpo = &cpo +set cpo&mnv + +syntax sync maxlines=100 + +syn keyword gdscriptConditional if else elif match +syn keyword gdscriptRepeat for while break continue + +syn keyword gdscriptOperator is as not and or in + +syn match gdscriptBlockStart ":\s*$" + +syn keyword gdscriptKeyword null self owner parent tool +syn keyword gdscriptBoolean false true + +syn keyword gdscriptStatement remote master puppet remotesync mastersync puppetsync sync +syn keyword gdscriptStatement return pass +syn keyword gdscriptStatement static const enum +syn keyword gdscriptStatement breakpoint assert +syn keyword gdscriptStatement onready +syn keyword gdscriptStatement class_name extends + +syn keyword gdscriptType void bool int float String contained +syn match gdscriptType ":\s*\zs\h\w*" contained +syn match gdscriptType "->\s*\zs\h\w*" contained + +syn keyword gdscriptStatement var nextgroup=gdscriptTypeDecl skipwhite +syn keyword gdscriptStatement const nextgroup=gdscriptTypeDecl skipwhite +syn match gdscriptTypeDecl "\h\w*\s*:\s*\h\w*" contains=gdscriptType contained skipwhite +syn match gdscriptTypeDecl "->\s*\h\w*" contains=gdscriptType skipwhite + +syn keyword gdscriptStatement export nextgroup=gdscriptExportTypeDecl skipwhite +syn match gdscriptExportTypeDecl "(.\{-}[,)]" contains=gdscriptOperator,gdscriptType contained skipwhite + +syn keyword gdscriptStatement setget nextgroup=gdscriptSetGet,gdscriptSetGetSeparator skipwhite +syn match gdscriptSetGet "\h\w*" nextgroup=gdscriptSetGetSeparator display contained skipwhite +syn match gdscriptSetGetSeparator "," nextgroup=gdscriptSetGet display contained skipwhite + +syn keyword gdscriptStatement class func signal nextgroup=gdscriptFunctionName skipwhite +syn match gdscriptFunctionName "\h\w*" nextgroup=gdscriptFunctionParams display contained skipwhite +syn match gdscriptFunctionParams "(.*)" contains=gdscriptTypeDecl display contained skipwhite + +syn match gdscriptNode "\$\h\w*\%(/\h\w*\)*" + +syn match gdscriptComment "#.*$" contains=@Spell,gdscriptTodo + +syn region gdscriptString matchgroup=gdscriptQuotes + \ start=+[uU]\=\z(['"]\)+ end="\z1" skip="\\\\\|\\\z1" + \ contains=gdscriptEscape,@Spell + +syn region gdscriptString matchgroup=gdscriptTripleQuotes + \ start=+[uU]\=\z('''\|"""\)+ end="\z1" keepend + \ contains=gdscriptEscape,@Spell + +syn match gdscriptEscape +\\[abfnrtv'"\\]+ contained +syn match gdscriptEscape "\\$" + +" Numbers +syn match gdscriptNumber "\<0x\%(_\=\x\)\+\>" +syn match gdscriptNumber "\<0b\%(_\=[01]\)\+\>" +syn match gdscriptNumber "\<\d\%(_\=\d\)*\>" +syn match gdscriptNumber "\<\d\%(_\=\d\)*\%(e[+-]\=\d\%(_\=\d\)*\)\=\>" +syn match gdscriptNumber "\<\d\%(_\=\d\)*\.\%(e[+-]\=\d\%(_\=\d\)*\)\=\%(\W\|$\)\@=" +syn match gdscriptNumber "\%(^\|\W\)\@1<=\%(\d\%(_\=\d\)*\)\=\.\d\%(_\=\d\)*\%(e[+-]\=\d\%(_\=\d\)*\)\=\>" + +" XXX, TODO, etc +syn keyword gdscriptTodo TODO XXX FIXME HACK NOTE BUG contained + +hi def link gdscriptStatement Statement +hi def link gdscriptKeyword Keyword +hi def link gdscriptConditional Conditional +hi def link gdscriptBoolean Boolean +hi def link gdscriptOperator Operator +hi def link gdscriptRepeat Repeat +hi def link gdscriptSetGet Function +hi def link gdscriptFunctionName Function +hi def link gdscriptBuiltinStruct Typedef +hi def link gdscriptComment Comment +hi def link gdscriptString String +hi def link gdscriptQuotes String +hi def link gdscriptTripleQuotes String +hi def link gdscriptEscape Special +hi def link gdscriptNode PreProc +hi def link gdscriptType Type +hi def link gdscriptNumber Number +hi def link gdscriptBlockStart Special +hi def link gdscriptTodo Todo + + +let b:current_syntax = "gdscript" + +let &cpo = s:keepcpo +unlet s:keepcpo diff --git a/uvim/runtime/syntax/gdscript.vim b/uvim/runtime/syntax/gdscript.vim deleted file mode 100644 index 48af153513..0000000000 --- a/uvim/runtime/syntax/gdscript.vim +++ /dev/null @@ -1,103 +0,0 @@ -" Vim syntax file for Godot gdscript -" Language: gdscript -" Maintainer: Maxim Kim -" Website: https://github.com/habamax/vim-gdscript -" Filenames: *.gd - -if exists("b:current_syntax") - finish -endif - -let s:keepcpo = &cpo -set cpo&vim - -syntax sync maxlines=100 - -syn keyword gdscriptConditional if else elif match -syn keyword gdscriptRepeat for while break continue - -syn keyword gdscriptOperator is as not and or in - -syn match gdscriptBlockStart ":\s*$" - -syn keyword gdscriptKeyword null self owner parent tool -syn keyword gdscriptBoolean false true - -syn keyword gdscriptStatement remote master puppet remotesync mastersync puppetsync sync -syn keyword gdscriptStatement return pass -syn keyword gdscriptStatement static const enum -syn keyword gdscriptStatement breakpoint assert -syn keyword gdscriptStatement onready -syn keyword gdscriptStatement class_name extends - -syn keyword gdscriptType void bool int float String contained -syn match gdscriptType ":\s*\zs\h\w*" contained -syn match gdscriptType "->\s*\zs\h\w*" contained - -syn keyword gdscriptStatement var nextgroup=gdscriptTypeDecl skipwhite -syn keyword gdscriptStatement const nextgroup=gdscriptTypeDecl skipwhite -syn match gdscriptTypeDecl "\h\w*\s*:\s*\h\w*" contains=gdscriptType contained skipwhite -syn match gdscriptTypeDecl "->\s*\h\w*" contains=gdscriptType skipwhite - -syn keyword gdscriptStatement export nextgroup=gdscriptExportTypeDecl skipwhite -syn match gdscriptExportTypeDecl "(.\{-}[,)]" contains=gdscriptOperator,gdscriptType contained skipwhite - -syn keyword gdscriptStatement setget nextgroup=gdscriptSetGet,gdscriptSetGetSeparator skipwhite -syn match gdscriptSetGet "\h\w*" nextgroup=gdscriptSetGetSeparator display contained skipwhite -syn match gdscriptSetGetSeparator "," nextgroup=gdscriptSetGet display contained skipwhite - -syn keyword gdscriptStatement class func signal nextgroup=gdscriptFunctionName skipwhite -syn match gdscriptFunctionName "\h\w*" nextgroup=gdscriptFunctionParams display contained skipwhite -syn match gdscriptFunctionParams "(.*)" contains=gdscriptTypeDecl display contained skipwhite - -syn match gdscriptNode "\$\h\w*\%(/\h\w*\)*" - -syn match gdscriptComment "#.*$" contains=@Spell,gdscriptTodo - -syn region gdscriptString matchgroup=gdscriptQuotes - \ start=+[uU]\=\z(['"]\)+ end="\z1" skip="\\\\\|\\\z1" - \ contains=gdscriptEscape,@Spell - -syn region gdscriptString matchgroup=gdscriptTripleQuotes - \ start=+[uU]\=\z('''\|"""\)+ end="\z1" keepend - \ contains=gdscriptEscape,@Spell - -syn match gdscriptEscape +\\[abfnrtv'"\\]+ contained -syn match gdscriptEscape "\\$" - -" Numbers -syn match gdscriptNumber "\<0x\%(_\=\x\)\+\>" -syn match gdscriptNumber "\<0b\%(_\=[01]\)\+\>" -syn match gdscriptNumber "\<\d\%(_\=\d\)*\>" -syn match gdscriptNumber "\<\d\%(_\=\d\)*\%(e[+-]\=\d\%(_\=\d\)*\)\=\>" -syn match gdscriptNumber "\<\d\%(_\=\d\)*\.\%(e[+-]\=\d\%(_\=\d\)*\)\=\%(\W\|$\)\@=" -syn match gdscriptNumber "\%(^\|\W\)\@1<=\%(\d\%(_\=\d\)*\)\=\.\d\%(_\=\d\)*\%(e[+-]\=\d\%(_\=\d\)*\)\=\>" - -" XXX, TODO, etc -syn keyword gdscriptTodo TODO XXX FIXME HACK NOTE BUG contained - -hi def link gdscriptStatement Statement -hi def link gdscriptKeyword Keyword -hi def link gdscriptConditional Conditional -hi def link gdscriptBoolean Boolean -hi def link gdscriptOperator Operator -hi def link gdscriptRepeat Repeat -hi def link gdscriptSetGet Function -hi def link gdscriptFunctionName Function -hi def link gdscriptBuiltinStruct Typedef -hi def link gdscriptComment Comment -hi def link gdscriptString String -hi def link gdscriptQuotes String -hi def link gdscriptTripleQuotes String -hi def link gdscriptEscape Special -hi def link gdscriptNode PreProc -hi def link gdscriptType Type -hi def link gdscriptNumber Number -hi def link gdscriptBlockStart Special -hi def link gdscriptTodo Todo - - -let b:current_syntax = "gdscript" - -let &cpo = s:keepcpo -unlet s:keepcpo diff --git a/uvim/runtime/syntax/gdshader.mnv b/uvim/runtime/syntax/gdshader.mnv new file mode 100644 index 0000000000..c049f193a4 --- /dev/null +++ b/uvim/runtime/syntax/gdshader.mnv @@ -0,0 +1,57 @@ +" MNV syntax file for Godot shading language +" Language: gdshader +" Maintainer: Maxim Kim +" Filenames: *.gdshader + +if exists("b:current_syntax") + finish +endif + +syn keyword gdshaderConditional if else switch case default +syn keyword gdshaderRepeat for while do +syn keyword gdshaderStatement return discard +syn keyword gdshaderBoolean true false + +syn keyword gdshaderKeyword shader_type render_mode +syn keyword gdshaderKeyword in out inout +syn keyword gdshaderKeyword lowp mediump highp +syn keyword gdshaderKeyword uniform varying const +syn keyword gdshaderKeyword flat smooth + +syn keyword gdshaderType float vec2 vec3 vec4 +syn keyword gdshaderType uint uvec2 uvec3 uvec4 +syn keyword gdshaderType int ivec2 ivec3 ivec4 +syn keyword gdshaderType void bool +syn keyword gdshaderType bvec2 bvec3 bvec4 +syn keyword gdshaderType mat2 mat3 mat4 +syn keyword gdshaderType sampler2D isampler2D usampler2D samplerCube + +syn match gdshaderMember "\v<(\.)@<=[a-z_]+\w*>" +syn match gdshaderBuiltin "\v<[A-Z_]+[A-Z0-9_]*>" +syn match gdshaderFunction "\v<\w*>(\()@=" + +syn match gdshaderNumber "\v<\d+(\.)@!>" +syn match gdshaderFloat "\v<\d*\.\d+(\.)@!>" +syn match gdshaderFloat "\v<\d*\.=\d+(e-=\d+)@=" +syn match gdshaderExponent "\v(\d*\.=\d+)@<=e-=\d+>" + +syn match gdshaderComment "\v//.*$" contains=@Spell +syn region gdshaderComment start="/\*" end="\*/" contains=@Spell +syn keyword gdshaderTodo TODO FIXME XXX NOTE BUG HACK OPTIMIZE containedin=gdshaderComment + +hi def link gdshaderConditional Conditional +hi def link gdshaderRepeat Repeat +hi def link gdshaderStatement Statement +hi def link gdshaderBoolean Boolean +hi def link gdshaderKeyword Keyword +hi def link gdshaderMember Identifier +hi def link gdshaderBuiltin Identifier +hi def link gdshaderFunction Function +hi def link gdshaderType Type +hi def link gdshaderNumber Number +hi def link gdshaderFloat Float +hi def link gdshaderExponent Special +hi def link gdshaderComment Comment +hi def link gdshaderTodo Todo + +let b:current_syntax = "gdshader" diff --git a/uvim/runtime/syntax/gdshader.vim b/uvim/runtime/syntax/gdshader.vim deleted file mode 100644 index f0d9f7edd9..0000000000 --- a/uvim/runtime/syntax/gdshader.vim +++ /dev/null @@ -1,57 +0,0 @@ -" Vim syntax file for Godot shading language -" Language: gdshader -" Maintainer: Maxim Kim -" Filenames: *.gdshader - -if exists("b:current_syntax") - finish -endif - -syn keyword gdshaderConditional if else switch case default -syn keyword gdshaderRepeat for while do -syn keyword gdshaderStatement return discard -syn keyword gdshaderBoolean true false - -syn keyword gdshaderKeyword shader_type render_mode -syn keyword gdshaderKeyword in out inout -syn keyword gdshaderKeyword lowp mediump highp -syn keyword gdshaderKeyword uniform varying const -syn keyword gdshaderKeyword flat smooth - -syn keyword gdshaderType float vec2 vec3 vec4 -syn keyword gdshaderType uint uvec2 uvec3 uvec4 -syn keyword gdshaderType int ivec2 ivec3 ivec4 -syn keyword gdshaderType void bool -syn keyword gdshaderType bvec2 bvec3 bvec4 -syn keyword gdshaderType mat2 mat3 mat4 -syn keyword gdshaderType sampler2D isampler2D usampler2D samplerCube - -syn match gdshaderMember "\v<(\.)@<=[a-z_]+\w*>" -syn match gdshaderBuiltin "\v<[A-Z_]+[A-Z0-9_]*>" -syn match gdshaderFunction "\v<\w*>(\()@=" - -syn match gdshaderNumber "\v<\d+(\.)@!>" -syn match gdshaderFloat "\v<\d*\.\d+(\.)@!>" -syn match gdshaderFloat "\v<\d*\.=\d+(e-=\d+)@=" -syn match gdshaderExponent "\v(\d*\.=\d+)@<=e-=\d+>" - -syn match gdshaderComment "\v//.*$" contains=@Spell -syn region gdshaderComment start="/\*" end="\*/" contains=@Spell -syn keyword gdshaderTodo TODO FIXME XXX NOTE BUG HACK OPTIMIZE containedin=gdshaderComment - -hi def link gdshaderConditional Conditional -hi def link gdshaderRepeat Repeat -hi def link gdshaderStatement Statement -hi def link gdshaderBoolean Boolean -hi def link gdshaderKeyword Keyword -hi def link gdshaderMember Identifier -hi def link gdshaderBuiltin Identifier -hi def link gdshaderFunction Function -hi def link gdshaderType Type -hi def link gdshaderNumber Number -hi def link gdshaderFloat Float -hi def link gdshaderExponent Special -hi def link gdshaderComment Comment -hi def link gdshaderTodo Todo - -let b:current_syntax = "gdshader" diff --git a/uvim/runtime/syntax/gedcom.mnv b/uvim/runtime/syntax/gedcom.mnv new file mode 100644 index 0000000000..b8ec91434a --- /dev/null +++ b/uvim/runtime/syntax/gedcom.mnv @@ -0,0 +1,53 @@ +" MNV syntax file +" Language: Gedcom +" Maintainer: Paul Johnson (pjcj@transeda.com) +" Version 1.059 - 23rd December 1999 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syntax case match + +syntax keyword gedcom_record ABBR ADDR ADOP ADR1 ADR2 AFN AGE AGNC ALIA ANCE +syntax keyword gedcom_record ANCI ANUL ASSO AUTH BAPL BAPM BARM BASM BIRT BLES +syntax keyword gedcom_record BLOB BURI CALN CAST CAUS CENS CHAN CHAR CHIL CHR +syntax keyword gedcom_record CHRA CITY CONC CONF CONL CONT COPR CORP CREM CTRY +syntax keyword gedcom_record DATA DEAT DESC DESI DEST DIV DIVF DSCR EDUC EMIG +syntax keyword gedcom_record ENDL ENGA EVEN FAM FAMC FAMF FAMS FCOM FILE FORM +syntax keyword gedcom_record GEDC GIVN GRAD HEAD HUSB IDNO IMMI INDI LANG MARB +syntax keyword gedcom_record MARC MARL MARR MARS MEDI NATI NATU NCHI NICK NMR +syntax keyword gedcom_record NOTE NPFX NSFX OBJE OCCU ORDI ORDN PAGE PEDI PHON +syntax keyword gedcom_record PLAC POST PROB PROP PUBL QUAY REFN RELA RELI REPO +syntax keyword gedcom_record RESI RESN RETI RFN RIN ROLE SEX SLGC SLGS SOUR +syntax keyword gedcom_record SPFX SSN STAE STAT SUBM SUBN SURN TEMP TEXT TIME +syntax keyword gedcom_record TITL TRLR TYPE VERS WIFE WILL +syntax keyword gedcom_record DATE nextgroup=gedcom_date +syntax keyword gedcom_record NAME nextgroup=gedcom_name + +syntax case ignore + +syntax region gedcom_id start="@" end="@" oneline contains=gedcom_ii, gedcom_in +syntax match gedcom_ii "\I\+" contained nextgroup=gedcom_in +syntax match gedcom_in "\d\+" contained +syntax region gedcom_name start="" end="$" skipwhite oneline contains=gedcom_cname, gedcom_surname contained +syntax match gedcom_cname "\i\+" contained +syntax match gedcom_surname "/\(\i\|\s\)*/" contained +syntax match gedcom_date "\d\{1,2}\s\+\(jan\|feb\|mar\|apr\|may\|jun\|jul\|aug\|sep\|oct\|nov\|dec\)\s\+\d\+" +syntax match gedcom_date ".*" contained + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link gedcom_record Statement +hi def link gedcom_id Comment +hi def link gedcom_ii PreProc +hi def link gedcom_in Type +hi def link gedcom_name PreProc +hi def link gedcom_cname Type +hi def link gedcom_surname Identifier +hi def link gedcom_date Constant + + +let b:current_syntax = "gedcom" diff --git a/uvim/runtime/syntax/gedcom.vim b/uvim/runtime/syntax/gedcom.vim deleted file mode 100644 index cd09e0fa22..0000000000 --- a/uvim/runtime/syntax/gedcom.vim +++ /dev/null @@ -1,53 +0,0 @@ -" Vim syntax file -" Language: Gedcom -" Maintainer: Paul Johnson (pjcj@transeda.com) -" Version 1.059 - 23rd December 1999 - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -syntax case match - -syntax keyword gedcom_record ABBR ADDR ADOP ADR1 ADR2 AFN AGE AGNC ALIA ANCE -syntax keyword gedcom_record ANCI ANUL ASSO AUTH BAPL BAPM BARM BASM BIRT BLES -syntax keyword gedcom_record BLOB BURI CALN CAST CAUS CENS CHAN CHAR CHIL CHR -syntax keyword gedcom_record CHRA CITY CONC CONF CONL CONT COPR CORP CREM CTRY -syntax keyword gedcom_record DATA DEAT DESC DESI DEST DIV DIVF DSCR EDUC EMIG -syntax keyword gedcom_record ENDL ENGA EVEN FAM FAMC FAMF FAMS FCOM FILE FORM -syntax keyword gedcom_record GEDC GIVN GRAD HEAD HUSB IDNO IMMI INDI LANG MARB -syntax keyword gedcom_record MARC MARL MARR MARS MEDI NATI NATU NCHI NICK NMR -syntax keyword gedcom_record NOTE NPFX NSFX OBJE OCCU ORDI ORDN PAGE PEDI PHON -syntax keyword gedcom_record PLAC POST PROB PROP PUBL QUAY REFN RELA RELI REPO -syntax keyword gedcom_record RESI RESN RETI RFN RIN ROLE SEX SLGC SLGS SOUR -syntax keyword gedcom_record SPFX SSN STAE STAT SUBM SUBN SURN TEMP TEXT TIME -syntax keyword gedcom_record TITL TRLR TYPE VERS WIFE WILL -syntax keyword gedcom_record DATE nextgroup=gedcom_date -syntax keyword gedcom_record NAME nextgroup=gedcom_name - -syntax case ignore - -syntax region gedcom_id start="@" end="@" oneline contains=gedcom_ii, gedcom_in -syntax match gedcom_ii "\I\+" contained nextgroup=gedcom_in -syntax match gedcom_in "\d\+" contained -syntax region gedcom_name start="" end="$" skipwhite oneline contains=gedcom_cname, gedcom_surname contained -syntax match gedcom_cname "\i\+" contained -syntax match gedcom_surname "/\(\i\|\s\)*/" contained -syntax match gedcom_date "\d\{1,2}\s\+\(jan\|feb\|mar\|apr\|may\|jun\|jul\|aug\|sep\|oct\|nov\|dec\)\s\+\d\+" -syntax match gedcom_date ".*" contained - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -hi def link gedcom_record Statement -hi def link gedcom_id Comment -hi def link gedcom_ii PreProc -hi def link gedcom_in Type -hi def link gedcom_name PreProc -hi def link gedcom_cname Type -hi def link gedcom_surname Identifier -hi def link gedcom_date Constant - - -let b:current_syntax = "gedcom" diff --git a/uvim/runtime/syntax/gel.mnv b/uvim/runtime/syntax/gel.mnv new file mode 100644 index 0000000000..93f17339d7 --- /dev/null +++ b/uvim/runtime/syntax/gel.mnv @@ -0,0 +1,19 @@ +" MNV syntax file +" Language: TI Code Composer Studio General Extension Language +" Document: https://downloads.ti.com/ccs/esd/documents/users_guide/ccs_debug-gel.html +" Maintainer: Wu, Zhenyu +" Last Change: 2024 Dec 25 + +if exists("b:current_syntax") + finish +endif + +runtime! syntax/cpp.mnv + +syn keyword gelStatement StartUp GEL_AddInputFile GEL_AddOutputFile GEL_AdvancedReset GEL_AsmStepInto GEL_AsmStepOver GEL_BreakPtAdd GEL_BreakPtDel GEL_BreakPtDisable GEL_BreakPtReset GEL_CancelTimer GEL_Connect GEL_Dialog GEL_DisableFileOutput GEL_DisableRealtime GEL_Disconnect GEL_EnableClock GEL_EnableFileOutput GEL_EnableRealtime GEL_EnableZeroFill GEL_EvalOnTarget GEL_GetBoolDebugProperty GEL_GetBoolDriverProperty GEL_GetBoolTargetDbProperty GEL_GetNumericDebugProperty GEL_GetNumericDriverProperty GEL_GetNumericTargetDbProperty GEL_GetStringDebugProperty GEL_GetStringDriverProperty GEL_GetStringTargetDbProperty GEL_Go GEL_Halt GEL_HandleTargetError GEL_HWBreakPtAdd GEL_HWBreakPtDel GEL_HWBreakPtDisable GEL_HWBreakPtReset GEL_IsConnected GEL_IsHalted GEL_IsInRealtimeMode GEL_IsResetSupported GEL_IsTimerSet GEL_Load GEL_LoadBin GEL_LoadGel GEL_LoadProgramOnly GEL_MapAdd GEL_MapAddStr GEL_MapDelete GEL_MapOff GEL_MapOn GEL_MapReset GEL_MatchesConnection GEL_MemoryFill GEL_MemoryListSupportedTypes GEL_MemoryLoad GEL_MemoryLoadData GEL_MemorySave GEL_MemorySaveBin GEL_MemorySaveCoff GEL_MemorySaveData GEL_MemorySaveHex GEL_PatchAssembly GEL_ProbePtAdd GEL_ProbePtDel GEL_ProbePtDisable GEL_ProbePtReset GEL_ReConnect GEL_RefreshWindows GEL_Reload GEL_RemoveDebugState GEL_RemoveInputFile GEL_RemoveOutputFile GEL_Reset GEL_Restart GEL_RestoreDebugState GEL_Run GEL_RunF GEL_SetBlockResetMode GEL_SetBoolDebugProperty GEL_SetClockEvent GEL_SetNumericDebugProperty GEL_SetSemihostingMainArgs GEL_SetStringDebugProperty GEL_SetTimer GEL_SetWaitInResetMode GEL_SrcStepInto GEL_SrcStepOver GEL_StepInto GEL_StepOut GEL_StepOver GEL_StrCat GEL_StrLen GEL_SubStr GEL_SymbolAdd GEL_SymbolAddOffset GEL_SymbolAddRel GEL_SymbolDisable GEL_SymbolEnable GEL_SymbolHideSection GEL_SymbolLoad GEL_SymbolLoadOffset GEL_SymbolLoadRel GEL_SymbolRemove GEL_SymbolShowSection GEL_SyncHalt GEL_SyncRun GEL_SyncStepInto GEL_SyncStepOut GEL_SyncStepOver GEL_System GEL_TargetTextOut GEL_TextOut GEL_Trace GEL_UnloadAllGels GEL_UnloadAllSymbols GEL_UnloadGel GEL_VerifyBinProgram GEL_VerifyProgram OnChildRunning OnFileLoaded OnHalt OnPreFileLoaded OnPreReset OnPreTargetConnect OnReset OnResetDetected OnRestart OnTargetConnect +syn keyword gelModifier hotmenu menuitem + +hi def link gelStatement Statement +hi def link gelModifier Type + +let b:current_syntax = "gel" diff --git a/uvim/runtime/syntax/gel.vim b/uvim/runtime/syntax/gel.vim deleted file mode 100644 index 5f3800273c..0000000000 --- a/uvim/runtime/syntax/gel.vim +++ /dev/null @@ -1,19 +0,0 @@ -" Vim syntax file -" Language: TI Code Composer Studio General Extension Language -" Document: https://downloads.ti.com/ccs/esd/documents/users_guide/ccs_debug-gel.html -" Maintainer: Wu, Zhenyu -" Last Change: 2024 Dec 25 - -if exists("b:current_syntax") - finish -endif - -runtime! syntax/cpp.vim - -syn keyword gelStatement StartUp GEL_AddInputFile GEL_AddOutputFile GEL_AdvancedReset GEL_AsmStepInto GEL_AsmStepOver GEL_BreakPtAdd GEL_BreakPtDel GEL_BreakPtDisable GEL_BreakPtReset GEL_CancelTimer GEL_Connect GEL_Dialog GEL_DisableFileOutput GEL_DisableRealtime GEL_Disconnect GEL_EnableClock GEL_EnableFileOutput GEL_EnableRealtime GEL_EnableZeroFill GEL_EvalOnTarget GEL_GetBoolDebugProperty GEL_GetBoolDriverProperty GEL_GetBoolTargetDbProperty GEL_GetNumericDebugProperty GEL_GetNumericDriverProperty GEL_GetNumericTargetDbProperty GEL_GetStringDebugProperty GEL_GetStringDriverProperty GEL_GetStringTargetDbProperty GEL_Go GEL_Halt GEL_HandleTargetError GEL_HWBreakPtAdd GEL_HWBreakPtDel GEL_HWBreakPtDisable GEL_HWBreakPtReset GEL_IsConnected GEL_IsHalted GEL_IsInRealtimeMode GEL_IsResetSupported GEL_IsTimerSet GEL_Load GEL_LoadBin GEL_LoadGel GEL_LoadProgramOnly GEL_MapAdd GEL_MapAddStr GEL_MapDelete GEL_MapOff GEL_MapOn GEL_MapReset GEL_MatchesConnection GEL_MemoryFill GEL_MemoryListSupportedTypes GEL_MemoryLoad GEL_MemoryLoadData GEL_MemorySave GEL_MemorySaveBin GEL_MemorySaveCoff GEL_MemorySaveData GEL_MemorySaveHex GEL_PatchAssembly GEL_ProbePtAdd GEL_ProbePtDel GEL_ProbePtDisable GEL_ProbePtReset GEL_ReConnect GEL_RefreshWindows GEL_Reload GEL_RemoveDebugState GEL_RemoveInputFile GEL_RemoveOutputFile GEL_Reset GEL_Restart GEL_RestoreDebugState GEL_Run GEL_RunF GEL_SetBlockResetMode GEL_SetBoolDebugProperty GEL_SetClockEvent GEL_SetNumericDebugProperty GEL_SetSemihostingMainArgs GEL_SetStringDebugProperty GEL_SetTimer GEL_SetWaitInResetMode GEL_SrcStepInto GEL_SrcStepOver GEL_StepInto GEL_StepOut GEL_StepOver GEL_StrCat GEL_StrLen GEL_SubStr GEL_SymbolAdd GEL_SymbolAddOffset GEL_SymbolAddRel GEL_SymbolDisable GEL_SymbolEnable GEL_SymbolHideSection GEL_SymbolLoad GEL_SymbolLoadOffset GEL_SymbolLoadRel GEL_SymbolRemove GEL_SymbolShowSection GEL_SyncHalt GEL_SyncRun GEL_SyncStepInto GEL_SyncStepOut GEL_SyncStepOver GEL_System GEL_TargetTextOut GEL_TextOut GEL_Trace GEL_UnloadAllGels GEL_UnloadAllSymbols GEL_UnloadGel GEL_VerifyBinProgram GEL_VerifyProgram OnChildRunning OnFileLoaded OnHalt OnPreFileLoaded OnPreReset OnPreTargetConnect OnReset OnResetDetected OnRestart OnTargetConnect -syn keyword gelModifier hotmenu menuitem - -hi def link gelStatement Statement -hi def link gelModifier Type - -let b:current_syntax = "gel" diff --git a/uvim/runtime/syntax/gemtext.mnv b/uvim/runtime/syntax/gemtext.mnv new file mode 100644 index 0000000000..241e139cae --- /dev/null +++ b/uvim/runtime/syntax/gemtext.mnv @@ -0,0 +1,24 @@ +" MNV syntax file +" Language: Gemtext markup language +" Maintainer: Suneel Freimuth +" Latest Revision: 2020-11-21 +" Filenames: *.gmi + +if exists('b:current_syntax') + finish +endif + +syntax match Heading /^#\{1,3}.\+$/ +syntax match List /^\* / +syntax match LinkURL /^=>\s*\S\+/ +syntax match Quote /^>.\+/ +syntax region Preformatted start=/^```/ end=/```/ + +highlight default link Heading Special +highlight default link List Statement +highlight default link LinkURL Underlined +highlight default link Quote Constant +highlight default link Preformatted Identifier + +let b:current_syntax = 'gemtext' + diff --git a/uvim/runtime/syntax/gemtext.vim b/uvim/runtime/syntax/gemtext.vim deleted file mode 100644 index 8c2bd29928..0000000000 --- a/uvim/runtime/syntax/gemtext.vim +++ /dev/null @@ -1,24 +0,0 @@ -" Vim syntax file -" Language: Gemtext markup language -" Maintainer: Suneel Freimuth -" Latest Revision: 2020-11-21 -" Filenames: *.gmi - -if exists('b:current_syntax') - finish -endif - -syntax match Heading /^#\{1,3}.\+$/ -syntax match List /^\* / -syntax match LinkURL /^=>\s*\S\+/ -syntax match Quote /^>.\+/ -syntax region Preformatted start=/^```/ end=/```/ - -highlight default link Heading Special -highlight default link List Statement -highlight default link LinkURL Underlined -highlight default link Quote Constant -highlight default link Preformatted Identifier - -let b:current_syntax = 'gemtext' - diff --git a/uvim/runtime/syntax/generator/Makefile b/uvim/runtime/syntax/generator/Makefile index 2a51e647b4..5107a5445c 100644 --- a/uvim/runtime/syntax/generator/Makefile +++ b/uvim/runtime/syntax/generator/Makefile @@ -1,15 +1,15 @@ # -# Makefile for generate runtime/syntax/vim.vim +# Makefile for generate runtime/syntax/mnv.mnv # -VIM_SRCDIR := ../../../src -RUN_VIMPROG := $(VIM_SRCDIR)/vim -N -u NONE -i NONE -n -TARGET := ../vim.vim +MNV_SRCDIR := ../../../src +RUN_MNVPROG := $(MNV_SRCDIR)/mnv -N -u NONE -i NONE -n +TARGET := ../mnv.mnv CHECK_HELP_DOC := 0 -SRC := $(VIM_SRCDIR)/eval.c $(VIM_SRCDIR)/ex_cmds.h $(VIM_SRCDIR)/ex_docmd.c \ - $(VIM_SRCDIR)/fileio.c $(VIM_SRCDIR)/option.c $(VIM_SRCDIR)/syntax.c +SRC := $(MNV_SRCDIR)/eval.c $(MNV_SRCDIR)/ex_cmds.h $(MNV_SRCDIR)/ex_docmd.c \ + $(MNV_SRCDIR)/fileio.c $(MNV_SRCDIR)/option.c $(MNV_SRCDIR)/syntax.c -export VIM_SRCDIR +export MNV_SRCDIR export CHECK_HELP_DOC .PHONY: generate check_doc clean @@ -21,19 +21,19 @@ check_doc: CHECK_HELP_DOC := 1 check_doc: clean $(TARGET) clean: - rm -f vim.vim.rc $(TARGET) + rm -f mnv.mnv.rc $(TARGET) rm -f sanity_check.err generator.err -$(TARGET): vim.vim.rc update_date.vim +$(TARGET): mnv.mnv.rc update_date.mnv @echo "Generating $(TARGET) ..." - @cp -f vim.vim.rc $(TARGET) - @$(RUN_VIMPROG) -S update_date.vim $(TARGET) + @cp -f mnv.mnv.rc $(TARGET) + @$(RUN_MNVPROG) -S update_date.mnv $(TARGET) @echo "done." -vim.vim.rc: gen_syntax_vim.vim vim.vim.base $(SRC) - @echo "Generating vim.vim.rc ..." +mnv.mnv.rc: gen_syntax_mnv.mnv mnv.mnv.base $(SRC) + @echo "Generating mnv.mnv.rc ..." @rm -f sanity_check.err generator.err - @$(RUN_VIMPROG) -S gen_syntax_vim.vim $(TARGET) + @$(RUN_MNVPROG) -S gen_syntax_mnv.mnv $(TARGET) @if test -f sanity_check.err ; then \ echo ; \ echo "Sanity errors:" ; \ diff --git a/uvim/runtime/syntax/generator/README.md b/uvim/runtime/syntax/generator/README.md index 6db445ced2..b5de367fa5 100644 --- a/uvim/runtime/syntax/generator/README.md +++ b/uvim/runtime/syntax/generator/README.md @@ -1,26 +1,26 @@ -# Generator of Vim script Syntax File +# Generator of MNV script Syntax File -This directory contains a Vim script generator, that will parse the Vim source file and -generate a vim.vim syntax file. +This directory contains a MNV script generator, that will parse the MNV source file and +generate a mnv.mnv syntax file. -Files in this directory were copied from https://github.com/vim-jp/syntax-vim-ex/ -and included here on Feb, 13th, 2024 for the Vim Project. +Files in this directory were copied from https://github.com/mnv-jp/syntax-mnv-ex/ +and included here on Feb, 13th, 2024 for the MNV Project. - Maintainer: Hirohito Higashi -- License: Vim License +- License: MNV License ## How to generate $ make -This will generate `../vim.vim` +This will generate `../mnv.mnv` ## Files Name |Description ---------------------|------------------------------------------------------ -`Makefile` |Makefile to generate ../vim.vim +`Makefile` |Makefile to generate ../mnv.mnv `README.md` |This file -`gen_syntax_vim.vim` |Script to generate vim.vim -`update_date.vim` |Script to update "Last Change:" -`vim.vim.base` |Template for vim.vim +`gen_syntax_mnv.mnv` |Script to generate mnv.mnv +`update_date.mnv` |Script to update "Last Change:" +`mnv.mnv.base` |Template for mnv.mnv diff --git a/uvim/runtime/syntax/generator/gen_syntax_mnv.mnv b/uvim/runtime/syntax/generator/gen_syntax_mnv.mnv new file mode 100644 index 0000000000..e5288cd3c9 --- /dev/null +++ b/uvim/runtime/syntax/generator/gen_syntax_mnv.mnv @@ -0,0 +1,1136 @@ +" MNV syntax file generator +" Language: MNV script +" Maintainer: Hirohito Higashi (h_east) +" Last Change: 2025 Dec 04 + +let s:keepcpo= &cpo +set cpo&mnv + +language C +let s:log_write_dir = getcwd() . '/' + +function s:parse_mnv_option(opt, missing_opt, term_out_code) + try + let file_name = $MNV_SRCDIR . '/optiondefs.h' + let item = {} + + new + exec 'read ' . file_name + norm! gg + exec '/^.*\s*options\[\]\s*=\s*$/+1;/^\s*#\s*define\s*p_term(/-1yank a' + exec '/^#define\s\+p_term(/+1;/^};$/-1yank b' + %delete _ + + put a + " workaround for 'shortname' + g/^#\s*ifdef\s*SHORT_FNAME\>/j + g/^#/d + g/^\s*{\s*"\w\+"\%(\s*,\s*[^,]*\)\{2}[^,]$/j + g/^\s*{\s*"\w\+"\s*,.*$/j + g!/^\s*{\s*"\w\+"\s*,.*$/d + + for line in getline(1, line('$')) + let list = matchlist(line, '^\s*{\s*"\(\w\+\)"\s*,\s*\%("\(\w\+\)"\|NULL\)\s*,\s*\%([^,]*\(P_BOOL\)[^,]*\|[^,]*\)\s*,\s*\([^,]*NULL\)\?.*') + if list[1] == 'completefuzzycollect' + continue + endif + let item.name = list[1] + let item.short_name = list[2] + let item.is_bool = empty(list[3]) ? 0 : 1 + if empty(list[4]) + call add(a:opt, copy(item)) + else + call add(a:missing_opt, copy(item)) + endif + endfor + if empty(a:opt) + throw 'opt is empty' + endif + if empty(a:missing_opt) + throw 'missing_opt is empty' + endif + + %delete _ + put b + g!/^\s*p_term(\s*"\w\+"\s*,.*$/d + + for line in getline(1, line('$')) + let list = matchlist(line, '^\s*p_term(\s*"\(\w\+\)"\s*,') + let item.name = list[1] + call add(a:term_out_code, copy(item)) + endfor + quit! + if empty(a:term_out_code) + throw 'term_out_code is empty' + endif + catch /.*/ + call s:err_gen('') + throw 'exit' + endtry +endfunc + +function s:append_syn_mnvopt(lnum, str_info, opt_list, prefix, bool_only) + let ret_lnum = a:lnum + let str = a:str_info.start + + for o in a:opt_list + if !a:bool_only || o.is_bool + if !empty(o.short_name) + let str .= ' ' . a:prefix . o.short_name + endif + let str .= ' ' . a:prefix . o.name + if len(str) > s:line_break_len + if !empty(a:str_info.end) + let str .= ' ' . a:str_info.end + endif + call append(ret_lnum, str) + let str = a:str_info.start + let ret_lnum += 1 + endif + endif + endfor + if str !=# a:str_info.start + if !empty(a:str_info.end) + let str .= ' ' . a:str_info.end + endif + call append(ret_lnum, str) + let ret_lnum += 1 + endif + return ret_lnum +endfunc + +" ------------------------------------------------------------------------------ +function s:parse_mnv_command(cmd) + try + let file_name = $MNV_SRCDIR . '/ex_cmds.h' + let item = {} + + new + exec 'read ' . file_name + norm! gg + exec '/^}\?\s*cmdnames\[\]\s*=\s*$/+1;/^};/-1yank' + %delete _ + put + g!/^EXCMD(/d + + let lcmd = {} + for key in range(char2nr('a'), char2nr('z')) + let lcmd[nr2char(key)] = [] + endfor + let lcmd['~'] = [] + + for line in getline(1, line('$')) + let list = matchlist(line, '^EXCMD(\w\+\s*,\s*"\(\a\w*\)"\s*,') + if !empty(list) + " Small ascii character or other. + let key = (list[1][:0] =~# '\l') ? list[1][:0] : '~' + call add(lcmd[key], list[1]) + endif + endfor + quit! + + for key in sort(keys(lcmd)) + for my in range(len(lcmd[key])) + let omit_idx = 0 + if my > 0 + let omit_idx = (key =~# '\l') ? 1 : 0 + for idx in range(1, strlen(lcmd[key][my])) + let matched = 0 + for pre in range(my - 1, 0, -1) + " Avoiding conflicts shortened command and special commands + " - weird abbreviations for delete. (See :help :d) + " - k{char} is used as mark. (See :help :k) + " - :s commsnds repeat. (See :help :substitute-repeat) + if lcmd[key][my][:idx] ==# lcmd[key][pre][:idx] || + \ (key ==# 'd' && + \ lcmd[key][my][:idx] =~# '^d\%[elete][lp]$') + \ || (key ==# 'k' && + \ lcmd[key][my][:idx] =~# '^k[a-zA-Z]$') + \ || (key ==# 's' && + \ lcmd[key][my][:idx] =~# '^s\%(c\%([^sr][^ip]\=\)\=$\|g\|i[^mlg]\=$\|I\|r[^e]\=$\)') + let matched = 1 + let omit_idx = idx + 1 + break + endif + endfor + if !matched + break + endif + endfor + endif + + let item.name = lcmd[key][my] + let item.type = s:get_mnv_command_type(item.name) + if omit_idx + 1 < strlen(item.name) + let item.omit_idx = omit_idx + let item.syn_str = item.name[:omit_idx] . '[' . + \ item.name[omit_idx+1:] . ']' + else + let item.omit_idx = -1 + let item.syn_str = item.name + endif + call add(a:cmd, copy(item)) + endfor + endfor + + " Add weird abbreviations for delete. (See :help :d) + for i in ['l', 'p'] + let str = 'delete' + let item.name = str . i + let item.type = s:get_mnv_command_type(item.name) + let item.omit_idx = -1 + for x in range(strlen(str)) + let item.syn_str = str[:x] . i + if item.syn_str !=# "del" + call add(a:cmd, copy(item)) + endif + endfor + endfor + + " Required for original behavior + let item.name = 'a' " append + let item.type = 0 + let item.omit_idx = -1 + let item.syn_str = item.name + call add(a:cmd, copy(item)) + let item.name = 'i' " insert + let item.syn_str = item.name + call add(a:cmd, copy(item)) + + let no_shorten_in_mnv9 =<< trim EOL + final + def + enddef + class + endclass + enum + endenum + interface + endinterface + abstract + public + static + this + var + type + EOL + + call map(a:cmd, {_, v -> + \ index(no_shorten_in_mnv9, v.name) != -1 ? + \ extend(copy(v), {'omit_idx': -1, 'syn_str': v.name}) : + "\ ":fina" means ":finally" in legacy script, for backwards compatibility. + "\ (From MNV source code find_ex_command() in ex_docmd.c) + \ v.name ==# 'finally' ? + \ extend(copy(v), {'omit_idx': 3, 'syn_str': 'fina[lly]'}) : + "\ :ho must not be recognized as :horizontal. + \ v.name ==# 'horizontal' ? + \ extend(copy(v), {'omit_idx': 2, 'syn_str': 'hor[izontal]'}) : + \ v + \ }) + + if empty(a:cmd) + throw 'cmd is empty' + endif + catch /.*/ + call s:err_gen('') + throw 'exit' + endtry +endfunc + +function s:memoize_cmd_modifiers() + let modifiers = [] + function _() closure + if empty(modifiers) + try + let file_name = $MNV_SRCDIR .. '/ex_docmd.c' + + new + exec 'read ' .. file_name + norm! gg + exec ':/^static cmdmod_info_T cmdmod_info_tab\[] = {/+1;/^};/-1yank' + %delete _ + + put + 1delete _ + + let list = [] + for line in getline(1, line('$')) + let list = matchlist(line, '^\s*{"\(\w\+\)".*') + " :browse and :confirm handled separately as lower priority matches + " because they have same-named builtin functions + if index(['browse', 'confirm'], list[1]) == -1 + call add(modifiers, copy(list[1])) + endif + endfor + + quit! + + if empty(modifiers) + throw 'cmd modifiers list is empty' + endif + + catch /.*/ + call s:err_gen('') + throw 'exit' + endtry + endif + return modifiers + endfunction + return function("_") +endfunction +let s:get_cmd_modifiers = s:memoize_cmd_modifiers() + +function s:get_mnv_command_type(cmd_name) + " Return value: + " 0: normal + " 1: (Reserved) + " 2: abbrev + " 3: menu + " 4: map + " 5: mapclear + " 6: unmap + " 7: abclear + " 8: modifiers + " 9: cd + " 99: (Exclude registration of "syn keyword") + let ab_prefix = '^[ci]\?' + let menu_prefix = '^\%([acinostvx]\?\|tl\)' + let map_prefix = '^[acilnostvx]\?' + let exclude_list =<< trim EOL + 2match + 3match + Next + Print + X + abstract + argdo + append + augroup + autocmd + behave + breakadd + breakdel + breaklist + browse + bufdo + call + catch + cdo + cfdo + chdir + change + class + command + confirm + const + copy + debug + debuggreedy + def + defer + delcommand + delete + delfunction + doautoall + doautocmd + echo + echoconsole + echoerr + echohl + echomsg + echon + echowindow + else + elseif + endclass + enddef + endenum + endfunction + endif + endinterface + enum + eval + execute + export + filetype + filter + final + folddoopen + folddoclosed + for + function + grep + grepadd + help + helpgrep + highlight + history + if + import + interface + insert + join + k + language + let + ldo + lfdo + loadkeymap + lhelpgrep + lgrep + lgrepadd + lmnvgrep + lmnvgrepadd + make + lua + luado + luafile + map + mapclear + mark + match + menutranslate + mzscheme + mzfile + noremap + new + normal + perl + perldo + popup + profdel + profile + promptfind + promptrepl + public + python + pyfile + pydo + python3 + py3 + py3do + py3file + pythonx + pyx + pyxdo + pyxfile + redir + return + ruby + rubydo + rubyfile + set + setglobal + setlocal + sleep + smagic + snomagic + sort + split + static + substitute + swapname + syntax + syntime + tabdo + tcl + tcldo + tclfile + terminal + this + throw + type + uniq + unlet + unlockvar + unmap + var + mnv9script + mnvgrep + mnvgrepadd + while + wincmd + windo + EOL + " Required for original behavior + " \ 'global', 'vglobal' + if index(exclude_list, a:cmd_name) != -1 + let ret = 99 + elseif a:cmd_name =~# '^\%(\%(un\)\?abbreviate\|noreabbrev\|\l\%(nore\|un\)\?abbrev\)$' + let ret = 2 + elseif a:cmd_name =~# ab_prefix . 'abclear$' + let ret = 7 + elseif a:cmd_name =~# menu_prefix . '\%(nore\|un\)\?menu$' + let ret = 3 + elseif a:cmd_name =~# map_prefix . '\%(nore\)\?map$' + let ret = 4 + elseif a:cmd_name =~# map_prefix . 'mapclear$' + let ret = 5 + elseif a:cmd_name =~# map_prefix . 'unmap$' + let ret = 6 + elseif index(s:get_cmd_modifiers(), a:cmd_name) != -1 + let ret = 8 + " :chdir handled specially for command/function distinction + elseif a:cmd_name =~# '^\%([lt]\?cd\|[lt]chdir\)$' + let ret = 9 + else + let ret = 0 + endif + return ret +endfunc + +function s:append_syn_mnvcmd(lnum, str_info, cmd_list, type) + let ret_lnum = a:lnum + let str = a:str_info.start + + for o in a:cmd_list + if o.type == a:type + let str .= ' ' . o.syn_str + if len(str) > s:line_break_len + if !empty(a:str_info.end) + let str .= ' ' . a:str_info.end + endif + call append(ret_lnum, str) + let str = a:str_info.start + let ret_lnum += 1 + endif + endif + endfor + if str !=# a:str_info.start + if !empty(a:str_info.end) + let str .= ' ' . a:str_info.end + endif + call append(ret_lnum, str) + let ret_lnum += 1 + endif + return ret_lnum +endfunc + +" ------------------------------------------------------------------------------ +function s:parse_mnv_event(li) + try + let file_name = $MNV_SRCDIR . '/autocmd.c' + let item = {} + + new + exec 'read ' . file_name + norm! gg + exec '/^static keyvalue_T event_tab\[NUM_EVENTS] = {$/+1;/^};$/-1yank' + %delete _ + + put + g!/^\s*KEYVALUE_ENTRY(/d + + for line in getline(1, line('$')) + let list = matchlist(line, '^\s*KEYVALUE_ENTRY(-\?EVENT_\w\+,\s*"\(\w\+\)"') + let item.name = list[1] + call add(a:li, copy(item)) + endfor + + " "User" requires a user defined argument event. + " (Separately specified in mnv.mnv.base). + call filter(a:li, {idx, val -> val.name !=# 'User'}) + + quit! + + if empty(a:li) + throw 'event is empty' + endif + catch /.*/ + call s:err_gen('') + throw 'exit' + endtry +endfunc + +" ------------------------------------------------------------------------------ +function s:parse_mnv_function(li) + try + let file_name = $MNV_SRCDIR . '/evalfunc.c' + let item = {} + + new + exec 'read ' . file_name + norm! gg + exec '/^static\s\+const\s\+funcentry_T\s\+global_functions\[\]\s*=\s*$/+1;/^};/-1yank' + %delete _ + + put + g!/^\s*{\s*"\w\+"\s*,.*$/d + g/^\s*{\s*"test"\s*,.*$/d + g@//\s*obsolete@d + g@/\*\s*obsolete\s*\*/@d + + for line in getline(1, line('$')) + let list = matchlist(line, '^\s*{\s*"\(\w\+\)"\s*,') + let item.name = list[1] + call add(a:li, copy(item)) + endfor + + quit! + + if empty(a:li) + throw 'function is empty' + endif + catch /.*/ + call s:err_gen('') + throw 'exit' + endtry +endfunc + +" ------------------------------------------------------------------------------ +function s:parse_mnv_group(li) + try + let file_name = $MNV_SRCDIR . '/../runtime/syntax/syncolor.mnv' + let item = {} + + new + exec 'read ' . file_name + g!/^\s*Syn\%(Color\|Link\)/d + %s/^\s*Syn\%(Color\|Link\)\s\+\(\w\+\).*/\1/ + + for group in getline(1, line('$'))->sort()->uniq() + let item.name = group + call add(a:li, copy(item)) + endfor + + quit! + + if empty(a:li) + throw 'group is empty' + endif + catch /.*/ + call s:err_gen('') + throw 'exit' + endtry +endfunc + +" ------------------------------------------------------------------------------ +function s:parse_mnv_hlgroup(li) + try + let file_name = $MNV_SRCDIR . '/highlight.c' + let item = {} + + new + exec 'read ' . file_name + call cursor(1, 1) + exec '/^static\s\+char\s\+\*(highlight_init_both\[\])\s*=\%(\s*{\)\?$/+1;/^\s*};/-1yank a' + exec '/^static\s\+char\s\+\*(highlight_init_light\[\])\s*=\%(\s*{\)\?$/+1;/^\s*};/-1yank b' + exec '/^set_normal_colors(\%(void\)\?)$/+1;/^}$/-1yank d' + %delete _ + put a + for line in getline(1, line('$')) + let list = matchlist(line, '^\s*\%(CENT(\)\?"\%(default\s\+link\s\+\)\?\(\a\+\).*",.*') + if !empty(list) + let item.name = list[1] + let item.type = 'both' + call add(a:li, copy(item)) + endif + endfor + + %delete _ + put b + for line in getline(1, line('$')) + let list = matchlist(line, '^\s*\%(CENT(\)\?"\%(default\s\+link\s\+\)\?\(\a\+\).*",.*') + if !empty(list) + let item.name = list[1] + let item.type = 'light' + call add(a:li, copy(item)) + endif + endfor + + %delete _ + put d + for line in getline(1, line('$')) + let list = matchlist(line, '^\s*if\s*(set_group_colors(.*"\(\a\+\)",') + if !empty(list) && list[1] !=# 'Normal' + let item.name = list[1] + let item.type = 'gui' + call add(a:li, copy(item)) + endif + endfor + + let item.name = 'CursorIM' + let item.type = 'gui' + call add(a:li, copy(item)) + + " The following highlight groups cannot be extracted from highlight.c + " (TODO: extract from HIGHLIGHT_INIT ?) + for group in ['ComplMatchIns', 'LineNrAbove', 'LineNrBelow', 'MsgArea', 'Terminal'] + let item.name = group + let item.type = 'both' + call add(a:li, copy(item)) + endfor + + for n in range(1, 9) + let item.name = 'User' .. n + let item.type = 'both' + call add(a:li, copy(item)) + endfor + + " "Conceal" is a :syn option and cannot be used as keyword, so remove it. + " (Separately specified as 'syn match' in mnv.mnv.base). + call filter(a:li, {idx, val -> val.name !=# 'Conceal'}) + + quit! + + if empty(a:li) + throw 'hlgroup is empty' + endif + catch /.*/ + call s:err_gen('') + throw 'exit' + endtry +endfunc + +" ------------------------------------------------------------------------------ +function s:parse_mnv_complete_name(li) + try + let file_name = $MNV_SRCDIR . '/usercmd.c' + let item = {} + + new + exec 'read ' . file_name + norm! gg + exec '/^static keyvalue_T command_complete_tab\[] =$/+1;/^};$/-1yank' + %delete _ + + put + g!/^\s*KEYVALUE_ENTRY(/d + g/"custom\(list\)\?"/d + + for line in getline(1, line('$')) + let list = matchlist(line, '^\s*KEYVALUE_ENTRY(EXPAND_\w\+,\s*"\(\w\+\)"') + let item.name = list[1] + call add(a:li, copy(item)) + endfor + + quit! + + if empty(a:li) + throw 'complete_name is empty' + endif + catch /.*/ + call s:err_gen('') + throw 'exit' + endtry +endfunc + +" ------------------------------------------------------------------------------ +function s:parse_mnv_addr_name(li) + try + let file_name = $MNV_SRCDIR . '/usercmd.c' + let item = {} + + new + exec 'read ' . file_name + norm! gg + exec '/^static addrtype_T addr_type_complete_tab\[] =$/+1;/^};$/-1yank' + %delete _ + + put + g!/^\s*ADDRTYPE_ENTRY(/d + + for line in getline(1, line('$')) + let list = matchlist(line, '^\s*ADDRTYPE_ENTRY(ADDR_\w\+,\s*"\(\w\+\)",\s*"\(.*\)"') + let item.name = list[1] + call add(a:li, copy(item)) + let item.name = list[2] + call add(a:li, copy(item)) + endfor + + " '?' is not in 'iskeyword' and cannot be used as keyword, so remove it. + " (Separately specified as 'syn match' in mnv.mnv.base). + call filter(a:li, {idx, val -> val.name !=# '?'}) + + quit! + + if empty(a:li) + throw 'addr_name is empty' + endif + catch /.*/ + call s:err_gen('') + throw 'exit' + endtry +endfunc + +" ------------------------------------------------------------------------------ +function s:parse_mnv_var(li) + try + let file_name = $MNV_SRCDIR . '/evalvars.c' + let item = {} + + new + exec 'read ' . file_name + norm! gg + exec '/^} mnvvars\[VV_LEN] =\n{$/+1;/^};$/-1yank' + %delete _ + + put + g!/^\s*{VV_NAME(/d + + for line in getline(1, line('$')) + let list = matchlist(line, '^\s*{VV_NAME("\(\w\+\)"') + let item.name = list[1] + call add(a:li, copy(item)) + endfor + + quit! + + if empty(a:li) + throw 'var is empty' + endif + catch /.*/ + call s:err_gen('') + throw 'exit' + endtry +endfunc + +" ------------------------------------------------------------------------------ +function s:append_syn_any(lnum, str_info, li) + let ret_lnum = a:lnum + let str = a:str_info.start + + for o in a:li + let str .= ' ' . o.name + if len(str) > s:line_break_len + if !empty(a:str_info.end) + let str .= ' ' . a:str_info.end + endif + call append(ret_lnum, str) + let str = a:str_info.start + let ret_lnum += 1 + endif + endfor + if str !=# a:str_info.start + if !empty(a:str_info.end) + let str .= ' ' . a:str_info.end + endif + call append(ret_lnum, str) + let ret_lnum += 1 + endif + return ret_lnum +endfunc + +" ------------------------------------------------------------------------------ +function s:update_syntax_mnv_file(mnv_info) + try + function! s:search_and_check(kword, base_fname, str_info) + let a:str_info.start = '' + let a:str_info.end = '' + + let pattern = '^" GEN_SYN_MNV: ' . a:kword . '\s*,' + let lnum = search(pattern) + if lnum == 0 + throw 'Search pattern ''' . pattern . ''' not found in ' . + \ a:base_fname + endif + let li = matchlist(getline(lnum), pattern . '\s*START_STR\s*=\s*''\(.\{-}\)''\s*,\s*END_STR\s*=\s*''\(.\{-}\)''') + if empty(li) + throw 'Bad str_info line:' . getline(lnum) + endif + let a:str_info.start = li[1] + let a:str_info.end = li[2] + return lnum + endfunc + + let target_fname = 'mnv.mnv.rc' + let base_fname = 'mnv.mnv.base' + let str_info = {} + let str_info.start = '' + let str_info.end = '' + + new + exec 'edit ' . target_fname + %d _ + exec 'read ' . base_fname + 1delete _ + call cursor(1, 1) + + " mnvCommand + let li = a:mnv_info.cmd + " mnvCommand - normal + let lnum = s:search_and_check('mnvCommand normal', base_fname, str_info) + let lnum = s:append_syn_mnvcmd(lnum, str_info, li, 0) + + " mnvOption + let kword = 'mnvOption' + let li = a:mnv_info.opt + " mnvOption - normal + let lnum = s:search_and_check(kword . ' normal', base_fname, str_info) + let lnum = s:append_syn_mnvopt(lnum, str_info, li, '', 0) + " mnvOption - turn-off + let lnum = s:search_and_check(kword . ' turn-off', base_fname, str_info) + let lnum = s:append_syn_mnvopt(lnum, str_info, li, 'no', 1) + " mnvOption - invertible + let lnum = s:search_and_check(kword . ' invertible', base_fname, str_info) + let lnum = s:append_syn_mnvopt(lnum, str_info, li, 'inv', 1) + " mnvOption - term output code + let li = a:mnv_info.term_out_code + let lnum = s:search_and_check(kword . ' term output code', base_fname, str_info) + let lnum = s:append_syn_any(lnum, str_info, li) + + " mnvOption - normal variable + let li = a:mnv_info.opt + let lnum = s:search_and_check(kword . ' normal variable', base_fname, str_info) + let lnum = s:append_syn_mnvopt(lnum, str_info, li, '', 0) + " mnvOption - term output code variable + let li = a:mnv_info.term_out_code + let lnum = s:search_and_check(kword . ' term output code variable', base_fname, str_info) + let lnum = s:append_syn_any(lnum, str_info, li) + + " Missing mnvOption + let li = a:mnv_info.missing_opt + let lnum = s:search_and_check('Missing mnvOption', base_fname, str_info) + let lnum = s:append_syn_mnvopt(lnum, str_info, li, '', 0) + let lnum = s:append_syn_mnvopt(lnum, str_info, li, 'no', 1) + let lnum = s:append_syn_mnvopt(lnum, str_info, li, 'inv', 1) + + " mnvAutoEvent + let li = a:mnv_info.event + let lnum = s:search_and_check('mnvAutoEvent', base_fname, str_info) + let lnum = s:append_syn_any(lnum, str_info, li) + + " mnvGroup + let li = a:mnv_info.group + let lnum = s:search_and_check('mnvGroup', base_fname, str_info) + let lnum = s:append_syn_any(lnum, str_info, li) + + " mnvHLGroup + let li = a:mnv_info.hlgroup + let lnum = s:search_and_check('mnvHLGroup', base_fname, str_info) + let lnum = s:append_syn_any(lnum, str_info, li) + + " mnvFuncName + let li = a:mnv_info.func + let lnum = s:search_and_check('mnvFuncName', base_fname, str_info) + let lnum = s:append_syn_any(lnum, str_info, li) + + " mnvVarName + let li = a:mnv_info.var + let lnum = s:search_and_check('mnvVarName', base_fname, str_info) + let lnum = s:append_syn_any(lnum, str_info, li) + + " mnvUserAttrComplete + let li = a:mnv_info.compl_name + let lnum = s:search_and_check('mnvUserCmdAttrComplete', base_fname, str_info) + let lnum = s:append_syn_any(lnum, str_info, li) + + " mnvUserAttrbAddr + let li = a:mnv_info.addr_name + let lnum = s:search_and_check('mnvUserCmdAttrAddr', base_fname, str_info) + let lnum = s:append_syn_any(lnum, str_info, li) + + " mnvCommand - abbrev + let kword = 'mnvCommand' + let li = a:mnv_info.cmd + let lnum = s:search_and_check(kword . ' abbrev', base_fname, str_info) + let lnum = s:append_syn_mnvcmd(lnum, str_info, li, 2) + let lnum = s:search_and_check(kword . ' abclear', base_fname, str_info) + let lnum = s:append_syn_mnvcmd(lnum, str_info, li, 7) + " mnvCommand - map + let lnum = s:search_and_check(kword . ' map', base_fname, str_info) + let lnum = s:append_syn_mnvcmd(lnum, str_info, li, 4) + let lnum = s:search_and_check(kword . ' mapclear', base_fname, str_info) + let lnum = s:append_syn_mnvcmd(lnum, str_info, li, 5) + let lnum = s:search_and_check(kword . ' unmap', base_fname, str_info) + let lnum = s:append_syn_mnvcmd(lnum, str_info, li, 6) + " mnvCommand - menu + let lnum = s:search_and_check(kword . ' menu', base_fname, str_info) + let lnum = s:append_syn_mnvcmd(lnum, str_info, li, 3) + " mnvCommand - modifier + let lnum = s:search_and_check(kword . ' modifier', base_fname, str_info) + let lnum = s:append_syn_mnvcmd(lnum, str_info, li, 8) + " mnvCommand - cd + let lnum = s:search_and_check(kword . ' cd', base_fname, str_info) + let lnum = s:append_syn_mnvcmd(lnum, str_info, li, 9) + + update + quit! + + catch /.*/ + call s:err_gen('') + throw 'exit' + endtry +endfunc + +" ------------------------------------------------------------------------------ +function s:check_help_doc(mnv_info) + try + new + let cwd_save = getcwd() + cd ../../../runtime/doc + + let exclude_cmd =<< trim END + deletel + deletep + a + i + END + + let nocheck_shorten_excmd_list =<< trim END + bufdo + cfdo + cstag + debug + defer + eval + intro + lfdo + luado + luafile + ownsyntax + py3do + pydo + pyxdo + pyxfile + rundo + smile + syntime + windo + wundo + END + + " Check the Ex-command is listed in index.txt + split index.txt + for mnvcmd in a:mnv_info.cmd + if index(exclude_cmd, mnvcmd.name) != -1 + continue + endif + norm! gg + let find_ptn = '^|:' . mnvcmd.name . '|\s\+' + let lnum = search(find_ptn, 'eW') + if lnum == 0 + call s:err_sanity($'Ex-cmd ":{mnvcmd.name}" is not found in index.txt.') + elseif search(find_ptn, 'eW') > 0 + call s:err_sanity($'Ex-cmd ":{mnvcmd.name}" is duplicated in index.txt.') + else + let doc_syn_str = substitute(getline(lnum), find_ptn . ':\(\S\+\)\s\+.*', '\1', '') + if doc_syn_str !=# mnvcmd.syn_str + call s:err_sanity($'Ex-cmd "{mnvcmd.name}" short name differ in index.txt. expect: "{mnvcmd.syn_str}", but: "{doc_syn_str}"') + endif + endif + endfor + quit! + + " Check the existence of the help tag for Ex-command. + set wildignore=version*.txt,todo.txt,usr_*.txt + for mnvcmd in a:mnv_info.cmd + if index(exclude_cmd, mnvcmd.name) != -1 + continue + endif + let find_ptn = '\s\*:' . mnvcmd.name . '\*\_s' + exec "silent! mnvgrep /" . find_ptn . "/gj *.txt" + let qfl = getqflist() + if empty(qfl) + call s:err_sanity($'Help tag for Ex-cmd ":{mnvcmd.name}" not found.') + elseif len(qfl) > 1 + call s:err_sanity($'Help tag for Ex-cmd ":{mnvcmd.name}" is duplicated.') + elseif index(nocheck_shorten_excmd_list, mnvcmd.name) ==# -1 + " Check the existence of the shorten Ex-command notation. + cc + norm! 2k + let end_lnum = qfl[0].lnum + 10 + let find_ptn = '^:.*\<' . mnvcmd.syn_str->escape('[]') + let lnum = search(find_ptn, 'W', end_lnum) + if lnum == 0 + if mnvcmd.omit_idx != -1 + " Check the existence of the shorten help tag for Ex-command. + cc + norm! k + let end_lnum = qfl[0].lnum + 10 + let find_ptn = '\s\*:' . mnvcmd.name[:mnvcmd.omit_idx] . '\*\_s' + let lnum = search(find_ptn, 'W', end_lnum) + else + let lnum = 1 + endif + if lnum == 0 + call s:err_sanity($'Shorten help tag "{mnvcmd.name[:mnvcmd.omit_idx]}" for Ex-cmd "{mnvcmd.name}" not found.') + endif + endif + endif + endfor + catch /.*/ + call s:err_gen('') + throw 'exit' + finally + call s:err_gen('Ex-cmd documentation consistency check completed.') + exec 'cd ' . cwd_save + set wildignore& + endtry +endfunc + +" ------------------------------------------------------------------------------ +function s:err_gen(arg) + call s:write_error(a:arg, s:log_write_dir .. 'generator.err') +endfunc + +function s:err_sanity(arg) + call s:write_error(a:arg, s:log_write_dir .. 'sanity_check.err') +endfunc + +function s:write_error(arg, fname) + let li = [] + if !empty(v:throwpoint) + call add(li, v:throwpoint) + endif + if !empty(v:exception) + call add(li, v:exception) + endif + if type(a:arg) == type([]) + call extend(li, a:arg) + elseif type(a:arg) == type("") + if !empty(a:arg) + call add(li, a:arg) + endif + endif + if !empty(li) + call writefile(li, a:fname, 'a') + else + call writefile(['UNKNOWN'], a:fname, 'a') + endif +endfunc + +" ------------------------------------------------------------------------------ +try + let s:line_break_len = 768 + let s:mnv_info = {} + let s:mnv_info.opt = [] + let s:mnv_info.missing_opt = [] + let s:mnv_info.term_out_code = [] + let s:mnv_info.cmd = [] + let s:mnv_info.event = [] + let s:mnv_info.func = [] + let s:mnv_info.group = [] + let s:mnv_info.hlgroup = [] + let s:mnv_info.compl_name = [] + let s:mnv_info.addr_name = [] + let s:mnv_info.var = [] + + set lazyredraw + if !$CHECK_HELP_DOC + silent call s:parse_mnv_option(s:mnv_info.opt, s:mnv_info.missing_opt, + \ s:mnv_info.term_out_code) + silent call s:parse_mnv_command(s:mnv_info.cmd) + silent call s:parse_mnv_event(s:mnv_info.event) + silent call s:parse_mnv_function(s:mnv_info.func) + silent call s:parse_mnv_group(s:mnv_info.group) + silent call s:parse_mnv_hlgroup(s:mnv_info.hlgroup) + silent call s:parse_mnv_complete_name(s:mnv_info.compl_name) + silent call s:parse_mnv_addr_name(s:mnv_info.addr_name) + silent call s:parse_mnv_var(s:mnv_info.var) + + call s:update_syntax_mnv_file(s:mnv_info) + else + silent call s:parse_mnv_command(s:mnv_info.cmd) + silent call s:check_help_doc(s:mnv_info) + endif + set nolazyredraw + +finally + quitall! +endtry + +" --------------------------------------------------------------------- +let &cpo = s:keepcpo +unlet s:keepcpo +" mnv:ts=2 sw=2 diff --git a/uvim/runtime/syntax/generator/gen_syntax_vim.vim b/uvim/runtime/syntax/generator/gen_syntax_vim.vim deleted file mode 100644 index 3e7fe1bc2d..0000000000 --- a/uvim/runtime/syntax/generator/gen_syntax_vim.vim +++ /dev/null @@ -1,1136 +0,0 @@ -" Vim syntax file generator -" Language: Vim script -" Maintainer: Hirohito Higashi (h_east) -" Last Change: 2025 Dec 04 - -let s:keepcpo= &cpo -set cpo&vim - -language C -let s:log_write_dir = getcwd() . '/' - -function s:parse_vim_option(opt, missing_opt, term_out_code) - try - let file_name = $VIM_SRCDIR . '/optiondefs.h' - let item = {} - - new - exec 'read ' . file_name - norm! gg - exec '/^.*\s*options\[\]\s*=\s*$/+1;/^\s*#\s*define\s*p_term(/-1yank a' - exec '/^#define\s\+p_term(/+1;/^};$/-1yank b' - %delete _ - - put a - " workaround for 'shortname' - g/^#\s*ifdef\s*SHORT_FNAME\>/j - g/^#/d - g/^\s*{\s*"\w\+"\%(\s*,\s*[^,]*\)\{2}[^,]$/j - g/^\s*{\s*"\w\+"\s*,.*$/j - g!/^\s*{\s*"\w\+"\s*,.*$/d - - for line in getline(1, line('$')) - let list = matchlist(line, '^\s*{\s*"\(\w\+\)"\s*,\s*\%("\(\w\+\)"\|NULL\)\s*,\s*\%([^,]*\(P_BOOL\)[^,]*\|[^,]*\)\s*,\s*\([^,]*NULL\)\?.*') - if list[1] == 'completefuzzycollect' - continue - endif - let item.name = list[1] - let item.short_name = list[2] - let item.is_bool = empty(list[3]) ? 0 : 1 - if empty(list[4]) - call add(a:opt, copy(item)) - else - call add(a:missing_opt, copy(item)) - endif - endfor - if empty(a:opt) - throw 'opt is empty' - endif - if empty(a:missing_opt) - throw 'missing_opt is empty' - endif - - %delete _ - put b - g!/^\s*p_term(\s*"\w\+"\s*,.*$/d - - for line in getline(1, line('$')) - let list = matchlist(line, '^\s*p_term(\s*"\(\w\+\)"\s*,') - let item.name = list[1] - call add(a:term_out_code, copy(item)) - endfor - quit! - if empty(a:term_out_code) - throw 'term_out_code is empty' - endif - catch /.*/ - call s:err_gen('') - throw 'exit' - endtry -endfunc - -function s:append_syn_vimopt(lnum, str_info, opt_list, prefix, bool_only) - let ret_lnum = a:lnum - let str = a:str_info.start - - for o in a:opt_list - if !a:bool_only || o.is_bool - if !empty(o.short_name) - let str .= ' ' . a:prefix . o.short_name - endif - let str .= ' ' . a:prefix . o.name - if len(str) > s:line_break_len - if !empty(a:str_info.end) - let str .= ' ' . a:str_info.end - endif - call append(ret_lnum, str) - let str = a:str_info.start - let ret_lnum += 1 - endif - endif - endfor - if str !=# a:str_info.start - if !empty(a:str_info.end) - let str .= ' ' . a:str_info.end - endif - call append(ret_lnum, str) - let ret_lnum += 1 - endif - return ret_lnum -endfunc - -" ------------------------------------------------------------------------------ -function s:parse_vim_command(cmd) - try - let file_name = $VIM_SRCDIR . '/ex_cmds.h' - let item = {} - - new - exec 'read ' . file_name - norm! gg - exec '/^}\?\s*cmdnames\[\]\s*=\s*$/+1;/^};/-1yank' - %delete _ - put - g!/^EXCMD(/d - - let lcmd = {} - for key in range(char2nr('a'), char2nr('z')) - let lcmd[nr2char(key)] = [] - endfor - let lcmd['~'] = [] - - for line in getline(1, line('$')) - let list = matchlist(line, '^EXCMD(\w\+\s*,\s*"\(\a\w*\)"\s*,') - if !empty(list) - " Small ascii character or other. - let key = (list[1][:0] =~# '\l') ? list[1][:0] : '~' - call add(lcmd[key], list[1]) - endif - endfor - quit! - - for key in sort(keys(lcmd)) - for my in range(len(lcmd[key])) - let omit_idx = 0 - if my > 0 - let omit_idx = (key =~# '\l') ? 1 : 0 - for idx in range(1, strlen(lcmd[key][my])) - let matched = 0 - for pre in range(my - 1, 0, -1) - " Avoiding conflicts shortened command and special commands - " - weird abbreviations for delete. (See :help :d) - " - k{char} is used as mark. (See :help :k) - " - :s commsnds repeat. (See :help :substitute-repeat) - if lcmd[key][my][:idx] ==# lcmd[key][pre][:idx] || - \ (key ==# 'd' && - \ lcmd[key][my][:idx] =~# '^d\%[elete][lp]$') - \ || (key ==# 'k' && - \ lcmd[key][my][:idx] =~# '^k[a-zA-Z]$') - \ || (key ==# 's' && - \ lcmd[key][my][:idx] =~# '^s\%(c\%([^sr][^ip]\=\)\=$\|g\|i[^mlg]\=$\|I\|r[^e]\=$\)') - let matched = 1 - let omit_idx = idx + 1 - break - endif - endfor - if !matched - break - endif - endfor - endif - - let item.name = lcmd[key][my] - let item.type = s:get_vim_command_type(item.name) - if omit_idx + 1 < strlen(item.name) - let item.omit_idx = omit_idx - let item.syn_str = item.name[:omit_idx] . '[' . - \ item.name[omit_idx+1:] . ']' - else - let item.omit_idx = -1 - let item.syn_str = item.name - endif - call add(a:cmd, copy(item)) - endfor - endfor - - " Add weird abbreviations for delete. (See :help :d) - for i in ['l', 'p'] - let str = 'delete' - let item.name = str . i - let item.type = s:get_vim_command_type(item.name) - let item.omit_idx = -1 - for x in range(strlen(str)) - let item.syn_str = str[:x] . i - if item.syn_str !=# "del" - call add(a:cmd, copy(item)) - endif - endfor - endfor - - " Required for original behavior - let item.name = 'a' " append - let item.type = 0 - let item.omit_idx = -1 - let item.syn_str = item.name - call add(a:cmd, copy(item)) - let item.name = 'i' " insert - let item.syn_str = item.name - call add(a:cmd, copy(item)) - - let no_shorten_in_vim9 =<< trim EOL - final - def - enddef - class - endclass - enum - endenum - interface - endinterface - abstract - public - static - this - var - type - EOL - - call map(a:cmd, {_, v -> - \ index(no_shorten_in_vim9, v.name) != -1 ? - \ extend(copy(v), {'omit_idx': -1, 'syn_str': v.name}) : - "\ ":fina" means ":finally" in legacy script, for backwards compatibility. - "\ (From Vim source code find_ex_command() in ex_docmd.c) - \ v.name ==# 'finally' ? - \ extend(copy(v), {'omit_idx': 3, 'syn_str': 'fina[lly]'}) : - "\ :ho must not be recognized as :horizontal. - \ v.name ==# 'horizontal' ? - \ extend(copy(v), {'omit_idx': 2, 'syn_str': 'hor[izontal]'}) : - \ v - \ }) - - if empty(a:cmd) - throw 'cmd is empty' - endif - catch /.*/ - call s:err_gen('') - throw 'exit' - endtry -endfunc - -function s:memoize_cmd_modifiers() - let modifiers = [] - function _() closure - if empty(modifiers) - try - let file_name = $VIM_SRCDIR .. '/ex_docmd.c' - - new - exec 'read ' .. file_name - norm! gg - exec ':/^static cmdmod_info_T cmdmod_info_tab\[] = {/+1;/^};/-1yank' - %delete _ - - put - 1delete _ - - let list = [] - for line in getline(1, line('$')) - let list = matchlist(line, '^\s*{"\(\w\+\)".*') - " :browse and :confirm handled separately as lower priority matches - " because they have same-named builtin functions - if index(['browse', 'confirm'], list[1]) == -1 - call add(modifiers, copy(list[1])) - endif - endfor - - quit! - - if empty(modifiers) - throw 'cmd modifiers list is empty' - endif - - catch /.*/ - call s:err_gen('') - throw 'exit' - endtry - endif - return modifiers - endfunction - return function("_") -endfunction -let s:get_cmd_modifiers = s:memoize_cmd_modifiers() - -function s:get_vim_command_type(cmd_name) - " Return value: - " 0: normal - " 1: (Reserved) - " 2: abbrev - " 3: menu - " 4: map - " 5: mapclear - " 6: unmap - " 7: abclear - " 8: modifiers - " 9: cd - " 99: (Exclude registration of "syn keyword") - let ab_prefix = '^[ci]\?' - let menu_prefix = '^\%([acinostvx]\?\|tl\)' - let map_prefix = '^[acilnostvx]\?' - let exclude_list =<< trim EOL - 2match - 3match - Next - Print - X - abstract - argdo - append - augroup - autocmd - behave - breakadd - breakdel - breaklist - browse - bufdo - call - catch - cdo - cfdo - chdir - change - class - command - confirm - const - copy - debug - debuggreedy - def - defer - delcommand - delete - delfunction - doautoall - doautocmd - echo - echoconsole - echoerr - echohl - echomsg - echon - echowindow - else - elseif - endclass - enddef - endenum - endfunction - endif - endinterface - enum - eval - execute - export - filetype - filter - final - folddoopen - folddoclosed - for - function - grep - grepadd - help - helpgrep - highlight - history - if - import - interface - insert - join - k - language - let - ldo - lfdo - loadkeymap - lhelpgrep - lgrep - lgrepadd - lvimgrep - lvimgrepadd - make - lua - luado - luafile - map - mapclear - mark - match - menutranslate - mzscheme - mzfile - noremap - new - normal - perl - perldo - popup - profdel - profile - promptfind - promptrepl - public - python - pyfile - pydo - python3 - py3 - py3do - py3file - pythonx - pyx - pyxdo - pyxfile - redir - return - ruby - rubydo - rubyfile - set - setglobal - setlocal - sleep - smagic - snomagic - sort - split - static - substitute - swapname - syntax - syntime - tabdo - tcl - tcldo - tclfile - terminal - this - throw - type - uniq - unlet - unlockvar - unmap - var - vim9script - vimgrep - vimgrepadd - while - wincmd - windo - EOL - " Required for original behavior - " \ 'global', 'vglobal' - if index(exclude_list, a:cmd_name) != -1 - let ret = 99 - elseif a:cmd_name =~# '^\%(\%(un\)\?abbreviate\|noreabbrev\|\l\%(nore\|un\)\?abbrev\)$' - let ret = 2 - elseif a:cmd_name =~# ab_prefix . 'abclear$' - let ret = 7 - elseif a:cmd_name =~# menu_prefix . '\%(nore\|un\)\?menu$' - let ret = 3 - elseif a:cmd_name =~# map_prefix . '\%(nore\)\?map$' - let ret = 4 - elseif a:cmd_name =~# map_prefix . 'mapclear$' - let ret = 5 - elseif a:cmd_name =~# map_prefix . 'unmap$' - let ret = 6 - elseif index(s:get_cmd_modifiers(), a:cmd_name) != -1 - let ret = 8 - " :chdir handled specially for command/function distinction - elseif a:cmd_name =~# '^\%([lt]\?cd\|[lt]chdir\)$' - let ret = 9 - else - let ret = 0 - endif - return ret -endfunc - -function s:append_syn_vimcmd(lnum, str_info, cmd_list, type) - let ret_lnum = a:lnum - let str = a:str_info.start - - for o in a:cmd_list - if o.type == a:type - let str .= ' ' . o.syn_str - if len(str) > s:line_break_len - if !empty(a:str_info.end) - let str .= ' ' . a:str_info.end - endif - call append(ret_lnum, str) - let str = a:str_info.start - let ret_lnum += 1 - endif - endif - endfor - if str !=# a:str_info.start - if !empty(a:str_info.end) - let str .= ' ' . a:str_info.end - endif - call append(ret_lnum, str) - let ret_lnum += 1 - endif - return ret_lnum -endfunc - -" ------------------------------------------------------------------------------ -function s:parse_vim_event(li) - try - let file_name = $VIM_SRCDIR . '/autocmd.c' - let item = {} - - new - exec 'read ' . file_name - norm! gg - exec '/^static keyvalue_T event_tab\[NUM_EVENTS] = {$/+1;/^};$/-1yank' - %delete _ - - put - g!/^\s*KEYVALUE_ENTRY(/d - - for line in getline(1, line('$')) - let list = matchlist(line, '^\s*KEYVALUE_ENTRY(-\?EVENT_\w\+,\s*"\(\w\+\)"') - let item.name = list[1] - call add(a:li, copy(item)) - endfor - - " "User" requires a user defined argument event. - " (Separately specified in vim.vim.base). - call filter(a:li, {idx, val -> val.name !=# 'User'}) - - quit! - - if empty(a:li) - throw 'event is empty' - endif - catch /.*/ - call s:err_gen('') - throw 'exit' - endtry -endfunc - -" ------------------------------------------------------------------------------ -function s:parse_vim_function(li) - try - let file_name = $VIM_SRCDIR . '/evalfunc.c' - let item = {} - - new - exec 'read ' . file_name - norm! gg - exec '/^static\s\+const\s\+funcentry_T\s\+global_functions\[\]\s*=\s*$/+1;/^};/-1yank' - %delete _ - - put - g!/^\s*{\s*"\w\+"\s*,.*$/d - g/^\s*{\s*"test"\s*,.*$/d - g@//\s*obsolete@d - g@/\*\s*obsolete\s*\*/@d - - for line in getline(1, line('$')) - let list = matchlist(line, '^\s*{\s*"\(\w\+\)"\s*,') - let item.name = list[1] - call add(a:li, copy(item)) - endfor - - quit! - - if empty(a:li) - throw 'function is empty' - endif - catch /.*/ - call s:err_gen('') - throw 'exit' - endtry -endfunc - -" ------------------------------------------------------------------------------ -function s:parse_vim_group(li) - try - let file_name = $VIM_SRCDIR . '/../runtime/syntax/syncolor.vim' - let item = {} - - new - exec 'read ' . file_name - g!/^\s*Syn\%(Color\|Link\)/d - %s/^\s*Syn\%(Color\|Link\)\s\+\(\w\+\).*/\1/ - - for group in getline(1, line('$'))->sort()->uniq() - let item.name = group - call add(a:li, copy(item)) - endfor - - quit! - - if empty(a:li) - throw 'group is empty' - endif - catch /.*/ - call s:err_gen('') - throw 'exit' - endtry -endfunc - -" ------------------------------------------------------------------------------ -function s:parse_vim_hlgroup(li) - try - let file_name = $VIM_SRCDIR . '/highlight.c' - let item = {} - - new - exec 'read ' . file_name - call cursor(1, 1) - exec '/^static\s\+char\s\+\*(highlight_init_both\[\])\s*=\%(\s*{\)\?$/+1;/^\s*};/-1yank a' - exec '/^static\s\+char\s\+\*(highlight_init_light\[\])\s*=\%(\s*{\)\?$/+1;/^\s*};/-1yank b' - exec '/^set_normal_colors(\%(void\)\?)$/+1;/^}$/-1yank d' - %delete _ - put a - for line in getline(1, line('$')) - let list = matchlist(line, '^\s*\%(CENT(\)\?"\%(default\s\+link\s\+\)\?\(\a\+\).*",.*') - if !empty(list) - let item.name = list[1] - let item.type = 'both' - call add(a:li, copy(item)) - endif - endfor - - %delete _ - put b - for line in getline(1, line('$')) - let list = matchlist(line, '^\s*\%(CENT(\)\?"\%(default\s\+link\s\+\)\?\(\a\+\).*",.*') - if !empty(list) - let item.name = list[1] - let item.type = 'light' - call add(a:li, copy(item)) - endif - endfor - - %delete _ - put d - for line in getline(1, line('$')) - let list = matchlist(line, '^\s*if\s*(set_group_colors(.*"\(\a\+\)",') - if !empty(list) && list[1] !=# 'Normal' - let item.name = list[1] - let item.type = 'gui' - call add(a:li, copy(item)) - endif - endfor - - let item.name = 'CursorIM' - let item.type = 'gui' - call add(a:li, copy(item)) - - " The following highlight groups cannot be extracted from highlight.c - " (TODO: extract from HIGHLIGHT_INIT ?) - for group in ['ComplMatchIns', 'LineNrAbove', 'LineNrBelow', 'MsgArea', 'Terminal'] - let item.name = group - let item.type = 'both' - call add(a:li, copy(item)) - endfor - - for n in range(1, 9) - let item.name = 'User' .. n - let item.type = 'both' - call add(a:li, copy(item)) - endfor - - " "Conceal" is a :syn option and cannot be used as keyword, so remove it. - " (Separately specified as 'syn match' in vim.vim.base). - call filter(a:li, {idx, val -> val.name !=# 'Conceal'}) - - quit! - - if empty(a:li) - throw 'hlgroup is empty' - endif - catch /.*/ - call s:err_gen('') - throw 'exit' - endtry -endfunc - -" ------------------------------------------------------------------------------ -function s:parse_vim_complete_name(li) - try - let file_name = $VIM_SRCDIR . '/usercmd.c' - let item = {} - - new - exec 'read ' . file_name - norm! gg - exec '/^static keyvalue_T command_complete_tab\[] =$/+1;/^};$/-1yank' - %delete _ - - put - g!/^\s*KEYVALUE_ENTRY(/d - g/"custom\(list\)\?"/d - - for line in getline(1, line('$')) - let list = matchlist(line, '^\s*KEYVALUE_ENTRY(EXPAND_\w\+,\s*"\(\w\+\)"') - let item.name = list[1] - call add(a:li, copy(item)) - endfor - - quit! - - if empty(a:li) - throw 'complete_name is empty' - endif - catch /.*/ - call s:err_gen('') - throw 'exit' - endtry -endfunc - -" ------------------------------------------------------------------------------ -function s:parse_vim_addr_name(li) - try - let file_name = $VIM_SRCDIR . '/usercmd.c' - let item = {} - - new - exec 'read ' . file_name - norm! gg - exec '/^static addrtype_T addr_type_complete_tab\[] =$/+1;/^};$/-1yank' - %delete _ - - put - g!/^\s*ADDRTYPE_ENTRY(/d - - for line in getline(1, line('$')) - let list = matchlist(line, '^\s*ADDRTYPE_ENTRY(ADDR_\w\+,\s*"\(\w\+\)",\s*"\(.*\)"') - let item.name = list[1] - call add(a:li, copy(item)) - let item.name = list[2] - call add(a:li, copy(item)) - endfor - - " '?' is not in 'iskeyword' and cannot be used as keyword, so remove it. - " (Separately specified as 'syn match' in vim.vim.base). - call filter(a:li, {idx, val -> val.name !=# '?'}) - - quit! - - if empty(a:li) - throw 'addr_name is empty' - endif - catch /.*/ - call s:err_gen('') - throw 'exit' - endtry -endfunc - -" ------------------------------------------------------------------------------ -function s:parse_vim_var(li) - try - let file_name = $VIM_SRCDIR . '/evalvars.c' - let item = {} - - new - exec 'read ' . file_name - norm! gg - exec '/^} vimvars\[VV_LEN] =\n{$/+1;/^};$/-1yank' - %delete _ - - put - g!/^\s*{VV_NAME(/d - - for line in getline(1, line('$')) - let list = matchlist(line, '^\s*{VV_NAME("\(\w\+\)"') - let item.name = list[1] - call add(a:li, copy(item)) - endfor - - quit! - - if empty(a:li) - throw 'var is empty' - endif - catch /.*/ - call s:err_gen('') - throw 'exit' - endtry -endfunc - -" ------------------------------------------------------------------------------ -function s:append_syn_any(lnum, str_info, li) - let ret_lnum = a:lnum - let str = a:str_info.start - - for o in a:li - let str .= ' ' . o.name - if len(str) > s:line_break_len - if !empty(a:str_info.end) - let str .= ' ' . a:str_info.end - endif - call append(ret_lnum, str) - let str = a:str_info.start - let ret_lnum += 1 - endif - endfor - if str !=# a:str_info.start - if !empty(a:str_info.end) - let str .= ' ' . a:str_info.end - endif - call append(ret_lnum, str) - let ret_lnum += 1 - endif - return ret_lnum -endfunc - -" ------------------------------------------------------------------------------ -function s:update_syntax_vim_file(vim_info) - try - function! s:search_and_check(kword, base_fname, str_info) - let a:str_info.start = '' - let a:str_info.end = '' - - let pattern = '^" GEN_SYN_VIM: ' . a:kword . '\s*,' - let lnum = search(pattern) - if lnum == 0 - throw 'Search pattern ''' . pattern . ''' not found in ' . - \ a:base_fname - endif - let li = matchlist(getline(lnum), pattern . '\s*START_STR\s*=\s*''\(.\{-}\)''\s*,\s*END_STR\s*=\s*''\(.\{-}\)''') - if empty(li) - throw 'Bad str_info line:' . getline(lnum) - endif - let a:str_info.start = li[1] - let a:str_info.end = li[2] - return lnum - endfunc - - let target_fname = 'vim.vim.rc' - let base_fname = 'vim.vim.base' - let str_info = {} - let str_info.start = '' - let str_info.end = '' - - new - exec 'edit ' . target_fname - %d _ - exec 'read ' . base_fname - 1delete _ - call cursor(1, 1) - - " vimCommand - let li = a:vim_info.cmd - " vimCommand - normal - let lnum = s:search_and_check('vimCommand normal', base_fname, str_info) - let lnum = s:append_syn_vimcmd(lnum, str_info, li, 0) - - " vimOption - let kword = 'vimOption' - let li = a:vim_info.opt - " vimOption - normal - let lnum = s:search_and_check(kword . ' normal', base_fname, str_info) - let lnum = s:append_syn_vimopt(lnum, str_info, li, '', 0) - " vimOption - turn-off - let lnum = s:search_and_check(kword . ' turn-off', base_fname, str_info) - let lnum = s:append_syn_vimopt(lnum, str_info, li, 'no', 1) - " vimOption - invertible - let lnum = s:search_and_check(kword . ' invertible', base_fname, str_info) - let lnum = s:append_syn_vimopt(lnum, str_info, li, 'inv', 1) - " vimOption - term output code - let li = a:vim_info.term_out_code - let lnum = s:search_and_check(kword . ' term output code', base_fname, str_info) - let lnum = s:append_syn_any(lnum, str_info, li) - - " vimOption - normal variable - let li = a:vim_info.opt - let lnum = s:search_and_check(kword . ' normal variable', base_fname, str_info) - let lnum = s:append_syn_vimopt(lnum, str_info, li, '', 0) - " vimOption - term output code variable - let li = a:vim_info.term_out_code - let lnum = s:search_and_check(kword . ' term output code variable', base_fname, str_info) - let lnum = s:append_syn_any(lnum, str_info, li) - - " Missing vimOption - let li = a:vim_info.missing_opt - let lnum = s:search_and_check('Missing vimOption', base_fname, str_info) - let lnum = s:append_syn_vimopt(lnum, str_info, li, '', 0) - let lnum = s:append_syn_vimopt(lnum, str_info, li, 'no', 1) - let lnum = s:append_syn_vimopt(lnum, str_info, li, 'inv', 1) - - " vimAutoEvent - let li = a:vim_info.event - let lnum = s:search_and_check('vimAutoEvent', base_fname, str_info) - let lnum = s:append_syn_any(lnum, str_info, li) - - " vimGroup - let li = a:vim_info.group - let lnum = s:search_and_check('vimGroup', base_fname, str_info) - let lnum = s:append_syn_any(lnum, str_info, li) - - " vimHLGroup - let li = a:vim_info.hlgroup - let lnum = s:search_and_check('vimHLGroup', base_fname, str_info) - let lnum = s:append_syn_any(lnum, str_info, li) - - " vimFuncName - let li = a:vim_info.func - let lnum = s:search_and_check('vimFuncName', base_fname, str_info) - let lnum = s:append_syn_any(lnum, str_info, li) - - " vimVarName - let li = a:vim_info.var - let lnum = s:search_and_check('vimVarName', base_fname, str_info) - let lnum = s:append_syn_any(lnum, str_info, li) - - " vimUserAttrComplete - let li = a:vim_info.compl_name - let lnum = s:search_and_check('vimUserCmdAttrComplete', base_fname, str_info) - let lnum = s:append_syn_any(lnum, str_info, li) - - " vimUserAttrbAddr - let li = a:vim_info.addr_name - let lnum = s:search_and_check('vimUserCmdAttrAddr', base_fname, str_info) - let lnum = s:append_syn_any(lnum, str_info, li) - - " vimCommand - abbrev - let kword = 'vimCommand' - let li = a:vim_info.cmd - let lnum = s:search_and_check(kword . ' abbrev', base_fname, str_info) - let lnum = s:append_syn_vimcmd(lnum, str_info, li, 2) - let lnum = s:search_and_check(kword . ' abclear', base_fname, str_info) - let lnum = s:append_syn_vimcmd(lnum, str_info, li, 7) - " vimCommand - map - let lnum = s:search_and_check(kword . ' map', base_fname, str_info) - let lnum = s:append_syn_vimcmd(lnum, str_info, li, 4) - let lnum = s:search_and_check(kword . ' mapclear', base_fname, str_info) - let lnum = s:append_syn_vimcmd(lnum, str_info, li, 5) - let lnum = s:search_and_check(kword . ' unmap', base_fname, str_info) - let lnum = s:append_syn_vimcmd(lnum, str_info, li, 6) - " vimCommand - menu - let lnum = s:search_and_check(kword . ' menu', base_fname, str_info) - let lnum = s:append_syn_vimcmd(lnum, str_info, li, 3) - " vimCommand - modifier - let lnum = s:search_and_check(kword . ' modifier', base_fname, str_info) - let lnum = s:append_syn_vimcmd(lnum, str_info, li, 8) - " vimCommand - cd - let lnum = s:search_and_check(kword . ' cd', base_fname, str_info) - let lnum = s:append_syn_vimcmd(lnum, str_info, li, 9) - - update - quit! - - catch /.*/ - call s:err_gen('') - throw 'exit' - endtry -endfunc - -" ------------------------------------------------------------------------------ -function s:check_help_doc(vim_info) - try - new - let cwd_save = getcwd() - cd ../../../runtime/doc - - let exclude_cmd =<< trim END - deletel - deletep - a - i - END - - let nocheck_shorten_excmd_list =<< trim END - bufdo - cfdo - cstag - debug - defer - eval - intro - lfdo - luado - luafile - ownsyntax - py3do - pydo - pyxdo - pyxfile - rundo - smile - syntime - windo - wundo - END - - " Check the Ex-command is listed in index.txt - split index.txt - for vimcmd in a:vim_info.cmd - if index(exclude_cmd, vimcmd.name) != -1 - continue - endif - norm! gg - let find_ptn = '^|:' . vimcmd.name . '|\s\+' - let lnum = search(find_ptn, 'eW') - if lnum == 0 - call s:err_sanity($'Ex-cmd ":{vimcmd.name}" is not found in index.txt.') - elseif search(find_ptn, 'eW') > 0 - call s:err_sanity($'Ex-cmd ":{vimcmd.name}" is duplicated in index.txt.') - else - let doc_syn_str = substitute(getline(lnum), find_ptn . ':\(\S\+\)\s\+.*', '\1', '') - if doc_syn_str !=# vimcmd.syn_str - call s:err_sanity($'Ex-cmd "{vimcmd.name}" short name differ in index.txt. expect: "{vimcmd.syn_str}", but: "{doc_syn_str}"') - endif - endif - endfor - quit! - - " Check the existence of the help tag for Ex-command. - set wildignore=version*.txt,todo.txt,usr_*.txt - for vimcmd in a:vim_info.cmd - if index(exclude_cmd, vimcmd.name) != -1 - continue - endif - let find_ptn = '\s\*:' . vimcmd.name . '\*\_s' - exec "silent! vimgrep /" . find_ptn . "/gj *.txt" - let qfl = getqflist() - if empty(qfl) - call s:err_sanity($'Help tag for Ex-cmd ":{vimcmd.name}" not found.') - elseif len(qfl) > 1 - call s:err_sanity($'Help tag for Ex-cmd ":{vimcmd.name}" is duplicated.') - elseif index(nocheck_shorten_excmd_list, vimcmd.name) ==# -1 - " Check the existence of the shorten Ex-command notation. - cc - norm! 2k - let end_lnum = qfl[0].lnum + 10 - let find_ptn = '^:.*\<' . vimcmd.syn_str->escape('[]') - let lnum = search(find_ptn, 'W', end_lnum) - if lnum == 0 - if vimcmd.omit_idx != -1 - " Check the existence of the shorten help tag for Ex-command. - cc - norm! k - let end_lnum = qfl[0].lnum + 10 - let find_ptn = '\s\*:' . vimcmd.name[:vimcmd.omit_idx] . '\*\_s' - let lnum = search(find_ptn, 'W', end_lnum) - else - let lnum = 1 - endif - if lnum == 0 - call s:err_sanity($'Shorten help tag "{vimcmd.name[:vimcmd.omit_idx]}" for Ex-cmd "{vimcmd.name}" not found.') - endif - endif - endif - endfor - catch /.*/ - call s:err_gen('') - throw 'exit' - finally - call s:err_gen('Ex-cmd documentation consistency check completed.') - exec 'cd ' . cwd_save - set wildignore& - endtry -endfunc - -" ------------------------------------------------------------------------------ -function s:err_gen(arg) - call s:write_error(a:arg, s:log_write_dir .. 'generator.err') -endfunc - -function s:err_sanity(arg) - call s:write_error(a:arg, s:log_write_dir .. 'sanity_check.err') -endfunc - -function s:write_error(arg, fname) - let li = [] - if !empty(v:throwpoint) - call add(li, v:throwpoint) - endif - if !empty(v:exception) - call add(li, v:exception) - endif - if type(a:arg) == type([]) - call extend(li, a:arg) - elseif type(a:arg) == type("") - if !empty(a:arg) - call add(li, a:arg) - endif - endif - if !empty(li) - call writefile(li, a:fname, 'a') - else - call writefile(['UNKNOWN'], a:fname, 'a') - endif -endfunc - -" ------------------------------------------------------------------------------ -try - let s:line_break_len = 768 - let s:vim_info = {} - let s:vim_info.opt = [] - let s:vim_info.missing_opt = [] - let s:vim_info.term_out_code = [] - let s:vim_info.cmd = [] - let s:vim_info.event = [] - let s:vim_info.func = [] - let s:vim_info.group = [] - let s:vim_info.hlgroup = [] - let s:vim_info.compl_name = [] - let s:vim_info.addr_name = [] - let s:vim_info.var = [] - - set lazyredraw - if !$CHECK_HELP_DOC - silent call s:parse_vim_option(s:vim_info.opt, s:vim_info.missing_opt, - \ s:vim_info.term_out_code) - silent call s:parse_vim_command(s:vim_info.cmd) - silent call s:parse_vim_event(s:vim_info.event) - silent call s:parse_vim_function(s:vim_info.func) - silent call s:parse_vim_group(s:vim_info.group) - silent call s:parse_vim_hlgroup(s:vim_info.hlgroup) - silent call s:parse_vim_complete_name(s:vim_info.compl_name) - silent call s:parse_vim_addr_name(s:vim_info.addr_name) - silent call s:parse_vim_var(s:vim_info.var) - - call s:update_syntax_vim_file(s:vim_info) - else - silent call s:parse_vim_command(s:vim_info.cmd) - silent call s:check_help_doc(s:vim_info) - endif - set nolazyredraw - -finally - quitall! -endtry - -" --------------------------------------------------------------------- -let &cpo = s:keepcpo -unlet s:keepcpo -" vim:ts=2 sw=2 diff --git a/uvim/runtime/syntax/generator/mnv.mnv.base b/uvim/runtime/syntax/generator/mnv.mnv.base new file mode 100644 index 0000000000..5f35401ff2 --- /dev/null +++ b/uvim/runtime/syntax/generator/mnv.mnv.base @@ -0,0 +1,2868 @@ +" MNV syntax file +" Language: MNV script +" Maintainer: Hirohito Higashi +" Doug Kearns +" Last Change: 2026 Feb 20 +" Former Maintainer: Charles E. Campbell + +" DO NOT CHANGE DIRECTLY. +" THIS FILE PARTLY GENERATED BY gen_syntax_mnv.mnv. +" (Search string "GEN_SYN_MNV:" in this file) + +" Quit when a syntax file was already loaded {{{1 +if exists("b:current_syntax") + finish +endif +let s:keepcpo= &cpo +set cpo&mnv + +" Feature testing {{{1 + +" NOTE: mnvsyn_force_mnv9 for internal use only +let s:mnv9script = get(b:, "mnvsyn_force_mnv9", v:false) || "\n" .. getline(1, 32)->join("\n") =~# '\n\s*mnv9\%[script]\>' + +function s:has(feature) + return has(a:feature) || index(get(g:, "mnvsyn_mnv_features", []), a:feature) != -1 +endfunction + +" Automatically generated keyword lists: {{{1 + +" mnvTodo: contains common special-notices for comments {{{2 +" Use the mnvCommentGroup cluster to add your own. +syn keyword mnvTodo contained COMBAK FIXME TODO XXX +syn cluster mnvCommentGroup contains=mnvTodo,@Spell + +" regular mnv commands {{{2 +" GEN_SYN_MNV: mnvCommand normal, START_STR='syn keyword mnvCommand contained', END_STR='nextgroup=mnvBang' + +" Lower priority :syn-match to allow for :command/function() distinction +" :chdir is handled specially elsewhere +syn match mnvCommand "\" nextgroup=mnvBang +syn match mnvCommand "\" nextgroup=mnvBang +syn match mnvCommand "\" nextgroup=mnvBang +syn match mnvCommand "\" nextgroup=mnvBang +syn match mnvCommand "\" nextgroup=mnvBang + +" GEN_SYN_MNV: mnvCommand modifier, START_STR='syn keyword mnvCommandModifier', END_STR='skipwhite nextgroup=mnvCommandModifierBang,@mnvCmdList' +" :filter is handled specially elsewhere +syn match mnvCommandModifierBang contained "\a\@1<=!" skipwhite nextgroup=@mnvCmdList + +" Lower priority :syn-match to allow for :command/function() distinction +syn match mnvCommand "\" skipwhite nextgroup=mnvCommandModifierBang,@mnvCmdList +syn match mnvCommand "\" skipwhite nextgroup=mnvCommandModifierBang,@mnvCmdList + +" Lower priority for _new_ to distinguish constructors from the command. +syn match mnvCommand contained "\(\@!" +syn match mnvCommand contained "\" +syn keyword mnvStdPlugin contained Arguments Asm Break Cfilter Clear Continue DiffOrig Evaluate Finish Gdb Lfilter Man Over Program Run S Source Step Stop Termdebug TermdebugCommand TOhtml Until Winbar XMLent XMLns + +" mnvOptions are caught only when contained in a mnvSet {{{2 +" GEN_SYN_MNV: mnvOption normal, START_STR='syn keyword mnvOption contained', END_STR='skipwhite nextgroup=mnvSetEqual,mnvSetMod' + +" mnvOptions: These are the turn-off setting variants {{{2 +" GEN_SYN_MNV: mnvOption turn-off, START_STR='syn keyword mnvOption contained', END_STR='' + +" mnvOptions: These are the invertible variants {{{2 +" GEN_SYN_MNV: mnvOption invertible, START_STR='syn keyword mnvOption contained', END_STR='' +" termcap codes (which can also be set) {{{2 +" GEN_SYN_MNV: mnvOption term output code, START_STR='syn keyword mnvOption contained', END_STR='skipwhite nextgroup=mnvSetEqual,mnvSetMod' +" term key codes +syn keyword mnvOption contained t_F1 t_F2 t_F3 t_F4 t_F5 t_F6 t_F7 t_F8 t_F9 t_k1 t_K1 t_k2 t_k3 t_K3 t_k4 t_K4 t_k5 t_K5 t_k6 t_K6 t_k7 t_K7 t_k8 t_K8 t_k9 t_K9 t_KA t_kb t_kB t_KB t_KC t_kd t_kD t_KD t_KE t_KF t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ku +syn match mnvOption contained "t_%1" +syn match mnvOption contained "t_#2" +syn match mnvOption contained "t_#4" +syn match mnvOption contained "t_@7" +syn match mnvOption contained "t_*7" +syn match mnvOption contained "t_&8" +syn match mnvOption contained "t_%i" +syn match mnvOption contained "t_k;" + +" mnvOptions: These are the variable names {{{2 +" GEN_SYN_MNV: mnvOption normal variable, START_STR='syn keyword mnvOptionVarName contained', END_STR='' +" GEN_SYN_MNV: mnvOption term output code variable, START_STR='syn keyword mnvOptionVarName contained', END_STR='' +syn keyword mnvOptionVarName contained t_F1 t_F2 t_F3 t_F4 t_F5 t_F6 t_F7 t_F8 t_F9 t_k1 t_K1 t_k2 t_k3 t_K3 t_k4 t_K4 t_k5 t_K5 t_k6 t_K6 t_k7 t_K7 t_k8 t_K8 t_k9 t_K9 t_KA t_kb t_kB t_KB t_KC t_kd t_kD t_KD t_KE t_KF t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ku +syn match mnvOptionVarName contained "t_%1" +syn match mnvOptionVarName contained "t_#2" +syn match mnvOptionVarName contained "t_#4" +syn match mnvOptionVarName contained "t_@7" +syn match mnvOptionVarName contained "t_*7" +syn match mnvOptionVarName contained "t_&8" +syn match mnvOptionVarName contained "t_%i" +syn match mnvOptionVarName contained "t_k;" + +" unsupported settings: some were supported by vi but don't do anything in mnv {{{2 +" GEN_SYN_MNV: Missing mnvOption, START_STR='syn keyword mnvErrSetting contained', END_STR='' + +" AutoCmd Events {{{2 +syn case ignore +" GEN_SYN_MNV: mnvAutoEvent, START_STR='syn keyword mnvAutoEvent contained', END_STR='skipwhite nextgroup=mnvAutoEventSep,@mnvAutocmdPattern' + +syn keyword mnvAutoEvent contained User skipwhite nextgroup=mnvUserAutoEvent +syn match mnvUserAutoEvent contained "\<\h\w*\>" skipwhite nextgroup=mnvUserAutoEventSep,mnvAutocmdMod,mnvAutocmdBlock + +" Highlight commonly used Groupnames {{{2 +" GEN_SYN_MNV: mnvGroup, START_STR='syn keyword mnvGroup contained', END_STR='' + +" Default highlighting groups {{{2 +" GEN_SYN_MNV: mnvHLGroup, START_STR='syn keyword mnvHLGroup contained', END_STR='' +syn match mnvHLGroup contained "\" +syn case match + +" Function Names {{{2 +" GEN_SYN_MNV: mnvFuncName, START_STR='syn keyword mnvFuncName contained', END_STR='' + +" Predefined variable names {{{2 +" GEN_SYN_MNV: mnvVarName, START_STR='syn keyword mnvMNVVarName contained', END_STR='' + +"--- syntax here and above generated by runtime/syntax/generator/gen_syntax_mnv.mnv --- + +" Special MNV Highlighting (not automatic) {{{1 + +" Neomnv keyword list additions {{{2 + +if s:has("nmnv") + syn keyword mnvOptionVarName contained channel inccommand mousescroll pumblend redrawdebug scrollback shada shadafile statuscolumn termpastefilter termsync winbar winblend winhighlight + syn keyword mnvFuncName contained api_info buffer_exists buffer_name buffer_number chanclose chansend ctxget ctxpop ctxpush ctxset ctxsize dictwatcheradd dictwatcherdel file_readable highlight_exists highlightID jobclose jobpid jobresize jobsend jobstart jobstop jobwait last_buffer_nr menu_get msgpackdump msgpackparse reg_recorded rpcnotify rpcrequest rpcstart rpcstop serverstart serverstop sockconnect stdioopen stdpath termopen test_write_list_log wait + syn match mnvFuncName contained "\" + syn keyword mnvMNVVarName contained lua msgpack_types relnum stderr termrequest virtnum +endif + +" Set up commands for this syntax highlighting file {{{2 + +com! -nargs=* MNV9 execute s:mnv9script ? "" : "contained" +com! -nargs=* MNVL execute s:mnv9script ? "contained" : "" + +if exists("g:mnvsyn_folding") && g:mnvsyn_folding =~# '[acefhiHlmpPrt]' + if g:mnvsyn_folding =~# 'a' + com! -nargs=* MNVFolda fold + else + com! -nargs=* MNVFolda + endif + if g:mnvsyn_folding =~# 'c' + com! -nargs=* MNVFoldc fold + else + com! -nargs=* MNVFoldc + endif + if g:mnvsyn_folding =~# 'e' + com! -nargs=* MNVFolde fold + else + com! -nargs=* MNVFolde + endif + if g:mnvsyn_folding =~# 'f' + com! -nargs=* MNVFoldf fold + else + com! -nargs=* MNVFoldf + endif + if g:mnvsyn_folding =~# 'h' + com! -nargs=* MNVFoldh fold + else + com! -nargs=* MNVFoldh + endif + if g:mnvsyn_folding =~# 'H' + com! -nargs=* MNVFoldH fold + else + com! -nargs=* MNVFoldH + endif + if g:mnvsyn_folding =~# 'i' + com! -nargs=* MNVFoldi fold + else + com! -nargs=* MNVFoldi + endif + if g:mnvsyn_folding =~# 'l' + com! -nargs=* MNVFoldl fold + else + com! -nargs=* MNVFoldl + endif + if g:mnvsyn_folding =~# 'm' + com! -nargs=* MNVFoldm fold + else + com! -nargs=* MNVFoldm + endif + if g:mnvsyn_folding =~# 'p' + com! -nargs=* MNVFoldp fold + else + com! -nargs=* MNVFoldp + endif + if g:mnvsyn_folding =~# 'P' + com! -nargs=* MNVFoldP fold + else + com! -nargs=* MNVFoldP + endif + if g:mnvsyn_folding =~# 'r' + com! -nargs=* MNVFoldr fold + else + com! -nargs=* MNVFoldr + endif + if g:mnvsyn_folding =~# 't' + com! -nargs=* MNVFoldt fold + else + com! -nargs=* MNVFoldt + endif +else + com! -nargs=* MNVFolda + com! -nargs=* MNVFoldc + com! -nargs=* MNVFolde + com! -nargs=* MNVFoldf + com! -nargs=* MNVFoldi + com! -nargs=* MNVFoldh + com! -nargs=* MNVFoldH + com! -nargs=* MNVFoldl + com! -nargs=* MNVFoldm + com! -nargs=* MNVFoldp + com! -nargs=* MNVFoldP + com! -nargs=* MNVFoldr + com! -nargs=* MNVFoldt +endif + +" Deprecated variable options {{{2 +if exists("g:mnv_minlines") + let g:mnvsyn_minlines= g:mnv_minlines +endif +if exists("g:mnv_maxlines") + let g:mnvsyn_maxlines= g:mnv_maxlines +endif +if exists("g:mnvsyntax_noerror") + let g:mnvsyn_noerror= g:mnvsyntax_noerror +endif + +" Nulls {{{2 +" ===== +MNV9 syn keyword mnv9Null null null_blob null_channel null_class null_dict null_function null_job null_list null_object null_partial null_string null_tuple + +" Booleans {{{2 +" ======== +MNV9 syn keyword mnv9Boolean true false + +" Numbers {{{2 +" ======= +syn case ignore +syn match mnvNumber "\<\d\+\%('\d\+\)*" skipwhite nextgroup=@mnvComment,mnvSubscript,mnvGlobal,mnvSubst1 +syn match mnvNumber "\<\d\+\%('\d\+\)*\.\d\+\%(e[+-]\=\d\+\)\=" skipwhite nextgroup=@mnvComment +syn match mnvNumber "\<0b[01]\+\%('[01]\+\)*" skipwhite nextgroup=@mnvComment,mnvSubscript +syn match mnvNumber "\<0o\=\o\+\%('\o\+\)*" skipwhite nextgroup=@mnvComment,mnvSubscript +syn match mnvNumber "\<0x\x\+\%('\x\+\)*" skipwhite nextgroup=@mnvComment,mnvSubscript +syn match mnvNumber '\<0z\>' skipwhite nextgroup=@mnvComment +syn match mnvNumber '\<0z\%(\x\x\)\+\%(\.\%(\x\x\)\+\)*' skipwhite nextgroup=@mnvComment,mnvSubscript +syn case match + +" All mnvCommands are contained by mnvIsCommand. {{{2 +syn cluster mnvCmdList contains=mnvAbb,mnvAddress,mnvAt,mnvAutocmd,mnvAugroup,mnvBehave,mnvBreakadd,mnvBreakdel,mnvBreaklist,mnvCall,mnvCatch,mnvCd,mnvCommandModifier,mnvConst,mnvDoautocmd,mnvDebug,mnvDebuggreedy,mnvDef,mnvDefFold,mnvDefer,mnvDelcommand,mnvDelFunction,mnvDoCommand,@mnvEcho,mnvElse,mnvEnddef,mnvEndfunction,mnvEndif,mnvEval,mnvExecute,mnvIsCommand,mnvExtCmd,mnvExFilter,mnvExMark,mnvFiletype,mnvFor,mnvFunction,mnvFunctionFold,mnvGrep,mnvGrepAdd,mnvGlobal,mnvHelp,mnvHelpgrep,mnvHighlight,mnvHistory,mnvImport,mnvLanguage,mnvLet,mnvLoadkeymap,mnvLockvar,mnvMake,mnvMap,mnvMark,mnvMatch,mnvNotFunc,mnvNormal,mnvProfdel,mnvProfile,mnvPrompt,mnvRedir,mnvSet,mnvSleep,mnvSort,mnvSyntax,mnvSyntime,mnvSynColor,mnvSynLink,mnvTerminal,mnvThrow,mnvUniq,mnvUnlet,mnvUnlockvar,mnvUnmap,mnvUserCmd,mnvMNVgrep,mnvMNVgrepadd,mnvWincmd,mnvMenu,mnvMenutranslate,@mnv9CmdList,@mnvExUserCmdList,mnvLua,mnvMzScheme,mnvPerl,mnvPython,mnvPython3,mnvPythonX,mnvRuby,mnvTcl +syn cluster mnv9CmdList contains=mnv9Abstract,mnv9Class,mnv9Const,mnv9Enum,mnv9Export,mnv9Final,mnv9For,mnv9Interface,mnv9Type,mnv9Var +syn match mnvCmdSep "\\\@1" nextgroup=mnvBang contains=mnvCommand +syn match mnvBang contained "!" +syn match mnvWhitespace contained "\s\+" + +syn region mnvSubscript contained matchgroup=mnvSubscriptBracket start="\[" end="]" nextgroup=mnvSubscript contains=@mnvExprList + +syn match mnvVar contained "\<\h[a-zA-Z0-9#_]*\>" nextgroup=mnvSubscript contains=mnv9Super,mnv9This +syn match mnvVar "\<[bwglstav]:\h[a-zA-Z0-9#_]*\>" nextgroup=mnvSubscript contains=mnvVarScope +syn match mnvVar "\" nextgroup=mnvSubscript contains=mnvVarScope +syn match mnvFBVar contained "\<[bwglsta]:\h[a-zA-Z0-9#_]*\>" nextgroup=mnvSubscript contains=mnvVarScope + +" match the scope prefix independently of the retrofitted scope dictionary +syn match mnvVarScope contained "\<[bwglstav]:" +syn match mnvMNVVar contained "\<[bwglstav]:\%(\h\|\d\)\@!" nextgroup=mnvSubscript + +syn match mnvVarNameError contained "\<\h\w*\>" +syn match mnvMNVVar "\" contains=mnv9Super,mnv9This + +MNV9 syn match mnv9LhsVariableList "\[\_[^]]\+]\ze\s\+[-+/*%]\==" contains=mnvVar,@mnvSpecialVar +MNV9 syn match mnv9LhsVariableList "\[\_[^]]\+]\ze\s\+=<<" skipwhite nextgroup=mnvLetHeredoc contains=mnvVar,@mnvSpecialVar +MNV9 syn match mnv9LhsVariableList "\[\_[^]]\+]\ze\s\+\.\.=" contains=mnvVar,@mnvSpecialVar + +MNV9 syn match mnv9LhsRegister "@["0-9\-a-zA-Z#=*+_/]\ze\s\+\%(\.\.\)\==" + +syn cluster mnvExprList contains=@mnvSpecialVar,@mnvFunc,mnvNumber,mnvOper,mnvOperParen,mnvLambda,mnvString,mnvVar,@mnv9ExprList +syn cluster mnv9ExprList contains=mnv9Boolean,mnv9LambdaParams,mnv9Null + +" Insertions And Appends: insert append {{{2 +" (buftype != nofile test avoids having append, change, insert show up in the command window) +" ======================= +if &buftype != 'nofile' + syn region mnvInsert matchgroup=mnvCommand start="^[: \t]*\(\d\+\(,\d\+\)\=\)\=a\%[ppend]$" matchgroup=mnvCommand end="^\.$" extend + syn region mnvInsert matchgroup=mnvCommand start="^[: \t]*\(\d\+\(,\d\+\)\=\)\=c\%[hange]$" matchgroup=mnvCommand end="^\.$" extend + syn region mnvInsert matchgroup=mnvCommand start="^[: \t]*\(\d\+\(,\d\+\)\=\)\=i\%[nsert]$" matchgroup=mnvCommand end="^\.$" extend +endif + +" Behave! {{{2 +" ======= +if !exists("g:mnvsyn_noerror") && !exists("g:mnvsyn_nobehaveerror") + syn match mnvBehaveError contained "[^ ]\+" +endif +syn match mnvBehave "\" nextgroup=mnvBehaveBang,mnvBehaveModel,mnvBehaveError skipwhite +syn match mnvBehaveBang contained "\a\@1<=!" nextgroup=mnvBehaveModel skipwhite +syn keyword mnvBehaveModel contained mswin xterm + +" Break* commands {{{2 +" =============== +syn keyword mnvBreakaddFunc contained func skipwhite nextgroup=mnvBreakpointFunctionLine,mnvBreakpointFunction +syn keyword mnvBreakaddFile contained file skipwhite nextgroup=mnvBreakpointFileLine,mnvBreakpointFilename +syn keyword mnvBreakaddHere contained here skipwhite nextgroup=mnvComment,mnv9Comment,mnvSep +syn keyword mnvBreakaddExpr contained expr skipwhite nextgroup=@mnvExprList + +syn match mnvBreakpointGlob contained "*" skipwhite nextgroup=mnvComment,mnv9Comment,mnvSep +syn match mnvBreakpointNumber contained "\<\d\+\>" skipwhite nextgroup=mnvComment,mnv9Comment,mnvSep + +syn cluster mnvBreakpointArg contains=mnvBreakaddFunc,mnvBreakaddFile,mnvBreakaddHere,mnvBreakaddExpr + +syn match mnvBreakpointFunction contained "\<\%(\*\|\w\)\+\>" skipwhite nextgroup=mnvComment,mnv9Comment,mnvSep +syn match mnvBreakpointFilename contained "\<\%(\*\|\f\)\+\>" skipwhite nextgroup=mnvComment,mnv9Comment,mnvSep +syn match mnvBreakpointFunctionLine contained "\<\d\+\>" skipwhite nextgroup=mnvBreakpointFunction +syn match mnvBreakpointFileLine contained "\<\d\+\>" skipwhite nextgroup=mnvBreakpointFilename + +syn keyword mnvBreakadd breaka[dd] skipwhite nextgroup=@mnvBreakpointArg +syn keyword mnvBreakdel breakd[el] skipwhite nextgroup=@mnvBreakpointArg,mnvBreakpointNumber,mnvBreakpointGlob +syn keyword mnvBreaklist breakl[ist] skipwhite nextgroup=mnvComment,mnv9Comment,mnvSep + +" Call {{{2 +" ==== +syn match mnvCall "\" skipwhite nextgroup=mnvVar,@mnvFunc + +" Cd: {{{2 +" == +" GEN_SYN_MNV: mnvCommand cd, START_STR='syn keyword mnvCd', END_STR='skipwhite nextgroup=mnvCdBang,mnvCdArg,mnvComment,mnv9Comment,mnvCmdSep' +syn match mnvCd "\" skipwhite nextgroup=mnvCdBang,mnvCdArg,mnvComment,mnv9Comment,mnvCmdSep +syn region mnvCdArg contained + \ start=+["#|]\@!\S+ + \ end="\ze\s*$" + \ end=+\ze\s*\\\@1" contains=mnvCount + +" Defer {{{2 +" ===== +syn match mnvDefer "\" skipwhite nextgroup=@mnvFunc,mnv9LambdaParams + +" *Do commands {{{2 +" ============ +syn match mnvDoCommandBang contained "\a\@1<=!" skipwhite nextgroup=@mnvCmdList + +syn keyword mnvDoCommand argdo bufd[o] skipwhite nextgroup=mnvDoCommandBang,@mnvCmdList +syn keyword mnvDoCommand tabd[o] wind[o] skipwhite nextgroup=@mnvCmdList +syn keyword mnvDoCommand cdo cfd[o] skipwhite nextgroup=mnvDoCommandBang,@mnvCmdList +syn keyword mnvDoCommand ld[o] lfd[o] skipwhite nextgroup=mnvDoCommandBang,@mnvCmdList +syn keyword mnvDoCommand foldd[oopen] folddoc[losed] skipwhite nextgroup=@mnvCmdList + +" Exception Handling {{{2 +syn keyword mnvThrow th[row] skipwhite nextgroup=@mnvExprList +syn keyword mnvCatch cat[ch] skipwhite nextgroup=mnvCatchPattern +syn region mnvCatchPattern contained matchgroup=Delimiter start="\z([!#$%&'()*+,-./:;<=>?@[\]^_`{}~]\)" skip="\\\\\|\\\z1" end="\z1" contains=@mnvSubstList oneline + +" Export {{{2 +" ====== +if s:mnv9script + syn keyword mnv9Export export skipwhite nextgroup=mnv9Abstract,mnv9ClassBody,mnv9Const,mnv9Def,mnv9EnumBody,mnv9Final,mnv9InterfaceBody,mnv9Type,mnv9Var +endif + +" Filetypes {{{2 +" ========= +syn match mnvFiletype "\]" skipwhite nextgroup=mnvHistoryRange,mnvCmdSep,mnvComment,mnv9Comment +syn match mnvHistoryRange contained "-\=\<\d\+\>\%(\s*,\)\=" skipwhite nextgroup=mnvCmdSep,mnvComment,mnv9Comment +syn match mnvHistoryRange contained ",\s*-\=\d\+\>" skipwhite nextgroup=mnvCmdSep,mnvComment,mnv9Comment +syn match mnvHistoryRange contained "-\=\<\d\+\s*,\s*-\=\d\+\>" skipwhite nextgroup=mnvCmdSep,mnvComment,mnv9Comment + +" Import {{{2 +" ====== +syn keyword mnvImportAutoload contained autoload skipwhite nextgroup=mnvImportFilename +if s:mnv9script + syn region mnvImportFilename contained + \ start="\S" + \ skip=+\%#=1 + "\ continuation operators at SOL + \\n\%(\s*#.*\n\)*\s*\%([[:punct:]]\+\&[^#"'(]\) + \\| + "\ continuation operators at EOL + \\%(\%([[:punct:]]\+\&[^#"')]\)\s*\%(#.*\)\=\)\@<=$ + \\| + \\n\%(\s*#.*\n\)*\s*as\s + \\| + \\%(^\s*#.*\)\@<=$ + \\| + \\n\s*\%(\\\|#\\ \) + \+ + \ matchgroup=mnvCommand + \ end="\s\+\zsas\ze\s\+\h" + \ matchgroup=NONE + \ end="$" + \ skipwhite nextgroup=mnvImportName + \ contains=@mnv9Continue,@mnvExprList,mnv9Comment + \ transparent +else + syn region mnvImportFilename contained + \ start="\S" + \ skip=+\n\s*\%(\\\|"\\ \)+ + \ matchgroup=mnvCommand + \ end="\s\+\zsas\ze\s\+\h" + \ matchgroup=NONE + \ end="$" + \ skipwhite nextgroup=mnvImportName + \ contains=@mnvContinue,@mnvExprList + \ transparent +endif +syn match mnvImportName contained "\%(\" skipwhite nextgroup=@mnvComment +syn match mnvImport "\" skipwhite nextgroup=mnvImportAutoload,mnvImportFilename + +" Language {{{2 +" ======== +syn keyword mnvLanguage lan[guage] skipwhite nextgroup=@mnvLanguageName,mnvLanguageCategory,mnvSep,mnvComment,mnv9Comment +syn keyword mnvLanguageCategory contained col[late] cty[pe] mes[sages] tim[e] skipwhite nextgroup=@mnvLanguageName + +" [language[_territory][.codeset][@modifier]] and the reserved "C" and "POSIX" +syn match mnvLanguageName contained "[[:alnum:]][[:alnum:]._@-]*[[:alnum:]]" nextgroup=mnvSep,mnvComment,mnv9Comment +syn keyword mnvLanguageNameReserved contained C POSIX nextgroup=mnvSep,mnvComment,mnv9Comment +syn cluster mnvLanguageName contains=mnvLanguageName,mnvLanguageNameReserved + +" Augroup : mnvAugroupError removed because long augroups caused sync'ing problems. {{{2 +" ======= : Trade-off: Increasing synclines with slower editing vs augroup END error checking. +syn cluster mnvAugroupList contains=@mnvCmdList,mnvFilter,@mnvFunc,mnvLineComment,mnvSpecFile,mnvOper,mnvNumber,mnvOperParen,@mnvComment,mnvString,mnvSubst,mnvRegister,mnvCmplxRepeat,mnvNotation,mnvCtrlChar,mnvContinue + +" define +MNVFolda syn region mnvAugroup + \ start="\\ze\s\+\%([eE][nN][dD]\%($\|[[:space:]|"#]\)\)\@!\S" + \ matchgroup=mnvAugroupKey + \ end="\" skipwhite nextgroup=mnvCmdSep,mnvComment +syn match mnvAugroupBang contained "\a\@1<=!" skipwhite nextgroup=mnvAugroupName +syn keyword mnvAugroupKey contained aug[roup] skipwhite nextgroup=mnvAugroupBang,mnvAugroupName,mnvAugroupEnd + +" remove +syn match mnvAugroup "\\ze\s*\%(["|]\|$\)" skipwhite nextgroup=mnvCmdSep,mnvComment contains=mnvAugroupKey +MNV9 syn match mnvAugroup "\\ze\s*\%([#|]\|$\)" skipwhite nextgroup=mnvCmdSep,mnv9Comment contains=mnvAugroupKey + +" Operators: {{{2 +" ========= +syn cluster mnvOperGroup contains=@mnvContinue,@mnvExprList,mnv9Comment,mnv9LineComment,mnvContinueString +syn match mnvOper "\a\@=\|<=\|=\~\|!\~\|>\|<\)[?#]\=" skipwhite skipnl nextgroup=@mnvOperContinue,@mnvExprList,mnvContinueString,mnvSpecFile +syn match mnvOper "\" skipwhite skipnl nextgroup=@mnvOperContinue,@mnvExprList,mnvContinueString,mnvSpecFile +syn match mnvOper "\" skipwhite nextgroup=@mnvExprList +syn region mnvLambda contained + \ matchgroup=mnvLambdaBrace + \ start=+{\ze[[:space:][:alnum:]_.,]*\%(\n\s*\%(\\[[:space:][:alnum:]_.,]*\|"\\ .*\)\)*->+ + \ skip=+\n\s*\%(\\\|"\\ \)+ + \ end="}" end="$" + \ contains=@mnvContinue,@mnvExprList,mnvLambdaParams +syn match mnvLambdaParams contained "\%({\n\=\)\@1<=\_.\{-}\%(->\)\@=" nextgroup=mnvLambdaOperator contains=@mnvContinue,mnvFunctionParam + +syn match mnv9LambdaOperator contained "=>" skipwhite skipempty nextgroup=@mnvExprList,mnv9LambdaBlock,mnv9LambdaOperatorComment +syn match mnv9LambdaParen contained "[()]" +syn match mnv9LambdaParams contained + \ "(\%(\" + \ skipwhite nextgroup=mnv9LambdaOperator + \ contains=@mnv9Continue,mnvDefParam,mnv9LambdaParen,mnv9LambdaReturnType +syn region mnv9LambdaReturnType contained start=")\@<=:\s" end="\ze\s*#" end="\ze\s*=>" contains=@mnv9Continue,@mnvType transparent +syn region mnv9LambdaBlock contained matchgroup=mnvSep start="{" end="^\s*\zs}" contains=@mnvDefBodyList + +syn match mnv9LambdaOperatorComment contained "#.*" skipwhite skipempty nextgroup=@mnvExprList,mnv9LambdaBlock,mnv9LambdaOperatorComment + +" Functions: Tag is provided for those who wish to highlight tagged functions {{{2 +" ========= +syn cluster mnvFunctionBodyCommon contains=@mnvCmdList,mnvCmplxRepeat,mnvContinue,mnvCtrlChar,mnvDef,mnvFBVar,mnvFunction,mnvNotFunc,mnvNumber,mnvOper,mnvOperParen,mnvRegister,mnvSpecFile,mnvString,mnvSubst,mnvFunctionFold,mnvDefFold,mnvCmdSep +syn cluster mnvFunctionBodyList contains=@mnvFunctionBodyCommon,mnvComment,mnvLineComment,mnvInsert,mnvConst,mnvLet,mnvSearch +syn cluster mnvDefBodyList contains=@mnvFunctionBodyCommon,mnv9Comment,mnv9LineComment,mnv9Block,mnv9Const,mnv9Final,mnv9Var,mnv9Null,mnv9Boolean,mnv9For,mnv9LhsVariable,mnv9LhsVariableList,mnv9LhsRegister,mnv9Search,@mnvSpecialVar,@mnv9Func + +syn region mnvFunctionPattern contained + \ matchgroup=mnvOper + \ start="/" + \ end="$" + \ contains=@mnvSubstList + +syn match mnvFunctionBang contained "\a\@1<=!" skipwhite nextgroup=mnvFunctionName +syn match mnvDefBang contained "\a\@1<=!" skipwhite nextgroup=mnvDefName +syn match mnvFunctionSID contained "\c" +syn match mnvFunctionScope contained "\<[bwglstav]:" +syn match mnvFunctionName contained + \ "\%(<[sS][iI][dD]>\|[bwglstav]:\)\=\%([[:alnum:]_#.]\+\|{.\{-1,}}\)\+" + \ skipwhite nextgroup=mnvFunctionParams,mnvCmdSep,mnvComment,mnv9Comment + \ contains=mnvFunctionError,mnvFunctionScope,mnvFunctionSID,Tag +syn match mnvDefName contained + \ "\%(<[sS][iI][dD]>\|[bwglstav]:\)\=\%([[:alnum:]_#.]\+\|{.\{-1,}}\)\+" + \ nextgroup=mnvDefTypeParams,mnvDefParams,mnvCmdSep,mnvComment,mnv9Comment + \ contains=mnvFunctionError,mnvFunctionScope,mnvFunctionSID,Tag + +syn match mnvFunction "\" skipwhite nextgroup=mnvFunctionBang,mnvFunctionName,mnvFunctionPattern,mnvCmdSep,mnvComment +syn match mnvDef "\" skipwhite nextgroup=mnvDefBang,mnvDefName,mnvFunctionPattern,mnvCmdSep,mnvComment + +syn region mnvFunctionComment contained + \ start=+".*+ + \ skip=+\n\s*\%(\\\|"\\ \)+ + \ end="$" + \ skipwhite skipempty nextgroup=mnvFunctionBody,mnvEndfunction +syn region mnvDefComment contained + \ start="#.*" + \ skip=+\n\s*\%(\\\|#\\ \)+ + \ end="$" + \ skipwhite skipempty nextgroup=mnvDefBody,mnvEnddef + +syn region mnvFunctionParams contained + \ matchgroup=Delimiter + \ start="(" + \ skip=+\n\s*\%(\\\|"\\ \)+ + \ end=")" + \ skipwhite skipempty nextgroup=mnvFunctionBody,mnvFunctionComment,mnvEndfunction,mnvFunctionMod,mnv9CommentError + \ contains=mnvFunctionParam,mnvOperParen,@mnvContinue +syn region mnvDefParams contained + \ matchgroup=Delimiter + \ start="(" + \ end=")" + \ skipwhite skipempty nextgroup=mnvDefBody,mnvDefComment,mnvEnddef,mnvReturnType,mnvCommentError + \ contains=mnvDefParam,mnv9Comment,mnvFunctionParamEquals,mnvOperParen +syn region mnvDefTypeParams contained + \ matchgroup=Delimiter + \ start="<" + \ end=">" + \ nextgroup=mnvDefParams + \ contains=mnv9DefTypeParam +syn match mnvFunctionParam contained "\<\h\w*\>\|\.\.\." skipwhite nextgroup=mnvFunctionParamEquals +syn match mnvDefParam contained "\<\h\w*\>" skipwhite nextgroup=mnvParamType,mnvFunctionParamEquals +syn match mnv9DefTypeParam contained "\<\u\w*\>" + +syn match mnvFunctionParamEquals contained "=" skipwhite nextgroup=@mnvExprList +syn match mnvFunctionMod contained "\<\%(abort\|closure\|dict\|range\)\>" skipwhite skipempty nextgroup=mnvFunctionBody,mnvFunctionComment,mnvEndfunction,mnvFunctionMod,mnv9CommentError + +syn region mnvFunctionBody contained + \ start="^." + \ matchgroup=mnvCommand + \ end="\" + \ skipwhite nextgroup=mnvCmdSep,mnvComment,mnv9CommentError + \ contains=@mnvFunctionBodyList +syn region mnvDefBody contained + \ start="^." + \ matchgroup=mnvCommand + \ end="\" + \ skipwhite nextgroup=mnvCmdSep,mnv9Comment,mnvCommentError + \ contains=@mnvDefBodyList + +syn match mnvEndfunction "\" skipwhite nextgroup=mnvCmdSep,mnvComment,mnv9CommentError +syn match mnvEnddef "\" skipwhite nextgroup=mnvCmdSep,mnv9Comment,mnvCommentError + +if exists("g:mnvsyn_folding") && g:mnvsyn_folding =~# 'f' + syn region mnvFunctionFold + \ start="\" skipwhite nextgroup=mnvDelfunctionBang,mnvFunctionName + +" Types: {{{2 +" ===== + +syn region mnvReturnType contained + \ start=":\%(\s\|\n\)\@=" + \ skip=+\n\s*\%(\\\|#\\ \)\|^\s*#\\ + + \ end="$" + \ matchgroup=mnv9Comment + "\ allow for legacy script tail comment error + \ end="\ze[#"]" + \ skipwhite skipempty nextgroup=mnvDefBody,mnvDefComment,mnvEnddef,mnvCommentError + \ contains=@mnv9Continue,@mnvType + \ transparent +syn match mnvParamType contained ":\s" skipwhite skipnl nextgroup=@mnvType contains=mnvTypeSep + +syn match mnvTypeSep contained ":\%(\s\|\n\)\@=" skipwhite nextgroup=@mnvType +syn keyword mnvType contained blob bool channel float job number string void +syn keyword mnvTypeAny contained any +syn match mnvTypeObject contained "\" +syn region mnvCompoundType contained matchgroup=mnvType start="\" + +syn cluster mnvType contains=mnvType,mnvTypeAny,mnvTypeObject,mnvCompoundType,mnvUserType + +" Classes, Enums And Interfaces: {{{2 +" ============================= + +if s:mnv9script + + " Methods {{{3 + syn match mnv9MethodDef contained "\" skipwhite nextgroup=mnv9MethodDefName,mnv9ConstructorDefName + syn match mnv9MethodDefName contained "\<\h\w*\>" nextgroup=mnv9MethodDefParams,mnv9MethodDefTypeParams contains=@mnv9MethodName + syn region mnv9MethodDefParams contained + \ matchgroup=Delimiter start="(" end=")" + \ skipwhite skipnl nextgroup=mnv9MethodDefBody,mnv9MethodDefComment,mnvEnddef,mnv9MethodDefReturnType,mnvCommentError + \ contains=mnvDefParam,mnv9Comment,mnvFunctionParamEquals + syn region mnv9MethodDefTypeParams contained + \ matchgroup=Delimiter + \ start="<" + \ end=">" + \ nextgroup=mnv9MethodDefParams + \ contains=mnv9DefTypeParam + + syn match mnv9ConstructorDefName contained "\<_\=new\w*\>" + \ nextgroup=mnv9ConstructorDefParams,mnv9ConstuctorDefTypeParams + \ contains=@mnv9MethodName + syn match mnv9ConstructorDefParam contained "\<\%(this\.\)\=\h\w*\>" + \ skipwhite nextgroup=mnvParamType,mnvFunctionParamEquals + \ contains=mnv9This,mnvOper + syn region mnv9ConstructorDefParams contained + \ matchgroup=Delimiter start="(" end=")" + \ skipwhite skipnl nextgroup=mnv9MethodDefBody,mnv9MethodDefComment,mnvEnddef,mnvCommentError + \ contains=mnv9ConstructorDefParam,mnv9Comment,mnvFunctionParamEquals + syn region mnv9ConstuctorDefTypeParams contained + \ matchgroup=Delimiter + \ start="<" + \ end=">" + \ nextgroup=mnv9ConstructorDefParams + \ contains=mnv9DefTypeParam + + syn region mnv9MethodDefReturnType contained + \ start=":\%(\s\|\n\)\@=" + \ skip=+\n\s*\%(\\\|#\\ \)\|^\s*#\\ + + \ end="$" + \ matchgroup=mnv9Comment + \ end="\ze#" + \ skipwhite skipnl nextgroup=mnv9MethodDefBody,mnv9MethodDefComment,mnvEnddef,mnvCommentError + \ contains=@mnv9Continue,mnvType,mnvTypeSep + \ transparent + + syn region mnv9MethodDefComment contained + \ start="#.*" + \ skip=+\n\s*\%(\\\|#\\ \)+ + \ end="$" + \ skipwhite skipempty nextgroup=mnv9MethodDefBody,mnvEnddef + + syn region mnv9MethodDefBody contained + \ start="^.\=" matchgroup=mnvCommand end="\" + \ skipwhite nextgroup=mnvCmdSep,mnv9Comment,mnvCommentError + \ contains=@mnv9MethodDefBodyList + + syn cluster mnv9MethodDefBodyList contains=@mnvDefBodyList,mnv9This,mnv9Super + + if !exists("g:mnvsyn_noerror") && !exists("g:mnvsyn_nomnvfunctionerror") + syn match mnv9MethodNameError contained "\<[a-z0-9]\i\>" + endif + syn match mnv9MethodName contained "\<_\=new\w*\>" + syn keyword mnv9MethodName contained empty len string + + syn cluster mnv9MethodName contains=mnv9MethodName,mnv9MethodNameError + + if exists("g:mnvsyn_folding") && g:mnvsyn_folding =~# 'f' + syn region mnv9MethodDefFold contained + \ start="\%(^\s*\%(:\=static\s\+\)\=\)\@16<=:\=def\s\+\h\w*[<(]" + \ end="^\s*:\=enddef\>" + \ contains=mnv9MethodDef + \ fold keepend extend transparent + endif + + syn cluster mnv9MethodDef contains=mnv9MethodDef,mnv9MethodDefFold + + " Classes {{{3 + syn cluster mnv9ClassBodyList contains=mnv9Abstract,mnv9Class,mnv9Comment,mnv9LineComment,@mnv9Continue,@mnvExprList,mnv9Extends,mnv9Implements,@mnv9MethodDef,mnv9Public,mnv9Static,mnv9Const,mnv9Final,mnv9This,mnv9Super,mnv9Var + + syn match mnv9Class contained "\" skipwhite nextgroup=mnv9ClassName + syn match mnv9ClassName contained "\<\u\w*\>" skipwhite skipnl nextgroup=mnv9Extends,mnv9Implements + syn match mnv9SuperClass contained "\<\u\w*\>" skipwhite skipnl nextgroup=mnv9Implements + syn match mnv9ImplementedInterface contained "\<\u\w*\>" skipwhite skipnl nextgroup=mnv9InterfaceListComma,mnv9Extends + syn match mnv9InterfaceListComma contained "," skipwhite skipnl nextgroup=mnv9ImplementedInterface + syn keyword mnv9Abstract abstract skipwhite skipnl nextgroup=mnv9ClassBody,mnv9AbstractDef + syn keyword mnv9Extends contained extends skipwhite skipnl nextgroup=mnv9SuperClass + syn keyword mnv9Implements contained implements skipwhite skipnl nextgroup=mnv9ImplementedInterface + syn keyword mnv9Public contained public + syn keyword mnv9Static contained static + " FIXME: don't match as dictionary keys, remove when operators are not + " shared between MNV9 and legacy script + syn match mnv9This contained "\.\@1:\@!" + " super must be followed by '.' + syn match mnv9Super contained "\.\@1" matchgroup=mnvCommand end="\" contains=@mnv9ClassBodyList transparent + + " Enums {{{3 + syn cluster mnv9EnumBodyList contains=mnv9Comment,mnv9LineComment,@mnv9Continue,mnv9Enum,@mnvExprList,@mnv9MethodDef,mnv9Public,mnv9Static,mnv9Const,mnv9Final,mnv9This,mnv9Var + + syn match mnv9Enum contained "\" skipwhite nextgroup=mnv9EnumName + + syn match mnv9EnumName contained "\<\u\w*\>" skipwhite skipempty nextgroup=mnv9EnumNameTrailing,mnv9EnumNameEmpty,mnv9EnumNameComment,@mnv9EnumNameContinue,mnv9EnumImplements + syn match mnv9EnumNameTrailing contained "\S.*" + syn region mnv9EnumNameComment contained + \ start="#" skip="\n\s*\%(\\\|#\\ \)" end="$" + \ skipwhite skipempty nextgroup=mnv9EnumNameComment,mnv9EnumValue + \ contains=@mnvCommentGroup,mnvCommentString + " mnv9EnumName's "skipempty" should only apply to comments and enum values and not implements clauses + syn match mnv9EnumNameEmpty contained "^" skipwhite skipempty nextgroup=mnv9EnumNameComment,mnv9EnumValue + " allow line continuation between enum name and "implements" + syn match mnv9EnumNameContinue contained + \ "^\s*\\" + \ skipwhite skipnl nextgroup=mnv9EnumNameTrailing,mnv9EnumNameEmpty,mnv9EnumNameComment,@mnv9EnumNameContinue,mnv9EnumImplements + \ contains=mnvWhitespace + syn match mnv9EnumNameContinueComment contained + \ "^\s*#\\ .*" + \ skipwhite skipnl nextgroup=mnv9EnumNameEmpty,mnv9EnumNameComment,@mnv9EnumNameContinue + \ contains=mnvWhitespace + syn cluster mnv9EnumNameContinue contains=mnv9EnumNameContinue,mnv9EnumNameContinueComment + + " enforce enum value list location + syn match mnv9EnumValue contained "\<\a\w*\>" nextgroup=mnv9EnumValueTypeArgs,mnv9EnumValueArgList,mnv9EnumValueListComma,mnv9Comment + syn match mnv9EnumValueListComma contained "," skipwhite skipempty nextgroup=mnv9EnumValue,mnv9EnumValueListCommaComment + syn region mnv9EnumValueListCommaComment contained + \ start="#" skip="\n\s*\%(\\\|#\\ \)" end="$" + \ skipwhite skipempty nextgroup=mnv9EnumValueListCommaComment,mnv9EnumValue + \ contains=@mnvCommentGroup,mnvCommentString + syn region mnv9EnumValueTypeArgs contained + \ matchgroup=Delimiter + \ start="<\ze\a" + \ end=">" + \ nextgroup=mnv9EnumValueArgList + \ contains=@mnvType + \ oneline + syn region mnv9EnumValueArgList contained + \ matchgroup=mnvParenSep start="(" end=")" + \ nextgroup=mnv9EnumValueListComma + \ contains=@mnvExprList,mnvContinueString,mnv9Comment + + syn keyword mnv9EnumImplements contained implements skipwhite nextgroup=mnv9EnumImplementedInterface + syn match mnv9EnumImplementedInterface contained "\<\u\w*\>" skipwhite skipnl nextgroup=mnv9EnumInterfaceListComma,mnv9EnumImplementedInterfaceComment,mnv9EnumValue + syn match mnv9EnumInterfaceListComma contained "," skipwhite nextgroup=mnv9EnumImplementedInterface + syn region mnv9EnumImplementedInterfaceComment contained + \ start="#" skip="\n\s*\%(\\\|#\\ \)" end="$" + \ skipwhite skipempty nextgroup=mnv9EnumImplementedInterfaceComment,mnv9EnumValue + \ contains=@mnvCommentGroup,mnvCommentString + + MNVFolde syn region mnv9EnumBody start="\" matchgroup=mnvCommand end="\" contains=@mnv9EnumBodyList transparent + + " Interfaces {{{3 + " TODO: limit to decl only - no init values + syn cluster mnv9InterfaceBodyList contains=mnv9Comment,mnv9LineComment,@mnv9Continue,mnv9Extends,mnv9Interface,mnv9AbstractDef,mnv9Var + + syn match mnv9Interface contained "\" skipwhite nextgroup=mnv9InterfaceName + syn match mnv9InterfaceName contained "\<\u\w*\>" skipwhite skipnl nextgroup=mnv9Extends + + syn keyword mnv9AbstractDef contained def skipwhite nextgroup=mnv9AbstractDefName + syn match mnv9AbstractDefName contained "\<\h\w*\>" skipwhite nextgroup=mnv9AbstractDefParams,mnv9AbstractDefTypeParams contains=@mnv9MethodName + syn region mnv9AbstractDefParams contained + \ matchgroup=Delimiter start="(" end=")" + \ skipwhite skipnl nextgroup=mnvDefComment,mnv9AbstractDefReturnType,mnvCommentError + \ contains=mnvDefParam,mnv9Comment,mnvFunctionParamEquals + syn region mnv9AbstractDefReturnType contained + \ start=":\s" end="$" matchgroup=mnv9Comment end="\ze[#"]" + \ skipwhite skipnl nextgroup=mnvDefComment,mnvCommentError + \ contains=mnvTypeSep + \ transparent + syn region mnv9AbstractDefTypeParams contained + \ matchgroup=Delimiter + \ start="<" + \ end=">" + \ nextgroup=mnv9AbstractDefParams + \ contains=mnv9DefTypeParam + + MNVFoldi syn region mnv9InterfaceBody start="\" matchgroup=mnvCommand end="\" contains=@mnv9InterfaceBodyList transparent + + " Type Aliases {{{3 + syn match mnv9Type "\" skipwhite nextgroup=mnv9TypeAlias,mnv9TypeAliasError + syn match mnv9TypeAlias contained "\<\u\w*\>" skipwhite nextgroup=mnv9TypeEquals + syn match mnv9TypeEquals contained "=" skipwhite nextgroup=@mnvType + if !exists("g:mnvsyn_noerror") && !exists("g:mnvsyn_notypealiaserror") + syn match mnv9TypeAliasError contained "\<\l\w*\>" skipwhite nextgroup=mnv9TypeEquals + endif +endif + +" Blocks: {{{2 +" ====== +MNV9 syn region mnv9Block + \ matchgroup=mnvSep + \ start="{\ze\s*\%($\|[#|]\)" + \ end="^\s*\zs}" + \ skipwhite nextgroup=mnv9Comment,mnvCmdSep + \ contains=@mnvDefBodyList + +" Keymaps: {{{2 +" ======= + +syn match mnvKeymapStart "^" contained skipwhite nextgroup=mnvKeymapLhs,@mnvKeymapLineComment +syn match mnvKeymapLhs "\S\+" contained skipwhite nextgroup=mnvKeymapRhs contains=mnvNotation +syn match mnvKeymapRhs "\S\+" contained skipwhite nextgroup=mnvKeymapTailComment contains=mnvNotation +syn match mnvKeymapTailComment "\S.*" contained + +" TODO: remove when :" comment is matched in parts as "ex-colon comment" --djk +if s:mnv9script + syn match mnv9KeymapLineComment "#.*" contained contains=@mnvCommentGroup,mnvCommentString,mnv9CommentTitle +else + syn match mnvKeymapLineComment +".*+ contained contains=@mnvCommentGroup,mnvCommentString,mnvCommentTitle +endif +syn cluster mnvKeymapLineComment contains=mnv9\=KeymapLineComment + +syn region mnvLoadkeymap matchgroup=mnvCommand start="\" end="\%$" contains=mnvKeymapStart + +" Special Filenames, Modifiers, Extension Removal: {{{2 +" =============================================== +syn match mnvSpecFile "" nextgroup=mnvSpecFileMod,mnvSubst1 +syn match mnvSpecFile "<\([acs]file\|amatch\|abuf\)>" nextgroup=mnvSpecFileMod,mnvSubst1 +syn match mnvSpecFile "\s%[ \t:]"ms=s+1,me=e-1 nextgroup=mnvSpecFileMod,mnvSubst1 +syn match mnvSpecFile "\s%$"ms=s+1 nextgroup=mnvSpecFileMod,mnvSubst1 +syn match mnvSpecFile "\s%<"ms=s+1,me=e-1 nextgroup=mnvSpecFileMod,mnvSubst1 +syn match mnvSpecFile "#\d\+\|[#%]<\>" nextgroup=mnvSpecFileMod,mnvSubst1 +syn match mnvSpecFileMod "\(:[phtre]\)\+" contained + +syn match mnvSpecFile contained "%[ \t:]"me=e-1 nextgroup=mnvSpecFileMod +syn match mnvSpecFile contained excludenl "%$" nextgroup=mnvSpecFileMod +syn match mnvSpecFile contained "%<"me=e-1 nextgroup=mnvSpecFileMod + +" User-Specified Commands: {{{2 +" ======================= +syn cluster mnvUserCmdList contains=@mnvCmdList,mnvCmplxRepeat,@mnvComment,mnvCtrlChar,mnvEscapeBrace,@mnvFunc,mnvNotation,mnvNumber,mnvOper,mnvRegister,mnvSpecFile,mnvString,mnvSubst,mnvSubstRep,mnvSubstRange + +syn match mnvUserCmd "\!\=" skipwhite nextgroup=mnvUserCmdAttrs,mnvUserCmdName contains=mnvBang +syn match mnvUserCmd +\!\=\ze\s*\n\s*\%(\\\|["#]\\ \)+ skipwhite skipnl nextgroup=mnvUserCmdAttrs,mnvUserCmdName contains=mnvBang + +syn region mnvUserCmdAttrs contained + \ start="-\l" + \ start=+^\s*\%(\\\|["#]\\ \)+ + \ end="\ze\s\u" + \ skipwhite nextgroup=mnvUserCmdName + \ contains=@mnvContinue,mnvUserCmdAttr,mnvUserCmdAttrError + \ transparent +syn match mnvUserCmdAttrError contained "-\a\+\ze\%(\s\|=\)" +syn match mnvUserCmdAttr contained "-addr=" contains=mnvUserCmdAttrKey nextgroup=mnvUserCmdAttrAddr +syn match mnvUserCmdAttr contained "-bang\>" contains=mnvUserCmdAttrKey +syn match mnvUserCmdAttr contained "-bar\>" contains=mnvUserCmdAttrKey +syn match mnvUserCmdAttr contained "-buffer\>" contains=mnvUserCmdAttrKey +syn match mnvUserCmdAttr contained "-complete=" contains=mnvUserCmdAttrKey nextgroup=mnvUserCmdAttrComplete,mnvUserCmdError +syn match mnvUserCmdAttr contained "-count\>" contains=mnvUserCmdAttrKey +syn match mnvUserCmdAttr contained "-count=" contains=mnvUserCmdAttrKey nextgroup=mnvNumber +syn match mnvUserCmdAttr contained "-keepscript\>" contains=mnvUserCmdAttrKey +syn match mnvUserCmdAttr contained "-nargs=" contains=mnvUserCmdAttrKey nextgroup=mnvUserCmdAttrNargs +syn match mnvUserCmdAttr contained "-range\>" contains=mnvUserCmdAttrKey +syn match mnvUserCmdAttr contained "-range=" contains=mnvUserCmdAttrKey nextgroup=mnvNumber,mnvUserCmdAttrRange +syn match mnvUserCmdAttr contained "-register\>" contains=mnvUserCmdAttrKey + +syn match mnvUserCmdAttrNargs contained "[01*?+]" +syn match mnvUserCmdAttrRange contained "%" + +if !exists("g:mnvsyn_noerror") && !exists("g:mnvsyn_nousercmderror") + syn match mnvUserCmdError contained "\S\+\>" +endif + +syn case ignore +syn keyword mnvUserCmdAttrKey contained a[ddr] ban[g] bar bu[ffer] com[plete] cou[nt] k[eepscript] n[args] ra[nge] re[gister] + +" GEN_SYN_MNV: mnvUserCmdAttrComplete, START_STR='syn keyword mnvUserCmdAttrComplete contained', END_STR='' +syn keyword mnvUserCmdAttrComplete contained arglist augroup behave breakpoint buffer color command compiler cscope diff_buffer dir dir_in_path environment event expression file file_in_path filetype function help highlight history keymap locale mapclear mapping menu messages option packadd runtime scriptnames shellcmd shellcmdline sign syntax syntime tag tag_listfiles user var +syn keyword mnvUserCmdAttrComplete contained custom customlist nextgroup=mnvUserCmdAttrCompleteFunc,mnvUserCmdError +syn match mnvUserCmdAttrCompleteFunc contained ",\%([bwglstav]:\|<[sS][iI][dD]>\)\=\h\w*\%([.#]\h\w*\)*"hs=s+1 nextgroup=mnvUserCmdError contains=mnvVarScope,mnvFunctionSID + +" GEN_SYN_MNV: mnvUserCmdAttrAddr, START_STR='syn keyword mnvUserCmdAttrAddr contained', END_STR='' +syn keyword mnvUserCmdAttrAddr contained arguments arg buffers buf lines line loaded_buffers load other quickfix qf tabs tab windows win +syn match mnvUserCmdAttrAddr contained "?" +syn case match + +syn match mnvUserCmdName contained "\<\u[[:alnum:]]*\>" skipwhite nextgroup=mnvUserCmdBlock,mnvUserCmdReplacement +syn match mnvUserCmdName contained +\<\u[[:alnum:]]*\>\ze\s*\n\s*\%(\\\|["#]\\ \)+ skipwhite skipnl nextgroup=mnvUserCmdBlock,mnvUserCmdReplacement +syn region mnvUserCmdReplacement contained + \ start="\S" + \ start=+^\s*\%(\\\|["#]\\ \)+ + \ skip=+\n\s*\%(\\\|["#]\\ \)+ + \ end="$" + \ contains=@mnvContinue,@mnvUserCmdList,mnvComFilter + \ keepend +syn region mnvUserCmdBlock contained + \ matchgroup=mnvSep + \ start="{" + \ end="^\s*\zs}" + \ contains=@mnvDefBodyList,@mnvUserCmdList + +syn match mnvDelcommand "\" skipwhite nextgroup=mnvDelcommandAttr,mnvDelcommandName +syn match mnvDelcommandAttr contained "-buffer\>" skipwhite nextgroup=mnvDelcommandName +syn match mnvDelcommandName contained "\<\u[[:alnum:]]*\>" + +" Lower Priority Comments: after some mnv commands... {{{2 +" ======================= +if get(g:, "mnvsyn_comment_strings", 1) + syn region mnvCommentString contained oneline start='\S\s\+"'ms=e end='"' extend +endif + +if s:mnv9script + syn cluster mnvComment contains=mnv9Comment +else + syn cluster mnvComment contains=mnvComment +endif + +MNVL syn region mnvComment + \ excludenl + \ start=+"+ + \ skip=+\n\s*\%(\\\|"\\ \)+ + \ end="$" + \ contains=@mnvCommentGroup,mnvCommentString + \ extend +MNV9 syn region mnv9Comment + \ excludenl + \ start="\%#=1\s\@1<=#\%({\@!\|{{\)" + \ skip="\n\s*\%(\\\|#\\ \)" + \ end="$" + \ contains=@mnvCommentGroup,mnvCommentString + \ extend + +syn match mnv9CommentError contained "#.*" +syn match mnvCommentError contained +".*+ + +" Environment Variables: {{{2 +" ===================== +syn match mnvEnvvar "\$\I\i*" +syn match mnvEnvvar "\${\I\i*}" + +" Strings {{{2 +" ======= + +" In-String Specials: +" Try to catch strings, if nothing else matches (therefore it must precede the others!) +" mnvEscapeBrace handles ["] []"] (ie. "s don't terminate string inside []) +" syn region mnvEscapeBrace oneline contained transparent start="[^\\]\(\\\\\)*\[\zs\^\=\]\=" skip="\\\\\|\\\]" end="]"me=e-1 +syn match mnvPatSepErr contained "\\)" +syn match mnvPatSep contained "\\|" +syn region mnvPatSepZone oneline contained matchgroup=mnvPatSepZ start="\\%\=\ze(" skip="\\\\" end="\\)\|[^\\]['"]" contains=@mnvStringGroup +syn region mnvPatRegion contained transparent matchgroup=mnvPatSepR start="\\[z%]\=(" end="\\)" contains=@mnvSubstList oneline +syn match mnvNotPatSep contained "\\\\" +syn cluster mnvStringGroup contains=mnvEscape,mnvEscapeBrace,mnvPatSep,mnvNotPatSep,mnvPatSepErr,mnvPatSepZone,@Spell +syn region mnvString oneline keepend matchgroup=mnvString start=+[^a-zA-Z\\@]"+lc=1 skip=+\\\\\|\\"+ matchgroup=mnvStringEnd end=+"+ nextgroup=mnvSubscript contains=@mnvStringGroup extend +syn region mnvString oneline matchgroup=mnvString start=+[^a-zA-Z\\@]'+lc=1 end=+'+ nextgroup=mnvSubscript contains=mnvQuoteEscape extend +"syn region mnvString oneline start="\s/\s*\A"lc=1 skip="\\\\\|\\+" end="/" contains=@mnvStringGroup " see tst45.mnv + +syn match mnvEscape contained "\\." +" syn match mnvEscape contained +\\[befnrt\"]+ +syn match mnvEscape contained "\\\o\{1,3}\|\\[xX]\x\{1,2}\|\\u\x\{1,4}\|\\U\x\{1,8}" +syn match mnvEscape contained "\\<" contains=mnvNotation +syn match mnvEscape contained "\\<\*[^>]*>\=>" +syn match mnvQuoteEscape contained "''" + +syn region mnvString oneline matchgroup=mnvString start=+$'+ end=+'+ nextgroup=mnvSubscript contains=@mnvStringInterpolation,mnvQuoteEscape extend +syn region mnvString oneline matchgroup=mnvString start=+$"+ end=+"+ nextgroup=mnvSubscript contains=@mnvStringInterpolation,@mnvStringGroup extend +syn region mnvStringInterpolationExpr oneline contained matchgroup=mnvSep start=+{+ end=+}+ contains=@mnvExprList +syn match mnvStringInterpolationBrace contained "{{" +syn match mnvStringInterpolationBrace contained "}}" +syn cluster mnvStringInterpolation contains=mnvStringInterpolationExpr,mnvStringInterpolationBrace + +syn region mnvContinueString contained matchgroup=mnvContinueString start=+"+ skip=+\n\s*\%(\\\|["#]\\ \)+ end=+"+ end="$" skipwhite nextgroup=mnvSubscript,mnvComment contains=@mnvContinue,@mnvStringGroup +syn region mnvContinueString contained matchgroup=mnvContinueString start=+'+ skip=+\n\s*\%(\\\|["#]\\ \)+ end=+'+ end="$" skipwhite nextgroup=mnvSubscript,mnvComment contains=@mnvContinue,mnvQuoteEscape +syn region mnvContinueString contained matchgroup=mnvContinueString start=+$"+ skip=+\n\s*\%(\\\|["#]\\ \)+ end=+"+ end="$" skipwhite nextgroup=mnvSubscript,mnvComment contains=@mnvContinue,@mnvStringInterpolation,@mnvStringGroup +syn region mnvContinueString contained matchgroup=mnvContinueString start=+$'+ skip=+\n\s*\%(\\\|["#]\\ \)+ end=+'+ end="$" skipwhite nextgroup=mnvSubscript,mnvComment contains=@mnvContinue,@mnvStringInterpolation,mnvQuoteEscape + +" Substitutions: {{{2 +" ============= +syn cluster mnvSubstList contains=mnvPatSep,mnvPatRegion,mnvPatSepErr,mnvSubstTwoBS,mnvSubstRange,mnvNotation +syn cluster mnvSubstRepList contains=mnvSubstSubstr,mnvSubstTwoBS,mnvNotation +syn cluster mnvSubstList add=mnvCollection +syn match mnvSubst "^\s*\%(s\%[ubstitute]\|sm\%[agic]\|sno\%[magic]\)\>" skipwhite nextgroup=mnvSubstPat,mnvSubstFlags,mnvSubstCount +syn match mnvSubst "^\s*\%(s\%[ubstitute]\|sm\%[agic]\|sno\%[magic]\)[_#]\@=" skipwhite nextgroup=mnvSubstPat +syn match mnvSubst "^\s*\%(s\%[ubstitute]\|sm\%[agic]\|sno\%[magic]\)\%(\d\+\)\@=" skipwhite nextgroup=mnvSubstCount +syn match mnvSubst1 contained "\%(s\%[ubstitute]\|sm\%[agic]\>\|sno\%[magic]\)\>" skipwhite nextgroup=mnvSubstPat,mnvSubstFlags,mnvSubstCount +syn match mnvSubst1 contained "\%(s\%[ubstitute]\|sm\%[agic]\>\|sno\%[magic]\)[_#]\@=" skipwhite nextgroup=mnvSubstPat +syn match mnvSubst1 contained "\%(s\%[ubstitute]\|sm\%[agic]\>\|sno\%[magic]\)\%(\d\+\)\@=" skipwhite nextgroup=mnvSubstCount +syn match mnvSubstFlagErr contained "[^< \t\r|]\+" contains=mnvSubstFlags +" & and # after :s are always pattern delimiters not flags +syn match mnvSubstFlags contained "[&cegiIlnpr#]\+" skipwhite nextgroup=mnvSubstCount +syn match mnvSubstCount contained "\d\+\>" +" TODO: MNV9 illegal separators for abbreviated :s form are [-.:], :su\%[...] required +" : # is allowed but "not recommended" (see :h pattern-delimiter) +syn region mnvSubstPat contained matchgroup=mnvSubstDelim start="\z([!#$%&'()*+,-./:;<=>?@[\]^_`{}~]\)"rs=s+1 skip="\\\\\|\\\z1" end="\z1"re=e-1,me=e-1 contains=@mnvSubstList nextgroup=mnvSubstRep4 oneline +syn region mnvSubstRep4 contained matchgroup=mnvSubstDelim start="\z(.\)" skip="\\\\\|\\\z1" end="\z1" matchgroup=mnvNotation end="<[cC][rR]>" contains=@mnvSubstRepList nextgroup=mnvSubstFlagErr oneline +syn region mnvCollection contained transparent start="\\\@\|[[\]<>'`]\)\@=" nextgroup=@mnvMarkArg +MNVL syn match mnvExMark "\" skipwhite nextgroup=@mnvMarkArg +syn match mnvExMark "\" skipwhite nextgroup=@mnvMarkArg + +syn match mnvMarkArg contained "[a-zA-Z]\>\|[[\]<>'`]" skipwhite nextgroup=mnvCmdSep,mnvComment +syn match mnvMarkArgError contained "["^.(){}0-9]" +syn cluster mnvMarkArg contains=mnvMarkArg,mnvMarkArgError + +" Marks, Registers, Addresses, Filters: {{{2 +syn match mnvMark "'[a-zA-Z0-9]\ze\s*$" +syn match mnvMark "'[[\]{}()<>'`"^.]\ze\s*$" +syn match mnvMark "'[a-zA-Z0-9]\ze[-+,!]" nextgroup=mnvFilter,mnvMarkNumber,mnvSubst1 +syn match mnvMark "'[[\]{}()<>'`"^.]\ze[-+,!]" nextgroup=mnvFilter,mnvMarkNumber,mnvSubst1 +syn match mnvMark ",\zs'[[\]{}()<>'`"^.]" nextgroup=mnvFilter,mnvMarkNumber,mnvSubst1 +syn match mnvMark "[!,:]\zs'[a-zA-Z0-9]" nextgroup=mnvFilter,mnvMarkNumber,mnvSubst1 +syn match mnvMarkNumber "[-+]\d\+" contained contains=mnvOper nextgroup=mnvSubst1 +syn match mnvPlainMark contained "'[a-zA-Z0-9]" +syn match mnvRange "[`'][a-zA-Z0-9],[`'][a-zA-Z0-9]" contains=mnvMark skipwhite nextgroup=mnvFilter + +syn match mnvRegister '[^,;[{: \t]\zs"[a-zA-Z0-9.%#:_\-/]\ze[^a-zA-Z_":0-9]' +syn match mnvRegister '@"' +syn match mnvLetRegister contained '@["@0-9\-a-zA-Z:.%#=*+~_/]' + +syn match mnvAddress ",\zs[.$]" skipwhite nextgroup=mnvSubst1 +syn match mnvAddress "%\ze\a" skipwhite nextgroup=mnvString,mnvSubst1 + +syn match mnvFilter "^!!\=[^"]\{-}\(|\|\ze\"\|$\)" contains=mnvOper,mnvSpecFile +syn match mnvFilter contained "!!\=[^"]\{-}\(|\|\ze\"\|$\)" contains=mnvOper,mnvSpecFile +syn match mnvComFilter contained "|!!\=[^"]\{-}\(|\|\ze\"\|$\)" contains=mnvOper,mnvSpecFile + +" Complex Repeats: (:h complex-repeat) {{{2 +" =============== +syn match mnvCmplxRepeat '[^a-zA-Z_/\\()]q[0-9a-zA-Z"]\>'lc=1 + +" NOTE: :* as an alias for :@ is not supported, this is considered a :range, +" see :help cpo-star +syn match mnvAtArg contained +@\@1<=[0-9a-z".=*+:@]+ +syn match mnvAt +@[0-9a-z".=*+:@]\ze\s*\%($\|[|"#]\)+ skipwhite nextgroup=mnvCmdSep,mnvComment,mnv9Comment contains=mnvAtArg +" MNV9: avoid LHS assignment mismatching of :@["#] +syn match mnvAt +@\ze\s*\%($\||\|\s["#]\)+ skipwhite nextgroup=mnvCmdSep,mnvComment,mnv9Comment + +" Set command and associated set-options (mnvOptions) with comment {{{2 +syn match mnvSet "\<\%(setl\%[ocal]\|setg\%[lobal]\|se\%[t]\)\>" skipwhite nextgroup=mnvSetBang,mnvCmdSep,mnvComment,mnvSetArgs +syn region mnvSetComment contained start=+"+ skip=+\n\s*\%(\\\||"\\ \)+ end="$" contains=@mnvCommentGroup,mnvCommentString extend +syn match mnvSetCmdSep contained "|" skipwhite nextgroup=@mnvCmdList,mnvSubst1,@mnvFunc +syn match mnvSetEscape contained "\\\%(\\[|"]\|.\)" +syn match mnvSetBarEscape contained "\\|" +syn match mnvSetQuoteEscape contained +\\"+ +syn region mnvSetArgs contained + \ start="\l\|<" + \ skip=+\n\s*\%(\\\|["#]\\ \)\|^\s*"\\ + + \ end=+\ze\\\@1]\+>" contains=mnvOption +syn region mnvSetEqual contained + \ matchgroup=mnvOper + \ start="[=:]\|[-+^]=" + \ skip=+\\\s\|^\s*\%(\\\|["#]\\ \)+ + \ end="\ze\s" + \ contains=@mnvContinue,mnvCtrlChar,mnvEnvvar,mnvNotation,mnvSetSep,mnvSetEscape,mnvSetBarEscape,mnvSetQuoteEscape +syn match mnvSetBang contained "\a\@1<=!" skipwhite nextgroup=mnvSetAll,mnvSetTermcap +syn keyword mnvSetAll contained all nextgroup=mnvSetMod +syn keyword mnvSetTermcap contained termcap +syn match mnvSetSep contained "[,:]" +syn match mnvSetMod contained "\a\@1<=\%(&mnv\=\|[!&?<]\)" + +" Variable Declarations: {{{2 +" ===================== +MNVL syn keyword mnvLet let skipwhite nextgroup=@mnvSpecialVar,mnvVar,mnvVarList,mnvLetVar +MNVL syn keyword mnvConst cons[t] skipwhite nextgroup=@mnvSpecialVar,mnvVar,mnvVarList,mnvLetVar +syn region mnvVarList contained + \ start="\[" end="]" + \ skipwhite nextgroup=mnvLetHeredoc + \ contains=@mnvContinue,@mnvSpecialVar,mnvVar +syn match mnvLetVar contained "\<\%([bwglstav]:\)\=\h[a-zA-Z0-9#_]*\>\ze\%(\[.*]\)\=\s*=<<" skipwhite nextgroup=mnvLetVarSubscript,mnvLetHeredoc contains=mnvVarScope,mnvSubscript +hi link mnvLetVar mnvVar +syn region mnvLetVarSubscript contained + \ matchgroup=mnvSubscriptBracket + \ start="\S\@1<=\[" + \ end="]" + \ skipwhite nextgroup=mnvLetVarSubscript,mnvLetHeredoc + \ contains=@mnvExprList + +syn keyword mnvUnlet unl[et] skipwhite nextgroup=mnvUnletBang,mnvUnletVars +syn match mnvUnletBang contained "\a\@1<=!" skipwhite nextgroup=mnvUnletVars +syn region mnvUnletVars contained + \ start="$\I\|\h" skip=+\n\s*\%(\\\|["#]\\ \)\|^\s*["#]\\ + end="$" end=+\ze\s*[|"#]+ + \ skipwhite nextgroup=mnvCmdSep,mnvComment,mnv9Comment + \ contains=@mnvContinue,mnvEnvvar,mnvVar,mnvMNVVar + +" TODO: type error after register or environment variables (strings) +MNVFoldh syn region mnvLetHeredoc contained + \ matchgroup=mnvLetHeredocStart + \ start="\%(^\z(\s*\)\S.*\)\@<==<<\s*trim\%(\s\+\)\@>\z(\L\S*\)" + \ matchgroup=mnvLetHeredocStop + \ end="^\z1\=\z2$" + \ extend +MNVFoldh syn region mnvLetHeredoc contained + \ matchgroup=mnvLetHeredocStart + \ start="=<<\%(\s*\)\@>\z(\L\S*\)" + \ matchgroup=mnvLetHeredocStop end="^\z1$" + \ extend +MNVFoldh syn region mnvLetHeredoc contained + \ matchgroup=mnvLetHeredocStart + \ start="\%(^\z(\s*\)\S.*\)\@<==<<\s*\%(trim\s\+eval\|eval\s\+trim\)\%(\s\+\)\@>\z(\L\S*\)" + \ matchgroup=mnvLetHeredocStop + \ end="^\z1\=\z2$" + \ contains=@mnvStringInterpolation + \ extend +MNVFoldh syn region mnvLetHeredoc contained + \ matchgroup=mnvLetHeredocStart + \ start="=<<\s*eval\%(\s\+\)\@>\z(\L\S*\)" + \ matchgroup=mnvLetHeredocStop + \ end="^\z1$" + \ contains=@mnvStringInterpolation + \ extend + +MNV9 syn keyword mnv9Const const skipwhite nextgroup=mnv9Variable,mnv9VariableList +MNV9 syn keyword mnv9Final final skipwhite nextgroup=mnv9Variable,mnv9VariableList +MNV9 syn keyword mnv9Var var skipwhite nextgroup=mnv9Variable,mnv9VariableList + +syn match mnv9Variable contained "\<\h\w*\>" skipwhite nextgroup=mnv9VariableTypeSep,mnvLetHeredoc,mnvOper +syn region mnv9VariableList contained start="\[" end="]" contains=@mnvContinue,@mnvSpecialVar,mnv9Variable skipwhite nextgroup=mnvLetHeredoc + +syn match mnv9VariableTypeSep contained "\S\@1<=:\%(\s\|\n\)\@=" skipwhite nextgroup=@mnv9VariableType +syn keyword mnv9VariableType contained blob bool channel float job number string void skipwhite nextgroup=mnvLetHeredoc +syn keyword mnv9VariableTypeAny contained any skipwhite nextgroup=mnvLetHeredoc +syn match mnv9VariableTypeObject contained "\" skipwhite nextgroup=mnvLetHeredoc +syn region mnv9VariableCompoundType contained + \ matchgroup=mnv9VariableType + \ start="\" skipwhite nextgroup=mnvLetHeredoc + +syn cluster mnv9VariableType contains=mnv9VariableType,mnv9VariableTypeAny,mnv9VariableTypeObject,mnv9VariableCompoundType,mnv9VariableUserType + +" Lockvar and Unlockvar: {{{2 +" ===================== +syn keyword mnvLockvar lockv[ar] skipwhite nextgroup=mnvLockvarBang,mnvLockvarDepth,mnvLockvarVars +syn keyword mnvUnlockvar unlo[ckvar] skipwhite nextgroup=mnvLockvarBang,mnvLockvarDepth,mnvLockvarVars +syn match mnvLockvarBang contained "\a\@1<=!" skipwhite nextgroup=mnvLockvarVars +syn match mnvLockvarDepth contained "\<[0-3]\>" skipwhite nextgroup=mnvLockvarVars +syn region mnvLockvarVars contained + \ start="\h" skip=+\n\s*\%(\\\|"\\ \)\|^\s*"\\ + end="$" end="\ze[|"]" + \ nextgroup=mnvCmdSep,mnvComment + \ contains=@mnvContinue,mnvVar + +hi def link mnvLockvar mnvCommand +hi def link mnvUnlockvar mnvCommand +hi def link mnvLockvarBang mnvBang +hi def link mnvLockvarDepth mnvNumber + +" For: {{{2 +" === +" handles MNV9 and legacy for now +syn region mnvFor + \ matchgroup=mnvCommand + \ start="\" end="\" + \ skipwhite skipnl nextgroup=@mnvForInContinue,mnv9ForInComment,@mnvExprList + \ contains=@mnvContinue,mnvVar,mnvVarList,mnv9Variable,mnv9VariableList + \ transparent + +syn match mnv9ForInComment contained "#.*" skipwhite skipempty nextgroup=mnvForInComment,@mnvExprList + +syn match mnvForInContinue contained "^\s*\zs\\" skipwhite skipnl nextgroup=@mnvForInContinue,@mnvExprList +syn match mnvForInContinueComment contained '^\s*\zs["#]\\ .*' skipwhite skipnl nextgroup=@mnvForInContinue,@mnvExprList +syn cluster mnvForInContinue contains=mnvForInContinue,mnvForInContinueComment + +" Abbreviations: {{{2 +" ============= +" GEN_SYN_MNV: mnvCommand abbrev, START_STR='syn keyword mnvAbb', END_STR='skipwhite nextgroup=mnvMapMod,mnvMapLhs' +" GEN_SYN_MNV: mnvCommand abclear, START_STR='syn keyword mnvAbb', END_STR='skipwhite nextgroup=mnvMapMod' + +" Filename Patterns: {{{2 +" ================= + +syn match mnvWildcardQuestion contained "?" +syn match mnvWildcardStar contained "*" + +syn match mnvWildcardBraceComma contained "," +syn region mnvWildcardBrace contained + \ matchgroup=mnvWildcard + \ start="{" + \ end="}" + \ contains=mnvWildcardEscape,mnvWildcardBrace,mnvWildcardBraceComma,mnvWildcardQuestion,mnvWildcardStar,mnvWildcardBracket + \ oneline + +syn match mnvWildcardIntervalNumber contained "\d\+" +syn match mnvWildcardInterval contained "\\\\\\{\d\+\%(,\d\+\)\=\\}" contains=mnvWildcardIntervalNumber + + +syn match mnvWildcardBracket contained "\[\%(\^\=]\=\%(\\.\|\[\([:.=]\)[^:.=]\+\1]\|[^][:space:]]\)*\)\@>]" + \ contains=mnvWildcardBracketStart,mnvWildcardEscape + +syn match mnvWildcardBracketCharacter contained "." nextgroup=@mnvWildcardBracketCharacter,mnvWildcardBracketHyphen,mnvWildcardBracketEnd +syn match mnvWildcardBracketRightBracket contained "]" nextgroup=@mnvWildcardBracketCharacter,mnvWildcardBracketEnd +syn match mnvWildcardBracketHyphen contained "-]\@!" nextgroup=@mnvWildcardBracketCharacter +syn match mnvWildcardBracketEscape contained "\\." nextgroup=@mnvWildcardBracketCharacter,mnvWildcardBracketHyphen,mnvWildcardBracketEnd +syn match mnvWildcardBracketCharacterClass contained "\[:[^:]\+:]" nextgroup=@mnvWildcardBracketCharacter,mnvWildcardBracketEnd +syn match mnvWildcardBracketEquivalenceClass contained "\[=[^=]\+=]" nextgroup=@mnvWildcardBracketCharacter,mnvWildcardBracketEnd +syn match mnvWildcardBracketCollatingSymbol contained "\[\.[^.]\+\.]" nextgroup=@mnvWildcardBracketCharacter,mnvWildcardBracketEnd + +syn match mnvWildcardBracketStart contained "\[" nextgroup=mnvWildcardBracketCaret,mnvWildcardBracketRightBracket,@mnvWildcardBracketCharacter +syn match mnvWildcardBracketCaret contained "\^" nextgroup=@mnvWildcardBracketCharacter,mnvWildcardBracketRightBracket +syn match mnvWildcardBracketEnd contained "]" + +syn cluster mnvWildcardBracketCharacter contains=mnvWildcardBracketCharacter,mnvWildcardBracketEscape,mnvWildcardBracketCharacterClass,mnvWildcardBracketEquivalenceClass,mnvWildcardBracketCollatingSymbol + +syn match mnvWildcardEscape contained "\\." + +syn cluster mnvWildcard contains=mnvWildcardQuestion,mnvWildcardStar,mnvWildcardBrace,mnvWildcardBracket,mnvWildcardInterval + +" Autocmd and Doauto{cmd,all}: {{{2 +" =========================== + +" TODO: explicitly match the {cmd} arg rather than bailing out to TOP +syn region mnvAutocmdBlock contained matchgroup=mnvSep start="{" end="^\s*\zs}" contains=@mnvDefBodyList + +syn match mnvAutocmdGroup contained "\%(\\["|[:space:]]\|[^"|[:space:]]\)\+" skipwhite nextgroup=mnvAutoEvent,mnvAutoEventGlob +syn match mnvAutocmdBang contained "\a\@1<=!" skipwhite nextgroup=mnvAutocmdGroup,mnvAutoEvent,mnvAutoEventGlob + +" TODO: cleaner handling of | in pattern position +" : match pattern items in addition to wildcards +syn region mnvAutocmdPattern contained + \ start="|\@!\S" + \ skip="\\\\\|\\[,[:space:]]" + \ end="\ze[,[:space:]]" + \ end="$" + \ skipwhite nextgroup=mnvAutocmdPatternSep,mnvAutocmdMod,mnvAutocmdBlock,@mnvFunc + \ contains=mnvEnvvar,@mnvWildcard,mnvAutocmdPatternEscape +syn match mnvAutocmdBufferPattern contained "" skipwhite nextgroup=mnvAutocmdPatternSep,mnvAutocmdMod,mnvAutocmdBlock,@mnvFunc +" trailing pattern separator comma allowed +syn match mnvAutocmdPatternSep contained "," skipwhite nextgroup=@mnvAutocmdPattern,mnvAutocmdMod,mnvAutocmdBlock +syn match mnvAutocmdPatternEscape contained "\\." +syn cluster mnvAutocmdPattern contains=mnvAutocmdPattern,mnvAutocmdBufferPattern + +" TODO: MNV9 requires '++' prefix +syn match mnvAutocmdMod contained "\%(++\)\=\" skipwhite nextgroup=mnvAutocmdMod,mnvAutocmdBlock +syn match mnvAutocmdMod contained "++once\>" skipwhite nextgroup=mnvAutocmdMod,mnvAutocmdBlock + +" higher priority than mnvAutocmdGroup, assume no group is so named +syn match mnvAutoEventGlob contained "*" skipwhite nextgroup=@mnvAutocmdPattern +syn match mnvAutoEventSep contained "\a\@1<=," nextgroup=mnvAutoEvent +syn match mnvUserAutoEventSep contained "\a\@1<=," nextgroup=mnvUserAutoEvent + +syn match mnvAutocmd "\" skipwhite nextgroup=mnvAutocmdBang,mnvAutocmdGroup,mnvAutoEvent,mnvAutoEventGlob + + +syn match mnvDoautocmdMod contained "" skipwhite nextgroup=mnvAutocmdGroup,mnvAutoEvent +syn match mnvDoautocmd "\" skipwhite nextgroup=mnvDoautocmdMod,mnvAutocmdGroup,mnvAutoEvent +syn match mnvDoautocmd "\" skipwhite nextgroup=mnvDoautocmdMod,mnvAutocmdGroup,mnvAutoEvent + +" Echo And Execute: -- prefer strings! {{{2 +" ================ +" NOTE: No trailing comments + +syn region mnvEcho + \ matchgroup=mnvCommand + \ start="\" + \ start="\" + \ start="\" + \ start="\" + \ start="\" + \ start="\" + \ skip=+\\|\|||\|\n\s*\%(\\\|["#]\\ \)+ + \ end="\ze|" + \ excludenl end="$" + \ nextgroup=mnvCmdSep + \ contains=@mnvContinue,@mnvExprList,mnv9Comment + \ transparent + +syn match mnvEchohl "\" skipwhite nextgroup=mnvGroup,mnvHLGroup,mnvEchohlNone +syn case ignore +syn keyword mnvEchohlNone contained none +syn case match + +syn cluster mnvEcho contains=mnvEcho,mnvEchohl + +syn region mnvExecute + \ matchgroup=mnvCommand + \ start="\" + \ skip=+\\|\|||\|\n\s*\%(\\\|["#]\\ \)+ + \ end="\ze|" + \ excludenl end="$" + \ nextgroup=mnvCmdSep + \ contains=@mnvContinue,@mnvExprList,mnv9Comment + \ transparent + +syn region mnvEval + \ matchgroup=mnvCommand + \ start="\" + \ skip=+\\|\|||\|\n\s*\%(\\\|["#]\\ \)+ + \ end="\ze|" + \ excludenl end="$" + \ nextgroup=mnvCmdSep + \ contains=@mnvContinue,@mnvExprList,mnv9Comment,mnvComment + \ transparent + +" Filter: {{{2 +" ====== +syn match mnvExFilter "\" skipwhite nextgroup=mnvExFilterBang,mnvExFilterPattern +syn region mnvExFilterPattern contained + \ start="[[:ident:]]" + \ end="\ze[[:space:]\n]" + \ skipwhite nextgroup=@mnvCmdList + \ contains=@mnvSubstList + \ oneline +syn region mnvExFilterPattern contained + \ matchgroup=Delimiter + \ start="\z([^[:space:][:ident:]|"]\)" + \ skip="\\\\\|\\\z1" + \ end="\z1" + \ skipwhite nextgroup=@mnvCmdList + \ contains=@mnvSubstList + \ oneline +syn match mnvExFilterBang contained "\a\@1<=!" skipwhite nextgroup=mnvExFilterPattern + +" Grep and Make: {{{2 +" ============= +" | is the command separator, escaped with \| all other backslashes are passed through literally, no tail comments +syn match mnvGrep "\" skipwhite nextgroup=mnvGrepBang,mnvGrepArgs,mnvCmdSep +syn match mnvGrepadd "\" skipwhite nextgroup=mnvGrepBang,mnvGrepArgs,mnvCmdSep +syn region mnvGrepArgs contained + \ start="|\@!\S" + \ skip=+\n\s*\%(\\\|[#"]\\ \)+ + \ matchgroup=mnvCmdSep + \ end="|" + \ end="$" + "\ TODO: include mnvSpecFile + \ contains=mnvGrepBarEscape +syn match mnvGrepBarEscape contained "\\|" +syn match mnvGrepBang contained "\a\@1<=!" skipwhite nextgroup=mnvGrepArgs,mnvCmdSep + +syn match mnvMake "\" skipwhite nextgroup=mnvMakeBang,mnvMakeArgs,mnvCmdSep +syn region mnvMakeArgs contained + \ start="|\@!\S" + \ skip=+\n\s*\%(\\\|[#"]\\ \)+ + \ matchgroup=mnvCmdSep + \ end="|" + \ end="$" + "\ TODO: include mnvSpecFile + \ contains=mnvMakeBarEscape +syn match mnvMakeBarEscape contained "\\|" +syn match mnvMakeBang contained "\a\@1<=!" skipwhite nextgroup=mnvMakeArgs,mnvCmdSep + +" Help*: {{{2 +" ===== +syn match mnvHelp "\" skipwhite nextgroup=mnvHelpBang,mnvHelpArg,mnvHelpNextCommand +" TODO: match wildcards, ignoring exceptions? +syn region mnvHelpArg contained + \ start="\S" + \ matchgroup=Special + \ end="\%(@\a\a\)\=\ze\s*\%($\|\%x0d\|\%x00\||[^|]\)" + \ oneline +syn match mnvHelpNextCommand contained "\ze|[^|]" skipwhite nextgroup=mnvCmdSep +syn match mnvHelpBang contained "\a\@1<=!" skipwhite nextgroup=mnvHelpArg,mnvHelpNextCommand + +syn match mnvHelpgrep "\" skipwhite nextgroup=mnvHelpgrepBang,mnvHelpgrepPattern +syn region mnvHelpgrepPattern contained + \ start="\S" + \ matchgroup=Special + \ end="@\a\a\>" + \ end="$" + \ contains=@mnvSubstList + \ oneline + +" MNVgrep: {{{2 +" ======= +syn match mnvMNVgrep "\" skipwhite nextgroup=mnvMNVgrepBang,mnvMNVgrepPattern +syn match mnvMNVgrepadd "\" skipwhite nextgroup=mnvMNVgrepBang,mnvMNVgrepPattern +syn match mnvMNVgrepBang contained "\a\@1<=!" skipwhite nextgroup=mnvMNVgrepPattern +syn region mnvMNVgrepPattern contained + \ start="[[:ident:]]" + \ end="\ze[[:space:]\n]" + \ skipwhite nextgroup=mnvMNVgrepFile,mnvCmdSep + \ contains=@mnvSubstList + \ oneline +syn region mnvMNVgrepPattern contained + \ matchgroup=Delimiter + \ start="\z([^[:space:][:ident:]|"]\)" + \ skip="\\\\\|\\\z1" + \ end="\z1" + \ skipwhite nextgroup=mnvMNVgrepFlags,mnvMNVgrepFile,mnvCmdSep + \ contains=@mnvSubstList + \ oneline +syn match mnvMNVgrepEscape contained "\\\%(\\|\|.\)" +syn match mnvMNVgrepBarEscape contained "\\|" +syn region mnvMNVgrepFile contained + \ start="|\@!\S" + \ matchgroup=mnvCmdSep + \ end="|" + \ end="\ze\s" + \ end="$" + \ skipwhite nextgroup=mnvMNVgrepFile + \ contains=mnvSpecFile,mnvMNVgrepEscape,mnvMNVgrepBarEscape +syn match mnvMNVgrepFlags contained "\<[gjf]\{,3\}\>" skipwhite nextgroup=mnvMNVgrepfile + +" Maps: {{{2 +" ==== +" GEN_SYN_MNV: mnvCommand map, START_STR='syn keyword mnvMap', END_STR='skipwhite nextgroup=mnvMapMod,mnvMapLhs' +syn match mnvMap "\" skipwhite nextgroup=mnvMapBang,mnvMapMod,mnvMapLhs +syn keyword mnvMap no[remap] skipwhite nextgroup=mnvMapBang,mnvMapMod,mnvMapLhs +" GEN_SYN_MNV: mnvCommand mapclear, START_STR='syn keyword mnvMap', END_STR='skipwhite nextgroup=mnvMapMod' +syn keyword mnvMap mapc[lear] skipwhite nextgroup=mnvMapBang,mnvMapMod +" GEN_SYN_MNV: mnvCommand unmap, START_STR='syn keyword mnvUnmap', END_STR='skipwhite nextgroup=mnvMapMod,mnvMapLhs' +syn keyword mnvUnmap unm[ap] skipwhite nextgroup=mnvMapBang,mnvMapMod,mnvMapLhs + +syn match mnvMapLhs contained "\%(.\|\S\)\+" contains=mnvCtrlChar,mnvNotation,mnvMapLeader skipwhite nextgroup=mnvMapRhs +syn match mnvMapLhs contained "\%(.\|\S\)\+\ze\s*$" contains=mnvCtrlChar,mnvNotation,mnvMapLeader skipwhite skipnl nextgroup=mnvMapRhsContinue +syn match mnvMapBang contained "\a\@1<=!" skipwhite nextgroup=mnvMapMod,mnvMapLhs +syn match mnvMapMod contained "\%#=1<\%(buffer\|expr\|nowait\|script\|silent\|special\|unique\)\+>" contains=mnvMapModKey,mnvMapModErr skipwhite nextgroup=mnvMapMod,mnvMapLhs +syn region mnvMapRhs contained + \ start="\S" + \ skip=+\\|\|\@1<=|\|\n\s*\%(\\\|["#]\\ \)+ + \ end="\ze|" + \ end="$" + \ nextgroup=mnvCmdSep + \ contains=@mnvContinue,mnvCtrlChar,mnvNotation,mnvMapLeader +syn region mnvMapRhsContinue contained + \ start=+^\s*\%(\\\|["#]\\ \)+ + \ skip=+\\|\|\@1<=|\|\n\s*\%(\\\|["#]\\ \)+ + \ end="\ze|" + \ end="$" + \ nextgroup=mnvCmdSep + \ contains=@mnvContinue,mnvCtrlChar,mnvNotation,mnvMapLeader +syn match mnvMapLeader contained "\%#=1\c<\%(local\)\=leader>" contains=mnvMapLeaderKey +syn keyword mnvMapModKey contained buffer expr nowait script silent special unique +syn case ignore +syn keyword mnvMapLeaderKey contained leader localleader +syn case match + +" Menus: {{{2 +" ===== +" NOTE: tail comments disallowed +" GEN_SYN_MNV: mnvCommand menu, START_STR='syn keyword mnvMenu', END_STR='skipwhite nextgroup=mnvMenuBang,mnvMenuMod,mnvMenuName,mnvMenuPriority,mnvMenuStatus' +syn keyword mnvMenu popu[p] skipwhite nextgroup=mnvMenuBang,mnvMenuName +syn region mnvMenuRhs contained contains=@mnvContinue,mnvNotation start="|\@!\S" skip=+\\\\\|\\|\|\n\s*\%(\\\|"\\ \)+ end="$" matchgroup=mnvSep end="|" +syn region mnvMenuRhsContinue contained contains=@mnvContinue,mnvNotation start=+^\s*\%(\\\|"\\ \)+ skip=+\\\\\|\\|\|\n\s*\%(\\\|"\\ \)+ end="$" matchgroup=mnvSep end="|" +syn match mnvMenuName "\.\@!\%(\\\s\|\S\)\+" contained contains=mnvMenuNotation,mnvNotation skipwhite nextgroup=mnvCmdSep,mnvMenuRhs +syn match mnvMenuName "\.\@!\%(\\\s\|\S\)\+\ze\s*$" contained contains=mnvMenuNotation,mnvNotation skipwhite skipnl nextgroup=mnvCmdSep,mnvMenuRhsContinue +syn match mnvMenuNotation "&\a\|&&\|\\\s\|\\\." contained +syn match mnvMenuPriority "\<\d\+\%(\.\d\+\)*\>" contained skipwhite nextgroup=mnvMenuName +syn match mnvMenuMod "\c<\%(script\|silent\|special\)>" contained skipwhite nextgroup=mnvMenuName,mnvMenuPriority,mnvMenuMod contains=mnvMapModKey,mnvMapModErr +syn keyword mnvMenuStatus enable disable nextgroup=mnvMenuName skipwhite +syn match mnvMenuBang "\a\@1<=!" contained skipwhite nextgroup=mnvMenuName,mnvMenuMod + +syn region mnvMenutranslate + \ matchgroup=mnvCommand start="\" + \ skip=+\\\\\|\\|\|\n\s*\%(\\\|"\\ \)+ + \ end="$" matchgroup=mnvCmdSep end="|" matchgroup=mnvMenuClear end="\" skipwhite nextgroup=@mnvExprList,mnvNotation +syn match mnvElse "\" skipwhite nextgroup=mnvComment,mnv9Comment +syn match mnvEndif "\" skipwhite nextgroup=mnvComment,mnv9Comment + +" Angle-Bracket Notation: (tnx to Michael Geddes) {{{2 +" ====================== +syn case ignore +syn match mnvNotation contained "\%#=1\%(\\\|\)\=<\%([scamd]-\)\{0,4}x\=\%(f\d\{1,2}\|[^ \t:]\|space\|bar\|bslash\|nl\|newline\|lf\|linefeed\|cr\|retu\%[rn]\|enter\|k\=del\%[ete]\|bs\|backspace\|tab\|esc\|csi\|right\|paste\%(start\|end\)\|left\|help\|undo\|k\=insert\|ins\|mouse\|[kz]\=home\|[kz]\=end\|kplus\|kminus\|kdivide\|kmultiply\|kenter\|kpoint\|space\|k\=\%(page\)\=\%(\|down\|up\|k\d\>\)\)>" contains=mnvBracket + +syn match mnvNotation contained "\%#=1\%(\\\|\)\=<\%([scamd2-4]-\)\{0,4}\%(net\|dec\|jsb\|pterm\|urxvt\|sgr\)mouse>" contains=mnvBracket +syn match mnvNotation contained "\%#=1\%(\\\|\)\=<\%([scamd2-4]-\)\{0,4}\%(left\|middle\|right\)\%(mouse\|drag\|release\)>" contains=mnvBracket +syn match mnvNotation contained "\%#=1\%(\\\|\)\=<\%([scamd2-4]-\)\{0,4}left\%(mouse\|release\)nm>" contains=mnvBracket +syn match mnvNotation contained "\%#=1\%(\\\|\)\=<\%([scamd2-4]-\)\{0,4}x[12]\%(mouse\|drag\|release\)>" contains=mnvBracket +syn match mnvNotation contained "\%#=1\%(\\\|\)\=<\%([scamd2-4]-\)\{0,4}sgrmouserelease>" contains=mnvBracket +syn match mnvNotation contained "\%#=1\%(\\\|\)\=<\%([scamd2-4]-\)\{0,4}mouse\%(up\|down\|move\)>" contains=mnvBracket +syn match mnvNotation contained "\%#=1\%(\\\|\)\=<\%([scamd2-4]-\)\{0,4}scrollwheel\%(up\|down\|right\|left\)>" contains=mnvBracket + +syn match mnvNotation contained "\%#=1\%(\\\|\)\=<\%(sid\|nop\|nul\|lt\|drop\)>" contains=mnvBracket +syn match mnvNotation contained "\%#=1\%(\\\|\)\=<\%(snr\|plug\|cursorhold\|ignore\|cmd\|scriptcmd\|focus\%(gained\|lost\)\)>" contains=mnvBracket +" syn match mnvNotation contained '\%(\\\|\)\=[0-9a-z"%#:.\-=]'he=e-1 contains=mnvBracket +syn match mnvNotation contained '\%#=1\%(\\\|\)\=<\%([fq]-\)\=\%(line[12]\|count\|bang\|reg\|args\|mods\|lt\)>' contains=mnvBracket skipwhite nextgroup=mnvSubst1 +syn match mnvNotation contained "\%#=1\%(\\\|\)\=<\%([cas]file\|abuf\|amatch\|cexpr\|cword\|cWORD\|client\|stack\|script\|sf\=lnum\)>" contains=mnvBracket +syn match mnvNotation contained "\%#=1\%(\\\|\)\=<\%([scamd]-\)\{0,4}char-\%(\d\+\|0\o\+\|0x\x\+\)>" contains=mnvBracket + +syn match mnvBracket contained "[\\<>]" +syn case match + +" User Command Highlighting: {{{2 +syn match mnvUsrCmd '^\s*\zs\u\%(\w*\)\@>\%([<.(#[]\|\s\+\%([-+*/%]\=\|\.\.\)=\)\@!' + +" MNV user commands + +" Compiler plugins +syn match mnvCompilerSet "\" skipwhite nextgroup=mnvSetArgs + +" runtime/makemenu.mnv +syn match mnvSynMenu "\" skipwhite nextgroup=mnvSynMenuPath +syn match mnvSynMenuPath contained ".*\ze:" nextgroup=mnvSynMenuColon contains=mnvMenuNotation +syn match mnvSynMenuColon contained ":" nextgroup=mnvSynMenuName +syn match mnvSynMenuName contained "\w\+" + +" runtime/syntax/syncolor.mnv +syn match mnvSynColor "\" skipwhite nextgroup=mnvSynColorGroup +syn match mnvSynColorGroup contained "\<\h\w*\>" skipwhite nextgroup=mnvHiKeyList contains=mnvGroup +syn match mnvSynLink "\" skipwhite nextgroup=mnvSynLinkGroup +syn match mnvSynLinkGroup contained "\<\h\w*\>" skipwhite nextgroup=mnvGroup contains=mnvGroup + +syn cluster mnvExUserCmdList contains=mnvCompilerSet,mnvSynColor,mnvSynLink,mnvSynMenu + +" Errors And Warnings: {{{2 +" ==================== +if !exists("g:mnvsyn_noerror") && !exists("g:mnvsyn_nomnvfunctionerror") + syn match mnvFunctionError contained "[[:space:]!]\@1<=\<[a-z0-9]\w\{-}\ze\s*(" + syn match mnvFunctionError contained "\%(<[sS][iI][dD]>\|[sg]:\)\d\w\{-}\ze\s*(" + syn match mnvElseIfErr "\" + syn match mnvBufnrWarn /\" skipwhite nextgroup=mnvMatchGroup,mnvMatchNone contains=mnvCount +syn match mnvMatchGroup contained "[[:alnum:]._-]\+" skipwhite nextgroup=mnvMatchPattern +syn case ignore +syn keyword mnvMatchNone contained none +syn case match +syn region mnvMatchPattern contained + \ matchgroup=Delimiter + \ start="\z([!#$%&'()*+,-./:;<=>?@[\]^_`{}~]\)" + \ skip="\\\\\|\\\z1" + \ end="\z1" + \ contains=@mnvSubstList + \ oneline + +" Normal: {{{2 +" ====== +syn match mnvNormal "\!\=" skipwhite nextgroup=mnvNormalArg contains=mnvBang +syn region mnvNormalArg contained start="\S" skip=+\n\s*\%(\\\|["#]\\ \)+ end="$" contains=@mnvContinue + +" Profile: {{{2 +" ======= +syn match mnvProfileBang contained "\a\@1<=!" skipwhite nextgroup=mnvProfileArg +syn keyword mnvProfileArg contained start skipwhite nextgroup=mnvProfilePattern +syn keyword mnvProfileArg contained func skipwhite nextgroup=mnvProfilePattern +syn keyword mnvProfileArg contained file skipwhite nextgroup=mnvProfilePattern +syn keyword mnvProfileArg contained stop pause skipwhite nextgroup=mnvCmdSep,@mnvComment +syn keyword mnvProfileArg contained continue dump skipwhite nextgroup=mnvCmdSep,@mnvComment +" TODO: match file pattern +syn region mnvProfilePattern contained + \ start="\S" + \ skip=+\\[|"#]+ + \ end="$" end=+\ze\s*[|"#]+ + \ skipwhite nextgroup=mnvCmdSep,mnvComment,mnv9Comment +syn match mnvProfile "\" skipwhite nextgroup=mnvProfileBang,mnvProfileArg + +syn keyword mnvProfdelArg contained func skipwhite nextgroup=mnvProfilePattern +syn keyword mnvProfdelArg contained file skipwhite nextgroup=mnvProfilePattern +syn keyword mnvProfdelArg contained here skipwhite nextgroup=mnvCmdSep,@mnvComment +syn match mnvProfdel "\" skipwhite nextgroup=mnvProfdelArg + +" Prompt{find,repl}: {{{2 +" ================= +syn region mnvPromptArg contained + \ start="\S" + \ skip=+\n\s*\%(\\\|["#]\\ \)+ + \ end="$" + \ contains=@mnvContinue +syn keyword mnvPrompt promptf[ind] promptr[epl] skipwhite nextgroup=mnvPromptArg + +" Redir: {{{2 +" ===== +syn match mnvRedir "\" skipwhite nextgroup=mnvRedirBang,mnvRedirFileOperator,mnvRedirVariableOperator,mnvRedirRegister,mnvRedirEnd +syn match mnvRedirBang contained "\a\@1<=!" skipwhite nextgroup=mnvRedirFileOperator + +syn match mnvRedirFileOperator contained ">>\=" skipwhite nextgroup=mnvRedirFile +syn region mnvRedirFile contained + \ start="\S" + \ matchgroup=Normal + \ end="\s*$" + \ end="\s*\ze[|"]" + \ nextgroup=mnvCmdSep,mnvComment + \ contains=mnvSpecFile +syn match mnvRedirRegisterOperator contained ">>\=" +syn match mnvRedirRegister contained "@[a-zA-Z*+"]" nextgroup=mnvRedirRegisterOperator +syn match mnvRedirVariableOperator contained "=>>\=" skipwhite nextgroup=mnvVar +syn keyword mnvRedirEnd contained END + +" Sleep: {{{2 +" ===== +syn keyword mnvSleep sl[eep] skipwhite nextgroup=mnvSleepBang,mnvSleepArg +syn match mnvSleepBang contained "\a\@1<=!" skipwhite nextgroup=mnvSleepArg +syn match mnvSleepArg contained "\<\%(\d\+\)\=m\=\>" + +" Sort: {{{2 +" ==== +syn match mnvSort "\" skipwhite nextgroup=mnvSortBang,@mnvSortOptions,mnvSortPattern,mnvCmdSep +syn match mnvSortBang contained "\a\@1<=!" skipwhite nextgroup=@mnvSortOptions,mnvSortPattern,mnvCmdSep +syn match mnvSortOptionsError contained "\a\+" +syn match mnvSortOptions contained "\<[ilur]*[nfxob]\=[ilur]*\>" skipwhite nextgroup=mnvSortPattern,mnvCmdSep +syn region mnvSortPattern contained + \ matchgroup=Delimiter + \ start="\z([^[:space:][:alpha:]|]\)" + \ skip="\\\\\|\\\z1" + \ end="\z1" + \ skipwhite nextgroup=@mnvSortOptions,mnvCmdSep + \ contains=@mnvSubstList + \ oneline + +syn cluster mnvSortOptions contains=mnvSortOptions,mnvSortOptionsError + +" Terminal: {{{2 +" ======== +syn match mnvTerminal "\" skipwhite nextgroup=mnvTerminalOptions,mnvTerminalCommand +syn match mnvTerminal +\\ze\s*\n\s*\%(\\\|["#]\\ \)+ skipwhite skipnl nextgroup=mnvTerminalOptions,mnvTerminalCommand,@mnvTerminalContinue + +syn match mnvTerminalContinue contained "^\s*\\" skipwhite skipnl nextgroup=@mnvTerminalContinue,mnvTerminalOptions,mnvTerminalCommand contains=mnvWhitespace +syn match mnvTerminalContinueComment contained '^\s*["#]\\ .*' skipwhite skipnl nextgroup=@mnvTerminalContinue,mnvTerminalOptions,mnvTerminalCommand contains=mnvWhitespace +syn cluster mnvTerminalContinue contains=mnvTerminalContinue,mnvTerminalContinueComment + +syn region mnvTerminalCommand contained + \ start="\S" + \ skip=+\n\s*\%(\\\|["#]\\ \)+ + \ end="$" + \ contains=@mnvContinue + +syn region mnvTerminalOptions contained + \ start="++" + \ skip=/\s\+++\|\%(\n\|^\)\s*\%(\\\|["#]\\ \)/ + \ end="\s" + \ end="$" + \ skipwhite nextgroup=mnvTerminalCommand + \ contains=@mnvContinue,mnvTerminalOption + \ transparent + +syn match mnvTerminalOption contained "++\%(\%(no\)\=close\|open\|curwin\|hidden\|norestore\|shell\)\>" +syn match mnvTerminalOption contained "++kill=" nextgroup=mnvTerminalKillOptionArg +syn match mnvTerminalOption contained "++\%(rows\|cols\)=" nextgroup=mnvTerminalSizeOptionArg +syn match mnvTerminalOption contained "++eof=" nextgroup=mnvTerminalEofOptionArg +syn match mnvTerminalOption contained "++type=" nextgroup=mnvTerminalTypeOptionArg +syn match mnvTerminalOption contained "++api=" nextgroup=mnvTerminalApiOptionArg + +syn match mnvTerminalApiOptionArg contained "\<\S\+\>" +syn match mnvTerminalEofOptionArg contained "\<\S\+\>" +syn match mnvTerminalSizeOptionArg contained "\<\d\+\>" +syn keyword mnvTerminalKillOptionArg contained term hup quit int kill +syn match mnvTerminalKillOptionArg contained "\<\d\+\>" +syn keyword mnvTerminalTypeOptionArg contained conpty winpty + +" Uniq: {{{2 +" ==== +syn match mnvUniq "\" skipwhite nextgroup=mnvUniqBang,@mnvUniqOptions,mnvUniqPattern,mnvCmdSep +syn match mnvUniqBang contained "\a\@1<=!" skipwhite nextgroup=@mnvUniqOptions,mnvUniqPattern,mnvCmdSep +syn match mnvUniqOptionsError contained "\a\+" +syn match mnvUniqOptions contained "\<[ilur]*\>" skipwhite nextgroup=mnvUniqPattern,mnvCmdSep +syn region mnvUniqPattern contained + \ matchgroup=Delimiter + \ start="\z([^[:space:][:alpha:]|]\)" + \ skip="\\\\\|\\\z1" + \ end="\z1" + \ skipwhite nextgroup=@mnvUniqOptions,mnvCmdSep + \ contains=@mnvSubstList + \ oneline + +syn cluster mnvUniqOptions contains=mnvUniqOptions,mnvUniqOptionsError + +" Wincmd: {{{2 +" ====== +syn match mnvWincmd "\" skipwhite nextgroup=mnvWincmdArg +" TODO: consider extracting this list from the help file +syn match mnvWincmdArg contained + \ "\<[sSvnqojkhlwWtbpPrRxKJHLTfFz]\>\|[\^:=\-+_<>|\]}]\|\" + \ skipwhite nextgroup=mnvCmdSep,mnvComment,mnv9Comment + +" only handles oneline assignments +MNV9 syn match mnvWincmd "\s\=\\ze\s\+=\s*\%([#|]\|$\)" skipwhite nextgroup=mnvWincmdArg + +" Syntax: {{{2 +"======= +syn region mnvGroupList contained + \ start="\S" + \ skip=+\n\s*\%(\\\|["#]\\ \)+ + "\ need to consume the whitespace + \ end="\s"he=e-1 + \ end="$" + \ contains=@mnvGroupListContinue,mnvGroupSpecial,mnvGroupListContinueComma +syn keyword mnvGroupSpecial contained ALL ALLBUT CONTAINED TOP +syn match mnvGroupListComma contained "," +syn match mnvGroupListContinueComma contained "\s\+,\s*\|,\s\+" contains=mnvGroupListComma +syn match mnvGroupListContinueComma contained "\s*,\s*\%(\n\s*\%(\\\s\+\|["#]\\ .*\)\)\+" contains=@mnvGroupListContinue,mnvGroupListComma + +syn match mnvGroupListEquals contained "=" skipwhite skipnl nextgroup=mnvGroupListContinueStart,mnvGroupList +" the first continuation line does not terminate the list at whitepace after \ +syn match mnvGroupListContinueStart contained "^\%(\s*["#]\\ .*\n\)*\s*\\\s\+" skipwhite nextgroup=mnvGroupList contains=@mnvGroupListContinue transparent + +syn match mnvGroupListContinue contained "^\s*\\" skipwhite skipnl nextgroup=@mnvGroupListContinue,mnvGroupListContinueComma contains=mnvWhitespace +syn match mnvGroupListContinueComment contained '^\s*["#]\\ .*' skipwhite skipnl nextgroup=@mnvGroupListContinue contains=mnvWhitespace +syn cluster mnvGroupListContinue contains=mnvGroupListContinue,mnvGroupListContinueComment + +if !exists("g:mnvsyn_noerror") && !exists("g:mnvsyn_nomnvsynerror") + syn match mnvSynError contained "\i\+" +endif +syn match mnvSynContains contained "\" skipwhite nextgroup=mnvGroupListEquals +syn match mnvSynContainedin contained "\" skipwhite nextgroup=mnvGroupListEquals +syn match mnvSynNextgroup contained "\" skipwhite nextgroup=mnvGroupListEquals +if has("conceal") + " no whitespace allowed after '=' + syn match mnvSynCchar contained "\" contains=mnvCommand skipwhite nextgroup=mnvSynType,@mnvComment +syn cluster mnvFunctionBodyList add=mnvSyntax + +" Syntax: case {{{2 +syn keyword mnvSynType contained case skipwhite nextgroup=mnvSynCase,mnvSynCaseError +if !exists("g:mnvsyn_noerror") && !exists("g:mnvsyn_nomnvsyncaseerror") + syn match mnvSynCaseError contained "\i\+" +endif +syn keyword mnvSynCase contained ignore match + +" Syntax: clear {{{2 +syn keyword mnvSynType contained clear + +" Syntax: cluster {{{2 +syn keyword mnvSynType contained cluster skipwhite nextgroup=mnvClusterName +syn region mnvClusterName contained keepend matchgroup=mnvGroupName start="\h\w*\>" skip=+\\\\\|\\\|\n\s*\%(\\\|"\\ \)+ matchgroup=mnvCmdSep end="$\||" contains=@mnvContinue,mnvGroupAdd,mnvGroupRem,mnvSynContains,mnvSynError +syn match mnvGroupAdd contained "\" skipwhite nextgroup=mnvGroupListEquals +syn match mnvGroupRem contained "\" skipwhite nextgroup=mnvGroupListEquals + +" Syntax: conceal {{{2 +syn match mnvSynType contained "\" skipwhite nextgroup=mnvSynConceal,mnvSynConcealError +if !exists("g:mnvsyn_noerror") && !exists("g:mnvsyn_nomnvsynconcealerror") + syn match mnvSynConcealError contained "\i\+" +endif +syn keyword mnvSynConceal contained on off + +" Syntax: foldlevel {{{2 +syn keyword mnvSynType contained foldlevel skipwhite nextgroup=mnvSynFoldlevel,mnvSynFoldlevelError +if !exists("g:mnvsyn_noerror") && !exists("g:mnvsyn_nomnvsynfoldlevelerror") + syn match mnvSynFoldlevelError contained "\i\+" +endif +syn keyword mnvSynFoldlevel contained start minimum + +" Syntax: iskeyword {{{2 +syn keyword mnvSynType contained iskeyword skipwhite nextgroup=mnvSynIskeyword +syn keyword mnvSynIskeyword contained clear +syn match mnvSynIskeyword contained "\S\+" contains=mnvSynIskeywordSep +syn match mnvSynIskeywordSep contained "," + +" Syntax: include {{{2 +syn keyword mnvSynType contained include skipwhite nextgroup=mnvSynIncludeCluster +syn match mnvSynIncludeCluster contained "@[_a-zA-Z0-9]\+\>" + +" Syntax: keyword {{{2 +syn cluster mnvSynKeyGroup contains=@mnvContinue,mnvSynCchar,mnvSynNextgroup,mnvSynKeyOpt,mnvSynContainedin +syn keyword mnvSynType contained keyword skipwhite nextgroup=mnvSynKeyRegion +syn region mnvSynKeyRegion contained keepend matchgroup=mnvGroupName start="\h\w*\>" skip=+\\\\\|\\|\|\n\s*\%(\\\|"\\ \)+ matchgroup=mnvCmdSep end="|\|$" contains=@mnvSynKeyGroup +syn match mnvSynKeyOpt contained "\%#=1\<\%(conceal\|contained\|transparent\|skipempty\|skipwhite\|skipnl\)\>" + +" Syntax: match {{{2 +syn cluster mnvSynMtchGroup contains=@mnvContinue,mnvSynCchar,mnvSynContains,mnvSynContainedin,mnvSynError,mnvSynMtchOpt,mnvSynNextgroup,mnvSynRegPat,mnvNotation,mnvMtchComment +syn keyword mnvSynType contained match skipwhite nextgroup=mnvSynMatchRegion +syn region mnvSynMatchRegion contained keepend matchgroup=mnvGroupName start="\h\w*\>" skip=+\\\\\|\\|\|\n\s*\%(\\\|"\\ \)+ matchgroup=mnvCmdSep end="|\|$" contains=@mnvSynMtchGroup +syn match mnvSynMtchOpt contained "\%#=1\<\%(conceal\|transparent\|contained\|excludenl\|keepend\|skipempty\|skipwhite\|display\|extend\|skipnl\|fold\)\>" + +" Syntax: off and on {{{2 +syn keyword mnvSynType contained enable list manual off on reset + +" Syntax: region {{{2 +syn cluster mnvSynRegPatGroup contains=@mnvContinue,mnvPatSep,mnvNotPatSep,mnvSynPatRange,mnvSynNotPatRange,mnvSubstSubstr,mnvPatRegion,mnvPatSepErr,mnvNotation +syn cluster mnvSynRegGroup contains=@mnvContinue,mnvSynCchar,mnvSynContains,mnvSynContainedin,mnvSynNextgroup,mnvSynRegOpt,mnvSynReg,mnvSynMtchGrp +syn keyword mnvSynType contained region skipwhite nextgroup=mnvSynRegion +syn region mnvSynRegion contained keepend matchgroup=mnvGroupName start="\h\w*" skip=+\\\\\|\\|\|\n\s*\%(\\\|"\\ \)+ matchgroup=mnvCmdSep end="|\|$" contains=@mnvSynRegGroup +syn match mnvSynRegOpt contained "\%#=1\<\%(conceal\%(ends\)\=\|transparent\|contained\|excludenl\|skipempty\|skipwhite\|display\|keepend\|oneline\|extend\|skipnl\|fold\)\>" +syn match mnvSynReg contained "\<\%(start\|skip\|end\)=" nextgroup=mnvSynRegPat +syn match mnvSynMtchGrp contained "matchgroup=" nextgroup=mnvGroup,mnvHLGroup +syn region mnvSynRegPat contained extend start="\z([-`~!@#$%^&*_=+;:'",./?]\)" skip=/\\\\\|\\\z1\|\n\s*\%(\\\|"\\ \)/ end="\z1" contains=@mnvSynRegPatGroup skipwhite nextgroup=mnvSynPatMod,mnvSynReg +syn match mnvSynPatMod contained "\%#=1\%(hs\|ms\|me\|hs\|he\|rs\|re\)=[se]\%([-+]\d\+\)\=" +syn match mnvSynPatMod contained "\%#=1\%(hs\|ms\|me\|hs\|he\|rs\|re\)=[se]\%([-+]\d\+\)\=," nextgroup=mnvSynPatMod +syn match mnvSynPatMod contained "lc=\d\+" +syn match mnvSynPatMod contained "lc=\d\+," nextgroup=mnvSynPatMod +syn region mnvSynPatRange contained start="\[" skip="\\\\\|\\]" end="]" +syn match mnvSynNotPatRange contained "\\\\\|\\\[" +syn match mnvMtchComment contained '"[^"]\+$' + +" Syntax: spell {{{2 +syn keyword mnvSynType contained spell skipwhite nextgroup=mnvSynSpell,mnvSynSpellError +if !exists("g:mnvsyn_noerror") && !exists("g:mnvsyn_nomnvsynspellerror") + syn match mnvSynSpellError contained "\i\+" +endif +syn keyword mnvSynSpell contained default notoplevel toplevel + +" Syntax: sync {{{2 +" ============ +syn keyword mnvSynType contained sync skipwhite nextgroup=mnvSyncClear,mnvSyncMatch,mnvSyncError,mnvSyncRegion,mnvSyncArgs +if !exists("g:mnvsyn_noerror") && !exists("g:mnvsyn_nomnvsyncerror") + syn match mnvSyncError contained "\i\+" +endif + +syn region mnvSyncArgs contained start="\S" skip=+\\\\\|\\|\|\n\s*\%(\\\|"\\ \)+ matchgroup=mnvCmdSep end="|\|$" contains=mnvSyncLines,mnvSyncLinebreak,mnvSyncLinecont,mnvSyncFromstart,mnvSyncCcomment + +syn keyword mnvSyncCcomment contained ccomment skipwhite nextgroup=mnvGroupName +syn keyword mnvSyncClear contained clear skipwhite nextgroup=mnvSyncGroupName +syn keyword mnvSyncFromstart contained fromstart +syn keyword mnvSyncMatch contained match skipwhite nextgroup=mnvSyncGroupName +syn keyword mnvSyncRegion contained region skipwhite nextgroup=mnvSynRegion +syn match mnvSyncLinebreak contained "\" skipwhite nextgroup=mnvSyncKey +syn match mnvSyncKey contained "\" skipwhite nextgroup=mnvSyncGroup +syn match mnvSyncKey contained "\" skipwhite nextgroup=mnvSyncGroup +syn match mnvSyncGroup contained "\<\h\w*\>" skipwhite nextgroup=mnvSynRegPat,mnvSyncNone +syn keyword mnvSyncNone contained NONE + +" Syntime: {{{2 +" ======= +syn keyword mnvSyntimeArg contained on off clear report skipwhite nextgroup=mnvComment,mnv9Comment,mnvCmdSep +syn keyword mnvSyntime synti[me] skipwhite nextgroup=mnvSyntimeArg +" Additional IsCommand: here by reasons of precedence {{{2 +" ==================== +syn match mnvIsCommand "\s*\a\+" transparent contains=mnvCommand,mnvNotation + +" Highlighting: {{{2 +" ============ +syn cluster mnvHighlightCluster contains=mnvHiLink,mnvHiClear,mnvHiKeyList,@mnvComment +if !exists("g:mnvsyn_noerror") && !exists("g:mnvsyn_nomnvhictermerror") + syn match mnvHiCtermError contained "\D\i*" +endif +syn match mnvHighlight "\" skipwhite nextgroup=mnvHiBang,@mnvHighlightCluster +syn match mnvHiBang contained "\a\@1<=!" skipwhite nextgroup=@mnvHighlightCluster + +syn case ignore +" Conceal is a generated low-priority match +syn match mnvHiGroup contained "\%(\\)\@!\i\+" +syn keyword mnvHiNone contained NONE +syn keyword mnvHiAttrib contained none bold inverse italic nocombine reverse standout strikethrough underline undercurl underdashed underdotted underdouble +syn keyword mnvFgBgAttrib contained none bg background fg foreground +syn case match +syn match mnvHiAttribList contained "\i\+" contains=mnvHiAttrib +syn match mnvHiAttribList contained "\i\+,"he=e-1 contains=mnvHiAttrib nextgroup=mnvHiAttribList +syn case ignore +syn keyword mnvHiCtermColor contained black blue brown cyan darkblue darkcyan darkgray darkgreen darkgrey darkmagenta darkred darkyellow gray green grey grey40 grey50 grey90 lightblue lightcyan lightgray lightgreen lightgrey lightmagenta lightred lightyellow magenta red seagreen white yellow +syn match mnvHiCtermColor contained "\" +syn case match + +syn match mnvHiFontname contained "[a-zA-Z\-*]\+" +syn match mnvHiGuiFontname contained "'[a-zA-Z\-* ]\+'" +syn match mnvHiGuiRgb contained "#\x\{6}" + +" Highlighting: hi group key=arg ... {{{2 +syn cluster mnvHiCluster contains=mnvGroup,mnvHLGroup,mnvHiGroup,mnvHiNone,mnvHiTerm,mnvHiCTerm,mnvHiStartStop,mnvHiCtermFgBg,mnvHiCtermul,mnvHiCtermfont,mnvHiGui,mnvHiGuiFont,mnvHiGuiFgBg,mnvHiKeyError,mnvNotation,mnvComment,mnv9comment +syn region mnvHiKeyList contained start="\i\+" skip=+\\\\\|\\|\|\n\s*\%(\\\|"\\ \)+ matchgroup=mnvCmdSep end="|" excludenl end="$" contains=@mnvContinue,@mnvHiCluster +if !exists("g:mnvsyn_noerror") && !exists("g:mnvsyn_mnvhikeyerror") + syn match mnvHiKeyError contained "\i\+="he=e-1 +endif +syn match mnvHiTerm contained "\cterm="he=e-1 nextgroup=mnvHiAttribList +syn match mnvHiStartStop contained "\c\%(start\|stop\)="he=e-1 nextgroup=mnvHiTermcap,mnvOption +syn match mnvHiCTerm contained "\ccterm="he=e-1 nextgroup=mnvHiAttribList +syn match mnvHiCtermFgBg contained "\ccterm[fb]g="he=e-1 nextgroup=mnvHiNmbr,mnvHiCtermColor,mnvFgBgAttrib,mnvHiCtermError +syn match mnvHiCtermul contained "\cctermul="he=e-1 nextgroup=mnvHiNmbr,mnvHiCtermColor,mnvFgBgAttrib,mnvHiCtermError +syn match mnvHiCtermfont contained "\cctermfont="he=e-1 nextgroup=mnvHiNmbr,mnvHiCtermColor,mnvFgBgAttrib,mnvHiCtermError +syn match mnvHiGui contained "\cgui="he=e-1 nextgroup=mnvHiAttribList +syn match mnvHiGuiFont contained "\cfont="he=e-1 nextgroup=mnvHiFontname +syn match mnvHiGuiFgBg contained "\cgui\%([fb]g\|sp\)="he=e-1 nextgroup=mnvHiGroup,mnvHiGuiFontname,mnvHiGuiRgb,mnvFgBgAttrib +syn match mnvHiTermcap contained "\S\+" contains=mnvNotation +syn match mnvHiNmbr contained '\d\+' + +" Highlight: clear {{{2 +syn keyword mnvHiClear contained clear skipwhite nextgroup=mnvGroup,mnvHLGroup,mnvHiGroup + +" Highlight: link {{{2 +" see tst24 (hi def vs hi) (Jul 06, 2018) +"syn region mnvHiLink contained oneline matchgroup=mnvCommand start="\(\\|\\)" end="$" contains=mnvHiGroup,mnvGroup,mnvHLGroup,mnvNotation +" TODO: simplify and allow line continuations --djk +syn region mnvHiLink contained matchgroup=Type start="\%(\\|\\)" skip=+\\\\\|\\|\|\n\s*\%(\\\|"\\ \)+ matchgroup=mnvCmdSep end="|" excludenl end="$" contains=@mnvContinue,@mnvHiCluster + +" Control Characters: {{{2 +" ================== +syn match mnvCtrlChar "[- -]" + +" Embedded Scripts: {{{2 +" ================ +" perl,ruby : Benoit Cerrina +" python,tcl : Johannes Zellner +" mzscheme, lua : Charles Campbell + +" Allows users to specify the type of embedded script highlighting +" they want: (lua/mzscheme/perl/python/ruby/tcl support) +" g:mnvsyn_embed == 0 : don't embed any scripts +" g:mnvsyn_embed =~# 'l' : embed Lua +" g:mnvsyn_embed =~# 'm' : embed MzScheme +" g:mnvsyn_embed =~# 'p' : embed Perl +" g:mnvsyn_embed =~# 'P' : embed Python +" g:mnvsyn_embed =~# 'r' : embed Ruby +" g:mnvsyn_embed =~# 't' : embed Tcl + +let s:interfaces = get(g:, "mnvsyn_embed", "lP") + +" [-- lua --] {{{3 +if s:interfaces =~# 'l' + syn include @mnvLuaScript syntax/lua.mnv + unlet b:current_syntax +endif + +syn keyword mnvLua lua skipwhite nextgroup=mnvLuaHeredoc,mnvLuaStatement +syn keyword mnvLua luado skipwhite nextgroup=mnvLuaStatement +syn keyword mnvLua luafile + +syn region mnvLuaStatement contained + \ start="\S" + \ skip=+\n\s*\%(\\\|["#]\\ \)+ + \ end="$" + \ contains=@mnvLuaScript,@mnvContinue +MNVFoldl syn region mnvLuaHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+<<\s*\z(\S\+\)\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\z1$+ + \ contains=@mnvLuaScript +MNVFoldl syn region mnvLuaHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+<<\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\.$+ + \ contains=@mnvLuaScript +MNVFoldl syn region mnvLuaHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\s\+\z(\S\+\)\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\z1\=\z2$+ + \ contains=@mnvLuaScript +MNVFoldl syn region mnvLuaHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\z1\=\.$+ + \ contains=@mnvLuaScript + +" [-- mzscheme --] {{{3 +if s:interfaces =~# 'm' + let s:iskKeep = &l:isk + syn include @mnvMzSchemeScript syntax/scheme.mnv + unlet b:current_syntax + let &l:isk = s:iskKeep +endif + +syn keyword mnvMzScheme mz[scheme] skipwhite nextgroup=mnvMzSchemeHeredoc,mnvMzSchemeStatement +syn keyword mnvMzScheme mzf[ile] + +syn region mnvMzSchemeStatement contained + \ start="\S" + \ skip=+\n\s*\%(\\\|["#]\\ \)+ + \ end="$" + \ contains=@mnvMzSchemeScript,@mnvContinue +MNVFoldm syn region mnvMzSchemeHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+<<\s*\z(\S\+\)\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\z1$+ + \ contains=@mnvMzSchemeScript +MNVFoldm syn region mnvMzSchemeHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+<<\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\.$+ + \ contains=@mnvMzSchemeScript +MNVFoldm syn region mnvMzSchemeHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\s\+\z(\S\+\)\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\z1\=\z2$+ + \ contains=@mnvMzSchemeScript +MNVFoldm syn region mnvMzSchemeHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\z1\=\.$+ + \ contains=@mnvMzSchemeScript + +" [-- perl --] {{{3 +if s:interfaces =~# 'p' + syn include @mnvPerlScript syntax/perl.mnv + unlet b:current_syntax +endif + +syn keyword mnvPerl pe[rl] skipwhite nextgroup=mnvPerlHeredoc,mnvPerlStatement +syn keyword mnvPerl perld[o] skipwhite nextgroup=mnvPerlStatement + +syn region mnvPerlStatement contained + \ start="\S" + \ skip=+\n\s*\%(\\\|["#]\\ \)+ + \ end="$" + \ contains=@mnvPerlScript,@mnvContinue +MNVFoldp syn region mnvPerlHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+<<\s*\z(\S\+\)\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\z1$+ contains=@mnvPerlScript +MNVFoldp syn region mnvPerlHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+<<\ze\s*$+ matchgroup=mnvScriptHeredocStop + \ end=+^\.$+ + \ contains=@mnvPerlScript +MNVFoldp syn region mnvPerlHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\s\+\z(\S\+\)\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\z1\=\z2$+ + \ contains=@mnvPerlScript +MNVFoldp syn region mnvPerlHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\z1\=\.$+ + \ contains=@mnvPerlScript + +" [-- python --] {{{3 +if s:interfaces =~# 'P' + syn include @mnvPythonScript syntax/python2.mnv + unlet b:current_syntax +endif + +syn keyword mnvPython py[thon] skipwhite nextgroup=mnvPythonHeredoc,mnvPythonStatement +syn keyword mnvPython pydo skipwhite nextgroup=mnvPythonStatement +syn keyword mnvPython pyfile + +syn region mnvPythonStatement contained + \ start="\S" + \ skip=+\n\s*\%(\\\|["#]\\ \)+ + \ end="$" + \ contains=@mnvPythonScript,@mnvContinue +MNVFoldP syn region mnvPythonHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+<<\s*\z(\S\+\)\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\z1$+ + \ contains=@mnvPythonScript +MNVFoldP syn region mnvPythonHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+<<\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\.$+ + \ contains=@mnvPythonScript +MNVFoldP syn region mnvPythonHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\s\+\z(\S\+\)\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\z1\=\z2$+ + \ contains=@mnvPythonScript +MNVFoldP syn region mnvPythonHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\z1\=\.$+ + \ contains=@mnvPythonScript + +" [-- python3 --] {{{3 +if s:interfaces =~# 'P' + syn include @mnvPython3Script syntax/python.mnv + unlet b:current_syntax +endif + +syn keyword mnvPython3 python3 py3 skipwhite nextgroup=mnvPython3Heredoc,mnvPython3Statement +syn keyword mnvPython3 py3do skipwhite nextgroup=mnvPython3Statement +syn keyword mnvPython3 py3file + +syn region mnvPython3Statement contained + \ start="\S" + \ skip=+\n\s*\%(\\\|["#]\\ \)+ + \ end="$" + \ contains=@mnvPython3Script,@mnvContinue +MNVFoldP syn region mnvPython3Heredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+<<\s*\z(\S\+\)\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\z1$+ + \ contains=@mnvPython3Script +MNVFoldP syn region mnvPython3Heredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+<<\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\.$+ + \ contains=@mnvPython3Script +MNVFoldP syn region mnvPython3Heredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\s\+\z(\S\+\)\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\z1\=\z2$+ + \ contains=@mnvPython3Script +MNVFoldP syn region mnvPython3Heredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\z1\=\.$+ + \ contains=@mnvPython3Script + +" [-- pythonx --] {{{3 +if s:interfaces =~# 'P' + if &pyxversion == 2 + syn cluster mnvPythonXScript contains=@mnvPythonScript + else + syn cluster mnvPythonXScript contains=@mnvPython3Script + endif +endif + +syn keyword mnvPythonX pythonx pyx skipwhite nextgroup=mnvPythonXHeredoc,mnvPythonXStatement +syn keyword mnvPythonX pyxdo skipwhite nextgroup=mnvPythonXStatement +syn keyword mnvPythonX pyxfile + +syn region mnvPythonXStatement contained + \ start="\S" + \ skip=+\n\s*\%(\\\|["#]\\ \)+ + \ end="$" + \ contains=@mnvPythonXScript,@mnvContinue +MNVFoldP syn region mnvPythonXHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+<<\s*\z(\S\+\)\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\z1$+ + \ contains=@mnvPythonXScript +MNVFoldP syn region mnvPythonXHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+<<\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\.$+ + \ contains=@mnvPythonXScript +MNVFoldP syn region mnvPythonXHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\s\+\z(\S\+\)\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\z1\=\z2$+ + \ contains=@mnvPythonXScript +MNVFoldP syn region mnvPythonXHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\z1\=\.$+ + \ contains=@mnvPythonXScript + +" [-- ruby --] {{{3 +if s:interfaces =~# 'r' + syn include @mnvRubyScript syntax/ruby.mnv + unlet b:current_syntax +endif + +syn keyword mnvRuby rub[y] skipwhite nextgroup=mnvRubyHeredoc,mnvRubyStatement +syn keyword mnvRuby rubyd[o] skipwhite nextgroup=mnvRubyStatement +syn keyword mnvRuby rubyf[ile] + +syn region mnvRubyStatement contained + \ start="\S" + \ skip=+\n\s*\%(\\\|["#]\\ \)+ + \ end="$" + \ contains=@mnvRubyScript,@mnvContinue +MNVFoldr syn region mnvRubyHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+<<\s*\z(\S\+\)\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\z1$+ + \ contains=@mnvRubyScript +MNVFoldr syn region mnvRubyHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+<<\ze\s*$+ matchgroup=mnvScriptHeredocStop + \ end=+^\.$+ + \ contains=@mnvRubyScript +MNVFoldr syn region mnvRubyHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\s\+\z(\S\+\)\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\z1\=\z2$+ + \ contains=@mnvRubyScript +MNVFoldr syn region mnvRubyHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\z1\.$+ + \ contains=@mnvRubyScript + +" [-- tcl --] {{{3 +if s:interfaces =~# 't' + syn include @mnvTclScript syntax/tcl.mnv + unlet b:current_syntax +endif + +syn keyword mnvTcl tcl skipwhite nextgroup=mnvTclHeredoc,mnvTclStatement +syn keyword mnvTcl tcld[o] skipwhite nextgroup=mnvTclStatement +syn keyword mnvTcl tclf[ile] +syn region mnvTclStatement contained + \ start="\S" + \ skip=+\n\s*\%(\\\|["#]\\ \)+ + \ end="$" + \ contains=@mnvTclScript,@mnvContinue +MNVFoldt syn region mnvTclHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+<<\s*\z(\S\+\)\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\z1$+ + \ contains=@mnvTclScript +MNVFoldt syn region mnvTclHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+<<\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\.$+ + \ contains=@mnvTclScript +MNVFoldt syn region mnvTclHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\s\+\z(\S\+\)\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\z1\=\z2$+ + \ contains=@mnvTclScript +MNVFoldt syn region mnvTclHeredoc contained + \ matchgroup=mnvScriptHeredocStart + \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\ze\s*$+ + \ matchgroup=mnvScriptHeredocStop + \ end=+^\z1\=\.$+ + \ contains=@mnvTclScript + +unlet s:interfaces +" Function Call Highlighting: {{{2 +" (following Gautam Iyer's suggestion) +" ========================== +syn match mnvFunc contained "\<\l\w*\ze\s*(" skipwhite nextgroup=mnvOperParen contains=mnvFuncName +syn match mnvUserFunc contained "\.\@1<=\l\w*\ze\%(\s*(\|<.*>(\)" skipwhite nextgroup=mnvOperParen,mnv9TypeArgs +syn match mnvUserFunc contained "\<\%([[:upper:]_]\|\%(\h\w*\.\)\+\h\)\w*\ze\%(\s*(\|<.*>(\)" skipwhite nextgroup=mnvOperParen,mnv9TypeArgs contains=mnv9MethodName,mnv9Super,mnv9This +syn match mnvUserFunc contained "\<\%(g:\)\=\%(\h\w*#\)\+\h\w*\ze\%(\s*(\|<.*>(\)" skipwhite nextgroup=mnvOperParen contains=mnvVarScope +syn match mnvUserFunc contained "\%(\<[sgbwtlav]:\|<[sS][iI][dD]>\)\%(\h\w*\.\)*\h\w*\ze\%(\s*(\|<.*>(\)" skipwhite nextgroup=mnvOperParen,mnv9TypeArgs contains=mnvVarScope,mnvNotation + +MNV9 syn match mnv9UserFunc "^\s*\zs\%([sgbwtv]:\|<[sS][iI][dD]>\)\=\%(\h\w*[.#]\)*\h\w*\ze[<(]" skipwhite nextgroup=mnvOperParen,mnv9TypeArgs contains=mnvVarScope,mnvNotation,mnv9MethodName,mnv9Super,mnv9This +MNV9 syn match mnv9Func "^\s*\zs\l\w*\ze(" skipwhite nextgroup=mnvOperParen contains=mnvFuncName + +syn cluster mnvFunc contains=mnvFunc,mnvUserFunc +syn cluster mnv9Func contains=mnv9Func,mnv9UserFunc + +syn region mnv9TypeArgs contained + \ matchgroup=Delimiter + \ start="<\ze\a" + \ end=">" + \ nextgroup=mnvOperParen + \ contains=@mnvType + \ oneline + +" Beginners - Patterns that involve ^ {{{2 +" ========= +MNV9 syn region mnv9LineComment start=+^[ \t:]*\zs#.*$+ skip=+\n\s*\%(\\\|#\\ \)+ end="$" contains=@mnvCommentGroup,mnvCommentString,mnv9CommentTitle extend +MNVL syn region mnvLineComment start=+^[ \t:]*\zs".*$+ skip=+\n\s*\%(\\\|"\\ \)+ end="$" contains=@mnvCommentGroup,mnvCommentString,mnvCommentTitle extend + +syn match mnvCommentTitle '"\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1 contained contains=mnvCommentTitleLeader,mnvTodo,@mnvCommentGroup +syn match mnv9CommentTitle '#\s*\%([sS]:\|\h\w*#\)\=\%([A-DF-Z]\w*\|E\%(\d\{1,4}\>\)\@!\w*\)\(\s\+\u\w*\)*:'hs=s+1 contained contains=mnv9CommentTitleLeader,mnvTodo,@mnvCommentGroup + +" allowed anywhere in the file +if !s:mnv9script + syn match mnvShebangError "^\s*\zs#!.*" display +endif +syn match mnvShebang "\%^#!.*" display + +syn match mnvContinue "^\s*\zs\\" +syn match mnvContinueComment '^\s*\zs["#]\\ .*' extend +syn match mnv9ContinueComment "^\s*\zs#\\ .*" extend +syn cluster mnvContinue contains=mnvContinue,mnvContinueComment +syn cluster mnv9Continue contains=mnvContinue,mnv9ContinueComment + +syn region mnvString start='^\s*\\"' end='"' oneline keepend contains=@mnvStringGroup,mnvContinue +syn region mnvString start="^\s*\\'" end="'" oneline keepend contains=mnvQuoteEscape,mnvContinue + +syn match mnvCommentTitleLeader '"\s\+'ms=s+1 contained +syn match mnv9CommentTitleLeader '#\s\+'ms=s+1 contained + +" Searches And Globals: {{{2 +" ==================== +MNVL syn match mnvSearch '^\s*[/?].*' contains=mnvSearchDelim +syn match mnvSearchDelim '^\s*\zs[/?]\|[/?]$' contained +MNV9 syn match mnv9Search '^\s*:[/?].*' contains=mnv9SearchDelim +syn match mnv9SearchDelim '^\s*\zs:[/?]\|[/?]$' contained contains=mnvCmdSep +syn region mnvGlobal matchgroup=Statement start='\\s\+[eE][nN][dD]" + +" ==================== +" Highlighting Settings {{{2 +" ==================== + +if !exists("skip_mnv_syntax_inits") + if !exists("g:mnvsyn_noerror") + hi def link mnvBehaveError mnvError + hi def link mnvCollClassErr mnvError + hi def link mnvErrSetting mnvError + hi def link mnvFTError mnvError + hi def link mnvFunctionError mnvError + hi def link mnvFunc mnvError + hi def link mnv9Func mnvError + hi def link mnvHiAttribList mnvError + hi def link mnvHiCtermError mnvError + hi def link mnvHiKeyError mnvError + hi def link mnvMapModErr mnvError + hi def link mnvMarkArgError mnvError + hi def link mnvShebangError mnvError + hi def link mnvSortOptionsError Error + hi def link mnvSubstFlagErr mnvError + hi def link mnvSynCaseError mnvError + hi def link mnvSyncError mnvError + hi def link mnvSynConcealError mnvError + hi def link mnvSynError mnvError + hi def link mnvSynFoldlevelError mnvError + hi def link mnvSynIskeywordError mnvError + hi def link mnvSynSpellError mnvError + hi def link mnvBufnrWarn mnvWarn + + hi def link mnv9TypeAliasError mnvError + endif + + hi def link mnvAbb mnvCommand + hi def link mnvAddress mnvMark + hi def link mnvAt mnvCommand + hi def link mnvAtArg Special + hi def link mnvAugroupBang mnvBang + hi def link mnvAugroupError mnvError + hi def link mnvAugroupKey mnvCommand + hi def link mnvAutocmd mnvCommand + hi def link mnvAutocmdBang mnvBang + hi def link mnvAutocmdPatternEscape Special + hi def link mnvAutoEvent Type + hi def link mnvAutoEventGlob Type + hi def link mnvAutocmdBufferPattern Special + hi def link mnvAutocmdMod Special + hi def link mnvAutocmdPatternSep mnvSep + hi def link mnvBang mnvOper + hi def link mnvBehaveBang mnvBang + hi def link mnvBehaveModel mnvBehave + hi def link mnvBehave mnvCommand + hi def link mnvBracket Delimiter + hi def link mnvBreakaddFunc Special + hi def link mnvBreakaddFile Special + hi def link mnvBreakaddHere Special + hi def link mnvBreakaddExpr Special + hi def link mnvBreakpointGlob Special + hi def link mnvBreakadd mnvCommand + hi def link mnvBreakdel mnvCommand + hi def link mnvBreaklist mnvCommand + hi def link mnvCall mnvCommand + hi def link mnvCatch mnvCommand + hi def link mnvCd mnvCommand + hi def link mnvCdBang mnvBang + hi def link mnvCmplxRepeat SpecialChar + hi def link mnvCommand Statement + hi def link mnvCommandModifier mnvCommand + hi def link mnvCommandModifierBang mnvBang + hi def link mnvComment Comment + hi def link mnvCommentError mnvError + hi def link mnvCommentString mnvString + hi def link mnvCommentTitle PreProc + hi def link mnvCondHL mnvCommand + hi def link mnvConst mnvCommand + hi def link mnvContinue Special + hi def link mnvContinueComment mnvComment + hi def link mnvContinueString mnvString + hi def link mnvCount Number + hi def link mnvCtrlChar SpecialChar + hi def link mnvDebug mnvCommand + hi def link mnvDebuggreedy mnvCommand + hi def link mnvDef mnvCommand + hi def link mnvDefBang mnvBang + hi def link mnvDefComment mnv9Comment + hi def link mnvDefer mnvCommand + hi def link mnvDefParam mnvVar + hi def link mnvDelcommand mnvCommand + hi def link mnvDelcommandAttr mnvUserCmdAttr + hi def link mnvDelfunction mnvCommand + hi def link mnvDelfunctionBang mnvBang + hi def link mnvDoautocmd mnvCommand + hi def link mnvDoautocmdMod Special + hi def link mnvDoCommand mnvCommand + hi def link mnvDoCommandBang mnvBang + hi def link mnvEcho mnvCommand + hi def link mnvEchohlNone mnvGroup + hi def link mnvEchohl mnvCommand + hi def link mnvElse mnvCommand + hi def link mnvElseIfErr Error + hi def link mnvEndfunction mnvCommand + hi def link mnvEnddef mnvCommand + hi def link mnvEndif mnvCommand + hi def link mnvEnvvar PreProc + hi def link mnvError Error + hi def link mnvEscape Special + hi def link mnvEval mnvCommand + hi def link mnvExFilter mnvCommand + hi def link mnvExFilterBang mnvBang + hi def link mnvExMark mnvCommand + hi def link mnvFBVar mnvVar + hi def link mnvFgBgAttrib mnvHiAttrib + hi def link mnvFuncEcho mnvCommand + hi def link mnvFor mnvCommand + hi def link mnvForInContinue mnvContinue + hi def link mnvForInContinueComment mnvContinueComment + hi def link mnvFTCmd mnvCommand + hi def link mnvFTOption mnvSynType + hi def link mnvFunction mnvCommand + hi def link mnvFunctionBang mnvBang + hi def link mnvFunctionComment mnvComment + hi def link mnvFuncName Function + hi def link mnvFunctionMod Special + hi def link mnvFunctionParam mnvVar + hi def link mnvFunctionParamEquals mnvOper + hi def link mnvFunctionScope mnvVarScope + hi def link mnvFunctionSID mnvNotation + hi def link mnvGrep mnvCommand + hi def link mnvGrepadd mnvCommand + hi def link mnvGrepBang mnvBang + hi def link mnvGroup Type + hi def link mnvGroupAdd mnvSynOption + hi def link mnvGroupListEquals mnvSynOption + hi def link mnvGroupListContinue mnvContinue + hi def link mnvGroupListContinueComment mnvContinueComment + hi def link mnvGroupName Normal + hi def link mnvGroupRem mnvSynOption + hi def link mnvGroupSpecial Special + hi def link mnvHelp mnvCommand + hi def link mnvHelpBang mnvBang + hi def link mnvHelpgrep mnvCommand + hi def link mnvHiAttrib PreProc + hi def link mnvHiBang mnvBang + hi def link mnvHiClear Type + hi def link mnvHiCtermColor Constant + hi def link mnvHiCtermFgBg mnvHiTerm + hi def link mnvHiCtermfont mnvHiTerm + hi def link mnvHiCtermul mnvHiTerm + hi def link mnvHiCTerm mnvHiTerm + hi def link mnvHighlight mnvCommand + hi def link mnvHiGroup mnvGroupName + hi def link mnvHiGuiFgBg mnvHiTerm + hi def link mnvHiGuiFont mnvHiTerm + hi def link mnvHiGuiRgb mnvNumber + hi def link mnvHiGui mnvHiTerm + hi def link mnvHiNmbr Number + hi def link mnvHiNone mnvGroup + hi def link mnvHiStartStop mnvHiTerm + hi def link mnvHiTerm Type + hi def link mnvHLGroup mnvGroup + hi def link mnvHistory mnvCommand + hi def link mnvHistoryName Special + hi def link mnvImport mnvCommand + hi def link mnvImportAutoload Special + hi def link mnvImportAs mnvImport + hi def link mnvInsert mnvString + hi def link mnv9KeymapLineComment mnvKeymapLineComment + hi def link mnvKeymapLineComment mnvComment + hi def link mnvKeymapTailComment mnvComment + hi def link mnvLambdaBrace Delimiter + hi def link mnvLambdaOperator mnvOper + hi def link mnvLanguage mnvCommand + hi def link mnvLanguageCategory Special + hi def link mnvLanguageNameReserved Constant + hi def link mnvLet mnvCommand + hi def link mnvLetHeredoc mnvString + hi def link mnvLetHeredocStart Special + hi def link mnvLetHeredocStop Special + hi def link mnvLetRegister mnvRegister + hi def link mnvLineComment mnvComment + hi def link mnvLua mnvCommand + hi def link mnvMake mnvCommand + hi def link mnvMakeadd mnvCommand + hi def link mnvMakeBang mnvBang + hi def link mnvMapBang mnvBang + hi def link mnvMapLeader mnvBracket + hi def link mnvMapLeaderKey mnvNotation + hi def link mnvMapModKey mnvFunctionSID + hi def link mnvMapMod mnvBracket + hi def link mnvMap mnvCommand + hi def link mnvMark Number + hi def link mnvMarkNumber mnvNumber + hi def link mnvMatch mnvCommand + hi def link mnvMatchGroup mnvGroup + hi def link mnvMatchNone mnvGroup + hi def link mnvMenuBang mnvBang + hi def link mnvMenuClear Special + hi def link mnvMenuMod mnvMapMod + hi def link mnvMenuName PreProc + hi def link mnvMenu mnvCommand + hi def link mnvMenuNotation mnvNotation + hi def link mnvMenuPriority Number + hi def link mnvMenuStatus Special + hi def link mnvMenutranslateComment mnvComment + hi def link mnv9MethodName mnvFuncName + hi def link mnvMtchComment mnvComment + hi def link mnvMzScheme mnvCommand + hi def link mnvNonText NonText + hi def link mnvNormal mnvCommand + hi def link mnvNotation Special + hi def link mnvNotFunc mnvCommand + hi def link mnvNotPatSep mnvString + hi def link mnvNumber Number + hi def link mnvOperError Error + hi def link mnvOper Operator + hi def link mnvOperContinue mnvContinue + hi def link mnvOperContinueComment mnvContinueComment + hi def link mnvOption PreProc + hi def link mnvOptionVar Identifier + hi def link mnvOptionVarName Identifier + hi def link mnvParenSep Delimiter + hi def link mnvPatSepErr mnvError + hi def link mnvPatSepR mnvPatSep + hi def link mnvPatSep SpecialChar + hi def link mnvPatSepZone mnvString + hi def link mnvPatSepZ mnvPatSep + hi def link mnvPattern Type + hi def link mnvPerl mnvCommand + hi def link mnvPlainMark mnvMark + hi def link mnvProfile mnvCommand + hi def link mnvProfileArg mnvSpecial + hi def link mnvProfileBang mnvBang + hi def link mnvProfdel mnvCommand + hi def link mnvProfdelArg mnvSpecial + hi def link mnvPrompt mnvCommand + hi def link mnvPython mnvCommand + hi def link mnvPython3 mnvCommand + hi def link mnvPythonX mnvCommand + hi def link mnvQuoteEscape mnvEscape + hi def link mnvRedir mnvCommand + hi def link mnvRedirBang mnvBang + hi def link mnvRedirFileOperator mnvOper + hi def link mnvRedirRegisterOperator mnvOper + hi def link mnvRedirVariableOperator mnvOper + hi def link mnvRedirEnd Special + hi def link mnvRedirRegister mnvRegister + hi def link mnvRegister SpecialChar + hi def link mnvRuby mnvCommand + hi def link mnvScriptDelim Comment + hi def link mnvScriptHeredocStart mnvLetHeredocStart + hi def link mnvScriptHeredocStop mnvLetHeredocStop + hi def link mnvSearch mnvString + hi def link mnvSearchDelim Delimiter + hi def link mnvSep Delimiter + hi def link mnvSet mnvCommand + hi def link mnvSetAll mnvOption + hi def link mnvSetBang mnvBang + hi def link mnvSetComment mnvComment + hi def link mnvSetMod mnvOption + hi def link mnvSetSep mnvSep + hi def link mnvSetTermcap mnvOption + hi def link mnvShebang PreProc + hi def link mnvSleep mnvCommand + hi def link mnvSleepArg Constant + hi def link mnvSleepBang mnvBang + hi def link mnvSort mnvCommand + hi def link mnvSortBang mnvBang + hi def link mnvSortOptions Special + hi def link mnvSpecFile Identifier + hi def link mnvSpecFileMod mnvSpecFile + hi def link mnvSpecial Type + hi def link mnvStringCont mnvString + hi def link mnvString String + hi def link mnvStringEnd mnvString + hi def link mnvStringInterpolationBrace mnvEscape + hi def link mnvSubst1 mnvSubst + hi def link mnvSubstCount Number + hi def link mnvSubstDelim Delimiter + hi def link mnvSubstFlags Special + hi def link mnvSubstSubstr SpecialChar + hi def link mnvSubstTwoBS mnvString + hi def link mnvSubst mnvCommand + hi def link mnvSynCase Type + hi def link mnvSyncCcomment Type + hi def link mnvSynCchar mnvSynOption + hi def link mnvSynCcharValue Character + hi def link mnvSyncClear Type + hi def link mnvSyncFromstart Type + hi def link mnvSyncGroup mnvGroupName + hi def link mnvSyncGroupName mnvGroupName + hi def link mnvSyncKey Type + hi def link mnvSyncLinebreak Type + hi def link mnvSyncLinecont Type + hi def link mnvSyncLines Type + hi def link mnvSyncMatch Type + hi def link mnvSyncNone Type + hi def link mnvSynConceal Type + hi def link mnvSynContains mnvSynOption + hi def link mnvSyncRegion Type + hi def link mnvSynFoldlevel Type + hi def link mnvSynIskeyword Type + hi def link mnvSynIskeywordSep Delimiter + hi def link mnvSynContainedin mnvSynContains + hi def link mnvSynKeyOpt mnvSynOption + hi def link mnvSynMtchGrp mnvSynOption + hi def link mnvSynMtchOpt mnvSynOption + hi def link mnvSynNextgroup mnvSynOption + hi def link mnvSynNotPatRange mnvSynRegPat + hi def link mnvSynOption Special + hi def link mnvSynPatRange mnvString + hi def link mnvSynReg Type + hi def link mnvSynRegOpt mnvSynOption + hi def link mnvSynRegPat mnvString + hi def link mnvSynSpell Type + hi def link mnvSyntax mnvCommand + hi def link mnvSynType mnvSpecial + hi def link mnvSyntime mnvCommand + hi def link mnvSyntimeArg mnvSpecial + hi def link mnvTcl mnvCommand + hi def link mnvTerminal mnvCommand + hi def link mnvTerminalContinue mnvContinue + hi def link mnvTerminalContinueComment mnvContinueComment + hi def link mnvTerminalOption mnvSpecial + hi def link mnvTerminalKillOptionArg Constant + hi def link mnvTerminalSizeOptionArg Constant + hi def link mnvTerminalTypeOptionArg Constant + hi def link mnvThrow mnvCommand + hi def link mnvTodo Todo + hi def link mnvType Type + hi def link mnvTypeAny mnvType + hi def link mnvTypeObject mnvType + hi def link mnvTypeObjectBracket mnvTypeObject + hi def link mnvUniq mnvCommand + hi def link mnvUniqBang mnvBang + hi def link mnvUniqOptions Special + hi def link mnvUnlet mnvCommand + hi def link mnvUnletBang mnvBang + hi def link mnvUnmap mnvMap + hi def link mnvUserCmd mnvCommand + hi def link mnvUserCmdAttrAddr mnvSpecial + hi def link mnvUserCmdAttrComplete mnvSpecial + hi def link mnvUserCmdAttrCompleteFunc mnvVar + hi def link mnvUserCmdAttrNargs mnvSpecial + hi def link mnvUserCmdAttrRange mnvSpecial + hi def link mnvUserCmdAttrKey mnvUserCmdAttr + hi def link mnvUserCmdAttr Special + hi def link mnvUserCmdAttrError Error + hi def link mnvUserCmdError Error + hi def link mnvUserCmdKey mnvCommand + hi def link mnvUserFunc Normal + hi def link mnvVar Normal + hi def link mnvVarScope Identifier + hi def link mnvMNVgrep mnvCommand + hi def link mnvMNVgrepadd mnvCommand + hi def link mnvMNVgrepBang mnvBang + hi def link mnvMNVgrepFlags Special + hi def link mnvMNVVar Identifier + hi def link mnvMNVVarName Identifier + hi def link mnvWarn WarningMsg + hi def link mnvWildcard Special + hi def link mnvWildcardBraceComma mnvWildcard + hi def link mnvWildcardBracket mnvWildcard + hi def link mnvWildcardBracketCaret mnvWildcard + hi def link mnvWildcardBracketCharacter Normal + hi def link mnvWildcardBracketCharacter Normal + hi def link mnvWildcardBracketCharacterClass mnvWildCard + hi def link mnvWildcardBracketCollatingSymbol mnvWildCard + hi def link mnvWildcardBracketEnd mnvWildcard + hi def link mnvWildcardBracketEquivalenceClass mnvWildCard + hi def link mnvWildcardBracketEscape mnvWildcard + hi def link mnvWildcardBracketHyphen mnvWildcard + hi def link mnvWildcardBracketRightBracket mnvWildcardBracketCharacter + hi def link mnvWildcardBracketStart mnvWildcard + hi def link mnvWildcardEscape mnvWildcard + hi def link mnvWildcardInterval mnvWildcard + hi def link mnvWildcardQuestion mnvWildcard + hi def link mnvWildcardStar mnvWildcard + hi def link mnvWinCmd mnvCommand + + hi def link mnv9Abstract mnvCommand + hi def link mnv9Boolean Boolean + hi def link mnv9Class mnvCommand + hi def link mnv9Comment Comment + hi def link mnv9CommentError mnvError + hi def link mnv9CommentTitle PreProc + hi def link mnv9ConstructorDefParam mnvVar + hi def link mnv9Const mnvCommand + hi def link mnv9ContinueComment mnvContinueComment + hi def link mnv9Enum mnvCommand + hi def link mnv9EnumImplementedInterfaceComment mnv9Comment + hi def link mnv9EnumImplements mnv9Implements + hi def link mnv9EnumNameComment mnv9Comment + hi def link mnv9EnumNameContinue mnvContinue + hi def link mnv9EnumNameContinueComment mnv9Comment + hi def link mnv9EnumValueListCommaComment mnv9Comment + hi def link mnv9Export mnvCommand + hi def link mnv9Extends Keyword + hi def link mnv9Final mnvCommand + hi def link mnv9For mnvCommand + hi def link mnv9ForInComment mnv9Comment + hi def link mnv9Implements Keyword + hi def link mnv9AbstractDef mnvCommand + hi def link mnv9Interface mnvCommand + hi def link mnv9LambdaOperator mnvOper + hi def link mnv9LambdaOperatorComment mnv9Comment + hi def link mnv9LambdaParen mnvParenSep + hi def link mnv9LhsRegister mnvLetRegister + hi def link mnv9LhsVariable mnvVar + hi def link mnv9LineComment mnvComment + hi def link mnv9MethodDef mnvCommand + hi def link mnv9MethodDefComment mnvDefComment + hi def link mnv9MethodNameError mnvFunctionError + hi def link mnv9Null Constant + hi def link mnv9Public mnvCommand + hi def link mnv9Search mnvString + hi def link mnv9SearchDelim Delimiter + hi def link mnv9Static mnvCommand + hi def link mnv9Super Identifier + hi def link mnv9This Identifier + hi def link mnv9Type mnvCommand + hi def link mnv9TypeEquals mnvOper + hi def link mnv9Variable mnvVar + hi def link mnv9VariableType mnvType + hi def link mnv9VariableTypeAny mnvTypeAny + hi def link mnv9VariableTypeObject mnvTypeObject + hi def link mnv9VariableTypeObjectBracket mnvTypeObjectBracket + hi def link mnv9Var mnvCommand + hi def link mnv9MNV9ScriptArg Special + hi def link mnv9MNV9Script mnvCommand + + hi def link mnvCompilerSet mnvCommand + hi def link mnvSynColor mnvCommand + hi def link mnvSynLink mnvCommand + hi def link mnvSynMenu mnvCommand + hi def link mnvSynMenuPath mnvMenuName +endif + +" Current Syntax Variable: {{{2 +let b:current_syntax = "mnv" + +" --------------------------------------------------------------------- +" Cleanup: {{{1 +delc MNV9 +delc MNVL +delc MNVFolda +delc MNVFoldc +delc MNVFolde +delc MNVFoldf +delc MNVFoldh +delc MNVFoldH +delc MNVFoldi +delc MNVFoldl +delc MNVFoldm +delc MNVFoldp +delc MNVFoldP +delc MNVFoldr +delc MNVFoldt +let &cpo = s:keepcpo +unlet s:keepcpo s:mnv9script +" mnv:ts=18 fdm=marker ft=mnv diff --git a/uvim/runtime/syntax/generator/update_date.mnv b/uvim/runtime/syntax/generator/update_date.mnv new file mode 100644 index 0000000000..cfcc85124f --- /dev/null +++ b/uvim/runtime/syntax/generator/update_date.mnv @@ -0,0 +1,13 @@ +" Update the date of following line in mnv.mnv.rc. +" '" Last Change: ' +" +language C +normal gg +let pat = '^"\s*Last\s*Change:\s\+' +let lnum = search(pat, 'We', 10) +if lnum > 0 + exec 'norm! lD"=strftime("%Y %b %d")' . "\rp" + silent update +endif +quitall! +" mnv:ts=4 sw=4 et diff --git a/uvim/runtime/syntax/generator/update_date.vim b/uvim/runtime/syntax/generator/update_date.vim deleted file mode 100644 index bb4c2073bb..0000000000 --- a/uvim/runtime/syntax/generator/update_date.vim +++ /dev/null @@ -1,13 +0,0 @@ -" Update the date of following line in vim.vim.rc. -" '" Last Change: ' -" -language C -normal gg -let pat = '^"\s*Last\s*Change:\s\+' -let lnum = search(pat, 'We', 10) -if lnum > 0 - exec 'norm! lD"=strftime("%Y %b %d")' . "\rp" - silent update -endif -quitall! -" vim:ts=4 sw=4 et diff --git a/uvim/runtime/syntax/generator/vim.vim.base b/uvim/runtime/syntax/generator/vim.vim.base deleted file mode 100644 index d73688927a..0000000000 --- a/uvim/runtime/syntax/generator/vim.vim.base +++ /dev/null @@ -1,2868 +0,0 @@ -" Vim syntax file -" Language: Vim script -" Maintainer: Hirohito Higashi -" Doug Kearns -" Last Change: 2026 Feb 20 -" Former Maintainer: Charles E. Campbell - -" DO NOT CHANGE DIRECTLY. -" THIS FILE PARTLY GENERATED BY gen_syntax_vim.vim. -" (Search string "GEN_SYN_VIM:" in this file) - -" Quit when a syntax file was already loaded {{{1 -if exists("b:current_syntax") - finish -endif -let s:keepcpo= &cpo -set cpo&vim - -" Feature testing {{{1 - -" NOTE: vimsyn_force_vim9 for internal use only -let s:vim9script = get(b:, "vimsyn_force_vim9", v:false) || "\n" .. getline(1, 32)->join("\n") =~# '\n\s*vim9\%[script]\>' - -function s:has(feature) - return has(a:feature) || index(get(g:, "vimsyn_vim_features", []), a:feature) != -1 -endfunction - -" Automatically generated keyword lists: {{{1 - -" vimTodo: contains common special-notices for comments {{{2 -" Use the vimCommentGroup cluster to add your own. -syn keyword vimTodo contained COMBAK FIXME TODO XXX -syn cluster vimCommentGroup contains=vimTodo,@Spell - -" regular vim commands {{{2 -" GEN_SYN_VIM: vimCommand normal, START_STR='syn keyword vimCommand contained', END_STR='nextgroup=vimBang' - -" Lower priority :syn-match to allow for :command/function() distinction -" :chdir is handled specially elsewhere -syn match vimCommand "\" nextgroup=vimBang -syn match vimCommand "\" nextgroup=vimBang -syn match vimCommand "\" nextgroup=vimBang -syn match vimCommand "\" nextgroup=vimBang -syn match vimCommand "\" nextgroup=vimBang - -" GEN_SYN_VIM: vimCommand modifier, START_STR='syn keyword vimCommandModifier', END_STR='skipwhite nextgroup=vimCommandModifierBang,@vimCmdList' -" :filter is handled specially elsewhere -syn match vimCommandModifierBang contained "\a\@1<=!" skipwhite nextgroup=@vimCmdList - -" Lower priority :syn-match to allow for :command/function() distinction -syn match vimCommand "\" skipwhite nextgroup=vimCommandModifierBang,@vimCmdList -syn match vimCommand "\" skipwhite nextgroup=vimCommandModifierBang,@vimCmdList - -" Lower priority for _new_ to distinguish constructors from the command. -syn match vimCommand contained "\(\@!" -syn match vimCommand contained "\" -syn keyword vimStdPlugin contained Arguments Asm Break Cfilter Clear Continue DiffOrig Evaluate Finish Gdb Lfilter Man Over Program Run S Source Step Stop Termdebug TermdebugCommand TOhtml Until Winbar XMLent XMLns - -" vimOptions are caught only when contained in a vimSet {{{2 -" GEN_SYN_VIM: vimOption normal, START_STR='syn keyword vimOption contained', END_STR='skipwhite nextgroup=vimSetEqual,vimSetMod' - -" vimOptions: These are the turn-off setting variants {{{2 -" GEN_SYN_VIM: vimOption turn-off, START_STR='syn keyword vimOption contained', END_STR='' - -" vimOptions: These are the invertible variants {{{2 -" GEN_SYN_VIM: vimOption invertible, START_STR='syn keyword vimOption contained', END_STR='' -" termcap codes (which can also be set) {{{2 -" GEN_SYN_VIM: vimOption term output code, START_STR='syn keyword vimOption contained', END_STR='skipwhite nextgroup=vimSetEqual,vimSetMod' -" term key codes -syn keyword vimOption contained t_F1 t_F2 t_F3 t_F4 t_F5 t_F6 t_F7 t_F8 t_F9 t_k1 t_K1 t_k2 t_k3 t_K3 t_k4 t_K4 t_k5 t_K5 t_k6 t_K6 t_k7 t_K7 t_k8 t_K8 t_k9 t_K9 t_KA t_kb t_kB t_KB t_KC t_kd t_kD t_KD t_KE t_KF t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ku -syn match vimOption contained "t_%1" -syn match vimOption contained "t_#2" -syn match vimOption contained "t_#4" -syn match vimOption contained "t_@7" -syn match vimOption contained "t_*7" -syn match vimOption contained "t_&8" -syn match vimOption contained "t_%i" -syn match vimOption contained "t_k;" - -" vimOptions: These are the variable names {{{2 -" GEN_SYN_VIM: vimOption normal variable, START_STR='syn keyword vimOptionVarName contained', END_STR='' -" GEN_SYN_VIM: vimOption term output code variable, START_STR='syn keyword vimOptionVarName contained', END_STR='' -syn keyword vimOptionVarName contained t_F1 t_F2 t_F3 t_F4 t_F5 t_F6 t_F7 t_F8 t_F9 t_k1 t_K1 t_k2 t_k3 t_K3 t_k4 t_K4 t_k5 t_K5 t_k6 t_K6 t_k7 t_K7 t_k8 t_K8 t_k9 t_K9 t_KA t_kb t_kB t_KB t_KC t_kd t_kD t_KD t_KE t_KF t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ku -syn match vimOptionVarName contained "t_%1" -syn match vimOptionVarName contained "t_#2" -syn match vimOptionVarName contained "t_#4" -syn match vimOptionVarName contained "t_@7" -syn match vimOptionVarName contained "t_*7" -syn match vimOptionVarName contained "t_&8" -syn match vimOptionVarName contained "t_%i" -syn match vimOptionVarName contained "t_k;" - -" unsupported settings: some were supported by vi but don't do anything in vim {{{2 -" GEN_SYN_VIM: Missing vimOption, START_STR='syn keyword vimErrSetting contained', END_STR='' - -" AutoCmd Events {{{2 -syn case ignore -" GEN_SYN_VIM: vimAutoEvent, START_STR='syn keyword vimAutoEvent contained', END_STR='skipwhite nextgroup=vimAutoEventSep,@vimAutocmdPattern' - -syn keyword vimAutoEvent contained User skipwhite nextgroup=vimUserAutoEvent -syn match vimUserAutoEvent contained "\<\h\w*\>" skipwhite nextgroup=vimUserAutoEventSep,vimAutocmdMod,vimAutocmdBlock - -" Highlight commonly used Groupnames {{{2 -" GEN_SYN_VIM: vimGroup, START_STR='syn keyword vimGroup contained', END_STR='' - -" Default highlighting groups {{{2 -" GEN_SYN_VIM: vimHLGroup, START_STR='syn keyword vimHLGroup contained', END_STR='' -syn match vimHLGroup contained "\" -syn case match - -" Function Names {{{2 -" GEN_SYN_VIM: vimFuncName, START_STR='syn keyword vimFuncName contained', END_STR='' - -" Predefined variable names {{{2 -" GEN_SYN_VIM: vimVarName, START_STR='syn keyword vimVimVarName contained', END_STR='' - -"--- syntax here and above generated by runtime/syntax/generator/gen_syntax_vim.vim --- - -" Special Vim Highlighting (not automatic) {{{1 - -" Neovim keyword list additions {{{2 - -if s:has("nvim") - syn keyword vimOptionVarName contained channel inccommand mousescroll pumblend redrawdebug scrollback shada shadafile statuscolumn termpastefilter termsync winbar winblend winhighlight - syn keyword vimFuncName contained api_info buffer_exists buffer_name buffer_number chanclose chansend ctxget ctxpop ctxpush ctxset ctxsize dictwatcheradd dictwatcherdel file_readable highlight_exists highlightID jobclose jobpid jobresize jobsend jobstart jobstop jobwait last_buffer_nr menu_get msgpackdump msgpackparse reg_recorded rpcnotify rpcrequest rpcstart rpcstop serverstart serverstop sockconnect stdioopen stdpath termopen test_write_list_log wait - syn match vimFuncName contained "\" - syn keyword vimVimVarName contained lua msgpack_types relnum stderr termrequest virtnum -endif - -" Set up commands for this syntax highlighting file {{{2 - -com! -nargs=* Vim9 execute s:vim9script ? "" : "contained" -com! -nargs=* VimL execute s:vim9script ? "contained" : "" - -if exists("g:vimsyn_folding") && g:vimsyn_folding =~# '[acefhiHlmpPrt]' - if g:vimsyn_folding =~# 'a' - com! -nargs=* VimFolda fold - else - com! -nargs=* VimFolda - endif - if g:vimsyn_folding =~# 'c' - com! -nargs=* VimFoldc fold - else - com! -nargs=* VimFoldc - endif - if g:vimsyn_folding =~# 'e' - com! -nargs=* VimFolde fold - else - com! -nargs=* VimFolde - endif - if g:vimsyn_folding =~# 'f' - com! -nargs=* VimFoldf fold - else - com! -nargs=* VimFoldf - endif - if g:vimsyn_folding =~# 'h' - com! -nargs=* VimFoldh fold - else - com! -nargs=* VimFoldh - endif - if g:vimsyn_folding =~# 'H' - com! -nargs=* VimFoldH fold - else - com! -nargs=* VimFoldH - endif - if g:vimsyn_folding =~# 'i' - com! -nargs=* VimFoldi fold - else - com! -nargs=* VimFoldi - endif - if g:vimsyn_folding =~# 'l' - com! -nargs=* VimFoldl fold - else - com! -nargs=* VimFoldl - endif - if g:vimsyn_folding =~# 'm' - com! -nargs=* VimFoldm fold - else - com! -nargs=* VimFoldm - endif - if g:vimsyn_folding =~# 'p' - com! -nargs=* VimFoldp fold - else - com! -nargs=* VimFoldp - endif - if g:vimsyn_folding =~# 'P' - com! -nargs=* VimFoldP fold - else - com! -nargs=* VimFoldP - endif - if g:vimsyn_folding =~# 'r' - com! -nargs=* VimFoldr fold - else - com! -nargs=* VimFoldr - endif - if g:vimsyn_folding =~# 't' - com! -nargs=* VimFoldt fold - else - com! -nargs=* VimFoldt - endif -else - com! -nargs=* VimFolda - com! -nargs=* VimFoldc - com! -nargs=* VimFolde - com! -nargs=* VimFoldf - com! -nargs=* VimFoldi - com! -nargs=* VimFoldh - com! -nargs=* VimFoldH - com! -nargs=* VimFoldl - com! -nargs=* VimFoldm - com! -nargs=* VimFoldp - com! -nargs=* VimFoldP - com! -nargs=* VimFoldr - com! -nargs=* VimFoldt -endif - -" Deprecated variable options {{{2 -if exists("g:vim_minlines") - let g:vimsyn_minlines= g:vim_minlines -endif -if exists("g:vim_maxlines") - let g:vimsyn_maxlines= g:vim_maxlines -endif -if exists("g:vimsyntax_noerror") - let g:vimsyn_noerror= g:vimsyntax_noerror -endif - -" Nulls {{{2 -" ===== -Vim9 syn keyword vim9Null null null_blob null_channel null_class null_dict null_function null_job null_list null_object null_partial null_string null_tuple - -" Booleans {{{2 -" ======== -Vim9 syn keyword vim9Boolean true false - -" Numbers {{{2 -" ======= -syn case ignore -syn match vimNumber "\<\d\+\%('\d\+\)*" skipwhite nextgroup=@vimComment,vimSubscript,vimGlobal,vimSubst1 -syn match vimNumber "\<\d\+\%('\d\+\)*\.\d\+\%(e[+-]\=\d\+\)\=" skipwhite nextgroup=@vimComment -syn match vimNumber "\<0b[01]\+\%('[01]\+\)*" skipwhite nextgroup=@vimComment,vimSubscript -syn match vimNumber "\<0o\=\o\+\%('\o\+\)*" skipwhite nextgroup=@vimComment,vimSubscript -syn match vimNumber "\<0x\x\+\%('\x\+\)*" skipwhite nextgroup=@vimComment,vimSubscript -syn match vimNumber '\<0z\>' skipwhite nextgroup=@vimComment -syn match vimNumber '\<0z\%(\x\x\)\+\%(\.\%(\x\x\)\+\)*' skipwhite nextgroup=@vimComment,vimSubscript -syn case match - -" All vimCommands are contained by vimIsCommand. {{{2 -syn cluster vimCmdList contains=vimAbb,vimAddress,vimAt,vimAutocmd,vimAugroup,vimBehave,vimBreakadd,vimBreakdel,vimBreaklist,vimCall,vimCatch,vimCd,vimCommandModifier,vimConst,vimDoautocmd,vimDebug,vimDebuggreedy,vimDef,vimDefFold,vimDefer,vimDelcommand,vimDelFunction,vimDoCommand,@vimEcho,vimElse,vimEnddef,vimEndfunction,vimEndif,vimEval,vimExecute,vimIsCommand,vimExtCmd,vimExFilter,vimExMark,vimFiletype,vimFor,vimFunction,vimFunctionFold,vimGrep,vimGrepAdd,vimGlobal,vimHelp,vimHelpgrep,vimHighlight,vimHistory,vimImport,vimLanguage,vimLet,vimLoadkeymap,vimLockvar,vimMake,vimMap,vimMark,vimMatch,vimNotFunc,vimNormal,vimProfdel,vimProfile,vimPrompt,vimRedir,vimSet,vimSleep,vimSort,vimSyntax,vimSyntime,vimSynColor,vimSynLink,vimTerminal,vimThrow,vimUniq,vimUnlet,vimUnlockvar,vimUnmap,vimUserCmd,vimVimgrep,vimVimgrepadd,vimWincmd,vimMenu,vimMenutranslate,@vim9CmdList,@vimExUserCmdList,vimLua,vimMzScheme,vimPerl,vimPython,vimPython3,vimPythonX,vimRuby,vimTcl -syn cluster vim9CmdList contains=vim9Abstract,vim9Class,vim9Const,vim9Enum,vim9Export,vim9Final,vim9For,vim9Interface,vim9Type,vim9Var -syn match vimCmdSep "\\\@1" nextgroup=vimBang contains=vimCommand -syn match vimBang contained "!" -syn match vimWhitespace contained "\s\+" - -syn region vimSubscript contained matchgroup=vimSubscriptBracket start="\[" end="]" nextgroup=vimSubscript contains=@vimExprList - -syn match vimVar contained "\<\h[a-zA-Z0-9#_]*\>" nextgroup=vimSubscript contains=vim9Super,vim9This -syn match vimVar "\<[bwglstav]:\h[a-zA-Z0-9#_]*\>" nextgroup=vimSubscript contains=vimVarScope -syn match vimVar "\" nextgroup=vimSubscript contains=vimVarScope -syn match vimFBVar contained "\<[bwglsta]:\h[a-zA-Z0-9#_]*\>" nextgroup=vimSubscript contains=vimVarScope - -" match the scope prefix independently of the retrofitted scope dictionary -syn match vimVarScope contained "\<[bwglstav]:" -syn match vimVimVar contained "\<[bwglstav]:\%(\h\|\d\)\@!" nextgroup=vimSubscript - -syn match vimVarNameError contained "\<\h\w*\>" -syn match vimVimVar "\" contains=vim9Super,vim9This - -Vim9 syn match vim9LhsVariableList "\[\_[^]]\+]\ze\s\+[-+/*%]\==" contains=vimVar,@vimSpecialVar -Vim9 syn match vim9LhsVariableList "\[\_[^]]\+]\ze\s\+=<<" skipwhite nextgroup=vimLetHeredoc contains=vimVar,@vimSpecialVar -Vim9 syn match vim9LhsVariableList "\[\_[^]]\+]\ze\s\+\.\.=" contains=vimVar,@vimSpecialVar - -Vim9 syn match vim9LhsRegister "@["0-9\-a-zA-Z#=*+_/]\ze\s\+\%(\.\.\)\==" - -syn cluster vimExprList contains=@vimSpecialVar,@vimFunc,vimNumber,vimOper,vimOperParen,vimLambda,vimString,vimVar,@vim9ExprList -syn cluster vim9ExprList contains=vim9Boolean,vim9LambdaParams,vim9Null - -" Insertions And Appends: insert append {{{2 -" (buftype != nofile test avoids having append, change, insert show up in the command window) -" ======================= -if &buftype != 'nofile' - syn region vimInsert matchgroup=vimCommand start="^[: \t]*\(\d\+\(,\d\+\)\=\)\=a\%[ppend]$" matchgroup=vimCommand end="^\.$" extend - syn region vimInsert matchgroup=vimCommand start="^[: \t]*\(\d\+\(,\d\+\)\=\)\=c\%[hange]$" matchgroup=vimCommand end="^\.$" extend - syn region vimInsert matchgroup=vimCommand start="^[: \t]*\(\d\+\(,\d\+\)\=\)\=i\%[nsert]$" matchgroup=vimCommand end="^\.$" extend -endif - -" Behave! {{{2 -" ======= -if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_nobehaveerror") - syn match vimBehaveError contained "[^ ]\+" -endif -syn match vimBehave "\" nextgroup=vimBehaveBang,vimBehaveModel,vimBehaveError skipwhite -syn match vimBehaveBang contained "\a\@1<=!" nextgroup=vimBehaveModel skipwhite -syn keyword vimBehaveModel contained mswin xterm - -" Break* commands {{{2 -" =============== -syn keyword vimBreakaddFunc contained func skipwhite nextgroup=vimBreakpointFunctionLine,vimBreakpointFunction -syn keyword vimBreakaddFile contained file skipwhite nextgroup=vimBreakpointFileLine,vimBreakpointFilename -syn keyword vimBreakaddHere contained here skipwhite nextgroup=vimComment,vim9Comment,vimSep -syn keyword vimBreakaddExpr contained expr skipwhite nextgroup=@vimExprList - -syn match vimBreakpointGlob contained "*" skipwhite nextgroup=vimComment,vim9Comment,vimSep -syn match vimBreakpointNumber contained "\<\d\+\>" skipwhite nextgroup=vimComment,vim9Comment,vimSep - -syn cluster vimBreakpointArg contains=vimBreakaddFunc,vimBreakaddFile,vimBreakaddHere,vimBreakaddExpr - -syn match vimBreakpointFunction contained "\<\%(\*\|\w\)\+\>" skipwhite nextgroup=vimComment,vim9Comment,vimSep -syn match vimBreakpointFilename contained "\<\%(\*\|\f\)\+\>" skipwhite nextgroup=vimComment,vim9Comment,vimSep -syn match vimBreakpointFunctionLine contained "\<\d\+\>" skipwhite nextgroup=vimBreakpointFunction -syn match vimBreakpointFileLine contained "\<\d\+\>" skipwhite nextgroup=vimBreakpointFilename - -syn keyword vimBreakadd breaka[dd] skipwhite nextgroup=@vimBreakpointArg -syn keyword vimBreakdel breakd[el] skipwhite nextgroup=@vimBreakpointArg,vimBreakpointNumber,vimBreakpointGlob -syn keyword vimBreaklist breakl[ist] skipwhite nextgroup=vimComment,vim9Comment,vimSep - -" Call {{{2 -" ==== -syn match vimCall "\" skipwhite nextgroup=vimVar,@vimFunc - -" Cd: {{{2 -" == -" GEN_SYN_VIM: vimCommand cd, START_STR='syn keyword vimCd', END_STR='skipwhite nextgroup=vimCdBang,vimCdArg,vimComment,vim9Comment,vimCmdSep' -syn match vimCd "\" skipwhite nextgroup=vimCdBang,vimCdArg,vimComment,vim9Comment,vimCmdSep -syn region vimCdArg contained - \ start=+["#|]\@!\S+ - \ end="\ze\s*$" - \ end=+\ze\s*\\\@1" contains=vimCount - -" Defer {{{2 -" ===== -syn match vimDefer "\" skipwhite nextgroup=@vimFunc,vim9LambdaParams - -" *Do commands {{{2 -" ============ -syn match vimDoCommandBang contained "\a\@1<=!" skipwhite nextgroup=@vimCmdList - -syn keyword vimDoCommand argdo bufd[o] skipwhite nextgroup=vimDoCommandBang,@vimCmdList -syn keyword vimDoCommand tabd[o] wind[o] skipwhite nextgroup=@vimCmdList -syn keyword vimDoCommand cdo cfd[o] skipwhite nextgroup=vimDoCommandBang,@vimCmdList -syn keyword vimDoCommand ld[o] lfd[o] skipwhite nextgroup=vimDoCommandBang,@vimCmdList -syn keyword vimDoCommand foldd[oopen] folddoc[losed] skipwhite nextgroup=@vimCmdList - -" Exception Handling {{{2 -syn keyword vimThrow th[row] skipwhite nextgroup=@vimExprList -syn keyword vimCatch cat[ch] skipwhite nextgroup=vimCatchPattern -syn region vimCatchPattern contained matchgroup=Delimiter start="\z([!#$%&'()*+,-./:;<=>?@[\]^_`{}~]\)" skip="\\\\\|\\\z1" end="\z1" contains=@vimSubstList oneline - -" Export {{{2 -" ====== -if s:vim9script - syn keyword vim9Export export skipwhite nextgroup=vim9Abstract,vim9ClassBody,vim9Const,vim9Def,vim9EnumBody,vim9Final,vim9InterfaceBody,vim9Type,vim9Var -endif - -" Filetypes {{{2 -" ========= -syn match vimFiletype "\]" skipwhite nextgroup=vimHistoryRange,vimCmdSep,vimComment,vim9Comment -syn match vimHistoryRange contained "-\=\<\d\+\>\%(\s*,\)\=" skipwhite nextgroup=vimCmdSep,vimComment,vim9Comment -syn match vimHistoryRange contained ",\s*-\=\d\+\>" skipwhite nextgroup=vimCmdSep,vimComment,vim9Comment -syn match vimHistoryRange contained "-\=\<\d\+\s*,\s*-\=\d\+\>" skipwhite nextgroup=vimCmdSep,vimComment,vim9Comment - -" Import {{{2 -" ====== -syn keyword vimImportAutoload contained autoload skipwhite nextgroup=vimImportFilename -if s:vim9script - syn region vimImportFilename contained - \ start="\S" - \ skip=+\%#=1 - "\ continuation operators at SOL - \\n\%(\s*#.*\n\)*\s*\%([[:punct:]]\+\&[^#"'(]\) - \\| - "\ continuation operators at EOL - \\%(\%([[:punct:]]\+\&[^#"')]\)\s*\%(#.*\)\=\)\@<=$ - \\| - \\n\%(\s*#.*\n\)*\s*as\s - \\| - \\%(^\s*#.*\)\@<=$ - \\| - \\n\s*\%(\\\|#\\ \) - \+ - \ matchgroup=vimCommand - \ end="\s\+\zsas\ze\s\+\h" - \ matchgroup=NONE - \ end="$" - \ skipwhite nextgroup=vimImportName - \ contains=@vim9Continue,@vimExprList,vim9Comment - \ transparent -else - syn region vimImportFilename contained - \ start="\S" - \ skip=+\n\s*\%(\\\|"\\ \)+ - \ matchgroup=vimCommand - \ end="\s\+\zsas\ze\s\+\h" - \ matchgroup=NONE - \ end="$" - \ skipwhite nextgroup=vimImportName - \ contains=@vimContinue,@vimExprList - \ transparent -endif -syn match vimImportName contained "\%(\" skipwhite nextgroup=@vimComment -syn match vimImport "\" skipwhite nextgroup=vimImportAutoload,vimImportFilename - -" Language {{{2 -" ======== -syn keyword vimLanguage lan[guage] skipwhite nextgroup=@vimLanguageName,vimLanguageCategory,vimSep,vimComment,vim9Comment -syn keyword vimLanguageCategory contained col[late] cty[pe] mes[sages] tim[e] skipwhite nextgroup=@vimLanguageName - -" [language[_territory][.codeset][@modifier]] and the reserved "C" and "POSIX" -syn match vimLanguageName contained "[[:alnum:]][[:alnum:]._@-]*[[:alnum:]]" nextgroup=vimSep,vimComment,vim9Comment -syn keyword vimLanguageNameReserved contained C POSIX nextgroup=vimSep,vimComment,vim9Comment -syn cluster vimLanguageName contains=vimLanguageName,vimLanguageNameReserved - -" Augroup : vimAugroupError removed because long augroups caused sync'ing problems. {{{2 -" ======= : Trade-off: Increasing synclines with slower editing vs augroup END error checking. -syn cluster vimAugroupList contains=@vimCmdList,vimFilter,@vimFunc,vimLineComment,vimSpecFile,vimOper,vimNumber,vimOperParen,@vimComment,vimString,vimSubst,vimRegister,vimCmplxRepeat,vimNotation,vimCtrlChar,vimContinue - -" define -VimFolda syn region vimAugroup - \ start="\\ze\s\+\%([eE][nN][dD]\%($\|[[:space:]|"#]\)\)\@!\S" - \ matchgroup=vimAugroupKey - \ end="\" skipwhite nextgroup=vimCmdSep,vimComment -syn match vimAugroupBang contained "\a\@1<=!" skipwhite nextgroup=vimAugroupName -syn keyword vimAugroupKey contained aug[roup] skipwhite nextgroup=vimAugroupBang,vimAugroupName,vimAugroupEnd - -" remove -syn match vimAugroup "\\ze\s*\%(["|]\|$\)" skipwhite nextgroup=vimCmdSep,vimComment contains=vimAugroupKey -Vim9 syn match vimAugroup "\\ze\s*\%([#|]\|$\)" skipwhite nextgroup=vimCmdSep,vim9Comment contains=vimAugroupKey - -" Operators: {{{2 -" ========= -syn cluster vimOperGroup contains=@vimContinue,@vimExprList,vim9Comment,vim9LineComment,vimContinueString -syn match vimOper "\a\@=\|<=\|=\~\|!\~\|>\|<\)[?#]\=" skipwhite skipnl nextgroup=@vimOperContinue,@vimExprList,vimContinueString,vimSpecFile -syn match vimOper "\" skipwhite skipnl nextgroup=@vimOperContinue,@vimExprList,vimContinueString,vimSpecFile -syn match vimOper "\" skipwhite nextgroup=@vimExprList -syn region vimLambda contained - \ matchgroup=vimLambdaBrace - \ start=+{\ze[[:space:][:alnum:]_.,]*\%(\n\s*\%(\\[[:space:][:alnum:]_.,]*\|"\\ .*\)\)*->+ - \ skip=+\n\s*\%(\\\|"\\ \)+ - \ end="}" end="$" - \ contains=@vimContinue,@vimExprList,vimLambdaParams -syn match vimLambdaParams contained "\%({\n\=\)\@1<=\_.\{-}\%(->\)\@=" nextgroup=vimLambdaOperator contains=@vimContinue,vimFunctionParam - -syn match vim9LambdaOperator contained "=>" skipwhite skipempty nextgroup=@vimExprList,vim9LambdaBlock,vim9LambdaOperatorComment -syn match vim9LambdaParen contained "[()]" -syn match vim9LambdaParams contained - \ "(\%(\" - \ skipwhite nextgroup=vim9LambdaOperator - \ contains=@vim9Continue,vimDefParam,vim9LambdaParen,vim9LambdaReturnType -syn region vim9LambdaReturnType contained start=")\@<=:\s" end="\ze\s*#" end="\ze\s*=>" contains=@vim9Continue,@vimType transparent -syn region vim9LambdaBlock contained matchgroup=vimSep start="{" end="^\s*\zs}" contains=@vimDefBodyList - -syn match vim9LambdaOperatorComment contained "#.*" skipwhite skipempty nextgroup=@vimExprList,vim9LambdaBlock,vim9LambdaOperatorComment - -" Functions: Tag is provided for those who wish to highlight tagged functions {{{2 -" ========= -syn cluster vimFunctionBodyCommon contains=@vimCmdList,vimCmplxRepeat,vimContinue,vimCtrlChar,vimDef,vimFBVar,vimFunction,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegister,vimSpecFile,vimString,vimSubst,vimFunctionFold,vimDefFold,vimCmdSep -syn cluster vimFunctionBodyList contains=@vimFunctionBodyCommon,vimComment,vimLineComment,vimInsert,vimConst,vimLet,vimSearch -syn cluster vimDefBodyList contains=@vimFunctionBodyCommon,vim9Comment,vim9LineComment,vim9Block,vim9Const,vim9Final,vim9Var,vim9Null,vim9Boolean,vim9For,vim9LhsVariable,vim9LhsVariableList,vim9LhsRegister,vim9Search,@vimSpecialVar,@vim9Func - -syn region vimFunctionPattern contained - \ matchgroup=vimOper - \ start="/" - \ end="$" - \ contains=@vimSubstList - -syn match vimFunctionBang contained "\a\@1<=!" skipwhite nextgroup=vimFunctionName -syn match vimDefBang contained "\a\@1<=!" skipwhite nextgroup=vimDefName -syn match vimFunctionSID contained "\c" -syn match vimFunctionScope contained "\<[bwglstav]:" -syn match vimFunctionName contained - \ "\%(<[sS][iI][dD]>\|[bwglstav]:\)\=\%([[:alnum:]_#.]\+\|{.\{-1,}}\)\+" - \ skipwhite nextgroup=vimFunctionParams,vimCmdSep,vimComment,vim9Comment - \ contains=vimFunctionError,vimFunctionScope,vimFunctionSID,Tag -syn match vimDefName contained - \ "\%(<[sS][iI][dD]>\|[bwglstav]:\)\=\%([[:alnum:]_#.]\+\|{.\{-1,}}\)\+" - \ nextgroup=vimDefTypeParams,vimDefParams,vimCmdSep,vimComment,vim9Comment - \ contains=vimFunctionError,vimFunctionScope,vimFunctionSID,Tag - -syn match vimFunction "\" skipwhite nextgroup=vimFunctionBang,vimFunctionName,vimFunctionPattern,vimCmdSep,vimComment -syn match vimDef "\" skipwhite nextgroup=vimDefBang,vimDefName,vimFunctionPattern,vimCmdSep,vimComment - -syn region vimFunctionComment contained - \ start=+".*+ - \ skip=+\n\s*\%(\\\|"\\ \)+ - \ end="$" - \ skipwhite skipempty nextgroup=vimFunctionBody,vimEndfunction -syn region vimDefComment contained - \ start="#.*" - \ skip=+\n\s*\%(\\\|#\\ \)+ - \ end="$" - \ skipwhite skipempty nextgroup=vimDefBody,vimEnddef - -syn region vimFunctionParams contained - \ matchgroup=Delimiter - \ start="(" - \ skip=+\n\s*\%(\\\|"\\ \)+ - \ end=")" - \ skipwhite skipempty nextgroup=vimFunctionBody,vimFunctionComment,vimEndfunction,vimFunctionMod,vim9CommentError - \ contains=vimFunctionParam,vimOperParen,@vimContinue -syn region vimDefParams contained - \ matchgroup=Delimiter - \ start="(" - \ end=")" - \ skipwhite skipempty nextgroup=vimDefBody,vimDefComment,vimEnddef,vimReturnType,vimCommentError - \ contains=vimDefParam,vim9Comment,vimFunctionParamEquals,vimOperParen -syn region vimDefTypeParams contained - \ matchgroup=Delimiter - \ start="<" - \ end=">" - \ nextgroup=vimDefParams - \ contains=vim9DefTypeParam -syn match vimFunctionParam contained "\<\h\w*\>\|\.\.\." skipwhite nextgroup=vimFunctionParamEquals -syn match vimDefParam contained "\<\h\w*\>" skipwhite nextgroup=vimParamType,vimFunctionParamEquals -syn match vim9DefTypeParam contained "\<\u\w*\>" - -syn match vimFunctionParamEquals contained "=" skipwhite nextgroup=@vimExprList -syn match vimFunctionMod contained "\<\%(abort\|closure\|dict\|range\)\>" skipwhite skipempty nextgroup=vimFunctionBody,vimFunctionComment,vimEndfunction,vimFunctionMod,vim9CommentError - -syn region vimFunctionBody contained - \ start="^." - \ matchgroup=vimCommand - \ end="\" - \ skipwhite nextgroup=vimCmdSep,vimComment,vim9CommentError - \ contains=@vimFunctionBodyList -syn region vimDefBody contained - \ start="^." - \ matchgroup=vimCommand - \ end="\" - \ skipwhite nextgroup=vimCmdSep,vim9Comment,vimCommentError - \ contains=@vimDefBodyList - -syn match vimEndfunction "\" skipwhite nextgroup=vimCmdSep,vimComment,vim9CommentError -syn match vimEnddef "\" skipwhite nextgroup=vimCmdSep,vim9Comment,vimCommentError - -if exists("g:vimsyn_folding") && g:vimsyn_folding =~# 'f' - syn region vimFunctionFold - \ start="\" skipwhite nextgroup=vimDelfunctionBang,vimFunctionName - -" Types: {{{2 -" ===== - -syn region vimReturnType contained - \ start=":\%(\s\|\n\)\@=" - \ skip=+\n\s*\%(\\\|#\\ \)\|^\s*#\\ + - \ end="$" - \ matchgroup=vim9Comment - "\ allow for legacy script tail comment error - \ end="\ze[#"]" - \ skipwhite skipempty nextgroup=vimDefBody,vimDefComment,vimEnddef,vimCommentError - \ contains=@vim9Continue,@vimType - \ transparent -syn match vimParamType contained ":\s" skipwhite skipnl nextgroup=@vimType contains=vimTypeSep - -syn match vimTypeSep contained ":\%(\s\|\n\)\@=" skipwhite nextgroup=@vimType -syn keyword vimType contained blob bool channel float job number string void -syn keyword vimTypeAny contained any -syn match vimTypeObject contained "\" -syn region vimCompoundType contained matchgroup=vimType start="\" - -syn cluster vimType contains=vimType,vimTypeAny,vimTypeObject,vimCompoundType,vimUserType - -" Classes, Enums And Interfaces: {{{2 -" ============================= - -if s:vim9script - - " Methods {{{3 - syn match vim9MethodDef contained "\" skipwhite nextgroup=vim9MethodDefName,vim9ConstructorDefName - syn match vim9MethodDefName contained "\<\h\w*\>" nextgroup=vim9MethodDefParams,vim9MethodDefTypeParams contains=@vim9MethodName - syn region vim9MethodDefParams contained - \ matchgroup=Delimiter start="(" end=")" - \ skipwhite skipnl nextgroup=vim9MethodDefBody,vim9MethodDefComment,vimEnddef,vim9MethodDefReturnType,vimCommentError - \ contains=vimDefParam,vim9Comment,vimFunctionParamEquals - syn region vim9MethodDefTypeParams contained - \ matchgroup=Delimiter - \ start="<" - \ end=">" - \ nextgroup=vim9MethodDefParams - \ contains=vim9DefTypeParam - - syn match vim9ConstructorDefName contained "\<_\=new\w*\>" - \ nextgroup=vim9ConstructorDefParams,vim9ConstuctorDefTypeParams - \ contains=@vim9MethodName - syn match vim9ConstructorDefParam contained "\<\%(this\.\)\=\h\w*\>" - \ skipwhite nextgroup=vimParamType,vimFunctionParamEquals - \ contains=vim9This,vimOper - syn region vim9ConstructorDefParams contained - \ matchgroup=Delimiter start="(" end=")" - \ skipwhite skipnl nextgroup=vim9MethodDefBody,vim9MethodDefComment,vimEnddef,vimCommentError - \ contains=vim9ConstructorDefParam,vim9Comment,vimFunctionParamEquals - syn region vim9ConstuctorDefTypeParams contained - \ matchgroup=Delimiter - \ start="<" - \ end=">" - \ nextgroup=vim9ConstructorDefParams - \ contains=vim9DefTypeParam - - syn region vim9MethodDefReturnType contained - \ start=":\%(\s\|\n\)\@=" - \ skip=+\n\s*\%(\\\|#\\ \)\|^\s*#\\ + - \ end="$" - \ matchgroup=vim9Comment - \ end="\ze#" - \ skipwhite skipnl nextgroup=vim9MethodDefBody,vim9MethodDefComment,vimEnddef,vimCommentError - \ contains=@vim9Continue,vimType,vimTypeSep - \ transparent - - syn region vim9MethodDefComment contained - \ start="#.*" - \ skip=+\n\s*\%(\\\|#\\ \)+ - \ end="$" - \ skipwhite skipempty nextgroup=vim9MethodDefBody,vimEnddef - - syn region vim9MethodDefBody contained - \ start="^.\=" matchgroup=vimCommand end="\" - \ skipwhite nextgroup=vimCmdSep,vim9Comment,vimCommentError - \ contains=@vim9MethodDefBodyList - - syn cluster vim9MethodDefBodyList contains=@vimDefBodyList,vim9This,vim9Super - - if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimfunctionerror") - syn match vim9MethodNameError contained "\<[a-z0-9]\i\>" - endif - syn match vim9MethodName contained "\<_\=new\w*\>" - syn keyword vim9MethodName contained empty len string - - syn cluster vim9MethodName contains=vim9MethodName,vim9MethodNameError - - if exists("g:vimsyn_folding") && g:vimsyn_folding =~# 'f' - syn region vim9MethodDefFold contained - \ start="\%(^\s*\%(:\=static\s\+\)\=\)\@16<=:\=def\s\+\h\w*[<(]" - \ end="^\s*:\=enddef\>" - \ contains=vim9MethodDef - \ fold keepend extend transparent - endif - - syn cluster vim9MethodDef contains=vim9MethodDef,vim9MethodDefFold - - " Classes {{{3 - syn cluster vim9ClassBodyList contains=vim9Abstract,vim9Class,vim9Comment,vim9LineComment,@vim9Continue,@vimExprList,vim9Extends,vim9Implements,@vim9MethodDef,vim9Public,vim9Static,vim9Const,vim9Final,vim9This,vim9Super,vim9Var - - syn match vim9Class contained "\" skipwhite nextgroup=vim9ClassName - syn match vim9ClassName contained "\<\u\w*\>" skipwhite skipnl nextgroup=vim9Extends,vim9Implements - syn match vim9SuperClass contained "\<\u\w*\>" skipwhite skipnl nextgroup=vim9Implements - syn match vim9ImplementedInterface contained "\<\u\w*\>" skipwhite skipnl nextgroup=vim9InterfaceListComma,vim9Extends - syn match vim9InterfaceListComma contained "," skipwhite skipnl nextgroup=vim9ImplementedInterface - syn keyword vim9Abstract abstract skipwhite skipnl nextgroup=vim9ClassBody,vim9AbstractDef - syn keyword vim9Extends contained extends skipwhite skipnl nextgroup=vim9SuperClass - syn keyword vim9Implements contained implements skipwhite skipnl nextgroup=vim9ImplementedInterface - syn keyword vim9Public contained public - syn keyword vim9Static contained static - " FIXME: don't match as dictionary keys, remove when operators are not - " shared between Vim9 and legacy script - syn match vim9This contained "\.\@1:\@!" - " super must be followed by '.' - syn match vim9Super contained "\.\@1" matchgroup=vimCommand end="\" contains=@vim9ClassBodyList transparent - - " Enums {{{3 - syn cluster vim9EnumBodyList contains=vim9Comment,vim9LineComment,@vim9Continue,vim9Enum,@vimExprList,@vim9MethodDef,vim9Public,vim9Static,vim9Const,vim9Final,vim9This,vim9Var - - syn match vim9Enum contained "\" skipwhite nextgroup=vim9EnumName - - syn match vim9EnumName contained "\<\u\w*\>" skipwhite skipempty nextgroup=vim9EnumNameTrailing,vim9EnumNameEmpty,vim9EnumNameComment,@vim9EnumNameContinue,vim9EnumImplements - syn match vim9EnumNameTrailing contained "\S.*" - syn region vim9EnumNameComment contained - \ start="#" skip="\n\s*\%(\\\|#\\ \)" end="$" - \ skipwhite skipempty nextgroup=vim9EnumNameComment,vim9EnumValue - \ contains=@vimCommentGroup,vimCommentString - " vim9EnumName's "skipempty" should only apply to comments and enum values and not implements clauses - syn match vim9EnumNameEmpty contained "^" skipwhite skipempty nextgroup=vim9EnumNameComment,vim9EnumValue - " allow line continuation between enum name and "implements" - syn match vim9EnumNameContinue contained - \ "^\s*\\" - \ skipwhite skipnl nextgroup=vim9EnumNameTrailing,vim9EnumNameEmpty,vim9EnumNameComment,@vim9EnumNameContinue,vim9EnumImplements - \ contains=vimWhitespace - syn match vim9EnumNameContinueComment contained - \ "^\s*#\\ .*" - \ skipwhite skipnl nextgroup=vim9EnumNameEmpty,vim9EnumNameComment,@vim9EnumNameContinue - \ contains=vimWhitespace - syn cluster vim9EnumNameContinue contains=vim9EnumNameContinue,vim9EnumNameContinueComment - - " enforce enum value list location - syn match vim9EnumValue contained "\<\a\w*\>" nextgroup=vim9EnumValueTypeArgs,vim9EnumValueArgList,vim9EnumValueListComma,vim9Comment - syn match vim9EnumValueListComma contained "," skipwhite skipempty nextgroup=vim9EnumValue,vim9EnumValueListCommaComment - syn region vim9EnumValueListCommaComment contained - \ start="#" skip="\n\s*\%(\\\|#\\ \)" end="$" - \ skipwhite skipempty nextgroup=vim9EnumValueListCommaComment,vim9EnumValue - \ contains=@vimCommentGroup,vimCommentString - syn region vim9EnumValueTypeArgs contained - \ matchgroup=Delimiter - \ start="<\ze\a" - \ end=">" - \ nextgroup=vim9EnumValueArgList - \ contains=@vimType - \ oneline - syn region vim9EnumValueArgList contained - \ matchgroup=vimParenSep start="(" end=")" - \ nextgroup=vim9EnumValueListComma - \ contains=@vimExprList,vimContinueString,vim9Comment - - syn keyword vim9EnumImplements contained implements skipwhite nextgroup=vim9EnumImplementedInterface - syn match vim9EnumImplementedInterface contained "\<\u\w*\>" skipwhite skipnl nextgroup=vim9EnumInterfaceListComma,vim9EnumImplementedInterfaceComment,vim9EnumValue - syn match vim9EnumInterfaceListComma contained "," skipwhite nextgroup=vim9EnumImplementedInterface - syn region vim9EnumImplementedInterfaceComment contained - \ start="#" skip="\n\s*\%(\\\|#\\ \)" end="$" - \ skipwhite skipempty nextgroup=vim9EnumImplementedInterfaceComment,vim9EnumValue - \ contains=@vimCommentGroup,vimCommentString - - VimFolde syn region vim9EnumBody start="\" matchgroup=vimCommand end="\" contains=@vim9EnumBodyList transparent - - " Interfaces {{{3 - " TODO: limit to decl only - no init values - syn cluster vim9InterfaceBodyList contains=vim9Comment,vim9LineComment,@vim9Continue,vim9Extends,vim9Interface,vim9AbstractDef,vim9Var - - syn match vim9Interface contained "\" skipwhite nextgroup=vim9InterfaceName - syn match vim9InterfaceName contained "\<\u\w*\>" skipwhite skipnl nextgroup=vim9Extends - - syn keyword vim9AbstractDef contained def skipwhite nextgroup=vim9AbstractDefName - syn match vim9AbstractDefName contained "\<\h\w*\>" skipwhite nextgroup=vim9AbstractDefParams,vim9AbstractDefTypeParams contains=@vim9MethodName - syn region vim9AbstractDefParams contained - \ matchgroup=Delimiter start="(" end=")" - \ skipwhite skipnl nextgroup=vimDefComment,vim9AbstractDefReturnType,vimCommentError - \ contains=vimDefParam,vim9Comment,vimFunctionParamEquals - syn region vim9AbstractDefReturnType contained - \ start=":\s" end="$" matchgroup=vim9Comment end="\ze[#"]" - \ skipwhite skipnl nextgroup=vimDefComment,vimCommentError - \ contains=vimTypeSep - \ transparent - syn region vim9AbstractDefTypeParams contained - \ matchgroup=Delimiter - \ start="<" - \ end=">" - \ nextgroup=vim9AbstractDefParams - \ contains=vim9DefTypeParam - - VimFoldi syn region vim9InterfaceBody start="\" matchgroup=vimCommand end="\" contains=@vim9InterfaceBodyList transparent - - " Type Aliases {{{3 - syn match vim9Type "\" skipwhite nextgroup=vim9TypeAlias,vim9TypeAliasError - syn match vim9TypeAlias contained "\<\u\w*\>" skipwhite nextgroup=vim9TypeEquals - syn match vim9TypeEquals contained "=" skipwhite nextgroup=@vimType - if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_notypealiaserror") - syn match vim9TypeAliasError contained "\<\l\w*\>" skipwhite nextgroup=vim9TypeEquals - endif -endif - -" Blocks: {{{2 -" ====== -Vim9 syn region vim9Block - \ matchgroup=vimSep - \ start="{\ze\s*\%($\|[#|]\)" - \ end="^\s*\zs}" - \ skipwhite nextgroup=vim9Comment,vimCmdSep - \ contains=@vimDefBodyList - -" Keymaps: {{{2 -" ======= - -syn match vimKeymapStart "^" contained skipwhite nextgroup=vimKeymapLhs,@vimKeymapLineComment -syn match vimKeymapLhs "\S\+" contained skipwhite nextgroup=vimKeymapRhs contains=vimNotation -syn match vimKeymapRhs "\S\+" contained skipwhite nextgroup=vimKeymapTailComment contains=vimNotation -syn match vimKeymapTailComment "\S.*" contained - -" TODO: remove when :" comment is matched in parts as "ex-colon comment" --djk -if s:vim9script - syn match vim9KeymapLineComment "#.*" contained contains=@vimCommentGroup,vimCommentString,vim9CommentTitle -else - syn match vimKeymapLineComment +".*+ contained contains=@vimCommentGroup,vimCommentString,vimCommentTitle -endif -syn cluster vimKeymapLineComment contains=vim9\=KeymapLineComment - -syn region vimLoadkeymap matchgroup=vimCommand start="\" end="\%$" contains=vimKeymapStart - -" Special Filenames, Modifiers, Extension Removal: {{{2 -" =============================================== -syn match vimSpecFile "" nextgroup=vimSpecFileMod,vimSubst1 -syn match vimSpecFile "<\([acs]file\|amatch\|abuf\)>" nextgroup=vimSpecFileMod,vimSubst1 -syn match vimSpecFile "\s%[ \t:]"ms=s+1,me=e-1 nextgroup=vimSpecFileMod,vimSubst1 -syn match vimSpecFile "\s%$"ms=s+1 nextgroup=vimSpecFileMod,vimSubst1 -syn match vimSpecFile "\s%<"ms=s+1,me=e-1 nextgroup=vimSpecFileMod,vimSubst1 -syn match vimSpecFile "#\d\+\|[#%]<\>" nextgroup=vimSpecFileMod,vimSubst1 -syn match vimSpecFileMod "\(:[phtre]\)\+" contained - -syn match vimSpecFile contained "%[ \t:]"me=e-1 nextgroup=vimSpecFileMod -syn match vimSpecFile contained excludenl "%$" nextgroup=vimSpecFileMod -syn match vimSpecFile contained "%<"me=e-1 nextgroup=vimSpecFileMod - -" User-Specified Commands: {{{2 -" ======================= -syn cluster vimUserCmdList contains=@vimCmdList,vimCmplxRepeat,@vimComment,vimCtrlChar,vimEscapeBrace,@vimFunc,vimNotation,vimNumber,vimOper,vimRegister,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange - -syn match vimUserCmd "\!\=" skipwhite nextgroup=vimUserCmdAttrs,vimUserCmdName contains=vimBang -syn match vimUserCmd +\!\=\ze\s*\n\s*\%(\\\|["#]\\ \)+ skipwhite skipnl nextgroup=vimUserCmdAttrs,vimUserCmdName contains=vimBang - -syn region vimUserCmdAttrs contained - \ start="-\l" - \ start=+^\s*\%(\\\|["#]\\ \)+ - \ end="\ze\s\u" - \ skipwhite nextgroup=vimUserCmdName - \ contains=@vimContinue,vimUserCmdAttr,vimUserCmdAttrError - \ transparent -syn match vimUserCmdAttrError contained "-\a\+\ze\%(\s\|=\)" -syn match vimUserCmdAttr contained "-addr=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrAddr -syn match vimUserCmdAttr contained "-bang\>" contains=vimUserCmdAttrKey -syn match vimUserCmdAttr contained "-bar\>" contains=vimUserCmdAttrKey -syn match vimUserCmdAttr contained "-buffer\>" contains=vimUserCmdAttrKey -syn match vimUserCmdAttr contained "-complete=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrComplete,vimUserCmdError -syn match vimUserCmdAttr contained "-count\>" contains=vimUserCmdAttrKey -syn match vimUserCmdAttr contained "-count=" contains=vimUserCmdAttrKey nextgroup=vimNumber -syn match vimUserCmdAttr contained "-keepscript\>" contains=vimUserCmdAttrKey -syn match vimUserCmdAttr contained "-nargs=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrNargs -syn match vimUserCmdAttr contained "-range\>" contains=vimUserCmdAttrKey -syn match vimUserCmdAttr contained "-range=" contains=vimUserCmdAttrKey nextgroup=vimNumber,vimUserCmdAttrRange -syn match vimUserCmdAttr contained "-register\>" contains=vimUserCmdAttrKey - -syn match vimUserCmdAttrNargs contained "[01*?+]" -syn match vimUserCmdAttrRange contained "%" - -if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_nousercmderror") - syn match vimUserCmdError contained "\S\+\>" -endif - -syn case ignore -syn keyword vimUserCmdAttrKey contained a[ddr] ban[g] bar bu[ffer] com[plete] cou[nt] k[eepscript] n[args] ra[nge] re[gister] - -" GEN_SYN_VIM: vimUserCmdAttrComplete, START_STR='syn keyword vimUserCmdAttrComplete contained', END_STR='' -syn keyword vimUserCmdAttrComplete contained arglist augroup behave breakpoint buffer color command compiler cscope diff_buffer dir dir_in_path environment event expression file file_in_path filetype function help highlight history keymap locale mapclear mapping menu messages option packadd runtime scriptnames shellcmd shellcmdline sign syntax syntime tag tag_listfiles user var -syn keyword vimUserCmdAttrComplete contained custom customlist nextgroup=vimUserCmdAttrCompleteFunc,vimUserCmdError -syn match vimUserCmdAttrCompleteFunc contained ",\%([bwglstav]:\|<[sS][iI][dD]>\)\=\h\w*\%([.#]\h\w*\)*"hs=s+1 nextgroup=vimUserCmdError contains=vimVarScope,vimFunctionSID - -" GEN_SYN_VIM: vimUserCmdAttrAddr, START_STR='syn keyword vimUserCmdAttrAddr contained', END_STR='' -syn keyword vimUserCmdAttrAddr contained arguments arg buffers buf lines line loaded_buffers load other quickfix qf tabs tab windows win -syn match vimUserCmdAttrAddr contained "?" -syn case match - -syn match vimUserCmdName contained "\<\u[[:alnum:]]*\>" skipwhite nextgroup=vimUserCmdBlock,vimUserCmdReplacement -syn match vimUserCmdName contained +\<\u[[:alnum:]]*\>\ze\s*\n\s*\%(\\\|["#]\\ \)+ skipwhite skipnl nextgroup=vimUserCmdBlock,vimUserCmdReplacement -syn region vimUserCmdReplacement contained - \ start="\S" - \ start=+^\s*\%(\\\|["#]\\ \)+ - \ skip=+\n\s*\%(\\\|["#]\\ \)+ - \ end="$" - \ contains=@vimContinue,@vimUserCmdList,vimComFilter - \ keepend -syn region vimUserCmdBlock contained - \ matchgroup=vimSep - \ start="{" - \ end="^\s*\zs}" - \ contains=@vimDefBodyList,@vimUserCmdList - -syn match vimDelcommand "\" skipwhite nextgroup=vimDelcommandAttr,vimDelcommandName -syn match vimDelcommandAttr contained "-buffer\>" skipwhite nextgroup=vimDelcommandName -syn match vimDelcommandName contained "\<\u[[:alnum:]]*\>" - -" Lower Priority Comments: after some vim commands... {{{2 -" ======================= -if get(g:, "vimsyn_comment_strings", 1) - syn region vimCommentString contained oneline start='\S\s\+"'ms=e end='"' extend -endif - -if s:vim9script - syn cluster vimComment contains=vim9Comment -else - syn cluster vimComment contains=vimComment -endif - -VimL syn region vimComment - \ excludenl - \ start=+"+ - \ skip=+\n\s*\%(\\\|"\\ \)+ - \ end="$" - \ contains=@vimCommentGroup,vimCommentString - \ extend -Vim9 syn region vim9Comment - \ excludenl - \ start="\%#=1\s\@1<=#\%({\@!\|{{\)" - \ skip="\n\s*\%(\\\|#\\ \)" - \ end="$" - \ contains=@vimCommentGroup,vimCommentString - \ extend - -syn match vim9CommentError contained "#.*" -syn match vimCommentError contained +".*+ - -" Environment Variables: {{{2 -" ===================== -syn match vimEnvvar "\$\I\i*" -syn match vimEnvvar "\${\I\i*}" - -" Strings {{{2 -" ======= - -" In-String Specials: -" Try to catch strings, if nothing else matches (therefore it must precede the others!) -" vimEscapeBrace handles ["] []"] (ie. "s don't terminate string inside []) -" syn region vimEscapeBrace oneline contained transparent start="[^\\]\(\\\\\)*\[\zs\^\=\]\=" skip="\\\\\|\\\]" end="]"me=e-1 -syn match vimPatSepErr contained "\\)" -syn match vimPatSep contained "\\|" -syn region vimPatSepZone oneline contained matchgroup=vimPatSepZ start="\\%\=\ze(" skip="\\\\" end="\\)\|[^\\]['"]" contains=@vimStringGroup -syn region vimPatRegion contained transparent matchgroup=vimPatSepR start="\\[z%]\=(" end="\\)" contains=@vimSubstList oneline -syn match vimNotPatSep contained "\\\\" -syn cluster vimStringGroup contains=vimEscape,vimEscapeBrace,vimPatSep,vimNotPatSep,vimPatSepErr,vimPatSepZone,@Spell -syn region vimString oneline keepend matchgroup=vimString start=+[^a-zA-Z\\@]"+lc=1 skip=+\\\\\|\\"+ matchgroup=vimStringEnd end=+"+ nextgroup=vimSubscript contains=@vimStringGroup extend -syn region vimString oneline matchgroup=vimString start=+[^a-zA-Z\\@]'+lc=1 end=+'+ nextgroup=vimSubscript contains=vimQuoteEscape extend -"syn region vimString oneline start="\s/\s*\A"lc=1 skip="\\\\\|\\+" end="/" contains=@vimStringGroup " see tst45.vim - -syn match vimEscape contained "\\." -" syn match vimEscape contained +\\[befnrt\"]+ -syn match vimEscape contained "\\\o\{1,3}\|\\[xX]\x\{1,2}\|\\u\x\{1,4}\|\\U\x\{1,8}" -syn match vimEscape contained "\\<" contains=vimNotation -syn match vimEscape contained "\\<\*[^>]*>\=>" -syn match vimQuoteEscape contained "''" - -syn region vimString oneline matchgroup=vimString start=+$'+ end=+'+ nextgroup=vimSubscript contains=@vimStringInterpolation,vimQuoteEscape extend -syn region vimString oneline matchgroup=vimString start=+$"+ end=+"+ nextgroup=vimSubscript contains=@vimStringInterpolation,@vimStringGroup extend -syn region vimStringInterpolationExpr oneline contained matchgroup=vimSep start=+{+ end=+}+ contains=@vimExprList -syn match vimStringInterpolationBrace contained "{{" -syn match vimStringInterpolationBrace contained "}}" -syn cluster vimStringInterpolation contains=vimStringInterpolationExpr,vimStringInterpolationBrace - -syn region vimContinueString contained matchgroup=vimContinueString start=+"+ skip=+\n\s*\%(\\\|["#]\\ \)+ end=+"+ end="$" skipwhite nextgroup=vimSubscript,vimComment contains=@vimContinue,@vimStringGroup -syn region vimContinueString contained matchgroup=vimContinueString start=+'+ skip=+\n\s*\%(\\\|["#]\\ \)+ end=+'+ end="$" skipwhite nextgroup=vimSubscript,vimComment contains=@vimContinue,vimQuoteEscape -syn region vimContinueString contained matchgroup=vimContinueString start=+$"+ skip=+\n\s*\%(\\\|["#]\\ \)+ end=+"+ end="$" skipwhite nextgroup=vimSubscript,vimComment contains=@vimContinue,@vimStringInterpolation,@vimStringGroup -syn region vimContinueString contained matchgroup=vimContinueString start=+$'+ skip=+\n\s*\%(\\\|["#]\\ \)+ end=+'+ end="$" skipwhite nextgroup=vimSubscript,vimComment contains=@vimContinue,@vimStringInterpolation,vimQuoteEscape - -" Substitutions: {{{2 -" ============= -syn cluster vimSubstList contains=vimPatSep,vimPatRegion,vimPatSepErr,vimSubstTwoBS,vimSubstRange,vimNotation -syn cluster vimSubstRepList contains=vimSubstSubstr,vimSubstTwoBS,vimNotation -syn cluster vimSubstList add=vimCollection -syn match vimSubst "^\s*\%(s\%[ubstitute]\|sm\%[agic]\|sno\%[magic]\)\>" skipwhite nextgroup=vimSubstPat,vimSubstFlags,vimSubstCount -syn match vimSubst "^\s*\%(s\%[ubstitute]\|sm\%[agic]\|sno\%[magic]\)[_#]\@=" skipwhite nextgroup=vimSubstPat -syn match vimSubst "^\s*\%(s\%[ubstitute]\|sm\%[agic]\|sno\%[magic]\)\%(\d\+\)\@=" skipwhite nextgroup=vimSubstCount -syn match vimSubst1 contained "\%(s\%[ubstitute]\|sm\%[agic]\>\|sno\%[magic]\)\>" skipwhite nextgroup=vimSubstPat,vimSubstFlags,vimSubstCount -syn match vimSubst1 contained "\%(s\%[ubstitute]\|sm\%[agic]\>\|sno\%[magic]\)[_#]\@=" skipwhite nextgroup=vimSubstPat -syn match vimSubst1 contained "\%(s\%[ubstitute]\|sm\%[agic]\>\|sno\%[magic]\)\%(\d\+\)\@=" skipwhite nextgroup=vimSubstCount -syn match vimSubstFlagErr contained "[^< \t\r|]\+" contains=vimSubstFlags -" & and # after :s are always pattern delimiters not flags -syn match vimSubstFlags contained "[&cegiIlnpr#]\+" skipwhite nextgroup=vimSubstCount -syn match vimSubstCount contained "\d\+\>" -" TODO: Vim9 illegal separators for abbreviated :s form are [-.:], :su\%[...] required -" : # is allowed but "not recommended" (see :h pattern-delimiter) -syn region vimSubstPat contained matchgroup=vimSubstDelim start="\z([!#$%&'()*+,-./:;<=>?@[\]^_`{}~]\)"rs=s+1 skip="\\\\\|\\\z1" end="\z1"re=e-1,me=e-1 contains=@vimSubstList nextgroup=vimSubstRep4 oneline -syn region vimSubstRep4 contained matchgroup=vimSubstDelim start="\z(.\)" skip="\\\\\|\\\z1" end="\z1" matchgroup=vimNotation end="<[cC][rR]>" contains=@vimSubstRepList nextgroup=vimSubstFlagErr oneline -syn region vimCollection contained transparent start="\\\@\|[[\]<>'`]\)\@=" nextgroup=@vimMarkArg -VimL syn match vimExMark "\" skipwhite nextgroup=@vimMarkArg -syn match vimExMark "\" skipwhite nextgroup=@vimMarkArg - -syn match vimMarkArg contained "[a-zA-Z]\>\|[[\]<>'`]" skipwhite nextgroup=vimCmdSep,vimComment -syn match vimMarkArgError contained "["^.(){}0-9]" -syn cluster vimMarkArg contains=vimMarkArg,vimMarkArgError - -" Marks, Registers, Addresses, Filters: {{{2 -syn match vimMark "'[a-zA-Z0-9]\ze\s*$" -syn match vimMark "'[[\]{}()<>'`"^.]\ze\s*$" -syn match vimMark "'[a-zA-Z0-9]\ze[-+,!]" nextgroup=vimFilter,vimMarkNumber,vimSubst1 -syn match vimMark "'[[\]{}()<>'`"^.]\ze[-+,!]" nextgroup=vimFilter,vimMarkNumber,vimSubst1 -syn match vimMark ",\zs'[[\]{}()<>'`"^.]" nextgroup=vimFilter,vimMarkNumber,vimSubst1 -syn match vimMark "[!,:]\zs'[a-zA-Z0-9]" nextgroup=vimFilter,vimMarkNumber,vimSubst1 -syn match vimMarkNumber "[-+]\d\+" contained contains=vimOper nextgroup=vimSubst1 -syn match vimPlainMark contained "'[a-zA-Z0-9]" -syn match vimRange "[`'][a-zA-Z0-9],[`'][a-zA-Z0-9]" contains=vimMark skipwhite nextgroup=vimFilter - -syn match vimRegister '[^,;[{: \t]\zs"[a-zA-Z0-9.%#:_\-/]\ze[^a-zA-Z_":0-9]' -syn match vimRegister '@"' -syn match vimLetRegister contained '@["@0-9\-a-zA-Z:.%#=*+~_/]' - -syn match vimAddress ",\zs[.$]" skipwhite nextgroup=vimSubst1 -syn match vimAddress "%\ze\a" skipwhite nextgroup=vimString,vimSubst1 - -syn match vimFilter "^!!\=[^"]\{-}\(|\|\ze\"\|$\)" contains=vimOper,vimSpecFile -syn match vimFilter contained "!!\=[^"]\{-}\(|\|\ze\"\|$\)" contains=vimOper,vimSpecFile -syn match vimComFilter contained "|!!\=[^"]\{-}\(|\|\ze\"\|$\)" contains=vimOper,vimSpecFile - -" Complex Repeats: (:h complex-repeat) {{{2 -" =============== -syn match vimCmplxRepeat '[^a-zA-Z_/\\()]q[0-9a-zA-Z"]\>'lc=1 - -" NOTE: :* as an alias for :@ is not supported, this is considered a :range, -" see :help cpo-star -syn match vimAtArg contained +@\@1<=[0-9a-z".=*+:@]+ -syn match vimAt +@[0-9a-z".=*+:@]\ze\s*\%($\|[|"#]\)+ skipwhite nextgroup=vimCmdSep,vimComment,vim9Comment contains=vimAtArg -" Vim9: avoid LHS assignment mismatching of :@["#] -syn match vimAt +@\ze\s*\%($\||\|\s["#]\)+ skipwhite nextgroup=vimCmdSep,vimComment,vim9Comment - -" Set command and associated set-options (vimOptions) with comment {{{2 -syn match vimSet "\<\%(setl\%[ocal]\|setg\%[lobal]\|se\%[t]\)\>" skipwhite nextgroup=vimSetBang,vimCmdSep,vimComment,vimSetArgs -syn region vimSetComment contained start=+"+ skip=+\n\s*\%(\\\||"\\ \)+ end="$" contains=@vimCommentGroup,vimCommentString extend -syn match vimSetCmdSep contained "|" skipwhite nextgroup=@vimCmdList,vimSubst1,@vimFunc -syn match vimSetEscape contained "\\\%(\\[|"]\|.\)" -syn match vimSetBarEscape contained "\\|" -syn match vimSetQuoteEscape contained +\\"+ -syn region vimSetArgs contained - \ start="\l\|<" - \ skip=+\n\s*\%(\\\|["#]\\ \)\|^\s*"\\ + - \ end=+\ze\\\@1]\+>" contains=vimOption -syn region vimSetEqual contained - \ matchgroup=vimOper - \ start="[=:]\|[-+^]=" - \ skip=+\\\s\|^\s*\%(\\\|["#]\\ \)+ - \ end="\ze\s" - \ contains=@vimContinue,vimCtrlChar,vimEnvvar,vimNotation,vimSetSep,vimSetEscape,vimSetBarEscape,vimSetQuoteEscape -syn match vimSetBang contained "\a\@1<=!" skipwhite nextgroup=vimSetAll,vimSetTermcap -syn keyword vimSetAll contained all nextgroup=vimSetMod -syn keyword vimSetTermcap contained termcap -syn match vimSetSep contained "[,:]" -syn match vimSetMod contained "\a\@1<=\%(&vim\=\|[!&?<]\)" - -" Variable Declarations: {{{2 -" ===================== -VimL syn keyword vimLet let skipwhite nextgroup=@vimSpecialVar,vimVar,vimVarList,vimLetVar -VimL syn keyword vimConst cons[t] skipwhite nextgroup=@vimSpecialVar,vimVar,vimVarList,vimLetVar -syn region vimVarList contained - \ start="\[" end="]" - \ skipwhite nextgroup=vimLetHeredoc - \ contains=@vimContinue,@vimSpecialVar,vimVar -syn match vimLetVar contained "\<\%([bwglstav]:\)\=\h[a-zA-Z0-9#_]*\>\ze\%(\[.*]\)\=\s*=<<" skipwhite nextgroup=vimLetVarSubscript,vimLetHeredoc contains=vimVarScope,vimSubscript -hi link vimLetVar vimVar -syn region vimLetVarSubscript contained - \ matchgroup=vimSubscriptBracket - \ start="\S\@1<=\[" - \ end="]" - \ skipwhite nextgroup=vimLetVarSubscript,vimLetHeredoc - \ contains=@vimExprList - -syn keyword vimUnlet unl[et] skipwhite nextgroup=vimUnletBang,vimUnletVars -syn match vimUnletBang contained "\a\@1<=!" skipwhite nextgroup=vimUnletVars -syn region vimUnletVars contained - \ start="$\I\|\h" skip=+\n\s*\%(\\\|["#]\\ \)\|^\s*["#]\\ + end="$" end=+\ze\s*[|"#]+ - \ skipwhite nextgroup=vimCmdSep,vimComment,vim9Comment - \ contains=@vimContinue,vimEnvvar,vimVar,vimVimVar - -" TODO: type error after register or environment variables (strings) -VimFoldh syn region vimLetHeredoc contained - \ matchgroup=vimLetHeredocStart - \ start="\%(^\z(\s*\)\S.*\)\@<==<<\s*trim\%(\s\+\)\@>\z(\L\S*\)" - \ matchgroup=vimLetHeredocStop - \ end="^\z1\=\z2$" - \ extend -VimFoldh syn region vimLetHeredoc contained - \ matchgroup=vimLetHeredocStart - \ start="=<<\%(\s*\)\@>\z(\L\S*\)" - \ matchgroup=vimLetHeredocStop end="^\z1$" - \ extend -VimFoldh syn region vimLetHeredoc contained - \ matchgroup=vimLetHeredocStart - \ start="\%(^\z(\s*\)\S.*\)\@<==<<\s*\%(trim\s\+eval\|eval\s\+trim\)\%(\s\+\)\@>\z(\L\S*\)" - \ matchgroup=vimLetHeredocStop - \ end="^\z1\=\z2$" - \ contains=@vimStringInterpolation - \ extend -VimFoldh syn region vimLetHeredoc contained - \ matchgroup=vimLetHeredocStart - \ start="=<<\s*eval\%(\s\+\)\@>\z(\L\S*\)" - \ matchgroup=vimLetHeredocStop - \ end="^\z1$" - \ contains=@vimStringInterpolation - \ extend - -Vim9 syn keyword vim9Const const skipwhite nextgroup=vim9Variable,vim9VariableList -Vim9 syn keyword vim9Final final skipwhite nextgroup=vim9Variable,vim9VariableList -Vim9 syn keyword vim9Var var skipwhite nextgroup=vim9Variable,vim9VariableList - -syn match vim9Variable contained "\<\h\w*\>" skipwhite nextgroup=vim9VariableTypeSep,vimLetHeredoc,vimOper -syn region vim9VariableList contained start="\[" end="]" contains=@vimContinue,@vimSpecialVar,vim9Variable skipwhite nextgroup=vimLetHeredoc - -syn match vim9VariableTypeSep contained "\S\@1<=:\%(\s\|\n\)\@=" skipwhite nextgroup=@vim9VariableType -syn keyword vim9VariableType contained blob bool channel float job number string void skipwhite nextgroup=vimLetHeredoc -syn keyword vim9VariableTypeAny contained any skipwhite nextgroup=vimLetHeredoc -syn match vim9VariableTypeObject contained "\" skipwhite nextgroup=vimLetHeredoc -syn region vim9VariableCompoundType contained - \ matchgroup=vim9VariableType - \ start="\" skipwhite nextgroup=vimLetHeredoc - -syn cluster vim9VariableType contains=vim9VariableType,vim9VariableTypeAny,vim9VariableTypeObject,vim9VariableCompoundType,vim9VariableUserType - -" Lockvar and Unlockvar: {{{2 -" ===================== -syn keyword vimLockvar lockv[ar] skipwhite nextgroup=vimLockvarBang,vimLockvarDepth,vimLockvarVars -syn keyword vimUnlockvar unlo[ckvar] skipwhite nextgroup=vimLockvarBang,vimLockvarDepth,vimLockvarVars -syn match vimLockvarBang contained "\a\@1<=!" skipwhite nextgroup=vimLockvarVars -syn match vimLockvarDepth contained "\<[0-3]\>" skipwhite nextgroup=vimLockvarVars -syn region vimLockvarVars contained - \ start="\h" skip=+\n\s*\%(\\\|"\\ \)\|^\s*"\\ + end="$" end="\ze[|"]" - \ nextgroup=vimCmdSep,vimComment - \ contains=@vimContinue,vimVar - -hi def link vimLockvar vimCommand -hi def link vimUnlockvar vimCommand -hi def link vimLockvarBang vimBang -hi def link vimLockvarDepth vimNumber - -" For: {{{2 -" === -" handles Vim9 and legacy for now -syn region vimFor - \ matchgroup=vimCommand - \ start="\" end="\" - \ skipwhite skipnl nextgroup=@vimForInContinue,vim9ForInComment,@vimExprList - \ contains=@vimContinue,vimVar,vimVarList,vim9Variable,vim9VariableList - \ transparent - -syn match vim9ForInComment contained "#.*" skipwhite skipempty nextgroup=vimForInComment,@vimExprList - -syn match vimForInContinue contained "^\s*\zs\\" skipwhite skipnl nextgroup=@vimForInContinue,@vimExprList -syn match vimForInContinueComment contained '^\s*\zs["#]\\ .*' skipwhite skipnl nextgroup=@vimForInContinue,@vimExprList -syn cluster vimForInContinue contains=vimForInContinue,vimForInContinueComment - -" Abbreviations: {{{2 -" ============= -" GEN_SYN_VIM: vimCommand abbrev, START_STR='syn keyword vimAbb', END_STR='skipwhite nextgroup=vimMapMod,vimMapLhs' -" GEN_SYN_VIM: vimCommand abclear, START_STR='syn keyword vimAbb', END_STR='skipwhite nextgroup=vimMapMod' - -" Filename Patterns: {{{2 -" ================= - -syn match vimWildcardQuestion contained "?" -syn match vimWildcardStar contained "*" - -syn match vimWildcardBraceComma contained "," -syn region vimWildcardBrace contained - \ matchgroup=vimWildcard - \ start="{" - \ end="}" - \ contains=vimWildcardEscape,vimWildcardBrace,vimWildcardBraceComma,vimWildcardQuestion,vimWildcardStar,vimWildcardBracket - \ oneline - -syn match vimWildcardIntervalNumber contained "\d\+" -syn match vimWildcardInterval contained "\\\\\\{\d\+\%(,\d\+\)\=\\}" contains=vimWildcardIntervalNumber - - -syn match vimWildcardBracket contained "\[\%(\^\=]\=\%(\\.\|\[\([:.=]\)[^:.=]\+\1]\|[^][:space:]]\)*\)\@>]" - \ contains=vimWildcardBracketStart,vimWildcardEscape - -syn match vimWildcardBracketCharacter contained "." nextgroup=@vimWildcardBracketCharacter,vimWildcardBracketHyphen,vimWildcardBracketEnd -syn match vimWildcardBracketRightBracket contained "]" nextgroup=@vimWildcardBracketCharacter,vimWildcardBracketEnd -syn match vimWildcardBracketHyphen contained "-]\@!" nextgroup=@vimWildcardBracketCharacter -syn match vimWildcardBracketEscape contained "\\." nextgroup=@vimWildcardBracketCharacter,vimWildcardBracketHyphen,vimWildcardBracketEnd -syn match vimWildcardBracketCharacterClass contained "\[:[^:]\+:]" nextgroup=@vimWildcardBracketCharacter,vimWildcardBracketEnd -syn match vimWildcardBracketEquivalenceClass contained "\[=[^=]\+=]" nextgroup=@vimWildcardBracketCharacter,vimWildcardBracketEnd -syn match vimWildcardBracketCollatingSymbol contained "\[\.[^.]\+\.]" nextgroup=@vimWildcardBracketCharacter,vimWildcardBracketEnd - -syn match vimWildcardBracketStart contained "\[" nextgroup=vimWildcardBracketCaret,vimWildcardBracketRightBracket,@vimWildcardBracketCharacter -syn match vimWildcardBracketCaret contained "\^" nextgroup=@vimWildcardBracketCharacter,vimWildcardBracketRightBracket -syn match vimWildcardBracketEnd contained "]" - -syn cluster vimWildcardBracketCharacter contains=vimWildcardBracketCharacter,vimWildcardBracketEscape,vimWildcardBracketCharacterClass,vimWildcardBracketEquivalenceClass,vimWildcardBracketCollatingSymbol - -syn match vimWildcardEscape contained "\\." - -syn cluster vimWildcard contains=vimWildcardQuestion,vimWildcardStar,vimWildcardBrace,vimWildcardBracket,vimWildcardInterval - -" Autocmd and Doauto{cmd,all}: {{{2 -" =========================== - -" TODO: explicitly match the {cmd} arg rather than bailing out to TOP -syn region vimAutocmdBlock contained matchgroup=vimSep start="{" end="^\s*\zs}" contains=@vimDefBodyList - -syn match vimAutocmdGroup contained "\%(\\["|[:space:]]\|[^"|[:space:]]\)\+" skipwhite nextgroup=vimAutoEvent,vimAutoEventGlob -syn match vimAutocmdBang contained "\a\@1<=!" skipwhite nextgroup=vimAutocmdGroup,vimAutoEvent,vimAutoEventGlob - -" TODO: cleaner handling of | in pattern position -" : match pattern items in addition to wildcards -syn region vimAutocmdPattern contained - \ start="|\@!\S" - \ skip="\\\\\|\\[,[:space:]]" - \ end="\ze[,[:space:]]" - \ end="$" - \ skipwhite nextgroup=vimAutocmdPatternSep,vimAutocmdMod,vimAutocmdBlock,@vimFunc - \ contains=vimEnvvar,@vimWildcard,vimAutocmdPatternEscape -syn match vimAutocmdBufferPattern contained "" skipwhite nextgroup=vimAutocmdPatternSep,vimAutocmdMod,vimAutocmdBlock,@vimFunc -" trailing pattern separator comma allowed -syn match vimAutocmdPatternSep contained "," skipwhite nextgroup=@vimAutocmdPattern,vimAutocmdMod,vimAutocmdBlock -syn match vimAutocmdPatternEscape contained "\\." -syn cluster vimAutocmdPattern contains=vimAutocmdPattern,vimAutocmdBufferPattern - -" TODO: Vim9 requires '++' prefix -syn match vimAutocmdMod contained "\%(++\)\=\" skipwhite nextgroup=vimAutocmdMod,vimAutocmdBlock -syn match vimAutocmdMod contained "++once\>" skipwhite nextgroup=vimAutocmdMod,vimAutocmdBlock - -" higher priority than vimAutocmdGroup, assume no group is so named -syn match vimAutoEventGlob contained "*" skipwhite nextgroup=@vimAutocmdPattern -syn match vimAutoEventSep contained "\a\@1<=," nextgroup=vimAutoEvent -syn match vimUserAutoEventSep contained "\a\@1<=," nextgroup=vimUserAutoEvent - -syn match vimAutocmd "\" skipwhite nextgroup=vimAutocmdBang,vimAutocmdGroup,vimAutoEvent,vimAutoEventGlob - - -syn match vimDoautocmdMod contained "" skipwhite nextgroup=vimAutocmdGroup,vimAutoEvent -syn match vimDoautocmd "\" skipwhite nextgroup=vimDoautocmdMod,vimAutocmdGroup,vimAutoEvent -syn match vimDoautocmd "\" skipwhite nextgroup=vimDoautocmdMod,vimAutocmdGroup,vimAutoEvent - -" Echo And Execute: -- prefer strings! {{{2 -" ================ -" NOTE: No trailing comments - -syn region vimEcho - \ matchgroup=vimCommand - \ start="\" - \ start="\" - \ start="\" - \ start="\" - \ start="\" - \ start="\" - \ skip=+\\|\|||\|\n\s*\%(\\\|["#]\\ \)+ - \ end="\ze|" - \ excludenl end="$" - \ nextgroup=vimCmdSep - \ contains=@vimContinue,@vimExprList,vim9Comment - \ transparent - -syn match vimEchohl "\" skipwhite nextgroup=vimGroup,vimHLGroup,vimEchohlNone -syn case ignore -syn keyword vimEchohlNone contained none -syn case match - -syn cluster vimEcho contains=vimEcho,vimEchohl - -syn region vimExecute - \ matchgroup=vimCommand - \ start="\" - \ skip=+\\|\|||\|\n\s*\%(\\\|["#]\\ \)+ - \ end="\ze|" - \ excludenl end="$" - \ nextgroup=vimCmdSep - \ contains=@vimContinue,@vimExprList,vim9Comment - \ transparent - -syn region vimEval - \ matchgroup=vimCommand - \ start="\" - \ skip=+\\|\|||\|\n\s*\%(\\\|["#]\\ \)+ - \ end="\ze|" - \ excludenl end="$" - \ nextgroup=vimCmdSep - \ contains=@vimContinue,@vimExprList,vim9Comment,vimComment - \ transparent - -" Filter: {{{2 -" ====== -syn match vimExFilter "\" skipwhite nextgroup=vimExFilterBang,vimExFilterPattern -syn region vimExFilterPattern contained - \ start="[[:ident:]]" - \ end="\ze[[:space:]\n]" - \ skipwhite nextgroup=@vimCmdList - \ contains=@vimSubstList - \ oneline -syn region vimExFilterPattern contained - \ matchgroup=Delimiter - \ start="\z([^[:space:][:ident:]|"]\)" - \ skip="\\\\\|\\\z1" - \ end="\z1" - \ skipwhite nextgroup=@vimCmdList - \ contains=@vimSubstList - \ oneline -syn match vimExFilterBang contained "\a\@1<=!" skipwhite nextgroup=vimExFilterPattern - -" Grep and Make: {{{2 -" ============= -" | is the command separator, escaped with \| all other backslashes are passed through literally, no tail comments -syn match vimGrep "\" skipwhite nextgroup=vimGrepBang,vimGrepArgs,vimCmdSep -syn match vimGrepadd "\" skipwhite nextgroup=vimGrepBang,vimGrepArgs,vimCmdSep -syn region vimGrepArgs contained - \ start="|\@!\S" - \ skip=+\n\s*\%(\\\|[#"]\\ \)+ - \ matchgroup=vimCmdSep - \ end="|" - \ end="$" - "\ TODO: include vimSpecFile - \ contains=vimGrepBarEscape -syn match vimGrepBarEscape contained "\\|" -syn match vimGrepBang contained "\a\@1<=!" skipwhite nextgroup=vimGrepArgs,vimCmdSep - -syn match vimMake "\" skipwhite nextgroup=vimMakeBang,vimMakeArgs,vimCmdSep -syn region vimMakeArgs contained - \ start="|\@!\S" - \ skip=+\n\s*\%(\\\|[#"]\\ \)+ - \ matchgroup=vimCmdSep - \ end="|" - \ end="$" - "\ TODO: include vimSpecFile - \ contains=vimMakeBarEscape -syn match vimMakeBarEscape contained "\\|" -syn match vimMakeBang contained "\a\@1<=!" skipwhite nextgroup=vimMakeArgs,vimCmdSep - -" Help*: {{{2 -" ===== -syn match vimHelp "\" skipwhite nextgroup=vimHelpBang,vimHelpArg,vimHelpNextCommand -" TODO: match wildcards, ignoring exceptions? -syn region vimHelpArg contained - \ start="\S" - \ matchgroup=Special - \ end="\%(@\a\a\)\=\ze\s*\%($\|\%x0d\|\%x00\||[^|]\)" - \ oneline -syn match vimHelpNextCommand contained "\ze|[^|]" skipwhite nextgroup=vimCmdSep -syn match vimHelpBang contained "\a\@1<=!" skipwhite nextgroup=vimHelpArg,vimHelpNextCommand - -syn match vimHelpgrep "\" skipwhite nextgroup=vimHelpgrepBang,vimHelpgrepPattern -syn region vimHelpgrepPattern contained - \ start="\S" - \ matchgroup=Special - \ end="@\a\a\>" - \ end="$" - \ contains=@vimSubstList - \ oneline - -" Vimgrep: {{{2 -" ======= -syn match vimVimgrep "\" skipwhite nextgroup=vimVimgrepBang,vimVimgrepPattern -syn match vimVimgrepadd "\" skipwhite nextgroup=vimVimgrepBang,vimVimgrepPattern -syn match vimVimgrepBang contained "\a\@1<=!" skipwhite nextgroup=vimVimgrepPattern -syn region vimVimgrepPattern contained - \ start="[[:ident:]]" - \ end="\ze[[:space:]\n]" - \ skipwhite nextgroup=vimVimgrepFile,vimCmdSep - \ contains=@vimSubstList - \ oneline -syn region vimVimgrepPattern contained - \ matchgroup=Delimiter - \ start="\z([^[:space:][:ident:]|"]\)" - \ skip="\\\\\|\\\z1" - \ end="\z1" - \ skipwhite nextgroup=vimVimgrepFlags,vimVimgrepFile,vimCmdSep - \ contains=@vimSubstList - \ oneline -syn match vimVimgrepEscape contained "\\\%(\\|\|.\)" -syn match vimVimgrepBarEscape contained "\\|" -syn region vimVimgrepFile contained - \ start="|\@!\S" - \ matchgroup=vimCmdSep - \ end="|" - \ end="\ze\s" - \ end="$" - \ skipwhite nextgroup=vimVimgrepFile - \ contains=vimSpecFile,vimVimgrepEscape,vimVimgrepBarEscape -syn match vimVimgrepFlags contained "\<[gjf]\{,3\}\>" skipwhite nextgroup=vimVimgrepfile - -" Maps: {{{2 -" ==== -" GEN_SYN_VIM: vimCommand map, START_STR='syn keyword vimMap', END_STR='skipwhite nextgroup=vimMapMod,vimMapLhs' -syn match vimMap "\" skipwhite nextgroup=vimMapBang,vimMapMod,vimMapLhs -syn keyword vimMap no[remap] skipwhite nextgroup=vimMapBang,vimMapMod,vimMapLhs -" GEN_SYN_VIM: vimCommand mapclear, START_STR='syn keyword vimMap', END_STR='skipwhite nextgroup=vimMapMod' -syn keyword vimMap mapc[lear] skipwhite nextgroup=vimMapBang,vimMapMod -" GEN_SYN_VIM: vimCommand unmap, START_STR='syn keyword vimUnmap', END_STR='skipwhite nextgroup=vimMapMod,vimMapLhs' -syn keyword vimUnmap unm[ap] skipwhite nextgroup=vimMapBang,vimMapMod,vimMapLhs - -syn match vimMapLhs contained "\%(.\|\S\)\+" contains=vimCtrlChar,vimNotation,vimMapLeader skipwhite nextgroup=vimMapRhs -syn match vimMapLhs contained "\%(.\|\S\)\+\ze\s*$" contains=vimCtrlChar,vimNotation,vimMapLeader skipwhite skipnl nextgroup=vimMapRhsContinue -syn match vimMapBang contained "\a\@1<=!" skipwhite nextgroup=vimMapMod,vimMapLhs -syn match vimMapMod contained "\%#=1<\%(buffer\|expr\|nowait\|script\|silent\|special\|unique\)\+>" contains=vimMapModKey,vimMapModErr skipwhite nextgroup=vimMapMod,vimMapLhs -syn region vimMapRhs contained - \ start="\S" - \ skip=+\\|\|\@1<=|\|\n\s*\%(\\\|["#]\\ \)+ - \ end="\ze|" - \ end="$" - \ nextgroup=vimCmdSep - \ contains=@vimContinue,vimCtrlChar,vimNotation,vimMapLeader -syn region vimMapRhsContinue contained - \ start=+^\s*\%(\\\|["#]\\ \)+ - \ skip=+\\|\|\@1<=|\|\n\s*\%(\\\|["#]\\ \)+ - \ end="\ze|" - \ end="$" - \ nextgroup=vimCmdSep - \ contains=@vimContinue,vimCtrlChar,vimNotation,vimMapLeader -syn match vimMapLeader contained "\%#=1\c<\%(local\)\=leader>" contains=vimMapLeaderKey -syn keyword vimMapModKey contained buffer expr nowait script silent special unique -syn case ignore -syn keyword vimMapLeaderKey contained leader localleader -syn case match - -" Menus: {{{2 -" ===== -" NOTE: tail comments disallowed -" GEN_SYN_VIM: vimCommand menu, START_STR='syn keyword vimMenu', END_STR='skipwhite nextgroup=vimMenuBang,vimMenuMod,vimMenuName,vimMenuPriority,vimMenuStatus' -syn keyword vimMenu popu[p] skipwhite nextgroup=vimMenuBang,vimMenuName -syn region vimMenuRhs contained contains=@vimContinue,vimNotation start="|\@!\S" skip=+\\\\\|\\|\|\n\s*\%(\\\|"\\ \)+ end="$" matchgroup=vimSep end="|" -syn region vimMenuRhsContinue contained contains=@vimContinue,vimNotation start=+^\s*\%(\\\|"\\ \)+ skip=+\\\\\|\\|\|\n\s*\%(\\\|"\\ \)+ end="$" matchgroup=vimSep end="|" -syn match vimMenuName "\.\@!\%(\\\s\|\S\)\+" contained contains=vimMenuNotation,vimNotation skipwhite nextgroup=vimCmdSep,vimMenuRhs -syn match vimMenuName "\.\@!\%(\\\s\|\S\)\+\ze\s*$" contained contains=vimMenuNotation,vimNotation skipwhite skipnl nextgroup=vimCmdSep,vimMenuRhsContinue -syn match vimMenuNotation "&\a\|&&\|\\\s\|\\\." contained -syn match vimMenuPriority "\<\d\+\%(\.\d\+\)*\>" contained skipwhite nextgroup=vimMenuName -syn match vimMenuMod "\c<\%(script\|silent\|special\)>" contained skipwhite nextgroup=vimMenuName,vimMenuPriority,vimMenuMod contains=vimMapModKey,vimMapModErr -syn keyword vimMenuStatus enable disable nextgroup=vimMenuName skipwhite -syn match vimMenuBang "\a\@1<=!" contained skipwhite nextgroup=vimMenuName,vimMenuMod - -syn region vimMenutranslate - \ matchgroup=vimCommand start="\" - \ skip=+\\\\\|\\|\|\n\s*\%(\\\|"\\ \)+ - \ end="$" matchgroup=vimCmdSep end="|" matchgroup=vimMenuClear end="\" skipwhite nextgroup=@vimExprList,vimNotation -syn match vimElse "\" skipwhite nextgroup=vimComment,vim9Comment -syn match vimEndif "\" skipwhite nextgroup=vimComment,vim9Comment - -" Angle-Bracket Notation: (tnx to Michael Geddes) {{{2 -" ====================== -syn case ignore -syn match vimNotation contained "\%#=1\%(\\\|\)\=<\%([scamd]-\)\{0,4}x\=\%(f\d\{1,2}\|[^ \t:]\|space\|bar\|bslash\|nl\|newline\|lf\|linefeed\|cr\|retu\%[rn]\|enter\|k\=del\%[ete]\|bs\|backspace\|tab\|esc\|csi\|right\|paste\%(start\|end\)\|left\|help\|undo\|k\=insert\|ins\|mouse\|[kz]\=home\|[kz]\=end\|kplus\|kminus\|kdivide\|kmultiply\|kenter\|kpoint\|space\|k\=\%(page\)\=\%(\|down\|up\|k\d\>\)\)>" contains=vimBracket - -syn match vimNotation contained "\%#=1\%(\\\|\)\=<\%([scamd2-4]-\)\{0,4}\%(net\|dec\|jsb\|pterm\|urxvt\|sgr\)mouse>" contains=vimBracket -syn match vimNotation contained "\%#=1\%(\\\|\)\=<\%([scamd2-4]-\)\{0,4}\%(left\|middle\|right\)\%(mouse\|drag\|release\)>" contains=vimBracket -syn match vimNotation contained "\%#=1\%(\\\|\)\=<\%([scamd2-4]-\)\{0,4}left\%(mouse\|release\)nm>" contains=vimBracket -syn match vimNotation contained "\%#=1\%(\\\|\)\=<\%([scamd2-4]-\)\{0,4}x[12]\%(mouse\|drag\|release\)>" contains=vimBracket -syn match vimNotation contained "\%#=1\%(\\\|\)\=<\%([scamd2-4]-\)\{0,4}sgrmouserelease>" contains=vimBracket -syn match vimNotation contained "\%#=1\%(\\\|\)\=<\%([scamd2-4]-\)\{0,4}mouse\%(up\|down\|move\)>" contains=vimBracket -syn match vimNotation contained "\%#=1\%(\\\|\)\=<\%([scamd2-4]-\)\{0,4}scrollwheel\%(up\|down\|right\|left\)>" contains=vimBracket - -syn match vimNotation contained "\%#=1\%(\\\|\)\=<\%(sid\|nop\|nul\|lt\|drop\)>" contains=vimBracket -syn match vimNotation contained "\%#=1\%(\\\|\)\=<\%(snr\|plug\|cursorhold\|ignore\|cmd\|scriptcmd\|focus\%(gained\|lost\)\)>" contains=vimBracket -" syn match vimNotation contained '\%(\\\|\)\=[0-9a-z"%#:.\-=]'he=e-1 contains=vimBracket -syn match vimNotation contained '\%#=1\%(\\\|\)\=<\%([fq]-\)\=\%(line[12]\|count\|bang\|reg\|args\|mods\|lt\)>' contains=vimBracket skipwhite nextgroup=vimSubst1 -syn match vimNotation contained "\%#=1\%(\\\|\)\=<\%([cas]file\|abuf\|amatch\|cexpr\|cword\|cWORD\|client\|stack\|script\|sf\=lnum\)>" contains=vimBracket -syn match vimNotation contained "\%#=1\%(\\\|\)\=<\%([scamd]-\)\{0,4}char-\%(\d\+\|0\o\+\|0x\x\+\)>" contains=vimBracket - -syn match vimBracket contained "[\\<>]" -syn case match - -" User Command Highlighting: {{{2 -syn match vimUsrCmd '^\s*\zs\u\%(\w*\)\@>\%([<.(#[]\|\s\+\%([-+*/%]\=\|\.\.\)=\)\@!' - -" Vim user commands - -" Compiler plugins -syn match vimCompilerSet "\" skipwhite nextgroup=vimSetArgs - -" runtime/makemenu.vim -syn match vimSynMenu "\" skipwhite nextgroup=vimSynMenuPath -syn match vimSynMenuPath contained ".*\ze:" nextgroup=vimSynMenuColon contains=vimMenuNotation -syn match vimSynMenuColon contained ":" nextgroup=vimSynMenuName -syn match vimSynMenuName contained "\w\+" - -" runtime/syntax/syncolor.vim -syn match vimSynColor "\" skipwhite nextgroup=vimSynColorGroup -syn match vimSynColorGroup contained "\<\h\w*\>" skipwhite nextgroup=vimHiKeyList contains=vimGroup -syn match vimSynLink "\" skipwhite nextgroup=vimSynLinkGroup -syn match vimSynLinkGroup contained "\<\h\w*\>" skipwhite nextgroup=vimGroup contains=vimGroup - -syn cluster vimExUserCmdList contains=vimCompilerSet,vimSynColor,vimSynLink,vimSynMenu - -" Errors And Warnings: {{{2 -" ==================== -if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimfunctionerror") - syn match vimFunctionError contained "[[:space:]!]\@1<=\<[a-z0-9]\w\{-}\ze\s*(" - syn match vimFunctionError contained "\%(<[sS][iI][dD]>\|[sg]:\)\d\w\{-}\ze\s*(" - syn match vimElseIfErr "\" - syn match vimBufnrWarn /\" skipwhite nextgroup=vimMatchGroup,vimMatchNone contains=vimCount -syn match vimMatchGroup contained "[[:alnum:]._-]\+" skipwhite nextgroup=vimMatchPattern -syn case ignore -syn keyword vimMatchNone contained none -syn case match -syn region vimMatchPattern contained - \ matchgroup=Delimiter - \ start="\z([!#$%&'()*+,-./:;<=>?@[\]^_`{}~]\)" - \ skip="\\\\\|\\\z1" - \ end="\z1" - \ contains=@vimSubstList - \ oneline - -" Normal: {{{2 -" ====== -syn match vimNormal "\!\=" skipwhite nextgroup=vimNormalArg contains=vimBang -syn region vimNormalArg contained start="\S" skip=+\n\s*\%(\\\|["#]\\ \)+ end="$" contains=@vimContinue - -" Profile: {{{2 -" ======= -syn match vimProfileBang contained "\a\@1<=!" skipwhite nextgroup=vimProfileArg -syn keyword vimProfileArg contained start skipwhite nextgroup=vimProfilePattern -syn keyword vimProfileArg contained func skipwhite nextgroup=vimProfilePattern -syn keyword vimProfileArg contained file skipwhite nextgroup=vimProfilePattern -syn keyword vimProfileArg contained stop pause skipwhite nextgroup=vimCmdSep,@vimComment -syn keyword vimProfileArg contained continue dump skipwhite nextgroup=vimCmdSep,@vimComment -" TODO: match file pattern -syn region vimProfilePattern contained - \ start="\S" - \ skip=+\\[|"#]+ - \ end="$" end=+\ze\s*[|"#]+ - \ skipwhite nextgroup=vimCmdSep,vimComment,vim9Comment -syn match vimProfile "\" skipwhite nextgroup=vimProfileBang,vimProfileArg - -syn keyword vimProfdelArg contained func skipwhite nextgroup=vimProfilePattern -syn keyword vimProfdelArg contained file skipwhite nextgroup=vimProfilePattern -syn keyword vimProfdelArg contained here skipwhite nextgroup=vimCmdSep,@vimComment -syn match vimProfdel "\" skipwhite nextgroup=vimProfdelArg - -" Prompt{find,repl}: {{{2 -" ================= -syn region vimPromptArg contained - \ start="\S" - \ skip=+\n\s*\%(\\\|["#]\\ \)+ - \ end="$" - \ contains=@vimContinue -syn keyword vimPrompt promptf[ind] promptr[epl] skipwhite nextgroup=vimPromptArg - -" Redir: {{{2 -" ===== -syn match vimRedir "\" skipwhite nextgroup=vimRedirBang,vimRedirFileOperator,vimRedirVariableOperator,vimRedirRegister,vimRedirEnd -syn match vimRedirBang contained "\a\@1<=!" skipwhite nextgroup=vimRedirFileOperator - -syn match vimRedirFileOperator contained ">>\=" skipwhite nextgroup=vimRedirFile -syn region vimRedirFile contained - \ start="\S" - \ matchgroup=Normal - \ end="\s*$" - \ end="\s*\ze[|"]" - \ nextgroup=vimCmdSep,vimComment - \ contains=vimSpecFile -syn match vimRedirRegisterOperator contained ">>\=" -syn match vimRedirRegister contained "@[a-zA-Z*+"]" nextgroup=vimRedirRegisterOperator -syn match vimRedirVariableOperator contained "=>>\=" skipwhite nextgroup=vimVar -syn keyword vimRedirEnd contained END - -" Sleep: {{{2 -" ===== -syn keyword vimSleep sl[eep] skipwhite nextgroup=vimSleepBang,vimSleepArg -syn match vimSleepBang contained "\a\@1<=!" skipwhite nextgroup=vimSleepArg -syn match vimSleepArg contained "\<\%(\d\+\)\=m\=\>" - -" Sort: {{{2 -" ==== -syn match vimSort "\" skipwhite nextgroup=vimSortBang,@vimSortOptions,vimSortPattern,vimCmdSep -syn match vimSortBang contained "\a\@1<=!" skipwhite nextgroup=@vimSortOptions,vimSortPattern,vimCmdSep -syn match vimSortOptionsError contained "\a\+" -syn match vimSortOptions contained "\<[ilur]*[nfxob]\=[ilur]*\>" skipwhite nextgroup=vimSortPattern,vimCmdSep -syn region vimSortPattern contained - \ matchgroup=Delimiter - \ start="\z([^[:space:][:alpha:]|]\)" - \ skip="\\\\\|\\\z1" - \ end="\z1" - \ skipwhite nextgroup=@vimSortOptions,vimCmdSep - \ contains=@vimSubstList - \ oneline - -syn cluster vimSortOptions contains=vimSortOptions,vimSortOptionsError - -" Terminal: {{{2 -" ======== -syn match vimTerminal "\" skipwhite nextgroup=vimTerminalOptions,vimTerminalCommand -syn match vimTerminal +\\ze\s*\n\s*\%(\\\|["#]\\ \)+ skipwhite skipnl nextgroup=vimTerminalOptions,vimTerminalCommand,@vimTerminalContinue - -syn match vimTerminalContinue contained "^\s*\\" skipwhite skipnl nextgroup=@vimTerminalContinue,vimTerminalOptions,vimTerminalCommand contains=vimWhitespace -syn match vimTerminalContinueComment contained '^\s*["#]\\ .*' skipwhite skipnl nextgroup=@vimTerminalContinue,vimTerminalOptions,vimTerminalCommand contains=vimWhitespace -syn cluster vimTerminalContinue contains=vimTerminalContinue,vimTerminalContinueComment - -syn region vimTerminalCommand contained - \ start="\S" - \ skip=+\n\s*\%(\\\|["#]\\ \)+ - \ end="$" - \ contains=@vimContinue - -syn region vimTerminalOptions contained - \ start="++" - \ skip=/\s\+++\|\%(\n\|^\)\s*\%(\\\|["#]\\ \)/ - \ end="\s" - \ end="$" - \ skipwhite nextgroup=vimTerminalCommand - \ contains=@vimContinue,vimTerminalOption - \ transparent - -syn match vimTerminalOption contained "++\%(\%(no\)\=close\|open\|curwin\|hidden\|norestore\|shell\)\>" -syn match vimTerminalOption contained "++kill=" nextgroup=vimTerminalKillOptionArg -syn match vimTerminalOption contained "++\%(rows\|cols\)=" nextgroup=vimTerminalSizeOptionArg -syn match vimTerminalOption contained "++eof=" nextgroup=vimTerminalEofOptionArg -syn match vimTerminalOption contained "++type=" nextgroup=vimTerminalTypeOptionArg -syn match vimTerminalOption contained "++api=" nextgroup=vimTerminalApiOptionArg - -syn match vimTerminalApiOptionArg contained "\<\S\+\>" -syn match vimTerminalEofOptionArg contained "\<\S\+\>" -syn match vimTerminalSizeOptionArg contained "\<\d\+\>" -syn keyword vimTerminalKillOptionArg contained term hup quit int kill -syn match vimTerminalKillOptionArg contained "\<\d\+\>" -syn keyword vimTerminalTypeOptionArg contained conpty winpty - -" Uniq: {{{2 -" ==== -syn match vimUniq "\" skipwhite nextgroup=vimUniqBang,@vimUniqOptions,vimUniqPattern,vimCmdSep -syn match vimUniqBang contained "\a\@1<=!" skipwhite nextgroup=@vimUniqOptions,vimUniqPattern,vimCmdSep -syn match vimUniqOptionsError contained "\a\+" -syn match vimUniqOptions contained "\<[ilur]*\>" skipwhite nextgroup=vimUniqPattern,vimCmdSep -syn region vimUniqPattern contained - \ matchgroup=Delimiter - \ start="\z([^[:space:][:alpha:]|]\)" - \ skip="\\\\\|\\\z1" - \ end="\z1" - \ skipwhite nextgroup=@vimUniqOptions,vimCmdSep - \ contains=@vimSubstList - \ oneline - -syn cluster vimUniqOptions contains=vimUniqOptions,vimUniqOptionsError - -" Wincmd: {{{2 -" ====== -syn match vimWincmd "\" skipwhite nextgroup=vimWincmdArg -" TODO: consider extracting this list from the help file -syn match vimWincmdArg contained - \ "\<[sSvnqojkhlwWtbpPrRxKJHLTfFz]\>\|[\^:=\-+_<>|\]}]\|\" - \ skipwhite nextgroup=vimCmdSep,vimComment,vim9Comment - -" only handles oneline assignments -Vim9 syn match vimWincmd "\s\=\\ze\s\+=\s*\%([#|]\|$\)" skipwhite nextgroup=vimWincmdArg - -" Syntax: {{{2 -"======= -syn region vimGroupList contained - \ start="\S" - \ skip=+\n\s*\%(\\\|["#]\\ \)+ - "\ need to consume the whitespace - \ end="\s"he=e-1 - \ end="$" - \ contains=@vimGroupListContinue,vimGroupSpecial,vimGroupListContinueComma -syn keyword vimGroupSpecial contained ALL ALLBUT CONTAINED TOP -syn match vimGroupListComma contained "," -syn match vimGroupListContinueComma contained "\s\+,\s*\|,\s\+" contains=vimGroupListComma -syn match vimGroupListContinueComma contained "\s*,\s*\%(\n\s*\%(\\\s\+\|["#]\\ .*\)\)\+" contains=@vimGroupListContinue,vimGroupListComma - -syn match vimGroupListEquals contained "=" skipwhite skipnl nextgroup=vimGroupListContinueStart,vimGroupList -" the first continuation line does not terminate the list at whitepace after \ -syn match vimGroupListContinueStart contained "^\%(\s*["#]\\ .*\n\)*\s*\\\s\+" skipwhite nextgroup=vimGroupList contains=@vimGroupListContinue transparent - -syn match vimGroupListContinue contained "^\s*\\" skipwhite skipnl nextgroup=@vimGroupListContinue,vimGroupListContinueComma contains=vimWhitespace -syn match vimGroupListContinueComment contained '^\s*["#]\\ .*' skipwhite skipnl nextgroup=@vimGroupListContinue contains=vimWhitespace -syn cluster vimGroupListContinue contains=vimGroupListContinue,vimGroupListContinueComment - -if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsynerror") - syn match vimSynError contained "\i\+" -endif -syn match vimSynContains contained "\" skipwhite nextgroup=vimGroupListEquals -syn match vimSynContainedin contained "\" skipwhite nextgroup=vimGroupListEquals -syn match vimSynNextgroup contained "\" skipwhite nextgroup=vimGroupListEquals -if has("conceal") - " no whitespace allowed after '=' - syn match vimSynCchar contained "\" contains=vimCommand skipwhite nextgroup=vimSynType,@vimComment -syn cluster vimFunctionBodyList add=vimSyntax - -" Syntax: case {{{2 -syn keyword vimSynType contained case skipwhite nextgroup=vimSynCase,vimSynCaseError -if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsyncaseerror") - syn match vimSynCaseError contained "\i\+" -endif -syn keyword vimSynCase contained ignore match - -" Syntax: clear {{{2 -syn keyword vimSynType contained clear - -" Syntax: cluster {{{2 -syn keyword vimSynType contained cluster skipwhite nextgroup=vimClusterName -syn region vimClusterName contained keepend matchgroup=vimGroupName start="\h\w*\>" skip=+\\\\\|\\\|\n\s*\%(\\\|"\\ \)+ matchgroup=vimCmdSep end="$\||" contains=@vimContinue,vimGroupAdd,vimGroupRem,vimSynContains,vimSynError -syn match vimGroupAdd contained "\" skipwhite nextgroup=vimGroupListEquals -syn match vimGroupRem contained "\" skipwhite nextgroup=vimGroupListEquals - -" Syntax: conceal {{{2 -syn match vimSynType contained "\" skipwhite nextgroup=vimSynConceal,vimSynConcealError -if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsynconcealerror") - syn match vimSynConcealError contained "\i\+" -endif -syn keyword vimSynConceal contained on off - -" Syntax: foldlevel {{{2 -syn keyword vimSynType contained foldlevel skipwhite nextgroup=vimSynFoldlevel,vimSynFoldlevelError -if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsynfoldlevelerror") - syn match vimSynFoldlevelError contained "\i\+" -endif -syn keyword vimSynFoldlevel contained start minimum - -" Syntax: iskeyword {{{2 -syn keyword vimSynType contained iskeyword skipwhite nextgroup=vimSynIskeyword -syn keyword vimSynIskeyword contained clear -syn match vimSynIskeyword contained "\S\+" contains=vimSynIskeywordSep -syn match vimSynIskeywordSep contained "," - -" Syntax: include {{{2 -syn keyword vimSynType contained include skipwhite nextgroup=vimSynIncludeCluster -syn match vimSynIncludeCluster contained "@[_a-zA-Z0-9]\+\>" - -" Syntax: keyword {{{2 -syn cluster vimSynKeyGroup contains=@vimContinue,vimSynCchar,vimSynNextgroup,vimSynKeyOpt,vimSynContainedin -syn keyword vimSynType contained keyword skipwhite nextgroup=vimSynKeyRegion -syn region vimSynKeyRegion contained keepend matchgroup=vimGroupName start="\h\w*\>" skip=+\\\\\|\\|\|\n\s*\%(\\\|"\\ \)+ matchgroup=vimCmdSep end="|\|$" contains=@vimSynKeyGroup -syn match vimSynKeyOpt contained "\%#=1\<\%(conceal\|contained\|transparent\|skipempty\|skipwhite\|skipnl\)\>" - -" Syntax: match {{{2 -syn cluster vimSynMtchGroup contains=@vimContinue,vimSynCchar,vimSynContains,vimSynContainedin,vimSynError,vimSynMtchOpt,vimSynNextgroup,vimSynRegPat,vimNotation,vimMtchComment -syn keyword vimSynType contained match skipwhite nextgroup=vimSynMatchRegion -syn region vimSynMatchRegion contained keepend matchgroup=vimGroupName start="\h\w*\>" skip=+\\\\\|\\|\|\n\s*\%(\\\|"\\ \)+ matchgroup=vimCmdSep end="|\|$" contains=@vimSynMtchGroup -syn match vimSynMtchOpt contained "\%#=1\<\%(conceal\|transparent\|contained\|excludenl\|keepend\|skipempty\|skipwhite\|display\|extend\|skipnl\|fold\)\>" - -" Syntax: off and on {{{2 -syn keyword vimSynType contained enable list manual off on reset - -" Syntax: region {{{2 -syn cluster vimSynRegPatGroup contains=@vimContinue,vimPatSep,vimNotPatSep,vimSynPatRange,vimSynNotPatRange,vimSubstSubstr,vimPatRegion,vimPatSepErr,vimNotation -syn cluster vimSynRegGroup contains=@vimContinue,vimSynCchar,vimSynContains,vimSynContainedin,vimSynNextgroup,vimSynRegOpt,vimSynReg,vimSynMtchGrp -syn keyword vimSynType contained region skipwhite nextgroup=vimSynRegion -syn region vimSynRegion contained keepend matchgroup=vimGroupName start="\h\w*" skip=+\\\\\|\\|\|\n\s*\%(\\\|"\\ \)+ matchgroup=vimCmdSep end="|\|$" contains=@vimSynRegGroup -syn match vimSynRegOpt contained "\%#=1\<\%(conceal\%(ends\)\=\|transparent\|contained\|excludenl\|skipempty\|skipwhite\|display\|keepend\|oneline\|extend\|skipnl\|fold\)\>" -syn match vimSynReg contained "\<\%(start\|skip\|end\)=" nextgroup=vimSynRegPat -syn match vimSynMtchGrp contained "matchgroup=" nextgroup=vimGroup,vimHLGroup -syn region vimSynRegPat contained extend start="\z([-`~!@#$%^&*_=+;:'",./?]\)" skip=/\\\\\|\\\z1\|\n\s*\%(\\\|"\\ \)/ end="\z1" contains=@vimSynRegPatGroup skipwhite nextgroup=vimSynPatMod,vimSynReg -syn match vimSynPatMod contained "\%#=1\%(hs\|ms\|me\|hs\|he\|rs\|re\)=[se]\%([-+]\d\+\)\=" -syn match vimSynPatMod contained "\%#=1\%(hs\|ms\|me\|hs\|he\|rs\|re\)=[se]\%([-+]\d\+\)\=," nextgroup=vimSynPatMod -syn match vimSynPatMod contained "lc=\d\+" -syn match vimSynPatMod contained "lc=\d\+," nextgroup=vimSynPatMod -syn region vimSynPatRange contained start="\[" skip="\\\\\|\\]" end="]" -syn match vimSynNotPatRange contained "\\\\\|\\\[" -syn match vimMtchComment contained '"[^"]\+$' - -" Syntax: spell {{{2 -syn keyword vimSynType contained spell skipwhite nextgroup=vimSynSpell,vimSynSpellError -if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsynspellerror") - syn match vimSynSpellError contained "\i\+" -endif -syn keyword vimSynSpell contained default notoplevel toplevel - -" Syntax: sync {{{2 -" ============ -syn keyword vimSynType contained sync skipwhite nextgroup=vimSyncClear,vimSyncMatch,vimSyncError,vimSyncRegion,vimSyncArgs -if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsyncerror") - syn match vimSyncError contained "\i\+" -endif - -syn region vimSyncArgs contained start="\S" skip=+\\\\\|\\|\|\n\s*\%(\\\|"\\ \)+ matchgroup=vimCmdSep end="|\|$" contains=vimSyncLines,vimSyncLinebreak,vimSyncLinecont,vimSyncFromstart,vimSyncCcomment - -syn keyword vimSyncCcomment contained ccomment skipwhite nextgroup=vimGroupName -syn keyword vimSyncClear contained clear skipwhite nextgroup=vimSyncGroupName -syn keyword vimSyncFromstart contained fromstart -syn keyword vimSyncMatch contained match skipwhite nextgroup=vimSyncGroupName -syn keyword vimSyncRegion contained region skipwhite nextgroup=vimSynRegion -syn match vimSyncLinebreak contained "\" skipwhite nextgroup=vimSyncKey -syn match vimSyncKey contained "\" skipwhite nextgroup=vimSyncGroup -syn match vimSyncKey contained "\" skipwhite nextgroup=vimSyncGroup -syn match vimSyncGroup contained "\<\h\w*\>" skipwhite nextgroup=vimSynRegPat,vimSyncNone -syn keyword vimSyncNone contained NONE - -" Syntime: {{{2 -" ======= -syn keyword vimSyntimeArg contained on off clear report skipwhite nextgroup=vimComment,vim9Comment,vimCmdSep -syn keyword vimSyntime synti[me] skipwhite nextgroup=vimSyntimeArg -" Additional IsCommand: here by reasons of precedence {{{2 -" ==================== -syn match vimIsCommand "\s*\a\+" transparent contains=vimCommand,vimNotation - -" Highlighting: {{{2 -" ============ -syn cluster vimHighlightCluster contains=vimHiLink,vimHiClear,vimHiKeyList,@vimComment -if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimhictermerror") - syn match vimHiCtermError contained "\D\i*" -endif -syn match vimHighlight "\" skipwhite nextgroup=vimHiBang,@vimHighlightCluster -syn match vimHiBang contained "\a\@1<=!" skipwhite nextgroup=@vimHighlightCluster - -syn case ignore -" Conceal is a generated low-priority match -syn match vimHiGroup contained "\%(\\)\@!\i\+" -syn keyword vimHiNone contained NONE -syn keyword vimHiAttrib contained none bold inverse italic nocombine reverse standout strikethrough underline undercurl underdashed underdotted underdouble -syn keyword vimFgBgAttrib contained none bg background fg foreground -syn case match -syn match vimHiAttribList contained "\i\+" contains=vimHiAttrib -syn match vimHiAttribList contained "\i\+,"he=e-1 contains=vimHiAttrib nextgroup=vimHiAttribList -syn case ignore -syn keyword vimHiCtermColor contained black blue brown cyan darkblue darkcyan darkgray darkgreen darkgrey darkmagenta darkred darkyellow gray green grey grey40 grey50 grey90 lightblue lightcyan lightgray lightgreen lightgrey lightmagenta lightred lightyellow magenta red seagreen white yellow -syn match vimHiCtermColor contained "\" -syn case match - -syn match vimHiFontname contained "[a-zA-Z\-*]\+" -syn match vimHiGuiFontname contained "'[a-zA-Z\-* ]\+'" -syn match vimHiGuiRgb contained "#\x\{6}" - -" Highlighting: hi group key=arg ... {{{2 -syn cluster vimHiCluster contains=vimGroup,vimHLGroup,vimHiGroup,vimHiNone,vimHiTerm,vimHiCTerm,vimHiStartStop,vimHiCtermFgBg,vimHiCtermul,vimHiCtermfont,vimHiGui,vimHiGuiFont,vimHiGuiFgBg,vimHiKeyError,vimNotation,vimComment,vim9comment -syn region vimHiKeyList contained start="\i\+" skip=+\\\\\|\\|\|\n\s*\%(\\\|"\\ \)+ matchgroup=vimCmdSep end="|" excludenl end="$" contains=@vimContinue,@vimHiCluster -if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_vimhikeyerror") - syn match vimHiKeyError contained "\i\+="he=e-1 -endif -syn match vimHiTerm contained "\cterm="he=e-1 nextgroup=vimHiAttribList -syn match vimHiStartStop contained "\c\%(start\|stop\)="he=e-1 nextgroup=vimHiTermcap,vimOption -syn match vimHiCTerm contained "\ccterm="he=e-1 nextgroup=vimHiAttribList -syn match vimHiCtermFgBg contained "\ccterm[fb]g="he=e-1 nextgroup=vimHiNmbr,vimHiCtermColor,vimFgBgAttrib,vimHiCtermError -syn match vimHiCtermul contained "\cctermul="he=e-1 nextgroup=vimHiNmbr,vimHiCtermColor,vimFgBgAttrib,vimHiCtermError -syn match vimHiCtermfont contained "\cctermfont="he=e-1 nextgroup=vimHiNmbr,vimHiCtermColor,vimFgBgAttrib,vimHiCtermError -syn match vimHiGui contained "\cgui="he=e-1 nextgroup=vimHiAttribList -syn match vimHiGuiFont contained "\cfont="he=e-1 nextgroup=vimHiFontname -syn match vimHiGuiFgBg contained "\cgui\%([fb]g\|sp\)="he=e-1 nextgroup=vimHiGroup,vimHiGuiFontname,vimHiGuiRgb,vimFgBgAttrib -syn match vimHiTermcap contained "\S\+" contains=vimNotation -syn match vimHiNmbr contained '\d\+' - -" Highlight: clear {{{2 -syn keyword vimHiClear contained clear skipwhite nextgroup=vimGroup,vimHLGroup,vimHiGroup - -" Highlight: link {{{2 -" see tst24 (hi def vs hi) (Jul 06, 2018) -"syn region vimHiLink contained oneline matchgroup=vimCommand start="\(\\|\\)" end="$" contains=vimHiGroup,vimGroup,vimHLGroup,vimNotation -" TODO: simplify and allow line continuations --djk -syn region vimHiLink contained matchgroup=Type start="\%(\\|\\)" skip=+\\\\\|\\|\|\n\s*\%(\\\|"\\ \)+ matchgroup=vimCmdSep end="|" excludenl end="$" contains=@vimContinue,@vimHiCluster - -" Control Characters: {{{2 -" ================== -syn match vimCtrlChar "[- -]" - -" Embedded Scripts: {{{2 -" ================ -" perl,ruby : Benoit Cerrina -" python,tcl : Johannes Zellner -" mzscheme, lua : Charles Campbell - -" Allows users to specify the type of embedded script highlighting -" they want: (lua/mzscheme/perl/python/ruby/tcl support) -" g:vimsyn_embed == 0 : don't embed any scripts -" g:vimsyn_embed =~# 'l' : embed Lua -" g:vimsyn_embed =~# 'm' : embed MzScheme -" g:vimsyn_embed =~# 'p' : embed Perl -" g:vimsyn_embed =~# 'P' : embed Python -" g:vimsyn_embed =~# 'r' : embed Ruby -" g:vimsyn_embed =~# 't' : embed Tcl - -let s:interfaces = get(g:, "vimsyn_embed", "lP") - -" [-- lua --] {{{3 -if s:interfaces =~# 'l' - syn include @vimLuaScript syntax/lua.vim - unlet b:current_syntax -endif - -syn keyword vimLua lua skipwhite nextgroup=vimLuaHeredoc,vimLuaStatement -syn keyword vimLua luado skipwhite nextgroup=vimLuaStatement -syn keyword vimLua luafile - -syn region vimLuaStatement contained - \ start="\S" - \ skip=+\n\s*\%(\\\|["#]\\ \)+ - \ end="$" - \ contains=@vimLuaScript,@vimContinue -VimFoldl syn region vimLuaHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+<<\s*\z(\S\+\)\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\z1$+ - \ contains=@vimLuaScript -VimFoldl syn region vimLuaHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+<<\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\.$+ - \ contains=@vimLuaScript -VimFoldl syn region vimLuaHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\s\+\z(\S\+\)\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\z1\=\z2$+ - \ contains=@vimLuaScript -VimFoldl syn region vimLuaHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\z1\=\.$+ - \ contains=@vimLuaScript - -" [-- mzscheme --] {{{3 -if s:interfaces =~# 'm' - let s:iskKeep = &l:isk - syn include @vimMzSchemeScript syntax/scheme.vim - unlet b:current_syntax - let &l:isk = s:iskKeep -endif - -syn keyword vimMzScheme mz[scheme] skipwhite nextgroup=vimMzSchemeHeredoc,vimMzSchemeStatement -syn keyword vimMzScheme mzf[ile] - -syn region vimMzSchemeStatement contained - \ start="\S" - \ skip=+\n\s*\%(\\\|["#]\\ \)+ - \ end="$" - \ contains=@vimMzSchemeScript,@vimContinue -VimFoldm syn region vimMzSchemeHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+<<\s*\z(\S\+\)\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\z1$+ - \ contains=@vimMzSchemeScript -VimFoldm syn region vimMzSchemeHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+<<\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\.$+ - \ contains=@vimMzSchemeScript -VimFoldm syn region vimMzSchemeHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\s\+\z(\S\+\)\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\z1\=\z2$+ - \ contains=@vimMzSchemeScript -VimFoldm syn region vimMzSchemeHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\z1\=\.$+ - \ contains=@vimMzSchemeScript - -" [-- perl --] {{{3 -if s:interfaces =~# 'p' - syn include @vimPerlScript syntax/perl.vim - unlet b:current_syntax -endif - -syn keyword vimPerl pe[rl] skipwhite nextgroup=vimPerlHeredoc,vimPerlStatement -syn keyword vimPerl perld[o] skipwhite nextgroup=vimPerlStatement - -syn region vimPerlStatement contained - \ start="\S" - \ skip=+\n\s*\%(\\\|["#]\\ \)+ - \ end="$" - \ contains=@vimPerlScript,@vimContinue -VimFoldp syn region vimPerlHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+<<\s*\z(\S\+\)\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\z1$+ contains=@vimPerlScript -VimFoldp syn region vimPerlHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+<<\ze\s*$+ matchgroup=vimScriptHeredocStop - \ end=+^\.$+ - \ contains=@vimPerlScript -VimFoldp syn region vimPerlHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\s\+\z(\S\+\)\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\z1\=\z2$+ - \ contains=@vimPerlScript -VimFoldp syn region vimPerlHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\z1\=\.$+ - \ contains=@vimPerlScript - -" [-- python --] {{{3 -if s:interfaces =~# 'P' - syn include @vimPythonScript syntax/python2.vim - unlet b:current_syntax -endif - -syn keyword vimPython py[thon] skipwhite nextgroup=vimPythonHeredoc,vimPythonStatement -syn keyword vimPython pydo skipwhite nextgroup=vimPythonStatement -syn keyword vimPython pyfile - -syn region vimPythonStatement contained - \ start="\S" - \ skip=+\n\s*\%(\\\|["#]\\ \)+ - \ end="$" - \ contains=@vimPythonScript,@vimContinue -VimFoldP syn region vimPythonHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+<<\s*\z(\S\+\)\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\z1$+ - \ contains=@vimPythonScript -VimFoldP syn region vimPythonHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+<<\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\.$+ - \ contains=@vimPythonScript -VimFoldP syn region vimPythonHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\s\+\z(\S\+\)\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\z1\=\z2$+ - \ contains=@vimPythonScript -VimFoldP syn region vimPythonHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\z1\=\.$+ - \ contains=@vimPythonScript - -" [-- python3 --] {{{3 -if s:interfaces =~# 'P' - syn include @vimPython3Script syntax/python.vim - unlet b:current_syntax -endif - -syn keyword vimPython3 python3 py3 skipwhite nextgroup=vimPython3Heredoc,vimPython3Statement -syn keyword vimPython3 py3do skipwhite nextgroup=vimPython3Statement -syn keyword vimPython3 py3file - -syn region vimPython3Statement contained - \ start="\S" - \ skip=+\n\s*\%(\\\|["#]\\ \)+ - \ end="$" - \ contains=@vimPython3Script,@vimContinue -VimFoldP syn region vimPython3Heredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+<<\s*\z(\S\+\)\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\z1$+ - \ contains=@vimPython3Script -VimFoldP syn region vimPython3Heredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+<<\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\.$+ - \ contains=@vimPython3Script -VimFoldP syn region vimPython3Heredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\s\+\z(\S\+\)\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\z1\=\z2$+ - \ contains=@vimPython3Script -VimFoldP syn region vimPython3Heredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\z1\=\.$+ - \ contains=@vimPython3Script - -" [-- pythonx --] {{{3 -if s:interfaces =~# 'P' - if &pyxversion == 2 - syn cluster vimPythonXScript contains=@vimPythonScript - else - syn cluster vimPythonXScript contains=@vimPython3Script - endif -endif - -syn keyword vimPythonX pythonx pyx skipwhite nextgroup=vimPythonXHeredoc,vimPythonXStatement -syn keyword vimPythonX pyxdo skipwhite nextgroup=vimPythonXStatement -syn keyword vimPythonX pyxfile - -syn region vimPythonXStatement contained - \ start="\S" - \ skip=+\n\s*\%(\\\|["#]\\ \)+ - \ end="$" - \ contains=@vimPythonXScript,@vimContinue -VimFoldP syn region vimPythonXHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+<<\s*\z(\S\+\)\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\z1$+ - \ contains=@vimPythonXScript -VimFoldP syn region vimPythonXHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+<<\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\.$+ - \ contains=@vimPythonXScript -VimFoldP syn region vimPythonXHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\s\+\z(\S\+\)\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\z1\=\z2$+ - \ contains=@vimPythonXScript -VimFoldP syn region vimPythonXHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\z1\=\.$+ - \ contains=@vimPythonXScript - -" [-- ruby --] {{{3 -if s:interfaces =~# 'r' - syn include @vimRubyScript syntax/ruby.vim - unlet b:current_syntax -endif - -syn keyword vimRuby rub[y] skipwhite nextgroup=vimRubyHeredoc,vimRubyStatement -syn keyword vimRuby rubyd[o] skipwhite nextgroup=vimRubyStatement -syn keyword vimRuby rubyf[ile] - -syn region vimRubyStatement contained - \ start="\S" - \ skip=+\n\s*\%(\\\|["#]\\ \)+ - \ end="$" - \ contains=@vimRubyScript,@vimContinue -VimFoldr syn region vimRubyHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+<<\s*\z(\S\+\)\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\z1$+ - \ contains=@vimRubyScript -VimFoldr syn region vimRubyHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+<<\ze\s*$+ matchgroup=vimScriptHeredocStop - \ end=+^\.$+ - \ contains=@vimRubyScript -VimFoldr syn region vimRubyHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\s\+\z(\S\+\)\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\z1\=\z2$+ - \ contains=@vimRubyScript -VimFoldr syn region vimRubyHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\z1\.$+ - \ contains=@vimRubyScript - -" [-- tcl --] {{{3 -if s:interfaces =~# 't' - syn include @vimTclScript syntax/tcl.vim - unlet b:current_syntax -endif - -syn keyword vimTcl tcl skipwhite nextgroup=vimTclHeredoc,vimTclStatement -syn keyword vimTcl tcld[o] skipwhite nextgroup=vimTclStatement -syn keyword vimTcl tclf[ile] -syn region vimTclStatement contained - \ start="\S" - \ skip=+\n\s*\%(\\\|["#]\\ \)+ - \ end="$" - \ contains=@vimTclScript,@vimContinue -VimFoldt syn region vimTclHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+<<\s*\z(\S\+\)\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\z1$+ - \ contains=@vimTclScript -VimFoldt syn region vimTclHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+<<\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\.$+ - \ contains=@vimTclScript -VimFoldt syn region vimTclHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\s\+\z(\S\+\)\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\z1\=\z2$+ - \ contains=@vimTclScript -VimFoldt syn region vimTclHeredoc contained - \ matchgroup=vimScriptHeredocStart - \ start=+\%(^\z(\s*\)\S.*\)\@<=<<\s*trim\ze\s*$+ - \ matchgroup=vimScriptHeredocStop - \ end=+^\z1\=\.$+ - \ contains=@vimTclScript - -unlet s:interfaces -" Function Call Highlighting: {{{2 -" (following Gautam Iyer's suggestion) -" ========================== -syn match vimFunc contained "\<\l\w*\ze\s*(" skipwhite nextgroup=vimOperParen contains=vimFuncName -syn match vimUserFunc contained "\.\@1<=\l\w*\ze\%(\s*(\|<.*>(\)" skipwhite nextgroup=vimOperParen,vim9TypeArgs -syn match vimUserFunc contained "\<\%([[:upper:]_]\|\%(\h\w*\.\)\+\h\)\w*\ze\%(\s*(\|<.*>(\)" skipwhite nextgroup=vimOperParen,vim9TypeArgs contains=vim9MethodName,vim9Super,vim9This -syn match vimUserFunc contained "\<\%(g:\)\=\%(\h\w*#\)\+\h\w*\ze\%(\s*(\|<.*>(\)" skipwhite nextgroup=vimOperParen contains=vimVarScope -syn match vimUserFunc contained "\%(\<[sgbwtlav]:\|<[sS][iI][dD]>\)\%(\h\w*\.\)*\h\w*\ze\%(\s*(\|<.*>(\)" skipwhite nextgroup=vimOperParen,vim9TypeArgs contains=vimVarScope,vimNotation - -Vim9 syn match vim9UserFunc "^\s*\zs\%([sgbwtv]:\|<[sS][iI][dD]>\)\=\%(\h\w*[.#]\)*\h\w*\ze[<(]" skipwhite nextgroup=vimOperParen,vim9TypeArgs contains=vimVarScope,vimNotation,vim9MethodName,vim9Super,vim9This -Vim9 syn match vim9Func "^\s*\zs\l\w*\ze(" skipwhite nextgroup=vimOperParen contains=vimFuncName - -syn cluster vimFunc contains=vimFunc,vimUserFunc -syn cluster vim9Func contains=vim9Func,vim9UserFunc - -syn region vim9TypeArgs contained - \ matchgroup=Delimiter - \ start="<\ze\a" - \ end=">" - \ nextgroup=vimOperParen - \ contains=@vimType - \ oneline - -" Beginners - Patterns that involve ^ {{{2 -" ========= -Vim9 syn region vim9LineComment start=+^[ \t:]*\zs#.*$+ skip=+\n\s*\%(\\\|#\\ \)+ end="$" contains=@vimCommentGroup,vimCommentString,vim9CommentTitle extend -VimL syn region vimLineComment start=+^[ \t:]*\zs".*$+ skip=+\n\s*\%(\\\|"\\ \)+ end="$" contains=@vimCommentGroup,vimCommentString,vimCommentTitle extend - -syn match vimCommentTitle '"\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1 contained contains=vimCommentTitleLeader,vimTodo,@vimCommentGroup -syn match vim9CommentTitle '#\s*\%([sS]:\|\h\w*#\)\=\%([A-DF-Z]\w*\|E\%(\d\{1,4}\>\)\@!\w*\)\(\s\+\u\w*\)*:'hs=s+1 contained contains=vim9CommentTitleLeader,vimTodo,@vimCommentGroup - -" allowed anywhere in the file -if !s:vim9script - syn match vimShebangError "^\s*\zs#!.*" display -endif -syn match vimShebang "\%^#!.*" display - -syn match vimContinue "^\s*\zs\\" -syn match vimContinueComment '^\s*\zs["#]\\ .*' extend -syn match vim9ContinueComment "^\s*\zs#\\ .*" extend -syn cluster vimContinue contains=vimContinue,vimContinueComment -syn cluster vim9Continue contains=vimContinue,vim9ContinueComment - -syn region vimString start='^\s*\\"' end='"' oneline keepend contains=@vimStringGroup,vimContinue -syn region vimString start="^\s*\\'" end="'" oneline keepend contains=vimQuoteEscape,vimContinue - -syn match vimCommentTitleLeader '"\s\+'ms=s+1 contained -syn match vim9CommentTitleLeader '#\s\+'ms=s+1 contained - -" Searches And Globals: {{{2 -" ==================== -VimL syn match vimSearch '^\s*[/?].*' contains=vimSearchDelim -syn match vimSearchDelim '^\s*\zs[/?]\|[/?]$' contained -Vim9 syn match vim9Search '^\s*:[/?].*' contains=vim9SearchDelim -syn match vim9SearchDelim '^\s*\zs:[/?]\|[/?]$' contained contains=vimCmdSep -syn region vimGlobal matchgroup=Statement start='\\s\+[eE][nN][dD]" - -" ==================== -" Highlighting Settings {{{2 -" ==================== - -if !exists("skip_vim_syntax_inits") - if !exists("g:vimsyn_noerror") - hi def link vimBehaveError vimError - hi def link vimCollClassErr vimError - hi def link vimErrSetting vimError - hi def link vimFTError vimError - hi def link vimFunctionError vimError - hi def link vimFunc vimError - hi def link vim9Func vimError - hi def link vimHiAttribList vimError - hi def link vimHiCtermError vimError - hi def link vimHiKeyError vimError - hi def link vimMapModErr vimError - hi def link vimMarkArgError vimError - hi def link vimShebangError vimError - hi def link vimSortOptionsError Error - hi def link vimSubstFlagErr vimError - hi def link vimSynCaseError vimError - hi def link vimSyncError vimError - hi def link vimSynConcealError vimError - hi def link vimSynError vimError - hi def link vimSynFoldlevelError vimError - hi def link vimSynIskeywordError vimError - hi def link vimSynSpellError vimError - hi def link vimBufnrWarn vimWarn - - hi def link vim9TypeAliasError vimError - endif - - hi def link vimAbb vimCommand - hi def link vimAddress vimMark - hi def link vimAt vimCommand - hi def link vimAtArg Special - hi def link vimAugroupBang vimBang - hi def link vimAugroupError vimError - hi def link vimAugroupKey vimCommand - hi def link vimAutocmd vimCommand - hi def link vimAutocmdBang vimBang - hi def link vimAutocmdPatternEscape Special - hi def link vimAutoEvent Type - hi def link vimAutoEventGlob Type - hi def link vimAutocmdBufferPattern Special - hi def link vimAutocmdMod Special - hi def link vimAutocmdPatternSep vimSep - hi def link vimBang vimOper - hi def link vimBehaveBang vimBang - hi def link vimBehaveModel vimBehave - hi def link vimBehave vimCommand - hi def link vimBracket Delimiter - hi def link vimBreakaddFunc Special - hi def link vimBreakaddFile Special - hi def link vimBreakaddHere Special - hi def link vimBreakaddExpr Special - hi def link vimBreakpointGlob Special - hi def link vimBreakadd vimCommand - hi def link vimBreakdel vimCommand - hi def link vimBreaklist vimCommand - hi def link vimCall vimCommand - hi def link vimCatch vimCommand - hi def link vimCd vimCommand - hi def link vimCdBang vimBang - hi def link vimCmplxRepeat SpecialChar - hi def link vimCommand Statement - hi def link vimCommandModifier vimCommand - hi def link vimCommandModifierBang vimBang - hi def link vimComment Comment - hi def link vimCommentError vimError - hi def link vimCommentString vimString - hi def link vimCommentTitle PreProc - hi def link vimCondHL vimCommand - hi def link vimConst vimCommand - hi def link vimContinue Special - hi def link vimContinueComment vimComment - hi def link vimContinueString vimString - hi def link vimCount Number - hi def link vimCtrlChar SpecialChar - hi def link vimDebug vimCommand - hi def link vimDebuggreedy vimCommand - hi def link vimDef vimCommand - hi def link vimDefBang vimBang - hi def link vimDefComment vim9Comment - hi def link vimDefer vimCommand - hi def link vimDefParam vimVar - hi def link vimDelcommand vimCommand - hi def link vimDelcommandAttr vimUserCmdAttr - hi def link vimDelfunction vimCommand - hi def link vimDelfunctionBang vimBang - hi def link vimDoautocmd vimCommand - hi def link vimDoautocmdMod Special - hi def link vimDoCommand vimCommand - hi def link vimDoCommandBang vimBang - hi def link vimEcho vimCommand - hi def link vimEchohlNone vimGroup - hi def link vimEchohl vimCommand - hi def link vimElse vimCommand - hi def link vimElseIfErr Error - hi def link vimEndfunction vimCommand - hi def link vimEnddef vimCommand - hi def link vimEndif vimCommand - hi def link vimEnvvar PreProc - hi def link vimError Error - hi def link vimEscape Special - hi def link vimEval vimCommand - hi def link vimExFilter vimCommand - hi def link vimExFilterBang vimBang - hi def link vimExMark vimCommand - hi def link vimFBVar vimVar - hi def link vimFgBgAttrib vimHiAttrib - hi def link vimFuncEcho vimCommand - hi def link vimFor vimCommand - hi def link vimForInContinue vimContinue - hi def link vimForInContinueComment vimContinueComment - hi def link vimFTCmd vimCommand - hi def link vimFTOption vimSynType - hi def link vimFunction vimCommand - hi def link vimFunctionBang vimBang - hi def link vimFunctionComment vimComment - hi def link vimFuncName Function - hi def link vimFunctionMod Special - hi def link vimFunctionParam vimVar - hi def link vimFunctionParamEquals vimOper - hi def link vimFunctionScope vimVarScope - hi def link vimFunctionSID vimNotation - hi def link vimGrep vimCommand - hi def link vimGrepadd vimCommand - hi def link vimGrepBang vimBang - hi def link vimGroup Type - hi def link vimGroupAdd vimSynOption - hi def link vimGroupListEquals vimSynOption - hi def link vimGroupListContinue vimContinue - hi def link vimGroupListContinueComment vimContinueComment - hi def link vimGroupName Normal - hi def link vimGroupRem vimSynOption - hi def link vimGroupSpecial Special - hi def link vimHelp vimCommand - hi def link vimHelpBang vimBang - hi def link vimHelpgrep vimCommand - hi def link vimHiAttrib PreProc - hi def link vimHiBang vimBang - hi def link vimHiClear Type - hi def link vimHiCtermColor Constant - hi def link vimHiCtermFgBg vimHiTerm - hi def link vimHiCtermfont vimHiTerm - hi def link vimHiCtermul vimHiTerm - hi def link vimHiCTerm vimHiTerm - hi def link vimHighlight vimCommand - hi def link vimHiGroup vimGroupName - hi def link vimHiGuiFgBg vimHiTerm - hi def link vimHiGuiFont vimHiTerm - hi def link vimHiGuiRgb vimNumber - hi def link vimHiGui vimHiTerm - hi def link vimHiNmbr Number - hi def link vimHiNone vimGroup - hi def link vimHiStartStop vimHiTerm - hi def link vimHiTerm Type - hi def link vimHLGroup vimGroup - hi def link vimHistory vimCommand - hi def link vimHistoryName Special - hi def link vimImport vimCommand - hi def link vimImportAutoload Special - hi def link vimImportAs vimImport - hi def link vimInsert vimString - hi def link vim9KeymapLineComment vimKeymapLineComment - hi def link vimKeymapLineComment vimComment - hi def link vimKeymapTailComment vimComment - hi def link vimLambdaBrace Delimiter - hi def link vimLambdaOperator vimOper - hi def link vimLanguage vimCommand - hi def link vimLanguageCategory Special - hi def link vimLanguageNameReserved Constant - hi def link vimLet vimCommand - hi def link vimLetHeredoc vimString - hi def link vimLetHeredocStart Special - hi def link vimLetHeredocStop Special - hi def link vimLetRegister vimRegister - hi def link vimLineComment vimComment - hi def link vimLua vimCommand - hi def link vimMake vimCommand - hi def link vimMakeadd vimCommand - hi def link vimMakeBang vimBang - hi def link vimMapBang vimBang - hi def link vimMapLeader vimBracket - hi def link vimMapLeaderKey vimNotation - hi def link vimMapModKey vimFunctionSID - hi def link vimMapMod vimBracket - hi def link vimMap vimCommand - hi def link vimMark Number - hi def link vimMarkNumber vimNumber - hi def link vimMatch vimCommand - hi def link vimMatchGroup vimGroup - hi def link vimMatchNone vimGroup - hi def link vimMenuBang vimBang - hi def link vimMenuClear Special - hi def link vimMenuMod vimMapMod - hi def link vimMenuName PreProc - hi def link vimMenu vimCommand - hi def link vimMenuNotation vimNotation - hi def link vimMenuPriority Number - hi def link vimMenuStatus Special - hi def link vimMenutranslateComment vimComment - hi def link vim9MethodName vimFuncName - hi def link vimMtchComment vimComment - hi def link vimMzScheme vimCommand - hi def link vimNonText NonText - hi def link vimNormal vimCommand - hi def link vimNotation Special - hi def link vimNotFunc vimCommand - hi def link vimNotPatSep vimString - hi def link vimNumber Number - hi def link vimOperError Error - hi def link vimOper Operator - hi def link vimOperContinue vimContinue - hi def link vimOperContinueComment vimContinueComment - hi def link vimOption PreProc - hi def link vimOptionVar Identifier - hi def link vimOptionVarName Identifier - hi def link vimParenSep Delimiter - hi def link vimPatSepErr vimError - hi def link vimPatSepR vimPatSep - hi def link vimPatSep SpecialChar - hi def link vimPatSepZone vimString - hi def link vimPatSepZ vimPatSep - hi def link vimPattern Type - hi def link vimPerl vimCommand - hi def link vimPlainMark vimMark - hi def link vimProfile vimCommand - hi def link vimProfileArg vimSpecial - hi def link vimProfileBang vimBang - hi def link vimProfdel vimCommand - hi def link vimProfdelArg vimSpecial - hi def link vimPrompt vimCommand - hi def link vimPython vimCommand - hi def link vimPython3 vimCommand - hi def link vimPythonX vimCommand - hi def link vimQuoteEscape vimEscape - hi def link vimRedir vimCommand - hi def link vimRedirBang vimBang - hi def link vimRedirFileOperator vimOper - hi def link vimRedirRegisterOperator vimOper - hi def link vimRedirVariableOperator vimOper - hi def link vimRedirEnd Special - hi def link vimRedirRegister vimRegister - hi def link vimRegister SpecialChar - hi def link vimRuby vimCommand - hi def link vimScriptDelim Comment - hi def link vimScriptHeredocStart vimLetHeredocStart - hi def link vimScriptHeredocStop vimLetHeredocStop - hi def link vimSearch vimString - hi def link vimSearchDelim Delimiter - hi def link vimSep Delimiter - hi def link vimSet vimCommand - hi def link vimSetAll vimOption - hi def link vimSetBang vimBang - hi def link vimSetComment vimComment - hi def link vimSetMod vimOption - hi def link vimSetSep vimSep - hi def link vimSetTermcap vimOption - hi def link vimShebang PreProc - hi def link vimSleep vimCommand - hi def link vimSleepArg Constant - hi def link vimSleepBang vimBang - hi def link vimSort vimCommand - hi def link vimSortBang vimBang - hi def link vimSortOptions Special - hi def link vimSpecFile Identifier - hi def link vimSpecFileMod vimSpecFile - hi def link vimSpecial Type - hi def link vimStringCont vimString - hi def link vimString String - hi def link vimStringEnd vimString - hi def link vimStringInterpolationBrace vimEscape - hi def link vimSubst1 vimSubst - hi def link vimSubstCount Number - hi def link vimSubstDelim Delimiter - hi def link vimSubstFlags Special - hi def link vimSubstSubstr SpecialChar - hi def link vimSubstTwoBS vimString - hi def link vimSubst vimCommand - hi def link vimSynCase Type - hi def link vimSyncCcomment Type - hi def link vimSynCchar vimSynOption - hi def link vimSynCcharValue Character - hi def link vimSyncClear Type - hi def link vimSyncFromstart Type - hi def link vimSyncGroup vimGroupName - hi def link vimSyncGroupName vimGroupName - hi def link vimSyncKey Type - hi def link vimSyncLinebreak Type - hi def link vimSyncLinecont Type - hi def link vimSyncLines Type - hi def link vimSyncMatch Type - hi def link vimSyncNone Type - hi def link vimSynConceal Type - hi def link vimSynContains vimSynOption - hi def link vimSyncRegion Type - hi def link vimSynFoldlevel Type - hi def link vimSynIskeyword Type - hi def link vimSynIskeywordSep Delimiter - hi def link vimSynContainedin vimSynContains - hi def link vimSynKeyOpt vimSynOption - hi def link vimSynMtchGrp vimSynOption - hi def link vimSynMtchOpt vimSynOption - hi def link vimSynNextgroup vimSynOption - hi def link vimSynNotPatRange vimSynRegPat - hi def link vimSynOption Special - hi def link vimSynPatRange vimString - hi def link vimSynReg Type - hi def link vimSynRegOpt vimSynOption - hi def link vimSynRegPat vimString - hi def link vimSynSpell Type - hi def link vimSyntax vimCommand - hi def link vimSynType vimSpecial - hi def link vimSyntime vimCommand - hi def link vimSyntimeArg vimSpecial - hi def link vimTcl vimCommand - hi def link vimTerminal vimCommand - hi def link vimTerminalContinue vimContinue - hi def link vimTerminalContinueComment vimContinueComment - hi def link vimTerminalOption vimSpecial - hi def link vimTerminalKillOptionArg Constant - hi def link vimTerminalSizeOptionArg Constant - hi def link vimTerminalTypeOptionArg Constant - hi def link vimThrow vimCommand - hi def link vimTodo Todo - hi def link vimType Type - hi def link vimTypeAny vimType - hi def link vimTypeObject vimType - hi def link vimTypeObjectBracket vimTypeObject - hi def link vimUniq vimCommand - hi def link vimUniqBang vimBang - hi def link vimUniqOptions Special - hi def link vimUnlet vimCommand - hi def link vimUnletBang vimBang - hi def link vimUnmap vimMap - hi def link vimUserCmd vimCommand - hi def link vimUserCmdAttrAddr vimSpecial - hi def link vimUserCmdAttrComplete vimSpecial - hi def link vimUserCmdAttrCompleteFunc vimVar - hi def link vimUserCmdAttrNargs vimSpecial - hi def link vimUserCmdAttrRange vimSpecial - hi def link vimUserCmdAttrKey vimUserCmdAttr - hi def link vimUserCmdAttr Special - hi def link vimUserCmdAttrError Error - hi def link vimUserCmdError Error - hi def link vimUserCmdKey vimCommand - hi def link vimUserFunc Normal - hi def link vimVar Normal - hi def link vimVarScope Identifier - hi def link vimVimgrep vimCommand - hi def link vimVimgrepadd vimCommand - hi def link vimVimgrepBang vimBang - hi def link vimVimgrepFlags Special - hi def link vimVimVar Identifier - hi def link vimVimVarName Identifier - hi def link vimWarn WarningMsg - hi def link vimWildcard Special - hi def link vimWildcardBraceComma vimWildcard - hi def link vimWildcardBracket vimWildcard - hi def link vimWildcardBracketCaret vimWildcard - hi def link vimWildcardBracketCharacter Normal - hi def link vimWildcardBracketCharacter Normal - hi def link vimWildcardBracketCharacterClass vimWildCard - hi def link vimWildcardBracketCollatingSymbol vimWildCard - hi def link vimWildcardBracketEnd vimWildcard - hi def link vimWildcardBracketEquivalenceClass vimWildCard - hi def link vimWildcardBracketEscape vimWildcard - hi def link vimWildcardBracketHyphen vimWildcard - hi def link vimWildcardBracketRightBracket vimWildcardBracketCharacter - hi def link vimWildcardBracketStart vimWildcard - hi def link vimWildcardEscape vimWildcard - hi def link vimWildcardInterval vimWildcard - hi def link vimWildcardQuestion vimWildcard - hi def link vimWildcardStar vimWildcard - hi def link vimWinCmd vimCommand - - hi def link vim9Abstract vimCommand - hi def link vim9Boolean Boolean - hi def link vim9Class vimCommand - hi def link vim9Comment Comment - hi def link vim9CommentError vimError - hi def link vim9CommentTitle PreProc - hi def link vim9ConstructorDefParam vimVar - hi def link vim9Const vimCommand - hi def link vim9ContinueComment vimContinueComment - hi def link vim9Enum vimCommand - hi def link vim9EnumImplementedInterfaceComment vim9Comment - hi def link vim9EnumImplements vim9Implements - hi def link vim9EnumNameComment vim9Comment - hi def link vim9EnumNameContinue vimContinue - hi def link vim9EnumNameContinueComment vim9Comment - hi def link vim9EnumValueListCommaComment vim9Comment - hi def link vim9Export vimCommand - hi def link vim9Extends Keyword - hi def link vim9Final vimCommand - hi def link vim9For vimCommand - hi def link vim9ForInComment vim9Comment - hi def link vim9Implements Keyword - hi def link vim9AbstractDef vimCommand - hi def link vim9Interface vimCommand - hi def link vim9LambdaOperator vimOper - hi def link vim9LambdaOperatorComment vim9Comment - hi def link vim9LambdaParen vimParenSep - hi def link vim9LhsRegister vimLetRegister - hi def link vim9LhsVariable vimVar - hi def link vim9LineComment vimComment - hi def link vim9MethodDef vimCommand - hi def link vim9MethodDefComment vimDefComment - hi def link vim9MethodNameError vimFunctionError - hi def link vim9Null Constant - hi def link vim9Public vimCommand - hi def link vim9Search vimString - hi def link vim9SearchDelim Delimiter - hi def link vim9Static vimCommand - hi def link vim9Super Identifier - hi def link vim9This Identifier - hi def link vim9Type vimCommand - hi def link vim9TypeEquals vimOper - hi def link vim9Variable vimVar - hi def link vim9VariableType vimType - hi def link vim9VariableTypeAny vimTypeAny - hi def link vim9VariableTypeObject vimTypeObject - hi def link vim9VariableTypeObjectBracket vimTypeObjectBracket - hi def link vim9Var vimCommand - hi def link vim9Vim9ScriptArg Special - hi def link vim9Vim9Script vimCommand - - hi def link vimCompilerSet vimCommand - hi def link vimSynColor vimCommand - hi def link vimSynLink vimCommand - hi def link vimSynMenu vimCommand - hi def link vimSynMenuPath vimMenuName -endif - -" Current Syntax Variable: {{{2 -let b:current_syntax = "vim" - -" --------------------------------------------------------------------- -" Cleanup: {{{1 -delc Vim9 -delc VimL -delc VimFolda -delc VimFoldc -delc VimFolde -delc VimFoldf -delc VimFoldh -delc VimFoldH -delc VimFoldi -delc VimFoldl -delc VimFoldm -delc VimFoldp -delc VimFoldP -delc VimFoldr -delc VimFoldt -let &cpo = s:keepcpo -unlet s:keepcpo s:vim9script -" vim:ts=18 fdm=marker ft=vim diff --git a/uvim/runtime/syntax/gift.mnv b/uvim/runtime/syntax/gift.mnv new file mode 100644 index 0000000000..465bc1a161 --- /dev/null +++ b/uvim/runtime/syntax/gift.mnv @@ -0,0 +1,216 @@ +" MNV syntax file +" +" Language: Moodle GIFT (General Import Format Template) +" Maintainer: Selim Temizer (http://selimtemizer.com) +" Creation: November 28, 2020 +" Latest Revision: December 21, 2020 +" Note: The order of entities in this file is important! + +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + + +setlocal conceallevel=1 + +"----------------------------------------------- +" GIFT entities + +syn match giftS "\~" contained "GIFT special characters +syn match giftS "=" contained +syn match giftS "#" contained +syn match giftS "{" contained +syn match giftS "}" contained +syn match giftS ":" contained + +syn match giftES "\\\~" contained conceal cchar=~ "GIFT escaped special characters +syn match giftES "\\=" contained conceal cchar== +syn match giftES "\\#" contained conceal cchar=# +syn match giftES "\\{" contained conceal cchar={ +syn match giftES "\\}" contained conceal cchar=} +syn match giftES "\\:" contained conceal cchar=: + +syn match giftEN "\\n" contained conceal cchar=n "GIFT escaped newline + +syn match giftFormat "\[html]" contained "GIFT formats +syn match giftFormat "\[plain]" contained +syn match giftFormat "\[moodle]" contained +syn match giftFormat "\[markdown]" contained + +"-------------------------------------------------------- +" HTML entities + +syn match giftH "<" contained "HTML characters that might need to be handled/escaped +syn match giftH ">" contained +syn match giftH "&" contained + +syn match giftEH "<" contained conceal cchar=< "HTML escaped characters +syn match giftEH ">" contained conceal cchar=> +syn match giftEH "&" contained conceal cchar=& +syn match giftEH " " contained conceal cchar=_ + +"------------------------------------------------------- +" Answer components: Feedback and general feedback + +syn match giftFB "#\_.\{-}\(\_^\|[^\\]\)\ze\(=\|\~\|#\|####\|}\)" contained contains=giftF "Feedback block +syn match giftF "#\zs\_.\{-}\(\_^\|[^\\]\)\ze\(=\|\~\|#\|####\|}\)" contained contains=@giftCEF "Feedback + +syn match giftGFB "####\_.\{-}\(\_^\|[^\\]\)\ze}" contained contains=giftGF "General feedback block +syn match giftGF "####\zs\_.\{-}\(\_^\|[^\\]\)\ze}" contained contains=@giftCEF "General feedback + +"------------------------------------------------------ +" Answer components: Other components + +syn keyword giftTF T TRUE F FALSE contained + +syn match giftNum1 "[-+]\=[.0-9]\+" contained "Something matching a number + +syn match giftNum2 "[-+]\=[.0-9]\+\s*:\s*[-+]\=[.0-9]\+" contained contains=giftNum2D "Number with error margin +syn match giftNum2D ":" contained "Associated delimiter + +syn match giftNum3 "[-+]\=[.0-9]\+\s*\.\.\s*[-+]\=[.0-9]\+" contained contains=giftNum3D "Number as min/max range +syn match giftNum3D "\.\." contained "Associated delimiter + +syn match giftWeightB "%-*[0-9]\{1,2}\.\?[0-9]*%" contained contains=giftWeight "Weight block +syn match giftWeight "%\zs-*[0-9]\{1,2}\.\?[0-9]*\ze%" contained "Weight + +"----------------------------------------------------- +" Answer choices + +syn match giftWrongNum "\~\zs\_.\{-}\(\_^\|[^\\]\)\ze\(####\|}\)" contained contains=@giftCEFF "Wrong numeric choice +syn match giftRightNum "=\zs\_.\{-}\(\_^\|[^\\]\)\ze\(=\|\~\|####\|}\)" contained contains=@giftCEFFW,@giftNums "Right numeric choice + +syn match giftWrong "\~\zs\_.\{-}\(\_^\|[^\\]\)\ze\(=\|\~\|####\|}\)" contained contains=@giftCEFFW "Wrong choice +syn match giftRight "=\zs\_.\{-}\(\ze->\|\(\_^\|[^\\]\)\ze\(=\|\~\|####\|}\)\)" contained contains=@giftCEFFW "Right choice +syn match giftMatchB "->\_.\{-}\(\_^\|[^\\]\)\ze\(=\|\~\|####\|}\)" contained contains=giftMatch "Match choice block +syn match giftMatch "->\zs\_.\{-}\(\_^\|[^\\]\)\ze\(=\|\~\|####\|}\)" contained contains=@giftCE "Match choice + +"---------------------------------------------------- +" Answer + +syn match giftAnswer "{\_.\{-}\(\_^\|[^\\]\)}" contained keepend contains=@giftA "General answer +syn match giftAnswer "{}" contained "Minimal answer + +syn match giftAnswerNum "{\_[[:space:]]*#\_[^#]\_.\{-}\(\_^\|[^\\]\)}" contained keepend contains=@giftANum "Numeric answer +syn match giftAnswerNumD "{\zs\_[[:space:]]*#" contained "Associated delimiter + +"--------------------------------------------------- +" Question + +" The first pattern matches the last question at the end of the file (in case there is no empty line coming after). +" However, it slows down parsing (and especially scrolling up), therefore it is commented out. + +"syn match giftQuestion "[^{[:space:]]\_.\{-}\%$" keepend contains=@giftCEF,giftAnswer,giftAnswerNum + syn match giftQuestion "[^{[:space:]]\_.\{-}\n\(\s*\n\)\+" keepend contains=@giftCEF,giftAnswer,giftAnswerNum + +"-------------------------------------------------- +" Question name + +syn match giftName "::\_.\{-}::" contains=@giftCE,giftNameD "Question name +syn match giftNameD "::" contained "Associated delimiter + +"------------------------------------------------- +" Category + +syn match giftCategoryB "^\s*\$CATEGORY:.*\n\+" contains=giftCategory "Category block +syn match giftCategory "^\s*\$CATEGORY:\zs.*\ze\n" contained "Category + +"------------------------------------------------ +" Comments (may need to be the last entity) + +syn keyword giftTodo FIXME TODO NOTE FIX XXX contained + +syn match giftIdB "\[id:\(\\]\|[^][:cntrl:]]\)\+]" contained contains=giftId "Id block +syn match giftId "\[id:\zs\(\\]\|[^][:cntrl:]]\)\+\ze]" contained "Id + +syn match giftTagB "\[tag:\(\\]\|[^]<>`[:cntrl:]]\)\+]" contained contains=giftTag "Tag block +syn match giftTag "\[tag:\zs\(\\]\|[^]<>`[:cntrl:]]\)\+\ze]" contained "Tag + +syn match giftComment "^\s*//.*" contains=giftTodo,giftIdB,giftTagB + +"----------------------------------------------- +" Clusters + +"Comments and entities (to be escaped) +syn cluster giftCE contains=giftComment,giftS,giftES,giftEN,giftH,giftEH + +"The above plus format +syn cluster giftCEF contains=@giftCE,giftFormat + +"The above plus feedback block +syn cluster giftCEFF contains=@giftCEF,giftFB + +"The above plus weight block +syn cluster giftCEFFW contains=@giftCEFF,giftWeightB + +"Possible numerical representations +syn cluster giftNums contains=giftNum1,giftNum2,giftNum3 + +"Possible contents of answers +syn cluster giftA contains=giftComment,giftTF,giftWrong,giftRight,giftMatchB,giftFB,giftGFB + +"Possible contents of numerical answers +syn cluster giftANum contains=giftAnswerNumD,giftComment,@giftNums,giftWrongNum,giftRightNum,giftFB,giftGFB + +"----------------------------------------------- + +let b:current_syntax = "gift" + +"----------------------------------------------- + +hi Conceal ctermbg=NONE ctermfg=Blue guibg=NONE guifg=Blue +hi Feedback ctermbg=NONE ctermfg=DarkCyan guibg=NONE guifg=DarkCyan +hi GFeedback ctermbg=NONE ctermfg=DarkGreen guibg=NONE guifg=DarkGreen +hi WeightB ctermbg=NONE ctermfg=DarkYellow guibg=NONE guifg=DarkYellow + +"----------------------------------------------- + +hi def link giftS Error +hi def link giftES Conceal +hi def link giftEN Conceal +hi def link giftFormat LineNr + +hi def link giftH Error +hi def link giftEH Conceal + +hi def link giftFB PreProc +hi def link giftF Feedback +hi def link giftGFB Title +hi def link giftGF GFeedback + +hi def link giftTF Question +hi def link giftNum1 Question +hi def link giftNum2 Question +hi def link giftNum2D Special +hi def link giftNum3 Question +hi def link giftNum3D Special +hi def link giftWeightB WeightB +hi def link giftWeight Identifier + +hi def link giftWrongNum Constant +hi def link giftRightNum Question +hi def link giftWrong Constant +hi def link giftRight Question +hi def link giftMatchB ModeMsg +hi def link giftMatch Constant + +hi def link giftAnswer MoreMsg +hi def link giftAnswerNum MoreMsg +hi def link giftAnswerNumD Identifier + +hi def link giftQuestion Identifier + +hi def link giftName PreProc +hi def link giftNameD Directory + +hi def link giftCategoryB LineNr +hi def link giftCategory Directory + +hi def link giftTodo Todo +hi def link giftIdB LineNr +hi def link giftId Title +hi def link giftTagB LineNr +hi def link giftTag Constant +hi def link giftComment Comment diff --git a/uvim/runtime/syntax/gift.vim b/uvim/runtime/syntax/gift.vim deleted file mode 100644 index 3f8d631ec0..0000000000 --- a/uvim/runtime/syntax/gift.vim +++ /dev/null @@ -1,216 +0,0 @@ -" Vim syntax file -" -" Language: Moodle GIFT (General Import Format Template) -" Maintainer: Selim Temizer (http://selimtemizer.com) -" Creation: November 28, 2020 -" Latest Revision: December 21, 2020 -" Note: The order of entities in this file is important! - -if version < 600 - syntax clear -elseif exists("b:current_syntax") - finish -endif - - -setlocal conceallevel=1 - -"----------------------------------------------- -" GIFT entities - -syn match giftS "\~" contained "GIFT special characters -syn match giftS "=" contained -syn match giftS "#" contained -syn match giftS "{" contained -syn match giftS "}" contained -syn match giftS ":" contained - -syn match giftES "\\\~" contained conceal cchar=~ "GIFT escaped special characters -syn match giftES "\\=" contained conceal cchar== -syn match giftES "\\#" contained conceal cchar=# -syn match giftES "\\{" contained conceal cchar={ -syn match giftES "\\}" contained conceal cchar=} -syn match giftES "\\:" contained conceal cchar=: - -syn match giftEN "\\n" contained conceal cchar=n "GIFT escaped newline - -syn match giftFormat "\[html]" contained "GIFT formats -syn match giftFormat "\[plain]" contained -syn match giftFormat "\[moodle]" contained -syn match giftFormat "\[markdown]" contained - -"-------------------------------------------------------- -" HTML entities - -syn match giftH "<" contained "HTML characters that might need to be handled/escaped -syn match giftH ">" contained -syn match giftH "&" contained - -syn match giftEH "<" contained conceal cchar=< "HTML escaped characters -syn match giftEH ">" contained conceal cchar=> -syn match giftEH "&" contained conceal cchar=& -syn match giftEH " " contained conceal cchar=_ - -"------------------------------------------------------- -" Answer components: Feedback and general feedback - -syn match giftFB "#\_.\{-}\(\_^\|[^\\]\)\ze\(=\|\~\|#\|####\|}\)" contained contains=giftF "Feedback block -syn match giftF "#\zs\_.\{-}\(\_^\|[^\\]\)\ze\(=\|\~\|#\|####\|}\)" contained contains=@giftCEF "Feedback - -syn match giftGFB "####\_.\{-}\(\_^\|[^\\]\)\ze}" contained contains=giftGF "General feedback block -syn match giftGF "####\zs\_.\{-}\(\_^\|[^\\]\)\ze}" contained contains=@giftCEF "General feedback - -"------------------------------------------------------ -" Answer components: Other components - -syn keyword giftTF T TRUE F FALSE contained - -syn match giftNum1 "[-+]\=[.0-9]\+" contained "Something matching a number - -syn match giftNum2 "[-+]\=[.0-9]\+\s*:\s*[-+]\=[.0-9]\+" contained contains=giftNum2D "Number with error margin -syn match giftNum2D ":" contained "Associated delimiter - -syn match giftNum3 "[-+]\=[.0-9]\+\s*\.\.\s*[-+]\=[.0-9]\+" contained contains=giftNum3D "Number as min/max range -syn match giftNum3D "\.\." contained "Associated delimiter - -syn match giftWeightB "%-*[0-9]\{1,2}\.\?[0-9]*%" contained contains=giftWeight "Weight block -syn match giftWeight "%\zs-*[0-9]\{1,2}\.\?[0-9]*\ze%" contained "Weight - -"----------------------------------------------------- -" Answer choices - -syn match giftWrongNum "\~\zs\_.\{-}\(\_^\|[^\\]\)\ze\(####\|}\)" contained contains=@giftCEFF "Wrong numeric choice -syn match giftRightNum "=\zs\_.\{-}\(\_^\|[^\\]\)\ze\(=\|\~\|####\|}\)" contained contains=@giftCEFFW,@giftNums "Right numeric choice - -syn match giftWrong "\~\zs\_.\{-}\(\_^\|[^\\]\)\ze\(=\|\~\|####\|}\)" contained contains=@giftCEFFW "Wrong choice -syn match giftRight "=\zs\_.\{-}\(\ze->\|\(\_^\|[^\\]\)\ze\(=\|\~\|####\|}\)\)" contained contains=@giftCEFFW "Right choice -syn match giftMatchB "->\_.\{-}\(\_^\|[^\\]\)\ze\(=\|\~\|####\|}\)" contained contains=giftMatch "Match choice block -syn match giftMatch "->\zs\_.\{-}\(\_^\|[^\\]\)\ze\(=\|\~\|####\|}\)" contained contains=@giftCE "Match choice - -"---------------------------------------------------- -" Answer - -syn match giftAnswer "{\_.\{-}\(\_^\|[^\\]\)}" contained keepend contains=@giftA "General answer -syn match giftAnswer "{}" contained "Minimal answer - -syn match giftAnswerNum "{\_[[:space:]]*#\_[^#]\_.\{-}\(\_^\|[^\\]\)}" contained keepend contains=@giftANum "Numeric answer -syn match giftAnswerNumD "{\zs\_[[:space:]]*#" contained "Associated delimiter - -"--------------------------------------------------- -" Question - -" The first pattern matches the last question at the end of the file (in case there is no empty line coming after). -" However, it slows down parsing (and especially scrolling up), therefore it is commented out. - -"syn match giftQuestion "[^{[:space:]]\_.\{-}\%$" keepend contains=@giftCEF,giftAnswer,giftAnswerNum - syn match giftQuestion "[^{[:space:]]\_.\{-}\n\(\s*\n\)\+" keepend contains=@giftCEF,giftAnswer,giftAnswerNum - -"-------------------------------------------------- -" Question name - -syn match giftName "::\_.\{-}::" contains=@giftCE,giftNameD "Question name -syn match giftNameD "::" contained "Associated delimiter - -"------------------------------------------------- -" Category - -syn match giftCategoryB "^\s*\$CATEGORY:.*\n\+" contains=giftCategory "Category block -syn match giftCategory "^\s*\$CATEGORY:\zs.*\ze\n" contained "Category - -"------------------------------------------------ -" Comments (may need to be the last entity) - -syn keyword giftTodo FIXME TODO NOTE FIX XXX contained - -syn match giftIdB "\[id:\(\\]\|[^][:cntrl:]]\)\+]" contained contains=giftId "Id block -syn match giftId "\[id:\zs\(\\]\|[^][:cntrl:]]\)\+\ze]" contained "Id - -syn match giftTagB "\[tag:\(\\]\|[^]<>`[:cntrl:]]\)\+]" contained contains=giftTag "Tag block -syn match giftTag "\[tag:\zs\(\\]\|[^]<>`[:cntrl:]]\)\+\ze]" contained "Tag - -syn match giftComment "^\s*//.*" contains=giftTodo,giftIdB,giftTagB - -"----------------------------------------------- -" Clusters - -"Comments and entities (to be escaped) -syn cluster giftCE contains=giftComment,giftS,giftES,giftEN,giftH,giftEH - -"The above plus format -syn cluster giftCEF contains=@giftCE,giftFormat - -"The above plus feedback block -syn cluster giftCEFF contains=@giftCEF,giftFB - -"The above plus weight block -syn cluster giftCEFFW contains=@giftCEFF,giftWeightB - -"Possible numerical representations -syn cluster giftNums contains=giftNum1,giftNum2,giftNum3 - -"Possible contents of answers -syn cluster giftA contains=giftComment,giftTF,giftWrong,giftRight,giftMatchB,giftFB,giftGFB - -"Possible contents of numerical answers -syn cluster giftANum contains=giftAnswerNumD,giftComment,@giftNums,giftWrongNum,giftRightNum,giftFB,giftGFB - -"----------------------------------------------- - -let b:current_syntax = "gift" - -"----------------------------------------------- - -hi Conceal ctermbg=NONE ctermfg=Blue guibg=NONE guifg=Blue -hi Feedback ctermbg=NONE ctermfg=DarkCyan guibg=NONE guifg=DarkCyan -hi GFeedback ctermbg=NONE ctermfg=DarkGreen guibg=NONE guifg=DarkGreen -hi WeightB ctermbg=NONE ctermfg=DarkYellow guibg=NONE guifg=DarkYellow - -"----------------------------------------------- - -hi def link giftS Error -hi def link giftES Conceal -hi def link giftEN Conceal -hi def link giftFormat LineNr - -hi def link giftH Error -hi def link giftEH Conceal - -hi def link giftFB PreProc -hi def link giftF Feedback -hi def link giftGFB Title -hi def link giftGF GFeedback - -hi def link giftTF Question -hi def link giftNum1 Question -hi def link giftNum2 Question -hi def link giftNum2D Special -hi def link giftNum3 Question -hi def link giftNum3D Special -hi def link giftWeightB WeightB -hi def link giftWeight Identifier - -hi def link giftWrongNum Constant -hi def link giftRightNum Question -hi def link giftWrong Constant -hi def link giftRight Question -hi def link giftMatchB ModeMsg -hi def link giftMatch Constant - -hi def link giftAnswer MoreMsg -hi def link giftAnswerNum MoreMsg -hi def link giftAnswerNumD Identifier - -hi def link giftQuestion Identifier - -hi def link giftName PreProc -hi def link giftNameD Directory - -hi def link giftCategoryB LineNr -hi def link giftCategory Directory - -hi def link giftTodo Todo -hi def link giftIdB LineNr -hi def link giftId Title -hi def link giftTagB LineNr -hi def link giftTag Constant -hi def link giftComment Comment diff --git a/uvim/runtime/syntax/git.mnv b/uvim/runtime/syntax/git.mnv new file mode 100644 index 0000000000..5673b9f70d --- /dev/null +++ b/uvim/runtime/syntax/git.mnv @@ -0,0 +1,111 @@ +" MNV syntax file +" Language: generic git output +" Maintainer: Tim Pope +" Last Change: 2023 Dec 28 + +if exists("b:current_syntax") + finish +endif + +syn case match +syn sync minlines=50 + +syn include @gitDiff syntax/diff.mnv + +syn region gitHead start=/\%^\%(tag \|tree \|object \)\@=/ end=/^$/ contains=@NoSpell +syn region gitHead start=/\%(^commit\%( \x\{4,\}\)\{1,\}\%(\s*(.*)\)\=$\)\@=/ end=/^$/ contains=@NoSpell +" git log --oneline +" minimize false positives by verifying contents of buffer +if getline(1) =~# '^\x\{7,\} ' && getline('$') =~# '^\x\{7,\} ' + syn match gitHashAbbrev /^\x\{7,\} \@=/ contains=@NoSpell +elseif getline(1) =~# '^[|\/\\_ ]\{-\}\*[|\/\\_ ]\{-\} \x\{7,\} ' + syn match gitHashAbbrev /^[|\/\\_ ]\{-\}\*[|\/\\_ ]\{-\} \zs\x\{7,\} \@=/ contains=@NoSpell +endif +" git log --graph +syn region gitGraph start=/\%(^[|\/\\_ ]*\*[|\/\\_ ]\{-\} commit\%( \x\{4,\}\)\{1,\}\%(\s*(.*)\)\=$\)\@=/ end=/^\%([|\/\\_ ]*$\)\@=/ contains=@NoSpell +" git blame --porcelain +syn region gitHead start=/\%(^\x\{40,\} \d\+ \d\+\%( \d\+\)\=$\)\@=/ end=/^\t\@=/ contains=@NoSpell +" git ls-tree +syn match gitMode /^\d\{6\}\%( \%(blob\|tree\) \x\{4,\}\t\)\@=/ nextgroup=gitType skipwhite contains=@NoSpell +" git ls-files --stage +syn match gitMode /^\d\{6\}\%( \x\{4,\} [0-3]\t\)\@=/ nextgroup=gitHashStage skipwhite contains=@NoSpell +" .git/HEAD, .git/refs/ +syn match gitKeyword /\%^ref: \@=/ nextgroup=gitReference skipwhite contains=@NoSpell +syn match gitHash /\%^\x\{40,}\%$/ skipwhite contains=@NoSpell +" .git/logs/ +syn match gitReflog /^\x\{40,\} \x\{40,\} .\{-\}\d\+\s-\d\{4\}\t.*/ skipwhite contains=@NoSpell,gitReflogOld + +syn region gitDiff start=/^\%(diff --git \)\@=/ end=/^\%(diff --\|$\)\@=/ contains=@gitDiff fold +syn region gitDiff start=/^\%(@@ -\)\@=/ end=/^\%(diff --\%(git\|cc\|combined\) \|$\)\@=/ contains=@gitDiff + +syn region gitDiffMerge start=/^\%(diff --\%(cc\|combined\) \)\@=/ end=/^\%(diff --\|$\)\@=/ contains=@gitDiff fold +syn region gitDiffMerge start=/^\%(@@@@* -\)\@=/ end=/^\%(diff --\|$\)\@=/ contains=@gitDiff +syn match gitDiffAdded "^ \++.*" contained containedin=gitDiffMerge +syn match gitDiffAdded "{+[^}]*+}" contained containedin=gitDiff +syn match gitDiffRemoved "^ \+-.*" contained containedin=gitDiffMerge +syn match gitDiffRemoved "\[-[^]]*-\]" contained containedin=gitDiff + +syn match gitKeyword /^commit \@=/ contained containedin=gitHead nextgroup=gitHashAbbrev skipwhite contains=@NoSpell +syn match gitKeyword /^\%(object\|tree\|parent\|encoding\|gpgsig\%(-\w\+\)\=\|previous\) \@=/ contained containedin=gitHead nextgroup=gitHash skipwhite contains=@NoSpell +syn match gitKeyword /^Merge:/ contained containedin=gitHead nextgroup=gitHashAbbrev skipwhite contains=@NoSpell +syn match gitIdentityKeyword /^\%(author\|committer\|tagger\) \@=/ contained containedin=gitHead nextgroup=gitIdentity skipwhite contains=@NoSpell +syn match gitIdentityHeader /^\%(Author\|Commit\|Tagger\):/ contained containedin=gitHead nextgroup=gitIdentity skipwhite contains=@NoSpell +syn match gitDateHeader /^\%(AuthorDate\|CommitDate\|Date\):/ contained containedin=gitHead nextgroup=gitDate skipwhite contains=@NoSpell + +syn match gitKeyword /^[*|\/\\_ ]\+\zscommit \@=/ contained containedin=gitGraph nextgroup=gitHashAbbrev skipwhite contains=@NoSpell +syn match gitKeyword /^[|\/\\_ ]\+\zs\%(object\|tree\|parent\|encoding\|gpgsig\%(-\w\+\)\=\|previous\) \@=/ contained containedin=gitGraph nextgroup=gitHash skipwhite contains=@NoSpell +syn match gitKeyword /^[|\/\\_ ]\+\zsMerge:/ contained containedin=gitGraph nextgroup=gitHashAbbrev skipwhite contains=@NoSpell +syn match gitIdentityKeyword /^[|\/\\_ ]\+\zs\%(author\|committer\|tagger\) \@=/ contained containedin=gitGraph nextgroup=gitIdentity skipwhite contains=@NoSpell +syn match gitIdentityHeader /^[|\/\\_ ]\+\zs\%(Author\|Commit\|Tagger\):/ contained containedin=gitGraph nextgroup=gitIdentity skipwhite contains=@NoSpell +syn match gitDateHeader /^[|\/\\_ ]\+\zs\%(AuthorDate\|CommitDate\|Date\):/ contained containedin=gitGraph nextgroup=gitDate skipwhite contains=@NoSpell + +syn match gitKeyword /^type \@=/ contained containedin=gitHead nextgroup=gitType skipwhite contains=@NoSpell +syn match gitKeyword /^\%(summary\|boundary\|filename\|\%(author\|committer\)-\%(time\|tz\)\) \@=/ contained containedin=gitHead skipwhite contains=@NoSpell +syn match gitKeyword /^tag \@=/ contained containedin=gitHead nextgroup=gitReference skipwhite contains=@NoSpell +syn match gitIdentityKeyword /^\%(author\|committer\)-mail \@=/ contained containedin=gitHead nextgroup=gitEmail skipwhite contains=@NoSpell +syn match gitReflogHeader /^Reflog:/ contained containedin=gitHead nextgroup=gitReflogMiddle skipwhite contains=@NoSpell +syn match gitReflogHeader /^Reflog message:/ contained containedin=gitHead skipwhite contains=@NoSpell +syn match gitReflogMiddle /\S\+@{\d\+} (/he=e-2 nextgroup=gitIdentity contains=@NoSpell + +syn match gitIdentity /\S.\{-\} <[^>]*>/ contained nextgroup=gitDate skipwhite contains=@NoSpell +syn region gitEmail matchgroup=gitEmailDelimiter start=// keepend oneline contained containedin=gitIdentity contains=@NoSpell +syn match gitDate /\<\u\l\l \u\l\l \d\=\d \d\d:\d\d:\d\d \d\d\d\d [+-]\d\d\d\d/ contained contains=@NoSpell +syn match gitDate /-\=\d\+ [+-]\d\d\d\d\>/ contained contains=@NoSpell +syn match gitDate /\<\d\+ \l\+ ago\>/ contained contains=@NoSpell +syn match gitType /\<\%(tag\|commit\|tree\|blob\)\>/ contained nextgroup=gitHashAbbrev skipwhite contains=@NoSpell +syn match gitReference /\S\+\S\@!/ contained contains=@NoSpell +syn match gitHash /\<\x\{40,\}\>/ contained nextgroup=gitIdentity,gitHash skipwhite contains=@NoSpell +syn match gitReflogOld /^\x\{40,\} \@=/ contained nextgroup=gitReflogNew skipwhite contains=@NoSpell +syn match gitReflogNew /\<\x\{40,\} \@=/ contained nextgroup=gitIdentity skipwhite contains=@NoSpell +syn match gitHashAbbrev /\<\x\{4,\}\>/ contained nextgroup=gitHashAbbrev skipwhite contains=@NoSpell +syn match gitHashAbbrev /\<\x\{4,39\}\.\.\./he=e-3 contained nextgroup=gitHashAbbrev skipwhite contains=@NoSpell +syn match gitHashStage /\<\x\{4,\}\>/ contained nextgroup=gitStage skipwhite contains=@NoSpell +syn match gitStage /\<\d\t\@=/ contained contains=@NoSpell + + +syn match gitNotesHeader /^Notes:\ze\n / + +hi def link gitDateHeader gitIdentityHeader +hi def link gitIdentityHeader gitIdentityKeyword +hi def link gitIdentityKeyword Label +hi def link gitNotesHeader gitKeyword +hi def link gitReflogHeader gitKeyword +hi def link gitKeyword Keyword +hi def link gitIdentity String +hi def link gitEmailDelimiter Delimiter +hi def link gitEmail Special +hi def link gitDate Number +hi def link gitMode Number +hi def link gitHashStage gitHash +hi def link gitHashAbbrev gitHash +hi def link gitReflogOld gitHash +hi def link gitReflogNew gitHash +hi def link gitHash Identifier +hi def link gitReflogMiddle gitReference +hi def link gitReference Function +hi def link gitStage gitType +hi def link gitType Type +hi def link gitDiffAdded diffAdded +hi def link gitDiffRemoved diffRemoved + +let b:current_syntax = "git" diff --git a/uvim/runtime/syntax/git.vim b/uvim/runtime/syntax/git.vim deleted file mode 100644 index 51eb8127dd..0000000000 --- a/uvim/runtime/syntax/git.vim +++ /dev/null @@ -1,111 +0,0 @@ -" Vim syntax file -" Language: generic git output -" Maintainer: Tim Pope -" Last Change: 2023 Dec 28 - -if exists("b:current_syntax") - finish -endif - -syn case match -syn sync minlines=50 - -syn include @gitDiff syntax/diff.vim - -syn region gitHead start=/\%^\%(tag \|tree \|object \)\@=/ end=/^$/ contains=@NoSpell -syn region gitHead start=/\%(^commit\%( \x\{4,\}\)\{1,\}\%(\s*(.*)\)\=$\)\@=/ end=/^$/ contains=@NoSpell -" git log --oneline -" minimize false positives by verifying contents of buffer -if getline(1) =~# '^\x\{7,\} ' && getline('$') =~# '^\x\{7,\} ' - syn match gitHashAbbrev /^\x\{7,\} \@=/ contains=@NoSpell -elseif getline(1) =~# '^[|\/\\_ ]\{-\}\*[|\/\\_ ]\{-\} \x\{7,\} ' - syn match gitHashAbbrev /^[|\/\\_ ]\{-\}\*[|\/\\_ ]\{-\} \zs\x\{7,\} \@=/ contains=@NoSpell -endif -" git log --graph -syn region gitGraph start=/\%(^[|\/\\_ ]*\*[|\/\\_ ]\{-\} commit\%( \x\{4,\}\)\{1,\}\%(\s*(.*)\)\=$\)\@=/ end=/^\%([|\/\\_ ]*$\)\@=/ contains=@NoSpell -" git blame --porcelain -syn region gitHead start=/\%(^\x\{40,\} \d\+ \d\+\%( \d\+\)\=$\)\@=/ end=/^\t\@=/ contains=@NoSpell -" git ls-tree -syn match gitMode /^\d\{6\}\%( \%(blob\|tree\) \x\{4,\}\t\)\@=/ nextgroup=gitType skipwhite contains=@NoSpell -" git ls-files --stage -syn match gitMode /^\d\{6\}\%( \x\{4,\} [0-3]\t\)\@=/ nextgroup=gitHashStage skipwhite contains=@NoSpell -" .git/HEAD, .git/refs/ -syn match gitKeyword /\%^ref: \@=/ nextgroup=gitReference skipwhite contains=@NoSpell -syn match gitHash /\%^\x\{40,}\%$/ skipwhite contains=@NoSpell -" .git/logs/ -syn match gitReflog /^\x\{40,\} \x\{40,\} .\{-\}\d\+\s-\d\{4\}\t.*/ skipwhite contains=@NoSpell,gitReflogOld - -syn region gitDiff start=/^\%(diff --git \)\@=/ end=/^\%(diff --\|$\)\@=/ contains=@gitDiff fold -syn region gitDiff start=/^\%(@@ -\)\@=/ end=/^\%(diff --\%(git\|cc\|combined\) \|$\)\@=/ contains=@gitDiff - -syn region gitDiffMerge start=/^\%(diff --\%(cc\|combined\) \)\@=/ end=/^\%(diff --\|$\)\@=/ contains=@gitDiff fold -syn region gitDiffMerge start=/^\%(@@@@* -\)\@=/ end=/^\%(diff --\|$\)\@=/ contains=@gitDiff -syn match gitDiffAdded "^ \++.*" contained containedin=gitDiffMerge -syn match gitDiffAdded "{+[^}]*+}" contained containedin=gitDiff -syn match gitDiffRemoved "^ \+-.*" contained containedin=gitDiffMerge -syn match gitDiffRemoved "\[-[^]]*-\]" contained containedin=gitDiff - -syn match gitKeyword /^commit \@=/ contained containedin=gitHead nextgroup=gitHashAbbrev skipwhite contains=@NoSpell -syn match gitKeyword /^\%(object\|tree\|parent\|encoding\|gpgsig\%(-\w\+\)\=\|previous\) \@=/ contained containedin=gitHead nextgroup=gitHash skipwhite contains=@NoSpell -syn match gitKeyword /^Merge:/ contained containedin=gitHead nextgroup=gitHashAbbrev skipwhite contains=@NoSpell -syn match gitIdentityKeyword /^\%(author\|committer\|tagger\) \@=/ contained containedin=gitHead nextgroup=gitIdentity skipwhite contains=@NoSpell -syn match gitIdentityHeader /^\%(Author\|Commit\|Tagger\):/ contained containedin=gitHead nextgroup=gitIdentity skipwhite contains=@NoSpell -syn match gitDateHeader /^\%(AuthorDate\|CommitDate\|Date\):/ contained containedin=gitHead nextgroup=gitDate skipwhite contains=@NoSpell - -syn match gitKeyword /^[*|\/\\_ ]\+\zscommit \@=/ contained containedin=gitGraph nextgroup=gitHashAbbrev skipwhite contains=@NoSpell -syn match gitKeyword /^[|\/\\_ ]\+\zs\%(object\|tree\|parent\|encoding\|gpgsig\%(-\w\+\)\=\|previous\) \@=/ contained containedin=gitGraph nextgroup=gitHash skipwhite contains=@NoSpell -syn match gitKeyword /^[|\/\\_ ]\+\zsMerge:/ contained containedin=gitGraph nextgroup=gitHashAbbrev skipwhite contains=@NoSpell -syn match gitIdentityKeyword /^[|\/\\_ ]\+\zs\%(author\|committer\|tagger\) \@=/ contained containedin=gitGraph nextgroup=gitIdentity skipwhite contains=@NoSpell -syn match gitIdentityHeader /^[|\/\\_ ]\+\zs\%(Author\|Commit\|Tagger\):/ contained containedin=gitGraph nextgroup=gitIdentity skipwhite contains=@NoSpell -syn match gitDateHeader /^[|\/\\_ ]\+\zs\%(AuthorDate\|CommitDate\|Date\):/ contained containedin=gitGraph nextgroup=gitDate skipwhite contains=@NoSpell - -syn match gitKeyword /^type \@=/ contained containedin=gitHead nextgroup=gitType skipwhite contains=@NoSpell -syn match gitKeyword /^\%(summary\|boundary\|filename\|\%(author\|committer\)-\%(time\|tz\)\) \@=/ contained containedin=gitHead skipwhite contains=@NoSpell -syn match gitKeyword /^tag \@=/ contained containedin=gitHead nextgroup=gitReference skipwhite contains=@NoSpell -syn match gitIdentityKeyword /^\%(author\|committer\)-mail \@=/ contained containedin=gitHead nextgroup=gitEmail skipwhite contains=@NoSpell -syn match gitReflogHeader /^Reflog:/ contained containedin=gitHead nextgroup=gitReflogMiddle skipwhite contains=@NoSpell -syn match gitReflogHeader /^Reflog message:/ contained containedin=gitHead skipwhite contains=@NoSpell -syn match gitReflogMiddle /\S\+@{\d\+} (/he=e-2 nextgroup=gitIdentity contains=@NoSpell - -syn match gitIdentity /\S.\{-\} <[^>]*>/ contained nextgroup=gitDate skipwhite contains=@NoSpell -syn region gitEmail matchgroup=gitEmailDelimiter start=// keepend oneline contained containedin=gitIdentity contains=@NoSpell -syn match gitDate /\<\u\l\l \u\l\l \d\=\d \d\d:\d\d:\d\d \d\d\d\d [+-]\d\d\d\d/ contained contains=@NoSpell -syn match gitDate /-\=\d\+ [+-]\d\d\d\d\>/ contained contains=@NoSpell -syn match gitDate /\<\d\+ \l\+ ago\>/ contained contains=@NoSpell -syn match gitType /\<\%(tag\|commit\|tree\|blob\)\>/ contained nextgroup=gitHashAbbrev skipwhite contains=@NoSpell -syn match gitReference /\S\+\S\@!/ contained contains=@NoSpell -syn match gitHash /\<\x\{40,\}\>/ contained nextgroup=gitIdentity,gitHash skipwhite contains=@NoSpell -syn match gitReflogOld /^\x\{40,\} \@=/ contained nextgroup=gitReflogNew skipwhite contains=@NoSpell -syn match gitReflogNew /\<\x\{40,\} \@=/ contained nextgroup=gitIdentity skipwhite contains=@NoSpell -syn match gitHashAbbrev /\<\x\{4,\}\>/ contained nextgroup=gitHashAbbrev skipwhite contains=@NoSpell -syn match gitHashAbbrev /\<\x\{4,39\}\.\.\./he=e-3 contained nextgroup=gitHashAbbrev skipwhite contains=@NoSpell -syn match gitHashStage /\<\x\{4,\}\>/ contained nextgroup=gitStage skipwhite contains=@NoSpell -syn match gitStage /\<\d\t\@=/ contained contains=@NoSpell - - -syn match gitNotesHeader /^Notes:\ze\n / - -hi def link gitDateHeader gitIdentityHeader -hi def link gitIdentityHeader gitIdentityKeyword -hi def link gitIdentityKeyword Label -hi def link gitNotesHeader gitKeyword -hi def link gitReflogHeader gitKeyword -hi def link gitKeyword Keyword -hi def link gitIdentity String -hi def link gitEmailDelimiter Delimiter -hi def link gitEmail Special -hi def link gitDate Number -hi def link gitMode Number -hi def link gitHashStage gitHash -hi def link gitHashAbbrev gitHash -hi def link gitReflogOld gitHash -hi def link gitReflogNew gitHash -hi def link gitHash Identifier -hi def link gitReflogMiddle gitReference -hi def link gitReference Function -hi def link gitStage gitType -hi def link gitType Type -hi def link gitDiffAdded diffAdded -hi def link gitDiffRemoved diffRemoved - -let b:current_syntax = "git" diff --git a/uvim/runtime/syntax/gitattributes.mnv b/uvim/runtime/syntax/gitattributes.mnv new file mode 100644 index 0000000000..81f9139431 --- /dev/null +++ b/uvim/runtime/syntax/gitattributes.mnv @@ -0,0 +1,63 @@ +" MNV syntax file +" Language: git attributes +" Maintainer: ObserverOfTime +" Filenames: .gitattributes, *.git/info/attributes +" Last Change: 2022 Sep 09 + +if exists('b:current_syntax') + finish +endif + +let s:cpo_save = &cpoptions +set cpoptions&mnv + +" Comment +syn keyword gitattributesTodo contained TODO FIXME XXX +syn match gitattributesComment /^\s*#.*/ contains=gitattributesTodo + +" Pattern +syn match gitattributesPattern /^\s*#\@!\(".\+"\|\S\+\)/ skipwhite + \ nextgroup=gitattributesAttrPrefixed,gitattributesAttrAssigned skipwhite + \ contains=gitattributesGlob,gitattributesRange,gitattributesSeparator +syn match gitattributesGlob /\\\@1 -" Filenames: .gitattributes, *.git/info/attributes -" Last Change: 2022 Sep 09 - -if exists('b:current_syntax') - finish -endif - -let s:cpo_save = &cpoptions -set cpoptions&vim - -" Comment -syn keyword gitattributesTodo contained TODO FIXME XXX -syn match gitattributesComment /^\s*#.*/ contains=gitattributesTodo - -" Pattern -syn match gitattributesPattern /^\s*#\@!\(".\+"\|\S\+\)/ skipwhite - \ nextgroup=gitattributesAttrPrefixed,gitattributesAttrAssigned skipwhite - \ contains=gitattributesGlob,gitattributesRange,gitattributesSeparator -syn match gitattributesGlob /\\\@1 +" Filenames: *.git/COMMIT_EDITMSG +" Last Change: 2023 Dec 28 + +if exists("b:current_syntax") + finish +endif + +scriptencoding utf-8 + +syn case match +syn sync minlines=50 +syn sync linebreaks=1 + +if has("spell") + syn spell toplevel +endif + +syn include @gitcommitDiff syntax/diff.mnv +syn region gitcommitDiff start=/\%(^diff --\%(git\|cc\|combined\) \)\@=/ end=/^\%(diff --\|$\|@@\@!\|[^[:alnum:]\ +-]\S\@!\)\@=/ fold contains=@gitcommitDiff + +if get(g:, 'gitcommit_summary_length') < 0 + syn match gitcommitSummary "^.*$" contained containedin=gitcommitFirstLine nextgroup=gitcommitOverflow contains=@Spell +elseif get(g:, 'gitcommit_summary_length', 1) > 0 + exe 'syn match gitcommitSummary "^.*\%<' . (get(g:, 'gitcommit_summary_length', 50) + 1) . 'v." contained containedin=gitcommitFirstLine nextgroup=gitcommitOverflow contains=@Spell' +endif +syn match gitcommitOverflow ".*" contained contains=@Spell +syn match gitcommitBlank "^.\+" contained contains=@Spell +syn match gitcommitFirstLine "\%^.*" nextgroup=gitcommitBlank,gitcommitComment skipnl + +let s:scissors = 0 +let s:l = search('^[#;@!$%^&|:] -\{24,\} >8 -\{24,\}$', 'cnW', '', 100) +if s:l == 0 + let s:l = line('$') +elseif getline(s:l)[0] !=# getline(s:l - 1)[0] + let s:scissors = 1 +endif +let s:comment = escape((matchstr(getline(s:l), '^[#;@!$%^&|:]\S\@!') . '#')[0], '^$.*[]~\"/') + +if s:scissors + let s:comment .= ' -\{24,\} >8 -\{24,\}$' + exe 'syn region gitcommitComment start="^' . s:comment . '" end="\%$" contains=gitcommitDiff' +else + exe 'syn match gitcommitComment "^' . s:comment . '.*"' +endif +exe 'syn match gitcommitTrailers "\n\@<=\n\%([[:alnum:]-]\+\s*:.*\|(cherry picked from commit .*\)\%(\n\s.*\|\n[[:alnum:]-]\+\s*:.*\|\n(cherry picked from commit .*\)*\%(\n\n*\%(' . s:comment . '\)\|\n*\%$\)\@="' + +unlet s:l s:comment s:scissors + +syn match gitcommitTrailerToken "^[[:alnum:]-]\+\s*:" contained containedin=gitcommitTrailers + +syn match gitcommitHash "\<\x\{40,}\>" contains=@NoSpell display +syn match gitcommitOnBranch "\%(^. \)\@<=On branch" contained containedin=gitcommitComment nextgroup=gitcommitBranch skipwhite +syn match gitcommitOnBranch "\%(^. \)\@<=Your branch .\{-\} '" contained containedin=gitcommitComment nextgroup=gitcommitBranch skipwhite +syn match gitcommitBranch "[^ ']\+" contained +syn match gitcommitNoBranch "\%(^. \)\@<=Not currently on any branch." contained containedin=gitcommitComment +syn match gitcommitHeader "\%(^. \)\@<=\S.*[::]\%(\n^$\)\@!$" contained containedin=gitcommitComment +syn region gitcommitAuthor matchgroup=gitCommitHeader start=/\%(^. \)\@<=\%(Author\|Committer\|Date\):/ end=/$/ keepend oneline contained containedin=gitcommitComment transparent +syn match gitcommitHeader "\%(^. \)\@<=commit\%( \x\{40,\}$\)\@=" contained containedin=gitcommitComment nextgroup=gitcommitHash skipwhite +syn match gitcommitNoChanges "\%(^. \)\@<=No changes$" contained containedin=gitcommitComment + +syn match gitcommitType "\%(^.\t\)\@<=[^[:punct:][:space:]][^/::]*[^[:punct:][:space:]][::]\ze "he=e-1 contained containedin=gitcommitComment nextgroup=gitcommitFile skipwhite +syn match gitcommitFile ".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitArrow +syn match gitcommitArrow " -> " contained nextgroup=gitcommitFile +syn match gitcommitUntrackedFile "\%(^.\t\)\@<=[^::/]*\%(/.*\)\=$" contained containedin=gitcommitComment + +syn region gitcommitUntracked start=/^\z(.\) Untracked files:$/ end=/^\z1\=$\|^\z1\@!/ contains=gitcommitHeader containedin=gitcommitComment containedin=gitcommitComment contained transparent fold +syn region gitcommitDiscarded start=/^\z(.\) Change\%(s not staged for commit\|d but not updated\):$/ end=/^\z1\=$\|^\z1\@!/ contains=gitcommitHeader,gitcommitDiscardedType containedin=gitcommitComment containedin=gitcommitComment contained transparent fold +syn region gitcommitSelected start=/^\z(.\) Changes to be committed:$/ end=/^\z1$\|^\z1\@!/ contains=gitcommitHeader,gitcommitSelectedType containedin=gitcommitComment containedin=gitcommitComment contained transparent fold +syn region gitcommitUnmerged start=/^\z(.\) Unmerged paths:$/ end=/^\z1\=$\|^\z1\@!/ contains=gitcommitHeader,gitcommitUnmergedType containedin=gitcommitComment containedin=gitcommitComment contained transparent fold + +syn match gitcommitUntrackedFile "\%(^.\t\)\@<=.*" contained containedin=gitcommitUntracked + +syn match gitcommitDiscardedType "\%(^.\t\)\@<=[^[:punct:][:space:]][^/::]*[^[:punct:][:space:]][::]\ze "he=e-1 contained nextgroup=gitcommitDiscardedFile skipwhite +syn match gitcommitSelectedType "\%(^.\t\)\@<=[^[:punct:][:space:]][^/::]*[^[:punct:][:space:]][::]\ze "he=e-1 contained nextgroup=gitcommitSelectedFile skipwhite +syn match gitcommitUnmergedType "\%(^.\t\)\@<=[^[:punct:][:space:]][^/::]*[^[:punct:][:space:]][::]\ze "he=e-1 contained nextgroup=gitcommitUnmergedFile skipwhite +syn match gitcommitDiscardedFile "\S.\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitDiscardedArrow +syn match gitcommitSelectedFile "\S.\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitSelectedArrow +syn match gitcommitUnmergedFile "\S.\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitUnmergedArrow +syn match gitcommitDiscardedArrow " -> " contained nextgroup=gitcommitDiscardedFile +syn match gitcommitSelectedArrow " -> " contained nextgroup=gitcommitSelectedFile +syn match gitcommitUnmergedArrow " -> " contained nextgroup=gitcommitUnmergedFile + +hi def link gitcommitSummary Keyword +hi def link gitcommitTrailerToken Label +hi def link gitcommitComment Comment +hi def link gitcommitHash Identifier +hi def link gitcommitOnBranch Comment +hi def link gitcommitBranch Special +hi def link gitcommitNoBranch gitCommitBranch +hi def link gitcommitDiscardedType gitcommitType +hi def link gitcommitSelectedType gitcommitType +hi def link gitcommitUnmergedType gitcommitType +hi def link gitcommitType Type +hi def link gitcommitNoChanges gitcommitHeader +hi def link gitcommitHeader PreProc +hi def link gitcommitUntrackedFile gitcommitFile +hi def link gitcommitDiscardedFile gitcommitFile +hi def link gitcommitSelectedFile gitcommitFile +hi def link gitcommitUnmergedFile gitcommitFile +hi def link gitcommitFile Constant +hi def link gitcommitDiscardedArrow gitcommitArrow +hi def link gitcommitSelectedArrow gitcommitArrow +hi def link gitcommitUnmergedArrow gitcommitArrow +hi def link gitcommitArrow gitcommitComment +"hi def link gitcommitOverflow Error +hi def link gitcommitBlank Error + +let b:current_syntax = "gitcommit" diff --git a/uvim/runtime/syntax/gitcommit.vim b/uvim/runtime/syntax/gitcommit.vim deleted file mode 100644 index bce6772762..0000000000 --- a/uvim/runtime/syntax/gitcommit.vim +++ /dev/null @@ -1,111 +0,0 @@ -" Vim syntax file -" Language: git commit file -" Maintainer: Tim Pope -" Filenames: *.git/COMMIT_EDITMSG -" Last Change: 2023 Dec 28 - -if exists("b:current_syntax") - finish -endif - -scriptencoding utf-8 - -syn case match -syn sync minlines=50 -syn sync linebreaks=1 - -if has("spell") - syn spell toplevel -endif - -syn include @gitcommitDiff syntax/diff.vim -syn region gitcommitDiff start=/\%(^diff --\%(git\|cc\|combined\) \)\@=/ end=/^\%(diff --\|$\|@@\@!\|[^[:alnum:]\ +-]\S\@!\)\@=/ fold contains=@gitcommitDiff - -if get(g:, 'gitcommit_summary_length') < 0 - syn match gitcommitSummary "^.*$" contained containedin=gitcommitFirstLine nextgroup=gitcommitOverflow contains=@Spell -elseif get(g:, 'gitcommit_summary_length', 1) > 0 - exe 'syn match gitcommitSummary "^.*\%<' . (get(g:, 'gitcommit_summary_length', 50) + 1) . 'v." contained containedin=gitcommitFirstLine nextgroup=gitcommitOverflow contains=@Spell' -endif -syn match gitcommitOverflow ".*" contained contains=@Spell -syn match gitcommitBlank "^.\+" contained contains=@Spell -syn match gitcommitFirstLine "\%^.*" nextgroup=gitcommitBlank,gitcommitComment skipnl - -let s:scissors = 0 -let s:l = search('^[#;@!$%^&|:] -\{24,\} >8 -\{24,\}$', 'cnW', '', 100) -if s:l == 0 - let s:l = line('$') -elseif getline(s:l)[0] !=# getline(s:l - 1)[0] - let s:scissors = 1 -endif -let s:comment = escape((matchstr(getline(s:l), '^[#;@!$%^&|:]\S\@!') . '#')[0], '^$.*[]~\"/') - -if s:scissors - let s:comment .= ' -\{24,\} >8 -\{24,\}$' - exe 'syn region gitcommitComment start="^' . s:comment . '" end="\%$" contains=gitcommitDiff' -else - exe 'syn match gitcommitComment "^' . s:comment . '.*"' -endif -exe 'syn match gitcommitTrailers "\n\@<=\n\%([[:alnum:]-]\+\s*:.*\|(cherry picked from commit .*\)\%(\n\s.*\|\n[[:alnum:]-]\+\s*:.*\|\n(cherry picked from commit .*\)*\%(\n\n*\%(' . s:comment . '\)\|\n*\%$\)\@="' - -unlet s:l s:comment s:scissors - -syn match gitcommitTrailerToken "^[[:alnum:]-]\+\s*:" contained containedin=gitcommitTrailers - -syn match gitcommitHash "\<\x\{40,}\>" contains=@NoSpell display -syn match gitcommitOnBranch "\%(^. \)\@<=On branch" contained containedin=gitcommitComment nextgroup=gitcommitBranch skipwhite -syn match gitcommitOnBranch "\%(^. \)\@<=Your branch .\{-\} '" contained containedin=gitcommitComment nextgroup=gitcommitBranch skipwhite -syn match gitcommitBranch "[^ ']\+" contained -syn match gitcommitNoBranch "\%(^. \)\@<=Not currently on any branch." contained containedin=gitcommitComment -syn match gitcommitHeader "\%(^. \)\@<=\S.*[::]\%(\n^$\)\@!$" contained containedin=gitcommitComment -syn region gitcommitAuthor matchgroup=gitCommitHeader start=/\%(^. \)\@<=\%(Author\|Committer\|Date\):/ end=/$/ keepend oneline contained containedin=gitcommitComment transparent -syn match gitcommitHeader "\%(^. \)\@<=commit\%( \x\{40,\}$\)\@=" contained containedin=gitcommitComment nextgroup=gitcommitHash skipwhite -syn match gitcommitNoChanges "\%(^. \)\@<=No changes$" contained containedin=gitcommitComment - -syn match gitcommitType "\%(^.\t\)\@<=[^[:punct:][:space:]][^/::]*[^[:punct:][:space:]][::]\ze "he=e-1 contained containedin=gitcommitComment nextgroup=gitcommitFile skipwhite -syn match gitcommitFile ".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitArrow -syn match gitcommitArrow " -> " contained nextgroup=gitcommitFile -syn match gitcommitUntrackedFile "\%(^.\t\)\@<=[^::/]*\%(/.*\)\=$" contained containedin=gitcommitComment - -syn region gitcommitUntracked start=/^\z(.\) Untracked files:$/ end=/^\z1\=$\|^\z1\@!/ contains=gitcommitHeader containedin=gitcommitComment containedin=gitcommitComment contained transparent fold -syn region gitcommitDiscarded start=/^\z(.\) Change\%(s not staged for commit\|d but not updated\):$/ end=/^\z1\=$\|^\z1\@!/ contains=gitcommitHeader,gitcommitDiscardedType containedin=gitcommitComment containedin=gitcommitComment contained transparent fold -syn region gitcommitSelected start=/^\z(.\) Changes to be committed:$/ end=/^\z1$\|^\z1\@!/ contains=gitcommitHeader,gitcommitSelectedType containedin=gitcommitComment containedin=gitcommitComment contained transparent fold -syn region gitcommitUnmerged start=/^\z(.\) Unmerged paths:$/ end=/^\z1\=$\|^\z1\@!/ contains=gitcommitHeader,gitcommitUnmergedType containedin=gitcommitComment containedin=gitcommitComment contained transparent fold - -syn match gitcommitUntrackedFile "\%(^.\t\)\@<=.*" contained containedin=gitcommitUntracked - -syn match gitcommitDiscardedType "\%(^.\t\)\@<=[^[:punct:][:space:]][^/::]*[^[:punct:][:space:]][::]\ze "he=e-1 contained nextgroup=gitcommitDiscardedFile skipwhite -syn match gitcommitSelectedType "\%(^.\t\)\@<=[^[:punct:][:space:]][^/::]*[^[:punct:][:space:]][::]\ze "he=e-1 contained nextgroup=gitcommitSelectedFile skipwhite -syn match gitcommitUnmergedType "\%(^.\t\)\@<=[^[:punct:][:space:]][^/::]*[^[:punct:][:space:]][::]\ze "he=e-1 contained nextgroup=gitcommitUnmergedFile skipwhite -syn match gitcommitDiscardedFile "\S.\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitDiscardedArrow -syn match gitcommitSelectedFile "\S.\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitSelectedArrow -syn match gitcommitUnmergedFile "\S.\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitUnmergedArrow -syn match gitcommitDiscardedArrow " -> " contained nextgroup=gitcommitDiscardedFile -syn match gitcommitSelectedArrow " -> " contained nextgroup=gitcommitSelectedFile -syn match gitcommitUnmergedArrow " -> " contained nextgroup=gitcommitUnmergedFile - -hi def link gitcommitSummary Keyword -hi def link gitcommitTrailerToken Label -hi def link gitcommitComment Comment -hi def link gitcommitHash Identifier -hi def link gitcommitOnBranch Comment -hi def link gitcommitBranch Special -hi def link gitcommitNoBranch gitCommitBranch -hi def link gitcommitDiscardedType gitcommitType -hi def link gitcommitSelectedType gitcommitType -hi def link gitcommitUnmergedType gitcommitType -hi def link gitcommitType Type -hi def link gitcommitNoChanges gitcommitHeader -hi def link gitcommitHeader PreProc -hi def link gitcommitUntrackedFile gitcommitFile -hi def link gitcommitDiscardedFile gitcommitFile -hi def link gitcommitSelectedFile gitcommitFile -hi def link gitcommitUnmergedFile gitcommitFile -hi def link gitcommitFile Constant -hi def link gitcommitDiscardedArrow gitcommitArrow -hi def link gitcommitSelectedArrow gitcommitArrow -hi def link gitcommitUnmergedArrow gitcommitArrow -hi def link gitcommitArrow gitcommitComment -"hi def link gitcommitOverflow Error -hi def link gitcommitBlank Error - -let b:current_syntax = "gitcommit" diff --git a/uvim/runtime/syntax/gitconfig.mnv b/uvim/runtime/syntax/gitconfig.mnv new file mode 100644 index 0000000000..c35e95b5e0 --- /dev/null +++ b/uvim/runtime/syntax/gitconfig.mnv @@ -0,0 +1,36 @@ +" MNV syntax file +" Language: git config file +" Maintainer: Tim Pope +" Filenames: gitconfig, .gitconfig, *.git/config +" Last Change: 2019 Dec 05 + +if exists("b:current_syntax") + finish +endif + +syn case ignore +syn sync minlines=10 + +syn match gitconfigComment "[#;].*" contains=@Spell +syn match gitconfigSection "\%(^\s*\)\@<=\[[a-z0-9.-]\+\]" +syn match gitconfigSection '\%(^\s*\)\@<=\[[a-z0-9.-]\+ \+\"\%([^\\"]\|\\.\)*"\]' +syn match gitconfigVariable "\%(^\s*\)\@<=\a[a-z0-9-]*\%(\s*\%([=#;]\|$\)\)\@=" nextgroup=gitconfigAssignment skipwhite +syn region gitconfigAssignment matchgroup=gitconfigNone start=+=\s*+ skip=+\\+ end=+\s*$+ contained contains=gitconfigBoolean,gitconfigNumber,gitConfigString,gitConfigEscape,gitConfigError,gitconfigComment keepend +syn keyword gitconfigBoolean true false yes no contained +syn match gitconfigNumber "\<\d\+\>" contained +syn region gitconfigString matchgroup=gitconfigDelim start=+"+ skip=+\\+ end=+"+ matchgroup=gitconfigError end=+[^\\"]\%#\@!$+ contained contains=gitconfigEscape,gitconfigEscapeError +syn match gitconfigError +\\.+ contained +syn match gitconfigEscape +\\[\\"ntb]+ contained +syn match gitconfigEscape +\\$+ contained + +hi def link gitconfigComment Comment +hi def link gitconfigSection Keyword +hi def link gitconfigVariable Identifier +hi def link gitconfigBoolean Boolean +hi def link gitconfigNumber Number +hi def link gitconfigString String +hi def link gitconfigDelim Delimiter +hi def link gitconfigEscape Special +hi def link gitconfigError Error + +let b:current_syntax = "gitconfig" diff --git a/uvim/runtime/syntax/gitconfig.vim b/uvim/runtime/syntax/gitconfig.vim deleted file mode 100644 index e5eaf10f94..0000000000 --- a/uvim/runtime/syntax/gitconfig.vim +++ /dev/null @@ -1,36 +0,0 @@ -" Vim syntax file -" Language: git config file -" Maintainer: Tim Pope -" Filenames: gitconfig, .gitconfig, *.git/config -" Last Change: 2019 Dec 05 - -if exists("b:current_syntax") - finish -endif - -syn case ignore -syn sync minlines=10 - -syn match gitconfigComment "[#;].*" contains=@Spell -syn match gitconfigSection "\%(^\s*\)\@<=\[[a-z0-9.-]\+\]" -syn match gitconfigSection '\%(^\s*\)\@<=\[[a-z0-9.-]\+ \+\"\%([^\\"]\|\\.\)*"\]' -syn match gitconfigVariable "\%(^\s*\)\@<=\a[a-z0-9-]*\%(\s*\%([=#;]\|$\)\)\@=" nextgroup=gitconfigAssignment skipwhite -syn region gitconfigAssignment matchgroup=gitconfigNone start=+=\s*+ skip=+\\+ end=+\s*$+ contained contains=gitconfigBoolean,gitconfigNumber,gitConfigString,gitConfigEscape,gitConfigError,gitconfigComment keepend -syn keyword gitconfigBoolean true false yes no contained -syn match gitconfigNumber "\<\d\+\>" contained -syn region gitconfigString matchgroup=gitconfigDelim start=+"+ skip=+\\+ end=+"+ matchgroup=gitconfigError end=+[^\\"]\%#\@!$+ contained contains=gitconfigEscape,gitconfigEscapeError -syn match gitconfigError +\\.+ contained -syn match gitconfigEscape +\\[\\"ntb]+ contained -syn match gitconfigEscape +\\$+ contained - -hi def link gitconfigComment Comment -hi def link gitconfigSection Keyword -hi def link gitconfigVariable Identifier -hi def link gitconfigBoolean Boolean -hi def link gitconfigNumber Number -hi def link gitconfigString String -hi def link gitconfigDelim Delimiter -hi def link gitconfigEscape Special -hi def link gitconfigError Error - -let b:current_syntax = "gitconfig" diff --git a/uvim/runtime/syntax/gitignore.mnv b/uvim/runtime/syntax/gitignore.mnv new file mode 100644 index 0000000000..7559ee0cc4 --- /dev/null +++ b/uvim/runtime/syntax/gitignore.mnv @@ -0,0 +1,29 @@ +" MNV syntax file +" Language: git ignore +" Maintainer: ObserverOfTime +" Filenames: .gitignore, *.git/info/exclude +" Last Change: 2022 Sep 10 + +if exists('b:current_syntax') + finish +endif + +" Comment +syn keyword gitignoreTodo contained TODO FIXME XXX +syn match gitignoreComment /^#.*/ contains=gitignoreTodo + +" Pattern +syn match gitignorePattern /^#\@!.*$/ contains=gitignoreNegation,gitignoreGlob,gitignoreRange,gitignoreSeparator +syn match gitignoreNegation /^!/ contained +syn match gitignoreGlob /\\\@1 -" Filenames: .gitignore, *.git/info/exclude -" Last Change: 2022 Sep 10 - -if exists('b:current_syntax') - finish -endif - -" Comment -syn keyword gitignoreTodo contained TODO FIXME XXX -syn match gitignoreComment /^#.*/ contains=gitignoreTodo - -" Pattern -syn match gitignorePattern /^#\@!.*$/ contains=gitignoreNegation,gitignoreGlob,gitignoreRange,gitignoreSeparator -syn match gitignoreNegation /^!/ contained -syn match gitignoreGlob /\\\@1 +" (former Maintainer: Teemu Matilainen ) +" Last Change: 2017 Oct 05 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&mnv + +" this seems to be the best way, for now. +syntax sync fromstart + +" ---- common stuff + +syn match gitoliteGroup '@\S\+' + +syn match gitoliteComment '#.*' contains=gitoliteTodo +syn keyword gitoliteTodo TODO FIXME XXX NOT contained + +" ---- main section + +" catch template-data syntax appearing outside template-data section +syn match gitoliteRepoError '^\s*repo.*=' +syn match gitoliteRepoError '^\s*\S\+\s*=' " this gets overridden later when first word is a perm, don't worry + +" normal gitolite group and repo lines +syn match gitoliteGroupLine '^\s*@\S\+\s*=\s*\S.*$' contains=gitoliteGroup,gitoliteComment +syn match gitoliteRepoLine '^\s*repo\s\+[^=]*$' contains=gitoliteRepo,gitoliteGroup,gitoliteComment +syn keyword gitoliteRepo repo contained + +syn keyword gitoliteSpecialRepo CREATOR + +" normal gitolite rule lines +syn match gitoliteRuleLine '^\s*\(-\|C\|R\|RW+\?C\?D\?\)\s[^#]*' contains=gitoliteRule,gitoliteCreateRule,gitoliteDenyRule,gitoliteRefex,gitoliteUsers,gitoliteGroup +syn match gitoliteRule '\(^\s*\)\@<=\(-\|C\|R\|RW+\?C\?D\?\)\s\@=' contained +syn match gitoliteRefex '\(^\s*\(-\|R\|RW+\?C\?D\?\)\s\+\)\@<=\S.\{-}\(\s*=\)\@=' contains=gitoliteSpecialRefex +syn match gitoliteSpecialRefex 'NAME/' +syn match gitoliteSpecialRefex '/USER/' +syn match gitoliteCreateRule '\(^\s*C\s.*=\s*\)\@<=\S[^#]*[^# ]' contained contains=gitoliteGroup +syn match gitoliteDenyRule '\(^\s*-\s.*=\s*\)\@<=\S[^#]*[^# ]' contained + +" normal gitolite config (and similar) lines +syn match gitoliteConfigLine '^\s*\(config\|option\|include\|subconf\)\s[^#]*' contains=gitoliteConfigKW,gitoliteConfigKey,gitoliteConfigVal,gitoliteComment +syn keyword gitoliteConfigKW config option include subconf contained +syn match gitoliteConfigKey '\(\(config\|option\)\s\+\)\@<=[^ =]*' contained +syn match gitoliteConfigVal '\(=\s*\)\@<=\S.*' contained + +" ---- template-data section + +syn region gitoliteTemplateLine matchgroup=PreProc start='^=begin template-data$' end='^=end$' contains=gitoliteTplRepoLine,gitoliteTplRoleLine,gitoliteGroup,gitoliteComment,gitoliteTplError + +syn match gitoliteTplRepoLine '^\s*repo\s\+\S.*=.*' contained contains=gitoliteTplRepo,gitoliteTplTemplates,gitoliteGroup +syn keyword gitoliteTplRepo repo contained +syn match gitoliteTplTemplates '\(=\s*\)\@<=\S.*' contained contains=gitoliteGroup,gitoliteComment + +syn match gitoliteTplRoleLine '^\s*\S\+\s*=\s*.*' contained contains=gitoliteTplRole,gitoliteGroup,gitoliteComment +syn match gitoliteTplRole '\S\+\s*='he=e-1 contained + +" catch normal gitolite rules appearing in template-data section +syn match gitoliteTplError '^\s*repo[^=]*$' contained +syn match gitoliteTplError '^\s*\(-\|R\|RW+\?C\?D\?\)\s'he=e-1 contained +syn match gitoliteTplError '^\s*\(config\|option\|include\|subconf\)\s'he=e-1 contained +syn match gitoliteTplError '^\s*@\S\+\s*=' contained contains=NONE + +hi def link gitoliteGroup Identifier +hi def link gitoliteComment Comment +hi def link gitoliteTodo ToDo +hi def link gitoliteRepoError Error +hi def link gitoliteGroupLine PreProc +hi def link gitoliteRepo Keyword +hi def link gitoliteSpecialRepo PreProc +hi def link gitoliteRule Keyword +hi def link gitoliteCreateRule PreProc +hi def link gitoliteDenyRule WarningMsg +hi def link gitoliteRefex Constant +hi def link gitoliteSpecialRefex PreProc +hi def link gitoliteConfigKW Keyword +hi def link gitoliteConfigKey Identifier +hi def link gitoliteConfigVal String +hi def link gitoliteTplRepo Keyword +hi def link gitoliteTplTemplates Constant +hi def link gitoliteTplRole Constant +hi def link gitoliteTplError Error + +let b:current_syntax = "gitolite" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/uvim/runtime/syntax/gitolite.vim b/uvim/runtime/syntax/gitolite.vim deleted file mode 100644 index 3a6da26cc6..0000000000 --- a/uvim/runtime/syntax/gitolite.vim +++ /dev/null @@ -1,94 +0,0 @@ -" Vim syntax file -" Language: gitolite configuration -" URL: https://github.com/sitaramc/gitolite/blob/master/contrib/vim/syntax/gitolite.vim -" (https://raw.githubusercontent.com/sitaramc/gitolite/master/contrib/vim/syntax/gitolite.vim) -" Maintainer: Sitaram Chamarty -" (former Maintainer: Teemu Matilainen ) -" Last Change: 2017 Oct 05 - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -" this seems to be the best way, for now. -syntax sync fromstart - -" ---- common stuff - -syn match gitoliteGroup '@\S\+' - -syn match gitoliteComment '#.*' contains=gitoliteTodo -syn keyword gitoliteTodo TODO FIXME XXX NOT contained - -" ---- main section - -" catch template-data syntax appearing outside template-data section -syn match gitoliteRepoError '^\s*repo.*=' -syn match gitoliteRepoError '^\s*\S\+\s*=' " this gets overridden later when first word is a perm, don't worry - -" normal gitolite group and repo lines -syn match gitoliteGroupLine '^\s*@\S\+\s*=\s*\S.*$' contains=gitoliteGroup,gitoliteComment -syn match gitoliteRepoLine '^\s*repo\s\+[^=]*$' contains=gitoliteRepo,gitoliteGroup,gitoliteComment -syn keyword gitoliteRepo repo contained - -syn keyword gitoliteSpecialRepo CREATOR - -" normal gitolite rule lines -syn match gitoliteRuleLine '^\s*\(-\|C\|R\|RW+\?C\?D\?\)\s[^#]*' contains=gitoliteRule,gitoliteCreateRule,gitoliteDenyRule,gitoliteRefex,gitoliteUsers,gitoliteGroup -syn match gitoliteRule '\(^\s*\)\@<=\(-\|C\|R\|RW+\?C\?D\?\)\s\@=' contained -syn match gitoliteRefex '\(^\s*\(-\|R\|RW+\?C\?D\?\)\s\+\)\@<=\S.\{-}\(\s*=\)\@=' contains=gitoliteSpecialRefex -syn match gitoliteSpecialRefex 'NAME/' -syn match gitoliteSpecialRefex '/USER/' -syn match gitoliteCreateRule '\(^\s*C\s.*=\s*\)\@<=\S[^#]*[^# ]' contained contains=gitoliteGroup -syn match gitoliteDenyRule '\(^\s*-\s.*=\s*\)\@<=\S[^#]*[^# ]' contained - -" normal gitolite config (and similar) lines -syn match gitoliteConfigLine '^\s*\(config\|option\|include\|subconf\)\s[^#]*' contains=gitoliteConfigKW,gitoliteConfigKey,gitoliteConfigVal,gitoliteComment -syn keyword gitoliteConfigKW config option include subconf contained -syn match gitoliteConfigKey '\(\(config\|option\)\s\+\)\@<=[^ =]*' contained -syn match gitoliteConfigVal '\(=\s*\)\@<=\S.*' contained - -" ---- template-data section - -syn region gitoliteTemplateLine matchgroup=PreProc start='^=begin template-data$' end='^=end$' contains=gitoliteTplRepoLine,gitoliteTplRoleLine,gitoliteGroup,gitoliteComment,gitoliteTplError - -syn match gitoliteTplRepoLine '^\s*repo\s\+\S.*=.*' contained contains=gitoliteTplRepo,gitoliteTplTemplates,gitoliteGroup -syn keyword gitoliteTplRepo repo contained -syn match gitoliteTplTemplates '\(=\s*\)\@<=\S.*' contained contains=gitoliteGroup,gitoliteComment - -syn match gitoliteTplRoleLine '^\s*\S\+\s*=\s*.*' contained contains=gitoliteTplRole,gitoliteGroup,gitoliteComment -syn match gitoliteTplRole '\S\+\s*='he=e-1 contained - -" catch normal gitolite rules appearing in template-data section -syn match gitoliteTplError '^\s*repo[^=]*$' contained -syn match gitoliteTplError '^\s*\(-\|R\|RW+\?C\?D\?\)\s'he=e-1 contained -syn match gitoliteTplError '^\s*\(config\|option\|include\|subconf\)\s'he=e-1 contained -syn match gitoliteTplError '^\s*@\S\+\s*=' contained contains=NONE - -hi def link gitoliteGroup Identifier -hi def link gitoliteComment Comment -hi def link gitoliteTodo ToDo -hi def link gitoliteRepoError Error -hi def link gitoliteGroupLine PreProc -hi def link gitoliteRepo Keyword -hi def link gitoliteSpecialRepo PreProc -hi def link gitoliteRule Keyword -hi def link gitoliteCreateRule PreProc -hi def link gitoliteDenyRule WarningMsg -hi def link gitoliteRefex Constant -hi def link gitoliteSpecialRefex PreProc -hi def link gitoliteConfigKW Keyword -hi def link gitoliteConfigKey Identifier -hi def link gitoliteConfigVal String -hi def link gitoliteTplRepo Keyword -hi def link gitoliteTplTemplates Constant -hi def link gitoliteTplRole Constant -hi def link gitoliteTplError Error - -let b:current_syntax = "gitolite" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/uvim/runtime/syntax/gitrebase.mnv b/uvim/runtime/syntax/gitrebase.mnv new file mode 100644 index 0000000000..8752c72f1a --- /dev/null +++ b/uvim/runtime/syntax/gitrebase.mnv @@ -0,0 +1,62 @@ +" MNV syntax file +" Language: git rebase --interactive +" Maintainer: Tim Pope +" Filenames: git-rebase-todo +" Last Change: 2022 Jan 05 + +if exists("b:current_syntax") + finish +endif + +syn case match + +let s:c = escape((matchstr(getline('$'), '^[#;@!$%^&|:]\S\@!') . '#')[0], '^$.*[]~\"/') + +syn match gitrebaseHash "\v<\x{7,}>" contained contains=@NoSpell +syn match gitrebaseCommit "\v<\x{7,}>" nextgroup=gitrebaseSummary skipwhite contains=@NoSpell +syn match gitrebasePick "\v^p%(ick)=>" nextgroup=gitrebaseCommit skipwhite +syn match gitrebaseReword "\v^r%(eword)=>" nextgroup=gitrebaseCommit skipwhite +syn match gitrebaseEdit "\v^e%(dit)=>" nextgroup=gitrebaseCommit skipwhite +syn match gitrebaseSquash "\v^s%(quash)=>" nextgroup=gitrebaseCommit skipwhite +syn match gitrebaseFixup "\v^f%(ixup)=>" nextgroup=gitrebaseCommit skipwhite +syn match gitrebaseExec "\v^%(x|exec)>" nextgroup=gitrebaseCommand skipwhite +syn match gitrebaseBreak "\v^b%(reak)=>" +syn match gitrebaseDrop "\v^d%(rop)=>" nextgroup=gitrebaseCommit skipwhite +syn match gitrebaseNoop "\v^noop>" +syn match gitrebaseMerge "\v^m(erge)=>" nextgroup=gitrebaseMergeOption,gitrebaseName skipwhite +syn match gitrebaseLabel "\v^l(abel)=>" nextgroup=gitrebaseName skipwhite +syn match gitrebaseReset "\v^(t|reset)=>" nextgroup=gitrebaseName skipwhite +syn match gitrebaseSummary ".*" contains=gitrebaseHash contained +syn match gitrebaseCommand ".*" contained +exe 'syn match gitrebaseComment " \@<=' . s:c . ' empty$" containedin=gitrebaseSummary contained' +exe 'syn match gitrebaseComment "^\s*' . s:c . '.*" contains=gitrebaseHash' +syn match gitrebaseSquashError "\v%^%(s%(quash)=>|f%(ixup)=>)" nextgroup=gitrebaseCommit skipwhite +syn match gitrebaseMergeOption "\v-[Cc]>" nextgroup=gitrebaseMergeCommit skipwhite contained +syn match gitrebaseMergeCommit "\v<\x{7,}>" nextgroup=gitrebaseName skipwhite contained +syn match gitrebaseName "\v[^[:space:].*?i:^~/-]\S+" nextgroup=gitrebaseMergeComment skipwhite contained +exe 'syn match gitrebaseMergeComment "' . s:c . '" nextgroup=gitrebaseSummary skipwhite contained' + +unlet s:c + +hi def link gitrebaseCommit gitrebaseHash +hi def link gitrebaseHash Identifier +hi def link gitrebasePick Type +hi def link gitrebaseReword Conditional +hi def link gitrebaseEdit PreProc +hi def link gitrebaseSquash Statement +hi def link gitrebaseFixup Repeat +hi def link gitrebaseExec Operator +hi def link gitrebaseBreak Macro +hi def link gitrebaseDrop Comment +hi def link gitrebaseNoop Comment +hi def link gitrebaseMerge Exception +hi def link gitrebaseLabel Label +hi def link gitrebaseReset Keyword +hi def link gitrebaseSummary String +hi def link gitrebaseComment Comment +hi def link gitrebaseSquashError Error +hi def link gitrebaseMergeCommit gitrebaseCommit +hi def link gitrebaseMergeComment gitrebaseComment +hi def link gitrebaseName Tag + +let b:current_syntax = "gitrebase" diff --git a/uvim/runtime/syntax/gitrebase.vim b/uvim/runtime/syntax/gitrebase.vim deleted file mode 100644 index 13f157b005..0000000000 --- a/uvim/runtime/syntax/gitrebase.vim +++ /dev/null @@ -1,62 +0,0 @@ -" Vim syntax file -" Language: git rebase --interactive -" Maintainer: Tim Pope -" Filenames: git-rebase-todo -" Last Change: 2022 Jan 05 - -if exists("b:current_syntax") - finish -endif - -syn case match - -let s:c = escape((matchstr(getline('$'), '^[#;@!$%^&|:]\S\@!') . '#')[0], '^$.*[]~\"/') - -syn match gitrebaseHash "\v<\x{7,}>" contained contains=@NoSpell -syn match gitrebaseCommit "\v<\x{7,}>" nextgroup=gitrebaseSummary skipwhite contains=@NoSpell -syn match gitrebasePick "\v^p%(ick)=>" nextgroup=gitrebaseCommit skipwhite -syn match gitrebaseReword "\v^r%(eword)=>" nextgroup=gitrebaseCommit skipwhite -syn match gitrebaseEdit "\v^e%(dit)=>" nextgroup=gitrebaseCommit skipwhite -syn match gitrebaseSquash "\v^s%(quash)=>" nextgroup=gitrebaseCommit skipwhite -syn match gitrebaseFixup "\v^f%(ixup)=>" nextgroup=gitrebaseCommit skipwhite -syn match gitrebaseExec "\v^%(x|exec)>" nextgroup=gitrebaseCommand skipwhite -syn match gitrebaseBreak "\v^b%(reak)=>" -syn match gitrebaseDrop "\v^d%(rop)=>" nextgroup=gitrebaseCommit skipwhite -syn match gitrebaseNoop "\v^noop>" -syn match gitrebaseMerge "\v^m(erge)=>" nextgroup=gitrebaseMergeOption,gitrebaseName skipwhite -syn match gitrebaseLabel "\v^l(abel)=>" nextgroup=gitrebaseName skipwhite -syn match gitrebaseReset "\v^(t|reset)=>" nextgroup=gitrebaseName skipwhite -syn match gitrebaseSummary ".*" contains=gitrebaseHash contained -syn match gitrebaseCommand ".*" contained -exe 'syn match gitrebaseComment " \@<=' . s:c . ' empty$" containedin=gitrebaseSummary contained' -exe 'syn match gitrebaseComment "^\s*' . s:c . '.*" contains=gitrebaseHash' -syn match gitrebaseSquashError "\v%^%(s%(quash)=>|f%(ixup)=>)" nextgroup=gitrebaseCommit skipwhite -syn match gitrebaseMergeOption "\v-[Cc]>" nextgroup=gitrebaseMergeCommit skipwhite contained -syn match gitrebaseMergeCommit "\v<\x{7,}>" nextgroup=gitrebaseName skipwhite contained -syn match gitrebaseName "\v[^[:space:].*?i:^~/-]\S+" nextgroup=gitrebaseMergeComment skipwhite contained -exe 'syn match gitrebaseMergeComment "' . s:c . '" nextgroup=gitrebaseSummary skipwhite contained' - -unlet s:c - -hi def link gitrebaseCommit gitrebaseHash -hi def link gitrebaseHash Identifier -hi def link gitrebasePick Type -hi def link gitrebaseReword Conditional -hi def link gitrebaseEdit PreProc -hi def link gitrebaseSquash Statement -hi def link gitrebaseFixup Repeat -hi def link gitrebaseExec Operator -hi def link gitrebaseBreak Macro -hi def link gitrebaseDrop Comment -hi def link gitrebaseNoop Comment -hi def link gitrebaseMerge Exception -hi def link gitrebaseLabel Label -hi def link gitrebaseReset Keyword -hi def link gitrebaseSummary String -hi def link gitrebaseComment Comment -hi def link gitrebaseSquashError Error -hi def link gitrebaseMergeCommit gitrebaseCommit -hi def link gitrebaseMergeComment gitrebaseComment -hi def link gitrebaseName Tag - -let b:current_syntax = "gitrebase" diff --git a/uvim/runtime/syntax/gitsendemail.mnv b/uvim/runtime/syntax/gitsendemail.mnv new file mode 100644 index 0000000000..3890e26405 --- /dev/null +++ b/uvim/runtime/syntax/gitsendemail.mnv @@ -0,0 +1,23 @@ +" MNV syntax file +" Language: git send-email message +" Maintainer: Tim Pope +" Filenames: .gitsendemail.* +" Last Change: 2016 Aug 29 + +if exists("b:current_syntax") + finish +endif + +runtime! syntax/mail.mnv +unlet! b:current_syntax +syn include @gitsendemailDiff syntax/diff.mnv +syn region gitsendemailDiff start=/\%(^diff --\%(git\|cc\|combined\) \)\@=/ end=/^-- %/ fold contains=@gitsendemailDiff + +syn case match + +syn match gitsendemailComment "\%^From.*#.*" +syn match gitsendemailComment "^GIT:.*" + +hi def link gitsendemailComment Comment + +let b:current_syntax = "gitsendemail" diff --git a/uvim/runtime/syntax/gitsendemail.vim b/uvim/runtime/syntax/gitsendemail.vim deleted file mode 100644 index 8fdf6839c8..0000000000 --- a/uvim/runtime/syntax/gitsendemail.vim +++ /dev/null @@ -1,23 +0,0 @@ -" Vim syntax file -" Language: git send-email message -" Maintainer: Tim Pope -" Filenames: .gitsendemail.* -" Last Change: 2016 Aug 29 - -if exists("b:current_syntax") - finish -endif - -runtime! syntax/mail.vim -unlet! b:current_syntax -syn include @gitsendemailDiff syntax/diff.vim -syn region gitsendemailDiff start=/\%(^diff --\%(git\|cc\|combined\) \)\@=/ end=/^-- %/ fold contains=@gitsendemailDiff - -syn case match - -syn match gitsendemailComment "\%^From.*#.*" -syn match gitsendemailComment "^GIT:.*" - -hi def link gitsendemailComment Comment - -let b:current_syntax = "gitsendemail" diff --git a/uvim/runtime/syntax/gkrellmrc.mnv b/uvim/runtime/syntax/gkrellmrc.mnv new file mode 100644 index 0000000000..bbce36ddf5 --- /dev/null +++ b/uvim/runtime/syntax/gkrellmrc.mnv @@ -0,0 +1,75 @@ +" MNV syntax file +" This is a GENERATED FILE. Please always refer to source file at the URI below. +" Language: gkrellm theme files `gkrellmrc' +" Maintainer: David Ne\v{c}as (Yeti) +" Last Change: 2003-04-30 +" URL: http://trific.ath.cx/Ftp/mnv/syntax/gkrellmrc.mnv + +" Setup +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +setlocal iskeyword=_,-,a-z,A-Z,48-57 + +syn case match + +" Base constructs +syn match gkrellmrcComment "#.*$" contains=gkrellmrcFixme +syn keyword gkrellmrcFixme FIXME TODO XXX NOT contained +syn region gkrellmrcString start=+"+ skip=+\\\\\|\\"+ end=+"+ oneline +syn match gkrellmrcNumber "^-\=\(\d\+\)\=\.\=\d\+" +syn match gkrellmrcNumber "\W-\=\(\d\+\)\=\.\=\d\+"lc=1 +syn keyword gkrellmrcConstant none +syn match gkrellmrcRGBColor "#\(\x\{12}\|\x\{9}\|\x\{6}\|\x\{3}\)\>" + +" Keywords +syn keyword gkrellmrcBuiltinExt cpu_nice_color cpu_nice_grid_color krell_depth krell_expand krell_left_margin krell_right_margin krell_x_hot krell_yoff mem_krell_buffers_depth mem_krell_buffers_expand mem_krell_buffers_x_hot mem_krell_buffers_yoff mem_krell_cache_depth mem_krell_cache_expand mem_krell_cache_x_hot mem_krell_cache_yoff sensors_bg_volt timer_bg_timer +syn keyword gkrellmrcGlobal allow_scaling author chart_width_ref theme_alternatives +syn keyword gkrellmrcSetCmd set_image_border set_integer set_string +syn keyword gkrellmrcGlobal bg_slider_meter_border bg_slider_panel_border +syn keyword gkrellmrcGlobal frame_bottom_height frame_left_width frame_right_width frame_top_height frame_left_chart_overlap frame_right_chart_overlap frame_left_panel_overlap frame_right_panel_overlap frame_left_spacer_overlap frame_right_spacer_overlap spacer_overlap_off cap_images_off +syn keyword gkrellmrcGlobal frame_bottom_border frame_left_border frame_right_border frame_top_border spacer_top_border spacer_bottom_border frame_left_chart_border frame_right_chart_border frame_left_panel_border frame_right_panel_border +syn keyword gkrellmrcGlobal chart_in_color chart_in_color_grid chart_out_color chart_out_color_grid +syn keyword gkrellmrcGlobal bg_separator_height bg_grid_mode +syn keyword gkrellmrcGlobal rx_led_x rx_led_y tx_led_x tx_led_y +syn keyword gkrellmrcGlobal decal_mail_frames decal_mail_delay +syn keyword gkrellmrcGlobal decal_alarm_frames decal_warn_frames +syn keyword gkrellmrcGlobal krell_slider_depth krell_slider_expand krell_slider_x_hot +syn keyword gkrellmrcGlobal button_panel_border button_meter_border +syn keyword gkrellmrcGlobal large_font normal_font small_font +syn keyword gkrellmrcGlobal spacer_bottom_height spacer_top_height spacer_bottom_height_chart spacer_top_height_chart spacer_bottom_height_meter spacer_top_height_meter +syn keyword gkrellmrcExpandMode left right bar-mode left-scaled right-scaled bar-mode-scaled +syn keyword gkrellmrcMeterName apm cal clock fs host mail mem swap timer sensors uptime +syn keyword gkrellmrcChartName cpu proc disk inet and net +syn match gkrellmrcSpecialClassName "\*" +syn keyword gkrellmrcStyleCmd StyleMeter StyleChart StylePanel +syn keyword gkrellmrcStyleItem textcolor alt_textcolor font alt_font transparency border label_position margin margins left_margin right_margin top_margin bottom_margin krell_depth krell_yoff krell_x_hot krell_expand krell_left_margin krell_right_margin + +" Define the default highlighting + +hi def link gkrellmrcComment Comment +hi def link gkrellmrcFixme Todo + +hi def link gkrellmrcString gkrellmrcConstant +hi def link gkrellmrcNumber gkrellmrcConstant +hi def link gkrellmrcRGBColor gkrellmrcConstant +hi def link gkrellmrcExpandMode gkrellmrcConstant +hi def link gkrellmrcConstant Constant + +hi def link gkrellmrcMeterName gkrellmrcClass +hi def link gkrellmrcChartName gkrellmrcClass +hi def link gkrellmrcSpecialClassName gkrellmrcClass +hi def link gkrellmrcClass Type + +hi def link gkrellmrcGlobal gkrellmrcItem +hi def link gkrellmrcBuiltinExt gkrellmrcItem +hi def link gkrellmrcStyleItem gkrellmrcItem +hi def link gkrellmrcItem Function + +hi def link gkrellmrcSetCmd Special +hi def link gkrellmrcStyleCmd Statement + + +let b:current_syntax = "gkrellmrc" diff --git a/uvim/runtime/syntax/gkrellmrc.vim b/uvim/runtime/syntax/gkrellmrc.vim deleted file mode 100644 index f005ca2dc8..0000000000 --- a/uvim/runtime/syntax/gkrellmrc.vim +++ /dev/null @@ -1,75 +0,0 @@ -" Vim syntax file -" This is a GENERATED FILE. Please always refer to source file at the URI below. -" Language: gkrellm theme files `gkrellmrc' -" Maintainer: David Ne\v{c}as (Yeti) -" Last Change: 2003-04-30 -" URL: http://trific.ath.cx/Ftp/vim/syntax/gkrellmrc.vim - -" Setup -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -setlocal iskeyword=_,-,a-z,A-Z,48-57 - -syn case match - -" Base constructs -syn match gkrellmrcComment "#.*$" contains=gkrellmrcFixme -syn keyword gkrellmrcFixme FIXME TODO XXX NOT contained -syn region gkrellmrcString start=+"+ skip=+\\\\\|\\"+ end=+"+ oneline -syn match gkrellmrcNumber "^-\=\(\d\+\)\=\.\=\d\+" -syn match gkrellmrcNumber "\W-\=\(\d\+\)\=\.\=\d\+"lc=1 -syn keyword gkrellmrcConstant none -syn match gkrellmrcRGBColor "#\(\x\{12}\|\x\{9}\|\x\{6}\|\x\{3}\)\>" - -" Keywords -syn keyword gkrellmrcBuiltinExt cpu_nice_color cpu_nice_grid_color krell_depth krell_expand krell_left_margin krell_right_margin krell_x_hot krell_yoff mem_krell_buffers_depth mem_krell_buffers_expand mem_krell_buffers_x_hot mem_krell_buffers_yoff mem_krell_cache_depth mem_krell_cache_expand mem_krell_cache_x_hot mem_krell_cache_yoff sensors_bg_volt timer_bg_timer -syn keyword gkrellmrcGlobal allow_scaling author chart_width_ref theme_alternatives -syn keyword gkrellmrcSetCmd set_image_border set_integer set_string -syn keyword gkrellmrcGlobal bg_slider_meter_border bg_slider_panel_border -syn keyword gkrellmrcGlobal frame_bottom_height frame_left_width frame_right_width frame_top_height frame_left_chart_overlap frame_right_chart_overlap frame_left_panel_overlap frame_right_panel_overlap frame_left_spacer_overlap frame_right_spacer_overlap spacer_overlap_off cap_images_off -syn keyword gkrellmrcGlobal frame_bottom_border frame_left_border frame_right_border frame_top_border spacer_top_border spacer_bottom_border frame_left_chart_border frame_right_chart_border frame_left_panel_border frame_right_panel_border -syn keyword gkrellmrcGlobal chart_in_color chart_in_color_grid chart_out_color chart_out_color_grid -syn keyword gkrellmrcGlobal bg_separator_height bg_grid_mode -syn keyword gkrellmrcGlobal rx_led_x rx_led_y tx_led_x tx_led_y -syn keyword gkrellmrcGlobal decal_mail_frames decal_mail_delay -syn keyword gkrellmrcGlobal decal_alarm_frames decal_warn_frames -syn keyword gkrellmrcGlobal krell_slider_depth krell_slider_expand krell_slider_x_hot -syn keyword gkrellmrcGlobal button_panel_border button_meter_border -syn keyword gkrellmrcGlobal large_font normal_font small_font -syn keyword gkrellmrcGlobal spacer_bottom_height spacer_top_height spacer_bottom_height_chart spacer_top_height_chart spacer_bottom_height_meter spacer_top_height_meter -syn keyword gkrellmrcExpandMode left right bar-mode left-scaled right-scaled bar-mode-scaled -syn keyword gkrellmrcMeterName apm cal clock fs host mail mem swap timer sensors uptime -syn keyword gkrellmrcChartName cpu proc disk inet and net -syn match gkrellmrcSpecialClassName "\*" -syn keyword gkrellmrcStyleCmd StyleMeter StyleChart StylePanel -syn keyword gkrellmrcStyleItem textcolor alt_textcolor font alt_font transparency border label_position margin margins left_margin right_margin top_margin bottom_margin krell_depth krell_yoff krell_x_hot krell_expand krell_left_margin krell_right_margin - -" Define the default highlighting - -hi def link gkrellmrcComment Comment -hi def link gkrellmrcFixme Todo - -hi def link gkrellmrcString gkrellmrcConstant -hi def link gkrellmrcNumber gkrellmrcConstant -hi def link gkrellmrcRGBColor gkrellmrcConstant -hi def link gkrellmrcExpandMode gkrellmrcConstant -hi def link gkrellmrcConstant Constant - -hi def link gkrellmrcMeterName gkrellmrcClass -hi def link gkrellmrcChartName gkrellmrcClass -hi def link gkrellmrcSpecialClassName gkrellmrcClass -hi def link gkrellmrcClass Type - -hi def link gkrellmrcGlobal gkrellmrcItem -hi def link gkrellmrcBuiltinExt gkrellmrcItem -hi def link gkrellmrcStyleItem gkrellmrcItem -hi def link gkrellmrcItem Function - -hi def link gkrellmrcSetCmd Special -hi def link gkrellmrcStyleCmd Statement - - -let b:current_syntax = "gkrellmrc" diff --git a/uvim/runtime/syntax/gleam.mnv b/uvim/runtime/syntax/gleam.mnv new file mode 100644 index 0000000000..55105269b4 --- /dev/null +++ b/uvim/runtime/syntax/gleam.mnv @@ -0,0 +1,98 @@ +" MNV syntax file +" Language: Gleam +" Maintainer: Kirill Morozov +" Based On: https://github.com/gleam-lang/gleam.mnv +" Last Change: 2025 Apr 20 +" 2025 May 15 Add @Spell clusters #17324 + +if exists("b:current_syntax") + finish +endif +let b:current_syntax = "gleam" + +syntax case match + +" Keywords +syntax keyword gleamConditional case if +syntax keyword gleamConstant const +syntax keyword gleamDebug echo +syntax keyword gleamException panic assert todo +syntax keyword gleamInclude import +syntax keyword gleamKeyword as let use +syntax keyword gleamStorageClass pub opaque +syntax keyword gleamType type + +" Number +"" Int +syntax match gleamNumber "\<-\=\%(0\|\%(\d\|\d_\d\)\+\)\>" + +"" Binary +syntax match gleamNumber "\<-\=0[bB]_\?\%([01]\|[01]_[01]\)\+\>" + +"" Octet +syntax match gleamNumber "\<-\=0[oO]\?_\?\%(\o\|\o_\o\)\+\>" + +"" Hexadecimal +syntax match gleamNumber "\<-\=0[xX]_\?\%(\x\|\x_\x\)\+\>" + +"" Float +syntax match gleamFloat "\(0*[1-9][0-9_]*\|0\)\.\(0*[1-9][0-9_]*\|0\)\(e-\=0*[1-9][0-9_]*\)\=" + +" String +syntax region gleamString start=/"/ end=/"/ contains=gleamSpecial,@Spell +syntax match gleamSpecial '\\.' contained + +" Operators +"" Basic +syntax match gleamOperator "[-+/*]\.\=\|[%=]" + +"" Arrows + Pipeline +syntax match gleamOperator "<-\|[-|]>" + +"" Bool +syntax match gleamOperator "&&\|||" + +"" Comparison +syntax match gleamOperator "[<>]=\=\.\=\|[=!]=" + +"" Misc +syntax match gleamOperator "\.\.\|<>\||" + +" Type +syntax match gleamIdentifier "\<[A-Z][a-zA-Z0-9]*\>" contains=@NoSpell + +" Attribute +syntax match gleamPreProc "@[a-z][a-z_]*" contains=@NoSpell + +" Function definition +syntax keyword gleamKeyword fn nextgroup=gleamFunction skipwhite skipempty +syntax match gleamFunction "[a-z][a-z0-9_]*\ze\s*(" skipwhite skipnl contains=@NoSpell + +" Comments +syntax region gleamComment start="//" end="$" contains=gleamTodo,@Spell +syntax region gleamSpecialComment start="///" end="$" contains=@Spell +syntax region gleamSpecialComment start="////" end="$" contains=@Spell +syntax keyword gleamTodo contained TODO FIXME XXX NB NOTE + +" Highlight groups +highlight link gleamComment Comment +highlight link gleamConditional Conditional +highlight link gleamConstant Constant +highlight link gleamDebug Debug +highlight link gleamException Exception +highlight link gleamFloat Float +highlight link gleamFunction Function +highlight link gleamIdentifier Identifier +highlight link gleamInclude Include +highlight link gleamKeyword Keyword +highlight link gleamNumber Number +highlight link gleamOperator Operator +highlight link gleamPreProc PreProc +highlight link gleamSpecial Special +highlight link gleamSpecialComment SpecialComment +highlight link gleamStorageClass StorageClass +highlight link gleamString String +highlight link gleamTodo Todo +highlight link gleamType Type + +" mnv: sw=2 sts=2 et diff --git a/uvim/runtime/syntax/gleam.vim b/uvim/runtime/syntax/gleam.vim deleted file mode 100644 index e89ab564e9..0000000000 --- a/uvim/runtime/syntax/gleam.vim +++ /dev/null @@ -1,98 +0,0 @@ -" Vim syntax file -" Language: Gleam -" Maintainer: Kirill Morozov -" Based On: https://github.com/gleam-lang/gleam.vim -" Last Change: 2025 Apr 20 -" 2025 May 15 Add @Spell clusters #17324 - -if exists("b:current_syntax") - finish -endif -let b:current_syntax = "gleam" - -syntax case match - -" Keywords -syntax keyword gleamConditional case if -syntax keyword gleamConstant const -syntax keyword gleamDebug echo -syntax keyword gleamException panic assert todo -syntax keyword gleamInclude import -syntax keyword gleamKeyword as let use -syntax keyword gleamStorageClass pub opaque -syntax keyword gleamType type - -" Number -"" Int -syntax match gleamNumber "\<-\=\%(0\|\%(\d\|\d_\d\)\+\)\>" - -"" Binary -syntax match gleamNumber "\<-\=0[bB]_\?\%([01]\|[01]_[01]\)\+\>" - -"" Octet -syntax match gleamNumber "\<-\=0[oO]\?_\?\%(\o\|\o_\o\)\+\>" - -"" Hexadecimal -syntax match gleamNumber "\<-\=0[xX]_\?\%(\x\|\x_\x\)\+\>" - -"" Float -syntax match gleamFloat "\(0*[1-9][0-9_]*\|0\)\.\(0*[1-9][0-9_]*\|0\)\(e-\=0*[1-9][0-9_]*\)\=" - -" String -syntax region gleamString start=/"/ end=/"/ contains=gleamSpecial,@Spell -syntax match gleamSpecial '\\.' contained - -" Operators -"" Basic -syntax match gleamOperator "[-+/*]\.\=\|[%=]" - -"" Arrows + Pipeline -syntax match gleamOperator "<-\|[-|]>" - -"" Bool -syntax match gleamOperator "&&\|||" - -"" Comparison -syntax match gleamOperator "[<>]=\=\.\=\|[=!]=" - -"" Misc -syntax match gleamOperator "\.\.\|<>\||" - -" Type -syntax match gleamIdentifier "\<[A-Z][a-zA-Z0-9]*\>" contains=@NoSpell - -" Attribute -syntax match gleamPreProc "@[a-z][a-z_]*" contains=@NoSpell - -" Function definition -syntax keyword gleamKeyword fn nextgroup=gleamFunction skipwhite skipempty -syntax match gleamFunction "[a-z][a-z0-9_]*\ze\s*(" skipwhite skipnl contains=@NoSpell - -" Comments -syntax region gleamComment start="//" end="$" contains=gleamTodo,@Spell -syntax region gleamSpecialComment start="///" end="$" contains=@Spell -syntax region gleamSpecialComment start="////" end="$" contains=@Spell -syntax keyword gleamTodo contained TODO FIXME XXX NB NOTE - -" Highlight groups -highlight link gleamComment Comment -highlight link gleamConditional Conditional -highlight link gleamConstant Constant -highlight link gleamDebug Debug -highlight link gleamException Exception -highlight link gleamFloat Float -highlight link gleamFunction Function -highlight link gleamIdentifier Identifier -highlight link gleamInclude Include -highlight link gleamKeyword Keyword -highlight link gleamNumber Number -highlight link gleamOperator Operator -highlight link gleamPreProc PreProc -highlight link gleamSpecial Special -highlight link gleamSpecialComment SpecialComment -highlight link gleamStorageClass StorageClass -highlight link gleamString String -highlight link gleamTodo Todo -highlight link gleamType Type - -" vim: sw=2 sts=2 et diff --git a/uvim/runtime/syntax/glimmer.mnv b/uvim/runtime/syntax/glimmer.mnv new file mode 100644 index 0000000000..6eae36d08e --- /dev/null +++ b/uvim/runtime/syntax/glimmer.mnv @@ -0,0 +1,51 @@ +" MNV syntax file +" Language: Glimmer +" Maintainer: Devin Weaver +" Last Change: 2026 Feb 20 +" Origin: https://github.com/joukevandermaas/mnv-ember-hbs +" Credits: Jouke van der Maas +" License: Same as MNV + +" MNV detects GJS/GTS files as {java,type}script.glimmer +" MNV will read the javascript/typescript syntax files first and set +" b:current_syntax accordingly then it will read the glimmer syntax file. +" This is why we use b:current_syntax to make sure we are in the correct state +" to continue. + +if exists('b:current_syntax') && b:current_syntax !~# '\v%(type|java)script' + finish +endif + +let base_syntax = b:current_syntax +unlet! b:current_syntax + +let s:cpo_save = &cpo +set cpo&mnv + +syntax include @hbs syntax/handlebars.mnv + +if base_syntax == "javascript" + syntax region glimmerTemplateBlock + \ start="" + \ contains=@hbs + \ keepend fold + + let b:current_syntax = "javascript.glimmer" +else + " syntax/typescript.mnv adds typescriptTypeCast which is in conflict with + "