From bc9757916ed09763d96283ee62dbed58bd713a11 Mon Sep 17 00:00:00 2001 From: Adam Stankiewicz Date: Tue, 6 Oct 2020 18:54:19 +0200 Subject: Add all vim filetypes --- README.md | 386 ++++- autoload/context.vim | 188 +++ autoload/polyglot/sleuth.vim | 386 ++++- autoload/xml/xsd.vim | 134 ++ compiler/bdf.vim | 26 + compiler/context.vim | 58 + compiler/cs.vim | 30 + compiler/dot.vim | 19 + compiler/sass.vim | 34 + compiler/tcl.vim | 21 + compiler/tex.vim | 71 + compiler/tidy.vim | 23 + ftdetect/polyglot.vim | 1581 ++++++++++++++++++- ftplugin/bdf.vim | 24 + ftplugin/bst.vim | 19 + ftplugin/calendar.vim | 24 + ftplugin/cdrdaoconf.vim | 22 + ftplugin/cfg.vim | 23 + ftplugin/ch.vim | 21 + ftplugin/cobol.vim | 273 ++++ ftplugin/config.vim | 46 + ftplugin/context.vim | 106 ++ ftplugin/crm.vim | 23 + ftplugin/cs.vim | 33 + ftplugin/csc.vim | 31 + ftplugin/css.vim | 28 + ftplugin/cvsrc.vim | 23 + ftplugin/debchangelog.vim | 387 +++++ ftplugin/debcontrol.vim | 74 + ftplugin/denyhosts.vim | 22 + ftplugin/dictconf.vim | 23 + ftplugin/dictdconf.vim | 23 + ftplugin/diff.vim | 22 + ftplugin/dircolors.vim | 23 + ftplugin/dosbatch.vim | 44 + ftplugin/dtd.vim | 44 + ftplugin/elinks.vim | 23 + ftplugin/eterm.vim | 24 + ftplugin/falcon.vim | 52 + ftplugin/fetchmail.vim | 23 + ftplugin/fortran.vim | 137 ++ ftplugin/framescript.vim | 34 + ftplugin/fvwm.vim | 18 + ftplugin/gdb.vim | 16 + ftplugin/gpg.vim | 23 + ftplugin/group.vim | 23 + ftplugin/hgcommit.vim | 20 + ftplugin/hog.vim | 43 + ftplugin/hostconf.vim | 22 + ftplugin/hostsaccess.vim | 23 + ftplugin/indent.vim | 24 + ftplugin/j.vim | 85 + ftplugin/java.vim | 55 + ftplugin/jproperties.vim | 19 + ftplugin/jsp.vim | 71 + ftplugin/kconfig.vim | 31 + ftplugin/kwt.vim | 36 + ftplugin/ld.vim | 24 + ftplugin/lftp.vim | 23 + ftplugin/libao.vim | 23 + ftplugin/limits.vim | 23 + ftplugin/liquid.vim | 65 + ftplugin/lisp.vim | 30 + ftplugin/logcheck.vim | 21 + ftplugin/loginaccess.vim | 23 + ftplugin/logindefs.vim | 23 + ftplugin/logtalk.vim | 23 + ftplugin/lprolog.vim | 41 + ftplugin/mail.vim | 42 + ftplugin/mailaliases.vim | 22 + ftplugin/mailcap.vim | 23 + ftplugin/man.vim | 254 +++ ftplugin/manconf.vim | 23 + ftplugin/mf.vim | 74 + ftplugin/modconf.vim | 24 + ftplugin/mp.vim | 86 + ftplugin/mplayerconf.vim | 24 + ftplugin/mrxvtrc.vim | 26 + ftplugin/muttrc.vim | 26 + ftplugin/nanorc.vim | 23 + ftplugin/neomuttrc.vim | 27 + ftplugin/netrc.vim | 23 + ftplugin/nroff.vim | 15 + ftplugin/nsis.vim | 47 + ftplugin/occam.vim | 53 + ftplugin/pamconf.vim | 23 + ftplugin/pascal.vim | 24 + ftplugin/passwd.vim | 23 + ftplugin/pdf.vim | 93 ++ ftplugin/pinfo.vim | 23 + ftplugin/postscr.vim | 42 + ftplugin/procmail.vim | 25 + ftplugin/protocols.vim | 23 + ftplugin/pyrex.vim | 31 + ftplugin/quake.vim | 23 + ftplugin/readline.vim | 23 + ftplugin/reva.vim | 29 + ftplugin/rmd.vim | 67 + ftplugin/rnc.vim | 23 + ftplugin/rnoweb.vim | 45 + ftplugin/rpl.vim | 26 + ftplugin/rrst.vim | 58 + ftplugin/sass.vim | 41 + ftplugin/scheme.vim | 61 + ftplugin/screen.vim | 23 + ftplugin/sensors.vim | 23 + ftplugin/services.vim | 23 + ftplugin/setserial.vim | 23 + ftplugin/sieve.vim | 24 + ftplugin/slpconf.vim | 24 + ftplugin/slpreg.vim | 24 + ftplugin/slpspi.vim | 24 + ftplugin/spec.vim | 212 +++ ftplugin/sshconfig.vim | 23 + ftplugin/sudoers.vim | 23 + ftplugin/swiftgyb.vim | 15 + ftplugin/sysctl.vim | 24 + ftplugin/systemverilog.vim | 15 + ftplugin/tcl.vim | 41 + ftplugin/terminfo.vim | 23 + ftplugin/tex.vim | 50 + ftplugin/text.vim | 22 + ftplugin/treetop.vim | 23 + ftplugin/udevconf.vim | 23 + ftplugin/udevperm.vim | 23 + ftplugin/updatedb.vim | 23 + ftplugin/verilog.vim | 70 + ftplugin/vhdl.vim | 92 ++ ftplugin/vim.vim | 109 ++ ftplugin/vroom.vim | 39 + ftplugin/wast.vim | 21 + ftplugin/xdefaults.vim | 24 + ftplugin/xhtml.vim | 71 + ftplugin/xinetd.vim | 24 + ftplugin/xmodmap.vim | 23 + ftplugin/xsd.vim | 43 + ftplugin/xslt.vim | 20 + ftplugin/yaml.vim | 29 - ftplugin/zimbu.vim | 157 ++ indent/bib.vim | 19 + indent/bst.vim | 79 + indent/cdl.vim | 133 ++ indent/ch.vim | 22 + indent/chaiscript.vim | 54 + indent/cobol.vim | 227 +++ indent/config.vim | 86 + indent/context.vim | 40 + indent/cs.vim | 77 + indent/css.vim | 88 ++ indent/cuda.vim | 19 + indent/dictconf.vim | 17 + indent/dictdconf.vim | 17 + indent/dosbatch.vim | 63 + indent/dtd.vim | 329 ++++ indent/dylan.vim | 94 ++ indent/eterm.vim | 40 + indent/falcon.vim | 455 ++++++ indent/fortran.vim | 223 +++ indent/framescript.vim | 45 + indent/gitolite.vim | 53 + indent/hog.vim | 81 + indent/j.vim | 54 + indent/java.vim | 154 ++ indent/jsp.vim | 21 + indent/ld.vim | 88 ++ indent/lifelines.vim | 28 + indent/liquid.vim | 67 + indent/lisp.vim | 19 + indent/logtalk.vim | 68 + indent/mail.vim | 17 + indent/mf.vim | 10 + indent/mp.vim | 364 +++++ indent/nsis.vim | 95 ++ indent/occam.vim | 191 +++ indent/pascal.vim | 232 +++ indent/postscr.vim | 72 + indent/pov.vim | 88 ++ indent/pyrex.vim | 17 + indent/readline.vim | 40 + indent/rmd.vim | 70 + indent/rnoweb.vim | 51 + indent/rpl.vim | 67 + indent/rrst.vim | 51 + indent/sas.vim | 142 ++ indent/sass.vim | 42 + indent/scheme.vim | 18 + indent/sdl.vim | 97 ++ indent/sml.vim | 221 +++ indent/sshconfig.vim | 38 + indent/systemverilog.vim | 233 +++ indent/tcl.vim | 105 ++ indent/teraterm.vim | 59 + indent/tex.vim | 427 +++++ indent/tf.vim | 76 + indent/tilde.vim | 40 + indent/treetop.vim | 42 + indent/verilog.vim | 233 +++ indent/vhdl.vim | 439 ++++++ indent/vim.vim | 134 ++ indent/vroom.vim | 25 + indent/wast.vim | 21 + indent/xhtml.vim | 16 + indent/xinetd.vim | 59 + indent/xsd.vim | 17 + indent/xslt.vim | 17 + indent/yacc.vim | 45 + indent/yaml.vim | 159 -- indent/zimbu.vim | 132 ++ packages.yaml | 3509 ++++++++++++++++++++++++++++++++++++++++- scripts/build | 16 +- scripts/import_vim | 122 ++ syntax/apachestyle.vim | 58 + syntax/asterisk.vim | 92 ++ syntax/asteriskvm.vim | 55 + syntax/bc.vim | 70 + syntax/bdf.vim | 101 ++ syntax/bib.vim | 125 ++ syntax/bindzone.vim | 101 ++ syntax/blank.vim | 43 + syntax/bsdl.vim | 21 + syntax/bst.vim | 74 + syntax/bzr.vim | 54 + syntax/cabal-1.vim | 55 + syntax/cabal-2.vim | 245 +++ syntax/cabal.vim | 58 +- syntax/calendar.vim | 114 ++ syntax/catalog.vim | 34 + syntax/cdl.vim | 82 + syntax/cdrdaoconf.vim | 143 ++ syntax/cdrtoc.vim | 541 +++++++ syntax/cf.vim | 1022 ++++++++++++ syntax/cfg.vim | 52 + syntax/ch.vim | 42 + syntax/chaiscript.vim | 98 ++ syntax/chaskell.vim | 18 + syntax/chill.vim | 182 +++ syntax/chordpro.vim | 71 + syntax/cl.vim | 102 ++ syntax/clean.vim | 94 ++ syntax/cmod.vim | 148 ++ syntax/cmusrc.vim | 313 ++++ syntax/cobol.vim | 264 ++++ syntax/coco.vim | 36 + syntax/conaryrecipe.vim | 141 ++ syntax/config.vim | 58 + syntax/context.vim | 145 ++ syntax/crm.vim | 45 + syntax/crontab.vim | 71 + syntax/cs.vim | 225 +++ syntax/csc.vim | 195 +++ syntax/csdl.vim | 540 +++++++ syntax/csp.vim | 186 +++ syntax/css.vim | 657 ++++++++ syntax/cterm.vim | 181 +++ syntax/cuda.vim | 69 + syntax/cupl.vim | 128 ++ syntax/cuplsim.vim | 67 + syntax/cvs.vim | 33 + syntax/cvsrc.vim | 43 + syntax/cynpp.vim | 54 + syntax/datascript.vim | 106 ++ syntax/dcd.vim | 55 + syntax/debchangelog.vim | 80 + syntax/debcontrol.vim | 147 ++ syntax/debcopyright.vim | 37 + syntax/debsources.vim | 60 + syntax/def.vim | 48 + syntax/denyhosts.vim | 293 ++++ syntax/desc.vim | 92 ++ syntax/desktop.vim | 271 ++++ syntax/dictconf.vim | 84 + syntax/dictdconf.vim | 150 ++ syntax/diff.vim | 386 +++++ syntax/dircolors.vim | 226 +++ syntax/dnsmasq.vim | 246 +++ syntax/dosbatch.vim | 151 ++ syntax/dot.vim | 101 ++ syntax/dracula.vim | 76 + syntax/dsl.vim | 42 + syntax/dtd.vim | 165 ++ syntax/dts.vim | 34 + syntax/dylan.vim | 96 ++ syntax/dylanintr.vim | 43 + syntax/dylanlid.vim | 33 + syntax/ecd.vim | 48 + syntax/edif.vim | 49 + syntax/elinks.vim | 192 +++ syntax/elmfilt.vim | 62 + syntax/esmtprc.vim | 35 + syntax/esqlc.vim | 62 + syntax/esterel.vim | 82 + syntax/eterm.vim | 433 +++++ syntax/exim.vim | 109 ++ syntax/expect.vim | 107 ++ syntax/exports.vim | 62 + syntax/falcon.vim | 201 +++ syntax/fan.vim | 136 ++ syntax/fetchmail.vim | 79 + syntax/fgl.vim | 138 ++ syntax/focexec.vim | 92 ++ syntax/fortran.vim | 542 +++++++ syntax/framescript.vim | 495 ++++++ syntax/fstab.vim | 295 ++++ syntax/fvwm.vim | 646 ++++++++ syntax/gdb.vim | 107 ++ syntax/gdmo.vim | 87 + syntax/gedcom.vim | 57 + syntax/gitolite.vim | 98 ++ syntax/gkrellmrc.vim | 79 + syntax/gnash.vim | 100 ++ syntax/gp.vim | 87 + syntax/gpg.vim | 109 ++ syntax/grads.vim | 77 + syntax/gretl.vim | 89 ++ syntax/group.vim | 56 + syntax/gsp.vim | 58 + syntax/gtkrc.vim | 130 ++ syntax/haste.vim | 146 ++ syntax/hastepreproc.vim | 42 + syntax/hb.vim | 93 ++ syntax/hercules.vim | 123 ++ syntax/hex.vim | 93 ++ syntax/hgcommit.vim | 31 + syntax/hog.vim | 212 +++ syntax/hollywood.vim | 185 +++ syntax/hostconf.vim | 151 ++ syntax/hostsaccess.vim | 27 + syntax/htmlm4.vim | 35 + syntax/icemenu.vim | 38 + syntax/icon.vim | 203 +++ syntax/indent.vim | 156 ++ syntax/inform.vim | 396 +++++ syntax/initng.vim | 95 ++ syntax/inittab.vim | 66 + syntax/ipfilter.vim | 58 + syntax/iss.vim | 140 ++ syntax/ist.vim | 62 + syntax/j.vim | 150 ++ syntax/jal.vim | 240 +++ syntax/jam.vim | 244 +++ syntax/java.vim | 359 +++++ syntax/javacc.vim | 69 + syntax/jess.vim | 148 ++ syntax/jgraph.vim | 49 + syntax/jovial.vim | 114 ++ syntax/jproperties.vim | 139 ++ syntax/jsp.vim | 72 + syntax/kconfig.vim | 743 +++++++++ syntax/kivy.vim | 40 + syntax/kix.vim | 174 ++ syntax/kscript.vim | 61 + syntax/kwt.vim | 74 + syntax/lace.vim | 126 ++ syntax/latte.vim | 85 + syntax/ld.vim | 85 + syntax/ldif.vim | 37 + syntax/lex.vim | 192 +++ syntax/lftp.vim | 156 ++ syntax/lhaskell.vim | 127 ++ syntax/libao.vim | 31 + syntax/lifelines.vim | 158 ++ syntax/lilo.vim | 178 +++ syntax/limits.vim | 48 + syntax/liquid.vim | 142 ++ syntax/lisp.vim | 624 ++++++++ syntax/lite.vim | 172 ++ syntax/litestep.vim | 273 ++++ syntax/loginaccess.vim | 100 ++ syntax/logindefs.vim | 178 +++ syntax/logtalk.vim | 458 ++++++ syntax/lotos.vim | 73 + syntax/lout.vim | 139 ++ syntax/lpc.vim | 451 ++++++ syntax/lprolog.vim | 128 ++ syntax/lsl.vim | 281 ++++ syntax/lss.vim | 127 ++ syntax/lynx.vim | 144 ++ syntax/mail.vim | 116 ++ syntax/mailaliases.vim | 75 + syntax/mailcap.vim | 39 + syntax/mallard.vim | 41 + syntax/man.vim | 60 + syntax/manconf.vim | 121 ++ syntax/maple.vim | 626 ++++++++ syntax/master.vim | 41 + syntax/mel.vim | 112 ++ syntax/messages.vim | 77 + syntax/mf.vim | 299 ++++ syntax/mgl.vim | 121 ++ syntax/mgp.vim | 73 + syntax/mib.vim | 61 + syntax/mix.vim | 88 ++ syntax/mmp.vim | 53 + syntax/modconf.vim | 48 + syntax/modula2.vim | 77 + syntax/modula3.vim | 63 + syntax/monk.vim | 221 +++ syntax/moo.vim | 177 +++ syntax/mp.vim | 773 +++++++++ syntax/mplayerconf.vim | 132 ++ syntax/mrxvtrc.vim | 286 ++++ syntax/msidl.vim | 88 ++ syntax/msql.vim | 87 + syntax/mupad.vim | 287 ++++ syntax/mush.vim | 219 +++ syntax/muttrc.vim | 825 ++++++++++ syntax/mysql.vim | 292 ++++ syntax/n1ql.vim | 438 +++++ syntax/named.vim | 233 +++ syntax/nanorc.vim | 247 +++ syntax/natural.vim | 205 +++ syntax/ncf.vim | 251 +++ syntax/neomuttrc.vim | 865 ++++++++++ syntax/netrc.vim | 56 + syntax/ninja.vim | 91 ++ syntax/nqc.vim | 369 +++++ syntax/nroff.vim | 253 +++ syntax/nsis.vim | 686 ++++++++ syntax/obj.vim | 87 + syntax/occam.vim | 120 ++ syntax/omnimark.vim | 110 ++ syntax/openroad.vim | 256 +++ syntax/opl.vim | 93 ++ syntax/ora.vim | 468 ++++++ syntax/pamconf.vim | 135 ++ syntax/pamenv.vim | 32 + syntax/papp.vim | 80 + syntax/pascal.vim | 364 +++++ syntax/passwd.vim | 75 + syntax/pccts.vim | 93 ++ syntax/pdf.vim | 77 + syntax/pf.vim | 337 ++++ syntax/pfmain.vim | 1839 +++++++++++++++++++++ syntax/pike.vim | 390 +++++ syntax/pilrc.vim | 140 ++ syntax/pine.vim | 359 +++++ syntax/pinfo.vim | 114 ++ syntax/pli.vim | 270 ++++ syntax/plm.vim | 138 ++ syntax/plp.vim | 41 + syntax/plsql.vim | 268 ++++ syntax/po.vim | 137 ++ syntax/postscr.vim | 784 +++++++++ syntax/pov.vim | 148 ++ syntax/povini.vim | 60 + syntax/ppd.vim | 39 + syntax/ppwiz.vim | 88 ++ syntax/privoxy.vim | 75 + syntax/procmail.vim | 58 + syntax/promela.vim | 57 + syntax/protocols.vim | 48 + syntax/psf.vim | 95 ++ syntax/pyrex.vim | 55 + syntax/quake.vim | 174 ++ syntax/radiance.vim | 146 ++ syntax/ratpoison.vim | 271 ++++ syntax/rc.vim | 194 +++ syntax/rcs.vim | 67 + syntax/readline.vim | 415 +++++ syntax/rego.vim | 93 ++ syntax/remind.vim | 77 + syntax/resolv.vim | 123 ++ syntax/reva.vim | 195 +++ syntax/rexx.vim | 322 ++++ syntax/rib.vim | 66 + syntax/rmd.vim | 122 ++ syntax/rnc.vim | 72 + syntax/rng.vim | 29 + syntax/rnoweb-1.vim | 60 + syntax/rnoweb-2.vim | 56 + syntax/rnoweb.vim | 63 +- syntax/robots.vim | 61 + syntax/rpcgen.vim | 50 + syntax/rpl.vim | 487 ++++++ syntax/rrst.vim | 47 + syntax/rtf.vim | 79 + syntax/samba.vim | 122 ++ syntax/sas.vim | 269 ++++ syntax/sass.vim | 109 ++ syntax/sather.vim | 96 ++ syntax/scheme.vim | 468 ++++++ syntax/scilab.vim | 106 ++ syntax/screen.vim | 264 ++++ syntax/sd.vim | 75 + syntax/sdc.vim | 45 + syntax/sdl.vim | 157 ++ syntax/sed.vim | 114 ++ syntax/sensors.vim | 56 + syntax/services.vim | 58 + syntax/setserial.vim | 124 ++ syntax/sieve.vim | 59 + syntax/sil.vim | 182 +++ syntax/simula.vim | 91 ++ syntax/sinda.vim | 133 ++ syntax/sisu.vim | 279 ++++ syntax/skill.vim | 553 +++++++ syntax/slang.vim | 93 ++ syntax/slice.vim | 82 + syntax/slpconf.vim | 277 ++++ syntax/slpreg.vim | 126 ++ syntax/slpspi.vim | 43 + syntax/slrnrc.vim | 185 +++ syntax/slrnsc.vim | 72 + syntax/sm.vim | 84 + syntax/smarty.vim | 80 + syntax/smcl.vim | 311 ++++ syntax/smith.vim | 43 + syntax/sml.vim | 221 +++ syntax/snobol4.vim | 117 ++ syntax/spec.vim | 230 +++ syntax/spice.vim | 79 + syntax/spup.vim | 273 ++++ syntax/spyce.vim | 108 ++ syntax/sqlj.vim | 95 ++ syntax/sqr.vim | 266 ++++ syntax/squid.vim | 144 ++ syntax/srec.vim | 87 + syntax/sshconfig.vim | 281 ++++ syntax/sshdconfig.vim | 286 ++++ syntax/st.vim | 99 ++ syntax/stata.vim | 454 ++++++ syntax/stp.vim | 158 ++ syntax/sudoers.vim | 393 +++++ syntax/svn.vim | 60 + syntax/swiftgyb.vim | 28 + syntax/sysctl.vim | 43 + syntax/systemverilog.vim | 89 ++ syntax/tags.vim | 35 + syntax/tak.vim | 123 ++ syntax/taskdata.vim | 49 + syntax/taskedit.vim | 41 + syntax/tcl.vim | 278 ++++ syntax/template.vim | 19 + syntax/teraterm.vim | 144 ++ syntax/terminfo.vim | 97 ++ syntax/tex.vim | 1344 ++++++++++++++++ syntax/texinfo.vim | 400 +++++ syntax/texmf.vim | 78 + syntax/tf.vim | 200 +++ syntax/tidy.vim | 139 ++ syntax/tilde.vim | 45 + syntax/tli.vim | 62 + syntax/tpp.vim | 87 + syntax/treetop.vim | 114 ++ syntax/trustees.vim | 46 + syntax/tsalt.vim | 210 +++ syntax/tsscl.vim | 208 +++ syntax/tssgm.vim | 102 ++ syntax/tssop.vim | 78 + syntax/uc.vim | 169 ++ syntax/udevconf.vim | 43 + syntax/udevperm.vim | 73 + syntax/uil.vim | 79 + syntax/updatedb.vim | 45 + syntax/upstart.vim | 115 ++ syntax/upstreamdat.vim | 309 ++++ syntax/upstreaminstalllog.vim | 31 + syntax/upstreamlog.vim | 58 + syntax/usserverlog.vim | 64 + syntax/usw2kagtlog.vim | 58 + syntax/vera.vim | 352 +++++ syntax/verilog.vim | 123 ++ syntax/verilogams.vim | 136 ++ syntax/vgrindefs.vim | 49 + syntax/vhdl.vim | 272 ++++ syntax/vim.vim | 1032 ++++++++++++ syntax/viminfo.vim | 52 + syntax/voscm.vim | 98 ++ syntax/vrml.vim | 226 +++ syntax/vroom.vim | 114 ++ syntax/wast.vim | 88 ++ syntax/webmacro.vim | 71 + syntax/wget.vim | 193 +++ syntax/winbatch.vim | 178 +++ syntax/wml.vim | 154 ++ syntax/wsh.vim | 49 + syntax/wsml.vim | 117 ++ syntax/wvdial.vim | 32 + syntax/xdefaults.vim | 136 ++ syntax/xhtml.vim | 15 + syntax/xinetd.vim | 351 +++++ syntax/xmath.vim | 229 +++ syntax/xmodmap.vim | 681 ++++++++ syntax/xquery.vim | 86 + syntax/xsd.vim | 65 + syntax/xslt.vim | 75 + syntax/yacc.vim | 124 ++ syntax/z8a.vim | 105 ++ syntax/zimbu.vim | 164 ++ tests/filetypes.vim | 384 +++++ 590 files changed, 82640 insertions(+), 310 deletions(-) create mode 100644 autoload/context.vim create mode 100644 autoload/xml/xsd.vim create mode 100644 compiler/bdf.vim create mode 100644 compiler/context.vim create mode 100644 compiler/cs.vim create mode 100644 compiler/dot.vim create mode 100644 compiler/sass.vim create mode 100644 compiler/tcl.vim create mode 100644 compiler/tex.vim create mode 100644 compiler/tidy.vim create mode 100644 ftplugin/bdf.vim create mode 100644 ftplugin/bst.vim create mode 100644 ftplugin/calendar.vim create mode 100644 ftplugin/cdrdaoconf.vim create mode 100644 ftplugin/cfg.vim create mode 100644 ftplugin/ch.vim create mode 100644 ftplugin/cobol.vim create mode 100644 ftplugin/config.vim create mode 100644 ftplugin/context.vim create mode 100644 ftplugin/crm.vim create mode 100644 ftplugin/cs.vim create mode 100644 ftplugin/csc.vim create mode 100644 ftplugin/css.vim create mode 100644 ftplugin/cvsrc.vim create mode 100644 ftplugin/debchangelog.vim create mode 100644 ftplugin/debcontrol.vim create mode 100644 ftplugin/denyhosts.vim create mode 100644 ftplugin/dictconf.vim create mode 100644 ftplugin/dictdconf.vim create mode 100644 ftplugin/diff.vim create mode 100644 ftplugin/dircolors.vim create mode 100644 ftplugin/dosbatch.vim create mode 100644 ftplugin/dtd.vim create mode 100644 ftplugin/elinks.vim create mode 100644 ftplugin/eterm.vim create mode 100644 ftplugin/falcon.vim create mode 100644 ftplugin/fetchmail.vim create mode 100644 ftplugin/fortran.vim create mode 100644 ftplugin/framescript.vim create mode 100644 ftplugin/fvwm.vim create mode 100644 ftplugin/gdb.vim create mode 100644 ftplugin/gpg.vim create mode 100644 ftplugin/group.vim create mode 100644 ftplugin/hgcommit.vim create mode 100644 ftplugin/hog.vim create mode 100644 ftplugin/hostconf.vim create mode 100644 ftplugin/hostsaccess.vim create mode 100644 ftplugin/indent.vim create mode 100644 ftplugin/j.vim create mode 100644 ftplugin/java.vim create mode 100644 ftplugin/jproperties.vim create mode 100644 ftplugin/jsp.vim create mode 100644 ftplugin/kconfig.vim create mode 100644 ftplugin/kwt.vim create mode 100644 ftplugin/ld.vim create mode 100644 ftplugin/lftp.vim create mode 100644 ftplugin/libao.vim create mode 100644 ftplugin/limits.vim create mode 100644 ftplugin/liquid.vim create mode 100644 ftplugin/lisp.vim create mode 100644 ftplugin/logcheck.vim create mode 100644 ftplugin/loginaccess.vim create mode 100644 ftplugin/logindefs.vim create mode 100644 ftplugin/logtalk.vim create mode 100644 ftplugin/lprolog.vim create mode 100644 ftplugin/mail.vim create mode 100644 ftplugin/mailaliases.vim create mode 100644 ftplugin/mailcap.vim create mode 100644 ftplugin/man.vim create mode 100644 ftplugin/manconf.vim create mode 100644 ftplugin/mf.vim create mode 100644 ftplugin/modconf.vim create mode 100644 ftplugin/mp.vim create mode 100644 ftplugin/mplayerconf.vim create mode 100644 ftplugin/mrxvtrc.vim create mode 100644 ftplugin/muttrc.vim create mode 100644 ftplugin/nanorc.vim create mode 100644 ftplugin/neomuttrc.vim create mode 100644 ftplugin/netrc.vim create mode 100644 ftplugin/nroff.vim create mode 100644 ftplugin/nsis.vim create mode 100644 ftplugin/occam.vim create mode 100644 ftplugin/pamconf.vim create mode 100644 ftplugin/pascal.vim create mode 100644 ftplugin/passwd.vim create mode 100644 ftplugin/pdf.vim create mode 100644 ftplugin/pinfo.vim create mode 100644 ftplugin/postscr.vim create mode 100644 ftplugin/procmail.vim create mode 100644 ftplugin/protocols.vim create mode 100644 ftplugin/pyrex.vim create mode 100644 ftplugin/quake.vim create mode 100644 ftplugin/readline.vim create mode 100644 ftplugin/reva.vim create mode 100644 ftplugin/rmd.vim create mode 100644 ftplugin/rnc.vim create mode 100644 ftplugin/rnoweb.vim create mode 100644 ftplugin/rpl.vim create mode 100644 ftplugin/rrst.vim create mode 100644 ftplugin/sass.vim create mode 100644 ftplugin/scheme.vim create mode 100644 ftplugin/screen.vim create mode 100644 ftplugin/sensors.vim create mode 100644 ftplugin/services.vim create mode 100644 ftplugin/setserial.vim create mode 100644 ftplugin/sieve.vim create mode 100644 ftplugin/slpconf.vim create mode 100644 ftplugin/slpreg.vim create mode 100644 ftplugin/slpspi.vim create mode 100644 ftplugin/spec.vim create mode 100644 ftplugin/sshconfig.vim create mode 100644 ftplugin/sudoers.vim create mode 100644 ftplugin/swiftgyb.vim create mode 100644 ftplugin/sysctl.vim create mode 100644 ftplugin/systemverilog.vim create mode 100644 ftplugin/tcl.vim create mode 100644 ftplugin/terminfo.vim create mode 100644 ftplugin/tex.vim create mode 100644 ftplugin/text.vim create mode 100644 ftplugin/treetop.vim create mode 100644 ftplugin/udevconf.vim create mode 100644 ftplugin/udevperm.vim create mode 100644 ftplugin/updatedb.vim create mode 100644 ftplugin/verilog.vim create mode 100644 ftplugin/vhdl.vim create mode 100644 ftplugin/vim.vim create mode 100644 ftplugin/vroom.vim create mode 100644 ftplugin/wast.vim create mode 100644 ftplugin/xdefaults.vim create mode 100644 ftplugin/xhtml.vim create mode 100644 ftplugin/xinetd.vim create mode 100644 ftplugin/xmodmap.vim create mode 100644 ftplugin/xsd.vim create mode 100644 ftplugin/xslt.vim delete mode 100644 ftplugin/yaml.vim create mode 100644 ftplugin/zimbu.vim create mode 100644 indent/bib.vim create mode 100644 indent/bst.vim create mode 100644 indent/cdl.vim create mode 100644 indent/ch.vim create mode 100644 indent/chaiscript.vim create mode 100644 indent/cobol.vim create mode 100644 indent/config.vim create mode 100644 indent/context.vim create mode 100644 indent/cs.vim create mode 100644 indent/css.vim create mode 100644 indent/cuda.vim create mode 100644 indent/dictconf.vim create mode 100644 indent/dictdconf.vim create mode 100644 indent/dosbatch.vim create mode 100644 indent/dtd.vim create mode 100644 indent/dylan.vim create mode 100644 indent/eterm.vim create mode 100644 indent/falcon.vim create mode 100644 indent/fortran.vim create mode 100644 indent/framescript.vim create mode 100644 indent/gitolite.vim create mode 100644 indent/hog.vim create mode 100644 indent/j.vim create mode 100644 indent/java.vim create mode 100644 indent/jsp.vim create mode 100644 indent/ld.vim create mode 100644 indent/lifelines.vim create mode 100644 indent/liquid.vim create mode 100644 indent/lisp.vim create mode 100644 indent/logtalk.vim create mode 100644 indent/mail.vim create mode 100644 indent/mf.vim create mode 100644 indent/mp.vim create mode 100644 indent/nsis.vim create mode 100644 indent/occam.vim create mode 100644 indent/pascal.vim create mode 100644 indent/postscr.vim create mode 100644 indent/pov.vim create mode 100644 indent/pyrex.vim create mode 100644 indent/readline.vim create mode 100644 indent/rmd.vim create mode 100644 indent/rnoweb.vim create mode 100644 indent/rpl.vim create mode 100644 indent/rrst.vim create mode 100644 indent/sas.vim create mode 100644 indent/sass.vim create mode 100644 indent/scheme.vim create mode 100644 indent/sdl.vim create mode 100644 indent/sml.vim create mode 100644 indent/sshconfig.vim create mode 100644 indent/systemverilog.vim create mode 100644 indent/tcl.vim create mode 100644 indent/teraterm.vim create mode 100644 indent/tex.vim create mode 100644 indent/tf.vim create mode 100644 indent/tilde.vim create mode 100644 indent/treetop.vim create mode 100644 indent/verilog.vim create mode 100644 indent/vhdl.vim create mode 100644 indent/vim.vim create mode 100644 indent/vroom.vim create mode 100644 indent/wast.vim create mode 100644 indent/xhtml.vim create mode 100644 indent/xinetd.vim create mode 100644 indent/xsd.vim create mode 100644 indent/xslt.vim create mode 100644 indent/yacc.vim delete mode 100644 indent/yaml.vim create mode 100644 indent/zimbu.vim create mode 100755 scripts/import_vim create mode 100644 syntax/apachestyle.vim create mode 100644 syntax/asterisk.vim create mode 100644 syntax/asteriskvm.vim create mode 100644 syntax/bc.vim create mode 100644 syntax/bdf.vim create mode 100644 syntax/bib.vim create mode 100644 syntax/bindzone.vim create mode 100644 syntax/blank.vim create mode 100644 syntax/bsdl.vim create mode 100644 syntax/bst.vim create mode 100644 syntax/bzr.vim create mode 100644 syntax/cabal-1.vim create mode 100644 syntax/cabal-2.vim create mode 100644 syntax/calendar.vim create mode 100644 syntax/catalog.vim create mode 100644 syntax/cdl.vim create mode 100644 syntax/cdrdaoconf.vim create mode 100644 syntax/cdrtoc.vim create mode 100644 syntax/cf.vim create mode 100644 syntax/cfg.vim create mode 100644 syntax/ch.vim create mode 100644 syntax/chaiscript.vim create mode 100644 syntax/chaskell.vim create mode 100644 syntax/chill.vim create mode 100644 syntax/chordpro.vim create mode 100644 syntax/cl.vim create mode 100644 syntax/clean.vim create mode 100644 syntax/cmod.vim create mode 100644 syntax/cmusrc.vim create mode 100644 syntax/cobol.vim create mode 100644 syntax/coco.vim create mode 100644 syntax/conaryrecipe.vim create mode 100644 syntax/config.vim create mode 100644 syntax/context.vim create mode 100644 syntax/crm.vim create mode 100644 syntax/crontab.vim create mode 100644 syntax/cs.vim create mode 100644 syntax/csc.vim create mode 100644 syntax/csdl.vim create mode 100644 syntax/csp.vim create mode 100644 syntax/css.vim create mode 100644 syntax/cterm.vim create mode 100644 syntax/cuda.vim create mode 100644 syntax/cupl.vim create mode 100644 syntax/cuplsim.vim create mode 100644 syntax/cvs.vim create mode 100644 syntax/cvsrc.vim create mode 100644 syntax/cynpp.vim create mode 100644 syntax/datascript.vim create mode 100644 syntax/dcd.vim create mode 100644 syntax/debchangelog.vim create mode 100644 syntax/debcontrol.vim create mode 100644 syntax/debcopyright.vim create mode 100644 syntax/debsources.vim create mode 100644 syntax/def.vim create mode 100644 syntax/denyhosts.vim create mode 100644 syntax/desc.vim create mode 100644 syntax/desktop.vim create mode 100644 syntax/dictconf.vim create mode 100644 syntax/dictdconf.vim create mode 100644 syntax/diff.vim create mode 100644 syntax/dircolors.vim create mode 100644 syntax/dnsmasq.vim create mode 100644 syntax/dosbatch.vim create mode 100644 syntax/dot.vim create mode 100644 syntax/dracula.vim create mode 100644 syntax/dsl.vim create mode 100644 syntax/dtd.vim create mode 100644 syntax/dts.vim create mode 100644 syntax/dylan.vim create mode 100644 syntax/dylanintr.vim create mode 100644 syntax/dylanlid.vim create mode 100644 syntax/ecd.vim create mode 100644 syntax/edif.vim create mode 100644 syntax/elinks.vim create mode 100644 syntax/elmfilt.vim create mode 100644 syntax/esmtprc.vim create mode 100644 syntax/esqlc.vim create mode 100644 syntax/esterel.vim create mode 100644 syntax/eterm.vim create mode 100644 syntax/exim.vim create mode 100644 syntax/expect.vim create mode 100644 syntax/exports.vim create mode 100644 syntax/falcon.vim create mode 100644 syntax/fan.vim create mode 100644 syntax/fetchmail.vim create mode 100644 syntax/fgl.vim create mode 100644 syntax/focexec.vim create mode 100644 syntax/fortran.vim create mode 100644 syntax/framescript.vim create mode 100644 syntax/fstab.vim create mode 100644 syntax/fvwm.vim create mode 100644 syntax/gdb.vim create mode 100644 syntax/gdmo.vim create mode 100644 syntax/gedcom.vim create mode 100644 syntax/gitolite.vim create mode 100644 syntax/gkrellmrc.vim create mode 100644 syntax/gnash.vim create mode 100644 syntax/gp.vim create mode 100644 syntax/gpg.vim create mode 100644 syntax/grads.vim create mode 100644 syntax/gretl.vim create mode 100644 syntax/group.vim create mode 100644 syntax/gsp.vim create mode 100644 syntax/gtkrc.vim create mode 100644 syntax/haste.vim create mode 100644 syntax/hastepreproc.vim create mode 100644 syntax/hb.vim create mode 100644 syntax/hercules.vim create mode 100644 syntax/hex.vim create mode 100644 syntax/hgcommit.vim create mode 100644 syntax/hog.vim create mode 100644 syntax/hollywood.vim create mode 100644 syntax/hostconf.vim create mode 100644 syntax/hostsaccess.vim create mode 100644 syntax/htmlm4.vim create mode 100644 syntax/icemenu.vim create mode 100644 syntax/icon.vim create mode 100644 syntax/indent.vim create mode 100644 syntax/inform.vim create mode 100644 syntax/initng.vim create mode 100644 syntax/inittab.vim create mode 100644 syntax/ipfilter.vim create mode 100644 syntax/iss.vim create mode 100644 syntax/ist.vim create mode 100644 syntax/j.vim create mode 100644 syntax/jal.vim create mode 100644 syntax/jam.vim create mode 100644 syntax/java.vim create mode 100644 syntax/javacc.vim create mode 100644 syntax/jess.vim create mode 100644 syntax/jgraph.vim create mode 100644 syntax/jovial.vim create mode 100644 syntax/jproperties.vim create mode 100644 syntax/jsp.vim create mode 100644 syntax/kconfig.vim create mode 100644 syntax/kivy.vim create mode 100644 syntax/kix.vim create mode 100644 syntax/kscript.vim create mode 100644 syntax/kwt.vim create mode 100644 syntax/lace.vim create mode 100644 syntax/latte.vim create mode 100644 syntax/ld.vim create mode 100644 syntax/ldif.vim create mode 100644 syntax/lex.vim create mode 100644 syntax/lftp.vim create mode 100644 syntax/lhaskell.vim create mode 100644 syntax/libao.vim create mode 100644 syntax/lifelines.vim create mode 100644 syntax/lilo.vim create mode 100644 syntax/limits.vim create mode 100644 syntax/liquid.vim create mode 100644 syntax/lisp.vim create mode 100644 syntax/lite.vim create mode 100644 syntax/litestep.vim create mode 100644 syntax/loginaccess.vim create mode 100644 syntax/logindefs.vim create mode 100644 syntax/logtalk.vim create mode 100644 syntax/lotos.vim create mode 100644 syntax/lout.vim create mode 100644 syntax/lpc.vim create mode 100644 syntax/lprolog.vim create mode 100644 syntax/lsl.vim create mode 100644 syntax/lss.vim create mode 100644 syntax/lynx.vim create mode 100644 syntax/mail.vim create mode 100644 syntax/mailaliases.vim create mode 100644 syntax/mailcap.vim create mode 100644 syntax/mallard.vim create mode 100644 syntax/man.vim create mode 100644 syntax/manconf.vim create mode 100644 syntax/maple.vim create mode 100644 syntax/master.vim create mode 100644 syntax/mel.vim create mode 100644 syntax/messages.vim create mode 100644 syntax/mf.vim create mode 100644 syntax/mgl.vim create mode 100644 syntax/mgp.vim create mode 100644 syntax/mib.vim create mode 100644 syntax/mix.vim create mode 100644 syntax/mmp.vim create mode 100644 syntax/modconf.vim create mode 100644 syntax/modula2.vim create mode 100644 syntax/modula3.vim create mode 100644 syntax/monk.vim create mode 100644 syntax/moo.vim create mode 100644 syntax/mp.vim create mode 100644 syntax/mplayerconf.vim create mode 100644 syntax/mrxvtrc.vim create mode 100644 syntax/msidl.vim create mode 100644 syntax/msql.vim create mode 100644 syntax/mupad.vim create mode 100644 syntax/mush.vim create mode 100644 syntax/muttrc.vim create mode 100644 syntax/mysql.vim create mode 100644 syntax/n1ql.vim create mode 100644 syntax/named.vim create mode 100644 syntax/nanorc.vim create mode 100644 syntax/natural.vim create mode 100644 syntax/ncf.vim create mode 100644 syntax/neomuttrc.vim create mode 100644 syntax/netrc.vim create mode 100644 syntax/ninja.vim create mode 100644 syntax/nqc.vim create mode 100644 syntax/nroff.vim create mode 100644 syntax/nsis.vim create mode 100644 syntax/obj.vim create mode 100644 syntax/occam.vim create mode 100644 syntax/omnimark.vim create mode 100644 syntax/openroad.vim create mode 100644 syntax/opl.vim create mode 100644 syntax/ora.vim create mode 100644 syntax/pamconf.vim create mode 100644 syntax/pamenv.vim create mode 100644 syntax/papp.vim create mode 100644 syntax/pascal.vim create mode 100644 syntax/passwd.vim create mode 100644 syntax/pccts.vim create mode 100644 syntax/pdf.vim create mode 100644 syntax/pf.vim create mode 100644 syntax/pfmain.vim create mode 100644 syntax/pike.vim create mode 100644 syntax/pilrc.vim create mode 100644 syntax/pine.vim create mode 100644 syntax/pinfo.vim create mode 100644 syntax/pli.vim create mode 100644 syntax/plm.vim create mode 100644 syntax/plp.vim create mode 100644 syntax/plsql.vim create mode 100644 syntax/po.vim create mode 100644 syntax/postscr.vim create mode 100644 syntax/pov.vim create mode 100644 syntax/povini.vim create mode 100644 syntax/ppd.vim create mode 100644 syntax/ppwiz.vim create mode 100644 syntax/privoxy.vim create mode 100644 syntax/procmail.vim create mode 100644 syntax/promela.vim create mode 100644 syntax/protocols.vim create mode 100644 syntax/psf.vim create mode 100644 syntax/pyrex.vim create mode 100644 syntax/quake.vim create mode 100644 syntax/radiance.vim create mode 100644 syntax/ratpoison.vim create mode 100644 syntax/rc.vim create mode 100644 syntax/rcs.vim create mode 100644 syntax/readline.vim create mode 100644 syntax/rego.vim create mode 100644 syntax/remind.vim create mode 100644 syntax/resolv.vim create mode 100644 syntax/reva.vim create mode 100644 syntax/rexx.vim create mode 100644 syntax/rib.vim create mode 100644 syntax/rmd.vim create mode 100644 syntax/rnc.vim create mode 100644 syntax/rng.vim create mode 100644 syntax/rnoweb-1.vim create mode 100644 syntax/rnoweb-2.vim create mode 100644 syntax/robots.vim create mode 100644 syntax/rpcgen.vim create mode 100644 syntax/rpl.vim create mode 100644 syntax/rrst.vim create mode 100644 syntax/rtf.vim create mode 100644 syntax/samba.vim create mode 100644 syntax/sas.vim create mode 100644 syntax/sass.vim create mode 100644 syntax/sather.vim create mode 100644 syntax/scheme.vim create mode 100644 syntax/scilab.vim create mode 100644 syntax/screen.vim create mode 100644 syntax/sd.vim create mode 100644 syntax/sdc.vim create mode 100644 syntax/sdl.vim create mode 100644 syntax/sed.vim create mode 100644 syntax/sensors.vim create mode 100644 syntax/services.vim create mode 100644 syntax/setserial.vim create mode 100644 syntax/sieve.vim create mode 100644 syntax/sil.vim create mode 100644 syntax/simula.vim create mode 100644 syntax/sinda.vim create mode 100644 syntax/sisu.vim create mode 100644 syntax/skill.vim create mode 100644 syntax/slang.vim create mode 100644 syntax/slice.vim create mode 100644 syntax/slpconf.vim create mode 100644 syntax/slpreg.vim create mode 100644 syntax/slpspi.vim create mode 100644 syntax/slrnrc.vim create mode 100644 syntax/slrnsc.vim create mode 100644 syntax/sm.vim create mode 100644 syntax/smarty.vim create mode 100644 syntax/smcl.vim create mode 100644 syntax/smith.vim create mode 100644 syntax/sml.vim create mode 100644 syntax/snobol4.vim create mode 100644 syntax/spec.vim create mode 100644 syntax/spice.vim create mode 100644 syntax/spup.vim create mode 100644 syntax/spyce.vim create mode 100644 syntax/sqlj.vim create mode 100644 syntax/sqr.vim create mode 100644 syntax/squid.vim create mode 100644 syntax/srec.vim create mode 100644 syntax/sshconfig.vim create mode 100644 syntax/sshdconfig.vim create mode 100644 syntax/st.vim create mode 100644 syntax/stata.vim create mode 100644 syntax/stp.vim create mode 100644 syntax/sudoers.vim create mode 100644 syntax/svn.vim create mode 100644 syntax/swiftgyb.vim create mode 100644 syntax/sysctl.vim create mode 100644 syntax/systemverilog.vim create mode 100644 syntax/tags.vim create mode 100644 syntax/tak.vim create mode 100644 syntax/taskdata.vim create mode 100644 syntax/taskedit.vim create mode 100644 syntax/tcl.vim create mode 100644 syntax/template.vim create mode 100644 syntax/teraterm.vim create mode 100644 syntax/terminfo.vim create mode 100644 syntax/tex.vim create mode 100644 syntax/texinfo.vim create mode 100644 syntax/texmf.vim create mode 100644 syntax/tf.vim create mode 100644 syntax/tidy.vim create mode 100644 syntax/tilde.vim create mode 100644 syntax/tli.vim create mode 100644 syntax/tpp.vim create mode 100644 syntax/treetop.vim create mode 100644 syntax/trustees.vim create mode 100644 syntax/tsalt.vim create mode 100644 syntax/tsscl.vim create mode 100644 syntax/tssgm.vim create mode 100644 syntax/tssop.vim create mode 100644 syntax/uc.vim create mode 100644 syntax/udevconf.vim create mode 100644 syntax/udevperm.vim create mode 100644 syntax/uil.vim create mode 100644 syntax/updatedb.vim create mode 100644 syntax/upstart.vim create mode 100644 syntax/upstreamdat.vim create mode 100644 syntax/upstreaminstalllog.vim create mode 100644 syntax/upstreamlog.vim create mode 100644 syntax/usserverlog.vim create mode 100644 syntax/usw2kagtlog.vim create mode 100644 syntax/vera.vim create mode 100644 syntax/verilog.vim create mode 100644 syntax/verilogams.vim create mode 100644 syntax/vgrindefs.vim create mode 100644 syntax/vhdl.vim create mode 100644 syntax/vim.vim create mode 100644 syntax/viminfo.vim create mode 100644 syntax/voscm.vim create mode 100644 syntax/vrml.vim create mode 100644 syntax/vroom.vim create mode 100644 syntax/wast.vim create mode 100644 syntax/webmacro.vim create mode 100644 syntax/wget.vim create mode 100644 syntax/winbatch.vim create mode 100644 syntax/wml.vim create mode 100644 syntax/wsh.vim create mode 100644 syntax/wsml.vim create mode 100644 syntax/wvdial.vim create mode 100644 syntax/xdefaults.vim create mode 100644 syntax/xhtml.vim create mode 100644 syntax/xinetd.vim create mode 100644 syntax/xmath.vim create mode 100644 syntax/xmodmap.vim create mode 100644 syntax/xquery.vim create mode 100644 syntax/xsd.vim create mode 100644 syntax/xslt.vim create mode 100644 syntax/yacc.vim create mode 100644 syntax/z8a.vim create mode 100644 syntax/zimbu.vim diff --git a/README.md b/README.md index adf45f79..63a34062 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ A collection of language packs for Vim. > One to rule them all, one to find them, one to bring them all and in the darkness bind them. - It **won't affect your startup time**, as scripts are loaded only on demand\*. -- It **installs and updates 120+ times faster** than the 207 packages it consists of. +- It **installs and updates 120+ times faster** than the 591 packages it consists of. - It is more secure because scripts loaded for all extensions are generated by vim-polyglot (ftdetect). - Solid syntax and indentation support (other features skipped). Only the best language packs. - All unnecessary files are ignored (like enormous documentation from php support). @@ -61,6 +61,7 @@ If you need full functionality of any plugin, please use it directly with your p - [ansible](https://github.com/pearofducks/ansible-vim) - [ant](https://github.com/vim/vim/tree/master/runtime) - [apache](https://github.com/vim/vim/tree/master/runtime) +- [apachestyle](https://github.com/vim/vim/tree/master/runtime) - [apiblueprint](https://github.com/kylef/apiblueprint.vim) - [applescript](https://github.com/mityu/vim-applescript) - [aptconf](https://github.com/vim/vim/tree/master/runtime) @@ -71,6 +72,8 @@ If you need full functionality of any plugin, please use it directly with your p - [asn](https://github.com/vim/vim/tree/master/runtime) - [aspperl](https://github.com/vim/vim/tree/master/runtime) - [aspvbs](https://github.com/vim/vim/tree/master/runtime) +- [asterisk](https://github.com/vim/vim/tree/master/runtime) +- [asteriskvm](https://github.com/vim/vim/tree/master/runtime) - [atlas](https://github.com/vim/vim/tree/master/runtime) - [autohotkey](https://github.com/hnamikaw/vim-autohotkey) - [autoit](https://github.com/vim/vim/tree/master/runtime) @@ -79,175 +82,556 @@ If you need full functionality of any plugin, please use it directly with your p - [awk](https://github.com/vim/vim/tree/master/runtime) - [b](https://github.com/vim/vim/tree/master/runtime) - [basic](https://github.com/vim/vim/tree/master/runtime) +- [bc](https://github.com/vim/vim/tree/master/runtime) +- [bdf](https://github.com/vim/vim/tree/master/runtime) +- [bib](https://github.com/vim/vim/tree/master/runtime) +- [bindzone](https://github.com/vim/vim/tree/master/runtime) - [blade](https://github.com/jwalton512/vim-blade) +- [blank](https://github.com/vim/vim/tree/master/runtime) - [brewfile](https://github.com/bfontaine/Brewfile.vim) +- [bsdl](https://github.com/vim/vim/tree/master/runtime) +- [bst](https://github.com/vim/vim/tree/master/runtime) - [bzl](https://github.com/vim/vim/tree/master/runtime) +- [bzr](https://github.com/vim/vim/tree/master/runtime) - [c/c++](https://github.com/vim-jp/vim-cpp) +- [cabal](https://github.com/vim/vim/tree/master/runtime) - [caddyfile](https://github.com/isobit/vim-caddyfile) +- [calendar](https://github.com/vim/vim/tree/master/runtime) - [carp](https://github.com/hellerve/carp-vim) +- [catalog](https://github.com/vim/vim/tree/master/runtime) +- [cdl](https://github.com/vim/vim/tree/master/runtime) +- [cdrdaoconf](https://github.com/vim/vim/tree/master/runtime) +- [cdrtoc](https://github.com/vim/vim/tree/master/runtime) +- [cf](https://github.com/vim/vim/tree/master/runtime) +- [cfengine](https://github.com/vim/vim/tree/master/runtime) +- [cfg](https://github.com/vim/vim/tree/master/runtime) +- [ch](https://github.com/vim/vim/tree/master/runtime) +- [chaiscript](https://github.com/vim/vim/tree/master/runtime) +- [chaskell](https://github.com/vim/vim/tree/master/runtime) +- [chill](https://github.com/vim/vim/tree/master/runtime) +- [chordpro](https://github.com/vim/vim/tree/master/runtime) - [cjsx](https://github.com/mtscout6/vim-cjsx) +- [cl](https://github.com/vim/vim/tree/master/runtime) +- [clean](https://github.com/vim/vim/tree/master/runtime) - [clojure](https://github.com/guns/vim-clojure-static) - [cmake](https://github.com/pboettch/vim-cmake-syntax) +- [cmod](https://github.com/vim/vim/tree/master/runtime) +- [cmusrc](https://github.com/vim/vim/tree/master/runtime) +- [cobol](https://github.com/vim/vim/tree/master/runtime) +- [coco](https://github.com/vim/vim/tree/master/runtime) - [coffee-script](https://github.com/kchmck/vim-coffee-script) +- [conaryrecipe](https://github.com/vim/vim/tree/master/runtime) - [conf](https://github.com/vim/vim/tree/master/runtime) +- [config](https://github.com/vim/vim/tree/master/runtime) +- [context](https://github.com/vim/vim/tree/master/runtime) - [cpp-modern](https://github.com/bfrg/vim-cpp-modern) - [cql](https://github.com/elubow/cql-vim) +- [crm](https://github.com/vim/vim/tree/master/runtime) +- [crontab](https://github.com/vim/vim/tree/master/runtime) - [cryptol](https://github.com/victoredwardocallaghan/cryptol.vim) - [crystal](https://github.com/rhysd/vim-crystal) +- [cs](https://github.com/vim/vim/tree/master/runtime) +- [csc](https://github.com/vim/vim/tree/master/runtime) +- [csdl](https://github.com/vim/vim/tree/master/runtime) +- [csp](https://github.com/vim/vim/tree/master/runtime) +- [css](https://github.com/vim/vim/tree/master/runtime) - [csv](https://github.com/chrisbra/csv.vim) +- [cterm](https://github.com/vim/vim/tree/master/runtime) - [cucumber](https://github.com/tpope/vim-cucumber) +- [cuda](https://github.com/vim/vim/tree/master/runtime) - [cue](https://github.com/mgrabovsky/vim-cuesheet) +- [cupl](https://github.com/vim/vim/tree/master/runtime) +- [cuplsim](https://github.com/vim/vim/tree/master/runtime) +- [cvs](https://github.com/vim/vim/tree/master/runtime) +- [cvsrc](https://github.com/vim/vim/tree/master/runtime) +- [cynpp](https://github.com/vim/vim/tree/master/runtime) - [dart](https://github.com/dart-lang/dart-vim-plugin) +- [datascript](https://github.com/vim/vim/tree/master/runtime) +- [dcd](https://github.com/vim/vim/tree/master/runtime) +- [debchangelog](https://github.com/vim/vim/tree/master/runtime) +- [debcontrol](https://github.com/vim/vim/tree/master/runtime) +- [debcopyright](https://github.com/vim/vim/tree/master/runtime) +- [debsources](https://github.com/vim/vim/tree/master/runtime) +- [def](https://github.com/vim/vim/tree/master/runtime) +- [denyhosts](https://github.com/vim/vim/tree/master/runtime) +- [desc](https://github.com/vim/vim/tree/master/runtime) +- [desktop](https://github.com/vim/vim/tree/master/runtime) - [dhall](https://github.com/vmchale/dhall-vim) +- [dictconf](https://github.com/vim/vim/tree/master/runtime) +- [dictdconf](https://github.com/vim/vim/tree/master/runtime) +- [diff](https://github.com/vim/vim/tree/master/runtime) +- [dircolors](https://github.com/vim/vim/tree/master/runtime) - [dlang](https://github.com/JesseKPhillips/d.vim) +- [dnsmasq](https://github.com/vim/vim/tree/master/runtime) - [dockerfile](https://github.com/ekalinin/Dockerfile.vim) +- [dosbatch](https://github.com/vim/vim/tree/master/runtime) - [dosini](https://github.com/vim/vim/tree/master/runtime) +- [dot](https://github.com/vim/vim/tree/master/runtime) +- [dracula](https://github.com/vim/vim/tree/master/runtime) +- [dsl](https://github.com/vim/vim/tree/master/runtime) +- [dtd](https://github.com/vim/vim/tree/master/runtime) +- [dts](https://github.com/vim/vim/tree/master/runtime) +- [dylan](https://github.com/vim/vim/tree/master/runtime) +- [dylanintr](https://github.com/vim/vim/tree/master/runtime) +- [dylanlid](https://github.com/vim/vim/tree/master/runtime) +- [ecd](https://github.com/vim/vim/tree/master/runtime) +- [edif](https://github.com/vim/vim/tree/master/runtime) - [elf](https://github.com/vim/vim/tree/master/runtime) +- [elinks](https://github.com/vim/vim/tree/master/runtime) - [elixir](https://github.com/elixir-lang/vim-elixir) - [elm](https://github.com/andys8/vim-elm-syntax) +- [elmfilt](https://github.com/vim/vim/tree/master/runtime) - [emberscript](https://github.com/yalesov/vim-ember-script) - [emblem](https://github.com/yalesov/vim-emblem) - [erlang](https://github.com/vim-erlang/vim-erlang-runtime) +- [esmtprc](https://github.com/vim/vim/tree/master/runtime) +- [esqlc](https://github.com/vim/vim/tree/master/runtime) +- [esterel](https://github.com/vim/vim/tree/master/runtime) +- [eterm](https://github.com/vim/vim/tree/master/runtime) +- [exim](https://github.com/vim/vim/tree/master/runtime) +- [expect](https://github.com/vim/vim/tree/master/runtime) +- [exports](https://github.com/vim/vim/tree/master/runtime) +- [factor](https://github.com/vim/vim/tree/master/runtime) +- [falcon](https://github.com/vim/vim/tree/master/runtime) +- [fan](https://github.com/vim/vim/tree/master/runtime) - [fennel](https://github.com/bakpakin/fennel.vim) - [ferm](https://github.com/vim-scripts/ferm.vim) +- [fetchmail](https://github.com/vim/vim/tree/master/runtime) +- [fgl](https://github.com/vim/vim/tree/master/runtime) - [fish](https://github.com/georgewitteman/vim-fish) - [flatbuffers](https://github.com/dcharbon/vim-flatbuffers) +- [focexec](https://github.com/vim/vim/tree/master/runtime) - [forth](https://github.com/vim/vim/tree/master/runtime) +- [fortran](https://github.com/vim/vim/tree/master/runtime) +- [framescript](https://github.com/vim/vim/tree/master/runtime) - [freebasic](https://github.com/vim/vim/tree/master/runtime) - [fsharp](https://github.com/ionide/Ionide-vim) +- [fstab](https://github.com/vim/vim/tree/master/runtime) +- [fvwm](https://github.com/vim/vim/tree/master/runtime) +- [gdb](https://github.com/vim/vim/tree/master/runtime) +- [gdmo](https://github.com/vim/vim/tree/master/runtime) - [gdscript](https://github.com/calviken/vim-gdscript3) +- [gedcom](https://github.com/vim/vim/tree/master/runtime) - [git](https://github.com/tpope/vim-git) - [gitignore](https://github.com/fszymanski/fzf-gitignore) +- [gitolite](https://github.com/vim/vim/tree/master/runtime) +- [gkrellmrc](https://github.com/vim/vim/tree/master/runtime) - [glsl](https://github.com/tikhomirov/vim-glsl) - [gmpl](https://github.com/maelvalais/gmpl.vim) +- [gnash](https://github.com/vim/vim/tree/master/runtime) - [gnuplot](https://github.com/vim-scripts/gnuplot-syntax-highlighting) - [go](https://github.com/fatih/vim-go) +- [gp](https://github.com/vim/vim/tree/master/runtime) +- [gpg](https://github.com/vim/vim/tree/master/runtime) - [gradle](https://github.com/tfnico/vim-gradle) +- [grads](https://github.com/vim/vim/tree/master/runtime) - [graphql](https://github.com/jparise/vim-graphql) +- [gretl](https://github.com/vim/vim/tree/master/runtime) - [groovy](https://github.com/vim/vim/tree/master/runtime) +- [group](https://github.com/vim/vim/tree/master/runtime) - [grub](https://github.com/vim/vim/tree/master/runtime) +- [gsp](https://github.com/vim/vim/tree/master/runtime) +- [gtkrc](https://github.com/vim/vim/tree/master/runtime) - [haml](https://github.com/tpope/vim-haml) - [hamster](https://github.com/vim/vim/tree/master/runtime) - [handlebars](https://github.com/mustache/vim-mustache-handlebars) - [haproxy](https://github.com/CH-DanReif/haproxy.vim) - [haskell](https://github.com/neovimhaskell/haskell-vim) +- [haste](https://github.com/vim/vim/tree/master/runtime) +- [hastepreproc](https://github.com/vim/vim/tree/master/runtime) - [haxe](https://github.com/yaymukund/vim-haxe) +- [hb](https://github.com/vim/vim/tree/master/runtime) - [hcl](https://github.com/b4b4r07/vim-hcl) - [helm](https://github.com/towolf/vim-helm) - [help](https://github.com/neovim/neovim/tree/master/runtime) +- [hercules](https://github.com/vim/vim/tree/master/runtime) +- [hex](https://github.com/vim/vim/tree/master/runtime) +- [hgcommit](https://github.com/vim/vim/tree/master/runtime) - [hive](https://github.com/zebradil/hive.vim) +- [hog](https://github.com/vim/vim/tree/master/runtime) +- [hollywood](https://github.com/vim/vim/tree/master/runtime) +- [hostconf](https://github.com/vim/vim/tree/master/runtime) +- [hostsaccess](https://github.com/vim/vim/tree/master/runtime) - [html5](https://github.com/othree/html5.vim) - [htmldjango](https://github.com/vim/vim/tree/master/runtime) +- [htmlm4](https://github.com/vim/vim/tree/master/runtime) +- [httest](https://github.com/vim/vim/tree/master/runtime) - [i3](https://github.com/mboughaba/i3config.vim) - [ibasic](https://github.com/vim/vim/tree/master/runtime) - [icalendar](https://github.com/chutzpah/icalendar.vim) +- [icemenu](https://github.com/vim/vim/tree/master/runtime) +- [icon](https://github.com/vim/vim/tree/master/runtime) - [idris2](https://github.com/edwinb/idris2-vim) - [idris](https://github.com/idris-hackers/idris-vim) +- [indent](https://github.com/vim/vim/tree/master/runtime) +- [inform](https://github.com/vim/vim/tree/master/runtime) +- [initng](https://github.com/vim/vim/tree/master/runtime) +- [inittab](https://github.com/vim/vim/tree/master/runtime) - [ion](https://github.com/vmchale/ion-vim) +- [ipfilter](https://github.com/vim/vim/tree/master/runtime) +- [iss](https://github.com/vim/vim/tree/master/runtime) +- [ist](https://github.com/vim/vim/tree/master/runtime) +- [j](https://github.com/vim/vim/tree/master/runtime) +- [jal](https://github.com/vim/vim/tree/master/runtime) +- [jam](https://github.com/vim/vim/tree/master/runtime) +- [java](https://github.com/vim/vim/tree/master/runtime) +- [javacc](https://github.com/vim/vim/tree/master/runtime) - [javascript-sql](https://github.com/statico/vim-javascript-sql) - [javascript](https://github.com/pangloss/vim-javascript) - [jenkins](https://github.com/martinda/Jenkinsfile-vim-syntax) +- [jess](https://github.com/vim/vim/tree/master/runtime) +- [jgraph](https://github.com/vim/vim/tree/master/runtime) +- [jovial](https://github.com/vim/vim/tree/master/runtime) +- [jproperties](https://github.com/vim/vim/tree/master/runtime) - [jq](https://github.com/vito-c/jq.vim) - [json5](https://github.com/GutenYe/json5.vim) - [json](https://github.com/elzr/vim-json) - [jsonnet](https://github.com/google/vim-jsonnet) +- [jsp](https://github.com/vim/vim/tree/master/runtime) - [jst](https://github.com/briancollins/vim-jst) - [jsx](https://github.com/MaxMEllon/vim-jsx-pretty) - [julia](https://github.com/JuliaEditorSupport/julia-vim) +- [kconfig](https://github.com/vim/vim/tree/master/runtime) +- [kivy](https://github.com/vim/vim/tree/master/runtime) +- [kix](https://github.com/vim/vim/tree/master/runtime) - [kotlin](https://github.com/udalov/kotlin-vim) +- [kscript](https://github.com/vim/vim/tree/master/runtime) +- [kwt](https://github.com/vim/vim/tree/master/runtime) +- [lace](https://github.com/vim/vim/tree/master/runtime) +- [latte](https://github.com/vim/vim/tree/master/runtime) +- [ld](https://github.com/vim/vim/tree/master/runtime) +- [ldif](https://github.com/vim/vim/tree/master/runtime) - [ledger](https://github.com/ledger/vim-ledger) - [less](https://github.com/vim/vim/tree/master/runtime) +- [lex](https://github.com/vim/vim/tree/master/runtime) +- [lftp](https://github.com/vim/vim/tree/master/runtime) +- [lhaskell](https://github.com/vim/vim/tree/master/runtime) +- [libao](https://github.com/vim/vim/tree/master/runtime) +- [lifelines](https://github.com/vim/vim/tree/master/runtime) +- [lilo](https://github.com/vim/vim/tree/master/runtime) - [lilypond](https://github.com/anowlcalledjosh/vim-lilypond) +- [limits](https://github.com/vim/vim/tree/master/runtime) +- [liquid](https://github.com/vim/vim/tree/master/runtime) +- [lisp](https://github.com/vim/vim/tree/master/runtime) +- [lite](https://github.com/vim/vim/tree/master/runtime) +- [litestep](https://github.com/vim/vim/tree/master/runtime) - [livescript](https://github.com/gkz/vim-ls) - [llvm](https://github.com/rhysd/vim-llvm) - [log](https://github.com/MTDL9/vim-log-highlighting) +- [logcheck](https://github.com/vim/vim/tree/master/runtime) +- [loginaccess](https://github.com/vim/vim/tree/master/runtime) +- [logindefs](https://github.com/vim/vim/tree/master/runtime) +- [logtalk](https://github.com/vim/vim/tree/master/runtime) +- [lotos](https://github.com/vim/vim/tree/master/runtime) +- [lout](https://github.com/vim/vim/tree/master/runtime) +- [lpc](https://github.com/vim/vim/tree/master/runtime) +- [lprolog](https://github.com/vim/vim/tree/master/runtime) +- [lsl](https://github.com/vim/vim/tree/master/runtime) +- [lss](https://github.com/vim/vim/tree/master/runtime) - [lua](https://github.com/tbastos/vim-lua) +- [lynx](https://github.com/vim/vim/tree/master/runtime) - [m4](https://github.com/vim/vim/tree/master/runtime) +- [mail](https://github.com/vim/vim/tree/master/runtime) +- [mailaliases](https://github.com/vim/vim/tree/master/runtime) +- [mailcap](https://github.com/vim/vim/tree/master/runtime) - [mako](https://github.com/sophacles/vim-bundle-mako) +- [mallard](https://github.com/vim/vim/tree/master/runtime) +- [man](https://github.com/vim/vim/tree/master/runtime) +- [manconf](https://github.com/vim/vim/tree/master/runtime) +- [map](https://github.com/vim/vim/tree/master/runtime) +- [maple](https://github.com/vim/vim/tree/master/runtime) - [markdown](https://github.com/plasticboy/vim-markdown) +- [master](https://github.com/vim/vim/tree/master/runtime) - [mathematica](https://github.com/voldikss/vim-mma) - [mdx](https://github.com/jxnblk/vim-mdx-js) +- [mel](https://github.com/vim/vim/tree/master/runtime) - [meson](https://github.com/mesonbuild/meson/tree/master/data/syntax-highlighting/vim) +- [messages](https://github.com/vim/vim/tree/master/runtime) +- [mf](https://github.com/vim/vim/tree/master/runtime) +- [mgl](https://github.com/vim/vim/tree/master/runtime) +- [mgp](https://github.com/vim/vim/tree/master/runtime) +- [mib](https://github.com/vim/vim/tree/master/runtime) +- [mix](https://github.com/vim/vim/tree/master/runtime) +- [mmp](https://github.com/vim/vim/tree/master/runtime) +- [modconf](https://github.com/vim/vim/tree/master/runtime) +- [modula2](https://github.com/vim/vim/tree/master/runtime) +- [modula3](https://github.com/vim/vim/tree/master/runtime) +- [monk](https://github.com/vim/vim/tree/master/runtime) +- [moo](https://github.com/vim/vim/tree/master/runtime) - [moonscript](https://github.com/leafo/moonscript-vim) +- [mp](https://github.com/vim/vim/tree/master/runtime) +- [mplayerconf](https://github.com/vim/vim/tree/master/runtime) +- [mrxvtrc](https://github.com/vim/vim/tree/master/runtime) +- [msidl](https://github.com/vim/vim/tree/master/runtime) +- [msql](https://github.com/vim/vim/tree/master/runtime) +- [mupad](https://github.com/vim/vim/tree/master/runtime) - [murphi](https://github.com/vim/vim/tree/master/runtime) +- [mush](https://github.com/vim/vim/tree/master/runtime) +- [muttrc](https://github.com/vim/vim/tree/master/runtime) +- [mysql](https://github.com/vim/vim/tree/master/runtime) +- [n1ql](https://github.com/vim/vim/tree/master/runtime) +- [named](https://github.com/vim/vim/tree/master/runtime) +- [nanorc](https://github.com/vim/vim/tree/master/runtime) +- [natural](https://github.com/vim/vim/tree/master/runtime) +- [ncf](https://github.com/vim/vim/tree/master/runtime) +- [neomuttrc](https://github.com/vim/vim/tree/master/runtime) +- [netrc](https://github.com/vim/vim/tree/master/runtime) - [nginx](https://github.com/chr4/nginx.vim) - [nim](https://github.com/zah/nim.vim) +- [ninja](https://github.com/vim/vim/tree/master/runtime) - [nix](https://github.com/LnL7/vim-nix) +- [nqc](https://github.com/vim/vim/tree/master/runtime) +- [nroff](https://github.com/vim/vim/tree/master/runtime) +- [nsis](https://github.com/vim/vim/tree/master/runtime) +- [obj](https://github.com/vim/vim/tree/master/runtime) - [objc](https://github.com/b4winckler/vim-objc) - [ocaml](https://github.com/rgrinberg/vim-ocaml) +- [occam](https://github.com/vim/vim/tree/master/runtime) - [octave](https://github.com/McSinyx/vim-octave) - [odin](https://github.com/Tetralux/odin.vim) +- [omnimark](https://github.com/vim/vim/tree/master/runtime) - [opencl](https://github.com/petRUShka/vim-opencl) +- [openroad](https://github.com/vim/vim/tree/master/runtime) +- [opl](https://github.com/vim/vim/tree/master/runtime) +- [ora](https://github.com/vim/vim/tree/master/runtime) +- [pamconf](https://github.com/vim/vim/tree/master/runtime) +- [pamenv](https://github.com/vim/vim/tree/master/runtime) +- [papp](https://github.com/vim/vim/tree/master/runtime) +- [pascal](https://github.com/vim/vim/tree/master/runtime) +- [passwd](https://github.com/vim/vim/tree/master/runtime) +- [pccts](https://github.com/vim/vim/tree/master/runtime) +- [pcmk](https://github.com/vim/vim/tree/master/runtime) +- [pdf](https://github.com/vim/vim/tree/master/runtime) - [perl](https://github.com/vim-perl/vim-perl) +- [pf](https://github.com/vim/vim/tree/master/runtime) +- [pfmain](https://github.com/vim/vim/tree/master/runtime) - [pgsql](https://github.com/lifepillar/pgsql.vim) - [php](https://github.com/StanAngeloff/php.vim) +- [pike](https://github.com/vim/vim/tree/master/runtime) +- [pilrc](https://github.com/vim/vim/tree/master/runtime) +- [pine](https://github.com/vim/vim/tree/master/runtime) +- [pinfo](https://github.com/vim/vim/tree/master/runtime) - [plantuml](https://github.com/aklt/plantuml-syntax) +- [pli](https://github.com/vim/vim/tree/master/runtime) +- [plm](https://github.com/vim/vim/tree/master/runtime) +- [plp](https://github.com/vim/vim/tree/master/runtime) +- [plsql](https://github.com/vim/vim/tree/master/runtime) +- [po](https://github.com/vim/vim/tree/master/runtime) - [pony](https://github.com/jakwings/vim-pony) +- [postscr](https://github.com/vim/vim/tree/master/runtime) +- [pov](https://github.com/vim/vim/tree/master/runtime) +- [povini](https://github.com/vim/vim/tree/master/runtime) - [powershell](https://github.com/PProvost/vim-ps1) +- [ppd](https://github.com/vim/vim/tree/master/runtime) +- [ppwiz](https://github.com/vim/vim/tree/master/runtime) +- [privoxy](https://github.com/vim/vim/tree/master/runtime) +- [proc](https://github.com/vim/vim/tree/master/runtime) +- [procmail](https://github.com/vim/vim/tree/master/runtime) - [prolog](https://github.com/vim/vim/tree/master/runtime) +- [promela](https://github.com/vim/vim/tree/master/runtime) - [protobuf](https://github.com/uarun/vim-protobuf) +- [protocols](https://github.com/vim/vim/tree/master/runtime) +- [psf](https://github.com/vim/vim/tree/master/runtime) - [pug](https://github.com/digitaltoad/vim-pug) +- [pullrequest](https://github.com/vim/vim/tree/master/runtime) - [puppet](https://github.com/rodjek/vim-puppet) - [purescript](https://github.com/purescript-contrib/purescript-vim) +- [pyrex](https://github.com/vim/vim/tree/master/runtime) - [python-compiler](https://github.com/aliev/vim-compiler-python) - [python-indent](https://github.com/Vimjas/vim-python-pep8-indent) - [python](https://github.com/vim-python/python-syntax) - [qmake](https://github.com/artoj/qmake-syntax-vim) - [qml](https://github.com/peterhoeg/vim-qml) +- [quake](https://github.com/vim/vim/tree/master/runtime) - [r-lang](https://github.com/vim-scripts/R.vim) - [racket](https://github.com/wlangstroth/vim-racket) +- [radiance](https://github.com/vim/vim/tree/master/runtime) - [ragel](https://github.com/jneen/ragel.vim) - [raku](https://github.com/Raku/vim-raku) - [raml](https://github.com/IN3D/vim-raml) +- [ratpoison](https://github.com/vim/vim/tree/master/runtime) - [razor](https://github.com/adamclerk/vim-razor) +- [rc](https://github.com/vim/vim/tree/master/runtime) +- [rcs](https://github.com/vim/vim/tree/master/runtime) +- [readline](https://github.com/vim/vim/tree/master/runtime) - [reason](https://github.com/reasonml-editor/vim-reason-plus) +- [rego](https://github.com/vim/vim/tree/master/runtime) +- [remind](https://github.com/vim/vim/tree/master/runtime) - [requirements](https://github.com/raimon49/requirements.txt.vim) +- [resolv](https://github.com/vim/vim/tree/master/runtime) +- [reva](https://github.com/vim/vim/tree/master/runtime) +- [rexx](https://github.com/vim/vim/tree/master/runtime) +- [rib](https://github.com/vim/vim/tree/master/runtime) +- [rmd](https://github.com/vim/vim/tree/master/runtime) +- [rnc](https://github.com/vim/vim/tree/master/runtime) +- [rng](https://github.com/vim/vim/tree/master/runtime) +- [rnoweb](https://github.com/vim/vim/tree/master/runtime) +- [robots](https://github.com/vim/vim/tree/master/runtime) +- [rpcgen](https://github.com/vim/vim/tree/master/runtime) +- [rpl](https://github.com/vim/vim/tree/master/runtime) +- [rrst](https://github.com/vim/vim/tree/master/runtime) - [rspec](https://github.com/keith/rspec.vim) - [rst](https://github.com/marshallward/vim-restructuredtext) +- [rtf](https://github.com/vim/vim/tree/master/runtime) - [ruby](https://github.com/vim-ruby/vim-ruby) - [rust](https://github.com/rust-lang/rust.vim) +- [samba](https://github.com/vim/vim/tree/master/runtime) +- [sas](https://github.com/vim/vim/tree/master/runtime) +- [sass](https://github.com/vim/vim/tree/master/runtime) +- [sather](https://github.com/vim/vim/tree/master/runtime) - [sbt](https://github.com/derekwyatt/vim-sbt) - [scala](https://github.com/derekwyatt/vim-scala) +- [scheme](https://github.com/vim/vim/tree/master/runtime) +- [scilab](https://github.com/vim/vim/tree/master/runtime) +- [screen](https://github.com/vim/vim/tree/master/runtime) - [scss](https://github.com/cakebaker/scss-syntax.vim) +- [sd](https://github.com/vim/vim/tree/master/runtime) +- [sdc](https://github.com/vim/vim/tree/master/runtime) +- [sdl](https://github.com/vim/vim/tree/master/runtime) +- [sed](https://github.com/vim/vim/tree/master/runtime) +- [sensors](https://github.com/vim/vim/tree/master/runtime) +- [services](https://github.com/vim/vim/tree/master/runtime) +- [setserial](https://github.com/vim/vim/tree/master/runtime) - [sh](https://github.com/arzg/vim-sh) +- [sieve](https://github.com/vim/vim/tree/master/runtime) +- [sil](https://github.com/vim/vim/tree/master/runtime) +- [simula](https://github.com/vim/vim/tree/master/runtime) +- [sinda](https://github.com/vim/vim/tree/master/runtime) +- [sisu](https://github.com/vim/vim/tree/master/runtime) +- [skill](https://github.com/vim/vim/tree/master/runtime) +- [slang](https://github.com/vim/vim/tree/master/runtime) +- [slice](https://github.com/vim/vim/tree/master/runtime) - [slim](https://github.com/slim-template/vim-slim) - [slime](https://github.com/slime-lang/vim-slime-syntax) +- [slpconf](https://github.com/vim/vim/tree/master/runtime) +- [slpreg](https://github.com/vim/vim/tree/master/runtime) +- [slpspi](https://github.com/vim/vim/tree/master/runtime) +- [slrnrc](https://github.com/vim/vim/tree/master/runtime) +- [slrnsc](https://github.com/vim/vim/tree/master/runtime) +- [sm](https://github.com/vim/vim/tree/master/runtime) +- [smarty](https://github.com/vim/vim/tree/master/runtime) +- [smcl](https://github.com/vim/vim/tree/master/runtime) +- [smith](https://github.com/vim/vim/tree/master/runtime) +- [sml](https://github.com/vim/vim/tree/master/runtime) - [smt2](https://github.com/bohlender/vim-smt2) +- [snobol4](https://github.com/vim/vim/tree/master/runtime) - [solidity](https://github.com/tomlion/vim-solidity) +- [spec](https://github.com/vim/vim/tree/master/runtime) +- [spice](https://github.com/vim/vim/tree/master/runtime) +- [spup](https://github.com/vim/vim/tree/master/runtime) +- [spyce](https://github.com/vim/vim/tree/master/runtime) - [sql](https://github.com/vim/vim/tree/master/runtime) +- [sqlj](https://github.com/vim/vim/tree/master/runtime) +- [sqr](https://github.com/vim/vim/tree/master/runtime) +- [squid](https://github.com/vim/vim/tree/master/runtime) +- [srec](https://github.com/vim/vim/tree/master/runtime) +- [sshconfig](https://github.com/vim/vim/tree/master/runtime) +- [sshdconfig](https://github.com/vim/vim/tree/master/runtime) +- [st](https://github.com/vim/vim/tree/master/runtime) +- [stata](https://github.com/vim/vim/tree/master/runtime) +- [stp](https://github.com/vim/vim/tree/master/runtime) - [stylus](https://github.com/wavded/vim-stylus) +- [sudoers](https://github.com/vim/vim/tree/master/runtime) - [svelte](https://github.com/evanleck/vim-svelte/tree/main) - [svg-indent](https://github.com/jasonshell/vim-svg-indent) - [svg](https://github.com/vim-scripts/svg.vim) +- [svn](https://github.com/vim/vim/tree/master/runtime) - [swift](https://github.com/keith/swift.vim) +- [swiftgyb](https://github.com/vim/vim/tree/master/runtime) - [sxhkd](https://github.com/baskerville/vim-sxhkdrc) +- [sysctl](https://github.com/vim/vim/tree/master/runtime) - [systemd](https://github.com/wgwoods/vim-systemd-syntax) +- [systemverilog](https://github.com/vim/vim/tree/master/runtime) - [tads](https://github.com/vim/vim/tree/master/runtime) +- [tags](https://github.com/vim/vim/tree/master/runtime) +- [tak](https://github.com/vim/vim/tree/master/runtime) +- [taskdata](https://github.com/vim/vim/tree/master/runtime) +- [taskedit](https://github.com/vim/vim/tree/master/runtime) +- [tcl](https://github.com/vim/vim/tree/master/runtime) +- [template](https://github.com/vim/vim/tree/master/runtime) +- [teraterm](https://github.com/vim/vim/tree/master/runtime) +- [terminfo](https://github.com/vim/vim/tree/master/runtime) - [terraform](https://github.com/hashivim/vim-terraform) +- [tex](https://github.com/vim/vim/tree/master/runtime) +- [texinfo](https://github.com/vim/vim/tree/master/runtime) +- [texmf](https://github.com/vim/vim/tree/master/runtime) +- [text](https://github.com/vim/vim/tree/master/runtime) - [textile](https://github.com/timcharper/textile.vim) +- [tf](https://github.com/vim/vim/tree/master/runtime) - [thrift](https://github.com/solarnz/thrift.vim) +- [tidy](https://github.com/vim/vim/tree/master/runtime) +- [tilde](https://github.com/vim/vim/tree/master/runtime) +- [tli](https://github.com/vim/vim/tree/master/runtime) - [tmux](https://github.com/ericpruitt/tmux.vim/tree/master/vim) - [toml](https://github.com/cespare/vim-toml) +- [tpp](https://github.com/vim/vim/tree/master/runtime) - [tptp](https://github.com/c-cube/vim-tptp) - [trasys](https://github.com/vim/vim/tree/master/runtime) +- [treetop](https://github.com/vim/vim/tree/master/runtime) +- [trustees](https://github.com/vim/vim/tree/master/runtime) +- [tsalt](https://github.com/vim/vim/tree/master/runtime) +- [tsscl](https://github.com/vim/vim/tree/master/runtime) +- [tssgm](https://github.com/vim/vim/tree/master/runtime) +- [tssop](https://github.com/vim/vim/tree/master/runtime) - [twig](https://github.com/lumiliet/vim-twig) - [typescript](https://github.com/HerringtonDarkholme/yats.vim) +- [uc](https://github.com/vim/vim/tree/master/runtime) +- [udevconf](https://github.com/vim/vim/tree/master/runtime) +- [udevperm](https://github.com/vim/vim/tree/master/runtime) +- [uil](https://github.com/vim/vim/tree/master/runtime) - [unison](https://github.com/unisonweb/unison/tree/trunk/editor-support/vim) +- [updatedb](https://github.com/vim/vim/tree/master/runtime) +- [upstart](https://github.com/vim/vim/tree/master/runtime) +- [upstreamdat](https://github.com/vim/vim/tree/master/runtime) +- [upstreaminstalllog](https://github.com/vim/vim/tree/master/runtime) +- [upstreamlog](https://github.com/vim/vim/tree/master/runtime) +- [usserverlog](https://github.com/vim/vim/tree/master/runtime) +- [usw2kagtlog](https://github.com/vim/vim/tree/master/runtime) - [v](https://github.com/ollykel/v-vim) - [vala](https://github.com/arrufat/vala.vim) - [vbnet](https://github.com/vim-scripts/vbnet.vim) - [vcl](https://github.com/smerrill/vcl-vim-plugin) - [velocity](https://github.com/lepture/vim-velocity) +- [vera](https://github.com/vim/vim/tree/master/runtime) +- [verilog](https://github.com/vim/vim/tree/master/runtime) +- [verilogams](https://github.com/vim/vim/tree/master/runtime) +- [vgrindefs](https://github.com/vim/vim/tree/master/runtime) +- [vhdl](https://github.com/vim/vim/tree/master/runtime) +- [vim](https://github.com/vim/vim/tree/master/runtime) +- [viminfo](https://github.com/vim/vim/tree/master/runtime) - [visual-basic](https://github.com/vim/vim/tree/master/runtime) - [vmasm](https://github.com/vim/vim/tree/master/runtime) +- [voscm](https://github.com/vim/vim/tree/master/runtime) +- [vrml](https://github.com/vim/vim/tree/master/runtime) +- [vroom](https://github.com/vim/vim/tree/master/runtime) - [vue](https://github.com/posva/vim-vue) +- [wast](https://github.com/vim/vim/tree/master/runtime) +- [webmacro](https://github.com/vim/vim/tree/master/runtime) +- [wget](https://github.com/vim/vim/tree/master/runtime) +- [winbatch](https://github.com/vim/vim/tree/master/runtime) +- [wml](https://github.com/vim/vim/tree/master/runtime) +- [wsh](https://github.com/vim/vim/tree/master/runtime) +- [wsml](https://github.com/vim/vim/tree/master/runtime) +- [wvdial](https://github.com/vim/vim/tree/master/runtime) - [xdc](https://github.com/amal-khailtash/vim-xdc-syntax) +- [xdefaults](https://github.com/vim/vim/tree/master/runtime) +- [xhtml](https://github.com/vim/vim/tree/master/runtime) +- [xinetd](https://github.com/vim/vim/tree/master/runtime) +- [xmath](https://github.com/vim/vim/tree/master/runtime) - [xml](https://github.com/amadeus/vim-xml) +- [xmodmap](https://github.com/vim/vim/tree/master/runtime) +- [xquery](https://github.com/vim/vim/tree/master/runtime) +- [xsd](https://github.com/vim/vim/tree/master/runtime) - [xsl](https://github.com/vim-scripts/XSLT-syntax) +- [xslt](https://github.com/vim/vim/tree/master/runtime) +- [yacc](https://github.com/vim/vim/tree/master/runtime) - [yaml](https://github.com/vim/vim/tree/df44a27b53586fccfc6a3aedc89061fdd9a515ff/runtime) - [yard](https://github.com/noprompt/vim-yardoc) +- [z8a](https://github.com/vim/vim/tree/master/runtime) - [zephir](https://github.com/xwsoul/vim-zephir) - [zig](https://github.com/ziglang/zig.vim) +- [zimbu](https://github.com/vim/vim/tree/master/runtime) +- [zimbutempl](https://github.com/vim/vim/tree/master/runtime) - [zinit](https://github.com/zinit-zsh/zplugin-vim-syntax) diff --git a/autoload/context.vim b/autoload/context.vim new file mode 100644 index 00000000..43786463 --- /dev/null +++ b/autoload/context.vim @@ -0,0 +1,188 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'context') == -1 + +" Language: ConTeXt typesetting engine +" Maintainer: Nicola Vitacolonna +" Latest Revision: 2016 Oct 21 + +let s:keepcpo= &cpo +set cpo&vim + +" Helper functions {{{ +function! s:context_echo(message, mode) + redraw + echo "\r" + execute 'echohl' a:mode + echomsg '[ConTeXt]' a:message + echohl None +endf + +function! s:sh() + return has('win32') || has('win64') || has('win16') || has('win95') + \ ? ['cmd.exe', '/C'] + \ : ['/bin/sh', '-c'] +endfunction + +" For backward compatibility +if exists('*win_getid') + + function! s:win_getid() + return win_getid() + endf + + function! s:win_id2win(winid) + return win_id2win(a:winid) + endf + +else + + function! s:win_getid() + return winnr() + endf + + function! s:win_id2win(winnr) + return a:winnr + endf + +endif +" }}} + +" ConTeXt jobs {{{ +if has('job') + + let g:context_jobs = [] + + " Print the status of ConTeXt jobs + function! context#job_status() + let l:jobs = filter(g:context_jobs, 'job_status(v:val) == "run"') + let l:n = len(l:jobs) + call s:context_echo( + \ 'There '.(l:n == 1 ? 'is' : 'are').' '.(l:n == 0 ? 'no' : l:n) + \ .' job'.(l:n == 1 ? '' : 's').' running' + \ .(l:n == 0 ? '.' : ' (' . join(l:jobs, ', ').').'), + \ 'ModeMsg') + endfunction + + " Stop all ConTeXt jobs + function! context#stop_jobs() + let l:jobs = filter(g:context_jobs, 'job_status(v:val) == "run"') + for job in l:jobs + call job_stop(job) + endfor + sleep 1 + let l:tmp = [] + for job in l:jobs + if job_status(job) == "run" + call add(l:tmp, job) + endif + endfor + let g:context_jobs = l:tmp + if empty(g:context_jobs) + call s:context_echo('Done. No jobs running.', 'ModeMsg') + else + call s:context_echo('There are still some jobs running. Please try again.', 'WarningMsg') + endif + endfunction + + function! context#callback(path, job, status) + if index(g:context_jobs, a:job) != -1 && job_status(a:job) != 'run' " just in case + call remove(g:context_jobs, index(g:context_jobs, a:job)) + endif + call s:callback(a:path, a:job, a:status) + endfunction + + function! context#close_cb(channel) + call job_status(ch_getjob(a:channel)) " Trigger exit_cb's callback for faster feedback + endfunction + + function! s:typeset(path) + call add(g:context_jobs, + \ job_start(add(s:sh(), context#command() . ' ' . shellescape(fnamemodify(a:path, ":t"))), { + \ 'close_cb' : 'context#close_cb', + \ 'exit_cb' : function(get(b:, 'context_callback', get(g:, 'context_callback', 'context#callback')), + \ [a:path]), + \ 'in_io' : 'null' + \ })) + endfunction + +else " No jobs + + function! context#job_status() + call s:context_echo('Not implemented', 'WarningMsg') + endfunction! + + function! context#stop_jobs() + call s:context_echo('Not implemented', 'WarningMsg') + endfunction + + function! context#callback(path, job, status) + call s:callback(a:path, a:job, a:status) + endfunction + + function! s:typeset(path) + execute '!' . context#command() . ' ' . shellescape(fnamemodify(a:path, ":t")) + call call(get(b:, 'context_callback', get(g:, 'context_callback', 'context#callback')), + \ [a:path, 0, v:shell_error]) + endfunction + +endif " has('job') + +function! s:callback(path, job, status) abort + if a:status < 0 " Assume the job was terminated + return + endif + " Get info about the current window + let l:winid = s:win_getid() " Save window id + let l:efm = &l:errorformat " Save local errorformat + let l:cwd = fnamemodify(getcwd(), ":p") " Save local working directory + " Set errorformat to parse ConTeXt errors + execute 'setl efm=' . escape(b:context_errorformat, ' ') + try " Set cwd to expand error file correctly + execute 'lcd' fnameescape(fnamemodify(a:path, ':h')) + catch /.*/ + execute 'setl efm=' . escape(l:efm, ' ') + throw v:exception + endtry + try + execute 'cgetfile' fnameescape(fnamemodify(a:path, ':r') . '.log') + botright cwindow + finally " Restore cwd and errorformat + execute s:win_id2win(l:winid) . 'wincmd w' + execute 'lcd ' . fnameescape(l:cwd) + execute 'setl efm=' . escape(l:efm, ' ') + endtry + if a:status == 0 + call s:context_echo('Success!', 'ModeMsg') + else + call s:context_echo('There are errors. ', 'ErrorMsg') + endif +endfunction + +function! context#command() + return get(b:, 'context_mtxrun', get(g:, 'context_mtxrun', 'mtxrun')) + \ . ' --script context --autogenerate --nonstopmode' + \ . ' --synctex=' . (get(b:, 'context_synctex', get(g:, 'context_synctex', 0)) ? '1' : '0') + \ . ' ' . get(b:, 'context_extra_options', get(g:, 'context_extra_options', '')) +endfunction + +" Accepts an optional path (useful for big projects, when the file you are +" editing is not the project's root document). If no argument is given, uses +" the path of the current buffer. +function! context#typeset(...) abort + let l:path = fnamemodify(strlen(a:000[0]) > 0 ? a:1 : expand("%"), ":p") + let l:cwd = fnamemodify(getcwd(), ":p") " Save local working directory + call s:context_echo('Typesetting...', 'ModeMsg') + execute 'lcd' fnameescape(fnamemodify(l:path, ":h")) + try + call s:typeset(l:path) + finally " Restore local working directory + execute 'lcd ' . fnameescape(l:cwd) + endtry +endfunction! +"}}} + +let &cpo = s:keepcpo +unlet s:keepcpo + +" vim: sw=2 fdm=marker + +endif diff --git a/autoload/polyglot/sleuth.vim b/autoload/polyglot/sleuth.vim index e2e37100..db1c70d1 100644 --- a/autoload/polyglot/sleuth.vim +++ b/autoload/polyglot/sleuth.vim @@ -18,6 +18,7 @@ let s:globs = { \ 'ampl': '*.run', \ 'ant': 'build.xml', \ 'apache': '.htaccess,access.conf*,apache.conf*,apache2.conf*,httpd.conf*,srm.conf*', + \ 'apachestyle': 'proftpd.conf*', \ 'apiblueprint': '*.apib', \ 'applescript': '*.applescript,*.scpt', \ 'aptconf': 'apt.conf', @@ -29,209 +30,592 @@ let s:globs = { \ 'asn': '*.asn,*.asn1', \ 'aspperl': '*.asp', \ 'aspvbs': '*.asa,*.asp', + \ 'asterisk': '', + \ 'asteriskvm': '', \ 'atlas': '*.atl,*.as', \ 'autohotkey': '*.ahk,*.ahkl', \ 'autoit': '*.au3', - \ 'automake': '[Mm]akefile.am,GNUmakefile.am', + \ 'automake': '*.mak,*.dsp,*.mk,Makefile.am,makefile.am,GNUmakefile.am', \ 'ave': '*.ave', \ 'awk': '*.awk,*.gawk', \ 'b': '*.mch,*.ref,*.imp', \ 'basic': '*.basic', + \ 'bc': '*.bc', + \ 'bdf': '*.bdf', + \ 'bib': '*.bib', + \ 'bindzone': 'named.root', \ 'blade': '*.blade,*.blade.php', + \ 'blank': '*.bl', \ 'brewfile': 'Brewfile', + \ 'bsdl': '*.bsdl,*bsd', + \ 'bst': '*.bst', \ 'bzl': '*.bzl,*.bazel,*.BUILD,BUCK,BUILD,BUILD.bazel,Tiltfile,WORKSPACE', + \ 'bzr': 'bzr_log.*', \ 'c': '*.c,*.cats,*.h,*.idc,*.qc', + \ 'cabal': '*.cabal', \ 'caddyfile': 'Caddyfile', + \ 'calendar': 'calendar', \ 'carp': '*.carp', + \ 'catalog': 'catalog,sgml.catalog*', + \ 'cdl': '*.cdl', + \ 'cdrdaoconf': '.cdrdao', + \ 'cdrtoc': '*.toc', + \ 'cf': '*.cfm,*.cfi,*.cfc', + \ 'cfengine': 'cfengine.conf', + \ 'cfg': '*.cfg,*.hgrc,*hgrc', + \ 'ch': '*.chf', + \ 'chaiscript': '*.chai', + \ 'chaskell': '*.chs', + \ 'chill': '*..ch', + \ 'chordpro': '*.chopro,*.crd,*.cho,*.crdpro,*.chordpro', + \ 'cl': '*.eni', + \ 'clean': '*.dcl,*.icl', \ 'clojure': '*.clj,*.boot,*.cl2,*.cljc,*.cljs,*.cljs.hl,*.cljscm,*.cljx,*.hic,*.edn,riemann.config,build.boot,profile.boot', \ 'cmake': '*.cmake,*.cmake.in,CMakeLists.txt', + \ 'cmod': '*.cmod', + \ 'cmusrc': '', + \ 'cobol': '*.cbl,*.cob,*.lib', + \ 'coco': '*.atg', \ 'coffee': '*.coffee,*._coffee,*.cake,*.cjsx,*.iced,*.coffeekup,Cakefile', + \ 'conaryrecipe': '*.recipe', \ 'conf': '*.conf,auto.master,config', + \ 'config': 'configure.in,configure.ac,Pipfile', + \ 'context': '*.mkii,*.mkiv,*.mkvi', \ 'cpp': '*.cpp,*.c++,*.cc,*.cp,*.cxx,*.h,*.h++,*.hh,*.hpp,*.hxx,*.inc,*.inl,*.ipp,*.tcc,*.tpp,*.moc,*.tlh', \ 'cql': '*.cql', + \ 'crm': '*.crm', + \ 'crontab': 'crontab,crontab.*', \ 'cryptol': '*.cry,*.cyl,*.lcry,*.lcyl', \ 'crystal': '*.cr,Projectfile', + \ 'cs': '*.cs', + \ 'csc': '*.csc', + \ 'csdl': '*.csdl', + \ 'csp': '*.csp,*.fdr', + \ 'css': '*.css', \ 'csv': '*.csv,*.tsv,*.tab', + \ 'cterm': '*.con', \ 'cucumber': '*.feature,*.story', + \ 'cuda': '*.cu,*.cuh', \ 'cuesheet': '*.cue', + \ 'cupl': '*.pld', + \ 'cuplsim': '*.si', + \ 'cvs': 'cvs\d\+', + \ 'cvsrc': '.cvsrc', + \ 'cynpp': '*.cyn', \ 'd': '*.d,*.di', \ 'dart': '*.dart,*.drt', + \ 'datascript': '*.ds', + \ 'dcd': '*.dcd', \ 'dcov': '*.lst', \ 'dd': '*.dd', \ 'ddoc': '*.ddoc', + \ 'debchangelog': 'changelog.Debian,changelog.dch,NEWS.Debian,NEWS.dch', + \ 'debcontrol': '', + \ 'debcopyright': '', + \ 'debsources': '', + \ 'def': '*.def', + \ 'denyhosts': 'denyhosts.conf', + \ 'desc': '*.desc', + \ 'desktop': '*.desktop,*.directory', \ 'dhall': '*.dhall', + \ 'dictconf': 'dict.conf,.dictrc', + \ 'dictdconf': 'dictd.conf', + \ 'diff': '*.diff,*.rej', + \ 'dircolors': '.dir_colors,.dircolors', + \ 'dnsmasq': '', + \ 'dosbatch': '*.bat,*.sys', \ 'dosini': '*.wrap,*.ini,*.dof,*.lektorproject,*.prefs,*.pro,*.properties,buildozer.spec,.editorconfig,.npmrc,php.ini-*', + \ 'dot': '*.dot,*.gv', + \ 'dracula': '*.drac,*.drc,*lvs,*lpe,drac.*', \ 'dsdl': '*.sdl', + \ 'dsl': '*.dsl', + \ 'dtd': '*.dtd', + \ 'dts': '*.dts,*.dtsi', \ 'dune': 'jbuild,dune,dune-project,dune-workspace', + \ 'dylan': '*.dylan', + \ 'dylanintr': '*.intr', + \ 'dylanlid': '*.lid', + \ 'ecd': '*.ecd', \ 'ecrystal': '*.ecr', + \ 'edif': '*.ed\(f\|if\|o\)', \ 'eelixir': '*.eex,*.leex', \ 'elf': '*.am', + \ 'elinks': 'elinks.conf', \ 'elixir': '*.ex,*.exs,mix.lock', \ 'elm': '*.elm', + \ 'elmfilt': 'filter-rules', \ 'embeddedpuppet': '*.epp', \ 'ember-script': '*.em,*.emberscript', \ 'emblem': '*.emblem,*.em', \ 'erlang': '*.erl,*.app.src,*.es,*.escript,*.hrl,*.xrl,*.yrl,*.app,*.yaws,Emakefile,rebar.config,rebar.config.lock,rebar.lock', \ 'eruby': '*.erb,*.erb.deface,*.rhtml', + \ 'esmtprc': '*esmtprc', + \ 'esqlc': '*.ec,*.EC', + \ 'esterel': '*.strl', + \ 'eterm': '', + \ 'exim': 'exim.conf', + \ 'expect': '*.exp', + \ 'exports': 'exports', + \ 'factor': '*.factor', + \ 'falcon': '*.fal', + \ 'fan': '*.fan,*.fwt', \ 'fbs': '*.fbs', \ 'fennel': '*.fnl', \ 'ferm': '*.ferm,ferm.conf', + \ 'fetchmail': '.fetchmailrc', + \ 'fgl': '*.4gl,*.4gh,*.m4gl', \ 'fish': '*.fish', \ 'flow': '*.flow', + \ 'focexec': '*.fex,*.focexec', \ 'forth': '*.fs,*.ft,*.fth', + \ 'fortran': '*.f,*.for,*.fortran,*.fpp,*.ftn,*.f77,*.f90,*.f95,*.f03,*.f08', + \ 'framescript': '*.fsl', \ 'freebasic': '*.fb,*.bi', \ 'fsharp': '*.fs,*.fsi,*.fsx', + \ 'fstab': 'fstab,mtab', + \ 'fvwm': '', + \ 'gdb': '.gdbinit', + \ 'gdmo': '*.mo,*.gdmo', \ 'gdscript3': '*.gd', + \ 'gedcom': '*.ged,lltxxxxx.txt', \ 'gitcommit': 'COMMIT_EDITMSG,MERGE_MSG,TAG_EDITMSG', \ 'gitconfig': '*.gitconfig,.gitconfig,.gitmodules', \ 'gitignore': '.gitignore', + \ 'gitolite': 'gitolite.conf', \ 'gitrebase': 'git-rebase-todo', \ 'gitsendemail': '.gitsendemail.*', + \ 'gkrellmrc': 'gkrellmrc,gkrellmrc_?', \ 'glsl': '*.glsl,*.fp,*.frag,*.frg,*.fs,*.fsh,*.fshader,*.geo,*.geom,*.glslf,*.glslv,*.gs,*.gshader,*.shader,*.tesc,*.tese,*.vert,*.vrx,*.vsh,*.vshader,*.comp', \ 'gmpl': '*.mod', + \ 'gnash': 'gnashrc,.gnashrc,gnashpluginrc,.gnashpluginrc', \ 'gnuplot': '*.gp,*.gnu,*.gnuplot,*.p,*.plot,*.plt,*.gpi', \ 'go': '*.go', \ 'gohtmltmpl': '*.tmpl', \ 'gomod': 'go.mod', + \ 'gp': '*.gp,.gprc', + \ 'gpg': '', + \ 'grads': '*.gs', \ 'graphql': '*.graphql,*.gql,*.graphqls', + \ 'gretl': '*.gretl', \ 'groovy': '*.groovy,*.grt,*.gtpl,*.gvy,*.gradle,Jenkinsfile', + \ 'group': '', \ 'grub': '', + \ 'gsp': '*.gsp', + \ 'gtkrc': '.gtkrc,gtkrc,.gtkrc*,gtkrc*', \ 'haml': '*.haml,*.haml.deface,*.hamlc,*.hamlbars', \ 'hamster': '*.hsc,*.hsm', \ 'haproxy': '*.cfg,haproxy.cfg,haproxy*.conf*', \ 'haskell': '*.hs,*.hs-boot,*.hsc,*.bpk,*.hsig', + \ 'haste': '*.ht', + \ 'hastepreproc': '*.htpp', \ 'haxe': '*.hx,*.hxsl', + \ 'hb': '*.hb', \ 'hcl': '*.hcl,*.nomad,*.workflow,Appfile', \ 'helm': '', \ 'help': '', + \ 'hercules': '*.vc,*.ev,*.sum,*.errsum', + \ 'hex': '*.hex,*.h32', + \ 'hgcommit': 'hg-editor-*.txt', \ 'hive': '*.q,*.hql,*.ql', + \ 'hog': '*.hog,snort.conf,vision.conf', + \ 'hollywood': '*.hws', + \ 'hostconf': '', + \ 'hostsaccess': '', \ 'html': '*.html,*.htm,*.html.hl,*.inc,*.st,*.xht,*.xhtml', \ 'html.handlebars': '*.handlebars,*.hbs,*.hdbs,*.hb', \ 'html.mustache': '*.mustache,*.hogan,*.hulk,*.hjs', \ 'html.twig': '*.twig', \ 'htmldjango': '*.jinja,*.j2,*.jinja2,*.njk', + \ 'htmlm4': '*.html.m4', + \ 'httest': '*.htt,*.htb', \ 'i3config': '*.i3.config,*.i3config,i3.config,i3config,.i3.config,.i3config', \ 'ibasic': '*.iba,*.ibi', \ 'icalendar': '*.ics', + \ 'icemenu': '', + \ 'icon': '*.icn', \ 'idris': '*.idr,*.lidr,idris-response', \ 'idris2': '*.idr,*.ipkg,idris-response', + \ 'indent': '.indent.pro,indentrc', + \ 'inform': '*.inf,*.INF', + \ 'initng': '*.ii', + \ 'inittab': 'inittab', \ 'ion': '*.ion', + \ 'ipfilter': 'ipf.conf,ipf6.conf,ipf.rules', + \ 'iss': '*.iss', + \ 'ist': '*.ist,*.mst', + \ 'j': '*.ijs', + \ 'jal': '*.jal,*.JAL', + \ 'jam': '*.jpl,*.jpr,Prl*.*,JAM*.*', + \ 'java': '*.java,*.jav', + \ 'javacc': '*.jj,*.jjt', \ 'javascript': '*.js,*._js,*.bones,*.cjs,*.es,*.es6,*.frag,*.gs,*.jake,*.jsb,*.jscad,*.jsfl,*.jsm,*.jss,*.mjs,*.njs,*.pac,*.sjs,*.ssjs,*.xsjs,*.xsjslib,*.javascript,Jakefile', \ 'javascriptreact': '*.jsx', + \ 'jess': '*.clp', + \ 'jgraph': '*.jgr', + \ 'jovial': '*.jov,*.j73,*.jovial', + \ 'jproperties': '*.properties,*.properties_??,*.properties_??_??,*.properties_??_??_*', \ 'jq': '*.jq,.jqrc,.jqrc*', \ 'json': '*.json,*.avsc,*.geojson,*.gltf,*.har,*.ice,*.JSON-tmLanguage,*.jsonl,*.mcmeta,*.tfstate,*.tfstate.backup,*.topojson,*.webapp,*.webmanifest,*.yy,*.yyp,*.jsonp,*.template,.arcconfig,.htmlhintrc,.tern-config,.tern-project,.watchmanconfig,composer.lock,mcmod.info,Pipfile.lock', \ 'json5': '*.json5', \ 'jsonnet': '*.jsonnet,*.libsonnet', + \ 'jsp': '*.jsp', \ 'jst': '*.ejs,*.ect,*.jst', \ 'julia': '*.jl', + \ 'kconfig': 'Kconfig,Kconfig.debug,Kconfig.*', + \ 'kivy': '*.kv', + \ 'kix': '*.kix', \ 'kotlin': '*.kt,*.ktm,*.kts', + \ 'kscript': '*.ks', + \ 'kwt': '*.k', + \ 'lace': '*.ace,*.ACE', + \ 'latte': '*.latte,*.lte', + \ 'ld': '*.ld', + \ 'ldif': '*.ldif', \ 'ledger': '*.ldg,*.ledger,*.journal', \ 'less': '*.less', + \ 'lex': '*.lex,*.l,*.lxx,*.l++', + \ 'lftp': 'lftp.conf,.lftprc', + \ 'lhaskell': '*.lhs', + \ 'libao': '', \ 'lidris2': '*.lidr', + \ 'lifelines': '*.ll', + \ 'lilo': 'lilo.conf,lilo.conf*', \ 'lilypond': '*.ly,*.ily', + \ 'limits': '', + \ 'liquid': '*.liquid', + \ 'lisp': '*.lsp,*.lisp,*.el,*.cl,.emacs,.sawfishrc,sbclrc,.sbclrc', \ 'litcoffee': '*.litcoffee,*.coffee.md', + \ 'lite': '*.lite,*.lt', + \ 'litestep': '', \ 'livescript': '*.ls,*._ls,Slakefile', \ 'llvm': '*.ll', \ 'log': '*.log,*.LOG,*_log,*_LOG', + \ 'logcheck': '', + \ 'loginaccess': '', + \ 'logindefs': '', + \ 'logtalk': '*.lgt', + \ 'lotos': '*.lot,*.lotos', + \ 'lout': '*.lou,*.lout', + \ 'lpc': '*.lpc,*.ulpc', + \ 'lprolog': '*.sig', + \ 'lsl': '*.lsl', + \ 'lss': '*.lss', \ 'lua': '*.lua,*.fcgi,*.nse,*.p8,*.pd_lua,*.rbxs,*.rockspec,*.wlua,.luacheckrc', + \ 'lynx': 'lynx.cfg', \ 'm4': '*.m4,*.at', + \ 'mail': '*.eml,snd.\d\+,.letter,.letter.\d\+,.followup,.article,.article.\d\+,pico.\d\+,mutt{ng,}-*-\w\+,mutt[[:alnum:]_-]\\\{6\},neomutt-*-\w\+,neomutt[[:alnum:]_-]\\\{6\},ae\d\+.txt,{neo,}mutt[[:alnum:]._-]\\\{6\},reportbug-*', + \ 'mailaliases': '', + \ 'mailcap': '.mailcap,mailcap', \ 'mako': '*.mako,*.mao', + \ 'mallard': '*.page', + \ 'man': '*.man', + \ 'manconf': 'man.config', + \ 'map': '*.map', + \ 'maple': '*.mv,*.mpl,*.mws', \ 'markdown': '*.md,*.markdown,*.mdown,*.mdwn,*.mkd,*.mkdn,*.mkdown,*.ronn,*.workbook,contents.lr', \ 'markdown.mdx': '*.mdx', \ 'mason': '*.mason,*.mhtml,*.comp', + \ 'master': '*.mas,*.master', + \ 'mel': '*.mel', \ 'meson': 'meson.build,meson_options.txt', + \ 'messages': '', + \ 'mf': '*.mf', + \ 'mgl': '*.mgl', + \ 'mgp': '*.mgp', + \ 'mib': '*.mib,*.my', + \ 'mix': '*.mix,*.mixal', \ 'mma': '*.mathematica,*.cdf,*.m,*.ma,*.mt,*.nb,*.nbp,*.wl,*.wlt,*.wls,*.mma', + \ 'mmp': '*.mmp', + \ 'modconf': '', + \ 'modula2': '*.m2,*.DEF,*.MOD,*.mi', + \ 'modula3': '*.[mi][3g]', + \ 'monk': '*.isc,*.monk,*.ssc,*.tsc', + \ 'moo': '*.moo', \ 'moon': '*.moon', + \ 'mp': '*.mp', + \ 'mplayerconf': 'mplayer.conf', + \ 'mrxvtrc': 'mrxvtrc,.mrxvtrc', + \ 'msidl': '*.odl,*.mof', + \ 'msql': '*.msql', + \ 'mupad': '*.mu', \ 'murphi': '*.m', + \ 'mush': '*.mush', + \ 'muttrc': '.mutt{ng,}rc*,mutt{ng,}rc*,Mutt{ng,}rc*,Mutt{ng,}rc', + \ 'mysql': '*.mysql', + \ 'n1ql': '*.n1ql,*.nql', + \ 'named': 'named*.conf,rndc*.conf,rndc*.key', + \ 'nanorc': '*.nanorc', + \ 'natural': '*.NS[ACGLMNPS]', + \ 'ncf': '*.ncf', + \ 'neomuttrc': 'Neomuttrc,.neomuttrc*,neomuttrc*,Neomuttrc*', + \ 'netrc': '.netrc', \ 'nginx': '*.nginx,*.nginxconf,*.vhost,nginx.conf,nginx*.conf,*nginx.conf', \ 'nim': '*.nim,*.nim.cfg,*.nimble,*.nimrod,*.nims,nim.cfg', + \ 'ninja': '*.ninja', \ 'nix': '*.nix', + \ 'nqc': '*.nqc', + \ 'nroff': '*.tr,*.nr,*.roff,*.tmac,*.mom,tmac.*', + \ 'nsis': '*.nsi,*.nsh', \ 'oasis': '_oasis', + \ 'obj': '*.obj', \ 'objc': '*.m,*.h', \ 'ocaml': '*.ml,*.eliom,*.eliomi,*.ml4,*.mli,*.mll,*.mly,*.mlt,*.mlp,*.mlip,*.mli.cppo,*.ml.cppo,.ocamlinit', \ 'ocamlbuild_tags': '_tags', + \ 'occam': '*.occ', \ 'ocpbuild': '*.ocp', \ 'ocpbuildroot': '*.root', \ 'octave': '*.oct,*.m', \ 'odin': '*.odin', \ 'omake': '*.om,OMakefile,OMakeroot,OMakeroot.in', + \ 'omnimark': '*.xom,*.xin', \ 'opam': '*.opam,*.opam.template,opam', \ 'opencl': '*.cl,*.opencl', + \ 'openroad': '*.or', + \ 'opl': '*.[Oo][Pp][Ll]', + \ 'ora': '*.ora', + \ 'pamconf': '', + \ 'pamenv': 'pam_env.conf,.pam_environment', + \ 'papp': '*.papp,*.pxml,*.pxsl', + \ 'pascal': '*.pas,*.dpr', + \ 'passwd': '', + \ 'pccts': '*.g', + \ 'pcmk': '*.pcmk', + \ 'pdf': '*.pdf', \ 'perl': '*.pl,*.al,*.cgi,*.fcgi,*.perl,*.ph,*.plx,*.pm,*.psgi,*.t,Makefile.PL,Rexfile,ack,cpanfile,example.gitolite.rc,.gitolite.rc', + \ 'pf': 'pf.conf', + \ 'pfmain': 'main.cf', \ 'php': '*.php,*.aw,*.ctp,*.fcgi,*.inc,*.php3,*.php4,*.php5,*.phps,*.phpt,*.phtml,.php,.php_cs,.php_cs.dist,Phakefile', + \ 'pike': '*.pike,*.pmod', + \ 'pilrc': '*.rcp', + \ 'pine': '.pinerc,pinerc,.pinercex,pinercex', + \ 'pinfo': '', \ 'plantuml': '*.puml,*.iuml,*.plantuml,*.uml,*.pu', + \ 'pli': '*.pli,*.pl1', + \ 'plm': '*.plm,*.p36,*.pac', + \ 'plp': '*.plp', + \ 'plsql': '*.pls,*.plsql', + \ 'po': '*.po,*.pot', \ 'pod': '*.pod', \ 'pony': '*.pony', + \ 'postscr': '*.ps,*.pfa,*.afm,*.eps,*.epsf,*.epsi,*.ai', + \ 'pov': '*.pov', + \ 'povini': '.povrayrc', + \ 'ppd': '*.ppd', + \ 'ppwiz': '*.it,*.ih', + \ 'privoxy': '*.action', + \ 'proc': '*.pc', + \ 'procmail': '.procmail,.procmailrc', \ 'prolog': '*.pl,*.pro,*.prolog,*.yap,*.pdb', + \ 'promela': '*.pml', \ 'proto': '*.proto', + \ 'protocols': '', \ 'ps1': '*.ps1,*.psd1,*.psm1,*.pssc', \ 'ps1xml': '*.ps1xml', + \ 'psf': '*.psf', \ 'pug': '*.jade,*.pug', + \ 'pullrequest': 'PULLREQ_EDITMSG', \ 'puppet': '*.pp,Modulefile', \ 'purescript': '*.purs', + \ 'pyrex': '*.pyx,*.pxd', \ 'python': '*.py,*.cgi,*.fcgi,*.gyp,*.gypi,*.lmi,*.py3,*.pyde,*.pyi,*.pyp,*.pyt,*.pyw,*.rpy,*.smk,*.spec,*.tac,*.wsgi,*.xpy,*.ptl,.gclient,DEPS,SConscript,SConstruct,Snakefile,wscript,.pythonrc,.pythonstartup', \ 'qmake': '*.pro,*.pri', \ 'qml': '*.qml,*.qbs', + \ 'quake': '', \ 'r': '*.r,*.rsx,*.s,*.S,.Rprofile,expr-dist', \ 'racket': '*.rkt,*.rktd,*.rktl,*.scrbl', + \ 'radiance': '*.rad,*.mat', \ 'ragel': '*.rl', \ 'raku': '*.6pl,*.6pm,*.nqp,*.p6,*.p6l,*.p6m,*.pl,*.pl6,*.pm,*.pm6,*.t,*.rakudoc,*.rakutest,*.raku,*.rakumod,*.pod6,*.t6', \ 'raml': '*.raml', + \ 'ratpoison': '.ratpoisonrc,ratpoisonrc', \ 'razor': '*.cshtml,*.razor', + \ 'rc': '*.rc,*.rch', + \ 'rcs': '*\,v', + \ 'readline': '.inputrc,inputrc', \ 'reason': '*.re,*.rei', + \ 'rego': '*.rego', + \ 'remind': '*.remind,*.rem,.reminders,.reminders*', \ 'requirements': '*.pip,*requirements.{txt,in},*require.{txt,in},constraints.{txt,in}', + \ 'resolv': 'resolv.conf', + \ 'reva': '*.frt', + \ 'rexx': '*.rex,*.orx,*.rxo,*.rxj,*.jrexx,*.rexxj,*.rexx,*.testGroup,*.testUnit', \ 'rhelp': '*.rd', + \ 'rib': '*.rib', + \ 'rmd': '*.rmd,*.smd', + \ 'rnc': '*.rnc', + \ 'rng': '*.rng', + \ 'rnoweb': '*.rnw,*.snw', + \ 'robots': 'robots.txt', + \ 'rpcgen': '*.x', + \ 'rpl': '*.rpl', + \ 'rrst': '*.rrst,*.srst', \ 'rst': '*.rst,*.rest,*.rest.txt,*.rst.txt', + \ 'rtf': '*.rtf', \ 'ruby': '*.rb,*.builder,*.eye,*.fcgi,*.gemspec,*.god,*.jbuilder,*.mspec,*.pluginspec,*.podspec,*.rabl,*.rake,*.rbi,*.rbuild,*.rbw,*.rbx,*.ru,*.ruby,*.spec,*.thor,*.watchr,*.rxml,*.rjs,*.rant,*.axlsx,*.cap,*.opal,.irbrc,.pryrc,.simplecov,Appraisals,Berksfile,Buildfile,Capfile,Dangerfile,Deliverfile,Fastfile,Gemfile,Gemfile.lock,Guardfile,Jarfile,Mavenfile,Podfile,Puppetfile,Rakefile,Snapfile,Thorfile,Vagrantfile,buildfile,Rantfile,.autotest,Cheffile,KitchenSink,Routefile,.Guardfile,.Brewfile,vagrantfile,[Rr]akefile*,*_spec.rb', \ 'rust': '*.rs,*.rs.in', + \ 'samba': 'smb.conf', + \ 'sas': '*.sas', + \ 'sass': '*.sass', + \ 'sather': '*.sa', \ 'sbt.scala': '*.sbt', \ 'scala': '*.scala,*.kojo,*.sc', + \ 'scheme': '*.scm,*.ss,*.rkt', + \ 'scilab': '*.sci,*.sce', + \ 'screen': '.screenrc,screenrc', \ 'scss': '*.scss', + \ 'sd': '*.sd', + \ 'sdc': '*.sdc', + \ 'sdl': '*.sdl,*.pr', + \ 'sed': '*.sed', + \ 'sensors': '', + \ 'services': '', + \ 'setserial': '', \ 'sexplib': '*.sexp', \ 'sh': '*.sh,*.bash,*.bats,*.cgi,*.command,*.env,*.fcgi,*.ksh,*.sh.in,*.tmux,*.tool,.bash_aliases,.bash_history,.bash_logout,.bash_profile,.bashrc,.cshrc,.env,.env.example,.flaskenv,.login,.profile,9fs,PKGBUILD,bash_aliases,bash_logout,bash_profile,bashrc,cshrc,gradlew,login,man,profile,zlogin,zlogout,zprofile,zshenv,zshrc', + \ 'sieve': '*.siv,*.sieve', + \ 'sil': '*.sil', + \ 'simula': '*.sim', + \ 'sinda': '*.sin,*.s85', + \ 'sisu': '*.sst,*.ssm,*.ssi,*.-sst,*._sst,*.sst.meta,*.-sst.meta,*._sst.meta', + \ 'skill': '*.il,*.ils,*.cdf', + \ 'slang': '*.sl', + \ 'slice': '*.ice', \ 'slim': '*.slim', \ 'slime': '*.slime', + \ 'slpconf': '', + \ 'slpreg': '', + \ 'slpspi': '', + \ 'slrnrc': '.slrnrc', + \ 'slrnsc': '*.score', + \ 'sm': 'sendmail.cf', + \ 'smarty': '*.tpl', + \ 'smcl': '*.hlp,*.ihlp,*.smcl', + \ 'smith': '*.smt,*.smith', + \ 'sml': '*.sml', \ 'smt2': '*.smt2,*.smt', + \ 'snobol4': '*.sno,*.spt', \ 'solidity': '*.sol', + \ 'spec': '*.spec', + \ 'spice': '*.sp,*.spice', + \ 'spup': '*.speedup,*.spdata,*.spd', + \ 'spyce': '*.spy,*.spi', \ 'sql': '*.pgsql,*.pls,*.bdy,*.ddl,*.fnc,*.pck,*.pkb,*.pks,*.plb,*.plsql,*.prc,*.spc,*.sql,*.tpb,*.tps,*.trg,*.vw,*.tyb,*.typ,*.tyc', + \ 'sqlj': '*.sqlj', + \ 'sqr': '*.sqr,*.sqi', + \ 'squid': 'squid.conf', + \ 'srec': '*.s19,*.s28,*.s37,*.mot,*.srec', + \ 'sshconfig': 'ssh_config', + \ 'sshdconfig': 'sshd_config', + \ 'st': '*.st', + \ 'stata': '*.ado,*.do,*.imata,*.mata', + \ 'stp': '*.stp', \ 'stylus': '*.styl,*.stylus', + \ 'sudoers': 'sudoers.tmp', \ 'svelte': '*.svelte', \ 'svg': '*.svg', + \ 'svn': 'svn-commit*.tmp', \ 'swift': '*.swift', + \ 'swiftgyb': '*.swift.gyb', \ 'sxhkdrc': '*.sxhkdrc,sxhkdrc', + \ 'sysctl': '', \ 'systemd': '*.automount,*.dnssd,*.link,*.mount,*.netdev,*.network,*.nspawn,*.path,*.service,*.slice,*.socket,*.swap,*.target,*.timer,*.#*', + \ 'systemverilog': '*.sv,*.svh', \ 'tablegen': '*.td', \ 'tads': '*.t', + \ 'tags': 'tags', + \ 'tak': '*.tak', + \ 'taskdata': '{pending,completed,undo}.data', + \ 'taskedit': '*.task', + \ 'tcl': '*.tcl,*.tk,*.itcl,*.itk,*.jacl', + \ 'template': '*.tmpl', + \ 'teraterm': '*.ttl', + \ 'terminfo': '*.ti', \ 'terraform': '*.tf,*.tfvars', + \ 'tex': '*.latex,*.sty,*.dtx,*.ltx,*.bbl', + \ 'texinfo': '*.texinfo,*.texi,*.txi', + \ 'texmf': 'texmf.cnf', + \ 'text': '*.text,README', \ 'textile': '*.textile', + \ 'tf': '*.tf,.tfrc,tfrc', \ 'thrift': '*.thrift', + \ 'tidy': '.tidyrc,tidyrc', + \ 'tilde': '*.t.html', + \ 'tli': '*.tli', \ 'tmux': '.tmux*.conf', \ 'toml': '*.toml,Cargo.lock,Gopkg.lock,poetry.lock,Pipfile', + \ 'tpp': '*.tpp', \ 'tptp': '*.p,*.tptp,*.ax', \ 'trasys': '*.inp', + \ 'treetop': '*.treetop', + \ 'trustees': 'trustees.conf', + \ 'tsalt': '*.slt', + \ 'tsscl': '*.tsscl', + \ 'tssgm': '*.tssgm', + \ 'tssop': '*.tssop', \ 'tt2': '*.tt2', \ 'tt2html': '*.tt2', \ 'typescript': '*.ts', \ 'typescriptreact': '*.tsx', + \ 'uc': '*.uc', + \ 'udevconf': '', + \ 'udevperm': '', + \ 'uil': '*.uit,*.uil', \ 'unison': '*.u,*.uu', + \ 'updatedb': '', + \ 'upstart': '', + \ 'upstreamdat': '*.upstream.dat\c,upstream.dat\c,upstream.*.dat\c', + \ 'upstreaminstalllog': '*.upstreaminstall.log\c,upstreaminstall.log\c,upstreaminstall.*.log\c', + \ 'upstreamlog': '*.upstream.log\c,fdrupstream.log,upstream.log\c,upstream.*.log\c,UPSTREAM-*.log\c', + \ 'usserverlog': '*.usserver.log\c,usserver.log\c,usserver.*.log\c', + \ 'usw2kagtlog': '*.usw2kagt.log\c,usw2kagt.log\c,usw2kagt.*.log\c', \ 'vala': '*.vala,*.vapi,*.valadoc', \ 'vb': '*.bas,*.cls,*.frm,*.frx,*.vba,*.vbs,*.dsm,*.ctl,*.sba', \ 'vbnet': '*.vb,*.vbhtml', \ 'vcl': '*.vcl', \ 'velocity': '*.vm', + \ 'vera': '*.vr,*.vri,*.vrh', + \ 'verilog': '*.v', + \ 'verilogams': '*.va,*.vams', + \ 'vgrindefs': 'vgrindefs', + \ 'vhdl': '*.hdl,*.vhd,*.vhdl,*.vbe,*.vst,*.vho,*.vhdl_[0-9]*', + \ 'vim': '*.vim,*.vba,.exrc,_exrc,*vimrc*', + \ 'viminfo': '.viminfo,_viminfo', \ 'vlang': '*.v,*.vv,*.vsh', \ 'vmasm': '*.mar', + \ 'voscm': '*.cm', + \ 'vrml': '*.wrl', + \ 'vroom': '*.vroom', \ 'vue': '*.vue,*.wpy', + \ 'wast': '*.wast,*.wat', + \ 'webmacro': '*.wm', + \ 'wget': '.wgetrc,wgetrc', + \ 'winbatch': '*.wbt', + \ 'wml': '*.wml', + \ 'wsh': '*.ws[fc]', + \ 'wsml': '*.wsml', + \ 'wvdial': 'wvdial.conf,.wvdialrc', \ 'xdc': '*.xdc', + \ 'xdefaults': '*.ad,.Xdefaults,.Xpdefaults,.Xresources,xdm-config,Xresources*', + \ 'xhtml': '*.xhtml,*.xht', + \ 'xinetd': '', + \ 'xmath': '*.msc,*.msf', \ 'xml': '*.xml,*.adml,*.admx,*.ant,*.axml,*.builds,*.ccproj,*.ccxml,*.clixml,*.cproject,*.cscfg,*.csdef,*.csl,*.csproj,*.ct,*.depproj,*.dita,*.ditamap,*.ditaval,*.dll.config,*.dotsettings,*.filters,*.fsproj,*.fxml,*.glade,*.gml,*.gmx,*.grxml,*.gst,*.iml,*.ivy,*.jelly,*.jsproj,*.kml,*.launch,*.mdpolicy,*.mjml,*.mm,*.mod,*.mxml,*.natvis,*.ncl,*.ndproj,*.nproj,*.nuspec,*.odd,*.osm,*.pkgproj,*.pluginspec,*.proj,*.props,*.psc1,*.pt,*.rdf,*.resx,*.rss,*.sch,*.scxml,*.sfproj,*.shproj,*.srdf,*.storyboard,*.sublime-snippet,*.targets,*.tml,*.ui,*.urdf,*.ux,*.vbproj,*.vcxproj,*.vsixmanifest,*.vssettings,*.vstemplate,*.vxml,*.wixproj,*.workflow,*.wsdl,*.wsf,*.wxi,*.wxl,*.wxs,*.x3d,*.xacro,*.xaml,*.xib,*.xlf,*.xliff,*.xmi,*.xml.dist,*.xproj,*.xsd,*.xspec,*.xul,*.zcml,*.cdxml,*.tpm,*.csproj.user,*.wpl,.classpath,.cproject,.project,App.config,NuGet.config,Settings.StyleCop,Web.Debug.config,Web.Release.config,Web.config,packages.config,*fglrxrc', \ 'xml.twig': '*.xml.twig', + \ 'xmodmap': '*Xmodmap,*xmodmap*', + \ 'xquery': '*.xq,*.xql,*.xqm,*.xquery,*.xqy', \ 'xs': '*.xs', + \ 'xsd': '*.xsd', \ 'xsl': '*.xslt,*.xsl', + \ 'xslt': '*.xsl,*.xslt', + \ 'yacc': '*.yy,*.yxx,*.y++', \ 'yaml': '*.yml,*.mir,*.reek,*.rviz,*.sublime-syntax,*.syntax,*.yaml,*.yaml-tmlanguage,*.yaml.sed,*.yml.mysql,.clang-format,.clang-tidy,.gemrc,glide.lock,yarn.lock,fish_history,fish_read_history', \ 'yaml.ansible': 'playbook.y{a,}ml,site.y{a,}ml,main.y{a,}ml,local.y{a,}ml,requirements.y{a,}ml,tasks.*.y{a,}ml,roles.*.y{a,}ml,handlers.*.y{a,}ml', \ 'yaml.docker-compose': 'docker-compose*.yaml,docker-compose*.yml', + \ 'z8a': '*.z8a', \ 'zephir': '*.zep', \ 'zig': '*.zig,*.zir', + \ 'zimbu': '*.zu', + \ 'zimbutempl': '*.zut', \ 'zir': '*.zir', \ 'zsh': '*.zsh,.zshrc,.zshenv,.zlogin,.zprofile,.zlogout,.zlog*,.zcompdump*,.zfbfmarks,.zsh*', \} diff --git a/autoload/xml/xsd.vim b/autoload/xml/xsd.vim new file mode 100644 index 00000000..572581a1 --- /dev/null +++ b/autoload/xml/xsd.vim @@ -0,0 +1,134 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'xsd') == -1 + +" Author: Thomas Barthel +" Last change: 2007 May 8 +let g:xmldata_xsd = { + \ 'schema': [ + \ [ 'include', 'import', 'redefine', 'annotation', 'simpleType', 'complexType', 'element', 'attribute', 'attributeGroup', 'group', 'notation', 'annotation'], + \ { 'targetNamespace' : [], 'version' : [], 'xmlns' : [], 'finalDefault' : [], 'blockDefault' : [], 'id' : [], 'elementFormDefault' : [], 'attributeFormDefault' : [], 'xml:lang' : [] }], + \ 'redefine' : [ + \ ['annotation', 'simpleType', 'complexType', 'attributeGroup', 'group'], + \ {'schemaLocation' : [], 'id' : []} ], + \ 'include' : [ + \ ['annotation'], + \ {'namespace' : [], 'id' : []} ], + \ 'import' : [ + \ ['annotation'], + \ {'namespace' : [], 'schemaLocation' : [], 'id' : []} ], + \ 'complexType' : [ + \ ['annotation', 'simpleContent', 'complexContent', 'all', 'choice', 'sequence', 'group', 'attribute', 'attributeGroup', 'anyAttribute'], + \ {'name' : [], 'id' : [], 'abstract' : [], 'final' : [], 'block' : [], 'mixed' : []} ], + \ 'complexContent' : [ + \ ['annotation', 'restriction', 'extension'], + \ {'mixed' : [], 'id' : [] } ], + \ 'simpleType' : [ + \ ['annotation', 'restriction', 'list', 'union'], + \ {'name' : [], 'final' : [], 'id' : []} ], + \ 'simpleContent' : [ + \ ['annotation', 'restriction', 'extension'], + \ {'id' : []} ], + \ 'element' : [ + \ ['annotation', 'complexType', 'simpleType', 'unique', 'key', 'keyref'], + \ {'name' : [], 'id' : [], 'ref' : [], 'type' : [], 'minOccurs' : [], 'maxOccurs' : [], 'nillable' : [], 'substitutionGroup' : [], 'abstract' : [], 'final' : [], 'block' : [], 'default' : [], 'fixed' : [], 'form' : []} ], + \ 'attribute' : [ + \ ['annotation', 'simpleType'], + \ {'name' : [], 'id' : [], 'ref' : [], 'type' : [], 'use' : [], 'default' : [], 'fixed' : [], 'form' : []} ], + \ 'group' : [ + \ ['annotation', 'all', 'choice', 'sequence'], + \ {'name' : [], 'ref' : [], 'minOccurs' : [], 'maxOccurs' : [], 'id' : []} ], + \ 'choice' : [ + \ ['annotation', 'element', 'group', 'choice', 'sequence', 'any'], + \ {'minOccurs' : [], 'maxOccurs' : [], 'id' : []} ], + \ 'sequence' : [ + \ ['annotation', 'element', 'group', 'choice', 'sequence', 'any'], + \ {'minOccurs' : [], 'maxOccurs' : [], 'id' : []} ], + \ 'all' : [ + \ ['annotation', 'element'], + \ {'minOccurs' : [], 'maxOccurs' : [], 'id' : []} ], + \ 'any' : [ + \ ['annotation'], + \ {'namespace' : [], 'processContents' : [], 'minOccurs' : [], 'maxOccurs' : [], 'id' : []} ], + \ 'unique' : [ + \ ['annotation', 'selector', 'field'], + \ {'name' : [], 'id' : []} ], + \ 'key' : [ + \ ['annotation', 'selector', 'field'], + \ {'name' : [], 'id' : []} ], + \ 'keyref' : [ + \ ['annotation', 'selector', 'field'], + \ {'name' : [], 'refer' : [], 'id' : []} ], + \ 'selector' : [ + \ ['annotation'], + \ {'xpath' : [], 'id' : []} ], + \ 'field' : [ + \ ['annotation'], + \ {'xpath' : [], 'id' : []} ], + \ 'restriction' : [ + \ ['annotation', 'simpleType', 'minExclusive', 'maxExclusive', 'minInclusive', 'maxInclusive', 'totalDigits', 'fractionDigits', 'length', 'minLength', 'maxLength', 'enumeration', 'whiteSpace', 'pattern'], + \ {'base' : [], 'id' : []} ], + \ 'minExclusive' : [ + \ ['annotation'], + \ {'value' : [], 'id' : [], 'fixed' : []}], + \ 'maxExclusive' : [ + \ ['annotation'], + \ {'value' : [], 'id' : [], 'fixed' : []}], + \ 'minInclusive' : [ + \ ['annotation'], + \ {'value' : [], 'id' : [], 'fixed' : []}], + \ 'maxInclusive' : [ + \ ['annotation'], + \ {'value' : [], 'id' : [], 'fixed' : []}], + \ 'totalDigits' : [ + \ ['annotation'], + \ {'value' : [], 'id' : [], 'fixed' : []}], + \ 'fractionDigits' : [ + \ ['annotation'], + \ {'value' : [], 'id' : [], 'fixed' : []}], + \ 'length' : [ + \ ['annotation'], + \ {'value' : [], 'id' : [], 'fixed' : []}], + \ 'minLength' : [ + \ ['annotation'], + \ {'value' : [], 'id' : [], 'fixed' : []}], + \ 'maxLength' : [ + \ ['annotation'], + \ {'value' : [], 'id' : [], 'fixed' : []}], + \ 'enumeration' : [ + \ ['annotation'], + \ {'value' : [], 'id' : []}], + \ 'whiteSpace' : [ + \ ['annotation'], + \ {'value' : [], 'id' : [], 'fixed' : []}], + \ 'pattern' : [ + \ ['annotation'], + \ {'value' : [], 'id' : []}], + \ 'extension' : [ + \ ['annotation', 'all', 'choice', 'sequence', 'group', 'attribute', 'attributeGroup', 'anyAttribute'], + \ {'base' : [], 'id' : []} ], + \ 'attributeGroup' : [ + \ ['annotation', 'attribute', 'attributeGroup', 'anyAttribute'], + \ {'name' : [], 'id' : [], 'ref' : []} ], + \ 'anyAttribute' : [ + \ ['annotation'], + \ {'namespace' : [], 'processContents' : [], 'id' : []} ], + \ 'list' : [ + \ ['annotation', 'simpleType'], + \ {'itemType' : [], 'id' : []} ], + \ 'union' : [ + \ ['annotation', 'simpleType'], + \ {'id' : [], 'memberTypes' : []} ], + \ 'notation' : [ + \ ['annotation'], + \ {'name' : [], 'id' : [], 'public' : [], 'system' : []} ], + \ 'annotation' : [ + \ ['appinfo', 'documentation'], + \ {} ], + \ 'appinfo' : [ + \ [], + \ {'source' : [], 'id' : []} ], + \ 'documentation' : [ + \ [], + \ {'source' : [], 'id' : [], 'xml' : []} ] + \ } + +endif diff --git a/compiler/bdf.vim b/compiler/bdf.vim new file mode 100644 index 00000000..5bdd9477 --- /dev/null +++ b/compiler/bdf.vim @@ -0,0 +1,26 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'bdf') == -1 + +" Vim compiler file +" Compiler: BDF to PCF Conversion +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2006-04-19 + +if exists("current_compiler") + finish +endif +let current_compiler = "bdf" + +let s:cpo_save = &cpo +set cpo-=C + +setlocal makeprg=bdftopcf\ $* + +setlocal errorformat=%ABDF\ %trror\ on\ line\ %l:\ %m, + \%-Z%p^, + \%Cbdftopcf:\ bdf\ input\\,\ %f\\,\ corrupt, + \%-G%.%# + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/compiler/context.vim b/compiler/context.vim new file mode 100644 index 00000000..9c05b414 --- /dev/null +++ b/compiler/context.vim @@ -0,0 +1,58 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'context') == -1 + +" Vim compiler file +" Compiler: ConTeXt typesetting engine +" Maintainer: Nicola Vitacolonna +" Last Change: 2016 Oct 21 + +if exists("current_compiler") + finish +endif +let s:keepcpo= &cpo +set cpo&vim + +if exists(":CompilerSet") != 2 " older Vim always used :setlocal + command -nargs=* CompilerSet setlocal +endif + +" If makefile exists and we are not asked to ignore it, we use standard make +" (do not redefine makeprg) +if get(b:, 'context_ignore_makefile', get(g:, 'context_ignore_makefile', 0)) || + \ (!filereadable('Makefile') && !filereadable('makefile')) + let current_compiler = 'context' + " The following assumes that the current working directory is set to the + " directory of the file to be typeset + let &l:makeprg = get(b:, 'context_mtxrun', get(g:, 'context_mtxrun', 'mtxrun')) + \ . ' --script context --autogenerate --nonstopmode --synctex=' + \ . (get(b:, 'context_synctex', get(g:, 'context_synctex', 0)) ? '1' : '0') + \ . ' ' . get(b:, 'context_extra_options', get(g:, 'context_extra_options', '')) + \ . ' ' . shellescape(expand('%:p:t')) +else + let current_compiler = 'make' +endif + +let b:context_errorformat = '' + \ . '%-Popen source%.%#> %f,' + \ . '%-Qclose source%.%#> %f,' + \ . "%-Popen source%.%#name '%f'," + \ . "%-Qclose source%.%#name '%f'," + \ . '%Etex %trror%.%#mp error on line %l in file %f:%.%#,' + \ . 'tex %trror%.%#error on line %l in file %f: %m,' + \ . '%Elua %trror%.%#error on line %l in file %f:,' + \ . '%+Emetapost %#> error: %#,' + \ . '! error: %#%m,' + \ . '%-C %#,' + \ . '%C! %m,' + \ . '%Z[ctxlua]%m,' + \ . '%+C<*> %.%#,' + \ . '%-C%.%#,' + \ . '%Z...%m,' + \ . '%-Zno-error,' + \ . '%-G%.%#' " Skip remaining lines + +execute 'CompilerSet errorformat=' . escape(b:context_errorformat, ' ') + +let &cpo = s:keepcpo +unlet s:keepcpo + +endif diff --git a/compiler/cs.vim b/compiler/cs.vim new file mode 100644 index 00000000..4e56feeb --- /dev/null +++ b/compiler/cs.vim @@ -0,0 +1,30 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cs') == -1 + +" Vim compiler file +" Compiler: Microsoft Visual Studio C# +" Maintainer: Yichao Zhou (broken.zhou@gmail.com) +" Previous Maintainer: Joseph H. Yao (hyao@sina.com) +" Last Change: Jul 22, 2019 + +if exists("current_compiler") + finish +endif +let current_compiler = "cs" +let s:keepcpo= &cpo +set cpo&vim + +if exists(":CompilerSet") != 2 " older Vim always used :setlocal + command -nargs=* CompilerSet setlocal +endif + +CompilerSet errorformat& +CompilerSet errorformat+=%f(%l\\,%v):\ %t%*[^:]:\ %m, + \%trror%*[^:]:\ %m, + \%tarning%*[^:]:\ %m + +CompilerSet makeprg=csc\ %:S + +let &cpo = s:keepcpo +unlet s:keepcpo + +endif diff --git a/compiler/dot.vim b/compiler/dot.vim new file mode 100644 index 00000000..30af567d --- /dev/null +++ b/compiler/dot.vim @@ -0,0 +1,19 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dot') == -1 + +" Vim compiler file +" Compiler: ATT dot +" Maintainer: Marcos Macedo +" Last Change: 2004 May 16 + +if exists("current_compiler") + finish +endif +let current_compiler = "dot" + +if exists(":CompilerSet") != 2 " older Vim always used :setlocal + command -nargs=* CompilerSet setlocal +endif + +CompilerSet makeprg=dot\ -T$*\ \"%:p\"\ -o\ \"%:p:r.$*\" + +endif diff --git a/compiler/sass.vim b/compiler/sass.vim new file mode 100644 index 00000000..8ce9dc84 --- /dev/null +++ b/compiler/sass.vim @@ -0,0 +1,34 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'sass') == -1 + +" Vim compiler file +" Compiler: Sass +" Maintainer: Tim Pope +" Last Change: 2016 Aug 29 + +if exists("current_compiler") + finish +endif +let current_compiler = "sass" + +if exists(":CompilerSet") != 2 " older Vim always used :setlocal + command -nargs=* CompilerSet setlocal +endif + +let s:cpo_save = &cpo +set cpo-=C + +CompilerSet makeprg=sass + +CompilerSet errorformat= + \%f:%l:%m\ (Sass::Syntax%trror), + \%ESyntax\ %trror:%m, + \%C%\\s%\\+on\ line\ %l\ of\ %f, + \%Z%.%#, + \%-G%.%# + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim:set sw=2 sts=2: + +endif diff --git a/compiler/tcl.vim b/compiler/tcl.vim new file mode 100644 index 00000000..11792a1c --- /dev/null +++ b/compiler/tcl.vim @@ -0,0 +1,21 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'tcl') == -1 + +" Vim compiler file +" Compiler: tcl +" Maintainer: Doug Kearns +" Last Change: 2004 Nov 27 + +if exists("current_compiler") + finish +endif +let current_compiler = "tcl" + +if exists(":CompilerSet") != 2 " older Vim always used :setlocal + command -nargs=* CompilerSet setlocal +endif + +CompilerSet makeprg=tcl + +CompilerSet errorformat=%EError:\ %m,%+Z\ %\\{4}(file\ \"%f\"\ line\ %l),%-G%.%# + +endif diff --git a/compiler/tex.vim b/compiler/tex.vim new file mode 100644 index 00000000..da14b914 --- /dev/null +++ b/compiler/tex.vim @@ -0,0 +1,71 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'tex') == -1 + +" Vim compiler file +" Compiler: TeX +" Maintainer: Artem Chuprina +" Last Change: 2012 Apr 30 + +if exists("current_compiler") + finish +endif +let s:keepcpo= &cpo +set cpo&vim + +if exists(":CompilerSet") != 2 " older Vim always used :setlocal + command -nargs=* CompilerSet setlocal +endif + +" If makefile exists and we are not asked to ignore it, we use standard make +" (do not redefine makeprg) +if exists('b:tex_ignore_makefile') || exists('g:tex_ignore_makefile') || + \(!filereadable('Makefile') && !filereadable('makefile')) + " If buffer-local variable 'tex_flavor' exists, it defines TeX flavor, + " otherwize the same for global variable with same name, else it will be + " LaTeX + if exists("b:tex_flavor") + let current_compiler = b:tex_flavor + elseif exists("g:tex_flavor") + let current_compiler = g:tex_flavor + else + let current_compiler = "latex" + endif + let &l:makeprg=current_compiler.' -interaction=nonstopmode' +else + let current_compiler = 'make' +endif + +" Value errorformat are taken from vim help, see :help errorformat-LaTeX, with +" addition from Srinath Avadhanula +CompilerSet errorformat=%E!\ LaTeX\ %trror:\ %m, + \%E!\ %m, + \%+WLaTeX\ %.%#Warning:\ %.%#line\ %l%.%#, + \%+W%.%#\ at\ lines\ %l--%*\\d, + \%WLaTeX\ %.%#Warning:\ %m, + \%Cl.%l\ %m, + \%+C\ \ %m., + \%+C%.%#-%.%#, + \%+C%.%#[]%.%#, + \%+C[]%.%#, + \%+C%.%#%[{}\\]%.%#, + \%+C<%.%#>%.%#, + \%C\ \ %m, + \%-GSee\ the\ LaTeX%m, + \%-GType\ \ H\ %m, + \%-G\ ...%.%#, + \%-G%.%#\ (C)\ %.%#, + \%-G(see\ the\ transcript%.%#), + \%-G\\s%#, + \%+O(%*[^()])%r, + \%+O%*[^()](%*[^()])%r, + \%+P(%f%r, + \%+P\ %\\=(%f%r, + \%+P%*[^()](%f%r, + \%+P[%\\d%[^()]%#(%f%r, + \%+Q)%r, + \%+Q%*[^()])%r, + \%+Q[%\\d%*[^()])%r + +let &cpo = s:keepcpo +unlet s:keepcpo + +endif diff --git a/compiler/tidy.vim b/compiler/tidy.vim new file mode 100644 index 00000000..f13b3664 --- /dev/null +++ b/compiler/tidy.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'tidy') == -1 + +" Vim compiler file +" Compiler: HTML Tidy +" Maintainer: Doug Kearns +" Last Change: 2016 Apr 21 + +if exists("current_compiler") + finish +endif +let current_compiler = "tidy" + +if exists(":CompilerSet") != 2 " older Vim always used :setlocal + command -nargs=* CompilerSet setlocal +endif + +CompilerSet makeprg=tidy\ -quiet\ -errors\ --gnu-emacs\ yes\ %:S + +" foo.html:8:1: Warning: inserting missing 'foobar' element +" foo.html:9:2: Error: is not recognized! +CompilerSet errorformat=%f:%l:%c:\ %trror:%m,%f:%l:%c:\ %tarning:%m,%-G%.%# + +endif diff --git a/ftdetect/polyglot.vim b/ftdetect/polyglot.vim index de6e5919..4e1988b4 100644 --- a/ftdetect/polyglot.vim +++ b/ftdetect/polyglot.vim @@ -117,6 +117,1561 @@ augroup filetypedetect " DO NOT EDIT CODE BELOW, IT IS GENERATED WITH MAKEFILE +if !has_key(s:disabled_packages, 'pullrequest') + au BufNewFile,BufRead PULLREQ_EDITMSG setf pullrequest +endif + +if !has_key(s:disabled_packages, 'text') + au BufNewFile,BufRead *.text,README setf text +endif + +if !has_key(s:disabled_packages, 'svn') + au BufNewFile,BufRead svn-commit*.tmp setf svn +endif + +if !has_key(s:disabled_packages, 'logcheck') + au BufNewFile,BufRead */etc/logcheck/*.d*/* call s:StarSetf('logcheck') +endif + +if !has_key(s:disabled_packages, 'fvwm') + au BufNewFile,BufRead */.fvwm/* call s:StarSetf('fvwm') +endif + +if !has_key(s:disabled_packages, 'crontab') + au BufNewFile,BufRead crontab setf crontab + au BufNewFile,BufRead crontab.* call s:StarSetf('crontab') + au BufNewFile,BufRead */etc/cron.d/* call s:StarSetf('crontab') +endif + +if !has_key(s:disabled_packages, 'bzr') + au BufNewFile,BufRead bzr_log.* call s:StarSetf('bzr') +endif + +if !has_key(s:disabled_packages, 'asteriskvm') + au BufNewFile,BufRead *asterisk*/*voicemail.conf* call s:StarSetf('asteriskvm') +endif + +if !has_key(s:disabled_packages, 'asterisk') + au BufNewFile,BufRead *asterisk/*.conf* call s:StarSetf('asterisk') +endif + +if !has_key(s:disabled_packages, 'apachestyle') + au BufNewFile,BufRead proftpd.conf* call s:StarSetf('apachestyle') + au BufNewFile,BufRead */etc/proftpd/conf.*/* call s:StarSetf('apachestyle') + au BufNewFile,BufRead */etc/proftpd/*.conf* call s:StarSetf('apachestyle') +endif + +if !has_key(s:disabled_packages, 'z8a') + au BufNewFile,BufRead *.z8a setf z8a +endif + +if !has_key(s:disabled_packages, 'zimbutempl') + au BufNewFile,BufRead *.zut setf zimbutempl +endif + +if !has_key(s:disabled_packages, 'zimbu') + au BufNewFile,BufRead *.zu setf zimbu +endif + +if !has_key(s:disabled_packages, 'yacc') + au BufNewFile,BufRead *.y++,*.yxx,*.yy setf yacc +endif + +if !has_key(s:disabled_packages, 'xslt') + au BufNewFile,BufRead *.xsl,*.xslt setf xslt +endif + +if !has_key(s:disabled_packages, 'xsd') + au BufNewFile,BufRead *.xsd setf xsd +endif + +if !has_key(s:disabled_packages, 'xquery') + au BufNewFile,BufRead *.xq,*.xql,*.xqm,*.xquery,*.xqy setf xquery +endif + +if !has_key(s:disabled_packages, 'xmodmap') + au BufNewFile,BufRead *Xmodmap setf xmodmap + au BufNewFile,BufRead *xmodmap* call s:StarSetf('xmodmap') +endif + +if !has_key(s:disabled_packages, 'xmath') + au BufNewFile,BufRead *.msc,*.msf setf xmath +endif + +if !has_key(s:disabled_packages, 'xdefaults') + au BufNewFile,BufRead *.ad,{.,}Xdefaults,{.,}Xpdefaults,{.,}Xresources,xdm-config setf xdefaults + au BufNewFile,BufRead Xresources* call s:StarSetf('xdefaults') + au BufNewFile,BufRead */app-defaults/* call s:StarSetf('xdefaults') + au BufNewFile,BufRead */Xresources/* call s:StarSetf('xdefaults') +endif + +if !has_key(s:disabled_packages, 'xinetd') + au BufNewFile,BufRead */etc/xinetd.conf setf xinetd + au BufNewFile,BufRead */etc/xinetd.d/* call s:StarSetf('xinetd') +endif + +if !has_key(s:disabled_packages, 'xhtml') + au BufNewFile,BufRead *.xht,*.xhtml setf xhtml +endif + +if !has_key(s:disabled_packages, 'wsh') + au BufNewFile,BufRead *.ws[fc] setf wsh +endif + +if !has_key(s:disabled_packages, 'cvs') + au BufNewFile,BufRead cvs\d\+ setf cvs +endif + +if !has_key(s:disabled_packages, 'cvsrc') + au BufNewFile,BufRead {.,}cvsrc setf cvsrc +endif + +if !has_key(s:disabled_packages, 'wvdial') + au BufNewFile,BufRead {.,}wvdialrc,wvdial.conf setf wvdial +endif + +if !has_key(s:disabled_packages, 'wsml') + au BufNewFile,BufRead *.wsml setf wsml +endif + +if !has_key(s:disabled_packages, 'winbatch') + au BufNewFile,BufRead *.wbt setf winbatch +endif + +if !has_key(s:disabled_packages, 'wml') + au BufNewFile,BufRead *.wml setf wml +endif + +if !has_key(s:disabled_packages, 'wget') + au BufNewFile,BufRead {.,}wgetrc,wgetrc setf wget +endif + +if !has_key(s:disabled_packages, 'webmacro') + au BufNewFile,BufRead *.wm setf webmacro +endif + +if !has_key(s:disabled_packages, 'wast') + au BufNewFile,BufRead *.wast,*.wat setf wast +endif + +if !has_key(s:disabled_packages, 'vroom') + au BufNewFile,BufRead *.vroom setf vroom +endif + +if !has_key(s:disabled_packages, 'vrml') + au BufNewFile,BufRead *.wrl setf vrml +endif + +if !has_key(s:disabled_packages, 'vgrindefs') + au BufNewFile,BufRead vgrindefs setf vgrindefs +endif + +if !has_key(s:disabled_packages, 'viminfo') + au BufNewFile,BufRead {.,}viminfo,_viminfo setf viminfo +endif + +if !has_key(s:disabled_packages, 'vim') + au BufNewFile,BufRead *.vba,*.vim,{.,}exrc,_exrc setf vim + au BufNewFile,BufRead *vimrc* call s:StarSetf('vim') +endif + +if !has_key(s:disabled_packages, 'vhdl') + au BufNewFile,BufRead *.hdl,*.vbe,*.vhd,*.vhdl,*.vho,*.vst setf vhdl + au BufNewFile,BufRead *.vhdl_[0-9]* call s:StarSetf('vhdl') +endif + +if !has_key(s:disabled_packages, 'systemverilog') + au BufNewFile,BufRead *.sv,*.svh setf systemverilog +endif + +if !has_key(s:disabled_packages, 'verilogams') + au BufNewFile,BufRead *.va,*.vams setf verilogams +endif + +if !has_key(s:disabled_packages, 'verilog') + au BufNewFile,BufRead *.v setf verilog +endif + +if !has_key(s:disabled_packages, 'vera') + au BufNewFile,BufRead *.vr,*.vrh,*.vri setf vera +endif + +if !has_key(s:disabled_packages, 'upstart') + au BufNewFile,BufRead */.config/upstart/*.conf,*/.config/upstart/*.override,*/.init/*.conf,*/.init/*.override,*/etc/init/*.conf,*/etc/init/*.override,*/usr/share/upstart/*.conf,*/usr/share/upstart/*.override setf upstart +endif + +if !has_key(s:disabled_packages, 'updatedb') + au BufNewFile,BufRead */etc/updatedb.conf setf updatedb +endif + +if !has_key(s:disabled_packages, 'uc') + au BufNewFile,BufRead *.uc setf uc +endif + +if !has_key(s:disabled_packages, 'udevperm') + au BufNewFile,BufRead */etc/udev/permissions.d/*.permissions setf udevperm +endif + +if !has_key(s:disabled_packages, 'udevconf') + au BufNewFile,BufRead */etc/udev/udev.conf setf udevconf +endif + +if !has_key(s:disabled_packages, 'uil') + au BufNewFile,BufRead *.uil,*.uit setf uil +endif + +if !has_key(s:disabled_packages, 'tsscl') + au BufNewFile,BufRead *.tsscl setf tsscl +endif + +if !has_key(s:disabled_packages, 'tssop') + au BufNewFile,BufRead *.tssop setf tssop +endif + +if !has_key(s:disabled_packages, 'tssgm') + au BufNewFile,BufRead *.tssgm setf tssgm +endif + +if !has_key(s:disabled_packages, 'trustees') + au BufNewFile,BufRead trustees.conf setf trustees +endif + +if !has_key(s:disabled_packages, 'treetop') + au BufNewFile,BufRead *.treetop setf treetop +endif + +if !has_key(s:disabled_packages, 'tpp') + au BufNewFile,BufRead *.tpp setf tpp +endif + +if !has_key(s:disabled_packages, 'tidy') + au BufNewFile,BufRead {.,}tidyrc,tidyrc setf tidy +endif + +if !has_key(s:disabled_packages, 'texmf') + au BufNewFile,BufRead texmf.cnf setf texmf +endif + +if !has_key(s:disabled_packages, 'texinfo') + au BufNewFile,BufRead *.texi,*.texinfo,*.txi setf texinfo +endif + +if !has_key(s:disabled_packages, 'context') + au BufNewFile,BufRead *.mkii,*.mkiv,*.mkvi setf context +endif + +if !has_key(s:disabled_packages, 'tex') + au BufNewFile,BufRead *.bbl,*.dtx,*.latex,*.ltx,*.sty setf tex +endif + +if !has_key(s:disabled_packages, 'terminfo') + au BufNewFile,BufRead *.ti setf terminfo +endif + +if !has_key(s:disabled_packages, 'teraterm') + au BufNewFile,BufRead *.ttl setf teraterm +endif + +if !has_key(s:disabled_packages, 'tsalt') + au BufNewFile,BufRead *.slt setf tsalt +endif + +if !has_key(s:disabled_packages, 'tli') + au BufNewFile,BufRead *.tli setf tli +endif + +if !has_key(s:disabled_packages, 'tcl') + au BufNewFile,BufRead *.itcl,*.itk,*.jacl,*.tcl,*.tk setf tcl +endif + +if !has_key(s:disabled_packages, 'taskedit') + au BufNewFile,BufRead *.task setf taskedit +endif + +if !has_key(s:disabled_packages, 'taskdata') + au BufNewFile,BufRead {pending,completed,undo}.data setf taskdata +endif + +if !has_key(s:disabled_packages, 'tak') + au BufNewFile,BufRead *.tak setf tak +endif + +if !has_key(s:disabled_packages, 'tags') + au BufNewFile,BufRead tags setf tags +endif + +if !has_key(s:disabled_packages, 'sudoers') + au BufNewFile,BufRead */etc/sudoers,sudoers.tmp setf sudoers +endif + +if !has_key(s:disabled_packages, 'sdc') + au BufNewFile,BufRead *.sdc setf sdc +endif + +if !has_key(s:disabled_packages, 'sysctl') + au BufNewFile,BufRead */etc/sysctl.conf,*/etc/sysctl.d/*.conf setf sysctl +endif + +if !has_key(s:disabled_packages, 'sil') + au BufNewFile,BufRead *.sil setf sil +endif + +if !has_key(s:disabled_packages, 'swiftgyb') + au BufNewFile,BufRead *.swift.gyb setf swiftgyb +endif + +if !has_key(s:disabled_packages, 'voscm') + au BufNewFile,BufRead *.cm setf voscm +endif + +if !has_key(s:disabled_packages, 'sml') + au BufNewFile,BufRead *.sml setf sml +endif + +if !has_key(s:disabled_packages, 'stp') + au BufNewFile,BufRead *.stp setf stp +endif + +if !has_key(s:disabled_packages, 'smcl') + au BufNewFile,BufRead *.hlp,*.ihlp,*.smcl setf smcl +endif + +if !has_key(s:disabled_packages, 'stata') + au BufNewFile,BufRead *.ado,*.do,*.imata,*.mata setf stata +endif + +if !has_key(s:disabled_packages, 'sshdconfig') + au BufNewFile,BufRead */etc/ssh/sshd_config.d/*.conf,sshd_config setf sshdconfig +endif + +if !has_key(s:disabled_packages, 'sshconfig') + au BufNewFile,BufRead */.ssh/config,*/etc/ssh/ssh_config.d/*.conf,ssh_config setf sshconfig +endif + +if !has_key(s:disabled_packages, 'sqr') + au BufNewFile,BufRead *.sqi,*.sqr setf sqr +endif + +if !has_key(s:disabled_packages, 'sqlj') + au BufNewFile,BufRead *.sqlj setf sqlj +endif + +if !has_key(s:disabled_packages, 'squid') + au BufNewFile,BufRead squid.conf setf squid +endif + +if !has_key(s:disabled_packages, 'spice') + au BufNewFile,BufRead *.sp,*.spice setf spice +endif + +if !has_key(s:disabled_packages, 'slice') + au BufNewFile,BufRead *.ice setf slice +endif + +if !has_key(s:disabled_packages, 'spup') + au BufNewFile,BufRead *.spd,*.spdata,*.speedup setf spup +endif + +if !has_key(s:disabled_packages, 'hog') + au BufNewFile,BufRead *.hog,snort.conf,vision.conf setf hog +endif + +if !has_key(s:disabled_packages, 'mib') + au BufNewFile,BufRead *.mib,*.my setf mib +endif + +if !has_key(s:disabled_packages, 'snobol4') + au BufNewFile,BufRead *.sno,*.spt setf snobol4 +endif + +if !has_key(s:disabled_packages, 'smith') + au BufNewFile,BufRead *.smith,*.smt setf smith +endif + +if !has_key(s:disabled_packages, 'st') + au BufNewFile,BufRead *.st setf st +endif + +if !has_key(s:disabled_packages, 'slrnsc') + au BufNewFile,BufRead *.score setf slrnsc +endif + +if !has_key(s:disabled_packages, 'slrnrc') + au BufNewFile,BufRead {.,}slrnrc setf slrnrc +endif + +if !has_key(s:disabled_packages, 'skill') + au BufNewFile,BufRead *.cdf,*.il,*.ils setf skill +endif + +if !has_key(s:disabled_packages, 'sisu') + au BufNewFile,BufRead *.-sst,*.-sst.meta,*._sst,*._sst.meta,*.ssi,*.ssm,*.sst,*.sst.meta setf sisu +endif + +if !has_key(s:disabled_packages, 'sinda') + au BufNewFile,BufRead *.s85,*.sin setf sinda +endif + +if !has_key(s:disabled_packages, 'simula') + au BufNewFile,BufRead *.sim setf simula +endif + +if !has_key(s:disabled_packages, 'screen') + au BufNewFile,BufRead {.,}screenrc,screenrc setf screen +endif + +if !has_key(s:disabled_packages, 'scheme') + au BufNewFile,BufRead *.rkt,*.scm,*.ss setf scheme +endif + +if !has_key(s:disabled_packages, 'catalog') + au BufNewFile,BufRead catalog setf catalog + au BufNewFile,BufRead sgml.catalog* call s:StarSetf('catalog') +endif + +if !has_key(s:disabled_packages, 'setserial') + au BufNewFile,BufRead */etc/serial.conf setf setserial +endif + +if !has_key(s:disabled_packages, 'slpspi') + au BufNewFile,BufRead */etc/slp.spi setf slpspi +endif + +if !has_key(s:disabled_packages, 'spyce') + au BufNewFile,BufRead *.spi,*.spy setf spyce +endif + +if !has_key(s:disabled_packages, 'slpreg') + au BufNewFile,BufRead */etc/slp.reg setf slpreg +endif + +if !has_key(s:disabled_packages, 'slpconf') + au BufNewFile,BufRead */etc/slp.conf setf slpconf +endif + +if !has_key(s:disabled_packages, 'services') + au BufNewFile,BufRead */etc/services setf services +endif + +if !has_key(s:disabled_packages, 'sm') + au BufNewFile,BufRead sendmail.cf setf sm +endif + +if !has_key(s:disabled_packages, 'sieve') + au BufNewFile,BufRead *.sieve,*.siv setf sieve +endif + +if !has_key(s:disabled_packages, 'sed') + au BufNewFile,BufRead *.sed setf sed +endif + +if !has_key(s:disabled_packages, 'sdl') + au BufNewFile,BufRead *.pr,*.sdl setf sdl +endif + +if !has_key(s:disabled_packages, 'sd') + au BufNewFile,BufRead *.sd setf sd +endif + +if !has_key(s:disabled_packages, 'scilab') + au BufNewFile,BufRead *.sce,*.sci setf scilab +endif + +if !has_key(s:disabled_packages, 'sather') + au BufNewFile,BufRead *.sa setf sather +endif + +if !has_key(s:disabled_packages, 'sass') + au BufNewFile,BufRead *.sass setf sass +endif + +if !has_key(s:disabled_packages, 'sas') + au BufNewFile,BufRead *.sas setf sas +endif + +if !has_key(s:disabled_packages, 'samba') + au BufNewFile,BufRead smb.conf setf samba +endif + +if !has_key(s:disabled_packages, 'slang') + au BufNewFile,BufRead *.sl setf slang +endif + +if !has_key(s:disabled_packages, 'rtf') + au BufNewFile,BufRead *.rtf setf rtf +endif + +if !has_key(s:disabled_packages, 'rpcgen') + au BufNewFile,BufRead *.x setf rpcgen +endif + +if !has_key(s:disabled_packages, 'robots') + au BufNewFile,BufRead robots.txt setf robots +endif + +if !has_key(s:disabled_packages, 'rpl') + au BufNewFile,BufRead *.rpl setf rpl +endif + +if !has_key(s:disabled_packages, 'rng') + au BufNewFile,BufRead *.rng setf rng +endif + +if !has_key(s:disabled_packages, 'rnc') + au BufNewFile,BufRead *.rnc setf rnc +endif + +if !has_key(s:disabled_packages, 'resolv') + au BufNewFile,BufRead resolv.conf setf resolv +endif + +if !has_key(s:disabled_packages, 'remind') + au BufNewFile,BufRead *.rem,*.remind,{.,}reminders setf remind + au BufNewFile,BufRead {.,}reminders* call s:StarSetf('remind') +endif + +if !has_key(s:disabled_packages, 'rrst') + au BufNewFile,BufRead *.rrst,*.srst setf rrst +endif + +if !has_key(s:disabled_packages, 'rmd') + au BufNewFile,BufRead *.rmd,*.smd setf rmd +endif + +if !has_key(s:disabled_packages, 'rnoweb') + au BufNewFile,BufRead *.rnw,*.snw setf rnoweb +endif + +if !has_key(s:disabled_packages, 'rexx') + au BufNewFile,BufRead *.jrexx,*.orx,*.rex,*.rexx,*.rexxj,*.rxj,*.rxo,*.testGroup,*.testUnit setf rexx +endif + +if !has_key(s:disabled_packages, 'rego') + au BufNewFile,BufRead *.rego setf rego +endif + +if !has_key(s:disabled_packages, 'rib') + au BufNewFile,BufRead *.rib setf rib +endif + +if !has_key(s:disabled_packages, 'readline') + au BufNewFile,BufRead {.,}inputrc,inputrc setf readline +endif + +if !has_key(s:disabled_packages, 'rcs') + au BufNewFile,BufRead *\,v setf rcs +endif + +if !has_key(s:disabled_packages, 'ratpoison') + au BufNewFile,BufRead {.,}ratpoisonrc,ratpoisonrc setf ratpoison +endif + +if !has_key(s:disabled_packages, 'radiance') + au BufNewFile,BufRead *.mat,*.rad setf radiance +endif + +if !has_key(s:disabled_packages, 'pyrex') + au BufNewFile,BufRead *.pxd,*.pyx setf pyrex +endif + +if !has_key(s:disabled_packages, 'protocols') + au BufNewFile,BufRead */etc/protocols setf protocols +endif + +if !has_key(s:disabled_packages, 'promela') + au BufNewFile,BufRead *.pml setf promela +endif + +if !has_key(s:disabled_packages, 'psf') + au BufNewFile,BufRead *.psf setf psf +endif + +if !has_key(s:disabled_packages, 'procmail') + au BufNewFile,BufRead {.,}procmail,{.,}procmailrc setf procmail +endif + +if !has_key(s:disabled_packages, 'privoxy') + au BufNewFile,BufRead *.action setf privoxy +endif + +if !has_key(s:disabled_packages, 'proc') + au BufNewFile,BufRead *.pc setf proc +endif + +if !has_key(s:disabled_packages, 'obj') + au BufNewFile,BufRead *.obj setf obj +endif + +if !has_key(s:disabled_packages, 'ppwiz') + au BufNewFile,BufRead *.ih,*.it setf ppwiz +endif + +if !has_key(s:disabled_packages, 'pccts') + au BufNewFile,BufRead *.g setf pccts +endif + +if !has_key(s:disabled_packages, 'povini') + au BufNewFile,BufRead {.,}povrayrc setf povini +endif + +if !has_key(s:disabled_packages, 'pov') + au BufNewFile,BufRead *.pov setf pov +endif + +if !has_key(s:disabled_packages, 'ppd') + au BufNewFile,BufRead *.ppd setf ppd +endif + +if !has_key(s:disabled_packages, 'postscr') + au BufNewFile,BufRead *.afm,*.ai,*.eps,*.epsf,*.epsi,*.pfa,*.ps setf postscr +endif + +if !has_key(s:disabled_packages, 'pfmain') + au BufNewFile,BufRead main.cf setf pfmain +endif + +if !has_key(s:disabled_packages, 'po') + au BufNewFile,BufRead *.po,*.pot setf po +endif + +if !has_key(s:disabled_packages, 'plp') + au BufNewFile,BufRead *.plp setf plp +endif + +if !has_key(s:disabled_packages, 'plsql') + au BufNewFile,BufRead *.pls,*.plsql setf plsql +endif + +if !has_key(s:disabled_packages, 'plm') + au BufNewFile,BufRead *.p36,*.pac,*.plm setf plm +endif + +if !has_key(s:disabled_packages, 'pli') + au BufNewFile,BufRead *.pl1,*.pli setf pli +endif + +if !has_key(s:disabled_packages, 'pine') + au BufNewFile,BufRead {.,}pinerc,{.,}pinercex,pinerc,pinercex setf pine +endif + +if !has_key(s:disabled_packages, 'pilrc') + au BufNewFile,BufRead *.rcp setf pilrc +endif + +if !has_key(s:disabled_packages, 'pinfo') + au BufNewFile,BufRead */.pinforc,*/etc/pinforc setf pinfo +endif + +if !has_key(s:disabled_packages, 'cmod') + au BufNewFile,BufRead *.cmod setf cmod +endif + +if !has_key(s:disabled_packages, 'pike') + au BufNewFile,BufRead *.pike,*.pmod setf pike +endif + +if !has_key(s:disabled_packages, 'pcmk') + au BufNewFile,BufRead *.pcmk setf pcmk +endif + +if !has_key(s:disabled_packages, 'pdf') + au BufNewFile,BufRead *.pdf setf pdf +endif + +if !has_key(s:disabled_packages, 'pascal') + au BufNewFile,BufRead *.dpr,*.pas setf pascal +endif + +if !has_key(s:disabled_packages, 'passwd') + au BufNewFile,BufRead */etc/passwd,*/etc/passwd-,*/etc/passwd.edit,*/etc/shadow,*/etc/shadow-,*/etc/shadow.edit,*/var/backups/passwd.bak,*/var/backups/shadow.bak setf passwd +endif + +if !has_key(s:disabled_packages, 'papp') + au BufNewFile,BufRead *.papp,*.pxml,*.pxsl setf papp +endif + +if !has_key(s:disabled_packages, 'pamenv') + au BufNewFile,BufRead {.,}pam_environment,pam_env.conf setf pamenv +endif + +if !has_key(s:disabled_packages, 'pamconf') + au BufNewFile,BufRead */etc/pam.conf setf pamconf + au BufNewFile,BufRead */etc/pam.d/* call s:StarSetf('pamconf') +endif + +if !has_key(s:disabled_packages, 'pf') + au BufNewFile,BufRead pf.conf setf pf +endif + +if !has_key(s:disabled_packages, 'ora') + au BufNewFile,BufRead *.ora setf ora +endif + +if !has_key(s:disabled_packages, 'opl') + au BufNewFile,BufRead *.[Oo][Pp][Ll] setf opl +endif + +if !has_key(s:disabled_packages, 'openroad') + au BufNewFile,BufRead *.or setf openroad +endif + +if !has_key(s:disabled_packages, 'omnimark') + au BufNewFile,BufRead *.xin,*.xom setf omnimark +endif + +if !has_key(s:disabled_packages, 'occam') + au BufNewFile,BufRead *.occ setf occam +endif + +if !has_key(s:disabled_packages, 'nsis') + au BufNewFile,BufRead *.nsh,*.nsi setf nsis +endif + +if !has_key(s:disabled_packages, 'nqc') + au BufNewFile,BufRead *.nqc setf nqc +endif + +if !has_key(s:disabled_packages, 'nroff') + au BufNewFile,BufRead *.mom,*.nr,*.roff,*.tmac,*.tr setf nroff + au BufNewFile,BufRead tmac.* call s:StarSetf('nroff') +endif + +if !has_key(s:disabled_packages, 'ncf') + au BufNewFile,BufRead *.ncf setf ncf +endif + +if !has_key(s:disabled_packages, 'ninja') + au BufNewFile,BufRead *.ninja setf ninja +endif + +if !has_key(s:disabled_packages, 'netrc') + au BufNewFile,BufRead {.,}netrc setf netrc +endif + +if !has_key(s:disabled_packages, 'neomuttrc') + au BufNewFile,BufRead Neomuttrc setf neomuttrc + au BufNewFile,BufRead neomuttrc* call s:StarSetf('neomuttrc') + au BufNewFile,BufRead Neomuttrc* call s:StarSetf('neomuttrc') + au BufNewFile,BufRead {.,}neomuttrc* call s:StarSetf('neomuttrc') + au BufNewFile,BufRead */.neomutt/neomuttrc* call s:StarSetf('neomuttrc') +endif + +if !has_key(s:disabled_packages, 'natural') + au BufNewFile,BufRead *.NS[ACGLMNPS] setf natural +endif + +if !has_key(s:disabled_packages, 'nanorc') + au BufNewFile,BufRead *.nanorc,*/etc/nanorc setf nanorc +endif + +if !has_key(s:disabled_packages, 'n1ql') + au BufNewFile,BufRead *.n1ql,*.nql setf n1ql +endif + +if !has_key(s:disabled_packages, 'mush') + au BufNewFile,BufRead *.mush setf mush +endif + +if !has_key(s:disabled_packages, 'mupad') + au BufNewFile,BufRead *.mu setf mupad +endif + +if !has_key(s:disabled_packages, 'muttrc') + au BufNewFile,BufRead Mutt{ng,}rc setf muttrc + au BufNewFile,BufRead mutt{ng,}rc* call s:StarSetf('muttrc') + au BufNewFile,BufRead Mutt{ng,}rc* call s:StarSetf('muttrc') + au BufNewFile,BufRead {.,}mutt{ng,}rc* call s:StarSetf('muttrc') + au BufNewFile,BufRead */etc/Muttrc.d/* call s:StarSetf('muttrc') + au BufNewFile,BufRead */.mutt{ng,}/mutt{ng,}rc* call s:StarSetf('muttrc') +endif + +if !has_key(s:disabled_packages, 'mysql') + au BufNewFile,BufRead *.mysql setf mysql +endif + +if !has_key(s:disabled_packages, 'msql') + au BufNewFile,BufRead *.msql setf msql +endif + +if !has_key(s:disabled_packages, 'mrxvtrc') + au BufNewFile,BufRead {.,}mrxvtrc,mrxvtrc setf mrxvtrc +endif + +if !has_key(s:disabled_packages, 'srec') + au BufNewFile,BufRead *.mot,*.s19,*.s28,*.s37,*.srec setf srec +endif + +if !has_key(s:disabled_packages, 'mplayerconf') + au BufNewFile,BufRead */.mplayer/config,mplayer.conf setf mplayerconf +endif + +if !has_key(s:disabled_packages, 'modconf') + au BufNewFile,BufRead */etc/conf.modules,*/etc/modules,*/etc/modules.conf setf modconf + au BufNewFile,BufRead */etc/modprobe.* call s:StarSetf('modconf') +endif + +if !has_key(s:disabled_packages, 'moo') + au BufNewFile,BufRead *.moo setf moo +endif + +if !has_key(s:disabled_packages, 'monk') + au BufNewFile,BufRead *.isc,*.monk,*.ssc,*.tsc setf monk +endif + +if !has_key(s:disabled_packages, 'modula3') + au BufNewFile,BufRead *.[mi][3g] setf modula3 +endif + +if !has_key(s:disabled_packages, 'modula2') + au BufNewFile,BufRead *.DEF,*.MOD,*.m2,*.mi setf modula2 +endif + +if !has_key(s:disabled_packages, 'mmp') + au BufNewFile,BufRead *.mmp setf mmp +endif + +if !has_key(s:disabled_packages, 'mix') + au BufNewFile,BufRead *.mix,*.mixal setf mix +endif + +if !has_key(s:disabled_packages, 'mgl') + au BufNewFile,BufRead *.mgl setf mgl +endif + +if !has_key(s:disabled_packages, 'mp') + au BufNewFile,BufRead *.mp setf mp +endif + +if !has_key(s:disabled_packages, 'mf') + au BufNewFile,BufRead *.mf setf mf +endif + +if !has_key(s:disabled_packages, 'messages') + au BufNewFile,BufRead */log/{auth,cron,daemon,debug,kern,lpr,mail,messages,news/news,syslog,user}{,.log,.err,.info,.warn,.crit,.notice}{,.[0-9]*,-[0-9]*} setf messages +endif + +if !has_key(s:disabled_packages, 'hgcommit') + au BufNewFile,BufRead hg-editor-*.txt setf hgcommit +endif + +if !has_key(s:disabled_packages, 'mel') + au BufNewFile,BufRead *.mel setf mel +endif + +if !has_key(s:disabled_packages, 'map') + au BufNewFile,BufRead *.map setf map +endif + +if !has_key(s:disabled_packages, 'maple') + au BufNewFile,BufRead *.mpl,*.mv,*.mws setf maple +endif + +if !has_key(s:disabled_packages, 'manconf') + au BufNewFile,BufRead */etc/man.conf,man.config setf manconf +endif + +if !has_key(s:disabled_packages, 'man') + au BufNewFile,BufRead *.man setf man +endif + +if !has_key(s:disabled_packages, 'mallard') + au BufNewFile,BufRead *.page setf mallard +endif + +if !has_key(s:disabled_packages, 'ist') + au BufNewFile,BufRead *.ist,*.mst setf ist +endif + +if !has_key(s:disabled_packages, 'mailcap') + au BufNewFile,BufRead {.,}mailcap,mailcap setf mailcap +endif + +if !has_key(s:disabled_packages, 'mailaliases') + au BufNewFile,BufRead */etc/aliases,*/etc/mail/aliases setf mailaliases +endif + +if !has_key(s:disabled_packages, 'mail') + au BufNewFile,BufRead *.eml,{.,}article,{.,}article.\d\+,{.,}followup,{.,}letter,{.,}letter.\d\+,/tmp/SLRN[0-9A-Z.]\+,ae\d\+.txt,mutt[[:alnum:]_-]\\\{6\},mutt{ng,}-*-\w\+,neomutt-*-\w\+,neomutt[[:alnum:]_-]\\\{6\},pico.\d\+,snd.\d\+,{neo,}mutt[[:alnum:]._-]\\\{6\} setf mail + au BufNewFile,BufRead reportbug-* call s:StarSetf('mail') +endif + +if !has_key(s:disabled_packages, 'mgp') + au BufNewFile,BufRead *.mgp setf mgp +endif + +if !has_key(s:disabled_packages, 'lss') + au BufNewFile,BufRead *.lss setf lss +endif + +if !has_key(s:disabled_packages, 'lsl') + au BufNewFile,BufRead *.lsl setf lsl +endif + +if !has_key(s:disabled_packages, 'lout') + au BufNewFile,BufRead *.lou,*.lout setf lout +endif + +if !has_key(s:disabled_packages, 'lotos') + au BufNewFile,BufRead *.lot,*.lotos setf lotos +endif + +if !has_key(s:disabled_packages, 'logtalk') + au BufNewFile,BufRead *.lgt setf logtalk +endif + +if !has_key(s:disabled_packages, 'logindefs') + au BufNewFile,BufRead */etc/login.defs setf logindefs +endif + +if !has_key(s:disabled_packages, 'loginaccess') + au BufNewFile,BufRead */etc/login.access setf loginaccess +endif + +if !has_key(s:disabled_packages, 'litestep') + au BufNewFile,BufRead */LiteStep/*/*.rc setf litestep +endif + +if !has_key(s:disabled_packages, 'lite') + au BufNewFile,BufRead *.lite,*.lt setf lite +endif + +if !has_key(s:disabled_packages, 'liquid') + au BufNewFile,BufRead *.liquid setf liquid +endif + +if !has_key(s:disabled_packages, 'lisp') + au BufNewFile,BufRead *.cl,*.el,*.lisp,*.lsp,{.,}emacs,{.,}sawfishrc,{.,}sbclrc,sbclrc setf lisp +endif + +if !has_key(s:disabled_packages, 'lilo') + au BufNewFile,BufRead lilo.conf setf lilo + au BufNewFile,BufRead lilo.conf* call s:StarSetf('lilo') +endif + +if !has_key(s:disabled_packages, 'lifelines') + au BufNewFile,BufRead *.ll setf lifelines +endif + +if !has_key(s:disabled_packages, 'lftp') + au BufNewFile,BufRead *lftp/rc,{.,}lftprc,lftp.conf setf lftp +endif + +if !has_key(s:disabled_packages, 'sensors') + au BufNewFile,BufRead */etc/sensors.conf,*/etc/sensors3.conf setf sensors +endif + +if !has_key(s:disabled_packages, 'libao') + au BufNewFile,BufRead */.libao,*/etc/libao.conf setf libao +endif + +if !has_key(s:disabled_packages, 'lex') + au BufNewFile,BufRead *.l,*.l++,*.lex,*.lxx setf lex +endif + +if !has_key(s:disabled_packages, 'ld') + au BufNewFile,BufRead *.ld setf ld +endif + +if !has_key(s:disabled_packages, 'ldif') + au BufNewFile,BufRead *.ldif setf ldif +endif + +if !has_key(s:disabled_packages, 'lprolog') + au BufNewFile,BufRead *.sig setf lprolog +endif + +if !has_key(s:disabled_packages, 'limits') + au BufNewFile,BufRead */etc/*limits.conf,*/etc/*limits.d/*.conf,*/etc/limits setf limits +endif + +if !has_key(s:disabled_packages, 'latte') + au BufNewFile,BufRead *.latte,*.lte setf latte +endif + +if !has_key(s:disabled_packages, 'lace') + au BufNewFile,BufRead *.ACE,*.ace setf lace +endif + +if !has_key(s:disabled_packages, 'kconfig') + au BufNewFile,BufRead Kconfig,Kconfig.debug setf kconfig + au BufNewFile,BufRead Kconfig.* call s:StarSetf('kconfig') +endif + +if !has_key(s:disabled_packages, 'kscript') + au BufNewFile,BufRead *.ks setf kscript +endif + +if !has_key(s:disabled_packages, 'kivy') + au BufNewFile,BufRead *.kv setf kivy +endif + +if !has_key(s:disabled_packages, 'kwt') + au BufNewFile,BufRead *.k setf kwt +endif + +if !has_key(s:disabled_packages, 'kix') + au BufNewFile,BufRead *.kix setf kix +endif + +if !has_key(s:disabled_packages, 'jovial') + au BufNewFile,BufRead *.j73,*.jov,*.jovial setf jovial +endif + +if !has_key(s:disabled_packages, 'jgraph') + au BufNewFile,BufRead *.jgr setf jgraph +endif + +if !has_key(s:disabled_packages, 'jess') + au BufNewFile,BufRead *.clp setf jess +endif + +if !has_key(s:disabled_packages, 'jproperties') + au BufNewFile,BufRead *.properties,*.properties_??,*.properties_??_?? setf jproperties + au BufNewFile,BufRead *.properties_??_??_* call s:StarSetf('jproperties') +endif + +if !has_key(s:disabled_packages, 'jsp') + au BufNewFile,BufRead *.jsp setf jsp +endif + +if !has_key(s:disabled_packages, 'javacc') + au BufNewFile,BufRead *.jj,*.jjt setf javacc +endif + +if !has_key(s:disabled_packages, 'java') + au BufNewFile,BufRead *.jav,*.java setf java +endif + +if !has_key(s:disabled_packages, 'jam') + au BufNewFile,BufRead *.jpl,*.jpr setf jam + au BufNewFile,BufRead Prl*.* call s:StarSetf('jam') + au BufNewFile,BufRead JAM*.* call s:StarSetf('jam') +endif + +if !has_key(s:disabled_packages, 'jal') + au BufNewFile,BufRead *.JAL,*.jal setf jal +endif + +if !has_key(s:disabled_packages, 'j') + au BufNewFile,BufRead *.ijs setf j +endif + +if !has_key(s:disabled_packages, 'iss') + au BufNewFile,BufRead *.iss setf iss +endif + +if !has_key(s:disabled_packages, 'inittab') + au BufNewFile,BufRead inittab setf inittab +endif + +if !has_key(s:disabled_packages, 'fgl') + au BufNewFile,BufRead *.4gh,*.4gl,*.m4gl setf fgl +endif + +if !has_key(s:disabled_packages, 'ipfilter') + au BufNewFile,BufRead ipf.conf,ipf.rules,ipf6.conf setf ipfilter +endif + +if !has_key(s:disabled_packages, 'usw2kagtlog') + au BufNewFile,BufRead *.usw2kagt.log\c,usw2kagt.*.log\c,usw2kagt.log\c setf usw2kagtlog +endif + +if !has_key(s:disabled_packages, 'usserverlog') + au BufNewFile,BufRead *.usserver.log\c,usserver.*.log\c,usserver.log\c setf usserverlog +endif + +if !has_key(s:disabled_packages, 'upstreaminstalllog') + au BufNewFile,BufRead *.upstreaminstall.log\c,upstreaminstall.*.log\c,upstreaminstall.log\c setf upstreaminstalllog +endif + +if !has_key(s:disabled_packages, 'upstreamlog') + au BufNewFile,BufRead *.upstream.log\c,UPSTREAM-*.log\c,fdrupstream.log,upstream.*.log\c,upstream.log\c setf upstreamlog +endif + +if !has_key(s:disabled_packages, 'upstreamdat') + au BufNewFile,BufRead *.upstream.dat\c,upstream.*.dat\c,upstream.dat\c setf upstreamdat +endif + +if !has_key(s:disabled_packages, 'initng') + au BufNewFile,BufRead *.ii,*/etc/initng/*/*.i setf initng +endif + +if !has_key(s:disabled_packages, 'inform') + au BufNewFile,BufRead *.INF,*.inf setf inform +endif + +if !has_key(s:disabled_packages, 'indent') + au BufNewFile,BufRead {.,}indent.pro,indentrc setf indent +endif + +if !has_key(s:disabled_packages, 'icemenu') + au BufNewFile,BufRead */.icewm/menu setf icemenu +endif + +if !has_key(s:disabled_packages, 'msidl') + au BufNewFile,BufRead *.mof,*.odl setf msidl +endif + +if !has_key(s:disabled_packages, 'icon') + au BufNewFile,BufRead *.icn setf icon +endif + +if !has_key(s:disabled_packages, 'httest') + au BufNewFile,BufRead *.htb,*.htt setf httest +endif + +if !has_key(s:disabled_packages, 'hb') + au BufNewFile,BufRead *.hb setf hb +endif + +if !has_key(s:disabled_packages, 'hostsaccess') + au BufNewFile,BufRead */etc/hosts.allow,*/etc/hosts.deny setf hostsaccess +endif + +if !has_key(s:disabled_packages, 'hostconf') + au BufNewFile,BufRead */etc/host.conf setf hostconf +endif + +if !has_key(s:disabled_packages, 'template') + au BufNewFile,BufRead *.tmpl setf template +endif + +if !has_key(s:disabled_packages, 'htmlm4') + au BufNewFile,BufRead *.html.m4 setf htmlm4 +endif + +if !has_key(s:disabled_packages, 'tilde') + au BufNewFile,BufRead *.t.html setf tilde +endif + +if !has_key(s:disabled_packages, 'hollywood') + au BufNewFile,BufRead *.hws setf hollywood +endif + +if !has_key(s:disabled_packages, 'hex') + au BufNewFile,BufRead *.h32,*.hex setf hex +endif + +if !has_key(s:disabled_packages, 'hercules') + au BufNewFile,BufRead *.errsum,*.ev,*.sum,*.vc setf hercules +endif + +if !has_key(s:disabled_packages, 'hastepreproc') + au BufNewFile,BufRead *.htpp setf hastepreproc +endif + +if !has_key(s:disabled_packages, 'haste') + au BufNewFile,BufRead *.ht setf haste +endif + +if !has_key(s:disabled_packages, 'chaskell') + au BufNewFile,BufRead *.chs setf chaskell +endif + +if !has_key(s:disabled_packages, 'lhaskell') + au BufNewFile,BufRead *.lhs setf lhaskell +endif + +if !has_key(s:disabled_packages, 'gtkrc') + au BufNewFile,BufRead {.,}gtkrc,gtkrc setf gtkrc + au BufNewFile,BufRead gtkrc* call s:StarSetf('gtkrc') + au BufNewFile,BufRead {.,}gtkrc* call s:StarSetf('gtkrc') +endif + +if !has_key(s:disabled_packages, 'group') + au BufNewFile,BufRead */etc/group,*/etc/group-,*/etc/group.edit,*/etc/gshadow,*/etc/gshadow-,*/etc/gshadow.edit,*/var/backups/group.bak,*/var/backups/gshadow.bak setf group +endif + +if !has_key(s:disabled_packages, 'gsp') + au BufNewFile,BufRead *.gsp setf gsp +endif + +if !has_key(s:disabled_packages, 'gretl') + au BufNewFile,BufRead *.gretl setf gretl +endif + +if !has_key(s:disabled_packages, 'grads') + au BufNewFile,BufRead *.gs setf grads +endif + +if !has_key(s:disabled_packages, 'gitolite') + au BufNewFile,BufRead gitolite.conf setf gitolite + au BufNewFile,BufRead */gitolite-admin/conf/* call s:StarSetf('gitolite') +endif + +if !has_key(s:disabled_packages, 'gnash') + au BufNewFile,BufRead {.,}gnashpluginrc,{.,}gnashrc,gnashpluginrc,gnashrc setf gnash +endif + +if !has_key(s:disabled_packages, 'gpg') + au BufNewFile,BufRead */.gnupg/gpg.conf,*/.gnupg/options,*/usr/*/gnupg/options.skel setf gpg +endif + +if !has_key(s:disabled_packages, 'gp') + au BufNewFile,BufRead *.gp,{.,}gprc setf gp +endif + +if !has_key(s:disabled_packages, 'gkrellmrc') + au BufNewFile,BufRead gkrellmrc,gkrellmrc_? setf gkrellmrc +endif + +if !has_key(s:disabled_packages, 'gedcom') + au BufNewFile,BufRead *.ged,lltxxxxx.txt setf gedcom + au BufNewFile,BufRead */tmp/lltmp* call s:StarSetf('gedcom') +endif + +if !has_key(s:disabled_packages, 'gdmo') + au BufNewFile,BufRead *.gdmo,*.mo setf gdmo +endif + +if !has_key(s:disabled_packages, 'gdb') + au BufNewFile,BufRead {.,}gdbinit setf gdb +endif + +if !has_key(s:disabled_packages, 'fstab') + au BufNewFile,BufRead fstab,mtab setf fstab +endif + +if !has_key(s:disabled_packages, 'framescript') + au BufNewFile,BufRead *.fsl setf framescript +endif + +if !has_key(s:disabled_packages, 'fortran') + au BufNewFile,BufRead *.f,*.f03,*.f08,*.f77,*.f90,*.f95,*.for,*.fortran,*.fpp,*.ftn setf fortran +endif + +if !has_key(s:disabled_packages, 'reva') + au BufNewFile,BufRead *.frt setf reva +endif + +if !has_key(s:disabled_packages, 'focexec') + au BufNewFile,BufRead *.fex,*.focexec setf focexec +endif + +if !has_key(s:disabled_packages, 'fetchmail') + au BufNewFile,BufRead {.,}fetchmailrc setf fetchmail +endif + +if !has_key(s:disabled_packages, 'factor') + au BufNewFile,BufRead *.factor setf factor +endif + +if !has_key(s:disabled_packages, 'fan') + au BufNewFile,BufRead *.fan,*.fwt setf fan +endif + +if !has_key(s:disabled_packages, 'falcon') + au BufNewFile,BufRead *.fal setf falcon +endif + +if !has_key(s:disabled_packages, 'exports') + au BufNewFile,BufRead exports setf exports +endif + +if !has_key(s:disabled_packages, 'expect') + au BufNewFile,BufRead *.exp setf expect +endif + +if !has_key(s:disabled_packages, 'exim') + au BufNewFile,BufRead exim.conf setf exim +endif + +if !has_key(s:disabled_packages, 'csc') + au BufNewFile,BufRead *.csc setf csc +endif + +if !has_key(s:disabled_packages, 'esterel') + au BufNewFile,BufRead *.strl setf esterel +endif + +if !has_key(s:disabled_packages, 'esqlc') + au BufNewFile,BufRead *.EC,*.ec setf esqlc +endif + +if !has_key(s:disabled_packages, 'esmtprc') + au BufNewFile,BufRead *esmtprc setf esmtprc +endif + +if !has_key(s:disabled_packages, 'elmfilt') + au BufNewFile,BufRead filter-rules setf elmfilt +endif + +if !has_key(s:disabled_packages, 'elinks') + au BufNewFile,BufRead elinks.conf setf elinks +endif + +if !has_key(s:disabled_packages, 'ecd') + au BufNewFile,BufRead *.ecd setf ecd +endif + +if !has_key(s:disabled_packages, 'edif') + au BufNewFile,BufRead *.ed\(f\|if\|o\) setf edif +endif + +if !has_key(s:disabled_packages, 'dts') + au BufNewFile,BufRead *.dts,*.dtsi setf dts +endif + +if !has_key(s:disabled_packages, 'dtd') + au BufNewFile,BufRead *.dtd setf dtd +endif + +if !has_key(s:disabled_packages, 'dsl') + au BufNewFile,BufRead *.dsl setf dsl +endif + +if !has_key(s:disabled_packages, 'datascript') + au BufNewFile,BufRead *.ds setf datascript +endif + +if !has_key(s:disabled_packages, 'dracula') + au BufNewFile,BufRead *.drac,*.drc,*lpe,*lvs setf dracula + au BufNewFile,BufRead drac.* call s:StarSetf('dracula') +endif + +if !has_key(s:disabled_packages, 'def') + au BufNewFile,BufRead *.def setf def +endif + +if !has_key(s:disabled_packages, 'dylan') + au BufNewFile,BufRead *.dylan setf dylan +endif + +if !has_key(s:disabled_packages, 'dylanintr') + au BufNewFile,BufRead *.intr setf dylanintr +endif + +if !has_key(s:disabled_packages, 'dylanlid') + au BufNewFile,BufRead *.lid setf dylanlid +endif + +if !has_key(s:disabled_packages, 'dot') + au BufNewFile,BufRead *.dot,*.gv setf dot +endif + +if !has_key(s:disabled_packages, 'dircolors') + au BufNewFile,BufRead */etc/DIR_COLORS,{.,}dir_colors,{.,}dircolors setf dircolors +endif + +if !has_key(s:disabled_packages, 'diff') + au BufNewFile,BufRead *.diff,*.rej setf diff +endif + +if !has_key(s:disabled_packages, 'dictdconf') + au BufNewFile,BufRead dictd.conf setf dictdconf +endif + +if !has_key(s:disabled_packages, 'dictconf') + au BufNewFile,BufRead {.,}dictrc,dict.conf setf dictconf +endif + +if !has_key(s:disabled_packages, 'desktop') + au BufNewFile,BufRead *.desktop,*.directory setf desktop +endif + +if !has_key(s:disabled_packages, 'desc') + au BufNewFile,BufRead *.desc setf desc +endif + +if !has_key(s:disabled_packages, 'dnsmasq') + au BufNewFile,BufRead */etc/dnsmasq.conf setf dnsmasq + au BufNewFile,BufRead */etc/dnsmasq.d/* call s:StarSetf('dnsmasq') +endif + +if !has_key(s:disabled_packages, 'denyhosts') + au BufNewFile,BufRead denyhosts.conf setf denyhosts +endif + +if !has_key(s:disabled_packages, 'debsources') + au BufNewFile,BufRead */etc/apt/sources.list,*/etc/apt/sources.list.d/*.list setf debsources +endif + +if !has_key(s:disabled_packages, 'debcopyright') + au BufNewFile,BufRead */debian/copyright setf debcopyright +endif + +if !has_key(s:disabled_packages, 'debcontrol') + au BufNewFile,BufRead */debian/control setf debcontrol +endif + +if !has_key(s:disabled_packages, 'cuplsim') + au BufNewFile,BufRead *.si setf cuplsim +endif + +if !has_key(s:disabled_packages, 'cupl') + au BufNewFile,BufRead *.pld setf cupl +endif + +if !has_key(s:disabled_packages, 'csp') + au BufNewFile,BufRead *.csp,*.fdr setf csp +endif + +if !has_key(s:disabled_packages, 'quake') + au BufNewFile,BufRead *baseq[2-3]/*.cfg,*id1/*.cfg,*quake[1-3]/*.cfg setf quake +endif + +if !has_key(s:disabled_packages, 'lynx') + au BufNewFile,BufRead lynx.cfg setf lynx +endif + +if !has_key(s:disabled_packages, 'eterm') + au BufNewFile,BufRead *Eterm/*.cfg setf eterm +endif + +if !has_key(s:disabled_packages, 'dcd') + au BufNewFile,BufRead *.dcd setf dcd +endif + +if !has_key(s:disabled_packages, 'cuda') + au BufNewFile,BufRead *.cu,*.cuh setf cuda +endif + +if !has_key(s:disabled_packages, 'config') + au BufNewFile,BufRead Pipfile,configure.ac,configure.in setf config + au BufNewFile,BufRead /etc/hostname.* call s:StarSetf('config') +endif + +if !has_key(s:disabled_packages, 'cf') + au BufNewFile,BufRead *.cfc,*.cfi,*.cfm setf cf +endif + +if !has_key(s:disabled_packages, 'coco') + au BufNewFile,BufRead *.atg setf coco +endif + +if !has_key(s:disabled_packages, 'cobol') + au BufNewFile,BufRead *.cbl,*.cob,*.lib setf cobol +endif + +if !has_key(s:disabled_packages, 'cmusrc') + au BufNewFile,BufRead */.cmus/{autosave,rc,command-history,*.theme},*/cmus/{rc,*.theme} setf cmusrc +endif + +if !has_key(s:disabled_packages, 'cl') + au BufNewFile,BufRead *.eni setf cl +endif + +if !has_key(s:disabled_packages, 'clean') + au BufNewFile,BufRead *.dcl,*.icl setf clean +endif + +if !has_key(s:disabled_packages, 'chordpro') + au BufNewFile,BufRead *.cho,*.chopro,*.chordpro,*.crd,*.crdpro setf chordpro +endif + +if !has_key(s:disabled_packages, 'chill') + au BufNewFile,BufRead *..ch setf chill +endif + +if !has_key(s:disabled_packages, 'debchangelog') + au BufNewFile,BufRead NEWS.Debian,NEWS.dch,changelog.Debian,changelog.dch setf debchangelog +endif + +if !has_key(s:disabled_packages, 'cterm') + au BufNewFile,BufRead *.con setf cterm +endif + +if !has_key(s:disabled_packages, 'css') + au BufNewFile,BufRead *.css setf css +endif + +if !has_key(s:disabled_packages, 'ch') + au BufNewFile,BufRead *.chf setf ch +endif + +if !has_key(s:disabled_packages, 'cynpp') + au BufNewFile,BufRead *.cyn setf cynpp +endif + +if !has_key(s:disabled_packages, 'crm') + au BufNewFile,BufRead *.crm setf crm +endif + +if !has_key(s:disabled_packages, 'conaryrecipe') + au BufNewFile,BufRead *.recipe setf conaryrecipe +endif + +if !has_key(s:disabled_packages, 'cdl') + au BufNewFile,BufRead *.cdl setf cdl +endif + +if !has_key(s:disabled_packages, 'chaiscript') + au BufNewFile,BufRead *.chai setf chaiscript +endif + +if !has_key(s:disabled_packages, 'cfengine') + au BufNewFile,BufRead cfengine.conf setf cfengine +endif + +if !has_key(s:disabled_packages, 'cdrdaoconf') + au BufNewFile,BufRead */etc/cdrdao.conf,*/etc/default/cdrdao,*/etc/defaults/cdrdao,{.,}cdrdao setf cdrdaoconf +endif + +if !has_key(s:disabled_packages, 'cdrtoc') + au BufNewFile,BufRead *.toc setf cdrtoc +endif + +if !has_key(s:disabled_packages, 'cabal') + au BufNewFile,BufRead *.cabal setf cabal +endif + +if !has_key(s:disabled_packages, 'csdl') + au BufNewFile,BufRead *.csdl setf csdl +endif + +if !has_key(s:disabled_packages, 'cs') + au BufNewFile,BufRead *.cs setf cs +endif + +if !has_key(s:disabled_packages, 'calendar') + au BufNewFile,BufRead calendar setf calendar + au BufNewFile,BufRead */share/calendar/calendar.* call s:StarSetf('calendar') + au BufNewFile,BufRead */share/calendar/*/calendar.* call s:StarSetf('calendar') + au BufNewFile,BufRead */.calendar/* call s:StarSetf('calendar') +endif + +if !has_key(s:disabled_packages, 'lpc') + au BufNewFile,BufRead *.lpc,*.ulpc setf lpc +endif + +if !has_key(s:disabled_packages, 'bsdl') + au BufNewFile,BufRead *.bsdl,*bsd setf bsdl +endif + +if !has_key(s:disabled_packages, 'blank') + au BufNewFile,BufRead *.bl setf blank +endif + +if !has_key(s:disabled_packages, 'bindzone') + au BufNewFile,BufRead named.root setf bindzone + au BufNewFile,BufRead */named/db.* call s:StarSetf('bindzone') + au BufNewFile,BufRead */bind/db.* call s:StarSetf('bindzone') +endif + +if !has_key(s:disabled_packages, 'named') + au BufNewFile,BufRead named*.conf,rndc*.conf,rndc*.key setf named +endif + +if !has_key(s:disabled_packages, 'bst') + au BufNewFile,BufRead *.bst setf bst +endif + +if !has_key(s:disabled_packages, 'bib') + au BufNewFile,BufRead *.bib setf bib +endif + +if !has_key(s:disabled_packages, 'bdf') + au BufNewFile,BufRead *.bdf setf bdf +endif + +if !has_key(s:disabled_packages, 'bc') + au BufNewFile,BufRead *.bc setf bc +endif + +if !has_key(s:disabled_packages, 'dosbatch') + au BufNewFile,BufRead *.bat,*.sys setf dosbatch +endif + if !has_key(s:disabled_packages, 'hamster') au BufNewFile,BufRead *.hsc,*.hsm setf hamster endif @@ -164,6 +1719,10 @@ if !has_key(s:disabled_packages, 'dosini') au BufNewFile,BufRead */etc/yum.repos.d/* call s:StarSetf('dosini') endif +if !has_key(s:disabled_packages, 'spec') + au BufNewFile,BufRead *.spec setf spec +endif + if !has_key(s:disabled_packages, 'visual-basic') au! BufNewFile,BufRead,BufWritePost *.bas call polyglot#detect#Bas() au BufNewFile,BufRead *.cls,*.ctl,*.dsm,*.frm,*.frx,*.sba,*.vba,*.vbs setf vb @@ -194,6 +1753,10 @@ if !has_key(s:disabled_packages, 'helm') au BufNewFile,BufRead */templates/*.tpl,*/templates/*.yaml setf helm endif +if !has_key(s:disabled_packages, 'smarty') + au BufNewFile,BufRead *.tpl setf smarty +endif + if !has_key(s:disabled_packages, 'ansible') au BufNewFile,BufRead handlers.*.y{a,}ml,local.y{a,}ml,main.y{a,}ml,playbook.y{a,}ml,requirements.y{a,}ml,roles.*.y{a,}ml,site.y{a,}ml,tasks.*.y{a,}ml setf yaml.ansible au BufNewFile,BufRead host_vars/* call s:StarSetf('yaml.ansible') @@ -274,6 +1837,10 @@ if !has_key(s:disabled_packages, 'terraform') au BufNewFile,BufRead *.tf,*.tfvars setf terraform endif +if !has_key(s:disabled_packages, 'tf') + au BufNewFile,BufRead *.tf,{.,}tfrc,tfrc setf tf +endif + if !has_key(s:disabled_packages, 'systemd') au BufNewFile,BufRead *.automount,*.dnssd,*.link,*.mount,*.netdev,*.network,*.nspawn,*.path,*.service,*.slice,*.socket,*.swap,*.target,*.timer,*/systemd/*.conf setf systemd au BufNewFile,BufRead *.#* call s:StarSetf('systemd') @@ -464,6 +2031,10 @@ if !has_key(s:disabled_packages, 'perl') au BufNewFile,BufRead *.xs setf xs endif +if !has_key(s:disabled_packages, 'rc') + au BufNewFile,BufRead *.rc,*.rch setf rc +endif + if !has_key(s:disabled_packages, 'opencl') au BufNewFile,BufRead *.cl,*.opencl setf opencl endif @@ -856,7 +2427,7 @@ if !has_key(s:disabled_packages, 'asn') endif if !has_key(s:disabled_packages, 'automake') - au BufNewFile,BufRead GNUmakefile.am,[Mm]akefile.am setf automake + au BufNewFile,BufRead *.dsp,*.mak,*.mk,GNUmakefile.am,Makefile.am,makefile.am setf automake endif if !has_key(s:disabled_packages, 'elf') @@ -1008,6 +2579,14 @@ if !has_key(s:disabled_packages, 'conf') au BufNewFile,BufRead *.conf,auto.master,config setf conf endif +if !has_key(s:disabled_packages, 'master') + au BufNewFile,BufRead *.mas,*.master setf master +endif + +if !has_key(s:disabled_packages, 'cfg') + au BufNewFile,BufRead *.cfg,*.hgrc,*hgrc setf cfg +endif + if !has_key(s:disabled_packages, '8th') " 8th (Firth-derivative) au BufNewFile,BufRead *.8th setf 8th diff --git a/ftplugin/bdf.vim b/ftplugin/bdf.vim new file mode 100644 index 00000000..e18c493c --- /dev/null +++ b/ftplugin/bdf.vim @@ -0,0 +1,24 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'bdf') == -1 + +" Vim filetype plugin file +" Language: BDF font definition +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=b:COMMENT commentstring=COMMENT\ %s +setlocal formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/bst.vim b/ftplugin/bst.vim new file mode 100644 index 00000000..e4445546 --- /dev/null +++ b/ftplugin/bst.vim @@ -0,0 +1,19 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'bst') == -1 + +" Vim filetype plugin file +" Language: bst +" Author: Tim Pope +" $Id: bst.vim,v 1.1 2007/05/05 17:37:57 vimboss Exp $ + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +setlocal commentstring=%\ %s +setlocal comments=:% +setlocal fo-=t fo+=croql + +let b:undo_ftplugin = "setlocal com< cms< fo<" + +endif diff --git a/ftplugin/calendar.vim b/ftplugin/calendar.vim new file mode 100644 index 00000000..1ce0e41d --- /dev/null +++ b/ftplugin/calendar.vim @@ -0,0 +1,24 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'calendar') == -1 + +" Vim filetype plugin file +" Language: calendar(1) input file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< inc< fo<" + +setlocal comments=s1:/*,mb:*,ex:*/ commentstring& include& +setlocal formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/cdrdaoconf.vim b/ftplugin/cdrdaoconf.vim new file mode 100644 index 00000000..8b114fcb --- /dev/null +++ b/ftplugin/cdrdaoconf.vim @@ -0,0 +1,22 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cdrdaoconf') == -1 + +" Vim filetype plugin file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2007-12-04 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/cfg.vim b/ftplugin/cfg.vim new file mode 100644 index 00000000..6b4fb062 --- /dev/null +++ b/ftplugin/cfg.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cfg') == -1 + +" Vim filetype plugin file +" Language: Configuration File +" Maintainer: Christian Brabandt +" Latest Revision: 2018-12-24 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl cms< fo<" + +setlocal commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/ch.vim b/ftplugin/ch.vim new file mode 100644 index 00000000..71f4870b --- /dev/null +++ b/ftplugin/ch.vim @@ -0,0 +1,21 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ch') == -1 + +" Vim filetype plugin file +" Language: Ch +" Maintainer: SoftIntegration, Inc. +" URL: http://www.softintegration.com/download/vim/ftplugin/ch.vim +" Last change: 2004 May 16 +" Created based on cpp.vim +" +" Ch is a C/C++ interpreter with many high level extensions +" + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" Behaves just like C +runtime! ftplugin/c.vim ftplugin/c_*.vim ftplugin/c/*.vim + +endif diff --git a/ftplugin/cobol.vim b/ftplugin/cobol.vim new file mode 100644 index 00000000..45050de2 --- /dev/null +++ b/ftplugin/cobol.vim @@ -0,0 +1,273 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cobol') == -1 + +" Vim filetype plugin file +" Language: cobol +" Maintainer: Ankit Jain +" (formerly Tim Pope ) +" Last Update: By Ankit Jain (add gtk support) on 15.08.2020 + +" Insert mode mappings: +" Normal mode mappings: < > << >> [[ ]] [] ][ +" Visual mode mappings: < > + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +setlocal commentstring=\ \ \ \ \ \ *%s +setlocal comments=:* +setlocal fo+=croqlt +setlocal expandtab +setlocal textwidth=72 + +" matchit support +if exists("loaded_matchit") + let s:ordot = '\|\ze\.\%( \@=\|$\)' + let b:match_ignorecase=1 + "let b:match_skip = 'getline(".") =~ "^.\\{6\\}[*/C]"' + let b:match_words= + \ '\$if\>:$else\>:\$endif\>,' . + \ '[$-]\@:\<\%(then\|else\)\>:\'.s:ordot.',' . + \ '-\@:\'.s:ordot . ',' . + \ '-\@:\<\%(when\)\>:\' .s:ordot . ',' . + \ '-\@\%(.*\(\%$\|\%(\n\%(\%(\s*\|.\{6\}\)[*/].*\n\)*\)\=\s*\%(not\s\+\)\=on\s\+size\s\+error\>\)\)\@=:\%(\:\' .s:ordot . ',' . + \ '-\@\%(.*\(\%$\|\%(\n\%(\%(\s*\|.\{6\}\)[*/].*\n\)*\)\=\s*\%(not\s\+\)\=on\s\+\%(overflow\|exception\)\>\)\)\@=:\%(\:\' .s:ordot . ',' . + \ '-\@\%(.*\(\%$\|\%(\n\%(\%(\s*\|.\{6\}\)[*/].*\n\)*\)\=\s*\%(invalid\s\+key\|at\s\+end\|no\s\+data\|at\s\+end-of-page\)\>\)\)\@=:\%(\:\' .s:ordot +endif + +" add gtk support +if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter") + let b:browsefilter = "COBOL Source Files (*.cbl, *.cob)\t*.cbl;*.cob;*.lib\n". + \ "All Files (*.*)\t*.*\n" +endif + +let b:undo_ftplugin = "setlocal com< cms< fo< et< tw<" . + \ " | unlet! b:browsefilter b:match_words b:match_ignorecase b:match_skip" +if !exists("g:no_plugin_maps") && !exists("g:no_cobol_maps") + let b:undo_ftplugin = b:undo_ftplugin . + \ " | sil! exe 'nunmap <'" . + \ " | sil! exe 'nunmap >'" . + \ " | sil! exe 'nunmap <<'" . + \ " | sil! exe 'nunmap >>'" . + \ " | sil! exe 'vunmap <'" . + \ " | sil! exe 'vunmap >'" . + \ " | sil! exe 'iunmap '" . + \ " | sil! exe 'iunmap '" . + \ " | sil! exe 'iunmap '" . + \ " | sil! exe 'nunmap Traditional'" . + \ " | sil! exe 'nunmap Comment'" . + \ " | sil! exe 'nunmap DeComment'" . + \ " | sil! exe 'vunmap VisualTraditional'" . + \ " | sil! exe 'vunmap VisualComment'" . + \ " | sil! exe 'iunmap VisualDeComment'" . + \ " | sil! exe 'unmap [['" . + \ " | sil! exe 'unmap ]]'" . + \ " | sil! exe 'unmap []'" . + \ " | sil! exe 'unmap ]['" +endif + +if !exists("g:no_plugin_maps") && !exists("g:no_cobol_maps") + if version >= 700 + nnoremap > :set opfunc=IncreaseFuncg@ + nnoremap < :set opfunc=DecreaseFuncg@ + endif + nnoremap >> :call CobolIndentBlock(1) + nnoremap << :call CobolIndentBlock(-1) + vnoremap > :call CobolIndentBlock(v:count1) + vnoremap < :call CobolIndentBlock(-v:count1) + inoremap =IncreaseIndent()=RestoreShiftwidth() + inoremap =DecreaseIndent()=RestoreShiftwidth() + if !maparg("","i") + inoremap =Tab()=RestoreShiftwidth() + endif + noremap [[ m':call search('\c^\%(\s*\.\{6\}\s\+\)\zs[A-Za-z0-9-]\+\s\+\%(division\section\)\s*\.','bW') + noremap ]] m':call search('\c^\%(\s*\.\{6\}\s\+\)\zs[A-Za-z0-9-]\+\s\+\%(division\section\)\.','W') + noremap [] m':call toend('b') + noremap ][ m':call toend('') + " For EnhancedCommentify + noremap Traditional :call Comment('t') + noremap Comment :call Comment('c') + noremap DeComment :call Comment('u') + noremap VisualTraditional :'<,'>call Comment('t') + noremap VisualComment :'<,'>call Comment('c') + noremap VisualDeComment :'<,'>call Comment('u') +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +if exists("g:did_cobol_ftplugin_functions") + finish +endif +let g:did_cobol_ftplugin_functions = 1 + +function! s:repeat(str,count) + let i = 0 + let ret = "" + while i < a:count + let ret = ret . a:str + let i = i + 1 + endwhile + return ret +endfunction + +function! s:increase(...) + let lnum = '.' + let sw = shiftwidth() + let i = a:0 ? a:1 : indent(lnum) + if i >= 11 + return sw - (i - 11) % sw + elseif i >= 7 + return 11-i + elseif i == 6 + return 1 + else + return 6-i + endif +endfunction + +function! s:decrease(...) + let lnum = '.' + let sw = shiftwidth() + let i = indent(a:0 ? a:1 : lnum) + if i >= 11 + sw + return 1 + (i + 12) % sw + elseif i > 11 + return i-11 + elseif i > 7 + return i-7 + elseif i == 7 + return 1 + else + return i + endif +endfunction + +function! CobolIndentBlock(shift) + let head = strpart(getline('.'),0,7) + let tail = strpart(getline('.'),7) + let indent = match(tail,'[^ ]') + let sw = shiftwidth() + let shift = a:shift + if shift > 0 + if indent < 4 + let tail = s:repeat(" ",4-indent).tail + let shift = shift - 1 + endif + let tail = s:repeat(" ",shift*sw).tail + let shift = 0 + elseif shift < 0 + if (indent-4) > -shift * sw + let tail = strpart(tail,-shift * sw) + elseif (indent-4) > (-shift-1) * sw + let tail = strpart(tail,indent - 4) + else + let tail = strpart(tail,indent) + endif + endif + call setline('.',head.tail) +endfunction + +function! s:IncreaseFunc(type) + '[,']call CobolIndentBlock(1) +endfunction + +function! s:DecreaseFunc(type) + '[,']call CobolIndentBlock(-1) +endfunction + +function! s:IncreaseIndent() + let c = "\" + if exists("*InsertCtrlTWrapper") + let key = InsertCtrlTWrapper() + if key != c + return key + endif + endif + let interval = s:increase() + let b:cobol_shiftwidth = &shiftwidth + let &shiftwidth = 1 + let lastchar = strpart(getline('.'),col('.')-2,1) + if lastchar == '0' || lastchar == '^' + return "\".lastchar.c + else + return s:repeat(c,interval) + endif +endfunction + +function! s:DecreaseIndent() + let c = "\" + if exists("*InsertCtrlDWrapper") + " I hack Ctrl-D to delete when not at the end of the line. + let key = InsertCtrlDWrapper() + if key != c + return key + endif + endif + let interval = s:decrease() + let b:cobol_shiftwidth = &shiftwidth + let &shiftwidth = 1 + return s:repeat(c,interval) +endfunction + +function! s:RestoreShiftwidth() + if exists("b:cobol_shiftwidth") + let &shiftwidth=b:cobol_shiftwidth + unlet b:cobol_shiftwidth + endif + return "" +endfunction + +function! s:Tab() + if (strpart(getline('.'),0,col('.')-1) =~ '^\s*$' && &sta) + return s:IncreaseIndent() + " &softtabstop < 0: &softtabstop follows &shiftwidth + elseif (&sts < 0 || &sts == shiftwidth()) && &sts != 8 && &et + return s:repeat(" ",s:increase(col('.')-1)) + else + return "\" + endif +endfunction + +function! s:Comment(arg) + " For EnhancedCommentify + let line = getline('.') + if (line =~ '^.\{6\}[*/C]' || a:arg == 'c') && a:arg != 'u' + let line = substitute(line,'^.\{6\}\zs.',' ','') + else + let line = substitute(line,'^.\{6\}\zs.','*','') + endif + call setline('.',line) +endfunction + +function! s:toend(direction) + let ignore = '^\(\s*\|.\{6\}\)\%([*/]\|\s*$\)' + let keep = line('.') + keepjumps + + while line('.') < line('$') && getline('.') =~ ignore + keepjumps + + endwhile + let res = search('\c^\%(\s*\|.\{6\}\s\+\)\zs[A-Za-z0-9-]\+\s\+\%(division\|section\)\s*\.',a:direction.'W') + if a:direction != 'b' && !res + let res = line('$') + keepjumps $ + elseif res + keepjumps - + endif + if res + while line('.') > 1 && getline('.') =~ ignore + keepjumps - + endwhile + if line('.') == 1 && getline('.') =~ ignore + exe "keepjumps ".keep + endif + else + exe "keepjumps ".keep + endif +endfunction + +endif diff --git a/ftplugin/config.vim b/ftplugin/config.vim new file mode 100644 index 00000000..d6a4281b --- /dev/null +++ b/ftplugin/config.vim @@ -0,0 +1,46 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'config') == -1 + +" Vim filetype plugin file +" Language: config +" Maintainer: Dan Sharp +" Last Changed: 20 Jan 2009 +" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin + +if exists("b:did_ftplugin") | finish | endif + +" Make sure the continuation lines below do not cause problems in +" compatibility mode. +let s:save_cpo = &cpo +set cpo-=C + +" Define some defaults in case the included ftplugins don't set them. +let s:undo_ftplugin = "" +let s:browsefilter = "Bourne Shell Files (*.sh)\t*.sh\n" . + \ "All Files (*.*)\t*.*\n" +let s:match_words = "" + +runtime! ftplugin/sh.vim ftplugin/sh_*.vim ftplugin/sh/*.vim +let b:did_ftplugin = 1 + +" Override our defaults if these were set by an included ftplugin. +if exists("b:undo_ftplugin") + let s:undo_ftplugin = b:undo_ftplugin +endif +if exists("b:browsefilter") + let s:browsefilter = b:browsefilter +endif + +" Change the :browse e filter to primarily show configure-related files. +if has("gui_win32") + let b:browsefilter="Configure Scripts (configure.*, config.*)\tconfigure*;config.*\n" . + \ s:browsefilter +endif + +" Undo the stuff we changed. +let b:undo_ftplugin = "unlet! b:browsefilter | " . b:undo_ftplugin + +" Restore the saved compatibility options. +let &cpo = s:save_cpo +unlet s:save_cpo + +endif diff --git a/ftplugin/context.vim b/ftplugin/context.vim new file mode 100644 index 00000000..2e68ecfc --- /dev/null +++ b/ftplugin/context.vim @@ -0,0 +1,106 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'context') == -1 + +" Vim filetype plugin file +" Language: ConTeXt typesetting engine +" Maintainer: Nicola Vitacolonna +" Former Maintainers: Nikolai Weibull +" Latest Revision: 2016 Oct 30 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +if !exists('current_compiler') + compiler context +endif + +let b:undo_ftplugin = "setl com< cms< def< inc< sua< fo< ofu<" + \ . "| unlet! b:match_ignorecase b:match_words b:match_skip" + +setlocal comments=b:%D,b:%C,b:%M,:% commentstring=%\ %s formatoptions+=tjcroql2 +if get(b:, 'context_metapost', get(g:, 'context_metapost', 1)) + setlocal omnifunc=contextcomplete#Complete + let g:omni_syntax_group_include_context = 'mf\w\+,mp\w\+' + let g:omni_syntax_group_exclude_context = 'mfTodoComment' +endif + +let &l:define='\\\%([egx]\|char\|mathchar\|count\|dimen\|muskip\|skip\|toks\)\=' + \ . 'def\|\\font\|\\\%(future\)\=let' + \ . '\|\\new\%(count\|dimen\|skip\|muskip\|box\|toks\|read\|write' + \ . '\|fam\|insert\|if\)' + +let &l:include = '^\s*\\\%(input\|component\|product\|project\|environment\)' + +setlocal suffixesadd=.tex + +if exists("loaded_matchit") + let b:match_ignorecase = 0 + let b:match_skip = 'r:\\\@', + \ 'endsection' : '\\\%(stop\)\=\%(\%(sub\)*section\|\%(sub\)*subject\|chapter\|part\|component\|product\|title\)\>', + \ 'beginblock' : '\\\%(start\|setup\|define\)', + \ 'endblock' : '\\\%(stop\|setup\|define\)' + \ } + +function! s:move_around(count, what, flags, visual) + if a:visual + exe "normal! gv" + endif + call search(s:context_regex[a:what], a:flags.'s') " 's' sets previous context mark + call map(range(2, a:count), 'search(s:context_regex[a:what], a:flags)') +endfunction + +" Move around macros. +nnoremap [[ :call move_around(v:count1, "beginsection", "bW", v:false) +vnoremap [[ :call move_around(v:count1, "beginsection", "bW", v:true) +nnoremap ]] :call move_around(v:count1, "beginsection", "W", v:false) +vnoremap ]] :call move_around(v:count1, "beginsection", "W", v:true) +nnoremap [] :call move_around(v:count1, "endsection", "bW", v:false) +vnoremap [] :call move_around(v:count1, "endsection", "bW", v:true) +nnoremap ][ :call move_around(v:count1, "endsection", "W", v:false) +vnoremap ][ :call move_around(v:count1, "endsection", "W", v:true) +nnoremap [{ :call move_around(v:count1, "beginblock", "bW", v:false) +vnoremap [{ :call move_around(v:count1, "beginblock", "bW", v:true) +nnoremap ]} :call move_around(v:count1, "endblock", "W", v:false) +vnoremap ]} :call move_around(v:count1, "endblock", "W", v:true) + +" Other useful mappings +if get(g:, 'context_mappings', 1) + let s:tp_regex = '?^$\|^\s*\\\(item\|start\|stop\|blank\|\%(sub\)*section\|chapter\|\%(sub\)*subject\|title\|part\)' + + fun! s:tp() + call cursor(search(s:tp_regex, 'bcW') + 1, 1) + normal! V + call cursor(search(s:tp_regex, 'W') - 1, 1) + endf + + " Reflow paragraphs with commands like gqtp ("gq TeX paragraph") + onoremap tp :call tp() + " Select TeX paragraph + vnoremap tp :call tp() + + " $...$ text object + onoremap i$ :normal! T$vt$ + onoremap a$ :normal! F$vf$ + vnoremap i$ T$ot$ + vnoremap a$ F$of$ +endif + +" Commands for asynchronous typesetting +command! -buffer -nargs=? -complete=file ConTeXt call context#typeset() +command! -nargs=0 ConTeXtJobStatus call context#job_status() +command! -nargs=0 ConTeXtStopJobs call context#stop_jobs() + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/crm.vim b/ftplugin/crm.vim new file mode 100644 index 00000000..f5a6268d --- /dev/null +++ b/ftplugin/crm.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'crm') == -1 + +" Vim filetype plugin file +" Language: CRM114 +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/cs.vim b/ftplugin/cs.vim new file mode 100644 index 00000000..46d26f55 --- /dev/null +++ b/ftplugin/cs.vim @@ -0,0 +1,33 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cs') == -1 + +" Vim filetype plugin file +" Language: C# +" Maintainer: Johannes Zellner +" Last Change: Tue, 09 Mar 2004 14:09:33 CET + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 +let s:keepcpo= &cpo +set cpo&vim + +" Set 'formatoptions' to break comment lines but not other lines, +" and insert the comment leader when hitting or using "o". +setlocal fo-=t fo+=croql + +" Set 'comments' to format dashed lists in comments. +setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,:///,:// + +if has("gui_win32") && !exists("b:browsefilter") + let b:browsefilter = "C# Source Files (*.cs)\t*.cs\n" . + \ "All Files (*.*)\t*.*\n" +endif + +let &cpo = s:keepcpo +unlet s:keepcpo + +endif diff --git a/ftplugin/csc.vim b/ftplugin/csc.vim new file mode 100644 index 00000000..e992f438 --- /dev/null +++ b/ftplugin/csc.vim @@ -0,0 +1,31 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'csc') == -1 + +" Vim filetype plugin file +" Language: csc +" Maintainer: Dan Sharp +" Last Changed: 20 Jan 2009 +" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin + +if exists("b:did_ftplugin") | finish | endif +let b:did_ftplugin = 1 + +" Make sure the continuation lines below do not cause problems in +" compatibility mode. +let s:save_cpo = &cpo +set cpo-=C + +if exists("loaded_matchit") + let b:match_words= + \ '\:\,' . + \ '\:\:\,' . + \ '\\|\:\' +endif + +" Undo the stuff we changed. +let b:undo_ftplugin = "unlet! b:match_words" + +" Restore the saved compatibility options. +let &cpo = s:save_cpo +unlet s:save_cpo + +endif diff --git a/ftplugin/css.vim b/ftplugin/css.vim new file mode 100644 index 00000000..47db09cd --- /dev/null +++ b/ftplugin/css.vim @@ -0,0 +1,28 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'css') == -1 + +" Vim filetype plugin file +" Language: CSS +" Maintainer: Doug Kearns +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< inc< fo< ofu<" + +setlocal comments=s1:/*,mb:*,ex:*/ commentstring& +setlocal formatoptions-=t formatoptions+=croql +setlocal omnifunc=csscomplete#CompleteCSS + +let &l:include = '^\s*@import\s\+\%(url(\)\=' + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/cvsrc.vim b/ftplugin/cvsrc.vim new file mode 100644 index 00000000..b408fdb1 --- /dev/null +++ b/ftplugin/cvsrc.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cvsrc') == -1 + +" Vim filetype plugin file +" Language: cvs(1) RC file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments= commentstring= formatoptions-=tcroql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/debchangelog.vim b/ftplugin/debchangelog.vim new file mode 100644 index 00000000..261af91c --- /dev/null +++ b/ftplugin/debchangelog.vim @@ -0,0 +1,387 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'debchangelog') == -1 + +" Vim filetype plugin file (GUI menu, folding and completion) +" Language: Debian Changelog +" Maintainer: Debian Vim Maintainers +" Former Maintainers: Michael Piefel +" Stefano Zacchiroli +" Last Change: 2018-01-28 +" License: Vim License +" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/ftplugin/debchangelog.vim + +" Bug completion requires apt-listbugs installed for Debian packages or +" python-launchpadlib installed for Ubuntu packages + +if exists('b:did_ftplugin') + finish +endif +let b:did_ftplugin=1 + +" {{{1 Local settings (do on every load) +if exists('g:debchangelog_fold_enable') + setlocal foldmethod=expr + setlocal foldexpr=DebGetChangelogFold(v:lnum) + setlocal foldtext=DebChangelogFoldText() +endif + +" Debian changelogs are not supposed to have any other text width, +" so the user cannot override this setting +setlocal tw=78 +setlocal comments=f:* + +" Clean unloading +let b:undo_ftplugin = 'setlocal tw< comments< foldmethod< foldexpr< foldtext<' +" }}}1 + +if exists('g:did_changelog_ftplugin') + finish +endif + +" Don't load another plugin (this is global) +let g:did_changelog_ftplugin = 1 + +" {{{1 GUI menu + +" Helper functions returning various data. +" Returns full name, either from $DEBFULLNAME or debianfullname. +" TODO Is there a way to determine name from anywhere else? +function FullName() + if exists('$DEBFULLNAME') + return $DEBFULLNAME + elseif exists('g:debianfullname') + return g:debianfullname + else + return 'Your Name' + endif +endfunction + +" Returns email address, from $DEBEMAIL, $EMAIL or debianemail. +function Email() + if exists('$DEBEMAIL') + return $DEBEMAIL + elseif exists('$EMAIL') + return $EMAIL + elseif exists('g:debianemail') + return g:debianemail + else + return 'your@email.address' + endif +endfunction + +" Returns date in RFC822 format. +function Date() + let savelang = v:lc_time + execute 'language time C' + let dateandtime = strftime('%a, %d %b %Y %X %z') + execute 'language time ' . savelang + return dateandtime +endfunction + +function WarnIfNotUnfinalised() + if match(getline('.'), ' -- [[:alpha:]][[:alnum:].]')!=-1 + echohl WarningMsg + echo 'The entry has not been unfinalised before editing.' + echohl None + return 1 + endif + return 0 +endfunction + +function Finalised() + let savelinenum = line('.') + 1 + call search('^ -- ') + if match(getline('.'), ' -- [[:alpha:]][[:alnum:].]')!=-1 + let returnvalue = 1 + else + let returnvalue = 0 + endif + execute savelinenum + return returnvalue +endfunction + +" These functions implement the menus +function NewVersion() + " The new entry is unfinalised and shall be changed + amenu disable Changelog.New\ Version + amenu enable Changelog.Add\ Entry + amenu enable Changelog.Close\ Bug + amenu enable Changelog.Set\ Distribution + amenu enable Changelog.Set\ Urgency + amenu disable Changelog.Unfinalise + amenu enable Changelog.Finalise + call append(0, substitute(getline(1), '-\([[:digit:]]\+\))', '-$$\1)', '')) + call append(1, '') + call append(2, '') + call append(3, ' -- ') + call append(4, '') + call Urgency('low') + normal! 1G0 + call search(')') + normal! h + normal!  + call setline(1, substitute(getline(1), '-\$\$', '-', '')) + if exists('g:debchangelog_fold_enable') + foldopen + endif + call AddEntry() +endfunction + +function AddEntry() + 1 + call search('^ -- ') + .-2 + call append('.', ' * ') + .+3 + let warn=WarnIfNotUnfinalised() + .-2 + if warn + echohl MoreMsg + call input('Hit ENTER') + echohl None + endif + startinsert! +endfunction + +function CloseBug() + 1 + call search('^ -- ') + let warn=WarnIfNotUnfinalised() + .-2 + call append('.', ' * (closes: #' . input('Bug number to close: ') . ')') + normal! j^ll + startinsert +endfunction + +function Distribution(dist) + call setline(1, substitute(getline(1), ') *\%(UNRELEASED\|\l\+\);', ') ' . a:dist . ';', '')) +endfunction + +function Urgency(urg) + call setline(1, substitute(getline(1), 'urgency=.*$', 'urgency=' . a:urg, '')) +endfunction + +function UnfinaliseMenu() + " This means the entry shall be changed + amenu disable Changelog.New\ Version + amenu enable Changelog.Add\ Entry + amenu enable Changelog.Close\ Bug + amenu enable Changelog.Set\ Distribution + amenu enable Changelog.Set\ Urgency + amenu disable Changelog.Unfinalise + amenu enable Changelog.Finalise +endfunction + +function Unfinalise() + call UnfinaliseMenu() + 1 + call search('^ -- ') + call setline('.', ' -- ') +endfunction + +function FinaliseMenu() + " This means the entry should not be changed anymore + amenu enable Changelog.New\ Version + amenu disable Changelog.Add\ Entry + amenu disable Changelog.Close\ Bug + amenu disable Changelog.Set\ Distribution + amenu disable Changelog.Set\ Urgency + amenu enable Changelog.Unfinalise + amenu disable Changelog.Finalise +endfunction + +function Finalise() + call FinaliseMenu() + 1 + call search('^ -- ') + call setline('.', ' -- ' . FullName() . ' <' . Email() . '> ' . Date()) +endfunction + + +function MakeMenu() + amenu &Changelog.&New\ Version :call NewVersion() + amenu Changelog.&Add\ Entry :call AddEntry() + amenu Changelog.&Close\ Bug :call CloseBug() + menu Changelog.-sep- + + amenu Changelog.Set\ &Distribution.&unstable :call Distribution("unstable") + amenu Changelog.Set\ Distribution.&frozen :call Distribution("frozen") + amenu Changelog.Set\ Distribution.&stable :call Distribution("stable") + menu Changelog.Set\ Distribution.-sep- + amenu Changelog.Set\ Distribution.frozen\ unstable :call Distribution("frozen unstable") + amenu Changelog.Set\ Distribution.stable\ unstable :call Distribution("stable unstable") + amenu Changelog.Set\ Distribution.stable\ frozen :call Distribution("stable frozen") + amenu Changelog.Set\ Distribution.stable\ frozen\ unstable :call Distribution("stable frozen unstable") + + amenu Changelog.Set\ &Urgency.&low :call Urgency("low") + amenu Changelog.Set\ Urgency.&medium :call Urgency("medium") + amenu Changelog.Set\ Urgency.&high :call Urgency("high") + + menu Changelog.-sep- + amenu Changelog.U&nfinalise :call Unfinalise() + amenu Changelog.&Finalise :call Finalise() + + if Finalised() + call FinaliseMenu() + else + call UnfinaliseMenu() + endif +endfunction + +augroup changelogMenu +au BufEnter * if &filetype == "debchangelog" | call MakeMenu() | endif +au BufLeave * if &filetype == "debchangelog" | silent! aunmenu Changelog | endif +augroup END + +" }}} +" {{{1 folding + +" look for an author name in the [zonestart zoneend] lines searching backward +function! s:getAuthor(zonestart, zoneend) + let linepos = a:zoneend + while linepos >= a:zonestart + let line = getline(linepos) + if line =~# '^ --' + return substitute(line, '^ --\s*\([^<]\+\)\s*.*', '\1', '') + endif + let linepos -= 1 + endwhile + return '[unknown]' +endfunction + +" Look for a package source name searching backward from the givenline and +" returns it. Return the empty string if the package name can't be found +function! DebGetPkgSrcName(lineno) + let lineidx = a:lineno + let pkgname = '' + while lineidx > 0 + let curline = getline(lineidx) + if curline =~# '^\S' + let pkgname = matchlist(curline, '^\(\S\+\).*$')[1] + break + endif + let lineidx = lineidx - 1 + endwhile + return pkgname +endfunction + +function! DebChangelogFoldText() + if v:folddashes ==# '-' " changelog entry fold + return foldtext() . ' -- ' . s:getAuthor(v:foldstart, v:foldend) . ' ' + endif + return foldtext() +endfunction + +function! DebGetChangelogFold(lnum) + let line = getline(a:lnum) + if line =~# '^\w\+' + return '>1' " beginning of a changelog entry + endif + if line =~# '^\s\+\[.*\]' + return '>2' " beginning of an author-specific chunk + endif + if line =~# '^ --' + return '1' + endif + return '=' +endfunction + +if exists('g:debchangelog_fold_enable') + silent! foldopen! " unfold the entry the cursor is on (usually the first one) +endif + +" }}} + +" {{{1 omnicompletion for Closes: # + +if !exists('g:debchangelog_listbugs_severities') + let g:debchangelog_listbugs_severities = 'critical,grave,serious,important,normal,minor,wishlist' +endif + +fun! DebCompleteBugs(findstart, base) + if a:findstart + let line = getline('.') + + " try to detect whether this is closes: or lp: + let g:debchangelog_complete_mode = 'debbugs' + let try_colidx = col('.') - 1 + let colidx = -1 " default to no-completion-possible + + while try_colidx > 0 && line[try_colidx - 1] =~# '\s\|\d\|#\|,\|:' + let try_colidx = try_colidx - 1 + if line[try_colidx] ==# '#' && colidx == -1 + " found hash, where we complete from: + let colidx = try_colidx + elseif line[try_colidx] ==# ':' + if try_colidx > 1 && strpart(line, try_colidx - 2, 3) =~? '\clp:' + let g:debchangelog_complete_mode = 'lp' + endif + break + endif + endwhile + return colidx + else " return matches: + let bug_lines = [] + if g:debchangelog_complete_mode ==? 'lp' + if ! has('python') + echoerr 'vim must be built with Python support to use LP bug completion' + return + endif + let pkgsrc = DebGetPkgSrcName(line('.')) + python << EOF +import vim +try: + from launchpadlib.launchpad import Launchpad + from lazr.restfulclient.errors import HTTPError + # login anonymously + lp = Launchpad.login_anonymously('debchangelog.vim', 'production') + ubuntu = lp.distributions['ubuntu'] + try: + sp = ubuntu.getSourcePackage(name=vim.eval('pkgsrc')) + status = ('New', 'Incomplete', 'Confirmed', 'Triaged', + 'In Progress', 'Fix Committed') + tasklist = sp.searchTasks(status=status, order_by='id') + liststr = '[' + for task in tasklist: + bug = task.bug + liststr += "'#%d - %s'," % (bug.id, bug.title.replace('\'', '\'\'')) + liststr += ']' + vim.command('silent let bug_lines = %s' % liststr.encode('utf-8')) + except HTTPError: + pass +except ImportError: + vim.command('echoerr \'python-launchpadlib >= 1.5.4 needs to be installed to use Launchpad bug completion\'') +EOF + else + if ! filereadable('/usr/sbin/apt-listbugs') + echoerr 'apt-listbugs not found, you should install it to use Closes bug completion' + return + endif + let pkgsrc = DebGetPkgSrcName(line('.')) + let listbugs_output = system('/usr/sbin/apt-listbugs -s ' . g:debchangelog_listbugs_severities . ' list ' . pkgsrc . ' | grep "^ #" 2> /dev/null') + let bug_lines = split(listbugs_output, '\n') + endif + let completions = [] + for line in bug_lines + let parts = matchlist(line, '^\s*\(#\S\+\)\s*-\s*\(.*\)$') + " filter only those which match a:base: + if parts[1] !~ '^' . a:base + continue + endif + let completion = {} + let completion['word'] = parts[1] + let completion['menu'] = parts[2] + let completion['info'] = parts[0] + let completions += [completion] + endfor + return completions + endif +endfun + +setlocal omnifunc=DebCompleteBugs + +" }}} + +" vim: set foldmethod=marker: + +endif diff --git a/ftplugin/debcontrol.vim b/ftplugin/debcontrol.vim new file mode 100644 index 00000000..47128050 --- /dev/null +++ b/ftplugin/debcontrol.vim @@ -0,0 +1,74 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'debcontrol') == -1 + +" Vim filetype plugin file (GUI menu and folding) +" Language: Debian control files +" Maintainer: Debian Vim Maintainers +" Former Maintainer: Pierre Habouzit +" Last Change: 2018-01-28 +" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/ftplugin/debcontrol.vim + +" Do these settings once per buffer +if exists('b:did_ftplugin') + finish +endif +let b:did_ftplugin=1 + +" {{{1 Local settings (do on every load) +if exists('g:debcontrol_fold_enable') + setlocal foldmethod=expr + setlocal foldexpr=DebControlFold(v:lnum) + setlocal foldtext=DebControlFoldText() +endif +setlocal textwidth=0 + +" Clean unloading +let b:undo_ftplugin = 'setlocal tw< foldmethod< foldexpr< foldtext<' + +" }}}1 + +" {{{1 folding + +function! s:getField(f, lnum) + let line = getline(a:lnum) + let fwdsteps = 0 + while line !~ '^'.a:f.':' + let fwdsteps += 1 + let line = getline(a:lnum + fwdsteps) + if line ==# '' + return 'unknown' + endif + endwhile + return substitute(line, '^'.a:f.': *', '', '') +endfunction + +function! DebControlFoldText() + if v:folddashes ==# '-' " debcontrol entry fold + let type = substitute(getline(v:foldstart), ':.*', '', '') + if type ==# 'Source' + let ftext = substitute(foldtext(), ' *Source: *', ' ', '') + return ftext . ' -- ' . s:getField('Maintainer', v:foldstart) . ' ' + endif + let arch = s:getField('Architecture', v:foldstart) + let ftext = substitute(foldtext(), ' *Package: *', ' [' . arch . '] ', '') + return ftext . ': ' . s:getField('Description', v:foldstart) . ' ' + endif + return foldtext() +endfunction + +function! DebControlFold(l) + + " This is for not merging blank lines around folds to them + if getline(a:l) =~# '^Source:' + return '>1' + endif + + if getline(a:l) =~# '^Package:' + return '>1' + endif + + return '=' +endfunction + +" }}}1 + +endif diff --git a/ftplugin/denyhosts.vim b/ftplugin/denyhosts.vim new file mode 100644 index 00000000..9b5cbba3 --- /dev/null +++ b/ftplugin/denyhosts.vim @@ -0,0 +1,22 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'denyhosts') == -1 + +" Vim filetype plugin file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2007-12-04 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/dictconf.vim b/ftplugin/dictconf.vim new file mode 100644 index 00000000..0ac9a9f4 --- /dev/null +++ b/ftplugin/dictconf.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dictconf') == -1 + +" Vim filetype plugin file +" Language: dict(1) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/dictdconf.vim b/ftplugin/dictdconf.vim new file mode 100644 index 00000000..df6226c3 --- /dev/null +++ b/ftplugin/dictdconf.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dictdconf') == -1 + +" Vim filetype plugin file +" Language: dictd(8) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/diff.vim b/ftplugin/diff.vim new file mode 100644 index 00000000..8b7d0551 --- /dev/null +++ b/ftplugin/diff.vim @@ -0,0 +1,22 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'diff') == -1 + +" Vim filetype plugin file +" Language: Diff +" Maintainer: Bram Moolenaar +" Last Change: 2020 Jul 18 + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl modeline<" + +" Don't use modelines in a diff, they apply to the diffed file +setlocal nomodeline + +" If there are comments they start with # +let &commentstring = "# %s" + +endif diff --git a/ftplugin/dircolors.vim b/ftplugin/dircolors.vim new file mode 100644 index 00000000..9e2ef46a --- /dev/null +++ b/ftplugin/dircolors.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dircolors') == -1 + +" Vim filetype plugin file +" Language: dircolors(1) input file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/dosbatch.vim b/ftplugin/dosbatch.vim new file mode 100644 index 00000000..b846f4f5 --- /dev/null +++ b/ftplugin/dosbatch.vim @@ -0,0 +1,44 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dosbatch') == -1 + +" Vim filetype plugin file +" Language: MS-DOS .bat files +" Maintainer: Mike Williams +" Last Change: 7th May 2020 + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +" BAT comment formatting +setlocal comments=b:rem,b:@rem,b:REM,b:@REM,::: +setlocal commentstring=::\ %s +setlocal formatoptions-=t formatoptions+=rol + +" Lookup DOS keywords using Windows command help. +if executable('help.exe') + if has('terminal') + setlocal keywordprg=:term\ help.exe + else + setlocal keywordprg=help.exe + endif +endif + +" Define patterns for the browse file filter +if has("gui_win32") && !exists("b:browsefilter") + let b:browsefilter = "DOS Batch Files (*.bat, *.cmd)\t*.bat;*.cmd\nAll Files (*.*)\t*.*\n" +endif + +let b:undo_ftplugin = "setlocal comments< formatoptions< keywordprg<" + \ . "| unlet! b:browsefiler" + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/dtd.vim b/ftplugin/dtd.vim new file mode 100644 index 00000000..d2c4876e --- /dev/null +++ b/ftplugin/dtd.vim @@ -0,0 +1,44 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dtd') == -1 + +" Vim filetype plugin file +" Language: dtd +" Maintainer: Dan Sharp +" Last Changed: 20 Jan 2009 +" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin + +if exists("b:did_ftplugin") | finish | endif +let b:did_ftplugin = 1 + +" Make sure the continuation lines below do not cause problems in +" compatibility mode. +let s:save_cpo = &cpo +set cpo-=C + +setlocal commentstring= +setlocal comments=s: + +setlocal formatoptions-=t +if !exists("g:ft_dtd_autocomment") || (g:ft_dtd_autocomment == 1) + setlocal formatoptions+=croql +endif + +if exists("loaded_matchit") + let b:match_words = ',' +endif + +" Change the :browse e filter to primarily show Java-related files. +if has("gui_win32") + let b:browsefilter="DTD Files (*.dtd)\t*.dtd\n" . + \ "XML Files (*.xml)\t*.xml\n" . + \ "All Files (*.*)\t*.*\n" +endif + +" Undo the stuff we changed. +let b:undo_ftplugin = "setlocal commentstring< comments< formatoptions<" . + \ " | unlet! b:matchwords b:browsefilter" + +" Restore the saved compatibility options. +let &cpo = s:save_cpo +unlet s:save_cpo + +endif diff --git a/ftplugin/elinks.vim b/ftplugin/elinks.vim new file mode 100644 index 00000000..8e2611dc --- /dev/null +++ b/ftplugin/elinks.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'elinks') == -1 + +" Vim filetype plugin file +" Language: elinks(1) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/eterm.vim b/ftplugin/eterm.vim new file mode 100644 index 00000000..3211c867 --- /dev/null +++ b/ftplugin/eterm.vim @@ -0,0 +1,24 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'eterm') == -1 + +" Vim filetype plugin file +" Language: eterm(1) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< inc< fo<" + +setlocal comments=:# commentstring=#\ %s include=^\\s*include +setlocal formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/falcon.vim b/ftplugin/falcon.vim new file mode 100644 index 00000000..f0735dd5 --- /dev/null +++ b/ftplugin/falcon.vim @@ -0,0 +1,52 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'falcon') == -1 + +" Vim filetype plugin file +" Language: Falcon +" Author: Steven Oliver +" Copyright: Copyright (c) 2009-2013 Steven Oliver +" License: You may redistribute this under the same terms as Vim itself +" -------------------------------------------------------------------------- + +" Only do this when not done yet for this buffer +if (exists("b:did_ftplugin")) + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +setlocal softtabstop=4 shiftwidth=4 fileencoding=utf-8 +setlocal suffixesadd=.fal,.ftd + +" Matchit support +if exists("loaded_matchit") && !exists("b:match_words") + let b:match_ignorecase = 0 + + let b:match_words = + \ '\<\%(if\|case\|while\|until\|for\|do\|class\)\>=\@!' . + \ ':' . + \ '\<\%(else\|elsif\|when\)\>' . + \ ':' . + \ '\' . + \ ',{:},\[:\],(:)' +endif + +setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,:// + +" Windows allows you to filter the open file dialog +if has("gui_win32") && !exists("b:browsefilter") + let b:browsefilter = "Falcon Source Files (*.fal *.ftd)\t*.fal;*.ftd\n" . + \ "All Files (*.*)\t*.*\n" +endif + +let b:undo_ftplugin = "setlocal tabstop< shiftwidth< expandtab< fileencoding<" + \ . " suffixesadd< comments<" + \ . "| unlet! b:browsefiler" + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: set sw=4 sts=4 et tw=80 : + +endif diff --git a/ftplugin/fetchmail.vim b/ftplugin/fetchmail.vim new file mode 100644 index 00000000..2001caad --- /dev/null +++ b/ftplugin/fetchmail.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'fetchmail') == -1 + +" Vim filetype plugin file +" Language: fetchmail(1) RC File +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/fortran.vim b/ftplugin/fortran.vim new file mode 100644 index 00000000..7b8a1fb1 --- /dev/null +++ b/ftplugin/fortran.vim @@ -0,0 +1,137 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'fortran') == -1 + +" Vim settings file +" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, 77, 66) +" Version: 0.50 +" Last Change: 2020 Apr 20 +" Patched By: Eisuke Kawashima +" Maintainer: Ajit J. Thakkar ; +" Usage: For instructions, do :help fortran-plugin from Vim +" Credits: +" Useful suggestions were made by Stefano Zacchiroli, Hendrik Merx, Ben +" Fritz, and David Barnett. + +" Only do these settings when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +let s:cposet=&cpoptions +set cpoptions&vim + +" Don't do other file type settings for this buffer +let b:did_ftplugin = 1 + +" Determine whether this is a fixed or free format source file +" if this hasn't been done yet using the priority: +" buffer-local value +" > global value +" > file extension as in Intel ifort, gcc (gfortran), NAG, Pathscale, and Cray compilers +if !exists("b:fortran_fixed_source") + if exists("fortran_free_source") + " User guarantees free source form + let b:fortran_fixed_source = 0 + elseif exists("fortran_fixed_source") + " User guarantees fixed source form + 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 still allows both fixed and free 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 + +" Set comments and textwidth according to source type +if (b:fortran_fixed_source == 1) + setlocal comments=:!,:*,:C + " Fixed format requires a textwidth of 72 for code + setlocal tw=72 + " If you need to add "&" on continued lines so that the code is + " compatible with both free and fixed format, then you should do so + " in column 73 and uncomment the next line + " setlocal tw=73 +else + setlocal comments=:! + " Free format allows a textwidth of 132 + setlocal tw=132 +endif + +" Set commentstring for foldmethod=marker +setlocal cms=!%s + +" Tabs are not a good idea in Fortran so the default is to expand tabs +if !exists("fortran_have_tabs") + setlocal expandtab +endif + +" Set 'formatoptions' to break text lines +setlocal fo+=t + +setlocal include=^\\c#\\=\\s*include\\s\\+ +setlocal suffixesadd+=.f08,.f03,.f95,.f90,.for,.f,.F,.f77,.ftn,.fpp + +" Define patterns for the matchit plugin +if !exists("b:match_words") + let s:notend = '\%(\:' . s:notselect. '\:\,' . + \ s:notelse . '\:' . + \ '\:\,'. + \ 'do\s\+\(\d\+\):\%(^\s*\)\@<=\1\s,'. + \ s:notend . '\:\,'. + \ s:notelse . '\:\:\,'. + \ s:notend . '\,'. + \ s:notend . '\:\,'. + \ s:notend . '\:\,'. + \ s:notend . '\:\,'. + \ s:notend . '\:\,'. + \ s:notend . '\:\,'. + \ s:notend . '\:\,'. + \ s:notend . '\' . s:notprocedure . ':\,'. + \ s:notend . '\:\' +endif + +" File filters for :browse e +if has("gui_win32") && !exists("b:browsefilter") + let b:browsefilter = "Fortran Files (*.f;*.for;*.f77;*.f90;*.f95;*.f03;*.f08;*.fpp;*.ftn)\t*.f;*.for;*.f77;*.f90;*.f95;*.f03;*.f08;*.fpp;*.ftn\n" . + \ "All Files (*.*)\t*.*\n" +endif + +let b:undo_ftplugin = "setl fo< com< tw< cms< et< inc< sua<" + \ . "| unlet! b:match_ignorecase b:match_words b:browsefilter" + +let &cpoptions=s:cposet +unlet s:cposet + +" vim:sw=2 + +endif diff --git a/ftplugin/framescript.vim b/ftplugin/framescript.vim new file mode 100644 index 00000000..aa56a7b7 --- /dev/null +++ b/ftplugin/framescript.vim @@ -0,0 +1,34 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'framescript') == -1 + +" Vim ftplugin file +" Language: FrameScript +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-19 + +let s:cpo_save = &cpo +set cpo&vim + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms< fo< inc< | unlet! b:matchwords" + +setlocal comments=s1:/*,mb:*,ex:*/,:// commentstring=/*\ %s\ */ +setlocal formatoptions-=t formatoptions+=croql +setlocal include=^\\s*<#Include + +if exists("loaded_matchit") + let s:not_end = '\c\%(\:\c\:\c\:\c\,' . + \ s:not_end . '\:\c\' . + \ s:not_end . '\:\c\' + unlet s:not_end +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/fvwm.vim b/ftplugin/fvwm.vim new file mode 100644 index 00000000..76ba9196 --- /dev/null +++ b/ftplugin/fvwm.vim @@ -0,0 +1,18 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'fvwm') == -1 + +" Created : Tue 09 May 2006 02:07:31 PM CDT +" Modified : Tue 09 May 2006 02:07:31 PM CDT +" Author : Gautam Iyer +" Description : ftplugin for fvwm config files + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s +setlocal formatoptions-=t formatoptions+=croql + +endif diff --git a/ftplugin/gdb.vim b/ftplugin/gdb.vim new file mode 100644 index 00000000..abfa3208 --- /dev/null +++ b/ftplugin/gdb.vim @@ -0,0 +1,16 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'gdb') == -1 + +" Vim filetype plugin file +" Language: gdb +" Maintainer: MichaĂ«l Peeters +" Last Changed: 26 Oct 2017 + +if exists("b:did_ftplugin") | finish | endif +let b:did_ftplugin = 1 + +setlocal commentstring=#%s + +" Undo the stuff we changed. +let b:undo_ftplugin = "setlocal cms<" + +endif diff --git a/ftplugin/gpg.vim b/ftplugin/gpg.vim new file mode 100644 index 00000000..d7519924 --- /dev/null +++ b/ftplugin/gpg.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'gpg') == -1 + +" Vim filetype plugin file +" Language: gpg(1) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/group.vim b/ftplugin/group.vim new file mode 100644 index 00000000..5f0b4d90 --- /dev/null +++ b/ftplugin/group.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'group') == -1 + +" Vim filetype plugin file +" Language: group(5) user group file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments= commentstring= formatoptions-=tcroq formatoptions+=l + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/hgcommit.vim b/ftplugin/hgcommit.vim new file mode 100644 index 00000000..16c92796 --- /dev/null +++ b/ftplugin/hgcommit.vim @@ -0,0 +1,20 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'hgcommit') == -1 + +" Vim filetype plugin file +" Language: hg (Mercurial) commit file +" Maintainer: Ken Takata +" Last Change: 2016 Jan 6 +" Filenames: hg-editor-*.txt +" License: VIM License +" URL: https://github.com/k-takata/hg-vim + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +setlocal nomodeline + +let b:undo_ftplugin = 'setl modeline<' + +endif diff --git a/ftplugin/hog.vim b/ftplugin/hog.vim new file mode 100644 index 00000000..b0541a39 --- /dev/null +++ b/ftplugin/hog.vim @@ -0,0 +1,43 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'hog') == -1 + +" Vim filetype plugin +" Language: hog (snort.conf) +" Maintainer: . Victor Roemer, . +" Last Change: Mar 1, 2013 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:undo_ftplugin = "setl fo< com< cms< def< inc<" + +let s:cpo_save = &cpo +set cpo&vim + +setlocal formatoptions=croq +setlocal comments=:# +setlocal commentstring=\c#\ %s +setlocal define=\c^\s\{-}var +setlocal include=\c^\s\{-}include + +" Move around configurations +let s:hog_keyword_match = '\c^\s*\<\(preprocessor\\|config\\|output\\|include\\|ipvar\\|portvar\\|var\\|dynamicpreprocessor\\|' . + \ 'dynamicengine\\|dynamicdetection\\|activate\\|alert\\|drop\\|block\\|dynamic\\|log\\|pass\\|reject\\|sdrop\\|sblock\)\>' + +exec "nnoremap ]] :call search('" . s:hog_keyword_match . "', 'W' )" +exec "nnoremap [[ :call search('" . s:hog_keyword_match . "', 'bW' )" + +if exists("loaded_matchit") + let b:match_words = + \ '^\s*\<\%(preprocessor\|config\|output\|include\|ipvar\|portvar' . + \ '\|var\|dynamicpreprocessor\|dynamicengine\|dynamicdetection' . + \ '\|activate\|alert\|drop\|block\|dynamic\|log\|pass\|reject' . + \ '\|sdrop\|sblock\>\):$,\::\,:;' + let b:match_skip = 'r:\\.\{-}$\|^\s*#.\{-}$\|^\s*$' +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/hostconf.vim b/ftplugin/hostconf.vim new file mode 100644 index 00000000..a6a9a840 --- /dev/null +++ b/ftplugin/hostconf.vim @@ -0,0 +1,22 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'hostconf') == -1 + +" Vim filetype plugin file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2007-12-04 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/hostsaccess.vim b/ftplugin/hostsaccess.vim new file mode 100644 index 00000000..36a67e90 --- /dev/null +++ b/ftplugin/hostsaccess.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'hostsaccess') == -1 + +" Vim filetype plugin file +" Language: hosts_access(5) control file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/indent.vim b/ftplugin/indent.vim new file mode 100644 index 00000000..c4c1ab4a --- /dev/null +++ b/ftplugin/indent.vim @@ -0,0 +1,24 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'indent') == -1 + +" Vim filetype plugin file +" Language: indent(1) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=s1:/*,mb:*,ex:*/ commentstring& +setlocal formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/j.vim b/ftplugin/j.vim new file mode 100644 index 00000000..0d8ef152 --- /dev/null +++ b/ftplugin/j.vim @@ -0,0 +1,85 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'j') == -1 + +" Vim filetype plugin +" Language: J +" Maintainer: David BĂ¼rgin +" URL: https://gitlab.com/glts/vim-j +" Last Change: 2015-10-27 + +if exists('b:did_ftplugin') + finish +endif +let b:did_ftplugin = 1 + +let s:save_cpo = &cpo +set cpo&vim + +setlocal iskeyword=48-57,A-Z,a-z,_ +setlocal comments=:NB. +setlocal commentstring=NB.\ %s +setlocal formatoptions-=t +setlocal matchpairs=(:) +setlocal path-=/usr/include + +" Includes. To make the shorthand form "require 'web/cgi'" work, double the +" last path component. Also strip off leading folder names like "~addons/". +setlocal include=\\v^\\s*(load\|require)\\s*'\\zs\\f+\\ze' +setlocal includeexpr=substitute(substitute(tr(v:fname,'\\','/'),'\\v^[^~][^/.]*(/[^/.]+)$','&\\1',''),'\\v^\\~[^/]+/','','') +setlocal suffixesadd=.ijs + +let b:undo_ftplugin = 'setlocal suffixesadd< includeexpr< include< path< matchpairs< formatoptions< commentstring< comments< iskeyword<' + +" Section movement with ]] ][ [[ []. The start/end patterns below are amended +" inside the function in order to avoid matching on the current cursor line. +let s:sectionstart = '\%(\s*Note\|.\{-}\<\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\)\>.*' +let s:sectionend = '\s*)\s*' + +function! s:SearchSection(end, backwards, visualmode) abort + if a:visualmode !=# '' + normal! gv + endif + let l:flags = a:backwards ? 'bsW' : 'sW' + if a:end + call search('^' . s:sectionend . (a:backwards ? '\n\_.\{-}\%#' : '$'), l:flags) + else + call search('^' . s:sectionstart . (a:backwards ? '\n\_.\{-}\%#' : '$'), l:flags) + endif +endfunction + +noremap ]] :call SearchSection(0, 0, '') +xnoremap ]] :call SearchSection(0, 0, visualmode()) +sunmap ]] +noremap ][ :call SearchSection(1, 0, '') +xnoremap ][ :call SearchSection(1, 0, visualmode()) +sunmap ][ +noremap [[ :call SearchSection(0, 1, '') +xnoremap [[ :call SearchSection(0, 1, visualmode()) +sunmap [[ +noremap [] :call SearchSection(1, 1, '') +xnoremap [] :call SearchSection(1, 1, visualmode()) +sunmap [] + +let b:undo_ftplugin .= ' | silent! execute "unmap ]]"' + \ . ' | silent! execute "unmap ]["' + \ . ' | silent! execute "unmap [["' + \ . ' | silent! execute "unmap []"' + +" Browse dialog filter on Windows (see ":help browsefilter") +if has('gui_win32') && !exists('b:browsefilter') + let b:browsefilter = "J Script Files (*.ijs)\t*.ijs\n" + \ . "All Files (*.*)\t*.*\n" + let b:undo_ftplugin .= ' | unlet! b:browsefilter' +endif + +" Enhanced "%" matching (see ":help matchit") +if exists('loaded_matchit') && !exists('b:match_words') + let b:match_ignorecase = 0 + let b:match_words = '^\%(\s*Note\|.\{-}\<\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(\:\s*0\|def\s\+0\|define\)\)\>:^\s*\:\s*$:^\s*)\s*$' + \ . ',\<\%(for\%(_\a\k*\)\=\|if\|select\|try\|whil\%(e\|st\)\)\.:\<\%(case\|catch[dt]\=\|else\%(if\)\=\|fcase\)\.:\ +" Last Change: 2012 Mar 11 +" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin + +if exists("b:did_ftplugin") | finish | endif +let b:did_ftplugin = 1 + +" Make sure the continuation lines below do not cause problems in +" compatibility mode. +let s:save_cpo = &cpo +set cpo-=C + +" For filename completion, prefer the .java extension over the .class +" extension. +set suffixes+=.class + +" Enable gf on import statements. Convert . in the package +" name to / and append .java to the name, then search the path. +setlocal includeexpr=substitute(v:fname,'\\.','/','g') +setlocal suffixesadd=.java +if exists("g:ftplugin_java_source_path") + let &l:path=g:ftplugin_java_source_path . ',' . &l:path +endif + +" Set 'formatoptions' to break comment lines but not other lines, +" and insert the comment leader when hitting or using "o". +setlocal formatoptions-=t formatoptions+=croql + +" Set 'comments' to format dashed lists in comments. Behaves just like C. +setlocal comments& comments^=sO:*\ -,mO:*\ \ ,exO:*/ + +setlocal commentstring=//%s + +" Change the :browse e filter to primarily show Java-related files. +if has("gui_win32") + let b:browsefilter="Java Files (*.java)\t*.java\n" . + \ "Properties Files (*.prop*)\t*.prop*\n" . + \ "Manifest Files (*.mf)\t*.mf\n" . + \ "All Files (*.*)\t*.*\n" +endif + +" Undo the stuff we changed. +let b:undo_ftplugin = "setlocal suffixes< suffixesadd<" . + \ " formatoptions< comments< commentstring< path< includeexpr<" . + \ " | unlet! b:browsefilter" + +" Restore the saved compatibility options. +let &cpo = s:save_cpo +unlet s:save_cpo + +endif diff --git a/ftplugin/jproperties.vim b/ftplugin/jproperties.vim new file mode 100644 index 00000000..a9cf4e62 --- /dev/null +++ b/ftplugin/jproperties.vim @@ -0,0 +1,19 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'jproperties') == -1 + +" Vim filetype plugin +" Language: Java properties file +" Maintainer: None +" Last Change: 2019 Dec 01 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +setlocal formatoptions-=t +setlocal comments=:#,:! +setlocal commentstring=#\ %s + +let b:undo_ftplugin = "setl cms< com< fo<" + +endif diff --git a/ftplugin/jsp.vim b/ftplugin/jsp.vim new file mode 100644 index 00000000..091e359a --- /dev/null +++ b/ftplugin/jsp.vim @@ -0,0 +1,71 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'jsp') == -1 + +" Vim filetype plugin file +" Language: jsp +" Maintainer: Dan Sharp +" Last Changed: 20 Jan 2009 +" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin + +if exists("b:did_ftplugin") | finish | endif + +" Make sure the continuation lines below do not cause problems in +" compatibility mode. +let s:save_cpo = &cpo +set cpo-=C + +" Define some defaults in case the included ftplugins don't set them. +let s:undo_ftplugin = "" +let s:browsefilter = "Java Files (*.java)\t*.java\n" . + \ "HTML Files (*.html, *.htm)\t*.html;*.htm\n" . + \ "All Files (*.*)\t*.*\n" +let s:match_words = "" + +runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim +unlet b:did_ftplugin + +" Override our defaults if these were set by an included ftplugin. +if exists("b:undo_ftplugin") + let s:undo_ftplugin = b:undo_ftplugin + unlet b:undo_ftplugin +endif +if exists("b:browsefilter") + let s:browsefilter = b:browsefilter + unlet b:browsefilter +endif +if exists("b:match_words") + let s:match_words = b:match_words + unlet b:match_words +endif + +runtime! ftplugin/java.vim ftplugin/java_*.vim ftplugin/java/*.vim +let b:did_ftplugin = 1 + +" Combine the new set of values with those previously included. +if exists("b:undo_ftplugin") + let s:undo_ftplugin = b:undo_ftplugin . " | " . s:undo_ftplugin +endif +if exists ("b:browsefilter") + let s:browsefilter = b:browsefilter . s:browsefilter +endif +if exists("b:match_words") + let s:match_words = b:match_words . ',' . s:match_words +endif + +" Load the combined list of match_words for matchit.vim +if exists("loaded_matchit") + let b:match_words = s:match_words +endif + +" Change the :browse e filter to primarily show JSP-related files. +if has("gui_win32") + let b:browsefilter="JSP Files (*.jsp)\t*.jsp\n" . s:browsefilter +endif + +" Undo the stuff we changed. +let b:undo_ftplugin = "unlet! b:browsefilter b:match_words | " . s:undo_ftplugin + +" Restore the saved compatibility options. +let &cpo = s:save_cpo +unlet s:save_cpo + +endif diff --git a/ftplugin/kconfig.vim b/ftplugin/kconfig.vim new file mode 100644 index 00000000..b106b3d9 --- /dev/null +++ b/ftplugin/kconfig.vim @@ -0,0 +1,31 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'kconfig') == -1 + +" Vim filetype plugin file +" Vim syntax file +" Maintainer: Christian Brabandt +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2015-05-29 +" License: Vim (see :h license) +" Repository: https://github.com/chrisbra/vim-kconfig + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +" For matchit.vim +if exists("loaded_matchit") + let b:match_words = '^\:\,^\:\,^\:\' +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/kwt.vim b/ftplugin/kwt.vim new file mode 100644 index 00000000..5bc89215 --- /dev/null +++ b/ftplugin/kwt.vim @@ -0,0 +1,36 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'kwt') == -1 + +" Vim filetype plugin file +" Language: Kimwitu++ +" Maintainer: Michael Piefel +" Last Change: 10 March 2012 + +" Behaves almost like C++ +runtime! ftplugin/cpp.vim ftplugin/cpp_*.vim ftplugin/cpp/*.vim + +let s:cpo_save = &cpo +set cpo&vim + +" Limit the browser to related files +if has("gui_win32") && !exists("b:browsefilter") + let b:browsefilter = "Kimwitu/Kimwitu++ Files (*.k)\t*.k\n" . + \ "Lex/Flex Files (*.l)\t*.l\n" . + \ "Yacc/Bison Files (*.y)\t*.y\n" . + \ "All Files (*.*)\t*.*\n" +endif + +" Set the errorformat for the Kimwitu++ compiler +set efm+=kc%.%#:\ error\ at\ %f:%l:\ %m + +if exists("b:undo_ftplugin") + let b:undo_ftplugin = b:undo_ftplugin . " | setlocal efm<" + \ . "| unlet! b:browsefiler" +else + let b:undo_ftplugin = "setlocal efm<" + \ . "| unlet! b:browsefiler" +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/ld.vim b/ftplugin/ld.vim new file mode 100644 index 00000000..bd9723f4 --- /dev/null +++ b/ftplugin/ld.vim @@ -0,0 +1,24 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ld') == -1 + +" Vim filetype plugin file +" Language: ld(1) script +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< inc< fo<" + +setlocal comments=s1:/*,mb:*,ex:*/ commentstring=/*%s*/ include=^\\s*INCLUDE +setlocal formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/lftp.vim b/ftplugin/lftp.vim new file mode 100644 index 00000000..f9e0be86 --- /dev/null +++ b/ftplugin/lftp.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'lftp') == -1 + +" Vim filetype plugin file +" Language: lftp(1) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/libao.vim b/ftplugin/libao.vim new file mode 100644 index 00000000..d6d6e660 --- /dev/null +++ b/ftplugin/libao.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'libao') == -1 + +" Vim filetype plugin file +" Language: libao.conf(5) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/limits.vim b/ftplugin/limits.vim new file mode 100644 index 00000000..873f9341 --- /dev/null +++ b/ftplugin/limits.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'limits') == -1 + +" Vim filetype plugin file +" Language: limits(5) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/liquid.vim b/ftplugin/liquid.vim new file mode 100644 index 00000000..5ffbade6 --- /dev/null +++ b/ftplugin/liquid.vim @@ -0,0 +1,65 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'liquid') == -1 + +" Vim filetype plugin +" Language: Liquid +" Maintainer: Tim Pope +" Last Change: 2010 May 21 + +if exists('b:did_ftplugin') + finish +endif + +if !exists('g:liquid_default_subtype') + let g:liquid_default_subtype = 'html' +endif + +if !exists('b:liquid_subtype') + let s:lines = getline(1)."\n".getline(2)."\n".getline(3)."\n".getline(4)."\n".getline(5)."\n".getline("$") + let b:liquid_subtype = matchstr(s:lines,'liquid_subtype=\zs\w\+') + if b:liquid_subtype == '' + let b:liquid_subtype = matchstr(&filetype,'^liquid\.\zs\w\+') + endif + if b:liquid_subtype == '' + let b:liquid_subtype = matchstr(substitute(expand('%:t'),'\c\%(\.liquid\)\+$','',''),'\.\zs\w\+$') + endif + if b:liquid_subtype == '' + let b:liquid_subtype = g:liquid_default_subtype + endif +endif + +if exists('b:liquid_subtype') && b:liquid_subtype != '' + exe 'runtime! ftplugin/'.b:liquid_subtype.'.vim ftplugin/'.b:liquid_subtype.'_*.vim ftplugin/'.b:liquid_subtype.'/*.vim' +else + runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim +endif +let b:did_ftplugin = 1 + +if exists('b:undo_ftplugin') + let b:undo_ftplugin .= '|' +else + let b:undo_ftplugin = '' +endif +if exists('b:browsefilter') + let b:browsefilter = "\n".b:browsefilter +else + let b:browsefilter = '' +endif +if exists('b:match_words') + let b:match_words .= ',' +elseif exists('loaded_matchit') + let b:match_words = '' +endif + +if has('gui_win32') + let b:browsefilter="Liquid Files (*.liquid)\t*.liquid" . b:browsefilter +endif + +if exists('loaded_matchit') + let b:match_words .= '\<\%(if\w*\|unless\|case\)\>:\<\%(elsif\|else\|when\)\>:\,\<\%(for\|tablerow\)\>:\%({%\s*\)\@<=empty\>:\,<\(capture\|comment\|highlight\)\>:\' +endif + +setlocal commentstring={%\ comment\ %}%s{%\ endcomment\ %} + +let b:undo_ftplugin .= 'setl cms< | unlet! b:browsefilter b:match_words' + +endif diff --git a/ftplugin/lisp.vim b/ftplugin/lisp.vim new file mode 100644 index 00000000..eaae2795 --- /dev/null +++ b/ftplugin/lisp.vim @@ -0,0 +1,30 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'lisp') == -1 + +" Vim filetype plugin +" Language: Lisp +" Maintainer: Sergey Khorev +" URL: http://sites.google.com/site/khorser/opensource/vim +" Original author: Dorai Sitaram +" Original URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html +" Last Change: Oct 23, 2013 + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 + +setl comments=:; +setl define=^\\s*(def\\k* +setl formatoptions-=t +setl iskeyword+=+,-,*,/,%,<,=,>,:,$,?,!,@-@,94 +setl lisp +setl commentstring=;%s + +setl comments^=:;;;,:;;,sr:#\|,mb:\|,ex:\|# + +let b:undo_ftplugin = "setlocal comments< define< formatoptions< iskeyword< lisp< commentstring<" + +endif diff --git a/ftplugin/logcheck.vim b/ftplugin/logcheck.vim new file mode 100644 index 00000000..1c1d8510 --- /dev/null +++ b/ftplugin/logcheck.vim @@ -0,0 +1,21 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'logcheck') == -1 + +" Vim filetype plugin file +" Language: Logcheck +" Maintainer: Debian Vim Maintainers +" Last Change: 2018 Dec 27 +" License: Vim License +" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/ftplugin/logcheck.vim + +if exists('b:did_ftplugin') + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = 'setl fo<' + +" Do not hard-wrap non-comment lines since each line is a self-contained +" regular expression +setlocal formatoptions-=t + +endif diff --git a/ftplugin/loginaccess.vim b/ftplugin/loginaccess.vim new file mode 100644 index 00000000..e19e9d8d --- /dev/null +++ b/ftplugin/loginaccess.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'loginaccess') == -1 + +" Vim filetype plugin file +" Language: login.access(5) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/logindefs.vim b/ftplugin/logindefs.vim new file mode 100644 index 00000000..be22441f --- /dev/null +++ b/ftplugin/logindefs.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'logindefs') == -1 + +" Vim filetype plugin file +" Language: login.defs(5) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/logtalk.vim b/ftplugin/logtalk.vim new file mode 100644 index 00000000..2b79723f --- /dev/null +++ b/ftplugin/logtalk.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'logtalk') == -1 + +" Logtalk filetype plugin file +" Language: Logtalk +" Maintainer: Paulo Moura +" Latest Revision: 2018-08-03 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl ts< sw< fdm< fdc< ai< dict<" + +setlocal ts=4 +setlocal sw=4 +setlocal fdm=syntax +setlocal fdn=10 +setlocal fdc=2 +setlocal autoindent +setlocal dict=$VIMRUNTIME/ftplugin/logtalk.dict + +endif diff --git a/ftplugin/lprolog.vim b/ftplugin/lprolog.vim new file mode 100644 index 00000000..8f465460 --- /dev/null +++ b/ftplugin/lprolog.vim @@ -0,0 +1,41 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'lprolog') == -1 + +" Vim settings file +" Language: LambdaProlog (Teyjus) +" Maintainer: Markus Mottl +" URL: http://www.ocaml.info/vim/ftplugin/lprolog.vim +" Last Change: 2006 Feb 05 +" 2001 Sep 16 - fixed 'no_mail_maps'-bug (MM) +" 2001 Sep 02 - initial release (MM) + +" Only do these settings when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" Don't do other file type settings for this buffer +let b:did_ftplugin = 1 + +" Error format +setlocal efm=%+A./%f:%l.%c:\ %m formatprg=fmt\ -w75\ -p\\% + +" Formatting of comments +setlocal formatprg=fmt\ -w75\ -p\\% + +" Add mappings, unless the user didn't want this. +if !exists("no_plugin_maps") && !exists("no_lprolog_maps") + " Uncommenting + if !hasmapto('Comment') + nmap c LUncomOn + vmap c BUncomOn + nmap C LUncomOff + vmap C BUncomOff + endif + + nnoremap LUncomOn mz0i/* $A */`z + nnoremap LUncomOff :s/^\/\* \(.*\) \*\//\1/ + vnoremap BUncomOn :'<,'>`0i/*`>o0i*/`< + vnoremap BUncomOff :'<,'>`dd`< +endif + +endif diff --git a/ftplugin/mail.vim b/ftplugin/mail.vim new file mode 100644 index 00000000..b3d7f5b9 --- /dev/null +++ b/ftplugin/mail.vim @@ -0,0 +1,42 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'mail') == -1 + +" Vim filetype plugin file +" Language: Mail +" Maintainer: Bram Moolenaar +" Last Change: 2012 Nov 20 + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl modeline< tw< fo< comments<" + +" Don't use modelines in e-mail messages, avoid trojan horses and nasty +" "jokes" (e.g., setting 'textwidth' to 5). +setlocal nomodeline + +" many people recommend keeping e-mail messages 72 chars wide +if &tw == 0 + setlocal tw=72 +endif + +" Set 'formatoptions' to break text lines and keep the comment leader ">". +setlocal fo+=tcql + +" Add n:> to 'comments, in case it was removed elsewhere +setlocal comments+=n:> + +" Add mappings, unless the user doesn't want this. +if !exists("no_plugin_maps") && !exists("no_mail_maps") + " Quote text by inserting "> " + if !hasmapto('MailQuote') + vmap q MailQuote + nmap q MailQuote + endif + vnoremap MailQuote :s/^/> /:noh`` + nnoremap MailQuote :.,$s/^/> /:noh`` +endif + +endif diff --git a/ftplugin/mailaliases.vim b/ftplugin/mailaliases.vim new file mode 100644 index 00000000..ac7466cc --- /dev/null +++ b/ftplugin/mailaliases.vim @@ -0,0 +1,22 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'mailaliases') == -1 + +" Vim filetype plugin file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/mailcap.vim b/ftplugin/mailcap.vim new file mode 100644 index 00000000..fca0215b --- /dev/null +++ b/ftplugin/mailcap.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'mailcap') == -1 + +" Vim filetype plugin file +" Language: Mailcap configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/man.vim b/ftplugin/man.vim new file mode 100644 index 00000000..300129c2 --- /dev/null +++ b/ftplugin/man.vim @@ -0,0 +1,254 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'man') == -1 + +" Vim filetype plugin file +" Language: man +" Maintainer: Jason Franklin +" Maintainer: SungHyun Nam +" Last Change: 2020 Jun 01 + +" To make the ":Man" command available before editing a manual page, source +" this script from your startup vimrc file. + +" If 'filetype' isn't "man", we must have been called to only define ":Man". +if &filetype == "man" + + " Only do this when not done yet for this buffer + if exists("b:did_ftplugin") + finish + endif + let b:did_ftplugin = 1 +endif + +let s:cpo_save = &cpo +set cpo-=C + +if &filetype == "man" + " allow dot and dash in manual page name. + setlocal iskeyword+=\.,- + let b:undo_ftplugin = "setlocal iskeyword<" + + " Add mappings, unless the user didn't want this. + if !exists("no_plugin_maps") && !exists("no_man_maps") + if !hasmapto('ManBS') + nmap h ManBS + let b:undo_ftplugin = b:undo_ftplugin + \ . '|silent! nunmap h' + endif + nnoremap ManBS :%s/.\b//g:setl nomod'' + + nnoremap :call PreGetPage(v:count) + nnoremap :call PopPage() + nnoremap q :q + + " Add undo commands for the maps + let b:undo_ftplugin = b:undo_ftplugin + \ . '|silent! nunmap ManBS' + \ . '|silent! nunmap ' + \ . '|silent! nunmap ' + \ . '|silent! nunmap q' + endif + + if exists('g:ft_man_folding_enable') && (g:ft_man_folding_enable == 1) + setlocal foldmethod=indent foldnestmax=1 foldenable + let b:undo_ftplugin = b:undo_ftplugin + \ . '|silent! setl fdm< fdn< fen<' + endif + +endif + +if exists(":Man") != 2 + com -nargs=+ -complete=shellcmd Man call s:GetPage(, ) + nmap K :call PreGetPage(0) + nmap ManPreGetPage :call PreGetPage(0) +endif + +" Define functions only once. +if !exists("s:man_tag_depth") + +let s:man_tag_depth = 0 + +let s:man_sect_arg = "" +let s:man_find_arg = "-w" +try + if !has("win32") && $OSTYPE !~ 'cygwin\|linux' && system('uname -s') =~ "SunOS" && system('uname -r') =~ "^5" + let s:man_sect_arg = "-s" + let s:man_find_arg = "-l" + endif +catch /E145:/ + " Ignore the error in restricted mode +endtry + +func PreGetPage(cnt) + if a:cnt == 0 + let old_isk = &iskeyword + if &ft == 'man' + setl iskeyword+=(,) + endif + let str = expand("") + let &l:iskeyword = old_isk + let page = substitute(str, '(*\(\k\+\).*', '\1', '') + let sect = substitute(str, '\(\k\+\)(\([^()]*\)).*', '\2', '') + if match(sect, '^[0-9 ]\+$') == -1 + let sect = "" + endif + if sect == page + let sect = "" + endif + else + let sect = a:cnt + let page = expand("") + endif + call s:GetPage('', sect, page) +endfunc + +func GetCmdArg(sect, page) + if a:sect == '' + return a:page + endif + return s:man_sect_arg.' '.a:sect.' '.a:page +endfunc + +func FindPage(sect, page) + let where = system("man ".s:man_find_arg.' '.s:GetCmdArg(a:sect, a:page)) + if where !~ "^/" + if matchstr(where, " [^ ]*$") !~ "^ /" + return 0 + endif + endif + return 1 +endfunc + +func GetPage(cmdmods, ...) + if a:0 >= 2 + let sect = a:1 + let page = a:2 + elseif a:0 >= 1 + let sect = "" + let page = a:1 + else + return + endif + + " To support: nmap K :Man + if page == '' + let page = expand('') + endif + + if !exists('g:ft_man_no_sect_fallback') || (g:ft_man_no_sect_fallback == 0) + if sect != "" && s:FindPage(sect, page) == 0 + let sect = "" + endif + endif + if s:FindPage(sect, page) == 0 + let msg = 'man.vim: no manual entry for "' . page . '"' + if !empty(sect) + let msg .= ' in section ' . sect + endif + echomsg msg + return + endif + exec "let s:man_tag_buf_".s:man_tag_depth." = ".bufnr("%") + exec "let s:man_tag_lin_".s:man_tag_depth." = ".line(".") + exec "let s:man_tag_col_".s:man_tag_depth." = ".col(".") + let s:man_tag_depth = s:man_tag_depth + 1 + + let open_cmd = 'edit' + + " Use an existing "man" window if it exists, otherwise open a new one. + if &filetype != "man" + let thiswin = winnr() + exe "norm! \b" + if winnr() > 1 + exe "norm! " . thiswin . "\w" + while 1 + if &filetype == "man" + break + endif + exe "norm! \w" + if thiswin == winnr() + break + endif + endwhile + endif + if &filetype != "man" + if exists("g:ft_man_open_mode") + if g:ft_man_open_mode == 'vert' + let open_cmd = 'vsplit' + elseif g:ft_man_open_mode == 'tab' + let open_cmd = 'tabedit' + else + let open_cmd = 'split' + endif + else + let open_cmd = a:cmdmods . ' split' + endif + endif + endif + + silent execute open_cmd . " $HOME/" . page . '.' . sect . '~' + + " Avoid warning for editing the dummy file twice + setl buftype=nofile noswapfile + + setl fdc=0 ma nofen nonu nornu + %delete _ + let unsetwidth = 0 + if empty($MANWIDTH) + let $MANWIDTH = winwidth(0) + let unsetwidth = 1 + endif + + " Ensure Vim is not recursively invoked (man-db does this) when doing ctrl-[ + " on a man page reference by unsetting MANPAGER. + " Some versions of env(1) do not support the '-u' option, and in such case + " we set MANPAGER=cat. + if !exists('s:env_has_u') + call system('env -u x true') + let s:env_has_u = (v:shell_error == 0) + endif + let env_cmd = s:env_has_u ? 'env -u MANPAGER' : 'env MANPAGER=cat' + let env_cmd .= ' GROFF_NO_SGR=1' + let man_cmd = env_cmd . ' man ' . s:GetCmdArg(sect, page) . ' | col -b' + silent exec "r !" . man_cmd + + if unsetwidth + let $MANWIDTH = '' + endif + " Remove blank lines from top and bottom. + while line('$') > 1 && getline(1) =~ '^\s*$' + 1delete _ + endwhile + while line('$') > 1 && getline('$') =~ '^\s*$' + $delete _ + endwhile + 1 + setl ft=man nomod + setl bufhidden=hide + setl nobuflisted + setl noma +endfunc + +func PopPage() + if s:man_tag_depth > 0 + let s:man_tag_depth = s:man_tag_depth - 1 + exec "let s:man_tag_buf=s:man_tag_buf_".s:man_tag_depth + exec "let s:man_tag_lin=s:man_tag_lin_".s:man_tag_depth + exec "let s:man_tag_col=s:man_tag_col_".s:man_tag_depth + exec s:man_tag_buf."b" + exec s:man_tag_lin + exec "norm! ".s:man_tag_col."|" + exec "unlet s:man_tag_buf_".s:man_tag_depth + exec "unlet s:man_tag_lin_".s:man_tag_depth + exec "unlet s:man_tag_col_".s:man_tag_depth + unlet s:man_tag_buf s:man_tag_lin s:man_tag_col + endif +endfunc + +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: set sw=2 ts=8 noet: + +endif diff --git a/ftplugin/manconf.vim b/ftplugin/manconf.vim new file mode 100644 index 00000000..cfe01594 --- /dev/null +++ b/ftplugin/manconf.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'manconf') == -1 + +" Vim filetype plugin file +" Language: man.conf(5) - man configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/mf.vim b/ftplugin/mf.vim new file mode 100644 index 00000000..1a005d66 --- /dev/null +++ b/ftplugin/mf.vim @@ -0,0 +1,74 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'mf') == -1 + +" Vim filetype plugin file +" Language: METAFONT +" Maintainer: Nicola Vitacolonna +" Former Maintainers: Nikolai Weibull +" Latest Revision: 2016 Oct 2 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo< sua< inc< def< ofu<" + \ . "| unlet! b:match_ignorecase b:match_words b:match_skip" + +setlocal comments=:% commentstring=%\ %s formatoptions-=t formatoptions+=cjroql2 +setlocal suffixesadd=.mf +let &l:include = '\' +let &l:define = '\<\%(let\|newinternal\|interim\|def\|vardef\)\>\|\<\%(primary\|secondary\|tertiary\)def\>\s*[^ .]\+' +setlocal omnifunc=syntaxcomplete#Complete +let g:omni_syntax_group_include_mf = 'mf\w\+' +let g:omni_syntax_group_exclude_mf = 'mfTodoComment' + +let s:mp_regex = { + \ 'beginsection' : '^\s*\%(\%(\|var\|primary\|secondary\|tertiary\)def\|beginchar\|beginlogochar\)\>', + \ 'endsection' : '^\s*\%(enddef\|endchar\)\>', + \ 'beginblock' : '^\s*\%(begingroup\|if\|for\%(\|suffixes\|ever\)\)\>', + \ 'endblock' : '^\s*\%(endgroup\|fi\|endfor\)\>' + \ } + +function! s:move_around(count, what, flags, visual) + if a:visual + exe "normal! gv" + endif + call search(s:mp_regex[a:what], a:flags.'s') " 's' sets previous context mark + call map(range(2, a:count), 'search(s:mp_regex[a:what], a:flags)') +endfunction + + +" Move around macros. +nnoremap [[ :call move_around(v:count1, "beginsection", "bW", v:false) +vnoremap [[ :call move_around(v:count1, "beginsection", "bW", v:true) +nnoremap ]] :call move_around(v:count1, "beginsection", "W", v:false) +vnoremap ]] :call move_around(v:count1, "beginsection", "W", v:true) +nnoremap [] :call move_around(v:count1, "endsection", "bW", v:false) +vnoremap [] :call move_around(v:count1, "endsection", "bW", v:true) +nnoremap ][ :call move_around(v:count1, "endsection", "W", v:false) +vnoremap ][ :call move_around(v:count1, "endsection", "W", v:true) +nnoremap [{ :call move_around(v:count1, "beginblock", "bW", v:false) +vnoremap [{ :call move_around(v:count1, "beginblock", "bW", v:true) +nnoremap ]} :call move_around(v:count1, "endblock", "W", v:false) +vnoremap ]} :call move_around(v:count1, "endblock", "W", v:true) + +if exists("loaded_matchit") + let b:match_ignorecase = 0 + let b:match_words = + \ '\:\:\,' . + \ '\:\:\,' . + \ '\<\%(\|var\|primary\|secondary\|tertiary\)def\>:\,' . + \ '\:\,' . + \ '\:\' + " Ignore comments and strings + let b:match_skip = 'synIDattr(synID(line("."), col("."), 1), "name") + \ =~# "mf\\(Comment\\|String\\)$"' +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/modconf.vim b/ftplugin/modconf.vim new file mode 100644 index 00000000..07ea1669 --- /dev/null +++ b/ftplugin/modconf.vim @@ -0,0 +1,24 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'modconf') == -1 + +" Vim filetype plugin file +" Language: modules.conf(5) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< inc< fo<" + +setlocal comments=:# commentstring=#\ %s include=^\\s*include +setlocal formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/mp.vim b/ftplugin/mp.vim new file mode 100644 index 00000000..a13f5cff --- /dev/null +++ b/ftplugin/mp.vim @@ -0,0 +1,86 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'mp') == -1 + +" Vim filetype plugin file +" Language: MetaPost +" Maintainer: Nicola Vitacolonna +" Former Maintainers: Nikolai Weibull +" Latest Revision: 2016 Oct 2 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo< sua< inc< def< ofu<" + \ . "| unlet! b:match_ignorecase b:match_words b:match_skip" + +setlocal comments=:% commentstring=%\ %s formatoptions-=t formatoptions+=cjroql2 +setlocal suffixesadd=.mp,.mpiv +let &l:include = '\<\%(input\|loadmodule\)\>' " loadmodule is in MetaFun +let &l:define = '\<\%(let\|newinternal\|interim\|def\|vardef\)\>\|\<\%(primary\|secondary\|tertiary\)def\>\s*[^ .]\+' +setlocal omnifunc=syntaxcomplete#Complete +let g:omni_syntax_group_include_mp = 'mf\w\+,mp\w\+' +let g:omni_syntax_group_exclude_mp = 'mfTodoComment' + +if exists(":FixBeginfigs") != 2 + command -nargs=0 FixBeginfigs call s:fix_beginfigs() + + function! s:fix_beginfigs() + let i = 1 + g/^beginfig(\d*);$/s//\='beginfig('.i.');'/ | let i = i + 1 + endfunction +endif + +let s:mp_regex = { + \ 'beginsection' : '^\s*\%(\%(\|var\|primary\|secondary\|tertiary\)def\|begin\%(fig\|char\|logochar\|glyph\|graph\)\)\>', + \ 'endsection' : '^\s*\%(enddef\|end\%(fig\|char\|glyph\|graph\)\)\>', + \ 'beginblock' : '^\s*\%(begingroup\|if\|for\%(\|suffixes\|ever\)\)\>', + \ 'endblock' : '^\s*\%(endgroup\|fi\|endfor\)\>' + \ } + +function! s:move_around(count, what, flags, visual) + if a:visual + exe "normal! gv" + endif + call search(s:mp_regex[a:what], a:flags.'s') " 's' sets previous context mark + call map(range(2, a:count), 'search(s:mp_regex[a:what], a:flags)') +endfunction + + +" Move around macros. +nnoremap [[ :call move_around(v:count1, "beginsection", "bW", v:false) +vnoremap [[ :call move_around(v:count1, "beginsection", "bW", v:true) +nnoremap ]] :call move_around(v:count1, "beginsection", "W", v:false) +vnoremap ]] :call move_around(v:count1, "beginsection", "W", v:true) +nnoremap [] :call move_around(v:count1, "endsection", "bW", v:false) +vnoremap [] :call move_around(v:count1, "endsection", "bW", v:true) +nnoremap ][ :call move_around(v:count1, "endsection", "W", v:false) +vnoremap ][ :call move_around(v:count1, "endsection", "W", v:true) +nnoremap [{ :call move_around(v:count1, "beginblock", "bW", v:false) +vnoremap [{ :call move_around(v:count1, "beginblock", "bW", v:true) +nnoremap ]} :call move_around(v:count1, "endblock", "W", v:false) +vnoremap ]} :call move_around(v:count1, "endblock", "W", v:true) + +if exists("loaded_matchit") + let b:match_ignorecase = 0 + let b:match_words = + \ '\:\:\,' . + \ '\:\:\,' . + \ '\<\%(\|var\|primary\|secondary\|tertiary\)def\>:\,' . + \ '\:\,' . + \ '\:\,' . + \ '\:\,' . + \ '\:\,' . + \ '\:\' + " Ignore comments and strings + let b:match_skip = 'synIDattr(synID(line("."), col("."), 1), "name") + \ =~# "^mf\\%(Comment\\|String\\|\\)$\\|^mpTeXinsert$"' +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/mplayerconf.vim b/ftplugin/mplayerconf.vim new file mode 100644 index 00000000..b3587bdc --- /dev/null +++ b/ftplugin/mplayerconf.vim @@ -0,0 +1,24 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'mplayerconf') == -1 + +" Vim filetype plugin file +" Language: mplayer(1) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< inc< fo<" + +setlocal comments=:# commentstring=#\ %s include=^\\s*include +setlocal formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/mrxvtrc.vim b/ftplugin/mrxvtrc.vim new file mode 100644 index 00000000..bf73b0e4 --- /dev/null +++ b/ftplugin/mrxvtrc.vim @@ -0,0 +1,26 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'mrxvtrc') == -1 + +" Created : Wed 26 Apr 2006 01:20:53 AM CDT +" Modified : Fri 28 Apr 2006 03:24:01 AM CDT +" Author : Gautam Iyer +" Description : ftplugin for mrxvtrc + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms< fo<" + +" Really any line that does not match an option is a comment. But use '!' for +" compatibility with x-defaults files, and "#" (preferred) for compatibility +" with all other config files. +" +" Comments beginning with "#" are preferred because Vim will not flag the +" first word as a spelling error if it is not capitalised. The '!' used as +" comment leaders makes Vim think that every comment line is a new sentence. + +setlocal comments=:!,:# commentstring=#\ %s +setlocal formatoptions-=t formatoptions+=croql + +endif diff --git a/ftplugin/muttrc.vim b/ftplugin/muttrc.vim new file mode 100644 index 00000000..1d77a63f --- /dev/null +++ b/ftplugin/muttrc.vim @@ -0,0 +1,26 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'muttrc') == -1 + +" Vim filetype plugin file +" Language: mutt RC File +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2006-04-19 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< inc< fo<" + +setlocal comments=:# commentstring=#\ %s +setlocal formatoptions-=t formatoptions+=croql + +let &l:include = '^\s*source\>' + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/nanorc.vim b/ftplugin/nanorc.vim new file mode 100644 index 00000000..a116e318 --- /dev/null +++ b/ftplugin/nanorc.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nanorc') == -1 + +" Vim filetype plugin file +" Language: nanorc(5) - GNU nano configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/neomuttrc.vim b/ftplugin/neomuttrc.vim new file mode 100644 index 00000000..660931d0 --- /dev/null +++ b/ftplugin/neomuttrc.vim @@ -0,0 +1,27 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'neomuttrc') == -1 + +" Vim filetype plugin file +" Language: NeoMutt RC File +" Previous Maintainer: Guillaume Brogi +" Latest Revision: 2017-09-17 +" Original version copied from ftplugin/muttrc.vim + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< inc< fo<" + +setlocal comments=:# commentstring=#\ %s +setlocal formatoptions-=t formatoptions+=croql + +let &l:include = '^\s*source\>' + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/netrc.vim b/ftplugin/netrc.vim new file mode 100644 index 00000000..75f5ff7f --- /dev/null +++ b/ftplugin/netrc.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'netrc') == -1 + +" Vim filetype plugin file +" Language: netrc(5) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments= commentstring= formatoptions-=tcroq formatoptions+=l + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/nroff.vim b/ftplugin/nroff.vim new file mode 100644 index 00000000..2d040e3a --- /dev/null +++ b/ftplugin/nroff.vim @@ -0,0 +1,15 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nroff') == -1 + +" Vim filetype plugin +" Language: roff(7) +" Maintainer: Chris Spiegel +" Last Change: 2019 Apr 24 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +setlocal commentstring=.\\\"%s + +endif diff --git a/ftplugin/nsis.vim b/ftplugin/nsis.vim new file mode 100644 index 00000000..8820f066 --- /dev/null +++ b/ftplugin/nsis.vim @@ -0,0 +1,47 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nsis') == -1 + +" Vim ftplugin file +" Language: NSIS script +" Maintainer: Ken Takata +" URL: https://github.com/k-takata/vim-nsis +" Previous Maintainer: Nikolai Weibull +" Last Change: 2018-01-26 + +if exists("b:did_ftplugin") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms< fo< def< inc<" + \ " | unlet! b:match_ignorecase b:match_words" + +setlocal comments=s1:/*,mb:*,ex:*/,b:#,:; commentstring=;\ %s +setlocal formatoptions-=t formatoptions+=croql +setlocal define=^\\s*!define\\%(\\%(utc\\)\\=date\\|math\\)\\= +setlocal include=^\\s*!include\\%(/NONFATAL\\)\\= + +if exists("loaded_matchit") + let b:match_ignorecase = 1 + let b:match_words = + \ '\${\%(If\|IfNot\|Unless\)}:\${\%(Else\|ElseIf\|ElseIfNot\|ElseUnless\)}:\${\%(EndIf\|EndUnless\)},' . + \ '\${Select}:\${EndSelect},' . + \ '\${Switch}:\${EndSwitch},' . + \ '\${\%(Do\|DoWhile\|DoUntil\)}:\${\%(Loop\|LoopWhile\|LoopUntil\)},' . + \ '\${\%(For\|ForEach\)}:\${Next},' . + \ '\:\,' . + \ '\:\,' . + \ '\:\,' . + \ '\:\,' . + \ '\${MementoSection}:\${MementoSectionEnd},' . + \ '!if\%(\%(macro\)\?n\?def\)\?\>:!else\>:!endif\>,' . + \ '!macro\>:!macroend\>' +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/occam.vim b/ftplugin/occam.vim new file mode 100644 index 00000000..c428c13b --- /dev/null +++ b/ftplugin/occam.vim @@ -0,0 +1,53 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'occam') == -1 + +" Vim filetype plugin file +" Language: occam +" Copyright: Christian Jacobsen , Mario Schweigler +" Maintainer: Mario Schweigler +" Last Change: 23 April 2003 + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 +let s:keepcpo= &cpo +set cpo&vim + +"{{{ Indent settings +" Set shift width for indent +setlocal shiftwidth=2 +" Set the tab key size to two spaces +setlocal softtabstop=2 +" Let tab keys always be expanded to spaces +setlocal expandtab +"}}} + +"{{{ Formatting +" Break comment lines and insert comment leader in this case +setlocal formatoptions-=t formatoptions+=cql +setlocal comments+=:-- +" Maximum length of comments is 78 +setlocal textwidth=78 +"}}} + +"{{{ File browsing filters +" Win32 can filter files in the browse dialog +if has("gui_win32") && !exists("b:browsefilter") + let b:browsefilter = "All Occam Files (*.occ *.inc)\t*.occ;*.inc\n" . + \ "Occam Include Files (*.inc)\t*.inc\n" . + \ "Occam Source Files (*.occ)\t*.occ\n" . + \ "All Files (*.*)\t*.*\n" +endif +"}}} + +"{{{ Undo settings +let b:undo_ftplugin = "setlocal shiftwidth< softtabstop< expandtab<" + \ . " formatoptions< comments< textwidth<" + \ . "| unlet! b:browsefiler" +"}}} + +let &cpo = s:keepcpo +unlet s:keepcpo + +endif diff --git a/ftplugin/pamconf.vim b/ftplugin/pamconf.vim new file mode 100644 index 00000000..e8925de4 --- /dev/null +++ b/ftplugin/pamconf.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'pamconf') == -1 + +" Vim filetype plugin file +" Language: pam(8) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/pascal.vim b/ftplugin/pascal.vim new file mode 100644 index 00000000..f026da08 --- /dev/null +++ b/ftplugin/pascal.vim @@ -0,0 +1,24 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'pascal') == -1 + +" Vim filetype plugin file +" Language: pascal +" Maintainer: Dan Sharp +" Last Changed: 11 Apr 2011 +" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin + +if exists("b:did_ftplugin") | finish | endif +let b:did_ftplugin = 1 + +if exists("loaded_matchit") + let b:match_ignorecase = 1 " (pascal is case-insensitive) + + let b:match_words = '\<\%(begin\|case\|record\|object\|try\)\>' + let b:match_words .= ':\<^\s*\%(except\|finally\)\>:\' + let b:match_words .= ',\:\' + let b:match_words .= ',\:\' +endif + +" Undo the stuff we changed. +let b:undo_ftplugin = "unlet! b:match_words" + +endif diff --git a/ftplugin/passwd.vim b/ftplugin/passwd.vim new file mode 100644 index 00000000..d1375872 --- /dev/null +++ b/ftplugin/passwd.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'passwd') == -1 + +" Vim filetype plugin file +" Language: passwd(5) password file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments= commentstring= formatoptions-=tcroq formatoptions+=l + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/pdf.vim b/ftplugin/pdf.vim new file mode 100644 index 00000000..12dbc603 --- /dev/null +++ b/ftplugin/pdf.vim @@ -0,0 +1,93 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'pdf') == -1 + +" Vim filetype plugin file +" Language: PDF +" Maintainer: Tim Pope +" Last Change: 2007 Dec 16 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +setlocal commentstring=%%s +setlocal comments=:% +let b:undo_ftplugin = "setlocal cms< com< | unlet! b:match_words" + +if exists("g:loaded_matchit") + let b:match_words = '\<\%(\d\+\s\+\d\+\s\+\)obj\>:\,\,\:\,<<:>>' +endif + +if exists("g:no_plugin_maps") || exists("g:no_pdf_maps") || v:version < 700 + finish +endif + +if !exists("b:pdf_tagstack") + let b:pdf_tagstack = [] +endif + +let b:undo_ftplugin .= " | silent! nunmap | silent! nunmap " +nnoremap :call Tag() +" Inline, so the error from an empty tag stack will be simple. +nnoremap :if len(b:pdf_tagstack) > 0 call setpos('.',remove(b:pdf_tagstack, -1)) else exe "norm! \C-T>" endif + +function! s:Tag() + call add(b:pdf_tagstack,getpos('.')) + if getline('.') =~ '^\d\+$' && getline(line('.')-1) == 'startxref' + return s:dodigits(getline('.')) + elseif getline('.') =~ '/Prev\s\+\d\+\>\%(\s\+\d\)\@!' && expand("") =~ '^\d\+$' + return s:dodigits(expand("")) + elseif getline('.') =~ '^\d\{10\} \d\{5\} ' + return s:dodigits(matchstr(getline('.'),'^\d\+')) + else + let line = getline(".") + let lastend = 0 + let pat = '\<\d\+\s\+\d\+\s\+R\>' + while lastend >= 0 + let beg = match(line,'\C'.pat,lastend) + let end = matchend(line,'\C'.pat,lastend) + if beg < col(".") && end >= col(".") + return s:doobject(matchstr(line,'\C'.pat,lastend)) + endif + let lastend = end + endwhile + return s:notag() + endif +endfunction + +function! s:doobject(string) + let first = matchstr(a:string,'^\s*\zs\d\+') + let second = matchstr(a:string,'^\s*\d\+\s\+\zs\d\+') + norm! m' + if first != '' && second != '' + let oldline = line('.') + let oldcol = col('.') + 1 + if !search('^\s*'.first.'\s\+'.second.'\s\+obj\>') + exe oldline + exe 'norm! '.oldcol.'|' + return s:notag() + endif + endif +endfunction + +function! s:dodigits(digits) + let digits = 0 + substitute(a:digits,'^0*','','') + norm! m' + if digits <= 0 + norm! 1go + else + " Go one character before the destination and advance. This method + " lands us after a newline rather than before, if that is our target. + exe "goto ".(digits)."|norm! 1 " + endif +endfunction + +function! s:notag() + silent! call remove(b:pdf_tagstack,-1) + echohl ErrorMsg + echo "E426: tag not found" + echohl NONE +endfunction + +endif diff --git a/ftplugin/pinfo.vim b/ftplugin/pinfo.vim new file mode 100644 index 00000000..1fbcab16 --- /dev/null +++ b/ftplugin/pinfo.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'pinfo') == -1 + +" Vim filetype plugin file +" Language: pinfo(1) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/postscr.vim b/ftplugin/postscr.vim new file mode 100644 index 00000000..7730cdc8 --- /dev/null +++ b/ftplugin/postscr.vim @@ -0,0 +1,42 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'postscr') == -1 + +" Vim filetype plugin file +" Language: PostScript +" Maintainer: Mike Williams +" Last Change: 24th April 2012 + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +" PS comment formatting +setlocal comments=b:% +setlocal formatoptions-=t formatoptions+=rol + +" Define patterns for the matchit macro +if !exists("b:match_words") + let b:match_ignorecase = 0 + let b:match_words = '<<:>>,\:\,\:\,\:\' +endif + +" Define patterns for the browse file filter +if has("gui_win32") && !exists("b:browsefilter") + let b:browsefilter = "PostScript Files (*.ps)\t*.ps\n" . + \ "EPS Files (*.eps)\t*.eps\n" . + \ "All Files (*.*)\t*.*\n" +endif + +let b:undo_ftplugin = "setlocal comments< formatoptions<" + \ . "| unlet! b:browsefiler b:match_ignorecase b:match_words" + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/procmail.vim b/ftplugin/procmail.vim new file mode 100644 index 00000000..7bc335d7 --- /dev/null +++ b/ftplugin/procmail.vim @@ -0,0 +1,25 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'procmail') == -1 + +" Vim filetype plugin file +" Language: procmail(1) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< inc< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &l:include = '^\s*INCLUDERC\>' + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/protocols.vim b/ftplugin/protocols.vim new file mode 100644 index 00000000..293bc6c2 --- /dev/null +++ b/ftplugin/protocols.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'protocols') == -1 + +" Vim filetype plugin file +" Language: protocols(5) - Internet protocols definition file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/pyrex.vim b/ftplugin/pyrex.vim new file mode 100644 index 00000000..62b8e2ae --- /dev/null +++ b/ftplugin/pyrex.vim @@ -0,0 +1,31 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'pyrex') == -1 + +" Vim filetype plugin file +" Language: Pyrex +" Maintainer: Marco Barisione +" URL: http://marcobari.altervista.org/pyrex_vim.html +" Last Change: 2012 May 18 + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif +let s:keepcpo= &cpo +set cpo&vim + +" Behaves just like Python +runtime! ftplugin/python.vim ftplugin/python_*.vim ftplugin/python/*.vim + +if has("gui_win32") && exists("b:browsefilter") + let b:browsefilter = "Pyrex files (*.pyx,*.pxd)\t*.pyx;*.pxd\n" . + \ "Python Files (*.py)\t*.py\n" . + \ "C Source Files (*.c)\t*.c\n" . + \ "C Header Files (*.h)\t*.h\n" . + \ "C++ Source Files (*.cpp *.c++)\t*.cpp;*.c++\n" . + \ "All Files (*.*)\t*.*\n" +endif + +let &cpo = s:keepcpo +unlet s:keepcpo + +endif diff --git a/ftplugin/quake.vim b/ftplugin/quake.vim new file mode 100644 index 00000000..bab3eca1 --- /dev/null +++ b/ftplugin/quake.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'quake') == -1 + +" Vim filetype plugin file +" Language: Quake[1-3] configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:// commentstring=//\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/readline.vim b/ftplugin/readline.vim new file mode 100644 index 00000000..042f4b6b --- /dev/null +++ b/ftplugin/readline.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'readline') == -1 + +" Vim filetype plugin file +" Language: readline(3) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/reva.vim b/ftplugin/reva.vim new file mode 100644 index 00000000..5fe5f59f --- /dev/null +++ b/ftplugin/reva.vim @@ -0,0 +1,29 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'reva') == -1 + +" Vim ftplugin file +" Language: Reva Forth +" Version: 7.1 +" Last Change: 2008/01/11 +" Maintainer: Ron Aaron +" URL: http://ronware.org/reva/ +" Filetypes: *.rf *.frt +" NOTE: Forth allows any non-whitespace in a name, so you need to do: +" setlocal iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255 +" +" This goes with the syntax/reva.vim file. + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 + +setlocal sts=4 sw=4 +setlocal com=s1:/*,mb:*,ex:*/,:\|,:\\ +setlocal fo=tcrqol +setlocal matchpairs+=\::; +setlocal iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255 + +endif diff --git a/ftplugin/rmd.vim b/ftplugin/rmd.vim new file mode 100644 index 00000000..32fcc961 --- /dev/null +++ b/ftplugin/rmd.vim @@ -0,0 +1,67 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rmd') == -1 + +" Vim filetype plugin file +" Language: R Markdown file +" Maintainer: Jakson Alves de Aquino +" Homepage: https://github.com/jalvesaq/R-Vim-runtime +" Last Change: Sun Jul 22, 2018 06:51PM +" Original work by Alex Zvoleff (adjusted from R help for rmd by Michel Kuhlmann) + +" Only do this when not yet done for this buffer +if exists("b:did_ftplugin") + finish +endif + +if exists('g:rmd_include_html') && g:rmd_include_html + runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim +endif + +setlocal comments=fb:*,fb:-,fb:+,n:> +setlocal commentstring=#\ %s +setlocal formatoptions+=tcqln +setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^\\s*[-*+]\\s\\+ +setlocal iskeyword=@,48-57,_,. + +let s:cpo_save = &cpo +set cpo&vim + +function! FormatRmd() + if search("^[ \t]*```[ ]*{r", "bncW") > search("^[ \t]*```$", "bncW") + setlocal comments=:#',:###,:##,:# + else + setlocal comments=fb:*,fb:-,fb:+,n:> + endif + return 1 +endfunction + +" If you do not want 'comments' dynamically defined, put in your vimrc: +" let g:rmd_dynamic_comments = 0 +if !exists("g:rmd_dynamic_comments") || (exists("g:rmd_dynamic_comments") && g:rmd_dynamic_comments == 1) + setlocal formatexpr=FormatRmd() +endif + + +" Enables pandoc if it is installed +unlet! b:did_ftplugin +runtime ftplugin/pandoc.vim + +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 + +if has("gui_win32") && !exists("b:browsefilter") + let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst\n" . + \ "All Files (*.*)\t*.*\n" +endif + +if exists('b:undo_ftplugin') + let b:undo_ftplugin .= " | setl cms< com< fo< flp< isk< | unlet! b:browsefilter" +else + let b:undo_ftplugin = "setl cms< com< fo< flp< isk< | unlet! b:browsefilter" +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: sw=2 + +endif diff --git a/ftplugin/rnc.vim b/ftplugin/rnc.vim new file mode 100644 index 00000000..78f30817 --- /dev/null +++ b/ftplugin/rnc.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rnc') == -1 + +" Vim filetype plugin file +" Language: Relax NG compact syntax +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/rnoweb.vim b/ftplugin/rnoweb.vim new file mode 100644 index 00000000..1253c451 --- /dev/null +++ b/ftplugin/rnoweb.vim @@ -0,0 +1,45 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rnoweb') == -1 + +" Vim filetype plugin file +" Language: Rnoweb +" Maintainer: Jakson Alves de Aquino +" Homepage: https://github.com/jalvesaq/R-Vim-runtime +" Last Change: Tue Apr 07, 2015 04:37PM + +" Only do this when not yet done for this buffer +if exists("b:did_ftplugin") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +runtime! ftplugin/tex.vim + +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 + +" Enables Vim-Latex-Suite, LaTeX-Box if installed +runtime ftplugin/tex_*.vim + +setlocal iskeyword=@,48-57,_,. +setlocal suffixesadd=.bib,.tex +setlocal comments=b:%,b:#,b:##,b:###,b:#' + +if has("gui_win32") && !exists("b:browsefilter") + let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst\n" . + \ "All Files (*.*)\t*.*\n" +endif + +if exists('b:undo_ftplugin') + let b:undo_ftplugin .= " | setl isk< sua< com< | unlet! b:browsefilter" +else + let b:undo_ftplugin = "setl isk< sua< com< | unlet! b:browsefilter" +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: sw=2 + +endif diff --git a/ftplugin/rpl.vim b/ftplugin/rpl.vim new file mode 100644 index 00000000..cc24fffd --- /dev/null +++ b/ftplugin/rpl.vim @@ -0,0 +1,26 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rpl') == -1 + +" Vim filetype plugin file +" Language: RPL/2 +" Maintainer: Joël BERTRAND +" Last Change: 2012 Mar 07 +" Version: 0.1 + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 + +" Set 'formatoptions' to break comment lines but not other lines, +" and insert the comment leader when hitting or using "o". +setlocal fo-=t fo+=croql + +" Set 'comments' to format dashed lists in comments. +setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,:// + +let b:undo_ftplugin = "setlocal fo< comments<" + +endif diff --git a/ftplugin/rrst.vim b/ftplugin/rrst.vim new file mode 100644 index 00000000..7ddc0fc7 --- /dev/null +++ b/ftplugin/rrst.vim @@ -0,0 +1,58 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rrst') == -1 + +" Vim filetype plugin file +" Language: reStructuredText documentation format with R code +" Maintainer: Jakson Alves de Aquino +" Homepage: https://github.com/jalvesaq/R-Vim-runtime +" Last Change: Wed Nov 01, 2017 10:47PM +" Original work by Alex Zvoleff + +" Only do this when not yet done for this buffer +if exists("b:did_ftplugin") + finish +endif + +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +setlocal comments=fb:*,fb:-,fb:+,n:> +setlocal commentstring=#\ %s +setlocal formatoptions+=tcqln +setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^\\s*[-*+]\\s\\+ +setlocal iskeyword=@,48-57,_,. + +function! FormatRrst() + if search('^\.\. {r', "bncW") > search('^\.\. \.\.$', "bncW") + setlocal comments=:#',:###,:##,:# + else + setlocal comments=fb:*,fb:-,fb:+,n:> + endif + return 1 +endfunction + +" If you do not want 'comments' dynamically defined, put in your vimrc: +" let g:rrst_dynamic_comments = 0 +if !exists("g:rrst_dynamic_comments") || (exists("g:rrst_dynamic_comments") && g:rrst_dynamic_comments == 1) + setlocal formatexpr=FormatRrst() +endif + +if has("gui_win32") && !exists("b:browsefilter") + let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst\n" . + \ "All Files (*.*)\t*.*\n" +endif + +if exists('b:undo_ftplugin') + let b:undo_ftplugin .= " | setl cms< com< fo< flp< isk< | unlet! b:browsefilter" +else + let b:undo_ftplugin = "setl cms< com< fo< flp< isk< | unlet! b:browsefilter" +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: sw=2 + +endif diff --git a/ftplugin/sass.vim b/ftplugin/sass.vim new file mode 100644 index 00000000..d13a9e18 --- /dev/null +++ b/ftplugin/sass.vim @@ -0,0 +1,41 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'sass') == -1 + +" Vim filetype plugin +" Language: Sass +" Maintainer: Tim Pope +" Last Change: 2019 Dec 05 + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms< def< inc< inex< ofu< sua<" + +setlocal comments=:// +setlocal commentstring=//\ %s +setlocal includeexpr=SassIncludeExpr(v:fname) +setlocal omnifunc=csscomplete#CompleteCSS +setlocal suffixesadd=.sass,.scss,.css +if &filetype =~# '\' + setlocal iskeyword+=- + setlocal iskeyword+=$ + setlocal iskeyword+=% + let b:undo_ftplugin .= ' isk<' +endif + +let &l:define = '^\C\v\s*%(\@function|\@mixin|\=)|^\s*%(\$[[:alnum:]-]+:|[%.][:alnum:]-]+\s*%(\{|$))@=' +let &l:include = '^\s*@import\s\+\%(url(\)\=["'']\=' + +function! SassIncludeExpr(file) abort + let partial = substitute(a:file, '\%(.*/\|^\)\zs', '_', '') + if !empty(findfile(partial)) + return partial + endif + return a:file +endfunction + +" vim:set sw=2: + +endif diff --git a/ftplugin/scheme.vim b/ftplugin/scheme.vim new file mode 100644 index 00000000..e79efe7e --- /dev/null +++ b/ftplugin/scheme.vim @@ -0,0 +1,61 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'scheme') == -1 + +" Vim filetype plugin file +" Language: Scheme (R7RS) +" Last Change: 2019 Nov 18 +" Author: Evan Hanson +" Maintainer: Evan Hanson +" Previous Maintainer: Sergey Khorev +" URL: https://foldling.org/vim/ftplugin/scheme.vim + +if exists('b:did_ftplugin') + finish +endif + +let s:cpo = &cpo +set cpo&vim + +setl lisp +setl comments=:;;;;,:;;;,:;;,:;,sr:#\|,mb:\|,ex:\|# +setl commentstring=;%s +setl define=^\\s*(def\\k* +setl iskeyword=33,35-39,42-43,45-58,60-90,94,95,97-122,126 + +let b:undo_ftplugin = 'setl lisp< comments< commentstring< define< iskeyword<' + +setl lispwords+=case +setl lispwords+=define +setl lispwords+=define-record-type +setl lispwords+=define-syntax +setl lispwords+=define-values +setl lispwords+=do +setl lispwords+=guard +setl lispwords+=lambda +setl lispwords+=let +setl lispwords+=let* +setl lispwords+=let*-values +setl lispwords+=let-syntax +setl lispwords+=let-values +setl lispwords+=letrec +setl lispwords+=letrec* +setl lispwords+=letrec-syntax +setl lispwords+=parameterize +setl lispwords+=set! +setl lispwords+=syntax-rules +setl lispwords+=unless +setl lispwords+=when + +let b:undo_ftplugin = b:undo_ftplugin . ' lispwords<' + +let b:did_scheme_ftplugin = 1 + +if exists('b:is_chicken') || exists('g:is_chicken') + exe 'ru! ftplugin/chicken.vim' +endif + +unlet b:did_scheme_ftplugin +let b:did_ftplugin = 1 +let &cpo = s:cpo +unlet s:cpo + +endif diff --git a/ftplugin/screen.vim b/ftplugin/screen.vim new file mode 100644 index 00000000..ecd1f5ac --- /dev/null +++ b/ftplugin/screen.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'screen') == -1 + +" Vim filetype plugin file +" Language: screen(1) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/sensors.vim b/ftplugin/sensors.vim new file mode 100644 index 00000000..bdf1ea91 --- /dev/null +++ b/ftplugin/sensors.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'sensors') == -1 + +" Vim filetype plugin file +" Language: sensors.conf(5) - libsensors configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/services.vim b/ftplugin/services.vim new file mode 100644 index 00000000..c676b8a7 --- /dev/null +++ b/ftplugin/services.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'services') == -1 + +" Vim filetype plugin file +" Language: services(5) - Internet network services list +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/setserial.vim b/ftplugin/setserial.vim new file mode 100644 index 00000000..270f2e0f --- /dev/null +++ b/ftplugin/setserial.vim @@ -0,0 +1,23 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'setserial') == -1 + +" Vim filetype plugin file +" Language: setserial(8) configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/sieve.vim b/ftplugin/sieve.vim new file mode 100644 index 00000000..e14eadf4 --- /dev/null +++ b/ftplugin/sieve.vim @@ -0,0 +1,24 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'sieve') == -1 + +" Vim filetype plugin file +" Language: Sieve filtering language input file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=s1:/*,mb:*,ex:*/,:# commentstring=#\ %s +setlocal formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/slpconf.vim b/ftplugin/slpconf.vim new file mode 100644 index 00000000..c03df0c1 --- /dev/null +++ b/ftplugin/slpconf.vim @@ -0,0 +1,24 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'slpconf') == -1 + +" Vim filetype plugin file +" Language: RFC 2614 - An API for Service Location configuration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:#,:; commentstring=#\ %s +setlocal formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/slpreg.vim b/ftplugin/slpreg.vim new file mode 100644 index 00000000..5e6bcfeb --- /dev/null +++ b/ftplugin/slpreg.vim @@ -0,0 +1,24 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'slpreg') == -1 + +" Vim filetype plugin file +" Language: RFC 2614 - An API for Service Location registration file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:#,:; commentstring=#\ %s +setlocal formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/slpspi.vim b/ftplugin/slpspi.vim new file mode 100644 index 00000000..1e253e1f --- /dev/null +++ b/ftplugin/slpspi.vim @@ -0,0 +1,24 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'slpspi') == -1 + +" Vim filetype plugin file +" Language: RFC 2614 - An API for Service Location SPI file +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = "setl com< cms< fo<" + +setlocal comments=:#,:; commentstring=#\ %s +setlocal formatoptions-=t formatoptions+=croql + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/ftplugin/spec.vim b/ftplugin/spec.vim new file mode 100644 index 00000000..cf93a223 --- /dev/null +++ b/ftplugin/spec.vim @@ -0,0 +1,212 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'spec') == -1 + +" Plugin to update the %changelog section of RPM spec files +" Filename: spec.vim +" Maintainer: Igor Gnatenko i.gnatenko.brain@gmail.com +" Former Maintainer: Gustavo Niemeyer (until March 2014) +" Last Change: Mon Jun 01 21:15 MSK 2015 Igor Gnatenko + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +if !exists("no_plugin_maps") && !exists("no_spec_maps") + if !hasmapto("SpecChangelog") + map c SpecChangelog + endif +endif + +if !hasmapto("call SpecChangelog(\"\")") + noremap " + \ fold + \ contains=@wshVBScript + \ keepend +syn region wshJavaScript + \ matchgroup=xmlTag start="]*J\(ava\)\=Script\(>\|[^>]*[^/>]>\)" + \ matchgroup=xmlEndTag end="" + \ fold + \ contains=@wshJavaScript + \ keepend + +syn cluster xmlRegionHook add=wshVBScript,wshJavaScript + +let b:current_syntax = "wsh" + +let &cpo = s:wsh_cpo_save +unlet s:wsh_cpo_save + +endif diff --git a/syntax/wsml.vim b/syntax/wsml.vim new file mode 100644 index 00000000..f3a58349 --- /dev/null +++ b/syntax/wsml.vim @@ -0,0 +1,117 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'wsml') == -1 + +" Vim syntax file +" Language: WSML +" Maintainer: Thomas Haselwanter +" URL: none +" Last Change: 2006 Apr 30 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" WSML +syn keyword wsmlHeader wsmlVariant +syn keyword wsmlNamespace namespace +syn keyword wsmlTopLevel concept instance relationInstance ofType usesMediator usesService relation sharedVariables importsOntology +syn keyword wsmlOntology hasValue memberOf ofType impliesType subConceptOf +syn keyword wsmlAxiom axiom definedBy +syn keyword wsmlService assumption effect postcondition precondition capability interface +syn keyword wsmlTopLevel ooMediator wwMediator wgMediator ggMediator +syn keyword wsmlMediation usesService source target +syn match wsmlDataTypes "\( _string\| _decimal\| _integer\| _float\| _double\| _iri\| _sqname\| _boolean\| _duration\| _dateTime\| _time\| _date\| _gyearmonth\| _gyear\| _gmonthday\| _gday\| _gmonth\| _hexbinary\| _base64binary\)\((\S*)\)\?" contains=wsmlString,wsmlNumber,wsmlCharacter +syn keyword wsmlTopLevel goal webService ontology +syn keyword wsmlKeywordsInsideLEs true false memberOf hasValue subConceptOf ofType impliesType and or implies impliedBy equivalent neg naf forall exists +syn keyword wsmlNFP nfp endnfp nonFunctionalProperties endNonFunctionalProperties +syn region wsmlNFPregion start="nfp\|nonFunctionalProperties" end="endnfp\|endNonFunctionalProperties" contains=ALL +syn region wsmlNamespace start="namespace" end="}" contains=wsmlIdentifier +syn match wsmlOperator "!=\|:=:\|=<\|>=\|=\|+\|\*\|/\|<->\|->\|<-\|:-\|!-\|-\|<\|>" +syn match wsmlBrace "(\|)\|\[\|\]\|{\|}" +syn match wsmlIdentifier +_"\S*"+ +syn match wsmlIdentifier "_#\d*" +syn match wsmlSqName "[0-9A-Za-z]\+#[0-9A-Za-z]\+" +syn match wsmlVariable "?[0-9A-Za-z]\+" + +" ASM-specific code +syn keyword wsmlBehavioral choreography orchestration transitionRules +syn keyword wsmlChoreographyPri stateSignature in out shared static controlled +syn keyword wsmlChoreographySec with do withGrounding forall endForall choose if then endIf +syn match wsmlChoreographyTer "\(\s\|\_^\)\(add\|delete\|update\)\s*(.*)" contains=wsmlKeywordsInsideLEs,wsmlIdentifier,wsmlSqName,wsmlString,wsmlNumber,wsmlDataTypes,wsmlVariable + +" Comments +syn keyword wsmlTodo contained TODO +syn keyword wsmlFixMe contained FIXME +if exists("wsml_comment_strings") + syn region wsmlCommentString contained start=+"+ end=+"+ end=+$+ end=+\*/+me=s-1,he=s-1 contains=wsmlSpecial,wsmlCommentStar,wsmlSpecialChar,@Spell + syn region wsmlComment2String contained start=+"+ end=+$\|"+ contains=wsmlSpecial,wsmlSpecialChar,@Spell + syn match wsmlCommentCharacter contained "'\\[^']\{1,6\}'" contains=wsmlSpecialChar + syn match wsmlCommentCharacter contained "'\\''" contains=wsmlSpecialChar + syn match wsmlCommentCharacter contained "'[^\\]'" + syn cluster wsmlCommentSpecial add=wsmlCommentString,wsmlCommentCharacter,wsmlNumber + syn cluster wsmlCommentSpecial2 add=wsmlComment2String,wsmlCommentCharacter,wsmlNumber +endif + +syn region wsmlComment start="/\*" end="\*/" contains=@wsmlCommentSpecial,wsmlTodo,wsmlFixMe,@Spell +syn match wsmlCommentStar contained "^\s*\*[^/]"me=e-1 +syn match wsmlCommentStar contained "^\s*\*$" +syn match wsmlLineComment "//.*" contains=@wsmlCommentSpecial2,wsmlTodo,@Spell + +syn cluster wsmlTop add=wsmlComment,wsmlLineComment + +"match the special comment /**/ +syn match wsmlComment "/\*\*/" + +" Strings +syn region wsmlString start=+"+ end=+"+ contains=wsmlSpecialChar,wsmlSpecialError,@Spell +syn match wsmlCharacter "'[^']*'" contains=javaSpecialChar,javaSpecialCharError +syn match wsmlCharacter "'\\''" contains=javaSpecialChar +syn match wsmlCharacter "'[^\\]'" +syn match wsmlNumber "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>" +syn match wsmlNumber "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\=" +syn match wsmlNumber "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>" +syn match wsmlNumber "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>" + +" unicode characters +syn match wsmlSpecial "\\u\d\{4\}" + +syn cluster wsmlTop add=wsmlString,wsmlCharacter,wsmlNumber,wsmlSpecial,wsmlStringError + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet +hi def link wsmlHeader TypeDef +hi def link wsmlNamespace TypeDef +hi def link wsmlOntology Statement +hi def link wsmlAxiom TypeDef +hi def link wsmlService TypeDef +hi def link wsmlNFP TypeDef +hi def link wsmlTopLevel TypeDef +hi def link wsmlMediation TypeDef +hi def link wsmlBehavioral TypeDef +hi def link wsmlChoreographyPri TypeDef +hi def link wsmlChoreographySec Operator +hi def link wsmlChoreographyTer Special +hi def link wsmlString String +hi def link wsmlIdentifier Normal +hi def link wsmlSqName Normal +hi def link wsmlVariable Define +hi def link wsmlKeywordsInsideLEs Operator +hi def link wsmlOperator Operator +hi def link wsmlBrace Operator +hi def link wsmlCharacter Character +hi def link wsmlNumber Number +hi def link wsmlDataTypes Special +hi def link wsmlComment Comment +hi def link wsmlDocComment Comment +hi def link wsmlLineComment Comment +hi def link wsmlTodo Todo +hi def link wsmlFixMe Error +hi def link wsmlCommentTitle SpecialComment +hi def link wsmlCommentStar wsmlComment + + +let b:current_syntax = "wsml" +let b:spell_options="contained" + + +endif diff --git a/syntax/wvdial.vim b/syntax/wvdial.vim new file mode 100644 index 00000000..560060d2 --- /dev/null +++ b/syntax/wvdial.vim @@ -0,0 +1,32 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'wvdial') == -1 + +" Vim syntax file +" Language: Configuration file for WvDial +" Maintainer: Prahlad Vaidyanathan +" Last Update: Mon, 15 Oct 2001 09:39:03 Indian Standard Time + +" Quit if syntax file is already loaded +if exists("b:current_syntax") + finish +endif + +syn match wvdialComment "^;.*$"lc=1 +syn match wvdialComment "[^\\];.*$"lc=1 +syn match wvdialSection "^\s*\[.*\]" +syn match wvdialValue "=.*$"ms=s+1 +syn match wvdialValue "\s*[^ ;"' ]\+"lc=1 +syn match wvdialVar "^\s*\(Inherits\|Modem\|Baud\|Init.\|Phone\|Area\ Code\|Dial\ Prefix\|Dial\ Command\|Login\|Login\| Prompt\|Password\|Password\ Prompt\|PPPD\ Path\|Force\ Address\|Remote\ Name\|Carrier\ Check\|Stupid\ [Mm]ode\|New\ PPPD\|Default\ Reply\|Auto\ Reconnect\|SetVolume\|Username\)" +syn match wvdialEqual "=" + +" The default highlighting +hi def link wvdialComment Comment +hi def link wvdialSection PreProc +hi def link wvdialVar Identifier +hi def link wvdialValue String +hi def link wvdialEqual Statement + +let b:current_syntax = "wvdial" + +"EOF vim: tw=78:ft=vim:ts=8 + +endif diff --git a/syntax/xdefaults.vim b/syntax/xdefaults.vim new file mode 100644 index 00000000..704c24b1 --- /dev/null +++ b/syntax/xdefaults.vim @@ -0,0 +1,136 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'xdefaults') == -1 + +" Vim syntax file +" Language: X resources files like ~/.Xdefaults (xrdb) +" Maintainer: Johannes Zellner +" Author and previous maintainer: +" Gautam H. Mudunuri +" Last Change: Di, 09 Mai 2006 23:10:23 CEST +" $Id: xdefaults.vim,v 1.2 2007/05/05 17:19:40 vimboss Exp $ +" +" REFERENCES: +" xrdb manual page +" xrdb source: ftp://ftp.x.org/pub/R6.4/xc/programs/xrdb/xrdb.c + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" turn case on +syn case match + + +if !exists("xdefaults_no_colon_errors") + " mark lines which do not contain a colon as errors. + " This does not really catch all errors but only lines + " which contain at least two WORDS and no colon. This + " was done this way so that a line is not marked as + " error while typing (which would be annoying). + syntax match xdefaultsErrorLine "^\s*[a-zA-Z.*]\+\s\+[^: ]\+" +endif + + +" syn region xdefaultsLabel start=+^[^:]\{-}:+he=e-1 skip=+\\+ end="$" +syn match xdefaultsLabel +^[^:]\{-}:+he=e-1 contains=xdefaultsPunct,xdefaultsSpecial,xdefaultsLineEnd +syn region xdefaultsValue keepend start=+:+lc=1 skip=+\\+ end=+$+ contains=xdefaultsSpecial,xdefaultsLabel,xdefaultsLineEnd + +syn match xdefaultsSpecial contained +#override+ +syn match xdefaultsSpecial contained +#augment+ +syn match xdefaultsPunct contained +[.*:]+ +syn match xdefaultsLineEnd contained +\\$+ +syn match xdefaultsLineEnd contained +\\n\\$+ +syn match xdefaultsLineEnd contained +\\n$+ + + + +" COMMENTS + +" note, that the '!' must be at the very first position of the line +syn match xdefaultsComment "^!.*$" contains=xdefaultsTodo,@Spell + +" lines starting with a '#' mark and which are not preprocessor +" lines are skipped. This is not part of the xrdb documentation. +" It was reported by Bram Moolenaar and could be confirmed by +" having a look at xrdb.c:GetEntries() +syn match xdefaultsCommentH "^#.*$" +"syn region xdefaultsComment start="^#" end="$" keepend contains=ALL +syn region xdefaultsComment start="/\*" end="\*/" contains=xdefaultsTodo,@Spell + +syntax match xdefaultsCommentError "\*/" + +syn keyword xdefaultsTodo contained TODO FIXME XXX display + + + +" PREPROCESSOR STUFF + +syn region xdefaultsPreProc start="^\s*#\s*\(if\|ifdef\|ifndef\|elif\|else\|endif\)\>" skip="\\$" end="$" contains=xdefaultsSymbol +if !exists("xdefaults_no_if0") + syn region xdefaultsCppOut start="^\s*#\s*if\s\+0\>" end=".\|$" contains=xdefaultsCppOut2 + syn region xdefaultsCppOut2 contained start="0" end="^\s*#\s*\(endif\>\|else\>\|elif\>\)" contains=xdefaultsCppSkip + syn region xdefaultsCppSkip contained start="^\s*#\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*#\s*endif\>" contains=xdefaultsCppSkip +endif +syn region xdefaultsIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+ +syn match xdefaultsIncluded contained "<[^>]*>" +syn match xdefaultsInclude "^\s*#\s*include\>\s*["<]" contains=xdefaultsIncluded +syn cluster xdefaultsPreProcGroup contains=xdefaultsPreProc,xdefaultsIncluded,xdefaultsInclude,xdefaultsDefine,xdefaultsCppOut,xdefaultsCppOut2,xdefaultsCppSkip +syn region xdefaultsDefine start="^\s*#\s*\(define\|undef\)\>" skip="\\$" end="$" contains=ALLBUT,@xdefaultsPreProcGroup,xdefaultsCommentH,xdefaultsErrorLine,xdefaultsLabel,xdefaultsValue +syn region xdefaultsPreProc start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@xdefaultsPreProcGroup,xdefaultsCommentH,xdefaultsErrorLine,xdefaultsLabel,xdefaultsValue + + + +" symbols as defined by xrdb +syn keyword xdefaultsSymbol contained SERVERHOST +syn match xdefaultsSymbol contained "SRVR_[a-zA-Z0-9_]\+" +syn keyword xdefaultsSymbol contained HOST +syn keyword xdefaultsSymbol contained DISPLAY_NUM +syn keyword xdefaultsSymbol contained CLIENTHOST +syn match xdefaultsSymbol contained "CLNT_[a-zA-Z0-9_]\+" +syn keyword xdefaultsSymbol contained RELEASE +syn keyword xdefaultsSymbol contained REVISION +syn keyword xdefaultsSymbol contained VERSION +syn keyword xdefaultsSymbol contained VENDOR +syn match xdefaultsSymbol contained "VNDR_[a-zA-Z0-9_]\+" +syn match xdefaultsSymbol contained "EXT_[a-zA-Z0-9_]\+" +syn keyword xdefaultsSymbol contained NUM_SCREENS +syn keyword xdefaultsSymbol contained SCREEN_NUM +syn keyword xdefaultsSymbol contained BITS_PER_RGB +syn keyword xdefaultsSymbol contained CLASS +syn keyword xdefaultsSymbol contained StaticGray GrayScale StaticColor PseudoColor TrueColor DirectColor +syn match xdefaultsSymbol contained "CLASS_\(StaticGray\|GrayScale\|StaticColor\|PseudoColor\|TrueColor\|DirectColor\)" +syn keyword xdefaultsSymbol contained COLOR +syn match xdefaultsSymbol contained "CLASS_\(StaticGray\|GrayScale\|StaticColor\|PseudoColor\|TrueColor\|DirectColor\)_[0-9]\+" +syn keyword xdefaultsSymbol contained HEIGHT +syn keyword xdefaultsSymbol contained WIDTH +syn keyword xdefaultsSymbol contained PLANES +syn keyword xdefaultsSymbol contained X_RESOLUTION +syn keyword xdefaultsSymbol contained Y_RESOLUTION + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet +hi def link xdefaultsLabel Type +hi def link xdefaultsValue Constant +hi def link xdefaultsComment Comment +hi def link xdefaultsCommentH xdefaultsComment +hi def link xdefaultsPreProc PreProc +hi def link xdefaultsInclude xdefaultsPreProc +hi def link xdefaultsCppSkip xdefaultsCppOut +hi def link xdefaultsCppOut2 xdefaultsCppOut +hi def link xdefaultsCppOut Comment +hi def link xdefaultsIncluded String +hi def link xdefaultsDefine Macro +hi def link xdefaultsSymbol Statement +hi def link xdefaultsSpecial Statement +hi def link xdefaultsErrorLine Error +hi def link xdefaultsCommentError Error +hi def link xdefaultsPunct Normal +hi def link xdefaultsLineEnd Special +hi def link xdefaultsTodo Todo + + +let b:current_syntax = "xdefaults" + +" vim:ts=8 + +endif diff --git a/syntax/xhtml.vim b/syntax/xhtml.vim new file mode 100644 index 00000000..b1beead4 --- /dev/null +++ b/syntax/xhtml.vim @@ -0,0 +1,15 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'xhtml') == -1 + +" Vim syntax file +" Language: XHTML +" Maintainer: noone +" Last Change: 2003 Feb 04 + +" Load the HTML syntax for now. +runtime! syntax/html.vim + +let b:current_syntax = "xhtml" + +" vim: ts=8 + +endif diff --git a/syntax/xinetd.vim b/syntax/xinetd.vim new file mode 100644 index 00000000..2a59f43c --- /dev/null +++ b/syntax/xinetd.vim @@ -0,0 +1,351 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'xinetd') == -1 + +" Vim syntax file +" Language: xinetd.conf(5) 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 xinetdTodo contained TODO FIXME XXX NOTE + +syn region xinetdComment display oneline start='^\s*#' end='$' + \ contains=xinetdTodo,@Spell + +syn match xinetdService '^\s*service\>' + \ nextgroup=xinetdServiceName skipwhite + +syn match xinetdServiceName contained '\S\+' + \ nextgroup=xinetdServiceGroup skipwhite skipnl + +syn match xinetdDefaults '^\s*defaults' + \ nextgroup=xinetdServiceGroup skipwhite skipnl + +syn region xinetdServiceGroup contained transparent + \ matchgroup=xinetdServiceGroupD start='{' + \ matchgroup=xinetdServiceGroupD end='}' + \ contains=xinetdAttribute,xinetdReqAttribute, + \ xinetdDisable + +syn keyword xinetdReqAttribute contained user server protocol + \ nextgroup=xinetdStringEq skipwhite + +syn keyword xinetdAttribute contained id group bind + \ interface + \ nextgroup=xinetdStringEq skipwhite + +syn match xinetdStringEq contained display '=' + \ nextgroup=xinetdString skipwhite + +syn match xinetdString contained display '\S\+' + +syn keyword xinetdAttribute contained type nextgroup=xinetdTypeEq skipwhite + +syn match xinetdTypeEq contained display '=' + \ nextgroup=xinetdType skipwhite + +syn keyword xinetdType contained RPC INTERNAL TCPMUX TCPMUXPLUS + \ UNLISTED + \ nextgroup=xinetdType skipwhite + +syn keyword xinetdAttribute contained flags + \ nextgroup=xinetdFlagsEq skipwhite + +syn cluster xinetdFlagsC contains=xinetdFlags,xinetdDeprFlags + +syn match xinetdFlagsEq contained display '=' + \ nextgroup=@xinetdFlagsC skipwhite + +syn keyword xinetdFlags contained INTERCEPT NORETRY IDONLY NAMEINARGS + \ NODELAY KEEPALIVE NOLIBWRAP SENSOR IPv4 IPv6 + \ nextgroup=@xinetdFlagsC skipwhite + +syn keyword xinetdDeprFlags contained REUSE nextgroup=xinetdFlagsC skipwhite + +syn keyword xinetdDisable contained disable + \ nextgroup=xinetdBooleanEq skipwhite + +syn match xinetdBooleanEq contained display '=' + \ nextgroup=xinetdBoolean skipwhite + +syn keyword xinetdBoolean contained yes no + +syn keyword xinetdReqAttribute contained socket_type + \ nextgroup=xinetdSocketTypeEq skipwhite + +syn match xinetdSocketTypeEq contained display '=' + \ nextgroup=xinetdSocketType skipwhite + +syn keyword xinetdSocketType contained stream dgram raw seqpacket + +syn keyword xinetdReqAttribute contained wait + \ nextgroup=xinetdBooleanEq skipwhite + +syn keyword xinetdAttribute contained groups mdns + \ nextgroup=xinetdBooleanEq skipwhite + +syn keyword xinetdAttribute contained instances per_source rlimit_cpu + \ rlimit_data rlimit_rss rlimit_stack + \ nextgroup=xinetdUNumberEq skipwhite + +syn match xinetdUNumberEq contained display '=' + \ nextgroup=xinetdUnlimited,xinetdNumber + \ skipwhite + +syn keyword xinetdUnlimited contained UNLIMITED + +syn match xinetdNumber contained display '\<\d\+\>' + +syn keyword xinetdAttribute contained nice + \ nextgroup=xinetdSignedNumEq skipwhite + +syn match xinetdSignedNumEq contained display '=' + \ nextgroup=xinetdSignedNumber skipwhite + +syn match xinetdSignedNumber contained display '[+-]\=\d\+\>' + +syn keyword xinetdAttribute contained server_args + \ enabled + \ nextgroup=xinetdStringsEq skipwhite + +syn match xinetdStringsEq contained display '=' + \ nextgroup=xinetdStrings skipwhite + +syn match xinetdStrings contained display '\S\+' + \ nextgroup=xinetdStrings skipwhite + +syn keyword xinetdAttribute contained only_from no_access passenv + \ nextgroup=xinetdStringsAdvEq skipwhite + +syn match xinetdStringsAdvEq contained display '[+-]\==' + \ nextgroup=xinetdStrings skipwhite + +syn keyword xinetdAttribute contained access_times + \ nextgroup=xinetdTimeRangesEq skipwhite + +syn match xinetdTimeRangesEq contained display '=' + \ nextgroup=xinetdTimeRanges skipwhite + +syn match xinetdTimeRanges contained display + \ '\%(0?\d\|1\d\|2[0-3]\):\%(0?\d\|[1-5]\d\)-\%(0?\d\|1\d\|2[0-3]\):\%(0?\d\|[1-5]\d\)' + \ nextgroup=xinetdTimeRanges skipwhite + +syn keyword xinetdAttribute contained log_type nextgroup=xinetdLogTypeEq + \ skipwhite + +syn match xinetdLogTypeEq contained display '=' + \ nextgroup=xinetdLogType skipwhite + +syn keyword xinetdLogType contained SYSLOG nextgroup=xinetdSyslogType + \ skipwhite + +syn keyword xinetdLogType contained FILE nextgroup=xinetdLogFile skipwhite + +syn keyword xinetdSyslogType contained daemon auth authpriv user mail lpr + \ news uucp ftp local0 local1 local2 local3 + \ local4 local5 local6 local7 + \ nextgroup=xinetdSyslogLevel skipwhite + +syn keyword xinetdSyslogLevel contained emerg alert crit err warning notice + \ info debug + +syn match xinetdLogFile contained display '\S\+' + \ nextgroup=xinetdLogSoftLimit skipwhite + +syn match xinetdLogSoftLimit contained display '\<\d\+\>' + \ nextgroup=xinetdLogHardLimit skipwhite + +syn match xinetdLogHardLimit contained display '\<\d\+\>' + +syn keyword xinetdAttribute contained log_on_success + \ nextgroup=xinetdLogSuccessEq skipwhite + +syn match xinetdLogSuccessEq contained display '[+-]\==' + \ nextgroup=xinetdLogSuccess skipwhite + +syn keyword xinetdLogSuccess contained PID HOST USERID EXIT DURATION TRAFFIC + \ nextgroup=xinetdLogSuccess skipwhite + +syn keyword xinetdAttribute contained log_on_failure + \ nextgroup=xinetdLogFailureEq skipwhite + +syn match xinetdLogFailureEq contained display '[+-]\==' + \ nextgroup=xinetdLogFailure skipwhite + +syn keyword xinetdLogFailure contained HOST USERID ATTEMPT + \ nextgroup=xinetdLogFailure skipwhite + +syn keyword xinetdReqAttribute contained rpc_version + \ nextgroup=xinetdRPCVersionEq skipwhite + +syn match xinetdRPCVersionEq contained display '=' + \ nextgroup=xinetdRPCVersion skipwhite + +syn match xinetdRPCVersion contained display '\d\+\%(-\d\+\)\=\>' + +syn keyword xinetdReqAttribute contained rpc_number port + \ nextgroup=xinetdNumberEq skipwhite + +syn match xinetdNumberEq contained display '=' + \ nextgroup=xinetdNumber skipwhite + +syn keyword xinetdAttribute contained env nextgroup=xinetdEnvEq skipwhite + +syn match xinetdEnvEq contained display '+\==' + \ nextgroup=xinetdEnvName skipwhite + +syn match xinetdEnvName contained display '[^=]\+' + \ nextgroup=xinetdEnvNameEq + +syn match xinetdEnvNameEq contained display '=' nextgroup=xinetdEnvValue + +syn match xinetdEnvValue contained display '\S\+' + \ nextgroup=xinetdEnvName skipwhite + +syn keyword xinetdAttribute contained banner banner_success banner_failure + \ nextgroup=xinetdPathEq skipwhite + +syn keyword xinetdPPAttribute include includedir + \ nextgroup=xinetdPath skipwhite + +syn match xinetdPathEq contained display '=' + \ nextgroup=xinetdPath skipwhite + +syn match xinetdPath contained display '\S\+' + +syn keyword xinetdAttribute contained redirect nextgroup=xinetdRedirectEq + \ skipwhite + +syn match xinetdRedirectEq contained display '=' + \ nextgroup=xinetdRedirectIP skipwhite + +syn match xinetdRedirectIP contained display '\S\+' + \ nextgroup=xinetdNumber skipwhite + +syn keyword xinetdAttribute contained cps nextgroup=xinetdCPSEq skipwhite + +syn match xinetdCPSEq contained display '=' + \ nextgroup=xinetdCPS skipwhite + +syn match xinetdCPS contained display '\<\d\+\>' + \ nextgroup=xinetdNumber skipwhite + +syn keyword xinetdAttribute contained max_load nextgroup=xinetdFloatEq + \ skipwhite + +syn match xinetdFloatEq contained display '=' + \ nextgroup=xinetdFloat skipwhite + +syn match xinetdFloat contained display '\d\+\.\d*\|\.\d\+' + +syn keyword xinetdAttribute contained umask nextgroup=xinetdOctalEq + \ skipwhite + +syn match xinetdOctalEq contained display '=' + \ nextgroup=xinetdOctal,xinetdOctalError + \ skipwhite + +syn match xinetdOctal contained display '\<0\o\+\>' + \ contains=xinetdOctalZero +syn match xinetdOctalZero contained display '\<0' +syn match xinetdOctalError contained display '\<0\o*[89]\d*\>' + +syn keyword xinetdAttribute contained rlimit_as nextgroup=xinetdASEq + \ skipwhite + +syn match xinetdASEq contained display '=' + \ nextgroup=xinetdAS,xinetdUnlimited + \ skipwhite + +syn match xinetdAS contained display '\d\+' nextgroup=xinetdASMult + +syn match xinetdASMult contained display '[KM]' + +syn keyword xinetdAttribute contained deny_time nextgroup=xinetdDenyTimeEq + \ skipwhite + +syn match xinetdDenyTimeEq contained display '=' + \ nextgroup=xinetdDenyTime,xinetdNumber + \ skipwhite + +syn keyword xinetdDenyTime contained FOREVER NEVER + +hi def link xinetdTodo Todo +hi def link xinetdComment Comment +hi def link xinetdService Keyword +hi def link xinetdServiceName String +hi def link xinetdDefaults Keyword +hi def link xinetdServiceGroupD Delimiter +hi def link xinetdReqAttribute Keyword +hi def link xinetdAttribute Type +hi def link xinetdEq Operator +hi def link xinetdStringEq xinetdEq +hi def link xinetdString String +hi def link xinetdTypeEq xinetdEq +hi def link xinetdType Identifier +hi def link xinetdFlagsEq xinetdEq +hi def link xinetdFlags xinetdType +hi def link xinetdDeprFlags WarningMsg +hi def link xinetdDisable Special +hi def link xinetdBooleanEq xinetdEq +hi def link xinetdBoolean Boolean +hi def link xinetdSocketTypeEq xinetdEq +hi def link xinetdSocketType xinetdType +hi def link xinetdUNumberEq xinetdEq +hi def link xinetdUnlimited Define +hi def link xinetdNumber Number +hi def link xinetdSignedNumEq xinetdEq +hi def link xinetdSignedNumber xinetdNumber +hi def link xinetdStringsEq xinetdEq +hi def link xinetdStrings xinetdString +hi def link xinetdStringsAdvEq xinetdEq +hi def link xinetdTimeRangesEq xinetdEq +hi def link xinetdTimeRanges Number +hi def link xinetdLogTypeEq xinetdEq +hi def link xinetdLogType Keyword +hi def link xinetdSyslogType xinetdType +hi def link xinetdSyslogLevel Number +hi def link xinetdLogFile xinetdPath +hi def link xinetdLogSoftLimit xinetdNumber +hi def link xinetdLogHardLimit xinetdNumber +hi def link xinetdLogSuccessEq xinetdEq +hi def link xinetdLogSuccess xinetdType +hi def link xinetdLogFailureEq xinetdEq +hi def link xinetdLogFailure xinetdType +hi def link xinetdRPCVersionEq xinetdEq +hi def link xinetdRPCVersion xinetdNumber +hi def link xinetdNumberEq xinetdEq +hi def link xinetdEnvEq xinetdEq +hi def link xinetdEnvName Identifier +hi def link xinetdEnvNameEq xinetdEq +hi def link xinetdEnvValue String +hi def link xinetdPPAttribute PreProc +hi def link xinetdPathEq xinetdEq +hi def link xinetdPath String +hi def link xinetdRedirectEq xinetdEq +hi def link xinetdRedirectIP String +hi def link xinetdCPSEq xinetdEq +hi def link xinetdCPS xinetdNumber +hi def link xinetdFloatEq xinetdEq +hi def link xinetdFloat xinetdNumber +hi def link xinetdOctalEq xinetdEq +hi def link xinetdOctal xinetdNumber +hi def link xinetdOctalZero PreProc +hi def link xinetdOctalError Error +hi def link xinetdASEq xinetdEq +hi def link xinetdAS xinetdNumber +hi def link xinetdASMult PreProc +hi def link xinetdDenyTimeEq xinetdEq +hi def link xinetdDenyTime PreProc + +let b:current_syntax = "xinetd" + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/syntax/xmath.vim b/syntax/xmath.vim new file mode 100644 index 00000000..5824eddc --- /dev/null +++ b/syntax/xmath.vim @@ -0,0 +1,229 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'xmath') == -1 + +" Vim syntax file +" Language: xmath (a simulation tool) +" Maintainer: Charles E. Campbell +" Last Change: Aug 31, 2016 +" Version: 10 +" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_XMATH + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" parenthesis sanity checker +syn region xmathZone matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" transparent contains=ALLBUT,xmathError,xmathBraceError,xmathCurlyError +syn region xmathZone matchgroup=Delimiter start="{" matchgroup=Delimiter end="}" transparent contains=ALLBUT,xmathError,xmathBraceError,xmathParenError +syn region xmathZone matchgroup=Delimiter start="\[" matchgroup=Delimiter end="]" transparent contains=ALLBUT,xmathError,xmathCurlyError,xmathParenError +syn match xmathError "[)\]}]" +syn match xmathBraceError "[)}]" contained +syn match xmathCurlyError "[)\]]" contained +syn match xmathParenError "[\]}]" contained +syn match xmathComma "[,;:]" +syn match xmathComma "\.\.\.$" + +" A bunch of useful xmath keywords +syn case ignore +syn keyword xmathFuncCmd function endfunction command endcommand +syn keyword xmathStatement abort beep debug default define +syn keyword xmathStatement execute exit pause return undefine +syn keyword xmathConditional if else elseif endif +syn keyword xmathRepeat while for endwhile endfor +syn keyword xmathCmd anigraph deletedatastore keep renamedatastore +syn keyword xmathCmd autocode deletestd linkhyper renamestd +syn keyword xmathCmd build deletesuperblock linksim renamesuperblock +syn keyword xmathCmd comment deletetransition listusertype save +syn keyword xmathCmd copydatastore deleteusertype load sbadisplay +syn keyword xmathCmd copystd detailmodel lock set +syn keyword xmathCmd copysuperblock display minmax_display setsbdefault +syn keyword xmathCmd createblock documentit modifyblock show +syn keyword xmathCmd createbubble editcatalog modifybubble showlicense +syn keyword xmathCmd createconnection erase modifystd showsbdefault +syn keyword xmathCmd creatertf expandsuperbubble modifysuperblock stop +syn keyword xmathCmd createstd for modifytransition stopcosim +syn keyword xmathCmd createsuperblock go modifyusertype syntax +syn keyword xmathCmd createsuperbubble goto new unalias +syn keyword xmathCmd createtransition hardcopy next unlock +syn keyword xmathCmd createusertype help polargraph usertype +syn keyword xmathCmd delete hyperbuild print whatis +syn keyword xmathCmd deleteblock if printmodel while +syn keyword xmathCmd deletebubble ifilter quit who +syn keyword xmathCmd deleteconnection ipcwc remove xgraph + +syn keyword xmathFunc abcd eye irea querystdoptions +syn keyword xmathFunc abs eyepattern is querysuperblock +syn keyword xmathFunc acos feedback ISID querysuperblockopt +syn keyword xmathFunc acosh fft ISID Models querytransition +syn keyword xmathFunc adconversion fftpdm kronecker querytransitionopt +syn keyword xmathFunc afeedback filter length qz +syn keyword xmathFunc all find limit rampinvar +syn keyword xmathFunc ambiguity firparks lin random +syn keyword xmathFunc amdemod firremez lin30 randpdm +syn keyword xmathFunc analytic firwind linearfm randpert +syn keyword xmathFunc analyze fmdemod linfnorm randsys +syn keyword xmathFunc any forwdiff lintodb rank +syn keyword xmathFunc append fprintf list rayleigh +syn keyword xmathFunc argn frac log rcepstrum +syn keyword xmathFunc argv fracred log10 rcond +syn keyword xmathFunc arma freq logm rdintegrate +syn keyword xmathFunc arma2ss freqcircle lognormal read +syn keyword xmathFunc armax freqcont logspace real +syn keyword xmathFunc ascii frequencyhop lowpass rectify +syn keyword xmathFunc asin fsesti lpopt redschur +syn keyword xmathFunc asinh fslqgcomp lqgcomp reflect +syn keyword xmathFunc atan fsregu lqgltr regulator +syn keyword xmathFunc atan2 fwls ls residue +syn keyword xmathFunc atanh gabor ls2unc riccati +syn keyword xmathFunc attach_ac100 garb ls2var riccati_eig +syn keyword xmathFunc backdiff gaussian lsjoin riccati_schur +syn keyword xmathFunc balance gcexp lu ricean +syn keyword xmathFunc balmoore gcos lyapunov rifd +syn keyword xmathFunc bandpass gdfileselection makecontinuous rlinfo +syn keyword xmathFunc bandstop gdmessage makematrix rlocus +syn keyword xmathFunc bj gdselection makepoly rms +syn keyword xmathFunc blknorm genconv margin rootlocus +syn keyword xmathFunc bode get markoff roots +syn keyword xmathFunc bpm get_info30 matchedpz round +syn keyword xmathFunc bpm2inn get_inn max rref +syn keyword xmathFunc bpmjoin gfdm maxlike rve_get +syn keyword xmathFunc bpmsplit gfsk mean rve_info +syn keyword xmathFunc bst gfskernel mergeseg rve_reset +syn keyword xmathFunc buttconstr gfunction min rve_update +syn keyword xmathFunc butterworth ggauss minimal samplehold +syn keyword xmathFunc cancel giv mkpert schur +syn keyword xmathFunc canform giv2var mkphase sdf +syn keyword xmathFunc ccepstrum givjoin mma sds +syn keyword xmathFunc char gpsk mmaget sdtrsp +syn keyword xmathFunc chebconstr gpulse mmaput sec +syn keyword xmathFunc chebyshev gqam mod sech +syn keyword xmathFunc check gqpsk modal siginterp +syn keyword xmathFunc cholesky gramp modalstate sign +syn keyword xmathFunc chop gsawtooth modcarrier sim +syn keyword xmathFunc circonv gsigmoid mreduce sim30 +syn keyword xmathFunc circorr gsin mtxplt simin +syn keyword xmathFunc clock gsinc mu simin30 +syn keyword xmathFunc clocus gsqpsk mulhank simout +syn keyword xmathFunc clsys gsquarewave multipath simout30 +syn keyword xmathFunc coherence gstep musynfit simtransform +syn keyword xmathFunc colorind GuiDialogCreate mxstr2xmstr sin +syn keyword xmathFunc combinepf GuiDialogDestroy mxstring2xmstring singriccati +syn keyword xmathFunc commentof GuiFlush names sinh +syn keyword xmathFunc compare GuiGetValue nichols sinm +syn keyword xmathFunc complementaryerf GuiManage noisefilt size +syn keyword xmathFunc complexenvelope GuiPlot none smargin +syn keyword xmathFunc complexfreqshift GuiPlotGet norm sns2sys +syn keyword xmathFunc concatseg GuiSetValue numden sort +syn keyword xmathFunc condition GuiShellCreate nyquist spectrad +syn keyword xmathFunc conj GuiShellDeiconify obscf spectrum +syn keyword xmathFunc conmap GuiShellDestroy observable spline +syn keyword xmathFunc connect GuiShellIconify oe sprintf +syn keyword xmathFunc conpdm GuiShellLower ones sqrt +syn keyword xmathFunc constellation GuiShellRaise ophank sqrtm +syn keyword xmathFunc consys GuiShellRealize optimize sresidualize +syn keyword xmathFunc controllable GuiShellUnrealize optscale ss2arma +syn keyword xmathFunc convolve GuiTimer orderfilt sst +syn keyword xmathFunc correlate GuiToolCreate orderstate ssv +syn keyword xmathFunc cos GuiToolDestroy orth stable +syn keyword xmathFunc cosh GuiToolExist oscmd stair +syn keyword xmathFunc cosm GuiUnmanage oscope starp +syn keyword xmathFunc cot GuiWidgetExist osscale step +syn keyword xmathFunc coth h2norm padcrop stepinvar +syn keyword xmathFunc covariance h2syn partialsum string +syn keyword xmathFunc csc hadamard pdm stringex +syn keyword xmathFunc csch hankelsv pdmslice substr +syn keyword xmathFunc csum hessenberg pem subsys +syn keyword xmathFunc ctrcf highpass perfplots sum +syn keyword xmathFunc ctrlplot hilbert period svd +syn keyword xmathFunc daug hilberttransform pfscale svplot +syn keyword xmathFunc dbtolin hinfcontr phaseshift sweep +syn keyword xmathFunc dct hinfnorm pinv symbolmap +syn keyword xmathFunc decimate hinfsyn plot sys2sns +syn keyword xmathFunc defFreqRange histogram plot30 sysic +syn keyword xmathFunc defTimeRange idfreq pmdemod Sysid +syn keyword xmathFunc delay idimpulse poisson system +syn keyword xmathFunc delsubstr idsim poissonimpulse tan +syn keyword xmathFunc det ifft poleplace tanh +syn keyword xmathFunc detrend imag poles taper +syn keyword xmathFunc dht impinvar polezero tfid +syn keyword xmathFunc diagonal impplot poltrend toeplitz +syn keyword xmathFunc differentiate impulse polyfit trace +syn keyword xmathFunc directsequence index polynomial tril +syn keyword xmathFunc discretize indexlist polyval trim +syn keyword xmathFunc divide initial polyvalm trim30 +syn keyword xmathFunc domain initmodel prbs triu +syn keyword xmathFunc dst initx0 product trsp +syn keyword xmathFunc eig inn2bpm psd truncate +syn keyword xmathFunc ellipconstr inn2pe put_inn tustin +syn keyword xmathFunc elliptic inn2unc qpopt uniform +syn keyword xmathFunc erf insertseg qr val +syn keyword xmathFunc error int quantize variance +syn keyword xmathFunc estimator integrate queryblock videolines +syn keyword xmathFunc etfe integratedump queryblockoptions wcbode +syn keyword xmathFunc exist interp querybubble wcgain +syn keyword xmathFunc exp interpolate querybubbleoptionswindow +syn keyword xmathFunc expm inv querycatalog wtbalance +syn keyword xmathFunc extractchan invhilbert queryconnection zeros +syn keyword xmathFunc extractseg iqmix querystd + +syn case match + +" Labels (supports xmath's goto) +syn match xmathLabel "^\s*<[a-zA-Z_][a-zA-Z0-9]*>" + +" String and Character constants +" Highlight special characters (those which have a backslash) differently +syn match xmathSpecial contained "\\\d\d\d\|\\." +syn region xmathString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=xmathSpecial,@Spell +syn match xmathCharacter "'[^\\]'" +syn match xmathSpecialChar "'\\.'" + +syn match xmathNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>" + +" Comments: +" xmath supports #... (like Unix shells) +" and #{ ... }# comment blocks +syn cluster xmathCommentGroup contains=xmathString,xmathTodo,@Spell +syn keyword xmathTodo contained COMBAK DEBUG FIXME Todo TODO XXX +syn match xmathComment "#.*$" contains=@xmathCommentGroup +syn region xmathCommentBlock start="#{" end="}#" contains=@xmathCommentGroup + +" synchronizing +syn sync match xmathSyncComment grouphere xmathCommentBlock "#{" +syn sync match xmathSyncComment groupthere NONE "}#" + +" Define the default highlighting. +if !exists("skip_xmath_syntax_inits") + + hi def link xmathBraceError xmathError + hi def link xmathCmd xmathStatement + hi def link xmathCommentBlock xmathComment + hi def link xmathCurlyError xmathError + hi def link xmathFuncCmd xmathStatement + hi def link xmathParenError xmathError + + " The default methods for highlighting. Can be overridden later + hi def link xmathCharacter Character + hi def link xmathComma Delimiter + hi def link xmathComment Comment + hi def link xmathCommentBlock Comment + hi def link xmathConditional Conditional + hi def link xmathError Error + hi def link xmathFunc Function + hi def link xmathLabel PreProc + hi def link xmathNumber Number + hi def link xmathRepeat Repeat + hi def link xmathSpecial Type + hi def link xmathSpecialChar SpecialChar + hi def link xmathStatement Statement + hi def link xmathString String + hi def link xmathTodo Todo + +endif + +let b:current_syntax = "xmath" + +" vim: ts=17 + +endif diff --git a/syntax/xmodmap.vim b/syntax/xmodmap.vim new file mode 100644 index 00000000..b0de8309 --- /dev/null +++ b/syntax/xmodmap.vim @@ -0,0 +1,681 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'xmodmap') == -1 + +" Vim syntax file +" Language: xmodmap(1) definition 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 xmodmapTodo contained TODO FIXME XXX NOTE + +syn region xmodmapComment display oneline start='^!' end='$' + \ contains=xmodmapTodo,@Spell + +syn case ignore +syn match xmodmapInt display '\<\d\+\>' +syn match xmodmapHex display '\<0x\x\+\>' +syn match xmodmapOctal display '\<0\o\+\>' +syn match xmodmapOctalError display '\<0\o*[89]\d*' +syn case match + +syn match xmodmapKeySym display '\<[A-Za-z]\>' + +" #include +syn keyword xmodmapKeySym XK_VoidSymbol XK_BackSpace XK_Tab XK_Linefeed + \ XK_Clear XK_Return XK_Pause XK_Scroll_Lock + \ XK_Sys_Req XK_Escape XK_Delete XK_Multi_key + \ XK_Codeinput XK_SingleCandidate + \ XK_MultipleCandidate XK_PreviousCandidate + \ XK_Kanji XK_Muhenkan XK_Henkan_Mode + \ XK_Henkan XK_Romaji XK_Hiragana XK_Katakana + \ XK_Hiragana_Katakana XK_Zenkaku XK_Hankaku + \ XK_Zenkaku_Hankaku XK_Touroku XK_Massyo + \ XK_Kana_Lock XK_Kana_Shift XK_Eisu_Shift + \ XK_Eisu_toggle XK_Kanji_Bangou XK_Zen_Koho + \ XK_Mae_Koho XK_Home XK_Left XK_Up XK_Right + \ XK_Down XK_Prior XK_Page_Up XK_Next + \ XK_Page_Down XK_End XK_Begin XK_Select + \ XK_Print XK_Execute XK_Insert XK_Undo XK_Redo + \ XK_Menu XK_Find XK_Cancel XK_Help XK_Break + \ XK_Mode_switch XK_script_switch XK_Num_Lock + \ XK_KP_Space XK_KP_Tab XK_KP_Enter XK_KP_F1 + \ XK_KP_F2 XK_KP_F3 XK_KP_F4 XK_KP_Home + \ XK_KP_Left XK_KP_Up XK_KP_Right XK_KP_Down + \ XK_KP_Prior XK_KP_Page_Up XK_KP_Next + \ XK_KP_Page_Down XK_KP_End XK_KP_Begin + \ XK_KP_Insert XK_KP_Delete XK_KP_Equal + \ XK_KP_Multiply XK_KP_Add XK_KP_Separator + \ XK_KP_Subtract XK_KP_Decimal XK_KP_Divide + \ XK_KP_0 XK_KP_1 XK_KP_2 XK_KP_3 XK_KP_4 + \ XK_KP_5 XK_KP_6 XK_KP_7 XK_KP_8 XK_KP_9 XK_F1 + \ XK_F2 XK_F3 XK_F4 XK_F5 XK_F6 XK_F7 XK_F8 + \ XK_F9 XK_F10 XK_F11 XK_L1 XK_F12 XK_L2 XK_F13 + \ XK_L3 XK_F14 XK_L4 XK_F15 XK_L5 XK_F16 XK_L6 + \ XK_F17 XK_L7 XK_F18 XK_L8 XK_F19 XK_L9 XK_F20 + \ XK_L10 XK_F21 XK_R1 XK_F22 XK_R2 XK_F23 + \ XK_R3 XK_F24 XK_R4 XK_F25 XK_R5 XK_F26 + \ XK_R6 XK_F27 XK_R7 XK_F28 XK_R8 XK_F29 + \ XK_R9 XK_F30 XK_R10 XK_F31 XK_R11 XK_F32 + \ XK_R12 XK_F33 XK_R13 XK_F34 XK_R14 XK_F35 + \ XK_R15 XK_Shift_L XK_Shift_R XK_Control_L + \ XK_Control_R XK_Caps_Lock XK_Shift_Lock + \ XK_Meta_L XK_Meta_R XK_Alt_L XK_Alt_R + \ XK_Super_L XK_Super_R XK_Hyper_L XK_Hyper_R + \ XK_dead_hook XK_dead_horn XK_3270_Duplicate + \ XK_3270_FieldMark XK_3270_Right2 XK_3270_Left2 + \ XK_3270_BackTab XK_3270_EraseEOF + \ XK_3270_EraseInput XK_3270_Reset + \ XK_3270_Quit XK_3270_PA1 XK_3270_PA2 + \ XK_3270_PA3 XK_3270_Test XK_3270_Attn + \ XK_3270_CursorBlink XK_3270_AltCursor + \ XK_3270_KeyClick XK_3270_Jump + \ XK_3270_Ident XK_3270_Rule XK_3270_Copy + \ XK_3270_Play XK_3270_Setup XK_3270_Record + \ XK_3270_ChangeScreen XK_3270_DeleteWord + \ XK_3270_ExSelect XK_3270_CursorSelect + \ XK_3270_PrintScreen XK_3270_Enter XK_space + \ XK_exclam XK_quotedbl XK_numbersign XK_dollar + \ XK_percent XK_ampersand XK_apostrophe + \ XK_quoteright XK_parenleft XK_parenright + \ XK_asterisk XK_plus XK_comma XK_minus + \ XK_period XK_slash XK_0 XK_1 XK_2 XK_3 + \ XK_4 XK_5 XK_6 XK_7 XK_8 XK_9 XK_colon + \ XK_semicolon XK_less XK_equal XK_greater + \ XK_question XK_at XK_A XK_B XK_C XK_D XK_E + \ XK_F XK_G XK_H XK_I XK_J XK_K XK_L XK_M XK_N + \ XK_O XK_P XK_Q XK_R XK_S XK_T XK_U XK_V XK_W + \ XK_X XK_Y XK_Z XK_bracketleft XK_backslash + \ XK_bracketright XK_asciicircum XK_underscore + \ XK_grave XK_quoteleft XK_a XK_b XK_c XK_d + \ XK_e XK_f XK_g XK_h XK_i XK_j XK_k XK_l + \ XK_m XK_n XK_o XK_p XK_q XK_r XK_s XK_t XK_u + \ XK_v XK_w XK_x XK_y XK_z XK_braceleft XK_bar + \ XK_braceright XK_asciitilde XK_nobreakspace + \ XK_exclamdown XK_cent XK_sterling XK_currency + \ XK_yen XK_brokenbar XK_section XK_diaeresis + \ XK_copyright XK_ordfeminine XK_guillemotleft + \ XK_notsign XK_hyphen XK_registered XK_macron + \ XK_degree XK_plusminus XK_twosuperior + \ XK_threesuperior XK_acute XK_mu XK_paragraph + \ XK_periodcentered XK_cedilla XK_onesuperior + \ XK_masculine XK_guillemotright XK_onequarter + \ XK_onehalf XK_threequarters XK_questiondown + \ XK_Agrave XK_Aacute XK_Acircumflex XK_Atilde + \ XK_Adiaeresis XK_Aring XK_AE XK_Ccedilla + \ XK_Egrave XK_Eacute XK_Ecircumflex + \ XK_Ediaeresis XK_Igrave XK_Iacute + \ XK_Icircumflex XK_Idiaeresis XK_ETH XK_Eth + \ XK_Ntilde XK_Ograve XK_Oacute XK_Ocircumflex + \ XK_Otilde XK_Odiaeresis XK_multiply + \ XK_Ooblique XK_Ugrave XK_Uacute XK_Ucircumflex + \ XK_Udiaeresis XK_Yacute XK_THORN XK_Thorn + \ XK_ssharp XK_agrave XK_aacute XK_acircumflex + \ XK_atilde XK_adiaeresis XK_aring XK_ae + \ XK_ccedilla XK_egrave XK_eacute XK_ecircumflex + \ XK_ediaeresis XK_igrave XK_iacute + \ XK_icircumflex XK_idiaeresis XK_eth XK_ntilde + \ XK_ograve XK_oacute XK_ocircumflex XK_otilde + \ XK_odiaeresis XK_division XK_oslash XK_ugrave + \ XK_uacute XK_ucircumflex XK_udiaeresis + \ XK_yacute XK_thorn XK_ydiaeresis XK_Aogonek + \ XK_breve XK_Lstroke XK_Lcaron XK_Sacute + \ XK_Scaron XK_Scedilla XK_Tcaron XK_Zacute + \ XK_Zcaron XK_Zabovedot XK_aogonek XK_ogonek + \ XK_lstroke XK_lcaron XK_sacute XK_caron + \ XK_scaron XK_scedilla XK_tcaron XK_zacute + \ XK_doubleacute XK_zcaron XK_zabovedot + \ XK_Racute XK_Abreve XK_Lacute XK_Cacute + \ XK_Ccaron XK_Eogonek XK_Ecaron XK_Dcaron + \ XK_Dstroke XK_Nacute XK_Ncaron XK_Odoubleacute + \ XK_Rcaron XK_Uring XK_Udoubleacute + \ XK_Tcedilla XK_racute XK_abreve XK_lacute + \ XK_cacute XK_ccaron XK_eogonek XK_ecaron + \ XK_dcaron XK_dstroke XK_nacute XK_ncaron + \ XK_odoubleacute XK_udoubleacute XK_rcaron + \ XK_uring XK_tcedilla XK_abovedot XK_Hstroke + \ XK_Hcircumflex XK_Iabovedot XK_Gbreve + \ XK_Jcircumflex XK_hstroke XK_hcircumflex + \ XK_idotless XK_gbreve XK_jcircumflex + \ XK_Cabovedot XK_Ccircumflex XK_Gabovedot + \ XK_Gcircumflex XK_Ubreve XK_Scircumflex + \ XK_cabovedot XK_ccircumflex XK_gabovedot + \ XK_gcircumflex XK_ubreve XK_scircumflex XK_kra + \ XK_kappa XK_Rcedilla XK_Itilde XK_Lcedilla + \ XK_Emacron XK_Gcedilla XK_Tslash XK_rcedilla + \ XK_itilde XK_lcedilla XK_emacron XK_gcedilla + \ XK_tslash XK_ENG XK_eng XK_Amacron XK_Iogonek + \ XK_Eabovedot XK_Imacron XK_Ncedilla XK_Omacron + \ XK_Kcedilla XK_Uogonek XK_Utilde XK_Umacron + \ XK_amacron XK_iogonek XK_eabovedot XK_imacron + \ XK_ncedilla XK_omacron XK_kcedilla XK_uogonek + \ XK_utilde XK_umacron XK_Babovedot XK_babovedot + \ XK_Dabovedot XK_Wgrave XK_Wacute XK_dabovedot + \ XK_Ygrave XK_Fabovedot XK_fabovedot + \ XK_Mabovedot XK_mabovedot XK_Pabovedot + \ XK_wgrave XK_pabovedot XK_wacute XK_Sabovedot + \ XK_ygrave XK_Wdiaeresis XK_wdiaeresis + \ XK_sabovedot XK_Wcircumflex XK_Tabovedot + \ XK_Ycircumflex XK_wcircumflex + \ XK_tabovedot XK_ycircumflex XK_OE XK_oe + \ XK_Ydiaeresis XK_overline XK_kana_fullstop + \ XK_kana_openingbracket XK_kana_closingbracket + \ XK_kana_comma XK_kana_conjunctive + \ XK_kana_middledot XK_kana_WO XK_kana_a + \ XK_kana_i XK_kana_u XK_kana_e XK_kana_o + \ XK_kana_ya XK_kana_yu XK_kana_yo + \ XK_kana_tsu XK_kana_tu XK_prolongedsound + \ XK_kana_A XK_kana_I XK_kana_U XK_kana_E + \ XK_kana_O XK_kana_KA XK_kana_KI XK_kana_KU + \ XK_kana_KE XK_kana_KO XK_kana_SA XK_kana_SHI + \ XK_kana_SU XK_kana_SE XK_kana_SO XK_kana_TA + \ XK_kana_CHI XK_kana_TI XK_kana_TSU + \ XK_kana_TU XK_kana_TE XK_kana_TO XK_kana_NA + \ XK_kana_NI XK_kana_NU XK_kana_NE XK_kana_NO + \ XK_kana_HA XK_kana_HI XK_kana_FU XK_kana_HU + \ XK_kana_HE XK_kana_HO XK_kana_MA XK_kana_MI + \ XK_kana_MU XK_kana_ME XK_kana_MO XK_kana_YA + \ XK_kana_YU XK_kana_YO XK_kana_RA XK_kana_RI + \ XK_kana_RU XK_kana_RE XK_kana_RO XK_kana_WA + \ XK_kana_N XK_voicedsound XK_semivoicedsound + \ XK_kana_switch XK_Farsi_0 XK_Farsi_1 + \ XK_Farsi_2 XK_Farsi_3 XK_Farsi_4 XK_Farsi_5 + \ XK_Farsi_6 XK_Farsi_7 XK_Farsi_8 XK_Farsi_9 + \ XK_Arabic_percent XK_Arabic_superscript_alef + \ XK_Arabic_tteh XK_Arabic_peh XK_Arabic_tcheh + \ XK_Arabic_ddal XK_Arabic_rreh XK_Arabic_comma + \ XK_Arabic_fullstop XK_Arabic_0 XK_Arabic_1 + \ XK_Arabic_2 XK_Arabic_3 XK_Arabic_4 + \ XK_Arabic_5 XK_Arabic_6 XK_Arabic_7 + \ XK_Arabic_8 XK_Arabic_9 XK_Arabic_semicolon + \ XK_Arabic_question_mark XK_Arabic_hamza + \ XK_Arabic_maddaonalef XK_Arabic_hamzaonalef + \ XK_Arabic_hamzaonwaw XK_Arabic_hamzaunderalef + \ XK_Arabic_hamzaonyeh XK_Arabic_alef + \ XK_Arabic_beh XK_Arabic_tehmarbuta + \ XK_Arabic_teh XK_Arabic_theh XK_Arabic_jeem + \ XK_Arabic_hah XK_Arabic_khah XK_Arabic_dal + \ XK_Arabic_thal XK_Arabic_ra XK_Arabic_zain + \ XK_Arabic_seen XK_Arabic_sheen + \ XK_Arabic_sad XK_Arabic_dad XK_Arabic_tah + \ XK_Arabic_zah XK_Arabic_ain XK_Arabic_ghain + \ XK_Arabic_tatweel XK_Arabic_feh XK_Arabic_qaf + \ XK_Arabic_kaf XK_Arabic_lam XK_Arabic_meem + \ XK_Arabic_noon XK_Arabic_ha XK_Arabic_heh + \ XK_Arabic_waw XK_Arabic_alefmaksura + \ XK_Arabic_yeh XK_Arabic_fathatan + \ XK_Arabic_dammatan XK_Arabic_kasratan + \ XK_Arabic_fatha XK_Arabic_damma + \ XK_Arabic_kasra XK_Arabic_shadda + \ XK_Arabic_sukun XK_Arabic_madda_above + \ XK_Arabic_hamza_above XK_Arabic_hamza_below + \ XK_Arabic_jeh XK_Arabic_veh XK_Arabic_keheh + \ XK_Arabic_gaf XK_Arabic_noon_ghunna + \ XK_Arabic_heh_doachashmee XK_Farsi_yeh + \ XK_Arabic_yeh_baree XK_Arabic_heh_goal + \ XK_Arabic_switch XK_Cyrillic_GHE_bar + \ XK_Cyrillic_ghe_bar XK_Cyrillic_ZHE_descender + \ XK_Cyrillic_zhe_descender + \ XK_Cyrillic_KA_descender + \ XK_Cyrillic_ka_descender + \ XK_Cyrillic_KA_vertstroke + \ XK_Cyrillic_ka_vertstroke + \ XK_Cyrillic_EN_descender + \ XK_Cyrillic_en_descender + \ XK_Cyrillic_U_straight XK_Cyrillic_u_straight + \ XK_Cyrillic_U_straight_bar + \ XK_Cyrillic_u_straight_bar + \ XK_Cyrillic_HA_descender + \ XK_Cyrillic_ha_descender + \ XK_Cyrillic_CHE_descender + \ XK_Cyrillic_che_descender + \ XK_Cyrillic_CHE_vertstroke + \ XK_Cyrillic_che_vertstroke XK_Cyrillic_SHHA + \ XK_Cyrillic_shha XK_Cyrillic_SCHWA + \ XK_Cyrillic_schwa XK_Cyrillic_I_macron + \ XK_Cyrillic_i_macron XK_Cyrillic_O_bar + \ XK_Cyrillic_o_bar XK_Cyrillic_U_macron + \ XK_Cyrillic_u_macron XK_Serbian_dje + \ XK_Macedonia_gje XK_Cyrillic_io + \ XK_Ukrainian_ie XK_Ukranian_je + \ XK_Macedonia_dse XK_Ukrainian_i XK_Ukranian_i + \ XK_Ukrainian_yi XK_Ukranian_yi XK_Cyrillic_je + \ XK_Serbian_je XK_Cyrillic_lje XK_Serbian_lje + \ XK_Cyrillic_nje XK_Serbian_nje XK_Serbian_tshe + \ XK_Macedonia_kje XK_Ukrainian_ghe_with_upturn + \ XK_Byelorussian_shortu XK_Cyrillic_dzhe + \ XK_Serbian_dze XK_numerosign + \ XK_Serbian_DJE XK_Macedonia_GJE + \ XK_Cyrillic_IO XK_Ukrainian_IE XK_Ukranian_JE + \ XK_Macedonia_DSE XK_Ukrainian_I XK_Ukranian_I + \ XK_Ukrainian_YI XK_Ukranian_YI XK_Cyrillic_JE + \ XK_Serbian_JE XK_Cyrillic_LJE XK_Serbian_LJE + \ XK_Cyrillic_NJE XK_Serbian_NJE XK_Serbian_TSHE + \ XK_Macedonia_KJE XK_Ukrainian_GHE_WITH_UPTURN + \ XK_Byelorussian_SHORTU XK_Cyrillic_DZHE + \ XK_Serbian_DZE XK_Cyrillic_yu + \ XK_Cyrillic_a XK_Cyrillic_be XK_Cyrillic_tse + \ XK_Cyrillic_de XK_Cyrillic_ie XK_Cyrillic_ef + \ XK_Cyrillic_ghe XK_Cyrillic_ha XK_Cyrillic_i + \ XK_Cyrillic_shorti XK_Cyrillic_ka + \ XK_Cyrillic_el XK_Cyrillic_em XK_Cyrillic_en + \ XK_Cyrillic_o XK_Cyrillic_pe XK_Cyrillic_ya + \ XK_Cyrillic_er XK_Cyrillic_es XK_Cyrillic_te + \ XK_Cyrillic_u XK_Cyrillic_zhe XK_Cyrillic_ve + \ XK_Cyrillic_softsign XK_Cyrillic_yeru + \ XK_Cyrillic_ze XK_Cyrillic_sha XK_Cyrillic_e + \ XK_Cyrillic_shcha XK_Cyrillic_che + \ XK_Cyrillic_hardsign XK_Cyrillic_YU + \ XK_Cyrillic_A XK_Cyrillic_BE XK_Cyrillic_TSE + \ XK_Cyrillic_DE XK_Cyrillic_IE XK_Cyrillic_EF + \ XK_Cyrillic_GHE XK_Cyrillic_HA XK_Cyrillic_I + \ XK_Cyrillic_SHORTI XK_Cyrillic_KA + \ XK_Cyrillic_EL XK_Cyrillic_EM XK_Cyrillic_EN + \ XK_Cyrillic_O XK_Cyrillic_PE XK_Cyrillic_YA + \ XK_Cyrillic_ER XK_Cyrillic_ES XK_Cyrillic_TE + \ XK_Cyrillic_U XK_Cyrillic_ZHE XK_Cyrillic_VE + \ XK_Cyrillic_SOFTSIGN XK_Cyrillic_YERU + \ XK_Cyrillic_ZE XK_Cyrillic_SHA XK_Cyrillic_E + \ XK_Cyrillic_SHCHA XK_Cyrillic_CHE + \ XK_Cyrillic_HARDSIGN XK_Greek_ALPHAaccent + \ XK_Greek_EPSILONaccent XK_Greek_ETAaccent + \ XK_Greek_IOTAaccent XK_Greek_IOTAdieresis + \ XK_Greek_OMICRONaccent XK_Greek_UPSILONaccent + \ XK_Greek_UPSILONdieresis + \ XK_Greek_OMEGAaccent XK_Greek_accentdieresis + \ XK_Greek_horizbar XK_Greek_alphaaccent + \ XK_Greek_epsilonaccent XK_Greek_etaaccent + \ XK_Greek_iotaaccent XK_Greek_iotadieresis + \ XK_Greek_iotaaccentdieresis + \ XK_Greek_omicronaccent XK_Greek_upsilonaccent + \ XK_Greek_upsilondieresis + \ XK_Greek_upsilonaccentdieresis + \ XK_Greek_omegaaccent XK_Greek_ALPHA + \ XK_Greek_BETA XK_Greek_GAMMA XK_Greek_DELTA + \ XK_Greek_EPSILON XK_Greek_ZETA XK_Greek_ETA + \ XK_Greek_THETA XK_Greek_IOTA XK_Greek_KAPPA + \ XK_Greek_LAMDA XK_Greek_LAMBDA XK_Greek_MU + \ XK_Greek_NU XK_Greek_XI XK_Greek_OMICRON + \ XK_Greek_PI XK_Greek_RHO XK_Greek_SIGMA + \ XK_Greek_TAU XK_Greek_UPSILON XK_Greek_PHI + \ XK_Greek_CHI XK_Greek_PSI XK_Greek_OMEGA + \ XK_Greek_alpha XK_Greek_beta XK_Greek_gamma + \ XK_Greek_delta XK_Greek_epsilon XK_Greek_zeta + \ XK_Greek_eta XK_Greek_theta XK_Greek_iota + \ XK_Greek_kappa XK_Greek_lamda XK_Greek_lambda + \ XK_Greek_mu XK_Greek_nu XK_Greek_xi + \ XK_Greek_omicron XK_Greek_pi XK_Greek_rho + \ XK_Greek_sigma XK_Greek_finalsmallsigma + \ XK_Greek_tau XK_Greek_upsilon XK_Greek_phi + \ XK_Greek_chi XK_Greek_psi XK_Greek_omega + \ XK_Greek_switch XK_leftradical + \ XK_topleftradical XK_horizconnector + \ XK_topintegral XK_botintegral + \ XK_vertconnector XK_topleftsqbracket + \ XK_botleftsqbracket XK_toprightsqbracket + \ XK_botrightsqbracket XK_topleftparens + \ XK_botleftparens XK_toprightparens + \ XK_botrightparens XK_leftmiddlecurlybrace + \ XK_rightmiddlecurlybrace + \ XK_topleftsummation XK_botleftsummation + \ XK_topvertsummationconnector + \ XK_botvertsummationconnector + \ XK_toprightsummation XK_botrightsummation + \ XK_rightmiddlesummation XK_lessthanequal + \ XK_notequal XK_greaterthanequal XK_integral + \ XK_therefore XK_variation XK_infinity + \ XK_nabla XK_approximate XK_similarequal + \ XK_ifonlyif XK_implies XK_identical XK_radical + \ XK_includedin XK_includes XK_intersection + \ XK_union XK_logicaland XK_logicalor + \ XK_partialderivative XK_function XK_leftarrow + \ XK_uparrow XK_rightarrow XK_downarrow XK_blank + \ XK_soliddiamond XK_checkerboard XK_ht XK_ff + \ XK_cr XK_lf XK_nl XK_vt XK_lowrightcorner + \ XK_uprightcorner XK_upleftcorner + \ XK_lowleftcorner XK_crossinglines + \ XK_horizlinescan1 XK_horizlinescan3 + \ XK_horizlinescan5 XK_horizlinescan7 + \ XK_horizlinescan9 XK_leftt XK_rightt XK_bott + \ XK_topt XK_vertbar XK_emspace XK_enspace + \ XK_em3space XK_em4space XK_digitspace + \ XK_punctspace XK_thinspace XK_hairspace + \ XK_emdash XK_endash XK_signifblank XK_ellipsis + \ XK_doubbaselinedot XK_onethird XK_twothirds + \ XK_onefifth XK_twofifths XK_threefifths + \ XK_fourfifths XK_onesixth XK_fivesixths + \ XK_careof XK_figdash XK_leftanglebracket + \ XK_decimalpoint XK_rightanglebracket + \ XK_marker XK_oneeighth XK_threeeighths + \ XK_fiveeighths XK_seveneighths XK_trademark + \ XK_signaturemark XK_trademarkincircle + \ XK_leftopentriangle XK_rightopentriangle + \ XK_emopencircle XK_emopenrectangle + \ XK_leftsinglequotemark XK_rightsinglequotemark + \ XK_leftdoublequotemark XK_rightdoublequotemark + \ XK_prescription XK_minutes XK_seconds + \ XK_latincross XK_hexagram XK_filledrectbullet + \ XK_filledlefttribullet XK_filledrighttribullet + \ XK_emfilledcircle XK_emfilledrect + \ XK_enopencircbullet XK_enopensquarebullet + \ XK_openrectbullet XK_opentribulletup + \ XK_opentribulletdown XK_openstar + \ XK_enfilledcircbullet XK_enfilledsqbullet + \ XK_filledtribulletup XK_filledtribulletdown + \ XK_leftpointer XK_rightpointer XK_club + \ XK_diamond XK_heart XK_maltesecross + \ XK_dagger XK_doubledagger XK_checkmark + \ XK_ballotcross XK_musicalsharp XK_musicalflat + \ XK_malesymbol XK_femalesymbol XK_telephone + \ XK_telephonerecorder XK_phonographcopyright + \ XK_caret XK_singlelowquotemark + \ XK_doublelowquotemark XK_cursor + \ XK_leftcaret XK_rightcaret XK_downcaret + \ XK_upcaret XK_overbar XK_downtack XK_upshoe + \ XK_downstile XK_underbar XK_jot XK_quad + \ XK_uptack XK_circle XK_upstile XK_downshoe + \ XK_rightshoe XK_leftshoe XK_lefttack + \ XK_righttack XK_hebrew_doublelowline + \ XK_hebrew_aleph XK_hebrew_bet XK_hebrew_beth + \ XK_hebrew_gimel XK_hebrew_gimmel + \ XK_hebrew_dalet XK_hebrew_daleth + \ XK_hebrew_he XK_hebrew_waw XK_hebrew_zain + \ XK_hebrew_zayin XK_hebrew_chet XK_hebrew_het + \ XK_hebrew_tet XK_hebrew_teth XK_hebrew_yod + \ XK_hebrew_finalkaph XK_hebrew_kaph + \ XK_hebrew_lamed XK_hebrew_finalmem + \ XK_hebrew_mem XK_hebrew_finalnun XK_hebrew_nun + \ XK_hebrew_samech XK_hebrew_samekh + \ XK_hebrew_ayin XK_hebrew_finalpe XK_hebrew_pe + \ XK_hebrew_finalzade XK_hebrew_finalzadi + \ XK_hebrew_zade XK_hebrew_zadi XK_hebrew_qoph + \ XK_hebrew_kuf XK_hebrew_resh XK_hebrew_shin + \ XK_hebrew_taw XK_hebrew_taf XK_Hebrew_switch + \ XK_Thai_kokai XK_Thai_khokhai XK_Thai_khokhuat + \ XK_Thai_khokhwai XK_Thai_khokhon + \ XK_Thai_khorakhang XK_Thai_ngongu + \ XK_Thai_chochan XK_Thai_choching + \ XK_Thai_chochang XK_Thai_soso XK_Thai_chochoe + \ XK_Thai_yoying XK_Thai_dochada XK_Thai_topatak + \ XK_Thai_thothan XK_Thai_thonangmontho + \ XK_Thai_thophuthao XK_Thai_nonen + \ XK_Thai_dodek XK_Thai_totao XK_Thai_thothung + \ XK_Thai_thothahan XK_Thai_thothong + \ XK_Thai_nonu XK_Thai_bobaimai XK_Thai_popla + \ XK_Thai_phophung XK_Thai_fofa XK_Thai_phophan + \ XK_Thai_fofan XK_Thai_phosamphao XK_Thai_moma + \ XK_Thai_yoyak XK_Thai_rorua XK_Thai_ru + \ XK_Thai_loling XK_Thai_lu XK_Thai_wowaen + \ XK_Thai_sosala XK_Thai_sorusi XK_Thai_sosua + \ XK_Thai_hohip XK_Thai_lochula XK_Thai_oang + \ XK_Thai_honokhuk XK_Thai_paiyannoi + \ XK_Thai_saraa XK_Thai_maihanakat + \ XK_Thai_saraaa XK_Thai_saraam XK_Thai_sarai + \ XK_Thai_saraii XK_Thai_saraue XK_Thai_sarauee + \ XK_Thai_sarau XK_Thai_sarauu XK_Thai_phinthu + \ XK_Thai_maihanakat_maitho XK_Thai_baht + \ XK_Thai_sarae XK_Thai_saraae XK_Thai_sarao + \ XK_Thai_saraaimaimuan XK_Thai_saraaimaimalai + \ XK_Thai_lakkhangyao XK_Thai_maiyamok + \ XK_Thai_maitaikhu XK_Thai_maiek XK_Thai_maitho + \ XK_Thai_maitri XK_Thai_maichattawa + \ XK_Thai_thanthakhat XK_Thai_nikhahit + \ XK_Thai_leksun XK_Thai_leknung XK_Thai_leksong + \ XK_Thai_leksam XK_Thai_leksi XK_Thai_lekha + \ XK_Thai_lekhok XK_Thai_lekchet XK_Thai_lekpaet + \ XK_Thai_lekkao XK_Hangul XK_Hangul_Start + \ XK_Hangul_End XK_Hangul_Hanja XK_Hangul_Jamo + \ XK_Hangul_Romaja XK_Hangul_Codeinput + \ XK_Hangul_Jeonja XK_Hangul_Banja + \ XK_Hangul_PreHanja XK_Hangul_PostHanja + \ XK_Hangul_SingleCandidate + \ XK_Hangul_MultipleCandidate + \ XK_Hangul_PreviousCandidate XK_Hangul_Special + \ XK_Hangul_switch XK_Hangul_Kiyeog + \ XK_Hangul_SsangKiyeog XK_Hangul_KiyeogSios + \ XK_Hangul_Nieun XK_Hangul_NieunJieuj + \ XK_Hangul_NieunHieuh XK_Hangul_Dikeud + \ XK_Hangul_SsangDikeud XK_Hangul_Rieul + \ XK_Hangul_RieulKiyeog XK_Hangul_RieulMieum + \ XK_Hangul_RieulPieub XK_Hangul_RieulSios + \ XK_Hangul_RieulTieut XK_Hangul_RieulPhieuf + \ XK_Hangul_RieulHieuh XK_Hangul_Mieum + \ XK_Hangul_Pieub XK_Hangul_SsangPieub + \ XK_Hangul_PieubSios XK_Hangul_Sios + \ XK_Hangul_SsangSios XK_Hangul_Ieung + \ XK_Hangul_Jieuj XK_Hangul_SsangJieuj + \ XK_Hangul_Cieuc XK_Hangul_Khieuq + \ XK_Hangul_Tieut XK_Hangul_Phieuf + \ XK_Hangul_Hieuh XK_Hangul_A XK_Hangul_AE + \ XK_Hangul_YA XK_Hangul_YAE XK_Hangul_EO + \ XK_Hangul_E XK_Hangul_YEO XK_Hangul_YE + \ XK_Hangul_O XK_Hangul_WA XK_Hangul_WAE + \ XK_Hangul_OE XK_Hangul_YO XK_Hangul_U + \ XK_Hangul_WEO XK_Hangul_WE XK_Hangul_WI + \ XK_Hangul_YU XK_Hangul_EU XK_Hangul_YI + \ XK_Hangul_I XK_Hangul_J_Kiyeog + \ XK_Hangul_J_SsangKiyeog XK_Hangul_J_KiyeogSios + \ XK_Hangul_J_Nieun XK_Hangul_J_NieunJieuj + \ XK_Hangul_J_NieunHieuh XK_Hangul_J_Dikeud + \ XK_Hangul_J_Rieul XK_Hangul_J_RieulKiyeog + \ XK_Hangul_J_RieulMieum XK_Hangul_J_RieulPieub + \ XK_Hangul_J_RieulSios XK_Hangul_J_RieulTieut + \ XK_Hangul_J_RieulPhieuf XK_Hangul_J_RieulHieuh + \ XK_Hangul_J_Mieum XK_Hangul_J_Pieub + \ XK_Hangul_J_PieubSios XK_Hangul_J_Sios + \ XK_Hangul_J_SsangSios XK_Hangul_J_Ieung + \ XK_Hangul_J_Jieuj XK_Hangul_J_Cieuc + \ XK_Hangul_J_Khieuq XK_Hangul_J_Tieut + \ XK_Hangul_J_Phieuf XK_Hangul_J_Hieuh + \ XK_Hangul_RieulYeorinHieuh + \ XK_Hangul_SunkyeongeumMieum + \ XK_Hangul_SunkyeongeumPieub XK_Hangul_PanSios + \ XK_Hangul_KkogjiDalrinIeung + \ XK_Hangul_SunkyeongeumPhieuf + \ XK_Hangul_YeorinHieuh XK_Hangul_AraeA + \ XK_Hangul_AraeAE XK_Hangul_J_PanSios + \ XK_Hangul_J_KkogjiDalrinIeung + \ XK_Hangul_J_YeorinHieuh XK_Korean_Won + \ XK_Armenian_eternity XK_Armenian_ligature_ew + \ XK_Armenian_full_stop XK_Armenian_verjaket + \ XK_Armenian_parenright XK_Armenian_parenleft + \ XK_Armenian_guillemotright + \ XK_Armenian_guillemotleft XK_Armenian_em_dash + \ XK_Armenian_dot XK_Armenian_mijaket + \ XK_Armenian_separation_mark XK_Armenian_but + \ XK_Armenian_comma XK_Armenian_en_dash + \ XK_Armenian_hyphen XK_Armenian_yentamna + \ XK_Armenian_ellipsis XK_Armenian_exclam + \ XK_Armenian_amanak XK_Armenian_accent + \ XK_Armenian_shesht XK_Armenian_question + \ XK_Armenian_paruyk XK_Armenian_AYB + \ XK_Armenian_ayb XK_Armenian_BEN + \ XK_Armenian_ben XK_Armenian_GIM + \ XK_Armenian_gim XK_Armenian_DA XK_Armenian_da + \ XK_Armenian_YECH XK_Armenian_yech + \ XK_Armenian_ZA XK_Armenian_za XK_Armenian_E + \ XK_Armenian_e XK_Armenian_AT XK_Armenian_at + \ XK_Armenian_TO XK_Armenian_to + \ XK_Armenian_ZHE XK_Armenian_zhe + \ XK_Armenian_INI XK_Armenian_ini + \ XK_Armenian_LYUN XK_Armenian_lyun + \ XK_Armenian_KHE XK_Armenian_khe + \ XK_Armenian_TSA XK_Armenian_tsa + \ XK_Armenian_KEN XK_Armenian_ken XK_Armenian_HO + \ XK_Armenian_ho XK_Armenian_DZA XK_Armenian_dza + \ XK_Armenian_GHAT XK_Armenian_ghat + \ XK_Armenian_TCHE XK_Armenian_tche + \ XK_Armenian_MEN XK_Armenian_men XK_Armenian_HI + \ XK_Armenian_hi XK_Armenian_NU XK_Armenian_nu + \ XK_Armenian_SHA XK_Armenian_sha XK_Armenian_VO + \ XK_Armenian_vo XK_Armenian_CHA XK_Armenian_cha + \ XK_Armenian_PE XK_Armenian_pe XK_Armenian_JE + \ XK_Armenian_je XK_Armenian_RA XK_Armenian_ra + \ XK_Armenian_SE XK_Armenian_se XK_Armenian_VEV + \ XK_Armenian_vev XK_Armenian_TYUN + \ XK_Armenian_tyun XK_Armenian_RE + \ XK_Armenian_re XK_Armenian_TSO + \ XK_Armenian_tso XK_Armenian_VYUN + \ XK_Armenian_vyun XK_Armenian_PYUR + \ XK_Armenian_pyur XK_Armenian_KE XK_Armenian_ke + \ XK_Armenian_O XK_Armenian_o XK_Armenian_FE + \ XK_Armenian_fe XK_Armenian_apostrophe + \ XK_Armenian_section_sign XK_Georgian_an + \ XK_Georgian_ban XK_Georgian_gan + \ XK_Georgian_don XK_Georgian_en XK_Georgian_vin + \ XK_Georgian_zen XK_Georgian_tan + \ XK_Georgian_in XK_Georgian_kan XK_Georgian_las + \ XK_Georgian_man XK_Georgian_nar XK_Georgian_on + \ XK_Georgian_par XK_Georgian_zhar + \ XK_Georgian_rae XK_Georgian_san + \ XK_Georgian_tar XK_Georgian_un + \ XK_Georgian_phar XK_Georgian_khar + \ XK_Georgian_ghan XK_Georgian_qar + \ XK_Georgian_shin XK_Georgian_chin + \ XK_Georgian_can XK_Georgian_jil + \ XK_Georgian_cil XK_Georgian_char + \ XK_Georgian_xan XK_Georgian_jhan + \ XK_Georgian_hae XK_Georgian_he XK_Georgian_hie + \ XK_Georgian_we XK_Georgian_har XK_Georgian_hoe + \ XK_Georgian_fi XK_Ccedillaabovedot + \ XK_Xabovedot XK_Qabovedot XK_IE XK_UO + \ XK_Zstroke XK_ccedillaabovedot XK_xabovedot + \ XK_qabovedot XK_ie XK_uo XK_zstroke XK_SCHWA + \ XK_schwa XK_Lbelowdot XK_Lstrokebelowdot + \ XK_lbelowdot XK_lstrokebelowdot XK_Gtilde + \ XK_gtilde XK_Abelowdot XK_abelowdot + \ XK_Ahook XK_ahook XK_Acircumflexacute + \ XK_acircumflexacute XK_Acircumflexgrave + \ XK_acircumflexgrave XK_Acircumflexhook + \ XK_acircumflexhook XK_Acircumflextilde + \ XK_acircumflextilde XK_Acircumflexbelowdot + \ XK_acircumflexbelowdot XK_Abreveacute + \ XK_abreveacute XK_Abrevegrave XK_abrevegrave + \ XK_Abrevehook XK_abrevehook XK_Abrevetilde + \ XK_abrevetilde XK_Abrevebelowdot + \ XK_abrevebelowdot XK_Ebelowdot XK_ebelowdot + \ XK_Ehook XK_ehook XK_Etilde XK_etilde + \ XK_Ecircumflexacute XK_ecircumflexacute + \ XK_Ecircumflexgrave XK_ecircumflexgrave + \ XK_Ecircumflexhook XK_ecircumflexhook + \ XK_Ecircumflextilde XK_ecircumflextilde + \ XK_Ecircumflexbelowdot XK_ecircumflexbelowdot + \ XK_Ihook XK_ihook XK_Ibelowdot XK_ibelowdot + \ XK_Obelowdot XK_obelowdot XK_Ohook XK_ohook + \ XK_Ocircumflexacute XK_ocircumflexacute + \ XK_Ocircumflexgrave XK_ocircumflexgrave + \ XK_Ocircumflexhook XK_ocircumflexhook + \ XK_Ocircumflextilde XK_ocircumflextilde + \ XK_Ocircumflexbelowdot XK_ocircumflexbelowdot + \ XK_Ohornacute XK_ohornacute XK_Ohorngrave + \ XK_ohorngrave XK_Ohornhook XK_ohornhook + \ XK_Ohorntilde XK_ohorntilde XK_Ohornbelowdot + \ XK_ohornbelowdot XK_Ubelowdot XK_ubelowdot + \ XK_Uhook XK_uhook XK_Uhornacute XK_uhornacute + \ XK_Uhorngrave XK_uhorngrave XK_Uhornhook + \ XK_uhornhook XK_Uhorntilde XK_uhorntilde + \ XK_Uhornbelowdot XK_uhornbelowdot XK_Ybelowdot + \ XK_ybelowdot XK_Yhook XK_yhook XK_Ytilde + \ XK_ytilde XK_Ohorn XK_ohorn XK_Uhorn XK_uhorn + \ XK_combining_tilde XK_combining_grave + \ XK_combining_acute XK_combining_hook + \ XK_combining_belowdot XK_EcuSign XK_ColonSign + \ XK_CruzeiroSign XK_FFrancSign XK_LiraSign + \ XK_MillSign XK_NairaSign XK_PesetaSign + \ XK_RupeeSign XK_WonSign XK_NewSheqelSign + \ XK_DongSign XK_EuroSign + +" #include +syn keyword xmodmapKeySym SunXK_Sys_Req SunXK_Print_Screen SunXK_Compose + \ SunXK_AltGraph SunXK_PageUp SunXK_PageDown + \ SunXK_Undo SunXK_Again SunXK_Find SunXK_Stop + \ SunXK_Props SunXK_Front SunXK_Copy SunXK_Open + \ SunXK_Paste SunXK_Cut SunXK_PowerSwitch + \ SunXK_AudioLowerVolume SunXK_AudioMute + \ SunXK_AudioRaiseVolume SunXK_VideoDegauss + \ SunXK_VideoLowerBrightness + \ SunXK_VideoRaiseBrightness + \ SunXK_PowerSwitchShift + +" #include +syn keyword xmodmapKeySym XF86XK_ModeLock XF86XK_Standby + \ XF86XK_AudioLowerVolume XF86XK_AudioMute + \ XF86XK_AudioRaiseVolume XF86XK_AudioPlay + \ XF86XK_AudioStop XF86XK_AudioPrev + \ XF86XK_AudioNext XF86XK_HomePage + \ XF86XK_Mail XF86XK_Start XF86XK_Search + \ XF86XK_AudioRecord XF86XK_Calculator + \ XF86XK_Memo XF86XK_ToDoList XF86XK_Calendar + \ XF86XK_PowerDown XF86XK_ContrastAdjust + \ XF86XK_RockerUp XF86XK_RockerDown + \ XF86XK_RockerEnter XF86XK_Back XF86XK_Forward + \ XF86XK_Stop XF86XK_Refresh XF86XK_PowerOff + \ XF86XK_WakeUp XF86XK_Eject XF86XK_ScreenSaver + \ XF86XK_WWW XF86XK_Sleep XF86XK_Favorites + \ XF86XK_AudioPause XF86XK_AudioMedia + \ XF86XK_MyComputer XF86XK_VendorHome + \ XF86XK_LightBulb XF86XK_Shop XF86XK_History + \ XF86XK_OpenURL XF86XK_AddFavorite + \ XF86XK_HotLinks XF86XK_BrightnessAdjust + \ XF86XK_Finance XF86XK_Community + \ XF86XK_AudioRewind XF86XK_XF86BackForward + \ XF86XK_Launch0 XF86XK_Launch1 XF86XK_Launch2 + \ XF86XK_Launch3 XF86XK_Launch4 XF86XK_Launch5 + \ XF86XK_Launch6 XF86XK_Launch7 XF86XK_Launch8 + \ XF86XK_Launch9 XF86XK_LaunchA XF86XK_LaunchB + \ XF86XK_LaunchC XF86XK_LaunchD XF86XK_LaunchE + \ XF86XK_LaunchF XF86XK_ApplicationLeft + \ XF86XK_ApplicationRight XF86XK_Book + \ XF86XK_CD XF86XK_Calculater XF86XK_Clear + \ XF86XK_Close XF86XK_Copy XF86XK_Cut + \ XF86XK_Display XF86XK_DOS XF86XK_Documents + \ XF86XK_Excel XF86XK_Explorer XF86XK_Game + \ XF86XK_Go XF86XK_iTouch XF86XK_LogOff + \ XF86XK_Market XF86XK_Meeting XF86XK_MenuKB + \ XF86XK_MenuPB XF86XK_MySites XF86XK_New + \ XF86XK_News XF86XK_OfficeHome XF86XK_Open + \ XF86XK_Option XF86XK_Paste XF86XK_Phone + \ XF86XK_Q XF86XK_Reply XF86XK_Reload + \ XF86XK_RotateWindows XF86XK_RotationPB + \ XF86XK_RotationKB XF86XK_Save XF86XK_ScrollUp + \ XF86XK_ScrollDown XF86XK_ScrollClick + \ XF86XK_Send XF86XK_Spell XF86XK_SplitScreen + \ XF86XK_Support XF86XK_TaskPane XF86XK_Terminal + \ XF86XK_Tools XF86XK_Travel XF86XK_UserPB + \ XF86XK_User1KB XF86XK_User2KB XF86XK_Video + \ XF86XK_WheelButton XF86XK_Word XF86XK_Xfer + \ XF86XK_ZoomIn XF86XK_ZoomOut XF86XK_Away + \ XF86XK_Messenger XF86XK_WebCam + \ XF86XK_MailForward XF86XK_Pictures + \ XF86XK_Music XF86XK_Switch_VT_1 + \ XF86XK_Switch_VT_2 XF86XK_Switch_VT_3 + \ XF86XK_Switch_VT_4 XF86XK_Switch_VT_5 + \ XF86XK_Switch_VT_6 XF86XK_Switch_VT_7 + \ XF86XK_Switch_VT_8 XF86XK_Switch_VT_9 + \ XF86XK_Switch_VT_10 XF86XK_Switch_VT_11 + \ XF86XK_Switch_VT_12 XF86XK_Ungrab + \ XF86XK_ClearGrab XF86XK_Next_VMode + \ XF86XK_Prev_VMode + +syn keyword xmodmapKeyword keycode keysym clear add remove pointer + +hi def link xmodmapComment Comment +hi def link xmodmapTodo Todo +hi def link xmodmapInt Number +hi def link xmodmapHex Number +hi def link xmodmapOctal Number +hi def link xmodmapOctalError Error +hi def link xmodmapKeySym Constant +hi def link xmodmapKeyword Keyword + +let b:current_syntax = "xmodmap" + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/syntax/xquery.vim b/syntax/xquery.vim new file mode 100644 index 00000000..8a154a95 --- /dev/null +++ b/syntax/xquery.vim @@ -0,0 +1,86 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'xquery') == -1 + +" Vim syntax file +" Language: XQuery +" Author: RenĂ© Neumann +" Author: Steve Spigarelli +" Original Author: Jean-Marc Vanel +" Last Change: mar jui 12 18:04:05 CEST 2005 +" Filenames: *.xq +" URL: http://jmvanel.free.fr/vim/xquery.vim + +" REFERENCES: +" [1] http://www.w3.org/TR/xquery/ + +" Quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" - is allowed in keywords +setlocal iskeyword+=- + +runtime syntax/xml.vim + +syn case match + +" From XQuery grammar: +syn keyword xqStatement ancestor ancestor-or-self and as ascending at attribute base-uri boundary-space by case cast castable child collation construction declare default descendant descendant-or-self descending div document element else empty encoding eq every except external following following-sibling for function ge greatest gt idiv if import in inherit-namespaces instance intersect is le least let lt mod module namespace ne no of or order ordered ordering parent preceding preceding-sibling preserve return satisfies schema self some stable strip then to treat typeswitch union unordered validate variable version where xmlspace xquery yes + +" TODO contains clashes with vim keyword +syn keyword xqFunction abs adjust-date-to-timezone adjust-date-to-timezone adjust-dateTime-to-timezone adjust-dateTime-to-timezone adjust-time-to-timezone adjust-time-to-timezone avg base-uri base-uri boolean ceiling codepoint-equal codepoints-to-string collection collection compare concat count current-date current-dateTime current-time data dateTime day-from-date day-from-dateTime days-from-duration deep-equal deep-equal default-collation distinct-values distinct-values doc doc-available document-uri empty ends-with ends-with error error error error escape-uri exactly-one exists false floor hours-from-dateTime hours-from-duration hours-from-time id id idref idref implicit-timezone in-scope-prefixes index-of index-of insert-before lang lang last local-name local-name local-name-from-QName lower-case matches matches max max min min minutes-from-dateTime minutes-from-duration minutes-from-time month-from-date month-from-dateTime months-from-duration name name namespace-uri namespace-uri namespace-uri-for-prefix namespace-uri-from-QName nilled node-name normalize-space normalize-space normalize-unicode normalize-unicode not number number one-or-more position prefix-from-QName QName remove replace replace resolve-QName resolve-uri resolve-uri reverse root root round round-half-to-even round-half-to-even seconds-from-dateTime seconds-from-duration seconds-from-time starts-with starts-with static-base-uri string string string-join string-length string-length string-to-codepoints subsequence subsequence substring substring substring-after substring-after substring-before substring-before sum sum timezone-from-date timezone-from-dateTime timezone-from-time tokenize tokenize trace translate true unordered upper-case year-from-date year-from-dateTime years-from-duration zero-or-one + +syn keyword xqOperator add-dayTimeDuration-to-date add-dayTimeDuration-to-dateTime add-dayTimeDuration-to-time add-dayTimeDurations add-yearMonthDuration-to-date add-yearMonthDuration-to-dateTime add-yearMonthDurations base64Binary-equal boolean-equal boolean-greater-than boolean-less-than concatenate date-equal date-greater-than date-less-than dateTime-equal dateTime-greater-than dateTime-less-than dayTimeDuration-equal dayTimeDuration-greater-than dayTimeDuration-less-than divide-dayTimeDuration divide-dayTimeDuration-by-dayTimeDuration divide-yearMonthDuration divide-yearMonthDuration-by-yearMonthDuration except gDay-equal gMonth-equal gMonthDay-equal gYear-equal gYearMonth-equal hexBinary-equal intersect is-same-node multiply-dayTimeDuration multiply-yearMonthDuration node-after node-before NOTATION-equal numeric-add numeric-divide numeric-equal numeric-greater-than numeric-integer-divide numeric-less-than numeric-mod numeric-multiply numeric-subtract numeric-unary-minus numeric-unary-plus QName-equal subtract-dates-yielding-dayTimeDuration subtract-dateTimes-yielding-dayTimeDuration subtract-dayTimeDuration-from-date subtract-dayTimeDuration-from-dateTime subtract-dayTimeDuration-from-time subtract-dayTimeDurations subtract-times subtract-yearMonthDuration-from-date subtract-yearMonthDuration-from-dateTime subtract-yearMonthDurations time-equal time-greater-than time-less-than to union yearMonthDuration-equal yearMonthDuration-greater-than yearMonthDuration-less-than + +syn match xqType "xs:\(\|Datatype\|primitive\|string\|boolean\|float\|double\|decimal\|duration\|dateTime\|time\|date\|gYearMonth\|gYear\|gMonthDay\|gDay\|gMonth\|hexBinary\|base64Binary\|anyURI\|QName\|NOTATION\|\|normalizedString\|token\|language\|IDREFS\|ENTITIES\|NMTOKEN\|NMTOKENS\|Name\|NCName\|ID\|IDREF\|ENTITY\|integer\|nonPositiveInteger\|negativeInteger\|long\|int\|short\|byte\|nonNegativeInteger\|unsignedLong\|unsignedInt\|unsignedShort\|unsignedByte\|positiveInteger\)" + + +" From XPath grammar: +syn keyword xqXPath some every in in satisfies if then else to div idiv mod union intersect except instance of treat castable cast eq ne lt le gt ge is child descendant attribute self descendant-or-self following-sibling following namespace parent ancestor preceding-sibling preceding ancestor-or-self void item node document-node text comment processing-instruction attribute schema-attribute schema-element + +" eXist extensions +syn match xqExist "&=" + +" XQdoc +syn match XQdoc contained "@\(param\|return\|author\)\>" + +" floating point number, with dot, optional exponent +syn match xqFloat "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=" +" floating point number, starting with a dot, optional exponent +syn match xqFloat "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>" +" floating point number, without dot, with exponent +syn match xqFloat "\d\+e[-+]\=\d\+[fl]\=\>" +syn match xqNumber "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>" +syn match xqNumber "\<\d\+\>" + +syn region xqString start=+\z(['"]\)+ skip=+\\.+ end=+\z1+ +syn region xqComment start='(:' excludenl end=':)' contains=XQdoc + +syn match xqVariable "$\<[a-zA-Z:_][-.0-9a-zA-Z0-9:_]*\>" +syn match xqSeparator ",\|;" +syn region xqCode transparent contained start='{' excludenl end='}' contains=xqFunction,xqCode,xmlRegionBis,xqComment,xqStatement,xmlString,xqSeparator,xqNumber,xqVariable,xqString keepend extend + +syn region xmlRegionBis start=+<\z([^ /!?<>"']\+\)+ skip=++ end=++ end=+/>+ fold contains=xmlTag,xmlEndTag,xmlCdata,xmlRegionBis,xmlComment,xmlEntity,xmlProcessing,xqCode keepend extend + +hi def link xqNumber Number +hi def link xqFloat Number +hi def link xqString String +hi def link xqVariable Identifier +hi def link xqComment Comment +hi def link xqSeparator Operator +hi def link xqStatement Statement +hi def link xqFunction Function +hi def link xqOperator Operator +hi def link xqType Type +hi def link xqXPath Operator +hi def link XQdoc Special +hi def link xqExist Operator + +" override the xml highlighting +"hi link xmlTag Structure +"hi link xmlTagName Structure +"hi link xmlEndTag Structure + +let b:current_syntax = "xquery" + +endif diff --git a/syntax/xsd.vim b/syntax/xsd.vim new file mode 100644 index 00000000..aa635889 --- /dev/null +++ b/syntax/xsd.vim @@ -0,0 +1,65 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'xsd') == -1 + +" Vim syntax file +" Language: XSD (XML Schema) +" Maintainer: Johannes Zellner +" Last Change: Tue, 27 Apr 2004 14:54:59 CEST +" Filenames: *.xsd +" $Id: xsd.vim,v 1.1 2004/06/13 18:20:48 vimboss Exp $ + +" REFERENCES: +" [1] http://www.w3.org/TR/xmlschema-0 +" + +" Quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +runtime syntax/xml.vim + +syn cluster xmlTagHook add=xsdElement +syn case match + +syn match xsdElement '\%(xsd:\)\@<=all' +syn match xsdElement '\%(xsd:\)\@<=annotation' +syn match xsdElement '\%(xsd:\)\@<=any' +syn match xsdElement '\%(xsd:\)\@<=anyAttribute' +syn match xsdElement '\%(xsd:\)\@<=appInfo' +syn match xsdElement '\%(xsd:\)\@<=attribute' +syn match xsdElement '\%(xsd:\)\@<=attributeGroup' +syn match xsdElement '\%(xsd:\)\@<=choice' +syn match xsdElement '\%(xsd:\)\@<=complexContent' +syn match xsdElement '\%(xsd:\)\@<=complexType' +syn match xsdElement '\%(xsd:\)\@<=documentation' +syn match xsdElement '\%(xsd:\)\@<=element' +syn match xsdElement '\%(xsd:\)\@<=enumeration' +syn match xsdElement '\%(xsd:\)\@<=extension' +syn match xsdElement '\%(xsd:\)\@<=field' +syn match xsdElement '\%(xsd:\)\@<=group' +syn match xsdElement '\%(xsd:\)\@<=import' +syn match xsdElement '\%(xsd:\)\@<=include' +syn match xsdElement '\%(xsd:\)\@<=key' +syn match xsdElement '\%(xsd:\)\@<=keyref' +syn match xsdElement '\%(xsd:\)\@<=length' +syn match xsdElement '\%(xsd:\)\@<=list' +syn match xsdElement '\%(xsd:\)\@<=maxInclusive' +syn match xsdElement '\%(xsd:\)\@<=maxLength' +syn match xsdElement '\%(xsd:\)\@<=minInclusive' +syn match xsdElement '\%(xsd:\)\@<=minLength' +syn match xsdElement '\%(xsd:\)\@<=pattern' +syn match xsdElement '\%(xsd:\)\@<=redefine' +syn match xsdElement '\%(xsd:\)\@<=restriction' +syn match xsdElement '\%(xsd:\)\@<=schema' +syn match xsdElement '\%(xsd:\)\@<=selector' +syn match xsdElement '\%(xsd:\)\@<=sequence' +syn match xsdElement '\%(xsd:\)\@<=simpleContent' +syn match xsdElement '\%(xsd:\)\@<=simpleType' +syn match xsdElement '\%(xsd:\)\@<=union' +syn match xsdElement '\%(xsd:\)\@<=unique' + +hi def link xsdElement Statement + +" vim: ts=8 + +endif diff --git a/syntax/xslt.vim b/syntax/xslt.vim new file mode 100644 index 00000000..6efd3738 --- /dev/null +++ b/syntax/xslt.vim @@ -0,0 +1,75 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'xslt') == -1 + +" Vim syntax file +" Language: XSLT +" Maintainer: Bogdan Barbu +" Previous Maintainer: Johannes Zellner +" Last Change: Fri, 17 Jan 2020 07:15:37 +0200 +" Filenames: *.xsl +" $Id: xslt.vim,v 1.1 2004/06/13 15:52:10 vimboss Exp $ + +" REFERENCES: +" [1] http://www.w3.org/TR/xslt +" [2] http://www.w3.org/TR/xslt20 + +" Quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +runtime syntax/xml.vim + +syn cluster xmlTagHook add=xslElement +syn case match + +syn match xslElement '\%(xsl:\)\@<=analyze-string' +syn match xslElement '\%(xsl:\)\@<=apply-imports' +syn match xslElement '\%(xsl:\)\@<=apply-templates' +syn match xslElement '\%(xsl:\)\@<=attribute' +syn match xslElement '\%(xsl:\)\@<=attribute-set' +syn match xslElement '\%(xsl:\)\@<=call-template' +syn match xslElement '\%(xsl:\)\@<=character-map' +syn match xslElement '\%(xsl:\)\@<=choose' +syn match xslElement '\%(xsl:\)\@<=comment' +syn match xslElement '\%(xsl:\)\@<=copy' +syn match xslElement '\%(xsl:\)\@<=copy-of' +syn match xslElement '\%(xsl:\)\@<=decimal-format' +syn match xslElement '\%(xsl:\)\@<=document' +syn match xslElement '\%(xsl:\)\@<=element' +syn match xslElement '\%(xsl:\)\@<=fallback' +syn match xslElement '\%(xsl:\)\@<=for-each' +syn match xslElement '\%(xsl:\)\@<=for-each-group' +syn match xslElement '\%(xsl:\)\@<=function' +syn match xslElement '\%(xsl:\)\@<=if' +syn match xslElement '\%(xsl:\)\@<=include' +syn match xslElement '\%(xsl:\)\@<=import' +syn match xslElement '\%(xsl:\)\@<=import-schema' +syn match xslElement '\%(xsl:\)\@<=key' +syn match xslElement '\%(xsl:\)\@<=message' +syn match xslElement '\%(xsl:\)\@<=namespace' +syn match xslElement '\%(xsl:\)\@<=namespace-alias' +syn match xslElement '\%(xsl:\)\@<=number' +syn match xslElement '\%(xsl:\)\@<=otherwise' +syn match xslElement '\%(xsl:\)\@<=output' +syn match xslElement '\%(xsl:\)\@<=param' +syn match xslElement '\%(xsl:\)\@<=perform-sort' +syn match xslElement '\%(xsl:\)\@<=processing-instruction' +syn match xslElement '\%(xsl:\)\@<=preserve-space' +syn match xslElement '\%(xsl:\)\@<=script' +syn match xslElement '\%(xsl:\)\@<=sequence' +syn match xslElement '\%(xsl:\)\@<=sort' +syn match xslElement '\%(xsl:\)\@<=strip-space' +syn match xslElement '\%(xsl:\)\@<=stylesheet' +syn match xslElement '\%(xsl:\)\@<=template' +syn match xslElement '\%(xsl:\)\@<=transform' +syn match xslElement '\%(xsl:\)\@<=text' +syn match xslElement '\%(xsl:\)\@<=value-of' +syn match xslElement '\%(xsl:\)\@<=variable' +syn match xslElement '\%(xsl:\)\@<=when' +syn match xslElement '\%(xsl:\)\@<=with-param' + +hi def link xslElement Statement + +" vim: ts=8 + +endif diff --git a/syntax/yacc.vim b/syntax/yacc.vim new file mode 100644 index 00000000..01992fad --- /dev/null +++ b/syntax/yacc.vim @@ -0,0 +1,124 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'yacc') == -1 + +" Vim syntax file +" Language: Yacc +" Maintainer: Charles E. Campbell +" Last Change: Mar 25, 2019 +" Version: 17 +" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_YACC +" +" Options: {{{1 +" g:yacc_uses_cpp : if this variable exists, then C++ is loaded rather than C + +" --------------------------------------------------------------------- +" this version of syntax/yacc.vim requires 6.0 or later +if exists("b:current_syntax") + syntax clear +endif + +" --------------------------------------------------------------------- +" Folding Support {{{1 +if has("folding") + com! -nargs=+ SynFold fold +else + com! -nargs=+ SynFold +endif + +" --------------------------------------------------------------------- +" Read the C syntax to start with {{{1 +" Read the C/C++ syntax to start with +let s:Cpath= fnameescape(expand(":p:h").(exists("g:yacc_uses_cpp")? "/cpp.vim" : "/c.vim")) +if !filereadable(s:Cpath) + for s:Cpath in split(globpath(&rtp,(exists("g:yacc_uses_cpp")? "syntax/cpp.vim" : "syntax/c.vim")),"\n") + if filereadable(fnameescape(s:Cpath)) + let s:Cpath= fnameescape(s:Cpath) + break + endif + endfor +endif +exe "syn include @yaccCode ".s:Cpath + +" --------------------------------------------------------------------- +" Yacc Clusters: {{{1 +syn cluster yaccInitCluster contains=yaccKey,yaccKeyActn,yaccBrkt,yaccType,yaccString,yaccUnionStart,yaccHeader2,yaccComment,yaccDefines,yaccParseParam,yaccParseOption +syn cluster yaccRulesCluster contains=yaccNonterminal,yaccString,yaccComment + +" --------------------------------------------------------------------- +" Yacc Sections: {{{1 +SynFold syn region yaccInit start='.'ms=s-1,rs=s-1 matchgroup=yaccSectionSep end='^%%\ze\(\s*/[*/].*\)\=$'me=e-2,re=e-2 contains=@yaccInitCluster nextgroup=yaccRules skipwhite skipempty contained +SynFold syn region yaccInit2 start='\%^.'ms=s-1,rs=s-1 matchgroup=yaccSectionSep end='^%%\ze\(\s*/[*/].*\)\=$'me=e-2,re=e-2 contains=@yaccInitCluster nextgroup=yaccRules skipwhite skipempty +SynFold syn region yaccHeader2 matchgroup=yaccSep start="^\s*\zs%{" end="^\s*%}" contains=@yaccCode nextgroup=yaccInit skipwhite skipempty contained +SynFold syn region yaccHeader matchgroup=yaccSep start="^\s*\zs%{" end="^\s*%}" contains=@yaccCode nextgroup=yaccInit skipwhite skipempty +SynFold syn region yaccRules matchgroup=yaccSectionSep start='^%%\ze\(\s*/[*/].*\)\=$' end='^%%\ze\(\s*/[*/].*\)\=$'me=e-2,re=e-2 contains=@yaccRulesCluster nextgroup=yaccEndCode skipwhite skipempty contained +SynFold syn region yaccEndCode matchgroup=yaccSectionSep start='^%%\ze\(\s*/[*/].*\)\=$' end='\%$' contains=@yaccCode contained + +" --------------------------------------------------------------------- +" Yacc Commands: {{{1 +syn match yaccDefines '^%define\s\+.*$' +syn match yaccParseParam '%\(parse\|lex\)-param\>' skipwhite nextgroup=yaccParseParamStr +syn match yaccParseOption '%\%(api\.pure\|pure-parser\|locations\|error-verbose\)\>' +syn region yaccParseParamStr contained matchgroup=Delimiter start='{' end='}' contains=cStructure + +syn match yaccDelim "[:|]" contained +syn match yaccOper "@\d\+" contained + +syn match yaccKey "^\s*%\(token\|type\|left\|right\|start\|ident\|nonassoc\)\>" contained +syn match yaccKey "\s%\(prec\|expect\)\>" contained +syn match yaccKey "\$\(<[a-zA-Z_][a-zA-Z_0-9]*>\)\=[\$0-9]\+" contained +syn keyword yaccKeyActn yyerrok yyclearin contained + +syn match yaccUnionStart "^%union" skipwhite skipnl nextgroup=yaccUnion contained +SynFold syn region yaccUnion matchgroup=yaccCurly start="{" matchgroup=yaccCurly end="}" contains=@yaccCode contained +syn match yaccBrkt "[<>]" contained +syn match yaccType "<[a-zA-Z_][a-zA-Z0-9_]*>" contains=yaccBrkt contained + +SynFold syn region yaccNonterminal start="^\s*\a\w*\ze\_s*\(/\*\_.\{-}\*/\)\=\_s*:" matchgroup=yaccDelim end=";" matchgroup=yaccSectionSep end='^%%$'me=e-2,re=e-2 contains=yaccAction,yaccDelim,yaccString,yaccComment contained +syn region yaccComment start="/\*" end="\*/" +syn region yaccComment start="//" end="$" +syn match yaccString "'[^']*'" contained + + +" --------------------------------------------------------------------- +" I'd really like to highlight just the outer {}. Any suggestions??? {{{1 +syn match yaccCurlyError "[{}]" +SynFold syn region yaccAction matchgroup=yaccCurly start="{" end="}" contains=@yaccCode,yaccVar contained +syn match yaccVar '\$\d\+\|\$\$\|\$<\I\i*>\$\|\$<\I\i*>\d\+' containedin=cParen,cPreProc,cMulti contained + +" --------------------------------------------------------------------- +" Yacc synchronization: {{{1 +syn sync fromstart + +" --------------------------------------------------------------------- +" Define the default highlighting. {{{1 +if !exists("skip_yacc_syn_inits") + hi def link yaccBrkt yaccStmt + hi def link yaccComment Comment + hi def link yaccCurly Delimiter + hi def link yaccCurlyError Error + hi def link yaccDefines cDefine + hi def link yaccDelim Delimiter + hi def link yaccKeyActn Special + hi def link yaccKey yaccStmt + hi def link yaccNonterminal Function + hi def link yaccOper yaccStmt + hi def link yaccParseOption cDefine + hi def link yaccParseParam yaccParseOption + hi def link yaccSectionSep Todo + hi def link yaccSep Delimiter + hi def link yaccStmt Statement + hi def link yaccString String + hi def link yaccType Type + hi def link yaccUnionStart yaccKey + hi def link yaccVar Special +endif + +" --------------------------------------------------------------------- +" Cleanup: {{{1 +delcommand SynFold +let b:current_syntax = "yacc" + +" --------------------------------------------------------------------- +" Modelines: {{{1 +" vim: ts=15 fdm=marker + +endif diff --git a/syntax/z8a.vim b/syntax/z8a.vim new file mode 100644 index 00000000..b2229bf7 --- /dev/null +++ b/syntax/z8a.vim @@ -0,0 +1,105 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'z8a') == -1 + +" Vim syntax file +" Language: Z80 assembler asz80 +" Maintainer: Milan Pikula +" Last Change: 2003 May 11 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn case ignore + +" Common Z80 Assembly instructions +syn keyword z8aInstruction adc add and bit ccf cp cpd cpdr cpi cpir cpl +syn keyword z8aInstruction daa di djnz ei exx halt im in +syn keyword z8aInstruction ind ini indr inir jp jr ld ldd lddr ldi ldir +syn keyword z8aInstruction neg nop or otdr otir out outd outi +syn keyword z8aInstruction res rl rla rlc rlca rld +syn keyword z8aInstruction rr rra rrc rrca rrd sbc scf set sla sra +syn keyword z8aInstruction srl sub xor +" syn keyword z8aInstruction push pop call ret reti retn inc dec ex rst + +" Any other stuff +syn match z8aIdentifier "[a-z_][a-z0-9_]*" + +" Instructions changing stack +syn keyword z8aSpecInst push pop call ret reti retn rst +syn match z8aInstruction "\" +syn match z8aInstruction "\" +syn match z8aInstruction "\" +syn match z8aSpecInst "\"me=s+3 +syn match z8aSpecInst "\"me=s+3 +syn match z8aSpecInst "\"me=s+2 + +"Labels +syn match z8aLabel "[a-z_][a-z0-9_]*:" +syn match z8aSpecialLabel "[a-z_][a-z0-9_]*::" + +" PreProcessor commands +syn match z8aPreProc "\.org" +syn match z8aPreProc "\.globl" +syn match z8aPreProc "\.db" +syn match z8aPreProc "\.dw" +syn match z8aPreProc "\.ds" +syn match z8aPreProc "\.byte" +syn match z8aPreProc "\.word" +syn match z8aPreProc "\.blkb" +syn match z8aPreProc "\.blkw" +syn match z8aPreProc "\.ascii" +syn match z8aPreProc "\.asciz" +syn match z8aPreProc "\.module" +syn match z8aPreProc "\.title" +syn match z8aPreProc "\.sbttl" +syn match z8aPreProc "\.even" +syn match z8aPreProc "\.odd" +syn match z8aPreProc "\.area" +syn match z8aPreProc "\.page" +syn match z8aPreProc "\.setdp" +syn match z8aPreProc "\.radix" +syn match z8aInclude "\.include" +syn match z8aPreCondit "\.if" +syn match z8aPreCondit "\.else" +syn match z8aPreCondit "\.endif" + +" Common strings +syn match z8aString "\".*\"" +syn match z8aString "\'.*\'" + +" Numbers +syn match z8aNumber "[0-9]\+" +syn match z8aNumber "0[xXhH][0-9a-fA-F]\+" +syn match z8aNumber "0[bB][0-1]*" +syn match z8aNumber "0[oO\@qQ][0-7]\+" +syn match z8aNumber "0[dD][0-9]\+" + +" Character constant +syn match z8aString "\#\'."hs=s+1 + +" Comments +syn match z8aComment ";.*" + +syn case match + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link z8aSection Special +hi def link z8aLabel Label +hi def link z8aSpecialLabel Label +hi def link z8aComment Comment +hi def link z8aInstruction Statement +hi def link z8aSpecInst Statement +hi def link z8aInclude Include +hi def link z8aPreCondit PreCondit +hi def link z8aPreProc PreProc +hi def link z8aNumber Number +hi def link z8aString String + + +let b:current_syntax = "z8a" +" vim: ts=8 + +endif diff --git a/syntax/zimbu.vim b/syntax/zimbu.vim new file mode 100644 index 00000000..388e0206 --- /dev/null +++ b/syntax/zimbu.vim @@ -0,0 +1,164 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'zimbu') == -1 + +" Vim syntax file +" Language: Zimbu +" Maintainer: Bram Moolenaar +" Last Change: 2014 Nov 23 + +if exists("b:current_syntax") + finish +endif + +syn include @Ccode syntax/c.vim + +syn keyword zimbuTodo TODO FIXME XXX contained +syn match zimbuNoBar "|" contained +syn match zimbuParam "|[^| ]\+|" contained contains=zimbuNoBar +syn match zimbuNoBacktick "`" contained +syn match zimbuCode "`[^`]\+`" contained contains=zimbuNoBacktick +syn match zimbuComment "#.*$" contains=zimbuTodo,zimbuParam,zimbuCode,@Spell +syn match zimbuComment "/\*.\{-}\*/" contains=zimbuTodo,zimbuParam,zimbuCode,@Spell + +syn match zimbuChar "'\\\=.'" + +syn keyword zimbuBasicType bool status +syn keyword zimbuBasicType int1 int2 int3 int4 int5 int6 int7 +syn keyword zimbuBasicType int9 int10 int11 int12 int13 int14 int15 +syn keyword zimbuBasicType int int8 int16 int32 int64 bigInt +syn keyword zimbuBasicType nat nat8 byte nat16 nat32 nat64 bigNat +syn keyword zimbuBasicType nat1 nat2 nat3 nat4 nat5 nat6 nat7 +syn keyword zimbuBasicType nat9 nat10 nat11 nat12 nat13 nat14 nat15 +syn keyword zimbuBasicType float float32 float64 float80 float128 +syn keyword zimbuBasicType fixed1 fixed2 fixed3 fixed4 fixed5 fixed6 +syn keyword zimbuBasicType fixed7 fixed8 fixed9 fixed10 fixed11 fixed12 +syn keyword zimbuBasicType fixed13 fixed14 fixed15 + +syn keyword zimbuCompType string varString +syn keyword zimbuCompType byteString varByteString +syn keyword zimbuCompType tuple array list dict dictList set callback +syn keyword zimbuCompType sortedList multiDict multiDictList multiSet +syn keyword zimbuCompType complex complex32 complex64 complex80 complex128 +syn keyword zimbuCompType proc func def thread evalThread lock cond pipe + +syn keyword zimbuType VAR dyn type USE GET +syn match zimbuType "IO.File" +syn match zimbuType "IO.Stat" + +syn keyword zimbuStatement IF ELSE ELSEIF IFNIL WHILE REPEAT FOR IN TO STEP +syn keyword zimbuStatement DO UNTIL SWITCH WITH +syn keyword zimbuStatement TRY CATCH FINALLY +syn keyword zimbuStatement GENERATE_IF GENERATE_ELSE GENERATE_ELSEIF +syn keyword zimbuStatement GENERATE_ERROR +syn keyword zimbuStatement BUILD_IF BUILD_ELSE BUILD_ELSEIF +syn keyword zimbuStatement CASE DEFAULT FINAL ABSTRACT VIRTUAL DEFINE REPLACE +syn keyword zimbuStatement IMPLEMENTS EXTENDS PARENT LOCAL +syn keyword zimbuStatement PART ALIAS TYPE CONNECT WRAP +syn keyword zimbuStatement BREAK CONTINUE PROCEED +syn keyword zimbuStatement RETURN EXIT THROW DEFER +syn keyword zimbuStatement IMPORT AS OPTIONS MAIN +syn keyword zimbuStatement INTERFACE PIECE INCLUDE MODULE ENUM BITS +syn keyword zimbuStatement SHARED STATIC +syn keyword zimbuStatement LAMBDA +syn match zimbuStatement "\<\(FUNC\|PROC\|DEF\)\>" +syn match zimbuStatement "\" +syn match zimbuStatement "}" + +syn match zimbuAttribute "@backtrace=no\>" +syn match zimbuAttribute "@backtrace=yes\>" +syn match zimbuAttribute "@abstract\>" +syn match zimbuAttribute "@earlyInit\>" +syn match zimbuAttribute "@default\>" +syn match zimbuAttribute "@define\>" +syn match zimbuAttribute "@replace\>" +syn match zimbuAttribute "@final\>" +syn match zimbuAttribute "@primitive\>" +syn match zimbuAttribute "@notOnExit\>" + +syn match zimbuAttribute "@private\>" +syn match zimbuAttribute "@protected\>" +syn match zimbuAttribute "@public\>" +syn match zimbuAttribute "@local\>" +syn match zimbuAttribute "@file\>" +syn match zimbuAttribute "@directory\>" +syn match zimbuAttribute "@read=private\>" +syn match zimbuAttribute "@read=protected\>" +syn match zimbuAttribute "@read=public\>" +syn match zimbuAttribute "@read=file\>" +syn match zimbuAttribute "@read=directory\>" +syn match zimbuAttribute "@items=private\>" +syn match zimbuAttribute "@items=protected\>" +syn match zimbuAttribute "@items=public\>" +syn match zimbuAttribute "@items=file\>" +syn match zimbuAttribute "@items=directory\>" + +syn keyword zimbuMethod NEW EQUAL COPY COMPARE SIZE GET SET INIT EARLYINIT + +syn keyword zimbuOperator IS ISNOT ISA ISNOTA + +syn keyword zimbuModule ARG CHECK E GC IO LOG PROTO SYS HTTP ZC ZWT T TIME THREAD + +syn match zimbuImport "\.\zsPROTO" +syn match zimbuImport "\.\zsCHEADER" + +"syn match zimbuString +"\([^"\\]\|\\.\)*\("\|$\)+ contains=zimbuStringExpr +syn region zimbuString start=+"+ skip=+[^"\\]\|\\.+ end=+"\|$+ contains=zimbuStringExpr +syn match zimbuString +R"\([^"]\|""\)*\("\|$\)+ +syn region zimbuLongString start=+''"+ end=+"''+ +syn match zimbuStringExpr +\\([^)]*)+hs=s+2,he=e-1 contained contains=zimbuString,zimbuParenPairOuter +syn region zimbuParenPairOuter start=+(+ms=s+1 end=+)+me=e-1 contained contains=zimbuString,zimbuParenPair +syn region zimbuParenPair start=+(+ end=+)+ contained contains=zimbuString,zimbuParenPair + +syn keyword zimbuFixed TRUE FALSE NIL THIS THISTYPE FAIL OK +syn keyword zimbuError NULL + +" trailing whitespace +syn match zimbuSpaceError display excludenl "\S\s\+$"ms=s+1 +" mixed tabs and spaces +syn match zimbuSpaceError display " \+\t" +syn match zimbuSpaceError display "\t\+ " + +syn match zimbuUses contained "\