From 029f72b1a93430b24b88eb3a72c6114d9f149737 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 10 Apr 2024 22:09:20 +0200 Subject: Adding upstream version 2:9.1.0016. Signed-off-by: Daniel Baumann --- runtime/ftplugin/8th.vim | 27 ++ runtime/ftplugin/README.txt | 24 ++ runtime/ftplugin/a2ps.vim | 20 ++ runtime/ftplugin/aap.vim | 33 ++ runtime/ftplugin/abap.vim | 33 ++ runtime/ftplugin/abaqus.vim | 118 +++++++ runtime/ftplugin/ada.vim | 211 ++++++++++++ runtime/ftplugin/alsaconf.vim | 19 ++ runtime/ftplugin/ant.vim | 46 +++ runtime/ftplugin/apache.vim | 16 + runtime/ftplugin/arch.vim | 19 ++ runtime/ftplugin/art.vim | 18 + runtime/ftplugin/asm.vim | 13 + runtime/ftplugin/aspvbs.vim | 62 ++++ runtime/ftplugin/automake.vim | 16 + runtime/ftplugin/awk.vim | 59 ++++ runtime/ftplugin/bash.vim | 20 ++ runtime/ftplugin/basic.vim | 57 ++++ runtime/ftplugin/bdf.vim | 20 ++ runtime/ftplugin/bitbake.vim | 16 + runtime/ftplugin/bst.vim | 15 + runtime/ftplugin/btm.vim | 13 + runtime/ftplugin/bzl.vim | 101 ++++++ runtime/ftplugin/c.vim | 74 ++++ runtime/ftplugin/calendar.vim | 20 ++ runtime/ftplugin/cdrdaoconf.vim | 18 + runtime/ftplugin/cfg.vim | 19 ++ runtime/ftplugin/ch.vim | 17 + runtime/ftplugin/changelog.vim | 313 +++++++++++++++++ runtime/ftplugin/chatito.vim | 15 + runtime/ftplugin/chicken.vim | 55 +++ runtime/ftplugin/clojure.vim | 80 +++++ runtime/ftplugin/cmake.vim | 34 ++ runtime/ftplugin/cobol.vim | 269 +++++++++++++++ runtime/ftplugin/conf.vim | 19 ++ runtime/ftplugin/config.vim | 44 +++ runtime/ftplugin/confini.vim | 10 + runtime/ftplugin/context.vim | 115 +++++++ runtime/ftplugin/corn.vim | 18 + runtime/ftplugin/cpp.vim | 18 + runtime/ftplugin/crm.vim | 19 ++ runtime/ftplugin/crontab.vim | 16 + runtime/ftplugin/cs.vim | 44 +++ runtime/ftplugin/csc.vim | 29 ++ runtime/ftplugin/csh.vim | 54 +++ runtime/ftplugin/css.vim | 25 ++ runtime/ftplugin/cucumber.vim | 150 ++++++++ runtime/ftplugin/cvsrc.vim | 19 ++ runtime/ftplugin/debchangelog.vim | 394 +++++++++++++++++++++ runtime/ftplugin/debcontrol.vim | 70 ++++ runtime/ftplugin/debsources.vim | 16 + runtime/ftplugin/denyhosts.vim | 18 + runtime/ftplugin/desktop.vim | 13 + runtime/ftplugin/dictconf.vim | 19 ++ runtime/ftplugin/dictdconf.vim | 19 ++ runtime/ftplugin/diff.vim | 24 ++ runtime/ftplugin/dircolors.vim | 19 ++ runtime/ftplugin/docbk.vim | 24 ++ runtime/ftplugin/dockerfile.vim | 16 + runtime/ftplugin/dosbatch.vim | 48 +++ runtime/ftplugin/dosini.vim | 19 ++ runtime/ftplugin/dtd.vim | 42 +++ runtime/ftplugin/dtrace.vim | 40 +++ runtime/ftplugin/dune.vim | 23 ++ runtime/ftplugin/eiffel.vim | 96 ++++++ runtime/ftplugin/elinks.vim | 19 ++ runtime/ftplugin/elixir.vim | 39 +++ runtime/ftplugin/elm.vim | 20 ++ runtime/ftplugin/erlang.vim | 119 +++++++ runtime/ftplugin/eruby.vim | 136 ++++++++ runtime/ftplugin/eterm.vim | 20 ++ runtime/ftplugin/expect.vim | 24 ++ runtime/ftplugin/falcon.vim | 49 +++ runtime/ftplugin/fennel.vim | 18 + runtime/ftplugin/fetchmail.vim | 16 + runtime/ftplugin/fish.vim | 18 + runtime/ftplugin/flexwiki.vim | 59 ++++ runtime/ftplugin/forth.vim | 72 ++++ runtime/ftplugin/fortran.vim | 148 ++++++++ runtime/ftplugin/fpcmake.vim | 25 ++ runtime/ftplugin/framescript.vim | 30 ++ runtime/ftplugin/freebasic.vim | 81 +++++ runtime/ftplugin/fstab.vim | 19 ++ runtime/ftplugin/fvwm.vim | 14 + runtime/ftplugin/gdb.vim | 12 + runtime/ftplugin/gdscript.vim | 59 ++++ runtime/ftplugin/gdshader.vim | 13 + runtime/ftplugin/git.vim | 15 + runtime/ftplugin/gitattributes.vim | 13 + runtime/ftplugin/gitcommit.vim | 60 ++++ runtime/ftplugin/gitconfig.vim | 15 + runtime/ftplugin/gitignore.vim | 13 + runtime/ftplugin/gitrebase.vim | 45 +++ runtime/ftplugin/gitsendemail.vim | 6 + runtime/ftplugin/go.vim | 18 + runtime/ftplugin/gpg.vim | 36 ++ runtime/ftplugin/gprof.vim | 36 ++ runtime/ftplugin/groovy.vim | 19 ++ runtime/ftplugin/group.vim | 19 ++ runtime/ftplugin/grub.vim | 19 ++ runtime/ftplugin/gyp.vim | 14 + runtime/ftplugin/haml.vim | 71 ++++ runtime/ftplugin/hamster.vim | 65 ++++ runtime/ftplugin/hare.vim | 35 ++ runtime/ftplugin/haskell.vim | 23 ++ runtime/ftplugin/heex.vim | 27 ++ runtime/ftplugin/help.vim | 22 ++ runtime/ftplugin/hgcommit.vim | 16 + runtime/ftplugin/hog.vim | 39 +++ runtime/ftplugin/hostconf.vim | 18 + runtime/ftplugin/hostsaccess.vim | 19 ++ runtime/ftplugin/html.vim | 55 +++ runtime/ftplugin/htmldjango.vim | 13 + runtime/ftplugin/i3config.vim | 13 + runtime/ftplugin/icon.vim | 36 ++ runtime/ftplugin/indent.vim | 21 ++ runtime/ftplugin/initex.vim | 39 +++ runtime/ftplugin/ishd.vim | 38 +++ runtime/ftplugin/j.vim | 83 +++++ runtime/ftplugin/java.vim | 53 +++ runtime/ftplugin/javascript.vim | 75 ++++ runtime/ftplugin/javascriptreact.vim | 7 + runtime/ftplugin/jproperties.vim | 15 + runtime/ftplugin/json.vim | 17 + runtime/ftplugin/json5.vim | 28 ++ runtime/ftplugin/jsonc.vim | 21 ++ runtime/ftplugin/jsonnet.vim | 17 + runtime/ftplugin/jsp.vim | 69 ++++ runtime/ftplugin/julia.vim | 92 +++++ runtime/ftplugin/kconfig.vim | 27 ++ runtime/ftplugin/kotlin.vim | 33 ++ runtime/ftplugin/kwt.vim | 32 ++ runtime/ftplugin/ld.vim | 20 ++ runtime/ftplugin/less.vim | 20 ++ runtime/ftplugin/lftp.vim | 19 ++ runtime/ftplugin/libao.vim | 19 ++ runtime/ftplugin/limits.vim | 19 ++ runtime/ftplugin/liquid.vim | 61 ++++ runtime/ftplugin/lisp.vim | 24 ++ runtime/ftplugin/livebook.vim | 9 + runtime/ftplugin/logcheck.vim | 17 + runtime/ftplugin/loginaccess.vim | 19 ++ runtime/ftplugin/logindefs.vim | 19 ++ runtime/ftplugin/logtalk.dict | 269 +++++++++++++++ runtime/ftplugin/logtalk.vim | 19 ++ runtime/ftplugin/lprolog.vim | 45 +++ runtime/ftplugin/lua.vim | 50 +++ runtime/ftplugin/luau.vim | 14 + runtime/ftplugin/lynx.vim | 29 ++ runtime/ftplugin/m3build.vim | 23 ++ runtime/ftplugin/m3quake.vim | 35 ++ runtime/ftplugin/m4.vim | 20 ++ runtime/ftplugin/mail.vim | 47 +++ runtime/ftplugin/mailaliases.vim | 18 + runtime/ftplugin/mailcap.vim | 19 ++ runtime/ftplugin/make.vim | 34 ++ runtime/ftplugin/man.vim | 69 ++++ runtime/ftplugin/manconf.vim | 19 ++ runtime/ftplugin/markdown.vim | 92 +++++ runtime/ftplugin/masm.vim | 32 ++ runtime/ftplugin/matlab.vim | 34 ++ runtime/ftplugin/mermaid.vim | 49 +++ runtime/ftplugin/meson.vim | 39 +++ runtime/ftplugin/mf.vim | 82 +++++ runtime/ftplugin/mma.vim | 16 + runtime/ftplugin/modconf.vim | 36 ++ runtime/ftplugin/modula2.vim | 50 +++ runtime/ftplugin/modula3.vim | 42 +++ runtime/ftplugin/mp.vim | 91 +++++ runtime/ftplugin/mplayerconf.vim | 20 ++ runtime/ftplugin/mrxvtrc.vim | 22 ++ runtime/ftplugin/msmessages.vim | 40 +++ runtime/ftplugin/muttrc.vim | 38 +++ runtime/ftplugin/nanorc.vim | 19 ++ runtime/ftplugin/neomuttrc.vim | 23 ++ runtime/ftplugin/netrc.vim | 20 ++ runtime/ftplugin/nginx.vim | 9 + runtime/ftplugin/nix.vim | 17 + runtime/ftplugin/nroff.vim | 17 + runtime/ftplugin/nsis.vim | 43 +++ runtime/ftplugin/objc.vim | 13 + runtime/ftplugin/objdump.vim | 14 + runtime/ftplugin/obse.vim | 70 ++++ runtime/ftplugin/ocaml.vim | 643 +++++++++++++++++++++++++++++++++++ runtime/ftplugin/occam.vim | 49 +++ runtime/ftplugin/octave.vim | 63 ++++ runtime/ftplugin/openvpn.vim | 14 + runtime/ftplugin/pamconf.vim | 19 ++ runtime/ftplugin/pascal.vim | 50 +++ runtime/ftplugin/passwd.vim | 19 ++ runtime/ftplugin/pbtxt.vim | 17 + runtime/ftplugin/pdf.vim | 89 +++++ runtime/ftplugin/perl.vim | 112 ++++++ runtime/ftplugin/php.vim | 153 +++++++++ runtime/ftplugin/pinfo.vim | 19 ++ runtime/ftplugin/plaintex.vim | 37 ++ runtime/ftplugin/pod.vim | 70 ++++ runtime/ftplugin/poefilter.vim | 13 + runtime/ftplugin/poke.vim | 32 ++ runtime/ftplugin/postscr.vim | 38 +++ runtime/ftplugin/procmail.vim | 21 ++ runtime/ftplugin/prolog.vim | 20 ++ runtime/ftplugin/protocols.vim | 19 ++ runtime/ftplugin/ps1.vim | 59 ++++ runtime/ftplugin/ps1xml.vim | 34 ++ runtime/ftplugin/pymanifest.vim | 13 + runtime/ftplugin/pyrex.vim | 27 ++ runtime/ftplugin/python.vim | 189 ++++++++++ runtime/ftplugin/qb64.vim | 26 ++ runtime/ftplugin/qf.vim | 18 + runtime/ftplugin/qml.vim | 31 ++ runtime/ftplugin/quake.vim | 19 ++ runtime/ftplugin/quarto.vim | 1 + runtime/ftplugin/r.vim | 32 ++ runtime/ftplugin/racc.vim | 20 ++ runtime/ftplugin/racket.vim | 82 +++++ runtime/ftplugin/raku.vim | 127 +++++++ runtime/ftplugin/readline.vim | 52 +++ runtime/ftplugin/registry.vim | 36 ++ runtime/ftplugin/reva.vim | 27 ++ runtime/ftplugin/rhelp.vim | 30 ++ runtime/ftplugin/rmd.vim | 80 +++++ runtime/ftplugin/rnc.vim | 19 ++ runtime/ftplugin/rnoweb.vim | 58 ++++ runtime/ftplugin/routeros.vim | 29 ++ runtime/ftplugin/rpl.vim | 22 ++ runtime/ftplugin/rrst.vim | 54 +++ runtime/ftplugin/rst.vim | 47 +++ runtime/ftplugin/ruby.vim | 456 +++++++++++++++++++++++++ runtime/ftplugin/rust.vim | 239 +++++++++++++ runtime/ftplugin/sass.vim | 42 +++ runtime/ftplugin/sbt.vim | 14 + runtime/ftplugin/scala.vim | 38 +++ runtime/ftplugin/scdoc.vim | 22 ++ runtime/ftplugin/scheme.vim | 58 ++++ runtime/ftplugin/screen.vim | 19 ++ runtime/ftplugin/scss.vim | 13 + runtime/ftplugin/sed.vim | 29 ++ runtime/ftplugin/sensors.vim | 19 ++ runtime/ftplugin/services.vim | 19 ++ runtime/ftplugin/setserial.vim | 19 ++ runtime/ftplugin/sexplib.vim | 18 + runtime/ftplugin/sgml.vim | 42 +++ runtime/ftplugin/sh.vim | 58 ++++ runtime/ftplugin/sieve.vim | 20 ++ runtime/ftplugin/slpconf.vim | 20 ++ runtime/ftplugin/slpreg.vim | 20 ++ runtime/ftplugin/slpspi.vim | 20 ++ runtime/ftplugin/solidity.vim | 15 + runtime/ftplugin/solution.vim | 37 ++ runtime/ftplugin/spec.vim | 209 ++++++++++++ runtime/ftplugin/sql.vim | 548 +++++++++++++++++++++++++++++ runtime/ftplugin/ssa.vim | 13 + runtime/ftplugin/sshconfig.vim | 34 ++ runtime/ftplugin/sudoers.vim | 35 ++ runtime/ftplugin/svg.vim | 42 +++ runtime/ftplugin/swayconfig.vim | 16 + runtime/ftplugin/swift.vim | 23 ++ runtime/ftplugin/swiftgyb.vim | 11 + runtime/ftplugin/swig.vim | 13 + runtime/ftplugin/sysctl.vim | 20 ++ runtime/ftplugin/systemd.vim | 38 +++ runtime/ftplugin/systemverilog.vim | 44 +++ runtime/ftplugin/tap.vim | 27 ++ runtime/ftplugin/tcl.vim | 37 ++ runtime/ftplugin/tcsh.vim | 39 +++ runtime/ftplugin/terminfo.vim | 19 ++ runtime/ftplugin/tex.vim | 46 +++ runtime/ftplugin/text.vim | 18 + runtime/ftplugin/tidy.vim | 32 ++ runtime/ftplugin/tmux.vim | 15 + runtime/ftplugin/toml.vim | 23 ++ runtime/ftplugin/treetop.vim | 19 ++ runtime/ftplugin/tt2html.vim | 15 + runtime/ftplugin/typescript.vim | 39 +++ runtime/ftplugin/typescriptreact.vim | 33 ++ runtime/ftplugin/udevconf.vim | 19 ++ runtime/ftplugin/udevperm.vim | 19 ++ runtime/ftplugin/udevrules.vim | 35 ++ runtime/ftplugin/unison.vim | 14 + runtime/ftplugin/updatedb.vim | 19 ++ runtime/ftplugin/urlshortcut.vim | 20 ++ runtime/ftplugin/usd.vim | 14 + runtime/ftplugin/vb.vim | 71 ++++ runtime/ftplugin/vdf.vim | 14 + runtime/ftplugin/verilog.vim | 66 ++++ runtime/ftplugin/vhdl.vim | 108 ++++++ runtime/ftplugin/vim.vim | 126 +++++++ runtime/ftplugin/vroom.vim | 35 ++ runtime/ftplugin/vue.vim | 24 ++ runtime/ftplugin/wat.vim | 17 + runtime/ftplugin/wget.vim | 29 ++ runtime/ftplugin/wget2.vim | 29 ++ runtime/ftplugin/xcompose.vim | 13 + runtime/ftplugin/xdefaults.vim | 20 ++ runtime/ftplugin/xf86conf.vim | 19 ++ runtime/ftplugin/xhtml.vim | 69 ++++ runtime/ftplugin/xinetd.vim | 20 ++ runtime/ftplugin/xml.vim | 65 ++++ runtime/ftplugin/xmodmap.vim | 19 ++ runtime/ftplugin/xs.vim | 15 + runtime/ftplugin/xsd.vim | 41 +++ runtime/ftplugin/xslt.vim | 18 + runtime/ftplugin/yaml.vim | 25 ++ runtime/ftplugin/zig.vim | 68 ++++ runtime/ftplugin/zimbu.vim | 207 +++++++++++ runtime/ftplugin/zsh.vim | 42 +++ 307 files changed, 14285 insertions(+) create mode 100644 runtime/ftplugin/8th.vim create mode 100644 runtime/ftplugin/README.txt create mode 100644 runtime/ftplugin/a2ps.vim create mode 100644 runtime/ftplugin/aap.vim create mode 100644 runtime/ftplugin/abap.vim create mode 100644 runtime/ftplugin/abaqus.vim create mode 100644 runtime/ftplugin/ada.vim create mode 100644 runtime/ftplugin/alsaconf.vim create mode 100644 runtime/ftplugin/ant.vim create mode 100644 runtime/ftplugin/apache.vim create mode 100644 runtime/ftplugin/arch.vim create mode 100644 runtime/ftplugin/art.vim create mode 100644 runtime/ftplugin/asm.vim create mode 100644 runtime/ftplugin/aspvbs.vim create mode 100644 runtime/ftplugin/automake.vim create mode 100644 runtime/ftplugin/awk.vim create mode 100644 runtime/ftplugin/bash.vim create mode 100644 runtime/ftplugin/basic.vim create mode 100644 runtime/ftplugin/bdf.vim create mode 100644 runtime/ftplugin/bitbake.vim create mode 100644 runtime/ftplugin/bst.vim create mode 100644 runtime/ftplugin/btm.vim create mode 100644 runtime/ftplugin/bzl.vim create mode 100644 runtime/ftplugin/c.vim create mode 100644 runtime/ftplugin/calendar.vim create mode 100644 runtime/ftplugin/cdrdaoconf.vim create mode 100644 runtime/ftplugin/cfg.vim create mode 100644 runtime/ftplugin/ch.vim create mode 100644 runtime/ftplugin/changelog.vim create mode 100644 runtime/ftplugin/chatito.vim create mode 100644 runtime/ftplugin/chicken.vim create mode 100644 runtime/ftplugin/clojure.vim create mode 100644 runtime/ftplugin/cmake.vim create mode 100644 runtime/ftplugin/cobol.vim create mode 100644 runtime/ftplugin/conf.vim create mode 100644 runtime/ftplugin/config.vim create mode 100644 runtime/ftplugin/confini.vim create mode 100644 runtime/ftplugin/context.vim create mode 100644 runtime/ftplugin/corn.vim create mode 100644 runtime/ftplugin/cpp.vim create mode 100644 runtime/ftplugin/crm.vim create mode 100644 runtime/ftplugin/crontab.vim create mode 100644 runtime/ftplugin/cs.vim create mode 100644 runtime/ftplugin/csc.vim create mode 100644 runtime/ftplugin/csh.vim create mode 100644 runtime/ftplugin/css.vim create mode 100644 runtime/ftplugin/cucumber.vim create mode 100644 runtime/ftplugin/cvsrc.vim create mode 100644 runtime/ftplugin/debchangelog.vim create mode 100644 runtime/ftplugin/debcontrol.vim create mode 100644 runtime/ftplugin/debsources.vim create mode 100644 runtime/ftplugin/denyhosts.vim create mode 100644 runtime/ftplugin/desktop.vim create mode 100644 runtime/ftplugin/dictconf.vim create mode 100644 runtime/ftplugin/dictdconf.vim create mode 100644 runtime/ftplugin/diff.vim create mode 100644 runtime/ftplugin/dircolors.vim create mode 100644 runtime/ftplugin/docbk.vim create mode 100644 runtime/ftplugin/dockerfile.vim create mode 100644 runtime/ftplugin/dosbatch.vim create mode 100644 runtime/ftplugin/dosini.vim create mode 100644 runtime/ftplugin/dtd.vim create mode 100644 runtime/ftplugin/dtrace.vim create mode 100644 runtime/ftplugin/dune.vim create mode 100644 runtime/ftplugin/eiffel.vim create mode 100644 runtime/ftplugin/elinks.vim create mode 100644 runtime/ftplugin/elixir.vim create mode 100644 runtime/ftplugin/elm.vim create mode 100644 runtime/ftplugin/erlang.vim create mode 100644 runtime/ftplugin/eruby.vim create mode 100644 runtime/ftplugin/eterm.vim create mode 100644 runtime/ftplugin/expect.vim create mode 100644 runtime/ftplugin/falcon.vim create mode 100644 runtime/ftplugin/fennel.vim create mode 100644 runtime/ftplugin/fetchmail.vim create mode 100644 runtime/ftplugin/fish.vim create mode 100644 runtime/ftplugin/flexwiki.vim create mode 100644 runtime/ftplugin/forth.vim create mode 100644 runtime/ftplugin/fortran.vim create mode 100644 runtime/ftplugin/fpcmake.vim create mode 100644 runtime/ftplugin/framescript.vim create mode 100644 runtime/ftplugin/freebasic.vim create mode 100644 runtime/ftplugin/fstab.vim create mode 100644 runtime/ftplugin/fvwm.vim create mode 100644 runtime/ftplugin/gdb.vim create mode 100644 runtime/ftplugin/gdscript.vim create mode 100644 runtime/ftplugin/gdshader.vim create mode 100644 runtime/ftplugin/git.vim create mode 100644 runtime/ftplugin/gitattributes.vim create mode 100644 runtime/ftplugin/gitcommit.vim create mode 100644 runtime/ftplugin/gitconfig.vim create mode 100644 runtime/ftplugin/gitignore.vim create mode 100644 runtime/ftplugin/gitrebase.vim create mode 100644 runtime/ftplugin/gitsendemail.vim create mode 100644 runtime/ftplugin/go.vim create mode 100644 runtime/ftplugin/gpg.vim create mode 100644 runtime/ftplugin/gprof.vim create mode 100644 runtime/ftplugin/groovy.vim create mode 100644 runtime/ftplugin/group.vim create mode 100644 runtime/ftplugin/grub.vim create mode 100644 runtime/ftplugin/gyp.vim create mode 100644 runtime/ftplugin/haml.vim create mode 100644 runtime/ftplugin/hamster.vim create mode 100644 runtime/ftplugin/hare.vim create mode 100644 runtime/ftplugin/haskell.vim create mode 100644 runtime/ftplugin/heex.vim create mode 100644 runtime/ftplugin/help.vim create mode 100644 runtime/ftplugin/hgcommit.vim create mode 100644 runtime/ftplugin/hog.vim create mode 100644 runtime/ftplugin/hostconf.vim create mode 100644 runtime/ftplugin/hostsaccess.vim create mode 100644 runtime/ftplugin/html.vim create mode 100644 runtime/ftplugin/htmldjango.vim create mode 100644 runtime/ftplugin/i3config.vim create mode 100644 runtime/ftplugin/icon.vim create mode 100644 runtime/ftplugin/indent.vim create mode 100644 runtime/ftplugin/initex.vim create mode 100644 runtime/ftplugin/ishd.vim create mode 100644 runtime/ftplugin/j.vim create mode 100644 runtime/ftplugin/java.vim create mode 100644 runtime/ftplugin/javascript.vim create mode 100644 runtime/ftplugin/javascriptreact.vim create mode 100644 runtime/ftplugin/jproperties.vim create mode 100644 runtime/ftplugin/json.vim create mode 100644 runtime/ftplugin/json5.vim create mode 100644 runtime/ftplugin/jsonc.vim create mode 100644 runtime/ftplugin/jsonnet.vim create mode 100644 runtime/ftplugin/jsp.vim create mode 100644 runtime/ftplugin/julia.vim create mode 100644 runtime/ftplugin/kconfig.vim create mode 100644 runtime/ftplugin/kotlin.vim create mode 100644 runtime/ftplugin/kwt.vim create mode 100644 runtime/ftplugin/ld.vim create mode 100644 runtime/ftplugin/less.vim create mode 100644 runtime/ftplugin/lftp.vim create mode 100644 runtime/ftplugin/libao.vim create mode 100644 runtime/ftplugin/limits.vim create mode 100644 runtime/ftplugin/liquid.vim create mode 100644 runtime/ftplugin/lisp.vim create mode 100644 runtime/ftplugin/livebook.vim create mode 100644 runtime/ftplugin/logcheck.vim create mode 100644 runtime/ftplugin/loginaccess.vim create mode 100644 runtime/ftplugin/logindefs.vim create mode 100644 runtime/ftplugin/logtalk.dict create mode 100644 runtime/ftplugin/logtalk.vim create mode 100644 runtime/ftplugin/lprolog.vim create mode 100644 runtime/ftplugin/lua.vim create mode 100644 runtime/ftplugin/luau.vim create mode 100644 runtime/ftplugin/lynx.vim create mode 100644 runtime/ftplugin/m3build.vim create mode 100644 runtime/ftplugin/m3quake.vim create mode 100644 runtime/ftplugin/m4.vim create mode 100644 runtime/ftplugin/mail.vim create mode 100644 runtime/ftplugin/mailaliases.vim create mode 100644 runtime/ftplugin/mailcap.vim create mode 100644 runtime/ftplugin/make.vim create mode 100644 runtime/ftplugin/man.vim create mode 100644 runtime/ftplugin/manconf.vim create mode 100644 runtime/ftplugin/markdown.vim create mode 100644 runtime/ftplugin/masm.vim create mode 100644 runtime/ftplugin/matlab.vim create mode 100644 runtime/ftplugin/mermaid.vim create mode 100644 runtime/ftplugin/meson.vim create mode 100644 runtime/ftplugin/mf.vim create mode 100644 runtime/ftplugin/mma.vim create mode 100644 runtime/ftplugin/modconf.vim create mode 100644 runtime/ftplugin/modula2.vim create mode 100644 runtime/ftplugin/modula3.vim create mode 100644 runtime/ftplugin/mp.vim create mode 100644 runtime/ftplugin/mplayerconf.vim create mode 100644 runtime/ftplugin/mrxvtrc.vim create mode 100644 runtime/ftplugin/msmessages.vim create mode 100644 runtime/ftplugin/muttrc.vim create mode 100644 runtime/ftplugin/nanorc.vim create mode 100644 runtime/ftplugin/neomuttrc.vim create mode 100644 runtime/ftplugin/netrc.vim create mode 100644 runtime/ftplugin/nginx.vim create mode 100644 runtime/ftplugin/nix.vim create mode 100644 runtime/ftplugin/nroff.vim create mode 100644 runtime/ftplugin/nsis.vim create mode 100644 runtime/ftplugin/objc.vim create mode 100644 runtime/ftplugin/objdump.vim create mode 100644 runtime/ftplugin/obse.vim create mode 100644 runtime/ftplugin/ocaml.vim create mode 100644 runtime/ftplugin/occam.vim create mode 100644 runtime/ftplugin/octave.vim create mode 100644 runtime/ftplugin/openvpn.vim create mode 100644 runtime/ftplugin/pamconf.vim create mode 100644 runtime/ftplugin/pascal.vim create mode 100644 runtime/ftplugin/passwd.vim create mode 100644 runtime/ftplugin/pbtxt.vim create mode 100644 runtime/ftplugin/pdf.vim create mode 100644 runtime/ftplugin/perl.vim create mode 100644 runtime/ftplugin/php.vim create mode 100644 runtime/ftplugin/pinfo.vim create mode 100644 runtime/ftplugin/plaintex.vim create mode 100644 runtime/ftplugin/pod.vim create mode 100644 runtime/ftplugin/poefilter.vim create mode 100644 runtime/ftplugin/poke.vim create mode 100644 runtime/ftplugin/postscr.vim create mode 100644 runtime/ftplugin/procmail.vim create mode 100644 runtime/ftplugin/prolog.vim create mode 100644 runtime/ftplugin/protocols.vim create mode 100644 runtime/ftplugin/ps1.vim create mode 100644 runtime/ftplugin/ps1xml.vim create mode 100644 runtime/ftplugin/pymanifest.vim create mode 100644 runtime/ftplugin/pyrex.vim create mode 100644 runtime/ftplugin/python.vim create mode 100644 runtime/ftplugin/qb64.vim create mode 100644 runtime/ftplugin/qf.vim create mode 100644 runtime/ftplugin/qml.vim create mode 100644 runtime/ftplugin/quake.vim create mode 100644 runtime/ftplugin/quarto.vim create mode 100644 runtime/ftplugin/r.vim create mode 100644 runtime/ftplugin/racc.vim create mode 100644 runtime/ftplugin/racket.vim create mode 100644 runtime/ftplugin/raku.vim create mode 100644 runtime/ftplugin/readline.vim create mode 100644 runtime/ftplugin/registry.vim create mode 100644 runtime/ftplugin/reva.vim create mode 100644 runtime/ftplugin/rhelp.vim create mode 100644 runtime/ftplugin/rmd.vim create mode 100644 runtime/ftplugin/rnc.vim create mode 100644 runtime/ftplugin/rnoweb.vim create mode 100644 runtime/ftplugin/routeros.vim create mode 100644 runtime/ftplugin/rpl.vim create mode 100644 runtime/ftplugin/rrst.vim create mode 100644 runtime/ftplugin/rst.vim create mode 100644 runtime/ftplugin/ruby.vim create mode 100644 runtime/ftplugin/rust.vim create mode 100644 runtime/ftplugin/sass.vim create mode 100644 runtime/ftplugin/sbt.vim create mode 100644 runtime/ftplugin/scala.vim create mode 100644 runtime/ftplugin/scdoc.vim create mode 100644 runtime/ftplugin/scheme.vim create mode 100644 runtime/ftplugin/screen.vim create mode 100644 runtime/ftplugin/scss.vim create mode 100644 runtime/ftplugin/sed.vim create mode 100644 runtime/ftplugin/sensors.vim create mode 100644 runtime/ftplugin/services.vim create mode 100644 runtime/ftplugin/setserial.vim create mode 100644 runtime/ftplugin/sexplib.vim create mode 100644 runtime/ftplugin/sgml.vim create mode 100644 runtime/ftplugin/sh.vim create mode 100644 runtime/ftplugin/sieve.vim create mode 100644 runtime/ftplugin/slpconf.vim create mode 100644 runtime/ftplugin/slpreg.vim create mode 100644 runtime/ftplugin/slpspi.vim create mode 100644 runtime/ftplugin/solidity.vim create mode 100644 runtime/ftplugin/solution.vim create mode 100644 runtime/ftplugin/spec.vim create mode 100644 runtime/ftplugin/sql.vim create mode 100644 runtime/ftplugin/ssa.vim create mode 100644 runtime/ftplugin/sshconfig.vim create mode 100644 runtime/ftplugin/sudoers.vim create mode 100644 runtime/ftplugin/svg.vim create mode 100644 runtime/ftplugin/swayconfig.vim create mode 100644 runtime/ftplugin/swift.vim create mode 100644 runtime/ftplugin/swiftgyb.vim create mode 100644 runtime/ftplugin/swig.vim create mode 100644 runtime/ftplugin/sysctl.vim create mode 100644 runtime/ftplugin/systemd.vim create mode 100644 runtime/ftplugin/systemverilog.vim create mode 100644 runtime/ftplugin/tap.vim create mode 100644 runtime/ftplugin/tcl.vim create mode 100644 runtime/ftplugin/tcsh.vim create mode 100644 runtime/ftplugin/terminfo.vim create mode 100644 runtime/ftplugin/tex.vim create mode 100644 runtime/ftplugin/text.vim create mode 100644 runtime/ftplugin/tidy.vim create mode 100644 runtime/ftplugin/tmux.vim create mode 100644 runtime/ftplugin/toml.vim create mode 100644 runtime/ftplugin/treetop.vim create mode 100644 runtime/ftplugin/tt2html.vim create mode 100644 runtime/ftplugin/typescript.vim create mode 100644 runtime/ftplugin/typescriptreact.vim create mode 100644 runtime/ftplugin/udevconf.vim create mode 100644 runtime/ftplugin/udevperm.vim create mode 100644 runtime/ftplugin/udevrules.vim create mode 100644 runtime/ftplugin/unison.vim create mode 100644 runtime/ftplugin/updatedb.vim create mode 100644 runtime/ftplugin/urlshortcut.vim create mode 100644 runtime/ftplugin/usd.vim create mode 100644 runtime/ftplugin/vb.vim create mode 100644 runtime/ftplugin/vdf.vim create mode 100644 runtime/ftplugin/verilog.vim create mode 100644 runtime/ftplugin/vhdl.vim create mode 100644 runtime/ftplugin/vim.vim create mode 100644 runtime/ftplugin/vroom.vim create mode 100644 runtime/ftplugin/vue.vim create mode 100644 runtime/ftplugin/wat.vim create mode 100644 runtime/ftplugin/wget.vim create mode 100644 runtime/ftplugin/wget2.vim create mode 100644 runtime/ftplugin/xcompose.vim create mode 100644 runtime/ftplugin/xdefaults.vim create mode 100644 runtime/ftplugin/xf86conf.vim create mode 100644 runtime/ftplugin/xhtml.vim create mode 100644 runtime/ftplugin/xinetd.vim create mode 100644 runtime/ftplugin/xml.vim create mode 100644 runtime/ftplugin/xmodmap.vim create mode 100644 runtime/ftplugin/xs.vim create mode 100644 runtime/ftplugin/xsd.vim create mode 100644 runtime/ftplugin/xslt.vim create mode 100644 runtime/ftplugin/yaml.vim create mode 100644 runtime/ftplugin/zig.vim create mode 100644 runtime/ftplugin/zimbu.vim create mode 100644 runtime/ftplugin/zsh.vim (limited to 'runtime/ftplugin') diff --git a/runtime/ftplugin/8th.vim b/runtime/ftplugin/8th.vim new file mode 100644 index 0000000..ad04f9a --- /dev/null +++ b/runtime/ftplugin/8th.vim @@ -0,0 +1,27 @@ +" Vim ftplugin file +" Language: 8th +" Version: any +" Last Change: 2021 Sep 20 +" Last Change: 2021/09/20 +" Maintainer: Ron Aaron +" URL: https://8th-dev.com/ +" Filetypes: *.8th +" NOTE: 8th 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/8th.vim file. + +" Only do this when not done yet for this buffer +if exists("b:did_8thplugin") + finish +endif + +" Don't load another 8th plugin for this buffer +let b:did_8thplugin = 1 + +setlocal ts=2 sts=2 sw=2 et +setlocal com=s1:/*,mb:*,ex:*/,b:--,be:\\ +setlocal fo=tcrqol +setlocal matchpairs+=\::; +setlocal iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255 +setlocal suffixesadd=.8th +let b:undo_ftplugin = "setlocal ts< sts< sw< et< com< fo< mps< isk< sua<" diff --git a/runtime/ftplugin/README.txt b/runtime/ftplugin/README.txt new file mode 100644 index 0000000..19ad58b --- /dev/null +++ b/runtime/ftplugin/README.txt @@ -0,0 +1,24 @@ +The ftplugin directory is for Vim plugin scripts that are only used for a +specific filetype. + +All files ending in .vim in this directory and subdirectories will be sourced +by Vim when it detects the filetype that matches the name of the file or +subdirectory. +For example, these are all loaded for the "c" filetype: + + c.vim + c_extra.vim + c/settings.vim + +Note that the "_" in "c_extra.vim" is required to separate the filetype name +from the following arbitrary name. + +The filetype plugins are only loaded when the ":filetype plugin" command has +been used. + +The default filetype plugin files contain settings that 95% of the users will +want to use. They do not contain personal preferences, like the value of +'shiftwidth'. + +If you want to do additional settings, or overrule the default filetype +plugin, you can create your own plugin file. See ":help ftplugin" in Vim. diff --git a/runtime/ftplugin/a2ps.vim b/runtime/ftplugin/a2ps.vim new file mode 100644 index 0000000..0e24e30 --- /dev/null +++ b/runtime/ftplugin/a2ps.vim @@ -0,0 +1,20 @@ +" Vim filetype plugin file +" Language: a2ps(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 diff --git a/runtime/ftplugin/aap.vim b/runtime/ftplugin/aap.vim new file mode 100644 index 0000000..df839c9 --- /dev/null +++ b/runtime/ftplugin/aap.vim @@ -0,0 +1,33 @@ +" Vim filetype plugin file +" Language: Aap recipe +" Maintainer: The Vim Project +" Last Change: 2023 Aug 10 +" Former Maintainer: Bram Moolenaar + +" 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 + +" Reset 'formatoptions', 'comments', 'commentstring' and 'expandtab' to undo +" this plugin. +let b:undo_ftplugin = "setl fo< com< cms< et<" + +" 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=s:#\ -,m:#\ \ ,e:#,n:#,fb:- +setlocal commentstring=#\ %s + +" Expand tabs to spaces to avoid trouble. +setlocal expandtab + +if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter") + let b:browsefilter = "Aap Recipe Files (*.aap)\t*.aap\nAll Files (*.*)\t*.*\n" + let b:undo_ftplugin ..= " | unlet! b:browsefilter" +endif diff --git a/runtime/ftplugin/abap.vim b/runtime/ftplugin/abap.vim new file mode 100644 index 0000000..61db809 --- /dev/null +++ b/runtime/ftplugin/abap.vim @@ -0,0 +1,33 @@ +" Vim filetype plugin file +" Language: ABAP +" Author: Steven Oliver +" Copyright: Copyright (c) 2013 Steven Oliver +" License: You may redistribute this under the same terms as Vim itself +" Last Change: 2023 Aug 28 by Vim Project (undo_ftplugin) +" -------------------------------------------------------------------------- + +" 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=2 shiftwidth=2 +setlocal suffixesadd=.abap + +let b:undo_ftplugin = "setl sts< sua< sw<" + +" Windows allows you to filter the open file dialog +if has("gui_win32") && !exists("b:browsefilter") + let b:browsefilter = "ABAP Source Files (*.abap)\t*.abap\n" . + \ "All Files (*.*)\t*.*\n" + let b:undo_ftplugin .= " | unlet! b:browsefilter" +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: set sw=4 sts=4 et tw=80 : diff --git a/runtime/ftplugin/abaqus.vim b/runtime/ftplugin/abaqus.vim new file mode 100644 index 0000000..5931cd9 --- /dev/null +++ b/runtime/ftplugin/abaqus.vim @@ -0,0 +1,118 @@ +" Vim filetype plugin file +" Language: Abaqus finite element input file (www.abaqus.com) +" Maintainer: Carl Osterwisch +" Last Change: 2022 Oct 08 + +" 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 + +" Save the compatibility options and temporarily switch to vim defaults +let s:cpo_save = &cpoptions +set cpoptions&vim + +" Set the format of the include file specification for Abaqus +" Used in :check gf ^wf [i and other commands +setlocal include=\\<\\cINPUT\\s*= + +" Remove characters up to the first = when evaluating filenames +setlocal includeexpr=substitute(v:fname,'.\\{-}=','','') + +" Remove comma from valid filename characters since it is used to +" separate keyword parameters +setlocal isfname-=, + +" Define format of comment lines (see 'formatoptions' for uses) +setlocal comments=:** +setlocal commentstring=**%s + +" Definitions start with a * and assign a NAME, NSET, or ELSET +" Used in [d ^wd and other commands +setlocal define=^\\*\\a.*\\c\\(NAME\\\|NSET\\\|ELSET\\)\\s*= + +" Abaqus keywords and identifiers may include a - character +setlocal iskeyword+=- + +let b:undo_ftplugin = "setlocal include< includeexpr< isfname<" + \ . " comments< commentstring< define< iskeyword<" + +if has("folding") + " Fold all lines that do not begin with * + setlocal foldexpr=getline(v:lnum)[0]!=\"\*\" + setlocal foldmethod=expr + let b:undo_ftplugin .= " foldexpr< foldmethod<" +endif + +" Set the file browse filter (currently only supported under Win32 gui) +if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter") + let b:browsefilter = "Abaqus Input Files (*.inp *.inc)\t*.inp;*.inc\n" . + \ "Abaqus Results (*.dat)\t*.dat\n" . + \ "Abaqus Messages (*.pre *.msg *.sta)\t*.pre;*.msg;*.sta\n" . + \ "All Files (*.*)\t*.*\n" + let b:undo_ftplugin .= "|unlet! b:browsefilter" +endif + +" Define patterns for the matchit plugin +if exists("loaded_matchit") && !exists("b:match_words") + let b:match_ignorecase = 1 + let b:match_words = + \ '\*part:\*end\s*part,' . + \ '\*assembly:\*end\s*assembly,' . + \ '\*instance:\*end\s*instance,' . + \ '\*step:\*end\s*step' + let b:undo_ftplugin .= "|unlet! b:match_ignorecase b:match_words" +endif + +if !exists("no_plugin_maps") && !exists("no_abaqus_maps") + " Map [[ and ]] keys to move [count] keywords backward or forward + nnoremap ]] :call Abaqus_NextKeyword(1) + nnoremap [[ :call Abaqus_NextKeyword(-1) + function! Abaqus_NextKeyword(direction) + .mark ' + if a:direction < 0 + let flags = 'b' + else + let flags = '' + endif + let l:count = abs(a:direction) * v:count1 + while l:count > 0 && search("^\\*\\a", flags) + let l:count -= 1 + endwhile + endfunction + + " Map \\ to toggle commenting of the current line or range + noremap + \ :call Abaqus_ToggleComment()j + function! Abaqus_ToggleComment() range + if strpart(getline(a:firstline), 0, 2) == "**" + " Un-comment all lines in range + silent execute a:firstline . ',' . a:lastline . 's/^\*\*//' + else + " Comment all lines in range + silent execute a:firstline . ',' . a:lastline . 's/^/**/' + endif + endfunction + + " Map \s to swap first two comma separated fields + noremap s :call Abaqus_Swap() + function! Abaqus_Swap() range + silent execute a:firstline . ',' . a:lastline . 's/\([^*,]*\),\([^,]*\)/\2,\1/' + endfunction + + let b:undo_ftplugin .= "|unmap [[|unmap ]]" + \ . "|unmap " + \ . "|unmap s" +endif + +" Undo must be done in nocompatible mode for . +let b:undo_ftplugin = "let b:cpo_save = &cpoptions|" + \ . "set cpoptions&vim|" + \ . b:undo_ftplugin + \ . "|let &cpoptions = b:cpo_save" + \ . "|unlet b:cpo_save" + +" Restore saved compatibility options +let &cpoptions = s:cpo_save +unlet s:cpo_save diff --git a/runtime/ftplugin/ada.vim b/runtime/ftplugin/ada.vim new file mode 100644 index 0000000..a0621e1 --- /dev/null +++ b/runtime/ftplugin/ada.vim @@ -0,0 +1,211 @@ +"------------------------------------------------------------------------------ +" Description: Perform Ada specific completion & tagging. +" Language: Ada (2005) +" $Id: ada.vim 887 2008-07-08 14:29:01Z krischik $ +" Maintainer: Martin Krischik +" Taylor Venable +" Neil Bird +" $Author: krischik $ +" $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $ +" Version: 4.6 with patch from David Bürgin +" $Revision: 887 $ +" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/ftplugin/ada.vim $ +" History: 24.05.2006 MK Unified Headers +" 26.05.2006 MK ' should not be in iskeyword. +" 16.07.2006 MK Ada-Mode as vim-ball +" 02.10.2006 MK Better folding. +" 15.10.2006 MK Bram's suggestion for runtime integration +" 05.11.2006 MK Bram suggested not to use include protection for +" autoload +" 05.11.2006 MK Bram suggested to save on spaces +" 08.07.2007 TV fix default compiler problems. +" Help Page: ft-ada-plugin +"------------------------------------------------------------------------------ +" Provides mapping overrides for tag jumping that figure out the current +" Ada object and tag jump to that, not the 'simple' vim word. +" Similarly allows matching of full-length ada entities from tags. +"------------------------------------------------------------------------------ + +" Only do this when not done yet for this buffer +if exists ("b:did_ftplugin") || version < 700 + finish +endif + +" Don't load another plugin for this buffer +let b:did_ftplugin = 45 + +" +" Temporarily set cpoptions to ensure the script loads OK +" +let s:cpoptions = &cpoptions +set cpoptions-=C + +" Section: Comments {{{1 +" +setlocal comments=O:--,:--\ \ +setlocal commentstring=--\ \ %s +setlocal complete=.,w,b,u,t,i + +" Section: case {{{1 +" +setlocal nosmartcase +setlocal ignorecase + +" Section: formatoptions {{{1 +" +setlocal formatoptions+=ron + +" Section: Tagging {{{1 +" +if exists ("g:ada_extended_tagging") + " Make local tag mappings for this buffer (if not already set) + if g:ada_extended_tagging == 'jump' + if mapcheck('','n') == '' + nnoremap :call ada#Jump_Tag ('', 'tjump') + endif + if mapcheck('g','n') == '' + nnoremap g :call ada#Jump_Tag ('','stjump') + endif + elseif g:ada_extended_tagging == 'list' + if mapcheck('','n') == '' + nnoremap :call ada#List_Tag () + endif + if mapcheck('g','n') == '' + nnoremap g :call ada#List_Tag () + endif + endif +endif + +" Section: Completion {{{1 +" +setlocal completefunc=ada#User_Complete +setlocal omnifunc=adacomplete#Complete + +if exists ("g:ada_extended_completion") + if mapcheck ('','i') == '' + inoremap =ada#Completion("\C-N>") + endif + if mapcheck ('','i') == '' + inoremap =ada#Completion("\C-P>") + endif + if mapcheck ('','i') == '' + inoremap =ada#Completion("\C-X>\C-]>") + endif + if mapcheck ('','i') == '' + inoremap =ada#Insert_Backspace () + endif +endif + +" Section: Matchit {{{1 +" +" Only do this when not done yet for this buffer & matchit is used +" +if !exists ("b:match_words") && + \ exists ("loaded_matchit") + " + " The following lines enable the macros/matchit.vim plugin for + " Ada-specific extended matching with the % key. + " + let s:notend = '\%(\:\:\:\\s\+\,' . + \ s:notend . '\:\:\\s\+\,' . + \ '\%(\.*\|\.*\|'.s:notend.'\)\:\\s\+\,' . + \ '\%(\\|\\):\:\\s*\%($\|[;A-Z]\),' . + \ s:notend . '\:\\s\+\' +endif + + +" Section: Compiler {{{1 +" +if ! exists("g:ada_default_compiler") + if has("vms") + let g:ada_default_compiler = 'decada' + else + let g:ada_default_compiler = 'gnat' + endif +endif + +if ! exists("current_compiler") || + \ current_compiler != g:ada_default_compiler + execute "compiler " . g:ada_default_compiler +endif + +" Section: Folding {{{1 +" +if exists("g:ada_folding") + if g:ada_folding[0] == 'i' + setlocal foldmethod=indent + setlocal foldignore=-- + setlocal foldnestmax=5 + elseif g:ada_folding[0] == 'g' + setlocal foldmethod=expr + setlocal foldexpr=ada#Pretty_Print_Folding(v:lnum) + elseif g:ada_folding[0] == 's' + setlocal foldmethod=syntax + endif + setlocal tabstop=8 + setlocal softtabstop=3 + setlocal shiftwidth=3 +endif + +" Section: Abbrev {{{1 +" +if exists("g:ada_abbrev") + iabbrev ret return + iabbrev proc procedure + iabbrev pack package + iabbrev func function +endif + +" Section: Commands, Mapping, Menus {{{1 +if !exists(':AdaTagFile') + call ada#Map_Popup ( + \ 'Tag.List', + \ 'l', + \ 'call ada#List_Tag ()') + call ada#Map_Popup ( + \'Tag.Jump', + \'j', + \'call ada#Jump_Tag ()') + call ada#Map_Menu ( + \'Tag.Create File', + \':AdaTagFile', + \'call ada#Create_Tags (''file'')') + call ada#Map_Menu ( + \'Tag.Create Dir', + \':AdaTagDir', + \'call ada#Create_Tags (''dir'')') + + call ada#Map_Menu ( + \'Highlight.Toggle Space Errors', + \ ':AdaSpaces', + \'call ada#Switch_Syntax_Option (''space_errors'')') + call ada#Map_Menu ( + \'Highlight.Toggle Lines Errors', + \ ':AdaLines', + \'call ada#Switch_Syntax_Option (''line_errors'')') + call ada#Map_Menu ( + \'Highlight.Toggle Rainbow Color', + \ ':AdaRainbow', + \'call ada#Switch_Syntax_Option (''rainbow_color'')') + call ada#Map_Menu ( + \'Highlight.Toggle Standard Types', + \ ':AdaTypes', + \'call ada#Switch_Syntax_Option (''standard_types'')') +endif + +" 1}}} +" Reset cpoptions +let &cpoptions = s:cpoptions +unlet s:cpoptions + +finish " 1}}} + +"------------------------------------------------------------------------------ +" Copyright (C) 2006 Martin Krischik +" +" Vim is Charityware - see ":help license" or uganda.txt for licence details. +"------------------------------------------------------------------------------ +" vim: textwidth=78 nowrap tabstop=8 shiftwidth=3 softtabstop=3 noexpandtab +" vim: foldmethod=marker diff --git a/runtime/ftplugin/alsaconf.vim b/runtime/ftplugin/alsaconf.vim new file mode 100644 index 0000000..6d9d80a --- /dev/null +++ b/runtime/ftplugin/alsaconf.vim @@ -0,0 +1,19 @@ +" Vim filetype plugin file +" Language: alsaconf(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 diff --git a/runtime/ftplugin/ant.vim b/runtime/ftplugin/ant.vim new file mode 100644 index 0000000..aee07ca --- /dev/null +++ b/runtime/ftplugin/ant.vim @@ -0,0 +1,46 @@ +" Vim filetype plugin file +" Language: ant +" +" This runtime file is looking for a new maintainer. +" +" Former maintainer: Dan Sharp +" Last Changed: 20 Jan 2009 + +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 = "XML Files (*.xml)\t*.xml\n" . + \ "All Files (*.*)\t*.*\n" + +runtime! ftplugin/xml.vim ftplugin/xml_*.vim ftplugin/xml/*.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 Ant-related files. +if has("gui_win32") + let b:browsefilter = "Build Files (build.xml)\tbuild.xml\n" . + \ "Java Files (*.java)\t*.java\n" . + \ "Properties Files (*.prop*)\t*.prop*\n" . + \ "Manifest Files (*.mf)\t*.mf\n" . + \ s:browsefilter +endif + +" Undo the stuff we changed. +let b:undo_ftplugin = "unlet! b:browsefilter | " . s:undo_ftplugin + +" Restore the saved compatibility options. +let &cpo = s:save_cpo +unlet s:save_cpo diff --git a/runtime/ftplugin/apache.vim b/runtime/ftplugin/apache.vim new file mode 100644 index 0000000..9f612f5 --- /dev/null +++ b/runtime/ftplugin/apache.vim @@ -0,0 +1,16 @@ +" Vim filetype plugin +" Language: apache configuration file +" Maintainer: Per Juchtmans +" Last Change: 2022 Oct 22 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +setlocal comments=:# +setlocal commentstring=#\ %s + +let b:undo_ftplugin = "setlocal comments< commentstring<" + +" vim: nowrap sw=2 sts=2 ts=8 noet: diff --git a/runtime/ftplugin/arch.vim b/runtime/ftplugin/arch.vim new file mode 100644 index 0000000..1c697b8 --- /dev/null +++ b/runtime/ftplugin/arch.vim @@ -0,0 +1,19 @@ +" Vim filetype plugin file +" Language: GNU Arch inventory 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 diff --git a/runtime/ftplugin/art.vim b/runtime/ftplugin/art.vim new file mode 100644 index 0000000..41b02a9 --- /dev/null +++ b/runtime/ftplugin/art.vim @@ -0,0 +1,18 @@ +" Vim filetype plugin +" Language: ART-IM and ART*Enterprise +" Maintainer: Dorai Sitaram +" URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html +" Last Change: Apr 2, 2003 +" 2023 Aug 28 by Vim Project (undo_ftplugin) + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +run ftplugin/lisp.vim + +setl lw-=if +setl lw+=def-art-fun,deffacts,defglobal,defrule,defschema,for,schema,while + +let b:undo_ftplugin ..= " | setl lw<" diff --git a/runtime/ftplugin/asm.vim b/runtime/ftplugin/asm.vim new file mode 100644 index 0000000..f6a92d5 --- /dev/null +++ b/runtime/ftplugin/asm.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: asm +" Maintainer: Colin Caine +" Last Change: 23 May 2020 +" 2023 Aug 28 by Vim Project (undo_ftplugin) + +if exists("b:did_ftplugin") | finish | endif +let b:did_ftplugin = 1 + +setl comments=:;,s1:/*,mb:*,ex:*/,:// +setl commentstring=;%s + +let b:undo_ftplugin = "setl commentstring< comments<" diff --git a/runtime/ftplugin/aspvbs.vim b/runtime/ftplugin/aspvbs.vim new file mode 100644 index 0000000..70a130d --- /dev/null +++ b/runtime/ftplugin/aspvbs.vim @@ -0,0 +1,62 @@ +" Vim filetype plugin file +" Language: aspvbs +" +" This runtime file is looking for a new maintainer. +" +" Former maintainer: Dan Sharp +" Last Changed: 20 Jan 2009 + +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 = "HTML Files (*.html, *.htm)\t*.htm*\n" . + \ "All Files (*.*)\t*.*\n" +let s:match_words = "" + +runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.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 +if exists("b:match_words") + let s:match_words = b:match_words +endif + +" ASP: Active Server Pages (with Visual Basic Script) +" thanks to Gontran BAERTS +if exists("loaded_matchit") + let s:notend = '\%(\\%(.\{-}then\s\+\w\)\@!:\:^\s*\:\,' . + \ s:notend . '\:\:\:\,' . + \ '^\s*\:\,' . + \ '^\s*\:\,' . + \ '\:\,' . + \ '^\s*\:\,' . + \ '^\s*\:\,' . + \ '\:\,' . + \ s:match_words +endif + +" Change the :browse e filter to primarily show ASP-related files. +if has("gui_win32") + let b:browsefilter="ASP Files (*.asp)\t*.asp\n" . s:browsefilter +endif + +let b:undo_ftplugin = "unlet! b:match_words b:match_ignorecase b:browsefilter | " . s:undo_ftplugin + +" Restore the saved compatibility options. +let &cpo = s:save_cpo +unlet s:save_cpo diff --git a/runtime/ftplugin/automake.vim b/runtime/ftplugin/automake.vim new file mode 100644 index 0000000..9f981a7 --- /dev/null +++ b/runtime/ftplugin/automake.vim @@ -0,0 +1,16 @@ +" Vim filetype plugin file +" Language: Automake +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +if exists("b:did_ftplugin") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +runtime! ftplugin/make.vim ftplugin/make_*.vim ftplugin/make/*.vim + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/ftplugin/awk.vim b/runtime/ftplugin/awk.vim new file mode 100644 index 0000000..40fe304 --- /dev/null +++ b/runtime/ftplugin/awk.vim @@ -0,0 +1,59 @@ +" Vim filetype plugin +" Language: awk, nawk, gawk, mawk +" Maintainer: Doug Kearns +" Previous Maintainer: Antonio Colombo +" Last Change: 2020 Sep 28 + +" This plugin was prepared by Mark Sikora +" This plugin was updated as proposed by Doug Kearns + +" 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 + +setlocal comments=:# +setlocal commentstring=#\ %s +setlocal formatoptions-=t formatoptions+=croql + +setlocal define=function +setlocal suffixesadd+=.awk + +let b:undo_ftplugin = "setl fo< com< cms< def< sua<" . + \ " | unlet! b:browsefilter" + +" TODO: set this in scripts.vim? +if exists("g:awk_is_gawk") + setlocal include=@include + setlocal suffixesadd+=.gawk + if has("unix") || has("win32unix") + setlocal formatprg=gawk\ -f-\ -o/dev/stdout + let b:undo_ftplugin .= " | setl fp<" + endif + + " Disabled by default for security reasons. + if dist#vim#IsSafeExecutable('awk', 'gawk') + let path = system("gawk 'BEGIN { printf ENVIRON[\"AWKPATH\"] }'") + let path = substitute(path, '^\.\=:\|:\.\=$\|:\.\=:', ',,', 'g') " POSIX cwd + let path = substitute(path, ':', ',', 'g') + + let &l:path = path + endif + let b:undo_ftplugin .= " | setl inc< path<" +endif + +if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter") + let b:browsefilter = "Awk Source Files (*.awk,*.gawk)\t*.awk;*.gawk\n" . + \ "All Files (*.*)\t*.*\n" +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: nowrap sw=2 sts=2 ts=8 diff --git a/runtime/ftplugin/bash.vim b/runtime/ftplugin/bash.vim new file mode 100644 index 0000000..7be1eca --- /dev/null +++ b/runtime/ftplugin/bash.vim @@ -0,0 +1,20 @@ +" Vim filetype plugin file +" Language: bash +" Maintainer: The Vim Project +" Last Changed: 2023 Aug 13 +" +" This is not a real filetype plugin. It allows for someone to set 'filetype' +" to "bash" in the modeline, and gets the effect of filetype "sh" with +" b:is_bash set. Idea from Mahmode Al-Qudsi. + +if exists("b:did_ftplugin") + finish +endif + +unlet! b:is_sh +unlet! b:is_kornshell +let b:is_bash = 1 + +runtime! ftplugin/sh.vim ftplugin/sh_*.vim ftplugin/sh/*.vim + +" vim: ts=8 diff --git a/runtime/ftplugin/basic.vim b/runtime/ftplugin/basic.vim new file mode 100644 index 0000000..4399fbf --- /dev/null +++ b/runtime/ftplugin/basic.vim @@ -0,0 +1,57 @@ +" Vim filetype plugin file +" Language: BASIC (QuickBASIC 4.5) +" Maintainer: Doug Kearns +" Last Change: 2022 Jun 22 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +setlocal comments=:REM\ ,:Rem\ ,:rem\ ,:' +setlocal commentstring='\ %s +setlocal formatoptions-=t formatoptions+=croql + +let b:undo_ftplugin = "setl fo< com< cms<" + +" TODO: support exit ... as middle matches? +if exists("loaded_matchit") && !exists("b:match_words") + let s:line_start = '\%(^\s*\)\@<=' + let s:not_end = '\%(end\s\+\)\@,' .. + \ s:not_end_or_exit .. '\:\,' .. + \ s:not_end_or_exit .. '\:\,' .. + \ s:not_end .. '\:\,' .. + \ s:not_end .. '\:\%(select\s\+\)\@:\,' .. + \ '\:\,' .. + \ '\\%(\s\+\%(input\|output\|random\|append\|binary\)\)\@!:\,' .. + \ '\:\,' .. + \ s:line_start .. 'if\%(.*\:\,' .. + \ '\:\' + let b:match_skip = 'synIDattr(synID(line("."),col("."),1),"name") =~? "comment\\|string" || ' .. + \ 'strpart(getline("."), 0, col(".") ) =~? "\\ +" 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 diff --git a/runtime/ftplugin/bitbake.vim b/runtime/ftplugin/bitbake.vim new file mode 100644 index 0000000..99fe334 --- /dev/null +++ b/runtime/ftplugin/bitbake.vim @@ -0,0 +1,16 @@ +" Vim filetype plugin file +" Language: Bitbake +" Maintainer: Gregory Anders +" Repository: https://github.com/openembedded/bitbake +" Latest Revision: 2022-07-23 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +setlocal commentstring=#%s +setlocal comments=:# +setlocal suffixesadd=.bb,.bbclass + +let b:undo_ftplugin = "setl cms< com< sua<" diff --git a/runtime/ftplugin/bst.vim b/runtime/ftplugin/bst.vim new file mode 100644 index 0000000..5e65aac --- /dev/null +++ b/runtime/ftplugin/bst.vim @@ -0,0 +1,15 @@ +" 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<" diff --git a/runtime/ftplugin/btm.vim b/runtime/ftplugin/btm.vim new file mode 100644 index 0000000..1c2c685 --- /dev/null +++ b/runtime/ftplugin/btm.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: BTM +" Maintainer: The Vim Project +" Last Change: 2023 Aug 10 +" Former Maintainer: Bram Moolenaar + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" Behaves just like dosbatch +runtime! ftplugin/dosbatch.vim ftplugin/dosbatch_*.vim ftplugin/dosbatch/*.vim diff --git a/runtime/ftplugin/bzl.vim b/runtime/ftplugin/bzl.vim new file mode 100644 index 0000000..716b389 --- /dev/null +++ b/runtime/ftplugin/bzl.vim @@ -0,0 +1,101 @@ +" Vim filetype plugin file +" Language: Bazel (http://bazel.io) +" Maintainer: David Barnett (https://github.com/google/vim-ft-bzl) +" Last Change: 2021 Jan 19 +" 2023 Aug 28 by Vim Project (undo_ftplugin) + +"" +" @section Introduction, intro +" Core settings for the bzl filetype, used for BUILD and *.bzl files for the +" Bazel build system (http://bazel.io/). + +if exists('b:did_ftplugin') + finish +endif + + +" Vim 7.4.051 has opinionated settings in ftplugin/python.vim that try to force +" PEP8 conventions on every python file, but these conflict with Google's +" indentation guidelines. As a workaround, we explicitly source the system +" ftplugin, but save indentation settings beforehand and restore them after. +let s:save_expandtab = &l:expandtab +let s:save_shiftwidth = &l:shiftwidth +let s:save_softtabstop = &l:softtabstop +let s:save_tabstop = &l:tabstop + +" NOTE: Vim versions before 7.3.511 had a ftplugin/python.vim that was broken +" for compatible mode. +let s:save_cpo = &cpo +set cpo&vim + +" Load base python ftplugin (also defines b:did_ftplugin). +source $VIMRUNTIME/ftplugin/python.vim + +" NOTE: Vim versions before 7.4.104 and later set this in ftplugin/python.vim. +setlocal comments=b:#,fb:- + +" Restore pre-existing indentation settings. +let &l:expandtab = s:save_expandtab +let &l:shiftwidth = s:save_shiftwidth +let &l:softtabstop = s:save_softtabstop +let &l:tabstop = s:save_tabstop + +setlocal formatoptions-=t + +" Initially defined in the python ftplugin sourced above +let b:undo_ftplugin .= " | setlocal fo<" + +" Make gf work with imports in BUILD files. +setlocal includeexpr=substitute(v:fname,'//','','') + +" Enable syntax-based folding, if specified. +if get(g:, 'ft_bzl_fold', 0) + setlocal foldmethod=syntax + setlocal foldtext=BzlFoldText() + let b:undo_ftplugin .= " | setlocal fdm< fdt<" +endif + +if exists('*BzlFoldText') + let &cpo = s:save_cpo + unlet s:save_cpo + finish +endif + +function BzlFoldText() abort + let l:start_num = nextnonblank(v:foldstart) + let l:end_num = prevnonblank(v:foldend) + + if l:end_num <= l:start_num + 1 + " If the fold is empty, don't print anything for the contents. + let l:content = '' + else + " Otherwise look for something matching the content regex. + " And if nothing matches, print an ellipsis. + let l:content = '...' + for l:line in getline(l:start_num + 1, l:end_num - 1) + let l:content_match = matchstr(l:line, '\m\C^\s*name = \zs.*\ze,$') + if !empty(l:content_match) + let l:content = l:content_match + break + endif + endfor + endif + + " Enclose content with start and end + let l:start_text = getline(l:start_num) + let l:end_text = substitute(getline(l:end_num), '^\s*', '', '') + let l:text = l:start_text . ' ' . l:content . ' ' . l:end_text + + " Compute the available width for the displayed text. + let l:width = winwidth(0) - &foldcolumn - (&number ? &numberwidth : 0) + let l:lines_folded = ' ' . string(1 + v:foldend - v:foldstart) . ' lines' + + " Expand tabs, truncate, pad, and concatenate + let l:text = substitute(l:text, '\t', repeat(' ', &tabstop), 'g') + let l:text = strpart(l:text, 0, l:width - len(l:lines_folded)) + let l:padding = repeat(' ', l:width - len(l:lines_folded) - len(l:text)) + return l:text . l:padding . l:lines_folded +endfunction + +let &cpo = s:save_cpo +unlet s:save_cpo diff --git a/runtime/ftplugin/c.vim b/runtime/ftplugin/c.vim new file mode 100644 index 0000000..4ddc4a5 --- /dev/null +++ b/runtime/ftplugin/c.vim @@ -0,0 +1,74 @@ +" Vim filetype plugin file +" Language: C +" Maintainer: The Vim Project +" Last Change: 2023 Aug 10 +" Former Maintainer: Bram Moolenaar + +" 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 + +" Using line continuation here. +let s:cpo_save = &cpo +set cpo-=C + +let b:undo_ftplugin = "setl fo< com< ofu< cms< def< inc< | if has('vms') | setl isk< | endif" + +" 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 + +" These options have the right value as default, but the user may have +" overruled that. +setlocal commentstring& define& include& + +" Set completion with CTRL-X CTRL-O to autoloaded function. +if exists('&ofu') + setlocal ofu=ccomplete#Complete +endif + +" Set 'comments' to format dashed lists in comments. +" Also include ///, used for Doxygen. +setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,:///,:// + +" In VMS C keywords contain '$' characters. +if has("vms") + setlocal iskeyword+=$ +endif + +" When the matchit plugin is loaded, this makes the % command skip parens and +" braces in comments properly. +if !exists("b:match_words") + let b:match_words = '^\s*#\s*if\(\|def\|ndef\)\>:^\s*#\s*elif\>:^\s*#\s*else\>:^\s*#\s*endif\>' + let b:match_skip = 's:comment\|string\|character\|special' + let b:undo_ftplugin ..= " | unlet! b:match_skip b:match_words" +endif + +" Win32 can filter files in the browse dialog +if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter") + if &ft == "cpp" + let b:browsefilter = "C++ Source Files (*.cpp *.c++)\t*.cpp;*.c++\n" . + \ "C Header Files (*.h)\t*.h\n" . + \ "C Source Files (*.c)\t*.c\n" . + \ "All Files (*.*)\t*.*\n" + elseif &ft == "ch" + let b:browsefilter = "Ch Source Files (*.ch *.chf)\t*.ch;*.chf\n" . + \ "C Header Files (*.h)\t*.h\n" . + \ "C Source Files (*.c)\t*.c\n" . + \ "All Files (*.*)\t*.*\n" + else + let b:browsefilter = "C Source Files (*.c)\t*.c\n" . + \ "C Header Files (*.h)\t*.h\n" . + \ "Ch Source Files (*.ch *.chf)\t*.ch;*.chf\n" . + \ "C++ Source Files (*.cpp *.c++)\t*.cpp;*.c++\n" . + \ "All Files (*.*)\t*.*\n" + endif + let b:undo_ftplugin ..= " | unlet! b:browsefilter" +endif + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/ftplugin/calendar.vim b/runtime/ftplugin/calendar.vim new file mode 100644 index 0000000..f454ba1 --- /dev/null +++ b/runtime/ftplugin/calendar.vim @@ -0,0 +1,20 @@ +" 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 diff --git a/runtime/ftplugin/cdrdaoconf.vim b/runtime/ftplugin/cdrdaoconf.vim new file mode 100644 index 0000000..563bb8f --- /dev/null +++ b/runtime/ftplugin/cdrdaoconf.vim @@ -0,0 +1,18 @@ +" 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 diff --git a/runtime/ftplugin/cfg.vim b/runtime/ftplugin/cfg.vim new file mode 100644 index 0000000..b5835ba --- /dev/null +++ b/runtime/ftplugin/cfg.vim @@ -0,0 +1,19 @@ +" 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 diff --git a/runtime/ftplugin/ch.vim b/runtime/ftplugin/ch.vim new file mode 100644 index 0000000..ed09003 --- /dev/null +++ b/runtime/ftplugin/ch.vim @@ -0,0 +1,17 @@ +" 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 diff --git a/runtime/ftplugin/changelog.vim b/runtime/ftplugin/changelog.vim new file mode 100644 index 0000000..ab73949 --- /dev/null +++ b/runtime/ftplugin/changelog.vim @@ -0,0 +1,313 @@ +" Vim filetype plugin file +" Language: generic Changelog file +" Maintainer: Martin Florian +" Previous Maintainer: Nikolai Weibull +" Latest Revision: 2021-10-17 +" Variables: +" g:changelog_timeformat (deprecated: use g:changelog_dateformat instead) - +" description: the timeformat used in ChangeLog entries. +" default: "%Y-%m-%d". +" g:changelog_dateformat - +" description: the format sent to strftime() to generate a date string. +" default: "%Y-%m-%d". +" g:changelog_username - +" description: the username to use in ChangeLog entries +" default: try to deduce it from environment variables and system files. +" Local Mappings: +" o - +" adds a new changelog entry for the current user for the current date. +" Global Mappings: +" o - +" switches to the ChangeLog buffer opened for the current directory, or +" opens it in a new buffer if it exists in the current directory. Then +" it does the same as the local o described above. +" Notes: +" run 'runtime ftplugin/changelog.vim' to enable the global mapping for +" changelog files. +" TODO: +" should we perhaps open the ChangeLog file even if it doesn't exist already? +" Problem is that you might end up with ChangeLog files all over the place. + +" If 'filetype' isn't "changelog", we must have been to add ChangeLog opener +if &filetype == 'changelog' + if exists('b:did_ftplugin') + finish + endif + let b:did_ftplugin = 1 + + let s:cpo_save = &cpo + set cpo&vim + + " Set up the format used for dates. + if !exists('g:changelog_dateformat') + if exists('g:changelog_timeformat') + let g:changelog_dateformat = g:changelog_timeformat + else + let g:changelog_dateformat = "%Y-%m-%d" + endif + endif + + function! s:username() + if exists('g:changelog_username') + return g:changelog_username + elseif $EMAIL != "" + return $EMAIL + elseif $EMAIL_ADDRESS != "" + return $EMAIL_ADDRESS + endif + let s:default_login = 'unknown' + + " Disabled by default for security reasons. + if dist#vim#IsSafeExecutable('changelog', 'whoami') + let login = s:login() + else + let login = s:default_login + endif + return printf('%s <%s@%s>', s:name(login), login, s:hostname()) + endfunction + + function! s:login() + return s:trimmed_system_with_default('whoami', s:default_login) + endfunction + + function! s:trimmed_system_with_default(command, default) + return s:first_line(s:system_with_default(a:command, a:default)) + endfunction + + function! s:system_with_default(command, default) + let output = system(a:command) + if v:shell_error + return a:default + endif + return output + endfunction + + function! s:first_line(string) + return substitute(a:string, '\n.*$', "", "") + endfunction + + function! s:name(login) + for name in [s:gecos_name(a:login), $NAME, s:capitalize(a:login)] + if name != "" + return name + endif + endfor + endfunction + + function! s:gecos_name(login) + for line in s:try_reading_file('/etc/passwd') + if line =~ '^' . a:login . ':' + return substitute(s:passwd_field(line, 5), '&', s:capitalize(a:login), "") + endif + endfor + return "" + endfunction + + function! s:try_reading_file(path) + try + return readfile(a:path) + catch + return [] + endtry + endfunction + + function! s:passwd_field(line, field) + let fields = split(a:line, ':', 1) + if len(fields) < a:field + return "" + endif + return fields[a:field - 1] + endfunction + + function! s:capitalize(word) + return toupper(a:word[0]) . strpart(a:word, 1) + endfunction + + function! s:hostname() + return s:trimmed_system_with_default('hostname', 'localhost') + endfunction + + " Format used for new date entries. + if !exists('g:changelog_new_date_format') + let g:changelog_new_date_format = "%d %u\n\n\t* %p%c\n\n" + endif + + " Format used for new entries to current date entry. + if !exists('g:changelog_new_entry_format') + let g:changelog_new_entry_format = "\t* %p%c" + endif + + " Regular expression used to find a given date entry. + if !exists('g:changelog_date_entry_search') + let g:changelog_date_entry_search = '^\s*%d\_s*%u' + endif + + " Regular expression used to find the end of a date entry + if !exists('g:changelog_date_end_entry_search') + let g:changelog_date_end_entry_search = '^\s*$' + endif + + + " Substitutes specific items in new date-entry formats and search strings. + " Can be done with substitute of course, but unclean, and need \@! then. + function! s:substitute_items(str, date, user, prefix) + let str = a:str + let middles = {'%': '%', 'd': a:date, 'u': a:user, 'p': a:prefix, 'c': '{cursor}'} + let i = stridx(str, '%') + while i != -1 + let inc = 0 + if has_key(middles, str[i + 1]) + let mid = middles[str[i + 1]] + let str = strpart(str, 0, i) . mid . strpart(str, i + 2) + let inc = strlen(mid) - 1 + endif + let i = stridx(str, '%', i + 1 + inc) + endwhile + return str + endfunction + + " Position the cursor once we've done all the funky substitution. + function! s:position_cursor() + if search('{cursor}') > 0 + let lnum = line('.') + let line = getline(lnum) + let cursor = stridx(line, '{cursor}') + call setline(lnum, substitute(line, '{cursor}', '', '')) + endif + startinsert + endfunction + + " Internal function to create a new entry in the ChangeLog. + function! s:new_changelog_entry(prefix) + " Deal with 'paste' option. + let save_paste = &paste + let &paste = 1 + call cursor(1, 1) + " Look for an entry for today by our user. + let date = strftime(g:changelog_dateformat) + let search = s:substitute_items(g:changelog_date_entry_search, date, + \ s:username(), a:prefix) + if search(search) > 0 + " Ok, now we look for the end of the date entry, and add an entry. + call cursor(nextnonblank(line('.') + 1), 1) + if search(g:changelog_date_end_entry_search, 'W') > 0 + let p = (line('.') == line('$')) ? line('.') : line('.') - 1 + else + let p = line('.') + endif + let ls = split(s:substitute_items(g:changelog_new_entry_format, '', '', a:prefix), + \ '\n') + call append(p, ls) + call cursor(p + 1, 1) + else + " Flag for removing empty lines at end of new ChangeLogs. + let remove_empty = line('$') == 1 + + " No entry today, so create a date-user header and insert an entry. + let todays_entry = s:substitute_items(g:changelog_new_date_format, + \ date, s:username(), a:prefix) + " Make sure we have a cursor positioning. + if stridx(todays_entry, '{cursor}') == -1 + let todays_entry = todays_entry . '{cursor}' + endif + + " Now do the work. + call append(0, split(todays_entry, '\n')) + + " Remove empty lines at end of file. + if remove_empty + $-/^\s*$/-1,$delete + endif + + " Reposition cursor once we're done. + call cursor(1, 1) + endif + + call s:position_cursor() + + " And reset 'paste' option + let &paste = save_paste + endfunction + + let b:undo_ftplugin = "setl com< fo< et< ai<" + + setlocal comments= + setlocal formatoptions+=t + setlocal noexpandtab + setlocal autoindent + + if &textwidth == 0 + setlocal textwidth=78 + let b:undo_ftplugin .= " tw<" + endif + + if !exists("no_plugin_maps") && !exists("no_changelog_maps") && exists(":NewChangelogEntry") != 2 + nnoremap o :call new_changelog_entry('') + xnoremap o :call new_changelog_entry('') + command! -buffer -nargs=0 NewChangelogEntry call s:new_changelog_entry('') + let b:undo_ftplugin .= " | sil! exe 'nunmap o'" . + \ " | sil! exe 'vunmap o'" . + \ " | sil! delc NewChangelogEntry" + endif + + let &cpo = s:cpo_save + unlet s:cpo_save +else + let s:cpo_save = &cpo + set cpo&vim + + if !exists("no_plugin_maps") && !exists("no_changelog_maps") + " Add the Changelog opening mapping + nnoremap o :call open_changelog() + let b:undo_ftplugin .= " | silent! exe 'nunmap o" + endif + + function! s:open_changelog() + let path = expand('%:p:h') + if exists('b:changelog_path') + let changelog = b:changelog_path + else + if exists('b:changelog_name') + let name = b:changelog_name + else + let name = 'ChangeLog' + endif + while isdirectory(path) + let changelog = path . '/' . name + if filereadable(changelog) + break + endif + let parent = substitute(path, '/\+[^/]*$', "", "") + if path == parent + break + endif + let path = parent + endwhile + endif + if !filereadable(changelog) + return + endif + + if exists('b:changelog_entry_prefix') + let prefix = call(b:changelog_entry_prefix, []) + else + let prefix = substitute(strpart(expand('%:p'), strlen(path)), '^/\+', "", "") + endif + + let buf = bufnr(changelog) + if buf != -1 + if bufwinnr(buf) != -1 + execute bufwinnr(buf) . 'wincmd w' + else + execute 'sbuffer' buf + endif + else + execute 'split' fnameescape(changelog) + endif + + call s:new_changelog_entry(prefix) + endfunction + + let &cpo = s:cpo_save + unlet s:cpo_save +endif diff --git a/runtime/ftplugin/chatito.vim b/runtime/ftplugin/chatito.vim new file mode 100644 index 0000000..af212e9 --- /dev/null +++ b/runtime/ftplugin/chatito.vim @@ -0,0 +1,15 @@ +" Vim filetype plugin +" Language: Chatito +" Maintainer: ObserverOfTime +" Last Change: 2022 Sep 19 + +if exists('b:did_ftplugin') + finish +endif +let b:did_ftplugin = 1 + +setlocal comments=:#,:// commentstring=#\ %s +" indent of 4 spaces is mandated by the spec +setlocal expandtab softtabstop=4 shiftwidth=4 + +let b:undo_ftplugin = 'setl com< cms< et< sts< sw<' diff --git a/runtime/ftplugin/chicken.vim b/runtime/ftplugin/chicken.vim new file mode 100644 index 0000000..84d45ba --- /dev/null +++ b/runtime/ftplugin/chicken.vim @@ -0,0 +1,55 @@ +" CHICKEN-specific Vim customizations +" Last Change: 2018-03-05 +" Author: Evan Hanson +" Maintainer: Evan Hanson +" Repository: https://git.foldling.org/vim-scheme.git +" URL: https://foldling.org/vim/ftplugin/chicken.vim +" Notes: These are supplemental settings, to be loaded after the core +" Scheme ftplugin file (ftplugin/scheme.vim). Enable it by setting +" b:is_chicken=1 and filetype=scheme. + +if !exists('b:did_scheme_ftplugin') + finish +endif + +setl keywordprg=chicken-doc + +setl lispwords+=and-let* +setl lispwords+=compiler-typecase +setl lispwords+=condition-case +setl lispwords+=define-compiler-syntax +setl lispwords+=define-constant +setl lispwords+=define-external +setl lispwords+=define-for-syntax +setl lispwords+=define-foreign-type +setl lispwords+=define-inline +setl lispwords+=define-location +setl lispwords+=define-record +setl lispwords+=define-record-printer +setl lispwords+=define-specialization +setl lispwords+=fluid-let +setl lispwords+=foreign-lambda* +setl lispwords+=foreign-primitive +setl lispwords+=foreign-safe-lambda* +setl lispwords+=functor +setl lispwords+=handle-exceptions +setl lispwords+=let-compiler-syntax +setl lispwords+=let-location +setl lispwords+=let-optionals +setl lispwords+=let-optionals* +setl lispwords+=letrec-values +setl lispwords+=match +setl lispwords+=match-let +setl lispwords+=match-let* +setl lispwords+=match-letrec +setl lispwords+=module +setl lispwords+=receive +setl lispwords+=set!-values +setl lispwords+=test-group + +let b:undo_ftplugin = b:undo_ftplugin . ' keywordprg<' + +if exists('g:loaded_matchit') && !exists('b:match_words') + let b:match_words = '#>:<#' + let b:undo_ftplugin = b:undo_ftplugin . ' | unlet! b:match_words' +endif diff --git a/runtime/ftplugin/clojure.vim b/runtime/ftplugin/clojure.vim new file mode 100644 index 0000000..c922d75 --- /dev/null +++ b/runtime/ftplugin/clojure.vim @@ -0,0 +1,80 @@ +" Vim filetype plugin file +" Language: Clojure +" Maintainer: Alex Vear +" Former Maintainers: Sung Pae +" Meikel Brandmeyer +" URL: https://github.com/clojure-vim/clojure.vim +" License: Vim (see :h license) +" Last Change: 2022-03-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 = 'setlocal iskeyword< define< formatoptions< comments< commentstring< lispwords<' + +setlocal iskeyword+=?,-,*,!,+,/,=,<,>,.,:,$,%,&,\| + +" There will be false positives, but this is better than missing the whole set +" of user-defined def* definitions. +setlocal define=\\v[(/]def(ault)@!\\S* + +" Remove 't' from 'formatoptions' to avoid auto-wrapping code. +setlocal formatoptions-=t + +" Lisp comments are routinely nested (e.g. ;;; SECTION HEADING) +setlocal comments=n:; +setlocal commentstring=;\ %s + +" Specially indented symbols from clojure.core and clojure.test. +" +" Clojure symbols are indented in the defn style when they: +" +" * Define vars and anonymous functions +" * Create new lexical scopes or scopes with altered environments +" * Create conditional branches from a predicate function or value +" +" The arglists for these functions are generally in the form of [x & body]; +" Functions that accept a flat list of forms do not treat the first argument +" specially and hence are not indented specially. +" +" -*- LISPWORDS -*- +" Generated from https://github.com/clojure-vim/clojure.vim/blob/fd280e33e84c88e97860930557dba3ff80b1a82d/clj/src/vim_clojure_static/generate.clj +setlocal lispwords=as->,binding,bound-fn,case,catch,cond->,cond->>,condp,def,definline,definterface,defmacro,defmethod,defmulti,defn,defn-,defonce,defprotocol,defrecord,defstruct,deftest,deftest-,deftype,doseq,dotimes,doto,extend,extend-protocol,extend-type,fn,for,if,if-let,if-not,if-some,let,letfn,locking,loop,ns,proxy,reify,set-test,testing,when,when-first,when-let,when-not,when-some,while,with-bindings,with-in-str,with-local-vars,with-open,with-precision,with-redefs,with-redefs-fn,with-test + +" Provide insert mode completions for special forms and clojure.core. As +" 'omnifunc' is set by popular Clojure REPL client plugins, we also set +" 'completefunc' so that the user has some form of completion available when +" 'omnifunc' is set and no REPL connection exists. +for s:setting in ['omnifunc', 'completefunc'] + if exists('&' . s:setting) && empty(eval('&' . s:setting)) + execute 'setlocal ' . s:setting . '=clojurecomplete#Complete' + let b:undo_ftplugin .= ' | setlocal ' . s:setting . '<' + endif +endfor + +" Skip brackets in ignored syntax regions when using the % command +if exists('loaded_matchit') + let b:match_words = &matchpairs + let b:match_skip = 's:comment\|string\|regex\|character' + let b:undo_ftplugin .= ' | unlet! b:match_words b:match_skip' +endif + +" Filter files in the browse dialog +if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter") + let b:browsefilter = "All Files\t*\n" . + \ "Clojure Files\t*.clj;*.cljc;*.cljs;*.cljx\n" . + \ "EDN Files\t*.edn\n" . + \ "Java Files\t*.java\n" + let b:undo_ftplugin .= ' | unlet! b:browsefilter' +endif + +let &cpo = s:cpo_save + +unlet! s:cpo_save s:setting s:dir + +" vim:sts=8:sw=8:ts=8:noet diff --git a/runtime/ftplugin/cmake.vim b/runtime/ftplugin/cmake.vim new file mode 100644 index 0000000..94c0076 --- /dev/null +++ b/runtime/ftplugin/cmake.vim @@ -0,0 +1,34 @@ +" Vim filetype plugin +" Language: CMake +" Maintainer: Keith Smiley +" Last Change: 2018 Aug 30 + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" save 'cpo' for restoration at the end of this file +let s:cpo_save = &cpo +set cpo&vim + +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl commentstring<" + +if exists('loaded_matchit') + let b:match_words = '\:\\|\:\' + \ . ',\\|\:\:\\|\' + \ . ',\:\' + \ . ',\:\' + let b:match_ignorecase = 1 + + let b:undo_ftplugin .= "| unlet b:match_words" +endif + +setlocal commentstring=#\ %s + +" restore 'cpo' and clean up buffer variable +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/ftplugin/cobol.vim b/runtime/ftplugin/cobol.vim new file mode 100644 index 0000000..ec1e954 --- /dev/null +++ b/runtime/ftplugin/cobol.vim @@ -0,0 +1,269 @@ +" 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 diff --git a/runtime/ftplugin/conf.vim b/runtime/ftplugin/conf.vim new file mode 100644 index 0000000..ff2add1 --- /dev/null +++ b/runtime/ftplugin/conf.vim @@ -0,0 +1,19 @@ +" Vim filetype plugin file +" Language: generic 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 diff --git a/runtime/ftplugin/config.vim b/runtime/ftplugin/config.vim new file mode 100644 index 0000000..73136cb --- /dev/null +++ b/runtime/ftplugin/config.vim @@ -0,0 +1,44 @@ +" Vim filetype plugin file +" Language: config +" +" This runtime file is looking for a new maintainer. +" +" Former maintainer: Dan Sharp +" Last Changed: 20 Jan 2009 + +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 diff --git a/runtime/ftplugin/confini.vim b/runtime/ftplugin/confini.vim new file mode 100644 index 0000000..310e046 --- /dev/null +++ b/runtime/ftplugin/confini.vim @@ -0,0 +1,10 @@ +" Vim filetype plugin file +" Language: confini + +" Quit if a ftplugin file was already loaded +if exists("b:did_ftplugin") + finish +endif + +" Use the cfg plugin, it's similar enough. +runtime! ftplugin/cfg.vim diff --git a/runtime/ftplugin/context.vim b/runtime/ftplugin/context.vim new file mode 100644 index 0000000..0070f85 --- /dev/null +++ b/runtime/ftplugin/context.vim @@ -0,0 +1,115 @@ +vim9script + +# Vim filetype plugin file +# Language: ConTeXt typesetting engine +# Maintainer: Nicola Vitacolonna +# Former Maintainers: Nikolai Weibull +# Latest Revision: 2023 Dec 26 + +if exists("b:did_ftplugin") + finish +endif + +import autoload '../autoload/context.vim' + +b:did_ftplugin = 1 + +if !exists('current_compiler') + compiler context +endif + +b:undo_ftplugin = "setl com< cms< def< inc< sua< fo< ofu<" + +setlocal comments=b:%D,b:%C,b:%M,:% +setlocal commentstring=%\ %s +setlocal formatoptions+=tjcroql2 +setlocal omnifunc=context.Complete +setlocal suffixesadd=.tex,.mkxl,.mkvi,.mkiv,.mkii + +&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\)' + +&l:include = '^\s*\\\%(input\|component\|product\|project\|environment\)' + +if exists("g:loaded_matchit") && !exists("b:match_words") + b:match_ignorecase = 0 + b:match_skip = 'r:\\\@', + 'endsection': '\\\%(stop\)\=\%(\%(sub\)*section\|\%(sub\)*subject\|chapter\|part\|component\|product\|title\)\>', + 'beginblock': '\\\%(start\|setup\|define\)', + 'endblock': '\\\%(stop\|setup\|define\)', + } + + def UndoMap(mapping: string, modes: string) + for mode in modes + b:undo_ftplugin ..= printf(" | silent! execute '%sunmap %s'", mode, mapping) + endfor + enddef + + def MoveAround(count: number, what: string, flags: string) + search(context_regex[what], flags .. 's') # 's' sets previous context mark + var i = 2 + while i <= count + search(context_regex[what], flags) + i += 1 + endwhile + enddef + + # Macros to move around + nnoremap [[ MoveAround(v:count1, "beginsection", "bW") + vnoremap [[ MoveAround(v:count1, "beginsection", "bW") + nnoremap ]] MoveAround(v:count1, "beginsection", "W") + vnoremap ]] MoveAround(v:count1, "beginsection", "W") + nnoremap [] MoveAround(v:count1, "endsection", "bW") + vnoremap [] MoveAround(v:count1, "endsection", "bW") + nnoremap ][ MoveAround(v:count1, "endsection", "W") + vnoremap ][ MoveAround(v:count1, "endsection", "W") + nnoremap [{ MoveAround(v:count1, "beginblock", "bW") + vnoremap [{ MoveAround(v:count1, "beginblock", "bW") + nnoremap ]} MoveAround(v:count1, "endblock", "W") + vnoremap ]} MoveAround(v:count1, "endblock", "W") + + for mapping in ['[[', ']]', '[]', '][', '[{', ']}'] + UndoMap(mapping, 'nv') + endfor + + # Other useful mappings + const tp_regex = '?^$\|^\s*\\\(item\|start\|stop\|blank\|\%(sub\)*section\|chapter\|\%(sub\)*subject\|title\|part\)' + + def TeXPar() + cursor(search(tp_regex, 'bcW') + 1, 1) + normal! V + cursor(search(tp_regex, 'W') - 1, 1) + enddef + + # Reflow paragraphs with mappings like gqtp ("gq TeX paragraph") + onoremap tp TeXPar() + # Select TeX paragraph + vnoremap tp TeXPar() + + # $...$ text object + onoremap i$ normal! T$vt$ + onoremap a$ normal! F$vf$ + vnoremap i$ T$ot$ + vnoremap a$ F$of$ + + for mapping in ['tp', 'i$', 'a$'] + UndoMap(mapping, 'ov') + endfor +endif + +# Commands for asynchronous typesetting +command! -buffer -nargs=? -complete=buffer ConTeXt context.Typeset() +command! -buffer -nargs=0 ConTeXtLog context.Log('%') +command! -nargs=0 ConTeXtJobStatus context.JobStatus() +command! -nargs=0 ConTeXtStopJobs context.StopJobs() + +# vim: sw=2 fdm=marker diff --git a/runtime/ftplugin/corn.vim b/runtime/ftplugin/corn.vim new file mode 100644 index 0000000..2259442 --- /dev/null +++ b/runtime/ftplugin/corn.vim @@ -0,0 +1,18 @@ +" Vim filetype plugin +" Language: Corn +" Original Author: Jake Stanger (mail@jstanger.dev) +" License: MIT +" Last Change: 2023 May 28 + +if exists('b:did_ftplugin') + finish +endif +let b:did_ftplugin = 1 + +setlocal formatoptions-=t + +" Set comment (formatting) related options. +setlocal commentstring=//\ %s comments=:// + +" Let Vim know how to disable the plug-in. +let b:undo_ftplugin = 'setlocal commentstring< comments< formatoptions<' diff --git a/runtime/ftplugin/cpp.vim b/runtime/ftplugin/cpp.vim new file mode 100644 index 0000000..fc92935 --- /dev/null +++ b/runtime/ftplugin/cpp.vim @@ -0,0 +1,18 @@ +" Vim filetype plugin file +" Language: C++ +" Maintainer: The Vim Project +" Last Change: 2023 Aug 10 +" Former Maintainer: Bram Moolenaar + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" Behaves mostly just like C +runtime! ftplugin/c.vim ftplugin/c_*.vim ftplugin/c/*.vim + +" C++ uses templates with +" Disabled, because it gives an error for typing an unmatched ">". +" set matchpairs+=<:> +" let b:undo_ftplugin ..= ' | setl matchpairs<' diff --git a/runtime/ftplugin/crm.vim b/runtime/ftplugin/crm.vim new file mode 100644 index 0000000..06baee8 --- /dev/null +++ b/runtime/ftplugin/crm.vim @@ -0,0 +1,19 @@ +" 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 diff --git a/runtime/ftplugin/crontab.vim b/runtime/ftplugin/crontab.vim new file mode 100644 index 0000000..8dac007 --- /dev/null +++ b/runtime/ftplugin/crontab.vim @@ -0,0 +1,16 @@ +" Vim filetype plugin +" Language: crontab +" Maintainer: Keith Smiley +" Last Change: 2022 Sep 11 + +" 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 b:undo_ftplugin = "setl commentstring<" + +setlocal commentstring=#\ %s diff --git a/runtime/ftplugin/cs.vim b/runtime/ftplugin/cs.vim new file mode 100644 index 0000000..0734d11 --- /dev/null +++ b/runtime/ftplugin/cs.vim @@ -0,0 +1,44 @@ +" Vim filetype plugin file +" Language: C# +" Maintainer: Nick Jensen +" Former Maintainer: Johannes Zellner +" Last Change: 2022-11-16 +" License: Vim (see :h license) +" Repository: https://github.com/nickspoons/vim-cs + +if exists('b:did_ftplugin') + finish +endif +let b:did_ftplugin = 1 + +let s:save_cpo = &cpoptions +set cpoptions&vim + +" 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. +setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,:///,:// + +let b:undo_ftplugin = 'setl com< fo<' + +if exists('loaded_matchit') && !exists('b:match_words') + " #if/#endif support included by default + let b:match_ignorecase = 0 + let b:match_words = '\%(^\s*\)\@<=#\s*region\>:\%(^\s*\)\@<=#\s*endregion\>,' + let b:undo_ftplugin .= ' | unlet! b:match_ignorecase b:match_words' +endif + +if (has('gui_win32') || has('gui_gtk')) && !exists('b:browsefilter') + let b:browsefilter = "C# Source Files (*.cs *.csx)\t*.cs;*.csx\n" . + \ "C# Project Files (*.csproj)\t*.csproj\n" . + \ "Visual Studio Solution Files (*.sln)\t*.sln\n" . + \ "All Files (*.*)\t*.*\n" + let b:undo_ftplugin .= ' | unlet! b:browsefilter' +endif + +let &cpoptions = s:save_cpo +unlet s:save_cpo + +" vim:et:sw=2:sts=2 diff --git a/runtime/ftplugin/csc.vim b/runtime/ftplugin/csc.vim new file mode 100644 index 0000000..7b4126a --- /dev/null +++ b/runtime/ftplugin/csc.vim @@ -0,0 +1,29 @@ +" Vim filetype plugin file +" Language: csc +" +" This runtime file is looking for a new maintainer. +" +" Former maintainer: Dan Sharp +" Last Changed: 20 Jan 2009 + +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 diff --git a/runtime/ftplugin/csh.vim b/runtime/ftplugin/csh.vim new file mode 100644 index 0000000..2feec57 --- /dev/null +++ b/runtime/ftplugin/csh.vim @@ -0,0 +1,54 @@ +" Vim filetype plugin file +" Language: csh +" Maintainer: Doug Kearns +" Previous Maintainer: Dan Sharp +" Contributor: Johannes Zellner +" Last Change: 2023 Oct 09 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:save_cpo = &cpo +set cpo-=C + +setlocal comments=:# +setlocal commentstring=#%s +setlocal formatoptions-=t +setlocal formatoptions+=crql + +let b:undo_ftplugin = "setlocal com< cms< fo<" + +" Csh: thanks to Johannes Zellner +" - Both foreach and end must appear alone on separate lines. +" - The words else and endif must appear at the beginning of input lines; +" the if must appear alone on its input line or after an else. +" - Each case label and the default label must appear at the start of a +" line. +" - while and end must appear alone on their input lines. +if exists("loaded_matchit") && !exists("b:match_words") + let s:line_start = '\%(^\s*\)\@<=' + let b:match_words = + \ s:line_start .. 'if\s*(.*)\s*then\>:' .. + \ s:line_start .. 'else\s\+if\s*(.*)\s*then\>:' .. s:line_start .. 'else\>:' .. + \ s:line_start .. 'endif\>,' .. + \ s:line_start .. '\%(\:\:' .. + \ s:line_start .. 'end\>,' .. + \ s:line_start .. 'switch\s*(:' .. + \ s:line_start .. 'case\s\+:' .. s:line_start .. 'default\>:\:' .. + \ s:line_start .. 'endsw\>' + unlet s:line_start + let b:undo_ftplugin ..= " | unlet! b:match_words" +endif + +if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter") + let b:browsefilter = "csh Scripts (*.csh)\t*.csh\n" .. + \ "All Files (*.*)\t*.*\n" + let b:csh_set_browsefilter = 1 + let b:undo_ftplugin ..= " | unlet! b:browsefilter b:csh_set_browsefilter" +endif + +let &cpo = s:save_cpo +unlet s:save_cpo diff --git a/runtime/ftplugin/css.vim b/runtime/ftplugin/css.vim new file mode 100644 index 0000000..ece2def --- /dev/null +++ b/runtime/ftplugin/css.vim @@ -0,0 +1,25 @@ +" Vim filetype plugin file +" Language: CSS +" Maintainer: Doug Kearns +" Previous Maintainer: Nikolai Weibull +" Last Change: 2020 Dec 21 + +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< isk<" + +setlocal comments=s1:/*,mb:*,ex:*/ commentstring& +setlocal formatoptions-=t formatoptions+=croql +setlocal omnifunc=csscomplete#CompleteCSS +setlocal iskeyword+=- + +let &l:include = '^\s*@import\s\+\%(url(\)\=' + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/ftplugin/cucumber.vim b/runtime/ftplugin/cucumber.vim new file mode 100644 index 0000000..f4848d1 --- /dev/null +++ b/runtime/ftplugin/cucumber.vim @@ -0,0 +1,150 @@ +" Vim filetype plugin +" Language: Cucumber +" Maintainer: Tim Pope +" Last Change: 2016 Aug 29 + +" 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 + +setlocal formatoptions-=t formatoptions+=croql +setlocal comments=:# commentstring=#\ %s +setlocal omnifunc=CucumberComplete + +let b:undo_ftplugin = "setl fo< com< cms< ofu<" + +let b:cucumber_root = expand('%:p:h:s?.*[\/]\%(features\|stories\)\zs[\/].*??') +if !exists("b:cucumber_steps_glob") + let b:cucumber_steps_glob = b:cucumber_root.'/**/*.rb' +endif + +if !exists("g:no_plugin_maps") && !exists("g:no_cucumber_maps") + cnoremap foldopen if &foldopen =~# 'tag'exe 'norm! zv'endif + nnoremap