From 8aae9e256f2e00bdbca1f5892a284d7e42912c27 Mon Sep 17 00:00:00 2001 From: VectorKappa Date: Sat, 24 Apr 2021 23:54:58 +0200 Subject: [PATCH] Change pathogen to vim-plug --- vim/.vim_runtime/autoload/pathogen.vim | 347 - vim/.vim_runtime/my_plugins/.gitkeep | 0 .../sources_forked/peaksea/colors/peaksea.vim | 606 -- .../set_tabline/plugin/set_tabline.vim | 30 - .../sources_forked/vim-irblack-forked/README | 11 - .../vim-irblack-forked/colors/ir_black.vim | 220 - .../sources_forked/vim-peepopen/README | 0 .../sources_forked/vim-peepopen/README.md | 36 - .../vim-peepopen/plugin/peepopen.vim | 57 - .../sources_non_forked/ack.vim/.gitignore | 1 - .../sources_non_forked/ack.vim/LICENSE | 89 - .../sources_non_forked/ack.vim/README.md | 138 - .../ack.vim/autoload/ack.vim | 246 - .../sources_non_forked/ack.vim/doc/ack.txt | 315 - .../ack.vim/doc/ack_quick_help.txt | 15 - .../ack.vim/ftplugin/qf.vim | 9 - .../sources_non_forked/ack.vim/plugin/ack.vim | 83 - .../sources_non_forked/ale/LICENSE | 22 - .../sources_non_forked/ale/autoload/ale.vim | 268 - .../sources_non_forked/ale/doc/ale-ada.txt | 36 - .../ale/doc/ale-ansible.txt | 16 - .../ale/doc/ale-asciidoc.txt | 18 - .../sources_non_forked/ale/doc/ale-asm.txt | 25 - .../sources_non_forked/ale/doc/ale-awk.txt | 25 - .../sources_non_forked/ale/doc/ale-bats.txt | 13 - .../sources_non_forked/ale/doc/ale-bib.txt | 19 - .../sources_non_forked/ale/doc/ale-c.txt | 333 - .../sources_non_forked/ale/doc/ale-chef.txt | 46 - .../ale/doc/ale-clojure.txt | 28 - .../ale/doc/ale-cloudformation.txt | 46 - .../sources_non_forked/ale/doc/ale-cmake.txt | 43 - .../sources_non_forked/ale/doc/ale-cpp.txt | 331 - .../sources_non_forked/ale/doc/ale-cs.txt | 197 - .../sources_non_forked/ale/doc/ale-css.txt | 47 - .../sources_non_forked/ale/doc/ale-cuda.txt | 32 - .../sources_non_forked/ale/doc/ale-d.txt | 32 - .../sources_non_forked/ale/doc/ale-dart.txt | 71 - .../ale/doc/ale-development.txt | 357 - .../ale/doc/ale-dockerfile.txt | 60 - .../sources_non_forked/ale/doc/ale-elixir.txt | 89 - .../sources_non_forked/ale/doc/ale-elm.txt | 100 - .../sources_non_forked/ale/doc/ale-erlang.txt | 58 - .../sources_non_forked/ale/doc/ale-eruby.txt | 37 - .../sources_non_forked/ale/doc/ale-fish.txt | 14 - .../ale/doc/ale-fortran.txt | 55 - .../ale/doc/ale-fountain.txt | 6 - .../sources_non_forked/ale/doc/ale-fuse.txt | 25 - .../ale/doc/ale-gitcommit.txt | 44 - .../sources_non_forked/ale/doc/ale-glsl.txt | 56 - .../sources_non_forked/ale/doc/ale-go.txt | 263 - .../ale/doc/ale-graphql.txt | 22 - .../sources_non_forked/ale/doc/ale-hack.txt | 51 - .../ale/doc/ale-handlebars.txt | 32 - .../ale/doc/ale-haskell.txt | 176 - .../sources_non_forked/ale/doc/ale-hcl.txt | 11 - .../sources_non_forked/ale/doc/ale-html.txt | 140 - .../sources_non_forked/ale/doc/ale-idris.txt | 23 - .../sources_non_forked/ale/doc/ale-ink.txt | 40 - .../sources_non_forked/ale/doc/ale-ispc.txt | 24 - .../sources_non_forked/ale/doc/ale-java.txt | 268 - .../ale/doc/ale-javascript.txt | 336 - .../sources_non_forked/ale/doc/ale-json.txt | 105 - .../sources_non_forked/ale/doc/ale-julia.txt | 20 - .../sources_non_forked/ale/doc/ale-kotlin.txt | 113 - .../sources_non_forked/ale/doc/ale-latex.txt | 18 - .../sources_non_forked/ale/doc/ale-less.txt | 66 - .../sources_non_forked/ale/doc/ale-llvm.txt | 19 - .../sources_non_forked/ale/doc/ale-lua.txt | 34 - .../ale/doc/ale-markdown.txt | 71 - .../ale/doc/ale-mercury.txt | 26 - .../sources_non_forked/ale/doc/ale-nasm.txt | 26 - .../sources_non_forked/ale/doc/ale-nim.txt | 45 - .../sources_non_forked/ale/doc/ale-nix.txt | 24 - .../sources_non_forked/ale/doc/ale-nroff.txt | 12 - .../sources_non_forked/ale/doc/ale-objc.txt | 73 - .../sources_non_forked/ale/doc/ale-objcpp.txt | 42 - .../sources_non_forked/ale/doc/ale-ocaml.txt | 82 - .../sources_non_forked/ale/doc/ale-pawn.txt | 12 - .../sources_non_forked/ale/doc/ale-perl.txt | 91 - .../sources_non_forked/ale/doc/ale-perl6.txt | 43 - .../sources_non_forked/ale/doc/ale-php.txt | 234 - .../sources_non_forked/ale/doc/ale-po.txt | 12 - .../sources_non_forked/ale/doc/ale-pod.txt | 12 - .../sources_non_forked/ale/doc/ale-pony.txt | 25 - .../ale/doc/ale-powershell.txt | 77 - .../sources_non_forked/ale/doc/ale-prolog.txt | 56 - .../sources_non_forked/ale/doc/ale-proto.txt | 33 - .../sources_non_forked/ale/doc/ale-pug.txt | 44 - .../sources_non_forked/ale/doc/ale-puppet.txt | 57 - .../ale/doc/ale-purescript.txt | 42 - .../sources_non_forked/ale/doc/ale-pyrex.txt | 25 - .../sources_non_forked/ale/doc/ale-python.txt | 774 -- .../sources_non_forked/ale/doc/ale-qml.txt | 18 - .../sources_non_forked/ale/doc/ale-r.txt | 45 - .../ale/doc/ale-reasonml.txt | 76 - .../ale/doc/ale-restructuredtext.txt | 26 - .../sources_non_forked/ale/doc/ale-ruby.txt | 195 - .../sources_non_forked/ale/doc/ale-rust.txt | 272 - .../sources_non_forked/ale/doc/ale-sass.txt | 31 - .../sources_non_forked/ale/doc/ale-scala.txt | 124 - .../sources_non_forked/ale/doc/ale-scss.txt | 64 - .../sources_non_forked/ale/doc/ale-sh.txt | 115 - .../sources_non_forked/ale/doc/ale-sml.txt | 36 - .../ale/doc/ale-solidity.txt | 36 - .../sources_non_forked/ale/doc/ale-spec.txt | 43 - .../sources_non_forked/ale/doc/ale-sql.txt | 61 - .../sources_non_forked/ale/doc/ale-stylus.txt | 33 - .../ale/doc/ale-sugarss.txt | 31 - .../doc/ale-supported-languages-and-tools.txt | 512 -- .../sources_non_forked/ale/doc/ale-swift.txt | 21 - .../sources_non_forked/ale/doc/ale-tcl.txt | 25 - .../ale/doc/ale-terraform.txt | 78 - .../sources_non_forked/ale/doc/ale-tex.txt | 77 - .../ale/doc/ale-texinfo.txt | 12 - .../sources_non_forked/ale/doc/ale-text.txt | 42 - .../sources_non_forked/ale/doc/ale-thrift.txt | 46 - .../ale/doc/ale-typescript.txt | 142 - .../sources_non_forked/ale/doc/ale-vala.txt | 12 - .../ale/doc/ale-verilog.txt | 102 - .../sources_non_forked/ale/doc/ale-vhdl.txt | 92 - .../ale/doc/ale-vim-help.txt | 12 - .../sources_non_forked/ale/doc/ale-vim.txt | 82 - .../sources_non_forked/ale/doc/ale-vue.txt | 31 - .../sources_non_forked/ale/doc/ale-xhtml.txt | 12 - .../sources_non_forked/ale/doc/ale-xml.txt | 34 - .../sources_non_forked/ale/doc/ale-yaml.txt | 92 - .../sources_non_forked/ale/doc/ale-yang.txt | 17 - .../sources_non_forked/ale/doc/ale.txt | 3750 ---------- .../sources_non_forked/ale/doc/tags | 1818 ----- .../ale/ftplugin/ale-fix-suggest.vim | 2 - .../ale/ftplugin/ale-preview-selection.vim | 16 - .../ale/ftplugin/ale-preview.vim | 2 - .../sources_non_forked/ale/plugin/ale.vim | 300 - .../sources_non_forked/ale/supported-tools.md | 896 --- .../ale/syntax/ale-fix-suggest.vim | 13 - .../ale/syntax/ale-preview-selection.vim | 11 - .../sources_non_forked/auto-pairs/.gitignore | 1 - .../sources_non_forked/auto-pairs/README.md | 474 -- .../auto-pairs/doc/AutoPairs.txt | 356 - .../auto-pairs/plugin/auto-pairs.vim | 673 -- .../sources_non_forked/bufexplorer/.gitignore | 6 - .../sources_non_forked/bufexplorer/LICENSE | 27 - .../sources_non_forked/bufexplorer/README.md | 118 - .../bufexplorer/doc/bufexplorer.txt | 806 --- .../bufexplorer/plugin/bufexplorer.vim | 1366 ---- .../sources_non_forked/ctrlp.vim/.gitignore | 7 - .../sources_non_forked/ctrlp.vim/LICENSE | 30 - .../ctrlp.vim/autoload/ctrlp.vim | 2784 ------- .../ctrlp.vim/doc/ctrlp.cnx | 1616 ----- .../ctrlp.vim/doc/ctrlp.txt | 1682 ----- .../ctrlp.vim/plugin/ctrlp.vim | 72 - .../sources_non_forked/ctrlp.vim/readme.md | 108 - .../gist-vim/.github/FUNDING.yml | 12 - .../sources_non_forked/gist-vim/Makefile | 11 - .../sources_non_forked/gist-vim/README.md | 302 - .../gist-vim/autoload/gist.vim | 1165 --- .../gist-vim/doc/gist-vim.txt | 358 - .../sources_non_forked/gist-vim/doc/tags | 10 - .../gist-vim/gist.vim.vimup | 303 - .../gist-vim/plugin/gist.vim | 23 - .../goyo.vim/autoload/goyo.vim | 447 -- .../sources_non_forked/goyo.vim/doc/goyo.txt | 170 - .../sources_non_forked/goyo.vim/doc/tags | 17 - .../goyo.vim/plugin/goyo.vim | 24 - .../sources_non_forked/gruvbox/CHANGELOG.md | 129 - .../sources_non_forked/gruvbox/README.md | 78 - .../gruvbox/autoload/gruvbox.vim | 41 - .../gruvbox/colors/gruvbox.vim | 1418 ---- .../gruvbox/gruvbox_256palette.sh | 118 - .../gruvbox/gruvbox_256palette_osx.sh | 116 - .../sources_non_forked/gruvbox/package.json | 10 - .../sources_non_forked/lightline-ale/LICENSE | 21 - .../lightline-ale/README.md | 114 - .../lightline-ale/screenshot.png | Bin 48376 -> 0 bytes .../lightline.vim/.gitignore | 1 - .../sources_non_forked/lightline.vim/LICENSE | 21 - .../lightline.vim/README.md | 484 -- .../lightline.vim/autoload/lightline.vim | 500 -- .../lightline.vim/colorscheme.md | 137 - .../lightline.vim/doc/lightline.txt | 1330 ---- .../lightline.vim/plugin/lightline.vim | 33 - .../lightline.vim/test/.themisrc | 22 - .../lightline.vim/test/autocmd.vim | 23 - .../lightline.vim/test/concatenate.vim | 90 - .../lightline.vim/test/error.vim | 15 - .../lightline.vim/test/expand.vim | 667 -- .../lightline.vim/test/highlight.vim | 171 - .../lightline.vim/test/link.vim | 143 - .../lightline.vim/test/mode.vim | 14 - .../lightline.vim/test/onetab.vim | 98 - .../lightline.vim/test/popup.vim | 19 - .../lightline.vim/test/quickfix.vim | 25 - .../lightline.vim/test/subseparator.vim | 407 -- .../lightline.vim/test/tabline.vim | 67 - .../lightline.vim/test/tabs.vim | 99 - .../lightline.vim/test/toggle.vim | 45 - .../lightline.vim/test/uniq.vim | 46 - .../sources_non_forked/mayansmoke/README | 43 - .../mayansmoke/colors/mayansmoke.vim | 343 - .../nerdtree/.github/PULL_REQUEST_TEMPLATE.md | 27 - .../sources_non_forked/nerdtree/.gitignore | 3 - .../sources_non_forked/nerdtree/.vintrc.yaml | 5 - .../sources_non_forked/nerdtree/CHANGELOG.md | 389 - .../sources_non_forked/nerdtree/LICENCE | 13 - .../nerdtree/README.markdown | 150 - .../sources_non_forked/nerdtree/_config.yml | 1 - .../nerdtree/autoload/nerdtree.vim | 259 - .../nerdtree/doc/NERDTree.txt | 1528 ---- .../nerdtree_plugin/exec_menuitem.vim | 40 - .../nerdtree/nerdtree_plugin/fs_menu.vim | 469 -- .../nerdtree/nerdtree_plugin/vcs.vim | 47 - .../nerdtree/plugin/NERD_tree.vim | 261 - .../nerdtree/screenshot.png | Bin 87896 -> 0 bytes .../nerdtree/syntax/nerdtree.vim | 95 - .../sources_non_forked/nginx.vim/CHANGELOG.md | 21 - .../sources_non_forked/nginx.vim/LICENSE | 675 -- .../sources_non_forked/nginx.vim/README.md | 77 - .../nginx.vim/ftdetect/nginx.vim | 6 - .../nginx.vim/ftplugin/nginx.vim | 1 - .../nginx.vim/indent/nginx.vim | 11 - .../nginx.vim/syntax/nginx.vim | 2308 ------ .../plugin/open_file_under_cursor.vim | 41 - .../sources_non_forked/rust.vim/.gitignore | 1 - .../sources_non_forked/rust.vim/.travis.yml | 7 - .../sources_non_forked/rust.vim/.vintrc.yml | 10 - .../rust.vim/ISSUE_TEMPLATE.md | 30 - .../rust.vim/LICENSE-APACHE | 201 - .../sources_non_forked/rust.vim/LICENSE-MIT | 25 - .../sources_non_forked/rust.vim/README.md | 117 - .../rust.vim/autoload/cargo.vim | 147 - .../rust.vim/autoload/rust.vim | 570 -- .../rust.vim/autoload/rustfmt.vim | 260 - .../rust.vim/compiler/cargo.vim | 49 - .../rust.vim/compiler/rustc.vim | 57 - .../rust.vim/ctags/rust.ctags | 11 - .../sources_non_forked/rust.vim/doc/rust.txt | 486 -- .../rust.vim/ftdetect/rust.vim | 15 - .../rust.vim/ftplugin/rust.vim | 200 - .../rust.vim/indent/rust.vim | 284 - .../rust.vim/plugin/cargo.vim | 27 - .../rust.vim/plugin/rust.vim | 28 - .../rust.vim/syntax/rust.vim | 386 - .../rust.vim/test/.gitignore | 0 .../rust.vim/test/Dockerfile | 34 - .../rust.vim/test/coverage.vader | 24 - .../rust.vim/test/indent.vader | 292 - .../rust.vim/test/run-tests | 105 - .../rust.vim/test/sample.rs | 0 .../sources_non_forked/rust.vim/test/vimrc | 30 - .../rust.vim/triagebot.toml | 1 - .../sources_non_forked/tabular/.gitignore | 1 - .../sources_non_forked/tabular/LICENSE.md | 24 - .../sources_non_forked/tabular/README.md | 30 - .../tabular/autoload/tabular.vim | 409 -- .../tabular/doc/Tabular.txt | 260 - .../tabular/plugin/Tabular.vim | 346 - .../sources_non_forked/tlib/README | 72 - .../sources_non_forked/tlib/autoload/tlib.vim | 8 - .../sources_non_forked/tlib/doc/tags | 376 - .../sources_non_forked/tlib/doc/tlib.txt | 2497 ------- .../sources_non_forked/tlib/plugin/02tlib.vim | 102 - .../sources_non_forked/tlib/test/tlib.vim | 219 - .../typescript-vim/README.md | 118 - .../typescript-vim/compiler/typescript.vim | 30 - .../typescript-vim/ftdetect/typescript.vim | 4 - .../typescript-vim/ftplugin/typescript.vim | 21 - .../typescript-vim/indent/typescript.vim | 360 - .../typescript-vim/syntax/typescript.vim | 340 - .../typescript-vim/vimshot01.png | Bin 19299 -> 0 bytes .../vim-abolish/.github/FUNDING.yml | 2 - .../sources_non_forked/vim-abolish/.gitignore | 1 - .../vim-abolish/CONTRIBUTING.markdown | 1 - .../vim-abolish/README.markdown | 150 - .../vim-abolish/doc/abolish.txt | 181 - .../vim-abolish/plugin/abolish.vim | 639 -- .../vim-addon-mw-utils/.gitignore | 1 - .../vim-addon-mw-utils/autoload/buf_utils.vim | 24 - .../autoload/cached_file_contents.vim | 104 - .../autoload/env_reload.vim | 12 - .../vim-addon-mw-utils/autoload/funcref.vim | 95 - .../vim-addon-mw-utils/autoload/glob.vim | 27 - .../autoload/glob_linux.vim | 43 - .../vim-addon-mw-utils/autoload/tiny_cmd.vim | 19 - .../doc/cached_file_contents.txt | 7 - .../vim-addon-mw-utils/doc/funcref.txt | 35 - .../vim-addon-mw-utils/doc/tiny_cmd.txt | 18 - .../vim-addon-mw-utils-addon-info.txt | 9 - .../vim-bundle-mako/README.md | 25 - .../vim-bundle-mako/ftdetect/mako.vim | 11 - .../vim-bundle-mako/ftplugin/mako.vim | 19 - .../vim-bundle-mako/indent/mako.vim | 428 -- .../vim-bundle-mako/syntax/mako.vim | 103 - .../vim-coffee-script/.gitignore | 4 - .../vim-coffee-script/Copying.md | 54 - .../vim-coffee-script/Makefile | 25 - .../vim-coffee-script/News.md | 24 - .../vim-coffee-script/Readme.md | 588 -- .../vim-coffee-script/Thanks.md | 45 - .../vim-coffee-script/Todo.md | 3 - .../vim-coffee-script/autoload/coffee.vim | 54 - .../vim-coffee-script/compiler/cake.vim | 15 - .../vim-coffee-script/compiler/coffee.vim | 82 - .../vim-coffee-script/doc/coffee-script.txt | 4 - .../vim-coffee-script/ftdetect/coffee.vim | 17 - .../ftdetect/vim-literate-coffeescript.vim | 8 - .../vim-coffee-script/ftplugin/coffee.vim | 405 -- .../vim-coffee-script/ftplugin/litcoffee.vim | 1 - .../vim-coffee-script/indent/coffee.vim | 428 -- .../vim-coffee-script/indent/litcoffee.vim | 22 - .../vim-coffee-script/syntax/coffee.vim | 221 - .../vim-coffee-script/syntax/litcoffee.vim | 23 - .../vim-coffee-script/test/test-interp.coffee | 3 - .../vim-coffee-script/test/test-ops.coffee | 90 - .../test/test-reserved.coffee | 27 - .../vim-coffee-script/test/test.coffee.md | 117 - .../vim-coffee-script/test/test.haml | 3 - .../vim-coffee-script/test/test.html | 17 - .../vim-coffee-script/test/test.litcoffee | 117 - .../vim-colors-solarized/README.mkd | 267 - .../autoload/togglebg.vim | 55 - .../vim-colors-solarized/bitmaps/togglebg.png | Bin 1674 -> 0 bytes .../vim-colors-solarized/colors/solarized.vim | 1117 --- .../vim-colors-solarized/doc/solarized.txt | 254 - .../vim-colors-solarized/doc/tags | 27 - .../vim-commentary/.github/FUNDING.yml | 2 - .../vim-commentary/.gitignore | 1 - .../vim-commentary/CONTRIBUTING.markdown | 1 - .../vim-commentary/README.markdown | 52 - .../vim-commentary/doc/commentary.txt | 35 - .../vim-commentary/plugin/commentary.vim | 117 - .../vim-expand-region/MIT-LICENSE.txt | 20 - .../vim-expand-region/README.md | 87 - .../autoload/expand_region.vim | 350 - .../vim-expand-region/doc/expand_region.txt | 126 - .../vim-expand-region/doc/tags | 10 - .../vim-expand-region/expand-region.gif | Bin 770749 -> 0 bytes .../plugin/expand_region.vim | 43 - .../sources_non_forked/vim-flake8/LICENSE | 24 - .../vim-flake8/README.mdown | 199 - .../vim-flake8/autoload/flake8.vim | 298 - .../vim-flake8/ftplugin/python_flake8.vim | 55 - .../vim-fugitive/autoload/fugitive.vim | 6422 ----------------- .../vim-fugitive/doc/fugitive.txt | 648 -- .../sources_non_forked/vim-fugitive/doc/tags | 144 - .../vim-fugitive/ftdetect/fugitive.vim | 1 - .../vim-fugitive/plugin/fugitive.vim | 525 -- .../vim-fugitive/syntax/fugitive.vim | 57 - .../vim-fugitive/syntax/fugitiveblame.vim | 7 - .../vim-gist/.github/FUNDING.yml | 12 - .../sources_non_forked/vim-gist/README.md | 302 - .../vim-gist/autoload/gist.vim | 1165 --- .../vim-gist/doc/gist-vim.txt | 358 - .../sources_non_forked/vim-gist/doc/tags | 10 - .../vim-gist/plugin/gist.vim | 23 - .../vim-gitgutter/.github/issue_template.md | 5 - .../vim-gitgutter/.gitignore | 5 - .../sources_non_forked/vim-gitgutter/LICENCE | 22 - .../vim-gitgutter/README.mkd | 685 -- .../vim-gitgutter/autoload/gitgutter.vim | 209 - .../vim-gitgutter/doc/gitgutter.txt | 658 -- .../vim-gitgutter/plugin/gitgutter.vim | 285 - .../vim-gitgutter/screenshot.png | Bin 601382 -> 0 bytes .../vim-gitgutter/test/cp932.txt | 8 - .../vim-gitgutter/test/fixture.txt | 11 - .../vim-gitgutter/test/fixture_dos.txt | 11 - .../vim-gitgutter/test/runner.vim | 162 - .../vim-gitgutter/test/test | 21 - .../vim-gitgutter/test/test_gitgutter.vim | 1113 --- .../vim-indent-object/.gitignore | 2 - .../vim-indent-object/README.md | 88 - .../vim-indent-object/doc/indent-object.txt | 126 - .../plugin/indent-object.vim | 234 - .../vim-javascript/ISSUE_TEMPLATE.md | 14 - .../vim-javascript/README.md | 114 - .../vim-javascript/compiler/eslint.vim | 16 - .../vim-javascript/extras/ctags | 8 - .../vim-javascript/extras/flow.vim | 109 - .../vim-javascript/extras/jsdoc.vim | 39 - .../vim-javascript/extras/ngdoc.vim | 3 - .../vim-javascript/ftdetect/flow.vim | 1 - .../vim-javascript/ftdetect/javascript.vim | 8 - .../vim-javascript/indent/javascript.vim | 477 -- .../vim-javascript/syntax/flow.vim | 2 - .../vim-javascript/syntax/javascript.vim | 393 - .../vim-lastplace/.gitignore | 1 - .../sources_non_forked/vim-lastplace/LICENSE | 22 - .../vim-lastplace/README.md | 141 - .../vim-lastplace/doc/vim-lastplace.txt | 36 - .../vim-lastplace/plugin/vim-lastplace.vim | 80 - .../sources_non_forked/vim-less/.gitignore | 1 - .../sources_non_forked/vim-less/README.md | 54 - .../vim-less/ftdetect/less.vim | 1 - .../vim-less/ftplugin/less.vim | 26 - .../vim-less/indent/less.vim | 10 - .../vim-less/screenshot.png | Bin 52352 -> 0 bytes .../vim-less/syntax/less.vim | 64 - .../vim-markdown/.gitignore | 2 - .../vim-markdown/.travis.yml | 34 - .../vim-markdown/CONTRIBUTING.md | 59 - .../sources_non_forked/vim-markdown/Makefile | 88 - .../sources_non_forked/vim-markdown/README.md | 481 -- .../vim-markdown/doc/vim-markdown.txt | 663 -- .../vim-markdown/ftdetect/markdown.vim | 8 - .../vim-markdown/ftplugin/markdown.vim | 791 -- .../vim-markdown/indent/markdown.vim | 75 - .../vim-markdown/registry/markdown.yaml | 9 - .../vim-markdown/syntax/markdown.vim | 184 - .../vim-markdown/test/README.md | 6 - .../vim-markdown/test/folding-toc.vader | 178 - .../vim-markdown/test/folding.vader | 53 - .../vim-markdown/test/ge_test.md | 1 - .../test/indent-new-list-item.vader | 15 - .../vim-markdown/test/indent.md | 33 - .../vim-markdown/test/indent.vader | 73 - .../vim-markdown/test/map.vader | 153 - .../vim-markdown/test/python-folding.vader | 84 - .../vim-markdown/test/run-tests.sh | 16 - .../vim-markdown/test/syntax-singleline.vader | 158 - .../vim-markdown/test/syntax.md | 87 - .../vim-markdown/test/syntax.vader | 1285 ---- .../vim-markdown/test/table-format.vader | 44 - .../vim-markdown/test/toc-autofit.vader | 53 - .../vim-markdown/test/toc.vader | 181 - .../vim-markdown/test/vimrc | 29 - .../vim-multiple-cursors/.gitignore | 1 - .../vim-multiple-cursors/.rspec | 2 - .../vim-multiple-cursors/.travis.yml | 12 - .../vim-multiple-cursors/CHANGELOG.md | 110 - .../vim-multiple-cursors/CONTRIBUTING.md | 29 - .../vim-multiple-cursors/Gemfile | 4 - .../vim-multiple-cursors/Gemfile.lock | 30 - .../vim-multiple-cursors/MIT-LICENSE.txt | 20 - .../vim-multiple-cursors/README.md | 284 - .../vim-multiple-cursors/Rakefile | 11 - .../vim-multiple-cursors/assets/example1.gif | Bin 103002 -> 0 bytes .../assets/example1.gifraw=true | Bin 103002 -> 0 bytes .../vim-multiple-cursors/assets/example2.gif | Bin 271369 -> 0 bytes .../assets/example2.gifraw=true | Bin 271369 -> 0 bytes .../vim-multiple-cursors/assets/example3.gif | Bin 180802 -> 0 bytes .../assets/example3.gifraw=true | Bin 180802 -> 0 bytes .../vim-multiple-cursors/assets/example4.gif | Bin 545119 -> 0 bytes .../assets/example4.gifraw=true | Bin 545119 -> 0 bytes .../autoload/multiple_cursors.vim | 1331 ---- .../doc/multiple_cursors.txt | 250 - .../plugin/multiple_cursors.vim | 104 - .../spec/benchmark_spec.rb | 142 - .../spec/multiple_cursors_spec.rb | 977 --- .../vim-multiple-cursors/spec/spec_helper.rb | 25 - .../sources_non_forked/vim-pug/README.md | 21 - .../vim-pug/ftdetect/pug.vim | 5 - .../vim-pug/ftplugin/pug.vim | 57 - .../sources_non_forked/vim-pug/indent/pug.vim | 70 - .../sources_non_forked/vim-pug/syntax/pug.vim | 114 - .../sources_non_forked/vim-pyte/README | 11 - .../vim-pyte/colors/pyte.vim | 94 - .../.circleci/config.yml | 37 - .../vim-python-pep8-indent/.coveragerc | 7 - .../vim-python-pep8-indent/.dockerignore | 2 - .../vim-python-pep8-indent/.gitignore | 3 - .../vim-python-pep8-indent/CONTRIBUTING.rst | 37 - .../vim-python-pep8-indent/COPYING.txt | 121 - .../vim-python-pep8-indent/Dockerfile | 24 - .../vim-python-pep8-indent/Gemfile | 3 - .../vim-python-pep8-indent/Makefile | 25 - .../vim-python-pep8-indent/README.rst | 169 - .../vim-python-pep8-indent/docker-compose.yml | 6 - .../vim-python-pep8-indent/indent/cython.vim | 1 - .../vim-python-pep8-indent/indent/python.vim | 454 -- .../vim-python-pep8-indent/spec/make-coverage | 24 - .../spec/spec_helper.rb | 70 - .../vim-python-pep8-indent/spec/vimrc | 22 - .../vim-repeat/.github/FUNDING.yml | 2 - .../vim-repeat/README.markdown | 51 - .../vim-repeat/autoload/repeat.vim | 165 - .../sources_non_forked/vim-ruby/.gitignore | 1 - .../sources_non_forked/vim-ruby/.rspec | 1 - .../sources_non_forked/vim-ruby/CONTRIBUTORS | 19 - .../sources_non_forked/vim-ruby/ChangeLog | 1579 ---- .../sources_non_forked/vim-ruby/Gemfile | 4 - .../sources_non_forked/vim-ruby/Gemfile.lock | 28 - .../vim-ruby/INSTALL.markdown | 31 - .../sources_non_forked/vim-ruby/NEWS | 243 - .../sources_non_forked/vim-ruby/README | 73 - .../vim-ruby/autoload/rubycomplete.vim | 871 --- .../vim-ruby/compiler/eruby.vim | 39 - .../vim-ruby/compiler/rake.vim | 39 - .../vim-ruby/compiler/rspec.vim | 35 - .../vim-ruby/compiler/ruby.vim | 44 - .../vim-ruby/compiler/rubyunit.vim | 35 - .../vim-ruby/doc/ft-ruby-indent.txt | 109 - .../vim-ruby/doc/ft-ruby-omni.txt | 51 - .../vim-ruby/doc/ft-ruby-plugin.txt | 79 - .../vim-ruby/doc/ft-ruby-syntax.txt | 118 - .../vim-ruby/ftdetect/ruby.vim | 42 - .../vim-ruby/ftdetect/ruby_extra.vim | 69 - .../vim-ruby/ftplugin/eruby.vim | 131 - .../vim-ruby/ftplugin/ruby.vim | 436 -- .../vim-ruby/indent/eruby.vim | 110 - .../vim-ruby/indent/ruby.vim | 953 --- .../vim-ruby/spec/spec_helper.rb | 40 - .../vim-ruby/syntax/eruby.vim | 80 - .../vim-ruby/syntax/ruby.vim | 595 -- .../vim-snipmate/.gitignore | 3 - .../vim-snipmate/Contributors.md | 54 - .../sources_non_forked/vim-snipmate/README.md | 209 - .../vim-snipmate/addon-info.json | 12 - .../vim-snipmate/autoload/snipMate.vim | 648 -- .../autoload/snipMate_python_demo.vim | 47 - .../vim-snipmate/doc/snipMate.txt | 704 -- .../ftplugin/html_snip_helper.vim | 10 - .../vim-snipmate/ftplugin/snippets.vim | 20 - .../vim-snipmate/indent/snippets.vim | 32 - .../vim-snipmate/plugin/snipMate.vim | 136 - .../vim-snipmate/syntax/snippet.vim | 11 - .../vim-snipmate/syntax/snippets.vim | 23 - .../vim-snipmate/t/jumping.vim | 175 - .../vim-snipmate/t/parser.vim | 152 - .../vim-snipmate/t/tests.sh | 20 - .../vim-snippets/.gitignore | 4 - .../vim-snippets/.travis.yml | 8 - .../sources_non_forked/vim-snippets/AUTHORS | 383 - .../sources_non_forked/vim-snippets/LICENSE | 20 - .../sources_non_forked/vim-snippets/README.md | 231 - .../vim-snippets/UltiSnips/README | 17 - .../vim-snippets/UltiSnips/ada.snippets | 282 - .../vim-snippets/UltiSnips/all.snippets | 113 - .../vim-snippets/UltiSnips/bib.snippets | 52 - .../vim-snippets/UltiSnips/bindzone.snippets | 29 - .../vim-snippets/UltiSnips/blade.snippets | 139 - .../vim-snippets/UltiSnips/c.snippets | 149 - .../UltiSnips/coffee-jasmine.snippets | 166 - .../UltiSnips/coffee-react.snippets | 80 - .../vim-snippets/UltiSnips/coffee.snippets | 100 - .../vim-snippets/UltiSnips/cpp.snippets | 110 - .../vim-snippets/UltiSnips/crystal.snippets | 13 - .../vim-snippets/UltiSnips/cs.snippets | 385 - .../vim-snippets/UltiSnips/css.snippets | 493 -- .../vim-snippets/UltiSnips/cuda.snippets | 5 - .../vim-snippets/UltiSnips/d.snippets | 584 -- .../vim-snippets/UltiSnips/django.snippets | 361 - .../vim-snippets/UltiSnips/eelixir.snippets | 43 - .../vim-snippets/UltiSnips/ejs.snippets | 10 - .../vim-snippets/UltiSnips/elm.snippets | 9 - .../vim-snippets/UltiSnips/erlang.snippets | 24 - .../vim-snippets/UltiSnips/eruby.snippets | 237 - .../vim-snippets/UltiSnips/go.snippets | 115 - .../vim-snippets/UltiSnips/haskell.snippets | 5 - .../vim-snippets/UltiSnips/help.snippets | 37 - .../vim-snippets/UltiSnips/html.snippets | 534 -- .../UltiSnips/html_minimal.snippets | 33 - .../UltiSnips/htmldjango.snippets | 299 - .../vim-snippets/UltiSnips/htmljinja.snippets | 3 - .../vim-snippets/UltiSnips/java.snippets | 435 -- .../UltiSnips/javascript-angular.snippets | 77 - .../UltiSnips/javascript-ember.snippets | 101 - .../javascript-jasmine-arrow.snippets | 48 - .../UltiSnips/javascript-jsdoc.snippets | 51 - .../UltiSnips/javascript-node.snippets | 65 - .../UltiSnips/javascript.snippets | 157 - .../UltiSnips/javascript_react.snippets | 42 - .../vim-snippets/UltiSnips/jinja2.snippets | 209 - .../vim-snippets/UltiSnips/json.snippets | 51 - .../vim-snippets/UltiSnips/julia.snippets | 34 - .../vim-snippets/UltiSnips/ledger.snippets | 7 - .../vim-snippets/UltiSnips/lhaskell.snippets | 3 - .../vim-snippets/UltiSnips/lua.snippets | 98 - .../vim-snippets/UltiSnips/mako.snippets | 92 - .../vim-snippets/UltiSnips/markdown.snippets | 148 - .../vim-snippets/UltiSnips/matlab.snippets | 24 - .../vim-snippets/UltiSnips/objc.snippets | 272 - .../vim-snippets/UltiSnips/ocaml.snippets | 174 - .../vim-snippets/UltiSnips/octave.snippets | 2 - .../vim-snippets/UltiSnips/pandoc.snippets | 12 - .../vim-snippets/UltiSnips/perl.snippets | 139 - .../UltiSnips/php-laravel.snippets | 270 - .../UltiSnips/php-phpspec.snippets | 222 - .../UltiSnips/php-symfony2.snippets | 360 - .../vim-snippets/UltiSnips/php.snippets | 286 - .../vim-snippets/UltiSnips/plsql.snippets | 733 -- .../vim-snippets/UltiSnips/proto.snippets | 52 - .../vim-snippets/UltiSnips/puppet.snippets | 236 - .../vim-snippets/UltiSnips/python.snippets | 723 -- .../vim-snippets/UltiSnips/r.snippets | 191 - .../vim-snippets/UltiSnips/rails.snippets | 900 --- .../vim-snippets/UltiSnips/rnoweb.snippets | 3 - .../vim-snippets/UltiSnips/robot.snippets | 355 - .../vim-snippets/UltiSnips/rst.snippets | 311 - .../vim-snippets/UltiSnips/ruby.snippets | 341 - .../vim-snippets/UltiSnips/rust.snippets | 53 - .../vim-snippets/UltiSnips/sh.snippets | 95 - .../vim-snippets/UltiSnips/snippets.snippets | 21 - .../vim-snippets/UltiSnips/soy.snippets | 63 - .../UltiSnips/supercollider.snippets | 10 - .../vim-snippets/UltiSnips/svelte.snippets | 1 - .../vim-snippets/UltiSnips/tcl.snippets | 52 - .../vim-snippets/UltiSnips/tex.snippets | 244 - .../vim-snippets/UltiSnips/texmath.snippets | 53 - .../UltiSnips/typescript.snippets | 3 - .../vim-snippets/UltiSnips/vim.snippets | 24 - .../vim-snippets/UltiSnips/vue.snippets | 1 - .../vim-snippets/UltiSnips/xhtml.snippets | 3 - .../vim-snippets/UltiSnips/xml.snippets | 16 - .../vim-snippets/UltiSnips/zsh.snippets | 12 - .../vim-snippets/addon-info.json | 9 - .../vim-snippets/autoload/vim_snippets.vim | 27 - .../vim-snippets/plugin/vimsnippets.vim | 50 - .../pythonx/javascript_snippets.py | 48 - .../vim-snippets/pythonx/vimsnippets.py | 118 - .../vim-snippets/snippets/_.snippets | 288 - .../snippets/actionscript.snippets | 153 - .../vim-snippets/snippets/ada.snippets | 217 - .../vim-snippets/snippets/alpaca.snippets | 38 - .../vim-snippets/snippets/apache.snippets | 35 - .../vim-snippets/snippets/arduino.snippets | 124 - .../vim-snippets/snippets/autoit.snippets | 66 - .../vim-snippets/snippets/awk.snippets | 82 - .../vim-snippets/snippets/c.snippets | 346 - .../vim-snippets/snippets/chef.snippets | 204 - .../vim-snippets/snippets/clojure.snippets | 87 - .../vim-snippets/snippets/cmake.snippets | 83 - .../snippets/codeigniter.snippets | 171 - .../vim-snippets/snippets/cpp.snippets | 223 - .../vim-snippets/snippets/crystal.snippets | 82 - .../vim-snippets/snippets/cs.snippets | 531 -- .../vim-snippets/snippets/css.snippets | 1246 ---- .../vim-snippets/snippets/cuda.snippets | 1 - .../vim-snippets/snippets/d.snippets | 338 - .../snippets/dart-flutter.snippets | 59 - .../vim-snippets/snippets/dart.snippets | 83 - .../vim-snippets/snippets/diff.snippets | 11 - .../vim-snippets/snippets/django.snippets | 112 - .../vim-snippets/snippets/dosini.snippets | 12 - .../vim-snippets/snippets/eelixir.snippets | 60 - .../vim-snippets/snippets/elixir.snippets | 253 - .../vim-snippets/snippets/elm.snippets | 158 - .../vim-snippets/snippets/erlang.snippets | 722 -- .../vim-snippets/snippets/eruby.snippets | 132 - .../vim-snippets/snippets/falcon.snippets | 71 - .../vim-snippets/snippets/fortran.snippets | 103 - .../vim-snippets/snippets/freemarker.snippets | 74 - .../vim-snippets/snippets/go.snippets | 280 - .../vim-snippets/snippets/haml.snippets | 37 - .../vim-snippets/snippets/handlebars.snippets | 14 - .../vim-snippets/snippets/haskell.snippets | 151 - .../vim-snippets/snippets/helm.snippets | 591 -- .../vim-snippets/snippets/html.snippets | 857 --- .../vim-snippets/snippets/htmldjango.snippets | 142 - .../snippets/htmltornado.snippets | 55 - .../vim-snippets/snippets/idris.snippets | 46 - .../vim-snippets/snippets/jade.snippets | 18 - .../vim-snippets/snippets/java.snippets | 295 - .../snippets/javascript-bemjson.snippets | 52 - .../snippets/javascript-d3.snippets | 30 - .../snippets/javascript-es6-react.snippets | 82 - .../snippets/javascript-mocha.snippets | 34 - .../snippets/javascript-openui5.snippets | 205 - .../vim-snippets/snippets/jenkins.snippets | 270 - .../vim-snippets/snippets/jinja.snippets | 142 - .../vim-snippets/snippets/jsp.snippets | 99 - .../vim-snippets/snippets/julia.snippets | 114 - .../vim-snippets/snippets/kotlin.snippets | 36 - .../vim-snippets/snippets/laravel.snippets | 242 - .../vim-snippets/snippets/ledger.snippets | 5 - .../vim-snippets/snippets/lfe.snippets | 18 - .../vim-snippets/snippets/liquid.snippets | 267 - .../vim-snippets/snippets/ls.snippets | 108 - .../vim-snippets/snippets/lua.snippets | 46 - .../vim-snippets/snippets/make.snippets | 50 - .../vim-snippets/snippets/mako.snippets | 54 - .../vim-snippets/snippets/markdown.snippets | 144 - .../vim-snippets/snippets/matlab.snippets | 64 - .../vim-snippets/snippets/mustache.snippets | 15 - .../vim-snippets/snippets/objc.snippets | 247 - .../vim-snippets/snippets/ocaml.snippets | 39 - .../vim-snippets/snippets/octave.snippets | 2 - .../vim-snippets/snippets/openfoam.snippets | 53 - .../vim-snippets/snippets/pandoc.snippets | 2 - .../vim-snippets/snippets/perl.snippets | 367 - .../vim-snippets/snippets/perl6.snippets | 116 - .../vim-snippets/snippets/phoenix.snippets | 16 - .../vim-snippets/snippets/php.snippets | 690 -- .../vim-snippets/snippets/plsql.snippets | 109 - .../vim-snippets/snippets/po.snippets | 5 - .../vim-snippets/snippets/processing.snippets | 705 -- .../vim-snippets/snippets/progress.snippets | 58 - .../vim-snippets/snippets/ps1.snippets | 102 - .../vim-snippets/snippets/puppet.snippets | 245 - .../vim-snippets/snippets/purescript.snippets | 71 - .../vim-snippets/snippets/python.snippets | 462 -- .../vim-snippets/snippets/r.snippets | 135 - .../vim-snippets/snippets/racket.snippets | 131 - .../vim-snippets/snippets/rails.snippets | 503 -- .../vim-snippets/snippets/reason.snippets | 36 - .../vim-snippets/snippets/rmd.snippets | 205 - .../vim-snippets/snippets/rst.snippets | 101 - .../vim-snippets/snippets/ruby.snippets | 722 -- .../vim-snippets/snippets/rust.snippets | 256 - .../vim-snippets/snippets/sass.snippets | 1243 ---- .../vim-snippets/snippets/scala.snippets | 364 - .../vim-snippets/snippets/scheme.snippets | 36 - .../vim-snippets/snippets/scss.snippets | 44 - .../vim-snippets/snippets/sh.snippets | 106 - .../vim-snippets/snippets/simplemvcf.snippets | 122 - .../vim-snippets/snippets/slim.snippets | 63 - .../vim-snippets/snippets/snippets.snippets | 8 - .../vim-snippets/snippets/sql.snippets | 26 - .../vim-snippets/snippets/stylus.snippets | 1221 ---- .../snippets/supercollider.snippets | 22 - .../vim-snippets/snippets/svelte.snippets | 1 - .../snippets/systemverilog.snippets | 73 - .../vim-snippets/snippets/tcl.snippets | 96 - .../vim-snippets/snippets/tex.snippets | 360 - .../vim-snippets/snippets/textile.snippets | 30 - .../vim-snippets/snippets/twig.snippets | 34 - .../vim-snippets/snippets/typescript.snippets | 43 - .../snippets/typescriptreact.snippets | 1 - .../vim-snippets/snippets/verilog.snippets | 83 - .../vim-snippets/snippets/vhdl.snippets | 137 - .../vim-snippets/snippets/vim.snippets | 80 - .../vim-snippets/snippets/vue.snippets | 189 - .../vim-snippets/snippets/xml.snippets | 12 - .../vim-snippets/snippets/xslt.snippets | 97 - .../vim-snippets/snippets/yii-chtml.snippets | 248 - .../vim-snippets/snippets/yii.snippets | 300 - .../vim-snippets/snippets/zsh.snippets | 66 - .../sources_non_forked/vim-snippets/tests.sh | 37 - .../vim-surround/.github/FUNDING.yml | 2 - .../vim-surround/.gitignore | 1 - .../vim-surround/README.markdown | 92 - .../vim-surround/doc/surround.txt | 217 - .../vim-surround/plugin/surround.vim | 619 -- .../vim-yankstack/.gitignore | 2 - .../sources_non_forked/vim-yankstack/Gemfile | 4 - .../vim-yankstack/Gemfile.lock | 25 - .../vim-yankstack/README.md | 158 - .../vim-yankstack/autoload/yankstack.vim | 197 - .../vim-yankstack/doc/yankstack.txt | 124 - .../vim-yankstack/plugin/yankstack.vim | 1 - .../vim-yankstack/spec/spec_helper.rb | 9 - .../vim-zenroom2/README.markdown | 26 - .../vim-zenroom2/plugin/zenroom2.vim | 90 - vim/.vim_runtime/vimrcs/basic.vim | 383 - vim/.vim_runtime/vimrcs/extended.vim | 174 - vim/.vim_runtime/vimrcs/filetypes.vim | 80 - vim/.vim_runtime/vimrcs/plugins_config.vim | 176 - vim/.vimrc | 43 +- 746 files changed, 34 insertions(+), 129951 deletions(-) delete mode 100644 vim/.vim_runtime/autoload/pathogen.vim delete mode 100644 vim/.vim_runtime/my_plugins/.gitkeep delete mode 100644 vim/.vim_runtime/sources_forked/peaksea/colors/peaksea.vim delete mode 100644 vim/.vim_runtime/sources_forked/set_tabline/plugin/set_tabline.vim delete mode 100644 vim/.vim_runtime/sources_forked/vim-irblack-forked/README delete mode 100644 vim/.vim_runtime/sources_forked/vim-irblack-forked/colors/ir_black.vim delete mode 100644 vim/.vim_runtime/sources_forked/vim-peepopen/README delete mode 100644 vim/.vim_runtime/sources_forked/vim-peepopen/README.md delete mode 100644 vim/.vim_runtime/sources_forked/vim-peepopen/plugin/peepopen.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/ack.vim/.gitignore delete mode 100644 vim/.vim_runtime/sources_non_forked/ack.vim/LICENSE delete mode 100644 vim/.vim_runtime/sources_non_forked/ack.vim/README.md delete mode 100644 vim/.vim_runtime/sources_non_forked/ack.vim/autoload/ack.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/ack.vim/doc/ack.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ack.vim/doc/ack_quick_help.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ack.vim/ftplugin/qf.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/ack.vim/plugin/ack.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/LICENSE delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/autoload/ale.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-ada.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-ansible.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-asciidoc.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-asm.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-awk.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-bats.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-bib.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-c.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-chef.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-clojure.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-cloudformation.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-cmake.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-cpp.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-cs.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-css.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-cuda.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-d.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-dart.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-development.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-dockerfile.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-elixir.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-elm.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-erlang.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-eruby.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-fish.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-fortran.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-fountain.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-fuse.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-gitcommit.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-glsl.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-go.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-graphql.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-hack.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-handlebars.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-haskell.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-hcl.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-html.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-idris.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-ink.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-ispc.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-java.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-javascript.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-json.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-julia.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-kotlin.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-latex.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-less.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-llvm.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-lua.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-markdown.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-mercury.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-nasm.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-nim.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-nix.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-nroff.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-objc.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-objcpp.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-ocaml.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-pawn.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-perl.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-perl6.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-php.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-po.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-pod.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-pony.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-powershell.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-prolog.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-proto.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-pug.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-puppet.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-purescript.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-pyrex.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-python.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-qml.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-r.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-reasonml.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-restructuredtext.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-ruby.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-rust.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-sass.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-scala.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-scss.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-sh.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-sml.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-solidity.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-spec.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-sql.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-stylus.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-sugarss.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-supported-languages-and-tools.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-swift.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-tcl.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-terraform.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-tex.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-texinfo.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-text.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-thrift.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-typescript.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-vala.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-verilog.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-vhdl.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-vim-help.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-vim.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-vue.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-xhtml.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-xml.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-yaml.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale-yang.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/ale.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/doc/tags delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/ftplugin/ale-fix-suggest.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/ftplugin/ale-preview-selection.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/ftplugin/ale-preview.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/plugin/ale.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/supported-tools.md delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/syntax/ale-fix-suggest.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/ale/syntax/ale-preview-selection.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/auto-pairs/.gitignore delete mode 100644 vim/.vim_runtime/sources_non_forked/auto-pairs/README.md delete mode 100644 vim/.vim_runtime/sources_non_forked/auto-pairs/doc/AutoPairs.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/auto-pairs/plugin/auto-pairs.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/bufexplorer/.gitignore delete mode 100644 vim/.vim_runtime/sources_non_forked/bufexplorer/LICENSE delete mode 100644 vim/.vim_runtime/sources_non_forked/bufexplorer/README.md delete mode 100644 vim/.vim_runtime/sources_non_forked/bufexplorer/doc/bufexplorer.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/bufexplorer/plugin/bufexplorer.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/ctrlp.vim/.gitignore delete mode 100644 vim/.vim_runtime/sources_non_forked/ctrlp.vim/LICENSE delete mode 100644 vim/.vim_runtime/sources_non_forked/ctrlp.vim/autoload/ctrlp.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/ctrlp.vim/doc/ctrlp.cnx delete mode 100644 vim/.vim_runtime/sources_non_forked/ctrlp.vim/doc/ctrlp.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/ctrlp.vim/plugin/ctrlp.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/ctrlp.vim/readme.md delete mode 100644 vim/.vim_runtime/sources_non_forked/gist-vim/.github/FUNDING.yml delete mode 100644 vim/.vim_runtime/sources_non_forked/gist-vim/Makefile delete mode 100644 vim/.vim_runtime/sources_non_forked/gist-vim/README.md delete mode 100644 vim/.vim_runtime/sources_non_forked/gist-vim/autoload/gist.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/gist-vim/doc/gist-vim.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/gist-vim/doc/tags delete mode 100644 vim/.vim_runtime/sources_non_forked/gist-vim/gist.vim.vimup delete mode 100644 vim/.vim_runtime/sources_non_forked/gist-vim/plugin/gist.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/goyo.vim/autoload/goyo.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/goyo.vim/doc/goyo.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/goyo.vim/doc/tags delete mode 100644 vim/.vim_runtime/sources_non_forked/goyo.vim/plugin/goyo.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/gruvbox/CHANGELOG.md delete mode 100644 vim/.vim_runtime/sources_non_forked/gruvbox/README.md delete mode 100644 vim/.vim_runtime/sources_non_forked/gruvbox/autoload/gruvbox.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/gruvbox/colors/gruvbox.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/gruvbox/gruvbox_256palette.sh delete mode 100644 vim/.vim_runtime/sources_non_forked/gruvbox/gruvbox_256palette_osx.sh delete mode 100644 vim/.vim_runtime/sources_non_forked/gruvbox/package.json delete mode 100644 vim/.vim_runtime/sources_non_forked/lightline-ale/LICENSE delete mode 100644 vim/.vim_runtime/sources_non_forked/lightline-ale/README.md delete mode 100644 vim/.vim_runtime/sources_non_forked/lightline-ale/screenshot.png delete mode 100644 vim/.vim_runtime/sources_non_forked/lightline.vim/.gitignore delete mode 100644 vim/.vim_runtime/sources_non_forked/lightline.vim/LICENSE delete mode 100644 vim/.vim_runtime/sources_non_forked/lightline.vim/README.md delete mode 100644 vim/.vim_runtime/sources_non_forked/lightline.vim/autoload/lightline.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/lightline.vim/colorscheme.md delete mode 100644 vim/.vim_runtime/sources_non_forked/lightline.vim/doc/lightline.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/lightline.vim/plugin/lightline.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/lightline.vim/test/.themisrc delete mode 100644 vim/.vim_runtime/sources_non_forked/lightline.vim/test/autocmd.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/lightline.vim/test/concatenate.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/lightline.vim/test/error.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/lightline.vim/test/expand.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/lightline.vim/test/highlight.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/lightline.vim/test/link.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/lightline.vim/test/mode.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/lightline.vim/test/onetab.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/lightline.vim/test/popup.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/lightline.vim/test/quickfix.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/lightline.vim/test/subseparator.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/lightline.vim/test/tabline.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/lightline.vim/test/tabs.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/lightline.vim/test/toggle.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/lightline.vim/test/uniq.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/mayansmoke/README delete mode 100644 vim/.vim_runtime/sources_non_forked/mayansmoke/colors/mayansmoke.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/nerdtree/.github/PULL_REQUEST_TEMPLATE.md delete mode 100644 vim/.vim_runtime/sources_non_forked/nerdtree/.gitignore delete mode 100644 vim/.vim_runtime/sources_non_forked/nerdtree/.vintrc.yaml delete mode 100644 vim/.vim_runtime/sources_non_forked/nerdtree/CHANGELOG.md delete mode 100644 vim/.vim_runtime/sources_non_forked/nerdtree/LICENCE delete mode 100644 vim/.vim_runtime/sources_non_forked/nerdtree/README.markdown delete mode 100644 vim/.vim_runtime/sources_non_forked/nerdtree/_config.yml delete mode 100644 vim/.vim_runtime/sources_non_forked/nerdtree/autoload/nerdtree.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/nerdtree/doc/NERDTree.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/nerdtree/nerdtree_plugin/exec_menuitem.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/nerdtree/nerdtree_plugin/fs_menu.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/nerdtree/nerdtree_plugin/vcs.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/nerdtree/plugin/NERD_tree.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/nerdtree/screenshot.png delete mode 100644 vim/.vim_runtime/sources_non_forked/nerdtree/syntax/nerdtree.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/nginx.vim/CHANGELOG.md delete mode 100644 vim/.vim_runtime/sources_non_forked/nginx.vim/LICENSE delete mode 100644 vim/.vim_runtime/sources_non_forked/nginx.vim/README.md delete mode 100644 vim/.vim_runtime/sources_non_forked/nginx.vim/ftdetect/nginx.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/nginx.vim/ftplugin/nginx.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/nginx.vim/indent/nginx.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/nginx.vim/syntax/nginx.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/open_file_under_cursor.vim/plugin/open_file_under_cursor.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/.gitignore delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/.travis.yml delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/.vintrc.yml delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/ISSUE_TEMPLATE.md delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/LICENSE-APACHE delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/LICENSE-MIT delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/README.md delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/autoload/cargo.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/autoload/rust.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/autoload/rustfmt.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/compiler/cargo.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/compiler/rustc.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/ctags/rust.ctags delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/doc/rust.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/ftdetect/rust.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/ftplugin/rust.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/indent/rust.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/plugin/cargo.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/plugin/rust.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/syntax/rust.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/test/.gitignore delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/test/Dockerfile delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/test/coverage.vader delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/test/indent.vader delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/test/run-tests delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/test/sample.rs delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/test/vimrc delete mode 100644 vim/.vim_runtime/sources_non_forked/rust.vim/triagebot.toml delete mode 100644 vim/.vim_runtime/sources_non_forked/tabular/.gitignore delete mode 100644 vim/.vim_runtime/sources_non_forked/tabular/LICENSE.md delete mode 100644 vim/.vim_runtime/sources_non_forked/tabular/README.md delete mode 100644 vim/.vim_runtime/sources_non_forked/tabular/autoload/tabular.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/tabular/doc/Tabular.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/tabular/plugin/Tabular.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/tlib/README delete mode 100644 vim/.vim_runtime/sources_non_forked/tlib/autoload/tlib.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/tlib/doc/tags delete mode 100644 vim/.vim_runtime/sources_non_forked/tlib/doc/tlib.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/tlib/plugin/02tlib.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/tlib/test/tlib.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/typescript-vim/README.md delete mode 100644 vim/.vim_runtime/sources_non_forked/typescript-vim/compiler/typescript.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/typescript-vim/ftdetect/typescript.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/typescript-vim/ftplugin/typescript.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/typescript-vim/indent/typescript.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/typescript-vim/syntax/typescript.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/typescript-vim/vimshot01.png delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-abolish/.github/FUNDING.yml delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-abolish/.gitignore delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-abolish/CONTRIBUTING.markdown delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-abolish/README.markdown delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-abolish/doc/abolish.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-abolish/plugin/abolish.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/.gitignore delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/buf_utils.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/cached_file_contents.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/env_reload.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/funcref.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/glob.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/glob_linux.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/tiny_cmd.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/doc/cached_file_contents.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/doc/funcref.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/doc/tiny_cmd.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/vim-addon-mw-utils-addon-info.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-bundle-mako/README.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-bundle-mako/ftdetect/mako.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-bundle-mako/ftplugin/mako.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-bundle-mako/indent/mako.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-bundle-mako/syntax/mako.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-coffee-script/.gitignore delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-coffee-script/Copying.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-coffee-script/Makefile delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-coffee-script/News.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-coffee-script/Readme.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-coffee-script/Thanks.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-coffee-script/Todo.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-coffee-script/autoload/coffee.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-coffee-script/compiler/cake.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-coffee-script/compiler/coffee.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-coffee-script/doc/coffee-script.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-coffee-script/ftdetect/coffee.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-coffee-script/ftdetect/vim-literate-coffeescript.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-coffee-script/ftplugin/coffee.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-coffee-script/ftplugin/litcoffee.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-coffee-script/indent/coffee.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-coffee-script/indent/litcoffee.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-coffee-script/syntax/coffee.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-coffee-script/syntax/litcoffee.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-coffee-script/test/test-interp.coffee delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-coffee-script/test/test-ops.coffee delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-coffee-script/test/test-reserved.coffee delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.coffee.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.haml delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.html delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.litcoffee delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-colors-solarized/README.mkd delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-colors-solarized/autoload/togglebg.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-colors-solarized/bitmaps/togglebg.png delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-colors-solarized/colors/solarized.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-colors-solarized/doc/solarized.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-colors-solarized/doc/tags delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-commentary/.github/FUNDING.yml delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-commentary/.gitignore delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-commentary/CONTRIBUTING.markdown delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-commentary/README.markdown delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-commentary/doc/commentary.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-commentary/plugin/commentary.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-expand-region/MIT-LICENSE.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-expand-region/README.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-expand-region/autoload/expand_region.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-expand-region/doc/expand_region.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-expand-region/doc/tags delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-expand-region/expand-region.gif delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-expand-region/plugin/expand_region.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-flake8/LICENSE delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-flake8/README.mdown delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-flake8/autoload/flake8.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-flake8/ftplugin/python_flake8.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-fugitive/autoload/fugitive.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-fugitive/doc/fugitive.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-fugitive/doc/tags delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-fugitive/ftdetect/fugitive.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-fugitive/plugin/fugitive.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-fugitive/syntax/fugitive.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-fugitive/syntax/fugitiveblame.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-gist/.github/FUNDING.yml delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-gist/README.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-gist/autoload/gist.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-gist/doc/gist-vim.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-gist/doc/tags delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-gist/plugin/gist.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-gitgutter/.github/issue_template.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-gitgutter/.gitignore delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-gitgutter/LICENCE delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-gitgutter/README.mkd delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-gitgutter/autoload/gitgutter.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-gitgutter/doc/gitgutter.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-gitgutter/plugin/gitgutter.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-gitgutter/screenshot.png delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-gitgutter/test/cp932.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-gitgutter/test/fixture.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-gitgutter/test/fixture_dos.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-gitgutter/test/runner.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-gitgutter/test/test delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-gitgutter/test/test_gitgutter.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-indent-object/.gitignore delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-indent-object/README.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-indent-object/doc/indent-object.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-indent-object/plugin/indent-object.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-javascript/ISSUE_TEMPLATE.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-javascript/README.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-javascript/compiler/eslint.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-javascript/extras/ctags delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-javascript/extras/flow.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-javascript/extras/jsdoc.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-javascript/extras/ngdoc.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-javascript/ftdetect/flow.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-javascript/ftdetect/javascript.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-javascript/indent/javascript.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-javascript/syntax/flow.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-javascript/syntax/javascript.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-lastplace/.gitignore delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-lastplace/LICENSE delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-lastplace/README.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-lastplace/doc/vim-lastplace.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-lastplace/plugin/vim-lastplace.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-less/.gitignore delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-less/README.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-less/ftdetect/less.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-less/ftplugin/less.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-less/indent/less.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-less/screenshot.png delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-less/syntax/less.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/.gitignore delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/.travis.yml delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/CONTRIBUTING.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/Makefile delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/README.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/doc/vim-markdown.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/ftdetect/markdown.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/ftplugin/markdown.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/indent/markdown.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/registry/markdown.yaml delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/syntax/markdown.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/test/README.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/test/folding-toc.vader delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/test/folding.vader delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/test/ge_test.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/test/indent-new-list-item.vader delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/test/indent.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/test/indent.vader delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/test/map.vader delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/test/python-folding.vader delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/test/run-tests.sh delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/test/syntax-singleline.vader delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/test/syntax.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/test/syntax.vader delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/test/table-format.vader delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/test/toc-autofit.vader delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/test/toc.vader delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-markdown/test/vimrc delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/.gitignore delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/.rspec delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/.travis.yml delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/CHANGELOG.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/CONTRIBUTING.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/Gemfile delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/Gemfile.lock delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/MIT-LICENSE.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/README.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/Rakefile delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example1.gif delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example1.gifraw=true delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example2.gif delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example2.gifraw=true delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example3.gif delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example3.gifraw=true delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example4.gif delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example4.gifraw=true delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/autoload/multiple_cursors.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/doc/multiple_cursors.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/plugin/multiple_cursors.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/spec/benchmark_spec.rb delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/spec/multiple_cursors_spec.rb delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/spec/spec_helper.rb delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-pug/README.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-pug/ftdetect/pug.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-pug/ftplugin/pug.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-pug/indent/pug.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-pug/syntax/pug.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-pyte/README delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-pyte/colors/pyte.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-python-pep8-indent/.circleci/config.yml delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-python-pep8-indent/.coveragerc delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-python-pep8-indent/.dockerignore delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-python-pep8-indent/.gitignore delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-python-pep8-indent/CONTRIBUTING.rst delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-python-pep8-indent/COPYING.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-python-pep8-indent/Dockerfile delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-python-pep8-indent/Gemfile delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-python-pep8-indent/Makefile delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-python-pep8-indent/README.rst delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-python-pep8-indent/docker-compose.yml delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-python-pep8-indent/indent/cython.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-python-pep8-indent/indent/python.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-python-pep8-indent/spec/make-coverage delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-python-pep8-indent/spec/spec_helper.rb delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-python-pep8-indent/spec/vimrc delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-repeat/.github/FUNDING.yml delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-repeat/README.markdown delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-repeat/autoload/repeat.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/.gitignore delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/.rspec delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/CONTRIBUTORS delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/ChangeLog delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/Gemfile delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/Gemfile.lock delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/INSTALL.markdown delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/NEWS delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/README delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/autoload/rubycomplete.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/compiler/eruby.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/compiler/rake.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/compiler/rspec.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/compiler/ruby.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/compiler/rubyunit.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/doc/ft-ruby-indent.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/doc/ft-ruby-omni.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/doc/ft-ruby-plugin.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/doc/ft-ruby-syntax.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/ftdetect/ruby.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/ftdetect/ruby_extra.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/ftplugin/eruby.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/ftplugin/ruby.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/indent/eruby.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/indent/ruby.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/spec/spec_helper.rb delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/syntax/eruby.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-ruby/syntax/ruby.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snipmate/.gitignore delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snipmate/Contributors.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snipmate/README.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snipmate/addon-info.json delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snipmate/autoload/snipMate.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snipmate/autoload/snipMate_python_demo.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snipmate/doc/snipMate.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snipmate/ftplugin/html_snip_helper.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snipmate/ftplugin/snippets.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snipmate/indent/snippets.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snipmate/plugin/snipMate.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snipmate/syntax/snippet.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snipmate/syntax/snippets.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snipmate/t/jumping.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snipmate/t/parser.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snipmate/t/tests.sh delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/.gitignore delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/.travis.yml delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/AUTHORS delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/LICENSE delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/README.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/README delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/ada.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/all.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/bib.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/bindzone.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/blade.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/c.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/coffee-jasmine.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/coffee-react.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/coffee.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/cpp.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/crystal.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/cs.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/css.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/cuda.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/d.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/django.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/eelixir.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/ejs.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/elm.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/erlang.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/eruby.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/go.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/haskell.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/help.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/html.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/html_minimal.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/htmldjango.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/htmljinja.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/java.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/javascript-angular.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/javascript-ember.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/javascript-jasmine-arrow.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/javascript-jsdoc.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/javascript-node.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/javascript.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/javascript_react.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/jinja2.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/json.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/julia.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/ledger.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/lhaskell.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/lua.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/mako.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/markdown.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/matlab.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/objc.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/ocaml.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/octave.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/pandoc.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/perl.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/php-laravel.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/php-phpspec.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/php-symfony2.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/php.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/plsql.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/proto.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/puppet.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/python.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/r.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/rails.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/rnoweb.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/robot.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/rst.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/ruby.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/rust.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/sh.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/snippets.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/soy.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/supercollider.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/svelte.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/tcl.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/tex.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/texmath.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/typescript.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/vim.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/vue.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/xhtml.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/xml.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/zsh.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/addon-info.json delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/autoload/vim_snippets.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/plugin/vimsnippets.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/pythonx/javascript_snippets.py delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/pythonx/vimsnippets.py delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/_.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/actionscript.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/ada.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/alpaca.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/apache.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/arduino.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/autoit.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/awk.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/c.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/chef.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/clojure.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/cmake.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/codeigniter.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/cpp.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/crystal.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/cs.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/css.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/cuda.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/d.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/dart-flutter.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/dart.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/diff.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/django.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/dosini.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/eelixir.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/elixir.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/elm.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/erlang.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/eruby.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/falcon.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/fortran.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/freemarker.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/go.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/haml.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/handlebars.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/haskell.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/helm.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/html.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/htmldjango.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/htmltornado.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/idris.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/jade.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/java.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/javascript-bemjson.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/javascript-d3.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/javascript-es6-react.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/javascript-mocha.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/javascript-openui5.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/jenkins.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/jinja.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/jsp.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/julia.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/kotlin.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/laravel.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/ledger.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/lfe.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/liquid.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/ls.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/lua.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/make.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/mako.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/markdown.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/matlab.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/mustache.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/objc.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/ocaml.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/octave.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/openfoam.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/pandoc.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/perl.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/perl6.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/phoenix.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/php.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/plsql.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/po.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/processing.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/progress.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/ps1.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/puppet.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/purescript.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/python.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/r.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/racket.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/rails.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/reason.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/rmd.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/rst.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/ruby.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/rust.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/sass.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/scala.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/scheme.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/scss.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/sh.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/simplemvcf.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/slim.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/snippets.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/sql.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/stylus.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/supercollider.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/svelte.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/systemverilog.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/tcl.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/tex.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/textile.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/twig.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/typescript.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/typescriptreact.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/verilog.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/vhdl.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/vim.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/vue.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/xml.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/xslt.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/yii-chtml.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/yii.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/snippets/zsh.snippets delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-snippets/tests.sh delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-surround/.github/FUNDING.yml delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-surround/.gitignore delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-surround/README.markdown delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-surround/doc/surround.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-surround/plugin/surround.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-yankstack/.gitignore delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-yankstack/Gemfile delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-yankstack/Gemfile.lock delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-yankstack/README.md delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-yankstack/autoload/yankstack.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-yankstack/doc/yankstack.txt delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-yankstack/plugin/yankstack.vim delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-yankstack/spec/spec_helper.rb delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-zenroom2/README.markdown delete mode 100644 vim/.vim_runtime/sources_non_forked/vim-zenroom2/plugin/zenroom2.vim delete mode 100644 vim/.vim_runtime/vimrcs/basic.vim delete mode 100644 vim/.vim_runtime/vimrcs/extended.vim delete mode 100644 vim/.vim_runtime/vimrcs/filetypes.vim delete mode 100644 vim/.vim_runtime/vimrcs/plugins_config.vim diff --git a/vim/.vim_runtime/autoload/pathogen.vim b/vim/.vim_runtime/autoload/pathogen.vim deleted file mode 100644 index a13ae08..0000000 --- a/vim/.vim_runtime/autoload/pathogen.vim +++ /dev/null @@ -1,347 +0,0 @@ -" pathogen.vim - path option manipulation -" Maintainer: Tim Pope -" Version: 2.3 - -" Install in ~/.vim/autoload (or ~\vimfiles\autoload). -" -" For management of individually installed plugins in ~/.vim/bundle (or -" ~\vimfiles\bundle), adding `execute pathogen#infect()` to the top of your -" .vimrc is the only other setup necessary. -" -" The API is documented inline below. - -if exists("g:loaded_pathogen") || &cp - finish -endif -let g:loaded_pathogen = 1 - -" Point of entry for basic default usage. Give a relative path to invoke -" pathogen#interpose() (defaults to "bundle/{}"), or an absolute path to invoke -" pathogen#surround(). Curly braces are expanded with pathogen#expand(): -" "bundle/{}" finds all subdirectories inside "bundle" inside all directories -" in the runtime path. -function! pathogen#infect(...) abort - for path in a:0 ? filter(reverse(copy(a:000)), 'type(v:val) == type("")') : ['bundle/{}'] - if path =~# '^\%({\=[$~\\/]\|{\=\w:[\\/]\).*[{}*]' - call pathogen#surround(path) - elseif path =~# '^\%([$~\\/]\|\w:[\\/]\)' - call s:warn('Change pathogen#infect('.string(path).') to pathogen#infect('.string(path.'/{}').')') - call pathogen#surround(path . '/{}') - elseif path =~# '[{}*]' - call pathogen#interpose(path) - else - call s:warn('Change pathogen#infect('.string(path).') to pathogen#infect('.string(path.'/{}').')') - call pathogen#interpose(path . '/{}') - endif - endfor - call pathogen#cycle_filetype() - if pathogen#is_disabled($MYVIMRC) - return 'finish' - endif - return '' -endfunction - -" Split a path into a list. -function! pathogen#split(path) abort - if type(a:path) == type([]) | return a:path | endif - if empty(a:path) | return [] | endif - let split = split(a:path,'\\\@]','\\&','') - endif -endfunction - -" Like findfile(), but hardcoded to use the runtimepath. -function! pathogen#runtime_findfile(file,count) abort "{{{1 - let rtp = pathogen#join(1,pathogen#split(&rtp)) - let file = findfile(a:file,rtp,a:count) - if file ==# '' - return '' - else - return fnamemodify(file,':p') - endif -endfunction - -" Section: Deprecated - -function! s:warn(msg) abort - echohl WarningMsg - echomsg a:msg - echohl NONE -endfunction - -" Prepend all subdirectories of path to the rtp, and append all 'after' -" directories in those subdirectories. Deprecated. -function! pathogen#runtime_prepend_subdirectories(path) abort - call s:warn('Change pathogen#runtime_prepend_subdirectories('.string(a:path).') to pathogen#infect('.string(a:path.'/{}').')') - return pathogen#surround(a:path . pathogen#slash() . '{}') -endfunction - -function! pathogen#incubate(...) abort - let name = a:0 ? a:1 : 'bundle/{}' - call s:warn('Change pathogen#incubate('.(a:0 ? string(a:1) : '').') to pathogen#infect('.string(name).')') - return pathogen#interpose(name) -endfunction - -" Deprecated alias for pathogen#interpose(). -function! pathogen#runtime_append_all_bundles(...) abort - if a:0 - call s:warn('Change pathogen#runtime_append_all_bundles('.string(a:1).') to pathogen#infect('.string(a:1.'/{}').')') - else - call s:warn('Change pathogen#runtime_append_all_bundles() to pathogen#infect()') - endif - return pathogen#interpose(a:0 ? a:1 . '/{}' : 'bundle/{}') -endfunction - -if exists(':Vedit') - finish -endif - -let s:vopen_warning = 0 - -function! s:find(count,cmd,file,lcd) - let rtp = pathogen#join(1,pathogen#split(&runtimepath)) - let file = pathogen#runtime_findfile(a:file,a:count) - if file ==# '' - return "echoerr 'E345: Can''t find file \"".a:file."\" in runtimepath'" - endif - if !s:vopen_warning - let s:vopen_warning = 1 - let warning = '|echohl WarningMsg|echo "Install scriptease.vim to continue using :V'.a:cmd.'"|echohl NONE' - else - let warning = '' - endif - if a:lcd - let path = file[0:-strlen(a:file)-2] - execute 'lcd `=path`' - return a:cmd.' '.pathogen#fnameescape(a:file) . warning - else - return a:cmd.' '.pathogen#fnameescape(file) . warning - endif -endfunction - -function! s:Findcomplete(A,L,P) - let sep = pathogen#slash() - let cheats = { - \'a': 'autoload', - \'d': 'doc', - \'f': 'ftplugin', - \'i': 'indent', - \'p': 'plugin', - \'s': 'syntax'} - if a:A =~# '^\w[\\/]' && has_key(cheats,a:A[0]) - let request = cheats[a:A[0]].a:A[1:-1] - else - let request = a:A - endif - let pattern = substitute(request,'/\|\'.sep,'*'.sep,'g').'*' - let found = {} - for path in pathogen#split(&runtimepath) - let path = expand(path, ':p') - let matches = split(glob(path.sep.pattern),"\n") - call map(matches,'isdirectory(v:val) ? v:val.sep : v:val') - call map(matches,'expand(v:val, ":p")[strlen(path)+1:-1]') - for match in matches - let found[match] = 1 - endfor - endfor - return sort(keys(found)) -endfunction - -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Ve :execute s:find(,'edit',,0) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vedit :execute s:find(,'edit',,0) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vopen :execute s:find(,'edit',,1) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vsplit :execute s:find(,'split',,1) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vvsplit :execute s:find(,'vsplit',,1) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vtabedit :execute s:find(,'tabedit',,1) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vpedit :execute s:find(,'pedit',,1) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vread :execute s:find(,'read',,1) - -" vim:set et sw=2 foldmethod=expr foldexpr=getline(v\:lnum)=~'^\"\ Section\:'?'>1'\:getline(v\:lnum)=~#'^fu'?'a1'\:getline(v\:lnum)=~#'^endf'?'s1'\:'=': diff --git a/vim/.vim_runtime/my_plugins/.gitkeep b/vim/.vim_runtime/my_plugins/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/vim/.vim_runtime/sources_forked/peaksea/colors/peaksea.vim b/vim/.vim_runtime/sources_forked/peaksea/colors/peaksea.vim deleted file mode 100644 index da2fdef..0000000 --- a/vim/.vim_runtime/sources_forked/peaksea/colors/peaksea.vim +++ /dev/null @@ -1,606 +0,0 @@ -" Vim color file --- psc (peak sea color) "Lite version" -" Maintainer: Pan, Shi Zhu -" URL: http://vim.sourceforge.net/scripts/script.php?script_id=760 -" Last Change: 5 Feb 2010 -" Version: 3.4 -" -" Comments and e-mails are welcomed, thanks. -" -" The peaksea color is simply a colorscheme with the default settings of -" the original ps_color. Lite version means there's no custom settings -" and fancy features such as integration with reloaded.vim -" -" The full version of ps_color.vim will be maintained until Vim 8. -" By then there will be only the lite version: peaksea.vim -" -" Note: Please set the background option in your .vimrc and/or .gvimrc -" -" It is much better *not* to set 'background' option inside -" a colorscheme file. because ":set background" improperly -" may cause colorscheme be sourced twice -" -" Color Scheme Overview: -" :ru syntax/hitest.vim -" -" Relevant Help: -" :h highlight-groups -" :h psc-cterm-color-table -" -" Colors Order: -" #rrggbb -" - -hi clear - -if exists("syntax_on") - syntax reset -endif - -let g:colors_name = "peaksea" - -" I don't want to abuse folding, but here folding is used to avoid confusion. -if &background=='light' - " for background=light {{{2 - " LIGHT COLOR DEFINE START - - hi Normal guifg=#000000 guibg=#e0e0e0 gui=NONE - hi Search guifg=White guibg=DarkRed gui=NONE - hi Visual guifg=NONE guibg=#a6caf0 gui=NONE - hi Cursor guifg=#f0f0f0 guibg=#008000 gui=NONE - " The idea of CursorIM is pretty good, however, the feature is still buggy - " in the current version (Vim 7.0). - " The following line will be kept commented until the bug fixed. - " - " hi CursorIM guifg=#f0f0f0 guibg=#800080 - hi Special guifg=#907000 guibg=NONE gui=NONE - hi Comment guifg=#606000 guibg=NONE gui=NONE - hi Number guifg=#907000 guibg=NONE gui=NONE - hi Constant guifg=#007068 guibg=NONE gui=NONE - hi StatusLine guifg=fg guibg=#a6caf0 gui=NONE - hi LineNr guifg=#686868 guibg=NONE gui=NONE - hi Question guifg=fg guibg=#d0d090 gui=NONE - hi PreProc guifg=#009030 guibg=NONE gui=NONE - hi Statement guifg=#2060a8 guibg=NONE gui=NONE - hi Type guifg=#0850a0 guibg=NONE gui=NONE - hi Todo guifg=#800000 guibg=#e0e090 gui=NONE - " NOTE THIS IS IN THE WARM SECTION - hi Error guifg=#c03000 guibg=NONE gui=NONE - hi Identifier guifg=#a030a0 guibg=NONE gui=NONE - hi ModeMsg guifg=fg guibg=#b0b0e0 gui=NONE - hi VisualNOS guifg=fg guibg=#b0b0e0 gui=NONE - hi SpecialKey guifg=#1050a0 guibg=NONE gui=NONE - hi NonText guifg=#002090 guibg=#d0d0d0 gui=NONE - hi Directory guifg=#a030a0 guibg=NONE gui=NONE - hi ErrorMsg guifg=fg guibg=#f0b090 gui=NONE - hi MoreMsg guifg=#489000 guibg=NONE gui=NONE - hi Title guifg=#a030a0 guibg=NONE gui=NONE - hi WarningMsg guifg=#b02000 guibg=NONE gui=NONE - hi WildMenu guifg=fg guibg=#d0d090 gui=NONE - hi Folded guifg=NONE guibg=#b0e0b0 gui=NONE - hi FoldColumn guifg=fg guibg=NONE gui=NONE - hi DiffAdd guifg=NONE guibg=#b0b0e0 gui=NONE - hi DiffChange guifg=NONE guibg=#e0b0e0 gui=NONE - hi DiffDelete guifg=#002090 guibg=#d0d0d0 gui=NONE - hi DiffText guifg=NONE guibg=#c0e080 gui=NONE - hi SignColumn guifg=fg guibg=#90e090 gui=NONE - - hi IncSearch guifg=White guibg=DarkRed gui=NONE - hi StatusLineNC guifg=fg guibg=#c0c0c0 gui=NONE - hi VertSplit guifg=fg guibg=#c0c0c0 gui=NONE - hi Underlined guifg=#6a5acd guibg=NONE gui=underline - hi Ignore guifg=bg guibg=NONE - " NOTE THIS IS IN THE WARM SECTION - if v:version >= 700 - if has('spell') - hi SpellBad guifg=NONE guibg=NONE guisp=#c03000 - hi SpellCap guifg=NONE guibg=NONE guisp=#2060a8 - hi SpellRare guifg=NONE guibg=NONE guisp=#a030a0 - hi SpellLocal guifg=NONE guibg=NONE guisp=#007068 - endif - hi Pmenu guifg=fg guibg=#e0b0e0 - hi PmenuSel guifg=#f0f0f0 guibg=#806060 gui=NONE - hi PmenuSbar guifg=fg guibg=#c0c0c0 gui=NONE - hi PmenuThumb guifg=fg guibg=#c0e080 gui=NONE - hi TabLine guifg=fg guibg=#c0c0c0 gui=NONE - hi TabLineFill guifg=fg guibg=#c0c0c0 gui=NONE - hi TabLineSel guifg=fg guibg=NONE gui=NONE - hi CursorColumn guifg=NONE guibg=#f0b090 - hi CursorLine guifg=NONE guibg=NONE gui=underline - hi MatchParen guifg=NONE guibg=#c0e080 - endif - - " LIGHT COLOR DEFINE END - - " Vim 7 added stuffs - if v:version >= 700 - hi Ignore gui=NONE - - " the gui=undercurl guisp could only support in Vim 7 - if has('spell') - hi SpellBad gui=undercurl - hi SpellCap gui=undercurl - hi SpellRare gui=undercurl - hi SpellLocal gui=undercurl - endif - hi TabLine gui=underline - hi TabLineFill gui=underline - hi CursorLine gui=underline - endif - - " For reversed stuffs, clear the reversed prop and set the bold prop again - hi IncSearch gui=bold - hi StatusLine gui=bold - hi StatusLineNC gui=bold - hi VertSplit gui=bold - hi Visual gui=bold - - " Enable the bold property - hi Question gui=bold - hi DiffText gui=bold - hi Statement gui=bold - hi Type gui=bold - hi MoreMsg gui=bold - hi ModeMsg gui=bold - hi NonText gui=bold - hi Title gui=bold - hi DiffDelete gui=bold - hi TabLineSel gui=bold - - " gui define for background=light end here - - " generally, a dumb terminal is dark, we assume the light terminal has 256 - " color support. - if &t_Co==8 || &t_Co==16 - set t_Co=256 - endif - if &t_Co==256 - " 256color light terminal support here - - hi Normal ctermfg=16 ctermbg=254 cterm=NONE - " Comment/Uncomment the following line to disable/enable transparency - "hi Normal ctermfg=16 ctermbg=NONE cterm=NONE - hi Search ctermfg=White ctermbg=DarkRed cterm=NONE - hi Visual ctermfg=NONE ctermbg=153 cterm=NONE - hi Cursor ctermfg=255 ctermbg=28 cterm=NONE - " hi CursorIM ctermfg=255 ctermbg=90 - hi Special ctermfg=94 ctermbg=NONE cterm=NONE - hi Comment ctermfg=58 ctermbg=NONE cterm=NONE - hi Number ctermfg=94 ctermbg=NONE cterm=NONE - hi Constant ctermfg=23 ctermbg=NONE cterm=NONE - hi StatusLine ctermfg=fg ctermbg=153 cterm=NONE - hi LineNr ctermfg=242 ctermbg=NONE cterm=NONE - hi Question ctermfg=fg ctermbg=186 cterm=NONE - hi PreProc ctermfg=29 ctermbg=NONE cterm=NONE - hi Statement ctermfg=25 ctermbg=NONE cterm=NONE - hi Type ctermfg=25 ctermbg=NONE cterm=NONE - hi Todo ctermfg=88 ctermbg=186 cterm=NONE - " NOTE THIS IS IN THE WARM SECTION - hi Error ctermfg=130 ctermbg=NONE cterm=NONE - hi Identifier ctermfg=133 ctermbg=NONE cterm=NONE - hi ModeMsg ctermfg=fg ctermbg=146 cterm=NONE - hi VisualNOS ctermfg=fg ctermbg=146 cterm=NONE - hi SpecialKey ctermfg=25 ctermbg=NONE cterm=NONE - hi NonText ctermfg=18 ctermbg=252 cterm=NONE - " Comment/Uncomment the following line to disable/enable transparency - "hi NonText ctermfg=18 ctermbg=NONE cterm=NONE - hi Directory ctermfg=133 ctermbg=NONE cterm=NONE - hi ErrorMsg ctermfg=fg ctermbg=216 cterm=NONE - hi MoreMsg ctermfg=64 ctermbg=NONE cterm=NONE - hi Title ctermfg=133 ctermbg=NONE cterm=NONE - hi WarningMsg ctermfg=124 ctermbg=NONE cterm=NONE - hi WildMenu ctermfg=fg ctermbg=186 cterm=NONE - hi Folded ctermfg=NONE ctermbg=151 cterm=NONE - hi FoldColumn ctermfg=fg ctermbg=NONE cterm=NONE - hi DiffAdd ctermfg=NONE ctermbg=146 cterm=NONE - hi DiffChange ctermfg=NONE ctermbg=182 cterm=NONE - hi DiffDelete ctermfg=18 ctermbg=252 cterm=NONE - hi DiffText ctermfg=NONE ctermbg=150 cterm=NONE - hi SignColumn ctermfg=fg ctermbg=114 cterm=NONE - - hi IncSearch ctermfg=White ctermbg=DarkRed cterm=NONE - hi StatusLineNC ctermfg=fg ctermbg=250 cterm=NONE - hi VertSplit ctermfg=fg ctermbg=250 cterm=NONE - hi Underlined ctermfg=62 ctermbg=NONE cterm=underline - hi Ignore ctermfg=bg ctermbg=NONE - " NOTE THIS IS IN THE WARM SECTION - if v:version >= 700 - if has('spell') - if 0 - " ctermsp is not supported in Vim7, we ignore it. - hi SpellBad cterm=undercurl ctermbg=NONE ctermfg=130 - hi SpellCap cterm=undercurl ctermbg=NONE ctermfg=25 - hi SpellRare cterm=undercurl ctermbg=NONE ctermfg=133 - hi SpellLocal cterm=undercurl ctermbg=NONE ctermfg=23 - else - hi SpellBad cterm=undercurl ctermbg=NONE ctermfg=NONE - hi SpellCap cterm=undercurl ctermbg=NONE ctermfg=NONE - hi SpellRare cterm=undercurl ctermbg=NONE ctermfg=NONE - hi SpellLocal cterm=undercurl ctermbg=NONE ctermfg=NONE - endif - endif - hi Pmenu ctermfg=fg ctermbg=182 - hi PmenuSel ctermfg=255 ctermbg=95 cterm=NONE - hi PmenuSbar ctermfg=fg ctermbg=250 cterm=NONE - hi PmenuThumb ctermfg=fg ctermbg=150 cterm=NONE - hi TabLine ctermfg=fg ctermbg=250 cterm=NONE - hi TabLineFill ctermfg=fg ctermbg=250 cterm=NONE - hi TabLineSel ctermfg=fg ctermbg=NONE cterm=NONE - hi CursorColumn ctermfg=NONE ctermbg=216 - hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline - hi MatchParen ctermfg=NONE ctermbg=150 - endif - - hi TabLine cterm=underline - hi TabLineFill cterm=underline - hi CursorLine cterm=underline - - " For reversed stuffs, clear the reversed prop and set the bold prop again - hi IncSearch cterm=bold - hi StatusLine cterm=bold - hi StatusLineNC cterm=bold - hi VertSplit cterm=bold - hi Visual cterm=bold - - hi NonText cterm=bold - hi Question cterm=bold - hi Title cterm=bold - hi DiffDelete cterm=bold - hi DiffText cterm=bold - hi Statement cterm=bold - hi Type cterm=bold - hi MoreMsg cterm=bold - hi ModeMsg cterm=bold - hi TabLineSel cterm=bold - - "hi lCursor ctermfg=bg ctermbg=fg cterm=NONE - endif " t_Co==256 - " }}}2 -elseif &background=='dark' - " for background=dark {{{2 - " DARK COLOR DEFINE START - - hi Normal guifg=#d0d0d0 guibg=#202020 gui=NONE - hi Comment guifg=#d0d090 guibg=NONE gui=NONE - hi Constant guifg=#80c0e0 guibg=NONE gui=NONE - hi Number guifg=#e0c060 guibg=NONE gui=NONE - hi Identifier guifg=#f0c0f0 guibg=NONE gui=NONE - hi Statement guifg=#c0d8f8 guibg=NONE gui=NONE - hi PreProc guifg=#60f080 guibg=NONE gui=NONE - hi Type guifg=#b0d0f0 guibg=NONE gui=NONE - hi Special guifg=#e0c060 guibg=NONE gui=NONE - hi Error guifg=#f08060 guibg=NONE gui=NONE - hi Todo guifg=#800000 guibg=#d0d090 gui=NONE - hi Search guifg=White guibg=DarkRed gui=NONE - hi Visual guifg=#000000 guibg=#a6caf0 gui=NONE - hi Cursor guifg=#000000 guibg=#00f000 gui=NONE - " NOTE THIS IS IN THE COOL SECTION - " hi CursorIM guifg=#000000 guibg=#f000f0 gui=NONE - hi StatusLine guifg=#000000 guibg=#a6caf0 gui=NONE - hi LineNr guifg=#b0b0b0 guibg=NONE gui=NONE - hi Question guifg=#000000 guibg=#d0d090 gui=NONE - hi ModeMsg guifg=fg guibg=#000080 gui=NONE - hi VisualNOS guifg=fg guibg=#000080 gui=NONE - hi SpecialKey guifg=#b0d0f0 guibg=NONE gui=NONE - hi NonText guifg=#6080f0 guibg=#101010 gui=NONE - hi Directory guifg=#80c0e0 guibg=NONE gui=NONE - hi ErrorMsg guifg=#d0d090 guibg=#800000 gui=NONE - hi MoreMsg guifg=#c0e080 guibg=NONE gui=NONE - hi Title guifg=#f0c0f0 guibg=NONE gui=NONE - hi WarningMsg guifg=#f08060 guibg=NONE gui=NONE - hi WildMenu guifg=#000000 guibg=#d0d090 gui=NONE - hi Folded guifg=#aaaaaa guibg=#333333 gui=NONE - hi FoldColumn guifg=#202020 guibg=NONE gui=NONE - hi DiffAdd guifg=NONE guibg=#000080 gui=NONE - hi DiffChange guifg=NONE guibg=#800080 gui=NONE - hi DiffDelete guifg=#6080f0 guibg=#202020 gui=NONE - hi DiffText guifg=#000000 guibg=#c0e080 gui=NONE - hi SignColumn guifg=#e0e0e0 guibg=#202020 gui=NONE - hi IncSearch guifg=White guibg=DarkRed gui=NONE - hi StatusLineNC guifg=#000000 guibg=#c0c0c0 gui=NONE - hi VertSplit guifg=#000000 guibg=#c0c0c0 gui=NONE - hi Underlined guifg=#80a0ff guibg=NONE gui=underline - hi Ignore guifg=#000000 guibg=NONE - " NOTE THIS IS IN THE COOL SECTION - if v:version >= 700 - if has('spell') - " the guisp= could only support in Vim 7 - hi SpellBad guifg=NONE guibg=NONE guisp=#f08060 - hi SpellCap guifg=NONE guibg=NONE guisp=#6080f0 - hi SpellRare guifg=NONE guibg=NONE guisp=#f0c0f0 - hi SpellLocal guifg=NONE guibg=NONE guisp=#c0d8f8 - endif - - hi Pmenu guifg=#dddddd guibg=#444444 gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE - hi PmenuSel guifg=#000000 guibg=#ffffff gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE - - hi TabLine guifg=fg guibg=#008000 gui=NONE - hi TabLineFill guifg=fg guibg=#008000 gui=NONE - hi TabLineSel guifg=fg guibg=NONE gui=NONE - hi CursorColumn guifg=NONE guibg=#800000 gui=NONE - hi CursorLine guifg=NONE guibg=NONE gui=underline - hi MatchParen guifg=NONE guibg=#800080 - endif - - " DARK COLOR DEFINE END - - " Vim 7 added stuffs - if v:version >= 700 - hi Ignore gui=NONE - - " the gui=undercurl could only support in Vim 7 - if has('spell') - hi SpellBad gui=undercurl - hi SpellCap gui=undercurl - hi SpellRare gui=undercurl - hi SpellLocal gui=undercurl - endif - hi TabLine gui=underline - hi TabLineFill gui=underline - hi Underlined gui=underline - hi CursorLine gui=underline - endif - - " gui define for background=dark end here - - if &t_Co==8 || &t_Co==16 - " for 8-color and 16-color term - hi Normal ctermfg=LightGrey ctermbg=Black - hi Special ctermfg=Yellow ctermbg=bg - hi Comment ctermfg=DarkYellow ctermbg=bg - hi Constant ctermfg=Blue ctermbg=bg - hi Number ctermfg=Yellow ctermbg=bg - hi LineNr ctermfg=DarkGrey ctermbg=bg - hi PreProc ctermfg=Green ctermbg=bg - hi Statement ctermfg=Cyan ctermbg=bg - hi Type ctermfg=Cyan ctermbg=bg - hi Error ctermfg=Red ctermbg=bg - hi Identifier ctermfg=Magenta ctermbg=bg - hi SpecialKey ctermfg=Cyan ctermbg=bg - hi NonText ctermfg=Blue ctermbg=bg - hi Directory ctermfg=Blue ctermbg=bg - hi MoreMsg ctermfg=Green ctermbg=bg - hi Title ctermfg=Magenta ctermbg=bg - hi WarningMsg ctermfg=Red ctermbg=bg - hi DiffDelete ctermfg=Blue ctermbg=bg - - hi Search ctermfg=NONE ctermbg=DarkRed - hi Visual ctermfg=Black ctermbg=DarkCyan - hi Cursor ctermfg=Black ctermbg=Green - hi StatusLine ctermfg=Black ctermbg=DarkCyan - hi Question ctermfg=Black ctermbg=DarkYellow - hi Todo ctermfg=DarkRed ctermbg=DarkYellow - hi Folded ctermfg=DarkGrey ctermbg=DarkGrey - hi FoldColumn ctermfg=DarkGrey ctermbg=NONE - hi ModeMsg ctermfg=Grey ctermbg=DarkBlue - hi VisualNOS ctermfg=Grey ctermbg=DarkBlue - hi ErrorMsg ctermfg=DarkYellow ctermbg=DarkRed - hi WildMenu ctermfg=Black ctermbg=DarkYellow - hi SignColumn ctermfg=White ctermbg=DarkGreen - hi DiffText ctermfg=Black ctermbg=DarkYellow - - if v:version >= 700 - if has('spell') - hi SpellBad ctermfg=NONE ctermbg=DarkRed - hi SpellCap ctermfg=NONE ctermbg=DarkBlue - hi SpellRare ctermfg=NONE ctermbg=DarkMagenta - hi SpellLocal ctermfg=NONE ctermbg=DarkGreen - endif - - hi Pmenu ctermfg=White ctermbg=DarkGrey - hi PmenuSel ctermfg=Black ctermbg=White - - hi TabLine ctermfg=fg ctermbg=Black cterm=underline - hi TabLineFill ctermfg=fg ctermbg=Black cterm=underline - hi CursorColumn ctermfg=NONE ctermbg=DarkRed - - hi TabLineSel ctermfg=fg ctermbg=bg - hi CursorLine ctermfg=NONE ctermbg=bg cterm=underline - - hi MatchParen ctermfg=NONE ctermbg=DarkMagenta - endif - if &t_Co==8 - " 8 colour terminal support, this assumes 16 colour is available through - " setting the 'bold' attribute, will get bright foreground colour. - " However, the bright background color is not available for 8-color terms. - " - " You can manually set t_Co=16 in your .vimrc to see if your terminal - " supports 16 colours, - hi DiffText cterm=none - hi Visual cterm=none - hi Cursor cterm=none - hi Comment cterm=none - hi Todo cterm=none - hi StatusLine cterm=none - hi Question cterm=none - hi DiffChange cterm=none - hi ModeMsg cterm=none - hi VisualNOS cterm=none - hi ErrorMsg cterm=none - hi WildMenu cterm=none - hi DiffAdd cterm=none - hi Folded cterm=none - hi DiffDelete cterm=none - hi Normal cterm=none - hi PmenuThumb cterm=none - hi Search cterm=bold - hi Special cterm=bold - hi Constant cterm=bold - hi Number cterm=bold - hi LineNr cterm=bold - hi PreProc cterm=bold - hi Statement cterm=bold - hi Type cterm=bold - hi Error cterm=bold - hi Identifier cterm=bold - hi SpecialKey cterm=bold - hi NonText cterm=bold - hi MoreMsg cterm=bold - hi Title cterm=bold - hi WarningMsg cterm=bold - hi FoldColumn cterm=bold - hi SignColumn cterm=bold - hi Directory cterm=bold - hi DiffDelete cterm=bold - else - " Background > 7 is only available with 16 or more colors - - hi WarningMsg cterm=none - hi Search cterm=none - hi Visual cterm=none - hi Cursor cterm=none - hi Special cterm=none - hi Comment cterm=none - hi Constant cterm=none - hi Number cterm=none - hi LineNr cterm=none - hi PreProc cterm=none - hi Todo cterm=none - hi Error cterm=none - hi Identifier cterm=none - hi Folded cterm=none - hi SpecialKey cterm=none - hi Directory cterm=none - hi ErrorMsg cterm=none - hi Normal cterm=none - hi PmenuThumb cterm=none - hi WildMenu cterm=none - hi FoldColumn cterm=none - hi SignColumn cterm=none - hi DiffAdd cterm=none - hi DiffChange cterm=none - hi Question cterm=none - hi StatusLine cterm=none - hi DiffText cterm=none - hi IncSearch cterm=reverse - hi StatusLineNC cterm=reverse - hi VertSplit cterm=reverse - - " Well, well, bold font with color 0-7 is not possible. - " So, the Question, StatusLine, DiffText cannot act as expected. - - hi Statement cterm=none - hi Type cterm=none - hi MoreMsg cterm=none - hi ModeMsg cterm=none - hi NonText cterm=none - hi Title cterm=none - hi VisualNOS cterm=none - hi DiffDelete cterm=none - hi TabLineSel cterm=none - - endif - elseif &t_Co==256 - " 256color dark terminal support here - hi Normal ctermfg=252 ctermbg=234 cterm=NONE - " Comment/Uncomment the following line to disable/enable transparency - "hi Normal ctermfg=252 ctermbg=NONE cterm=NONE - hi Comment ctermfg=186 ctermbg=NONE cterm=NONE - hi Constant ctermfg=110 ctermbg=NONE cterm=NONE - hi Number ctermfg=179 ctermbg=NONE cterm=NONE - hi Identifier ctermfg=219 ctermbg=NONE cterm=NONE - hi Statement ctermfg=153 ctermbg=NONE cterm=NONE - hi PreProc ctermfg=84 ctermbg=NONE cterm=NONE - hi Type ctermfg=153 ctermbg=NONE cterm=NONE - hi Special ctermfg=179 ctermbg=NONE cterm=NONE - hi Error ctermfg=209 ctermbg=NONE cterm=NONE - hi Todo ctermfg=88 ctermbg=186 cterm=NONE - hi Search ctermfg=White ctermbg=DarkRed cterm=NONE - hi Visual ctermfg=16 ctermbg=153 cterm=NONE - hi Cursor ctermfg=16 ctermbg=46 cterm=NONE - " NOTE THIS IS IN THE COOL SECTION - " hi CursorIM ctermfg=16 ctermbg=201 cterm=NONE - hi StatusLine ctermfg=16 ctermbg=153 cterm=NONE - hi LineNr ctermfg=249 ctermbg=NONE cterm=NONE - hi Question ctermfg=16 ctermbg=186 cterm=NONE - hi ModeMsg ctermfg=fg ctermbg=18 cterm=NONE - hi VisualNOS ctermfg=fg ctermbg=18 cterm=NONE - hi SpecialKey ctermfg=153 ctermbg=NONE cterm=NONE - hi NonText ctermfg=69 ctermbg=233 cterm=NONE - " Comment/Uncomment the following line to disable/enable transparency - "hi NonText ctermfg=69 ctermbg=NONE cterm=NONE - hi Directory ctermfg=110 ctermbg=NONE cterm=NONE - hi ErrorMsg ctermfg=186 ctermbg=88 cterm=NONE - hi MoreMsg ctermfg=150 ctermbg=NONE cterm=NONE - hi Title ctermfg=219 ctermbg=NONE cterm=NONE - hi WarningMsg ctermfg=209 ctermbg=NONE cterm=NONE - hi WildMenu ctermfg=16 ctermbg=186 cterm=NONE - hi Folded ctermfg=NONE ctermbg=DarkGrey cterm=NONE - hi FoldColumn ctermfg=DarkGrey ctermbg=NONE cterm=NONE - hi DiffAdd ctermfg=NONE ctermbg=18 cterm=NONE - hi DiffChange ctermfg=NONE ctermbg=90 cterm=NONE - hi DiffDelete ctermfg=69 ctermbg=234 cterm=NONE - hi DiffText ctermfg=16 ctermbg=150 cterm=NONE - hi SignColumn ctermfg=254 ctermbg=28 cterm=NONE - hi IncSearch ctermfg=White ctermbg=DarkRed cterm=NONE - hi StatusLineNC ctermfg=16 ctermbg=250 cterm=NONE - hi VertSplit ctermfg=16 ctermbg=250 cterm=NONE - hi Underlined ctermfg=111 ctermbg=NONE cterm=underline - hi Ignore ctermfg=16 ctermbg=NONE - " NOTE THIS IS IN THE COOL SECTION - if v:version >= 700 - if has('spell') - " the ctermsp= is not supported in Vim 7 we simply ignored - if 0 - hi SpellBad cterm=undercurl ctermbg=NONE ctermfg=209 - hi SpellCap cterm=undercurl ctermbg=NONE ctermfg=69 - hi SpellRare cterm=undercurl ctermbg=NONE ctermfg=219 - hi SpellLocal cterm=undercurl ctermbg=NONE ctermfg=153 - else - hi SpellBad cterm=undercurl ctermbg=NONE ctermfg=NONE - hi SpellCap cterm=undercurl ctermbg=NONE ctermfg=NONE - hi SpellRare cterm=undercurl ctermbg=NONE ctermfg=NONE - hi SpellLocal cterm=undercurl ctermbg=NONE ctermfg=NONE - endif - endif - - hi Pmenu ctermfg=White ctermbg=DarkGrey - hi PmenuSel ctermfg=Black ctermbg=White cterm=NONE - - hi TabLine ctermfg=fg ctermbg=Black cterm=NONE - hi TabLineFill ctermfg=fg ctermbg=Black cterm=NONE - hi TabLineSel ctermfg=fg ctermbg=NONE cterm=NONE - - hi CursorColumn ctermfg=NONE ctermbg=88 cterm=NONE - hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline - hi MatchParen ctermfg=NONE ctermbg=90 - hi TabLine cterm=underline - hi TabLineFill cterm=underline - hi Underlined cterm=underline - hi CursorLine cterm=underline - endif - - endif " t_Co - - " }}}2 -endif - -" Links: -" -" COLOR LINKS DEFINE START - -hi link String Constant -" Character must be different from strings because in many languages -" (especially C, C++) a 'char' variable is scalar while 'string' is pointer, -" mistaken a 'char' for a 'string' will cause disaster! -hi link Character Number -hi link SpecialChar LineNr -hi link Tag Identifier -hi link cCppOut LineNr -" The following are not standard hi links, -" these are used by DrChip -hi link Warning MoreMsg -hi link Notice Constant -" these are used by Calendar -hi link CalToday PreProc -" these are used by TagList -hi link MyTagListTagName IncSearch -hi link MyTagListTagScope Constant - -hi TabLineFill guifg=#9098a0 guibg=#111111 -hi TabLine guifg=black guibg=#888888 -hi TabLineSel guifg=white guibg=#202020 gui=bold - -" COLOR LINKS DEFINE END - -" vim:et:nosta:sw=2:ts=8: -" vim600:fdm=marker:fdl=1: diff --git a/vim/.vim_runtime/sources_forked/set_tabline/plugin/set_tabline.vim b/vim/.vim_runtime/sources_forked/set_tabline/plugin/set_tabline.vim deleted file mode 100644 index 5d53e82..0000000 --- a/vim/.vim_runtime/sources_forked/set_tabline/plugin/set_tabline.vim +++ /dev/null @@ -1,30 +0,0 @@ -function! CustomizedTabLine() - let s = '' - let t = tabpagenr() - let i = 1 - while i <= tabpagenr('$') - let buflist = tabpagebuflist(i) - let winnr = tabpagewinnr(i) - let s .= '%' . i . 'T' - let s .= (i == t ? '%1*' : '%2*') - let s .= ' ' - let s .= i . ':' - let s .= '%*' - let s .= (i == t ? '%#TabLineSel#' : '%#TabLine#') - let file = bufname(buflist[winnr - 1]) - let file = fnamemodify(file, ':p:t') - if file == '' - let file = '[No Name]' - endif - let s .= file - let s .= ' ' - let i = i + 1 - endwhile - let s .= '%T%#TabLineFill#%=' - let s .= (tabpagenr('$') > 1 ? '%999XX' : 'X') - return s -endfunction - -" Always show the tablilne -set stal=2 -set tabline=%!CustomizedTabLine() diff --git a/vim/.vim_runtime/sources_forked/vim-irblack-forked/README b/vim/.vim_runtime/sources_forked/vim-irblack-forked/README deleted file mode 100644 index 089fe73..0000000 --- a/vim/.vim_runtime/sources_forked/vim-irblack-forked/README +++ /dev/null @@ -1,11 +0,0 @@ -This is a version of Infinite Red's vim theme (http://blog.infinitered.com/entries/show/8) packaged to work with Tim Pope's pathogen plugin (http://www.vim.org/scripts/script.php?script_id=2332). - -To use it (assuming you're using pathogen): - -- go to your bundle directory (.vim/bundle or .vimbundles) and clone the repo: - - git clone git@github.com:wgibbs/vim-irblack.git - -- edit your .vimrc and add: - - :colorscheme ir_black diff --git a/vim/.vim_runtime/sources_forked/vim-irblack-forked/colors/ir_black.vim b/vim/.vim_runtime/sources_forked/vim-irblack-forked/colors/ir_black.vim deleted file mode 100644 index b06b12e..0000000 --- a/vim/.vim_runtime/sources_forked/vim-irblack-forked/colors/ir_black.vim +++ /dev/null @@ -1,220 +0,0 @@ -" ir_black color scheme -" More at: http://blog.infinitered.com/entries/show/8 - - -" ******************************************************************************** -" Standard colors used in all ir_black themes: -" Note, x:x:x are RGB values -" -" normal: #f6f3e8 -" -" string: #A8FF60 168:255:96 -" string inner (punc, code, etc): #00A0A0 0:160:160 -" number: #FF73FD 255:115:253 -" comments: #7C7C7C 124:124:124 -" keywords: #96CBFE 150:203:254 -" operators: white -" class: #FFFFB6 255:255:182 -" method declaration name: #FFD2A7 255:210:167 -" regular expression: #E9C062 233:192:98 -" regexp alternate: #FF8000 255:128:0 -" regexp alternate 2: #B18A3D 177:138:61 -" variable: #C6C5FE 198:197:254 -" -" Misc colors: -" red color (used for whatever): #FF6C60 255:108:96 -" light red: #FFB6B0 255:182:176 -" -" brown: #E18964 good for special -" -" lightpurpleish: #FFCCFF -" -" Interface colors: -" background color: black -" cursor (where underscore is used): #FFA560 255:165:96 -" cursor (where block is used): white -" visual selection: #1D1E2C -" current line: #151515 21:21:21 -" search selection: #07281C 7:40:28 -" line number: #3D3D3D 61:61:61 - - -" ******************************************************************************** -" The following are the preferred 16 colors for your terminal -" Colors Bright Colors -" Black #4E4E4E #7C7C7C -" Red #FF6C60 #FFB6B0 -" Green #A8FF60 #CEFFAB -" Yellow #FFFFB6 #FFFFCB -" Blue #96CBFE #FFFFCB -" Magenta #FF73FD #FF9CFE -" Cyan #C6C5FE #DFDFFE -" White #EEEEEE #FFFFFF - - -" ******************************************************************************** -set background=dark -hi clear - -if exists("syntax_on") - syntax reset -endif - -let colors_name = "ir_black" - - -"hi Example guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE - -" General colors -hi Normal guifg=#f6f3e8 guibg=black gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE -hi NonText guifg=#070707 guibg=black gui=NONE ctermfg=black ctermbg=NONE cterm=NONE - -hi Cursor guifg=black guibg=white gui=NONE ctermfg=black ctermbg=white cterm=reverse -hi LineNr guifg=#3D3D3D guibg=black gui=NONE ctermfg=darkgray ctermbg=NONE cterm=NONE - -hi VertSplit guifg=#202020 guibg=#202020 gui=NONE ctermfg=darkgray ctermbg=darkgray cterm=NONE -hi StatusLine guifg=#CCCCCC guibg=#202020 gui=None ctermfg=white ctermbg=darkgray cterm=NONE -hi StatusLineNC guifg=black guibg=#202020 gui=NONE ctermfg=blue ctermbg=darkgray cterm=NONE - -hi Folded guifg=#a0a8b0 guibg=#384048 gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE -hi Title guifg=#f6f3e8 guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=NONE -hi Visual guifg=NONE guibg=DarkBlue gui=NONE ctermfg=NONE ctermbg=darkgray cterm=NONE - -hi SpecialKey guifg=#808080 guibg=#343434 gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE - -hi WildMenu guifg=white guibg=DarkRed gui=NONE ctermfg=white ctermbg=DarkRed cterm=NONE -hi PmenuSbar guifg=black guibg=white gui=NONE ctermfg=black ctermbg=white cterm=NONE -"hi Ignore guifg=gray guibg=black gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE - -hi Error guifg=NONE guibg=red gui=undercurl ctermfg=white ctermbg=red cterm=NONE guisp=#FF6C60 " undercurl color -hi ErrorMsg guifg=white guibg=#FF6C60 gui=BOLD ctermfg=white ctermbg=red cterm=NONE -hi WarningMsg guifg=white guibg=#FF6C60 gui=BOLD ctermfg=white ctermbg=red cterm=NONE - -" Message displayed in lower left, such as --INSERT-- -hi ModeMsg guifg=black guibg=#C6C5FE gui=BOLD ctermfg=black ctermbg=cyan cterm=BOLD - -if version >= 700 " Vim 7.x specific colors - hi CursorLine guifg=NONE guibg=#121212 gui=NONE ctermfg=NONE ctermbg=NONE cterm=BOLD - hi CursorColumn guifg=NONE guibg=#121212 gui=NONE ctermfg=NONE ctermbg=NONE cterm=BOLD - hi MatchParen guifg=#f6f3e8 guibg=#857b6f gui=BOLD ctermfg=white ctermbg=darkgray cterm=NONE - hi Pmenu guifg=#f6f3e8 guibg=#444444 gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE - hi PmenuSel guifg=#000000 guibg=#cae682 gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE - hi Search guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE -endif - -" Syntax highlighting -hi Comment guifg=#7C7C7C guibg=NONE gui=NONE ctermfg=darkgray ctermbg=NONE cterm=NONE -hi String guifg=#A8FF60 guibg=NONE gui=NONE ctermfg=green ctermbg=NONE cterm=NONE -hi Number guifg=#FF73FD guibg=NONE gui=NONE ctermfg=magenta ctermbg=NONE cterm=NONE - -hi Keyword guifg=#96CBFE guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE -hi PreProc guifg=#96CBFE guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE -hi Conditional guifg=#6699CC guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE " if else end - -hi Todo guifg=#8f8f8f guibg=NONE gui=NONE ctermfg=red ctermbg=NONE cterm=NONE -hi Constant guifg=#99CC99 guibg=NONE gui=NONE ctermfg=cyan ctermbg=NONE cterm=NONE - -hi Identifier guifg=#C6C5FE guibg=NONE gui=NONE ctermfg=cyan ctermbg=NONE cterm=NONE -hi Function guifg=#FFD2A7 guibg=NONE gui=NONE ctermfg=brown ctermbg=NONE cterm=NONE -hi Type guifg=#FFFFB6 guibg=NONE gui=NONE ctermfg=yellow ctermbg=NONE cterm=NONE -hi Statement guifg=#6699CC guibg=NONE gui=NONE ctermfg=lightblue ctermbg=NONE cterm=NONE - -hi Special guifg=#E18964 guibg=NONE gui=NONE ctermfg=white ctermbg=NONE cterm=NONE -hi Delimiter guifg=#00A0A0 guibg=NONE gui=NONE ctermfg=cyan ctermbg=NONE cterm=NONE -hi Operator guifg=#6699CC guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE - -hi link Character Constant -hi link Boolean Constant -hi link Float Number -hi link Repeat Statement -hi link Label Statement -hi link Exception Statement -hi link Include PreProc -hi link Define PreProc -hi link Macro PreProc -hi link PreCondit PreProc -hi link StorageClass Type -hi link Structure Type -hi link Typedef Type -hi link Tag Special -hi link SpecialChar Special -hi link SpecialComment Special -hi link Debug Special - - -" Special for Ruby -hi rubyRegexp guifg=#B18A3D guibg=NONE gui=NONE ctermfg=brown ctermbg=NONE cterm=NONE -hi rubyRegexpDelimiter guifg=#FF8000 guibg=NONE gui=NONE ctermfg=brown ctermbg=NONE cterm=NONE -hi rubyEscape guifg=white guibg=NONE gui=NONE ctermfg=cyan ctermbg=NONE cterm=NONE -hi rubyInterpolationDelimiter guifg=#00A0A0 guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE -hi rubyControl guifg=#6699CC guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE "and break, etc -"hi rubyGlobalVariable guifg=#FFCCFF guibg=NONE gui=NONE ctermfg=lightblue ctermbg=NONE cterm=NONE "yield -hi rubyStringDelimiter guifg=#336633 guibg=NONE gui=NONE ctermfg=lightgreen ctermbg=NONE cterm=NONE -"rubyInclude -"rubySharpBang -"rubyAccess -"rubyPredefinedVariable -"rubyBoolean -"rubyClassVariable -"rubyBeginEnd -"rubyRepeatModifier -"hi link rubyArrayDelimiter Special " [ , , ] -"rubyCurlyBlock { , , } - -hi link rubyClass Keyword -hi link rubyModule Keyword -hi link rubyKeyword Keyword -hi link rubyOperator Operator -hi link rubyIdentifier Identifier -hi link rubyInstanceVariable Identifier -hi link rubyGlobalVariable Identifier -hi link rubyClassVariable Identifier -hi link rubyConstant Type - - -" Special for Java -" hi link javaClassDecl Type -hi link javaScopeDecl Identifier -hi link javaCommentTitle javaDocSeeTag -hi link javaDocTags javaDocSeeTag -hi link javaDocParam javaDocSeeTag -hi link javaDocSeeTagParam javaDocSeeTag - -hi javaDocSeeTag guifg=#CCCCCC guibg=NONE gui=NONE ctermfg=darkgray ctermbg=NONE cterm=NONE -hi javaDocSeeTag guifg=#CCCCCC guibg=NONE gui=NONE ctermfg=darkgray ctermbg=NONE cterm=NONE -"hi javaClassDecl guifg=#CCFFCC guibg=NONE gui=NONE ctermfg=white ctermbg=NONE cterm=NONE - - -" Special for XML -hi link xmlTag Keyword -hi link xmlTagName Conditional -hi link xmlEndTag Identifier - - -" Special for HTML -hi link htmlTag Keyword -hi link htmlTagName Conditional -hi link htmlEndTag Identifier - - -" Special for Javascript -hi link javaScriptNumber Number - - -" Special for Python -"hi link pythonEscape Keyword - - -" Special for CSharp -hi link csXmlTag Keyword - - -" Amix customizations - -" Tab line -hi TabLineFill guifg=#000000 guibg=#000000 gui=NONE -hi TabLine guifg=black guibg=#888888 gui=NONE -hi TabLineSel guifg=white guibg=#000000 gui=bold - -" Search higlights -hi Search guifg=White guibg=DarkRed gui=NONE diff --git a/vim/.vim_runtime/sources_forked/vim-peepopen/README b/vim/.vim_runtime/sources_forked/vim-peepopen/README deleted file mode 100644 index e69de29..0000000 diff --git a/vim/.vim_runtime/sources_forked/vim-peepopen/README.md b/vim/.vim_runtime/sources_forked/vim-peepopen/README.md deleted file mode 100644 index bec6f87..0000000 --- a/vim/.vim_runtime/sources_forked/vim-peepopen/README.md +++ /dev/null @@ -1,36 +0,0 @@ -README.md

vim-peepopen

- -

A plugin for the Vim text editor. PeepOpen provides fuzzy search of filenames and paths in a programming project.

- -

Installation

- -

Get the PeepOpen.app and open it at least once to approve the Mac OS X security dialog.

- -

Standard:

- -

Copy peepopen.vim to your ~/.vim/plugin directory.

- -

With Tim Pope’s Pathogen:

- -

Copy the entire vim-peepopen plugin directory to your ~/.vim/bundle directory.

- -

Usage

- -

<Leader>p opens the current project directory with the PeepOpen application.

- -

Use the vim-rooter plugin for automatic assignment of the current working directory for projects stored in Git.

- -

(Leader is mapped to ‘\’ by default)

- -

Options

- -

Automatically quit PeepOpen when Vim exits.

- -

let p:peepopen_quit = 1

- -

Credits

- - diff --git a/vim/.vim_runtime/sources_forked/vim-peepopen/plugin/peepopen.vim b/vim/.vim_runtime/sources_forked/vim-peepopen/plugin/peepopen.vim deleted file mode 100644 index eadb413..0000000 --- a/vim/.vim_runtime/sources_forked/vim-peepopen/plugin/peepopen.vim +++ /dev/null @@ -1,57 +0,0 @@ -" plugin/peepopen.vim -" Author: Geoffrey Grosenbach -" License: MIT License - -" Install this file as plugin/peepopen.vim. - -" If you prefer Command-T, use this snippet in your .gvimrc: - -" if has("gui_macvim") -" macmenu &File.New\ Tab key= -" map PeepOpen -" end - -" ============================================================================ - -" Exit quickly when: -" - this plugin was already loaded (or disabled) -" - when 'compatible' is set -if &cp || exists("g:peepopen_loaded") && g:peepopen_loaded - finish -endif -let g:peepopen_loaded = 1 -let s:save_cpo = &cpo -set cpo&vim - -if !exists('g:peepopen_quit') - let g:peepopen_quit = 0 -endif - -function s:LaunchPeepOpenViaVim() - silent exe "!open -a PeepOpen " . shellescape(getcwd()) - redraw! -endfunction - -function s:QuitPeepOpenViaVim() - silent exe '!ps ax | grep PeepOpen | grep -v grep | awk "{ print $1 }" | xargs kill -QUIT' -endfunction - -command! PeepOpen :call LaunchPeepOpenViaVim() -command! PeepQuit :call QuitPeepOpenViaVim() - -if has('autocmd') && exists('g:peepopen_quit') && g:peepopen_quit - au VimLeave * :call QuitPeepOpenViaVim() -endif - -noremap

ack.vim

- -

Run your favorite search tool from Vim, with an enhanced results list.

- -

This plugin was designed as a Vim frontend for the programmer’s search tool -ack. ack can be used as a replacement for 99% of the uses of grep. The -plugin allows you to search with ack from within Vim and shows the results in a -split window.

- -

But here’s a little secret for the Vim-seasoned: it’s just a light wrapper for -Vim’s grepprg and the quickfix window for match results. This makes it easy -to integrate with your own Vim configuration and use existing knowledge of core -features. It also means the plugin is flexible to use with other search tools.

- -

Installation

- -

ack

- -

You will need ack (>= 2.0), of course. To install it follow the -manual.

- -

The Plugin

- -

It is recommended to use one of the popular plugin managers for Vim. There are -many and you probably already have a preferred one, but a few examples for your -copy-and-paste convenience:

- -

Pathogen

- -
$ git clone https://github.com/mileszs/ack.vim.git ~/.vim/bundle/ack.vim
- -

Vundle

- -
Plugin 'mileszs/ack.vim'
- -

NeoBundle

- -
NeoBundle 'mileszs/ack.vim'
- -

Manual (not recommended)

- -

Download the plugin and extract it in ~/.vim/ (or -%PROGRAMFILES%/Vim/vimfiles on Windows).

- -

Usage

- -
:Ack [options] {pattern} [{directories}]
- -

Search recursively in {directories} (which defaults to the current directory) -for the {pattern}.

- -

Files containing the search term will be listed in the quickfix window, along -with the line number of the occurrence, once for each occurrence. <Enter> on -a line in this window will open the file and place the cursor on the matching -line.

- -

Just like where you use :grep, :grepadd, :lgrep, and :lgrepadd, you can -use :Ack, :AckAdd, :LAck, and :LAckAdd respectively. (See :help Ack -after installing, or doc/ack.txt in the repo, for more information.)

- -

For more ack help see ack documentation.

- -

Keyboard Shortcuts

- -

The quickfix results window is augmented with these convenience mappings:

- -
?    a quick summary of these keys, repeat to close
-o    to open (same as Enter)
-O    to open and close the quickfix window
-go   to preview file, open but maintain focus on ack.vim results
-t    to open in new tab
-T    to open in new tab without moving to it
-h    to open in horizontal split
-H    to open in horizontal split, keeping focus on the results
-v    to open in vertical split
-gv   to open in vertical split, keeping focus on the results
-q    to close the quickfix window
- -

Gotchas

- -

To search for a pattern that contains whitespace, you need to enclose the -pattern in single quotes. For example: :Ack 'foo bar' to search for -‘foo bar’.

- -

Some characters have special meaning, and need to be escaped in your search -pattern. For instance, #. You need to escape it with :Ack '\\\#define -foo' to search for ‘#define foo’. See issue #5.

- -

Possibly FAQ

- -

Can I use ag (The Silver Searcher) with this?

- -

Absolutely, and probably other tools if their output is similar or you can -write a pattern match for it–just set g:ackprg. If you like, you can fall -back to Ack in case you use your vimrc on a system without Ag available:

- -
if executable('ag')
-  let g:ackprg = 'ag --vimgrep'
-endif
- -

Since Ack is quite portable you might check a copy of it into your dotfiles -repository in ~/bin so you’ll nearly always have it available.

- -

What’s the difference from ag.vim?

- -

Well… not a lot really.

- -

Present maintainer, yours truly, kind of wishes they never forked, -contributes to both, and wouldn’t mind seeing them merged again. ag.vim got a -nice code clean-up (which ack.vim is now hopefully getting), and ack.vim picked -up a few features that haven’t made their way to ag.vim, like :AckWindow, -optional background search execution with vim-dispatch, and auto-previewing.

- -

I don’t want to jump to the first result automatically.

- -

Use :Ack!, with bang. If you want this behavior most of the time, you might -like an abbreviation or mapping in your personal config, something like these:

- -
cnoreabbrev Ack Ack!
-nnoremap <Leader>a :Ack!<Space>
- -

Most of the :[L]Ack* commands support this. Note that this behavior follows -the convention of Vim’s built-in :grep and :make commands.

- -

Changelog

- -

Please see the GitHub releases page.

- -

Credits

- -

This plugin is derived from Antoine Imbert’s blog post ack and Vim -Integration (in particular, the function in the update to the post). Miles -Sterrett packaged it up as a plugin and documented it in Vim’s help -format, and since then many contributors have submitted -enhancements and fixes.

- -

And of course, where would we be without ack. And, you know, Vim.

diff --git a/vim/.vim_runtime/sources_non_forked/ack.vim/autoload/ack.vim b/vim/.vim_runtime/sources_non_forked/ack.vim/autoload/ack.vim deleted file mode 100644 index b6afdba..0000000 --- a/vim/.vim_runtime/sources_non_forked/ack.vim/autoload/ack.vim +++ /dev/null @@ -1,246 +0,0 @@ -if exists('g:autoloaded_ack') || &cp - finish -endif - -if exists('g:ack_use_dispatch') - if g:ack_use_dispatch && !exists(':Dispatch') - call s:Warn('Dispatch not loaded! Falling back to g:ack_use_dispatch = 0.') - let g:ack_use_dispatch = 0 - endif -else - let g:ack_use_dispatch = 0 -endif - -"----------------------------------------------------------------------------- -" Public API -"----------------------------------------------------------------------------- - -function! ack#Ack(cmd, args) "{{{ - call s:Init(a:cmd) - redraw - - " Local values that we'll temporarily set as options when searching - let l:grepprg = g:ackprg - let l:grepformat = '%f:%l:%c:%m,%f:%l:%m' " Include column number - - " Strip some options that are meaningless for path search and set match - " format accordingly. - if s:SearchingFilepaths() - let l:grepprg = substitute(l:grepprg, '-H\|--column', '', 'g') - let l:grepformat = '%f' - endif - - " Check user policy for blank searches - if empty(a:args) - if !g:ack_use_cword_for_empty_search - echo "No regular expression found." - return - endif - endif - - " If no pattern is provided, search for the word under the cursor - let l:grepargs = empty(a:args) ? expand("") : a:args . join(a:000, ' ') - - "Bypass search if cursor is on blank string - if l:grepargs == "" - echo "No regular expression found." - return - endif - - " NOTE: we escape special chars, but not everything using shellescape to - " allow for passing arguments etc - let l:escaped_args = escape(l:grepargs, '|#%') - - echo "Searching ..." - - if g:ack_use_dispatch - call s:SearchWithDispatch(l:grepprg, l:escaped_args, l:grepformat) - else - call s:SearchWithGrep(a:cmd, l:grepprg, l:escaped_args, l:grepformat) - endif - - " Dispatch has no callback mechanism currently, we just have to display the - " list window early and wait for it to populate :-/ - call ack#ShowResults() - call s:Highlight(l:grepargs) -endfunction "}}} - -function! ack#AckFromSearch(cmd, args) "{{{ - let search = getreg('/') - " translate vim regular expression to perl regular expression. - let search = substitute(search, '\(\\<\|\\>\)', '\\b', 'g') - call ack#Ack(a:cmd, '"' . search . '" ' . a:args) -endfunction "}}} - -function! ack#AckHelp(cmd, args) "{{{ - let args = a:args . ' ' . s:GetDocLocations() - call ack#Ack(a:cmd, args) -endfunction "}}} - -function! ack#AckWindow(cmd, args) "{{{ - let files = tabpagebuflist() - - " remove duplicated filenames (files appearing in more than one window) - let files = filter(copy(sort(files)), 'index(files,v:val,v:key+1)==-1') - call map(files, "bufname(v:val)") - - " remove unnamed buffers as quickfix (empty strings before shellescape) - call filter(files, 'v:val != ""') - - " expand to full path (avoid problems with cd/lcd in au QuickFixCmdPre) - let files = map(files, "shellescape(fnamemodify(v:val, ':p'))") - let args = a:args . ' ' . join(files) - - call ack#Ack(a:cmd, args) -endfunction "}}} - -function! ack#ShowResults() "{{{ - let l:handler = s:UsingLocList() ? g:ack_lhandler : g:ack_qhandler - execute l:handler - call s:ApplyMappings() - redraw! -endfunction "}}} - -"----------------------------------------------------------------------------- -" Private API -"----------------------------------------------------------------------------- - -function! s:ApplyMappings() "{{{ - if !s:UsingListMappings() || &filetype != 'qf' - return - endif - - let l:wintype = s:UsingLocList() ? 'l' : 'c' - let l:closemap = ':' . l:wintype . 'close' - let g:ack_mappings.q = l:closemap - - nnoremap ? :call QuickHelp() - - if g:ack_autoclose - " We just map the 'go' and 'gv' mappings to close on autoclose, wtf? - for key_map in items(g:ack_mappings) - execute printf("nnoremap %s %s", get(key_map, 0), get(key_map, 1) . l:closemap) - endfor - - execute "nnoremap " . l:closemap - else - for key_map in items(g:ack_mappings) - execute printf("nnoremap %s %s", get(key_map, 0), get(key_map, 1)) - endfor - endif - - if exists("g:ackpreview") " if auto preview in on, remap j and k keys - nnoremap j j - nnoremap k k - nmap j - nmap k - endif -endfunction "}}} - -function! s:GetDocLocations() "{{{ - let dp = '' - for p in split(&rtp, ',') - let p = p . '/doc/' - if isdirectory(p) - let dp = p . '*.txt ' . dp - endif - endfor - - return dp -endfunction "}}} - -function! s:Highlight(args) "{{{ - if !g:ackhighlight - return - endif - - let @/ = matchstr(a:args, "\\v(-)\@", "n") -endfunction "}}} - -" Initialize state for an :Ack* or :LAck* search -function! s:Init(cmd) "{{{ - let s:searching_filepaths = (a:cmd =~# '-g$') ? 1 : 0 - let s:using_loclist = (a:cmd =~# '^l') ? 1 : 0 - - if g:ack_use_dispatch && s:using_loclist - call s:Warn('Dispatch does not support location lists! Proceeding with quickfix...') - let s:using_loclist = 0 - endif -endfunction "}}} - -function! s:QuickHelp() "{{{ - execute 'edit' globpath(&rtp, 'doc/ack_quick_help.txt') - - silent normal gg - setlocal buftype=nofile bufhidden=hide nobuflisted - setlocal nomodifiable noswapfile - setlocal filetype=help - setlocal nonumber norelativenumber nowrap - setlocal foldmethod=diff foldlevel=20 - - nnoremap ? :q!:call ack#ShowResults() -endfunction "}}} - -function! s:SearchWithDispatch(grepprg, grepargs, grepformat) "{{{ - let l:makeprg_bak = &l:makeprg - let l:errorformat_bak = &l:errorformat - - " We don't execute a :grep command for Dispatch, so add -g here instead - if s:SearchingFilepaths() - let l:grepprg = a:grepprg . ' -g' - else - let l:grepprg = a:grepprg - endif - - try - let &l:makeprg = l:grepprg . ' ' . a:grepargs - let &l:errorformat = a:grepformat - - Make - finally - let &l:makeprg = l:makeprg_bak - let &l:errorformat = l:errorformat_bak - endtry -endfunction "}}} - -function! s:SearchWithGrep(grepcmd, grepprg, grepargs, grepformat) "{{{ - let l:grepprg_bak = &l:grepprg - let l:grepformat_bak = &grepformat - - try - let &l:grepprg = a:grepprg - let &grepformat = a:grepformat - - silent execute a:grepcmd a:grepargs - finally - let &l:grepprg = l:grepprg_bak - let &grepformat = l:grepformat_bak - endtry -endfunction "}}} - -" Are we finding matching files, not lines? (the -g option -- :AckFile) -function! s:SearchingFilepaths() "{{{ - return get(s:, 'searching_filepaths', 0) -endfunction "}}} - -" Predicate for whether mappings are enabled for list type of current search. -function! s:UsingListMappings() "{{{ - if s:UsingLocList() - return g:ack_apply_lmappings - else - return g:ack_apply_qmappings - endif -endfunction "}}} - -" Were we invoked with a :LAck command? -function! s:UsingLocList() "{{{ - return get(s:, 'using_loclist', 0) -endfunction "}}} - -function! s:Warn(msg) "{{{ - echohl WarningMsg | echomsg 'Ack: ' . a:msg | echohl None -endf "}}} - -let g:autoloaded_ack = 1 -" vim:set et sw=2 ts=2 tw=78 fdm=marker diff --git a/vim/.vim_runtime/sources_non_forked/ack.vim/doc/ack.txt b/vim/.vim_runtime/sources_non_forked/ack.vim/doc/ack.txt deleted file mode 100644 index 22e884b..0000000 --- a/vim/.vim_runtime/sources_non_forked/ack.vim/doc/ack.txt +++ /dev/null @@ -1,315 +0,0 @@ -*ack.txt* Plugin that integrates ack with Vim - -============================================================================== -Author: Antoine Imbert *ack-author* -License: Same terms as Vim itself (see |license|) - -This plugin is only available if 'compatible' is not set. - -{Vi does not have any of this} - -============================================================================== -INTRODUCTION *ack* - -This plugin is a front for the Perl module App::Ack. Ack can be used as a -replacement for grep. This plugin will allow you to run ack from vim, and -shows the results in a split window. - -:Ack[!] [options] {pattern} [{directory}] *:Ack* - - Search recursively in {directory} (which defaults to the current - directory) for the {pattern}. Behaves just like the |:grep| command, but - will open the |Quickfix| window for you. If [!] is not given the first - occurrence is jumped to. - -:AckAdd [options] {pattern} [{directory}] *:AckAdd* - - Just like |:Ack|, but instead of making a new list, the matches are - appended to the current |quickfix| list. - -:AckFromSearch [{directory}] *:AckFromSearch* - - Just like |:Ack| but the pattern is from previous search. - -:LAck [options] {pattern} [{directory}] *:LAck* - - Just like |:Ack| but instead of the |quickfix| list, matches are placed in - the current |location-list|. - -:LAckAdd [options] {pattern} [{directory}] *:LAckAdd* - - Just like |:AckAdd| but instead of the |quickfix| list, matches are added - to the current |location-list| - -:AckFile [options] {pattern} [{directory}] *:AckFile* - - Search recursively in {directory} (which defaults to the current - directory) for filenames matching the {pattern}. Behaves just like the - |:grep| command, but will open the |Quickfix| window for you. - -:AckHelp[!] [options] {pattern} *:AckHelp* - - Search vim documentation files for the {pattern}. Behaves just like the - |:Ack| command, but searches only vim documentation .txt files - -:LAckHelp [options] {pattern} *:LAckHelp* - - Just like |:AckHelp| but instead of the |quickfix| list, matches are placed - in the current |location-list|. - -:AckWindow[!] [options] {pattern} *:AckWindow* - - Search all buffers visible in the screen (current tab page only) files for - the {pattern}. - -:LAckWindow [options] {pattern} *:LAckWindow* - - Just like |:AckWindow| but instead of the |quickfix| list, matches are - placed in the current |location-list|. - -Files containing the search term will be listed in the split window, along -with the line number of the occurrence, once for each occurrence. on -a line in this window will open the file, and place the cursor on the matching -line. - -Note that if you are using Dispatch.vim with |g:ack_use_dispatch|, location -lists are not supported, because Dispatch does not support them at this time. -`:LAck` versions of commands above will give a warning and proceed to use the -quickfix list instead. - -See http://beyondgrep.com/ for more information on searching with ack. - - -============================================================================== -CONFIGURATION *ack-configuration* - - *g:ackprg* -g:ackprg -Default for ubuntu: "ack-grep" -Default for other systems: "ack" - -Use this option to specify the search command and its default arguments. - -Example: -> - let g:ackprg = "ag --vimgrep" -< - *g:ack_default_options* -g:ack_default_options -Default: " -s -H --nocolor --nogroup --column" - -Use this option to specify the default arguments given to `ack`. This is only -used if |g:ackprg| has not been customized from the default--if you are using -a custom search program instead of Ack, set your preferred options in -|g:ackprg|. - -NOTE: This option may be deprecated in the future. ~ - -Example: -> - let g:ack_default_options = - \ " -s -H --nocolor --nogroup --column --smart-case --follow" -< - *g:ack_apply_qmappings* -g:ack_apply_qmappings -Default: 1 - -This option enables mappings on the |quickfix| window. - - *g:ack_apply_lmappings* -g:ack_apply_lmappings -Default: 1 - -This option enables mappings on |location-list| windows. - - *g:ack_mappings* -g:ack_mappings -Default: { - \ "t": "T", - \ "T": "TgTj", - \ "o": "", - \ "O": ":ccl", - \ "go": "j", - \ "h": "K", - \ "H": "Kb", - \ "v": "HbJt", - \ "gv": "HbJ" } - -This option list all maps create on quickfix/Location list window. - -Example, if you want to open the result in the middle of the screen: -> - let g:ack_mappings = { "o": "zz" } -< - *g:ack_qhandler* -g:ack_qhandler -Default: "botright copen" - -Command to open the quickview window. - -If you want to open a quickview window with 30 lines you can do: -> - let g:ack_qhandler = "botright copen 30" -< - *g:ack_lhandler* -g:ack_lhandler -Default: "botright lopen" - -Command to open the Location list window. - -If you want to open a Location list window with 30 lines you can do: -> - let g:ack_lhandler = "botright lopen 30" -< - *g:ackhighlight* -g:ackhighlight -Default: 0 - -Use this option to highlight the searched term. - -Example: -> - let g:ackhighlight = 1 -< - *g:ack_autoclose* -g:ack_autoclose -Default: 0 - -Use this option to specify whether to close the quickfix window after -using any of the shortcuts. - -Example: -> - let g:ack_autoclose = 1 -< - *g:ack_autofold_results* -g:ack_autofold_results -Default: 0 - -Use this option to fold the results in quickfix by file name. Only the current -fold will be open by default and while you press 'j' and 'k' to move between the -results if you hit other fold the last one will be closed and the current will -be open. - -Example: -> - let g:ack_autofold_results = 1 -< - *g:ackpreview* -g:ackpreview -Default: 0 - -Use this option to automagically open the file with 'j' or 'k'. - -Example: -> - let g:ackpreview = 1 -< - *g:ack_use_dispatch* -g:ack_use_dispatch -Default: 0 - -Use this option to use vim-dispatch to run searches in the background, with a -variety of execution backends for different systems. - -Due to limitations in Dispatch at this time, location lists are unsupported -and result windows will appear before results are ready. Still, these may be -acceptable tradeoffs for very large projects where searches are slow. - -Example: -> - let g:ack_use_dispatch = 1 -< - *g:ack_use_cword_for_empty_search* -g:ack_use_cword_for_empty_search -Default: 1 - -Use this option to enable blank searches to run against the word under the -cursor. When this option is not set, blank searches will only output an error -message. - -Example: -> - let g:ack_use_cword_for_empty_search = 0 -< -============================================================================== -MAPPINGS *ack-mappings* - -The following keyboard shortcuts are available in the |quickfix| and -|location-list| windows: - -? display a quick summary of these mappings. - -o open file (same as Enter). - -O open file and close the quickfix window. - -go preview file (open but maintain focus on ack.vim results). - -t open in a new tab. - -T open in new tab without moving to it. - -h open in horizontal split. - -H open in horizontal split, keeping focus on the results. - -v open in vertical split. - -gv open in vertical split, keeping focus on the results. - -q close the quickfix window. - -To adjust these, see |g:ack_mappings|. - -============================================================================== -Ignoring files *ack-ignore* - -If you're using this plugin with ag, The Silver Searcher, bear in mind that: - - - It ignores file patterns from your .gitignore and .hgignore. - - - If there are other files in your source repository you don't wish to - search, you can add their patterns to an .agignore file. - -============================================================================== -ISSUES AND FAQ *ack-issues-and-faq* - -I don't want to jump to the first result automatically.~ - - Use `:Ack!`, with bang. If you want this behavior most of the time, you - might like an abbreviation or mapping in your personal config, something - like these: -> - cnoreabbrev Ack Ack! - nnoremap a :Ack! -< - Most of the `:[L]Ack*` commands support this. Note that this behavior - follows the convention of Vim's built-in |:grep| and |:make| commands. - -I use NERDTree and opening ack.vim results in a vertical split displacing it.~ - - You are probably using NERDTree with its default alignment at the left - side of the window. Set these custom mappings in your vimrc to work around - this: -> - let g:ack_mappings = { - \ 'v': 'LpJp', - \ 'gv': 'LpJ' } -< - This solution will be improved in the future. - -Results show a mix of relative and absolute paths, making them hard to read.~ - - This is a quirk of Vim that can happen with plain |:vimgrep| too. You can - try this in your vimrc to work around it: -> - autocmd BufAdd * exe "cd" fnameescape(getcwd()) -< - but for some users this may be disruptive to their Vim workflow. For more - details, see: - - http://vi.stackexchange.com/a/4816/7174 - https://github.com/mileszs/ack.vim/issues/143 - -vim:set et sw=4 ts=4 tw=78: diff --git a/vim/.vim_runtime/sources_non_forked/ack.vim/doc/ack_quick_help.txt b/vim/.vim_runtime/sources_non_forked/ack.vim/doc/ack_quick_help.txt deleted file mode 100644 index 94306a0..0000000 --- a/vim/.vim_runtime/sources_non_forked/ack.vim/doc/ack_quick_help.txt +++ /dev/null @@ -1,15 +0,0 @@ -==== ack.vim quick help =============== - - *?:* a quick summary of these keys, repeat to close - *o:* to open (same as Enter) - *O:* to open and close the quickfix window - *go:* to preview file, open but maintain focus on ack.vim results - *t:* to open in new tab - *T:* to open in new tab without moving to it - *h:* to open in horizontal split - *H:* to open in horizontal split, keeping focus on the results - *v:* to open in vertical split - *gv:* to open in vertical split, keeping focus on the results - *q:* to close the quickfix window - -======================================== diff --git a/vim/.vim_runtime/sources_non_forked/ack.vim/ftplugin/qf.vim b/vim/.vim_runtime/sources_non_forked/ack.vim/ftplugin/qf.vim deleted file mode 100644 index 27564fa..0000000 --- a/vim/.vim_runtime/sources_non_forked/ack.vim/ftplugin/qf.vim +++ /dev/null @@ -1,9 +0,0 @@ -if exists("g:ack_autofold_results") && g:ack_autofold_results - setlocal foldlevel=0 - setlocal foldmethod=expr - setlocal foldexpr=matchstr(getline(v:lnum),'^[^\|]\\+')==#matchstr(getline(v:lnum+1),'^[^\|]\\+')?1:'<1' - setlocal foldenable - setlocal foldclose=all - setlocal foldopen=all - nnoremap j jzz -endif diff --git a/vim/.vim_runtime/sources_non_forked/ack.vim/plugin/ack.vim b/vim/.vim_runtime/sources_non_forked/ack.vim/plugin/ack.vim deleted file mode 100644 index 202ae2e..0000000 --- a/vim/.vim_runtime/sources_non_forked/ack.vim/plugin/ack.vim +++ /dev/null @@ -1,83 +0,0 @@ -if exists('g:loaded_ack') || &cp - finish -endif - -if !exists("g:ack_default_options") - let g:ack_default_options = " -s -H --nopager --nocolor --nogroup --column" -endif - -" Location of the ack utility -if !exists("g:ackprg") - if executable('ack-grep') - let g:ackprg = "ack-grep" - elseif executable('ack') - let g:ackprg = "ack" - else - finish - endif - let g:ackprg .= g:ack_default_options -endif - -if !exists("g:ack_apply_qmappings") - let g:ack_apply_qmappings = !exists("g:ack_qhandler") -endif - -if !exists("g:ack_apply_lmappings") - let g:ack_apply_lmappings = !exists("g:ack_lhandler") -endif - -let s:ack_mappings = { - \ "t": "T", - \ "T": "TgTj", - \ "o": "", - \ "O": "pc", - \ "go": "p", - \ "h": "K", - \ "H": "Kb", - \ "v": "HbJt", - \ "gv": "HbJ" } - -if exists("g:ack_mappings") - let g:ack_mappings = extend(s:ack_mappings, g:ack_mappings) -else - let g:ack_mappings = s:ack_mappings -endif - -if !exists("g:ack_qhandler") - let g:ack_qhandler = "botright copen" -endif - -if !exists("g:ack_lhandler") - let g:ack_lhandler = "botright lopen" -endif - -if !exists("g:ackhighlight") - let g:ackhighlight = 0 -endif - -if !exists("g:ack_autoclose") - let g:ack_autoclose = 0 -endif - -if !exists("g:ack_autofold_results") - let g:ack_autofold_results = 0 -endif - -if !exists("g:ack_use_cword_for_empty_search") - let g:ack_use_cword_for_empty_search = 1 -endif - -command! -bang -nargs=* -complete=file Ack call ack#Ack('grep', ) -command! -bang -nargs=* -complete=file AckAdd call ack#Ack('grepadd', ) -command! -bang -nargs=* -complete=file AckFromSearch call ack#AckFromSearch('grep', ) -command! -bang -nargs=* -complete=file LAck call ack#Ack('lgrep', ) -command! -bang -nargs=* -complete=file LAckAdd call ack#Ack('lgrepadd', ) -command! -bang -nargs=* -complete=file AckFile call ack#Ack('grep -g', ) -command! -bang -nargs=* -complete=help AckHelp call ack#AckHelp('grep', ) -command! -bang -nargs=* -complete=help LAckHelp call ack#AckHelp('lgrep', ) -command! -bang -nargs=* AckWindow call ack#AckWindow('grep', ) -command! -bang -nargs=* LAckWindow call ack#AckWindow('lgrep', ) - -let g:loaded_ack = 1 - -" vim:set et sw=2 ts=2 tw=78 fdm=marker diff --git a/vim/.vim_runtime/sources_non_forked/ale/LICENSE b/vim/.vim_runtime/sources_non_forked/ale/LICENSE deleted file mode 100644 index f8f3524..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2016-2019, w0rp -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vim/.vim_runtime/sources_non_forked/ale/autoload/ale.vim b/vim/.vim_runtime/sources_non_forked/ale/autoload/ale.vim deleted file mode 100644 index 6251b47..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/autoload/ale.vim +++ /dev/null @@ -1,268 +0,0 @@ -" Author: w0rp , David Alexander -" Description: Primary code path for the plugin -" Manages execution of linters when requested by autocommands - -" Strings used for severity in the echoed message -let g:ale_echo_msg_error_str = get(g:, 'ale_echo_msg_error_str', 'Error') -let g:ale_echo_msg_info_str = get(g:, 'ale_echo_msg_info_str', 'Info') -let g:ale_echo_msg_log_str = get(g:, 'ale_echo_msg_log_str', 'Log') -let g:ale_echo_msg_warning_str = get(g:, 'ale_echo_msg_warning_str', 'Warning') -" Ignoring linters, for disabling some, or ignoring LSP diagnostics. -let g:ale_linters_ignore = get(g:, 'ale_linters_ignore', {}) -let g:ale_disable_lsp = get(g:, 'ale_disable_lsp', 0) - -" LSP window/showMessage format -let g:ale_lsp_show_message_format = get(g:, 'ale_lsp_show_message_format', '%severity%:%linter%: %s') -" Valid values mimic LSP definitions (error, warning and information; log is -" never shown) -let g:ale_lsp_show_message_severity = get(g:, 'ale_lsp_show_message_severity', 'error') - -let s:lint_timer = -1 -let s:getcmdwintype_exists = exists('*getcmdwintype') - -" Return 1 if a file is too large for ALE to handle. -function! ale#FileTooLarge(buffer) abort - let l:max = getbufvar(a:buffer, 'ale_maximum_file_size', get(g:, 'ale_maximum_file_size', 0)) - - return l:max > 0 ? (line2byte(line('$') + 1) > l:max) : 0 -endfunction - -" A function for checking various conditions whereby ALE just shouldn't -" attempt to do anything, say if particular buffer types are open in Vim. -function! ale#ShouldDoNothing(buffer) abort - " The checks are split into separate if statements to make it possible to - " profile each check individually with Vim's profiling tools. - " - " Do nothing if ALE is disabled. - if !getbufvar(a:buffer, 'ale_enabled', get(g:, 'ale_enabled', 0)) - return 1 - endif - - " Don't perform any checks when newer NeoVim versions are exiting. - if get(v:, 'exiting', v:null) isnot v:null - return 1 - endif - - let l:filetype = getbufvar(a:buffer, '&filetype') - - " Do nothing when there's no filetype. - if l:filetype is# '' - return 1 - endif - - " Do nothing for diff buffers. - if getbufvar(a:buffer, '&diff') - return 1 - endif - - " Do nothing for blacklisted files. - if index(get(g:, 'ale_filetype_blacklist', []), l:filetype) >= 0 - return 1 - endif - - " Do nothing if running from command mode. - if s:getcmdwintype_exists && !empty(getcmdwintype()) - return 1 - endif - - let l:filename = fnamemodify(bufname(a:buffer), ':t') - - " Do nothing for directories. - if l:filename is# '.' - return 1 - endif - - " Don't start linting and so on when an operator is pending. - if ale#util#Mode(1) is# 'no' - return 1 - endif - - " Do nothing if running in the sandbox. - if ale#util#InSandbox() - return 1 - endif - - " Do nothing if the file is too large. - if ale#FileTooLarge(a:buffer) - return 1 - endif - - " Do nothing from CtrlP buffers with CtrlP-funky. - if exists(':CtrlPFunky') is 2 - \&& getbufvar(a:buffer, '&l:statusline') =~# 'CtrlPMode.*funky' - return 1 - endif - - return 0 -endfunction - -function! s:Lint(buffer, should_lint_file, timer_id) abort - " Use the filetype from the buffer - let l:filetype = getbufvar(a:buffer, '&filetype') - let l:linters = ale#linter#Get(l:filetype) - - " Apply ignore lists for linters only if needed. - let l:ignore_config = ale#Var(a:buffer, 'linters_ignore') - let l:disable_lsp = ale#Var(a:buffer, 'disable_lsp') - let l:linters = !empty(l:ignore_config) || l:disable_lsp - \ ? ale#engine#ignore#Exclude(l:filetype, l:linters, l:ignore_config, l:disable_lsp) - \ : l:linters - - " Tell other sources that they can start checking the buffer now. - let g:ale_want_results_buffer = a:buffer - silent doautocmd User ALEWantResults - unlet! g:ale_want_results_buffer - - " Don't set up buffer data and so on if there are no linters to run. - if !has_key(g:ale_buffer_info, a:buffer) && empty(l:linters) - return - endif - - " Clear lint_file linters, or only run them if the file exists. - let l:lint_file = empty(l:linters) - \ || (a:should_lint_file && filereadable(expand('#' . a:buffer . ':p'))) - - call ale#engine#RunLinters(a:buffer, l:linters, l:lint_file) -endfunction - -" (delay, [linting_flag, buffer_number]) -function! ale#Queue(delay, ...) abort - if a:0 > 2 - throw 'too many arguments!' - endif - - let l:buffer = get(a:000, 1, v:null) - - if l:buffer is v:null - let l:buffer = bufnr('') - endif - - if type(l:buffer) isnot v:t_number - throw 'buffer_number must be a Number' - endif - - if ale#ShouldDoNothing(l:buffer) - return - endif - - " Default linting_flag to '' - let l:should_lint_file = get(a:000, 0) is# 'lint_file' - - if s:lint_timer != -1 - call timer_stop(s:lint_timer) - let s:lint_timer = -1 - endif - - if a:delay > 0 - let s:lint_timer = timer_start( - \ a:delay, - \ function('s:Lint', [l:buffer, l:should_lint_file]) - \) - else - call s:Lint(l:buffer, l:should_lint_file, 0) - endif -endfunction - -let s:current_ale_version = [2, 7, 0] - -" A function used to check for ALE features in files outside of the project. -function! ale#Has(feature) abort - let l:match = matchlist(a:feature, '\c\v^ale-(\d+)\.(\d+)(\.(\d+))?$') - - if !empty(l:match) - let l:version = [l:match[1] + 0, l:match[2] + 0, l:match[4] + 0] - - return ale#semver#GTE(s:current_ale_version, l:version) - endif - - return 0 -endfunction - -" Given a buffer number and a variable name, look for that variable in the -" buffer scope, then in global scope. If the name does not exist in the global -" scope, an exception will be thrown. -" -" Every variable name will be prefixed with 'ale_'. -function! ale#Var(buffer, variable_name) abort - let l:full_name = 'ale_' . a:variable_name - let l:vars = getbufvar(str2nr(a:buffer), '', {}) - - return get(l:vars, l:full_name, g:[l:full_name]) -endfunction - -" Initialize a variable with a default value, if it isn't already set. -" -" Every variable name will be prefixed with 'ale_'. -function! ale#Set(variable_name, default) abort - let l:full_name = 'ale_' . a:variable_name - - if !has_key(g:, l:full_name) - let g:[l:full_name] = a:default - endif -endfunction - -" Given a string for adding to a command, return the string padded with a -" space on the left if it is not empty. Otherwise return an empty string. -" -" This can be used for making command strings cleaner and easier to test. -function! ale#Pad(string) abort - return !empty(a:string) ? ' ' . a:string : '' -endfunction - -" Given a environment variable name and a value, produce part of a command for -" setting an environment variable before running a command. The syntax will be -" valid for cmd on Windows, or most shells on Unix. -function! ale#Env(variable_name, value) abort - if has('win32') - return 'set ' . a:variable_name . '=' . ale#Escape(a:value) . ' && ' - endif - - return a:variable_name . '=' . ale#Escape(a:value) . ' ' -endfunction - -" Escape a string suitably for each platform. -" shellescape does not work on Windows. -function! ale#Escape(str) abort - if fnamemodify(&shell, ':t') is? 'cmd.exe' - " If the string contains spaces, it will be surrounded by quotes. - " Otherwise, special characters will be escaped with carets (^). - return substitute( - \ a:str =~# ' ' - \ ? '"' . substitute(a:str, '"', '""', 'g') . '"' - \ : substitute(a:str, '\v([&|<>^])', '^\1', 'g'), - \ '%', - \ '%%', - \ 'g', - \) - endif - - return shellescape (a:str) -endfunction - -" Get the loclist item message according to a given format string. -" -" See `:help g:ale_loclist_msg_format` and `:help g:ale_echo_msg_format` -function! ale#GetLocItemMessage(item, format_string) abort - let l:msg = a:format_string - let l:severity = g:ale_echo_msg_warning_str - let l:code = get(a:item, 'code', '') - let l:type = get(a:item, 'type', 'E') - let l:linter_name = get(a:item, 'linter_name', '') - let l:code_repl = !empty(l:code) ? '\=submatch(1) . l:code . submatch(2)' : '' - - if l:type is# 'E' - let l:severity = g:ale_echo_msg_error_str - elseif l:type is# 'I' - let l:severity = g:ale_echo_msg_info_str - endif - - " Replace special markers with certain information. - " \=l:variable is used to avoid escaping issues. - let l:msg = substitute(l:msg, '\v\%([^\%]*)code([^\%]*)\%', l:code_repl, 'g') - let l:msg = substitute(l:msg, '\V%severity%', '\=l:severity', 'g') - let l:msg = substitute(l:msg, '\V%linter%', '\=l:linter_name', 'g') - " Replace %s with the text. - let l:msg = substitute(l:msg, '\V%s', '\=a:item.text', 'g') - - return l:msg -endfunction diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-ada.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-ada.txt deleted file mode 100644 index 2ac30c0..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-ada.txt +++ /dev/null @@ -1,36 +0,0 @@ -=============================================================================== -ALE Ada Integration *ale-ada-options* - - -=============================================================================== -gcc *ale-ada-gcc* - -g:ale_ada_gcc_executable *g:ale_ada_gcc_executable* - *b:ale_ada_gcc_executable* - Type: |String| - Default: `'gcc'` - -This variable can be changed to use a different executable for gcc. - - -g:ale_ada_gcc_options *g:ale_ada_gcc_options* - *b:ale_ada_gcc_options* - Type: |String| - Default: `'-gnatwa -gnatq'` - - This variable can be set to pass additional options to gcc. - - -=============================================================================== -gnatpp *ale-ada-gnatpp* - -g:ale_ada_gnatpp_options *g:ale_ada_gnatpp_options* - *b:ale_ada_gnatpp_options* - Type: |String| - Default: `''` - - This variable can be set to pass extra options to the gnatpp fixer. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-ansible.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-ansible.txt deleted file mode 100644 index 3a4efaa..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-ansible.txt +++ /dev/null @@ -1,16 +0,0 @@ -=============================================================================== -ALE Ansible Integration *ale-ansible-options* - - -=============================================================================== -ansible-lint *ale-ansible-ansible-lint* - -g:ale_ansible_ansible_lint_executable *g:ale_ansible_ansible_lint_executable* - *b:ale_ansible_ansible_lint_executable* - Type: |String| - Default: `'ansible-lint'` - - This variable can be changed to modify the executable used for ansible-lint. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-asciidoc.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-asciidoc.txt deleted file mode 100644 index 86629fd..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-asciidoc.txt +++ /dev/null @@ -1,18 +0,0 @@ -=============================================================================== -ALE AsciiDoc Integration *ale-asciidoc-options* - - -=============================================================================== -write-good *ale-asciidoc-write-good* - -See |ale-write-good-options| - - -=============================================================================== -textlint *ale-asciidoc-textlint* - -See |ale-text-textlint| - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-asm.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-asm.txt deleted file mode 100644 index a97c6d0..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-asm.txt +++ /dev/null @@ -1,25 +0,0 @@ -=============================================================================== -ALE ASM Integration *ale-asm-options* - - -=============================================================================== -gcc *ale-asm-gcc* - -g:ale_asm_gcc_executable *g:ale_asm_gcc_executable* - *b:ale_asm_gcc_executable* - Type: |String| - Default: `'gcc'` - -This variable can be changed to use a different executable for gcc. - - -g:ale_asm_gcc_options *g:ale_asm_gcc_options* - *b:ale_asm_gcc_options* - Type: |String| - Default: `'-Wall'` - - This variable can be set to pass additional options to gcc. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-awk.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-awk.txt deleted file mode 100644 index b9c5c34..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-awk.txt +++ /dev/null @@ -1,25 +0,0 @@ -=============================================================================== -ALE Awk Integration *ale-awk-options* - - -=============================================================================== -gawk *ale-awk-gawk* - -g:ale_awk_gawk_executable *g:ale_awk_gawk_executable* - *b:ale_awk_gawk_executable* - Type: |String| - Default: `'gawk'` - - This variable sets executable used for gawk. - - -g:ale_awk_gawk_options *g:ale_awk_gawk_options* - *b:ale_awk_gawk_options* - Type: |String| - Default: `''` - - With this variable we are able to pass extra arguments for gawk - for invocation. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-bats.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-bats.txt deleted file mode 100644 index cf2199e..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-bats.txt +++ /dev/null @@ -1,13 +0,0 @@ -=============================================================================== -ALE Bats Integration *ale-bats-options* - - -=============================================================================== -shellcheck *ale-bats-shellcheck* - -The `shellcheck` linter for Bats uses the sh options for `shellcheck`; see: -|ale-sh-shellcheck|. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-bib.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-bib.txt deleted file mode 100644 index 35998c3..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-bib.txt +++ /dev/null @@ -1,19 +0,0 @@ -=============================================================================== -ALE BibTeX Integration *ale-bib-options* - - -=============================================================================== -bibclean *ale-bib-bibclean* - -g:ale_bib_bibclean_executable *g:ale_bib_bibclean_executable* - - Type: |String| - Default: `'bibclean'` - -g:ale_bib_bibclean_options *g:ale_bib_bibclean_options* - - Type: |String| - Default: `'-align-equals'` - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-c.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-c.txt deleted file mode 100644 index c9eb79d..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-c.txt +++ /dev/null @@ -1,333 +0,0 @@ -=============================================================================== -ALE C Integration *ale-c-options* - - -=============================================================================== -Global Options - -g:ale_c_build_dir_names *g:ale_c_build_dir_names* - *b:ale_c_build_dir_names* - - Type: |List| - Default: `['build', 'bin']` - - A list of directory names to be used when searching upwards from cpp - files to discover compilation databases with. For directory named `'foo'`, - ALE will search for `'foo/compile_commands.json'` in all directories on and above - the directory containing the cpp file to find path to compilation database. - This feature is useful for the clang tools wrapped around LibTooling (namely - here, clang-tidy) - - -g:ale_c_build_dir *g:ale_c_build_dir* - *b:ale_c_build_dir* - - Type: |String| - Default: `''` - - For programs that can read `compile_commands.json` files, this option can be - set to the directory containing the file for the project. ALE will try to - determine the location of `compile_commands.json` automatically, but if your - file exists in some other directory, you can set this option so ALE will - know where it is. - - This directory will be searched instead of |g:ale_c_build_dir_names|. - - -g:ale_c_parse_compile_commands *g:ale_c_parse_compile_commands* - *b:ale_c_parse_compile_commands* - Type: |Number| - Default: `0` - - If set to `1`, ALE will parse `compile_commands.json` files to automatically - determine flags for C or C++ compilers. ALE will first search for the - nearest `compile_commands.json` file, and then look for - `compile_commands.json` files in the directories for - |g:ale_c_build_dir_names|. - - If |g:ale_c_parse_makefile| or |b:ale_c_parse_makefile| is set to `1`, the - output of `make -n` will be preferred over `compile_commands.json` files. - - -g:ale_c_parse_makefile *g:ale_c_parse_makefile* - *b:ale_c_parse_makefile* - Type: |Number| - Default: `0` - - If set to `1`, ALE will run `make -n` to automatically determine flags to - set for C or C++ compilers. This can make it easier to determine the correct - build flags to use for different files. - - -=============================================================================== -clang *ale-c-clang* - -g:ale_c_clang_executable *g:ale_c_clang_executable* - *b:ale_c_clang_executable* - Type: |String| - Default: `'clang'` - - This variable can be changed to use a different executable for clang. - - -g:ale_c_clang_options *g:ale_c_clang_options* - *b:ale_c_clang_options* - Type: |String| - Default: `'-std=c11 -Wall'` - - This variable can be changed to modify flags given to clang. - - -=============================================================================== -clangd *ale-c-clangd* - -g:ale_c_clangd_executable *g:ale_c_clangd_executable* - *b:ale_c_clangd_executable* - Type: |String| - Default: `'clangd'` - - This variable can be changed to use a different executable for clangd. - - -g:ale_c_clangd_options *g:ale_c_clangd_options* - *b:ale_c_clangd_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to clangd. - - -=============================================================================== -clang-format *ale-c-clangformat* - -g:ale_c_clangformat_executable *g:ale_c_clangformat_executable* - *b:ale_c_clangformat_executable* - Type: |String| - Default: `'clang-format'` - - This variable can be changed to use a different executable for clang-format. - - -g:ale_c_clangformat_options *g:ale_c_clangformat_options* - *b:ale_c_clangformat_options* - Type: |String| - Default: `''` - - This variable can be change to modify flags given to clang-format. - - -=============================================================================== -clangtidy *ale-c-clangtidy* - -`clang-tidy` will be run only when files are saved to disk, so that -`compile_commands.json` files can be used. It is recommended to use this -linter in combination with `compile_commands.json` files. -Therefore, `clang-tidy` linter reads the options |g:ale_c_build_dir| and -|g:ale_c_build_dir_names|. Also, setting |g:ale_c_build_dir| actually -overrides |g:ale_c_build_dir_names|. - - -g:ale_c_clangtidy_checks *g:ale_c_clangtidy_checks* - *b:ale_c_clangtidy_checks* - Type: |List| - Default: `[]` - - The checks to enable for clang-tidy with the `-checks` argument. - - All options will be joined with commas, and escaped appropriately for - the shell. The `-checks` flag can be removed entirely by setting this - option to an empty List. - - Not all of clangtidy checks are applicable for C. You should consult the - clang documentation for an up-to-date list of compatible checks: - http://clang.llvm.org/extra/clang-tidy/checks/list.html - - -g:ale_c_clangtidy_executable *g:ale_c_clangtidy_executable* - *b:ale_c_clangtidy_executable* - Type: |String| - Default: `'clang-tidy'` - - This variable can be changed to use a different executable for clangtidy. - - -g:ale_c_clangtidy_options *g:ale_c_clangtidy_options* - *b:ale_c_clangtidy_options* - Type: |String| - Default: `''` - - This variable can be changed to modify compiler flags given to clang-tidy. - - - Setting this variable to a non-empty string, - - and working in a buffer where no compilation database is found using - |g:ale_c_build_dir_names| or |g:ale_c_build_dir|, - will cause the `--` argument to be passed to `clang-tidy`, which will mean - that detection of `compile_commands.json` files for compile command - databases will be disabled. - Only set this option if you want to control compiler flags - entirely manually, and no `compile_commands.json` file is in one - of the |g:ale_c_build_dir_names| directories of the project tree. - - -g:ale_c_clangtidy_extra_options *g:ale_c_clangtidy_extra_options* - *b:ale_c_clangtidy_extra_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to clang-tidy. - - -g:ale_c_clangtidy_fix_errors *g:ale_c_clangtidy_fix_errors* - *b:ale_c_clangtidy_fix_errors* - Type: |Number| - Default: `1` - - This variable can be changed to disable the `-fix-errors` option for the - |clangtidy| fixer. - - -=============================================================================== -cppcheck *ale-c-cppcheck* - -g:ale_c_cppcheck_executable *g:ale_c_cppcheck_executable* - *b:ale_c_cppcheck_executable* - Type: |String| - Default: `'cppcheck'` - - This variable can be changed to use a different executable for cppcheck. - - -g:ale_c_cppcheck_options *g:ale_c_cppcheck_options* - *b:ale_c_cppcheck_options* - Type: |String| - Default: `'--enable=style'` - - This variable can be changed to modify flags given to cppcheck. - - -=============================================================================== -cquery *ale-c-cquery* - -g:ale_c_cquery_executable *g:ale_c_cquery_executable* - *b:ale_c_cquery_executable* - Type: |String| - Default: `'cquery'` - - This variable can be changed to use a different executable for cquery. - - -g:ale_cpp_cquery_cache_directory *g:ale_c_cquery_cache_directory* - *b:ale_c_cquery_cache_directory* - Type: |String| - Default: `'~/.cache/cquery'` - - This variable can be changed to decide which directory cquery uses for its -cache. - - -=============================================================================== -flawfinder *ale-c-flawfinder* - -g:ale_c_flawfinder_executable *g:ale_c_flawfinder_executable* - *b:ale_c_flawfinder_executable* - Type: |String| - Default: `'flawfinder'` - - This variable can be changed to use a different executable for flawfinder. - - -g:ale_c_flawfinder_minlevel *g:ale_c_flawfinder_minlevel* - *b:ale_c_flawfinder_minlevel* - Type: |Number| - Default: `1` - - This variable can be changed to ignore risks under the given risk threshold. - - -g:ale_c_flawfinder_options *g:ale-c-flawfinder* - *b:ale-c-flawfinder* - Type: |String| - Default: `''` - - This variable can be used to pass extra options into the flawfinder command. - -g:ale_c_flawfinder_error_severity *g:ale_c_flawfinder_error_severity* - *b:ale_c_flawfinder_error_severity* - Type: |Number| - Default: `6` - - This variable can be changed to set the minimum severity to be treated as an - error. This setting also applies to flawfinder for c++. - - -=============================================================================== -gcc *ale-c-gcc* - -g:ale_c_gcc_executable *g:ale_c_gcc_executable* - *b:ale_c_gcc_executable* - Type: |String| - Default: `'gcc'` - - This variable can be changed to use a different executable for gcc. - - -g:ale_c_gcc_options *g:ale_c_gcc_options* - *b:ale_c_gcc_options* - Type: |String| - Default: `'-std=c11 -Wall'` - - This variable can be change to modify flags given to gcc. - - -=============================================================================== -uncrustify *ale-c-uncrustify* - -g:ale_c_uncrustify_executable *g:ale_c_uncrustify_executable* - *b:ale_c_uncrustify_executable* - Type: |String| - Default: `'uncrustify'` - - This variable can be changed to use a different executable for uncrustify. - - -g:ale_c_uncrustify_options *g:ale_c_uncrustify_options* - *b:ale_c_uncrustify_options* - Type: |String| - Default: `''` - - This variable can be change to modify flags given to uncrustify. - - -=============================================================================== -ccls *ale-c-ccls* - -g:ale_c_ccls_executable *g:ale_c_ccls_executable* - *b:ale_c_ccls_executable* - Type: |String| - Default: `'ccls'` - - This variable can be changed to use a different executable for ccls. - - -g:ale_c_ccls_init_options *g:ale_c_ccls_init_options* - *b:ale_c_ccls_init_options* - Type: |Dictionary| - Default: `{}` - - This variable can be changed to customize ccls initialization options. - Example: > - { - \ 'cacheDirectory': '/tmp/ccls', - \ 'cacheFormat': 'binary', - \ 'diagnostics': { - \ 'onOpen': 0, - \ 'opChange': 1000, - \ }, - \ } -< - Visit https://github.com/MaskRay/ccls/wiki/Initialization-options for all - available options and explanations. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-chef.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-chef.txt deleted file mode 100644 index 75e144e..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-chef.txt +++ /dev/null @@ -1,46 +0,0 @@ -=============================================================================== -ALE Chef Integration *ale-chef-options* - - -=============================================================================== -cookstyle *ale-chef-cookstyle* - -g:ale_chef_cookstyle_options *g:ale_chef_cookstyle_options* - *b:ale_chef_cookstyle_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to cookstyle. - - -g:ale_chef_cookstyle_executable *g:ale_chef_cookstyle_executable* - *b:ale_chef_cookstyle_executable* - Type: |String| - Default: `'cookstyle'` - - This variable can be changed to point to the cookstyle binary in case it's - not on the $PATH or a specific version/path must be used. - - -=============================================================================== -foodcritic *ale-chef-foodcritic* - -g:ale_chef_foodcritic_options *g:ale_chef_foodcritic_options* - *b:ale_chef_foodcritic_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to foodcritic. - - -g:ale_chef_foodcritic_executable *g:ale_chef_foodcritic_executable* - *b:ale_chef_foodcritic_executable* - Type: |String| - Default: `'foodcritic'` - - This variable can be changed to point to the foodcritic binary in case it's - not on the $PATH or a specific version/path must be used. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-clojure.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-clojure.txt deleted file mode 100644 index 2bf00c0..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-clojure.txt +++ /dev/null @@ -1,28 +0,0 @@ -=============================================================================== -ALE Clojure Integration *ale-clojure-options* - - -=============================================================================== -clj-kondo *ale-clojure-clj-kondo* - -A minimal and opinionated linter for code that sparks joy. - -https://github.com/borkdude/clj-kondo - -=============================================================================== -joker *ale-clojure-joker* - -Joker is a small Clojure interpreter and linter written in Go. - -https://github.com/candid82/joker - -Linting options are not configurable by ale, but instead are controlled by a -`.joker` file in same directory as the file (or current working directory if -linting stdin), a parent directory relative to the file, or the users home -directory. - -see https://github.com/candid82/joker#linter-mode for more information. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: - diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-cloudformation.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-cloudformation.txt deleted file mode 100644 index 9724403..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-cloudformation.txt +++ /dev/null @@ -1,46 +0,0 @@ -=============================================================================== -ALE CloudFormation Integration *ale-cloudformation-options* - - -=============================================================================== -cfn-python-lint *ale-cloudformation-cfn-python-lint* - -cfn-python-lint is a linter for AWS CloudFormation template file. - -Website: https://github.com/awslabs/cfn-python-lint - -Installation -------------------------------------------------------------------------------- - - -Install cfn-python-lint using either pip or brew: > - -`pip install cfn-lint`. If pip is not available, run -`python setup.py clean --all` then `python setup.py install`. - - Homebrew (macOS): - -`brew install cfn-lint` - -< -Configuration -------------------------------------------------------------------------------- - -To get cloudformation linter to work on only CloudFormation files we must set -the buffer |filetype| to yaml.cloudformation. -This causes ALE to lint the file with linters configured for cloudformation and -yaml files. - -Just put: - -> - - au BufRead,BufNewFile *.template.yaml set filetype=yaml.cloudformation - -< - -on `ftdetect/cloudformation.vim` - -This will get both cloudformation and yaml linters to work on any file with `.template.yaml` ext. -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-cmake.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-cmake.txt deleted file mode 100644 index 602637b..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-cmake.txt +++ /dev/null @@ -1,43 +0,0 @@ -=============================================================================== -ALE CMake Integration *ale-cmake-options* - - -=============================================================================== -cmakelint *ale-cmake-cmakelint* - -g:ale_cmake_cmakelint_executable *g:ale_cmake_cmakelint_executable* - *b:ale_cmake_cmakelint_executable* - Type: |String| - Default: `'cmakelint'` - - This variable can be set to change the path the cmakelint. - - -g:ale_cmake_cmakelint_options *g:ale_cmake_cmakelint_options* - *b:ale_cmake_cmakelint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to cmakelint. - - -=============================================================================== -cmake-format *ale-cmake-cmakeformat* - -g:ale_cmake_cmakeformat_executable *g:ale_cmake_cmakeformat_executable* - *b:ale_cmake_cmakeformat_executable* - Type: |String| - Default: `'cmakeformat'` - - This variable can be set to change the path the cmake-format. - - -g:ale_cmake_cmakeformat_options *g:ale_cmake_cmakeformat_options* - *b:ale_cmake_cmakeformat_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to cmake-format. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-cpp.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-cpp.txt deleted file mode 100644 index ead3be2..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-cpp.txt +++ /dev/null @@ -1,331 +0,0 @@ -=============================================================================== -ALE C++ Integration *ale-cpp-options* - - -=============================================================================== -Global Options - -The following C options also apply to some C++ linters too. - -* |g:ale_c_build_dir_names| -* |g:ale_c_build_dir| -* |g:ale_c_parse_makefile| -* |g:ale_c_parse_compile_commands| - - -=============================================================================== -clang *ale-cpp-clang* - -g:ale_cpp_clang_executable *g:ale_cpp_clang_executable* - *b:ale_cpp_clang_executable* - Type: |String| - Default: `'clang++'` - - This variable can be changed to use a different executable for clang. - - -g:ale_cpp_clang_options *g:ale_cpp_clang_options* - *b:ale_cpp_clang_options* - Type: |String| - Default: `'-std=c++14 -Wall'` - - This variable can be changed to modify flags given to clang. - - -=============================================================================== -clangd *ale-cpp-clangd* - -g:ale_cpp_clangd_executable *g:ale_cpp_clangd_executable* - *b:ale_cpp_clangd_executable* - Type: |String| - Default: `'clangd'` - - This variable can be changed to use a different executable for clangd. - - -g:ale_cpp_clangd_options *g:ale_cpp_clangd_options* - *b:ale_cpp_clangd_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to clangd. - - -=============================================================================== -clangcheck *ale-cpp-clangcheck* - -`clang-check` will be run only when files are saved to disk, so that -`compile_commands.json` files can be used. It is recommended to use this -linter in combination with `compile_commands.json` files. -Therefore, `clang-check` linter reads the options |g:ale_c_build_dir| and -|g:ale_c_build_dir_names|. Also, setting |g:ale_c_build_dir| actually -overrides |g:ale_c_build_dir_names|. - - -g:ale_cpp_clangcheck_executable *g:ale_cpp_clangcheck_executable* - *b:ale_cpp_clangcheck_executable* - Type: |String| - Default: `'clang-check'` - - This variable can be changed to use a different executable for clangcheck. - - -g:ale_cpp_clangcheck_options *g:ale_cpp_clangcheck_options* - *b:ale_cpp_clangcheck_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to clang-check. - - This variable should not be set to point to build subdirectory with - `-p path/to/build` option, as it is handled by the |g:ale_c_build_dir| - option. - - -=============================================================================== -clang-format *ale-cpp-clangformat* - -See |ale-c-clangformat| for information about the available options. -Note that the C options are also used for C++. - - -=============================================================================== -clangtidy *ale-cpp-clangtidy* - -`clang-tidy` will be run only when files are saved to disk, so that -`compile_commands.json` files can be used. It is recommended to use this -linter in combination with `compile_commands.json` files. -Therefore, `clang-tidy` linter reads the options |g:ale_c_build_dir| and -|g:ale_c_build_dir_names|. Also, setting |g:ale_c_build_dir| actually -overrides |g:ale_c_build_dir_names|. - - -g:ale_cpp_clangtidy_checks *g:ale_cpp_clangtidy_checks* - *b:ale_cpp_clangtidy_checks* - Type: |List| - Default: `[]` - - The checks to enable for clang-tidy with the `-checks` argument. - - All options will be joined with commas, and escaped appropriately for - the shell. The `-checks` flag can be removed entirely by setting this - option to an empty List. - - -g:ale_cpp_clangtidy_executable *g:ale_cpp_clangtidy_executable* - *b:ale_cpp_clangtidy_executable* - Type: |String| - Default: `'clang-tidy'` - - This variable can be changed to use a different executable for clangtidy. - - -g:ale_cpp_clangtidy_options *g:ale_cpp_clangtidy_options* - *b:ale_cpp_clangtidy_options* - Type: |String| - Default: `''` - - This variable can be changed to modify compiler flags given to clang-tidy. - - - Setting this variable to a non-empty string, - - and working in a buffer where no compilation database is found using - |g:ale_c_build_dir_names| or |g:ale_c_build_dir|, - will cause the `--` argument to be passed to `clang-tidy`, which will mean - that detection of `compile_commands.json` files for compile command - databases will be disabled. - Only set this option if you want to control compiler flags - entirely manually, and no `compile_commands.json` file is in one - of the |g:ale_c_build_dir_names| directories of the project tree. - - -g:ale_cpp_clangtidy_extra_options *g:ale_cpp_clangtidy_extra_options* - *b:ale_cpp_clangtidy_extra_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to clang-tidy. - - -g:ale_cpp_clangtidy_fix_errors *g:ale_cpp_clangtidy_fix_errors* - *b:ale_cpp_clangtidy_fix_errors* - Type: |Number| - Default: `1` - - This variable can be changed to disable the `-fix-errors` option for the - |clangtidy| fixer. - - -=============================================================================== -clazy *ale-cpp-clazy* - -g:ale_cpp_clazy_executable *g:ale_cpp_clazy_executable* - *b:ale_cpp_clazy_executable* - Type: |String| - Default: `'clazy-standalone'` - - This variable can be changed to use a different executable for clazy. - - -g:ale_cpp_clazy_checks *g:ale_cpp_clazy_checks* - *b:ale_cpp_clazy_checks* - Type: |List| - Default: `['level1']` - - The checks to enable for clazy with the `-checks` argument. - - All options will be joined with commas, and escaped appropriately for - the shell. The `-checks` flag can be removed entirely by setting this - option to an empty List. - - -g:ale_cpp_clazy_options *g:ale_cpp_clazy_options* - *b:ale_cpp_clazy_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to clazy. - - -=============================================================================== -cppcheck *ale-cpp-cppcheck* - -g:ale_cpp_cppcheck_executable *g:ale_cpp_cppcheck_executable* - *b:ale_cpp_cppcheck_executable* - Type: |String| - Default: `'cppcheck'` - - This variable can be changed to use a different executable for cppcheck. - - -g:ale_cpp_cppcheck_options *g:ale_cpp_cppcheck_options* - *b:ale_cpp_cppcheck_options* - Type: |String| - Default: `'--enable=style'` - - This variable can be changed to modify flags given to cppcheck. - - -=============================================================================== -cpplint *ale-cpp-cpplint* - -g:ale_cpp_cpplint_executable *g:ale_cpp_cpplint_executable* - *b:ale_cpp_cpplint_executable* - Type: |String| - Default: `'cpplint'` - - This variable can be changed to use a different executable for cpplint. - - -g:ale_cpp_cpplint_options *g:ale_cpp_cpplint_options* - *b:ale_cpp_cpplint_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to cpplint. - - -=============================================================================== -cquery *ale-cpp-cquery* - -g:ale_cpp_cquery_executable *g:ale_cpp_cquery_executable* - *b:ale_cpp_cquery_executable* - Type: |String| - Default: `'cquery'` - - This variable can be changed to use a different executable for cquery. - - -g:ale_cpp_cquery_cache_directory *g:ale_cpp_cquery_cache_directory* - *b:ale_cpp_cquery_cache_directory* - Type: |String| - Default: `'~/.cache/cquery'` - - This variable can be changed to decide which directory cquery uses for its - cache. - - -=============================================================================== -flawfinder *ale-cpp-flawfinder* - -g:ale_cpp_flawfinder_executable *g:ale_cpp_flawfinder_executable* - *b:ale_cpp_flawfinder_executable* - Type: |String| - Default: `'flawfinder'` - - This variable can be changed to use a different executable for flawfinder. - - -g:ale_cpp_flawfinder_minlevel *g:ale_cpp_flawfinder_minlevel* - *b:ale_cpp_flawfinder_minlevel* - Type: |Number| - Default: `1` - - This variable can be changed to ignore risks under the given risk threshold. - - -g:ale_cpp_flawfinder_options *g:ale-cpp-flawfinder* - *b:ale-cpp-flawfinder* - Type: |String| - Default: `''` - - This variable can be used to pass extra options into the flawfinder command. - - -=============================================================================== -gcc *ale-cpp-gcc* - -g:ale_cpp_gcc_executable *g:ale_cpp_gcc_executable* - *b:ale_cpp_gcc_executable* - Type: |String| - Default: `'gcc'` - - This variable can be changed to use a different executable for gcc. - - -g:ale_cpp_gcc_options *g:ale_cpp_gcc_options* - *b:ale_cpp_gcc_options* - Type: |String| - Default: `'-std=c++14 -Wall'` - - This variable can be changed to modify flags given to gcc. - - -=============================================================================== -uncrustify *ale-cpp-uncrustify* - -See |ale-c-uncrustify| for information about the available options. - - -=============================================================================== -ccls *ale-cpp-ccls* - -g:ale_cpp_ccls_executable *g:ale_cpp_ccls_executable* - *b:ale_cpp_ccls_executable* - Type: |String| - Default: `'ccls'` - - This variable can be changed to use a different executable for ccls. - - -g:ale_cpp_ccls_init_options *g:ale_cpp_ccls_init_options* - *b:ale_cpp_ccls_init_options* - Type: |Dictionary| - Default: `{}` - - This variable can be changed to customize ccls initialization options. - Example: > - { - \ 'cacheDirectory': '/tmp/ccls', - \ 'cacheFormat': 'binary', - \ 'diagnostics': { - \ 'onOpen': 0, - \ 'opChange': 1000, - \ }, - \ } -< - Visit https://github.com/MaskRay/ccls/wiki/Initialization-options for all - available options and explanations. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-cs.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-cs.txt deleted file mode 100644 index bb13863..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-cs.txt +++ /dev/null @@ -1,197 +0,0 @@ -=============================================================================== -ALE C# Integration *ale-cs-options* - - -In addition to the linters that are provided with ALE, C# code can be checked -with the OmniSharp plugin. See here: https://github.com/OmniSharp/omnisharp-vim - - -=============================================================================== -csc *ale-cs-csc* - - The |ale-cs-csc| linter checks for semantic errors when files are opened or - saved. - - See |ale-lint-file-linters| for more information on linters which do not - check for problems while you type. - - The csc linter uses the mono csc compiler, providing full C# 7 and newer - support, to generate a temporary module target file (/t:module). The module - includes all '*.cs' files contained in the directory tree rooted at the path - defined by the |g:ale_cs_csc_source| or |b:ale_cs_csc_source| variable and - all sub directories. - - It will in future replace the |ale-cs-mcs| and |ale-cs-mcsc| linters as both - utilize the mcsc compiler which, according to the mono project, is no longer - actively developed, and only receives maintenance updates. However, because - the csc compiler does not support the -syntax option, this linter does not - offer any as-you-type syntax checking, similar to the |ale-cs-mcsc| linter. - - The paths to search for additional assembly files can be specified using the - |g:ale_cs_csc_assembly_path| or |b:ale_cs_csc_assembly_path| variables. - - NOTE: ALE will not find any errors in files apart from syntax errors if any - one of the source files contains a syntax error. Syntax errors must be fixed - first before other errors will be shown. - - -g:ale_cs_csc_options *g:ale_cs_csc_options* - *b:ale_cs_csc_options* - Type: |String| - Default: `''` - - This option can be set to pass additional arguments to the `csc` compiler. - - For example, to add the dotnet package which is not added per default: > - - let g:ale_cs_mcs_options = ' /warn:4 /langversion:7.2' -< - NOTE: the `/unsafe` option is always passed to `csc`. - - -g:ale_cs_csc_source *g:ale_cs_csc_source* - *b:ale_cs_csc_source* - Type: |String| - Default: `''` - - This variable defines the root path of the directory tree searched for the - '*.cs' files to be linted. If this option is empty, the source file's - directory will be used. - - NOTE: Currently it is not possible to specify sub directories and - directory sub trees which shall not be searched for *.cs files. - - -g:ale_cs_csc_assembly_path *g:ale_cs_csc_assembly_path* - *b:ale_cs_csc_assembly_path* - Type: |List| - Default: `[]` - - This variable defines a list of path strings to be searched for external - assembly files. The list is passed to the csc compiler using the `/lib:` - flag. - - -g:ale_cs_csc_assemblies *g:ale_cs_csc_assemblies* - *b:ale_cs_csc_assemblies* - Type: |List| - Default: `[]` - - This variable defines a list of external assembly (*.dll) files required - by the mono mcs compiler to generate a valid module target. The list is - passed the csc compiler using the `/r:` flag. - - For example: > - - " Compile C# programs with the Unity engine DLL file on Mac. - let g:ale_cs_mcsc_assemblies = [ - \ '/Applications/Unity/Unity.app/Contents/Frameworks/Managed/UnityEngine.dll', - \ 'path-to-unityproject/obj/Debug', - \] -< - -=============================================================================== -mcs *ale-cs-mcs* - - The `mcs` linter looks only for syntax errors while you type. See - |ale-cs-mcsc| for the separately configured linter for checking for semantic - errors. - - -g:ale_cs_mcs_options *g:ale_cs_mcs_options* - *b:ale_cs_mcs_options* - - Type: String - Default: `''` - - This variable can be changed to pass additional flags given to mcs. - - NOTE: The -unsafe flag is selected implicitly and thus does not need to be - explicitly included in the |g:ale_cs_mcs_options| or |b:ale_cs_mcs_options| - parameter. - - -=============================================================================== -mcsc *ale-cs-mcsc* - - The mcsc linter checks for semantic errors when files are opened or saved - See |ale-lint-file-linters| for more information on linters which do not - check for problems while you type. - - The mcsc linter uses the mono mcs compiler to generate a temporary module - target file (-t:module). The module includes including all '*.cs' files - contained in the directory tree rooted at the path defined by the - |g:ale_cs_mcsc_source| or |b:ale_cs_mcsc_source| variable. - variable and all sub directories. - - The paths to search for additional assembly files can be specified using the - |g:ale_cs_mcsc_assembly_path| or |b:ale_cs_mcsc_assembly_path| variables. - - NOTE: ALE will not find any errors in files apart from syntax errors if any - one of the source files contains a syntax error. Syntax errors must be fixed - first before other errors will be shown. - - -g:ale_cs_mcsc_options *g:ale_cs_mcsc_options* - *b:ale_cs_mcsc_options* - Type: |String| - Default: `''` - - This option can be set to pass additional arguments to the `mcs` compiler. - - For example, to add the dotnet package which is not added per default: > - - let g:ale_cs_mcs_options = '-pkg:dotnet' -< - NOTE: the `-unsafe` option is always passed to `mcs`. - - -g:ale_cs_mcsc_source *g:ale_cs_mcsc_source* - *b:ale_cs_mcsc_source* - Type: |String| - Default: `''` - - This variable defines the root path of the directory tree searched for the - '*.cs' files to be linted. If this option is empty, the source file's - directory will be used. - - NOTE: Currently it is not possible to specify sub directories and - directory sub trees which shall not be searched for *.cs files. - - -g:ale_cs_mcsc_assembly_path *g:ale_cs_mcsc_assembly_path* - *b:ale_cs_mcsc_assembly_path* - Type: |List| - Default: `[]` - - This variable defines a list of path strings to be searched for external - assembly files. The list is passed to the mcs compiler using the `-lib:` - flag. - - -g:ale_cs_mcsc_assemblies *g:ale_cs_mcsc_assemblies* - *b:ale_cs_mcsc_assemblies* - Type: |List| - Default: `[]` - - This variable defines a list of external assembly (*.dll) files required - by the mono mcs compiler to generate a valid module target. The list is - passed the mcs compiler using the `-r:` flag. - - For example: > - - " Compile C# programs with the Unity engine DLL file on Mac. - let g:ale_cs_mcsc_assemblies = [ - \ '/Applications/Unity/Unity.app/Contents/Frameworks/Managed/UnityEngine.dll', - \ 'path-to-unityproject/obj/Debug', - \] -< - -=============================================================================== -uncrustify *ale-cs-uncrustify* - -See |ale-c-uncrustify| for information about the available options. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-css.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-css.txt deleted file mode 100644 index ff74b26..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-css.txt +++ /dev/null @@ -1,47 +0,0 @@ -=============================================================================== -ALE CSS Integration *ale-css-options* - - -=============================================================================== -fecs *ale-css-fecs* - -`fecs` options for CSS is the same as the options for JavaScript, and both of -them reads `./.fecsrc` as the default configuration file. See: -|ale-javascript-fecs|. - - -=============================================================================== -prettier *ale-css-prettier* - -See |ale-javascript-prettier| for information about the available options. - - -=============================================================================== -stylelint *ale-css-stylelint* - -g:ale_css_stylelint_executable *g:ale_css_stylelint_executable* - *b:ale_css_stylelint_executable* - Type: |String| - Default: `'stylelint'` - - See |ale-integrations-local-executables| - - -g:ale_css_stylelint_options *g:ale_css_stylelint_options* - *b:ale_css_stylelint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to stylelint. - - -g:ale_css_stylelint_use_global *g:ale_css_stylelint_use_global* - *b:ale_css_stylelint_use_global* - Type: |String| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-cuda.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-cuda.txt deleted file mode 100644 index 0e53f75..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-cuda.txt +++ /dev/null @@ -1,32 +0,0 @@ -=============================================================================== -ALE CUDA Integration *ale-cuda-options* - - -=============================================================================== -nvcc *ale-cuda-nvcc* - -g:ale_cuda_nvcc_executable *g:ale_cuda_nvcc_executable* - *b:ale_cuda_nvcc_executable* - Type: |String| - Default: `'nvcc'` - - This variable can be changed to use a different executable for nvcc. - Currently only nvcc 8.0 is supported. - - -g:ale_cuda_nvcc_options *g:ale_cuda_nvcc_options* - *b:ale_cuda_nvcc_options* - Type: |String| - Default: `'-std=c++11'` - - This variable can be changed to modify flags given to nvcc. - -=============================================================================== -clang-format *ale-cuda-clangformat* - -See |ale-c-clangformat| for information about the available options. -Note that the C options are also used for cuda. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-d.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-d.txt deleted file mode 100644 index 72349a2..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-d.txt +++ /dev/null @@ -1,32 +0,0 @@ -=============================================================================== -ALE D Integration *ale-d-options* - -=============================================================================== -dfmt *ale-d-dfmt* - -g:ale_d_dfmt_options *g:ale_d_dfmt_options* - *b:ale_d_dfmt_options* - Type: |String| - Default: `''` - -This variable can be set to pass additional options to the dfmt fixer. - -=============================================================================== -dls *ale-d-dls* - -g:ale_d_dls_executable *g:ale_d_dls_executable* - *b:ale_d_dls_executable* - Type: |String| - Default: `dls` - -See |ale-integrations-local-executables| - - -=============================================================================== -uncrustify *ale-d-uncrustify* - -See |ale-c-uncrustify| for information about the available options. - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-dart.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-dart.txt deleted file mode 100644 index a6d88dd..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-dart.txt +++ /dev/null @@ -1,71 +0,0 @@ -=============================================================================== -ALE Dart Integration *ale-dart-options* - - -=============================================================================== -dartanalyzer *ale-dart-dartanalyzer* - -Installation -------------------------------------------------------------------------------- - -Install Dart via whatever means. `dartanalyzer` will be included in the SDK. - -You can add the SDK to `$PATH`, as described here: -https://www.dartlang.org/tools/sdk - -If you have installed Dart on Linux, you can also try the following: > - " Set the executable path for dartanalyzer to the absolute path to it. - let g:ale_dart_dartanalyzer_executable = '/usr/lib/dart/bin/dartanalyzer' -< -... or similarly for wherever your Dart SDK lives. This should work without -having to modify `$PATH`. - -ALE can only check for problems with `dartanalyzer` with the file on disk. -See |ale-lint-file-linters| - -Options -------------------------------------------------------------------------------- - -g:ale_dart_dartanalyzer_executable *g:ale_dart_dartanalyzer_executable* - *b:ale_dart_dartanalyzer_executable* - Type: |String| - Default: `'dartanalyzer'` - - This variable can be set to change the path to dartanalyzer. - - -=============================================================================== -dartfmt *ale-dart-dartfmt* - -Installation -------------------------------------------------------------------------------- - -Installing Dart should probably ensure that `dartfmt` is in your `$PATH`. - -In case it is not, try to set the executable option to its absolute path. : > - " Set the executable path for dartfmt to the absolute path to it. - let g:ale_dart_dartfmt_executable = '/usr/lib/dart/bin/dartfmt' - > - -Options -------------------------------------------------------------------------------- - -g:ale_dart_dartfmt_executable *g:ale_dart_dartfmt_executable* - *b:ale_dart_dartfmt_executable* - Type: |String| - Default: `''` - - This variable can be set to specify an absolute path to the - dartfmt executable (or to specify an alternate executable). - - -g:ale_dart_dartfmt_options *g:ale_dart_dartfmt_options* - *b:ale_dart_dartfmt_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the dartfmt fixer. - -=============================================================================== - - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-development.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-development.txt deleted file mode 100644 index faa570c..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-development.txt +++ /dev/null @@ -1,357 +0,0 @@ -*ale-development.txt* For Vim version 8.0. -*ale-dev* -*ale-development* - -ALE Development Documentation - -=============================================================================== -CONTENTS *ale-development-contents* - - 1. Introduction.........................|ale-development-introduction| - 2. Design Goals.........................|ale-design-goals| - 3. Coding Standards.....................|ale-coding-standards| - 4. Testing ALE..........................|ale-development-tests| - 4.1. Writing Linter Tests.............|ale-development-linter-tests| - 4.2. Writing Fixer Tests..............|ale-development-fixer-tests| - -=============================================================================== -1. Introduction *ale-development-introduction* - -This document contains helpful information for ALE developers, including -design goals, information on how to run the tests, coding standards, and so -on. You should read this document if you want to get involved with ALE -development. - -=============================================================================== -2. Design Goals *ale-design-goals* - -This section lists design goals for ALE, in no particular order. They are as -follows. - -ALE code should be almost 100% VimL. This makes the plugin as portable as -possible. - -ALE should run without needing any other plugins to be installed, to make -installation simple. ALE can integrate with other plugins for more advanced -functionality, non-essential functionality, or improving on basic first party -functionality. - -ALE should check files with as many tools as possible by default, except where -they cause security issues or make excessive use of resources on modern -machines. - -ALE should be free of breaking changes to the public API, which is comprised of -documented functions and options, until a major version is planned. Breaking -changes should be preceded by a deprecation phase complete with warnings. -Changes required for security may be an exception. - -ALE supports Vim 8 and above, and NeoVim 0.2.0 or newer. These are the -earliest versions of Vim and NeoVim which support |job|, |timer|, |closure|, -and |lambda| features. All ALE code should be written so it is compatible with -these versions of Vim, or with version checks so particular features can -degrade or fail gracefully. - -Just about everything should be documented and covered with tests. - -By and large, people shouldn't pay for the functionality they don't use. Care -should be taken when adding new features, so supporting new features doesn't -degrade the general performance of anything ALE does. - -LSP support will become more important as time goes on. ALE should provide -better support for LSP features as time goes on. - -When merging pull requests, you should respond with `Cheers! :beers:`, purely -for comedy value. - -=============================================================================== -3. Coding Standards *ale-coding-standards* - -The following general coding standards should be adhered to for Vim code. - -* Check your Vim code with `Vint` and do everything it says. ALE will check - your Vim code with Vint automatically. See: https://github.com/Kuniwak/vint - Read ALE's `Dockerfile` to see which version of `Vint` it uses. -* Try to write descriptive and concise names for variables and functions. - Names shouldn't be too short or too long. Think about others reading your - code later on. -* Use `snake_case` names for variables and arguments, and `PascalCase` names - for functions. Prefix every variable name with its scope. (`l:`, `g:`, etc.) -* Try to keep lines no longer than 80 characters, but this isn't an absolute - requirement. -* Use 4 spaces for every level of indentation in Vim code. -* Add a blank line before every `function`, `if`, `for`, `while`, or `return`, - which doesn't start a new level of indentation. This makes the logic in - your code easier to follow. -* End every file with a trailing newline character, but not with extra blank - lines. Remove trailing whitespace from the ends of lines. -* Write the full names of commands instead of abbreviations. For example, write - `function` instead of `func`, and `endif` instead of `end`. -* Write functions with `!`, so files can be reloaded. Use the |abort| keyword - for all functions, so functions exit on the first error. -* Make sure to credit yourself in files you have authored with `Author:` - and `Description:` comments. - -In addition to the above general guidelines for the style of your code, you -should also follow some additional rules designed to prevent mistakes. Some of -these are reported with ALE's `custom-linting-rules` script. See -|ale-development-tests|. - -* Don't leave stray `:echo` lines in code. Use `execute 'echo' ...` if you must - echo something. -* For strings use |is#| instead of |==#|, `is?` instead of `==?`, `isnot#` - instead of `!=#`, and `isnot?` instead of `!=?`. This is because `'x' ==# 0` - returns 1, while `'x' is# 0` returns 0, so you will experience fewer issues - when numbers are compared with strings. `is` and `isnot` also do not throw - errors when other objects like List or Dictionaries are compared with - strings. -* Don't use the `getcwd()` function in the ALE codebase. Most of ALE's code - runs from asynchronous callback functions, and these functions can execute - from essentially random buffers. Therefore, the `getcwd()` output is - useless. Use `expand('#' . a:buffer . ':p:h')` instead. Don't use - `expand('%...')` for the same reason. -* Don't use the `simplify()` function. It doesn't simplify paths enough. Use - `ale#path#Simplify()` instead. -* Don't use the `shellescape()` function. It doesn't escape arguments properly - on Windows. Use `ale#Escape()` instead, which will avoid escaping where it - isn't needed, and generally escape arguments better on Windows. -* Don't use the `tempname()` function. It doesn't work when `$TMPDIR` isn't - set. Use `ale#util#Tempname()` instead, which temporarily sets `$TMPDIR` - appropriately where needed. -* Use `snake_case` names for linter names, so they can be used as part of - variable names. You can define `aliases` for linters, for other names people - might try to configure linters with. -* Use |v:t_TYPE| variables instead of `type()`, which are more readable. - -Apply the following guidelines when writing Vader test files. - -* Use 2 spaces for Vader test files, instead of the 4 spaces for Vim files. -* If you write `Before` and `After` blocks, you should typically write them at - the top of the file, so they run for all tests. There may be some tests - where it make sense to modify the `Before` and `After` code part of the way - through the file. -* If you modify any settings or global variables, reset them in `After` - blocks. The Vader `Save` and `Restore` commands can be useful for this - purpose. -* If you load or define linters in tests, write `call ale#linter#Reset()` in - an `After` block. -* Just write `Execute` blocks for Vader tests, and don't bother writing `Then` - blocks. `Then` blocks execute after `After` blocks in older versions, and - that can be confusing. - -Apply the following rules when writing Bash scripts. - -* Run `shellcheck`, and do everything it says. - See: https://github.com/koalaman/shellcheck -* Try to write scripts so they will run on Linux, BSD, or Mac OSX. - -=============================================================================== -4. Testing ALE *ale-development-tests* *ale-dev-tests* *ale-tests* - -ALE is tested with a suite of tests executed in Travis CI and AppVeyor. ALE -runs tests with the following versions of Vim in the following environments. - -1. Vim 8.0.0027 on Linux via Travis CI. -2. Vim 8.1.0519 on Linux via Travis CI. -3. NeoVim 0.2.0 on Linux via Travis CI. -4. NeoVim 0.3.5 on Linux via Travis CI. -5. Vim 8 (stable builds) on Windows via AppVeyor. - -If you are developing ALE code on Linux, Mac OSX, or BSD, you can run ALEs -tests by installing Docker and running the `run-tests` script. Follow the -instructions on the Docker site for installing Docker. -See: https://docs.docker.com/install/ - -NOTE: Don't forget to add your user to the `docker` group on Linux, or Docker -just won't work. See: https://docs.docker.com/install/linux/linux-postinstall/ - -If you run simply `./run-tests` from the ALE repository root directory, the -latest Docker image for tests will be downloaded if needed, and the script -will run all of the tests in Vader, Vint checks, and several Bash scripts for -finding extra issues. Run `./run-tests --help` to see all of the options the -script supports. Note that the script supports selecting particular test files. - -Generally write tests for any changes you make. The following types of tests -are recommended for the following types of code. - -* New/edited error handler callbacks -> Write tests in `test/handler` -* New/edited command callbacks -> Write tests in `test/command_callback` -* New/edited fixer functions -> Write tests in `test/fixers` - -Look at existing tests in the codebase for examples of how to write tests. -Refer to the Vader documentation for general information on how to write Vader -tests: https://github.com/junegunn/vader.vim - -See |ale-development-linter-tests| for more information on how to write linter -tests. - -When you add new linters or fixers, make sure to add them into the tables in -supported-tools.md and |ale-supported-languages-and-tools.txt|. If you forget to -keep them both in sync, you should see an error like the following in Travis CI. -> - ======================================== - diff supported-tools.md and doc/ale-supported-languages-and-tools.txt tables - ======================================== - Differences follow: - - --- /tmp/readme.qLjNhJdB 2018-07-01 16:29:55.590331972 +0100 - +++ /tmp/doc.dAi8zfVE 2018-07-01 16:29:55.582331877 +0100 - @@ -1 +1 @@ - - ASM: gcc, foobar - + ASM: gcc -< -Make sure to list documentation entries for linters and fixers in individual -help files in the table of contents, and to align help tags to the right -margin. For example, if you add a heading for an `aardvark` tool to -`ale-python.txt` with a badly aligned doc tag, you will see errors like so. > - - ======================================== - Look for badly aligned doc tags - ======================================== - Badly aligned tags follow: - - doc/ale-python.txt:aardvark ... - ======================================== - Look for table of contents issues - ======================================== - - Check for bad ToC sorting: - - Check for mismatched ToC and headings: - - --- /tmp/table-of-contents.mwCFOgSI 2018-07-01 16:33:25.068811878 +0100 - +++ /tmp/headings.L4WU0hsO 2018-07-01 16:33:25.076811973 +0100 - @@ -168,6 +168,7 @@ - pyrex (cython), ale-pyrex-options - cython, ale-pyrex-cython - python, ale-python-options - + aardvark, ale-python-aardvark - autopep8, ale-python-autopep8 - black, ale-python-black - flake8, ale-python-flake8 -< -Make sure to make the table of contents match the headings, and to keep the -doc tags on the right margin. - -=============================================================================== -4.1 Writing Linter Tests *ale-development-linter-tests* - -Tests for ALE linters take two forms. - -1. Tests for handling the output of commands. -2. Tests for checking which commands are run, or connections are made. - -Tests of the first form should go in the `test/handler` directory, and should -be written like so. > - - Before: - " Load the file which defines the linter. - runtime ale_linters/filetype/linter_name_here.vim - - After: - " Unload all linters again. - call ale#linter#Reset() - - Execute(The output should be correct): - - " Test that the right loclist items are parsed from the handler. - AssertEqual - \ [ - \ { - \ 'lnum': 1, - \ 'type': 'E', - \ 'text': 'Something went wrong', - \ }, - \ ], - \ ale_linters#filetype#linter_name#Handle(bufnr(''), [ - \ '1:Something went wrong', - \ ] -< -Tests for what ALE runs should go in the `test/command_callback` directory, -and should be written like so. > - - Before: - " Load the linter and set up a series of commands, reset linter variables, - " clear caches, etc. - " - " Vader's 'Save' command will be called here for linter variables. - call ale#assert#SetUpLinterTest('filetype', 'linter_name') - - After: - " Reset linters, variables, etc. - " - " Vader's 'Restore' command will be called here. - call ale#assert#TearDownLinterTest() - - Execute(The default command should be correct): - " AssertLinter checks the executable and command. - " Pass expected_executable, expected_command - AssertLinter 'some-command', ale#Escape('some-command') . ' --foo' - - Execute(Check chained commands): - " GivenCommandOutput can be called with 1 or more list for passing output - " to chained commands. The output for each callback defaults to an empty - " list. - GivenCommandOutput ['v2.1.2'] - " Given a List of commands, check all of them. - " Given a String, only the last command in the chain will be checked. - AssertLinter 'some-command', [ - \ ale#Escape('some-command') . ' --version', - \ ale#Escape('some-command') . ' --foo', - \] -< -The full list of commands that will be temporarily defined for linter tests -given the above setup are as follows. - -`GivenCommandOutput [...]` - Define output for ale#command#Run. -`AssertLinter executable, command` - Check the executable and command. -`AssertLinterNotExecuted` - Check that linters will not be executed. -`AssertLSPLanguage language` - Check the language given to an LSP server. -`AssertLSPOptions options_dict` - Check the options given to an LSP server. -`AssertLSPConfig config_dict` - Check the config given to an LSP server. -`AssertLSPProject project_root` - Check the root given to an LSP server. -`AssertLSPAddress address` - Check the address to an LSP server. - - -=============================================================================== -4.2 Writing Fixer Tests *ale-development-fixer-tests* - -Tests for ALE fixers should go in the `test/fixers` directory, and should -be written like so. > - - Before: - " Load the fixer and set up a series of commands, reset fixer variables, - " clear caches, etc. - " - " Vader's 'Save' command will be called here for fixer variables. - call ale#assert#SetUpFixerTest('filetype', 'fixer_name') - - After: - " Reset fixers, variables, etc. - " - " Vader's 'Restore' command will be called here. - call ale#assert#TearDownFixerTest() - - Execute(The default command should be correct): - " AssertFixer checks the result of the loaded fixer function. - AssertFixer {'command': ale#Escape('some-command') . ' --foo'} - - Execute(Check chained commands): - " Same as above for linter tests. - GivenCommandOutput ['v2.1.2'] - " Given a List of commands, check all of them. - " Given anything else, only the last result will be checked. - AssertFixer [ - \ ale#Escape('some-command') . ' --version', - \ {'command': ale#Escape('some-command') . ' --foo'} - \] -< -The full list of commands that will be temporarily defined for fixer tests -given the above setup are as follows. - -`GivenCommandOutput [...]` - Define output for ale#command#Run. -`AssertFixer results` - Check the fixer results -`AssertFixerNotExecuted` - Check that fixers will not be executed. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-dockerfile.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-dockerfile.txt deleted file mode 100644 index 284c6a1..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-dockerfile.txt +++ /dev/null @@ -1,60 +0,0 @@ -=============================================================================== -ALE Dockerfile Integration *ale-dockerfile-options* - - -=============================================================================== -dockerfile_lint *ale-dockerfile-dockerfile_lint* - -g:ale_dockerfile_dockerfile_lint_executable - *g:ale_dockerfile_dockerfile_lint_executable* - *b:ale_dockerfile_dockerfile_lint_executable* - Type: |String| - Default: `'dockerfile_lint'` - - This variable can be changed to specify the executable used to run - dockerfile_lint. - - -g:ale_dockerfile_dockerfile_lint_options - *g:ale_dockerfile_dockerfile_lint_options* - *b:ale_dockerfile_dockerfile_lint_options* - Type: |String| - Default: `''` - - This variable can be changed to add additional command-line arguments to - the dockerfile lint invocation - like custom rule file definitions. - - -=============================================================================== -hadolint *ale-dockerfile-hadolint* - - hadolint can be found at: https://github.com/hadolint/hadolint - - -g:ale_dockerfile_hadolint_use_docker *g:ale_dockerfile_hadolint_use_docker* - *b:ale_dockerfile_hadolint_use_docker* - Type: |String| - Default: `'never'` - - This variable controls if docker and the hadolint image are used to run this - linter: if 'never', docker will never be used; 'always' means docker will - always be used; 'yes' and docker will be used if the hadolint executable - cannot be found. - - For now, the default is 'never'. This may change as ale's support for using - docker to lint evolves. - - -g:ale_dockerfile_hadolint_image *g:ale_dockerfile_hadolint_image* - *b:ale_dockerfile_hadolint_image* - Type: |String| - Default: `'hadolint/hadolint'` - - This variable controls the docker image used to run hadolint. The default - is hadolint's author's build, and can be found at: - - https://hub.docker.com/r/hadolint/hadolint/ - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-elixir.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-elixir.txt deleted file mode 100644 index 5864f72..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-elixir.txt +++ /dev/null @@ -1,89 +0,0 @@ -=============================================================================== -ALE Elixir Integration *ale-elixir-options* - - -=============================================================================== -mix *ale-elixir-mix* - - -The `mix` linter is disabled by default, as it can bee too expensive to run. -See `:help g:ale_linters` - - -g:ale_elixir_mix_options *g:ale_elixir_mix_options* - *b:ale_elixir_mix_options* - Type: |String| - Default: `'mix'` - - - This variable can be changed to specify the mix executable. - -=============================================================================== -mix_format *ale-elixir-mix-format* - -g:ale_elixir_mix_format_options *g:ale_elixir_mix_format_options* - *b:ale_elixir_mix_format_options* - Type: |String| - Default: `''` - - - This variable can be changed to specify the mix options passed to the - mix_format fixer - -=============================================================================== -dialyxir *ale-elixir-dialyxir* - -Dialyzer, a DIscrepancy AnaLYZer for ERlang programs. -http://erlang.org/doc/man/dialyzer.html - -It can be used with elixir through dialyxir -https://github.com/jeremyjh/dialyxir - -Options for dialyzer are not configurable by ale, but they are instead -configured on your project's `mix.exs`. - -See https://github.com/jeremyjh/dialyxir#with-explaining-stuff for more -information. - -=============================================================================== -elixir-ls *ale-elixir-elixir-ls* - -Elixir Language Server (https://github.com/JakeBecker/elixir-ls) - -g:ale_elixir_elixir_ls_release *g:ale_elixir_elixir_ls_release* - *b:ale_elixir_elixir_ls_release* - Type: |String| - Default: `'elixir-ls'` - - Location of the elixir-ls release directory. This directory must contain - the language server scripts (language_server.sh and language_server.bat). - -g:ale_elixir_elixir_ls_config *g:ale_elixir_elixir_ls_config* - *b:ale_elixir_elixir_ls_config* - Type: |Dictionary| - Default: `{}` - - Dictionary containing configuration settings that will be passed to the - language server. For example, to disable Dialyzer: > - { - \ 'elixirLS': { - \ 'dialyzerEnabled': v:false, - \ }, - \ } -< - Consult the ElixirLS documentation for more information about settings. -=============================================================================== -credo *ale-elixir-credo* - -Credo (https://github.com/rrrene/credo) - -g:ale_elixir_credo_strict *g:ale_elixir_credo_strict* - - Type: Integer - Default: 0 - - Tells credo to run in strict mode or suggest mode. Set variable to 1 to - enable --strict mode. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-elm.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-elm.txt deleted file mode 100644 index b151024..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-elm.txt +++ /dev/null @@ -1,100 +0,0 @@ -=============================================================================== -ALE Elm Integration *ale-elm-options* - - -=============================================================================== -elm-format *ale-elm-elm-format* - -g:ale_elm_format_executable *g:ale_elm_format_executable* - *b:ale_elm_format_executable* - Type: |String| - Default: `'elm-format'` - - See |ale-integrations-local-executables| - - -g:ale_elm_format_use_global *g:ale_elm_format_use_global* - *b:ale_elm_format_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -g:ale_elm_format_options *g:ale_elm_format_options* - *b:ale_elm_format_options* - Type: |String| - Default: `'--yes'` - - This variable can be set to pass additional options to elm-format. - -=============================================================================== -elm-ls *ale-elm-elm-ls* - -g:ale_elm_ls_executable *g:ale_elm_ls_executable* - *b:ale_elm_ls_executable* - Type: |String| - Default: `'elm-language-server'` - - See |ale-integrations-local-executables| - - -g:ale_elm_ls_use_global *g:ale_elm_ls_use_global* - *b:ale_elm_ls_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 1)` - - See |ale-integrations-local-executables| - - -g:ale_elm_ls_elm_path *g:ale_elm_ls_elm_path* - *b:ale_elm_ls_elm_path* - Type: |String| - Default: `''` - - See |ale-integrations-local-executables| - - -g:ale_elm_ls_elm_format_path *g:ale_elm_ls_elm_format_path* - *b:ale_elm_ls_elm_format_path* - Type: |String| - Default: `''` - - See |ale-integrations-local-executables| - - -g:ale_elm_ls_elm_test_path *g:ale_elm_ls_elm_test_path* - *b:ale_elm_ls_elm_test_path* - Type: |String| - Default: `''` - - See |ale-integrations-local-executables| - - -g:ale_elm_ls_elm_analyse_trigger *g:ale_elm_ls_elm_analyse_trigger* - *b:ale_elm_ls_elm_analyse_trigger* - Type: |String| - Default: `'change'` - - One of 'change', 'save' or 'never' - -=============================================================================== -elm-make *ale-elm-elm-make* - -g:ale_elm_make_executable *g:ale_elm_make_executable* - *b:ale_elm_make_executable* - Type: |String| - Default: `'elm'` - - See |ale-integrations-local-executables| - - -g:ale_elm_make_use_global *g:ale_elm_make_use_global* - *b:ale_elm_make_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-erlang.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-erlang.txt deleted file mode 100644 index 59993a9..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-erlang.txt +++ /dev/null @@ -1,58 +0,0 @@ -=============================================================================== -ALE Erlang Integration *ale-erlang-options* - - -=============================================================================== -dialyzer *ale-erlang-dialyzer* - -g:ale_erlang_dialyzer_executable *g:ale_erlang_dialyzer_executable* - *b:ale_erlang_dialyzer_executable* - Type: |String| - Default: `'dialyzer'` - - This variable can be changed to specify the dialyzer executable. - - -g:ale_erlang_dialyzer_plt_file *g:ale_erlang_dialyzer_plt_file* - *b:ale_erlang_dialyzer_plt_file* - Type: |String| - - This variable can be changed to specify the path to the PLT file. By - default, it will search for the PLT file inside the `_build` directory. If - there isn't one, it will fallback to the path `$REBAR_PLT_DIR/dialyzer/plt`. - Otherwise, it will default to `$HOME/.dialyzer_plt`. - - -g:ale_erlang_dialyzer_rebar3_profile *g:ale_erlang_dialyzer_rebar3_profile* - *b:ale_erlang_dialyzer_rebar3_profile* - Type: |String| - Default: `'default'` - - This variable can be changed to specify the profile that is used to - run dialyzer with rebar3. - -------------------------------------------------------------------------------- -erlc *ale-erlang-erlc* - -g:ale_erlang_erlc_options *g:ale_erlang_erlc_options* - *b:ale_erlang_erlc_options* - Type: |String| - Default: `''` - - This variable controls additional parameters passed to `erlc`, such as `-I` - or `-pa`. - - -------------------------------------------------------------------------------- -syntaxerl *ale-erlang-syntaxerl* - -g:ale_erlang_syntaxerl_executable *g:ale_erlang_syntaxerl_executable* - *b:ale_erlang_syntaxerl_executable* - Type: |String| - Default: `'syntaxerl'` - - This variable can be changed to specify the syntaxerl executable. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-eruby.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-eruby.txt deleted file mode 100644 index d75d386..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-eruby.txt +++ /dev/null @@ -1,37 +0,0 @@ -=============================================================================== -ALE Eruby Integration *ale-eruby-options* - -There are four linters for `eruby` files: - -- `erb` -- `erubis` -- `erubi` -- `ruumba` - -`erb` is in the Ruby standard library and is mostly universal. `erubis` is the -default parser in Rails between 3.0 and 5.1. `erubi` is the default in Rails -5.1 and later. `ruumba` can extract Ruby from eruby files and run rubocop on -the result. To selectively enable a subset, see |g:ale_linters|. - -=============================================================================== -ruumba *ale-eruby-ruumba* - -g:ale_eruby_ruumba_executable *g:ale_eruby_ruumba_executable* - *b:ale_eruby_ruumba_executable* - Type: String - Default: `'ruumba` - - Override the invoked ruumba binary. This is useful for running ruumba - from binstubs or a bundle. - - -g:ale_eruby_ruumba_options *g:ale_ruby_ruumba_options* - *b:ale_ruby_ruumba_options* - Type: |String| - Default: `''` - - This variable can be change to modify flags given to ruumba. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-fish.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-fish.txt deleted file mode 100644 index 8450b38..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-fish.txt +++ /dev/null @@ -1,14 +0,0 @@ -=============================================================================== -ALE Fish Integration *ale-fish-options* - -Lints fish files using `fish -n`. - -Note that `fish -n` is not foolproof: it sometimes gives false positives or -errors that are difficult to parse without more context. This integration skips -displaying errors if an error message is not found. - -If ALE is not showing any errors but your file does not run as expected, run -`fish -n ` from the command line. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-fortran.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-fortran.txt deleted file mode 100644 index c9b7e8e..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-fortran.txt +++ /dev/null @@ -1,55 +0,0 @@ -=============================================================================== -ALE Fortran Integration *ale-fortran-options* - - -=============================================================================== -gcc *ale-fortran-gcc* - -g:ale_fortran_gcc_executable *g:ale_fortran_gcc_executable* - *b:ale_fortran_gcc_executable* - Type: |String| - Default: `'gcc'` - - This variable can be changed to modify the executable used for checking - Fortran code with GCC. - - -g:ale_fortran_gcc_options *g:ale_fortran_gcc_options* - *b:ale_fortran_gcc_options* - Type: |String| - Default: `'-Wall'` - - This variable can be changed to modify flags given to gcc. - - -g:ale_fortran_gcc_use_free_form *g:ale_fortran_gcc_use_free_form* - *b:ale_fortran_gcc_use_free_form* - Type: |Number| - Default: `1` - - When set to `1`, the `-ffree-form` flag will be used for GCC, to check files - with the free form layout. When set to `0`, `-ffixed-form` will be used - instead, for checking files with fixed form layouts. - - -=============================================================================== -language_server *ale-fortran-language-server* - -g:ale_fortran_language_server_executable *g:ale_fortran_language_server_executable* - *b:ale_fortran_language_server_executable* - Type: |String| - Default: `'fortls'` - - This variable can be changed to modify the executable used for the Fortran - Language Server. - -g:ale_fortran_language_server_use_global *g:ale_fortran_language_server_use_global* - *b:ale_fortran_language_server_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-fountain.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-fountain.txt deleted file mode 100644 index ac0870c..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-fountain.txt +++ /dev/null @@ -1,6 +0,0 @@ -=============================================================================== -ALE Fountain Integration *ale-fountain-options* - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-fuse.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-fuse.txt deleted file mode 100644 index 0849c37..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-fuse.txt +++ /dev/null @@ -1,25 +0,0 @@ -=============================================================================== -ALE FusionScript Integration *ale-fuse-options* - - -=============================================================================== -fusion-lint *ale-fuse-fusionlint* - -g:ale_fusion_fusionlint_executable *g:ale_fuse_fusionlint_executable* - *b:ale_fuse_fusionlint_executable* - Type: |String| - Default: `'fusion-lint'` - - This variable can be changed to change the path to fusion-lint. - - -g:ale_fuse_fusionlint_options *g:ale_fuse_fusionlint_options* - *b:ale_fuse_fusionlint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to fusion-lint. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-gitcommit.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-gitcommit.txt deleted file mode 100644 index 38f3fd9..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-gitcommit.txt +++ /dev/null @@ -1,44 +0,0 @@ -=============================================================================== -ALE Git Commit Integration *ale-gitcommit-options* - - -=============================================================================== -gitlint *ale-gitcommit-gitlint* - -g:ale_gitcommit_gitlint_executable *g:ale_gitcommit_gitlint_executable* - *b:ale_gitcommit_gitlint_executable* - Type: |String| - Default: `'gitlint'` - - This variable can be changed to modify the executable used for gitlint. - - -g:ale_gitcommit_gitlint_options *g:ale_gitcommit_gitlint_options* - *b:ale_gitcommit_gitlint_options* - Type: |String| - Default: `''` - - This variable can be changed to add command-line arguments to the gitlint - invocation. For example, you can specify the path to a configuration file. > - - let g:ale_gitcommit_gitlint_options = '-C /home/user/.config/gitlint.ini' -< - You can also disable particular error codes using this option. For example, - you can ignore errors for git commits with a missing body. > - - let g:ale_gitcommit_gitlint_options = '--ignore B6' -< - -g:ale_gitcommit_gitlint_use_global *g:ale_gitcommit_gitlint_use_global* - *b:ale_gitcommit_gitlint_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - This variable controls whether or not ALE will search for gitlint in a - virtualenv directory first. If this variable is set to `1`, then ALE will - always use |g:ale_gitcommit_gitlint_executable| for the executable path. - - Both variables can be set with `b:` buffer variables instead. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-glsl.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-glsl.txt deleted file mode 100644 index 257de75..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-glsl.txt +++ /dev/null @@ -1,56 +0,0 @@ -=============================================================================== -ALE GLSL Integration *ale-glsl-options* - *ale-integration-glsl* - -=============================================================================== -Integration Information - - Since Vim does not detect the glsl file types out-of-the-box, you need the - runtime files for glsl from here: https://github.com/tikhomirov/vim-glsl - - Note that the current glslang-based linter expects glslangValidator in - standard paths. If it's not installed system-wide you can set - |g:ale_glsl_glslang_executable| to a specific path. - - -=============================================================================== -glslang *ale-glsl-glslang* - -g:ale_glsl_glslang_executable *g:ale_glsl_glslang_executable* - *b:ale_glsl_glslang_executable* - Type: |String| - Default: `'glslangValidator'` - - This variable can be changed to change the path to glslangValidator. - - -g:ale_glsl_glslang_options *g:ale_glsl_glslang_options* - *b:ale_glsl_glslang_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to glslangValidator. - - -=============================================================================== -glslls *ale-glsl-glslls* - -g:ale_glsl_glslls_executable *g:ale_glsl_glslls_executable* - *b:ale_glsl_glslls_executable* - Type: |String| - Default: `'glslls'` - - This variable can be changed to change the path to glslls. - See |ale-integrations-local-executables| - -g:ale_glsl_glslls_logfile *g:ale_glsl_glslls_logfile* - *b:ale_glsl_glslls_logfile* - Type: |String| - Default: `''` - - Setting this variable to a writeable file path will enable logging to that - file. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-go.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-go.txt deleted file mode 100644 index 5c0791b..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-go.txt +++ /dev/null @@ -1,263 +0,0 @@ -=============================================================================== -ALE Go Integration *ale-go-options* - - -=============================================================================== -Integration Information - -The `gometalinter` linter is disabled by default. ALE enables `gofmt`, -`golint` and `go vet` by default. It also supports `staticcheck`, `go -build`, `gosimple`, `golangserver`. - -To enable `gometalinter`, update |g:ale_linters| as appropriate: -> - " Enable all of the linters you want for Go. - let g:ale_linters = {'go': ['gometalinter', 'gofmt']} -< -A possible configuration is to enable `gometalinter` and `gofmt` but paired -with the `--fast` option, set by |g:ale_go_gometalinter_options|. This gets you -the benefit of running a number of linters, more than ALE would by default, -while ensuring it doesn't run any linters known to be slow or resource -intensive. - -g:ale_go_go_executable *g:ale_go_go_options* - *b:ale_go_go_options* - - Type: |String| - Default: `'go'` - - The executable that will be run for the `gobuild` and `govet` linters, and - the `gomod` fixer. - - -g:ale_go_go111module *g:ale_go_go111module* - *b:ale_go_go111module* - Type: |String| - Default: `''` - - Override the value of the `$GO111MODULE` environment variable for - golang tools. - - - -=============================================================================== -bingo *ale-go-bingo* - -g:ale_go_bingo_executable *g:ale_go_bingo_executable* - *b:ale_go_bingo_executable* - Type: |String| - Default: `'bingo'` - - Location of the bingo binary file. - - -g:ale_go_bingo_options *g:ale_go_bingo_options* - *b:ale_go_bingo_options* - Type: |String| - Default: `''` - - -=============================================================================== -gobuild *ale-go-gobuild* - -g:ale_go_gobuild_options *g:ale_go_gobuild_options* - *b:ale_go_gobuild_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the gobuild linter. - They are injected directly after "go test". - - -=============================================================================== -gofmt *ale-go-gofmt* - -g:ale_go_gofmt_options *g:ale_go_gofmt_options* - *b:ale_go_gofmt_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the gofmt fixer. - - -=============================================================================== -golangci-lint *ale-go-golangci-lint* - -`golangci-lint` is a `lint_file` linter, which only lints files that are -written to disk. This differs from the default behavior of linting the buffer. -See: |ale-lint-file| - -g:ale_go_golangci_lint_executable *g:ale_go_golangci_lint_executable* - *b:ale_go_golangci_lint_executable* - Type: |String| - Default: `'golangci-lint'` - - The executable that will be run for golangci-lint. - - -g:ale_go_golangci_lint_options *g:ale_go_golangci_lint_options* - *b:ale_go_golangci_lint_options* - Type: |String| - Default: `'--enable-all'` - - This variable can be changed to alter the command-line arguments to the - golangci-lint invocation. - - -g:ale_go_golangci_lint_package *g:ale_go_golangci_lint_package* - *b:ale_go_golangci_lint_package* - Type: |Number| - Default: `0` - - When set to `1`, the whole Go package will be checked instead of only the - current file. - - -=============================================================================== -golangserver *ale-go-golangserver* - -g:ale_go_langserver_executable *g:ale_go_langserver_executable* - *b:ale_go_langserver_executable* - Type: |String| - Default: `'go-langserver'` - - Location of the go-langserver binary file. - - -g:ale_go_langserver_options *g:ale_go_langserver_options* - *b:ale_go_langserver_options* - Type: |String| - Default: `''` - - Additional options passed to the go-langserver command. Note that the - `-gocodecompletion` option is ignored because it is handled automatically - by the |g:ale_completion_enabled| variable. - - -=============================================================================== -golint *ale-go-golint* - -g:ale_go_golint_executable *g:ale_go_golint_executable* - *b:ale_go_golint_executable* - Type: |String| - Default: `'golint'` - - This variable can be set to change the golint executable path. - - -g:ale_go_golint_options *g:ale_go_golint_options* - *b:ale_go_golint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the golint linter. - - -=============================================================================== -gometalinter *ale-go-gometalinter* - -`gometalinter` is a `lint_file` linter, which only lints files that are -written to disk. This differs from the default behavior of linting the buffer. -See: |ale-lint-file| - -g:ale_go_gometalinter_executable *g:ale_go_gometalinter_executable* - *b:ale_go_gometalinter_executable* - Type: |String| - Default: `'gometalinter'` - - The executable that will be run for gometalinter. - - -g:ale_go_gometalinter_options *g:ale_go_gometalinter_options* - *b:ale_go_gometalinter_options* - Type: |String| - Default: `''` - - This variable can be changed to alter the command-line arguments to the - gometalinter invocation. - - Since `gometalinter` runs a number of linters that can consume a lot of - resources it's recommended to set this option to a value of `--fast` if you - use `gometalinter` as one of the linters in |g:ale_linters|. This disables a - number of linters known to be slow or consume a lot of resources. - - -g:ale_go_gometalinter_lint_package *g:ale_go_gometalinter_lint_package* - *b:ale_go_gometalinter_lint_package* - Type: |Number| - Default: `0` - - When set to `1`, the whole Go package will be checked instead of only the - current file. - - -=============================================================================== -gopls *ale-go-gopls* - -g:ale_go_gopls_executable *g:ale_go_gopls_executable* - *b:ale_go_gopls_executable* - Type: |String| - Default: `'gopls'` - - Location of the gopls binary file. - - -g:ale_go_gopls_options *g:ale_go_gopls_options* - *b:ale_go_gopls_options* - Type: |String| - Default: `''` - - -=============================================================================== -govet *ale-go-govet* - -g:ale_go_govet_options *g:ale_go_govet_options* - *b:ale_go_govet_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the go vet linter. - - -=============================================================================== -revive *ale-go-revive* - -g:ale_go_revive_executable *g:ale_go_revive_executable* - *b:ale_go_revive_executable* - Type: |String| - Default: `'revive'` - - This variable can be set to change the revive executable path. - - -g:ale_go_revive_options *g:ale_go_revive_options* - *b:ale_go_revive_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the revive - - -=============================================================================== -staticcheck *ale-go-staticcheck* - -g:ale_go_staticcheck_options *g:ale_go_staticcheck_options* - *b:ale_go_staticcheck_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the staticcheck - linter. - - -g:ale_go_staticcheck_lint_package *g:ale_go_staticcheck_lint_package* - *b:ale_go_staticcheck_lint_package* - Type: |Number| - Default: `0` - - When set to `1`, the whole Go package will be checked instead of only the - current file. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-graphql.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-graphql.txt deleted file mode 100644 index 603694b..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-graphql.txt +++ /dev/null @@ -1,22 +0,0 @@ -=============================================================================== -ALE GraphQL Integration *ale-graphql-options* - - -=============================================================================== -eslint *ale-graphql-eslint* - -The `eslint` linter for GraphQL uses the JavaScript options for `eslint`; see: -|ale-javascript-eslint|. - -You will need the GraphQL ESLint plugin installed for this to work. - -=============================================================================== -gqlint *ale-graphql-gqlint* - -=============================================================================== -prettier *ale-graphql-prettier* - -See |ale-javascript-prettier| for information about the available options. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-hack.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-hack.txt deleted file mode 100644 index 4776b8c..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-hack.txt +++ /dev/null @@ -1,51 +0,0 @@ -=============================================================================== -ALE Hack Integration *ale-hack-options* - *ale-integration-hack* - - HHAST is disabled by default, as it executes code in the project root. - - Currently linters must be enabled globally. HHAST can be enabled with: - -> - let g:ale_linters = {'hack': ['hack', 'hhast']} -< - -=============================================================================== -hack *ale-hack-hack* - -g:ale_hack_hack_executable *g:ale_hack_hack_executable* - *b:ale_hack_hack_executable* - - Type: |String| - Default: `'hh_client'` - - This variable can be set to use a specific executable to interact with the - Hack typechecker. - - -=============================================================================== -hackfmt *ale-hack-hackfmt* - -g:ale_hack_hackfmt_options *g:ale_hack_hackfmt_options* - *b:ale_hack_hackfmt_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the hackfmt fixer. - - -=============================================================================== -hhast *ale-hack-hhast* - -g:ale_hack_hhast_executable *g:ale_hack_hhast_executable* - *b:ale_hack_hhast_executable* - - Type: |String| - Default: `'vendor/bin/hhast-lint'` - - This variable can be set to use a specific executable to interact with the - Hack typechecker. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-handlebars.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-handlebars.txt deleted file mode 100644 index 5daec5b..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-handlebars.txt +++ /dev/null @@ -1,32 +0,0 @@ -=============================================================================== -ALE Handlebars Integration *ale-handlebars-options* - - -=============================================================================== -prettier *ale-handlebars-prettier* - -See |ale-javascript-prettier| for information about the available options. -Uses glimmer parser by default. - - -=============================================================================== -ember-template-lint *ale-handlebars-embertemplatelint* - -g:ale_handlebars_embertemplatelint_executable - *g:ale_handlebars_embertemplatelint_executable* - Type: |String| *b:ale_handlebars_embertemplatelint_executable* - Default: `'ember-template-lint'` - - See |ale-integrations-local-executables| - - -g:ale_handlebars_embertemplatelint_use_global - *g:ale_handlebars_embertemplatelint_use_global* - Type: |Number| *b:ale_handlebars_embertemplatelint_use_global* - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-haskell.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-haskell.txt deleted file mode 100644 index 5dd3ec1..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-haskell.txt +++ /dev/null @@ -1,176 +0,0 @@ -=============================================================================== -ALE Haskell Integration *ale-haskell-options* - - -=============================================================================== -brittany *ale-haskell-brittany* - -g:ale_haskell_brittany_executable *g:ale_haskell_brittany_executable* - *b:ale_haskell_brittany_executable* - Type: |String| - Default: `'brittany'` - - This variable can be changed to use a different executable for brittany. - - -=============================================================================== -floskell *ale-haskell-floskell* - -g:ale_haskell_floskell_executable *g:ale_haskell_floskell_executable* - *b:ale_haskell_floskell_executable* - Type: |String| - Default: `'floskell'` - - This variable can be changed to use a different executable for floskell. - - -=============================================================================== -ghc *ale-haskell-ghc* - -g:ale_haskell_ghc_options *g:ale_haskell_ghc_options* - *b:ale_haskell_ghc_options* - Type: |String| - Default: `'-fno-code -v0'` - - This variable can be changed to modify flags given to ghc. - - -=============================================================================== -ghc-mod *ale-haskell-ghc-mod* - -g:ale_haskell_ghc_mod_executable *g:ale_haskell_ghc_mod_executable* - *b:ale_haskell_ghc_mod_executable* - Type: |String| - Default: `'ghc-mod'` - - This variable can be changed to use a different executable for ghc-mod. - - -=============================================================================== -cabal-ghc *ale-haskell-cabal-ghc* - -g:ale_haskell_cabal_ghc_options *g:ale_haskell_cabal_ghc_options* - *b:ale_haskell_cabal_ghc_options* - Type: |String| - Default: `'-fno-code -v0'` - - This variable can be changed to modify flags given to ghc through cabal - exec. - - -=============================================================================== -hdevtools *ale-haskell-hdevtools* - -g:ale_haskell_hdevtools_executable *g:ale_haskell_hdevtools_executable* - *b:ale_haskell_hdevtools_executable* - Type: |String| - Default: `'hdevtools'` - - This variable can be changed to use a different executable for hdevtools. - - -g:ale_haskell_hdevtools_options *g:ale_haskell_hdevtools_options* - *b:ale_haskell_hdevtools_options* - Type: |String| - Default: `get(g:, 'hdevtools_options', '-g -Wall')` - - This variable can be changed to modify flags given to hdevtools. - - The hdevtools documentation recommends setting GHC options for `hdevtools` - with `g:hdevtools_options`. ALE will use the value of `g:hdevtools_options` - for the value of `g:ale_haskell_hdevtools_options` by default, so this - option can be respected and overridden specifically for ALE. - - -=============================================================================== -hfmt *ale-haskell-hfmt* - -g:ale_haskell_hfmt_executable *g:ale_haskell_hfmt_executable* - *b:ale_haskell_hfmt_executable* - Type: |String| - Default: `'hfmt'` - - This variable can be changed to use a different executable for hfmt. - - -=============================================================================== -hindent *ale-haskell-hindent* - -g:ale_haskell_hindent_executable *g:ale_haskell_hindent_executable* - *b:ale_haskell_hindent_executable* - Type: |String| - Default: `'hindent'` - - This variable can be changed to use a different executable for hindent. - - -=============================================================================== -hlint *ale-haskell-hlint* - -g:ale_haskell_hlint_executable *g:ale_haskell_hlint_executable* - *b:ale_haskell_hlint_executable* - Type: |String| - Default: `'hlint'` - - This variable can be changed to use a different executable for hlint. - - -g:ale_haskell_hlint_options g:ale_haskell_hlint_options - b:ale_haskell_hlint_options - Type: String - Default: '' - - This variable can be used to pass extra options to the underlying hlint - executable. - - -=============================================================================== -stack-build *ale-haskell-stack-build* - -g:ale_haskell_stack_build_options *g:ale_haskell_stack_build_options* - *b:ale_haskell_stack_build_options* - Type: |String| - Default: `'--fast'` - - We default to using `'--fast'`. Since Stack generates binaries, your - programs will be slower unless you separately rebuild them outside of ALE. - - -=============================================================================== -stack-ghc *ale-haskell-stack-ghc* - -g:ale_haskell_stack_ghc_options *g:ale_haskell_stack_ghc_options* - *b:ale_haskell_stack_ghc_options* - Type: |String| - Default: `'-fno-code -v0'` - - This variable can be changed to modify flags given to ghc through `stack - ghc` - - -=============================================================================== -stylish-haskell *ale-haskell-stylish-haskell* - -g:ale_haskell_stylish_haskell_executable - *g:ale_haskell_stylish_haskell_executable* - *b:ale_haskell_stylish_haskell_executable* - Type: |String| - Default: `'stylish-haskell'` - - This variable can be changed to use a different executable for stylish-haskell. - - -=============================================================================== -hie *ale-haskell-hie* - -g:ale_haskell_hie_executable *g:ale_haskell_hie_executable* - *b:ale_haskell_hie_executable* - Type: |String| - Default: `'hie'` - - This variable can be changed to use a different executable for the haskell - ide engine. i.e. `'hie-wrapper'` - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-hcl.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-hcl.txt deleted file mode 100644 index 59b0a9d..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-hcl.txt +++ /dev/null @@ -1,11 +0,0 @@ -=============================================================================== -ALE HCL Integration *ale-hcl-options* - - -=============================================================================== -terraform-fmt *ale-hcl-terraform-fmt* - -See |ale-terraform-fmt-fixer| for information about the available options. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-html.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-html.txt deleted file mode 100644 index c78dc4c..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-html.txt +++ /dev/null @@ -1,140 +0,0 @@ -=============================================================================== -ALE HTML Integration *ale-html-options* - - -=============================================================================== -fecs *ale-html-fecs* - -`fecs` options for HTMl is the same as the options for JavaScript, -and both of them reads `./.fecsrc` as the default configuration file. -See: |ale-javascript-fecs|. - -=============================================================================== -html-beautify *ale-html-beautify* - -g:ale_html_beautify_options *g:ale_html_beautify_options* - *b:ale_html_beautify_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to html-beautify. - - -=============================================================================== -htmlhint *ale-html-htmlhint* - -g:ale_html_htmlhint_executable *g:ale_html_htmlhint_executable* - *b:ale_html_htmlhint_executable* - Type: |String| - Default: `'htmlhint'` - - See |ale-integrations-local-executables| - - -g:ale_html_htmlhint_options *g:ale_html_htmlhint_options* - *b:ale_html_htmlhint_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to HTMLHint. - - -g:ale_html_htmlhint_use_global *g:ale_html_htmlhint_use_global* - *b:ale_html_htmlhint_use_global* - Type: |String| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -tidy *ale-html-tidy* - -`tidy` is a console application which corrects and cleans up HTML and XML -documents by fixing markup errors and upgrading legacy code to modern -standards. - -Note: -`/usr/bin/tidy` on macOS (installed by default) is too old. It was released -on 31 Oct 2006. It does not consider modern HTML specs (HTML5) and shows -outdated warnings. So |ale| ignores `/usr/bin/tidy` on macOS. - -To use `tidy` on macOS, please install the latest version with Homebrew: -> - $ brew install tidy-html5 -< -`/usr/local/bin/tidy` is installed. - -g:ale_html_tidy_executable *g:ale_html_tidy_executable* - *b:ale_html_tidy_executable* - Type: |String| - Default: `'tidy'` - - This variable can be changed to change the path to tidy. - - -g:ale_html_tidy_options *g:ale_html_tidy_options* - *b:ale_html_tidy_options* - Type: |String| - Default: `'-q -e -language en'` - - This variable can be changed to change the arguments provided to the - executable. - - ALE will attempt to automatically detect the appropriate file encoding to - provide to html-tidy, and fall back to UTF-8 when encoding detection fails. - - The recognized file encodings are as follows: ascii, big5, cp1252 (win1252), - cp850 (ibm858), cp932 (shiftjis), iso-2022-jp (iso-2022), latin1, macroman - (mac), sjis (shiftjis), utf-16le, utf-16, utf-8 - - -g:ale_html_tidy_use_global *g:html_tidy_use_global* - - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -prettier *ale-html-prettier* - -See |ale-javascript-prettier| for information about the available options. - - -=============================================================================== -stylelint *ale-html-stylelint* - -g:ale_html_stylelint_executable *g:ale_html_stylelint_executable* - *b:ale_html_stylelint_executable* - Type: |String| - Default: `'stylelint'` - - See |ale-integrations-local-executables| - - -g:ale_html_stylelint_options *g:ale_html_stylelint_options* - *b:ale_html_stylelint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to stylelint. - - -g:ale_html_stylelint_use_global *g:ale_html_stylelint_use_global* - *b:ale_html_stylelint_use_global* - Type: |String| - Default: `0` - - See |ale-integrations-local-executables| - - -=============================================================================== -write-good *ale-html-write-good* - -See |ale-write-good-options| - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-idris.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-idris.txt deleted file mode 100644 index c7500b0..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-idris.txt +++ /dev/null @@ -1,23 +0,0 @@ -=============================================================================== -ALE Idris Integration *ale-idris-options* - -=============================================================================== -idris *ale-idris-idris* - -g:ale_idris_idris_executable *g:ale_idris_idris_executable* - *b:ale_idris_idris_executable* - Type: |String| - Default: `'idris'` - - This variable can be changed to change the path to idris. - - -g:ale_idris_idris_options *g:ale_idris_idris_options* - *b:ale_idris_idris_options* - Type: |String| - Default: `'--total --warnpartial --warnreach --warnipkg'` - - This variable can be changed to modify flags given to idris. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-ink.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-ink.txt deleted file mode 100644 index 9412a09..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-ink.txt +++ /dev/null @@ -1,40 +0,0 @@ -=============================================================================== -ALE Ink Integration *ale-ink-options* - - -=============================================================================== -ink-language-server *ale-ink-language-server* - -Ink Language Server - (https://github.com/ephraim/ink-language-server) - -g:ale_ink_ls_executable g:ale_ink_ls_executable - b:ale_ink_ls_executable - Type: |String| - Default: `'ink-language-server'` - - Ink language server executable. - -g:ale_ink_ls_initialization_options - g:ale_ink_ls_initialization_options - b:ale_ink_ls_initialization_options - Type: |Dictionary| - Default: `{}` - - Dictionary containing configuration settings that will be passed to the - language server at startup. For certain platforms and certain story - structures, the defaults will suffice. However, many projects will need to - change these settings - see the ink-language-server website for more - information. - - An example of setting non-default options: - { - \ 'ink': { - \ 'mainStoryPath': 'init.ink', - \ 'inklecateExecutablePath': '/usr/local/bin/inklecate', - \ 'runThroughMono': v:false - \ } - \} - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-ispc.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-ispc.txt deleted file mode 100644 index bf30e8e..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-ispc.txt +++ /dev/null @@ -1,24 +0,0 @@ -=============================================================================== -ALE ISPC Integration *ale-ispc-options* - - -=============================================================================== -ispc *ale-ispc-ispc* - -g:ale_ispc_ispc_executable *g:ale_ispc_ispc_executable* - *b:ale_ispc_ispc_executable* - Type: |String| - Default: `'ispc'` - - This variable can be changed to use a different executable for ispc. - - -g:ale_ispc_ispc_options *g:ale_ispc_ispc_options* - *b:ale_ispc_ispc_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to ispc. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-java.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-java.txt deleted file mode 100644 index d2001ca..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-java.txt +++ /dev/null @@ -1,268 +0,0 @@ -=============================================================================== -ALE Java Integration *ale-java-options* - - -=============================================================================== -checkstyle *ale-java-checkstyle* - -g:ale_java_checkstyle_config *g:ale_java_checkstyle_config* - *b:ale_java_checkstyle_config* - - Type: |String| - Default: `'/google_checks.xml'` - - A path to a checkstyle configuration file. - - If a configuration file is specified with |g:ale_java_checkstyle_options|, - it will be preferred over this setting. - - The path to the configuration file can be an absolute path or a relative - path. ALE will search for the relative path in parent directories. - - -g:ale_java_checkstyle_executable *g:ale_java_checkstyle_executable* - *b:ale_java_checkstyle_executable* - - Type: |String| - Default: 'checkstyle' - - This variable can be changed to modify the executable used for checkstyle. - - -g:ale_java_checkstyle_options *g:ale_java_checkstyle_options* - *b:ale_java_checkstyle_options* - - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to checkstyle. - - If a configuration file is specified with `-c`, it will be used instead of - configuration files set with |g:ale_java_checkstyle_config|. - - -=============================================================================== -javac *ale-java-javac* - -g:ale_java_javac_classpath *g:ale_java_javac_classpath* - *b:ale_java_javac_classpath* - Type: |String| or |List| - Default: `''` - - This variable can be set to change the global classpath for Java. - - -g:ale_java_javac_executable *g:ale_java_javac_executable* - *b:ale_java_javac_executable* - Type: |String| - Default: `'javac'` - - This variable can be set to change the executable path used for javac. - - -g:ale_java_javac_options *g:ale_java_javac_options* - *b:ale_java_javac_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to javac. - -g:ale_java_javac_sourcepath *g:ale_java_javac_sourcepath* - *b:ale_java_javac_sourcepath* - Type: |String| or |List| - Default: `''` - -This variable can set multiple source code paths, the source code path is a -relative path (relative to the project root directory). - -Example: - -String type: -Note that the unix system separator is a colon(`:`) window system -is a semicolon(`;`). -> - let g:ale_java_javac_sourcepath = 'build/gen/source/xx/main:build/gen/source' -< -List type: -> - let g:ale_java_javac_sourcepath = [ - \ 'build/generated/source/querydsl/main', - \ 'target/generated-sources/source/querydsl/main' - \ ] -< - - -=============================================================================== -google-java-format *ale-java-google-java-format* - - -g:ale_java_google_java_format_executable - *g:ale_java_google_java_format_executable* - *b:ale_java_google_java_format_executable* - Type: |String| - Default: `'google-java-format'` - - See |ale-integrations-local-executables| - - -g:ale_java_google_java_format_options *g:ale_java_google_java_format_options* - *b:ale_java_google_java_format_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options - - -=============================================================================== -pmd *ale-java-pmd* - -g:ale_java_pmd_options *g:ale_java_pmd_options* - *b:ale_java_pmd_options* - - Type: String - Default: '-R category/java/bestpractices' - - This variable can be changed to modify flags given to PMD. Do not specify -f - and -d. They are added automatically. - - -=============================================================================== -javalsp *ale-java-javalsp* - -To enable Java LSP linter you need to download and build the vscode-javac -language server from https://github.com/georgewfraser/java-language-server. -Simply download the source code and then build a distribution: - - scripts/link_mac.sh - -or - - scripts/link_windows.sh - -This generates a dist/mac or dist/windows directory that contains the -language server. To let ALE use this language server you need to set the -g:ale_java_javalsp_executable variable to the absolute path of the launcher -executable in this directory. - -g:ale_java_javalsp_executable *g:ale_java_javalsp_executable* - *b:ale_java_javalsp_executable* - Type: |String| - Default: `''` - -This variable must be set to the absolute path of the language server launcher -executable. For example: -> - let g:ale_java_javalsp_executable=/java-language-server/dist/mac/bin/launcher -< - -g:ale_java_javalsp_config *g:ale_java_javalsp_config* - *b:ale_java_javalsp_config* - Type: |Dictionary| - Default: `{}` - -The javalsp linter automatically detects external depenencies for Maven and -Gradle projects. In case the javalsp fails to detect some of them, you can -specify them setting a dictionary to |g:ale_java_javalsp_config| variable. -> - let g:ale_java_javalsp_executable = - \ { - \ 'java': { - \ 'externalDependencies': [ - \ 'junit:junit:jar:4.12:test', " Maven format - \ 'junit:junit:4.1' " Gradle format - \ ], - \ 'classPath': [ - \ 'lib/some-dependency.jar', - \ '/android-sdk/platforms/android-28.jar' - \ ] - \ } - \ } - -The Java language server will look for the dependencies you specify in -`externalDependencies` array in your Maven and Gradle caches ~/.m2 and -~/.gradle. - -=============================================================================== -eclipselsp *ale-java-eclipselsp* - -To enable Eclipse LSP linter you need to clone and build the eclipse.jdt.ls -language server from https://github.com/eclipse/eclipse.jdt.ls. Simply -clone the source code repo and then build the plugin: - - ./mvnw clean verify - -Note: currently, the build can only run when launched with JDK 8. JDK 9 or more -recent versions can be used to run the server though. - -After build completes the files required to run the language server will be -located inside the repository folder `eclipse.jdt.ls`. Please ensure to set -|g:ale_java_eclipselsp_path| to the absolute path of that folder. - -You could customize compiler options and code assists of the server. -Under your project folder, modify the file `.settings/org.eclipse.jdt.core.prefs` -with options presented at -https://help.eclipse.org/neon/topic/org.eclipse.jdt.doc.isv/reference/api/org/eclipse/jdt/core/JavaCore.html. - -g:ale_java_eclipselsp_path *g:ale_java_eclipselsp_path* - *b:ale_java_eclipselsp_path* - - Type: |String| - Default: `'$HOME/eclipse.jdt.ls'` - - Absolute path to the location of the eclipse.jdt.ls repository folder. Or if - you have VSCode extension installed the absolute path to the VSCode extensions - folder (e.g. $HOME/.vscode/extensions/redhat.java-0.4x.0 in Linux). - - -g:ale_java_eclipselsp_executable *g:ale_java_eclipse_executable* - *b:ale_java_eclipse_executable* - Type: |String| - Default: `'java'` - - This variable can be set to change the executable path used for java. - - -g:ale_java_eclipselsp_config_path *g:ale_java_eclipse_config_path* - *b:ale_java_eclipse_config_path* - Type: |String| - Default: `''` - - Set this variable to change the configuration directory path used by - eclipselsp (e.g. `$HOME/.jdtls` in Linux). - By default ALE will attempt to use the configuration within the installation - directory. - This setting is particularly useful when eclipselsp is installed in a - non-writable directory like `/usr/share/java/jdtls`, as is the case when - installed via system package. - - -g:ale_java_eclipselsp_workspace_path *g:ale_java_eclipselsp_workspace_path* - *b:ale_java_eclipselsp_workspace_path* - - Type: |String| - Default: `''` - - If you have Eclipse installed is good idea to set this variable to the - absolute path of the Eclipse workspace. If not set this value will be set to - the parent folder of the project root. - -g:ale_java_eclipselsp_javaagent *g:ale_java_eclipselsp_javaagent* - *b:ale_java_eclipselsp_javaagent* - - Type: |String| - Default: `''` - - A variable to add java agent for annotation processing such as Lombok. - If you have multiple java agent files, use space to separate them. For example: -> - let g:ale_java_eclipselsp_javaagent='/eclipse/lombok.jar /eclipse/jacoco.jar' -< - -=============================================================================== -uncrustify *ale-java-uncrustify* - -See |ale-c-uncrustify| for information about the available options. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-javascript.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-javascript.txt deleted file mode 100644 index ea0a708..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-javascript.txt +++ /dev/null @@ -1,336 +0,0 @@ -=============================================================================== -ALE JavaScript Integration *ale-javascript-options* - - *ale-eslint-nested-configuration-files* - -For fixing files with ESLint, nested configuration files with `root: false` -are not supported. This is because ALE fixes files by writing the contents of -buffers to temporary files, and then explicitly sets the configuration file. -Configuration files which are set explicitly must be root configuration files. -If you are using nested configuration files, you should restructure your -project so your configuration files use `extends` instead. - -See the ESLint documentation here: -http://eslint.org/docs/user-guide/configuring#extending-configuration-files - -You should change the structure of your project from this: > - /path/foo/.eslintrc.js # root: true - /path/foo/bar/.eslintrc.js # root: false -< -To this: > - /path/foo/.base-eslintrc.js # Base configuration here - /path/foo/.eslintrc.js # extends: ["/path/foo/.base-eslintrc.js"] - /path/foo/bar/.eslintrc.js # extends: ["/path/foo/.base-eslintrc.js"] -< - -=============================================================================== -eslint *ale-javascript-eslint* - -g:ale_javascript_eslint_executable *g:ale_javascript_eslint_executable* - *b:ale_javascript_eslint_executable* - Type: |String| - Default: `'eslint'` - - See |ale-integrations-local-executables| - - -g:ale_javascript_eslint_options *g:ale_javascript_eslint_options* - *b:ale_javascript_eslint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to eslint. - - -g:ale_javascript_eslint_use_global *g:ale_javascript_eslint_use_global* - *b:ale_javascript_eslint_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -g:ale_javascript_eslint_suppress_eslintignore - *g:ale_javascript_eslint_suppress_eslintignore* - *b:ale_javascript_eslint_suppress_eslintignore* - Type: |Number| - Default: `0` - - This variable can be set to `1` to disable warnings for files being ignored - by eslint. - - -g:ale_javascript_eslint_suppress_missing_config - *g:ale_javascript_eslint_suppress_missing_config* - *b:ale_javascript_eslint_suppress_missing_config* - Type: |Number| - Default: `0` - - This variable can be set to `1` to disable errors for missing eslint - configuration files. - - When turning this option on, eslint will not report any problems when no - configuration files are found. - - -=============================================================================== -fecs *ale-javascript-fecs* - -`fecs` is a lint tool for HTML/CSS/JavaScript, can be installed via: - - `$ npm install --save-dev fecs` - -And the configuration file is located at `./fecsrc`, see http://fecs.baidu.com -for more options. - - -g:ale_javascript_fecs_executable *g:ale_javascript_fecs_executable* - *b:ale_javascript_fecs_executable* - Type: |String| - Default: `'fecs'` - - See |ale-integrations-local-executables| - - -g:ale_javascript_fecs_use_global *g:ale_javascript_fecs_use_global* - *b:ale_javascript_fecs_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -flow *ale-javascript-flow* - -g:ale_javascript_flow_executable *g:ale_javascript_flow_executable* - *b:ale_javascript_flow_executable* - Type: |String| - Default: `'flow'` - - See |ale-integrations-local-executables| - - -g:ale_javascript_flow_use_home_config *g:ale_javascript_flow_use_home_config* - *b:ale_javascript_flow_use_home_config* - Type: |Number| - Default: `0` - - When set to `1`, ALE will allow Flow to be executed with configuration files - from your home directory. ALE will not run Flow with home directory - configuration files by default, as doing so can lead to Vim consuming all of - your RAM and CPU power. - - -g:ale_javascript_flow_use_global *g:ale_javascript_flow_use_global* - *b:ale_javascript_flow_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -g:ale_javascript_flow_use_respect_pragma - *g:ale_javascript_flow_use_respect_pragma* - *b:ale_javascript_flow_use_respect_pragma* - Type: |Number| - Default: `1` - - By default, ALE will use the `--respect-pragma` option for `flow`, so only - files with the `@flow` pragma are checked by ALE. This option can be set to - `0` to disable that behaviour, so all files can be checked by `flow`. - - -=============================================================================== -importjs *ale-javascript-importjs* - -g:ale_javascript_importjs_executable *g:ale_javascript_importjs_executable* - *b:ale_javascript_importjs_executable* - Type: |String| - Default: `'importjs'` - - -=============================================================================== -jscs *ale-javascript-jscs* - -g:ale_javascript_jscs_executable *g:ale_javascript_jscs_executable* - *b:ale_javascript_jscs_executable* - Type: |String| - Default: `'jscs'` - - See |ale-integrations-local-executables| - - -g:ale_javascript_jscs_use_global *g:ale_javascript_jscs_use_global* - *b:ale_javascript_jscs_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -jshint *ale-javascript-jshint* - -g:ale_javascript_jshint_executable *g:ale_javascript_jshint_executable* - *b:ale_javascript_jshint_executable* - Type: |String| - Default: `'jshint'` - - See |ale-integrations-local-executables| - - -g:ale_javascript_jshint_use_global *g:ale_javascript_jshint_use_global* - *b:ale_javascript_jshint_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -prettier *ale-javascript-prettier* - -g:ale_javascript_prettier_executable *g:ale_javascript_prettier_executable* - *b:ale_javascript_prettier_executable* - Type: |String| - Default: `'prettier'` - - See |ale-integrations-local-executables| - - -g:ale_javascript_prettier_options *g:ale_javascript_prettier_options* - *b:ale_javascript_prettier_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to prettier. - - -g:ale_javascript_prettier_use_global *g:ale_javascript_prettier_use_global* - *b:ale_javascript_prettier_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -prettier-eslint *ale-javascript-prettier-eslint* - -g:ale_javascript_prettier_eslint_executable - *g:ale_javascript_prettier_eslint_executable* - *b:ale_javascript_prettier_eslint_executable* - Type: |String| - Default: `'prettier-eslint'` - - See |ale-integrations-local-executables| - - -g:ale_javascript_prettier_eslint_options - *g:ale_javascript_prettier_eslint_options* - *b:ale_javascript_prettier_eslint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to prettier-eslint. - - -g:ale_javascript_prettier_eslint_use_global - *g:ale_javascript_prettier_eslint_use_global* - *b:ale_javascript_prettier_eslint_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -prettier-standard *ale-javascript-prettier-standard* - - -g:ale_javascript_prettier_standard_executable - *g:ale_javascript_prettier_standard_executable* - *b:ale_javascript_prettier_standard_executable* - Type: |String| - Default: `'prettier-standard'` - - See |ale-integrations-local-executables| - - -g:ale_javascript_prettier_standard_options - *g:ale_javascript_prettier_standard_options* - *b:ale_javascript_prettier_standard_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to prettier-standard. - - -g:ale_javascript_prettier_standard_use_global - *g:ale_javascript_prettier_standard_use_global* - *b:ale_javascript_prettier_standard_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - - - -=============================================================================== -standard *ale-javascript-standard* - -g:ale_javascript_standard_executable *g:ale_javascript_standard_executable* - *b:ale_javascript_standard_executable* - Type: |String| - Default: `'standard'` - - See |ale-integrations-local-executables| - - -g:ale_javascript_standard_options *g:ale_javascript_standard_options* - *b:ale_javascript_standard_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to standard. - - -g:ale_javascript_standard_use_global *g:ale_javascript_standard_use_global* - *b:ale_javascript_standard_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -xo *ale-javascript-xo* - -g:ale_javascript_xo_executable *g:ale_javascript_xo_executable* - *b:ale_javascript_xo_executable* - Type: |String| - Default: `'xo'` - - See |ale-integrations-local-executables| - - -g:ale_javascript_xo_options *g:ale_javascript_xo_options* - *b:ale_javascript_xo_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to xo. - - -g:ale_javascript_xo_use_global *g:ale_javascript_xo_use_global* - *b:ale_javascript_xo_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-json.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-json.txt deleted file mode 100644 index 96499a0..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-json.txt +++ /dev/null @@ -1,105 +0,0 @@ -=============================================================================== -ALE JSON Integration *ale-json-options* - - -=============================================================================== -fixjson *ale-json-fixjson* - -fixjson is a JSON file fixer/formatter for humans using (relaxed) JSON5. -It provides: - -- Pretty-prints JSON input -- Fixes various failures while humans writing JSON - - Fixes trailing commas objects or arrays - - Fixes missing commas for elements of objects or arrays - - Adds quotes to keys in objects - - Newlines in strings - - Hex numbers - - Fixes single quotes to double quotes - -You can install it using npm: -> - $ npm install -g fixjson -< -ALE provides fixjson integration as a fixer. See |ale-fix|. - -g:ale_json_fixjson_executable *g:ale_json_fixjson_executable* - *b:ale_json_fixjson_executable* - - Type: |String| - Default: `'fixjson'` - - The executable that will be run for fixjson. - -g:ale_json_fixjson_options *g:ale_json_fixjson_options* - *b:ale_json_fixjson_options* - - Type: |String| - Default: `''` - - This variable can add extra options to the command executed for running - fixjson. - -g:ale_json_fixjson_use_global *g:ale_json_fixjson_use_global* - *b:ale_json_fixjson_use_global* - - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -jsonlint *ale-json-jsonlint* - -g:ale_json_jsonlint_executable *g:ale_json_jsonlint_executable* - *b:ale_json_jsonlint_executable* - - Type: |String| - Default: `'jsonlint'` - - The executable that will be run for jsonlint. - -g:ale_json_jsonlint_use_global *g:ale_json_jsonlint_use_global* - *b:ale_json_jsonlint_use_global* - - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -jq *ale-json-jq* - -g:ale_json_jq_executable *g:ale_json_jq_executable* - *b:ale_json_jq_executable* - Type: |String| - Default: `'jq'` - - This option can be changed to change the path for `jq`. - - -g:ale_json_jq_options *g:ale_json_jq_options* - *b:ale_json_jq_options* - Type: |String| - Default: `''` - - This option can be changed to pass extra options to `jq`. - -g:ale_json_jq_filters *g:ale_json_jq_filters* - *b:ale_json_jq_filters* - Type: |String| - Default: `'.'` - - This option can be changed to pass custom filters to `jq`. - - -=============================================================================== -prettier *ale-json-prettier* - -See |ale-javascript-prettier| for information about the available options. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-julia.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-julia.txt deleted file mode 100644 index 5153241..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-julia.txt +++ /dev/null @@ -1,20 +0,0 @@ -=============================================================================== -ALE Julia Integration *ale-julia-options* - -=============================================================================== -languageserver *ale-julia-languageserver* - -To enable Julia LSP linter you need to install the LanguageServer.jl package -within julia. - -g:ale_julia_executable *g:ale_julia_executable* - *b:ale_julia_executable* - - Type: |String| - Default: 'julia' - - Path to the julia exetuable. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: - diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-kotlin.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-kotlin.txt deleted file mode 100644 index 4028531..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-kotlin.txt +++ /dev/null @@ -1,113 +0,0 @@ -=============================================================================== -ALE Kotlin Integration *ale-kotlin-options* - *ale-integration-kotlin* - -=============================================================================== -Integration Information - - Make sure your setup has support for the kotlin file type. A filetype plugin - can be found here: https://github.com/udalov/kotlin-vim - - - Note: Make sure you have a working kotlin compiler - - -=============================================================================== -kotlinc *ale-kotlin-kotlinc* - -g:ale_kotlin_kotlinc_options *g:ale_kotlin_kotlinc_options* - Type: |String| - Default: `''` - - Additional options to pass to the kotlin compiler - -g:ale_kotlin_kotlinc_enable_config *g:ale_kotlin_kotlinc_enable_config* - Type: |Number| - Default: `0` - - Setting this variable to `1` tells the linter to load a configuration file. - This should be set in your vimrc - -g:ale_kotlin_kotlinc_config_file *g:ale_kotlin_kotlinc_config_file* - Type: |String| - Default: `'.ale_kotlin_kotlinc_config'` - - Filename of the configuration file. This should be set in your vimrc - -g:ale_kotlin_kotlinc_classpath *g:ale_kotlin_kotlinc_classpath* - Type: |String| - Default: `''` - - A string containing the paths (separated by the appropriate path separator) - of the source directories. - -g:ale_kotlin_kotlinc_sourcepath *g:ale_kotlin_kotlinc_sourcepath* - Type: |String| - Default: `''` - - A string containing the paths (separated by space) of the source - directories. - -g:ale_kotlin_kotlinc_use_module_file *g:ale_kotlin_kotlinc_use_module_file* - Type: |Number| - Default: `0` - - This option indicates whether the linter should use a module file. It is off - by default. - -g:ale_kotlin_kotlinc_module_filename *g:ale_kotlin_kotlinc_module_filename* - Type: |String| - Default: `'module.xml'` - - The filename of the module file that the linter should pass to the kotlin - compiler. - - -=============================================================================== -ktlint *ale-kotlin-ktlint* - -g:ale_kotlin_ktlint_executable *g:ale_kotlin_ktlint_executable* - Type: |String| - Default: `''` - - The Ktlint executable. - - Posix-compliant shell scripts are the only executables that can be found on - Ktlint's github release page. If you are not on such a system, your best - bet will be to download the ktlint jar and set this option to something - similar to `'java -jar /path/to/ktlint.jar'` - -g:ale_kotlin_ktlint_rulesets *g:ale_kotlin_ktlint_rulesets* - Type: |List| of |String|s - Default: [] - - This list should contain paths to ruleset jars and/or strings of maven - artifact triples. Example: - > - let g:ale_kotlin_ktlint_rulesets = ['/path/to/custom-ruleset.jar', - 'com.ktlint.rulesets:mycustomrule:1.0.0'] - -g:ale_kotlin_ktlint_options *g:ale_kotlin_ktlint_options* - Type: |String| - Default: `''` - - Additional options to pass to ktlint for both linting and fixing. Example: - > - let g:ale_kotlin_ktlint_options = '--android' - - -=============================================================================== -languageserver *ale-kotlin-languageserver* - -g:ale_kotlin_languageserver_executable *g:ale_kotlin_languageserver_executable* - Type: |String| - Default: `''` - - The kotlin-language-server executable. - - Executables are located inside the bin/ folder of the language server - release. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-latex.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-latex.txt deleted file mode 100644 index bedbabc..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-latex.txt +++ /dev/null @@ -1,18 +0,0 @@ -=============================================================================== -ALE LaTeX Integration *ale-latex-options* - - -=============================================================================== -write-good *ale-latex-write-good* - -See |ale-write-good-options| - - -=============================================================================== -textlint *ale-latex-textlint* - -See |ale-text-textlint| - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-less.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-less.txt deleted file mode 100644 index 040e511..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-less.txt +++ /dev/null @@ -1,66 +0,0 @@ -=============================================================================== -ALE Less Integration *ale-less-options* - - -=============================================================================== -lessc *ale-less-lessc* - -g:ale_less_lessc_executable *g:ale_less_lessc_executable* - *b:ale_less_lessc_executable* - Type: |String| - Default: `'lessc'` - - See |ale-integrations-local-executables| - - -g:ale_less_lessc_options *g:ale_less_lessc_options* - *b:ale_less_lessc_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to lessc. - - -g:ale_less_lessc_use_global *g:ale_less_lessc_use_global* - *b:ale_less_lessc_use_global* - Type: |String| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -prettier *ale-less-prettier* - -See |ale-javascript-prettier| for information about the available options. - - -=============================================================================== -stylelint *ale-less-stylelint* - -g:ale_less_stylelint_executable *g:ale_less_stylelint_executable* - *b:ale_less_stylelint_executable* - Type: |String| - Default: `'stylelint'` - - See |ale-integrations-local-executables| - - -g:ale_less_stylelint_options *g:ale_less_stylelint_options* - *b:ale_less_stylelint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to stylelint. - - -g:ale_less_stylelint_use_global *g:ale_less_stylelint_use_global* - *b:ale_less_stylelint_use_global* - Type: |String| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-llvm.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-llvm.txt deleted file mode 100644 index 2f4a46b..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-llvm.txt +++ /dev/null @@ -1,19 +0,0 @@ -=============================================================================== -ALE LLVM Integration *ale-llvm-options* - - -=============================================================================== -llc *ale-llvm-llc* - -g:ale_llvm_llc_executable *g:ale_llvm_llc_executable* - *b:ale_llvm_llc_executable* - - Type: |String| - Default: "llc" - - The command to use for checking. This variable is useful when llc command - has suffix like "llc-5.0". - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-lua.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-lua.txt deleted file mode 100644 index f1286f8..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-lua.txt +++ /dev/null @@ -1,34 +0,0 @@ -=============================================================================== -ALE Lua Integration *ale-lua-options* - -=============================================================================== -luac *ale-lua-luac* - -g:ale_lua_luac_executable *g:ale_lua_luac_executable* - *b:ale_lua_luac_executable* - Type: |String| - Default: `'luac'` - - This variable can be changed to change the path to luac. - -=============================================================================== -luacheck *ale-lua-luacheck* - -g:ale_lua_luacheck_executable *g:ale_lua_luacheck_executable* - *b:ale_lua_luacheck_executable* - Type: |String| - Default: `'luacheck'` - - This variable can be changed to change the path to luacheck. - - -g:ale_lua_luacheck_options *g:ale_lua_luacheck_options* - *b:ale_lua_luacheck_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to luacheck. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-markdown.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-markdown.txt deleted file mode 100644 index 4e27eb9..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-markdown.txt +++ /dev/null @@ -1,71 +0,0 @@ -=============================================================================== -ALE Markdown Integration *ale-markdown-options* - - -=============================================================================== -mdl *ale-markdown-mdl* - -g:ale_markdown_mdl_executable *g:ale_markdown_mdl_executable* - *b:ale_markdown_mdl_executable* - Type: |String| - Default: `'mdl'` - - Override the invoked mdl binary. This is useful for running mdl from - binstubs or a bundle. - - -g:ale_markdown_mdl_options *g:ale_markdown_mdl_options* - *b:ale_markdown_mdl_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to mdl. - - -=============================================================================== -prettier *ale-markdown-prettier* - -See |ale-javascript-prettier| for information about the available options. - - -=============================================================================== -remark-lint *ale-markdown-remark-lint* - -g:ale_markdown_remark_lint_executable *g:ale_markdown_remark_lint_executable* - *b:ale_markdown_remark_lint_executable* - Type: |String| - Default: `'remark'` - - See |ale-integrations-local-executables| - - -g:ale_markdown_remark_lint_options *g:ale_markdown_remark_lint_options* - *b:ale_markdown_remark_lint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to remark-lint. - - -g:ale_markdown_remark_lint_use_global *g:ale_markdown_remark_lint_use_global* - *b:ale_markdown_remark_lint_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -textlint *ale-markdown-textlint* - -See |ale-text-textlint| - - -=============================================================================== -write-good *ale-markdown-write-good* - -See |ale-write-good-options| - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-mercury.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-mercury.txt deleted file mode 100644 index ca06a0a..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-mercury.txt +++ /dev/null @@ -1,26 +0,0 @@ -=============================================================================== -ALE Mercury Integration *ale-mercury-options* - - -=============================================================================== -mmc *ale-mercury-mmc* - - -g:ale_mercury_mmc_executable *g:ale_mercury_mmc_executable* - *b:ale_mercury_mmc_executable* - Type: |String| - Default: `'mmc'` - - This variable can be changed to use a different executable for mmc. - - -g:ale_mercury_mmc_options *g:ale_mercury_mmc_options* - *b:ale_mercury_mmc_options* - Type: |String| - Default: `'--make --output-compile-error-lines 100'` - - This variable can be set to pass additional options to mmc. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-nasm.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-nasm.txt deleted file mode 100644 index 16c024a..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-nasm.txt +++ /dev/null @@ -1,26 +0,0 @@ -=============================================================================== -ALE NASM Integration *ale-nasm-options* - - -=============================================================================== -nasm *ale-nasm-nasm* - -g:ale_nasm_nasm_executable *g:ale_nasm_nasm_executable* - *b:ale_nasm_nasm_executable* - - Type: |String| - Default `'nasm'` - - This variable can be changed to use different executable for NASM. - - -g:ale_nasm_nasm_options *g:ale_nasm_nasm_options* - *b:ale_nasm_nasm_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to NASM. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-nim.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-nim.txt deleted file mode 100644 index 8985aeb..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-nim.txt +++ /dev/null @@ -1,45 +0,0 @@ -=============================================================================== -ALE Nim Integration *ale-nim-options* - - -=============================================================================== -nimcheck *ale-nim-nimcheck* - - ALE does not provide additional configuration options for `nimcheck` at this - point. - - -=============================================================================== -nimlsp *ale-nim-nimlsp* - -g:nim_nimlsp_nim_sources *g:nim_nimlsp_nim_sources* - - Type: |String| - Default: `''` - - Sets the path to Nim source repository as the first argument to `nimlsp` - command. - - -=============================================================================== -nimpretty *ale-nim-nimpretty* - - -g:ale_nim_nimpretty_executable *g:ale_nim_nimpretty_executable* - *b:ale_nim_nimpretty_executable* - Type: |String| - Default: `'nimpretty'` - - This variable can be changed to use a different executable for nimpretty. - - -g:ale_nim_nimpretty_options *g:ale_nim_nimpretty_options* - *b:ale_nim_nimpretty_options* - Type: |String| - Default: `'--maxLineLen:80'` - - This variable can be changed to modify flags given to nimpretty. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-nix.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-nix.txt deleted file mode 100644 index 5b2bd6c..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-nix.txt +++ /dev/null @@ -1,24 +0,0 @@ -=============================================================================== -ALE Nix Integration *ale-nix-options* - - -=============================================================================== -nixpkgs-fmt *ale-nix-nixpkgs-fmt* - -g:ale_nix_nixpkgsfmt_executable *g:ale_nix_nixpkgsfmt_executable* - *b:ale_nix_nixpkgsfmt_executable* - Type: |String| - Default: `'nixpkgs-fmt'` - - This variable sets executable used for nixpkgs-fmt. - -g:ale_nix_nixpkgsfmt_options *g:ale_nix_nixpkgsfmt_options* - *b:ale_nix_nixpkgsfmt_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the nixpkgs-fmt fixer. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-nroff.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-nroff.txt deleted file mode 100644 index 62ec789..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-nroff.txt +++ /dev/null @@ -1,12 +0,0 @@ -=============================================================================== -ALE nroff Integration *ale-nroff-options* - - -=============================================================================== -write-good *ale-nroff-write-good* - -See |ale-write-good-options| - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-objc.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-objc.txt deleted file mode 100644 index 0163175..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-objc.txt +++ /dev/null @@ -1,73 +0,0 @@ -=============================================================================== -ALE Objective-C Integration *ale-objc-options* - - -=============================================================================== -clang *ale-objc-clang* - -g:ale_objc_clang_options *g:ale_objc_clang_options* - *b:ale_objc_clang_options* - Type: |String| - Default: `'-std=c11 -Wall'` - - This variable can be changed to modify flags given to clang. - - -=============================================================================== -clangd *ale-objc-clangd* - -g:ale_objc_clangd_executable *g:ale_objc_clangd_executable* - *b:ale_objc_clangd_executable* - Type: |String| - Default: `'clangd'` - - This variable can be changed to use a different executable for clangd. - - -g:ale_objc_clangd_options *g:ale_objc_clangd_options* - *b:ale_objc_clangd_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to clangd. - - -=============================================================================== -uncrustify *ale-objc-uncrustify* - -See |ale-c-uncrustify| for information about the available options. - - -=============================================================================== -ccls *ale-objc-ccls* - -g:ale_objc_ccls_executable *g:ale_objc_ccls_executable* - *b:ale_objc_ccls_executable* - Type: |String| - Default: `'ccls'` - - This variable can be changed to use a different executable for ccls. - - -g:ale_objc_ccls_init_options *g:ale_objc_ccls_init_options* - *b:ale_objc_ccls_init_options* - Type: |Dictionary| - Default: `{}` - - This variable can be changed to customize ccls initialization options. - Example: > - { - \ 'cacheDirectory': '/tmp/ccls', - \ 'cacheFormat': 'binary', - \ 'diagnostics': { - \ 'onOpen': 0, - \ 'opChange': 1000, - \ }, - \ } -< - Visit https://github.com/MaskRay/ccls/wiki/Initialization-options for all - available options and explanations. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-objcpp.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-objcpp.txt deleted file mode 100644 index cd65ab7..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-objcpp.txt +++ /dev/null @@ -1,42 +0,0 @@ -=============================================================================== -ALE Objective-C++ Integration *ale-objcpp-options* - - -=============================================================================== -clang *ale-objcpp-clang* - -g:ale_objcpp_clang_options *g:ale_objcpp_clang_options* - *b:ale_objcpp_clang_options* - Type: |String| - Default: `'-std=c++14 -Wall'` - - This variable can be changed to modify flags given to clang. - - -=============================================================================== -clangd *ale-objcpp-clangd* - -g:ale_objcpp_clangd_executable *g:ale_objcpp_clangd_executable* - *b:ale_objcpp_clangd_executable* - Type: |String| - Default: `'clangd'` - - This variable can be changed to use a different executable for clangd. - - -g:ale_objcpp_clangd_options *g:ale_objcpp_clangd_options* - *b:ale_objcpp_clangd_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to clangd. - - -=============================================================================== -uncrustify *ale-objcpp-uncrustify* - -See |ale-c-uncrustify| for information about the available options. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-ocaml.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-ocaml.txt deleted file mode 100644 index 8b644c1..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-ocaml.txt +++ /dev/null @@ -1,82 +0,0 @@ -=============================================================================== -ALE OCaml Integration *ale-ocaml-options* - - -=============================================================================== -merlin *ale-ocaml-merlin* - - To use merlin linter for OCaml source code you need to make sure Merlin for - Vim is correctly configured. See the corresponding Merlin wiki page for - detailed instructions - (https://github.com/the-lambda-church/merlin/wiki/vim-from-scratch). - -=============================================================================== -ols *ale-ocaml-ols* - - The `ocaml-language-server` is the engine that powers OCaml and ReasonML - editor support using the Language Server Protocol. See the installation - instructions: - https://github.com/freebroccolo/ocaml-language-server#installation - -g:ale_ocaml_ols_executable *g:ale_ocaml_ols_executable* - *b:ale_ocaml_ols_executable* - Type: |String| - Default: `'ocaml-language-server'` - - This variable can be set to change the executable path for `ols`. - -g:ale_ocaml_ols_use_global *g:ale_ocaml_ols_use_global* - *b:ale_ocaml_ols_use_global* - Type: |String| - Default: `get(g:, 'ale_use_global_executables', 0)` - - This variable can be set to `1` to always use the globally installed - executable. See also |ale-integrations-local-executables|. - -=============================================================================== -ocamlformat *ale-ocaml-ocamlformat* - -g:ale_ocaml_ocamlformat_executable *g:ale_ocaml_ocamlformat_executable* - *b:ale_ocaml_ocamlformat_executable* - Type: |String| - Default: `'ocamlformat'` - - This variable can be set to pass the path of the ocamlformat fixer. - -g:ale_ocaml_ocamlformat_options *g:ale_ocaml_ocamlformat_options* - *b:ale_ocaml_ocamlformat_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the ocamlformat fixer. - -=============================================================================== -ocp-indent *ale-ocaml-ocp-indent* - -g:ale_ocaml_ocp_indent_executable *g:ale_ocaml_ocp_indent_executable* - *b:ale_ocaml_ocp_indent_executable* - Type: |String| - Default: `ocp-indent` - - This variable can be set to pass the path of the ocp-indent. - -g:ale_ocaml_ocp_indent_options *g:ale_ocaml_ocp_indent_options* - *b:ale_ocaml_ocp_indent_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the ocp-indent. - -g:ale_ocaml_ocp_indent_config *g:ale_ocaml_ocp_indent_config* - *b:ale_ocaml_ocp_indent_config* - Type: |String| - Default: `''` - - This variable can be set to pass additional config to the ocp-indent. - Expand after "--config=". - - "ocp-indent" can also be enabled from ocamlformat config. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-pawn.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-pawn.txt deleted file mode 100644 index f836df9..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-pawn.txt +++ /dev/null @@ -1,12 +0,0 @@ -=============================================================================== -ALE Pawn Integration *ale-pawn-options* - - -=============================================================================== -uncrustify *ale-pawn-uncrustify* - -See |ale-c-uncrustify| for information about the available options. - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-perl.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-perl.txt deleted file mode 100644 index 761c273..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-perl.txt +++ /dev/null @@ -1,91 +0,0 @@ -=============================================================================== -ALE Perl Integration *ale-perl-options* - -ALE offers a few ways to check Perl code. Checking code with `perl` is -disabled by default, as `perl` code cannot be checked without executing it. -Specifically, we use the `-c` flag to see if `perl` code compiles. This does -not execute all of the code in a file, but it does run `BEGIN` and `CHECK` -blocks. See `perl --help` and https://stackoverflow.com/a/12908487/406224 - -See |g:ale_linters|. - - -=============================================================================== -perl *ale-perl-perl* - -g:ale_perl_perl_executable *g:ale_perl_perl_executable* - *b:ale_perl_perl_executable* - Type: |String| - Default: `'perl'` - - This variable can be changed to modify the executable used for linting perl. - - -g:ale_perl_perl_options *g:ale_perl_perl_options* - *b:ale_perl_perl_options* - Type: |String| - Default: `'-c -Mwarnings -Ilib'` - - This variable can be changed to alter the command-line arguments to the perl - invocation. - - -=============================================================================== -perlcritic *ale-perl-perlcritic* - -g:ale_perl_perlcritic_executable *g:ale_perl_perlcritic_executable* - *b:ale_perl_perlcritic_executable* - Type: |String| - Default: `'perlcritic'` - - This variable can be changed to modify the perlcritic executable used for - linting perl. - - -g:ale_perl_perlcritic_profile *g:ale_perl_perlcritic_profile* - *b:ale_perl_perlcritic_profile* - Type: |String| - Default: `'.perlcriticrc'` - - This variable can be changed to modify the perlcritic profile used for - linting perl. The current directory is checked for the file, then the - parent directory, etc, until it finds one. If no matching file is found, no - profile is passed to perlcritic. - - Set to an empty string to disable passing a specific profile to perlcritic - with the `'--profile'` option. - - To prevent perlcritic from using any profile, set this variable to an empty - string and pass `'--no-profile'`to perlcritic via the - |g:ale_perl_perlcritic_options| variable. - - -g:ale_perl_perlcritic_options *g:ale_perl_perlcritic_options* - *b:ale_perl_perlcritic_options* - Type: |String| - Default: `''` - - This variable can be changed to supply additional command-line arguments to - the perlcritic invocation. - - -g:ale_perl_perlcritic_showrules *g:ale_perl_perlcritic_showrules* - - Type: |Number| - Default: 0 - - Controls whether perlcritic rule names are shown after the error message. - Defaults to off to reduce length of message. -=============================================================================== -perltidy *ale-perl-perltidy* - -g:ale_perl_perltidy_options *g:ale_perl_perltidy_options* - *b:ale_perl_perltidy_options* - Type: |String| - Default: `''` - - This variable can be changed to alter the command-line arguments to - the perltidy invocation. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-perl6.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-perl6.txt deleted file mode 100644 index 94953db..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-perl6.txt +++ /dev/null @@ -1,43 +0,0 @@ -=============================================================================== -ALE Perl6 Integration *ale-perl6-options* - -Checking code with `perl6` is disabled by default, as `perl6` code cannot be -checked without executing it. Specifically, we use the `-c` flag to see if -`perl6` code compiles. This does not execute all of the code in a file, but it -does run `BEGIN` and `CHECK` blocks. See `perl6 --help` - -Full support requires a perl6 implementation that supports the -PERL6_EXCEPTIONS_HANDLER environment variable and JSON error output, -which was specified in 6.d. Rakudo version 2018.08 is the first rakudo release -that supports this. See `perl6 --version` and -https://docs.perl6.org/programs/03-environment-variables. - -Without this variable, errors and warnings will appear at line 1, and can be -viewed with ALEDetail. This also serves as a fallback for errors and warnings -that do not trigger JSON output. - -See |g:ale_linters|. - - -=============================================================================== -perl6 *ale-perl6-perl6* - -g:ale_perl6_perl6_executable *g:ale_perl6_perl6_executable* - *b:ale_perl6_perl6_executable* - Type: |String| - Default: `'perl6'` - - This variable can be changed to modify the executable used for linting - perl6. - - -g:ale_perl6_perl6_options *g:ale_perl6_perl6_options* - *b:ale_perl6_perl6_options* - Type: |String| - Default: `'-c -Ilib'` - - This variable can be changed to alter the command-line arguments to the - perl6 invocation. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-php.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-php.txt deleted file mode 100644 index 645decd..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-php.txt +++ /dev/null @@ -1,234 +0,0 @@ -=============================================================================== -ALE PHP Integration *ale-php-options* - -=============================================================================== -langserver *ale-php-langserver* - -g:ale_php_langserver_executable *g:ale_php_langserver_executable* - *b:ale_php_langserver_executable* - Type: |String| - Default: `'php-language-server.php'` - - The variable can be set to configure the executable that will be used for - running the PHP language server. `vendor` directory executables will be - preferred instead of this setting if |g:ale_php_langserver_use_global| is `0`. - - See: |ale-integrations-local-executables| - - -g:ale_php_langserver_use_global *g:ale_php_langserver_use_global* - *b:ale_php_langserver_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - This variable can be set to `1` to force the language server to be run with - the executable set for |g:ale_php_langserver_executable|. - - See: |ale-integrations-local-executables| - - -=============================================================================== -phan *ale-php-phan* - -WARNING: please use the phan_client linter if you have an configuration file -for your project because the phan will look into your entirely project and -ale will display in the current buffer warnings that may belong to other file. - -g:ale_php_phan_minimum_severity *g:ale_php_phan_minimum_severity* - *b:ale_php_phan_minimum_severity* - Type: |Number| - Default: `0` - - This variable defines the minimum severity level. - -g:ale_php_phan_executable *g:ale_php_phan_executable* - *b:ale_php_phan_executable* - Type: |String| - Default: `'phan'` - - This variable sets executable used for phan or phan_client. - -g:ale_php_phan_use_client *g:ale_php_phan_use_client* - *b:ale_php_phan_use_client* - Type: |Number| - Default: `get(g:, 'ale_php_phan_use_client', 0)` - - This variable can be set to 1 to use the phan_client with phan daemon mode - instead of the phan standalone. - -=============================================================================== -phpcbf *ale-php-phpcbf* - -g:ale_php_phpcbf_executable *g:ale_php_phpcbf_executable* - *b:ale_php_phpcbf_executable* - Type: |String| - Default: `'phpcbf'` - - See |ale-integrations-local-executables| - - -g:ale_php_phpcbf_standard *g:ale_php_phpcbf_standard* - *b:ale_php_phpcbf_standard* - Type: |String| - Default: `''` - - This variable can be set to specify the coding standard used by phpcbf. If no - coding standard is specified, phpcbf will default to fixing against the - PEAR coding standard, or the standard you have set as the default. - - -g:ale_php_phpcbf_use_global *g:ale_php_phpcbf_use_global* - *b:ale_php_phpcbf_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -phpcs *ale-php-phpcs* - -g:ale_php_phpcs_executable *g:ale_php_phpcs_executable* - *b:ale_php_phpcs_executable* - Type: |String| - Default: `'phpcs'` - - See |ale-integrations-local-executables| - - -g:ale_php_phpcs_standard *g:ale_php_phpcs_standard* - *b:ale_php_phpcs_standard* - Type: |String| - Default: `''` - - This variable can be set to specify the coding standard used by phpcs. If no - coding standard is specified, phpcs will default to checking against the - PEAR coding standard, or the standard you have set as the default. - - -g:ale_php_phpcs_use_global *g:ale_php_phpcs_use_global* - *b:ale_php_phpcs_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -g:ale_php_phpcs_options *g:ale_php_phpcs_options* - *b:ale_php_phpcs_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to php-cs - -=============================================================================== -phpmd *ale-php-phpmd* - -g:ale_php_phpmd_executable *g:ale_php_phpmd_executable* - *b:ale_php_phpmd_executable* - Type: |String| - Default: `'phpmd'` - - This variable sets executable used for phpmd. - - -g:ale_php_phpmd_ruleset *g:ale_php_phpmd_ruleset* - *b:ale_php_phpmd_ruleset* - Type: |String| - Default: `'cleancode,codesize,controversial,design,naming,unusedcode'` - - This variable controls the ruleset used by phpmd. Default is to use all of - the available phpmd rulesets - - -=============================================================================== -phpstan *ale-php-phpstan* - -g:ale_php_phpstan_executable *g:ale_php_phpstan_executable* - *b:ale_php_phpstan_executable* - Type: |String| - Default: `'phpstan'` - - This variable sets executable used for phpstan. - - -g:ale_php_phpstan_level *g:ale_php_phpstan_level* - *b:ale_php_phpstan_level* - Type: |String| - Default: `''` - - This variable controls the rule levels. 0 is the loosest and 7 is the - strictest. If this option isn't set, the rule level will be controlled by - the configuration file. If no configuration file can be detected, `'7'` will - be used instead. - - -g:ale_php_phpstan_configuration *g:ale_php_phpstan_configuration* - *b:ale_php_phpstan_configuration* - Type: |String| - Default: `''` - - This variable sets path to phpstan configuration file. - - -g:ale_php_phpstan_autoload *g:ale_php_phpstan_autoload* - *b:ale_php_phpstan_autoload* - Type: |String| - Default: `''` - - This variable sets path to phpstan autoload file. - - -=============================================================================== -psalm *ale-php-psalm* - -g:ale_php_psalm_executable *g:ale_php_psalm_executable* - *b:ale_php_psalm_executable* - Type: |String| - Default: `'psalm'` - - This variable sets the executable used for psalm. - -g:ale_psalm_langserver_options *g:ale_psalm_langserver_options* - *b:ale_psalm_langserver_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to psalm. - -=============================================================================== -php-cs-fixer *ale-php-php-cs-fixer* - -g:ale_php_cs_fixer_executable *g:ale_php_cs_fixer_executable* - *b:ale_php_cs_fixer_executable* - Type: |String| - Default: `'php-cs-fixer'` - - This variable sets executable used for php-cs-fixer. - -g:ale_php_cs_fixer_use_global *g:ale_php_cs_fixer_use_global* - *b:ale_php_cs_fixer_use_global* - Type: |Boolean| - Default: `get(g:, 'ale_use_global_executables', 0)` - - This variable force globally installed fixer. - -g:ale_php_cs_fixer_options *g:ale_php_cs_fixer_options* - *b:ale_php_cs_fixer_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to php-cs-fixer. - -=============================================================================== -php *ale-php-php* - -g:ale_php_php_executable *g:ale_php_php_executable* - *b:ale_php_php_executable* - Type: |String| - Default: `'php'` - - This variable sets the executable used for php. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-po.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-po.txt deleted file mode 100644 index 1e03b7b..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-po.txt +++ /dev/null @@ -1,12 +0,0 @@ -=============================================================================== -ALE PO Integration *ale-po-options* - - -=============================================================================== -write-good *ale-po-write-good* - -See |ale-write-good-options| - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-pod.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-pod.txt deleted file mode 100644 index c7cc0bb..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-pod.txt +++ /dev/null @@ -1,12 +0,0 @@ -=============================================================================== -ALE Pod Integration *ale-pod-options* - - -=============================================================================== -write-good *ale-pod-write-good* - -See |ale-write-good-options| - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-pony.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-pony.txt deleted file mode 100644 index 3b32168..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-pony.txt +++ /dev/null @@ -1,25 +0,0 @@ -=============================================================================== -ALE Pony Integration *ale-pony-options* - - -=============================================================================== -ponyc *ale-pony-ponyc* - -g:ale_pony_ponyc_executable *g:ale_pony_ponyc_executable* - *b:ale_pony_ponyc_executable* - Type: |String| - Default: `'ponyc'` - - See |ale-integrations-local-executables| - - -g:ale_pony_ponyc_options *g:ale_pony_ponyc_options* - *b:ale_pony_ponyc_options* - Type: |String| - Default: `'--pass paint'` - - This variable can be set to pass options to ponyc. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-powershell.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-powershell.txt deleted file mode 100644 index c28ef9e..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-powershell.txt +++ /dev/null @@ -1,77 +0,0 @@ -=============================================================================== -ALE PowerShell Integration *ale-powershell-options* - - -=============================================================================== -powershell *ale-powershell-powershell* - -g:ale_powershell_powershell_executable *g:ale_powershell_powershell_executable* - *b:ale_powershell_powershell_executable* - Type: String - Default: `'pwsh'` - - This variable can be changed to use a different executable for powershell. - -> - " Use powershell.exe rather than the default pwsh - let g:ale_powershell_powershell_executable = 'powershell.exe' -> - -=============================================================================== -psscriptanalyzer *ale-powershell-psscriptanalyzer* - -Installation -------------------------------------------------------------------------------- - -Install PSScriptAnalyzer by any means, so long as it can be automatically -imported in PowerShell. -Some PowerShell plugins set the filetype of files to `ps1`. To continue using -these plugins, use the ale_linter_aliases global to alias `ps1` to `powershell` - -> - " Allow ps1 filetype to work with powershell linters - let g:ale_linter_aliases = {'ps1': 'powershell'} -< - -g:ale_powershell_psscriptanalyzer_executable -*g:ale_powershell_psscriptanalyzer_executable* - *b:ale_powershell_psscriptanalyzer_executable* - Type: |String| - Default: `'pwsh'` - - This variable sets executable used for powershell. - - For example, on Windows you could set powershell to be Windows Powershell: -> - let g:ale_powershell_psscriptanalyzer_executable = 'powershell.exe' -< - -g:ale_powershell_psscriptanalyzer_module -*g:ale_powershell_psscriptanalyzer_module* - *b:ale_powershell_psscriptanalyzer_module* - Type: |String - Default: `'psscriptanalyzer'` - - This variable sets the name of the psscriptanalyzer module. - for psscriptanalyzer invocation. - - -g:ale_powershell_psscriptanalyzer_exclusions -*g:ale_powershell_psscriptanalyzer_exclusions* - *b:ale_powershell_psscriptanalyzer_exclusions* - Type: |String| - Default: `''` - - Set this variable to exclude test(s) for psscriptanalyzer - (-ExcludeRule option). To exclude more than one option, separate them with - commas. - -> - " Suppress Write-Host and Global vars warnings - let g:ale_powershell_psscriptanalyzer_exclusions = - \ 'PSAvoidUsingWriteHost,PSAvoidGlobalVars' -< - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-prolog.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-prolog.txt deleted file mode 100644 index 14062a5..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-prolog.txt +++ /dev/null @@ -1,56 +0,0 @@ -=============================================================================== -ALE Prolog Integration *ale-prolog-options* - - -=============================================================================== -swipl *ale-prolog-swipl* - -g:ale_prolog_swipl_executable *g:ale_prolog_swipl_executable* - *b:ale_prolog_swipl_executable* - Type: |String| - Default: `'swipl'` - - The executable that will be run for the `swipl` linter. - -g:ale_prolog_swipl_load *g:ale_prolog_swipl_load* - *b:ale_prolog_swipl_load* - Type: |String| - Default: `'current_prolog_flag(argv, [File]), load_files(File, [sandboxed(true)]), halt.'` - - The prolog goals that will be passed to |g:ale_prolog_swipl_executable| with `-g` option. - - It does: - 1. Takes the first command argument (current file path) - 2. Checks (syntactic / semantic) problems and output to stderr - - NOTE: `sandboxed(true)` prohibits executing some directives such as 'initialization main'. - -g:ale_prolog_swipl_timeout *g:ale_prolog_swipl_timeout* - *b:ale_prolog_swipl_timeout* - Type: |Number| - Default: `3` - - Timeout seconds to detect long-running linter. - It is done by setting SIGALRM. - See |g:ale_prolog_swipl_alarm| and |g:ale_prolog_swipl_alarm_handler|. - -g:ale_prolog_swipl_alarm *g:ale_prolog_swipl_alarm* - *b:ale_prolog_swipl_alarm* - Type: |String| - Default: `'alarm(%t, (%h), _, [])'` - - The prolog goals to be expected to set SIGALRM. - `%t` is replaced by |g:ale_prolog_swipl_timeout|. - `%h` is replaced by |g:ale_prolog_swipl_alarm_handler|. - -g:ale_prolog_swipl_alarm_handler *g:ale_prolog_swipl_alarm_handler* - *b:ale_prolog_swipl_alarm_handler* - Type: |String| - Default: `'writeln(user_error, "ERROR: Exceeded %t seconds, Please change g:prolog_swipl_timeout to modify the limit."), halt(1)'` - - The prolog goals to be expected that will be run on SIGALRM. - `%t` is replaced by |g:ale_prolog_swipl_timeout|. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-proto.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-proto.txt deleted file mode 100644 index 734e23d..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-proto.txt +++ /dev/null @@ -1,33 +0,0 @@ -=============================================================================== -ALE Proto Integration *ale-proto-options* - - -=============================================================================== -Integration Information - -Linting of `.proto` files requires that the `protoc` binary is installed in the -system path and that the `protoc-gen-lint` plugin for the `protoc` binary is also -installed. - -To enable `.proto` file linting, update |g:ale_linters| as appropriate: -> - " Enable linter for .proto files - let g:ale_linters = {'proto': ['protoc-gen-lint']} -< -=============================================================================== -protoc-gen-lint *ale-proto-protoc-gen-lint* - - The linter is a plugin for the `protoc` binary. As long as the binary resides - in the system path, `protoc` will find it. - -g:ale_proto_protoc_gen_lint_options *g:ale_proto_protoc_gen_lint_options* - - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to protoc. Note that the - directory of the linted file is always passed as an include path with '-I' - before any user-supplied options. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-pug.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-pug.txt deleted file mode 100644 index e2836f8..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-pug.txt +++ /dev/null @@ -1,44 +0,0 @@ -=============================================================================== -ALE Pug Integration *ale-pug-options* - - -=============================================================================== -puglint *ale-pug-puglint* - -The puglint linter will detect configuration files based on the path to the -filename automatically. Configuration files will be loaded in this order: - -1. `.pug-lintrc` -2. `.pug-lintrc.js` -3. `.pug-lintrc.json` -4. `package.json` - -You might need to create a configuration file for your project to get -meaningful results. - -g:ale_pug_puglint_executable *g:ale_pug_puglint_executable* - *b:ale_pug_puglint_executable* - Type: |String| - Default: `'pug-lint'` - - See |ale-integrations-local-executables| - - -g:ale_pug_puglint_options *g:ale_pug_puglint_options* - *b:ale_pug_puglint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to pug-lint. - - -g:ale_pug_puglint_use_global *g:ale_pug_puglint_use_global* - *b:ale_pug_puglint_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-puppet.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-puppet.txt deleted file mode 100644 index daa8c10..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-puppet.txt +++ /dev/null @@ -1,57 +0,0 @@ -=============================================================================== -ALE Puppet Integration *ale-puppet-options* - - -=============================================================================== -puppet *ale-puppet-puppet* - -g:ale_puppet_puppet_executable *g:ale_puppet_puppet_executable* - *b:ale_puppet_puppet_executable* - Type: |String| - Default: `'puppet'` - - This variable can be changed to specify the executable used for puppet. - - -g:ale_puppet_puppet_options *g:ale_puppet_puppet_options* - *b:ale_puppet_puppet_options* - Type: |String| - Default: `''` - - This variable can be changed to add command-line arguments to the - puppet parser validate invocation. - - -=============================================================================== -puppetlint *ale-puppet-puppetlint* - -g:ale_puppet_puppetlint_executable *g:ale_puppet_puppetlint_executable* - *b:ale_puppet_puppetlint_executable* - Type: |String| - Default: `'puppet-lint'` - - This variable can be changed to specify the executable used for puppet-lint. - - -g:ale_puppet_puppetlint_options *g:ale_puppet_puppetlint_options* - *b:ale_puppet_puppetlint_options* - Type: |String| - Default: `'--no-autoloader_layout-check'` - - This variable can be changed to add command-line arguments to the - puppet-lint invocation. - - -=============================================================================== -puppet-languageserver *ale-puppet-languageserver* - -g:ale_puppet_languageserver_executable *g:ale_puppet_languageserver_executable* - *b:ale_puppet_languageserver_executable* - type: |String| - Default: `'puppet-languageserver'` - - This variable can be used to specify the executable used for - puppet-languageserver. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-purescript.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-purescript.txt deleted file mode 100644 index e809f2c..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-purescript.txt +++ /dev/null @@ -1,42 +0,0 @@ -=============================================================================== -ALE PureScript Integration *ale-purescript-options* - - -=============================================================================== -purescript-language-server *ale-purescript-language-server* - -PureScript Language Server - (https://github.com/nwolverson/purescript-language-server) - -g:ale_purescript_ls_executable g:ale_purescript_ls_executable - b:ale_purescript_ls_executable - Type: |String| - Default: `'purescript-language-server'` - - PureScript language server executable. - -g:ale_purescript_ls_config g:ale_purescript_ls_config - b:ale_purescript_ls_config - Type: |Dictionary| - Default: `{}` - - Dictionary containing configuration settings that will be passed to the - language server. For example, with a spago project: - { - \ 'purescript': { - \ 'addSpagoSources': v:true, - \ 'addNpmPath': v:true, - \ 'buildCommand': 'spago build -- --json-errors' - \ } - \} -=============================================================================== -purty *ale-purescript-purty* - -g:ale_purescript_purty_executable *g:ale_purescript_purty_executable* - *b:ale_purescript_purty_executable* - Type: |String| - Default: `'purty'` - - This variable can be changed to use a different executable for purty. -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-pyrex.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-pyrex.txt deleted file mode 100644 index 245e611..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-pyrex.txt +++ /dev/null @@ -1,25 +0,0 @@ -=============================================================================== -ALE Pyrex (Cython) Integration *ale-pyrex-options* - - -=============================================================================== -cython *ale-pyrex-cython* - -g:ale_pyrex_cython_executable *g:ale_pyrex_cython_executable* - *b:ale_pyrex_cython_executable* - Type: |String| - Default: `'cython'` - - This variable can be changed to use a different executable for cython. - - -g:ale_pyrex_cython_options *g:ale_pyrex_cython_options* - *b:ale_pyrex_cython_options* - Type: |String| - Default: `'--warning-extra --warning-errors'` - - This variable can be changed to modify flags given to cython. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-python.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-python.txt deleted file mode 100644 index 93f1d66..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-python.txt +++ /dev/null @@ -1,774 +0,0 @@ -=============================================================================== -ALE Python Integration *ale-python-options* - - -g:ale_python_auto_pipenv *g:ale_python_auto_pipenv* - *b:ale_python_auto_pipenv* - Type: |Number| - Default: `0` - - Detect whether the file is inside a pipenv, and set the executable to `pipenv` - if true. This is overridden by a manually-set executable. - -=============================================================================== -ALE Python Project Root Behavior *ale-python-root* - -For some linters, ALE will search for a Python project root by looking at the -files in directories on or above where a file being checked is. ALE applies -the following methods, in order: - -1. Find the first directory containing a common Python configuration file. -2. If no configuration file can be found, use the first directory which does - not contain a readable file named `__init__.py`. - -ALE will look for configuration files with the following filenames. > - - MANIFEST.in - setup.cfg - pytest.ini - tox.ini - mypy.ini - pycodestyle.cfg - .flake8 - .flake8rc - pylama.ini - pylintrc - .pylintrc - Pipfile - Pipfile.lock -< - -The first directory containing any of the files named above will be used. - - -=============================================================================== -autopep8 *ale-python-autopep8* - -g:ale_python_autopep8_executable *g:ale_python_autopep8_executable* - *b:ale_python_autopep8_executable* - Type: |String| - Default: `'autopep8'` - - See |ale-integrations-local-executables| - - -g:ale_python_autopep8_options *g:ale_python_autopep8_options* - *b:ale_python_autopep8_options* - Type: |String| - Default: `''` - - This variable can be set to pass extra options to autopep8. - - -g:ale_python_autopep8_use_global *g:ale_python_autopep8_use_global* - *b:ale_python_autopep8_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -bandit *ale-python-bandit* - -g:ale_python_bandit_executable *g:ale_python_bandit_executable* - *b:ale_python_bandit_executable* - Type: |String| - Default: `'bandit'` - - See |ale-integrations-local-executables| - - Set this to `'pipenv'` to invoke `'pipenv` `run` `bandit'`. - - -g:ale_python_bandit_options *g:ale_python_bandit_options* - *b:ale_python_bandit_options* - Type: |String| - Default: `''` - - This variable can be changed to add command-line arguments to the - bandit invocation. - - -g:ale_python_bandit_use_config *g:ale_python_bandit_use_config* - *b:ale_python_bandit_use_config* - Type: |Number| - Default: `1` - - If this variable is true and a `.bandit` file exists in the directory of the - file being checked or a parent directory, an `--ini` option is added to the - `bandit` command for the nearest `.bandit` file. Set this variable false to - disable adding the `--ini` option automatically. - - -g:ale_python_bandit_use_global *g:ale_python_bandit_use_global* - *b:ale_python_bandit_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -g:ale_python_bandit_auto_pipenv *g:ale_python_bandit_auto_pipenv* - *b:ale_python_bandit_auto_pipenv* - Type: |Number| - Default: `0` - - Detect whether the file is inside a pipenv, and set the executable to `pipenv` - if true. This is overridden by a manually-set executable. - - -=============================================================================== -black *ale-python-black* - -g:ale_python_black_executable *g:ale_python_black_executable* - *b:ale_python_black_executable* - Type: |String| - Default: `'black'` - - See |ale-integrations-local-executables| - - -g:ale_python_black_options *g:ale_python_black_options* - *b:ale_python_black_options* - Type: |String| - Default: `''` - - This variable can be set to pass extra options to black. - - -g:ale_python_black_use_global *g:ale_python_black_use_global* - *b:ale_python_black_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -g:ale_python_black_auto_pipenv *g:ale_python_black_auto_pipenv* - *b:ale_python_black_auto_pipenv* - Type: |Number| - Default: `0` - - Detect whether the file is inside a pipenv, and set the executable to `pipenv` - if true. This is overridden by a manually-set executable. - -g:ale_python_black_change_directory *g:ale_python_black_change_directory* - *b:ale_python_black_change_directory* - Type: |Number| - Default: `1` - - If set to `1`, ALE will switch to the directory the Python file being - checked with `black` is in before checking it. This helps `black` find - configuration files more easily. This option can be turned off if you want - to control the directory Python is executed from yourself. - - -=============================================================================== -flake8 *ale-python-flake8* - -g:ale_python_flake8_change_directory *g:ale_python_flake8_change_directory* - *b:ale_python_flake8_change_directory* - Type: |Number| - Default: `1` - - If set to `1`, ALE will switch to the directory the Python file being - checked with `flake8` is in before checking it. This helps `flake8` find - configuration files more easily. This option can be turned off if you want - to control the directory Python is executed from yourself. - - -g:ale_python_flake8_executable *g:ale_python_flake8_executable* - *b:ale_python_flake8_executable* - Type: |String| - Default: `'flake8'` - - This variable can be changed to modify the executable used for flake8. Set - this to `'pipenv'` to invoke `'pipenv` `run` `flake8'`. - - -g:ale_python_flake8_options *g:ale_python_flake8_options* - *b:ale_python_flake8_options* - Type: |String| - Default: `''` - - This variable can be changed to add command-line arguments to the flake8 - invocation. - - For example, to dynamically switch between programs targeting Python 2 and - Python 3, you may want to set > - - let g:ale_python_flake8_executable = 'python3' " or 'python' for Python 2 - let g:ale_python_flake8_options = '-m flake8' -< - after making sure it's installed for the appropriate Python versions (e.g. - `python3 -m pip install --user flake8`). - - -g:ale_python_flake8_use_global *g:ale_python_flake8_use_global* - *b:ale_python_flake8_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - This variable controls whether or not ALE will search for flake8 in a - virtualenv directory first. If this variable is set to `1`, then ALE will - always use |g:ale_python_flake8_executable| for the executable path. - - Both variables can be set with `b:` buffer variables instead. - - -g:ale_python_flake8_auto_pipenv *g:ale_python_flake8_auto_pipenv* - *b:ale_python_flake8_auto_pipenv* - Type: |Number| - Default: `0` - - Detect whether the file is inside a pipenv, and set the executable to `pipenv` - if true. This is overridden by a manually-set executable. - - -=============================================================================== -isort *ale-python-isort* - -g:ale_python_isort_executable *g:ale_python_isort_executable* - *b:ale_python_isort_executable* - Type: |String| - Default: `'isort'` - - See |ale-integrations-local-executables| - - -g:ale_python_isort_options *g:ale_python_isort_options* - *b:ale_python_isort_options* - Type: |String| - Default: `''` - - This variable can be set to pass extra options to isort. - - -g:ale_python_isort_use_global *g:ale_python_isort_use_global* - *b:ale_python_isort_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -mypy *ale-python-mypy* - -The minimum supported version of mypy that ALE supports is v0.4.4. This is -the first version containing the `--shadow-file` option ALE needs to be able -to check for errors while you type. - -`mypy` will be run from a detected project root, per |ale-python-root|. - - -g:ale_python_mypy_auto_pipenv *g:ale_python_mypy_auto_pipenv* - *b:ale_python_mypy_auto_pipenv* - Type: |Number| - Default: `0` - - Detect whether the file is inside a pipenv, and set the executable to `pipenv` - if true. This is overridden by a manually-set executable. - - -g:ale_python_mypy_executable *g:ale_python_mypy_executable* - *b:ale_python_mypy_executable* - Type: |String| - Default: `'mypy'` - - See |ale-integrations-local-executables| - - Set this to `'pipenv'` to invoke `'pipenv` `run` `mypy'`. - - -g:ale_python_mypy_ignore_invalid_syntax - *g:ale_python_mypy_ignore_invalid_syntax* - *b:ale_python_mypy_ignore_invalid_syntax* - Type: |Number| - Default: `0` - - When set to `1`, syntax error messages for mypy will be ignored. This option - can be used when running other Python linters which check for syntax errors, - as mypy can take a while to finish executing. - - -g:ale_python_mypy_options *g:ale_python_mypy_options* - *b:ale_python_mypy_options* - Type: |String| - Default: `''` - - This variable can be changed to add command-line arguments to the mypy - invocation. - - -g:ale_python_mypy_show_notes *g:ale_python_mypy_show_notes* - *b:ale_python_mypy_show_notes* - Type: |Number| - Default: `1` - - If enabled, notes on lines will be displayed as 'I' (info) messages. - - -g:ale_python_mypy_use_global *g:ale_python_mypy_use_global* - *b:ale_python_mypy_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - - -=============================================================================== -prospector *ale-python-prospector* - -g:ale_python_prospector_executable *g:ale_python_prospector_executable* - *b:ale_python_prospector_executable* - Type: |String| - Default: `'prospector'` - - See |ale-integrations-local-executables| - - Set this to `'pipenv'` to invoke `'pipenv` `run` `prospector'`. - - -g:ale_python_prospector_options *g:ale_python_prospector_options* - *b:ale_python_prospector_options* - Type: |String| - Default: `''` - - This variable can be changed to add command-line arguments to the prospector - invocation. - - For example, to dynamically switch between programs targeting Python 2 and - Python 3, you may want to set > - - let g:ale_python_prospector_executable = 'python3' - " or 'python' for Python 2 - let g:ale_python_prospector_options = '--rcfile /path/to/.prospector.yaml' - " The virtualenv detection needs to be disabled. - let g:ale_python_prospector_use_global = 0 - - after making sure it's installed for the appropriate Python versions (e.g. - `python3 -m pip install --user prospector`). - - -g:ale_python_prospector_use_global *g:ale_python_prospector_use_global* - *b:ale_python_prospector_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -g:ale_python_prospector_auto_pipenv *g:ale_python_prospector_auto_pipenv* - *b:ale_python_prospector_auto_pipenv* - Type: |Number| - Default: `0` - - Detect whether the file is inside a pipenv, and set the executable to `pipenv` - if true. This is overridden by a manually-set executable. - - -=============================================================================== -pycodestyle *ale-python-pycodestyle* - - -g:ale_python_pycodestyle_executable *g:ale_python_pycodestyle_executable* - *b:ale_python_pycodestyle_executable* - Type: |String| - Default: `'pycodestyle'` - - See |ale-integrations-local-executables| - - Set this to `'pipenv'` to invoke `'pipenv` `run` `pycodestyle'`. - - -g:ale_python_pycodestyle_options *g:ale_python_pycodestyle_options* - *b:ale_python_pycodestyle_options* - Type: |String| - Default: `''` - - This variable can be changed to add command-line arguments to the - pycodestyle invocation. - - -g:ale_python_pycodestyle_use_global *g:ale_python_pycodestyle_use_global* - *b:ale_python_pycodestyle_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -g:ale_python_pycodestyle_auto_pipenv *g:ale_python_pycodestyle_auto_pipenv* - *b:ale_python_pycodestyle_auto_pipenv* - Type: |Number| - Default: `0` - - Detect whether the file is inside a pipenv, and set the executable to `pipenv` - if true. This is overridden by a manually-set executable. - - -=============================================================================== -pydocstyle *ale-python-pydocstyle* - - -g:ale_python_pydocstyle_executable *g:ale_python_pydocstyle_executable* - *b:ale_python_pydocstyle_executable* - Type: |String| - Default: `'pydocstyle'` - - See |ale-integrations-local-executables| - - Set this to `'pipenv'` to invoke `'pipenv` `run` `pydocstyle'`. - - -g:ale_python_pydocstyle_options *g:ale_python_pydocstyle_options* - *b:ale_python_pydocstyle_options* - Type: |String| - Default: `''` - - This variable can be changed to add command-line arguments to the - pydocstyle invocation. - - -g:ale_python_pydocstyle_use_global *g:ale_python_pydocstyle_use_global* - *b:ale_python_pydocstyle_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -g:ale_python_pydocstyle_auto_pipenv *g:ale_python_pydocstyle_auto_pipenv* - *b:ale_python_pydocstyle_auto_pipenv* - Type: |Number| - Default: `0` - - Detect whether the file is inside a pipenv, and set the executable to `pipenv` - if true. This is overridden by a manually-set executable. - - -=============================================================================== -pyflakes *ale-python-pyflakes* - - -g:ale_python_pyflakes_executable *g:ale_python_pyflakes_executable* - *b:ale_python_pyflakes_executable* - Type: |String| - Default: `'pyflakes'` - - See |ale-integrations-local-executables| - - Set this to `'pipenv'` to invoke `'pipenv` `run` `pyflakes'`. - - -g:ale_python_pyflakes_auto_pipenv *g:ale_python_pyflakes_auto_pipenv* - *b:ale_python_pyflakes_auto_pipenv* - Type: |Number| - Default: `0` - - Detect whether the file is inside a pipenv, and set the executable to `pipenv` - if true. This is overridden by a manually-set executable. - - -=============================================================================== -pylama *ale-python-pylama* - -g:ale_python_pylama_change_directory *g:ale_python_pylama_change_directory* - *b:ale_python_pylama_change_directory* - Type: |Number| - Default: `1` - - If set to `1`, `pylama` will be run from a detected project root, per - |ale-python-root|. This is useful because `pylama` only searches for - configuration files in its current directory and applies file masks using - paths relative to its current directory. This option can be turned off if - you want to control the directory in which `pylama` is executed. - - -g:ale_python_pylama_executable *g:ale_python_pylama_executable* - *b:ale_python_pylama_executable* - Type: |String| - Default: `'pylama'` - - This variable can be changed to modify the executable used for pylama. Set - this to `'pipenv'` to invoke `'pipenv` `run` `pylama'`. - - -g:ale_python_pylama_options *g:ale_python_pylama_options* - *b:ale_python_pylama_options* - Type: |String| - Default: `''` - - This variable can be changed to add command-line arguments to the pylama - invocation. - - -g:ale_python_pylama_use_global *g:ale_python_pylama_use_global* - *b:ale_python_pylama_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - This variable controls whether or not ALE will search for pylama in a - virtualenv directory first. If this variable is set to `1`, then ALE will - always use |g:ale_python_pylama_executable| for the executable path. - - Both variables can be set with `b:` buffer variables instead. - - -g:ale_python_pylama_auto_pipenv *g:ale_python_pylama_auto_pipenv* - *b:ale_python_pylama_auto_pipenv* - Type: |Number| - Default: `0` - - Detect whether the file is inside a pipenv, and set the executable to `pipenv` - if true. This is overridden by a manually-set executable. - - -=============================================================================== -pylint *ale-python-pylint* - -g:ale_python_pylint_change_directory *g:ale_python_pylint_change_directory* - *b:ale_python_pylint_change_directory* - Type: |Number| - Default: `1` - - If set to `1`, `pylint` will be run from a detected project root, per - |ale-python-root|. Since `pylint` only checks for `pylintrc` in the packages - above its current directory before falling back to user and global `pylintrc` - files, this is necessary for `pylint` to use a project `pylintrc` file, if - present. This option can be turned off if you want to control the directory - Python is executed from yourself. - - -g:ale_python_pylint_executable *g:ale_python_pylint_executable* - *b:ale_python_pylint_executable* - Type: |String| - Default: `'pylint'` - - See |ale-integrations-local-executables| - - Set this to `'pipenv'` to invoke `'pipenv` `run` `pylint'`. - - -g:ale_python_pylint_options *g:ale_python_pylint_options* - *b:ale_python_pylint_options* - Type: |String| - Default: `''` - - This variable can be changed to add command-line arguments to the pylint - invocation. - - For example, to dynamically switch between programs targeting Python 2 and - Python 3, you may want to set > - - let g:ale_python_pylint_executable = 'python3' " or 'python' for Python 2 - let g:ale_python_pylint_options = '--rcfile /path/to/pylint.rc' - " The virtualenv detection needs to be disabled. - let g:ale_python_pylint_use_global = 0 - - after making sure it's installed for the appropriate Python versions (e.g. - `python3 -m pip install --user pylint`). - - -g:ale_python_pylint_use_global *g:ale_python_pylint_use_global* - *b:ale_python_pylint_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -g:ale_python_pylint_auto_pipenv *g:ale_python_pylint_auto_pipenv* - *b:ale_python_pylint_auto_pipenv* - Type: |Number| - Default: `0` - - Detect whether the file is inside a pipenv, and set the executable to `pipenv` - if true. This is overridden by a manually-set executable. - - -g:ale_python_pylint_use_msg_id *g:ale_python_pylint_use_msg_id* - *b:ale_python_pylint_use_msg_id* - Type: |Number| - Default: `0` - - Use message for output (e.g. I0011) instead of symbolic name of the message - (e.g. locally-disabled). - -=============================================================================== -pyls *ale-python-pyls* - -`pyls` will be run from a detected project root, per |ale-python-root|. - - -g:ale_python_pyls_executable *g:ale_python_pyls_executable* - *b:ale_python_pyls_executable* - Type: |String| - Default: `'pyls'` - - See |ale-integrations-local-executables| - - Set this to `'pipenv'` to invoke `'pipenv` `run` `pyls'`. - - -g:ale_python_pyls_use_global *g:ale_python_pyls_use_global* - *b:ale_python_pyls_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -g:ale_python_pyls_auto_pipenv *g:ale_python_pyls_auto_pipenv* - *b:ale_python_pyls_auto_pipenv* - Type: |Number| - Default: `0` - - Detect whether the file is inside a pipenv, and set the executable to `pipenv` - if true. This is overridden by a manually-set executable. - - -g:ale_python_pyls_config *g:ale_python_pyls_config* - *b:ale_python_pyls_config* - Type: |Dictionary| - Default: `{}` - - Dictionary with configuration settings for pyls. For example, to disable - the pycodestyle linter: > - { - \ 'pyls': { - \ 'plugins': { - \ 'pycodestyle': { - \ 'enabled': v:false - \ } - \ } - \ }, - \ } -< - -=============================================================================== -pyre *ale-python-pyre* - -`pyre` will be run from a detected project root, per |ale-python-root|. - - -g:ale_python_pyre_executable *g:ale_python_pyre_executable* - *b:ale_python_pyre_executable* - Type: |String| - Default: `'pyre'` - - See |ale-integrations-local-executables| - - Set this to `'pipenv'` to invoke `'pipenv` `run` `pyre'`. - - -g:ale_python_pyre_use_global *g:ale_python_pyre_use_global* - *b:ale_python_pyre_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -g:ale_python_pyre_auto_pipenv *g:ale_python_pyre_auto_pipenv* - *b:ale_python_pyre_auto_pipenv* - Type: |Number| - Default: `0` - - Detect whether the file is inside a pipenv, and set the executable to `pipenv` - if true. This is overridden by a manually-set executable. - - -=============================================================================== -reorder-python-imports *ale-python-reorder_python_imports* - -g:ale_python_reorder_python_imports_executable - *g:ale_python_reorder_python_imports_executable* - *b:ale_python_reorder_python_imports_executable* - Type: |String| - Default: `'reorder-python-imports'` - - See |ale-integrations-local-executables| - - -g:ale_python_reorder_python_imports_options - *g:ale_python_reorder_python_imports_options* - *b:ale_python_reorder_python_imports_options* - Type: |String| - Default: `''` - - This variable can be set to pass extra options to reorder-python-imports. - - -g:ale_python_reorder_python_imports_use_global - *g:ale_python_reorder_python_imports_use_global* - *b:ale_python_reorder_python_imports_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -vulture *ale-python-vulture* - -g:ale_python_vulture_change_directory *g:ale_python_vulture_change_directory* - *b:ale_python_vulture_change_directory* - Type: |Number| - Default: `1` - - If set to `1`, ALE will switch to the directory the Python file being - checked with `vulture` is in before checking it and check the whole project - directory instead of checking only the file opened in the current buffer. - This helps `vulture` to know the context and avoid false-negative results. - - -g:ale_python_vulture_executable *g:ale_python_vulture_executable* - *b:ale_python_vulture_executable* - Type: |String| - Default: `'vulture'` - - See |ale-integrations-local-executables| - - -g:ale_python_vulture_options *g:ale_python_vulture_options* - *b:ale_python_vulture_options* - Type: |String| - Default: `''` - - This variable can be changed to add command-line arguments to the vulture - invocation. - - -g:ale_python_vulture_use_global *g:ale_python_vulture_use_global* - *b:ale_python_vulture_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -yapf *ale-python-yapf* - -g:ale_python_yapf_executable *g:ale_python_yapf_executable* - *b:ale_python_yapf_executable* - Type: |String| - Default: `'yapf'` - - See |ale-integrations-local-executables| - - -g:ale_python_yapf_use_global *g:ale_python_yapf_use_global* - *b:ale_python_yapf_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-qml.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-qml.txt deleted file mode 100644 index f6d715a..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-qml.txt +++ /dev/null @@ -1,18 +0,0 @@ -=============================================================================== -ALE QML Integration *ale-qml-options* - - -=============================================================================== -qmlfmt *ale-qml-qmlfmt* - -g:ale_qml_qmlfmt_executable *g:ale_qml_qmlfmt_executable* - *b:ale_qml_qmlfmt_executable* - Type: |String| - Default: `'qmlfmt'` - - This variable can be set to change the path to qmlfmt. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: - diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-r.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-r.txt deleted file mode 100644 index b5ccebe..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-r.txt +++ /dev/null @@ -1,45 +0,0 @@ -=============================================================================== -ALE R Integration *ale-r-options* - - -=============================================================================== -lintr *ale-r-lintr* - -g:ale_r_lintr_options *g:ale_r_lintr_options* - *b:ale_r_lintr_options* - Type: |String| - Default: `'lintr::with_defaults()'` - - This option can be configured to change the options for lintr. - - The value of this option will be run with `eval` for the `lintr::lint` - options. Consult the lintr documentation for more information. - - -g:ale_r_lintr_lint_package *g:ale_r_lintr_lint_package* - *b:ale_r_lintr_lint_package* - Type: |Number| - Default: `0` - - When set to `1`, the file will be checked with `lintr::lint_package` instead - of `lintr::lint`. This prevents erroneous namespace warnings when linting - package files. - - -=============================================================================== -styler *ale-r-styler* - -g:ale_r_styler_options *g:ale_r_styler_options* - *b:ale_r_styler_options* - Type: |String| - Default: `'styler::tidyverse_style'` - - This option can be configured to change the options for styler. - - The value of this option will be used as the `style` argument for the - `styler::style_file` options. Consult the styler documentation - for more information. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-reasonml.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-reasonml.txt deleted file mode 100644 index b8729a5..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-reasonml.txt +++ /dev/null @@ -1,76 +0,0 @@ -=============================================================================== -ALE ReasonML Integration *ale-reasonml-options* - - -=============================================================================== -merlin *ale-reasonml-merlin* - -To use merlin linter for ReasonML source code you need to make sure Merlin for -Vim is correctly configured. See the corresponding Merlin wiki page for -detailed instructions: -https://github.com/the-lambda-church/merlin/wiki/vim-from-scratch - -=============================================================================== -ols *ale-reasonml-ols* - -The `ocaml-language-server` is the engine that powers OCaml and ReasonML -editor support using the Language Server Protocol. See the installation -instructions: -https://github.com/freebroccolo/ocaml-language-server#installation - - -g:ale_reason_ols_executable *g:ale_reason_ols_executable* - *b:ale_reason_ols_executable* - Type: |String| - Default: `'ocaml-language-server'` - - This variable can be set to change the executable path for `ols`. - - -g:ale_reason_ols_use_global *g:ale_reason_ols_use_global* - *b:ale_reason_ols_use_global* - Type: |String| - Default: `get(g:, 'ale_use_global_executables', 0)` - - This variable can be set to `1` to always use the globally installed - executable. See also |ale-integrations-local-executables|. - - -=============================================================================== -reason-language-server *ale-reasonml-language-server* - -Note: You must set an executable - there is no 'default' install location. -Go to https://github.com/jaredly/reason-language-server and download the -latest release. You can place it anywhere, but ensure you set the executable -path. - - -g:ale_reason_ls_executable *g:ale_reason_ls_executable* - *b:ale_reason_ls_executable* - Type: |String| - - This variable defines the standard location of the language server - executable. This must be set. - - -=============================================================================== -refmt *ale-reasonml-refmt* - -g:ale_reasonml_refmt_executable *g:ale_reasonml_refmt_executable* - *b:ale_reasonml_refmt_executable* - Type: |String| - Default: `'refmt'` - - This variable can be set to pass the path of the refmt fixer. - - -g:ale_reasonml_refmt_options *g:ale_reasonml_refmt_options* - *b:ale_reasonml_refmt_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the refmt fixer. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-restructuredtext.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-restructuredtext.txt deleted file mode 100644 index e308b07..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-restructuredtext.txt +++ /dev/null @@ -1,26 +0,0 @@ -=============================================================================== -ALE reStructuredText Integration *ale-restructuredtext-options* - - -=============================================================================== -textlint *ale-restructuredtext-textlint* - -To use textlint at reStructuredText, please install `textlint-plugin-rst`. -https://github.com/jimo1001/textlint-plugin-rst -> - $ npm install textlint-plugin-rst - -To install `textlint-plugin-rst`, `docutils-ast-writer` python package -must be installed. -See: https://github.com/jimo1001/docutils-ast-writer - -See |ale-text-textlint| - -=============================================================================== -write-good *ale-restructuredtext-write-good* - -See |ale-write-good-options| - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-ruby.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-ruby.txt deleted file mode 100644 index a27a20b..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-ruby.txt +++ /dev/null @@ -1,195 +0,0 @@ -=============================================================================== -ALE Ruby Integration *ale-ruby-options* - - -=============================================================================== -brakeman *ale-ruby-brakeman* - -g:ale_ruby_brakeman_executable *g:ale_ruby_brakeman_executable* - *b:ale_ruby_brakeman_executable* - Type: String - Default: `'brakeman'` - - Override the invoked brakeman binary. Set this to `'bundle'` to invoke - `'bundle` `exec` brakeman'. - - -g:ale_ruby_brakeman_options *g:ale_ruby_brakeman_options* - *b:ale_ruby_brakeman_options* - Type: |String| - Default: `''` - - The contents of this variable will be passed through to brakeman. - -=============================================================================== -debride *ale-ruby-debride* - -g:ale_ruby_debride_executable *g:ale_ruby_debride_executable* - *b:ale_ruby_debride_executable* - Type: String - Default: `'debride'` - - Override the invoked debride binary. Set this to `'bundle'` to invoke - `'bundle` `exec` debride'. - - -g:ale_ruby_debride_options *g:ale_ruby_debride_options* - *b:ale_ruby_debride_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to debride. - - - -=============================================================================== -rails_best_practices *ale-ruby-rails_best_practices* - -g:ale_ruby_rails_best_practices_executable - *g:ale_ruby_rails_best_practices_executable* - *b:ale_ruby_rails_best_practices_executable* - Type: String - Default: `'rails_best_practices'` - - Override the invoked rails_best_practices binary. Set this to `'bundle'` to - invoke `'bundle` `exec` rails_best_practices'. - - -g:ale_ruby_rails_best_practices_options - *g:ale_ruby_rails_best_practices_options* - *b:ale_ruby_rails_best_practices_options* - Type: |String| - Default: `''` - - The contents of this variable will be passed through to rails_best_practices. - - -=============================================================================== -reek *ale-ruby-reek* - -g:ale_ruby_reek_executable *g:ale_ruby_reek_executable* - *b:ale_ruby_reek_executable* - Type: String - Default: `'reek'` - - Override the invoked reek binary. Set this to `'bundle'` to invoke - `'bundle` `exec` reek'. - - -g:ale_ruby_reek_show_context *g:ale_ruby_reek_show_context* - *b:ale_ruby_reek_show_context* - Type: |Number| - Default: 0 - - Controls whether context is included in the linter message. Defaults to off - because context is usually obvious while viewing a file. - - -g:ale_ruby_reek_show_wiki_link *g:ale_ruby_reek_show_wiki_link* - *b:ale_ruby_reek_show_wiki_link* - Type: |Number| - Default: 0 - - Controls whether linter messages contain a link to an explanatory wiki page - for the type of code smell. Defaults to off to improve readability. - - -=============================================================================== -rubocop *ale-ruby-rubocop* - -g:ale_ruby_rubocop_executable *g:ale_ruby_rubocop_executable* - *b:ale_ruby_rubocop_executable* - Type: String - Default: `'rubocop'` - - Override the invoked rubocop binary. Set this to `'bundle'` to invoke - `'bundle` `exec` rubocop'. - - -g:ale_ruby_rubocop_options *g:ale_ruby_rubocop_options* - *b:ale_ruby_rubocop_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to rubocop. - - -=============================================================================== -ruby *ale-ruby-ruby* - -g:ale_ruby_ruby_executable *g:ale_ruby_ruby_executable* - *b:ale_ruby_ruby_executable* - Type: String - Default: `'ruby'` - - This variable can be changed to use a different executable for ruby. - - -=============================================================================== -rufo *ale-ruby-rufo* - -g:ale_ruby_rufo_executable *g:ale_ruby_rufo_executable* - *b:ale_ruby_rufo_executable* - Type: String - Default: `'rufo'` - - Override the invoked rufo binary. This is useful for running rufo from - binstubs or a bundle. - - -=============================================================================== -solargraph *ale-ruby-solargraph* - -g:ale_ruby_solargraph_executable *g:ale_ruby_solargraph_executable* - *b:ale_ruby_solargraph_executable* - Type: String - Default: `'solargraph'` - - Override the invoked solargraph binary. This is useful for running solargraph - from binstubs or a bundle. - - -=============================================================================== -sorbet *ale-ruby-sorbet* - -g:ale_ruby_sorbet_executable *g:ale_ruby_sorbet_executable* - *b:ale_ruby_sorbet_executable* - Type: String - Default: `'srb'` - - Override the invoked sorbet binary. Set this to `'bundle'` to invoke - `'bundle` `exec` srb'. - - -g:ale_ruby_sorbet_options *g:ale_ruby_sorbet_options* - *b:ale_ruby_sorbet_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to sorbet. - - -=============================================================================== -standardrb *ale-ruby-standardrb* - -g:ale_ruby_standardrb_executable *g:ale_ruby_standardrb_executable* - *b:ale_ruby_standardrb_executable* - Type: String - Default: `'standardrb'` - - Override the invoked standardrb binary. Set this to `'bundle'` to invoke - `'bundle` `exec` standardrb'. - - -g:ale_ruby_standardrb_options *g:ale_ruby_standardrb_options* - *b:ale_ruby_standardrb_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to standardrb. - - -=============================================================================== - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-rust.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-rust.txt deleted file mode 100644 index 46d4714..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-rust.txt +++ /dev/null @@ -1,272 +0,0 @@ -=============================================================================== -ALE Rust Integration *ale-rust-options* - *ale-integration-rust* - -=============================================================================== -Integration Information - - If Vim does not detect the Rust file type out-of-the-box, you need the runtime - files for Rust distributed in Vim >=8.0.0501 or upstream: - https://github.com/rust-lang/rust.vim - - Note that there are several possible linters and fixers for Rust files: - - 1. rustc -- The Rust compiler is used to check the currently edited file. - So, if your project consists of multiple files, you will get some errors - when you use e.g. a struct which is defined in another file. You can use - |g:ale_rust_ignore_error_codes| to ignore some of these errors. - 2. cargo -- If your project is managed by Cargo, the whole project is - checked. That means that all errors are properly shown, but cargo can - only operate on the files written on disk, so errors will not be reported - while you type. - 3. rls -- If you have `rls` installed, you might prefer using this linter - over cargo. rls implements the Language Server Protocol for incremental - compilation of Rust code, and can check Rust files while you type. `rls` - requires Rust files to contained in Cargo projects. - 4. analyzer -- If you have rust-analyzer installed, you might prefer using - this linter over cargo and rls. rust-analyzer also implements the - Language Server Protocol for incremental compilation of Rust code, and is - the next iteration of rls. rust-analyzer, like rls, requires Rust files - to contained in Cargo projects. - 5. rustfmt -- If you have `rustfmt` installed, you can use it as a fixer to - consistently reformat your Rust code. - - Only cargo is enabled by default. To switch to using rustc instead of cargo, - configure |g:ale_linters| appropriately: > - - " See the help text for the option for more information. - let g:ale_linters = {'rust': ['rustc']} -< - - Also note that rustc 1.12. or later is needed. - - -=============================================================================== -analyzer *ale-rust-analyzer* - -g:ale_rust_analyzer_executable *g:ale_rust_analyzer_executable* - *b:ale_rust_analyzer_executable* - Type: |String| - Default: `'rust-analyzer'` - - This variable can be modified to change the executable path for - `rust-analyzer`. - - -g:ale_rust_analyzer_config *g:ale_rust_analyzer_config* - *b:ale_rust_analyzer_config* - Type: |Dictionary| - Default: `{}` - - Dictionary with configuration settings for rust-analyzer. - -=============================================================================== -cargo *ale-rust-cargo* - -g:ale_rust_cargo_use_check *g:ale_rust_cargo_use_check* - *b:ale_rust_cargo_use_check* - Type: |Number| - Default: `1` - - When set to `1`, this option will cause ALE to use `cargo check` instead of - `cargo build` . `cargo check` is supported since version 1.16.0 of Rust. - - ALE will never use `cargo check` when the version of `cargo` is less than - 0.17.0. - - -g:ale_rust_cargo_check_all_targets *g:ale_rust_cargo_check_all_targets* - *b:ale_rust_cargo_check_all_targets* - Type: |Number| - Default: `0` - - When set to `1`, ALE will set the `--all-targets` option when `cargo check` - is used. See |g:ale_rust_cargo_use_check|, - - -g:ale_rust_cargo_check_tests *g:ale_rust_cargo_check_tests* - *b:ale_rust_cargo_check_tests* - Type: |Number| - Default: `0` - - When set to `1`, ALE will set the `--tests` option when `cargo check` - is used. This allows for linting of tests which are normally excluded. - See |g:ale_rust_cargo_use_check|, - - -g:ale_rust_cargo_check_examples *g:ale_rust_cargo_check_examples* - *b:ale_rust_cargo_check_examples* - Type: |Number| - Default: `0` - - When set to `1`, ALE will set the `--examples` option when `cargo check` - is used. This allows for linting of examples which are normally excluded. - See |g:ale_rust_cargo_use_check|, - - -g:ale_rust_cargo_default_feature_behavior - *g:ale_rust_cargo_default_feature_behavior* - *b:ale_rust_cargo_default_feature_behavior* - Type: |String| - Default: `default` - - When set to `none`, ALE will set the `--no-default-features` option when - invoking `cargo`. Only the features specified in - |g:ale_rust_cargo_include_features| will be included when performing the - lint check. - - When set to `default`, ALE will instruct `cargo` to build all default - features specified in the project's `Cargo.toml` file, in addition to - including any additional features defined in - |g:ale_rust_cargo_include_features|. - - When set to `all`, ALE will set the `--all-features` option when - invoking `cargo`, which will include all features defined in the project's - `Cargo.toml` file when performing the lint check. - - -g:ale_rust_cargo_include_features *g:ale_rust_cargo_include_features* - *b:ale_rust_cargo_include_features* - Type: |String| - Default: `''` - - When defined, ALE will set the `--features` option when invoking `cargo` to - perform the lint check. See |g:ale_rust_cargo_default_feature_behavior|. - - -g:ale_rust_cargo_avoid_whole_workspace *g:ale_rust_cargo_avoid_whole_workspace* - *b:ale_rust_cargo_avoid_whole_workspace* - Type: |Number| - Default: `1` - - When set to 1, and ALE is used to edit a crate that is part of a Cargo - workspace, avoid building the entire workspace by invoking `cargo` directly - in the crate's directory. Otherwise, behave as usual. - - -g:ale_rust_cargo_use_clippy - *g:ale_rust_cargo_use_clippy* - *b:ale_rust_cargo_use_clippy* - Type: |Number| - Default: `0` - - When set to 1, `cargo clippy` will be used instead of `cargo check` or - `cargo build` as linter. - For details of `cargo clippy`, please visit the following link: - - https://github.com/rust-lang-nursery/rust-clippy - - Since `cargo clippy` is optional toolchain, it's safer to check whether - `cargo-clippy` is executable as follows: -> - let g:ale_rust_cargo_use_clippy = executable('cargo-clippy') -< - -g:ale_rust_cargo_clippy_options - *g:ale_rust_cargo_clippy_options* - *b:ale_rust_cargo_clippy_options* - - Type: |String| - Default: `''` - - When `cargo clippy` is used, this value will be added to a command line to run - it. This variable is useful when you want to add some extra options which - only `cargo clippy` supports (e.g. `--deny`). - - -=============================================================================== -rls *ale-rust-rls* - -g:ale_rust_rls_executable *g:ale_rust_rls_executable* - *b:ale_rust_rls_executable* - Type: |String| - Default: `'rls'` - - This variable can be modified to change the executable path for `rls`. - - -g:ale_rust_rls_toolchain *g:ale_rust_rls_toolchain* - *b:ale_rust_rls_toolchain* - Type: |String| - Default: `''` - - This option can be set to change the toolchain used for `rls`. Possible - values include `'nightly'`, `'beta'`, `'stable'`, and `''`. When using - option `''`, rls will automatically find the default toolchain set by - rustup. If you want to use `rls` from a specific toolchain version, you may - also use values like `'channel-yyyy-mm-dd-arch-target'` as long as - `'rls +{toolchain_name} -V'` runs correctly in your command line. - - The `rls` server will only be started once per executable. - - -g:ale_rust_rls_config *g:ale_rust_rls_config* - *b:ale_rust_rls_config* - Type: |Dictionary| - Default: `{}` - - Dictionary with configuration settings for rls. For example, to force - using clippy as linter: > - { - \ 'rust': { - \ 'clippy_preference': 'on' - \ } - \ } - - -=============================================================================== -rustc *ale-rust-rustc* - - -g:ale_rust_rustc_options *g:ale_rust_rustc_options* - *b:ale_rust_rustc_options* - Type: |String| - Default: `'-Z no-codegen'` - - The variable can be used to change the options passed to `rustc`. - - `-Z no-codegen` should only work with nightly builds of Rust. Be careful when - setting the options, as running `rustc` could execute code or generate - binary files. - - -g:ale_rust_ignore_error_codes *g:ale_rust_ignore_error_codes* - *b:ale_rust_ignore_error_codes* - Type: |List| of |String|s - Default: `[]` - - This variable can contain error codes which will be ignored. For example, to - ignore most errors regarding failed imports, put this in your .vimrc - > - let g:ale_rust_ignore_error_codes = ['E0432', 'E0433'] - -g:ale_rust_ignore_secondary_spans *g:ale_rust_ignore_secondary_spans* - *b:ale_rust_ignore_secondary_spans* - Type: Number - Default: 0 - - When set to 1, instructs the Rust error repporting to ignore secondary - spans. The problem with secondary spans is that they sometimes appear in - error messages before the main cause of the error, for example: > - - 1 src/main.rs|98 col 5 error| this function takes 4 parameters but 5 - parameters were supplied: defined here - 2 src/main.rs|430 col 32 error| this function takes 4 parameters but 5 - parameters were supplied: expected 4 parameters -< - This is due to the sorting by line numbers. With this option set to 1, - the 'defined here' span will not be presented. - -=============================================================================== -rustfmt *ale-rust-rustfmt* - -g:ale_rust_rustfmt_options *g:ale_rust_rustfmt_options* - *b:ale_rust_rustfmt_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the rustfmt fixer. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-sass.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-sass.txt deleted file mode 100644 index 22d7c47..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-sass.txt +++ /dev/null @@ -1,31 +0,0 @@ -=============================================================================== -ALE Sass Integration *ale-sass-options* - - -=============================================================================== -sasslint *ale-sass-sasslint* - -See |ale-scss-sasslint| for information about the available options. - - -=============================================================================== -stylelint *ale-sass-stylelint* - -g:ale_sass_stylelint_executable *g:ale_sass_stylelint_executable* - *b:ale_sass_stylelint_executable* - Type: |String| - Default: `'stylelint'` - - See |ale-integrations-local-executables| - - -g:ale_sass_stylelint_use_global *g:ale_sass_stylelint_use_global* - *b:ale_sass_stylelint_use_global* - Type: |String| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-scala.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-scala.txt deleted file mode 100644 index c9638ba..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-scala.txt +++ /dev/null @@ -1,124 +0,0 @@ -=============================================================================== -ALE Scala Integration *ale-scala-options* - - -=============================================================================== -metals *ale-scala-metals* - -`metals` requires either an SBT project, a Mill project, or a running Bloop -server. - - -g:ale_scala_metals_executable *g:ale_scala_metals_executable* - *b:ale_scala_metals_executable* - Type: |String| - Default: `'metals-vim'` - - Override the invoked `metals` binary. - - -g:ale_scala_metals_project_root *g:ale_scala_metals_project_root* - *b:ale_scala_metals_project_root* - Type: |String| - Default: `''` - - By default the project root is found by searching upwards for `build.sbt`, - `build.sc`, `.bloop` or `.metals`. - If the project root is elsewhere, you can override the project root - directory. - - -=============================================================================== -sbtserver *ale-scala-sbtserver* - -`sbtserver` requires a running ^1.1.x sbt shell to connect to. It will attempt -to connect via TCP to the address defined in `g:ale_scala_sbtserver_address`. -As `sbt` defaults to listening via unix sockets, place these settings into -your `~/.sbt/1.0/global.sbt` to ensure that ale will always attempt to connect -to the right socket: - -`serverConnectionType := ConnectionType.Tcp` and `serverPort := 4273` - - -g:ale_scala_sbtserver_address *g:ale_scala_sbtserver_address* - *b:ale_scala_sbtserver_address* - Type: |String| - Default: `'127.0.0.1:4273'` - - By default the address is found by parsing `active.json`, however, reading a - file is a blocking operation which should be avoided in ale. The easy way - around this is to configure sbt to always connect to the same port, which - the instructions above describe. - - -g:ale_scala_sbtserver_project_root *g:ale_scala_sbtserver_project_root* - *b:ale_scala_sbtserver_project_root* - Type: |String| - Default: `''` - - By default the project root is found by searching upwards for `build.sbt`. - If the project root is elsewhere, you can override the project root - directory. - - -=============================================================================== -scalafmt *ale-scala-scalafmt* - -If Nailgun is used, override `g:ale_scala_scalafmt_executable` like so: > - let g:ale_scala_scalafmt_executable = 'ng' - - -g:ale_scala_scalafmt_executable *g:ale_scala_scalafmt_executable* - *b:ale_scala_scalafmt_executable* - Type: |String| - Default: `'scalafmt'` - - Override the invoked `scalafmt` binary. This is useful for running `scalafmt` - with Nailgun. - - -g:ale_scala_scalafmt_options *g:ale_scala_scalafmt_options* - *b:ale_scala_scalafmt_options* - Type: |String| - Default: `''` - - A string containing additional options to pass to `'scalafmt'`, or - `'ng scalafmt'` if Nailgun is used. - - -=============================================================================== -scalastyle *ale-scala-scalastyle* - -`scalastyle` requires a configuration file for a project to run. When no -configuration file can be found, ALE will report a problem saying that a -configuration file is required at line 1. - -To disable `scalastyle` globally, use |g:ale_linters| like so: > - let g:ale_linters = {'scala': ['scalac']} " Enable only scalac instead -< - -See |g:ale_linters| for more information on disabling linters. - - -g:ale_scala_scalastyle_config *g:ale_scala_scalastyle_config* - *b:ale_scala_scalastyle_config* - Type: |String| - Default: `''` - - A string containing the location of a global fallback configuration file. - - By default, ALE will look for a configuration file named - `scalastyle_config.xml` or `scalastyle-config.xml` in the current file's - directory or parent directories. - - -g:ale_scala_scalastyle_options *g:ale_scala_scalastyle_options* - *b:ale_scala_scalastyle_options* - Type: |String| - Default: `''` - - A string containing additional options to pass to scalastyle. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-scss.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-scss.txt deleted file mode 100644 index 07a94fe..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-scss.txt +++ /dev/null @@ -1,64 +0,0 @@ -=============================================================================== -ALE SCSS Integration *ale-scss-options* - - -=============================================================================== -prettier *ale-scss-prettier* - -See |ale-javascript-prettier| for information about the available options. - - -=============================================================================== -sasslint *ale-scss-sasslint* - -g:ale_scss_sasslint_executable *g:ale_scss_sasslint_executable* - *b:ale_scss_sasslint_executable* - Type: |String| - Default: `'sass-lint'` - - See |ale-integrations-local-executables| - - -g:ale_scss_sasslint_options *g:ale_scss_sasslint_options* - *b:ale_scss_sasslint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to sass-lint. - - -g:ale_scss_sasslint_use_global *g:ale_scss_sasslint_use_global* - *b:ale_scss_sasslint_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -stylelint *ale-scss-stylelint* - -g:ale_scss_stylelint_executable *g:ale_scss_stylelint_executable* - *b:ale_scss_stylelint_executable* - Type: |String| - Default: `'stylelint'` - - See |ale-integrations-local-executables| - -g:ale_scss_stylelint_options *g:ale_scss_stylelint_options* - *b:ale_scss_stylelint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to stylelint. - -g:ale_scss_stylelint_use_global *g:ale_scss_stylelint_use_global* - *b:ale_scss_stylelint_use_global* - Type: |String| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-sh.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-sh.txt deleted file mode 100644 index 3eac903..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-sh.txt +++ /dev/null @@ -1,115 +0,0 @@ -=============================================================================== -ALE Shell Integration *ale-sh-options* - - -=============================================================================== -sh-language-server *ale-sh-language-server* - -g:ale_sh_language_server_executable *g:ale_sh_language_server_executable* - *b:ale_sh_language_server_executable* - Type: |String| - Default: `'bash-language-server'` - - See |ale-integrations-local-executables| - - -g:ale_sh_language_server_use_global *g:ale_sh_language_server_use_global* - *b:ale_sh_language_server_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -shell *ale-sh-shell* - -g:ale_sh_shell_default_shell *g:ale_sh_shell_default_shell* - *b:ale_sh_shell_default_shell* - Type: |String| - Default: The current shell (`$SHELL`). Falls back to `'bash'` if that cannot be - read or if the current shell is `'fish'`. - - When ALE runs the linter for shells with the `-n` flag, it will attempt to - read the shell from the shebang (`#!`) line from the shell script to - determine the shell program to run. When this detection fails, this variable - will be used instead. - - -=============================================================================== -shellcheck *ale-sh-shellcheck* - -g:ale_sh_shellcheck_executable *g:ale_sh_shellcheck_executable* - *b:ale_sh_shellcheck_executable* - Type: |String| - Default: `'shellcheck'` - - This variable sets executable used for shellcheck. - - -g:ale_sh_shellcheck_options *g:ale_sh_shellcheck_options* - *b:ale_sh_shellcheck_options* - Type: |String| - Default: `''` - - With this variable we are able to pass extra arguments for shellcheck - for shellcheck invocation. - - For example, if we want shellcheck to follow external sources (`see SC1091`) - we can set the variable as such: -> - let g:ale_sh_shellcheck_options = '-x' -< - - -g:ale_sh_shellcheck_change_directory *g:ale_sh_shellcheck_change_directory* - *b:ale_sh_shellcheck_change_directory* - Type: |Number| - Default: `1` - - If set to `1`, ALE will switch to the directory the shell file being - checked with `shellcheck` is in before checking it. This helps `shellcheck` - determine the path to sourced files more easily. This option can be turned - off if you want to control the directory `shellcheck` is executed from - yourself. - - -g:ale_sh_shellcheck_dialect *g:ale_sh_shellcheck_dialect* - *b:ale_sh_shellcheck_dialect* - Type: |String| - Default: `'auto'` - - This variable specifies the shellcheck dialect (`-s` option). The value - `'auto'` causes ALE to detect the dialect automatically, based on the shebang - line (if present) or the value of `b:is_bash`, `b:is_sh`, or `b:is_kornshell` - (set and used by |sh.vim|). - - -g:ale_sh_shellcheck_exclusions *g:ale_sh_shellcheck_exclusions* - *b:ale_sh_shellcheck_exclusions* - Type: |String| - Default: `''` - - Set this variable to exclude test(s) for shellcheck (-e/--exclude option). - To exclude more than one option, separate them with commas. - - For example, to ignore some warnings that aren't applicable to files that - will be sourced by other scripts, use the buffer-local variant: -> - autocmd BufEnter PKGBUILD,.env - \ let b:ale_sh_shellcheck_exclusions = 'SC2034,SC2154,SC2164' -< - -=============================================================================== -shfmt *ale-sh-shfmt* - -g:ale_sh_shfmt_options *g:ale_sh_shfmt_options* - *b:ale_sh_shfmt_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the shfmt fixer. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-sml.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-sml.txt deleted file mode 100644 index cc8d679..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-sml.txt +++ /dev/null @@ -1,36 +0,0 @@ -=============================================================================== -ALE SML Integration *ale-sml-options* - -=============================================================================== -smlnj *ale-sml-smlnj* - *ale-sml-smlnj-cm* - -There are two SML/NJ powered checkers: - -- one using Compilation Manager that works on whole projects, but requires you - to save before errors show up -- one using the SML/NJ REPL that works as you change the text, but might fail - if your project can only be built with CM. - -We dynamically select which one to use based whether we find a `*.cm` file at -or above the directory of the file being checked. Only one checker (`smlnj`, -`smlnj-cm`) will be enabled at a time. - -------------------------------------------------------------------------------- - -g:ale_sml_smlnj_cm_file *g:ale_sml_smlnj_cm_file* - *b:ale_sml_smlnj_cm_file* - Type: |String| - Default: `'*.cm'` - - By default, ALE will look for a `*.cm` file in your current directory, - searching upwards. It stops when it finds at least one `*.cm` file (taking - the first file if there are more than one). - - Change this option (in the buffer or global scope) to control how ALE finds - CM files. For example, to always search for a CM file named `sandbox.cm`: -> - let g:ale_sml_smlnj_cm_file = 'sandbox.cm' - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-solidity.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-solidity.txt deleted file mode 100644 index b6e4867..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-solidity.txt +++ /dev/null @@ -1,36 +0,0 @@ -=============================================================================== -ALE Solidity Integration *ale-solidity-options* - - -=============================================================================== -solc *ale-solidity-solc* - - -g:ale_solidity_solc_options *g:ale_solidity_solc_options* - *b:ale_solidity_solc_options* - Type: |String| - Default: `''` - - This variable can be set to pass extra options to solc. - - -=============================================================================== -solhint *ale-solidity-solhint* - - Solhint should work out-of-the-box. You can further configure it using a - `.solihint.json` file. See https://github.com/protofire/solhint for more - information. - - -=============================================================================== -solium *ale-solidity-solium* - - Use of Solium linter for Solidity source code requires a .soliumrc.json - file in project root. This file can be generated by running `solium --init`. - See the corresponding solium usage for detailed instructions - (https://github.com/duaraghav8/Solium#usage). - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: - diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-spec.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-spec.txt deleted file mode 100644 index 3da950c..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-spec.txt +++ /dev/null @@ -1,43 +0,0 @@ -=============================================================================== -ALE Spec Integration *ale-spec-options* - *ale-integration-spec* - -=============================================================================== -Integration Information - - The rpmlint linter is disabled by default, because running rpmlint can - result in the execution of code embedded in the spec file and rpmlint makes - no distinction between checks which are safe to run on untrusted files and - those which are not. - - Currently linters must be enabled globally. The rpmlint linter can be - enabled with: -> - let g:ale_linters = {'spec': ['rpmlint']} -< - -=============================================================================== -rpmlint *ale-spec-rpmlint* - -g:ale_spec_rpmlint_executable *g:ale_spec_rpmlint_executable* - *b:ale_spec_rpmlint_executable* - Type: |String| - Default: `'rpmlint'` - - This variable sets executable used for rpmlint. - - -g:ale_spec_rpmlint_options *g:ale_spec_rpmlint_options* - *b:ale_spec_rpmlint_options* - Type: |String| - Default: `''` - - Set this to pass extra arguments to rpmlint. - - For example, to instruct rpmlint to use a specific configuration file: -> - let g:ale_spec_rpmlint_options = '-f custom.cf' -< - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-sql.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-sql.txt deleted file mode 100644 index 2807271..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-sql.txt +++ /dev/null @@ -1,61 +0,0 @@ -=============================================================================== -ALE SQL Integration *ale-sql-options* - - -=============================================================================== -pgformatter *ale-sql-pgformatter* - -g:ale_sql_pgformatter_executable *g:ale_sql_pgformatter_executable* - *b:ale_sql_pgformatter_executable* - Type: |String| - Default: `'pg_format'` - - This variable sets executable used for pgformatter. - -g:ale_sql_pgformatter_options *g:ale_sql_pgformatter_options* - *b:ale_sql_pgformatter_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the pgformatter fixer. - - -=============================================================================== -sqlfmt *ale-sql-sqlfmt* - -g:ale_sql_sqlfmt_executable *g:ale_sql_sqlfmt_executable* - *b:ale_sql_sqlfmt_executable* - Type: |String| - Default: `'sqlfmt'` - - This variable sets executable used for sqlfmt. - -g:ale_sql_sqlfmt_options *g:ale_sql_sqlfmt_options* - *b:ale_sql_sqlfmt_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the sqlfmt fixer. - At this time only the -u flag is available to format with upper-case. - - -=============================================================================== -sqlformat *ale-sql-sqlformat* - -g:ale_sql_sqlformat_executable *g:ale_sql_sqlformat_executable* - *b:ale_sql_sqlformat_executable* - Type: |String| - Default: `'sqlformat'` - - This variable sets executable used for sqlformat. - -g:ale_sql_sqlformat_options *g:ale_sql_sqlformat_options* - *b:ale_sql_sqlformat_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the sqlformat fixer. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-stylus.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-stylus.txt deleted file mode 100644 index 3e6ba90..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-stylus.txt +++ /dev/null @@ -1,33 +0,0 @@ -=============================================================================== -ALE Stylus Integration *ale-stylus-options* - - -=============================================================================== -stylelint *ale-stylus-stylelint* - -g:ale_stylus_stylelint_executable *g:ale_stylus_stylelint_executable* - *b:ale_stylus_stylelint_executable* - Type: |String| - Default: `'stylelint'` - - See |ale-integrations-local-executables| - - -g:ale_stylus_stylelint_options *g:ale_stylus_stylelint_options* - *b:ale_stylus_stylelint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to stylelint. - - -g:ale_stylus_stylelint_use_global *g:ale_stylus_stylelint_use_global* - *b:ale_stylus_stylelint_use_global* - Type: |String| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-sugarss.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-sugarss.txt deleted file mode 100644 index 8e991e5..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-sugarss.txt +++ /dev/null @@ -1,31 +0,0 @@ -=============================================================================== -ALE SugarSS Integration *ale-sugarss-options* - - -=============================================================================== -stylelint *ale-sugarss-stylelint* - -g:ale_sugarss_stylelint_executable *g:ale_sugarss_stylelint_executable* - *b:ale_sugarss_stylelint_executable* - Type: |String| - Default: `'stylelint'` - - See |ale-integrations-local-executables| - -g:ale_sugarss_stylelint_options *g:ale_sugarss_stylelint_options* - *b:ale_sugarss_stylelint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to stylelint. - -g:ale_sugarss_stylelint_use_global *g:ale_sugarss_stylelint_use_global* - *b:ale_sugarss_stylelint_use_global* - Type: |String| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-supported-languages-and-tools.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-supported-languages-and-tools.txt deleted file mode 100644 index 4525229..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-supported-languages-and-tools.txt +++ /dev/null @@ -1,512 +0,0 @@ -*ale-supported-languages-and-tools.txt* For Vim version 8.0. -*ale-supported-list* - -ALE Supported Languages and Tools - -=============================================================================== - -The following languages and tools are supported by ALE. - -Notes: - -`^` No linters for text or Vim help filetypes are enabled by default. -`!!` These linters check only files on disk. See |ale-lint-file-linters| - -* Ada - * `gcc` - * `gnatpp` -* Ansible - * `ansible-lint` -* API Blueprint - * `drafter` -* AsciiDoc - * `alex`!! - * `proselint` - * `redpen` - * `textlint` - * `vale` - * `write-good` -* ASM - * `gcc` -* Awk - * `gawk` -* Bash - * `language-server` - * `shell` (-n flag) - * `shellcheck` - * `shfmt` -* Bats - * `shellcheck` -* BibTeX - * `bibclean` -* Bourne Shell - * `shell` (-n flag) - * `shellcheck` - * `shfmt` -* C - * `ccls` - * `clang` - * `clangd` - * `clang-format` - * `clangtidy`!! - * `cppcheck` - * `cpplint`!! - * `cquery` - * `flawfinder` - * `gcc` - * `uncrustify` -* C# - * `csc`!! - * `mcs` - * `mcsc`!! - * `uncrustify` -* C++ (filetype cpp) - * `ccls` - * `clang` - * `clangcheck`!! - * `clangd` - * `clang-format` - * `clangtidy`!! - * `clazy`!! - * `cppcheck` - * `cpplint`!! - * `cquery` - * `flawfinder` - * `gcc` - * `uncrustify` -* Chef - * `cookstyle` - * `foodcritic` -* Clojure - * `clj-kondo` - * `joker` -* CloudFormation - * `cfn-python-lint` -* CMake - * `cmake-format` - * `cmakelint` -* CoffeeScript - * `coffee` - * `coffeelint` -* Crystal - * `ameba`!! - * `crystal`!! -* CSS - * `csslint` - * `fecs` - * `prettier` - * `stylelint` -* Cucumber - * `cucumber` -* CUDA - * `nvcc`!! -* Cypher - * `cypher-lint` -* Cython (pyrex filetype) - * `cython` -* D - * `dfmt` - * `dls` - * `dmd` - * `uncrustify` -* Dafny - * `dafny`!! -* Dart - * `dartanalyzer`!! - * `dartfmt`!! - * `language_server` -* Dockerfile - * `dockerfile_lint` - * `hadolint` -* Elixir - * `credo` - * `dialyxir` - * `dogma` - * `elixir-ls` - * `mix`!! -* Elm - * `elm-format` - * `elm-ls` - * `elm-make` -* Erb - * `erb` - * `erubi` - * `erubis` - * `ruumba` -* Erlang - * `erlc` - * `SyntaxErl` -* Fish - * `fish` (-n flag) -* Fortran - * `gcc` - * `language_server` -* Fountain - * `proselint` -* FusionScript - * `fusion-lint` -* Git Commit Messages - * `gitlint` -* GLSL - * glslang - * `glslls` -* Go - * `bingo` - * `go build`!! - * `gofmt` - * `goimports` - * `golangci-lint`!! - * `golangserver` - * `golint` - * `gometalinter`!! - * `go mod`!! - * `gopls` - * `gosimple`!! - * `gotype`!! - * `go vet`!! - * `revive`!! - * `staticcheck`!! -* GraphQL - * `eslint` - * `gqlint` - * `prettier` -* Hack - * `hack` - * `hackfmt` - * `hhast` -* Haml - * `haml-lint` -* Handlebars - * `ember-template-lint` -* Haskell - * `brittany` - * `cabal-ghc` - * `floskell` - * `ghc` - * `ghc-mod` - * `hdevtools` - * `hfmt` - * `hie` - * `hindent` - * `hlint` - * `stack-build`!! - * `stack-ghc` - * `stylish-haskell` -* HCL - * `terraform-fmt` -* HTML - * `alex`!! - * `fecs` - * `html-beautify` - * `HTMLHint` - * `prettier` - * `proselint` - * `tidy` - * `write-good` -* Idris - * `idris` -* Ink - * `ink-language-server` -* ISPC - * `ispc`!! -* Java - * `checkstyle` - * `eclipselsp` - * `google-java-format` - * `javac` - * `javalsp` - * `PMD` - * `uncrustify` -* JavaScript - * `eslint` - * `fecs` - * `flow` - * `jscs` - * `jshint` - * `prettier` - * `prettier-eslint` - * `prettier-standard` - * `standard` - * `tsserver` - * `xo` -* JSON - * `fixjson` - * `jq` - * `jsonlint` - * `prettier` -* Julia - * `languageserver` -* Kotlin - * `kotlinc`!! - * `ktlint`!! - * `languageserver` -* LaTeX (tex) - * `alex`!! - * `chktex` - * `lacheck` - * `proselint` - * `redpen` - * `texlab` - * `textlint` - * `vale` - * `write-good` -* Less - * `lessc` - * `prettier` - * `stylelint` -* LLVM - * `llc` -* Lua - * `luac` - * `luacheck` -* Mail - * `alex`!! - * `languagetool`!! - * `proselint` - * `vale` -* Make - * `checkmake` -* Markdown - * `alex`!! - * `languagetool`!! - * `markdownlint`!! - * `mdl` - * `prettier` - * `proselint` - * `redpen` - * `remark-lint` - * `textlint` - * `vale` - * `write-good` -* MATLAB - * `mlint` -* Mercury - * `mmc`!! -* NASM - * `nasm`!! -* Nim - * `nim check`!! - * `nimlsp` - * `nimpretty` -* nix - * `nix-instantiate` - * `nixpkgs-fmt` -* nroff - * `alex`!! - * `proselint` - * `write-good` -* Objective-C - * `ccls` - * `clang` - * `clangd` - * `uncrustify` -* Objective-C++ - * `clang` - * `clangd` - * `uncrustify` -* OCaml - * `merlin` (see |ale-ocaml-merlin|) - * `ocamlformat` - * `ocp-indent` - * `ols` -* Pawn - * `uncrustify` -* Perl - * `perl -c` - * `perl-critic` - * `perltidy` -* Perl6 - * `perl6 -c` -* PHP - * `langserver` - * `phan` - * `phpcbf` - * `phpcs` - * `php-cs-fixer` - * `php -l` - * `phpmd` - * `phpstan` - * `psalm`!! -* PO - * `alex`!! - * `msgfmt` - * `proselint` - * `write-good` -* Pod - * `alex`!! - * `proselint` - * `write-good` -* Pony - * `ponyc` -* PowerShell - * `powershell` - * `psscriptanalyzer` -* Prolog - * `swipl` -* proto - * `protoc-gen-lint` -* Pug - * `pug-lint` -* Puppet - * `languageserver` - * `puppet` - * `puppet-lint` -* PureScript - * `purescript-language-server` - * `purty` -* Python - * `autopep8` - * `bandit` - * `black` - * `flake8` - * `isort` - * `mypy` - * `prospector` - * `pycodestyle` - * `pydocstyle` - * `pyflakes` - * `pylama`!! - * `pylint`!! - * `pyls` - * `pyre` - * `reorder-python-imports` - * `vulture`!! - * `yapf` -* QML - * `qmlfmt` - * `qmllint` -* R - * `lintr` - * `styler` -* Racket - * `raco` -* ReasonML - * `merlin` - * `ols` - * `reason-language-server` - * `refmt` -* reStructuredText - * `alex`!! - * `proselint` - * `redpen` - * `rstcheck` - * `textlint` - * `vale` - * `write-good` -* Re:VIEW - * `redpen` -* RPM spec - * `rpmlint` -* Ruby - * `brakeman` - * `debride` - * `rails_best_practices`!! - * `reek` - * `rubocop` - * `ruby` - * `rufo` - * `solargraph` - * `sorbet` - * `standardrb` -* Rust - * `cargo`!! - * `rls` - * `rust-analyzer` - * `rustc` (see |ale-integration-rust|) - * `rustfmt` -* Sass - * `sass-lint` - * `stylelint` -* Scala - * `fsc` - * `metals` - * `sbtserver` - * `scalac` - * `scalafmt` - * `scalastyle` -* SCSS - * `prettier` - * `sass-lint` - * `scss-lint` - * `stylelint` -* Slim - * `slim-lint` -* SML - * `smlnj` -* Solidity - * `solc` - * `solhint` - * `solium` -* SQL - * `pgformatter` - * `sqlfmt` - * `sqlformat` - * `sqlint` -* Stylus - * `stylelint` -* SugarSS - * `stylelint` -* Swift - * `sourcekit-lsp` - * `swiftformat` - * `swiftlint` -* Tcl - * `nagelfar`!! -* Terraform - * `fmt` - * `tflint` -* Texinfo - * `alex`!! - * `proselint` - * `write-good` -* Text^ - * `alex`!! - * `languagetool`!! - * `proselint` - * `redpen` - * `textlint` - * `vale` - * `write-good` -* Thrift - * `thrift` -* TypeScript - * `eslint` - * `fecs` - * `prettier` - * `standard` - * `tslint` - * `tsserver` - * `typecheck` -* VALA - * `uncrustify` -* Verilog - * `iverilog` - * `verilator` - * `vlog` - * `xvlog` -* VHDL - * `ghdl` - * `vcom` - * `xvhdl` -* Vim - * `vimls` - * `vint` -* Vim help^ - * `alex`!! - * `proselint` - * `write-good` -* Vue - * `prettier` - * `vls` -* XHTML - * `alex`!! - * `proselint` - * `write-good` -* XML - * `xmllint` -* YAML - * `prettier` - * `swaglint` - * `yamllint` -* YANG - * `yang-lsp` diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-swift.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-swift.txt deleted file mode 100644 index 8fa0c06..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-swift.txt +++ /dev/null @@ -1,21 +0,0 @@ -=============================================================================== -ALE Swift Integration *ale-swift-options* - - -=============================================================================== -sourcekitlsp *ale-swift-sourcekitlsp* - -To enable the SourceKit-LSP you need to install and build the executable as -described here: https://github.com/apple/sourcekit-lsp#building-sourcekit-lsp - - -g:ale_sourcekit_lsp_executable *g:ale_sourcekit_lsp_executable* - *b:ale_sourcekit_lsp_executable* - Type: |String| - Default: `'sourcekit-lsp'` - - See |ale-integrations-local-executables| - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: - diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-tcl.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-tcl.txt deleted file mode 100644 index 497c9fd..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-tcl.txt +++ /dev/null @@ -1,25 +0,0 @@ -=============================================================================== -ALE Tcl Integration *ale-tcl-options* - - -=============================================================================== -nagelfar *ale-tcl-nagelfar* - -g:ale_tcl_nagelfar_executable *g:ale_tcl_nagelfar_executable* - *b:ale_tcl_nagelfar_executable* - Type: |String| - Default: `'nagelfar.tcl'` - - This variable can be changed to change the path to nagelfar. - - -g:ale_tcl_nagelfar_options *g:ale_tcl_nagelfar_options* - *b:ale_tcl_nagelfar_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to nagelfar. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-terraform.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-terraform.txt deleted file mode 100644 index f62db19..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-terraform.txt +++ /dev/null @@ -1,78 +0,0 @@ -=============================================================================== -ALE Terraform Integration *ale-terraform-options* - - -=============================================================================== -terraform-fmt-fixer *ale-terraform-fmt-fixer* - -g:ale_terraform_fmt_executable *g:ale_terraform_fmt_executable* - *b:ale_terraform_fmt_executable* - - Type: |String| - Default: `'terraform'` - - This variable can be changed to use a different executable for terraform. - - -g:ale_terraform_fmt_options *g:ale_terraform_fmt_options* - *b:ale_terraform_fmt_options* - Type: |String| - Default: `''` - - -=============================================================================== -terraform *ale-terraform-terraform* - -g:ale_terraform_terraform_executable *g:ale_terraform_terraform_executable* - *b:ale_terraform_terraform_executable* - - Type: |String| - Default: `'terraform'` - - This variable can be changed to use a different executable for terraform. - - -=============================================================================== -terraform-lsp *ale-terraform-terraform-lsp* - -g:ale_terraform_langserver_executable *g:ale_terraform_langserver_executable* - *b:ale_terraform_langserver_executable* - Type: |String| - Default: `'terraform-lsp'` - - This variable can be changed to use a different executable for terraform-lsp. - - -g:ale_terraform_langserver_options *g:ale_terraform_langserver_options* - *b:ale_terraform_langserver_options* - Type: |String| - Default: `''` - - This variable can be changed to pass custom CLI flags to terraform-lsp. - - -=============================================================================== -tflint *ale-terraform-tflint* - -g:ale_terraform_tflint_executable *g:ale_terraform_tflint_executable* - *b:ale_terraform_tflint_executable* - - Type: |String| - Default: `'tflint'` - - This variable can be changed to use a different executable for tflint. - - -g:ale_terraform_tflint_options *g:ale_terraform_tflint_options* - *b:ale_terraform_tflint_options* - Type: |String| - Default: `'-f json'` - - This variable can be changed to pass different options to tflint. Ale does - expect json output from tflint, so if you change this, you'll probably want - to include '-f json' in your new value. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: - diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-tex.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-tex.txt deleted file mode 100644 index ceb9fa8..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-tex.txt +++ /dev/null @@ -1,77 +0,0 @@ -=============================================================================== -ALE TeX Integration *ale-tex-options* - - -=============================================================================== -chktex *ale-tex-chktex* - -g:ale_tex_chktex_executable *g:ale_tex_chktex_executable* - *b:ale_tex_chktex_executable* - Type: |String| - Default: `'chktex'` - - This variable can be changed to change the path to chktex. - - -g:ale_tex_chktex_options *g:ale_tex_chktex_options* - *b:ale_tex_chktex_options* - Type: |String| - Default: `'-I'` - - This variable can be changed to modify flags given to chktex. - - ------------------------------------------------------------------------------- -lacheck *ale-tex-lacheck* - -g:ale_lacheck_executable *g:ale_lacheck_executable* - *b:ale_lacheck_executable* - Type: |String| - Default: '`lacheck`' - - This variable can be changed to change the path to lacheck. - - - -=============================================================================== -latexindent *ale-tex-latexindent* - -g:ale_tex_latexindent_executable *g:ale_tex_latexindent_executable* - *b:ale_tex_latexindent_executable* - Type: |String| - Default: `'latexindent'` - - This variable can be changed to change the path to latexindent. - - -g:ale_tex_latexindent_options *g:ale_tex_latexindent_options* - *b:ale_tex_latexindent_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to latexindent. - - - -=============================================================================== -texlab *ale-tex-texlab* - -g:ale_tex_texlab_executable *g:ale_tex_texlab_executable* - *b:ale_tex_texlab_executable* - Type: |String| - Default: `'texlab'` - - This variable can be changed to change the path to texlab. - - -g:ale_tex_texlab_options *g:ale_tex_texlab_options* - *b:ale_tex_texlab_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to texlab. - - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-texinfo.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-texinfo.txt deleted file mode 100644 index f8ed342..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-texinfo.txt +++ /dev/null @@ -1,12 +0,0 @@ -=============================================================================== -ALE Texinfo Integration *ale-texinfo-options* - - -=============================================================================== -write-good *ale-texinfo-write-good* - -See |ale-write-good-options| - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-text.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-text.txt deleted file mode 100644 index 913d7e6..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-text.txt +++ /dev/null @@ -1,42 +0,0 @@ -=============================================================================== -ALE Text Integration *ale-text-options* - - -=============================================================================== -textlint *ale-text-textlint* - -The options for the textlint linter are global because it does not make -sense to have them specified on a per-language basis. - -g:ale_textlint_executable *g:ale_textlint_executable* - *b:ale_textlint_executable* - Type: |String| - Default: `'textlint'` - - See |ale-integrations-local-executables| - - -g:ale_textlint_options *g:ale_textlint_options* - *b:ale_textlint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to textlint. - - -g:ale_textlint_use_global *g:ale_textlint_use_global* - *b:ale_textlint_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -write-good *ale-text-write-good* - -See |ale-write-good-options| - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-thrift.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-thrift.txt deleted file mode 100644 index bb2ec05..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-thrift.txt +++ /dev/null @@ -1,46 +0,0 @@ -=============================================================================== -ALE Thrift Integration *ale-thrift-options* - - -=============================================================================== -thrift *ale-thrift-thrift* - -The `thrift` linter works by compiling the buffer's contents and reporting any -errors reported by the parser and the configured code generator(s). - -g:ale_thrift_thrift_executable *g:ale_thrift_thrift_executable* - *b:ale_thrift_thrift_executable* - Type: |String| - Default: `'thrift'` - - See |ale-integrations-local-executables| - - -g:ale_thrift_thrift_generators *g:ale_thrift_thrift_generators* - *b:ale_thrift_thrift_generators* - Type: |List| of |String|s - Default: `['cpp']` - - This list must contain one or more named code generators. Generator options - can be included as part of each string, e.g. `['py:dynamic']`. - - -g:ale_thrift_thrift_includes *g:ale_thrift_thrift_includes* - *b:ale_thrift_thrift_includes* - Type: |List| of |String|s - Default: `['.']` - - This list contains paths that will be searched for thrift `include` - directives. - - -g:ale_thrift_thrift_options *g:ale_thrift_thrift_options* - *b:ale_thrift_thrift_options* - Type: |String| - Default: `'-strict'` - - This variable can be changed to customize the additional command-line - arguments that are passed to the thrift compiler. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-typescript.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-typescript.txt deleted file mode 100644 index 2c50d11..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-typescript.txt +++ /dev/null @@ -1,142 +0,0 @@ -=============================================================================== -ALE TypeScript Integration *ale-typescript-options* - - -=============================================================================== -eslint *ale-typescript-eslint* - -Because of how TypeScript compiles code to JavaScript and how interrelated -the two languages are, the `eslint` linter for TypeScript uses the JavaScript -options for `eslint` too. See: |ale-javascript-eslint|. - - -=============================================================================== -prettier *ale-typescript-prettier* - -See |ale-javascript-prettier| for information about the available options. - - -=============================================================================== -standard *ale-typescript-standard* - -g:ale_typescript_standard_executable *g:ale_typescript_standard_executable* - *b:ale_typescript_standard_executable* - Type: |String| - Default: `'standard'` - - See |ale-integrations-local-executables| - - -g:ale_typescript_standard_options *g:ale_typescript_standard_options* - *b:ale_typescript_standard_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to standard. - - -g:ale_typescript_standard_use_global *g:ale_typescript_standard_use_global* - *b:ale_typescript_standard_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -tslint *ale-typescript-tslint* - -This linter isn't recommended, because TSLint can't be used for checking for -problems while you type. You should probably use the tsserver plugin instead. -tsserver plugins are described here: -https://github.com/Microsoft/TypeScript/wiki/Writing-a-Language-Service-Plugin - -Follow the instructions on the plugin website for installing it: -https://github.com/Microsoft/typescript-tslint-plugin - -Then disable TSLint in vimrc or any other Vim configuration file. > - let g:ale_linters_ignore = {'typescript': ['tslint']} -< - -g:ale_typescript_tslint_executable *g:ale_typescript_tslint_executable* - *b:ale_typescript_tslint_executable* - Type: |String| - Default: `'tslint'` - - See |ale-integrations-local-executables| - - -g:ale_typescript_tslint_config_path *g:ale_typescript_tslint_config_path* - *b:ale_typescript_tslint_config_path* - Type: |String| - Default: `''` - - ALE will first discover the tslint.json path in an ancestor directory. If no - such path exists, this variable will be used instead. - - -g:ale_typescript_tslint_ignore_empty_files - *g:ale_typescript_tslint_ignore_empty_files* - *b:ale_typescript_tslint_ignore_empty_files* - Type: |Number| - Default: `0` - - When set to `1`, ALE will not report any problems for empty files with - TSLint. ALE will still execute TSLint for the files, but ignore any problems - reported. This stops ALE from complaining about newly created files, - and files where lines have been added and then removed. - - -g:ale_typescript_tslint_rules_dir *g:ale_typescript_tslint_rules_dir* - *b:ale_typescript_tslint_rules_dir* - Type: |String| - Default: `''` - - If this variable is set, ALE will use it as the rules directory for tslint. - - -g:ale_typescript_tslint_use_global *g:ale_typescript_tslint_use_global* - *b:ale_typescript_tslint_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -tsserver *ale-typescript-tsserver* - -g:ale_typescript_tsserver_executable *g:ale_typescript_tsserver_executable* - *b:ale_typescript_tsserver_executable* - Type: |String| - Default: `'tsserver'` - - ALE will first discover the tsserver path in an ancestor node_modules - directory. If no such path exists, this variable will be used instead. - - If you wish to use only a globally installed version of tsserver, set - |g:ale_typescript_tsserver_use_global| to `1`. - - -g:ale_typescript_tsserver_config_path *g:ale_typescript_tsserver_config_path* - *b:ale_typescript_tsserver_config_path* - Type: |String| - Default: `''` - - ALE will first discover the tsserver.json path in an ancestor directory. If - no such path exists, this variable will be used instead. - - -g:ale_typescript_tsserver_use_global *g:ale_typescript_tsserver_use_global* - *b:ale_typescript_tsserver_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - This variable controls whether or not ALE will search for a local path for - tsserver first. If this variable is set to `1`, then ALE will always use the - global version of tsserver, in preference to locally installed versions of - tsserver in node_modules. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-vala.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-vala.txt deleted file mode 100644 index ca24bcf..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-vala.txt +++ /dev/null @@ -1,12 +0,0 @@ -=============================================================================== -ALE VALA Integration *ale-vala-options* - - -=============================================================================== -uncrustify *ale-vala-uncrustify* - -See |ale-c-uncrustify| for information about the available options. - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-verilog.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-verilog.txt deleted file mode 100644 index 94b820b..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-verilog.txt +++ /dev/null @@ -1,102 +0,0 @@ -=============================================================================== -ALE Verilog/SystemVerilog Integration *ale-verilog-options* - - -=============================================================================== -ALE can use four different linters for Verilog HDL: - - iverilog: - Using `iverilog -t null -Wall` - - verilator - Using `verilator --lint-only -Wall` - - ModelSim/Questa - Using `vlog -quiet -lint` - - Vivado - Using `xvlog` - -By default, both 'verilog' and 'systemverilog' filetypes are checked. - -You can limit 'systemverilog' files to be checked using only 'verilator' by -defining 'g:ale_linters' variable: -> - au FileType systemverilog - \ let g:ale_linters = {'systemverilog' : ['verilator'],} -< - -Linters/compilers that utilize a "work" directory for analyzing designs- such -as ModelSim and Vivado- can be passed the location of these directories as -part of their respective option strings listed below. This is useful for -holistic analysis of a file (e.g. a design with components, packages, or other -code defined external to the current file as part of a larger project) or -when wanting to simply pass an alternative location for the auto-generated -work directories (such as '/tmp') so as to not muddle the current directory. -Since these type of linters often use this work directory for holding compiled -design data as part of a single build process, they sometimes cannot handle -the frequent, asynchronous application launches when linting while text is -changing. This can happen in the form of hangs or crashes. To help prevent -this when using these linters, it may help to run linting less frequently; for -example, only when a file is saved. - -=============================================================================== -iverilog *ale-verilog-iverilog* - - No additional options - - -=============================================================================== -verilator *ale-verilog-verilator* - -g:ale_verilog_verilator_options *g:ale_verilog_verilator_options* - *b:ale_verilog_verilator_options* - Type: |String| - Default: `''` - - This variable can be changed to modify 'verilator' command arguments - - For example `'-sv --default-language "1800-2012"'` if you want to enable - SystemVerilog parsing and select the 2012 version of the language. - - -=============================================================================== -vlog *ale-verilog-vlog* - -g:ale_verilog_vlog_executable *g:ale_verilog_vlog_executable* - *b:ale_verilog_vlog_executable* - Type: |String| - Default: `'vlog'` - - This variable can be changed to the path to the 'vlog' executable. - - -g:ale_verilog_vlog_options *g:ale_verilog_vlog_options* - *b:ale_verilog_vlog_options* - Type: |String| - Default: `'-quiet -lint'` - - This variable can be changed to modify the flags/options passed to 'vlog'. - - -=============================================================================== -xvlog *ale-verilog-xvlog* - -g:ale_verilog_xvlog_executable *g:ale_verilog_xvlog_executable* - *b:ale_verilog_xvlog_executable* - Type: |String| - Default: `'xvlog'` - - This variable can be changed to the path to the 'xvlog' executable. - - -g:ale_verilog_xvlog_options *g:ale_verilog_xvlog_options* - *b:ale_verilog_xvlog_options* - Type: |String| - Default: `''` - - This variable can be changed to modify the flags/options passed to 'xvlog'. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-vhdl.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-vhdl.txt deleted file mode 100644 index 3fea947..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-vhdl.txt +++ /dev/null @@ -1,92 +0,0 @@ -=============================================================================== -ALE VHDL Integration *ale-vhdl-options* - - -=============================================================================== -ALE can use three different linters for VHDL: - - iverilog: - Using `iverilog -t null -Wall` - - ModelSim/Questa - Using `vcom -2008 -quiet -lint` - - Vivado - Using `xvhdl --2008` - -Note all linters default to VHDL-2008 support. This, and other options, can be -changed with each linter's respective option variable. - -Linters/compilers that utilize a "work" directory for analyzing designs- such -as ModelSim and Vivado- can be passed the location of these directories as -part of their respective option strings listed below. This is useful for -holistic analysis of a file (e.g. a design with components, packages, or other -code defined external to the current file as part of a larger project) or -when wanting to simply pass an alternative location for the auto-generated -work directories (such as '/tmp') so as to not muddle the current directory. -Since these type of linters often use this work directory for holding compiled -design data as part of a single build process, they sometimes cannot handle -the frequent, asynchronous application launches when linting while text is -changing. This can happen in the form of hangs or crashes. To help prevent -this when using these linters, it may help to run linting less frequently; for -example, only when a file is saved. - -=============================================================================== -ghdl *ale-vhdl-ghdl* - -g:ale_vhdl_ghdl_executable *g:ale_vhdl_ghdl_executable* - *b:ale_vhdl_ghdl_executable* - Type: |String| - Default: `'ghdl'` - - This variable can be changed to the path to the 'ghdl' executable. - - -g:ale_vhdl_ghdl_options *g:ale_vhdl_ghdl_options* - *b:ale_vhdl_ghdl_options* - Type: |String| - Default: `'--std=08'` - - This variable can be changed to modify the flags/options passed to 'ghdl'. - - -=============================================================================== -vcom *ale-vhdl-vcom* - -g:ale_vhdl_vcom_executable *g:ale_vhdl_vcom_executable* - *b:ale_vhdl_vcom_executable* - Type: |String| - Default: `'vcom'` - - This variable can be changed to the path to the 'vcom' executable. - - -g:ale_vhdl_vcom_options *g:ale_vhdl_vcom_options* - *b:ale_vhdl_vcom_options* - Type: |String| - Default: `'-2008 -quiet -lint'` - - This variable can be changed to modify the flags/options passed to 'vcom'. - - -=============================================================================== -xvhdl *ale-vhdl-xvhdl* - -g:ale_vhdl_xvhdl_executable *g:ale_vhdl_xvhdl_executable* - *b:ale_vhdl_xvhdl_executable* - Type: |String| - Default: `'xvhdl'` - - This variable can be changed to the path to the 'xvhdl' executable. - - -g:ale_vhdl_xvhdl_options *g:ale_vhdl_xvhdl_options* - *b:ale_vhdl_xvhdl_options* - Type: |String| - Default: `'--2008'` - - This variable can be changed to modify the flags/options passed to 'xvhdl'. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-vim-help.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-vim-help.txt deleted file mode 100644 index 3cbe20d..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-vim-help.txt +++ /dev/null @@ -1,12 +0,0 @@ -=============================================================================== -ALE Vim help Integration *ale-vim-help-options* - - -=============================================================================== -write-good *ale-vim-help-write-good* - -See |ale-write-good-options| - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-vim.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-vim.txt deleted file mode 100644 index f85b43e..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-vim.txt +++ /dev/null @@ -1,82 +0,0 @@ -=============================================================================== -ALE Vim Integration *ale-vim-options* - - -=============================================================================== -vimls *ale-vim-vimls* - - The `vim-language-server` is the engine that powers VimL editor support - using the Language Server Protocol. See the installation instructions: - https://github.com/iamcco/vim-language-server#install - -g:ale_vim_vimls_executable *g:ale_vim_vimls_executable* - *b:ale_vim_vimls_executable* - Type: |String| - Default: `'vim-language-server'` - - This option can be set to change the executable path for vimls. - - -g:ale_vim_vimls_config *g:ale_vim_vimls_config* - *b:ale_vim_vimls_config* - Type: |Dictionary| - Default: `{}` - - Dictionary containing configuration settings that will be passed to the - language server. For example: > - { - \ 'vim': { - \ 'iskeyword': '@,48-57,_,192-255,-#', - \ 'vimruntime': '', - \ 'runtimepath': '', - \ 'diagnostic': { - \ 'enable': v:true - \ }, - \ 'indexes': { - \ 'runtimepath': v:true, - \ 'gap': 100, - \ 'count': 3, - \ 'projectRootPatterns' : ['.git', 'autoload', 'plugin'] - \ }, - \ 'suggest': { - \ 'fromVimruntime': v:true, - \ 'fromRuntimepath': v:false - \ }, - \ } - \} -< - Consult the vim-language-server documentation for more information about - settings. - - -g:ale_vim_vimls_use_global *g:ale_vim_vimls_use_global* - *b:ale_vim_vimls_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -vint *ale-vim-vint* - -g:ale_vim_vint_executable *g:ale_vim_vint_executable* - *b:ale_vim_vint_executable* - Type: |String| - Default: `'vint'` - - This option can be set to change the executable path for Vint. - - -g:ale_vim_vint_show_style_issues *g:ale_vim_vint_show_style_issues* - *b:ale_vim_vint_show_style_issues* - Type: |Number| - Default: `1` - - This variable will enable/disable style issues for Vint. When this option - is disabled, only warnings and errors which are not purely style issues - will be reported. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-vue.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-vue.txt deleted file mode 100644 index a2c2786..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-vue.txt +++ /dev/null @@ -1,31 +0,0 @@ -=============================================================================== -ALE Vue Integration *ale-vue-options* - - -=============================================================================== -prettier *ale-vue-prettier* - -See |ale-javascript-prettier| for information about the available options. - - -=============================================================================== -vls *ale-vue-vls* - -g:ale_vue_vls_executable *g:ale_vue_vls_executable* - *b:ale_vue_vls_executable* - Type: |String| - Default: `'vls'` - - See |ale-integrations-local-executables| - - -g:ale_vue_vls_use_global *g:ale_vue_vls_use_global* - *b:ale_vue_vls_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-xhtml.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-xhtml.txt deleted file mode 100644 index 3cc639e..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-xhtml.txt +++ /dev/null @@ -1,12 +0,0 @@ -=============================================================================== -ALE XHTML Integration *ale-xhtml-options* - - -=============================================================================== -write-good *ale-xhtml-write-good* - -See |ale-write-good-options| - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-xml.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-xml.txt deleted file mode 100644 index e43fdef..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-xml.txt +++ /dev/null @@ -1,34 +0,0 @@ -=============================================================================== -ALE XML Integration *ale-xml-options* - - -=============================================================================== -xmllint *ale-xml-xmllint* - -g:ale_xml_xmllint_executable *g:ale_xml_xmllint_executable* - *b:ale_xml_xmllint_executable* - Type: |String| - Default: `'xmllint'` - - This variable can be set to change the path to xmllint. - - -g:ale_xml_xmllint_options *g:ale_xml_xmllint_options* - *b:ale_xml_xmllint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to xmllint. - - -g:ale_xml_xmllint_indentsize *g:ale_xml_xmllint_indentsize* - *b:ale_xml_xmllint_indentsize* - Type: |Number| - Default: 2 - - This variable can be sent to specify the amount of spaces used for - indentation. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: - diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-yaml.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-yaml.txt deleted file mode 100644 index c9a12ea..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-yaml.txt +++ /dev/null @@ -1,92 +0,0 @@ -=============================================================================== -ALE YAML Integration *ale-yaml-options* - -=============================================================================== -prettier *ale-yaml-prettier* - -Website: https://github.com/prettier/prettier - - -Installation -------------------------------------------------------------------------------- - -Install prettier either globally or locally: > - - npm install prettier -g # global - npm install prettier # local -< - -=============================================================================== -swaglint *ale-yaml-swaglint* - -Website: https://github.com/byCedric/swaglint - - -Installation -------------------------------------------------------------------------------- - -Install swaglint either globally or locally: > - - npm install swaglint -g # global - npm install swaglint # local -< - -Options -------------------------------------------------------------------------------- - -g:ale_yaml_swaglint_executable *g:ale_yaml_swaglint_executable* - *b:ale_yaml_swaglint_executable* - Type: |String| - Default: `'swaglint'` - - This variable can be set to change the path to swaglint. - - -g:ale_yaml_swaglint_use_global *g:ale_yaml_swaglint_use_global* - *b:ale_yaml_swaglint_use_global* - Type: |String| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -yamllint *ale-yaml-yamllint* - -Website: https://github.com/adrienverge/yamllint - - -Installation -------------------------------------------------------------------------------- - -Install yamllint in your a virtualenv directory, locally, or globally: > - - pip install yamllint # After activating virtualenv - pip install --user yamllint # Install to ~/.local/bin - sudo pip install yamllint # Install globally - -See |g:ale_virtualenv_dir_names| for configuring how ALE searches for -virtualenv directories. - - -Options -------------------------------------------------------------------------------- - -g:ale_yaml_yamllint_executable *g:ale_yaml_yamllint_executable* - *b:ale_yaml_yamllint_executable* - Type: |String| - Default: `'yamllint'` - - This variable can be set to change the path to yamllint. - - -g:ale_yaml_yamllint_options *g:ale_yaml_yamllint_options* - *b:ale_yaml_yamllint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to yamllint. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-yang.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale-yang.txt deleted file mode 100644 index ad61973..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale-yang.txt +++ /dev/null @@ -1,17 +0,0 @@ -=============================================================================== -ALE YANG Integration *ale-yang-options* - - -=============================================================================== -yang-lsp *ale-yang-lsp* - -g:ale_yang_lsp_executable *g:ale_yang_lsp_executable* - *b:ale_yang_lsp_executable* - Type: |String| - Default: `'yang-language-server'` - - This variable can be changed to use a different executable for yang-lsp. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/ale.txt b/vim/.vim_runtime/sources_non_forked/ale/doc/ale.txt deleted file mode 100644 index 724da57..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/ale.txt +++ /dev/null @@ -1,3750 +0,0 @@ -*ale.txt* Plugin to lint and fix files asynchronously -*ale* - -ALE - Asynchronous Lint Engine - -=============================================================================== -CONTENTS *ale-contents* - - 1. Introduction.........................|ale-introduction| - 2. Supported Languages & Tools..........|ale-support| - 3. Linting..............................|ale-lint| - 3.1 Adding Language Servers...........|ale-lint-language-servers| - 3.2 Other Sources.....................|ale-lint-other-sources| - 4. Fixing Problems......................|ale-fix| - 5. Language Server Protocol Support.....|ale-lsp| - 5.1 Completion........................|ale-completion| - 5.2 Go To Definition..................|ale-go-to-definition| - 5.3 Go To Type Definition.............|ale-go-to-type-definition| - 5.4 Find References...................|ale-find-references| - 5.5 Hovering..........................|ale-hover| - 5.6 Symbol Search.....................|ale-symbol-search| - 6. Global Options.......................|ale-options| - 6.1 Highlights........................|ale-highlights| - 7. Linter/Fixer Options.................|ale-integration-options| - 7.1 Options for alex..................|ale-alex-options| - 7.2 Options for languagetool..........|ale-languagetool-options| - 7.3 Options for write-good............|ale-write-good-options| - 7.4 Other Linter/Fixer Options........|ale-other-integration-options| - 8. Commands/Keybinds....................|ale-commands| - 9. API..................................|ale-api| - 10. Special Thanks......................|ale-special-thanks| - 11. Contact.............................|ale-contact| - -=============================================================================== -1. Introduction *ale-introduction* - -ALE provides the means to run linters asynchronously in Vim in a variety of -languages and tools. ALE sends the contents of buffers to linter programs -using the |job-control| features available in Vim 8 and NeoVim. For Vim 8, -Vim must be compiled with the |job| and |channel| and |timers| features -as a minimum. - -ALE supports the following key features for linting: - -1. Running linters when text is changed. -2. Running linters when files are opened. -3. Running linters when files are saved. (When a global flag is set.) -4. Populating the |loclist| with warning and errors. -5. Setting |signs| with warnings and errors for error markers. -6. Using |echo| to show error messages when the cursor moves. -7. Setting syntax highlights for errors. - -ALE can fix problems with files with the |ALEFix| command, using the same job -control functionality used for checking for problems. Try using the -|ALEFixSuggest| command for browsing tools that can be used to fix problems -for the current buffer. - -If you are interested in contributing to the development of ALE, read the -developer documentation. See |ale-development| - -=============================================================================== -2. Supported Languages & Tools *ale-support* - -ALE supports a wide variety of languages and tools. See |ale-supported-list| -for the full list. - -=============================================================================== -3. Linting *ale-lint* - -ALE's primary focus is on checking for problems with your code with various -programs via some Vim code for integrating with those programs, referred to -as 'linters.' ALE supports a wide array of programs for linting by default, -but additional programs can be added easily by defining files in |runtimepath| -with the filename pattern `ale_linters//.vim`. For more -information on defining new linters, see the extensive documentation -for |ale#linter#Define()|. - -Without any configuration, ALE will attempt to check all of the code for every -file you open in Vim with all available tools by default. To see what ALE -is doing, and what options have been set, try using the |:ALEInfo| command. - -Most of the linters ALE runs will check the Vim buffer you are editing instead -of the file on disk. This allows you to check your code for errors before you -have even saved your changes. ALE will check your code in the following -circumstances, which can be configured with the associated options. - -* When you modify a buffer. - |g:ale_lint_on_text_changed| -* On leaving insert mode. - |g:ale_lint_on_insert_leave| -* When you open a new or modified buffer. - |g:ale_lint_on_enter| -* When you save a buffer. - |g:ale_lint_on_save| -* When the filetype changes for a buffer. - |g:ale_lint_on_filetype_changed| -* If ALE is used to check code manually. - |:ALELint| - - *ale-lint-settings-on-startup* - -It is worth reading the documentation for every option. You should configure -which events ALE will use before ALE is loaded, so it can optimize which -autocmd commands to run. You can force autocmd commands to be reloaded with -`:ALEDisable | ALEEnable` - -This also applies to the autocmd commands used for |g:ale_echo_cursor|. - - *ale-lint-file-linters* - -Some programs must be run against files which have been saved to disk, and -simply do not support reading temporary files or stdin, either of which are -required for ALE to be able to check for errors as you type. The programs -which behave this way are documented in the lists and tables of supported -programs. ALE will only lint files with these programs in the following -circumstances. - -* When you open a new or modified buffer. - |g:ale_lint_on_enter| -* When you save a buffer. - |g:ale_lint_on_save| -* When the filetype changes for a buffer. - |g:ale_lint_on_filetype_changed| -* If ALE is used to check code manually. - |:ALELint| - -ALE will report problems with your code in the following ways, listed with -their relevant options. - -* By updating loclist. (On by default) - |g:ale_set_loclist| -* By updating quickfix. (Off by default) - |g:ale_set_quickfix| -* By setting error highlights. - |g:ale_set_highlights| -* By creating signs in the sign column. - |g:ale_set_signs| -* By echoing messages based on your cursor. - |g:ale_echo_cursor| -* By inline text based on your cursor. - |g:ale_virtualtext_cursor| -* By displaying the preview based on your cursor. - |g:ale_cursor_detail| -* By showing balloons for your mouse cursor - |g:ale_set_balloons| - -Please consult the documentation for each option, which can reveal some other -ways of tweaking the behaviour of each way of displaying problems. You can -disable or enable whichever options you prefer. - -Most settings can be configured for each buffer. (|b:| instead of |g:|), -including disabling ALE for certain buffers with |b:ale_enabled|. The -|g:ale_pattern_options| setting can be used to configure files differently -based on regular expressions for filenames. For configuring entire projects, -the buffer-local options can be used with external plugins for reading Vim -project configuration files. Buffer-local settings can also be used in -ftplugin files for different filetypes. - -ALE offers several options for controlling which linters are run. - -* Selecting linters to run. - |g:ale_linters| -* Aliasing filetypes for linters - |g:ale_linter_aliases| -* Only running linters you asked for. - |g:ale_linters_explicit| -* Disabling only a subset of linters. - |g:ale_linters_ignore| -* Disabling LSP linters and `tsserver`. - |g:ale_disable_lsp| - - -------------------------------------------------------------------------------- -3.1 Adding Language Servers *ale-lint-language-servers* - -ALE comes with many default configurations for language servers, so they can -be detected and run automatically. ALE can connect to other language servers -by defining a new linter for a filetype. New linters can be defined in |vimrc|, -in plugin files, or `ale_linters` directories in |runtimepath|. - -See |ale-linter-loading-behavior| for more information on loading linters. - -A minimal configuration for a language server linter might look so. > - - call ale#linter#Define('filetype_here', { - \ 'name': 'any_name_you_want', - \ 'lsp': 'stdio', - \ 'executable': '/path/to/executable', - \ 'command': '%e run', - \ 'project_root': '/path/to/root_of_project', - \}) -< -For language servers that use a TCP socket connection, you should define the -address to connect to instead. > - - call ale#linter#Define('filetype_here', { - \ 'name': 'any_name_you_want', - \ 'lsp': 'socket', - \ 'address': 'servername:1234', - \ 'project_root': '/path/to/root_of_project', - \}) -< - Most of the options for a language server can be replaced with a |Funcref| - for a function accepting a buffer number for dynamically computing values - such as the executable path, the project path, the server address, etc, - most of which can also be determined based on executing some other - asynchronous task. See |ale#command#Run()| for computing linter options - based on asynchronous results. - - See |ale#linter#Define()| for a detailed explanation of all of the options - for configuring linters. - - -------------------------------------------------------------------------------- -3.2 Other Sources *ale-lint-other-sources* - -Problems for a buffer can be taken from other sources and rendered by ALE. -This allows ALE to be used in combination with other plugins which also want -to display any problems they might find with a buffer. ALE's API includes the -following components for making this possible. - -* |ale#other_source#StartChecking()| - Tell ALE that a buffer is being checked. -* |ale#other_source#ShowResults()| - Show results from another source. -* |ALEWantResults| - A signal for when ALE wants results. - -Other resources can provide results for ALE to display at any time, following -ALE's loclist format. (See |ale-loclist-format|) For example: > - - " Tell ALE to show some results. - " This function can be called at any time. - call ale#other_source#ShowResults(bufnr(''), 'some-linter-name', [ - \ {'text': 'Something went wrong', 'lnum': 13}, - \]) -< - -Other sources should use a unique name for identifying themselves. A single -linter name can be used for all problems from another source, or a series of -unique linter names can be used. Results can be cleared for that source by -providing an empty List. - -|ale#other_source#StartChecking()| should be called whenever another source -starts checking a buffer, so other tools can know that a buffer is being -checked by some plugin. The |ALEWantResults| autocmd event can be used to -start checking a buffer for problems every time that ALE does. When -|ALEWantResults| is signaled, |g:ale_want_results_buffer| will be set to the -number of the buffer that ALE wants to check. -|ale#other_source#StartChecking()| should be called synchronously, and other -sources should perform their checks on a buffer in the background -asynchronously, so they don't interrupt editing. - -A plugin might integrate its own checks with ALE like so: > - - augroup SomeGroupName - autocmd! - autocmd User ALEWantResults call Hook(g:ale_want_results_buffer) - augroup END - - function! DoBackgroundWork(buffer) abort - " Start some work in the background here. - " ... - " Then call WorkDone(a:buffer, results) - endfunction - - function! Hook(buffer) abort - " Tell ALE we're going to check this buffer. - call ale#other_source#StartChecking(a:buffer, 'some-name') - call DoBackgroundWork(a:buffer) - endfunction - - function! WorkDone(buffer, results) abort - " Send results to ALE after they have been collected. - call ale#other_source#ShowResults(buffer, 'some-name', a:results) - endfunction -< - -=============================================================================== -4. Fixing Problems *ale-fix* - -ALE can fix problems with files with the |ALEFix| command. |ALEFix| -accepts names of fixers to be applied as arguments. Alternatively, -when no arguments are provided, the variable |g:ale_fixers| will be -read for getting a |List| of commands for filetypes, split on `.`, and -the functions named in |g:ale_fixers| will be executed for fixing the -errors. - -The |ALEFixSuggest| command can be used to suggest tools that be used to -fix problems for the current buffer. - -The values for `g:ale_fixers` can be a list of |String|, |Funcref|, or -|lambda| values. String values must either name a function, or a short name -for a function set in the ALE fixer registry. - -Each function for fixing errors must accept either one argument `(buffer)` or -two arguments `(buffer, lines)`, representing the buffer being fixed and the -lines to fix. The functions must return either `0`, for changing nothing, a -|List| for new lines to set, a |Dictionary| for describing a command to be -run in the background, or the result of |ale#command#Run()|. - -Functions receiving a variable number of arguments will not receive the second -argument `lines`. Functions should name two arguments if the `lines` argument -is desired. This is required to avoid unnecessary copying of the lines of -the buffers being checked. - -When a |Dictionary| is returned for an |ALEFix| callback, the following keys -are supported for running the commands. - - `command` A |String| for the command to run. This key is required. - - When `%t` is included in a command string, a temporary - file will be created, containing the lines from the file - after previous adjustment have been done. - - `read_temporary_file` When set to `1`, ALE will read the contents of the - temporary file created for `%t`. This option can be used - for commands which need to modify some file on disk in - order to fix files. - - `process_with` An optional callback for post-processing. - - The callback must accept two arguments, - `(buffer, output)`, which can be used for converting - the output from a command into lines to replace the - buffer's contents with. - - A |List| of |String|s must be returned. - - `read_buffer` An optional key for disabling reading the buffer. - - When set to `0`, ALE will not pipe the buffer's data - into the command via stdin. This option is ignored and - the buffer is not read when `read_temporary_file` is - `1`. - - This option defaults to `1`. - - *ale-fix-configuration* - -Synchronous functions and asynchronous jobs will be run in a sequence for -fixing files, and can be combined. For example: -> - let g:ale_fixers = { - \ 'javascript': [ - \ 'DoSomething', - \ 'eslint', - \ {buffer, lines -> filter(lines, 'v:val !=~ ''^\s*//''')}, - \ ], - \} - - ALEFix -< -The above example will call a function called `DoSomething` which could act -upon some lines immediately, then run `eslint` from the ALE registry, and -then call a lambda function which will remove every single line comment -from the file. - -For buffer-local settings, such as in |g:ale_pattern_options| or in ftplugin -files, a |List| may be used for configuring the fixers instead. -> - " Same as the above, only a List can be used instead of a Dictionary. - let b:ale_fixers = [ - \ 'DoSomething', - \ 'eslint', - \ {buffer, lines -> filter(lines, 'v:val !=~ ''^\s*//''')}, - \] - - ALEFix -< -For convenience, a plug mapping is defined for |ALEFix|, so you can set up a -keybind easily for fixing files. > - - " Bind F8 to fixing problems with ALE - nmap (ale_fix) -< -Files can be fixed automatically with the following options, which are all off -by default. - -|g:ale_fix_on_save| - Fix files when they are saved. - -Fixers can be disabled on save with |g:ale_fix_on_save_ignore|. They will -still be run when you manually run |ALEFix|. - - -=============================================================================== -5. Language Server Protocol Support *ale-lsp* - -ALE offers some support for integrating with Language Server Protocol (LSP) -servers. LSP linters can be used in combination with any other linter, and -will automatically connect to LSP servers when needed. ALE also supports -`tsserver` for TypeScript, which uses a different but very similar protocol. - -If you want to use another plugin for LSP features and tsserver, you can use -the |g:ale_disable_lsp| setting to disable ALE's own LSP integrations, or -ignore particular linters with |g:ale_linters_ignore|. - -------------------------------------------------------------------------------- -5.1 Completion *ale-completion* - -ALE offers support for automatic completion of code while you type. -Completion is only supported while at least one LSP linter is enabled. ALE -will only suggest symbols provided by the LSP servers. - - *ale-deoplete-integration* - -ALE integrates with Deoplete for offering automatic completion data. ALE's -completion source for Deoplete is named `'ale'`, and should enabled -automatically if Deoplete is enabled and configured correctly. Deoplete -integration should not be combined with ALE's own implementation. - - *ale-asyncomplete-integration* - -ALE additionally integrates with asyncomplete.vim for offering automatic -completion data. ALE's asyncomplete source requires registration and should -use the defaults provided by the|asyncomplete#sources#ale#get_source_options| function > - - " Use ALE's function for asyncomplete defaults - au User asyncomplete_setup call asyncomplete#register_source(asyncomplete#sources#ale#get_source_options({ - \ 'priority': 10, " Provide your own overrides here - \ })) -> -ALE also offers its own completion implementation, which does not require any -other plugins. Suggestions will be made while you type after completion is -enabled. ALE's own completion implementation can be enabled by setting -|g:ale_completion_enabled| to `1`. This setting must be set to `1` before ALE -is loaded. The delay for completion can be configured with -|g:ale_completion_delay|. This setting should not be enabled if you wish to -use ALE as a completion source for other plugins. - -ALE provides an 'omnifunc' function |ale#completion#OmniFunc| for triggering -completion manually with CTRL-X CTRL-O. |i_CTRL-X_CTRL-O| > - - " Use ALE's function for omnicompletion. - set omnifunc=ale#completion#OmniFunc -< -ALE will only suggest so many possible matches for completion. The maximum -number of items can be controlled with |g:ale_completion_max_suggestions|. - -If you don't like some of the suggestions you see, you can filter them out -with |g:ale_completion_excluded_words| or |b:ale_completion_excluded_words|. - -The |ALEComplete| command can be used to show completion suggestions manually, -even when |g:ale_completion_enabled| is set to `0`. For manually requesting -completion information with Deoplete, consult Deoplete's documentation. - -When working with TypeScript files, ALE by can support automatic imports -from external modules. This behavior can be enabled by setting the -|g:ale_completion_tsserver_autoimport| variable to `1`. - - *ale-completion-completeopt-bug* - -ALE Automatic completion implementation replaces |completeopt| before opening -the omnicomplete menu with . In some versions of Vim, the value set -for the option will not be respected. If you experience issues with Vim -automatically inserting text while you type, set the following option in -vimrc, and your issues should go away. > - - set completeopt=menu,menuone,preview,noselect,noinsert -< - -Or alternatively, if you want to show documentation in popups: > - - set completeopt=menu,menuone,popup,noselect,noinsert -< - *ale-symbols* - -ALE provides a set of basic completion symbols. If you want to replace those -symbols with others, you can set the variable |g:ale_completion_symbols| with -a mapping of the type of completion to the symbol or other string that you -would like to use. An example here shows the available options for symbols > - - let g:ale_completion_symbols = { - \ 'text': '', - \ 'method': '', - \ 'function': '', - \ 'constructor': '', - \ 'field': '', - \ 'variable': '', - \ 'class': '', - \ 'interface': '', - \ 'module': '', - \ 'property': '', - \ 'unit': 'unit', - \ 'value': 'val', - \ 'enum': '', - \ 'keyword': 'keyword', - \ 'snippet': '', - \ 'color': 'color', - \ 'file': '', - \ 'reference': 'ref', - \ 'folder': '', - \ 'enum member': '', - \ 'constant': '', - \ 'struct': '', - \ 'event': 'event', - \ 'operator': '', - \ 'type_parameter': 'type param', - \ '': 'v' - \ } -< -------------------------------------------------------------------------------- -5.2 Go To Definition *ale-go-to-definition* - -ALE supports jumping to the files and locations where symbols are defined -through any enabled LSP linters. The locations ALE will jump to depend on the -information returned by LSP servers. The |ALEGoToDefinition| command will jump -to the definition of symbols under the cursor. See the documentation for the -command for configuring how the location will be displayed. - -ALE will update Vim's |tagstack| automatically unless |g:ale_update_tagstack| is -set to `0`. - -------------------------------------------------------------------------------- -5.3 Go To Type Definition *ale-go-to-type-definition* - -ALE supports jumping to the files and locations where symbols' types are -defined through any enabled LSP linters. The locations ALE will jump to depend -on the information returned by LSP servers. The |ALEGoToTypeDefinition| -command will jump to the definition of symbols under the cursor. See the -documentation for the command for configuring how the location will be -displayed. - -------------------------------------------------------------------------------- -5.4 Find References *ale-find-references* - -ALE supports finding references for symbols though any enabled LSP linters. -ALE will display a preview window showing the places where a symbol is -referenced in a codebase when a command is run. The following commands are -supported: - -|ALEFindReferences| - Find references for the word under the cursor. - -Options: - `-relative` Show file paths in the results relative to the working dir - -------------------------------------------------------------------------------- -5.5 Hovering *ale-hover* - -ALE supports "hover" information for printing brief information about symbols -at the cursor taken from LSP linters. The following commands are supported: - -|ALEHover| - Print information about the symbol at the cursor. - -If |g:ale_set_balloons| is set to `1` and your version of Vim supports the -|balloon_show()| function, then "hover" information also show up when you move -the mouse over a symbol in a buffer. Diagnostic information will take priority -over hover information for balloons. If a line contains a problem, that -problem will be displayed in a balloon instead of hover information. - -Hover information can be displayed in the preview window instead by setting -|g:ale_hover_to_preview| to `1`. - -For Vim 8.1+ terminals, mouse hovering is disabled by default. Enabling -|balloonexpr| commands in terminals can cause scrolling issues in terminals, -so ALE will not attempt to show balloons unless |g:ale_set_balloons| is set to -`1` before ALE is loaded. - -For enabling mouse support in terminals, you may have to change your mouse -settings. For example: > - - " Example mouse settings. - " You will need to try different settings, depending on your terminal. - set mouse=a - set ttymouse=xterm -< - -Documentation for symbols at the cursor can be retrieved using the -|ALEDocumentation| command. This command is only available for `tsserver`. - -------------------------------------------------------------------------------- -5.6 Symbol Search *ale-symbol-search* - -ALE supports searching for workspace symbols via LSP linters. The following -commands are supported: - -|ALESymbolSearch| - Search for symbols in the workspace. - -Options: - `-relative` Show file paths in the results relative to the working dir - -=============================================================================== -6. Global Options *ale-options* - -g:airline#extensions#ale#enabled *g:airline#extensions#ale#enabled* - - Type: |Number| - Default: `1` - - Enables or disables the |airline|'s native extension for ale, which displays - warnings and errors in the status line, prefixed by - |airline#extensions#ale#error_symbol| and - |airline#extensions#ale#warning_symbol|. - - -g:ale_cache_executable_check_failures *g:ale_cache_executable_check_failures* - - Type: |Number| - Default: undefined - - When set to `1`, ALE will cache failing executable checks for linters. By - default, only executable checks which succeed will be cached. - - When this option is set to `1`, Vim will have to be restarted after new - executables are installed for ALE to be able to run linters for those - executables. - - -g:ale_change_sign_column_color *g:ale_change_sign_column_color* - - Type: |Number| - Default: `0` - - When set to `1`, this option will set different highlights for the sign - column itself when ALE reports problems with a file. This option can be - combined with |g:ale_sign_column_always|. - - ALE uses the following highlight groups for highlighting the sign column: - - `ALESignColumnWithErrors` - Links to `error` by default. - `ALESignColumnWithoutErrors` - Uses the value for `SignColumn` by default. - - The sign column color can only be changed globally in Vim. The sign column - might produce unexpected results if editing different files in split - windows. - - -g:ale_close_preview_on_insert *g:ale_close_preview_on_insert* - - Type: |Number| - Default: `0` - - When this option is set to `1`, ALE's |preview-window| will be automatically - closed upon entering Insert Mode. This option can be used in combination - with |g:ale_cursor_detail| for automatically displaying the preview window - on problem lines, and automatically closing it again when editing text. - - This setting must be set to `1` before ALE is loaded for this behavior - to be enabled. See |ale-lint-settings-on-startup|. - - -g:ale_command_wrapper *g:ale_command_wrapper* - *b:ale_command_wrapper* - Type: |String| - Default: `''` - - An option for wrapping all commands that ALE runs, for linters, fixers, - and LSP commands. This option can be set globally, or for specific buffers. - - This option can be used to apply nice to all commands. For example: > - - " Prefix all commands with nice. - let g:ale_command_wrapper = 'nice -n5' -< - Use the |ALEInfo| command to view the commands that are run. All of the - arguments for commands will be put on the end of the wrapped command by - default. A `%*` marker can be used to spread the arguments in the wrapped - command. > - - " Has the same effect as the above. - let g:ale_command_wrapper = 'nice -n5 %*' -< - - For passing all of the arguments for a command as one argument to a wrapper, - `%@` can be used instead. > - - " Will result in say: /bin/bash -c 'other-wrapper -c "some command" -x' - let g:ale_command_wrapper = 'other-wrapper -c %@ -x' -< - For commands including `&&` or `;`, only the last command in the list will - be passed to the wrapper. `&&` is most commonly used in ALE to change the - working directory before running a command. - - -g:ale_completion_delay *g:ale_completion_delay* - - Type: |Number| - Default: `100` - - The number of milliseconds before ALE will send a request to a language - server for completions after you have finished typing. - - See |ale-completion| - - -g:ale_completion_enabled *g:ale_completion_enabled* - *b:ale_completion_enabled* - - Type: |Number| - Default: `0` - - When this option is set to `1`, completion support will be enabled. - - This setting must be set to `1` before ALE is loaded for this behavior - to be enabled. - - This setting should not be enabled if you wish to use ALE as a completion - source for other completion plugins. - - A buffer-local version of this setting `b:ale_completion_enabled` can be set - to `0` to disable ALE's automatic completion support for a single buffer. - ALE's completion support must be enabled globally to be enabled locally. - - See |ale-completion| - - -g:ale_completion_tsserver_autoimport *g:ale_completion_tsserver_autoimport* - - Type: Number - Default: `0` - - When this option is set to `0`, ALE will not try to automatically import - completion results from external modules. It can be enabled by setting it - to `1`. - - -g:ale_completion_excluded_words *g:ale_completion_excluded_words* - *b:ale_completion_excluded_words* - Type: |List| - Default: `[]` - - This option can be set to a list of |String| values for "words" to exclude - from completion results, as in the words for |complete-items|. The strings - will be matched exactly in a case-sensitive manner. (|==#|) - - This setting can be configured in ftplugin files with buffer variables, so - that different lists can be used for different filetypes. For example: > - - " In ~/.vim/ftplugin/typescript.vim - - " Don't suggest `it` or `describe` so we can use snippets for those words. - let b:ale_completion_excluded_words = ['it', 'describe'] -< - -g:ale_completion_symbols *g:ale_completion_symbols* - - Type: |Dictionary| - - - A mapping from completion types to symbols for completions. See - |ale-symbols| for more information. - - By default, this mapping only uses built in Vim completion kinds, but it can - be updated to use any unicode character for the completion kind. For - example: > - let g:ale_completion_symbols = { - \ 'text': '', - \ 'method': '', - \ 'function': '', - \ 'constructor': '', - \ 'field': '', - \ 'variable': '', - \ 'class': '', - \ 'interface': '', - \ 'module': '', - \ 'property': '', - \ 'unit': 'v', - \ 'value': 'v', - \ 'enum': 't', - \ 'keyword': 'v', - \ 'snippet': 'v', - \ 'color': 'v', - \ 'file': 'v', - \ 'reference': 'v', - \ 'folder': 'v', - \ 'enum_member': 'm', - \ 'constant': 'm', - \ 'struct': 't', - \ 'event': 'v', - \ 'operator': 'f', - \ 'type_parameter': 'p', - \ '': 'v' - \ }) -< - -g:ale_completion_max_suggestions *g:ale_completion_max_suggestions* - - Type: |Number| - Default: `50` - - The maximum number of items ALE will suggest in completion menus for - automatic completion. - - Setting this number higher will require more processing time, and may - suggest too much noise. Setting this number lower will require less - processing time, but some suggestions will not be included, so you might not - be able to see the suggestions you want. - - Adjust this option as needed, depending on the complexity of your codebase - and your available processing power. - -g:ale_cursor_detail *g:ale_cursor_detail* - - Type: |Number| - Default: `0` - - When this option is set to `1`, ALE's |preview-window| will be automatically - opened when the cursor moves onto lines with problems. ALE will search for - problems using the same logic that |g:ale_echo_cursor| uses. The preview - window will be closed automatically when you move away from the line. - - Messages are only displayed after a short delay. See |g:ale_echo_delay|. - - The preview window is opened without stealing focus, which means your cursor - will stay in the same buffer as it currently is. - - The preview window can be closed automatically upon entering Insert mode - by setting |g:ale_close_preview_on_insert| to `1`. - - Either this setting or |g:ale_echo_cursor| must be set to `1` before ALE is - loaded for messages to be displayed. See |ale-lint-settings-on-startup|. - - -g:ale_default_navigation *g:ale_default_navigation* - *b:ale_default_navigation* - - Type: |String| - Default: `'buffer'` - - The default method for navigating away from the current buffer to another - buffer, such as for |ALEFindReferences:|, or |ALEGoToDefinition|. - - -g:ale_disable_lsp *g:ale_disable_lsp* - *b:ale_disable_lsp* - - Type: |Number| - Default: `0` - - When this option is set to `1`, ALE ignores all linters powered by LSP, - and also `tsserver`. - - Please see also |ale-lsp|. - - -g:ale_echo_cursor *g:ale_echo_cursor* - - Type: |Number| - Default: `1` - - When this option is set to `1`, a truncated message will be echoed when a - cursor is near a warning or error. ALE will attempt to find the warning or - error at a column nearest to the cursor when the cursor is resting on a line - which contains a warning or error. This option can be set to `0` to disable - this behavior. - - Messages are only displayed after a short delay. See |g:ale_echo_delay|. - - The format of the message can be customized with |g:ale_echo_msg_format|. - - Either this setting or |g:ale_cursor_detail| must be set to `1` before ALE - is loaded for messages to be displayed. See |ale-lint-settings-on-startup|. - - -g:ale_echo_delay *g:ale_echo_delay* - *b:ale_echo_delay* - Type: |Number| - Default: `10` - - Given any integer, this option controls the number of milliseconds before - ALE will echo or preview a message for a problem near the cursor. - - The value can be increased to decrease the amount of processing ALE will do - for files displaying a large number of problems. - - -g:ale_echo_msg_error_str *g:ale_echo_msg_error_str* - - Type: |String| - Default: `'Error'` - - The string used for `%severity%` for errors. See |g:ale_echo_msg_format| - - -g:ale_echo_msg_format *g:ale_echo_msg_format* - *b:ale_echo_msg_format* - - Type: |String| - Default: `'%code: %%s'` - - This variable defines a message format for echoed messages. The following - sequences of characters will be replaced. - - `%s` - replaced with the text for the problem - `%...code...% `- replaced with the error code - `%linter%` - replaced with the name of the linter - `%severity%` - replaced with the severity of the problem - - The strings for `%severity%` can be configured with the following options. - - |g:ale_echo_msg_error_str| - Defaults to `'Error'` - |g:ale_echo_msg_info_str| - Defaults to `'Info'` - |g:ale_echo_msg_warning_str| - Defaults to `'Warning'` - - `%code%` is replaced with the error code, and replaced with an empty string - when there is no error code. Any extra characters between the percent signs - will be printed when an error code is present. For example, a message like - `(error code): message` will be printed for `'%(code): %%s'` and simply the - message will be printed when there is no code. - - |g:ale_echo_cursor| needs to be set to 1 for messages to be displayed. - - The echo message format can also be configured separately for each buffer, - so different formats can be used for different languages. (Say in ftplugin - files.) - - -g:ale_echo_msg_info_str *g:ale_echo_msg_info_str* - - Type: |String| - Default: `'Info'` - - The string used for `%severity%` for info. See |g:ale_echo_msg_format| - - -g:ale_echo_msg_log_str *g:ale_echo_msg_log_str* - - Type: |String| - Default: `'Log'` - - The string used for `%severity%` for log, used only for handling LSP show - message requests. See |g:ale_lsp_show_message_format| - - -g:ale_echo_msg_warning_str *g:ale_echo_msg_warning_str* - - Type: |String| - Default: `'Warning'` - - The string used for `%severity%` for warnings. See |g:ale_echo_msg_format| - - -g:ale_enabled *g:ale_enabled* - *b:ale_enabled* - - Type: |Number| - Default: `1` - - When set to `0`, this option will completely disable ALE, such that no - error checking will be performed, etc. ALE can be toggled on and off with - the |ALEToggle| command, which changes this option. - - ALE can be disabled in each buffer by setting `let b:ale_enabled = 0` - Disabling ALE based on filename patterns can be accomplished by setting - a regular expression for |g:ale_pattern_options|. For example: > - - " Disable linting for all minified JS files. - let g:ale_pattern_options = {'\.min.js$': {'ale_enabled': 0}} -< - - See |g:ale_pattern_options| for more information on that option. - - -g:ale_exclude_highlights *g:ale_exclude_highlights* - *b:ale_exclude_highlights* - - Type: |List| - Default: `[]` - - A list of regular expressions for matching against highlight messages to - remove. For example: > - - " Do not highlight messages matching strings like these. - let b:ale_exclude_highlights = ['line too long', 'foo.*bar'] -< - See also: |g:ale_set_highlights| - - -g:ale_fixers *g:ale_fixers* - *b:ale_fixers* - - Type: |Dictionary| - Default: `{}` - - A mapping from filetypes to |List| values for functions for fixing errors. - See |ale-fix| for more information. - - This variable can be overridden with variables in each buffer. - `b:ale_fixers` can be set to a |List| of callbacks instead, which can be - more convenient. - - A special `'*'` key be used as a wildcard filetype for configuring fixers - for every other type of file. For example: > - - " Fix Python files with 'bar'. - " Don't fix 'html' files. - " Fix everything else with 'foo'. - let g:ale_fixers = {'python': ['bar'], 'html': [], '*': ['foo']} -< - -g:ale_fix_on_save *g:ale_fix_on_save* - *b:ale_fix_on_save* - - Type: |Number| - Default: `0` - - When set to 1, ALE will fix files when they are saved. - - If |g:ale_lint_on_save| is set to 1, files will be checked with linters - after files are fixed, only when the buffer is open, or re-opened. Changes - to the file will be saved to the file on disk. - - Files will not be fixed on `:wq`, so you should check your code before - closing a buffer. - - Fixing files can be disabled or enabled for individual buffers by setting - `b:ale_fix_on_save` to `0` or `1`. - - Some fixers can be excluded from being run automatically when you save files - with the |g:ale_fix_on_save_ignore| setting. - - -g:ale_fix_on_save_ignore *g:ale_fix_on_save_ignore* - *b:ale_fix_on_save_ignore* - - Type: |Dictionary| or |List| - Default: `{}` - - Given a |Dictionary| mapping filetypes to |Lists| of fixers to ignore, or - just a |List| of fixers to ignore, exclude those fixers from being run - automatically when files are saved. - - You can disable some fixers in your ftplugin file: > - - " Disable fixers 'b' and 'c' when fixing on safe for this buffer. - let b:ale_fix_on_save_ignore = ['b', 'c'] - " Alternatively, define ignore lists for different filetypes. - let b:ale_fix_on_save_ignore = {'foo': ['b'], 'bar': ['c']} -< - You can disable some fixers globally per filetype like so: > - - let g:ale_fixers = {'foo': ['a', 'b'], 'bar': ['c', 'd']} - let g:ale_fix_on_save = 1 - " For filetype `foo.bar`, only fixers 'b' and 'd' will be run on save. - let g:ale_fix_on_save_ignore = {'foo': ['a'], 'bar': ['c']} - " Alternatively, disable these fixers on save for all filetypes. - let g:ale_fix_on_save_ignore = ['a', 'c'] -< - You can ignore fixers based on matching |Funcref| values too: > - - let g:AddBar = {buffer, lines -> lines + ['bar']} - let g:ale_fixers = {'foo': g:AddBar} - " The lambda fixer will be ignored, as it will be found in the ignore list. - let g:ale_fix_on_save_ignore = [g:AddBar] -< - -g:ale_history_enabled *g:ale_history_enabled* - - Type: |Number| - Default: `1` - - When set to `1`, ALE will remember the last few commands which were run - for every buffer which is open. This information can be viewed with the - |ALEInfo| command. The size of the buffer can be controlled with the - |g:ale_max_buffer_history_size| option. - - This option can be disabled if storing a command history is not desired. - - -g:ale_history_log_output *g:ale_history_log_output* - - Type: |Number| - Default: `1` - - When set to `1`, ALE will store the output of commands which have completed - successfully in the command history, and the output will be displayed when - using |ALEInfo|. - - |g:ale_history_enabled| must be set to `1` for this output to be stored or - printed. - - Some memory will be consumed by this option. It is very useful for figuring - out what went wrong with linters, and for bug reports. Turn this option off - if you want to save on some memory usage. - - -g:ale_hover_to_preview *g:ale_hover_to_preview* - *b:ale_hover_to_preview* - - Type: |Number| - Default: `0` - - If set to `1`, hover messages will be displayed in the preview window, - instead of in balloons or the message line. - - -g:ale_keep_list_window_open *g:ale_keep_list_window_open* - *b:ale_keep_list_window_open* - Type: |Number| - Default: `0` - - When set to `1`, this option will keep the loclist or quickfix windows event - after all warnings/errors have been removed for files. By default the - loclist or quickfix windows will be closed automatically when there are no - warnings or errors. - - See |g:ale_open_list| - - -g:ale_list_window_size *g:ale_list_window_size* - *b:ale_list_window_size* - Type: |Number| - Default: `10` - - This number configures the number of lines to set for the height of windows - opened automatically for ALE problems. The default of `10` matches the Vim - default height. - - See |g:ale_open_list| for information on automatically opening windows - for quickfix or the loclist. - - -g:ale_lint_delay *g:ale_lint_delay* - - Type: |Number| - Default: `200` - - This variable controls the milliseconds delay after which the linters will - be run after text is changed. This option is only meaningful with the - |g:ale_lint_on_text_changed| variable set to `always`, `insert`, or `normal`. - - -g:ale_lint_on_enter *g:ale_lint_on_enter* - - Type: |Number| - Default: `1` - - When this option is set to `1`, the |BufWinEnter| event will be used to - apply linters when buffers are first opened. If this is not desired, this - variable can be set to `0` in your vimrc file to disable this behavior. - - The |FileChangedShellPost| and |BufEnter| events will be used to check if - files have been changed outside of Vim. If a file is changed outside of - Vim, it will be checked when it is next opened. - - You should set this setting once before ALE is loaded, and restart Vim if - you want to change your preferences. See |ale-lint-settings-on-startup|. - - -g:ale_lint_on_filetype_changed *g:ale_lint_on_filetype_changed* - - Type: |Number| - Default: `1` - - This option will cause ALE to run when the filetype for a file is changed - after a buffer has first been loaded. A short delay will be used before - linting will be done, so the filetype can be changed quickly several times - in a row, but resulting in only one lint cycle. - - You should set this setting once before ALE is loaded, and restart Vim if - you want to change your preferences. See |ale-lint-settings-on-startup|. - - -g:ale_lint_on_save *g:ale_lint_on_save* - - Type: |Number| - Default: `1` - - This option will make ALE run the linters whenever a file is saved when it - it set to `1` in your vimrc file. This option can be used in combination - with the |g:ale_lint_on_enter| and |g:ale_lint_on_text_changed| options to - make ALE only check files after that have been saved, if that is what is - desired. - - -g:ale_lint_on_text_changed *g:ale_lint_on_text_changed* - - Type: |String| - Default: `'normal'` - - This option controls how ALE will check your files as you make changes. - The following values can be used. - - `'always'`, `'1'`, or `1` - Check buffers on |TextChanged| or |TextChangedI|. - `'normal'` - Check buffers only on |TextChanged|. - `'insert'` - Check buffers only on |TextChangedI|. - `'never'`, `'0'`, or `0` - Never check buffers on changes. - - ALE will check buffers after a short delay, with a timer which resets on - each change. The delay can be configured by adjusting the |g:ale_lint_delay| - variable. - *ale-linting-interrupts-mapping* - - Due to a bug in Vim, ALE can interrupt mappings with pending key presses, - per |timeoutlen|. If this happens, follow the advice for enabling - |g:ale_lint_on_insert_leave| below, and set this option to `'normal'`, or - disable it entirely. - - You should set this setting once before ALE is loaded, and restart Vim if - you want to change your preferences. See |ale-lint-settings-on-startup|. - - -g:ale_lint_on_insert_leave *g:ale_lint_on_insert_leave* - *b:ale_lint_on_insert_leave* - - Type: |Number| - Default: `1` - - When set to `1` in your vimrc file, this option will cause ALE to run - linters when you leave insert mode. - - ALE will not lint files when you escape insert mode with |CTRL-C| by - default. You can make ALE lint files with this option when you use |CTRL-C| - with the following mapping. > - - " Make using Ctrl+C do the same as Escape, to trigger autocmd commands - inoremap -< - A buffer-local version of this setting `b:ale_lint_on_insert_leave` can be - set to `0` to disable linting when leaving insert mode. The setting must - be enabled globally to be enabled locally. - - You should set this setting once before ALE is loaded, and restart Vim if - you want to change your preferences. See |ale-lint-settings-on-startup|. - - -g:ale_linter_aliases *g:ale_linter_aliases* - *b:ale_linter_aliases* - Type: |Dictionary| - Default: `{}` - - The |g:ale_linter_aliases| option can be used to set aliases from one - filetype to another. A given filetype can be mapped to use the linters - run for another given filetype. - - This |Dictionary| will be merged with a default dictionary containing the - following values: > - - { - \ 'Dockerfile': 'dockerfile', - \ 'csh': 'sh', - \ 'javascriptreact': ['javascript', 'jsx'], - \ 'plaintex': 'tex', - \ 'rmarkdown': 'r', - \ 'rmd': 'r', - \ 'systemverilog': 'verilog', - \ 'typescriptreact': ['typescript', 'tsx'], - \ 'verilog_systemverilog': ['verilog_systemverilog', 'verilog'], - \ 'vimwiki': 'markdown', - \ 'vue': ['vue', 'javascript'], - \ 'xsd': ['xsd', 'xml'], - \ 'xslt': ['xslt', 'xml'], - \ 'zsh': 'sh', - \} -< - For example, if you wish to map a new filetype `'foobar'` to run the `'php'` - linters, you could set the following: > - - let g:ale_linter_aliases = {'foobar': 'php'} -< - When combined with the |g:ale_linters| option, the original filetype - (`'foobar'`) will be used for determining which linters to run, - not the aliased type (`'php'`). This allows an aliased type to run a - different set of linters from the type it is being mapped to. - - Passing a list of filetypes is also supported. Say you want to lint - javascript and css embedded in HTML (using linters that support that). - You could alias `html` like so: - - `let g:ale_linter_aliases = {'html': ['html', 'javascript', 'css']}` - - Note that `html` itself was included as an alias. That is because aliases - will override the original linters for the aliased filetype. - - Linter aliases can be configured in each buffer with buffer-local variables. - ALE will first look for aliases for filetypes in the `b:ale_linter_aliases` - variable, then `g:ale_linter_aliases`, and then a default Dictionary. - - `b:ale_linter_aliases` can be set to a |List| or a |String|, to tell ALE to - load the linters for specific filetypes for a given buffer. > - - let b:ale_linter_aliases = ['html', 'javascript', 'css'] - " OR, Alias a filetype to only a single filetype with a String. - let b:ale_linter_aliases = 'javascript' -< - No linters will be loaded when the buffer's filetype is empty. - -g:ale_linters *g:ale_linters* - *b:ale_linters* - Type: |Dictionary| - Default: `{}` - - The |g:ale_linters| option sets a |Dictionary| mapping a filetype to a - |List| of linter programs to be run when checking particular filetypes. - - This |Dictionary| will be merged with a default dictionary containing the - following values: > - - { - \ 'csh': ['shell'], - \ 'elixir': ['credo', 'dialyxir', 'dogma'], - \ 'go': ['gofmt', 'golint', 'go vet'], - \ 'hack': ['hack'], - \ 'help': [], - \ 'perl': ['perlcritic'], - \ 'perl6': [], - \ 'python': ['flake8', 'mypy', 'pylint'], - \ 'rust': ['cargo'], - \ 'spec': [], - \ 'text': [], - \ 'vue': ['eslint', 'vls'], - \ 'zsh': ['shell'], - \} -< - This option can be used to enable only a particular set of linters for a - file. For example, you can enable only `eslint` for JavaScript files: > - - let g:ale_linters = {'javascript': ['eslint']} -< - If you want to disable all linters for a particular filetype, you can pass - an empty list of linters as the value: > - - let g:ale_linters = {'javascript': []} -< - All linters will be run for unspecified filetypes. All available linters can - be enabled explicitly for a given filetype by passing the string `'all'`, - instead of a List. > - - let g:ale_linters = {'c': 'all'} -< - Linters can be configured in each buffer with buffer-local variables. ALE - will first look for linters for filetypes in the `b:ale_linters` variable, - then `g:ale_linters`, and then the default Dictionary mentioned above. - - `b:ale_linters` can be set to a List, or the string `'all'`. When linters - for two different filetypes share the same name, the first linter loaded - will be used. Any ambiguity can be resolved by using a Dictionary specifying - which linter to run for which filetype instead. > - - " Use ESLint for the buffer if the filetype includes 'javascript'. - let b:ale_linters = {'javascript': ['eslint'], 'html': ['tidy']} - " Use a List for the same setting. This will work in most cases. - let b:ale_linters = ['eslint', 'tidy'] - " Disable all linters for the buffer. - let b:ale_linters = [] - " Explicitly enable all available linters for the filetype. - let b:ale_linters = 'all' -< - ALE can be configured to disable all linters unless otherwise specified with - `g:ale_enabled` or `b:ale_enabled` with the option |g:ale_linters_explicit|. - - -g:ale_linters_explicit *g:ale_linters_explicit* - - Type: |Number| - Default: `0` - - When set to `1`, only the linters from |g:ale_linters| and |b:ale_linters| - will be enabled. The default behavior for ALE is to enable as many linters - as possible, unless otherwise specified. - - -g:ale_linters_ignore *g:ale_linters_ignore* - *b:ale_linters_ignore* - - Type: |Dictionary| or |List| - Default: `{}` - - Linters to ignore. Commands for ignored linters will not be run, and - diagnostics for LSP linters will be ignored. (See |ale-lsp|) - - This setting can be set to a |Dictionary| mapping filetypes to linter names, - just like |g:ale_linters|, to list linters to ignore. Ignore lists will be - applied after everything else. > - - " Select flake8 and pylint, and ignore pylint, so only flake8 is run. - let g:ale_linters = {'python': ['flake8', 'pylint']} - let g:ale_linters_ignore = {'python': ['pylint']} -< - This setting can be set to simply a |List| of linter names, which is - especially more convenient when using the setting in ftplugin files for - particular buffers. > - - " The same as above, in a ftplugin/python.vim. - let b:ale_linters = ['flake8', 'pylint'] - let b:ale_linters_ignore = ['pylint'] -< - -g:ale_list_vertical *g:ale_list_vertical* - *b:ale_list_vertical* - Type: |Number| - Default: `0` - - When set to `1`, this will cause ALE to open any windows (loclist or - quickfix) vertically instead of horizontally (|vert| |lopen|) or (|vert| - |copen|) - - -g:ale_loclist_msg_format *g:ale_loclist_msg_format* - *b:ale_loclist_msg_format* - - Type: |String| - Default: `g:ale_echo_msg_format` - - This option is the same as |g:ale_echo_msg_format|, but for formatting the - message used for the loclist and the quickfix list. - - The strings for configuring `%severity%` are also used for this option. - - -g:ale_lsp_show_message_format *g:ale_lsp_show_message_format* - - Type: |String| - Default: `'%severity%:%linter%: %s'` - - This variable defines the format that messages received from an LSP will - have when echoed. The following sequences of characters will be replaced. - - `%s` - replaced with the message text - `%linter%` - replaced with the name of the linter - `%severity%` - replaced with the severity of the message - - The strings for `%severity%` levels "error", "info" and "warning" are shared - with |g:ale_echo_msg_format|. Severity "log" is unique to - |g:ale_lsp_show_message_format| and it can be configured via - - |g:ale_echo_msg_log_str| - Defaults to `'Log'` - - Please note that |g:ale_lsp_show_message_format| *can not* be configured - separately for each buffer like |g:ale_echo_msg_format| can. - - -g:ale_lsp_show_message_severity *g:ale_lsp_show_message_severity* - - Type: |String| - Default: `'error'` - - This variable defines the minimum severity level an LSP message needs to be - displayed. Messages below this level are discarded; please note that - messages with `Log` severity level are always discarded. - - Possible values follow the LSP spec `MessageType` definition: - - `'error'` - Displays only errors. - `'warning'` - Displays errors and warnings. - `'information'` - Displays errors, warnings and infos - `'log'` - Same as `'information'` - `'disabled'` - Doesn't display any information at all. - - -g:ale_lsp_root *g:ale_lsp_root* - *b:ale_lsp_root* - - Type: |Dictionary| or |String| - Default: {} - - This option is used to determine the project root for the LSP linter. If the - value is a |Dictionary|, it maps a linter to either a string containing the - project root or a |Funcref| to call to look up the root. The funcref is - provided the buffer number as its argument. - - The buffer-specific variable may additionally be a string containing the - project root itself. - - If neither variable yields a result, a linter-specific function is invoked to - detect a project root. If this, too, yields no result, the linter is disabled. - -g:ale_max_buffer_history_size *g:ale_max_buffer_history_size* - - Type: |Number| - Default: `20` - - This setting controls the maximum number of commands which will be stored in - the command history used for |ALEInfo|. Command history will be rotated in - a FIFO manner. If set to a number <= 0, then the history will be - continuously set to an empty |List|. - - History can be disabled completely with |g:ale_history_enabled|. - - -g:ale_max_signs *g:ale_max_signs* - *b:ale_max_signs* - Type: |Number| - Default: `-1` - - When set to any positive integer, ALE will not render any more than the - given number of signs for any one buffer. - - When set to `0`, no signs will be set, but sign processing will still be - done, so existing signs can be removed. - - When set to any other value, no limit will be imposed on the number of signs - set. - - For disabling sign processing, see |g:ale_set_signs|. - - -g:ale_maximum_file_size *g:ale_maximum_file_size* - *b:ale_maximum_file_size* - Type: |Number| - Default: undefined - - A maximum file size in bytes for ALE to check. If set to any positive - number, ALE will skip checking files larger than the given size. - - -g:ale_open_list *g:ale_open_list* - *b:ale_open_list* - Type: |Number| or |String| - Default: `0` - - When set to `1`, this will cause ALE to automatically open a window for the - loclist (|lopen|) or for the quickfix list instead if |g:ale_set_quickfix| - is `1`. (|copen|) - - When set to `'on_save'`, ALE will only open the loclist after buffers have - been saved. The list will be opened some time after buffers are saved and - any linter for a buffer returns results. - - The window will be kept open until all warnings or errors are cleared, - including those not set by ALE, unless |g:ale_keep_list_window_open| is set - to `1`, in which case the window will be kept open when no problems are - found. - - The window size can be configured with |g:ale_list_window_size|. - - Windows can be opened vertically with |g:ale_list_vertical|. - - If you want to close the loclist window automatically when the buffer is - closed, you can set up the following |autocmd| command: > - - augroup CloseLoclistWindowGroup - autocmd! - autocmd QuitPre * if empty(&buftype) | lclose | endif - augroup END -< - -g:ale_pattern_options *g:ale_pattern_options* - - Type: |Dictionary| - Default: undefined - - This option maps regular expression patterns to |Dictionary| values for - buffer variables. This option can be set to automatically configure - different settings for different files. For example: > - - " Use just ESLint for linting and fixing files which end in '.foo.js' - let g:ale_pattern_options = { - \ '\.foo\.js$': { - \ 'ale_linters': ['eslint'], - \ 'ale_fixers': ['eslint'], - \ }, - \} -< - See |b:ale_linters| and |b:ale_fixers| for information for those options. - - Filenames are matched with |match()|, and patterns depend on the |magic| - setting, unless prefixed with the special escape sequences like `'\v'`, etc. - The patterns can match any part of a filename. The absolute path of the - filename will be used for matching, taken from `expand('%:p')`. - - The options for every match for the filename will be applied, with the - pattern keys sorted in alphabetical order. Options for `'zebra'` will - override the options for `'alpha'` for a filename `alpha-zebra`. - - -g:ale_pattern_options_enabled *g:ale_pattern_options_enabled* - - Type: |Number| - Default: undefined - - This option can be used for disabling pattern options. If set to `0`, ALE - will not set buffer variables per |g:ale_pattern_options|. - - -g:ale_rename_tsserver_find_in_comments *g:ale_rename_tsserver_find_in_comments* - - Type: |Number| - Default: `0` - - If enabled, this option will tell tsserver to find and replace text in - comments when calling |ALERename|. It can be enabled by settings the value - to `1`. - - -g:ale_rename_tsserver_find_in_strings *g:ale_rename_tsserver_find_in_strings* - - - Type: |Number| - Default: `0` - - If enabled, this option will tell tsserver to find and replace text in - strings when calling |ALERename|. It can be enabled by settings the value to - `1`. - - -g:ale_set_balloons *g:ale_set_balloons* - *b:ale_set_balloons* - - Type: |Number| - Default: `has('balloon_eval') && has('gui_running')` - - When this option is set to `1`, balloon messages will be displayed for - problems or hover information if available. - - Problems nearest to the line the mouse cursor is over will be displayed. If - there are no problems to show, and one of the linters is an LSP linter - supporting "Hover" information, per |ale-hover|, then brief information - about the symbol under the cursor will be displayed in a balloon. - - Balloons can be enabled for terminal versions of Vim that support balloons, - but some versions of Vim will produce strange mouse behavior when balloons - are enabled. To configure balloons for your terminal, you should first - configure your |ttymouse| setting, and then consider setting - `g:ale_set_balloons` to `1` before ALE is loaded. - - `b:ale_set_balloons` can be set to `0` to disable balloons for a buffer. - Balloons cannot be enabled for a specific buffer when not initially enabled - globally. - - Balloons will not be shown when |g:ale_enabled| or |b:ale_enabled| is `0`. - - -g:ale_set_balloons_legacy_echo *g:ale_set_balloons_legacy_echo* - *b:ale_set_balloons_legacy_echo* - Type: |Number| - Default: undefined - - If set to `1`, moving your mouse over documents in Vim will make ALE ask - `tsserver` or `LSP` servers for information about the symbol where the mouse - cursor is, and print that information into Vim's echo line. This is an - option for supporting older versions of Vim which do not properly support - balloons in an asynchronous manner. - - If your version of Vim supports the |balloon_show| function, then this - option does nothing meaningful. - - -g:ale_set_highlights *g:ale_set_highlights* - - Type: |Number| - Default: `has('syntax')` - - When this option is set to `1`, highlights will be set for problems. - - ALE will use the following highlight groups for problems: - - |ALEError| - Items with `'type': 'E'` - |ALEWarning| - Items with `'type': 'W'` - |ALEInfo.| - Items with `'type': 'I'` - |ALEStyleError| - Items with `'type': 'E'` and `'sub_type': 'style'` - |ALEStyleWarning| - Items with `'type': 'W'` and `'sub_type': 'style'` - - When |g:ale_set_signs| is set to `0`, the following highlights for entire - lines will be set. - - |ALEErrorLine| - All items with `'type': 'E'` - |ALEWarningLine| - All items with `'type': 'W'` - |ALEInfoLine| - All items with `'type': 'I'` - - Vim can only highlight the characters up to the last column in a buffer for - match highlights, whereas the line highlights when signs are enabled will - run to the edge of the screen. - - Highlights can be excluded with the |g:ale_exclude_highlights| option. - - -g:ale_set_loclist *g:ale_set_loclist* - - Type: |Number| - Default: `1` - - When this option is set to `1`, the |loclist| will be populated with any - warnings and errors which are found by ALE. This feature can be used to - implement jumping between errors through typical use of |lnext| and |lprev|. - - -g:ale_set_quickfix *g:ale_set_quickfix* - - Type: |Number| - Default: `0` - - When this option is set to `1`, the |quickfix| list will be populated with - any problems which are found by ALE, instead of the |loclist|. The loclist - will never be populated when this option is on. - - Problems from every buffer ALE has checked will be included in the quickfix - list, which can be checked with |:copen|. Problems will be de-duplicated. - - This feature should not be used in combination with tools for searching for - matches and commands like |:cfdo|, as ALE will replace the quickfix list - pretty frequently. If you wish to use such tools, you should populate the - loclist instead. - - -g:ale_set_signs *g:ale_set_signs* - - Type: |Number| - Default: `has('signs')` - - When this option is set to `1`, the |sign| column will be populated with - signs marking where problems appear in the file. - - ALE will use the following highlight groups for problems: - - |ALEErrorSign| - Items with `'type': 'E'` - |ALEWarningSign| - Items with `'type': 'W'` - |ALEInfoSign| - Items with `'type': 'I'` - |ALEStyleErrorSign| - Items with `'type': 'E'` and `'sub_type': 'style'` - |ALEStyleWarningSign| - Items with `'type': 'W'` and `'sub_type': 'style'` - - In addition to the style of the signs, the style of lines where signs appear - can be configured with the following highlights: - - |ALEErrorLine| - All items with `'type': 'E'` - |ALEWarningLine| - All items with `'type': 'W'` - |ALEInfoLine| - All items with `'type': 'I'` - - With Neovim 0.3.2 or higher, ALE can use the `numhl` option to highlight the - 'number' column. It uses the following highlight groups. - - |ALEErrorSignLineNr| - Items with `'type': 'E'` - |ALEWarningSignLineNr| - Items with `'type': 'W'` - |ALEInfoSignLineNr| - Items with `'type': 'I'` - |ALEStyleErrorSignLineNr| - Items with `'type': 'E'` and `'sub_type': 'style'` - |ALEStyleWarningSignLineNr| - Items with `'type': 'W'` and `'sub_type': 'style'` - - To enable line number highlighting |g:ale_sign_highlight_linenrs| must be - set to `1` before ALE is loaded. - - The markers for the highlights can be customized with the following options: - - |g:ale_sign_error| - |g:ale_sign_warning| - |g:ale_sign_info| - |g:ale_sign_style_error| - |g:ale_sign_style_warning| - - When multiple problems exist on the same line, the signs will take - precedence in the order above, from highest to lowest. - - To limit the number of signs ALE will set, see |g:ale_max_signs|. - - -g:ale_sign_priority *g:ale_sign_priority* - - Type: |Number| - Default: `30` - - From Neovim 0.4.0 and Vim 8.1, ALE can set sign priority to all signs. The - larger this value is, the higher priority ALE signs have over other plugin - signs. See |sign-priority| for further details on how priority works. - - -g:ale_shell *g:ale_shell* - - Type: |String| - Default: not set - - Override the shell used by ALE for executing commands. ALE uses 'shell' by - default, but falls back in `/bin/sh` if the default shell looks like `fish` - or `pwsh`, which are not compatible with all of the commands run by ALE. The - shell specified with this option will be used even if it might not work in - all cases. - - For Windows, ALE uses `cmd` when this option isn't set. Setting this option - will apply shell escaping to the command string, even on Windows. - - NOTE: Consider setting |g:ale_shell_arguments| if this option is defined. - - -g:ale_shell_arguments *g:ale_shell_arguments* - - Type: |String| - Default: not set - - This option specifies the arguments to use for executing a command with a - custom shell, per |g:ale_shell|. If this option is not set, 'shellcmdflag' - will be used instead. - - -g:ale_sign_column_always *g:ale_sign_column_always* - - Type: |Number| - Default: `0` - - By default, the sign gutter will disappear when all warnings and errors have - been fixed for a file. When this option is set to `1`, the sign column will - remain open. This can be preferable if you don't want the text in your file - to move around as you edit a file. - - -g:ale_sign_error *g:ale_sign_error* - - Type: |String| - Default: `'>>'` - - The sign for errors in the sign gutter. - - -g:ale_sign_info *g:ale_sign_info* - - Type: |String| - Default: `g:ale_sign_warning` - - The sign for "info" markers in the sign gutter. - - -g:ale_sign_style_error *g:ale_sign_style_error* - - Type: |String| - Default: `g:ale_sign_error` - - The sign for style errors in the sign gutter. - - -g:ale_sign_style_warning *g:ale_sign_style_warning* - - Type: |String| - Default: `g:ale_sign_warning` - - The sign for style warnings in the sign gutter. - - -g:ale_sign_offset *g:ale_sign_offset* - - Type: |Number| - Default: `1000000` - - This variable controls offset from which numeric IDs will be generated for - new signs. Signs cannot share the same ID values, so when two Vim plugins - set signs at the same time, the IDs have to be configured such that they do - not conflict with one another. If the IDs used by ALE are found to conflict - with some other plugin, this offset value can be changed, and hopefully both - plugins will work together. See |sign-place| for more information on how - signs are set. - - -g:ale_sign_warning *g:ale_sign_warning* - - Type: |String| - Default: `'--'` - - The sign for warnings in the sign gutter. - - -g:ale_sign_highlight_linenrs *g:ale_sign_highlight_linenrs* - - Type: |Number| - Default: `0` - - When set to `1`, this option enables highlighting problems on the 'number' - column in Vim versions that support `numhl` highlights. This option must be - configured before ALE is loaded. - - -g:ale_update_tagstack *g:ale_update_tagstack* - *b:ale_update_tagstack* - Type: |Number| - Default: `1` - - This option can be set to disable updating Vim's |tagstack| automatically. - - -g:ale_type_map *g:ale_type_map* - *b:ale_type_map* - Type: |Dictionary| - Default: `{}` - - This option can be set re-map problem types for linters. Each key in the - |Dictionary| should be the name of a linter, and each value must be a - |Dictionary| mapping problem types from one type to another. The following - types are supported: - - `'E'` - `{'type': 'E'}` - `'ES'` - `{'type': 'E', 'sub_type': 'style'}` - `'W'` - `{'type': 'W'}` - `'WS'` - `{'type': 'W', 'sub_type': 'style'}` - `'I'` - `{'type': 'I'}` - - For example, if you want to turn flake8 errors into warnings, you can write - the following: > - - let g:ale_type_map = {'flake8': {'ES': 'WS', 'E': 'W'}} -< - If you wanted to turn style errors and warnings into regular errors and - warnings, you can write the following: > - - let g:ale_type_map = {'flake8': {'ES': 'E', 'WS': 'W'}} -< - Type maps can be set per-buffer with `b:ale_type_map`. - - -g:ale_use_global_executables *g:ale_use_global_executables* - - Type: |Number| - Default: not set - - This option can be set to change the default for all `_use_global` options. - This option must be set before ALE is loaded, preferably in a vimrc file. - - See |ale-integrations-local-executables| for more information on those - options. - - -g:ale_virtualtext_cursor *g:ale_virtualtext_cursor* - - Type: |Number| - Default: `0` - - This option only has any effect in NeoVim. - - When this option is set to `1`, a message will be shown when a cursor is - near a warning or error. ALE will attempt to find the warning or error at a - column nearest to the cursor when the cursor is resting on a line which - contains a warning or error. This option can be set to `0` to disable this - behavior. - - Messages are only displayed after a short delay. See |g:ale_virtualtext_delay|. - - Messages can be prefixed prefixed with a string. See |g:ale_virtualtext_prefix|. - - ALE will use the following highlight groups for problems: - - |ALEVirtualTextError| - Items with `'type': 'E'` - |ALEVirtualTextWarning| - Items with `'type': 'W'` - |ALEVirtualTextInfo| - Items with `'type': 'I'` - |ALEVirtualTextStyleError| - Items with `'type': 'E'` and `'sub_type': 'style'` - |ALEVirtualTextStyleWarning| - Items with `'type': 'W'` and `'sub_type': 'style'` - - -g:ale_virtualtext_delay *g:ale_virtualtext_delay* - *b:ale_virtualtext_delay* - - Type: |Number| - Default: `10` - - Given any integer, this option controls the number of milliseconds before - ALE will show a message for a problem near the cursor. - - The value can be increased to decrease the amount of processing ALE will do - for files displaying a large number of problems. - - -g:ale_virtualtext_prefix *g:ale_virtualtext_prefix* - - Type: |String| - Default: `'> '` - - Prefix to be used with |g:ale_virtualtext_cursor|. - -g:ale_virtualenv_dir_names *g:ale_virtualenv_dir_names* - *b:ale_virtualenv_dir_names* - - Type: |List| - Default: `['.env', '.venv', 'env', 've-py3', 've', 'virtualenv', 'venv']` - - A list of directory names to be used when searching upwards from Python - files to discover virtulenv directories with. - - For directory named `'foo'`, ALE will search for `'foo/bin/activate'` - (`foo\Scripts\activate\` on Windows) in all directories on and above the - directory containing the Python file to find virtualenv paths. - - -g:ale_warn_about_trailing_blank_lines *g:ale_warn_about_trailing_blank_lines* - *b:ale_warn_about_trailing_blank_lines* - - Type: |Number| - Default: `1` - - When this option is set to `1`, warnings about trailing blank lines will be - shown. - - This option behaves similarly to |g:ale_warn_about_trailing_whitespace|. - - -g:ale_warn_about_trailing_whitespace *g:ale_warn_about_trailing_whitespace* - *b:ale_warn_about_trailing_whitespace* - - Type: |Number| - Default: `1` - - When this option is set to `1`, warnings relating to trailing whitespace on - lines will be shown. If warnings are too irritating while editing buffers, - and you have configured Vim to automatically remove trailing whitespace, - you can disable these warnings by setting this option to `0`. - - Not all linters may respect this option. If a linter does not, please file a - bug report, and it may be possible to add such support. - - This option may be configured on a per buffer basis. - - -g:ale_windows_node_executable_path *g:ale_windows_node_executable_path* - *b:ale_windows_node_executable_path* - - Type: |String| - Default: `'node.exe'` - - This variable is used as the path to the executable to use for executing - scripts with Node.js on Windows. - - For Windows, any file with a `.js` file extension needs to be executed with - the node executable explicitly. Otherwise, Windows could try and open the - scripts with other applications, like a text editor. Therefore, these - scripts are executed with whatever executable is configured with this - setting. - - -------------------------------------------------------------------------------- -6.1. Highlights *ale-highlights* - -ALEError *ALEError* - - Default: `highlight link ALEError SpellBad` - - The highlight for highlighted errors. See |g:ale_set_highlights|. - - -ALEErrorLine *ALEErrorLine* - - Default: Undefined - - The highlight for an entire line where errors appear. Only the first - line for a problem will be highlighted. - - See |g:ale_set_signs| and |g:ale_set_highlights|. - - -ALEErrorSign *ALEErrorSign* - - Default: `highlight link ALEErrorSign error` - - The highlight for error signs. See |g:ale_set_signs|. - - -ALEErrorSignLineNr *ALEErrorSignLineNr* - - Default: `highlight link ALEErrorSignLineNr CursorLineNr` - - The highlight for error signs. See |g:ale_set_signs|. - - NOTE: This highlight is only available on Neovim 0.3.2 or higher. - - -ALEInfo *ALEInfo.* - *ALEInfo-highlight* - Default: `highlight link ALEInfo ALEWarning` - - The highlight for highlighted info messages. See |g:ale_set_highlights|. - - -ALEInfoSign *ALEInfoSign* - - Default: `highlight link ALEInfoSign ALEWarningSign` - - The highlight for info message signs. See |g:ale_set_signs|. - - -ALEInfoLine *ALEInfoLine* - - Default: Undefined - - The highlight for entire lines where info messages appear. Only the first - line for a problem will be highlighted. - - See |g:ale_set_signs| and |g:ale_set_highlights|. - - -ALEInfoSignLineNr *ALEInfoSignLineNr* - - Default: `highlight link ALEInfoSignLineNr CursorLineNr` - - The highlight for error signs. See |g:ale_set_signs|. - - NOTE: This highlight is only available on Neovim 0.3.2 or higher. - - -ALEStyleError *ALEStyleError* - - Default: `highlight link ALEStyleError ALEError` - - The highlight for highlighted style errors. See |g:ale_set_highlights|. - - -ALEStyleErrorSign *ALEStyleErrorSign* - - Default: `highlight link ALEStyleErrorSign ALEErrorSign` - - The highlight for style error signs. See |g:ale_set_signs|. - - -ALEStyleErrorSignLineNr *ALEStyleErrorSignLineNr* - - Default: `highlight link ALEStyleErrorSignLineNr CursorLineNr` - - The highlight for error signs. See |g:ale_set_signs|. - - NOTE: This highlight is only available on Neovim 0.3.2 or higher. - - -ALEStyleWarning *ALEStyleWarning* - - Default: `highlight link ALEStyleWarning ALEError` - - The highlight for highlighted style warnings. See |g:ale_set_highlights|. - - -ALEStyleWarningSign *ALEStyleWarningSign* - - Default: `highlight link ALEStyleWarningSign ALEWarningSign` - - The highlight for style warning signs. See |g:ale_set_signs|. - - -ALEStyleWarningSignLineNr *ALEStyleWarningSignLineNr* - - Default: `highlight link ALEStyleWarningSignLineNr CursorLineNr` - - The highlight for error signs. See |g:ale_set_signs|. - - NOTE: This highlight is only available on Neovim 0.3.2 or higher. - - -ALEVirtualTextError *ALEVirtualTextError* - - Default: `highlight link ALEVirtualTextError ALEError` - - The highlight for virtualtext errors. See |g:ale_virtualtext_cursor|. - - -ALEVirtualTextInfo *ALEVirtualTextInfo* - - Default: `highlight link ALEVirtualTextInfo ALEVirtualTextWarning` - - The highlight for virtualtext info. See |g:ale_virtualtext_cursor|. - - -ALEVirtualTextStyleError *ALEVirtualTextStyleError* - - Default: `highlight link ALEVirtualTextStyleError ALEVirtualTextError` - - The highlight for virtualtext style errors. See |g:ale_virtualtext_cursor|. - - -ALEVirtualTextStyleWarning *ALEVirtualTextStyleWarning* - - Default: `highlight link ALEVirtualTextStyleWarning ALEVirtualTextWarning` - - The highlight for virtualtext style warnings. See |g:ale_virtualtext_cursor|. - - -ALEVirtualTextWarning *ALEVirtualTextWarning* - - Default: `highlight link ALEVirtualTextWarning ALEWarning` - - The highlight for virtualtext errors. See |g:ale_virtualtext_cursor|. - - -ALEWarning *ALEWarning* - - Default: `highlight link ALEWarning SpellCap` - - The highlight for highlighted warnings. See |g:ale_set_highlights|. - - -ALEWarningLine *ALEWarningLine* - - Default: Undefined - - The highlight for entire lines where warnings appear. Only the first line - for a problem will be highlighted. - - See |g:ale_set_signs| and |g:ale_set_highlights|. - - -ALEWarningSign *ALEWarningSign* - - Default: `highlight link ALEWarningSign todo` - - The highlight for warning signs. See |g:ale_set_signs|. - - -ALEWarningSignLineNr *ALEWarningSignLineNr* - - Default: `highlight link ALEWarningSignLineNr CursorLineNr` - - The highlight for error signs. See |g:ale_set_signs|. - - NOTE: This highlight is only available on Neovim 0.3.2 or higher. - - -=============================================================================== -7. Linter/Fixer Options *ale-integration-options* - -Linter and fixer options are documented below and in individual help files. - -Every option for programs can be set globally, or individually for each -buffer. For example, `b:ale_python_flake8_executable` will override any -values set for `g:ale_python_flake8_executable`. - - *ale-integrations-local-executables* - -Some tools will prefer to search for locally-installed executables, unless -configured otherwise. For example, the `eslint` linter will search for -various executable paths in `node_modules`. The `flake8` linter will search -for virtualenv directories. - -If you prefer to use global executables for those tools, set the relevant -`_use_global` and `_executable` options for those linters. > - - " Use the global executable with a special name for eslint. - let g:ale_javascript_eslint_executable = 'special-eslint' - let g:ale_javascript_eslint_use_global = 1 - - " Use the global executable with a special name for flake8. - let g:ale_python_flake8_executable = '/foo/bar/flake8' - let g:ale_python_flake8_use_global = 1 -< -|g:ale_use_global_executables| can be set to `1` in your vimrc file to make -ALE use global executables for all linters by default. - -The option |g:ale_virtualenv_dir_names| controls the local virtualenv paths -ALE will use to search for Python executables. - - -------------------------------------------------------------------------------- -7.1. Options for alex *ale-alex-options* - -The options for `alex` are shared between all filetypes, so options can be -configured once. - -g:ale_alex_executable *g:ale_alex_executable* - *b:ale_alex_executable* - Type: |String| - Default: `'alex'` - - See |ale-integrations-local-executables| - - -g:ale_alex_use_global *g:ale_alex_use_global* - *b:ale_alex_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -------------------------------------------------------------------------------- -7.2. Options for languagetool *ale-languagetool-options* - -g:ale_languagetool_executable *g:ale_languagetool_executable* - *b:ale_languagetool_executable* - - Type: |String| - Default: `'languagetool'` - - The executable to run for languagetool. - - -g:ale_languagetool_options *g:ale_languagetool_options* - *b:ale_languagetool_options* - Type: |String| - Default: `'--autoDetect'` - - This variable can be set to pass additional options to languagetool. - - -------------------------------------------------------------------------------- -7.3. Options for write-good *ale-write-good-options* - -The options for `write-good` are shared between all filetypes, so options can -be configured once. - -g:ale_writegood_executable *g:ale_writegood_executable* - *b:ale_writegood_executable* - Type: |String| - Default: `'writegood'` - - See |ale-integrations-local-executables| - - -g:ale_writegood_options *g:ale_writegood_options* - *b:ale_writegood_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to writegood. - - -g:ale_writegood_use_global *g:ale_writegood_use_global* - *b:ale_writegood_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -------------------------------------------------------------------------------- -7.4. Other Linter/Fixer Options *ale-other-integration-options* - -ALE supports a very wide variety of tools. Other linter or fixer options are -documented in additional help files. - - ada.....................................|ale-ada-options| - gcc...................................|ale-ada-gcc| - gnatpp................................|ale-ada-gnatpp| - ansible.................................|ale-ansible-options| - ansible-lint..........................|ale-ansible-ansible-lint| - asciidoc................................|ale-asciidoc-options| - write-good............................|ale-asciidoc-write-good| - textlint..............................|ale-asciidoc-textlint| - asm.....................................|ale-asm-options| - gcc...................................|ale-asm-gcc| - awk.....................................|ale-awk-options| - gawk..................................|ale-awk-gawk| - bats....................................|ale-bats-options| - shellcheck............................|ale-bats-shellcheck| - bib.....................................|ale-bib-options| - bibclean..............................|ale-bib-bibclean| - c.......................................|ale-c-options| - clang.................................|ale-c-clang| - clangd................................|ale-c-clangd| - clang-format..........................|ale-c-clangformat| - clangtidy.............................|ale-c-clangtidy| - cppcheck..............................|ale-c-cppcheck| - cquery................................|ale-c-cquery| - flawfinder............................|ale-c-flawfinder| - gcc...................................|ale-c-gcc| - uncrustify............................|ale-c-uncrustify| - ccls..................................|ale-c-ccls| - chef....................................|ale-chef-options| - cookstyle.............................|ale-chef-cookstyle| - foodcritic............................|ale-chef-foodcritic| - clojure.................................|ale-clojure-options| - clj-kondo.............................|ale-clojure-clj-kondo| - joker.................................|ale-clojure-joker| - cloudformation..........................|ale-cloudformation-options| - cfn-python-lint.......................|ale-cloudformation-cfn-python-lint| - cmake...................................|ale-cmake-options| - cmakelint.............................|ale-cmake-cmakelint| - cmake-format..........................|ale-cmake-cmakeformat| - cpp.....................................|ale-cpp-options| - clang.................................|ale-cpp-clang| - clangd................................|ale-cpp-clangd| - clangcheck............................|ale-cpp-clangcheck| - clang-format..........................|ale-cpp-clangformat| - clangtidy.............................|ale-cpp-clangtidy| - clazy.................................|ale-cpp-clazy| - cppcheck..............................|ale-cpp-cppcheck| - cpplint...............................|ale-cpp-cpplint| - cquery................................|ale-cpp-cquery| - flawfinder............................|ale-cpp-flawfinder| - gcc...................................|ale-cpp-gcc| - uncrustify............................|ale-cpp-uncrustify| - ccls..................................|ale-cpp-ccls| - c#......................................|ale-cs-options| - csc...................................|ale-cs-csc| - mcs...................................|ale-cs-mcs| - mcsc..................................|ale-cs-mcsc| - uncrustify............................|ale-cs-uncrustify| - css.....................................|ale-css-options| - fecs..................................|ale-css-fecs| - prettier..............................|ale-css-prettier| - stylelint.............................|ale-css-stylelint| - cuda....................................|ale-cuda-options| - nvcc..................................|ale-cuda-nvcc| - clang-format..........................|ale-cuda-clangformat| - d.......................................|ale-d-options| - dfmt..................................|ale-d-dfmt| - dls...................................|ale-d-dls| - uncrustify............................|ale-d-uncrustify| - dart....................................|ale-dart-options| - dartanalyzer..........................|ale-dart-dartanalyzer| - dartfmt...............................|ale-dart-dartfmt| - dockerfile..............................|ale-dockerfile-options| - dockerfile_lint.......................|ale-dockerfile-dockerfile_lint| - hadolint..............................|ale-dockerfile-hadolint| - elixir..................................|ale-elixir-options| - mix...................................|ale-elixir-mix| - mix_format............................|ale-elixir-mix-format| - dialyxir..............................|ale-elixir-dialyxir| - elixir-ls.............................|ale-elixir-elixir-ls| - credo.................................|ale-elixir-credo| - elm.....................................|ale-elm-options| - elm-format............................|ale-elm-elm-format| - elm-ls................................|ale-elm-elm-ls| - elm-make..............................|ale-elm-elm-make| - erlang..................................|ale-erlang-options| - dialyzer..............................|ale-erlang-dialyzer| - erlc..................................|ale-erlang-erlc| - syntaxerl.............................|ale-erlang-syntaxerl| - eruby...................................|ale-eruby-options| - ruumba................................|ale-eruby-ruumba| - fish....................................|ale-fish-options| - fortran.................................|ale-fortran-options| - gcc...................................|ale-fortran-gcc| - language_server.......................|ale-fortran-language-server| - fountain................................|ale-fountain-options| - fusionscript............................|ale-fuse-options| - fusion-lint...........................|ale-fuse-fusionlint| - git commit..............................|ale-gitcommit-options| - gitlint...............................|ale-gitcommit-gitlint| - glsl....................................|ale-glsl-options| - glslang...............................|ale-glsl-glslang| - glslls................................|ale-glsl-glslls| - go......................................|ale-go-options| - bingo.................................|ale-go-bingo| - gobuild...............................|ale-go-gobuild| - gofmt.................................|ale-go-gofmt| - golangci-lint.........................|ale-go-golangci-lint| - golangserver..........................|ale-go-golangserver| - golint................................|ale-go-golint| - gometalinter..........................|ale-go-gometalinter| - gopls.................................|ale-go-gopls| - govet.................................|ale-go-govet| - revive................................|ale-go-revive| - staticcheck...........................|ale-go-staticcheck| - graphql.................................|ale-graphql-options| - eslint................................|ale-graphql-eslint| - gqlint................................|ale-graphql-gqlint| - prettier..............................|ale-graphql-prettier| - hack....................................|ale-hack-options| - hack..................................|ale-hack-hack| - hackfmt...............................|ale-hack-hackfmt| - hhast.................................|ale-hack-hhast| - handlebars..............................|ale-handlebars-options| - prettier..............................|ale-handlebars-prettier| - ember-template-lint...................|ale-handlebars-embertemplatelint| - haskell.................................|ale-haskell-options| - brittany..............................|ale-haskell-brittany| - floskell..............................|ale-haskell-floskell| - ghc...................................|ale-haskell-ghc| - ghc-mod...............................|ale-haskell-ghc-mod| - cabal-ghc.............................|ale-haskell-cabal-ghc| - hdevtools.............................|ale-haskell-hdevtools| - hfmt..................................|ale-haskell-hfmt| - hindent...............................|ale-haskell-hindent| - hlint.................................|ale-haskell-hlint| - stack-build...........................|ale-haskell-stack-build| - stack-ghc.............................|ale-haskell-stack-ghc| - stylish-haskell.......................|ale-haskell-stylish-haskell| - hie...................................|ale-haskell-hie| - hcl.....................................|ale-hcl-options| - terraform-fmt.........................|ale-hcl-terraform-fmt| - html....................................|ale-html-options| - fecs..................................|ale-html-fecs| - html-beautify.........................|ale-html-beautify| - htmlhint..............................|ale-html-htmlhint| - tidy..................................|ale-html-tidy| - prettier..............................|ale-html-prettier| - stylelint.............................|ale-html-stylelint| - write-good............................|ale-html-write-good| - idris...................................|ale-idris-options| - idris.................................|ale-idris-idris| - ink.....................................|ale-ink-options| - ink-language-server...................|ale-ink-language-server| - ispc....................................|ale-ispc-options| - ispc..................................|ale-ispc-ispc| - java....................................|ale-java-options| - checkstyle............................|ale-java-checkstyle| - javac.................................|ale-java-javac| - google-java-format....................|ale-java-google-java-format| - pmd...................................|ale-java-pmd| - javalsp...............................|ale-java-javalsp| - eclipselsp............................|ale-java-eclipselsp| - uncrustify............................|ale-java-uncrustify| - javascript..............................|ale-javascript-options| - eslint................................|ale-javascript-eslint| - fecs..................................|ale-javascript-fecs| - flow..................................|ale-javascript-flow| - importjs..............................|ale-javascript-importjs| - jscs..................................|ale-javascript-jscs| - jshint................................|ale-javascript-jshint| - prettier..............................|ale-javascript-prettier| - prettier-eslint.......................|ale-javascript-prettier-eslint| - prettier-standard.....................|ale-javascript-prettier-standard| - standard..............................|ale-javascript-standard| - xo....................................|ale-javascript-xo| - json....................................|ale-json-options| - fixjson...............................|ale-json-fixjson| - jsonlint..............................|ale-json-jsonlint| - jq....................................|ale-json-jq| - prettier..............................|ale-json-prettier| - julia...................................|ale-julia-options| - languageserver........................|ale-julia-languageserver| - kotlin..................................|ale-kotlin-options| - kotlinc...............................|ale-kotlin-kotlinc| - ktlint................................|ale-kotlin-ktlint| - languageserver........................|ale-kotlin-languageserver| - latex...................................|ale-latex-options| - write-good............................|ale-latex-write-good| - textlint..............................|ale-latex-textlint| - less....................................|ale-less-options| - lessc.................................|ale-less-lessc| - prettier..............................|ale-less-prettier| - stylelint.............................|ale-less-stylelint| - llvm....................................|ale-llvm-options| - llc...................................|ale-llvm-llc| - lua.....................................|ale-lua-options| - luac..................................|ale-lua-luac| - luacheck..............................|ale-lua-luacheck| - markdown................................|ale-markdown-options| - mdl...................................|ale-markdown-mdl| - prettier..............................|ale-markdown-prettier| - remark-lint...........................|ale-markdown-remark-lint| - textlint..............................|ale-markdown-textlint| - write-good............................|ale-markdown-write-good| - mercury.................................|ale-mercury-options| - mmc...................................|ale-mercury-mmc| - nasm....................................|ale-nasm-options| - nasm..................................|ale-nasm-nasm| - nim.....................................|ale-nim-options| - nimcheck..............................|ale-nim-nimcheck| - nimlsp................................|ale-nim-nimlsp| - nimpretty.............................|ale-nim-nimpretty| - nix.....................................|ale-nix-options| - nixpkgs-fmt...........................|ale-nix-nixpkgs-fmt| - nroff...................................|ale-nroff-options| - write-good............................|ale-nroff-write-good| - objc....................................|ale-objc-options| - clang.................................|ale-objc-clang| - clangd................................|ale-objc-clangd| - uncrustify............................|ale-objc-uncrustify| - ccls..................................|ale-objc-ccls| - objcpp..................................|ale-objcpp-options| - clang.................................|ale-objcpp-clang| - clangd................................|ale-objcpp-clangd| - uncrustify............................|ale-objcpp-uncrustify| - ocaml...................................|ale-ocaml-options| - merlin................................|ale-ocaml-merlin| - ols...................................|ale-ocaml-ols| - ocamlformat...........................|ale-ocaml-ocamlformat| - ocp-indent............................|ale-ocaml-ocp-indent| - pawn....................................|ale-pawn-options| - uncrustify............................|ale-pawn-uncrustify| - perl....................................|ale-perl-options| - perl..................................|ale-perl-perl| - perlcritic............................|ale-perl-perlcritic| - perltidy..............................|ale-perl-perltidy| - perl6...................................|ale-perl6-options| - perl6.................................|ale-perl6-perl6| - php.....................................|ale-php-options| - langserver............................|ale-php-langserver| - phan..................................|ale-php-phan| - phpcbf................................|ale-php-phpcbf| - phpcs.................................|ale-php-phpcs| - phpmd.................................|ale-php-phpmd| - phpstan...............................|ale-php-phpstan| - psalm.................................|ale-php-psalm| - php-cs-fixer..........................|ale-php-php-cs-fixer| - php...................................|ale-php-php| - po......................................|ale-po-options| - write-good............................|ale-po-write-good| - pod.....................................|ale-pod-options| - write-good............................|ale-pod-write-good| - pony....................................|ale-pony-options| - ponyc.................................|ale-pony-ponyc| - powershell............................|ale-powershell-options| - powershell..........................|ale-powershell-powershell| - psscriptanalyzer....................|ale-powershell-psscriptanalyzer| - prolog..................................|ale-prolog-options| - swipl.................................|ale-prolog-swipl| - proto...................................|ale-proto-options| - protoc-gen-lint.......................|ale-proto-protoc-gen-lint| - pug.....................................|ale-pug-options| - puglint...............................|ale-pug-puglint| - puppet..................................|ale-puppet-options| - puppet................................|ale-puppet-puppet| - puppetlint............................|ale-puppet-puppetlint| - puppet-languageserver.................|ale-puppet-languageserver| - purescript..............................|ale-purescript-options| - purescript-language-server............|ale-purescript-language-server| - purty.................................|ale-purescript-purty| - pyrex (cython)..........................|ale-pyrex-options| - cython................................|ale-pyrex-cython| - python..................................|ale-python-options| - autopep8..............................|ale-python-autopep8| - bandit................................|ale-python-bandit| - black.................................|ale-python-black| - flake8................................|ale-python-flake8| - isort.................................|ale-python-isort| - mypy..................................|ale-python-mypy| - prospector............................|ale-python-prospector| - pycodestyle...........................|ale-python-pycodestyle| - pydocstyle............................|ale-python-pydocstyle| - pyflakes..............................|ale-python-pyflakes| - pylama................................|ale-python-pylama| - pylint................................|ale-python-pylint| - pyls..................................|ale-python-pyls| - pyre..................................|ale-python-pyre| - reorder-python-imports................|ale-python-reorder_python_imports| - vulture...............................|ale-python-vulture| - yapf..................................|ale-python-yapf| - qml.....................................|ale-qml-options| - qmlfmt................................|ale-qml-qmlfmt| - r.......................................|ale-r-options| - lintr.................................|ale-r-lintr| - styler................................|ale-r-styler| - reasonml................................|ale-reasonml-options| - merlin................................|ale-reasonml-merlin| - ols...................................|ale-reasonml-ols| - reason-language-server................|ale-reasonml-language-server| - refmt.................................|ale-reasonml-refmt| - restructuredtext........................|ale-restructuredtext-options| - textlint..............................|ale-restructuredtext-textlint| - write-good............................|ale-restructuredtext-write-good| - ruby....................................|ale-ruby-options| - brakeman..............................|ale-ruby-brakeman| - debride...............................|ale-ruby-debride| - rails_best_practices..................|ale-ruby-rails_best_practices| - reek..................................|ale-ruby-reek| - rubocop...............................|ale-ruby-rubocop| - ruby..................................|ale-ruby-ruby| - rufo..................................|ale-ruby-rufo| - solargraph............................|ale-ruby-solargraph| - sorbet................................|ale-ruby-sorbet| - standardrb............................|ale-ruby-standardrb| - rust....................................|ale-rust-options| - analyzer..............................|ale-rust-analyzer| - cargo.................................|ale-rust-cargo| - rls...................................|ale-rust-rls| - rustc.................................|ale-rust-rustc| - rustfmt...............................|ale-rust-rustfmt| - sass....................................|ale-sass-options| - sasslint..............................|ale-sass-sasslint| - stylelint.............................|ale-sass-stylelint| - scala...................................|ale-scala-options| - metals................................|ale-scala-metals| - sbtserver.............................|ale-scala-sbtserver| - scalafmt..............................|ale-scala-scalafmt| - scalastyle............................|ale-scala-scalastyle| - scss....................................|ale-scss-options| - prettier..............................|ale-scss-prettier| - sasslint..............................|ale-scss-sasslint| - stylelint.............................|ale-scss-stylelint| - sh......................................|ale-sh-options| - sh-language-server....................|ale-sh-language-server| - shell.................................|ale-sh-shell| - shellcheck............................|ale-sh-shellcheck| - shfmt.................................|ale-sh-shfmt| - sml.....................................|ale-sml-options| - smlnj.................................|ale-sml-smlnj| - solidity................................|ale-solidity-options| - solc..................................|ale-solidity-solc| - solhint...............................|ale-solidity-solhint| - solium................................|ale-solidity-solium| - spec....................................|ale-spec-options| - rpmlint...............................|ale-spec-rpmlint| - sql.....................................|ale-sql-options| - pgformatter...........................|ale-sql-pgformatter| - sqlfmt................................|ale-sql-sqlfmt| - sqlformat.............................|ale-sql-sqlformat| - stylus..................................|ale-stylus-options| - stylelint.............................|ale-stylus-stylelint| - sugarss.................................|ale-sugarss-options| - stylelint.............................|ale-sugarss-stylelint| - swift...................................|ale-swift-options| - sourcekitlsp..........................|ale-swift-sourcekitlsp| - tcl.....................................|ale-tcl-options| - nagelfar..............................|ale-tcl-nagelfar| - terraform...............................|ale-terraform-options| - terraform-fmt-fixer...................|ale-terraform-fmt-fixer| - terraform.............................|ale-terraform-terraform| - terraform-lsp.........................|ale-terraform-terraform-lsp| - tflint................................|ale-terraform-tflint| - tex.....................................|ale-tex-options| - chktex................................|ale-tex-chktex| - lacheck...............................|ale-tex-lacheck| - latexindent...........................|ale-tex-latexindent| - texlab................................|ale-tex-texlab| - texinfo.................................|ale-texinfo-options| - write-good............................|ale-texinfo-write-good| - text....................................|ale-text-options| - textlint..............................|ale-text-textlint| - write-good............................|ale-text-write-good| - thrift..................................|ale-thrift-options| - thrift................................|ale-thrift-thrift| - typescript..............................|ale-typescript-options| - eslint................................|ale-typescript-eslint| - prettier..............................|ale-typescript-prettier| - standard..............................|ale-typescript-standard| - tslint................................|ale-typescript-tslint| - tsserver..............................|ale-typescript-tsserver| - vala....................................|ale-vala-options| - uncrustify............................|ale-vala-uncrustify| - verilog/systemverilog...................|ale-verilog-options| - iverilog..............................|ale-verilog-iverilog| - verilator.............................|ale-verilog-verilator| - vlog..................................|ale-verilog-vlog| - xvlog.................................|ale-verilog-xvlog| - vhdl....................................|ale-vhdl-options| - ghdl..................................|ale-vhdl-ghdl| - vcom..................................|ale-vhdl-vcom| - xvhdl.................................|ale-vhdl-xvhdl| - vim.....................................|ale-vim-options| - vimls.................................|ale-vim-vimls| - vint..................................|ale-vim-vint| - vim help................................|ale-vim-help-options| - write-good............................|ale-vim-help-write-good| - vue.....................................|ale-vue-options| - prettier..............................|ale-vue-prettier| - vls...................................|ale-vue-vls| - xhtml...................................|ale-xhtml-options| - write-good............................|ale-xhtml-write-good| - xml.....................................|ale-xml-options| - xmllint...............................|ale-xml-xmllint| - yaml....................................|ale-yaml-options| - prettier..............................|ale-yaml-prettier| - swaglint..............................|ale-yaml-swaglint| - yamllint..............................|ale-yaml-yamllint| - yang....................................|ale-yang-options| - yang-lsp..............................|ale-yang-lsp| - - -=============================================================================== -8. Commands/Keybinds *ale-commands* - -ALEComplete *ALEComplete* - - Manually trigger LSP autocomplete and show the menu. Works only when called - from insert mode. > - - inoremap :AleComplete -< - A plug mapping `(ale_complete)` is defined for this command. > - - imap (ale_complete) -< -ALEDocumentation *ALEDocumentation* - - Similar to the |ALEHover| command, retrieve documentation information for - the symbol at the cursor. Documentation data will always be shown in a - preview window, no matter how small the documentation content is. - - NOTE: This command is only available for `tsserver`. - - A plug mapping `(ale_documentation)` is defined for this command. - - -ALEFindReferences *ALEFindReferences* - - Find references in the codebase for the symbol under the cursor using the - enabled LSP linters for the buffer. ALE will display a preview window - containing the results if some references are found. - - The window can be navigated using the usual Vim navigation commands. The - Enter key (``) can be used to jump to a referencing location, or the `t` - key can be used to jump to the location in a new tab. - - The locations opened in different ways using the following variations. - - `:ALEFindReferences -tab` - Open the location in a new tab. - `:ALEFindReferences -split` - Open the location in a horizontal split. - `:ALEFindReferences -vsplit` - Open the location in a vertical split. - - The default method used for navigating to a new location can be changed - by modifying |g:ale_default_navigation|. - - The selection can be opened again with the |ALERepeatSelection| command. - - You can jump back to the position you were at before going to a reference of - something with jump motions like CTRL-O. See |jump-motions|. - - A plug mapping `(ale_find_references)` is defined for this command. - - -ALEFix *ALEFix* - - Fix problems with the current buffer. See |ale-fix| for more information. - - A plug mapping `(ale_fix)` is defined for this command. - - -ALEFixSuggest *ALEFixSuggest* - - Suggest tools that can be used to fix problems in the current buffer. - - See |ale-fix| for more information. - - -ALEGoToDefinition `` *ALEGoToDefinition* - - Jump to the definition of a symbol under the cursor using the enabled LSP - linters for the buffer. ALE will jump to a definition if an LSP server - provides a location to jump to. Otherwise, ALE will do nothing. - - The locations opened in different ways using the following variations. - - `:ALEGoToDefinition -tab` - Open the location in a new tab. - `:ALEGoToDefinition -split` - Open the location in a horizontal split. - `:ALEGoToDefinition -vsplit` - Open the location in a vertical split. - - The default method used for navigating to a new location can be changed - by modifying |g:ale_default_navigation|. - - You can jump back to the position you were at before going to the definition - of something with jump motions like CTRL-O. See |jump-motions|. - - You should consider using the 'hidden' option in combination with this - command. Otherwise, Vim will refuse to leave the buffer you're jumping from - unless you have saved your edits. - - A plug mapping `(ale_go_to_definition)` is defined for this command. - - -ALEGoToTypeDefinition *ALEGoToTypeDefinition* - - This works similar to |ALEGoToDefinition| but instead jumps to the - definition of a type of a symbol under the cursor. ALE will jump to a - definition if an LSP server provides a location to jump to. Otherwise, ALE - will do nothing. - - The locations opened in different ways using the following variations. - - `:ALEGoToTypeDefinition -tab` - Open the location in a new tab. - `:ALEGoToTypeDefinition -split` - Open the location in a horizontal split. - `:ALEGoToTypeDefinition -vsplit` - Open the location in a vertical split. - - The default method used for navigating to a new location can be changed - by modifying |g:ale_default_navigation|. - - You can jump back to the position you were at before going to the definition - of something with jump motions like CTRL-O. See |jump-motions|. - - A plug mapping `(ale_go_to_type_definition)` is defined for this - command. - - -ALEHover *ALEHover* - - Print brief information about the symbol under the cursor, taken from any - available LSP linters. There may be a small non-blocking delay before - information is printed. - - NOTE: In Vim 8, long messages will be shown in a preview window, as Vim 8 - does not support showing a prompt to press enter to continue for long - messages from asynchronous callbacks. - - A plug mapping `(ale_hover)` is defined for this command. - - -ALEOrganizeImports *ALEOrganizeImports* - - Organize imports using tsserver. Currently not implemented for LSPs. - - -ALERename *ALERename* - - Rename a symbol using TypeScript server or Language Server. - - The user will be prompted for a new name. - - -ALERepeatSelection *ALERepeatSelection* - - Repeat the last selection displayed in the preview window. - - -ALESymbolSearch `` *ALESymbolSearch* - - Search for symbols in the workspace, taken from any available LSP linters. - - The arguments provided to this command will be used as a search query for - finding symbols in the workspace, such as functions, types, etc. - - *:ALELint* -ALELint *ALELint* - - Run ALE once for the current buffer. This command can be used to run ALE - manually, instead of automatically, if desired. - - This command will also run linters where `lint_file` is set to `1`, or in - other words linters which check the file instead of the Vim buffer. - - A plug mapping `(ale_lint)` is defined for this command. - - -ALEPrevious *ALEPrevious* -ALEPreviousWrap *ALEPreviousWrap* -ALENext *ALENext* -ALENextWrap *ALENextWrap* -ALEFirst *ALEFirst* -ALELast *ALELast* - *ale-navigation-commands* - - Move between warnings or errors in a buffer. ALE will only navigate between - the errors or warnings it generated, even if both |g:ale_set_quickfix| - and |g:ale_set_loclist| are set to `0`. - - `ALEPrevious` and `ALENext` will stop at the top and bottom of a file, while - `ALEPreviousWrap` and `ALENextWrap` will wrap around the file to find - the last or first warning or error in the file, respectively. - - `ALEPrevious` and `ALENext` take optional flags arguments to custom their - behaviour : - `-wrap` enable wrapping around the file - `-error`, `-warning` and `-info` enable jumping to errors, warnings or infos - respectively, ignoring anything else. They are mutually exclusive and if - several are provided the priority is the following: error > warning > info. - `-style` and `-nostyle` allow you to jump respectively to style error or - warning and to not style error or warning. They also are mutually - exclusive and nostyle has priority over style. - - Flags can be combined to create create custom jumping. Thus you can use - ":ALENext -wrap -error -nosyle" to jump to the next error which is not a - style error while going back to the beginning of the file if needed. - - `ALEFirst` goes to the first error or warning in the buffer, while `ALELast` - goes to the last one. - - The following || mappings are defined for the commands: > - (ale_previous) - ALEPrevious - (ale_previous_wrap) - ALEPreviousWrap - (ale_previous_error) - ALEPrevious -error - (ale_previous_wrap_error) - ALEPrevious -wrap -error - (ale_previous_warning) - ALEPrevious -warning - (ale_previous_wrap_warning) - ALEPrevious -wrap -warning - (ale_next) - ALENext - (ale_next_wrap) - ALENextWrap - (ale_next_error) - ALENext -error - (ale_next_wrap_error) - ALENext -wrap -error - (ale_next_warning) - ALENext -warning - (ale_next_wrap_warning) - ALENext -wrap -warning - (ale_first) - ALEFirst - (ale_last) - ALELast -< - For example, these commands could be bound to the keys Ctrl + j - and Ctrl + k: > - - " Map movement through errors without wrapping. - nmap (ale_previous) - nmap (ale_next) - " OR map keys to use wrapping. - nmap (ale_previous_wrap) - nmap (ale_next_wrap) -< - -ALEToggle *ALEToggle* -ALEEnable *ALEEnable* -ALEDisable *ALEDisable* -ALEToggleBuffer *ALEToggleBuffer* -ALEEnableBuffer *ALEEnableBuffer* -ALEDisableBuffer *ALEDisableBuffer* - - `ALEToggle`, `ALEEnable`, and `ALEDisable` enable or disable ALE linting, - including all of its autocmd events, loclist items, quickfix items, signs, - current jobs, etc., globally. Executing any of these commands will change - the |g:ale_enabled| variable. - - ALE can be disabled or enabled for only a single buffer with - `ALEToggleBuffer`, `ALEEnableBuffer`, and `ALEDisableBuffer`. Disabling ALE - for a buffer will not remove autocmd events, but will prevent ALE from - checking for problems and reporting problems for whatever buffer the - `ALEDisableBuffer` or `ALEToggleBuffer` command is executed from. These - commands can be used for temporarily disabling ALE for a buffer. These - commands will modify the |b:ale_enabled| variable. - - ALE linting cannot be enabled for a single buffer when it is disabled - globally, as disabling ALE globally removes the autocmd events needed to - perform linting with. - - The following plug mappings are defined, for conveniently defining keybinds: - - |ALEToggle| - `(ale_toggle)` - |ALEEnable| - `(ale_enable)` - |ALEDisable| - `(ale_disable)` - |ALEToggleBuffer| - `(ale_toggle_buffer)` - |ALEEnableBuffer| - `(ale_enable_buffer)` - |ALEDisableBuffer| - `(ale_disable_buffer)` - - For removing problems reported by ALE, but leaving ALE enabled, see - |ALEReset| and |ALEResetBuffer|. - - *:ALEDetail* -ALEDetail *ALEDetail* - - Show the full linter message for the problem nearest to the cursor on the - given line in the preview window. The preview window can be easily closed - with the `q` key. If there is no message to show, the window will not be - opened. - - If a loclist item has a `detail` key set, the message for that key will be - preferred over `text`. See |ale-loclist-format|. - - A plug mapping `(ale_detail)` is defined for this command. - - - *:ALEInfo* -ALEInfo *ALEInfo* -ALEInfoToClipboard *ALEInfoToClipboard* - - Print runtime information about ALE, including the values of global and - buffer-local settings for ALE, the linters that are enabled, the commands - that have been run, and the output of commands. - - ALE will log the commands that are run by default. If you wish to disable - this, set |g:ale_history_enabled| to `0`. Because it could be expensive, ALE - does not remember the output of recent commands by default. Set - |g:ale_history_log_output| to `1` to enable logging of output for commands. - ALE will only log the output captured for parsing problems, etc. - - The command `:ALEInfoToClipboard` can be used to output ALEInfo directly to - your clipboard. This might not work on every machine. - - `:ALEInfoToFile` will write the ALE runtime information to a given filename. - The filename works just like |:w|. - - -ALEReset *ALEReset* -ALEResetBuffer *ALEResetBuffer* - - `ALEReset` will remove all problems reported by ALE for all buffers. - `ALEResetBuffer` will remove all problems reported for a single buffer. - - Either command will leave ALE linting enabled, so ALE will report problems - when linting is performed again. See |ale-lint| for more information. - - The following plug mappings are defined, for conveniently defining keybinds: - - |ALEReset| - `(ale_reset)` - |ALEResetBuffer| - `(ale_reset_buffer)` - - ALE can be disabled globally or for a buffer with |ALEDisable| or - |ALEDisableBuffer|. - - -ALEStopAllLSPs *ALEStopAllLSPs* - - `ALEStopAllLSPs` will close and stop all channels and jobs for all LSP-like - clients, including tsserver, remove all of the data stored for them, and - delete all of the problems found for them, updating every linted buffer. - - This command can be used when LSP clients mess up and need to be restarted. - - -=============================================================================== -9. API *ale-api* - -ALE offers a number of functions for running linters or fixers, or defining -them. The following functions are part of the publicly documented part of that -API, and should be expected to continue to work. - - -ale#Env(variable_name, value) *ale#Env()* - - Given a variable name and a string value, produce a string for including in - a command for setting environment variables. This function can be used for - building a command like so. > - - :echo string(ale#Env('VAR', 'some value') . 'command') - 'VAR=''some value'' command' # On Linux or Mac OSX - 'set VAR="some value" && command' # On Windows - - -ale#Has(feature) *ale#Has()* - - Return `1` if ALE supports a given feature, like |has()| for Vim features. - - ALE versions can be checked with version strings in the format - `ale#Has('ale-x.y.z')`, such as `ale#Has('ale-2.4.0')`. - - -ale#Pad(string) *ale#Pad()* - - Given a string or any |empty()| value, return either the string prefixed - with a single space, or an empty string. This function can be used to build - parts of a command from variables. - - -ale#Queue(delay, [linting_flag, buffer_number]) *ale#Queue()* - - Run linters for the current buffer, based on the filetype of the buffer, - with a given `delay`. A `delay` of `0` will run the linters immediately. - The linters will always be run in the background. Calling this function - again from the same buffer - - An optional `linting_flag` argument can be given. If `linting_flag` - is `'lint_file'`, then linters where the `lint_file` option is set to `1` will be - run. Linters with `lint_file` set to `1` are not run by default. - - An optional `buffer_number` argument can be given for specifying the buffer - to check. The active buffer (`bufnr('')`) will be checked by default. - - *ale-cool-down* - If an exception is thrown when queuing/running ALE linters, ALE will enter - a cool down period where it will stop checking anything for a short period - of time. This is to prevent ALE from seriously annoying users if a linter - is broken, or when developing ALE itself. - - -ale#command#CreateDirectory(buffer) *ale#command#CreateDirectory()* - - Create a new temporary directory with a unique name, and manage that - directory with |ale#command#ManageDirectory()|, so it will be removed as soon - as possible. - - It is advised to only call this function from a callback function for - returning a linter command to run. - - -ale#command#CreateFile(buffer) *ale#command#CreateFile()* - - Create a new temporary file with a unique name, and manage that file with - |ale#command#ManageFile()|, so it will be removed as soon as possible. - - It is advised to only call this function from a callback function for - returning a linter command to run. - - -ale#command#Run(buffer, command, callback, [options]) *ale#command#Run()* - - Start running a job in the background, and pass the results to the given - callback later. - - This function can be used for computing the results of ALE linter or fixer - functions asynchronously with jobs. `buffer` must match the buffer being - linted or fixed, `command` must be a |String| for a shell command to - execute, `callback` must be defined as a |Funcref| to call later with the - results, and an optional |Dictionary| of `options` can be provided. - - The `callback` will receive the arguments `(buffer, output, metadata)`, - where the `buffer` will match the buffer given to the function, the `output` - will be a `List` of lines of output from the job that was run, and the - `metadata` will be a |Dictionary| with additional information about the job - that was run, including: - - `exit_code` - A |Number| with the exit code for the program that was run. - - The result of this function is either a special |Dictionary| ALE will use - for waiting for the command to finish, or `0` if the job is not started. The - The return value of the `callback` will be used as the eventual result for - whatever value is being given to ALE. For example: > - - function! s:GetCommand(buffer, output, meta) abort - " Do something with a:output here, from the foo command. - - " This is used as the command to run for linting. - return 'final command' - endfunction - - " ... - - 'command': {b -> ale#command#Run(b, 'foo', function('s:GetCommand'))} -< - The result of a callback can also be the result of another call to this - function, so that several commands can be arbitrarily chained together. For - example: > - - function! s:GetAnotherCommand(buffer, output, meta) abort - " We can finally return this command. - return 'last command' - endfunction - - function! s:GetCommand(buffer, output, meta) abort - " We can return another deferred result. - return ale#command#Run( - \ a:buffer, - \ 'second command', - \ function('s:GetAnotherCommand') - \) - endfunction - - " ... - - 'command': {b -> ale#command#Run(b, 'foo', function('s:GetCommand'))} -< - The following `options` can be provided. - - `output_stream` - Either `'stdout'`, `'stderr'`, `'both'`, or `'none`' for - selecting which output streams to read lines from. - - The default is `'stdout'` - - `executable` - An executable for formatting into `%e` in the command. - If this option is not provided, formatting commands with - `%e` will not work. - - `read_buffer` - If set to `1`, the buffer will be piped into the - command. - - The default is `0`. - - `input` - When creating temporary files with `%t` or piping text - into a command `input` can be set to a |List| of text to - use instead of the buffer's text. - - -ale#command#EscapeCommandPart(command_part) *ale#command#EscapeCommandPart()* - - Given a |String|, return a |String| with all `%` characters replaced with - `%%` instead. This function can be used to escape strings which are - dynamically generated for commands before handing them over to ALE, - so that ALE doesn't treat any strings with `%` formatting sequences - specially. - - -ale#command#ManageDirectory(buffer, directory) *ale#command#ManageDirectory()* - - Like |ale#command#ManageFile()|, but directories and all of their contents - will be deleted, akin to `rm -rf directory`, which could lead to loss of - data if mistakes are made. This command will also delete any temporary - filenames given to it. - - It is advised to use |ale#command#ManageFile()| instead for deleting single - files. - - -ale#command#ManageFile(buffer, filename) *ale#command#ManageFile()* - - Given a buffer number for a buffer currently running some linting or fixing - tasks and a filename, register a filename with ALE for automatic deletion - after linting or fixing is complete, or when Vim exits. - - If Vim exits suddenly, ALE will try its best to remove temporary files, but - ALE cannot guarantee with absolute certainty that the files will be removed. - It is advised to create temporary files in the operating system's managed - temporary file directory, such as with |tempname()|. - - Directory names should not be given to this function. ALE will only delete - files and symlinks given to this function. This is to prevent entire - directories from being accidentally deleted, say in cases of writing - `dir . '/' . filename` where `filename` is actually `''`, etc. ALE instead - manages directories separately with the |ale#command#ManageDirectory| function. - - -ale#completion#OmniFunc(findstart, base) *ale#completion#OmniFunc()* - - A completion function to use with 'omnifunc'. - - See |ale-completion|. - - -ale#engine#GetLoclist(buffer) *ale#engine#GetLoclist()* - - Given a buffer number, this function will return the list of problems - reported by ALE for a given buffer in the format accepted by |setqflist()|. - - A reference to the buffer's list of problems will be returned. The list must - be copied before applying |map()| or |filter()|. - - -ale#engine#IsCheckingBuffer(buffer) *ale#engine#IsCheckingBuffer()* - - Given a buffer number, returns `1` when ALE is busy checking that buffer. - - This function can be used for status lines, tab names, etc. - - -ale#fix#registry#Add(name, func, filetypes, desc, [aliases]) - *ale#fix#registry#Add()* - - Given a |String| `name` for a name to add to the registry, a |String| `func` - for a function name, a |List| `filetypes` for a list of filetypes to - set for suggestions, and a |String| `desc` for a short description of - the fixer, register a fixer in the registry. - - The `name` can then be used for |g:ale_fixers| in place of the function - name, and suggested for fixing files. - - An optional |List| of |String|s for aliases can be passed as the `aliases` - argument. These aliases can also be used for looking up a fixer function. - ALE will search for fixers in the registry first by `name`, then by their - `aliases`. - - -ale#linter#Define(filetype, linter) *ale#linter#Define()* - - Given a |String| for a filetype and a |Dictionary| Describing a linter - configuration, add a linter for the given filetype. The dictionaries each - offer the following options: - - `name` The name of the linter. These names will be used by - |g:ale_linters| option for enabling/disabling - particular linters. - - This argument is required. - - `callback` A |String| or |Funcref| for a callback function - accepting two arguments (buffer, lines), for a - buffer number the output is for, and the lines of - output from a linter. - - This callback function should return a |List| of - |Dictionary| objects in the format accepted by - |setqflist()|. The |List| will be sorted by line and - then column order so it can be searched with a binary - search by in future before being passed on to the - |loclist|, etc. - - This argument is required, unless the linter is an - LSP linter. In which case, this argument must not be - defined, as LSP linters handle diagnostics - automatically. See |ale-lsp-linters|. - - If the function named does not exist, including if - the function is later deleted, ALE will behave as if - the callback returned an empty list. - - The keys for each item in the List will be handled in - the following manner: - *ale-loclist-format* - `text` - This error message is required. - `detail` - An optional, more descriptive message. - This message can be displayed with the |ALEDetail| - command instead of the message for `text`, if set. - `lnum` - The line number is required. Any strings - will be automatically converted to numbers by - using `str2nr()`. - - Line 0 will be moved to line 1, and lines beyond - the end of the file will be moved to the end. - `col` - The column number is optional and will - default to `0`. Any strings will be automatically - converted to number using `str2nr()`. - `end_col` - An optional end column number. - This key can be set to specify the column problems - end on, for improved highlighting. - `end_lnum` - An optional end line number. - This key can set along with `end_col` for - highlighting multi-line problems. - `bufnr` - This key represents the buffer number the - problems are for. This value will default to - the buffer number being checked. - - The `filename` key can be set instead of this key, - and then the eventual `bufnr` value in the final - list will either represent the number for an open - buffer or `-1` for a file not open in any buffer. - `filename` - An optional filename for the file the - problems are for. This should be an absolute path to - a file. - - Problems for files which have not yet been opened - will be set in those files after they are opened - and have been checked at least once. - - Temporary files in directories used for Vim - temporary files with `tempname()` will be assumed - to be the buffer being checked, unless the `bufnr` - key is also set with a valid number for some other - buffer. - `vcol` - Defaults to `0`. - - If set to `1`, ALE will convert virtual column - positions for `col` and `end_col` to byte column - positions. If the buffer is changed in-between - checking it and displaying the results, the - calculated byte column positions will probably be - wrong. - `type` - Defaults to `'E'`. - `nr` - Defaults to `-1`. - - Numeric error code. If `nr` is not `-1`, `code` - likely should contain the string representation of - the same value. - `code` - No default; may be unset. - - Human-readable |String| error code. - - `executable` A |String| naming the executable itself which - will be run, or a |Funcref| for a function to call - for computing the executable, accepting a buffer - number. - - The result can be computed with |ale#command#Run()|. - - This value will be used to check if the program - requested is installed or not. - - If an `executable` is not defined, the command will - be run without checking if a program is executable - first. Defining an executable path is recommended to - avoid starting too many processes. - - `command` A |String| for a command to run asynchronously, or a - |Funcref| for a function to call for computing the - command, accepting a buffer number. - - The result can be computed with |ale#command#Run()|. - - This command will be fed the lines from the buffer to - check, and will produce the lines of output given to - the `callback`. - - `output_stream` A |String| for the output stream the lines of output - should be read from for the command which is run. The - accepted values are `'stdout'`, `'stderr'`, and - `'both'`. This argument defaults to `'stdout'`. This - argument can be set for linter programs which output - their errors and warnings to the stderr stream - instead of stdout. The option `'both'` will read - from both stder and stdout at the same time. - - `read_buffer` A |Number| (`0` or `1`) indicating whether a command - should read the Vim buffer as input via stdin. This - option is set to `1` by default, and can be disabled - if a command manually reads from a temporary file - instead, etc. - - *ale-lint-file* - `lint_file` A |Number| (`0` or `1`) indicating whether a command - should read the file instead of the Vim buffer. This - option can be used for linters which must check the - file on disk, and which cannot check a Vim buffer - instead. - - Linters set with this option will not be run as a - user types, per |g:ale_lint_on_text_changed|. Linters - will instead be run only when events occur against - the file on disk, including |g:ale_lint_on_enter| - and |g:ale_lint_on_save|. Linters with this option - set to `1` will also be run when linters are run - manually, per |ALELintPost-autocmd|. - - When this option is set to `1`, `read_buffer` will - be set automatically to `0`. The two options cannot - be used together. - - *ale-lsp-linters* - `lsp` A |String| for defining LSP (Language Server Protocol) - linters. - - This argument may be omitted or `''` when a linter - does not represent an LSP linter. - - When this argument is set to `'stdio'`, then the - linter will be defined as an LSP linter which keeps a - process for a language server running, and - communicates with it directly via a |channel|. - `executable` and `command` must be set. - - When this argument is set to `'socket'`, then the - linter will be defined as an LSP linter via a TCP - socket connection. `address` must be set. - - ALE will not start a server automatically. - - When this argument is not empty `project_root` must - be defined. - - `language` can be defined to describe the language - for a file. The filetype will be used as the language - by default. - - LSP linters handle diagnostics automatically, so - the `callback` argument must not be defined. - - An optional `completion_filter` callback may be - defined for filtering completion results. - - `initialization_options` may be defined to pass - initialization options to the LSP. - - `lsp_config` may be defined to pass configuration - settings to the LSP. - - `address` A |String| representing an address to connect to, - or a |Funcref| accepting a buffer number and - returning the |String|. - - The result can be computed with |ale#command#Run()|. - - This argument must only be set if the `lsp` argument - is set to `'socket'`. - - `project_root` A |String| representing a path to the project for - the file being checked with the language server, or - a |Funcref| accepting a buffer number and returning - the |String|. - - If an empty string is returned, the file will not be - checked at all. - - This argument must only be set if the `lsp` argument - is also set to a non-empty string. - - `language` A |String| representing the name of the language - being checked, or a |Funcref| accepting a buffer - number and returning the |String|. This string will - be sent to the LSP to tell it what type of language - is being checked. - - If a language isn't provided, the language will - default to the value of the filetype given to - |ale#linter#Define|. - - `completion_filter` A |String| or |Funcref| for a callback function - accepting a buffer number and a completion item. - - The completion item will be a |Dictionary| following - the Language Server Protocol `CompletionItem` - interface as described in the specification, - available online here: - https://microsoft.github.io/language-server-protocol - - `aliases` A |List| of aliases for the linter name. - - This argument can be set with alternative names for - selecting the linter with |g:ale_linters|. This - setting can make it easier to guess the linter name - by offering a few alternatives. - - `initialization_options` A |Dictionary| of initialization options for LSPs, - or a |Funcref| for a callback function accepting - a buffer number and returning the |Dictionary|. - - This will be fed (as JSON) to the LSP in the - initialize command. - - `lsp_config` A |Dictionary| for configuring a language server, - or a |Funcref| for a callback function accepting - a buffer number and returning the |Dictionary|. - - This will be fed (as JSON) to the LSP in the - workspace/didChangeConfiguration command. - - If temporary files or directories are created for commands run with - `command`, then these temporary files or directories can be managed by ALE, - for automatic deletion. See |ale#command#ManageFile()| and - |ale#command#ManageDirectory| for more information. - - *ale-command-format-strings* - - All command strings will be formatted for special character sequences. - Any substring `%s` will be replaced with the full path to the current file - being edited. This format option can be used to pass the exact filename - being edited to a program. - - For example: > - 'command': 'eslint -f unix --stdin --stdin-filename %s' -< - Any substring `%t` will be replaced with a path to a temporary file. Merely - adding `%t` will cause ALE to create a temporary file containing the - contents of the buffer being checked. All occurrences of `%t` in command - strings will reference the one temporary file. The temporary file will be - created inside a temporary directory, and the entire temporary directory - will be automatically deleted, following the behaviour of - |ale#command#ManageDirectory|. This option can be used for some linters which - do not support reading from stdin. - - For example: > - 'command': 'ghc -fno-code -v0 %t', -< - Any substring `%e` will be replaced with the escaped executable supplied - with `executable`. This provides a convenient way to define a command string - which needs to include a dynamic executable name, but which is otherwise - static. - - For example: > - 'command': '%e --some-argument', -< - The character sequence `%%` can be used to emit a literal `%` into a - command, so literal character sequences `%s` and `%t` can be escaped by - using `%%s` and `%%t` instead, etc. - - If a callback for a command generates part of a command string which might - possibly contain `%%`, `%s`, `%t`, or `%e`, where the special formatting - behavior is not desired, the |ale#command#EscapeCommandPart()| function can - be used to replace those characters to avoid formatting issues. - - *ale-linter-loading-behavior* - *ale-linter-loading-behaviour* - - Linters for ALE will be loaded by searching |runtimepath| in the following - format: > - - ale_linters//.vim -< - Any linters which exist anywhere in |runtimepath| with that directory - structure will be automatically loaded for the matching |filetype|. Filetypes - containing `.` characters will be split into individual parts, and files - will be loaded for each filetype between the `.` characters. - - Linters can be defined from vimrc and other files as long as this function - is loaded first. For example, the following code will define a Hello World - linter in vimrc in Vim 8: > - - " Plugins have to be loaded first. - " If you are using a plugin manager, run that first. - packloadall - - call ale#linter#Define('vim', { - \ 'name': 'echo-test', - \ 'executable': 'echo', - \ 'command': 'echo hello world', - \ 'callback': {buffer, lines -> map(lines, '{"text": v:val, "lnum": 1}')}, - \}) -< - -ale#linter#Get(filetype) *ale#linter#Get()* - - Return all of linters configured for a given filetype as a |List| of - |Dictionary| values in the format specified by |ale#linter#Define()|. - - Filetypes may be dot-separated to invoke linters for multiple filetypes: - for instance, the filetype `javascript.jsx` will return linters for both the - `javascript` and `jsx` filetype. - - Aliases may be defined in as described in |g:ale_linter_aliases|. Aliases - are applied after dot-separated filetypes are broken up into their - components. - - -ale#linter#PreventLoading(filetype) *ale#linter#PreventLoading()* - - Given a `filetype`, prevent any more linters from being loaded from - |runtimepath| for that filetype. This function can be called from vimrc or - similar to prevent ALE from loading linters. - - -ale#lsp_linter#SendRequest(buffer, linter_name, message, [Handler]) - *ale#lsp_linter#SendRequest()* - - Send a custom request to an LSP linter. The arguments are defined as - follows: - - `buffer` A valid buffer number. - - `linter_name` A |String| identifying an LSP linter that is available and - enabled for the |filetype| of `buffer`. - - `message` A |List| in the form `[is_notification, method, parameters]`, - containing three elements: - `is_notification` - an |Integer| that has value 1 if the - request is a notification, 0 otherwise; - `method` - a |String|, identifying an LSP method supported - by `linter`; - `parameters` - a |dictionary| of LSP parameters that are - applicable to `method`. - - `Handler` Optional argument, meaningful only when `message[0]` is 0. - A |Funcref| that is called when a response to the request is - received, and takes as unique argument a dictionary - representing the response obtained from the server. - - -ale#other_source#ShowResults(buffer, linter_name, loclist) - *ale#other_source#ShowResults()* - - Show results from another source of information. - - `buffer` must be a valid buffer number, and `linter_name` must be a unique - name for identifying another source of information. The `loclist` given - where the problems in a buffer are, and should be provided in the format ALE - uses for regular linter results. See |ale-loclist-format|. - - -ale#other_source#StartChecking(buffer, linter_name) - *ale#other_source#StartChecking()* - - Tell ALE that another source of information has started checking a buffer. - - `buffer` must be a valid buffer number, and `linter_name` must be a unique - name for identifying another source of information. - - -ale#statusline#Count(buffer) *ale#statusline#Count()* - - Given the number of a buffer which may have problems, return a |Dictionary| - containing information about the number of problems detected by ALE. The - following keys are supported: - - `error` -> The number of problems with type `E` and `sub_type != 'style'` - `warning` -> The number of problems with type `W` and `sub_type != 'style'` - `info` -> The number of problems with type `I` - `style_error` -> The number of problems with type `E` and `sub_type == 'style'` - `style_warning` -> The number of problems with type `W` and `sub_type == 'style'` - `total` -> The total number of problems. - - -ale#statusline#FirstProblem(buffer, type) *ale#statusline#FirstProblem()* - - Returns a copy of the first entry in the `loclist` that matches the supplied - buffer number and problem type. If there is no such entry, an empty dictionary - is returned. - Problem type should be one of the strings listed below: - - `error` -> Returns the first `loclist` item with type `E` and - `sub_type != 'style'` - `warning` -> First item with type `W` and `sub_type != 'style'` - `info` -> First item with type `I` - `style_error` -> First item with type `E` and `sub_type == 'style'` - `style_warning` -> First item with type `W` and `sub_type == 'style'` - - -b:ale_linted *b:ale_linted* - - `b:ale_linted` is set to the number of times a buffer has been checked by - ALE after all linters for one lint cycle have finished checking a buffer. - This variable may not be defined until ALE first checks a buffer, so it - should be accessed with |get()| or |getbufvar()|. For example: > - - " Print a message indicating how many times ALE has checked this buffer. - echo 'ALE has checked this buffer ' . get(b:, 'ale_linted') . ' time(s).' - " Print 'checked' using getbufvar() if a buffer has been checked. - echo getbufvar(bufnr(''), 'ale_linted', 0) > 0 ? 'checked' : 'not checked' -< - -g:ale_want_results_buffer *g:ale_want_results_buffer* - - `g:ale_want_results_buffer` is set to the number of the buffer being checked - when the |ALEWantResults| event is signaled. This variable should be read to - figure out which buffer other sources should lint. - - -ALELintPre *ALELintPre-autocmd* - *ALELintPre* -ALELintPost *ALELintPost-autocmd* - *ALELintPost* -ALEFixPre *ALEFixPre-autocmd* - *ALEFixPre* -ALEFixPost *ALEFixPost-autocmd* - *ALEFixPost* - - These |User| autocommands are triggered before and after every lint or fix - cycle. They can be used to update statuslines, send notifications, etc. - The autocmd commands are run with |:silent|, so |:unsilent| is required for - echoing messges. - - For example to change the color of the statusline while the linter is - running: -> - augroup ALEProgress - autocmd! - autocmd User ALELintPre hi Statusline ctermfg=darkgrey - autocmd User ALELintPost hi Statusline ctermfg=NONE - augroup END -< - Or to display the progress in the statusline: -> - let s:ale_running = 0 - let l:stl .= '%{s:ale_running ? "[linting]" : ""}' - augroup ALEProgress - autocmd! - autocmd User ALELintPre let s:ale_running = 1 | redrawstatus - autocmd User ALELintPost let s:ale_running = 0 | redrawstatus - augroup END - -< -ALEJobStarted *ALEJobStarted-autocmd* - *ALEJobStarted* - - This |User| autocommand is triggered immediately after a job is successfully - run. This provides better accuracy for checking linter status with - |ale#engine#IsCheckingBuffer()| over |ALELintPre-autocmd|, which is actually - triggered before any linters are executed. - - -ALEWantResults *ALEWantResults-autocmd* - *ALEWantResults* - - This |User| autocommand is triggered before ALE begins a lint cycle. Another - source can respond by calling |ale#other_source#StartChecking()|, and - |ALELintPre| will be signaled thereafter, to allow other plugins to know - that another source is checking the buffer. - - |g:ale_want_results_buffer| will be set to the number for a buffer being - checked when the event is signaled, and deleted after the event is done. - This variable should be read to know which buffer to check. - - Other plugins can use this event to start checking buffers when ALE events - for checking buffers are triggered. - - -=============================================================================== -10. Special Thanks *ale-special-thanks* - -Special thanks to Mark Grealish (https://www.bhalash.com/) for providing ALE's -snazzy looking ale glass logo. Cheers, Mark! - -=============================================================================== -11. Contact *ale-contact* - -If you like this plugin, and wish to get in touch, check out the GitHub -page for issues and more at https://github.com/dense-analysis/ale - -If you wish to contact the author of this plugin directly, please feel -free to send an email to devw0rp@gmail.com. - -Please drink responsibly, or not at all, which is ironically the preference -of w0rp, who is teetotal. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/ale/doc/tags b/vim/.vim_runtime/sources_non_forked/ale/doc/tags deleted file mode 100644 index a17e05f..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/doc/tags +++ /dev/null @@ -1,1818 +0,0 @@ -:ALEDetail ale.txt /*:ALEDetail* -:ALEInfo ale.txt /*:ALEInfo* -:ALELint ale.txt /*:ALELint* -ALEComplete ale.txt /*ALEComplete* -ALEDetail ale.txt /*ALEDetail* -ALEDisable ale.txt /*ALEDisable* -ALEDisableBuffer ale.txt /*ALEDisableBuffer* -ALEDocumentation ale.txt /*ALEDocumentation* -ALEEnable ale.txt /*ALEEnable* -ALEEnableBuffer ale.txt /*ALEEnableBuffer* -ALEError ale.txt /*ALEError* -ALEErrorLine ale.txt /*ALEErrorLine* -ALEErrorSign ale.txt /*ALEErrorSign* -ALEErrorSignLineNr ale.txt /*ALEErrorSignLineNr* -ALEFindReferences ale.txt /*ALEFindReferences* -ALEFirst ale.txt /*ALEFirst* -ALEFix ale.txt /*ALEFix* -ALEFixPost ale.txt /*ALEFixPost* -ALEFixPost-autocmd ale.txt /*ALEFixPost-autocmd* -ALEFixPre ale.txt /*ALEFixPre* -ALEFixPre-autocmd ale.txt /*ALEFixPre-autocmd* -ALEFixSuggest ale.txt /*ALEFixSuggest* -ALEGoToDefinition ale.txt /*ALEGoToDefinition* -ALEGoToTypeDefinition ale.txt /*ALEGoToTypeDefinition* -ALEHover ale.txt /*ALEHover* -ALEInfo ale.txt /*ALEInfo* -ALEInfo-highlight ale.txt /*ALEInfo-highlight* -ALEInfo. ale.txt /*ALEInfo.* -ALEInfoLine ale.txt /*ALEInfoLine* -ALEInfoSign ale.txt /*ALEInfoSign* -ALEInfoSignLineNr ale.txt /*ALEInfoSignLineNr* -ALEInfoToClipboard ale.txt /*ALEInfoToClipboard* -ALEJobStarted ale.txt /*ALEJobStarted* -ALEJobStarted-autocmd ale.txt /*ALEJobStarted-autocmd* -ALELast ale.txt /*ALELast* -ALELint ale.txt /*ALELint* -ALELintPost ale.txt /*ALELintPost* -ALELintPost-autocmd ale.txt /*ALELintPost-autocmd* -ALELintPre ale.txt /*ALELintPre* -ALELintPre-autocmd ale.txt /*ALELintPre-autocmd* -ALENext ale.txt /*ALENext* -ALENextWrap ale.txt /*ALENextWrap* -ALEOrganizeImports ale.txt /*ALEOrganizeImports* -ALEPrevious ale.txt /*ALEPrevious* -ALEPreviousWrap ale.txt /*ALEPreviousWrap* -ALERename ale.txt /*ALERename* -ALERepeatSelection ale.txt /*ALERepeatSelection* -ALEReset ale.txt /*ALEReset* -ALEResetBuffer ale.txt /*ALEResetBuffer* -ALEStopAllLSPs ale.txt /*ALEStopAllLSPs* -ALEStyleError ale.txt /*ALEStyleError* -ALEStyleErrorSign ale.txt /*ALEStyleErrorSign* -ALEStyleErrorSignLineNr ale.txt /*ALEStyleErrorSignLineNr* -ALEStyleWarning ale.txt /*ALEStyleWarning* -ALEStyleWarningSign ale.txt /*ALEStyleWarningSign* -ALEStyleWarningSignLineNr ale.txt /*ALEStyleWarningSignLineNr* -ALESymbolSearch ale.txt /*ALESymbolSearch* -ALEToggle ale.txt /*ALEToggle* -ALEToggleBuffer ale.txt /*ALEToggleBuffer* -ALEVirtualTextError ale.txt /*ALEVirtualTextError* -ALEVirtualTextInfo ale.txt /*ALEVirtualTextInfo* -ALEVirtualTextStyleError ale.txt /*ALEVirtualTextStyleError* -ALEVirtualTextStyleWarning ale.txt /*ALEVirtualTextStyleWarning* -ALEVirtualTextWarning ale.txt /*ALEVirtualTextWarning* -ALEWantResults ale.txt /*ALEWantResults* -ALEWantResults-autocmd ale.txt /*ALEWantResults-autocmd* -ALEWarning ale.txt /*ALEWarning* -ALEWarningLine ale.txt /*ALEWarningLine* -ALEWarningSign ale.txt /*ALEWarningSign* -ALEWarningSignLineNr ale.txt /*ALEWarningSignLineNr* -ale ale.txt /*ale* -ale#Env() ale.txt /*ale#Env()* -ale#Has() ale.txt /*ale#Has()* -ale#Pad() ale.txt /*ale#Pad()* -ale#Queue() ale.txt /*ale#Queue()* -ale#command#CreateDirectory() ale.txt /*ale#command#CreateDirectory()* -ale#command#CreateFile() ale.txt /*ale#command#CreateFile()* -ale#command#EscapeCommandPart() ale.txt /*ale#command#EscapeCommandPart()* -ale#command#ManageDirectory() ale.txt /*ale#command#ManageDirectory()* -ale#command#ManageFile() ale.txt /*ale#command#ManageFile()* -ale#command#Run() ale.txt /*ale#command#Run()* -ale#completion#OmniFunc() ale.txt /*ale#completion#OmniFunc()* -ale#engine#GetLoclist() ale.txt /*ale#engine#GetLoclist()* -ale#engine#IsCheckingBuffer() ale.txt /*ale#engine#IsCheckingBuffer()* -ale#fix#registry#Add() ale.txt /*ale#fix#registry#Add()* -ale#linter#Define() ale.txt /*ale#linter#Define()* -ale#linter#Get() ale.txt /*ale#linter#Get()* -ale#linter#PreventLoading() ale.txt /*ale#linter#PreventLoading()* -ale#lsp_linter#SendRequest() ale.txt /*ale#lsp_linter#SendRequest()* -ale#other_source#ShowResults() ale.txt /*ale#other_source#ShowResults()* -ale#other_source#StartChecking() ale.txt /*ale#other_source#StartChecking()* -ale#statusline#Count() ale.txt /*ale#statusline#Count()* -ale#statusline#FirstProblem() ale.txt /*ale#statusline#FirstProblem()* -ale-ada-gcc ale-ada.txt /*ale-ada-gcc* -ale-ada-gnatpp ale-ada.txt /*ale-ada-gnatpp* -ale-ada-options ale-ada.txt /*ale-ada-options* -ale-alex-options ale.txt /*ale-alex-options* -ale-ansible-ansible-lint ale-ansible.txt /*ale-ansible-ansible-lint* -ale-ansible-options ale-ansible.txt /*ale-ansible-options* -ale-api ale.txt /*ale-api* -ale-asciidoc-options ale-asciidoc.txt /*ale-asciidoc-options* -ale-asciidoc-textlint ale-asciidoc.txt /*ale-asciidoc-textlint* -ale-asciidoc-write-good ale-asciidoc.txt /*ale-asciidoc-write-good* -ale-asm-gcc ale-asm.txt /*ale-asm-gcc* -ale-asm-options ale-asm.txt /*ale-asm-options* -ale-asyncomplete-integration ale.txt /*ale-asyncomplete-integration* -ale-awk-gawk ale-awk.txt /*ale-awk-gawk* -ale-awk-options ale-awk.txt /*ale-awk-options* -ale-bats-options ale-bats.txt /*ale-bats-options* -ale-bats-shellcheck ale-bats.txt /*ale-bats-shellcheck* -ale-bib-bibclean ale-bib.txt /*ale-bib-bibclean* -ale-bib-options ale-bib.txt /*ale-bib-options* -ale-c-ccls ale-c.txt /*ale-c-ccls* -ale-c-clang ale-c.txt /*ale-c-clang* -ale-c-clangd ale-c.txt /*ale-c-clangd* -ale-c-clangformat ale-c.txt /*ale-c-clangformat* -ale-c-clangtidy ale-c.txt /*ale-c-clangtidy* -ale-c-cppcheck ale-c.txt /*ale-c-cppcheck* -ale-c-cquery ale-c.txt /*ale-c-cquery* -ale-c-flawfinder ale-c.txt /*ale-c-flawfinder* -ale-c-gcc ale-c.txt /*ale-c-gcc* -ale-c-options ale-c.txt /*ale-c-options* -ale-c-uncrustify ale-c.txt /*ale-c-uncrustify* -ale-chef-cookstyle ale-chef.txt /*ale-chef-cookstyle* -ale-chef-foodcritic ale-chef.txt /*ale-chef-foodcritic* -ale-chef-options ale-chef.txt /*ale-chef-options* -ale-clojure-clj-kondo ale-clojure.txt /*ale-clojure-clj-kondo* -ale-clojure-joker ale-clojure.txt /*ale-clojure-joker* -ale-clojure-options ale-clojure.txt /*ale-clojure-options* -ale-cloudformation-cfn-python-lint ale-cloudformation.txt /*ale-cloudformation-cfn-python-lint* -ale-cloudformation-options ale-cloudformation.txt /*ale-cloudformation-options* -ale-cmake-cmakeformat ale-cmake.txt /*ale-cmake-cmakeformat* -ale-cmake-cmakelint ale-cmake.txt /*ale-cmake-cmakelint* -ale-cmake-options ale-cmake.txt /*ale-cmake-options* -ale-coding-standards ale-development.txt /*ale-coding-standards* -ale-command-format-strings ale.txt /*ale-command-format-strings* -ale-commands ale.txt /*ale-commands* -ale-completion ale.txt /*ale-completion* -ale-completion-completeopt-bug ale.txt /*ale-completion-completeopt-bug* -ale-contact ale.txt /*ale-contact* -ale-contents ale.txt /*ale-contents* -ale-cool-down ale.txt /*ale-cool-down* -ale-cpp-ccls ale-cpp.txt /*ale-cpp-ccls* -ale-cpp-clang ale-cpp.txt /*ale-cpp-clang* -ale-cpp-clangcheck ale-cpp.txt /*ale-cpp-clangcheck* -ale-cpp-clangd ale-cpp.txt /*ale-cpp-clangd* -ale-cpp-clangformat ale-cpp.txt /*ale-cpp-clangformat* -ale-cpp-clangtidy ale-cpp.txt /*ale-cpp-clangtidy* -ale-cpp-clazy ale-cpp.txt /*ale-cpp-clazy* -ale-cpp-cppcheck ale-cpp.txt /*ale-cpp-cppcheck* -ale-cpp-cpplint ale-cpp.txt /*ale-cpp-cpplint* -ale-cpp-cquery ale-cpp.txt /*ale-cpp-cquery* -ale-cpp-flawfinder ale-cpp.txt /*ale-cpp-flawfinder* -ale-cpp-gcc ale-cpp.txt /*ale-cpp-gcc* -ale-cpp-options ale-cpp.txt /*ale-cpp-options* -ale-cpp-uncrustify ale-cpp.txt /*ale-cpp-uncrustify* -ale-cs-csc ale-cs.txt /*ale-cs-csc* -ale-cs-mcs ale-cs.txt /*ale-cs-mcs* -ale-cs-mcsc ale-cs.txt /*ale-cs-mcsc* -ale-cs-options ale-cs.txt /*ale-cs-options* -ale-cs-uncrustify ale-cs.txt /*ale-cs-uncrustify* -ale-css-fecs ale-css.txt /*ale-css-fecs* -ale-css-options ale-css.txt /*ale-css-options* -ale-css-prettier ale-css.txt /*ale-css-prettier* -ale-css-stylelint ale-css.txt /*ale-css-stylelint* -ale-cuda-clangformat ale-cuda.txt /*ale-cuda-clangformat* -ale-cuda-nvcc ale-cuda.txt /*ale-cuda-nvcc* -ale-cuda-options ale-cuda.txt /*ale-cuda-options* -ale-d-dfmt ale-d.txt /*ale-d-dfmt* -ale-d-dls ale-d.txt /*ale-d-dls* -ale-d-options ale-d.txt /*ale-d-options* -ale-d-uncrustify ale-d.txt /*ale-d-uncrustify* -ale-dart-dartanalyzer ale-dart.txt /*ale-dart-dartanalyzer* -ale-dart-dartfmt ale-dart.txt /*ale-dart-dartfmt* -ale-dart-options ale-dart.txt /*ale-dart-options* -ale-deoplete-integration ale.txt /*ale-deoplete-integration* -ale-design-goals ale-development.txt /*ale-design-goals* -ale-dev ale-development.txt /*ale-dev* -ale-dev-tests ale-development.txt /*ale-dev-tests* -ale-development ale-development.txt /*ale-development* -ale-development-contents ale-development.txt /*ale-development-contents* -ale-development-fixer-tests ale-development.txt /*ale-development-fixer-tests* -ale-development-introduction ale-development.txt /*ale-development-introduction* -ale-development-linter-tests ale-development.txt /*ale-development-linter-tests* -ale-development-tests ale-development.txt /*ale-development-tests* -ale-development.txt ale-development.txt /*ale-development.txt* -ale-dockerfile-dockerfile_lint ale-dockerfile.txt /*ale-dockerfile-dockerfile_lint* -ale-dockerfile-hadolint ale-dockerfile.txt /*ale-dockerfile-hadolint* -ale-dockerfile-options ale-dockerfile.txt /*ale-dockerfile-options* -ale-elixir-credo ale-elixir.txt /*ale-elixir-credo* -ale-elixir-dialyxir ale-elixir.txt /*ale-elixir-dialyxir* -ale-elixir-elixir-ls ale-elixir.txt /*ale-elixir-elixir-ls* -ale-elixir-mix ale-elixir.txt /*ale-elixir-mix* -ale-elixir-mix-format ale-elixir.txt /*ale-elixir-mix-format* -ale-elixir-options ale-elixir.txt /*ale-elixir-options* -ale-elm-elm-format ale-elm.txt /*ale-elm-elm-format* -ale-elm-elm-ls ale-elm.txt /*ale-elm-elm-ls* -ale-elm-elm-make ale-elm.txt /*ale-elm-elm-make* -ale-elm-options ale-elm.txt /*ale-elm-options* -ale-erlang-dialyzer ale-erlang.txt /*ale-erlang-dialyzer* -ale-erlang-erlc ale-erlang.txt /*ale-erlang-erlc* -ale-erlang-options ale-erlang.txt /*ale-erlang-options* -ale-erlang-syntaxerl ale-erlang.txt /*ale-erlang-syntaxerl* -ale-eruby-options ale-eruby.txt /*ale-eruby-options* -ale-eruby-ruumba ale-eruby.txt /*ale-eruby-ruumba* -ale-eslint-nested-configuration-files ale-javascript.txt /*ale-eslint-nested-configuration-files* -ale-find-references ale.txt /*ale-find-references* -ale-fish-options ale-fish.txt /*ale-fish-options* -ale-fix ale.txt /*ale-fix* -ale-fix-configuration ale.txt /*ale-fix-configuration* -ale-fortran-gcc ale-fortran.txt /*ale-fortran-gcc* -ale-fortran-language-server ale-fortran.txt /*ale-fortran-language-server* -ale-fortran-options ale-fortran.txt /*ale-fortran-options* -ale-fountain-options ale-fountain.txt /*ale-fountain-options* -ale-fuse-fusionlint ale-fuse.txt /*ale-fuse-fusionlint* -ale-fuse-options ale-fuse.txt /*ale-fuse-options* -ale-gitcommit-gitlint ale-gitcommit.txt /*ale-gitcommit-gitlint* -ale-gitcommit-options ale-gitcommit.txt /*ale-gitcommit-options* -ale-glsl-glslang ale-glsl.txt /*ale-glsl-glslang* -ale-glsl-glslls ale-glsl.txt /*ale-glsl-glslls* -ale-glsl-options ale-glsl.txt /*ale-glsl-options* -ale-go-bingo ale-go.txt /*ale-go-bingo* -ale-go-gobuild ale-go.txt /*ale-go-gobuild* -ale-go-gofmt ale-go.txt /*ale-go-gofmt* -ale-go-golangci-lint ale-go.txt /*ale-go-golangci-lint* -ale-go-golangserver ale-go.txt /*ale-go-golangserver* -ale-go-golint ale-go.txt /*ale-go-golint* -ale-go-gometalinter ale-go.txt /*ale-go-gometalinter* -ale-go-gopls ale-go.txt /*ale-go-gopls* -ale-go-govet ale-go.txt /*ale-go-govet* -ale-go-options ale-go.txt /*ale-go-options* -ale-go-revive ale-go.txt /*ale-go-revive* -ale-go-staticcheck ale-go.txt /*ale-go-staticcheck* -ale-go-to-definition ale.txt /*ale-go-to-definition* -ale-go-to-type-definition ale.txt /*ale-go-to-type-definition* -ale-graphql-eslint ale-graphql.txt /*ale-graphql-eslint* -ale-graphql-gqlint ale-graphql.txt /*ale-graphql-gqlint* -ale-graphql-options ale-graphql.txt /*ale-graphql-options* -ale-graphql-prettier ale-graphql.txt /*ale-graphql-prettier* -ale-hack-hack ale-hack.txt /*ale-hack-hack* -ale-hack-hackfmt ale-hack.txt /*ale-hack-hackfmt* -ale-hack-hhast ale-hack.txt /*ale-hack-hhast* -ale-hack-options ale-hack.txt /*ale-hack-options* -ale-handlebars-embertemplatelint ale-handlebars.txt /*ale-handlebars-embertemplatelint* -ale-handlebars-options ale-handlebars.txt /*ale-handlebars-options* -ale-handlebars-prettier ale-handlebars.txt /*ale-handlebars-prettier* -ale-haskell-brittany ale-haskell.txt /*ale-haskell-brittany* -ale-haskell-cabal-ghc ale-haskell.txt /*ale-haskell-cabal-ghc* -ale-haskell-floskell ale-haskell.txt /*ale-haskell-floskell* -ale-haskell-ghc ale-haskell.txt /*ale-haskell-ghc* -ale-haskell-ghc-mod ale-haskell.txt /*ale-haskell-ghc-mod* -ale-haskell-hdevtools ale-haskell.txt /*ale-haskell-hdevtools* -ale-haskell-hfmt ale-haskell.txt /*ale-haskell-hfmt* -ale-haskell-hie ale-haskell.txt /*ale-haskell-hie* -ale-haskell-hindent ale-haskell.txt /*ale-haskell-hindent* -ale-haskell-hlint ale-haskell.txt /*ale-haskell-hlint* -ale-haskell-options ale-haskell.txt /*ale-haskell-options* -ale-haskell-stack-build ale-haskell.txt /*ale-haskell-stack-build* -ale-haskell-stack-ghc ale-haskell.txt /*ale-haskell-stack-ghc* -ale-haskell-stylish-haskell ale-haskell.txt /*ale-haskell-stylish-haskell* -ale-hcl-options ale-hcl.txt /*ale-hcl-options* -ale-hcl-terraform-fmt ale-hcl.txt /*ale-hcl-terraform-fmt* -ale-highlights ale.txt /*ale-highlights* -ale-hover ale.txt /*ale-hover* -ale-html-beautify ale-html.txt /*ale-html-beautify* -ale-html-fecs ale-html.txt /*ale-html-fecs* -ale-html-htmlhint ale-html.txt /*ale-html-htmlhint* -ale-html-options ale-html.txt /*ale-html-options* -ale-html-prettier ale-html.txt /*ale-html-prettier* -ale-html-stylelint ale-html.txt /*ale-html-stylelint* -ale-html-tidy ale-html.txt /*ale-html-tidy* -ale-html-write-good ale-html.txt /*ale-html-write-good* -ale-idris-idris ale-idris.txt /*ale-idris-idris* -ale-idris-options ale-idris.txt /*ale-idris-options* -ale-ink-language-server ale-ink.txt /*ale-ink-language-server* -ale-ink-options ale-ink.txt /*ale-ink-options* -ale-integration-glsl ale-glsl.txt /*ale-integration-glsl* -ale-integration-hack ale-hack.txt /*ale-integration-hack* -ale-integration-kotlin ale-kotlin.txt /*ale-integration-kotlin* -ale-integration-options ale.txt /*ale-integration-options* -ale-integration-rust ale-rust.txt /*ale-integration-rust* -ale-integration-spec ale-spec.txt /*ale-integration-spec* -ale-integrations-local-executables ale.txt /*ale-integrations-local-executables* -ale-introduction ale.txt /*ale-introduction* -ale-ispc-ispc ale-ispc.txt /*ale-ispc-ispc* -ale-ispc-options ale-ispc.txt /*ale-ispc-options* -ale-java-checkstyle ale-java.txt /*ale-java-checkstyle* -ale-java-eclipselsp ale-java.txt /*ale-java-eclipselsp* -ale-java-google-java-format ale-java.txt /*ale-java-google-java-format* -ale-java-javac ale-java.txt /*ale-java-javac* -ale-java-javalsp ale-java.txt /*ale-java-javalsp* -ale-java-options ale-java.txt /*ale-java-options* -ale-java-pmd ale-java.txt /*ale-java-pmd* -ale-java-uncrustify ale-java.txt /*ale-java-uncrustify* -ale-javascript-eslint ale-javascript.txt /*ale-javascript-eslint* -ale-javascript-fecs ale-javascript.txt /*ale-javascript-fecs* -ale-javascript-flow ale-javascript.txt /*ale-javascript-flow* -ale-javascript-importjs ale-javascript.txt /*ale-javascript-importjs* -ale-javascript-jscs ale-javascript.txt /*ale-javascript-jscs* -ale-javascript-jshint ale-javascript.txt /*ale-javascript-jshint* -ale-javascript-options ale-javascript.txt /*ale-javascript-options* -ale-javascript-prettier ale-javascript.txt /*ale-javascript-prettier* -ale-javascript-prettier-eslint ale-javascript.txt /*ale-javascript-prettier-eslint* -ale-javascript-prettier-standard ale-javascript.txt /*ale-javascript-prettier-standard* -ale-javascript-standard ale-javascript.txt /*ale-javascript-standard* -ale-javascript-xo ale-javascript.txt /*ale-javascript-xo* -ale-json-fixjson ale-json.txt /*ale-json-fixjson* -ale-json-jq ale-json.txt /*ale-json-jq* -ale-json-jsonlint ale-json.txt /*ale-json-jsonlint* -ale-json-options ale-json.txt /*ale-json-options* -ale-json-prettier ale-json.txt /*ale-json-prettier* -ale-julia-languageserver ale-julia.txt /*ale-julia-languageserver* -ale-julia-options ale-julia.txt /*ale-julia-options* -ale-kotlin-kotlinc ale-kotlin.txt /*ale-kotlin-kotlinc* -ale-kotlin-ktlint ale-kotlin.txt /*ale-kotlin-ktlint* -ale-kotlin-languageserver ale-kotlin.txt /*ale-kotlin-languageserver* -ale-kotlin-options ale-kotlin.txt /*ale-kotlin-options* -ale-languagetool-options ale.txt /*ale-languagetool-options* -ale-latex-options ale-latex.txt /*ale-latex-options* -ale-latex-textlint ale-latex.txt /*ale-latex-textlint* -ale-latex-write-good ale-latex.txt /*ale-latex-write-good* -ale-less-lessc ale-less.txt /*ale-less-lessc* -ale-less-options ale-less.txt /*ale-less-options* -ale-less-prettier ale-less.txt /*ale-less-prettier* -ale-less-stylelint ale-less.txt /*ale-less-stylelint* -ale-lint ale.txt /*ale-lint* -ale-lint-file ale.txt /*ale-lint-file* -ale-lint-file-linters ale.txt /*ale-lint-file-linters* -ale-lint-language-servers ale.txt /*ale-lint-language-servers* -ale-lint-other-sources ale.txt /*ale-lint-other-sources* -ale-lint-settings-on-startup ale.txt /*ale-lint-settings-on-startup* -ale-linter-loading-behavior ale.txt /*ale-linter-loading-behavior* -ale-linter-loading-behaviour ale.txt /*ale-linter-loading-behaviour* -ale-linting-interrupts-mapping ale.txt /*ale-linting-interrupts-mapping* -ale-llvm-llc ale-llvm.txt /*ale-llvm-llc* -ale-llvm-options ale-llvm.txt /*ale-llvm-options* -ale-loclist-format ale.txt /*ale-loclist-format* -ale-lsp ale.txt /*ale-lsp* -ale-lsp-linters ale.txt /*ale-lsp-linters* -ale-lua-luac ale-lua.txt /*ale-lua-luac* -ale-lua-luacheck ale-lua.txt /*ale-lua-luacheck* -ale-lua-options ale-lua.txt /*ale-lua-options* -ale-markdown-mdl ale-markdown.txt /*ale-markdown-mdl* -ale-markdown-options ale-markdown.txt /*ale-markdown-options* -ale-markdown-prettier ale-markdown.txt /*ale-markdown-prettier* -ale-markdown-remark-lint ale-markdown.txt /*ale-markdown-remark-lint* -ale-markdown-textlint ale-markdown.txt /*ale-markdown-textlint* -ale-markdown-write-good ale-markdown.txt /*ale-markdown-write-good* -ale-mercury-mmc ale-mercury.txt /*ale-mercury-mmc* -ale-mercury-options ale-mercury.txt /*ale-mercury-options* -ale-nasm-nasm ale-nasm.txt /*ale-nasm-nasm* -ale-nasm-options ale-nasm.txt /*ale-nasm-options* -ale-navigation-commands ale.txt /*ale-navigation-commands* -ale-nim-nimcheck ale-nim.txt /*ale-nim-nimcheck* -ale-nim-nimlsp ale-nim.txt /*ale-nim-nimlsp* -ale-nim-nimpretty ale-nim.txt /*ale-nim-nimpretty* -ale-nim-options ale-nim.txt /*ale-nim-options* -ale-nix-nixpkgs-fmt ale-nix.txt /*ale-nix-nixpkgs-fmt* -ale-nix-options ale-nix.txt /*ale-nix-options* -ale-nroff-options ale-nroff.txt /*ale-nroff-options* -ale-nroff-write-good ale-nroff.txt /*ale-nroff-write-good* -ale-objc-ccls ale-objc.txt /*ale-objc-ccls* -ale-objc-clang ale-objc.txt /*ale-objc-clang* -ale-objc-clangd ale-objc.txt /*ale-objc-clangd* -ale-objc-options ale-objc.txt /*ale-objc-options* -ale-objc-uncrustify ale-objc.txt /*ale-objc-uncrustify* -ale-objcpp-clang ale-objcpp.txt /*ale-objcpp-clang* -ale-objcpp-clangd ale-objcpp.txt /*ale-objcpp-clangd* -ale-objcpp-options ale-objcpp.txt /*ale-objcpp-options* -ale-objcpp-uncrustify ale-objcpp.txt /*ale-objcpp-uncrustify* -ale-ocaml-merlin ale-ocaml.txt /*ale-ocaml-merlin* -ale-ocaml-ocamlformat ale-ocaml.txt /*ale-ocaml-ocamlformat* -ale-ocaml-ocp-indent ale-ocaml.txt /*ale-ocaml-ocp-indent* -ale-ocaml-ols ale-ocaml.txt /*ale-ocaml-ols* -ale-ocaml-options ale-ocaml.txt /*ale-ocaml-options* -ale-options ale.txt /*ale-options* -ale-other-integration-options ale.txt /*ale-other-integration-options* -ale-pawn-options ale-pawn.txt /*ale-pawn-options* -ale-pawn-uncrustify ale-pawn.txt /*ale-pawn-uncrustify* -ale-perl-options ale-perl.txt /*ale-perl-options* -ale-perl-perl ale-perl.txt /*ale-perl-perl* -ale-perl-perlcritic ale-perl.txt /*ale-perl-perlcritic* -ale-perl-perltidy ale-perl.txt /*ale-perl-perltidy* -ale-perl6-options ale-perl6.txt /*ale-perl6-options* -ale-perl6-perl6 ale-perl6.txt /*ale-perl6-perl6* -ale-php-langserver ale-php.txt /*ale-php-langserver* -ale-php-options ale-php.txt /*ale-php-options* -ale-php-phan ale-php.txt /*ale-php-phan* -ale-php-php ale-php.txt /*ale-php-php* -ale-php-php-cs-fixer ale-php.txt /*ale-php-php-cs-fixer* -ale-php-phpcbf ale-php.txt /*ale-php-phpcbf* -ale-php-phpcs ale-php.txt /*ale-php-phpcs* -ale-php-phpmd ale-php.txt /*ale-php-phpmd* -ale-php-phpstan ale-php.txt /*ale-php-phpstan* -ale-php-psalm ale-php.txt /*ale-php-psalm* -ale-po-options ale-po.txt /*ale-po-options* -ale-po-write-good ale-po.txt /*ale-po-write-good* -ale-pod-options ale-pod.txt /*ale-pod-options* -ale-pod-write-good ale-pod.txt /*ale-pod-write-good* -ale-pony-options ale-pony.txt /*ale-pony-options* -ale-pony-ponyc ale-pony.txt /*ale-pony-ponyc* -ale-powershell-options ale-powershell.txt /*ale-powershell-options* -ale-powershell-powershell ale-powershell.txt /*ale-powershell-powershell* -ale-powershell-psscriptanalyzer ale-powershell.txt /*ale-powershell-psscriptanalyzer* -ale-prolog-options ale-prolog.txt /*ale-prolog-options* -ale-prolog-swipl ale-prolog.txt /*ale-prolog-swipl* -ale-proto-options ale-proto.txt /*ale-proto-options* -ale-proto-protoc-gen-lint ale-proto.txt /*ale-proto-protoc-gen-lint* -ale-pug-options ale-pug.txt /*ale-pug-options* -ale-pug-puglint ale-pug.txt /*ale-pug-puglint* -ale-puppet-languageserver ale-puppet.txt /*ale-puppet-languageserver* -ale-puppet-options ale-puppet.txt /*ale-puppet-options* -ale-puppet-puppet ale-puppet.txt /*ale-puppet-puppet* -ale-puppet-puppetlint ale-puppet.txt /*ale-puppet-puppetlint* -ale-purescript-language-server ale-purescript.txt /*ale-purescript-language-server* -ale-purescript-options ale-purescript.txt /*ale-purescript-options* -ale-purescript-purty ale-purescript.txt /*ale-purescript-purty* -ale-pyrex-cython ale-pyrex.txt /*ale-pyrex-cython* -ale-pyrex-options ale-pyrex.txt /*ale-pyrex-options* -ale-python-autopep8 ale-python.txt /*ale-python-autopep8* -ale-python-bandit ale-python.txt /*ale-python-bandit* -ale-python-black ale-python.txt /*ale-python-black* -ale-python-flake8 ale-python.txt /*ale-python-flake8* -ale-python-isort ale-python.txt /*ale-python-isort* -ale-python-mypy ale-python.txt /*ale-python-mypy* -ale-python-options ale-python.txt /*ale-python-options* -ale-python-prospector ale-python.txt /*ale-python-prospector* -ale-python-pycodestyle ale-python.txt /*ale-python-pycodestyle* -ale-python-pydocstyle ale-python.txt /*ale-python-pydocstyle* -ale-python-pyflakes ale-python.txt /*ale-python-pyflakes* -ale-python-pylama ale-python.txt /*ale-python-pylama* -ale-python-pylint ale-python.txt /*ale-python-pylint* -ale-python-pyls ale-python.txt /*ale-python-pyls* -ale-python-pyre ale-python.txt /*ale-python-pyre* -ale-python-reorder_python_imports ale-python.txt /*ale-python-reorder_python_imports* -ale-python-root ale-python.txt /*ale-python-root* -ale-python-vulture ale-python.txt /*ale-python-vulture* -ale-python-yapf ale-python.txt /*ale-python-yapf* -ale-qml-options ale-qml.txt /*ale-qml-options* -ale-qml-qmlfmt ale-qml.txt /*ale-qml-qmlfmt* -ale-r-lintr ale-r.txt /*ale-r-lintr* -ale-r-options ale-r.txt /*ale-r-options* -ale-r-styler ale-r.txt /*ale-r-styler* -ale-reasonml-language-server ale-reasonml.txt /*ale-reasonml-language-server* -ale-reasonml-merlin ale-reasonml.txt /*ale-reasonml-merlin* -ale-reasonml-ols ale-reasonml.txt /*ale-reasonml-ols* -ale-reasonml-options ale-reasonml.txt /*ale-reasonml-options* -ale-reasonml-refmt ale-reasonml.txt /*ale-reasonml-refmt* -ale-restructuredtext-options ale-restructuredtext.txt /*ale-restructuredtext-options* -ale-restructuredtext-textlint ale-restructuredtext.txt /*ale-restructuredtext-textlint* -ale-restructuredtext-write-good ale-restructuredtext.txt /*ale-restructuredtext-write-good* -ale-ruby-brakeman ale-ruby.txt /*ale-ruby-brakeman* -ale-ruby-debride ale-ruby.txt /*ale-ruby-debride* -ale-ruby-options ale-ruby.txt /*ale-ruby-options* -ale-ruby-rails_best_practices ale-ruby.txt /*ale-ruby-rails_best_practices* -ale-ruby-reek ale-ruby.txt /*ale-ruby-reek* -ale-ruby-rubocop ale-ruby.txt /*ale-ruby-rubocop* -ale-ruby-ruby ale-ruby.txt /*ale-ruby-ruby* -ale-ruby-rufo ale-ruby.txt /*ale-ruby-rufo* -ale-ruby-solargraph ale-ruby.txt /*ale-ruby-solargraph* -ale-ruby-sorbet ale-ruby.txt /*ale-ruby-sorbet* -ale-ruby-standardrb ale-ruby.txt /*ale-ruby-standardrb* -ale-rust-analyzer ale-rust.txt /*ale-rust-analyzer* -ale-rust-cargo ale-rust.txt /*ale-rust-cargo* -ale-rust-options ale-rust.txt /*ale-rust-options* -ale-rust-rls ale-rust.txt /*ale-rust-rls* -ale-rust-rustc ale-rust.txt /*ale-rust-rustc* -ale-rust-rustfmt ale-rust.txt /*ale-rust-rustfmt* -ale-sass-options ale-sass.txt /*ale-sass-options* -ale-sass-sasslint ale-sass.txt /*ale-sass-sasslint* -ale-sass-stylelint ale-sass.txt /*ale-sass-stylelint* -ale-scala-metals ale-scala.txt /*ale-scala-metals* -ale-scala-options ale-scala.txt /*ale-scala-options* -ale-scala-sbtserver ale-scala.txt /*ale-scala-sbtserver* -ale-scala-scalafmt ale-scala.txt /*ale-scala-scalafmt* -ale-scala-scalastyle ale-scala.txt /*ale-scala-scalastyle* -ale-scss-options ale-scss.txt /*ale-scss-options* -ale-scss-prettier ale-scss.txt /*ale-scss-prettier* -ale-scss-sasslint ale-scss.txt /*ale-scss-sasslint* -ale-scss-stylelint ale-scss.txt /*ale-scss-stylelint* -ale-sh-language-server ale-sh.txt /*ale-sh-language-server* -ale-sh-options ale-sh.txt /*ale-sh-options* -ale-sh-shell ale-sh.txt /*ale-sh-shell* -ale-sh-shellcheck ale-sh.txt /*ale-sh-shellcheck* -ale-sh-shfmt ale-sh.txt /*ale-sh-shfmt* -ale-sml-options ale-sml.txt /*ale-sml-options* -ale-sml-smlnj ale-sml.txt /*ale-sml-smlnj* -ale-sml-smlnj-cm ale-sml.txt /*ale-sml-smlnj-cm* -ale-solidity-options ale-solidity.txt /*ale-solidity-options* -ale-solidity-solc ale-solidity.txt /*ale-solidity-solc* -ale-solidity-solhint ale-solidity.txt /*ale-solidity-solhint* -ale-solidity-solium ale-solidity.txt /*ale-solidity-solium* -ale-spec-options ale-spec.txt /*ale-spec-options* -ale-spec-rpmlint ale-spec.txt /*ale-spec-rpmlint* -ale-special-thanks ale.txt /*ale-special-thanks* -ale-sql-options ale-sql.txt /*ale-sql-options* -ale-sql-pgformatter ale-sql.txt /*ale-sql-pgformatter* -ale-sql-sqlfmt ale-sql.txt /*ale-sql-sqlfmt* -ale-sql-sqlformat ale-sql.txt /*ale-sql-sqlformat* -ale-stylus-options ale-stylus.txt /*ale-stylus-options* -ale-stylus-stylelint ale-stylus.txt /*ale-stylus-stylelint* -ale-sugarss-options ale-sugarss.txt /*ale-sugarss-options* -ale-sugarss-stylelint ale-sugarss.txt /*ale-sugarss-stylelint* -ale-support ale.txt /*ale-support* -ale-supported-languages-and-tools.txt ale-supported-languages-and-tools.txt /*ale-supported-languages-and-tools.txt* -ale-supported-list ale-supported-languages-and-tools.txt /*ale-supported-list* -ale-swift-options ale-swift.txt /*ale-swift-options* -ale-swift-sourcekitlsp ale-swift.txt /*ale-swift-sourcekitlsp* -ale-symbol-search ale.txt /*ale-symbol-search* -ale-symbols ale.txt /*ale-symbols* -ale-tcl-nagelfar ale-tcl.txt /*ale-tcl-nagelfar* -ale-tcl-options ale-tcl.txt /*ale-tcl-options* -ale-terraform-fmt-fixer ale-terraform.txt /*ale-terraform-fmt-fixer* -ale-terraform-options ale-terraform.txt /*ale-terraform-options* -ale-terraform-terraform ale-terraform.txt /*ale-terraform-terraform* -ale-terraform-terraform-lsp ale-terraform.txt /*ale-terraform-terraform-lsp* -ale-terraform-tflint ale-terraform.txt /*ale-terraform-tflint* -ale-tests ale-development.txt /*ale-tests* -ale-tex-chktex ale-tex.txt /*ale-tex-chktex* -ale-tex-lacheck ale-tex.txt /*ale-tex-lacheck* -ale-tex-latexindent ale-tex.txt /*ale-tex-latexindent* -ale-tex-options ale-tex.txt /*ale-tex-options* -ale-tex-texlab ale-tex.txt /*ale-tex-texlab* -ale-texinfo-options ale-texinfo.txt /*ale-texinfo-options* -ale-texinfo-write-good ale-texinfo.txt /*ale-texinfo-write-good* -ale-text-options ale-text.txt /*ale-text-options* -ale-text-textlint ale-text.txt /*ale-text-textlint* -ale-text-write-good ale-text.txt /*ale-text-write-good* -ale-thrift-options ale-thrift.txt /*ale-thrift-options* -ale-thrift-thrift ale-thrift.txt /*ale-thrift-thrift* -ale-typescript-eslint ale-typescript.txt /*ale-typescript-eslint* -ale-typescript-options ale-typescript.txt /*ale-typescript-options* -ale-typescript-prettier ale-typescript.txt /*ale-typescript-prettier* -ale-typescript-standard ale-typescript.txt /*ale-typescript-standard* -ale-typescript-tslint ale-typescript.txt /*ale-typescript-tslint* -ale-typescript-tsserver ale-typescript.txt /*ale-typescript-tsserver* -ale-vala-options ale-vala.txt /*ale-vala-options* -ale-vala-uncrustify ale-vala.txt /*ale-vala-uncrustify* -ale-verilog-iverilog ale-verilog.txt /*ale-verilog-iverilog* -ale-verilog-options ale-verilog.txt /*ale-verilog-options* -ale-verilog-verilator ale-verilog.txt /*ale-verilog-verilator* -ale-verilog-vlog ale-verilog.txt /*ale-verilog-vlog* -ale-verilog-xvlog ale-verilog.txt /*ale-verilog-xvlog* -ale-vhdl-ghdl ale-vhdl.txt /*ale-vhdl-ghdl* -ale-vhdl-options ale-vhdl.txt /*ale-vhdl-options* -ale-vhdl-vcom ale-vhdl.txt /*ale-vhdl-vcom* -ale-vhdl-xvhdl ale-vhdl.txt /*ale-vhdl-xvhdl* -ale-vim-help-options ale-vim-help.txt /*ale-vim-help-options* -ale-vim-help-write-good ale-vim-help.txt /*ale-vim-help-write-good* -ale-vim-options ale-vim.txt /*ale-vim-options* -ale-vim-vimls ale-vim.txt /*ale-vim-vimls* -ale-vim-vint ale-vim.txt /*ale-vim-vint* -ale-vue-options ale-vue.txt /*ale-vue-options* -ale-vue-prettier ale-vue.txt /*ale-vue-prettier* -ale-vue-vls ale-vue.txt /*ale-vue-vls* -ale-write-good-options ale.txt /*ale-write-good-options* -ale-xhtml-options ale-xhtml.txt /*ale-xhtml-options* -ale-xhtml-write-good ale-xhtml.txt /*ale-xhtml-write-good* -ale-xml-options ale-xml.txt /*ale-xml-options* -ale-xml-xmllint ale-xml.txt /*ale-xml-xmllint* -ale-yaml-options ale-yaml.txt /*ale-yaml-options* -ale-yaml-prettier ale-yaml.txt /*ale-yaml-prettier* -ale-yaml-swaglint ale-yaml.txt /*ale-yaml-swaglint* -ale-yaml-yamllint ale-yaml.txt /*ale-yaml-yamllint* -ale-yang-lsp ale-yang.txt /*ale-yang-lsp* -ale-yang-options ale-yang.txt /*ale-yang-options* -ale.txt ale.txt /*ale.txt* -b:ale-c-flawfinder ale-c.txt /*b:ale-c-flawfinder* -b:ale-cpp-flawfinder ale-cpp.txt /*b:ale-cpp-flawfinder* -b:ale_ada_gcc_executable ale-ada.txt /*b:ale_ada_gcc_executable* -b:ale_ada_gcc_options ale-ada.txt /*b:ale_ada_gcc_options* -b:ale_ada_gnatpp_options ale-ada.txt /*b:ale_ada_gnatpp_options* -b:ale_alex_executable ale.txt /*b:ale_alex_executable* -b:ale_alex_use_global ale.txt /*b:ale_alex_use_global* -b:ale_ansible_ansible_lint_executable ale-ansible.txt /*b:ale_ansible_ansible_lint_executable* -b:ale_asm_gcc_executable ale-asm.txt /*b:ale_asm_gcc_executable* -b:ale_asm_gcc_options ale-asm.txt /*b:ale_asm_gcc_options* -b:ale_awk_gawk_executable ale-awk.txt /*b:ale_awk_gawk_executable* -b:ale_awk_gawk_options ale-awk.txt /*b:ale_awk_gawk_options* -b:ale_c_build_dir ale-c.txt /*b:ale_c_build_dir* -b:ale_c_build_dir_names ale-c.txt /*b:ale_c_build_dir_names* -b:ale_c_ccls_executable ale-c.txt /*b:ale_c_ccls_executable* -b:ale_c_ccls_init_options ale-c.txt /*b:ale_c_ccls_init_options* -b:ale_c_clang_executable ale-c.txt /*b:ale_c_clang_executable* -b:ale_c_clang_options ale-c.txt /*b:ale_c_clang_options* -b:ale_c_clangd_executable ale-c.txt /*b:ale_c_clangd_executable* -b:ale_c_clangd_options ale-c.txt /*b:ale_c_clangd_options* -b:ale_c_clangformat_executable ale-c.txt /*b:ale_c_clangformat_executable* -b:ale_c_clangformat_options ale-c.txt /*b:ale_c_clangformat_options* -b:ale_c_clangtidy_checks ale-c.txt /*b:ale_c_clangtidy_checks* -b:ale_c_clangtidy_executable ale-c.txt /*b:ale_c_clangtidy_executable* -b:ale_c_clangtidy_extra_options ale-c.txt /*b:ale_c_clangtidy_extra_options* -b:ale_c_clangtidy_fix_errors ale-c.txt /*b:ale_c_clangtidy_fix_errors* -b:ale_c_clangtidy_options ale-c.txt /*b:ale_c_clangtidy_options* -b:ale_c_cppcheck_executable ale-c.txt /*b:ale_c_cppcheck_executable* -b:ale_c_cppcheck_options ale-c.txt /*b:ale_c_cppcheck_options* -b:ale_c_cquery_cache_directory ale-c.txt /*b:ale_c_cquery_cache_directory* -b:ale_c_cquery_executable ale-c.txt /*b:ale_c_cquery_executable* -b:ale_c_flawfinder_error_severity ale-c.txt /*b:ale_c_flawfinder_error_severity* -b:ale_c_flawfinder_executable ale-c.txt /*b:ale_c_flawfinder_executable* -b:ale_c_flawfinder_minlevel ale-c.txt /*b:ale_c_flawfinder_minlevel* -b:ale_c_gcc_executable ale-c.txt /*b:ale_c_gcc_executable* -b:ale_c_gcc_options ale-c.txt /*b:ale_c_gcc_options* -b:ale_c_parse_compile_commands ale-c.txt /*b:ale_c_parse_compile_commands* -b:ale_c_parse_makefile ale-c.txt /*b:ale_c_parse_makefile* -b:ale_c_uncrustify_executable ale-c.txt /*b:ale_c_uncrustify_executable* -b:ale_c_uncrustify_options ale-c.txt /*b:ale_c_uncrustify_options* -b:ale_chef_cookstyle_executable ale-chef.txt /*b:ale_chef_cookstyle_executable* -b:ale_chef_cookstyle_options ale-chef.txt /*b:ale_chef_cookstyle_options* -b:ale_chef_foodcritic_executable ale-chef.txt /*b:ale_chef_foodcritic_executable* -b:ale_chef_foodcritic_options ale-chef.txt /*b:ale_chef_foodcritic_options* -b:ale_cmake_cmakeformat_executable ale-cmake.txt /*b:ale_cmake_cmakeformat_executable* -b:ale_cmake_cmakeformat_options ale-cmake.txt /*b:ale_cmake_cmakeformat_options* -b:ale_cmake_cmakelint_executable ale-cmake.txt /*b:ale_cmake_cmakelint_executable* -b:ale_cmake_cmakelint_options ale-cmake.txt /*b:ale_cmake_cmakelint_options* -b:ale_command_wrapper ale.txt /*b:ale_command_wrapper* -b:ale_completion_enabled ale.txt /*b:ale_completion_enabled* -b:ale_completion_excluded_words ale.txt /*b:ale_completion_excluded_words* -b:ale_cpp_ccls_executable ale-cpp.txt /*b:ale_cpp_ccls_executable* -b:ale_cpp_ccls_init_options ale-cpp.txt /*b:ale_cpp_ccls_init_options* -b:ale_cpp_clang_executable ale-cpp.txt /*b:ale_cpp_clang_executable* -b:ale_cpp_clang_options ale-cpp.txt /*b:ale_cpp_clang_options* -b:ale_cpp_clangcheck_executable ale-cpp.txt /*b:ale_cpp_clangcheck_executable* -b:ale_cpp_clangcheck_options ale-cpp.txt /*b:ale_cpp_clangcheck_options* -b:ale_cpp_clangd_executable ale-cpp.txt /*b:ale_cpp_clangd_executable* -b:ale_cpp_clangd_options ale-cpp.txt /*b:ale_cpp_clangd_options* -b:ale_cpp_clangtidy_checks ale-cpp.txt /*b:ale_cpp_clangtidy_checks* -b:ale_cpp_clangtidy_executable ale-cpp.txt /*b:ale_cpp_clangtidy_executable* -b:ale_cpp_clangtidy_extra_options ale-cpp.txt /*b:ale_cpp_clangtidy_extra_options* -b:ale_cpp_clangtidy_fix_errors ale-cpp.txt /*b:ale_cpp_clangtidy_fix_errors* -b:ale_cpp_clangtidy_options ale-cpp.txt /*b:ale_cpp_clangtidy_options* -b:ale_cpp_clazy_checks ale-cpp.txt /*b:ale_cpp_clazy_checks* -b:ale_cpp_clazy_executable ale-cpp.txt /*b:ale_cpp_clazy_executable* -b:ale_cpp_clazy_options ale-cpp.txt /*b:ale_cpp_clazy_options* -b:ale_cpp_cppcheck_executable ale-cpp.txt /*b:ale_cpp_cppcheck_executable* -b:ale_cpp_cppcheck_options ale-cpp.txt /*b:ale_cpp_cppcheck_options* -b:ale_cpp_cpplint_executable ale-cpp.txt /*b:ale_cpp_cpplint_executable* -b:ale_cpp_cpplint_options ale-cpp.txt /*b:ale_cpp_cpplint_options* -b:ale_cpp_cquery_cache_directory ale-cpp.txt /*b:ale_cpp_cquery_cache_directory* -b:ale_cpp_cquery_executable ale-cpp.txt /*b:ale_cpp_cquery_executable* -b:ale_cpp_flawfinder_executable ale-cpp.txt /*b:ale_cpp_flawfinder_executable* -b:ale_cpp_flawfinder_minlevel ale-cpp.txt /*b:ale_cpp_flawfinder_minlevel* -b:ale_cpp_gcc_executable ale-cpp.txt /*b:ale_cpp_gcc_executable* -b:ale_cpp_gcc_options ale-cpp.txt /*b:ale_cpp_gcc_options* -b:ale_cs_csc_assemblies ale-cs.txt /*b:ale_cs_csc_assemblies* -b:ale_cs_csc_assembly_path ale-cs.txt /*b:ale_cs_csc_assembly_path* -b:ale_cs_csc_options ale-cs.txt /*b:ale_cs_csc_options* -b:ale_cs_csc_source ale-cs.txt /*b:ale_cs_csc_source* -b:ale_cs_mcs_options ale-cs.txt /*b:ale_cs_mcs_options* -b:ale_cs_mcsc_assemblies ale-cs.txt /*b:ale_cs_mcsc_assemblies* -b:ale_cs_mcsc_assembly_path ale-cs.txt /*b:ale_cs_mcsc_assembly_path* -b:ale_cs_mcsc_options ale-cs.txt /*b:ale_cs_mcsc_options* -b:ale_cs_mcsc_source ale-cs.txt /*b:ale_cs_mcsc_source* -b:ale_css_stylelint_executable ale-css.txt /*b:ale_css_stylelint_executable* -b:ale_css_stylelint_options ale-css.txt /*b:ale_css_stylelint_options* -b:ale_css_stylelint_use_global ale-css.txt /*b:ale_css_stylelint_use_global* -b:ale_cuda_nvcc_executable ale-cuda.txt /*b:ale_cuda_nvcc_executable* -b:ale_cuda_nvcc_options ale-cuda.txt /*b:ale_cuda_nvcc_options* -b:ale_d_dfmt_options ale-d.txt /*b:ale_d_dfmt_options* -b:ale_d_dls_executable ale-d.txt /*b:ale_d_dls_executable* -b:ale_dart_dartanalyzer_executable ale-dart.txt /*b:ale_dart_dartanalyzer_executable* -b:ale_dart_dartfmt_executable ale-dart.txt /*b:ale_dart_dartfmt_executable* -b:ale_dart_dartfmt_options ale-dart.txt /*b:ale_dart_dartfmt_options* -b:ale_default_navigation ale.txt /*b:ale_default_navigation* -b:ale_disable_lsp ale.txt /*b:ale_disable_lsp* -b:ale_dockerfile_dockerfile_lint_executable ale-dockerfile.txt /*b:ale_dockerfile_dockerfile_lint_executable* -b:ale_dockerfile_dockerfile_lint_options ale-dockerfile.txt /*b:ale_dockerfile_dockerfile_lint_options* -b:ale_dockerfile_hadolint_image ale-dockerfile.txt /*b:ale_dockerfile_hadolint_image* -b:ale_dockerfile_hadolint_use_docker ale-dockerfile.txt /*b:ale_dockerfile_hadolint_use_docker* -b:ale_echo_delay ale.txt /*b:ale_echo_delay* -b:ale_echo_msg_format ale.txt /*b:ale_echo_msg_format* -b:ale_elixir_elixir_ls_config ale-elixir.txt /*b:ale_elixir_elixir_ls_config* -b:ale_elixir_elixir_ls_release ale-elixir.txt /*b:ale_elixir_elixir_ls_release* -b:ale_elixir_mix_format_options ale-elixir.txt /*b:ale_elixir_mix_format_options* -b:ale_elixir_mix_options ale-elixir.txt /*b:ale_elixir_mix_options* -b:ale_elm_format_executable ale-elm.txt /*b:ale_elm_format_executable* -b:ale_elm_format_options ale-elm.txt /*b:ale_elm_format_options* -b:ale_elm_format_use_global ale-elm.txt /*b:ale_elm_format_use_global* -b:ale_elm_ls_elm_analyse_trigger ale-elm.txt /*b:ale_elm_ls_elm_analyse_trigger* -b:ale_elm_ls_elm_format_path ale-elm.txt /*b:ale_elm_ls_elm_format_path* -b:ale_elm_ls_elm_path ale-elm.txt /*b:ale_elm_ls_elm_path* -b:ale_elm_ls_elm_test_path ale-elm.txt /*b:ale_elm_ls_elm_test_path* -b:ale_elm_ls_executable ale-elm.txt /*b:ale_elm_ls_executable* -b:ale_elm_ls_use_global ale-elm.txt /*b:ale_elm_ls_use_global* -b:ale_elm_make_executable ale-elm.txt /*b:ale_elm_make_executable* -b:ale_elm_make_use_global ale-elm.txt /*b:ale_elm_make_use_global* -b:ale_enabled ale.txt /*b:ale_enabled* -b:ale_erlang_dialyzer_executable ale-erlang.txt /*b:ale_erlang_dialyzer_executable* -b:ale_erlang_dialyzer_plt_file ale-erlang.txt /*b:ale_erlang_dialyzer_plt_file* -b:ale_erlang_dialyzer_rebar3_profile ale-erlang.txt /*b:ale_erlang_dialyzer_rebar3_profile* -b:ale_erlang_erlc_options ale-erlang.txt /*b:ale_erlang_erlc_options* -b:ale_erlang_syntaxerl_executable ale-erlang.txt /*b:ale_erlang_syntaxerl_executable* -b:ale_eruby_ruumba_executable ale-eruby.txt /*b:ale_eruby_ruumba_executable* -b:ale_exclude_highlights ale.txt /*b:ale_exclude_highlights* -b:ale_fix_on_save ale.txt /*b:ale_fix_on_save* -b:ale_fix_on_save_ignore ale.txt /*b:ale_fix_on_save_ignore* -b:ale_fixers ale.txt /*b:ale_fixers* -b:ale_fortran_gcc_executable ale-fortran.txt /*b:ale_fortran_gcc_executable* -b:ale_fortran_gcc_options ale-fortran.txt /*b:ale_fortran_gcc_options* -b:ale_fortran_gcc_use_free_form ale-fortran.txt /*b:ale_fortran_gcc_use_free_form* -b:ale_fortran_language_server_executable ale-fortran.txt /*b:ale_fortran_language_server_executable* -b:ale_fortran_language_server_use_global ale-fortran.txt /*b:ale_fortran_language_server_use_global* -b:ale_fuse_fusionlint_executable ale-fuse.txt /*b:ale_fuse_fusionlint_executable* -b:ale_fuse_fusionlint_options ale-fuse.txt /*b:ale_fuse_fusionlint_options* -b:ale_gitcommit_gitlint_executable ale-gitcommit.txt /*b:ale_gitcommit_gitlint_executable* -b:ale_gitcommit_gitlint_options ale-gitcommit.txt /*b:ale_gitcommit_gitlint_options* -b:ale_gitcommit_gitlint_use_global ale-gitcommit.txt /*b:ale_gitcommit_gitlint_use_global* -b:ale_glsl_glslang_executable ale-glsl.txt /*b:ale_glsl_glslang_executable* -b:ale_glsl_glslang_options ale-glsl.txt /*b:ale_glsl_glslang_options* -b:ale_glsl_glslls_executable ale-glsl.txt /*b:ale_glsl_glslls_executable* -b:ale_glsl_glslls_logfile ale-glsl.txt /*b:ale_glsl_glslls_logfile* -b:ale_go_bingo_executable ale-go.txt /*b:ale_go_bingo_executable* -b:ale_go_bingo_options ale-go.txt /*b:ale_go_bingo_options* -b:ale_go_go111module ale-go.txt /*b:ale_go_go111module* -b:ale_go_go_options ale-go.txt /*b:ale_go_go_options* -b:ale_go_gobuild_options ale-go.txt /*b:ale_go_gobuild_options* -b:ale_go_gofmt_options ale-go.txt /*b:ale_go_gofmt_options* -b:ale_go_golangci_lint_executable ale-go.txt /*b:ale_go_golangci_lint_executable* -b:ale_go_golangci_lint_options ale-go.txt /*b:ale_go_golangci_lint_options* -b:ale_go_golangci_lint_package ale-go.txt /*b:ale_go_golangci_lint_package* -b:ale_go_golint_executable ale-go.txt /*b:ale_go_golint_executable* -b:ale_go_golint_options ale-go.txt /*b:ale_go_golint_options* -b:ale_go_gometalinter_executable ale-go.txt /*b:ale_go_gometalinter_executable* -b:ale_go_gometalinter_lint_package ale-go.txt /*b:ale_go_gometalinter_lint_package* -b:ale_go_gometalinter_options ale-go.txt /*b:ale_go_gometalinter_options* -b:ale_go_gopls_executable ale-go.txt /*b:ale_go_gopls_executable* -b:ale_go_gopls_options ale-go.txt /*b:ale_go_gopls_options* -b:ale_go_govet_options ale-go.txt /*b:ale_go_govet_options* -b:ale_go_langserver_executable ale-go.txt /*b:ale_go_langserver_executable* -b:ale_go_langserver_options ale-go.txt /*b:ale_go_langserver_options* -b:ale_go_revive_executable ale-go.txt /*b:ale_go_revive_executable* -b:ale_go_revive_options ale-go.txt /*b:ale_go_revive_options* -b:ale_go_staticcheck_lint_package ale-go.txt /*b:ale_go_staticcheck_lint_package* -b:ale_go_staticcheck_options ale-go.txt /*b:ale_go_staticcheck_options* -b:ale_hack_hack_executable ale-hack.txt /*b:ale_hack_hack_executable* -b:ale_hack_hackfmt_options ale-hack.txt /*b:ale_hack_hackfmt_options* -b:ale_hack_hhast_executable ale-hack.txt /*b:ale_hack_hhast_executable* -b:ale_handlebars_embertemplatelint_executable ale-handlebars.txt /*b:ale_handlebars_embertemplatelint_executable* -b:ale_handlebars_embertemplatelint_use_global ale-handlebars.txt /*b:ale_handlebars_embertemplatelint_use_global* -b:ale_haskell_brittany_executable ale-haskell.txt /*b:ale_haskell_brittany_executable* -b:ale_haskell_cabal_ghc_options ale-haskell.txt /*b:ale_haskell_cabal_ghc_options* -b:ale_haskell_floskell_executable ale-haskell.txt /*b:ale_haskell_floskell_executable* -b:ale_haskell_ghc_mod_executable ale-haskell.txt /*b:ale_haskell_ghc_mod_executable* -b:ale_haskell_ghc_options ale-haskell.txt /*b:ale_haskell_ghc_options* -b:ale_haskell_hdevtools_executable ale-haskell.txt /*b:ale_haskell_hdevtools_executable* -b:ale_haskell_hdevtools_options ale-haskell.txt /*b:ale_haskell_hdevtools_options* -b:ale_haskell_hfmt_executable ale-haskell.txt /*b:ale_haskell_hfmt_executable* -b:ale_haskell_hie_executable ale-haskell.txt /*b:ale_haskell_hie_executable* -b:ale_haskell_hindent_executable ale-haskell.txt /*b:ale_haskell_hindent_executable* -b:ale_haskell_hlint_executable ale-haskell.txt /*b:ale_haskell_hlint_executable* -b:ale_haskell_stack_build_options ale-haskell.txt /*b:ale_haskell_stack_build_options* -b:ale_haskell_stack_ghc_options ale-haskell.txt /*b:ale_haskell_stack_ghc_options* -b:ale_haskell_stylish_haskell_executable ale-haskell.txt /*b:ale_haskell_stylish_haskell_executable* -b:ale_hover_to_preview ale.txt /*b:ale_hover_to_preview* -b:ale_html_beautify_options ale-html.txt /*b:ale_html_beautify_options* -b:ale_html_htmlhint_executable ale-html.txt /*b:ale_html_htmlhint_executable* -b:ale_html_htmlhint_options ale-html.txt /*b:ale_html_htmlhint_options* -b:ale_html_htmlhint_use_global ale-html.txt /*b:ale_html_htmlhint_use_global* -b:ale_html_stylelint_executable ale-html.txt /*b:ale_html_stylelint_executable* -b:ale_html_stylelint_options ale-html.txt /*b:ale_html_stylelint_options* -b:ale_html_stylelint_use_global ale-html.txt /*b:ale_html_stylelint_use_global* -b:ale_html_tidy_executable ale-html.txt /*b:ale_html_tidy_executable* -b:ale_html_tidy_options ale-html.txt /*b:ale_html_tidy_options* -b:ale_idris_idris_executable ale-idris.txt /*b:ale_idris_idris_executable* -b:ale_idris_idris_options ale-idris.txt /*b:ale_idris_idris_options* -b:ale_ispc_ispc_executable ale-ispc.txt /*b:ale_ispc_ispc_executable* -b:ale_ispc_ispc_options ale-ispc.txt /*b:ale_ispc_ispc_options* -b:ale_java_checkstyle_config ale-java.txt /*b:ale_java_checkstyle_config* -b:ale_java_checkstyle_executable ale-java.txt /*b:ale_java_checkstyle_executable* -b:ale_java_checkstyle_options ale-java.txt /*b:ale_java_checkstyle_options* -b:ale_java_eclipse_config_path ale-java.txt /*b:ale_java_eclipse_config_path* -b:ale_java_eclipse_executable ale-java.txt /*b:ale_java_eclipse_executable* -b:ale_java_eclipselsp_javaagent ale-java.txt /*b:ale_java_eclipselsp_javaagent* -b:ale_java_eclipselsp_path ale-java.txt /*b:ale_java_eclipselsp_path* -b:ale_java_eclipselsp_workspace_path ale-java.txt /*b:ale_java_eclipselsp_workspace_path* -b:ale_java_google_java_format_executable ale-java.txt /*b:ale_java_google_java_format_executable* -b:ale_java_google_java_format_options ale-java.txt /*b:ale_java_google_java_format_options* -b:ale_java_javac_classpath ale-java.txt /*b:ale_java_javac_classpath* -b:ale_java_javac_executable ale-java.txt /*b:ale_java_javac_executable* -b:ale_java_javac_options ale-java.txt /*b:ale_java_javac_options* -b:ale_java_javac_sourcepath ale-java.txt /*b:ale_java_javac_sourcepath* -b:ale_java_javalsp_config ale-java.txt /*b:ale_java_javalsp_config* -b:ale_java_javalsp_executable ale-java.txt /*b:ale_java_javalsp_executable* -b:ale_java_pmd_options ale-java.txt /*b:ale_java_pmd_options* -b:ale_javascript_eslint_executable ale-javascript.txt /*b:ale_javascript_eslint_executable* -b:ale_javascript_eslint_options ale-javascript.txt /*b:ale_javascript_eslint_options* -b:ale_javascript_eslint_suppress_eslintignore ale-javascript.txt /*b:ale_javascript_eslint_suppress_eslintignore* -b:ale_javascript_eslint_suppress_missing_config ale-javascript.txt /*b:ale_javascript_eslint_suppress_missing_config* -b:ale_javascript_eslint_use_global ale-javascript.txt /*b:ale_javascript_eslint_use_global* -b:ale_javascript_fecs_executable ale-javascript.txt /*b:ale_javascript_fecs_executable* -b:ale_javascript_fecs_use_global ale-javascript.txt /*b:ale_javascript_fecs_use_global* -b:ale_javascript_flow_executable ale-javascript.txt /*b:ale_javascript_flow_executable* -b:ale_javascript_flow_use_global ale-javascript.txt /*b:ale_javascript_flow_use_global* -b:ale_javascript_flow_use_home_config ale-javascript.txt /*b:ale_javascript_flow_use_home_config* -b:ale_javascript_flow_use_respect_pragma ale-javascript.txt /*b:ale_javascript_flow_use_respect_pragma* -b:ale_javascript_importjs_executable ale-javascript.txt /*b:ale_javascript_importjs_executable* -b:ale_javascript_jscs_executable ale-javascript.txt /*b:ale_javascript_jscs_executable* -b:ale_javascript_jscs_use_global ale-javascript.txt /*b:ale_javascript_jscs_use_global* -b:ale_javascript_jshint_executable ale-javascript.txt /*b:ale_javascript_jshint_executable* -b:ale_javascript_jshint_use_global ale-javascript.txt /*b:ale_javascript_jshint_use_global* -b:ale_javascript_prettier_eslint_executable ale-javascript.txt /*b:ale_javascript_prettier_eslint_executable* -b:ale_javascript_prettier_eslint_options ale-javascript.txt /*b:ale_javascript_prettier_eslint_options* -b:ale_javascript_prettier_eslint_use_global ale-javascript.txt /*b:ale_javascript_prettier_eslint_use_global* -b:ale_javascript_prettier_executable ale-javascript.txt /*b:ale_javascript_prettier_executable* -b:ale_javascript_prettier_options ale-javascript.txt /*b:ale_javascript_prettier_options* -b:ale_javascript_prettier_standard_executable ale-javascript.txt /*b:ale_javascript_prettier_standard_executable* -b:ale_javascript_prettier_standard_options ale-javascript.txt /*b:ale_javascript_prettier_standard_options* -b:ale_javascript_prettier_standard_use_global ale-javascript.txt /*b:ale_javascript_prettier_standard_use_global* -b:ale_javascript_prettier_use_global ale-javascript.txt /*b:ale_javascript_prettier_use_global* -b:ale_javascript_standard_executable ale-javascript.txt /*b:ale_javascript_standard_executable* -b:ale_javascript_standard_options ale-javascript.txt /*b:ale_javascript_standard_options* -b:ale_javascript_standard_use_global ale-javascript.txt /*b:ale_javascript_standard_use_global* -b:ale_javascript_xo_executable ale-javascript.txt /*b:ale_javascript_xo_executable* -b:ale_javascript_xo_options ale-javascript.txt /*b:ale_javascript_xo_options* -b:ale_javascript_xo_use_global ale-javascript.txt /*b:ale_javascript_xo_use_global* -b:ale_json_fixjson_executable ale-json.txt /*b:ale_json_fixjson_executable* -b:ale_json_fixjson_options ale-json.txt /*b:ale_json_fixjson_options* -b:ale_json_fixjson_use_global ale-json.txt /*b:ale_json_fixjson_use_global* -b:ale_json_jq_executable ale-json.txt /*b:ale_json_jq_executable* -b:ale_json_jq_filters ale-json.txt /*b:ale_json_jq_filters* -b:ale_json_jq_options ale-json.txt /*b:ale_json_jq_options* -b:ale_json_jsonlint_executable ale-json.txt /*b:ale_json_jsonlint_executable* -b:ale_json_jsonlint_use_global ale-json.txt /*b:ale_json_jsonlint_use_global* -b:ale_julia_executable ale-julia.txt /*b:ale_julia_executable* -b:ale_keep_list_window_open ale.txt /*b:ale_keep_list_window_open* -b:ale_lacheck_executable ale-tex.txt /*b:ale_lacheck_executable* -b:ale_languagetool_executable ale.txt /*b:ale_languagetool_executable* -b:ale_languagetool_options ale.txt /*b:ale_languagetool_options* -b:ale_less_lessc_executable ale-less.txt /*b:ale_less_lessc_executable* -b:ale_less_lessc_options ale-less.txt /*b:ale_less_lessc_options* -b:ale_less_lessc_use_global ale-less.txt /*b:ale_less_lessc_use_global* -b:ale_less_stylelint_executable ale-less.txt /*b:ale_less_stylelint_executable* -b:ale_less_stylelint_options ale-less.txt /*b:ale_less_stylelint_options* -b:ale_less_stylelint_use_global ale-less.txt /*b:ale_less_stylelint_use_global* -b:ale_lint_on_insert_leave ale.txt /*b:ale_lint_on_insert_leave* -b:ale_linted ale.txt /*b:ale_linted* -b:ale_linter_aliases ale.txt /*b:ale_linter_aliases* -b:ale_linters ale.txt /*b:ale_linters* -b:ale_linters_ignore ale.txt /*b:ale_linters_ignore* -b:ale_list_vertical ale.txt /*b:ale_list_vertical* -b:ale_list_window_size ale.txt /*b:ale_list_window_size* -b:ale_llvm_llc_executable ale-llvm.txt /*b:ale_llvm_llc_executable* -b:ale_loclist_msg_format ale.txt /*b:ale_loclist_msg_format* -b:ale_lsp_root ale.txt /*b:ale_lsp_root* -b:ale_lua_luac_executable ale-lua.txt /*b:ale_lua_luac_executable* -b:ale_lua_luacheck_executable ale-lua.txt /*b:ale_lua_luacheck_executable* -b:ale_lua_luacheck_options ale-lua.txt /*b:ale_lua_luacheck_options* -b:ale_markdown_mdl_executable ale-markdown.txt /*b:ale_markdown_mdl_executable* -b:ale_markdown_mdl_options ale-markdown.txt /*b:ale_markdown_mdl_options* -b:ale_markdown_remark_lint_executable ale-markdown.txt /*b:ale_markdown_remark_lint_executable* -b:ale_markdown_remark_lint_options ale-markdown.txt /*b:ale_markdown_remark_lint_options* -b:ale_markdown_remark_lint_use_global ale-markdown.txt /*b:ale_markdown_remark_lint_use_global* -b:ale_max_signs ale.txt /*b:ale_max_signs* -b:ale_maximum_file_size ale.txt /*b:ale_maximum_file_size* -b:ale_mercury_mmc_executable ale-mercury.txt /*b:ale_mercury_mmc_executable* -b:ale_mercury_mmc_options ale-mercury.txt /*b:ale_mercury_mmc_options* -b:ale_nasm_nasm_executable ale-nasm.txt /*b:ale_nasm_nasm_executable* -b:ale_nasm_nasm_options ale-nasm.txt /*b:ale_nasm_nasm_options* -b:ale_nim_nimpretty_executable ale-nim.txt /*b:ale_nim_nimpretty_executable* -b:ale_nim_nimpretty_options ale-nim.txt /*b:ale_nim_nimpretty_options* -b:ale_nix_nixpkgsfmt_executable ale-nix.txt /*b:ale_nix_nixpkgsfmt_executable* -b:ale_nix_nixpkgsfmt_options ale-nix.txt /*b:ale_nix_nixpkgsfmt_options* -b:ale_objc_ccls_executable ale-objc.txt /*b:ale_objc_ccls_executable* -b:ale_objc_ccls_init_options ale-objc.txt /*b:ale_objc_ccls_init_options* -b:ale_objc_clang_options ale-objc.txt /*b:ale_objc_clang_options* -b:ale_objc_clangd_executable ale-objc.txt /*b:ale_objc_clangd_executable* -b:ale_objc_clangd_options ale-objc.txt /*b:ale_objc_clangd_options* -b:ale_objcpp_clang_options ale-objcpp.txt /*b:ale_objcpp_clang_options* -b:ale_objcpp_clangd_executable ale-objcpp.txt /*b:ale_objcpp_clangd_executable* -b:ale_objcpp_clangd_options ale-objcpp.txt /*b:ale_objcpp_clangd_options* -b:ale_ocaml_ocamlformat_executable ale-ocaml.txt /*b:ale_ocaml_ocamlformat_executable* -b:ale_ocaml_ocamlformat_options ale-ocaml.txt /*b:ale_ocaml_ocamlformat_options* -b:ale_ocaml_ocp_indent_config ale-ocaml.txt /*b:ale_ocaml_ocp_indent_config* -b:ale_ocaml_ocp_indent_executable ale-ocaml.txt /*b:ale_ocaml_ocp_indent_executable* -b:ale_ocaml_ocp_indent_options ale-ocaml.txt /*b:ale_ocaml_ocp_indent_options* -b:ale_ocaml_ols_executable ale-ocaml.txt /*b:ale_ocaml_ols_executable* -b:ale_ocaml_ols_use_global ale-ocaml.txt /*b:ale_ocaml_ols_use_global* -b:ale_open_list ale.txt /*b:ale_open_list* -b:ale_perl6_perl6_executable ale-perl6.txt /*b:ale_perl6_perl6_executable* -b:ale_perl6_perl6_options ale-perl6.txt /*b:ale_perl6_perl6_options* -b:ale_perl_perl_executable ale-perl.txt /*b:ale_perl_perl_executable* -b:ale_perl_perl_options ale-perl.txt /*b:ale_perl_perl_options* -b:ale_perl_perlcritic_executable ale-perl.txt /*b:ale_perl_perlcritic_executable* -b:ale_perl_perlcritic_options ale-perl.txt /*b:ale_perl_perlcritic_options* -b:ale_perl_perlcritic_profile ale-perl.txt /*b:ale_perl_perlcritic_profile* -b:ale_perl_perltidy_options ale-perl.txt /*b:ale_perl_perltidy_options* -b:ale_php_cs_fixer_executable ale-php.txt /*b:ale_php_cs_fixer_executable* -b:ale_php_cs_fixer_options ale-php.txt /*b:ale_php_cs_fixer_options* -b:ale_php_cs_fixer_use_global ale-php.txt /*b:ale_php_cs_fixer_use_global* -b:ale_php_langserver_executable ale-php.txt /*b:ale_php_langserver_executable* -b:ale_php_langserver_use_global ale-php.txt /*b:ale_php_langserver_use_global* -b:ale_php_phan_executable ale-php.txt /*b:ale_php_phan_executable* -b:ale_php_phan_minimum_severity ale-php.txt /*b:ale_php_phan_minimum_severity* -b:ale_php_phan_use_client ale-php.txt /*b:ale_php_phan_use_client* -b:ale_php_php_executable ale-php.txt /*b:ale_php_php_executable* -b:ale_php_phpcbf_executable ale-php.txt /*b:ale_php_phpcbf_executable* -b:ale_php_phpcbf_standard ale-php.txt /*b:ale_php_phpcbf_standard* -b:ale_php_phpcbf_use_global ale-php.txt /*b:ale_php_phpcbf_use_global* -b:ale_php_phpcs_executable ale-php.txt /*b:ale_php_phpcs_executable* -b:ale_php_phpcs_options ale-php.txt /*b:ale_php_phpcs_options* -b:ale_php_phpcs_standard ale-php.txt /*b:ale_php_phpcs_standard* -b:ale_php_phpcs_use_global ale-php.txt /*b:ale_php_phpcs_use_global* -b:ale_php_phpmd_executable ale-php.txt /*b:ale_php_phpmd_executable* -b:ale_php_phpmd_ruleset ale-php.txt /*b:ale_php_phpmd_ruleset* -b:ale_php_phpstan_autoload ale-php.txt /*b:ale_php_phpstan_autoload* -b:ale_php_phpstan_configuration ale-php.txt /*b:ale_php_phpstan_configuration* -b:ale_php_phpstan_executable ale-php.txt /*b:ale_php_phpstan_executable* -b:ale_php_phpstan_level ale-php.txt /*b:ale_php_phpstan_level* -b:ale_php_psalm_executable ale-php.txt /*b:ale_php_psalm_executable* -b:ale_pony_ponyc_executable ale-pony.txt /*b:ale_pony_ponyc_executable* -b:ale_pony_ponyc_options ale-pony.txt /*b:ale_pony_ponyc_options* -b:ale_powershell_powershell_executable ale-powershell.txt /*b:ale_powershell_powershell_executable* -b:ale_powershell_psscriptanalyzer_exclusions ale-powershell.txt /*b:ale_powershell_psscriptanalyzer_exclusions* -b:ale_powershell_psscriptanalyzer_executable ale-powershell.txt /*b:ale_powershell_psscriptanalyzer_executable* -b:ale_powershell_psscriptanalyzer_module ale-powershell.txt /*b:ale_powershell_psscriptanalyzer_module* -b:ale_prolog_swipl_alarm ale-prolog.txt /*b:ale_prolog_swipl_alarm* -b:ale_prolog_swipl_alarm_handler ale-prolog.txt /*b:ale_prolog_swipl_alarm_handler* -b:ale_prolog_swipl_executable ale-prolog.txt /*b:ale_prolog_swipl_executable* -b:ale_prolog_swipl_load ale-prolog.txt /*b:ale_prolog_swipl_load* -b:ale_prolog_swipl_timeout ale-prolog.txt /*b:ale_prolog_swipl_timeout* -b:ale_psalm_langserver_options ale-php.txt /*b:ale_psalm_langserver_options* -b:ale_pug_puglint_executable ale-pug.txt /*b:ale_pug_puglint_executable* -b:ale_pug_puglint_options ale-pug.txt /*b:ale_pug_puglint_options* -b:ale_pug_puglint_use_global ale-pug.txt /*b:ale_pug_puglint_use_global* -b:ale_puppet_languageserver_executable ale-puppet.txt /*b:ale_puppet_languageserver_executable* -b:ale_puppet_puppet_executable ale-puppet.txt /*b:ale_puppet_puppet_executable* -b:ale_puppet_puppet_options ale-puppet.txt /*b:ale_puppet_puppet_options* -b:ale_puppet_puppetlint_executable ale-puppet.txt /*b:ale_puppet_puppetlint_executable* -b:ale_puppet_puppetlint_options ale-puppet.txt /*b:ale_puppet_puppetlint_options* -b:ale_purescript_purty_executable ale-purescript.txt /*b:ale_purescript_purty_executable* -b:ale_pyrex_cython_executable ale-pyrex.txt /*b:ale_pyrex_cython_executable* -b:ale_pyrex_cython_options ale-pyrex.txt /*b:ale_pyrex_cython_options* -b:ale_python_auto_pipenv ale-python.txt /*b:ale_python_auto_pipenv* -b:ale_python_autopep8_executable ale-python.txt /*b:ale_python_autopep8_executable* -b:ale_python_autopep8_options ale-python.txt /*b:ale_python_autopep8_options* -b:ale_python_autopep8_use_global ale-python.txt /*b:ale_python_autopep8_use_global* -b:ale_python_bandit_auto_pipenv ale-python.txt /*b:ale_python_bandit_auto_pipenv* -b:ale_python_bandit_executable ale-python.txt /*b:ale_python_bandit_executable* -b:ale_python_bandit_options ale-python.txt /*b:ale_python_bandit_options* -b:ale_python_bandit_use_config ale-python.txt /*b:ale_python_bandit_use_config* -b:ale_python_bandit_use_global ale-python.txt /*b:ale_python_bandit_use_global* -b:ale_python_black_auto_pipenv ale-python.txt /*b:ale_python_black_auto_pipenv* -b:ale_python_black_change_directory ale-python.txt /*b:ale_python_black_change_directory* -b:ale_python_black_executable ale-python.txt /*b:ale_python_black_executable* -b:ale_python_black_options ale-python.txt /*b:ale_python_black_options* -b:ale_python_black_use_global ale-python.txt /*b:ale_python_black_use_global* -b:ale_python_flake8_auto_pipenv ale-python.txt /*b:ale_python_flake8_auto_pipenv* -b:ale_python_flake8_change_directory ale-python.txt /*b:ale_python_flake8_change_directory* -b:ale_python_flake8_executable ale-python.txt /*b:ale_python_flake8_executable* -b:ale_python_flake8_options ale-python.txt /*b:ale_python_flake8_options* -b:ale_python_flake8_use_global ale-python.txt /*b:ale_python_flake8_use_global* -b:ale_python_isort_executable ale-python.txt /*b:ale_python_isort_executable* -b:ale_python_isort_options ale-python.txt /*b:ale_python_isort_options* -b:ale_python_isort_use_global ale-python.txt /*b:ale_python_isort_use_global* -b:ale_python_mypy_auto_pipenv ale-python.txt /*b:ale_python_mypy_auto_pipenv* -b:ale_python_mypy_executable ale-python.txt /*b:ale_python_mypy_executable* -b:ale_python_mypy_ignore_invalid_syntax ale-python.txt /*b:ale_python_mypy_ignore_invalid_syntax* -b:ale_python_mypy_options ale-python.txt /*b:ale_python_mypy_options* -b:ale_python_mypy_show_notes ale-python.txt /*b:ale_python_mypy_show_notes* -b:ale_python_mypy_use_global ale-python.txt /*b:ale_python_mypy_use_global* -b:ale_python_prospector_auto_pipenv ale-python.txt /*b:ale_python_prospector_auto_pipenv* -b:ale_python_prospector_executable ale-python.txt /*b:ale_python_prospector_executable* -b:ale_python_prospector_options ale-python.txt /*b:ale_python_prospector_options* -b:ale_python_prospector_use_global ale-python.txt /*b:ale_python_prospector_use_global* -b:ale_python_pycodestyle_auto_pipenv ale-python.txt /*b:ale_python_pycodestyle_auto_pipenv* -b:ale_python_pycodestyle_executable ale-python.txt /*b:ale_python_pycodestyle_executable* -b:ale_python_pycodestyle_options ale-python.txt /*b:ale_python_pycodestyle_options* -b:ale_python_pycodestyle_use_global ale-python.txt /*b:ale_python_pycodestyle_use_global* -b:ale_python_pydocstyle_auto_pipenv ale-python.txt /*b:ale_python_pydocstyle_auto_pipenv* -b:ale_python_pydocstyle_executable ale-python.txt /*b:ale_python_pydocstyle_executable* -b:ale_python_pydocstyle_options ale-python.txt /*b:ale_python_pydocstyle_options* -b:ale_python_pydocstyle_use_global ale-python.txt /*b:ale_python_pydocstyle_use_global* -b:ale_python_pyflakes_auto_pipenv ale-python.txt /*b:ale_python_pyflakes_auto_pipenv* -b:ale_python_pyflakes_executable ale-python.txt /*b:ale_python_pyflakes_executable* -b:ale_python_pylama_auto_pipenv ale-python.txt /*b:ale_python_pylama_auto_pipenv* -b:ale_python_pylama_change_directory ale-python.txt /*b:ale_python_pylama_change_directory* -b:ale_python_pylama_executable ale-python.txt /*b:ale_python_pylama_executable* -b:ale_python_pylama_options ale-python.txt /*b:ale_python_pylama_options* -b:ale_python_pylama_use_global ale-python.txt /*b:ale_python_pylama_use_global* -b:ale_python_pylint_auto_pipenv ale-python.txt /*b:ale_python_pylint_auto_pipenv* -b:ale_python_pylint_change_directory ale-python.txt /*b:ale_python_pylint_change_directory* -b:ale_python_pylint_executable ale-python.txt /*b:ale_python_pylint_executable* -b:ale_python_pylint_options ale-python.txt /*b:ale_python_pylint_options* -b:ale_python_pylint_use_global ale-python.txt /*b:ale_python_pylint_use_global* -b:ale_python_pylint_use_msg_id ale-python.txt /*b:ale_python_pylint_use_msg_id* -b:ale_python_pyls_auto_pipenv ale-python.txt /*b:ale_python_pyls_auto_pipenv* -b:ale_python_pyls_config ale-python.txt /*b:ale_python_pyls_config* -b:ale_python_pyls_executable ale-python.txt /*b:ale_python_pyls_executable* -b:ale_python_pyls_use_global ale-python.txt /*b:ale_python_pyls_use_global* -b:ale_python_pyre_auto_pipenv ale-python.txt /*b:ale_python_pyre_auto_pipenv* -b:ale_python_pyre_executable ale-python.txt /*b:ale_python_pyre_executable* -b:ale_python_pyre_use_global ale-python.txt /*b:ale_python_pyre_use_global* -b:ale_python_reorder_python_imports_executable ale-python.txt /*b:ale_python_reorder_python_imports_executable* -b:ale_python_reorder_python_imports_options ale-python.txt /*b:ale_python_reorder_python_imports_options* -b:ale_python_reorder_python_imports_use_global ale-python.txt /*b:ale_python_reorder_python_imports_use_global* -b:ale_python_vulture_change_directory ale-python.txt /*b:ale_python_vulture_change_directory* -b:ale_python_vulture_executable ale-python.txt /*b:ale_python_vulture_executable* -b:ale_python_vulture_options ale-python.txt /*b:ale_python_vulture_options* -b:ale_python_vulture_use_global ale-python.txt /*b:ale_python_vulture_use_global* -b:ale_python_yapf_executable ale-python.txt /*b:ale_python_yapf_executable* -b:ale_python_yapf_use_global ale-python.txt /*b:ale_python_yapf_use_global* -b:ale_qml_qmlfmt_executable ale-qml.txt /*b:ale_qml_qmlfmt_executable* -b:ale_r_lintr_lint_package ale-r.txt /*b:ale_r_lintr_lint_package* -b:ale_r_lintr_options ale-r.txt /*b:ale_r_lintr_options* -b:ale_r_styler_options ale-r.txt /*b:ale_r_styler_options* -b:ale_reason_ls_executable ale-reasonml.txt /*b:ale_reason_ls_executable* -b:ale_reason_ols_executable ale-reasonml.txt /*b:ale_reason_ols_executable* -b:ale_reason_ols_use_global ale-reasonml.txt /*b:ale_reason_ols_use_global* -b:ale_reasonml_refmt_executable ale-reasonml.txt /*b:ale_reasonml_refmt_executable* -b:ale_reasonml_refmt_options ale-reasonml.txt /*b:ale_reasonml_refmt_options* -b:ale_ruby_brakeman_executable ale-ruby.txt /*b:ale_ruby_brakeman_executable* -b:ale_ruby_brakeman_options ale-ruby.txt /*b:ale_ruby_brakeman_options* -b:ale_ruby_debride_executable ale-ruby.txt /*b:ale_ruby_debride_executable* -b:ale_ruby_debride_options ale-ruby.txt /*b:ale_ruby_debride_options* -b:ale_ruby_rails_best_practices_executable ale-ruby.txt /*b:ale_ruby_rails_best_practices_executable* -b:ale_ruby_rails_best_practices_options ale-ruby.txt /*b:ale_ruby_rails_best_practices_options* -b:ale_ruby_reek_executable ale-ruby.txt /*b:ale_ruby_reek_executable* -b:ale_ruby_reek_show_context ale-ruby.txt /*b:ale_ruby_reek_show_context* -b:ale_ruby_reek_show_wiki_link ale-ruby.txt /*b:ale_ruby_reek_show_wiki_link* -b:ale_ruby_rubocop_executable ale-ruby.txt /*b:ale_ruby_rubocop_executable* -b:ale_ruby_rubocop_options ale-ruby.txt /*b:ale_ruby_rubocop_options* -b:ale_ruby_ruby_executable ale-ruby.txt /*b:ale_ruby_ruby_executable* -b:ale_ruby_rufo_executable ale-ruby.txt /*b:ale_ruby_rufo_executable* -b:ale_ruby_ruumba_options ale-eruby.txt /*b:ale_ruby_ruumba_options* -b:ale_ruby_solargraph_executable ale-ruby.txt /*b:ale_ruby_solargraph_executable* -b:ale_ruby_sorbet_executable ale-ruby.txt /*b:ale_ruby_sorbet_executable* -b:ale_ruby_sorbet_options ale-ruby.txt /*b:ale_ruby_sorbet_options* -b:ale_ruby_standardrb_executable ale-ruby.txt /*b:ale_ruby_standardrb_executable* -b:ale_ruby_standardrb_options ale-ruby.txt /*b:ale_ruby_standardrb_options* -b:ale_rust_analyzer_config ale-rust.txt /*b:ale_rust_analyzer_config* -b:ale_rust_analyzer_executable ale-rust.txt /*b:ale_rust_analyzer_executable* -b:ale_rust_cargo_avoid_whole_workspace ale-rust.txt /*b:ale_rust_cargo_avoid_whole_workspace* -b:ale_rust_cargo_check_all_targets ale-rust.txt /*b:ale_rust_cargo_check_all_targets* -b:ale_rust_cargo_check_examples ale-rust.txt /*b:ale_rust_cargo_check_examples* -b:ale_rust_cargo_check_tests ale-rust.txt /*b:ale_rust_cargo_check_tests* -b:ale_rust_cargo_clippy_options ale-rust.txt /*b:ale_rust_cargo_clippy_options* -b:ale_rust_cargo_default_feature_behavior ale-rust.txt /*b:ale_rust_cargo_default_feature_behavior* -b:ale_rust_cargo_include_features ale-rust.txt /*b:ale_rust_cargo_include_features* -b:ale_rust_cargo_use_check ale-rust.txt /*b:ale_rust_cargo_use_check* -b:ale_rust_cargo_use_clippy ale-rust.txt /*b:ale_rust_cargo_use_clippy* -b:ale_rust_ignore_error_codes ale-rust.txt /*b:ale_rust_ignore_error_codes* -b:ale_rust_ignore_secondary_spans ale-rust.txt /*b:ale_rust_ignore_secondary_spans* -b:ale_rust_rls_config ale-rust.txt /*b:ale_rust_rls_config* -b:ale_rust_rls_executable ale-rust.txt /*b:ale_rust_rls_executable* -b:ale_rust_rls_toolchain ale-rust.txt /*b:ale_rust_rls_toolchain* -b:ale_rust_rustc_options ale-rust.txt /*b:ale_rust_rustc_options* -b:ale_rust_rustfmt_options ale-rust.txt /*b:ale_rust_rustfmt_options* -b:ale_sass_stylelint_executable ale-sass.txt /*b:ale_sass_stylelint_executable* -b:ale_sass_stylelint_use_global ale-sass.txt /*b:ale_sass_stylelint_use_global* -b:ale_scala_metals_executable ale-scala.txt /*b:ale_scala_metals_executable* -b:ale_scala_metals_project_root ale-scala.txt /*b:ale_scala_metals_project_root* -b:ale_scala_sbtserver_address ale-scala.txt /*b:ale_scala_sbtserver_address* -b:ale_scala_sbtserver_project_root ale-scala.txt /*b:ale_scala_sbtserver_project_root* -b:ale_scala_scalafmt_executable ale-scala.txt /*b:ale_scala_scalafmt_executable* -b:ale_scala_scalafmt_options ale-scala.txt /*b:ale_scala_scalafmt_options* -b:ale_scala_scalastyle_config ale-scala.txt /*b:ale_scala_scalastyle_config* -b:ale_scala_scalastyle_options ale-scala.txt /*b:ale_scala_scalastyle_options* -b:ale_scss_sasslint_executable ale-scss.txt /*b:ale_scss_sasslint_executable* -b:ale_scss_sasslint_options ale-scss.txt /*b:ale_scss_sasslint_options* -b:ale_scss_sasslint_use_global ale-scss.txt /*b:ale_scss_sasslint_use_global* -b:ale_scss_stylelint_executable ale-scss.txt /*b:ale_scss_stylelint_executable* -b:ale_scss_stylelint_options ale-scss.txt /*b:ale_scss_stylelint_options* -b:ale_scss_stylelint_use_global ale-scss.txt /*b:ale_scss_stylelint_use_global* -b:ale_set_balloons ale.txt /*b:ale_set_balloons* -b:ale_set_balloons_legacy_echo ale.txt /*b:ale_set_balloons_legacy_echo* -b:ale_sh_language_server_executable ale-sh.txt /*b:ale_sh_language_server_executable* -b:ale_sh_language_server_use_global ale-sh.txt /*b:ale_sh_language_server_use_global* -b:ale_sh_shell_default_shell ale-sh.txt /*b:ale_sh_shell_default_shell* -b:ale_sh_shellcheck_change_directory ale-sh.txt /*b:ale_sh_shellcheck_change_directory* -b:ale_sh_shellcheck_dialect ale-sh.txt /*b:ale_sh_shellcheck_dialect* -b:ale_sh_shellcheck_exclusions ale-sh.txt /*b:ale_sh_shellcheck_exclusions* -b:ale_sh_shellcheck_executable ale-sh.txt /*b:ale_sh_shellcheck_executable* -b:ale_sh_shellcheck_options ale-sh.txt /*b:ale_sh_shellcheck_options* -b:ale_sh_shfmt_options ale-sh.txt /*b:ale_sh_shfmt_options* -b:ale_sml_smlnj_cm_file ale-sml.txt /*b:ale_sml_smlnj_cm_file* -b:ale_solidity_solc_options ale-solidity.txt /*b:ale_solidity_solc_options* -b:ale_sourcekit_lsp_executable ale-swift.txt /*b:ale_sourcekit_lsp_executable* -b:ale_spec_rpmlint_executable ale-spec.txt /*b:ale_spec_rpmlint_executable* -b:ale_spec_rpmlint_options ale-spec.txt /*b:ale_spec_rpmlint_options* -b:ale_sql_pgformatter_executable ale-sql.txt /*b:ale_sql_pgformatter_executable* -b:ale_sql_pgformatter_options ale-sql.txt /*b:ale_sql_pgformatter_options* -b:ale_sql_sqlfmt_executable ale-sql.txt /*b:ale_sql_sqlfmt_executable* -b:ale_sql_sqlfmt_options ale-sql.txt /*b:ale_sql_sqlfmt_options* -b:ale_sql_sqlformat_executable ale-sql.txt /*b:ale_sql_sqlformat_executable* -b:ale_sql_sqlformat_options ale-sql.txt /*b:ale_sql_sqlformat_options* -b:ale_stylus_stylelint_executable ale-stylus.txt /*b:ale_stylus_stylelint_executable* -b:ale_stylus_stylelint_options ale-stylus.txt /*b:ale_stylus_stylelint_options* -b:ale_stylus_stylelint_use_global ale-stylus.txt /*b:ale_stylus_stylelint_use_global* -b:ale_sugarss_stylelint_executable ale-sugarss.txt /*b:ale_sugarss_stylelint_executable* -b:ale_sugarss_stylelint_options ale-sugarss.txt /*b:ale_sugarss_stylelint_options* -b:ale_sugarss_stylelint_use_global ale-sugarss.txt /*b:ale_sugarss_stylelint_use_global* -b:ale_tcl_nagelfar_executable ale-tcl.txt /*b:ale_tcl_nagelfar_executable* -b:ale_tcl_nagelfar_options ale-tcl.txt /*b:ale_tcl_nagelfar_options* -b:ale_terraform_fmt_executable ale-terraform.txt /*b:ale_terraform_fmt_executable* -b:ale_terraform_fmt_options ale-terraform.txt /*b:ale_terraform_fmt_options* -b:ale_terraform_langserver_executable ale-terraform.txt /*b:ale_terraform_langserver_executable* -b:ale_terraform_langserver_options ale-terraform.txt /*b:ale_terraform_langserver_options* -b:ale_terraform_terraform_executable ale-terraform.txt /*b:ale_terraform_terraform_executable* -b:ale_terraform_tflint_executable ale-terraform.txt /*b:ale_terraform_tflint_executable* -b:ale_terraform_tflint_options ale-terraform.txt /*b:ale_terraform_tflint_options* -b:ale_tex_chktex_executable ale-tex.txt /*b:ale_tex_chktex_executable* -b:ale_tex_chktex_options ale-tex.txt /*b:ale_tex_chktex_options* -b:ale_tex_latexindent_executable ale-tex.txt /*b:ale_tex_latexindent_executable* -b:ale_tex_latexindent_options ale-tex.txt /*b:ale_tex_latexindent_options* -b:ale_tex_texlab_executable ale-tex.txt /*b:ale_tex_texlab_executable* -b:ale_tex_texlab_options ale-tex.txt /*b:ale_tex_texlab_options* -b:ale_textlint_executable ale-text.txt /*b:ale_textlint_executable* -b:ale_textlint_options ale-text.txt /*b:ale_textlint_options* -b:ale_textlint_use_global ale-text.txt /*b:ale_textlint_use_global* -b:ale_thrift_thrift_executable ale-thrift.txt /*b:ale_thrift_thrift_executable* -b:ale_thrift_thrift_generators ale-thrift.txt /*b:ale_thrift_thrift_generators* -b:ale_thrift_thrift_includes ale-thrift.txt /*b:ale_thrift_thrift_includes* -b:ale_thrift_thrift_options ale-thrift.txt /*b:ale_thrift_thrift_options* -b:ale_type_map ale.txt /*b:ale_type_map* -b:ale_typescript_standard_executable ale-typescript.txt /*b:ale_typescript_standard_executable* -b:ale_typescript_standard_options ale-typescript.txt /*b:ale_typescript_standard_options* -b:ale_typescript_standard_use_global ale-typescript.txt /*b:ale_typescript_standard_use_global* -b:ale_typescript_tslint_config_path ale-typescript.txt /*b:ale_typescript_tslint_config_path* -b:ale_typescript_tslint_executable ale-typescript.txt /*b:ale_typescript_tslint_executable* -b:ale_typescript_tslint_ignore_empty_files ale-typescript.txt /*b:ale_typescript_tslint_ignore_empty_files* -b:ale_typescript_tslint_rules_dir ale-typescript.txt /*b:ale_typescript_tslint_rules_dir* -b:ale_typescript_tslint_use_global ale-typescript.txt /*b:ale_typescript_tslint_use_global* -b:ale_typescript_tsserver_config_path ale-typescript.txt /*b:ale_typescript_tsserver_config_path* -b:ale_typescript_tsserver_executable ale-typescript.txt /*b:ale_typescript_tsserver_executable* -b:ale_typescript_tsserver_use_global ale-typescript.txt /*b:ale_typescript_tsserver_use_global* -b:ale_update_tagstack ale.txt /*b:ale_update_tagstack* -b:ale_verilog_verilator_options ale-verilog.txt /*b:ale_verilog_verilator_options* -b:ale_verilog_vlog_executable ale-verilog.txt /*b:ale_verilog_vlog_executable* -b:ale_verilog_vlog_options ale-verilog.txt /*b:ale_verilog_vlog_options* -b:ale_verilog_xvlog_executable ale-verilog.txt /*b:ale_verilog_xvlog_executable* -b:ale_verilog_xvlog_options ale-verilog.txt /*b:ale_verilog_xvlog_options* -b:ale_vhdl_ghdl_executable ale-vhdl.txt /*b:ale_vhdl_ghdl_executable* -b:ale_vhdl_ghdl_options ale-vhdl.txt /*b:ale_vhdl_ghdl_options* -b:ale_vhdl_vcom_executable ale-vhdl.txt /*b:ale_vhdl_vcom_executable* -b:ale_vhdl_vcom_options ale-vhdl.txt /*b:ale_vhdl_vcom_options* -b:ale_vhdl_xvhdl_executable ale-vhdl.txt /*b:ale_vhdl_xvhdl_executable* -b:ale_vhdl_xvhdl_options ale-vhdl.txt /*b:ale_vhdl_xvhdl_options* -b:ale_vim_vimls_config ale-vim.txt /*b:ale_vim_vimls_config* -b:ale_vim_vimls_executable ale-vim.txt /*b:ale_vim_vimls_executable* -b:ale_vim_vimls_use_global ale-vim.txt /*b:ale_vim_vimls_use_global* -b:ale_vim_vint_executable ale-vim.txt /*b:ale_vim_vint_executable* -b:ale_vim_vint_show_style_issues ale-vim.txt /*b:ale_vim_vint_show_style_issues* -b:ale_virtualenv_dir_names ale.txt /*b:ale_virtualenv_dir_names* -b:ale_virtualtext_delay ale.txt /*b:ale_virtualtext_delay* -b:ale_vue_vls_executable ale-vue.txt /*b:ale_vue_vls_executable* -b:ale_vue_vls_use_global ale-vue.txt /*b:ale_vue_vls_use_global* -b:ale_warn_about_trailing_blank_lines ale.txt /*b:ale_warn_about_trailing_blank_lines* -b:ale_warn_about_trailing_whitespace ale.txt /*b:ale_warn_about_trailing_whitespace* -b:ale_windows_node_executable_path ale.txt /*b:ale_windows_node_executable_path* -b:ale_writegood_executable ale.txt /*b:ale_writegood_executable* -b:ale_writegood_options ale.txt /*b:ale_writegood_options* -b:ale_writegood_use_global ale.txt /*b:ale_writegood_use_global* -b:ale_xml_xmllint_executable ale-xml.txt /*b:ale_xml_xmllint_executable* -b:ale_xml_xmllint_indentsize ale-xml.txt /*b:ale_xml_xmllint_indentsize* -b:ale_xml_xmllint_options ale-xml.txt /*b:ale_xml_xmllint_options* -b:ale_yaml_swaglint_executable ale-yaml.txt /*b:ale_yaml_swaglint_executable* -b:ale_yaml_swaglint_use_global ale-yaml.txt /*b:ale_yaml_swaglint_use_global* -b:ale_yaml_yamllint_executable ale-yaml.txt /*b:ale_yaml_yamllint_executable* -b:ale_yaml_yamllint_options ale-yaml.txt /*b:ale_yaml_yamllint_options* -b:ale_yang_lsp_executable ale-yang.txt /*b:ale_yang_lsp_executable* -g:airline#extensions#ale#enabled ale.txt /*g:airline#extensions#ale#enabled* -g:ale-c-flawfinder ale-c.txt /*g:ale-c-flawfinder* -g:ale-cpp-flawfinder ale-cpp.txt /*g:ale-cpp-flawfinder* -g:ale_ada_gcc_executable ale-ada.txt /*g:ale_ada_gcc_executable* -g:ale_ada_gcc_options ale-ada.txt /*g:ale_ada_gcc_options* -g:ale_ada_gnatpp_options ale-ada.txt /*g:ale_ada_gnatpp_options* -g:ale_alex_executable ale.txt /*g:ale_alex_executable* -g:ale_alex_use_global ale.txt /*g:ale_alex_use_global* -g:ale_ansible_ansible_lint_executable ale-ansible.txt /*g:ale_ansible_ansible_lint_executable* -g:ale_asm_gcc_executable ale-asm.txt /*g:ale_asm_gcc_executable* -g:ale_asm_gcc_options ale-asm.txt /*g:ale_asm_gcc_options* -g:ale_awk_gawk_executable ale-awk.txt /*g:ale_awk_gawk_executable* -g:ale_awk_gawk_options ale-awk.txt /*g:ale_awk_gawk_options* -g:ale_bib_bibclean_executable ale-bib.txt /*g:ale_bib_bibclean_executable* -g:ale_bib_bibclean_options ale-bib.txt /*g:ale_bib_bibclean_options* -g:ale_c_build_dir ale-c.txt /*g:ale_c_build_dir* -g:ale_c_build_dir_names ale-c.txt /*g:ale_c_build_dir_names* -g:ale_c_ccls_executable ale-c.txt /*g:ale_c_ccls_executable* -g:ale_c_ccls_init_options ale-c.txt /*g:ale_c_ccls_init_options* -g:ale_c_clang_executable ale-c.txt /*g:ale_c_clang_executable* -g:ale_c_clang_options ale-c.txt /*g:ale_c_clang_options* -g:ale_c_clangd_executable ale-c.txt /*g:ale_c_clangd_executable* -g:ale_c_clangd_options ale-c.txt /*g:ale_c_clangd_options* -g:ale_c_clangformat_executable ale-c.txt /*g:ale_c_clangformat_executable* -g:ale_c_clangformat_options ale-c.txt /*g:ale_c_clangformat_options* -g:ale_c_clangtidy_checks ale-c.txt /*g:ale_c_clangtidy_checks* -g:ale_c_clangtidy_executable ale-c.txt /*g:ale_c_clangtidy_executable* -g:ale_c_clangtidy_extra_options ale-c.txt /*g:ale_c_clangtidy_extra_options* -g:ale_c_clangtidy_fix_errors ale-c.txt /*g:ale_c_clangtidy_fix_errors* -g:ale_c_clangtidy_options ale-c.txt /*g:ale_c_clangtidy_options* -g:ale_c_cppcheck_executable ale-c.txt /*g:ale_c_cppcheck_executable* -g:ale_c_cppcheck_options ale-c.txt /*g:ale_c_cppcheck_options* -g:ale_c_cquery_cache_directory ale-c.txt /*g:ale_c_cquery_cache_directory* -g:ale_c_cquery_executable ale-c.txt /*g:ale_c_cquery_executable* -g:ale_c_flawfinder_error_severity ale-c.txt /*g:ale_c_flawfinder_error_severity* -g:ale_c_flawfinder_executable ale-c.txt /*g:ale_c_flawfinder_executable* -g:ale_c_flawfinder_minlevel ale-c.txt /*g:ale_c_flawfinder_minlevel* -g:ale_c_gcc_executable ale-c.txt /*g:ale_c_gcc_executable* -g:ale_c_gcc_options ale-c.txt /*g:ale_c_gcc_options* -g:ale_c_parse_compile_commands ale-c.txt /*g:ale_c_parse_compile_commands* -g:ale_c_parse_makefile ale-c.txt /*g:ale_c_parse_makefile* -g:ale_c_uncrustify_executable ale-c.txt /*g:ale_c_uncrustify_executable* -g:ale_c_uncrustify_options ale-c.txt /*g:ale_c_uncrustify_options* -g:ale_cache_executable_check_failures ale.txt /*g:ale_cache_executable_check_failures* -g:ale_change_sign_column_color ale.txt /*g:ale_change_sign_column_color* -g:ale_chef_cookstyle_executable ale-chef.txt /*g:ale_chef_cookstyle_executable* -g:ale_chef_cookstyle_options ale-chef.txt /*g:ale_chef_cookstyle_options* -g:ale_chef_foodcritic_executable ale-chef.txt /*g:ale_chef_foodcritic_executable* -g:ale_chef_foodcritic_options ale-chef.txt /*g:ale_chef_foodcritic_options* -g:ale_close_preview_on_insert ale.txt /*g:ale_close_preview_on_insert* -g:ale_cmake_cmakeformat_executable ale-cmake.txt /*g:ale_cmake_cmakeformat_executable* -g:ale_cmake_cmakeformat_options ale-cmake.txt /*g:ale_cmake_cmakeformat_options* -g:ale_cmake_cmakelint_executable ale-cmake.txt /*g:ale_cmake_cmakelint_executable* -g:ale_cmake_cmakelint_options ale-cmake.txt /*g:ale_cmake_cmakelint_options* -g:ale_command_wrapper ale.txt /*g:ale_command_wrapper* -g:ale_completion_delay ale.txt /*g:ale_completion_delay* -g:ale_completion_enabled ale.txt /*g:ale_completion_enabled* -g:ale_completion_excluded_words ale.txt /*g:ale_completion_excluded_words* -g:ale_completion_max_suggestions ale.txt /*g:ale_completion_max_suggestions* -g:ale_completion_symbols ale.txt /*g:ale_completion_symbols* -g:ale_completion_tsserver_autoimport ale.txt /*g:ale_completion_tsserver_autoimport* -g:ale_cpp_ccls_executable ale-cpp.txt /*g:ale_cpp_ccls_executable* -g:ale_cpp_ccls_init_options ale-cpp.txt /*g:ale_cpp_ccls_init_options* -g:ale_cpp_clang_executable ale-cpp.txt /*g:ale_cpp_clang_executable* -g:ale_cpp_clang_options ale-cpp.txt /*g:ale_cpp_clang_options* -g:ale_cpp_clangcheck_executable ale-cpp.txt /*g:ale_cpp_clangcheck_executable* -g:ale_cpp_clangcheck_options ale-cpp.txt /*g:ale_cpp_clangcheck_options* -g:ale_cpp_clangd_executable ale-cpp.txt /*g:ale_cpp_clangd_executable* -g:ale_cpp_clangd_options ale-cpp.txt /*g:ale_cpp_clangd_options* -g:ale_cpp_clangtidy_checks ale-cpp.txt /*g:ale_cpp_clangtidy_checks* -g:ale_cpp_clangtidy_executable ale-cpp.txt /*g:ale_cpp_clangtidy_executable* -g:ale_cpp_clangtidy_extra_options ale-cpp.txt /*g:ale_cpp_clangtidy_extra_options* -g:ale_cpp_clangtidy_fix_errors ale-cpp.txt /*g:ale_cpp_clangtidy_fix_errors* -g:ale_cpp_clangtidy_options ale-cpp.txt /*g:ale_cpp_clangtidy_options* -g:ale_cpp_clazy_checks ale-cpp.txt /*g:ale_cpp_clazy_checks* -g:ale_cpp_clazy_executable ale-cpp.txt /*g:ale_cpp_clazy_executable* -g:ale_cpp_clazy_options ale-cpp.txt /*g:ale_cpp_clazy_options* -g:ale_cpp_cppcheck_executable ale-cpp.txt /*g:ale_cpp_cppcheck_executable* -g:ale_cpp_cppcheck_options ale-cpp.txt /*g:ale_cpp_cppcheck_options* -g:ale_cpp_cpplint_executable ale-cpp.txt /*g:ale_cpp_cpplint_executable* -g:ale_cpp_cpplint_options ale-cpp.txt /*g:ale_cpp_cpplint_options* -g:ale_cpp_cquery_cache_directory ale-cpp.txt /*g:ale_cpp_cquery_cache_directory* -g:ale_cpp_cquery_executable ale-cpp.txt /*g:ale_cpp_cquery_executable* -g:ale_cpp_flawfinder_executable ale-cpp.txt /*g:ale_cpp_flawfinder_executable* -g:ale_cpp_flawfinder_minlevel ale-cpp.txt /*g:ale_cpp_flawfinder_minlevel* -g:ale_cpp_gcc_executable ale-cpp.txt /*g:ale_cpp_gcc_executable* -g:ale_cpp_gcc_options ale-cpp.txt /*g:ale_cpp_gcc_options* -g:ale_cs_csc_assemblies ale-cs.txt /*g:ale_cs_csc_assemblies* -g:ale_cs_csc_assembly_path ale-cs.txt /*g:ale_cs_csc_assembly_path* -g:ale_cs_csc_options ale-cs.txt /*g:ale_cs_csc_options* -g:ale_cs_csc_source ale-cs.txt /*g:ale_cs_csc_source* -g:ale_cs_mcs_options ale-cs.txt /*g:ale_cs_mcs_options* -g:ale_cs_mcsc_assemblies ale-cs.txt /*g:ale_cs_mcsc_assemblies* -g:ale_cs_mcsc_assembly_path ale-cs.txt /*g:ale_cs_mcsc_assembly_path* -g:ale_cs_mcsc_options ale-cs.txt /*g:ale_cs_mcsc_options* -g:ale_cs_mcsc_source ale-cs.txt /*g:ale_cs_mcsc_source* -g:ale_css_stylelint_executable ale-css.txt /*g:ale_css_stylelint_executable* -g:ale_css_stylelint_options ale-css.txt /*g:ale_css_stylelint_options* -g:ale_css_stylelint_use_global ale-css.txt /*g:ale_css_stylelint_use_global* -g:ale_cuda_nvcc_executable ale-cuda.txt /*g:ale_cuda_nvcc_executable* -g:ale_cuda_nvcc_options ale-cuda.txt /*g:ale_cuda_nvcc_options* -g:ale_cursor_detail ale.txt /*g:ale_cursor_detail* -g:ale_d_dfmt_options ale-d.txt /*g:ale_d_dfmt_options* -g:ale_d_dls_executable ale-d.txt /*g:ale_d_dls_executable* -g:ale_dart_dartanalyzer_executable ale-dart.txt /*g:ale_dart_dartanalyzer_executable* -g:ale_dart_dartfmt_executable ale-dart.txt /*g:ale_dart_dartfmt_executable* -g:ale_dart_dartfmt_options ale-dart.txt /*g:ale_dart_dartfmt_options* -g:ale_default_navigation ale.txt /*g:ale_default_navigation* -g:ale_disable_lsp ale.txt /*g:ale_disable_lsp* -g:ale_dockerfile_dockerfile_lint_executable ale-dockerfile.txt /*g:ale_dockerfile_dockerfile_lint_executable* -g:ale_dockerfile_dockerfile_lint_options ale-dockerfile.txt /*g:ale_dockerfile_dockerfile_lint_options* -g:ale_dockerfile_hadolint_image ale-dockerfile.txt /*g:ale_dockerfile_hadolint_image* -g:ale_dockerfile_hadolint_use_docker ale-dockerfile.txt /*g:ale_dockerfile_hadolint_use_docker* -g:ale_echo_cursor ale.txt /*g:ale_echo_cursor* -g:ale_echo_delay ale.txt /*g:ale_echo_delay* -g:ale_echo_msg_error_str ale.txt /*g:ale_echo_msg_error_str* -g:ale_echo_msg_format ale.txt /*g:ale_echo_msg_format* -g:ale_echo_msg_info_str ale.txt /*g:ale_echo_msg_info_str* -g:ale_echo_msg_log_str ale.txt /*g:ale_echo_msg_log_str* -g:ale_echo_msg_warning_str ale.txt /*g:ale_echo_msg_warning_str* -g:ale_elixir_credo_strict ale-elixir.txt /*g:ale_elixir_credo_strict* -g:ale_elixir_elixir_ls_config ale-elixir.txt /*g:ale_elixir_elixir_ls_config* -g:ale_elixir_elixir_ls_release ale-elixir.txt /*g:ale_elixir_elixir_ls_release* -g:ale_elixir_mix_format_options ale-elixir.txt /*g:ale_elixir_mix_format_options* -g:ale_elixir_mix_options ale-elixir.txt /*g:ale_elixir_mix_options* -g:ale_elm_format_executable ale-elm.txt /*g:ale_elm_format_executable* -g:ale_elm_format_options ale-elm.txt /*g:ale_elm_format_options* -g:ale_elm_format_use_global ale-elm.txt /*g:ale_elm_format_use_global* -g:ale_elm_ls_elm_analyse_trigger ale-elm.txt /*g:ale_elm_ls_elm_analyse_trigger* -g:ale_elm_ls_elm_format_path ale-elm.txt /*g:ale_elm_ls_elm_format_path* -g:ale_elm_ls_elm_path ale-elm.txt /*g:ale_elm_ls_elm_path* -g:ale_elm_ls_elm_test_path ale-elm.txt /*g:ale_elm_ls_elm_test_path* -g:ale_elm_ls_executable ale-elm.txt /*g:ale_elm_ls_executable* -g:ale_elm_ls_use_global ale-elm.txt /*g:ale_elm_ls_use_global* -g:ale_elm_make_executable ale-elm.txt /*g:ale_elm_make_executable* -g:ale_elm_make_use_global ale-elm.txt /*g:ale_elm_make_use_global* -g:ale_enabled ale.txt /*g:ale_enabled* -g:ale_erlang_dialyzer_executable ale-erlang.txt /*g:ale_erlang_dialyzer_executable* -g:ale_erlang_dialyzer_plt_file ale-erlang.txt /*g:ale_erlang_dialyzer_plt_file* -g:ale_erlang_dialyzer_rebar3_profile ale-erlang.txt /*g:ale_erlang_dialyzer_rebar3_profile* -g:ale_erlang_erlc_options ale-erlang.txt /*g:ale_erlang_erlc_options* -g:ale_erlang_syntaxerl_executable ale-erlang.txt /*g:ale_erlang_syntaxerl_executable* -g:ale_eruby_ruumba_executable ale-eruby.txt /*g:ale_eruby_ruumba_executable* -g:ale_exclude_highlights ale.txt /*g:ale_exclude_highlights* -g:ale_fix_on_save ale.txt /*g:ale_fix_on_save* -g:ale_fix_on_save_ignore ale.txt /*g:ale_fix_on_save_ignore* -g:ale_fixers ale.txt /*g:ale_fixers* -g:ale_fortran_gcc_executable ale-fortran.txt /*g:ale_fortran_gcc_executable* -g:ale_fortran_gcc_options ale-fortran.txt /*g:ale_fortran_gcc_options* -g:ale_fortran_gcc_use_free_form ale-fortran.txt /*g:ale_fortran_gcc_use_free_form* -g:ale_fortran_language_server_executable ale-fortran.txt /*g:ale_fortran_language_server_executable* -g:ale_fortran_language_server_use_global ale-fortran.txt /*g:ale_fortran_language_server_use_global* -g:ale_fuse_fusionlint_executable ale-fuse.txt /*g:ale_fuse_fusionlint_executable* -g:ale_fuse_fusionlint_options ale-fuse.txt /*g:ale_fuse_fusionlint_options* -g:ale_gitcommit_gitlint_executable ale-gitcommit.txt /*g:ale_gitcommit_gitlint_executable* -g:ale_gitcommit_gitlint_options ale-gitcommit.txt /*g:ale_gitcommit_gitlint_options* -g:ale_gitcommit_gitlint_use_global ale-gitcommit.txt /*g:ale_gitcommit_gitlint_use_global* -g:ale_glsl_glslang_executable ale-glsl.txt /*g:ale_glsl_glslang_executable* -g:ale_glsl_glslang_options ale-glsl.txt /*g:ale_glsl_glslang_options* -g:ale_glsl_glslls_executable ale-glsl.txt /*g:ale_glsl_glslls_executable* -g:ale_glsl_glslls_logfile ale-glsl.txt /*g:ale_glsl_glslls_logfile* -g:ale_go_bingo_executable ale-go.txt /*g:ale_go_bingo_executable* -g:ale_go_bingo_options ale-go.txt /*g:ale_go_bingo_options* -g:ale_go_go111module ale-go.txt /*g:ale_go_go111module* -g:ale_go_go_options ale-go.txt /*g:ale_go_go_options* -g:ale_go_gobuild_options ale-go.txt /*g:ale_go_gobuild_options* -g:ale_go_gofmt_options ale-go.txt /*g:ale_go_gofmt_options* -g:ale_go_golangci_lint_executable ale-go.txt /*g:ale_go_golangci_lint_executable* -g:ale_go_golangci_lint_options ale-go.txt /*g:ale_go_golangci_lint_options* -g:ale_go_golangci_lint_package ale-go.txt /*g:ale_go_golangci_lint_package* -g:ale_go_golint_executable ale-go.txt /*g:ale_go_golint_executable* -g:ale_go_golint_options ale-go.txt /*g:ale_go_golint_options* -g:ale_go_gometalinter_executable ale-go.txt /*g:ale_go_gometalinter_executable* -g:ale_go_gometalinter_lint_package ale-go.txt /*g:ale_go_gometalinter_lint_package* -g:ale_go_gometalinter_options ale-go.txt /*g:ale_go_gometalinter_options* -g:ale_go_gopls_executable ale-go.txt /*g:ale_go_gopls_executable* -g:ale_go_gopls_options ale-go.txt /*g:ale_go_gopls_options* -g:ale_go_govet_options ale-go.txt /*g:ale_go_govet_options* -g:ale_go_langserver_executable ale-go.txt /*g:ale_go_langserver_executable* -g:ale_go_langserver_options ale-go.txt /*g:ale_go_langserver_options* -g:ale_go_revive_executable ale-go.txt /*g:ale_go_revive_executable* -g:ale_go_revive_options ale-go.txt /*g:ale_go_revive_options* -g:ale_go_staticcheck_lint_package ale-go.txt /*g:ale_go_staticcheck_lint_package* -g:ale_go_staticcheck_options ale-go.txt /*g:ale_go_staticcheck_options* -g:ale_hack_hack_executable ale-hack.txt /*g:ale_hack_hack_executable* -g:ale_hack_hackfmt_options ale-hack.txt /*g:ale_hack_hackfmt_options* -g:ale_hack_hhast_executable ale-hack.txt /*g:ale_hack_hhast_executable* -g:ale_handlebars_embertemplatelint_executable ale-handlebars.txt /*g:ale_handlebars_embertemplatelint_executable* -g:ale_handlebars_embertemplatelint_use_global ale-handlebars.txt /*g:ale_handlebars_embertemplatelint_use_global* -g:ale_haskell_brittany_executable ale-haskell.txt /*g:ale_haskell_brittany_executable* -g:ale_haskell_cabal_ghc_options ale-haskell.txt /*g:ale_haskell_cabal_ghc_options* -g:ale_haskell_floskell_executable ale-haskell.txt /*g:ale_haskell_floskell_executable* -g:ale_haskell_ghc_mod_executable ale-haskell.txt /*g:ale_haskell_ghc_mod_executable* -g:ale_haskell_ghc_options ale-haskell.txt /*g:ale_haskell_ghc_options* -g:ale_haskell_hdevtools_executable ale-haskell.txt /*g:ale_haskell_hdevtools_executable* -g:ale_haskell_hdevtools_options ale-haskell.txt /*g:ale_haskell_hdevtools_options* -g:ale_haskell_hfmt_executable ale-haskell.txt /*g:ale_haskell_hfmt_executable* -g:ale_haskell_hie_executable ale-haskell.txt /*g:ale_haskell_hie_executable* -g:ale_haskell_hindent_executable ale-haskell.txt /*g:ale_haskell_hindent_executable* -g:ale_haskell_hlint_executable ale-haskell.txt /*g:ale_haskell_hlint_executable* -g:ale_haskell_stack_build_options ale-haskell.txt /*g:ale_haskell_stack_build_options* -g:ale_haskell_stack_ghc_options ale-haskell.txt /*g:ale_haskell_stack_ghc_options* -g:ale_haskell_stylish_haskell_executable ale-haskell.txt /*g:ale_haskell_stylish_haskell_executable* -g:ale_history_enabled ale.txt /*g:ale_history_enabled* -g:ale_history_log_output ale.txt /*g:ale_history_log_output* -g:ale_hover_to_preview ale.txt /*g:ale_hover_to_preview* -g:ale_html_beautify_options ale-html.txt /*g:ale_html_beautify_options* -g:ale_html_htmlhint_executable ale-html.txt /*g:ale_html_htmlhint_executable* -g:ale_html_htmlhint_options ale-html.txt /*g:ale_html_htmlhint_options* -g:ale_html_htmlhint_use_global ale-html.txt /*g:ale_html_htmlhint_use_global* -g:ale_html_stylelint_executable ale-html.txt /*g:ale_html_stylelint_executable* -g:ale_html_stylelint_options ale-html.txt /*g:ale_html_stylelint_options* -g:ale_html_stylelint_use_global ale-html.txt /*g:ale_html_stylelint_use_global* -g:ale_html_tidy_executable ale-html.txt /*g:ale_html_tidy_executable* -g:ale_html_tidy_options ale-html.txt /*g:ale_html_tidy_options* -g:ale_idris_idris_executable ale-idris.txt /*g:ale_idris_idris_executable* -g:ale_idris_idris_options ale-idris.txt /*g:ale_idris_idris_options* -g:ale_ispc_ispc_executable ale-ispc.txt /*g:ale_ispc_ispc_executable* -g:ale_ispc_ispc_options ale-ispc.txt /*g:ale_ispc_ispc_options* -g:ale_java_checkstyle_config ale-java.txt /*g:ale_java_checkstyle_config* -g:ale_java_checkstyle_executable ale-java.txt /*g:ale_java_checkstyle_executable* -g:ale_java_checkstyle_options ale-java.txt /*g:ale_java_checkstyle_options* -g:ale_java_eclipse_config_path ale-java.txt /*g:ale_java_eclipse_config_path* -g:ale_java_eclipse_executable ale-java.txt /*g:ale_java_eclipse_executable* -g:ale_java_eclipselsp_javaagent ale-java.txt /*g:ale_java_eclipselsp_javaagent* -g:ale_java_eclipselsp_path ale-java.txt /*g:ale_java_eclipselsp_path* -g:ale_java_eclipselsp_workspace_path ale-java.txt /*g:ale_java_eclipselsp_workspace_path* -g:ale_java_google_java_format_executable ale-java.txt /*g:ale_java_google_java_format_executable* -g:ale_java_google_java_format_options ale-java.txt /*g:ale_java_google_java_format_options* -g:ale_java_javac_classpath ale-java.txt /*g:ale_java_javac_classpath* -g:ale_java_javac_executable ale-java.txt /*g:ale_java_javac_executable* -g:ale_java_javac_options ale-java.txt /*g:ale_java_javac_options* -g:ale_java_javac_sourcepath ale-java.txt /*g:ale_java_javac_sourcepath* -g:ale_java_javalsp_config ale-java.txt /*g:ale_java_javalsp_config* -g:ale_java_javalsp_executable ale-java.txt /*g:ale_java_javalsp_executable* -g:ale_java_pmd_options ale-java.txt /*g:ale_java_pmd_options* -g:ale_javascript_eslint_executable ale-javascript.txt /*g:ale_javascript_eslint_executable* -g:ale_javascript_eslint_options ale-javascript.txt /*g:ale_javascript_eslint_options* -g:ale_javascript_eslint_suppress_eslintignore ale-javascript.txt /*g:ale_javascript_eslint_suppress_eslintignore* -g:ale_javascript_eslint_suppress_missing_config ale-javascript.txt /*g:ale_javascript_eslint_suppress_missing_config* -g:ale_javascript_eslint_use_global ale-javascript.txt /*g:ale_javascript_eslint_use_global* -g:ale_javascript_fecs_executable ale-javascript.txt /*g:ale_javascript_fecs_executable* -g:ale_javascript_fecs_use_global ale-javascript.txt /*g:ale_javascript_fecs_use_global* -g:ale_javascript_flow_executable ale-javascript.txt /*g:ale_javascript_flow_executable* -g:ale_javascript_flow_use_global ale-javascript.txt /*g:ale_javascript_flow_use_global* -g:ale_javascript_flow_use_home_config ale-javascript.txt /*g:ale_javascript_flow_use_home_config* -g:ale_javascript_flow_use_respect_pragma ale-javascript.txt /*g:ale_javascript_flow_use_respect_pragma* -g:ale_javascript_importjs_executable ale-javascript.txt /*g:ale_javascript_importjs_executable* -g:ale_javascript_jscs_executable ale-javascript.txt /*g:ale_javascript_jscs_executable* -g:ale_javascript_jscs_use_global ale-javascript.txt /*g:ale_javascript_jscs_use_global* -g:ale_javascript_jshint_executable ale-javascript.txt /*g:ale_javascript_jshint_executable* -g:ale_javascript_jshint_use_global ale-javascript.txt /*g:ale_javascript_jshint_use_global* -g:ale_javascript_prettier_eslint_executable ale-javascript.txt /*g:ale_javascript_prettier_eslint_executable* -g:ale_javascript_prettier_eslint_options ale-javascript.txt /*g:ale_javascript_prettier_eslint_options* -g:ale_javascript_prettier_eslint_use_global ale-javascript.txt /*g:ale_javascript_prettier_eslint_use_global* -g:ale_javascript_prettier_executable ale-javascript.txt /*g:ale_javascript_prettier_executable* -g:ale_javascript_prettier_options ale-javascript.txt /*g:ale_javascript_prettier_options* -g:ale_javascript_prettier_standard_executable ale-javascript.txt /*g:ale_javascript_prettier_standard_executable* -g:ale_javascript_prettier_standard_options ale-javascript.txt /*g:ale_javascript_prettier_standard_options* -g:ale_javascript_prettier_standard_use_global ale-javascript.txt /*g:ale_javascript_prettier_standard_use_global* -g:ale_javascript_prettier_use_global ale-javascript.txt /*g:ale_javascript_prettier_use_global* -g:ale_javascript_standard_executable ale-javascript.txt /*g:ale_javascript_standard_executable* -g:ale_javascript_standard_options ale-javascript.txt /*g:ale_javascript_standard_options* -g:ale_javascript_standard_use_global ale-javascript.txt /*g:ale_javascript_standard_use_global* -g:ale_javascript_xo_executable ale-javascript.txt /*g:ale_javascript_xo_executable* -g:ale_javascript_xo_options ale-javascript.txt /*g:ale_javascript_xo_options* -g:ale_javascript_xo_use_global ale-javascript.txt /*g:ale_javascript_xo_use_global* -g:ale_json_fixjson_executable ale-json.txt /*g:ale_json_fixjson_executable* -g:ale_json_fixjson_options ale-json.txt /*g:ale_json_fixjson_options* -g:ale_json_fixjson_use_global ale-json.txt /*g:ale_json_fixjson_use_global* -g:ale_json_jq_executable ale-json.txt /*g:ale_json_jq_executable* -g:ale_json_jq_filters ale-json.txt /*g:ale_json_jq_filters* -g:ale_json_jq_options ale-json.txt /*g:ale_json_jq_options* -g:ale_json_jsonlint_executable ale-json.txt /*g:ale_json_jsonlint_executable* -g:ale_json_jsonlint_use_global ale-json.txt /*g:ale_json_jsonlint_use_global* -g:ale_julia_executable ale-julia.txt /*g:ale_julia_executable* -g:ale_keep_list_window_open ale.txt /*g:ale_keep_list_window_open* -g:ale_kotlin_kotlinc_classpath ale-kotlin.txt /*g:ale_kotlin_kotlinc_classpath* -g:ale_kotlin_kotlinc_config_file ale-kotlin.txt /*g:ale_kotlin_kotlinc_config_file* -g:ale_kotlin_kotlinc_enable_config ale-kotlin.txt /*g:ale_kotlin_kotlinc_enable_config* -g:ale_kotlin_kotlinc_module_filename ale-kotlin.txt /*g:ale_kotlin_kotlinc_module_filename* -g:ale_kotlin_kotlinc_options ale-kotlin.txt /*g:ale_kotlin_kotlinc_options* -g:ale_kotlin_kotlinc_sourcepath ale-kotlin.txt /*g:ale_kotlin_kotlinc_sourcepath* -g:ale_kotlin_kotlinc_use_module_file ale-kotlin.txt /*g:ale_kotlin_kotlinc_use_module_file* -g:ale_kotlin_ktlint_executable ale-kotlin.txt /*g:ale_kotlin_ktlint_executable* -g:ale_kotlin_ktlint_options ale-kotlin.txt /*g:ale_kotlin_ktlint_options* -g:ale_kotlin_ktlint_rulesets ale-kotlin.txt /*g:ale_kotlin_ktlint_rulesets* -g:ale_kotlin_languageserver_executable ale-kotlin.txt /*g:ale_kotlin_languageserver_executable* -g:ale_lacheck_executable ale-tex.txt /*g:ale_lacheck_executable* -g:ale_languagetool_executable ale.txt /*g:ale_languagetool_executable* -g:ale_languagetool_options ale.txt /*g:ale_languagetool_options* -g:ale_less_lessc_executable ale-less.txt /*g:ale_less_lessc_executable* -g:ale_less_lessc_options ale-less.txt /*g:ale_less_lessc_options* -g:ale_less_lessc_use_global ale-less.txt /*g:ale_less_lessc_use_global* -g:ale_less_stylelint_executable ale-less.txt /*g:ale_less_stylelint_executable* -g:ale_less_stylelint_options ale-less.txt /*g:ale_less_stylelint_options* -g:ale_less_stylelint_use_global ale-less.txt /*g:ale_less_stylelint_use_global* -g:ale_lint_delay ale.txt /*g:ale_lint_delay* -g:ale_lint_on_enter ale.txt /*g:ale_lint_on_enter* -g:ale_lint_on_filetype_changed ale.txt /*g:ale_lint_on_filetype_changed* -g:ale_lint_on_insert_leave ale.txt /*g:ale_lint_on_insert_leave* -g:ale_lint_on_save ale.txt /*g:ale_lint_on_save* -g:ale_lint_on_text_changed ale.txt /*g:ale_lint_on_text_changed* -g:ale_linter_aliases ale.txt /*g:ale_linter_aliases* -g:ale_linters ale.txt /*g:ale_linters* -g:ale_linters_explicit ale.txt /*g:ale_linters_explicit* -g:ale_linters_ignore ale.txt /*g:ale_linters_ignore* -g:ale_list_vertical ale.txt /*g:ale_list_vertical* -g:ale_list_window_size ale.txt /*g:ale_list_window_size* -g:ale_llvm_llc_executable ale-llvm.txt /*g:ale_llvm_llc_executable* -g:ale_loclist_msg_format ale.txt /*g:ale_loclist_msg_format* -g:ale_lsp_root ale.txt /*g:ale_lsp_root* -g:ale_lsp_show_message_format ale.txt /*g:ale_lsp_show_message_format* -g:ale_lsp_show_message_severity ale.txt /*g:ale_lsp_show_message_severity* -g:ale_lua_luac_executable ale-lua.txt /*g:ale_lua_luac_executable* -g:ale_lua_luacheck_executable ale-lua.txt /*g:ale_lua_luacheck_executable* -g:ale_lua_luacheck_options ale-lua.txt /*g:ale_lua_luacheck_options* -g:ale_markdown_mdl_executable ale-markdown.txt /*g:ale_markdown_mdl_executable* -g:ale_markdown_mdl_options ale-markdown.txt /*g:ale_markdown_mdl_options* -g:ale_markdown_remark_lint_executable ale-markdown.txt /*g:ale_markdown_remark_lint_executable* -g:ale_markdown_remark_lint_options ale-markdown.txt /*g:ale_markdown_remark_lint_options* -g:ale_markdown_remark_lint_use_global ale-markdown.txt /*g:ale_markdown_remark_lint_use_global* -g:ale_max_buffer_history_size ale.txt /*g:ale_max_buffer_history_size* -g:ale_max_signs ale.txt /*g:ale_max_signs* -g:ale_maximum_file_size ale.txt /*g:ale_maximum_file_size* -g:ale_mercury_mmc_executable ale-mercury.txt /*g:ale_mercury_mmc_executable* -g:ale_mercury_mmc_options ale-mercury.txt /*g:ale_mercury_mmc_options* -g:ale_nasm_nasm_executable ale-nasm.txt /*g:ale_nasm_nasm_executable* -g:ale_nasm_nasm_options ale-nasm.txt /*g:ale_nasm_nasm_options* -g:ale_nim_nimpretty_executable ale-nim.txt /*g:ale_nim_nimpretty_executable* -g:ale_nim_nimpretty_options ale-nim.txt /*g:ale_nim_nimpretty_options* -g:ale_nix_nixpkgsfmt_executable ale-nix.txt /*g:ale_nix_nixpkgsfmt_executable* -g:ale_nix_nixpkgsfmt_options ale-nix.txt /*g:ale_nix_nixpkgsfmt_options* -g:ale_objc_ccls_executable ale-objc.txt /*g:ale_objc_ccls_executable* -g:ale_objc_ccls_init_options ale-objc.txt /*g:ale_objc_ccls_init_options* -g:ale_objc_clang_options ale-objc.txt /*g:ale_objc_clang_options* -g:ale_objc_clangd_executable ale-objc.txt /*g:ale_objc_clangd_executable* -g:ale_objc_clangd_options ale-objc.txt /*g:ale_objc_clangd_options* -g:ale_objcpp_clang_options ale-objcpp.txt /*g:ale_objcpp_clang_options* -g:ale_objcpp_clangd_executable ale-objcpp.txt /*g:ale_objcpp_clangd_executable* -g:ale_objcpp_clangd_options ale-objcpp.txt /*g:ale_objcpp_clangd_options* -g:ale_ocaml_ocamlformat_executable ale-ocaml.txt /*g:ale_ocaml_ocamlformat_executable* -g:ale_ocaml_ocamlformat_options ale-ocaml.txt /*g:ale_ocaml_ocamlformat_options* -g:ale_ocaml_ocp_indent_config ale-ocaml.txt /*g:ale_ocaml_ocp_indent_config* -g:ale_ocaml_ocp_indent_executable ale-ocaml.txt /*g:ale_ocaml_ocp_indent_executable* -g:ale_ocaml_ocp_indent_options ale-ocaml.txt /*g:ale_ocaml_ocp_indent_options* -g:ale_ocaml_ols_executable ale-ocaml.txt /*g:ale_ocaml_ols_executable* -g:ale_ocaml_ols_use_global ale-ocaml.txt /*g:ale_ocaml_ols_use_global* -g:ale_open_list ale.txt /*g:ale_open_list* -g:ale_pattern_options ale.txt /*g:ale_pattern_options* -g:ale_pattern_options_enabled ale.txt /*g:ale_pattern_options_enabled* -g:ale_perl6_perl6_executable ale-perl6.txt /*g:ale_perl6_perl6_executable* -g:ale_perl6_perl6_options ale-perl6.txt /*g:ale_perl6_perl6_options* -g:ale_perl_perl_executable ale-perl.txt /*g:ale_perl_perl_executable* -g:ale_perl_perl_options ale-perl.txt /*g:ale_perl_perl_options* -g:ale_perl_perlcritic_executable ale-perl.txt /*g:ale_perl_perlcritic_executable* -g:ale_perl_perlcritic_options ale-perl.txt /*g:ale_perl_perlcritic_options* -g:ale_perl_perlcritic_profile ale-perl.txt /*g:ale_perl_perlcritic_profile* -g:ale_perl_perlcritic_showrules ale-perl.txt /*g:ale_perl_perlcritic_showrules* -g:ale_perl_perltidy_options ale-perl.txt /*g:ale_perl_perltidy_options* -g:ale_php_cs_fixer_executable ale-php.txt /*g:ale_php_cs_fixer_executable* -g:ale_php_cs_fixer_options ale-php.txt /*g:ale_php_cs_fixer_options* -g:ale_php_cs_fixer_use_global ale-php.txt /*g:ale_php_cs_fixer_use_global* -g:ale_php_langserver_executable ale-php.txt /*g:ale_php_langserver_executable* -g:ale_php_langserver_use_global ale-php.txt /*g:ale_php_langserver_use_global* -g:ale_php_phan_executable ale-php.txt /*g:ale_php_phan_executable* -g:ale_php_phan_minimum_severity ale-php.txt /*g:ale_php_phan_minimum_severity* -g:ale_php_phan_use_client ale-php.txt /*g:ale_php_phan_use_client* -g:ale_php_php_executable ale-php.txt /*g:ale_php_php_executable* -g:ale_php_phpcbf_executable ale-php.txt /*g:ale_php_phpcbf_executable* -g:ale_php_phpcbf_standard ale-php.txt /*g:ale_php_phpcbf_standard* -g:ale_php_phpcbf_use_global ale-php.txt /*g:ale_php_phpcbf_use_global* -g:ale_php_phpcs_executable ale-php.txt /*g:ale_php_phpcs_executable* -g:ale_php_phpcs_options ale-php.txt /*g:ale_php_phpcs_options* -g:ale_php_phpcs_standard ale-php.txt /*g:ale_php_phpcs_standard* -g:ale_php_phpcs_use_global ale-php.txt /*g:ale_php_phpcs_use_global* -g:ale_php_phpmd_executable ale-php.txt /*g:ale_php_phpmd_executable* -g:ale_php_phpmd_ruleset ale-php.txt /*g:ale_php_phpmd_ruleset* -g:ale_php_phpstan_autoload ale-php.txt /*g:ale_php_phpstan_autoload* -g:ale_php_phpstan_configuration ale-php.txt /*g:ale_php_phpstan_configuration* -g:ale_php_phpstan_executable ale-php.txt /*g:ale_php_phpstan_executable* -g:ale_php_phpstan_level ale-php.txt /*g:ale_php_phpstan_level* -g:ale_php_psalm_executable ale-php.txt /*g:ale_php_psalm_executable* -g:ale_pony_ponyc_executable ale-pony.txt /*g:ale_pony_ponyc_executable* -g:ale_pony_ponyc_options ale-pony.txt /*g:ale_pony_ponyc_options* -g:ale_powershell_powershell_executable ale-powershell.txt /*g:ale_powershell_powershell_executable* -g:ale_powershell_psscriptanalyzer_exclusions ale-powershell.txt /*g:ale_powershell_psscriptanalyzer_exclusions* -g:ale_powershell_psscriptanalyzer_executable ale-powershell.txt /*g:ale_powershell_psscriptanalyzer_executable* -g:ale_powershell_psscriptanalyzer_module ale-powershell.txt /*g:ale_powershell_psscriptanalyzer_module* -g:ale_prolog_swipl_alarm ale-prolog.txt /*g:ale_prolog_swipl_alarm* -g:ale_prolog_swipl_alarm_handler ale-prolog.txt /*g:ale_prolog_swipl_alarm_handler* -g:ale_prolog_swipl_executable ale-prolog.txt /*g:ale_prolog_swipl_executable* -g:ale_prolog_swipl_load ale-prolog.txt /*g:ale_prolog_swipl_load* -g:ale_prolog_swipl_timeout ale-prolog.txt /*g:ale_prolog_swipl_timeout* -g:ale_proto_protoc_gen_lint_options ale-proto.txt /*g:ale_proto_protoc_gen_lint_options* -g:ale_psalm_langserver_options ale-php.txt /*g:ale_psalm_langserver_options* -g:ale_pug_puglint_executable ale-pug.txt /*g:ale_pug_puglint_executable* -g:ale_pug_puglint_options ale-pug.txt /*g:ale_pug_puglint_options* -g:ale_pug_puglint_use_global ale-pug.txt /*g:ale_pug_puglint_use_global* -g:ale_puppet_languageserver_executable ale-puppet.txt /*g:ale_puppet_languageserver_executable* -g:ale_puppet_puppet_executable ale-puppet.txt /*g:ale_puppet_puppet_executable* -g:ale_puppet_puppet_options ale-puppet.txt /*g:ale_puppet_puppet_options* -g:ale_puppet_puppetlint_executable ale-puppet.txt /*g:ale_puppet_puppetlint_executable* -g:ale_puppet_puppetlint_options ale-puppet.txt /*g:ale_puppet_puppetlint_options* -g:ale_purescript_purty_executable ale-purescript.txt /*g:ale_purescript_purty_executable* -g:ale_pyrex_cython_executable ale-pyrex.txt /*g:ale_pyrex_cython_executable* -g:ale_pyrex_cython_options ale-pyrex.txt /*g:ale_pyrex_cython_options* -g:ale_python_auto_pipenv ale-python.txt /*g:ale_python_auto_pipenv* -g:ale_python_autopep8_executable ale-python.txt /*g:ale_python_autopep8_executable* -g:ale_python_autopep8_options ale-python.txt /*g:ale_python_autopep8_options* -g:ale_python_autopep8_use_global ale-python.txt /*g:ale_python_autopep8_use_global* -g:ale_python_bandit_auto_pipenv ale-python.txt /*g:ale_python_bandit_auto_pipenv* -g:ale_python_bandit_executable ale-python.txt /*g:ale_python_bandit_executable* -g:ale_python_bandit_options ale-python.txt /*g:ale_python_bandit_options* -g:ale_python_bandit_use_config ale-python.txt /*g:ale_python_bandit_use_config* -g:ale_python_bandit_use_global ale-python.txt /*g:ale_python_bandit_use_global* -g:ale_python_black_auto_pipenv ale-python.txt /*g:ale_python_black_auto_pipenv* -g:ale_python_black_change_directory ale-python.txt /*g:ale_python_black_change_directory* -g:ale_python_black_executable ale-python.txt /*g:ale_python_black_executable* -g:ale_python_black_options ale-python.txt /*g:ale_python_black_options* -g:ale_python_black_use_global ale-python.txt /*g:ale_python_black_use_global* -g:ale_python_flake8_auto_pipenv ale-python.txt /*g:ale_python_flake8_auto_pipenv* -g:ale_python_flake8_change_directory ale-python.txt /*g:ale_python_flake8_change_directory* -g:ale_python_flake8_executable ale-python.txt /*g:ale_python_flake8_executable* -g:ale_python_flake8_options ale-python.txt /*g:ale_python_flake8_options* -g:ale_python_flake8_use_global ale-python.txt /*g:ale_python_flake8_use_global* -g:ale_python_isort_executable ale-python.txt /*g:ale_python_isort_executable* -g:ale_python_isort_options ale-python.txt /*g:ale_python_isort_options* -g:ale_python_isort_use_global ale-python.txt /*g:ale_python_isort_use_global* -g:ale_python_mypy_auto_pipenv ale-python.txt /*g:ale_python_mypy_auto_pipenv* -g:ale_python_mypy_executable ale-python.txt /*g:ale_python_mypy_executable* -g:ale_python_mypy_ignore_invalid_syntax ale-python.txt /*g:ale_python_mypy_ignore_invalid_syntax* -g:ale_python_mypy_options ale-python.txt /*g:ale_python_mypy_options* -g:ale_python_mypy_show_notes ale-python.txt /*g:ale_python_mypy_show_notes* -g:ale_python_mypy_use_global ale-python.txt /*g:ale_python_mypy_use_global* -g:ale_python_prospector_auto_pipenv ale-python.txt /*g:ale_python_prospector_auto_pipenv* -g:ale_python_prospector_executable ale-python.txt /*g:ale_python_prospector_executable* -g:ale_python_prospector_options ale-python.txt /*g:ale_python_prospector_options* -g:ale_python_prospector_use_global ale-python.txt /*g:ale_python_prospector_use_global* -g:ale_python_pycodestyle_auto_pipenv ale-python.txt /*g:ale_python_pycodestyle_auto_pipenv* -g:ale_python_pycodestyle_executable ale-python.txt /*g:ale_python_pycodestyle_executable* -g:ale_python_pycodestyle_options ale-python.txt /*g:ale_python_pycodestyle_options* -g:ale_python_pycodestyle_use_global ale-python.txt /*g:ale_python_pycodestyle_use_global* -g:ale_python_pydocstyle_auto_pipenv ale-python.txt /*g:ale_python_pydocstyle_auto_pipenv* -g:ale_python_pydocstyle_executable ale-python.txt /*g:ale_python_pydocstyle_executable* -g:ale_python_pydocstyle_options ale-python.txt /*g:ale_python_pydocstyle_options* -g:ale_python_pydocstyle_use_global ale-python.txt /*g:ale_python_pydocstyle_use_global* -g:ale_python_pyflakes_auto_pipenv ale-python.txt /*g:ale_python_pyflakes_auto_pipenv* -g:ale_python_pyflakes_executable ale-python.txt /*g:ale_python_pyflakes_executable* -g:ale_python_pylama_auto_pipenv ale-python.txt /*g:ale_python_pylama_auto_pipenv* -g:ale_python_pylama_change_directory ale-python.txt /*g:ale_python_pylama_change_directory* -g:ale_python_pylama_executable ale-python.txt /*g:ale_python_pylama_executable* -g:ale_python_pylama_options ale-python.txt /*g:ale_python_pylama_options* -g:ale_python_pylama_use_global ale-python.txt /*g:ale_python_pylama_use_global* -g:ale_python_pylint_auto_pipenv ale-python.txt /*g:ale_python_pylint_auto_pipenv* -g:ale_python_pylint_change_directory ale-python.txt /*g:ale_python_pylint_change_directory* -g:ale_python_pylint_executable ale-python.txt /*g:ale_python_pylint_executable* -g:ale_python_pylint_options ale-python.txt /*g:ale_python_pylint_options* -g:ale_python_pylint_use_global ale-python.txt /*g:ale_python_pylint_use_global* -g:ale_python_pylint_use_msg_id ale-python.txt /*g:ale_python_pylint_use_msg_id* -g:ale_python_pyls_auto_pipenv ale-python.txt /*g:ale_python_pyls_auto_pipenv* -g:ale_python_pyls_config ale-python.txt /*g:ale_python_pyls_config* -g:ale_python_pyls_executable ale-python.txt /*g:ale_python_pyls_executable* -g:ale_python_pyls_use_global ale-python.txt /*g:ale_python_pyls_use_global* -g:ale_python_pyre_auto_pipenv ale-python.txt /*g:ale_python_pyre_auto_pipenv* -g:ale_python_pyre_executable ale-python.txt /*g:ale_python_pyre_executable* -g:ale_python_pyre_use_global ale-python.txt /*g:ale_python_pyre_use_global* -g:ale_python_reorder_python_imports_executable ale-python.txt /*g:ale_python_reorder_python_imports_executable* -g:ale_python_reorder_python_imports_options ale-python.txt /*g:ale_python_reorder_python_imports_options* -g:ale_python_reorder_python_imports_use_global ale-python.txt /*g:ale_python_reorder_python_imports_use_global* -g:ale_python_vulture_change_directory ale-python.txt /*g:ale_python_vulture_change_directory* -g:ale_python_vulture_executable ale-python.txt /*g:ale_python_vulture_executable* -g:ale_python_vulture_options ale-python.txt /*g:ale_python_vulture_options* -g:ale_python_vulture_use_global ale-python.txt /*g:ale_python_vulture_use_global* -g:ale_python_yapf_executable ale-python.txt /*g:ale_python_yapf_executable* -g:ale_python_yapf_use_global ale-python.txt /*g:ale_python_yapf_use_global* -g:ale_qml_qmlfmt_executable ale-qml.txt /*g:ale_qml_qmlfmt_executable* -g:ale_r_lintr_lint_package ale-r.txt /*g:ale_r_lintr_lint_package* -g:ale_r_lintr_options ale-r.txt /*g:ale_r_lintr_options* -g:ale_r_styler_options ale-r.txt /*g:ale_r_styler_options* -g:ale_reason_ls_executable ale-reasonml.txt /*g:ale_reason_ls_executable* -g:ale_reason_ols_executable ale-reasonml.txt /*g:ale_reason_ols_executable* -g:ale_reason_ols_use_global ale-reasonml.txt /*g:ale_reason_ols_use_global* -g:ale_reasonml_refmt_executable ale-reasonml.txt /*g:ale_reasonml_refmt_executable* -g:ale_reasonml_refmt_options ale-reasonml.txt /*g:ale_reasonml_refmt_options* -g:ale_rename_tsserver_find_in_comments ale.txt /*g:ale_rename_tsserver_find_in_comments* -g:ale_rename_tsserver_find_in_strings ale.txt /*g:ale_rename_tsserver_find_in_strings* -g:ale_ruby_brakeman_executable ale-ruby.txt /*g:ale_ruby_brakeman_executable* -g:ale_ruby_brakeman_options ale-ruby.txt /*g:ale_ruby_brakeman_options* -g:ale_ruby_debride_executable ale-ruby.txt /*g:ale_ruby_debride_executable* -g:ale_ruby_debride_options ale-ruby.txt /*g:ale_ruby_debride_options* -g:ale_ruby_rails_best_practices_executable ale-ruby.txt /*g:ale_ruby_rails_best_practices_executable* -g:ale_ruby_rails_best_practices_options ale-ruby.txt /*g:ale_ruby_rails_best_practices_options* -g:ale_ruby_reek_executable ale-ruby.txt /*g:ale_ruby_reek_executable* -g:ale_ruby_reek_show_context ale-ruby.txt /*g:ale_ruby_reek_show_context* -g:ale_ruby_reek_show_wiki_link ale-ruby.txt /*g:ale_ruby_reek_show_wiki_link* -g:ale_ruby_rubocop_executable ale-ruby.txt /*g:ale_ruby_rubocop_executable* -g:ale_ruby_rubocop_options ale-ruby.txt /*g:ale_ruby_rubocop_options* -g:ale_ruby_ruby_executable ale-ruby.txt /*g:ale_ruby_ruby_executable* -g:ale_ruby_rufo_executable ale-ruby.txt /*g:ale_ruby_rufo_executable* -g:ale_ruby_ruumba_options ale-eruby.txt /*g:ale_ruby_ruumba_options* -g:ale_ruby_solargraph_executable ale-ruby.txt /*g:ale_ruby_solargraph_executable* -g:ale_ruby_sorbet_executable ale-ruby.txt /*g:ale_ruby_sorbet_executable* -g:ale_ruby_sorbet_options ale-ruby.txt /*g:ale_ruby_sorbet_options* -g:ale_ruby_standardrb_executable ale-ruby.txt /*g:ale_ruby_standardrb_executable* -g:ale_ruby_standardrb_options ale-ruby.txt /*g:ale_ruby_standardrb_options* -g:ale_rust_analyzer_config ale-rust.txt /*g:ale_rust_analyzer_config* -g:ale_rust_analyzer_executable ale-rust.txt /*g:ale_rust_analyzer_executable* -g:ale_rust_cargo_avoid_whole_workspace ale-rust.txt /*g:ale_rust_cargo_avoid_whole_workspace* -g:ale_rust_cargo_check_all_targets ale-rust.txt /*g:ale_rust_cargo_check_all_targets* -g:ale_rust_cargo_check_examples ale-rust.txt /*g:ale_rust_cargo_check_examples* -g:ale_rust_cargo_check_tests ale-rust.txt /*g:ale_rust_cargo_check_tests* -g:ale_rust_cargo_clippy_options ale-rust.txt /*g:ale_rust_cargo_clippy_options* -g:ale_rust_cargo_default_feature_behavior ale-rust.txt /*g:ale_rust_cargo_default_feature_behavior* -g:ale_rust_cargo_include_features ale-rust.txt /*g:ale_rust_cargo_include_features* -g:ale_rust_cargo_use_check ale-rust.txt /*g:ale_rust_cargo_use_check* -g:ale_rust_cargo_use_clippy ale-rust.txt /*g:ale_rust_cargo_use_clippy* -g:ale_rust_ignore_error_codes ale-rust.txt /*g:ale_rust_ignore_error_codes* -g:ale_rust_ignore_secondary_spans ale-rust.txt /*g:ale_rust_ignore_secondary_spans* -g:ale_rust_rls_config ale-rust.txt /*g:ale_rust_rls_config* -g:ale_rust_rls_executable ale-rust.txt /*g:ale_rust_rls_executable* -g:ale_rust_rls_toolchain ale-rust.txt /*g:ale_rust_rls_toolchain* -g:ale_rust_rustc_options ale-rust.txt /*g:ale_rust_rustc_options* -g:ale_rust_rustfmt_options ale-rust.txt /*g:ale_rust_rustfmt_options* -g:ale_sass_stylelint_executable ale-sass.txt /*g:ale_sass_stylelint_executable* -g:ale_sass_stylelint_use_global ale-sass.txt /*g:ale_sass_stylelint_use_global* -g:ale_scala_metals_executable ale-scala.txt /*g:ale_scala_metals_executable* -g:ale_scala_metals_project_root ale-scala.txt /*g:ale_scala_metals_project_root* -g:ale_scala_sbtserver_address ale-scala.txt /*g:ale_scala_sbtserver_address* -g:ale_scala_sbtserver_project_root ale-scala.txt /*g:ale_scala_sbtserver_project_root* -g:ale_scala_scalafmt_executable ale-scala.txt /*g:ale_scala_scalafmt_executable* -g:ale_scala_scalafmt_options ale-scala.txt /*g:ale_scala_scalafmt_options* -g:ale_scala_scalastyle_config ale-scala.txt /*g:ale_scala_scalastyle_config* -g:ale_scala_scalastyle_options ale-scala.txt /*g:ale_scala_scalastyle_options* -g:ale_scss_sasslint_executable ale-scss.txt /*g:ale_scss_sasslint_executable* -g:ale_scss_sasslint_options ale-scss.txt /*g:ale_scss_sasslint_options* -g:ale_scss_sasslint_use_global ale-scss.txt /*g:ale_scss_sasslint_use_global* -g:ale_scss_stylelint_executable ale-scss.txt /*g:ale_scss_stylelint_executable* -g:ale_scss_stylelint_options ale-scss.txt /*g:ale_scss_stylelint_options* -g:ale_scss_stylelint_use_global ale-scss.txt /*g:ale_scss_stylelint_use_global* -g:ale_set_balloons ale.txt /*g:ale_set_balloons* -g:ale_set_balloons_legacy_echo ale.txt /*g:ale_set_balloons_legacy_echo* -g:ale_set_highlights ale.txt /*g:ale_set_highlights* -g:ale_set_loclist ale.txt /*g:ale_set_loclist* -g:ale_set_quickfix ale.txt /*g:ale_set_quickfix* -g:ale_set_signs ale.txt /*g:ale_set_signs* -g:ale_sh_language_server_executable ale-sh.txt /*g:ale_sh_language_server_executable* -g:ale_sh_language_server_use_global ale-sh.txt /*g:ale_sh_language_server_use_global* -g:ale_sh_shell_default_shell ale-sh.txt /*g:ale_sh_shell_default_shell* -g:ale_sh_shellcheck_change_directory ale-sh.txt /*g:ale_sh_shellcheck_change_directory* -g:ale_sh_shellcheck_dialect ale-sh.txt /*g:ale_sh_shellcheck_dialect* -g:ale_sh_shellcheck_exclusions ale-sh.txt /*g:ale_sh_shellcheck_exclusions* -g:ale_sh_shellcheck_executable ale-sh.txt /*g:ale_sh_shellcheck_executable* -g:ale_sh_shellcheck_options ale-sh.txt /*g:ale_sh_shellcheck_options* -g:ale_sh_shfmt_options ale-sh.txt /*g:ale_sh_shfmt_options* -g:ale_shell ale.txt /*g:ale_shell* -g:ale_shell_arguments ale.txt /*g:ale_shell_arguments* -g:ale_sign_column_always ale.txt /*g:ale_sign_column_always* -g:ale_sign_error ale.txt /*g:ale_sign_error* -g:ale_sign_highlight_linenrs ale.txt /*g:ale_sign_highlight_linenrs* -g:ale_sign_info ale.txt /*g:ale_sign_info* -g:ale_sign_offset ale.txt /*g:ale_sign_offset* -g:ale_sign_priority ale.txt /*g:ale_sign_priority* -g:ale_sign_style_error ale.txt /*g:ale_sign_style_error* -g:ale_sign_style_warning ale.txt /*g:ale_sign_style_warning* -g:ale_sign_warning ale.txt /*g:ale_sign_warning* -g:ale_sml_smlnj_cm_file ale-sml.txt /*g:ale_sml_smlnj_cm_file* -g:ale_solidity_solc_options ale-solidity.txt /*g:ale_solidity_solc_options* -g:ale_sourcekit_lsp_executable ale-swift.txt /*g:ale_sourcekit_lsp_executable* -g:ale_spec_rpmlint_executable ale-spec.txt /*g:ale_spec_rpmlint_executable* -g:ale_spec_rpmlint_options ale-spec.txt /*g:ale_spec_rpmlint_options* -g:ale_sql_pgformatter_executable ale-sql.txt /*g:ale_sql_pgformatter_executable* -g:ale_sql_pgformatter_options ale-sql.txt /*g:ale_sql_pgformatter_options* -g:ale_sql_sqlfmt_executable ale-sql.txt /*g:ale_sql_sqlfmt_executable* -g:ale_sql_sqlfmt_options ale-sql.txt /*g:ale_sql_sqlfmt_options* -g:ale_sql_sqlformat_executable ale-sql.txt /*g:ale_sql_sqlformat_executable* -g:ale_sql_sqlformat_options ale-sql.txt /*g:ale_sql_sqlformat_options* -g:ale_stylus_stylelint_executable ale-stylus.txt /*g:ale_stylus_stylelint_executable* -g:ale_stylus_stylelint_options ale-stylus.txt /*g:ale_stylus_stylelint_options* -g:ale_stylus_stylelint_use_global ale-stylus.txt /*g:ale_stylus_stylelint_use_global* -g:ale_sugarss_stylelint_executable ale-sugarss.txt /*g:ale_sugarss_stylelint_executable* -g:ale_sugarss_stylelint_options ale-sugarss.txt /*g:ale_sugarss_stylelint_options* -g:ale_sugarss_stylelint_use_global ale-sugarss.txt /*g:ale_sugarss_stylelint_use_global* -g:ale_tcl_nagelfar_executable ale-tcl.txt /*g:ale_tcl_nagelfar_executable* -g:ale_tcl_nagelfar_options ale-tcl.txt /*g:ale_tcl_nagelfar_options* -g:ale_terraform_fmt_executable ale-terraform.txt /*g:ale_terraform_fmt_executable* -g:ale_terraform_fmt_options ale-terraform.txt /*g:ale_terraform_fmt_options* -g:ale_terraform_langserver_executable ale-terraform.txt /*g:ale_terraform_langserver_executable* -g:ale_terraform_langserver_options ale-terraform.txt /*g:ale_terraform_langserver_options* -g:ale_terraform_terraform_executable ale-terraform.txt /*g:ale_terraform_terraform_executable* -g:ale_terraform_tflint_executable ale-terraform.txt /*g:ale_terraform_tflint_executable* -g:ale_terraform_tflint_options ale-terraform.txt /*g:ale_terraform_tflint_options* -g:ale_tex_chktex_executable ale-tex.txt /*g:ale_tex_chktex_executable* -g:ale_tex_chktex_options ale-tex.txt /*g:ale_tex_chktex_options* -g:ale_tex_latexindent_executable ale-tex.txt /*g:ale_tex_latexindent_executable* -g:ale_tex_latexindent_options ale-tex.txt /*g:ale_tex_latexindent_options* -g:ale_tex_texlab_executable ale-tex.txt /*g:ale_tex_texlab_executable* -g:ale_tex_texlab_options ale-tex.txt /*g:ale_tex_texlab_options* -g:ale_textlint_executable ale-text.txt /*g:ale_textlint_executable* -g:ale_textlint_options ale-text.txt /*g:ale_textlint_options* -g:ale_textlint_use_global ale-text.txt /*g:ale_textlint_use_global* -g:ale_thrift_thrift_executable ale-thrift.txt /*g:ale_thrift_thrift_executable* -g:ale_thrift_thrift_generators ale-thrift.txt /*g:ale_thrift_thrift_generators* -g:ale_thrift_thrift_includes ale-thrift.txt /*g:ale_thrift_thrift_includes* -g:ale_thrift_thrift_options ale-thrift.txt /*g:ale_thrift_thrift_options* -g:ale_type_map ale.txt /*g:ale_type_map* -g:ale_typescript_standard_executable ale-typescript.txt /*g:ale_typescript_standard_executable* -g:ale_typescript_standard_options ale-typescript.txt /*g:ale_typescript_standard_options* -g:ale_typescript_standard_use_global ale-typescript.txt /*g:ale_typescript_standard_use_global* -g:ale_typescript_tslint_config_path ale-typescript.txt /*g:ale_typescript_tslint_config_path* -g:ale_typescript_tslint_executable ale-typescript.txt /*g:ale_typescript_tslint_executable* -g:ale_typescript_tslint_ignore_empty_files ale-typescript.txt /*g:ale_typescript_tslint_ignore_empty_files* -g:ale_typescript_tslint_rules_dir ale-typescript.txt /*g:ale_typescript_tslint_rules_dir* -g:ale_typescript_tslint_use_global ale-typescript.txt /*g:ale_typescript_tslint_use_global* -g:ale_typescript_tsserver_config_path ale-typescript.txt /*g:ale_typescript_tsserver_config_path* -g:ale_typescript_tsserver_executable ale-typescript.txt /*g:ale_typescript_tsserver_executable* -g:ale_typescript_tsserver_use_global ale-typescript.txt /*g:ale_typescript_tsserver_use_global* -g:ale_update_tagstack ale.txt /*g:ale_update_tagstack* -g:ale_use_global_executables ale.txt /*g:ale_use_global_executables* -g:ale_verilog_verilator_options ale-verilog.txt /*g:ale_verilog_verilator_options* -g:ale_verilog_vlog_executable ale-verilog.txt /*g:ale_verilog_vlog_executable* -g:ale_verilog_vlog_options ale-verilog.txt /*g:ale_verilog_vlog_options* -g:ale_verilog_xvlog_executable ale-verilog.txt /*g:ale_verilog_xvlog_executable* -g:ale_verilog_xvlog_options ale-verilog.txt /*g:ale_verilog_xvlog_options* -g:ale_vhdl_ghdl_executable ale-vhdl.txt /*g:ale_vhdl_ghdl_executable* -g:ale_vhdl_ghdl_options ale-vhdl.txt /*g:ale_vhdl_ghdl_options* -g:ale_vhdl_vcom_executable ale-vhdl.txt /*g:ale_vhdl_vcom_executable* -g:ale_vhdl_vcom_options ale-vhdl.txt /*g:ale_vhdl_vcom_options* -g:ale_vhdl_xvhdl_executable ale-vhdl.txt /*g:ale_vhdl_xvhdl_executable* -g:ale_vhdl_xvhdl_options ale-vhdl.txt /*g:ale_vhdl_xvhdl_options* -g:ale_vim_vimls_config ale-vim.txt /*g:ale_vim_vimls_config* -g:ale_vim_vimls_executable ale-vim.txt /*g:ale_vim_vimls_executable* -g:ale_vim_vimls_use_global ale-vim.txt /*g:ale_vim_vimls_use_global* -g:ale_vim_vint_executable ale-vim.txt /*g:ale_vim_vint_executable* -g:ale_vim_vint_show_style_issues ale-vim.txt /*g:ale_vim_vint_show_style_issues* -g:ale_virtualenv_dir_names ale.txt /*g:ale_virtualenv_dir_names* -g:ale_virtualtext_cursor ale.txt /*g:ale_virtualtext_cursor* -g:ale_virtualtext_delay ale.txt /*g:ale_virtualtext_delay* -g:ale_virtualtext_prefix ale.txt /*g:ale_virtualtext_prefix* -g:ale_vue_vls_executable ale-vue.txt /*g:ale_vue_vls_executable* -g:ale_vue_vls_use_global ale-vue.txt /*g:ale_vue_vls_use_global* -g:ale_want_results_buffer ale.txt /*g:ale_want_results_buffer* -g:ale_warn_about_trailing_blank_lines ale.txt /*g:ale_warn_about_trailing_blank_lines* -g:ale_warn_about_trailing_whitespace ale.txt /*g:ale_warn_about_trailing_whitespace* -g:ale_windows_node_executable_path ale.txt /*g:ale_windows_node_executable_path* -g:ale_writegood_executable ale.txt /*g:ale_writegood_executable* -g:ale_writegood_options ale.txt /*g:ale_writegood_options* -g:ale_writegood_use_global ale.txt /*g:ale_writegood_use_global* -g:ale_xml_xmllint_executable ale-xml.txt /*g:ale_xml_xmllint_executable* -g:ale_xml_xmllint_indentsize ale-xml.txt /*g:ale_xml_xmllint_indentsize* -g:ale_xml_xmllint_options ale-xml.txt /*g:ale_xml_xmllint_options* -g:ale_yaml_swaglint_executable ale-yaml.txt /*g:ale_yaml_swaglint_executable* -g:ale_yaml_swaglint_use_global ale-yaml.txt /*g:ale_yaml_swaglint_use_global* -g:ale_yaml_yamllint_executable ale-yaml.txt /*g:ale_yaml_yamllint_executable* -g:ale_yaml_yamllint_options ale-yaml.txt /*g:ale_yaml_yamllint_options* -g:ale_yang_lsp_executable ale-yang.txt /*g:ale_yang_lsp_executable* -g:html_tidy_use_global ale-html.txt /*g:html_tidy_use_global* -g:nim_nimlsp_nim_sources ale-nim.txt /*g:nim_nimlsp_nim_sources* diff --git a/vim/.vim_runtime/sources_non_forked/ale/ftplugin/ale-fix-suggest.vim b/vim/.vim_runtime/sources_non_forked/ale/ftplugin/ale-fix-suggest.vim deleted file mode 100644 index 189a4dc..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/ftplugin/ale-fix-suggest.vim +++ /dev/null @@ -1,2 +0,0 @@ -" Close the ALEFixSuggest window with the q key. -noremap q :q! diff --git a/vim/.vim_runtime/sources_non_forked/ale/ftplugin/ale-preview-selection.vim b/vim/.vim_runtime/sources_non_forked/ale/ftplugin/ale-preview-selection.vim deleted file mode 100644 index 7ec8406..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/ftplugin/ale-preview-selection.vim +++ /dev/null @@ -1,16 +0,0 @@ -" Close the ALEPreviewWindow window with the q key. -noremap q :q! -" Disable some keybinds for the selection window. -noremap v -noremap i -noremap I -noremap -noremap -noremap -noremap a -noremap A -noremap o -noremap O -" Keybinds for opening selection items. -noremap :call ale#preview#OpenSelection() -noremap t :call ale#preview#OpenSelectionInTab() diff --git a/vim/.vim_runtime/sources_non_forked/ale/ftplugin/ale-preview.vim b/vim/.vim_runtime/sources_non_forked/ale/ftplugin/ale-preview.vim deleted file mode 100644 index ffbffbd..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/ftplugin/ale-preview.vim +++ /dev/null @@ -1,2 +0,0 @@ -" Close the ALEPreviewWindow window with the q key. -noremap q :q! diff --git a/vim/.vim_runtime/sources_non_forked/ale/plugin/ale.vim b/vim/.vim_runtime/sources_non_forked/ale/plugin/ale.vim deleted file mode 100644 index e1ddf7b..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/plugin/ale.vim +++ /dev/null @@ -1,300 +0,0 @@ -" Author: w0rp -" Description: Main entry point for the plugin: sets up prefs and autocommands -" Preferences can be set in vimrc files and so on to configure ale - -" Sanity Checks - -if exists('g:loaded_ale_dont_use_this_in_other_plugins_please') - finish -endif - -" Set a special flag used only by this plugin for preventing doubly -" loading the script. -let g:loaded_ale_dont_use_this_in_other_plugins_please = 1 - -" A flag for detecting if the required features are set. -if has('nvim') - let s:has_features = has('timers') && has('nvim-0.2.0') -else - " Check if Job and Channel functions are available, instead of the - " features. This works better on old MacVim versions. - let s:has_features = has('timers') && exists('*job_start') && exists('*ch_close_in') -endif - -if !s:has_features - " Only output a warning if editing some special files. - if index(['', 'gitcommit'], &filetype) == -1 - execute 'echoerr ''ALE requires NeoVim >= 0.2.0 or Vim 8 with +timers +job +channel''' - execute 'echoerr ''Please update your editor appropriately.''' - endif - - " Stop here, as it won't work. - finish -endif - -" Set this flag so that other plugins can use it, like airline. -let g:loaded_ale = 1 - -" This global variable is used internally by ALE for tracking information for -" each buffer which linters are being run against. -let g:ale_buffer_info = {} -" This global Dictionary tracks data for fixing code. Don't mess with it. -let g:ale_fix_buffer_data = {} - -" User Configuration - -" This option prevents ALE autocmd commands from being run for particular -" filetypes which can cause issues. -let g:ale_filetype_blacklist = [ -\ 'dirvish', -\ 'nerdtree', -\ 'qf', -\ 'tags', -\ 'unite', -\] - -" This Dictionary configures which linters are enabled for which languages. -let g:ale_linters = get(g:, 'ale_linters', {}) -" This option can be changed to only enable explicitly selected linters. -let g:ale_linters_explicit = get(g:, 'ale_linters_explicit', 0) - -" This Dictionary configures which functions will be used for fixing problems. -let g:ale_fixers = get(g:, 'ale_fixers', {}) - -" This Dictionary allows users to set up filetype aliases for new filetypes. -let g:ale_linter_aliases = get(g:, 'ale_linter_aliases', {}) - -" This flag can be set with a number of milliseconds for delaying the -" execution of a linter when text is changed. The timeout will be set and -" cleared each time text is changed, so repeated edits won't trigger the -" jobs for linting until enough time has passed after editing is done. -let g:ale_lint_delay = get(g:, 'ale_lint_delay', 200) - -" This flag can be set to 'never' to disable linting when text is changed. -" This flag can also be set to 'always' or 'insert' to lint when text is -" changed in both normal and insert mode, or only in insert mode respectively. -let g:ale_lint_on_text_changed = get(g:, 'ale_lint_on_text_changed', 'normal') - -" This flag can be set to 1 to enable linting when leaving insert mode. -let g:ale_lint_on_insert_leave = get(g:, 'ale_lint_on_insert_leave', 1) - -" This flag can be set to 0 to disable linting when the buffer is entered. -let g:ale_lint_on_enter = get(g:, 'ale_lint_on_enter', 1) - -" This flag can be set to 1 to enable linting when a buffer is written. -let g:ale_lint_on_save = get(g:, 'ale_lint_on_save', 1) - -" This flag can be set to 1 to enable linting when the filetype is changed. -let g:ale_lint_on_filetype_changed = get(g:, 'ale_lint_on_filetype_changed', 1) - -" This Dictionary configures the default LSP roots for various linters. -let g:ale_lsp_root = get(g:, 'ale_lsp_root', {}) - -" This flag can be set to 1 to enable automatically fixing files on save. -let g:ale_fix_on_save = get(g:, 'ale_fix_on_save', 0) - -" This flag may be set to 0 to disable ale. After ale is loaded, :ALEToggle -" should be used instead. -let g:ale_enabled = get(g:, 'ale_enabled', 1) - -" These flags dictates if ale uses the quickfix or the loclist (loclist is the -" default, quickfix overrides loclist). -let g:ale_set_loclist = get(g:, 'ale_set_loclist', 1) -let g:ale_set_quickfix = get(g:, 'ale_set_quickfix', 0) - -" This flag can be set to 0 to disable setting signs. -" This is enabled by default only if the 'signs' feature exists. -let g:ale_set_signs = get(g:, 'ale_set_signs', has('signs')) - -" This flag can be set to 0 to disable setting error highlights. -let g:ale_set_highlights = get(g:, 'ale_set_highlights', has('syntax')) - -" This List can be configured to exclude particular highlights. -let g:ale_exclude_highlights = get(g:, 'ale_exclude_highlights', []) - -" This flag can be set to 0 to disable echoing when the cursor moves. -let g:ale_echo_cursor = get(g:, 'ale_echo_cursor', 1) - -" This flag can be set to 1 to automatically show errors in the preview window. -let g:ale_cursor_detail = get(g:, 'ale_cursor_detail', 0) - -" This flag can be set to 1 to enable virtual text when the cursor moves. -let g:ale_virtualtext_cursor = get(g:, 'ale_virtualtext_cursor', 0) - -" This flag can be set to 1 to automatically close the preview window upon -" entering Insert Mode. -let g:ale_close_preview_on_insert = get(g:, 'ale_close_preview_on_insert', 0) - -" This flag can be set to 0 to disable balloon support. -let g:ale_set_balloons = get(g:, 'ale_set_balloons', has('balloon_eval') && has('gui_running')) - -" Use preview window for hover messages. -let g:ale_hover_to_preview = get(g:, 'ale_hover_to_preview', 0) - -" This flag can be set to 0 to disable warnings for trailing whitespace -let g:ale_warn_about_trailing_whitespace = get(g:, 'ale_warn_about_trailing_whitespace', 1) -" This flag can be set to 0 to disable warnings for trailing blank lines -let g:ale_warn_about_trailing_blank_lines = get(g:, 'ale_warn_about_trailing_blank_lines', 1) - -" A flag for enabling or disabling the command history. -let g:ale_history_enabled = get(g:, 'ale_history_enabled', 1) - -" A flag for storing the full output of commands in the history. -let g:ale_history_log_output = get(g:, 'ale_history_log_output', 1) - -" Enable automatic completion with LSP servers and tsserver -let g:ale_completion_enabled = get(g:, 'ale_completion_enabled', 0) - -" Enable automatic detection of pipenv for Python linters. -let g:ale_python_auto_pipenv = get(g:, 'ale_python_auto_pipenv', 0) - -" This variable can be overridden to set the GO111MODULE environment variable. -let g:ale_go_go111module = get(g:, 'ale_go_go111module', '') - -if g:ale_set_balloons - call ale#balloon#Enable() -endif - -if g:ale_completion_enabled - call ale#completion#Enable() -endif - -" Define commands for moving through warnings and errors. -command! -bar -nargs=* ALEPrevious -\ :call ale#loclist_jumping#WrapJump('before', ) -command! -bar -nargs=* ALENext -\ :call ale#loclist_jumping#WrapJump('after', ) - -command! -bar ALEPreviousWrap :call ale#loclist_jumping#Jump('before', 1) -command! -bar ALENextWrap :call ale#loclist_jumping#Jump('after', 1) -command! -bar ALEFirst :call ale#loclist_jumping#JumpToIndex(0) -command! -bar ALELast :call ale#loclist_jumping#JumpToIndex(-1) - -" A command for showing error details. -command! -bar ALEDetail :call ale#cursor#ShowCursorDetail() - -" Define commands for turning ALE on or off. -command! -bar ALEToggle :call ale#toggle#Toggle() -command! -bar ALEEnable :call ale#toggle#Enable() -command! -bar ALEDisable :call ale#toggle#Disable() -command! -bar ALEReset :call ale#toggle#Reset() -" Commands for turning ALE on or off for a buffer. -command! -bar ALEToggleBuffer :call ale#toggle#ToggleBuffer(bufnr('')) -command! -bar ALEEnableBuffer :call ale#toggle#EnableBuffer(bufnr('')) -command! -bar ALEDisableBuffer :call ale#toggle#DisableBuffer(bufnr('')) -command! -bar ALEResetBuffer :call ale#toggle#ResetBuffer(bufnr('')) -" A command to stop all LSP-like clients, including tsserver. -command! -bar ALEStopAllLSPs :call ale#lsp#reset#StopAllLSPs() - -" A command for linting manually. -command! -bar ALELint :call ale#Queue(0, 'lint_file') - -" Define a command to get information about current filetype. -command! -bar ALEInfo :call ale#debugging#Info() -" The same, but copy output to your clipboard. -command! -bar ALEInfoToClipboard :call ale#debugging#InfoToClipboard() -" Copy ALE information to a file. -command! -bar -nargs=1 ALEInfoToFile :call ale#debugging#InfoToFile() - -" Fix problems in files. -command! -bar -nargs=* -complete=customlist,ale#fix#registry#CompleteFixers ALEFix :call ale#fix#Fix(bufnr(''), '', ) -" Suggest registered functions to use for fixing problems. -command! -bar ALEFixSuggest :call ale#fix#registry#Suggest(&filetype) - -" Go to definition for tsserver and LSP -command! -bar -nargs=* ALEGoToDefinition :call ale#definition#GoToCommandHandler('', ) - -" Deprecated commands we have to keep for now. -command! -bar ALEGoToDefinitionInTab :call ale#definition#GoTo({'open_in': 'tab', 'deprecated_command': 'ALEGoToDefinitionInTab'}) -command! -bar ALEGoToDefinitionInSplit :call ale#definition#GoTo({'open_in': 'split', 'deprecated_command': 'ALEGoToDefinitionInSplit'}) -command! -bar ALEGoToDefinitionInVSplit :call ale#definition#GoTo({'open_in': 'vsplit', 'deprecated_command': 'ALEGoToDefinitionInVSplit'}) - -" Go to type definition for tsserver and LSP -command! -bar -nargs=* ALEGoToTypeDefinition :call ale#definition#GoToCommandHandler('type', ) - -" Deprecated commands we have to keep for now. -command! -bar ALEGoToTypeDefinitionInTab :call ale#definition#GoToType({'open_in': 'tab', 'deprecated_command': 'ALEGoToTypeDefinitionInTab'}) -command! -bar ALEGoToTypeDefinitionInSplit :call ale#definition#GoToType({'open_in': 'split', 'deprecated_command': 'ALEGoToTypeDefinitionInSplit'}) -command! -bar ALEGoToTypeDefinitionInVSplit :call ale#definition#GoToType({'open_in': 'vsplit', 'deprecated_command': 'ALEGoToTypeDefinitionInVSplit'}) - -" Repeat a previous selection in the preview window -command! -bar ALERepeatSelection :call ale#preview#RepeatSelection() - -" Find references for tsserver and LSP -command! -bar -nargs=* ALEFindReferences :call ale#references#Find() - -" Show summary information for the cursor. -command! -bar ALEHover :call ale#hover#ShowAtCursor() - -" Show documentation for the cursor. -command! -bar ALEDocumentation :call ale#hover#ShowDocumentationAtCursor() - -" Search for appearances of a symbol, such as a type name or function name. -command! -nargs=1 ALESymbolSearch :call ale#symbol#Search() - -command! -bar ALEComplete :call ale#completion#GetCompletions('ale-manual') - -" Rename symbols using tsserver and LSP -command! -bar ALERename :call ale#rename#Execute() - -" Organize import statements using tsserver -command! -bar ALEOrganizeImports :call ale#organize_imports#Execute() - -" mappings for commands -nnoremap (ale_previous) :ALEPrevious -nnoremap (ale_previous_wrap) :ALEPreviousWrap -nnoremap (ale_previous_error) :ALEPrevious -error -nnoremap (ale_previous_wrap_error) :ALEPrevious -wrap -error -nnoremap (ale_previous_warning) :ALEPrevious -warning -nnoremap (ale_previous_wrap_warning) :ALEPrevious -wrap -warning -nnoremap (ale_next) :ALENext -nnoremap (ale_next_wrap) :ALENextWrap -nnoremap (ale_next_error) :ALENext -error -nnoremap (ale_next_wrap_error) :ALENext -wrap -error -nnoremap (ale_next_warning) :ALENext -warning -nnoremap (ale_next_wrap_warning) :ALENext -wrap -warning -nnoremap (ale_first) :ALEFirst -nnoremap (ale_last) :ALELast -nnoremap (ale_toggle) :ALEToggle -nnoremap (ale_enable) :ALEEnable -nnoremap (ale_disable) :ALEDisable -nnoremap (ale_reset) :ALEReset -nnoremap (ale_toggle_buffer) :ALEToggleBuffer -nnoremap (ale_enable_buffer) :ALEEnableBuffer -nnoremap (ale_disable_buffer) :ALEDisableBuffer -nnoremap (ale_reset_buffer) :ALEResetBuffer -nnoremap (ale_lint) :ALELint -nnoremap (ale_detail) :ALEDetail -nnoremap (ale_fix) :ALEFix -nnoremap (ale_go_to_definition) :ALEGoToDefinition -nnoremap (ale_go_to_type_definition) :ALEGoToTypeDefinition -nnoremap (ale_find_references) :ALEFindReferences -nnoremap (ale_hover) :ALEHover -nnoremap (ale_documentation) :ALEDocumentation -inoremap (ale_complete) :ALEComplete -nnoremap (ale_rename) :ALERename -nnoremap (ale_repeat_selection) :ALERepeatSelection - -" Deprecated mappings -nnoremap (ale_go_to_definition_in_tab) :ALEGoToDefinitionInTab -nnoremap (ale_go_to_definition_in_split) :ALEGoToDefinitionInSplit -nnoremap (ale_go_to_definition_in_vsplit) :ALEGoToDefinitionInVSplit -nnoremap (ale_go_to_type_definition_in_tab) :ALEGoToTypeDefinitionInTab -nnoremap (ale_go_to_type_definition_in_split) :ALEGoToTypeDefinitionInSplit -nnoremap (ale_go_to_type_definition_in_vsplit) :ALEGoToTypeDefinitionInVSplit - -" Set up autocmd groups now. -call ale#events#Init() - -" Housekeeping - -augroup ALECleanupGroup - autocmd! - " Clean up buffers automatically when they are unloaded. - autocmd BufDelete * if exists('*ale#engine#Cleanup') | call ale#engine#Cleanup(str2nr(expand(''))) | endif - autocmd QuitPre * call ale#events#QuitEvent(str2nr(expand(''))) - - if exists('##VimSuspend') - autocmd VimSuspend * if exists('*ale#engine#CleanupEveryBuffer') | call ale#engine#CleanupEveryBuffer() | endif - endif -augroup END diff --git a/vim/.vim_runtime/sources_non_forked/ale/supported-tools.md b/vim/.vim_runtime/sources_non_forked/ale/supported-tools.md deleted file mode 100644 index e3a28a4..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/supported-tools.md +++ /dev/null @@ -1,896 +0,0 @@ -supported-tools.md

ALE Supported Languages and Tools

- -

This plugin supports the following languages and tools. All available -tools will be run in combination, so they can be complementary.

- - - -

Legend

- - - - - - - - - - - - - - - - - - - - -
KeyDefinition
:floppy_disk:Only checked when saved to disk
:warning:Disabled by default
- -
- - diff --git a/vim/.vim_runtime/sources_non_forked/ale/syntax/ale-fix-suggest.vim b/vim/.vim_runtime/sources_non_forked/ale/syntax/ale-fix-suggest.vim deleted file mode 100644 index b112f5b..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/syntax/ale-fix-suggest.vim +++ /dev/null @@ -1,13 +0,0 @@ -if exists('b:current_syntax') - finish -endif - -syn match aleFixerComment /^.*$/ -syn match aleFixerName /\(^\|, \)'[^']*'/ -syn match aleFixerHelp /^See :help ale-fix-configuration/ - -hi def link aleFixerComment Comment -hi def link aleFixerName String -hi def link aleFixerHelp Statement - -let b:current_syntax = 'ale-fix-suggest' diff --git a/vim/.vim_runtime/sources_non_forked/ale/syntax/ale-preview-selection.vim b/vim/.vim_runtime/sources_non_forked/ale/syntax/ale-preview-selection.vim deleted file mode 100644 index 879ba09..0000000 --- a/vim/.vim_runtime/sources_non_forked/ale/syntax/ale-preview-selection.vim +++ /dev/null @@ -1,11 +0,0 @@ -if exists('b:current_syntax') - finish -endif - -syn match alePreviewSelectionFilename /\v^([a-zA-Z]?:?[^:]+)/ -syn match alPreviewNumber /\v:\d+:\d+$/ - -hi def link alePreviewSelectionFilename String -hi def link alePreviewNumber Number - -let b:current_syntax = 'ale-preview-selection' diff --git a/vim/.vim_runtime/sources_non_forked/auto-pairs/.gitignore b/vim/.vim_runtime/sources_non_forked/auto-pairs/.gitignore deleted file mode 100644 index 926ccaa..0000000 --- a/vim/.vim_runtime/sources_non_forked/auto-pairs/.gitignore +++ /dev/null @@ -1 +0,0 @@ -doc/tags diff --git a/vim/.vim_runtime/sources_non_forked/auto-pairs/README.md b/vim/.vim_runtime/sources_non_forked/auto-pairs/README.md deleted file mode 100644 index edb883d..0000000 --- a/vim/.vim_runtime/sources_non_forked/auto-pairs/README.md +++ /dev/null @@ -1,474 +0,0 @@ - -README.md

Auto Pairs

- -

Insert or delete brackets, parens, quotes in pair.

- -

Installation

- -
    -
  • Manual - -
      -
    • Copy plugin/auto-pairs.vim to ~/.vim/plugin
    • -
  • -
  • Pathogen - -
      -
    • git clone git://github.com/jiangmiao/auto-pairs.git ~/.vim/bundle/auto-pairs
    • -
  • -
  • Vundle - -
      -
    • Plugin 'jiangmiao/auto-pairs'
    • -
  • -
- -

Features

- -
    -
  • Insert in pair

    - -
    input: [
    -output: [|]
  • - -
  • Delete in pair

    - -
    input: foo[<BS>]
    -output: foo
  • - -
  • Insert new indented line after Return

    - -
    input: {|} (press <CR> at |)
    -output: {
    -    |
    -}          (press } to close the pair)
    -output: {
    -}|         (the inserted blank line will be deleted)
  • - -
  • Insert spaces before closing characters, only for [], (), {}

    - -
    input: {|} (press <SPACE> at |)
    -output: { | }
    -
    -
    -input: {|} (press <SPACE>foo} at |)
    -output: { foo }|
    -
    -
    -input: '|' (press <SPACE> at |)
    -output: ' |'
  • - -
  • Skip ‘ when inside a word

    - -
    input: foo| (press ' at |)
    -output: foo'
  • - -
  • Skip closed bracket.

    - -
    input: []
    -output: []
  • - -
  • Ignore auto pair when previous character is

    - -
    input: "\'
    -output: "\'"
  • - -
  • Fast Wrap

    - -
    input: |[foo, bar()] (press (<M-e> at |)
    -output: ([foo, bar()])
  • - -
  • Quick move char to closed pair

    - -
    input: (|){["foo"]} (press <M-}> at |)
    -output: ({["foo"]}|)
    -
    -
    -input: |[foo, bar()] (press (<M-]> at |)
    -output: ([foo, bar()]|)
  • - -
  • Quick jump to closed pair.

    - -
    input:
    -{
    -    something;|
    -}
    -
    -
    -(press } at |)
    -
    -
    -output:
    -{
    -
    -
    -}|
  • - -
  • Fly Mode

    - -
    input: if(a[3)
    -output: if(a[3])| (In Fly Mode)
    -output: if(a[3)]) (Without Fly Mode)
    -
    -
    -input:
    -{
    -    hello();|
    -    world();
    -}
    -
    -
    -(press } at |)
    -
    -
    -output:
    -{
    -    hello();
    -    world();
    -}|
    -
    -
    -(then press <M-b> at | to do backinsert)
    -output:
    -{
    -    hello();}|
    -    world();
    -}
    -
    -
    -See Fly Mode section for details
  • - -
  • Multibyte Pairs

    - -
    Support any multibyte pairs such as <!-- -->, <% %>, """ """
    -See multibyte pairs section for details
  • -
- -

Fly Mode

- -

Fly Mode will always force closed-pair jumping instead of inserting. only for “)”, “}”, “]”

- -

If jumps in mistake, could use AutoPairsBackInsert(Default Key: <M-b>) to jump back and insert closed pair.

- -

the most situation maybe want to insert single closed pair in the string, eg “)”

- -

Fly Mode is DISABLED by default.

- -

add let g:AutoPairsFlyMode = 1 .vimrc to turn it on

- -

Default Options:

- -
let g:AutoPairsFlyMode = 0
-let g:AutoPairsShortcutBackInsert = '<M-b>'
- -

Shortcuts

- -
System Shortcuts:
-    <CR>  : Insert new indented line after return if cursor in blank brackets or quotes.
-    <BS>  : Delete brackets in pair
-    <M-p> : Toggle Autopairs (g:AutoPairsShortcutToggle)
-    <M-e> : Fast Wrap (g:AutoPairsShortcutFastWrap)
-    <M-n> : Jump to next closed pair (g:AutoPairsShortcutJump)
-    <M-b> : BackInsert (g:AutoPairsShortcutBackInsert)
-
-If <M-p> <M-e> or <M-n> conflict with another keys or want to bind to another keys, add
-
-    let g:AutoPairsShortcutToggle = '<another key>'
-
-to .vimrc, if the key is empty string '', then the shortcut will be disabled.
- -

Options

- -
    -
  • g:AutoPairs

    - -
    Default: {'(':')', '[':']', '{':'}',"'":"'",'"':'"', "`":"`", '```':'```', '"""':'"""', "'''":"'''"}
  • - -
  • b:AutoPairs

    - -
    Default: g:AutoPairs
    -
    -
    -Buffer level pairs set.
  • - -
  • g:AutoPairsShortcutToggle

    - -
    Default: '<M-p>'
    -
    -
    -The shortcut to toggle autopairs.
  • - -
  • g:AutoPairsShortcutFastWrap

    - -
    Default: '<M-e>'
    -
    -
    -Fast wrap the word. all pairs will be consider as a block (include <>).
    -(|)'hello' after fast wrap at |, the word will be ('hello')
    -(|)<hello> after fast wrap at |, the word will be (<hello>)
  • - -
  • g:AutoPairsShortcutJump

    - -
    Default: '<M-n>'
    -
    -
    -Jump to the next closed pair
  • - -
  • g:AutoPairsMapBS

    - -
    Default : 1
    -
    -
    -Map <BS> to delete brackets, quotes in pair
    -execute 'inoremap <buffer> <silent> <BS> <C-R>=AutoPairsDelete()<CR>'
  • - -
  • g:AutoPairsMapCh

    - -
    Default : 1
    -
    -
    -Map <C-h> to delete brackets, quotes in pair
  • - -
  • g:AutoPairsMapCR

    - -
    Default : 1
    -
    -
    -Map <CR> to insert a new indented line if cursor in (|), {|} [|], '|', "|"
    -execute 'inoremap <buffer> <silent> <CR> <C-R>=AutoPairsReturn()<CR>'
  • - -
  • g:AutoPairsCenterLine

    - -
    Default : 1
    -
    -
    -When g:AutoPairsMapCR is on, center current line after return if the line is at the bottom 1/3 of the window.
  • - -
  • g:AutoPairsMapSpace

    - -
    Default : 1
    -
    -
    -Map <space> to insert a space after the opening character and before the closing one.
    -execute 'inoremap <buffer> <silent> <CR> <C-R>=AutoPairsSpace()<CR>'
  • - -
  • g:AutoPairsFlyMode

    - -
    Default : 0
    -
    -
    -set it to 1 to enable FlyMode.
    -see FlyMode section for details.
  • - -
  • g:AutoPairsMultilineClose

    - -
    Default : 1
    -
    -
    -When you press the key for the closing pair (e.g. `)`) it jumps past it.
    -If set to 1, then it'll jump to the next line, if there is only whitespace.
    -If set to 0, then it'll only jump to a closing pair on the same line.
  • - -
  • g:AutoPairsShortcutBackInsert

    - -
    Default : <M-b>
    -
    -
    -Work with FlyMode, insert the key at the Fly Mode jumped postion
  • - -
  • g:AutoPairsMoveCharacter

    - -
    Default: "()[]{}\"'"
    -
    -
    -Map <M-(> <M-)> <M-[> <M-]> <M-{> <M-}> <M-"> <M-'> to
    -move character under the cursor to the pair.
  • -
- -

Buffer Level Pairs Setting

- -

Set b:AutoPairs before BufEnter

- -

eg:

- -
" When the filetype is FILETYPE then make AutoPairs only match for parenthesis
-au Filetype FILETYPE let b:AutoPairs = {"(": ")"}
-au FileType php      let b:AutoPairs = AutoPairsDefine({'<?' : '?>', '<?php': '?>'})
- -

Multibyte Pairs

- -
The default pairs is {'(':')', '[':']', '{':'}',"'":"'",'"':'"', '`':'`'}
-You could also define multibyte pairs such as <!-- -->, <% %> and so on
- -
    -
  • Function AutoPairsDefine(addPairs:dict[, removeOpenPairList:list])

    - -
    add or delete pairs base on g:AutoPairs
    -
    -
    -eg:
    -    au FileType html let b:AutoPairs = AutoPairsDefine({'<!--' : '-->'}, ['{'])
    -    add <!-- --> pair and remove '{' for html file
    -
    -
    -the pair implict start with \V, so if want to match start of line ^ should be write in \^ vim comment {'\^"': ''}
  • - -
  • General usage

    - -
    au FileType php      let b:AutoPairs = AutoPairsDefine({'<?' : '?>', '<?php': '?>'})
    -
    -
    -the first key of closed pair ? will be mapped
    -
    -
    -pairs: '<?' : '?>', '<?php': '?>'
    -input: <?
    -output: <?|?>
    -
    -
    -input: <?php
    -output: <?php|?>
    -
    -
    -input: he<?php|?> (press <BS> at|)
    -output: he|
    -
    -
    -input: <?php|?> (press ? at|)
    -output: <?php?>|
    -
    -
    -pair: '[[':']]'
    -input: [[|]] (press <BS>)
    -output: | ([[ and ]] will be deleted the [['s priority is higher than [ for it's longer)
  • - -
  • Modifier

    - -
    The text after //  in close pair is modifiers
    -
    -
    -n - do not map the first charactor of closed pair to close key
    -m - close key jumps through multi line
    -s - close key jumps only in the same line
    -k[KEY] - map the close key to [KEY]
    -
    -
    -    by default if open key equals close key the multi line is turn off
    -
    -
    -    "<?": "?>"      ? jumps only in the same line
    -    "<?": "?>//m"   force ? jumping through multi line
    -    "<?php":"?>"    ? will jump through multi line
    -    "<?php":"?>//s" force ? only jumping in the same line
    -    "<?": "?>//n"   do not jump totally
    -    "<?": "?>//k]"  use key ] to jump through ?>
    -
    -
    -for 'begin' 'end' pair, e is a charactor, if map e to jump will be annoy, so use modifier 'n' to skip key map
    -
    -
    -au FileType ruby     let b:AutoPairs = AutoPairsDefine({'begin': 'end//n]'})
    -
    -
    -input: begin
    -output: begin|end
    -
    -
    -input: begin|end (press <BS> on |)
    -output: |
    -
    -
    -input: begin|end (press e on |)
    -output: begineend (will not jump for e is not mapped)
  • - -
  • Advanced usage

    - -
    au FileType rust     let b:AutoPairs = AutoPairsDefine({'\w\zs<': '>'})
    -
    -
    -if press < after a word will generate the pair
    -
    -
    -when use regexp MUST use \zs to prevent catching
    -if use '\w<' without \zs,  for text hello<|> press <BS> on | will output 'hell', the 'o' has been deleted
    -
    -
    -pair: '\w\zs<': '>'
    -input: h <
    -output: h <
    -
    -
    -input: h<
    -output: h<|>
    -
    -
    -input: h<|> press <BS>
    -output: h|
    -
    -
    -pair: '\w<': '>' (WRONG pair which missed \zs)
    -input: h<|> press <BS>
    -output: | (charactor 'h' is deleted)
    -
    -
    -the 'begin' 'end' pair write in
    -
    -
    -au FileType ruby     let b:AutoPairs = AutoPairsDefine({'\v(^|\W)\zsbegin': 'end//n'})
    -
    -
    -will be better, only auto pair when at start of line or follow non-word text
  • -
- -

TroubleShooting

- -
The script will remap keys ([{'"}]) <BS>,
-If auto pairs cannot work, use :imap ( to check if the map is corrected.
-The correct map should be <C-R>=AutoPairsInsert("\(")<CR>
-Or the plugin conflict with some other plugins.
-use command :call AutoPairsInit() to remap the keys.
- -
    -
  • How to insert parens purely

    - -

    There are 3 ways

    - -
      -
    1. use Ctrl-V ) to insert paren without trigger the plugin.

    2. - -
    3. use Alt-P to turn off the plugin.

    4. - -
    5. use DEL or x to delete the character insert by plugin.

    6. -
  • - -
  • Swedish Character Conflict

    - -

    Because AutoPairs uses Meta(Alt) key as shortcut, it is conflict with some Swedish character such as å. -To fix the issue, you need remap or disable the related shortcut.

  • -
- -

Known Issues

- -

Breaks ‘.’ - issue #3

- -
Description: After entering insert mode and inputing `[hello` then leave insert
-             mode by `<ESC>`. press '.' will insert 'hello' instead of '[hello]'.
-Reason: `[` actually equals `[]\<LEFT>` and \<LEFT> will break '.'.
-        After version 7.4.849, Vim implements new keyword <C-G>U to avoid the break
-Solution: Update Vim to 7.4.849+
- -

Contributors

- - - -

License

- -

Copyright © 2011-2013 Miao Jiang

- -

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

- -

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

- -

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

diff --git a/vim/.vim_runtime/sources_non_forked/auto-pairs/doc/AutoPairs.txt b/vim/.vim_runtime/sources_non_forked/auto-pairs/doc/AutoPairs.txt deleted file mode 100644 index afe589e..0000000 --- a/vim/.vim_runtime/sources_non_forked/auto-pairs/doc/AutoPairs.txt +++ /dev/null @@ -1,356 +0,0 @@ -*AutoPairs.txt* Insert or delete brackets, parens, quotes in pair - -Author: jiangmiao -License: MIT -URL: https://github.com/jiangmiao/auto-pairs - -============================================================================== -CONTENTS *autopairs-contents* - - 1. Installation ............................. |autopairs-installation| - 2. Features ..................................... |autopairs-features| - 3. Fly Mode ..................................... |autopairs-fly-mode| - 4. Shortcuts ................................... |autopairs-shortcuts| - 5. Options ....................................... |autopairs-options| - 6. Troubleshooting ...................... |autopairs-troubleshooting| - -============================================================================== -1. Introduction *autopairs-installation* - -Copy `plugin/auto-pairs.vim` to `~/.vim/plugin`. - -Or if you are using `pathogen`: > - - git clone git://github.com/jiangmiao/auto-pairs.git ~/.vim/bundle/auto-pairs - -============================================================================== -2. Features *autopairs-features* - -Insert in pair: > - - input: [ - output: [|] - -Delete in pair: > - - input: foo[] - output: foo - -Insert new indented line after Return: > - - input: {|} (press at |) - output: { - | - } - -Insert spaces before closing characters, only for [], (), {}: > - - input: {|} (press at |) - output: { | } - - input: {|} (press foo} at |) - output: { foo }| - - input: '|' (press at |) - output: ' |' - -Skip ' when inside a word: > - - input: foo| (press ' at |) - output: foo' - -Skip closed bracket: > - - input: [] - output: [] - -Ignore auto pair when previous character is '\': > - - input: "\' - output: "\'" - -Fast Wrap: > - - input: |'hello' (press ( at |) - output: ('hello') - - Wrap string, only support c style string. - input: |'h\\el\'lo' (press ( at |) - output ('h\\ello\'') - - input: |[foo, bar()] (press ( at |) - output: ([foo, bar()]) - -Quick jump to closed pair: > - - input: - { - something;| - } - - (press } at |) - - output: - { - - }| - -Support ```, ''' and """: > - - input: - ''' - - output: - '''|''' - -Delete Repeated Pairs in one time: > - - input: """|""" (press at |) - output: | - - input: {{|}} (press at |) - output: | - - input: [[[[[[|]]]]]] (press at |) - output: | - -Fly Mode (|autopairs-flymode|): > - - input: if(a[3) - output: if(a[3])| (In Fly Mode) - output: if(a[3)]) (Without Fly Mode) - - input: - { - hello();| - world(); - } - - (press } at |) - - output: - { - hello(); - world(); - }| - - (then press at | to do backinsert) - output: - { - hello();}| - world(); - } - - See |Fly Mode| section for details - -============================================================================== -3. Fly Mode *autopairs-flymode* - -Fly Mode will always force closed-pair jumping instead of inserting. Only for -")", "}", "]". If jumps in mistake, you can use |g:AutoPairsBackInsert| (default -Key: ) to jump back and insert closed pair. - -The most situation maybe you want to insert single closed pair in the string, -eg: > - - ")" - -Fly Mode is DISABLED by default. To enable Fly Mode add following to your -'.vimrc': > - - let g:AutoPairsFlyMode = 1 - -Default Options: > - - let g:AutoPairsFlyMode = 0 - let g:AutoPairsShortcutBackInsert = '' - -============================================================================== -4. Shortcuts *autopairs-shortcuts* - -System Shortcuts: - : Insert new indented line after return if cursor in blank brackets - or quotes. - : Delete brackets in pair - : Toggle Autopairs (|g:AutoPairsShortcutToggle|) - : Fast Wrap (|g:AutoPairsShortcutFastWrap|) - : Jump to next closed pair (|g:AutoPairsShortcutJump|) - : BackInsert (|g:AutoPairsShortcutBackInsert|) - - - To rebind keys , or or in case of conflicts with - another keys: - - let g:AutoPairsShortcutToggle = '' - - If the key is empty string '', then the shortcut will be disabled. - -============================================================================== -5. Options *autopairs-options* - - *g:AutoPairs* -|g:AutoPairs| dict - -Default: > - {'(':')', '[':']', '{':'}',"'":"'",'"':'"', '`':'`'} - -Specifies which symbols should be automatically paired. - -To append new pairs without overwriting defaults, add values in your `.vimrc`.: - - let g:AutoPairs['<']='>' - -This example will enable matching of `<` with `>`. - - - *b:AutoPairs* -|b:AutoPairs| dict - -Default: |g:AutoPairs| - -Buffer level pairs set. - -You can set |b:AutoPairs| before |BufEnter|: > - - au Filetype FILETYPE let b:AutoPairs = {"(": ")"} - -This sets |AutoPairs| to only match for parenthesis for 'FILETYPE'. - - - - *g:AutoPairsShortcutToggle* -|g:AutoPairsShortcutToggle| string - -Default: - -The shortcut to toggle autopairs. - - - - *g:AutoPairsShortcutFastWrap* -|g:AutoPairsShortcutFastWrap| string - -Default: - -Fast wrap the word. All pairs will be considered as a block (including <>). - - (|)'hello' after fast wrap at |, the word will be ('hello') - (|) after fast wrap at |, the word will be () - - - - *g:AutoPairsShortcutJump* -|g:AutoPairsShortcutJump| string - -Default: - -Jump to the next closed pair. - - - *g:AutoPairsShortcutBackInsert* -|g:AutoPairsShortcutBackInsert| string - -Default: - -Work with |autopairs-flymode|, insert the key at the Fly Mode jumped position. - - - - *g:AutoPairsMapBS* -|g:AutoPairsMapBS| int - -Default: 1 - -Map to delete brackets and quotes in pair, executes: - - inoremap =AutoPairsDelete() - - - *g:AutoPairsMapCh* -|g:AutoPairsMapCh| int - -Default: 1 - -Map to delete brackets and quotes in pair. - - - *g:AutoPairsMapCR* -|g:AutoPairsMapCR| int - -Default: 1 - -Map to insert a new indented line if cursor in (|), {|} [|], '|', "|". -Executes: - - inoremap =AutoPairsReturn() - - - *g:AutoPairsCenterLine* -|g:AutoPairsCenterLine| int - -Default: 1 - -When |g:AutoPairsMapCR| is on, center current line after return if the line -is at the bottom 1/3 of the window. - - - *g:AutoPairsMapSpace* -|g:AutoPairsMapSpace| int - -Default: 1 - -Map to insert a space after the opening character and before the -closing one. - -Executes: - - inoremap =AutoPairsSpace() - - - *g:AutoPairsFlyMode* -|g:AutoPairsFlyMode| int - -Default: 0 - -Set it to 1 to enable |autopairs-flymode|. - - - *g:AutoPairsMultilineClose* -|g:AutoPairsMultilineClose| int - -Default: 1 - -When you press the key for the closing pair (e.g. `)`) it jumps past it. -If set to 1, then it'll jump to the next line, if there is only 'whitespace'. -If set to 0, then it'll only jump to a closing pair on the same line. - -============================================================================== -6. Troubleshooting *autopairs-troubleshooting* - -This plugin remaps keys `([{'"}]) ` - -If auto pairs cannot work, use |:imap| to check if the map is corrected. - -The correct map should be: > - - =AutoPairsInsert("\(") - -Or the plugin conflicts with some other plugins. Use command: > - - :call AutoPairsInit() to remap the keys. - ---- How to insert parens purely? --- - -There are 3 ways: - - 1. Use Ctrl-V ) to insert paren without trigger the plugin. - - 2. Use Alt-P to turn off the plugin. - - 3. Use DEL or x to delete the character insert by plugin. - ---- Swedish Character Conflict --- - -Because AutoPairs uses Meta(Alt) key as a shortcut, it conflicts with some -Swedish character such as å. To fix the issue, you need remap or disable the -related shortcut. diff --git a/vim/.vim_runtime/sources_non_forked/auto-pairs/plugin/auto-pairs.vim b/vim/.vim_runtime/sources_non_forked/auto-pairs/plugin/auto-pairs.vim deleted file mode 100644 index af5eb32..0000000 --- a/vim/.vim_runtime/sources_non_forked/auto-pairs/plugin/auto-pairs.vim +++ /dev/null @@ -1,673 +0,0 @@ -" Insert or delete brackets, parens, quotes in pairs. -" Maintainer: JiangMiao -" Contributor: camthompson -" Last Change: 2019-02-02 -" Version: 2.0.0 -" Homepage: http://www.vim.org/scripts/script.php?script_id=3599 -" Repository: https://github.com/jiangmiao/auto-pairs -" License: MIT - -if exists('g:AutoPairsLoaded') || &cp - finish -end -let g:AutoPairsLoaded = 1 - -if !exists('g:AutoPairs') - let g:AutoPairs = {'(':')', '[':']', '{':'}',"'":"'",'"':'"', '```':'```', '"""':'"""', "'''":"'''", "`":"`"} -end - -" default pairs base on filetype -func! AutoPairsDefaultPairs() - if exists('b:autopairs_defaultpairs') - return b:autopairs_defaultpairs - end - let r = copy(g:AutoPairs) - let allPairs = { - \ 'vim': {'\v^\s*\zs"': ''}, - \ 'rust': {'\w\zs<': '>', '&\zs''': ''}, - \ 'php': {'//k]', '//k]'} - \ } - for [filetype, pairs] in items(allPairs) - if &filetype == filetype - for [open, close] in items(pairs) - let r[open] = close - endfor - end - endfor - let b:autopairs_defaultpairs = r - return r -endf - -if !exists('g:AutoPairsMapBS') - let g:AutoPairsMapBS = 1 -end - -" Map as the same BS -if !exists('g:AutoPairsMapCh') - let g:AutoPairsMapCh = 1 -end - -if !exists('g:AutoPairsMapCR') - let g:AutoPairsMapCR = 1 -end - -if !exists('g:AutoPairsWildClosedPair') - let g:AutoPairsWildClosedPair = '' -end - -if !exists('g:AutoPairsMapSpace') - let g:AutoPairsMapSpace = 1 -end - -if !exists('g:AutoPairsCenterLine') - let g:AutoPairsCenterLine = 1 -end - -if !exists('g:AutoPairsShortcutToggle') - let g:AutoPairsShortcutToggle = '' -end - -if !exists('g:AutoPairsShortcutFastWrap') - let g:AutoPairsShortcutFastWrap = '' -end - -if !exists('g:AutoPairsMoveCharacter') - let g:AutoPairsMoveCharacter = "()[]{}\"'" -end - -if !exists('g:AutoPairsShortcutJump') - let g:AutoPairsShortcutJump = '' -endif - -" Fly mode will for closed pair to jump to closed pair instead of insert. -" also support AutoPairsBackInsert to insert pairs where jumped. -if !exists('g:AutoPairsFlyMode') - let g:AutoPairsFlyMode = 0 -endif - -" When skipping the closed pair, look at the current and -" next line as well. -if !exists('g:AutoPairsMultilineClose') - let g:AutoPairsMultilineClose = 1 -endif - -" Work with Fly Mode, insert pair where jumped -if !exists('g:AutoPairsShortcutBackInsert') - let g:AutoPairsShortcutBackInsert = '' -endif - -if !exists('g:AutoPairsSmartQuotes') - let g:AutoPairsSmartQuotes = 1 -endif - -" 7.4.849 support U to avoid breaking '.' -" Issue talk: https://github.com/jiangmiao/auto-pairs/issues/3 -" Vim note: https://github.com/vim/vim/releases/tag/v7.4.849 -if v:version > 704 || v:version == 704 && has("patch849") - let s:Go = "\U" -else - let s:Go = "" -endif - -let s:Left = s:Go."\" -let s:Right = s:Go."\" - - - - -" unicode len -func! s:ulen(s) - return len(split(a:s, '\zs')) -endf - -func! s:left(s) - return repeat(s:Left, s:ulen(a:s)) -endf - -func! s:right(s) - return repeat(s:Right, s:ulen(a:s)) -endf - -func! s:delete(s) - return repeat("\", s:ulen(a:s)) -endf - -func! s:backspace(s) - return repeat("\", s:ulen(a:s)) -endf - -func! s:getline() - let line = getline('.') - let pos = col('.') - 1 - let before = strpart(line, 0, pos) - let after = strpart(line, pos) - let afterline = after - if g:AutoPairsMultilineClose - let n = line('$') - let i = line('.')+1 - while i <= n - let line = getline(i) - let after = after.' '.line - if !(line =~ '\v^\s*$') - break - end - let i = i+1 - endwhile - end - return [before, after, afterline] -endf - -" split text to two part -" returns [orig, text_before_open, open] -func! s:matchend(text, open) - let m = matchstr(a:text, '\V'.a:open.'\v$') - if m == "" - return [] - end - return [a:text, strpart(a:text, 0, len(a:text)-len(m)), m] -endf - -" returns [orig, close, text_after_close] -func! s:matchbegin(text, close) - let m = matchstr(a:text, '^\V'.a:close) - if m == "" - return [] - end - return [a:text, m, strpart(a:text, len(m), len(a:text)-len(m))] -endf - -" add or delete pairs base on g:AutoPairs -" AutoPairsDefine(addPairs:dict[, removeOpenPairList:list]) -" -" eg: -" au FileType html let b:AutoPairs = AutoPairsDefine({''}, ['{']) -" add pair and remove '{' for html file -func! AutoPairsDefine(pairs, ...) - let r = AutoPairsDefaultPairs() - if a:0 > 0 - for open in a:1 - unlet r[open] - endfor - end - for [open, close] in items(a:pairs) - let r[open] = close - endfor - return r -endf - -func! AutoPairsInsert(key) - if !b:autopairs_enabled - return a:key - end - - let b:autopairs_saved_pair = [a:key, getpos('.')] - - let [before, after, afterline] = s:getline() - - " Ignore auto close if prev character is \ - if before[-1:-1] == '\' - return a:key - end - - " check open pairs - for [open, close, opt] in b:AutoPairsList - let ms = s:matchend(before.a:key, open) - let m = matchstr(afterline, '^\v\s*\zs\V'.close) - if len(ms) > 0 - " process the open pair - - " remove inserted pair - " eg: if the pairs include < > and - " when

- -
- -

New Version Info

- -

Author’s Instructions

- -
    -
  • Derive a new MAJOR.MINOR.PATCH version number. Increment the:

    - -
      -
    • MAJOR version when you make incompatible API changes
    • -
    • MINOR version when you add functionality in a backwards-compatible manner
    • -
    • PATCH version when you make backwards-compatible bug fixes
    • -
  • - -
  • Update CHANGELOG.md, following the established pattern.

    - -

    Collaborator’s Instructions

  • - -
  • Review CHANGELOG.md, suggesting a different version number if necessary.

  • - -
  • After merge, tag the merge commit, e.g. git tag -a 3.1.4 -m "v3.1.4" && git push origin --tags

  • -
diff --git a/vim/.vim_runtime/sources_non_forked/nerdtree/.gitignore b/vim/.vim_runtime/sources_non_forked/nerdtree/.gitignore deleted file mode 100644 index 3698c0e..0000000 --- a/vim/.vim_runtime/sources_non_forked/nerdtree/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -*~ -*.swp -tags diff --git a/vim/.vim_runtime/sources_non_forked/nerdtree/.vintrc.yaml b/vim/.vim_runtime/sources_non_forked/nerdtree/.vintrc.yaml deleted file mode 100644 index c44b6ab..0000000 --- a/vim/.vim_runtime/sources_non_forked/nerdtree/.vintrc.yaml +++ /dev/null @@ -1,5 +0,0 @@ -cmdargs: - severity: style_problem - color: true - env: - neovim: false diff --git a/vim/.vim_runtime/sources_non_forked/nerdtree/CHANGELOG.md b/vim/.vim_runtime/sources_non_forked/nerdtree/CHANGELOG.md deleted file mode 100644 index fb12ed3..0000000 --- a/vim/.vim_runtime/sources_non_forked/nerdtree/CHANGELOG.md +++ /dev/null @@ -1,389 +0,0 @@ -CHANGELOG.md

NERDTree Change Log

- - - -

6.8

- -
    -
  • .0: Allow concealed characters to show another character. (PhilRunninger) #1138

    - -

    6.7

  • - -
  • .15: Add curly braces to the list of characters to be escaped. (PhilRunninger) #1128

  • - -
  • .14: Use backward-compatible nerdtree#and() in one place that was missed. (PhilRunninger) #1134

  • - -
  • .13: cmd.exe /c start "" <filename> for windows default viewer support. (J. Altayó) #1130

  • - -
  • .12: Fixed a bug that caused the file-tree construction to slow down significantly. (Eugenij-W) #1126

  • - -
  • .11: Fix exception in NERDTreeFind (on windows OS and If the file is located in the root directory of the disk) (Eugenij-W) #1122

  • - -
  • .10: Do not consider the tree root to be “cascadable”. (lifecrisis) #1120

  • - -
  • .9: Force :NERDTreeFocus to allow events to be fired when switching windows. (PhilRunninger) #1118

  • - -
  • .8: Fix example code for the NERDTreeAddKeyMap() function. (PhilRunninger) #1116

  • - -
  • .7: Put '%' argument in bufname() for backwards compatibility. (PhilRunninger) #1105

  • - -
  • .6: If a file’s already open in the window, don’t edit it again. (PhilRunninger) #1103

  • - -
  • .5: Prevent unneeded tree creation in :NERDTreeToggle[VCS] <path> (PhilRunninger) #1101

  • - -
  • .4: Add missing calls to the shellescape() function (lifecrisis) #1099

  • - -
  • .3: Fix vsplit to not open empty buffers when opening previously closed file (AwkwardKore) #1098

  • - -
  • .2: Fix infinity loop (on winvim) in FindParentVCSRoot (Eugenij-W) #1095

  • - -
  • .1: File Move: Escape existing directory name when looking for open files. (PhilRunninger) #1094

  • - -
  • .0: Open the parent directory when revealing a non-existent file with :NERDTreeFind (bouk) #1090

    - -

    6.6

  • - -
  • .1: [add] How to install using dein.vim (kazukazuinaina) #1087

  • - -
  • .0: Add the ability to turn off directory arrows (PhilRunninger) #1085

    - -

    6.5

  • - -
  • .0: NERDTreeToggle <start-directory> always sets NERDTree root. (PhilRunninger) #1083

    - -

    6.4

  • - -
  • .6: NERDTreeFind shows expected message if file doesn’t exist e.g. with vim-startify (andys8). #1081

  • - -
  • .5: Ensure events are (or aren’t) being ignored correctly. (PhilRunninger) #1080

  • - -
  • .4: Prevent overwriting existing files/dirs on node move. (PhilRunninger) #1079

  • - -
  • .3: Fix regex that finds keyword for minimal menu. (PhilRunninger) #1075

  • - -
  • .2: Lint vimscript, fix errors and warnings, add CI job to review PRs (Caleb Maclennan) #1071

  • - -
  • .1: Ensure backward compatibility. v:t_func is not available before Vim 8.0 (Phil Runninger)

  • - -
  • .0: Allow use of function references as callbacks (HiPhish) #1067

    - -

    6.3

  • - -
  • .0: Add new command that behaves like NERDTreeToggle but defaults to the root of a VCS repository. (willfindlay) #1060

    - -

    6.2

  • - -
  • .1: Menu option, ‘copy path to clipboard’ is aware of VIM clipboard option (jhzn) #1056

  • - -
  • .0: Support tab-specific CWDs (PhilRunninger) #1032

    - -

    6.1

  • - -
  • .4: Add VIM built-in package management to read me file. (pesarkhobeee) #1049

  • - -
  • .3: Save/Set screen state also on WinLeave and WinEnter. (PhilRunninger) #1048

  • - -
  • .2: Wrap saveScreenState’s statements in a try-catch block. (PhilRunninger) #1047

  • - -
  • .1: Catch errors when trying to read CHANGELOG.md. (PhilRunninger) #1045

  • - -
  • .0: If file path doesn’t exist, :NERDTreeFind its parent directory instead. (PhilRunninger) #1043

    - -

    6.0

  • - -
  • .1: Reintroduce necessary variable mistakenly removed. (PhilRunninger) #1040

  • - -
  • .0: Make the behavior of window splits consistent (dragonxlwang, PhilRunninger) #1035

    - -

    5.3

  • - -
  • .3: Fix (p)ath not displaying in the minimal menu (tuzz) #1038

  • - -
  • .2: Enable events when closing NerdTree window. (PhilRunninger) #1037

  • - -
  • .1: Fix the e key mapping to use netrw if desired (PhilRunninger) #1031

  • - -
  • .0: Add file extension and size to sorting capabilities (PhilRunninger) #1029

    - -

    5.2

  • - -
  • .9: Suppress events for intermediate window/tab/buffer changes (PhilRunninger) #1026

  • - -
  • .8: Revert #1019 to fix nvim artifacts and flickering. (PhilRunninger) #1021

  • - -
  • .7: Use :mode only in neovim. MacVim still needs to use :redraw! (PhilRunninger) #1019

  • - -
  • .6: In CHANGELOG.md and PR template, make reference to PR a true HTML link. (PhilRunninger) #1017

  • - -
  • .5: Use :mode instead of :redraw! when updating menu. (PhilRunninger) #1016

  • - -
  • .4: When searching for root line num, stop at end of file. (PhilRunninger) #1015

  • - -
  • .3: Fix <CR> key map on the bookmark (lkebin) #1014

  • - -
  • .2: Make Enter work on the .. ( up a dir ) line (PhilRunninger) #1013

  • - -
  • .1: Fix nerdtree#version() on Windows. (PhilRunninger)

  • - -
  • .0: Expand functionality of <CR> mapping. (PhilRunninger) #1011

    - -

    5.1

  • - -
  • .3: Remove @mentions from PR template and change log. They weren’t working. (PhilRunninger) #1009

  • - -
  • .2: Fix NERDTree opening with the wrong size. (PhilRunninger) #1008

  • - -
  • .1: Update Changelog and create PR Template (PhilRunninger) #1007

  • - -
  • .0: Too many changes for one patch…

    - -
      -
    • Refresh a dir_node if the file wasn’t found in it, and look once more. (PhilRunninger) #1005
    • -
    • Add a “copy path to clipboard” menu option (PhilRunninger) #1002
    • -
    • Enable root refresh on “vim .” a different way than #999. (PhilRunninger) #1001
    • -
    • Fix refreshroot (PhilRunninger) #999
    • -
    • Change version check to look for 703 not 730 (vhalis) #994
    • -
    • Change minimum vim (PhilRunninger) #991
    • -
    • Allow multi-character DirArrows (PhilRunninger) #985
    • -
    • Remove redraw! while still clearing last message empty string. (PhilRunninger) #979
    • -
    • fix _initChildren function value set to numChildrenCached error (terryding77) #969
    • -
    • On Windows, do a case-insensitive comparison of paths. (PhilRunninger) #967
    • -
    • Remove the Please wait… DONE messages. (PhilRunninger) #966
    • -
    • Smarter delimiter default (PhilRunninger) #963
    • -
    • Update directory .vimdc readme example (spencerdcarlson) #961
    • -
    • Preview bookmarks (PhilRunninger) #956
    • -
    • Add new value to NERDTreeQuitOnOpen to close bookmark table (PhilRunninger) #955
    • -
    • Add an :EditBookmarks command to edit the bookmarks file (PhilRunninger) #954
    • -
    • Before copying, turn off &shellslash. Restore after copy is finished. (PhilRunninger) #952
    • -
    • Set a maximum window size when zooming. (PhilRunninger) #950
    • -
    • Confirm the wipeout of a unsaved buffer whose file has been renamed. (PhilRunninger) #949
    • -
    • Escape a backslash so it can be used in a key mapping. (PhilRunninger) #948
    • -
    • Add a NERDTreeMinimalMenu feature (tuzz) #938
    • -
    • fixed root path error for windows (zcodes) #935
    • -
    • Restore getDirChildren for use in nerdtree-project-plugin. (PhilRunninger) #929
    • -
    • Document NERDTreeNodeDelimiter #912 (PhilRunninger) #926
    • -
    • Allow modification of menu keybindings (Leandros) #923
    • -
    • Add two more disqualifications for isCascadable(). (PhilRunninger) #914
    • -
    • Allow highlighting more than one flag. (kristijanhusak) #908
    • -
    • Support sorting files and directories by modification time. (PhilRunninger) #901
    • -
    • Parse . and .. from path string with trailing slash. (PhilRunninger) #899
    • -
    • Force sort to recalculate the cached sortKey. (PhilRunninger) #898
    • -
    • Add NERDTreeRefreshRoot command (wgfm) #897
    • -
    • Call Resolve on the file’s path when calling :NERDTreeFind. (PhilRunninger) #896
    • -
    • Catch all errors, not just NERDTree errors. (PhilRunninger) #894
    • -
    • Fix typo in help file (lvoisin) #892
    • -
    • Make NERDTreeCreator set the 'nolist' option (lifecrisis) #889
    • -
    • Refresh buffers after m, m operation on a folder (PhilRunninger) #888
    • -
    • Use a better arg for FINDSTR when using the m,l command in Windows. (PhilRunninger) #887
    • -
    • Fix the / motions, which currently fail with cascades (lifecrisis) #886
    • -
    • Function “s:UI.getLineNum()” doesn’t always work on cascades. (lifecrisis) #882
    • -
    • NERDTreeCWD: reset CWD if changed by NERDTreeFocus (PhilRunninger) #878
    • -
    • Use tabnext instead of gt to allow users to remap gt. (PhilRunninger) #877
    • -
    • Do a case sensitive comparison of new/existing buffers. (PhilRunninger) #875
    • -
    • Fix opening sub-directories that have commas in their name. (PhilRunninger) #873
    • -
    • Add new command to open NERDTree in the root of a VCS repository. (PhilRunninger) #872
    • -
    • Make sure the path to the bookmarks file exists before writing it. (PhilRunninger) #871
    • -
    • Unzoom NERDTree when opening a file (PhilRunninger) #870
    • -
    • Support unusual characters in file and directory names (PhilRunninger) #868
    • -
    • Reword renamed-buffer prompt to be more clear (aflock) #867
    • -
    • Default to placing cursor on root when closing bookmark table (lifecrisis) #866
    • -
    • Fix issues with sorting of nodes (PhilRunninger) #856
    • -
    • Better OSX detection (bubba-h57) #853
    • -
    • Bugfix - ensure keymaps dictionary exists before using it (mnussbaum) #852
    • -
    • Decrease startup-time by avoiding linear-time iteration over key mappings (mnussbaum) #851
    • -
    • Add code to sort mappings in quickhelp (lifecrisis) #849
    • -
    • Use “:clearjumps” in new NERDTree windows (lifecrisis) #844
    • -
    • Like m-c did before, create parent directories if needed on m-m. (PhilRunninger) #840
    • -
    • BUGFIX: Repair a problem with the 'u' mapping. (lifecrisis) #838
    • -
    • Make the NERDTree buffer writable when rendering it. (PhilRunninger) #837
    • -
    • Code cleanup: Remove unsupported bookmark table mappings (lifecrisis) #835
    • -
    • Replace strcharpart() with substitute() for backward compatibility (bravestarr) #834
    • -
    • Fixed error unknown function strcharpart for older versions of Vim (hav4ik) #833
    • -
    • Clear output when NERDTree menu is aborted (lifecrisis) #832
    • -
    • Display a path with multi-byte characters correctly when it is truncated (bravestarr) #830
    • -
    • Support revealing file and executing file with xdg-open for Linux (ngnmhieu) #824
    • -
    • If node isn’t open, count children on disk before deleting. (PhilRunninger) #822
    • -
    • Add new variable g:NERDTreeRemoveFileCmd (kutsan) #816
    • -
    • Use a better check for existence of the NERDTree buffer. (PhilRunninger) #814
    • -
    • Fix focussing previous buffer when closing NERDTree (mrubli) #801
    • -
    • Update the docs for “NERDTreeStatusline” (lifecrisis) #796
    • -
    • BUGFIX: Unstable behavior in the “getPath()” method (lifecrisis) #795
    • -
    • Revert the bugfix from pull request #785 (lifecrisis) #794
    • -
    • BUGFIX: Allow “:NERDTreeFind” to discover hidden files (lifecrisis) #786
    • -
    • BUGFIX: Allow “:NERDTreeFind” to reveal new files (lifecrisis) #785
    • -
    • Add modelines (lifecrisis) #782
    • -
    • Change the type of completion used by NERDTreeFind (lifecrisis) #781
    • -
    • change NERDTreeFind with args (zhenyangze) #778
    • -
    • Style Choice: Using confirm() when deleting a bookmark (lifecrisis) #777
    • -
    • remove useless substitute when file =~# "/$" (skyblueee) #773
    • -
    • remove useless removeLeadingSpaces in _stripMarkup (skyblueee) #772
    • -
    • Make the “o” mapping consistent with “x” (lifecrisis) #769
    • -
    • Fix a problem with the “x” handler (lifecrisis) #768
    • -
    • Clean up the handler for the “x” mapping (lifecrisis) #767
    • -
    • Revert change to tab opening method (lifecrisis) #766
    • -
    • BUGFIX: Add back support for “b:NERDTreeRoot” (lifecrisis) #765
    • -
    • Fix broken “t” and “T” mappings, tabs now open at end (lifecrisis) #759
    • -
    • Update doc with already existing mapping variables (asnr) #699
    • -
    • Fix the broken g:NERDTreeBookmarksSort setting (lifecrisis) #696
    • -
    • Correct NERDTreeIgnore pattern in doc (cntoplolicon) #648
    • -
    • Remove empty segments when splitting path (sooth-sayer) #574
    • -
    • Suppress autocmds less agressively (wincent) #578 #691
    • -
    • Add an Issues template to ask for more info initially.
    • -
    • Fix markdown headers in readme (josephfrazier) #676
    • -
    • Don’t touch @o and @h registers when rendering
    • -
    • Fix bug with files and directories with dollar signs (alegen) #649
    • -
    • Reuse/reopen existing window trees where possible #244
    • -
    • Remove NERDTree.previousBuf()
    • -
    • Change color of arrow (Leeiio) #630
    • -
    • Improved a tip in README.markdown (ggicci) #628
    • -
    • Shorten delete confimration of empty directory to y (mikeperri) #530
    • -
    • Fix API call to open directory tree in window (devm33) #533
    • -
    • Change default arrows on non-Windows platforms (gwilk) #546
    • -
    • Update to README - combine cd and git clone (zwhitchcox) #584
    • -
    • Update to README - Tip: start NERDTree when vim starts (therealplato) #593
    • -
    • Escape filename when moving an open buffer (zacharyvoase) #595
    • -
    • Fixed incorrect :helptags command in README (curran) #619
    • -
    • Fixed incomplete escaping of folder arrows (adityanatraj) #548
    • -
    • Added NERDTreeCascadeSingleChildDir option (juanibiapina) #558
    • -
    • Replace strchars() with backward compatible workaround.
    • -
    • Add support for copy command in Windows (SkylerLipthay) #231
    • -
    • Fixed typo in README.markdown - :Helptags -> :helptags
    • -
    • Rename “primary” and “secondary” trees to “tab” and “window” trees.
    • -
    • Move a bunch of buffer level variables into the NERDTree and UI classes.
    • -
    • Display cascading dirs on one line to save vertical/horizontal space (matt-gardner: brainstorming/testing)
    • -
    • Remove the old style UI - Remove NERDTreeDirArrows option.
    • -
    • On windows default to + and ~ for expand/collapse directory symbols.
    • -
    • Lots more refactoring. Move a bunch of b: level vars into b:NERDTree and friends.
    • -
  • -
- -

5.0.0

- -
    -
  • Refactor the code significantly: - -
      -
    • Break the classes out into their own files.
    • -
    • Make the majority of the code OO - previously large parts were effectively a tangle of “global” methods.
    • -
  • -
  • Add an API to assign flags to nodes. This allows VCS plugins like https://github.com/Xuyuanp/nerdtree-git-plugin to exist. Thanks to Xuyuanp for helping design/test/build said API.
  • -
  • add scope argument to the key map API see :help NERDTreeAddKeyMap()
  • -
  • add magic [[dir]] and [[file]] flags to NERDTreeIgnore
  • -
  • add support for custom path filters. See :help NERDTreeAddPathFilter()
  • -
  • add path listener API. See :help NERDTreePathListenerAPI.
  • -
  • expand the fs menu functionality to list file properties (PhilRunninger, apbarrero, JESii)
  • -
  • make bookmarks work with ~ home shortcuts (hiberabyss)
  • -
  • show OSX specific fsmenu options in regular vim on mac (evindor)
  • -
  • make dir arrow icons configurable (PickRelated)
  • -
  • optimise node sorting performance when opening large dirs (vtsang)
  • -
  • make the root note render prettier by truncating it at a path slash (gcmt)
  • -
  • remove NERDChristmasTree option - its always christmas now
  • -
  • add “cascade” open and closing for dirs containing only another single dir. See :help NERDTreeCascadeOpenSingleChildDir (pendulm)
  • -
  • Many other fixes, doc updates and contributions from: actionshrimp, agrussellknives, alvan, AndrewRadev, cperl82 (many small fixes), devmanhinton, egalpin, franksort, gastropoda, handcraftedbits, kelaban, lucascaton, mixvin, pendulm, SchDen, shanesmith, staeff, stephenprater, toiffel, Twinside, WoLpH, xiaodili, zhangoose
  • -
- -

4.2.0

- -
    -
  • Add NERDTreeDirArrows option to make the UI use pretty arrow chars instead of the old +~| chars to define the tree structure (sickill)
  • -
  • shift the syntax highlighting out into its own syntax file (gnap)
  • -
  • add some mac specific options to the filesystem menu - for macvim only (andersonfreitas)
  • -
  • Add NERDTreeMinimalUI option to remove some non functional parts of the nerdtree ui (camthompson)
  • -
  • tweak the behaviour of :NERDTreeFind - see :help :NERDTreeFind for the new behaviour (benjamingeiger)
  • -
  • if no name is given to :Bookmark, make it default to the name of the target file/dir (minyoung)
  • -
  • use file completion when doing copying, create, and move operations (EvanDotPro)
  • -
  • lots of misc bug fixes from: AndrewRadev, Bogdanov, camthompson, kml, mathias, paddyoloughlin, scottstvnsn, sdewald, Vitaly, wycats, me RAWR!
  • -
- -

4.1.0

- -
    -
  • features:

    - -
      -
    • NERDTreeFind to reveal the node for the current buffer in the tree, see |NERDTreeFind|. This effectively merges the FindInNERDTree plugin (by Doug McInnes) into the script.
    • -
    • make NERDTreeQuitOnOpen apply to the t/T keymaps too. Thanks to Stefan Ritter and Rémi Prévost.
    • -
    • truncate the root node if wider than the tree window. Thanks to Victor Gonzalez.
    • -
  • - -
  • bugfixes:

    - -
      -
    • really fix window state restoring
    • -
    • fix some win32 path escaping issues. Thanks to Stephan Baumeister, Ricky, jfilip1024, and Chris Chambers.
    • -
  • -
- -

4.0.0

- -
    -
  • add a new programmable menu system (see :help NERDTreeMenu).
  • -
  • add new APIs to add menus/menu-items to the menu system as well as custom key mappings to the NERD tree buffer (see :help NERDTreeAPI).
  • -
  • removed the old API functions
  • -
  • added a mapping to maximize/restore the size of nerd tree window, thanks to Guillaume Duranceau for the patch. See :help NERDTree-A for details.
  • -
  • fix a bug where secondary nerd trees (netrw hijacked trees) and NERDTreeQuitOnOpen didnt play nicely, thanks to Curtis Harvey.
  • -
  • fix a bug where the script ignored directories whose name ended in a dot, thanks to Aggelos Orfanakos for the patch.
  • -
  • fix a bug when using the x mapping on the tree root, thanks to Bryan Venteicher for the patch.
  • -
  • fix a bug where the cursor position/window size of the nerd tree buffer wasnt being stored on closing the window, thanks to Richard Hart.
  • -
  • fix a bug where NERDTreeMirror would mirror the wrong tree
  • -
- -

3.1.1

- -
    -
  • fix a bug where a non-listed no-name buffer was getting created every time the tree windows was created, thanks to Derek Wyatt and owen1
  • -
  • make <CR> behave the same as the o mapping
  • -
  • some helptag fixes in the doc, thanks strull.
  • -
  • fix a bug when using :set nohidden and opening a file where the previous buf was modified. Thanks iElectric.
  • -
  • other minor fixes
  • -
- -

3.1.0

- -
    -
  • New features: - -
      -
    • add mappings to open files in a vsplit, see :help NERDTree-s and :help NERDTree-gs
    • -
    • make the statusline for the nerd tree window default to something hopefully more useful. See :help 'NERDTreeStatusline'
    • -
  • -
  • Bugfixes: - -
      -
    • make the hijack netrw functionality work when vim is started with vim <some dir> (thanks to Alf Mikula for the patch).
    • -
    • fix a bug where the CWD wasnt being changed for some operations even when NERDTreeChDirMode==2 (thanks to Lucas S. Buchala)
    • -
    • add -bar to all the nerd tree :commands so they can chain with other :commands (thanks to tpope)
    • -
    • fix bugs when ignorecase was set (thanks to nach)
    • -
    • fix a bug with the relative path code (thanks to nach)
    • -
    • fix a bug where doing a :cd would cause :NERDTreeToggle to fail (thanks nach)
    • -
  • -
- -

3.0.1

- -
    -
  • Bugfixes: - -
      -
    • fix bugs with :NERDTreeToggle and :NERDTreeMirror when 'hidden' was not set
    • -
    • fix a bug where :NERDTree <path> would fail if <path> was relative and didnt start with a ./ or ../ Thanks to James Kanze.
    • -
    • make the q mapping work with secondary (:e <dir> style) trees, thanks to jamessan
    • -
    • fix a bunch of small bugs with secondary trees
    • -
  • -
  • More insane refactoring.
  • -
- -

3.0.0

- -
    -
  • hijack netrw so that doing an :edit <directory> will put a NERD tree in the window rather than a netrw browser. See :help ‘NERDTreeHijackNetrw’
  • -
  • allow sharing of trees across tabs, see :help :NERDTreeMirror
  • -
  • remove “top” and “bottom” as valid settings for NERDTreeWinPos
  • -
  • change the '<tab>' mapping to 'i'
  • -
  • change the 'H' mapping to 'I'
  • -
  • lots of refactoring
  • -
diff --git a/vim/.vim_runtime/sources_non_forked/nerdtree/LICENCE b/vim/.vim_runtime/sources_non_forked/nerdtree/LICENCE deleted file mode 100644 index 8b1a9d8..0000000 --- a/vim/.vim_runtime/sources_non_forked/nerdtree/LICENCE +++ /dev/null @@ -1,13 +0,0 @@ - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - Version 2, December 2004 - -Copyright (C) 2004 Sam Hocevar - -Everyone is permitted to copy and distribute verbatim or modified -copies of this license document, and changing it is allowed as long -as the name is changed. - - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/vim/.vim_runtime/sources_non_forked/nerdtree/README.markdown b/vim/.vim_runtime/sources_non_forked/nerdtree/README.markdown deleted file mode 100644 index ce7404c..0000000 --- a/vim/.vim_runtime/sources_non_forked/nerdtree/README.markdown +++ /dev/null @@ -1,150 +0,0 @@ - -README.markdown

The NERDTree Vint

- -

Introduction

- -

The NERDTree is a file system explorer for the Vim editor. Using this plugin, -users can visually browse complex directory hierarchies, quickly open files for -reading or editing, and perform basic file system operations.

- -

This plugin can also be extended with custom mappings using a special API. The -details of this API and of other NERDTree features are described in the -included documentation.

- -

NERDTree Screenshot

- -

Installation

- -

Below are just some of the methods for installing NERDTree. Do not follow all of these instructions; just pick your favorite one. Other plugin managers exist, and NERDTree should install just fine with any of them.

- -

Vim 8+ packages

- -

If you are using VIM version 8 or higher you can use its built-in package management; see :help packages for more information. Just run these commands in your terminal:

- -
git clone https://github.com/preservim/nerdtree.git ~/.vim/pack/vendor/start/nerdtree
-vim -u NONE -c "helptags ~/.vim/pack/vendor/start/nerdtree/doc" -c q
- -

Otherwise, these are some of the several 3rd-party plugin managers you can choose from. Be sure you read the instructions for your chosen plugin, as there typically are additional steps you nee d to take.

- -

pathogen.vim

- -

In the terminal,

- -
git clone https://github.com/preservim/nerdtree.git ~/.vim/bundle/nerdtree
- -

In your vimrc,

- -
call pathogen#infect()
-syntax on
-filetype plugin indent on
- -

Then reload vim, run :helptags ~/.vim/bundle/nerdtree/doc/ or :Helptags.

- -

Vundle.vim

- -
call vundle#begin()
-Plugin 'preservim/nerdtree'
-call vundle#end()
- -

vim-plug

- -
call plug#begin()
-Plug 'preservim/nerdtree'
-call plug#end()
- -

dein.vim

- -
call dein#begin()
-call dein#add('preservim/nerdtree')
-call dein#end()
- -

apt-vim

- -
apt-vim install -y https://github.com/preservim/nerdtree.git
- -

F.A.Q. (here, and in the Wiki)

- -

Is there any support for git flags?

- -

Yes, install nerdtree-git-plugin.

- -
- -

Can I have the nerdtree on every tab automatically?

- -

Nope. If this is something you want then chances are you aren’t using tabs and -buffers as they were intended to be used. Read this -http://stackoverflow.com/questions/102384/using-vims-tabs-like-buffers

- -

If you are interested in this behaviour then consider vim-nerdtree-tabs

- -
- -

How can I open a NERDTree automatically when vim starts up?

- -

Stick this in your vimrc: autocmd vimenter * NERDTree

- -
- -

How can I open a NERDTree automatically when vim starts up if no files were specified?

- -

Stick this in your vimrc:

- -
autocmd StdinReadPre * let s:std_in=1
-autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
- -

Note: Now start vim with plain vim, not vim .

- -
- -

What if I’m also opening a saved session, for example vim -S session_file.vim? I don’t want NERDTree to open in that scenario.

- -
autocmd StdinReadPre * let s:std_in=1
-autocmd VimEnter * if argc() == 0 && !exists("s:std_in") && v:this_session == "" | NERDTree | endif
- -
- -

How can I open NERDTree automatically when vim starts up on opening a directory?

- -
autocmd StdinReadPre * let s:std_in=1
-autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | exe 'cd '.argv()[0] | endif
- -

This window is tab-specific, meaning it’s used by all windows in the tab. This trick also prevents NERDTree from hiding when first selecting a file.

- -

Note: Executing vim ~/some-directory will open NERDTree and a new edit window. exe 'cd '.argv()[0] sets the pwd of the new edit window to ~/some-directory

- -
- -

How can I map a specific key or shortcut to open NERDTree?

- -

Stick this in your vimrc to open NERDTree with Ctrl+n (you can set whatever key you want):

- -
map <C-n> :NERDTreeToggle<CR>
- -
- -

How can I close vim if the only window left open is a NERDTree?

- -

Stick this in your vimrc:

- -
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
- -
- -

Can I have different highlighting for different file extensions?

- -

See here: https://github.com/preservim/nerdtree/issues/433#issuecomment-92590696

- -
- -

How can I change default arrows?

- -

Use these variables in your vimrc. Note that below are default arrow symbols

- -
let g:NERDTreeDirArrowExpandable = '▸'
-let g:NERDTreeDirArrowCollapsible = '▾'
- -

You can remove the arrows altogether by setting these variables to empty strings, as shown below. This will remove not only the arrows, but a single space following them, shifting the whole tree two character positions to the left.

- -
let g:NERDTreeDirArrowExpandable = ''
-let g:NERDTreeDirArrowCollapsible = ''
diff --git a/vim/.vim_runtime/sources_non_forked/nerdtree/_config.yml b/vim/.vim_runtime/sources_non_forked/nerdtree/_config.yml deleted file mode 100644 index c419263..0000000 --- a/vim/.vim_runtime/sources_non_forked/nerdtree/_config.yml +++ /dev/null @@ -1 +0,0 @@ -theme: jekyll-theme-cayman \ No newline at end of file diff --git a/vim/.vim_runtime/sources_non_forked/nerdtree/autoload/nerdtree.vim b/vim/.vim_runtime/sources_non_forked/nerdtree/autoload/nerdtree.vim deleted file mode 100644 index d0785a4..0000000 --- a/vim/.vim_runtime/sources_non_forked/nerdtree/autoload/nerdtree.vim +++ /dev/null @@ -1,259 +0,0 @@ -if exists('g:loaded_nerdtree_autoload') - finish -endif -let g:loaded_nerdtree_autoload = 1 - -let s:rootNERDTreePath = resolve(expand(':p:h:h')) - -"FUNCTION: nerdtree#version(...) {{{1 -" If any value is given as an argument, the entire line of text from the -" change log is shown for the current version; otherwise, only the version -" number is shown. -function! nerdtree#version(...) abort - let l:text = 'Unknown' - try - let l:changelog = readfile(join([s:rootNERDTreePath, 'CHANGELOG.md'], nerdtree#slash())) - let l:line = 0 - while l:line <= len(l:changelog) - if l:changelog[l:line] =~# '\d\+\.\d\+' - let l:text = substitute(l:changelog[l:line], '.*\(\d\+.\d\+\).*', '\1', '') - let l:text .= substitute(l:changelog[l:line+1], '^.\{-}\(\.\d\+\).\{-}:\(.*\)', a:0>0 ? '\1:\2' : '\1', '') - break - endif - let l:line += 1 - endwhile - catch - endtry - return l:text -endfunction - -" SECTION: General Functions {{{1 -"============================================================ - -"FUNCTION: nerdtree#slash() {{{2 -function! nerdtree#slash() abort - - if nerdtree#runningWindows() - if exists('+shellslash') && &shellslash - return '/' - endif - - return '\' - endif - - return '/' -endfunction - -"FUNCTION: nerdtree#and(x,y) {{{2 -" Implements and() function for Vim <= 7.4 -function! nerdtree#and(x,y) abort - if exists('*and') - return and(a:x, a:y) - else - let l:x = a:x - let l:y = a:y - let l:n = 0 - let l:result = 0 - while l:x > 0 && l:y > 0 - if (l:x % 2) && (l:y % 2) - let l:result += float2nr(pow(2, l:n)) - endif - let l:x = float2nr(l:x / 2) - let l:y = float2nr(l:y / 2) - let l:n += 1 - endwhile - return l:result - endif -endfunction - -"FUNCTION: nerdtree#checkForBrowse(dir) {{{2 -"inits a window tree in the current buffer if appropriate -function! nerdtree#checkForBrowse(dir) abort - if !isdirectory(a:dir) - return - endif - - if s:reuseWin(a:dir) - return - endif - - call g:NERDTreeCreator.CreateWindowTree(a:dir) -endfunction - -"FUNCTION: s:reuseWin(dir) {{{2 -"finds a NERDTree buffer with root of dir, and opens it. -function! s:reuseWin(dir) abort - let path = g:NERDTreePath.New(fnamemodify(a:dir, ':p')) - - for i in range(1, bufnr('$')) - unlet! nt - let nt = getbufvar(i, 'NERDTree') - if empty(nt) - continue - endif - - if nt.isWinTree() && nt.root.path.equals(path) - call nt.setPreviousBuf(bufnr('#')) - exec 'buffer ' . i - return 1 - endif - endfor - - return 0 -endfunction - -" FUNCTION: nerdtree#completeBookmarks(A,L,P) {{{2 -" completion function for the bookmark commands -function! nerdtree#completeBookmarks(A,L,P) abort - return filter(g:NERDTreeBookmark.BookmarkNames(), 'v:val =~# "^' . a:A . '"') -endfunction - -"FUNCTION: nerdtree#compareNodes(dir) {{{2 -function! nerdtree#compareNodes(n1, n2) abort - return a:n1.path.compareTo(a:n2.path) -endfunction - -"FUNCTION: nerdtree#compareNodesBySortKey(n1, n2) {{{2 -function! nerdtree#compareNodesBySortKey(n1, n2) abort - let sortKey1 = a:n1.path.getSortKey() - let sortKey2 = a:n2.path.getSortKey() - let i = 0 - while i < min([len(sortKey1), len(sortKey2)]) - " Compare chunks upto common length. - " If chunks have different type, the one which has - " integer type is the lesser. - if type(sortKey1[i]) ==# type(sortKey2[i]) - if sortKey1[i] <# sortKey2[i] - return - 1 - elseif sortKey1[i] ># sortKey2[i] - return 1 - endif - elseif type(sortKey1[i]) ==# v:t_number - return -1 - elseif type(sortKey2[i]) ==# v:t_number - return 1 - endif - let i = i + 1 - endwhile - - " Keys are identical upto common length. - " The key which has smaller chunks is the lesser one. - if len(sortKey1) < len(sortKey2) - return -1 - elseif len(sortKey1) > len(sortKey2) - return 1 - else - return 0 - endif -endfunction - -" FUNCTION: nerdtree#deprecated(func, [msg]) {{{2 -" Issue a deprecation warning for a:func. If a second arg is given, use this -" as the deprecation message -function! nerdtree#deprecated(func, ...) abort - let msg = a:0 ? a:func . ' ' . a:1 : a:func . ' is deprecated' - - if !exists('s:deprecationWarnings') - let s:deprecationWarnings = {} - endif - if !has_key(s:deprecationWarnings, a:func) - let s:deprecationWarnings[a:func] = 1 - echomsg msg - endif -endfunction - -" FUNCTION: nerdtree#exec(cmd, ignoreAll) {{{2 -" Same as :exec cmd but, if ignoreAll is TRUE, set eventignore=all for the duration -function! nerdtree#exec(cmd, ignoreAll) abort - let old_ei = &eventignore - if a:ignoreAll - set eventignore=all - endif - try - exec a:cmd - finally - let &eventignore = old_ei - endtry -endfunction - -" FUNCTION: nerdtree#has_opt(options, name) {{{2 -function! nerdtree#has_opt(options, name) abort - return has_key(a:options, a:name) && a:options[a:name] ==# 1 -endfunction - -" FUNCTION: nerdtree#loadClassFiles() {{{2 -function! nerdtree#loadClassFiles() abort - runtime lib/nerdtree/path.vim - runtime lib/nerdtree/menu_controller.vim - runtime lib/nerdtree/menu_item.vim - runtime lib/nerdtree/key_map.vim - runtime lib/nerdtree/bookmark.vim - runtime lib/nerdtree/tree_file_node.vim - runtime lib/nerdtree/tree_dir_node.vim - runtime lib/nerdtree/opener.vim - runtime lib/nerdtree/creator.vim - runtime lib/nerdtree/flag_set.vim - runtime lib/nerdtree/nerdtree.vim - runtime lib/nerdtree/ui.vim - runtime lib/nerdtree/event.vim - runtime lib/nerdtree/notifier.vim -endfunction - -" FUNCTION: nerdtree#postSourceActions() {{{2 -function! nerdtree#postSourceActions() abort - call g:NERDTreeBookmark.CacheBookmarks(1) - call nerdtree#ui_glue#createDefaultBindings() - - "load all nerdtree plugins - runtime! nerdtree_plugin/**/*.vim -endfunction - -"FUNCTION: nerdtree#runningWindows(dir) {{{2 -function! nerdtree#runningWindows() abort - return has('win16') || has('win32') || has('win64') -endfunction - -"FUNCTION: nerdtree#runningCygwin(dir) {{{2 -function! nerdtree#runningCygwin() abort - return has('win32unix') -endfunction - -" SECTION: View Functions {{{1 -"============================================================ - -"FUNCTION: nerdtree#echo {{{2 -"A wrapper for :echo. Appends 'NERDTree:' on the front of all messages -" -"Args: -"msg: the message to echo -function! nerdtree#echo(msg) abort - redraw - echomsg empty(a:msg) ? '' : ('NERDTree: ' . a:msg) -endfunction - -"FUNCTION: nerdtree#echoError {{{2 -"Wrapper for nerdtree#echo, sets the message type to errormsg for this message -"Args: -"msg: the message to echo -function! nerdtree#echoError(msg) abort - echohl errormsg - call nerdtree#echo(a:msg) - echohl normal -endfunction - -"FUNCTION: nerdtree#echoWarning {{{2 -"Wrapper for nerdtree#echo, sets the message type to warningmsg for this message -"Args: -"msg: the message to echo -function! nerdtree#echoWarning(msg) abort - echohl warningmsg - call nerdtree#echo(a:msg) - echohl normal -endfunction - -"FUNCTION: nerdtree#renderView {{{2 -function! nerdtree#renderView() abort - call b:NERDTree.render() -endfunction - -" vim: set sw=4 sts=4 et fdm=marker: diff --git a/vim/.vim_runtime/sources_non_forked/nerdtree/doc/NERDTree.txt b/vim/.vim_runtime/sources_non_forked/nerdtree/doc/NERDTree.txt deleted file mode 100644 index 6c11a94..0000000 --- a/vim/.vim_runtime/sources_non_forked/nerdtree/doc/NERDTree.txt +++ /dev/null @@ -1,1528 +0,0 @@ -*NERDTree.txt* A tree explorer plugin to rule the Vim world. Bwahahaha!! - - # #### #### ~ - ### \/#|### |/#### ~ - d8 888 ##\/#/ \||/##/_/##/_# ~ - d88 888 ee ,e e, ### \/###|/ \/ # ### ~ - d88888 888 88b d88 88b ##_\_#\_\## | #/###_/_#### ~ - 888 888 888 888 , ## #### # \ #| / #### ##/## ~ - 888 888 888 "YeeP" __#_--###`. |{,###---###-~ ~ - \ % @% ~ - Y88b Y88 888'Y88 888 88e 888 88e \%@% 88P'888'Y88 ~ - Y88b Y8 888 ,'Y 888 888D 888 888b %o% P' 888 'Y 888,8, ,e e, ,e e, ~ - b Y88b Y 888C8 888 88" 888 8888D %@% 888 888 " d88 88b d88 88b ~ - 8b Y88b 888 ",d 888 b, 888 888P %@% 888 888 888 , 888 , ~ - 88b Y88b 888,d88 888 88b, 888 88" %@% 888 888 "YeeP" "YeeP" ~ - , -=-%{@%-^- _ ~ - ejm `} Reference Manual ~ - { ~ -============================================================================== -CONTENTS *NERDTree-contents* - - 1.Intro...................................|NERDTree| - 2.Functionality provided..................|NERDTreeFunctionality| - 2.1.Global commands...................|NERDTreeGlobalCommands| - 2.2.Bookmarks.........................|NERDTreeBookmarks| - 2.2.1.The bookmark table..........|NERDTreeBookmarkTable| - 2.2.2.Bookmark commands...........|NERDTreeBookmarkCommands| - 2.2.3.Invalid bookmarks...........|NERDTreeInvalidBookmarks| - 2.3.NERDTree mappings.................|NERDTreeMappings| - 2.4.The NERDTree menu.................|NERDTreeMenu| - 3.Settings................................|NERDTreeSettings| - 3.1.Settings summary..................|NERDTreeSettingsSummary| - 3.2.Settings details..................|NERDTreeSettingsDetails| - 4.The NERDTree API........................|NERDTreeAPI| - 4.1.Key map API.......................|NERDTreeKeymapAPI| - 4.2.Menu API..........................|NERDTreeMenuAPI| - 4.3.Menu API..........................|NERDTreeAddPathFilter()| - 4.4.Path Listener API.................|NERDTreePathListenerAPI| - 5.About...................................|NERDTreeAbout| - 6.License.................................|NERDTreeLicense| - -============================================================================== -1. Intro *NERDTree* - -What is this "NERDTree"?? - -The NERDTree allows you to explore your filesystem and to open files and -directories. It presents the filesystem to you in the form of a tree which you -manipulate with the keyboard and/or mouse. It also allows you to perform -simple filesystem operations. - -The following features and functionality are provided by the NERDTree: - * Files and directories are displayed in a hierarchical tree structure - * Different highlighting is provided for the following types of nodes: - * files - * directories - * sym-links - * windows .lnk files - * read-only files - * executable files - * Many (customisable) mappings are provided to manipulate the tree: - * Mappings to open/close/explore directory nodes - * Mappings to open files in new/existing windows/tabs - * Mappings to change the current root of the tree - * Mappings to navigate around the tree - * ... - * Directories and files can be bookmarked. - * Most NERDTree navigation can also be done with the mouse - * Filtering of tree content (can be toggled at runtime) - * custom file filters to prevent e.g. vim backup files being displayed - * optional displaying of hidden files (. files) - * files can be "turned off" so that only directories are displayed - * The position and size of the NERDTree window can be customised - * The order in which the nodes in the tree are listed can be customised. - * A model of your filesystem is created/maintained as you explore it. This - has several advantages: - * All filesystem information is cached and is only re-read on demand - * If you revisit a part of the tree that you left earlier in your - session, the directory nodes will be opened/closed as you left them - * The script remembers the cursor position and window position in the NERD - tree so you can toggle it off (or just close the tree window) and then - reopen it (with NERDTreeToggle) the NERDTree window will appear exactly - as you left it - * You can have a separate NERDTree for each tab, share trees across tabs, - or a mix of both. - * By default the script overrides the default file browser (netrw), so if - you :edit a directory a (slightly modified) NERDTree will appear in the - current window - * A programmable menu system is provided (simulates right clicking on a - node) - * one default menu plugin is provided to perform basic filesystem - operations (create/delete/move/copy files/directories) - * There's an API for adding your own keymappings - - -============================================================================== -2. Functionality provided *NERDTreeFunctionality* - ------------------------------------------------------------------------------- -2.1. Global Commands *NERDTreeGlobalCommands* - -:NERDTree [ | ] *:NERDTree* - Opens a fresh NERDTree. The root of the tree depends on the argument - given. There are 3 cases: If no argument is given, the current directory - will be used. If a directory is given, that will be used. If a bookmark - name is given, the corresponding directory will be used. For example: > - :NERDTree /home/marty/vim7/src - :NERDTree foo (foo is the name of a bookmark) -< -:NERDTreeVCS [ | ] *:NERDTreeVCS* - Like |:NERDTree|, but searches up the directory tree to find the top of - the version control system repository, and roots the NERDTree there. It - works with Git, Subversion, Mercurial, Bazaar, and Darcs repositories. A - couple of examples: > - :NERDTreeVCS /home/marty/nerdtree/doc (opens /home/marty/nerdtree) - :NERDTreeVCS (opens root of repository containing CWD) -< -:NERDTreeFromBookmark *:NERDTreeFromBookmark* - Opens a fresh NERDTree with the root initialized to the dir for - . The only reason to use this command over :NERDTree is for - the completion (which is for bookmarks rather than directories). - -:NERDTreeToggle [ | ] *:NERDTreeToggle* - If a NERDTree already exists for this tab, it is reopened and rendered - again. If or is given, the root of NERDTree - is set to that path. If no NERDTree exists for this tab then this command - acts the same as the |:NERDTree| command. - -:NERDTreeToggleVCS [ | ] *:NERDTreeToggleVCS* - Like |:NERDTreeToggle|, but searches up the directory tree to find the top of - the version control system repository, and roots the NERDTree there. It - works with Git, Subversion, Mercurial, Bazaar, and Darcs repositories. A - couple of examples: > - :NERDTreeToggleVCS /home/marty/nerdtree/doc (opens /home/marty/nerdtree) - :NERDTreeToggleVCS (opens root of repository containing CWD) - -:NERDTreeFocus *:NERDTreeFocus* - Opens (or reopens) the NERDTree if it is not currently visible; - otherwise, the cursor is moved to the already-open NERDTree. - -:NERDTreeMirror *:NERDTreeMirror* - Shares an existing NERDTree, from another tab, in the current tab. - Changes made to one tree are reflected in both as they are actually the - same buffer. - - If only one other NERDTree exists, that tree is automatically mirrored. - If more than one exists, the script will ask which tree to mirror. - -:NERDTreeClose *:NERDTreeClose* - Close the NERDTree in this tab. - -:NERDTreeFind [] *:NERDTreeFind* - Without the optional argument, find and reveal the file for the active - buffer in the NERDTree window. With the argument, find and - reveal the specified path. - - Focus will be shifted to the NERDTree window, and the cursor will be - placed on the tree node for the determined path. If a NERDTree for the - current tab does not exist, a new one will be initialized. - -:NERDTreeCWD *:NERDTreeCWD* - Change the NERDTree root to the current working directory. If no - NERDTree exists for this tab, a new one is opened. - -:NERDTreeRefreshRoot *:NERDTreeRefreshRoot* - Refreshes the NERDTree root node. - ------------------------------------------------------------------------------- -2.2. Bookmarks *NERDTreeBookmarks* - -Bookmarks in the NERDTree are a way to tag files or directories of interest. -For example, you could use bookmarks to tag all of your project directories. - ------------------------------------------------------------------------------- -2.2.1. The Bookmark Table *NERDTreeBookmarkTable* - -If the bookmark table is active (see |NERDTree-B| and -|NERDTreeShowBookmarks|), it will be rendered above the tree. You can double -click bookmarks or use the |NERDTree-o| mapping to activate them. See also, -|NERDTree-t| and |NERDTree-T| - ------------------------------------------------------------------------------- -2.2.2. Bookmark commands *NERDTreeBookmarkCommands* - -Note: The following commands are only available within the NERDTree buffer. - -:Bookmark [] - Bookmark the current node as . If there is already a - bookmark, it is overwritten. must not contain spaces. - If is not provided, it defaults to the file or directory name. - For directories, a trailing slash is present. - -:BookmarkToRoot - Make the directory corresponding to the new root. If a treenode - corresponding to is already cached somewhere in the tree then - the current tree will be used, otherwise a fresh tree will be opened. - Note that if points to a file then its parent will be used - instead. - -:RevealBookmark - If the node is cached under the current root then it will be revealed - (i.e. directory nodes above it will be opened) and the cursor will be - placed on it. - -:OpenBookmark - The Bookmark named is opened as if |NERDTree-o| was applied to - its entry in the Bookmark table. If the Bookmark points to a directory, - it is made the new root of the current NERDTree. If the Bookmark points - to a file, that file is opened for editing in another window. - -:ClearBookmarks [] - Remove all the given bookmarks. If no bookmarks are given then remove all - bookmarks on the current node. - -:ClearAllBookmarks - Remove all bookmarks. - -:EditBookmarks - Opens the bookmarks file for manual editing, e.g. for removing invalid - bookmarks. - -:ReadBookmarks - Re-read the bookmarks in the |NERDTreeBookmarksFile|. - -See also |:NERDTree| and |:NERDTreeFromBookmark|. - ------------------------------------------------------------------------------- -2.2.3. Invalid Bookmarks *NERDTreeInvalidBookmarks* - -If invalid bookmarks are detected, the script will issue an error message and -the invalid bookmarks will become unavailable for use. - -These bookmarks will still be stored in the bookmarks file (see -|NERDTreeBookmarksFile|), down at the bottom. There will always be a blank line -after the valid bookmarks but before the invalid ones. - -Each line in the bookmarks file represents one bookmark. The proper format is: - - -You can use the :EditBookmarks command to open the bookmarks file for editing. -After you have corrected any invalid bookmarks, either restart vim, or run -:ReadBookmarks from the NERDTree window. - ------------------------------------------------------------------------------- -2.3. NERDTree Mappings *NERDTreeMappings* - -Default~ -Key Description help-tag~ - -o........Open files, directories and bookmarks......................|NERDTree-o| -go.......Open selected file, but leave cursor in the NERDTree......|NERDTree-go| - Open selected bookmark dir in current NERDTree -t........Open selected node/bookmark in a new tab...................|NERDTree-t| -T........Same as 't' but keep the focus on the current tab..........|NERDTree-T| -i........Open selected file in a split window.......................|NERDTree-i| -gi.......Same as i, but leave the cursor on the NERDTree...........|NERDTree-gi| -s........Open selected file in a new vsplit.........................|NERDTree-s| -gs.......Same as s, but leave the cursor on the NERDTree...........|NERDTree-gs| -.....User-definable custom open action.......................|NERDTree-| -O........Recursively open the selected directory....................|NERDTree-O| -x........Close the current nodes parent.............................|NERDTree-x| -X........Recursively close all children of the current node.........|NERDTree-X| -e........Edit the current dir.......................................|NERDTree-e| - -double-click....same as |NERDTree-o|. -middle-click....same as |NERDTree-i| for files, and |NERDTree-e| for dirs. - -D........Delete the current bookmark ...............................|NERDTree-D| - -P........Jump to the root node......................................|NERDTree-P| -p........Jump to current nodes parent...............................|NERDTree-p| -K........Jump up inside directories at the current tree depth.......|NERDTree-K| -J........Jump down inside directories at the current tree depth.....|NERDTree-J| -....Jump down to next sibling of the current directory.......|NERDTree-C-J| -....Jump up to previous sibling of the current directory.....|NERDTree-C-K| - -C........Change the tree root to the selected dir...................|NERDTree-C| -u........Move the tree root up one directory........................|NERDTree-u| -U........Same as 'u' except the old root node is left open..........|NERDTree-U| -r........Recursively refresh the current directory..................|NERDTree-r| -R........Recursively refresh the current root.......................|NERDTree-R| -m........Display the NERDTree menu..................................|NERDTree-m| -cd.......Change the CWD to the dir of the selected node............|NERDTree-cd| -CD.......Change tree root to the CWD...............................|NERDTree-CD| - -I........Toggle whether hidden files displayed......................|NERDTree-I| -f........Toggle whether the file filters are used...................|NERDTree-f| -F........Toggle whether files are displayed.........................|NERDTree-F| -B........Toggle whether the bookmark table is displayed.............|NERDTree-B| - -q........Close the NERDTree window..................................|NERDTree-q| -A........Zoom (maximize/minimize) the NERDTree window...............|NERDTree-A| -?........Toggle the display of the quick help.......................|NERDTree-?| - ------------------------------------------------------------------------------- - *NERDTree-o* -Default key: o -Map setting: NERDTreeMapActivateNode -Applies to: files and directories. - -If a file node is selected, it is opened in the previous window. - -If a directory is selected it is opened or closed depending on its current -state. - -If a bookmark that links to a directory is selected then that directory -becomes the new root. - -If a bookmark that links to a file is selected then that file is opened in the -previous window. - ------------------------------------------------------------------------------- - *NERDTree-go* -Default key: go -Map setting: NERDTreeMapPreview -Applies to: files. - -If a file node or a bookmark that links to a file is selected, it is opened in -the previous window, but the cursor does not move. - -If a bookmark that links to a directory is selected, that directory is found -in the current NERDTree. If the directory couldn't be found, a new NERDTree is -created. - -The default key combo for this mapping is "g" + NERDTreeMapActivateNode (see -|NERDTree-o|). - ------------------------------------------------------------------------------- - *NERDTree-t* -Default key: t -Map setting: *NERDTreeMapOpenInTab* -Applies to: files and directories. - -Opens the selected file in a new tab. If a directory is selected, a fresh -NERDTree for that directory is opened in a new tab. - -If a bookmark which points to a directory is selected, open a NERDTree for -that directory in a new tab. If the bookmark points to a file, open that file -in a new tab. - ------------------------------------------------------------------------------- - *NERDTree-T* -Default key: T -Map setting: *NERDTreeMapOpenInTabSilent* -Applies to: files and directories. - -The same as |NERDTree-t| except that the focus is kept in the current tab. - ------------------------------------------------------------------------------- - *NERDTree-i* -Default key: i -Map setting: *NERDTreeMapOpenSplit* -Applies to: files. - -Opens the selected file in a new split window and puts the cursor in the new -window. - ------------------------------------------------------------------------------- - *NERDTree-gi* -Default key: gi -Map setting: *NERDTreeMapPreviewSplit* -Applies to: files. - -The same as |NERDTree-i| except that the cursor is not moved. - -The default key combo for this mapping is "g" + NERDTreeMapOpenSplit (see -|NERDTree-i|). - ------------------------------------------------------------------------------- - *NERDTree-s* -Default key: s -Map setting: *NERDTreeMapOpenVSplit* -Applies to: files. - -Opens the selected file in a new vertically split window and puts the cursor -in the new window. - ------------------------------------------------------------------------------- - *NERDTree-gs* -Default key: gs -Map setting: *NERDTreeMapPreviewVSplit* -Applies to: files. - -The same as |NERDTree-s| except that the cursor is not moved. - -The default key combo for this mapping is "g" + NERDTreeMapOpenVSplit (see -|NERDTree-s|). - ------------------------------------------------------------------------------- - *NERDTree-* -Default key: -Map setting: *NERDTreeMapCustomOpen* -Applies to: files, directories, and bookmarks - -Performs a customized open action on the selected node. This allows the user -to define an action that behaves differently from any of the standard -keys. See |NERDTreeCustomOpenArgs| for more details. ------------------------------------------------------------------------------- - *NERDTree-O* -Default key: O -Map setting: *NERDTreeMapOpenRecursively* -Applies to: directories. - -Recursively opens the selected directory. - -All files and directories are cached, but if a directory would not be -displayed due to file filters (see |NERDTreeIgnore| |NERDTree-f|) or the -hidden file filter (see |NERDTreeShowHidden|) then its contents are not -cached. This is handy, especially if you have .svn directories. - ------------------------------------------------------------------------------- - *NERDTree-x* -Default key: x -Map setting: *NERDTreeMapCloseDir* -Applies to: files and directories. - -Closes the parent of the selected node. - ------------------------------------------------------------------------------- - *NERDTree-X* -Default key: X -Map setting: *NERDTreeMapCloseChildren* -Applies to: directories. - -Recursively closes all children of the selected directory. - -Tip: To quickly "reset" the tree, use |NERDTree-P| with this mapping. - ------------------------------------------------------------------------------- - *NERDTree-e* -Default key: e -Map setting: *NERDTreeMapOpenExpl* -Applies to: files and directories. - -|:edit|s the selected directory, or the selected file's directory. This could -result in a NERDTree or a netrw being opened, depending on -|NERDTreeHijackNetrw|. - ------------------------------------------------------------------------------- - *NERDTree-D* -Default key: D -Map setting: *NERDTreeMapDeleteBookmark* -Applies to: lines in the bookmarks table - -Deletes the currently selected bookmark. - ------------------------------------------------------------------------------- - *NERDTree-P* -Default key: P -Map setting: *NERDTreeMapJumpRoot* -Applies to: no restrictions. - -Jump to the tree root. - ------------------------------------------------------------------------------- - *NERDTree-p* -Default key: p -Map setting: *NERDTreeMapJumpParent* -Applies to: files and directories. - -Jump to the parent node of the selected node. - ------------------------------------------------------------------------------- - *NERDTree-K* -Default key: K -Map setting: *NERDTreeMapJumpFirstChild* -Applies to: files and directories. - -Jump to the first child of the current nodes parent. - -If the cursor is already on the first node then do the following: - * loop back thru the siblings of the current nodes parent until we find an - open dir with children - * go to the first child of that node - ------------------------------------------------------------------------------- - *NERDTree-J* -Default key: J -Map setting: *NERDTreeMapJumpLastChild* -Applies to: files and directories. - -Jump to the last child of the current nodes parent. - -If the cursor is already on the last node then do the following: - * loop forward thru the siblings of the current nodes parent until we find - an open dir with children - * go to the last child of that node - ------------------------------------------------------------------------------- - *NERDTree-C-J* -Default key: -Map setting: *NERDTreeMapJumpNextSibling* -Applies to: files and directories. - -Jump to the next sibling of the selected node. - ------------------------------------------------------------------------------- - *NERDTree-C-K* -Default key: -Map setting: *NERDTreeMapJumpPrevSibling* -Applies to: files and directories. - -Jump to the previous sibling of the selected node. - ------------------------------------------------------------------------------- - *NERDTree-C* -Default key: C -Map setting: *NERDTreeMapChangeRoot* -Applies to: files and directories. - -Make the selected directory node the new tree root. If a file is selected, its -parent is used. - ------------------------------------------------------------------------------- - *NERDTree-u* -Default key: u -Map setting: *NERDTreeMapUpdir* -Applies to: no restrictions. - -Move the tree root up a dir (like doing a "cd .."). - ------------------------------------------------------------------------------- - *NERDTree-U* -Default key: U -Map setting: *NERDTreeMapUpdirKeepOpen* -Applies to: no restrictions. - -Like |NERDTree-u| except that the old tree root is kept open. - ------------------------------------------------------------------------------- - *NERDTree-r* -Default key: r -Map setting: *NERDTreeMapRefresh* -Applies to: files and directories. - -If a dir is selected, recursively refresh that dir, i.e. scan the filesystem -for changes and represent them in the tree. - -If a file node is selected then the above is done on it's parent. - ------------------------------------------------------------------------------- - *NERDTree-R* -Default key: R -Map setting: *NERDTreeMapRefreshRoot* -Applies to: no restrictions. - -Recursively refresh the tree root. - ------------------------------------------------------------------------------- - *NERDTree-m* -Default key: m -Map setting: *NERDTreeMapMenu* -Applies to: files and directories. - -Display the NERDTree menu. See |NERDTreeMenu| for details. - ------------------------------------------------------------------------------- - *NERDTree-cd* -Default key: cd -Map setting: *NERDTreeMapChdir* -Applies to: files and directories. - -Change Vim's current working directory to that of the selected node. - ------------------------------------------------------------------------------- - *NERDTree-CD* -Default key: CD -Map setting: *NERDTreeMapCWD* -Applies to: no restrictions. - -Change the NERDTree root to Vim's current working directory. - ------------------------------------------------------------------------------- - *NERDTree-I* -Default key: I -Map setting: *NERDTreeMapToggleHidden* -Applies to: no restrictions. - -Toggles whether hidden files (i.e. "dot files") are displayed. - ------------------------------------------------------------------------------- - *NERDTree-f* -Default key: f -Map setting: *NERDTreeMapToggleFilters* -Applies to: no restrictions. - -Toggles whether file filters are used. See |NERDTreeIgnore| for details. - ------------------------------------------------------------------------------- - *NERDTree-F* -Default key: F -Map setting: *NERDTreeMapToggleFiles* -Applies to: no restrictions. - -Toggles whether file nodes are displayed. - ------------------------------------------------------------------------------- - *NERDTree-B* -Default key: B -Map setting: *NERDTreeMapToggleBookmarks* -Applies to: no restrictions. - -Toggles whether the bookmarks table is displayed. - ------------------------------------------------------------------------------- - *NERDTree-q* -Default key: q -Map setting: *NERDTreeMapQuit* -Applies to: no restrictions. - -Closes the NERDTree window. - ------------------------------------------------------------------------------- - *NERDTree-A* -Default key: A -Map setting: *NERDTreeMapToggleZoom* -Applies to: no restrictions. - -Maximize (zoom) and minimize the NERDTree window. - ------------------------------------------------------------------------------- - *NERDTree-?* -Default key: ? -Map setting: *NERDTreeMapHelp* -Applies to: no restrictions. - -Toggles whether the quickhelp is displayed. - ------------------------------------------------------------------------------- - 2.3. The NERDTree menu *NERDTreeMenu* - -The NERDTree has a menu that can be programmed via the an API (see -|NERDTreeMenuAPI|). The idea is to simulate the "right click" menus that most -file explorers have. - -The script comes with two default menu plugins: exec_menuitem.vim and -fs_menu.vim. fs_menu.vim adds some basic filesystem operations to the menu for -creating/deleting/moving/copying files and dirs. exec_menuitem.vim provides a -menu item to execute executable files. - -Related tags: |NERDTree-m| |NERDTreeApi| - ------------------------------------------------------------------------------- - *NERDTreeMenu-j* -Default key: j -Map option: *NERDTreeMenuDown* -Applies to: The NERDTree menu. - -Moves the cursor down. - ------------------------------------------------------------------------------- - *NERDTreeMenu-k* -Default key: k -Map option: *NERDTreeMenuUp* -Applies to: The NERDTree menu. - -Moves the cursor up. - -============================================================================== -3. Customisation *NERDTreeSettings* - - ------------------------------------------------------------------------------- -3.1. Customisation summary *NERDTreeSettingsSummary* - -The plugin provides the following settings that can customise the behaviour -the NERDTree. These settings should be set in your vimrc, using `:let`. - -|loaded_nerd_tree| Turns off the script. - -|NERDTreeAutoCenter| Controls whether the NERDTree window centers - when the cursor moves within a specified - distance to the top/bottom of the window. - -|NERDTreeAutoCenterThreshold| Controls the sensitivity of autocentering. - -|NERDTreeCaseSensitiveSort| Tells the NERDTree whether to be case - sensitive or not when sorting nodes. - -|NERDTreeNaturalSort| Tells the NERDTree whether to use natural sort - order or not when sorting nodes. - -|NERDTreeSortHiddenFirst| Tells the NERDTree whether to take the dot at - the beginning of the hidden file names into - account when sorting nodes. - -|NERDTreeChDirMode| Tells the NERDTree if/when it should change - vim's current working directory. - -|NERDTreeHighlightCursorline| Tell the NERDTree whether to highlight the - current cursor line. - -|NERDTreeHijackNetrw| Tell the NERDTree whether to replace the netrw - autocommands for exploring local directories. - -|NERDTreeIgnore| Tells the NERDTree which files to ignore. - -|NERDTreeRespectWildIgnore| Tells the NERDTree to respect `'wildignore'`. - -|NERDTreeBookmarksFile| Where the bookmarks are stored. - -|NERDTreeBookmarksSort| Control how the Bookmark table is sorted. - -|NERDTreeMarkBookmarks| Render bookmarked nodes with markers. - -|NERDTreeMouseMode| Manage the interpretation of mouse clicks. - -|NERDTreeQuitOnOpen| Closes the tree window or bookmark table after - opening a file. - -|NERDTreeShowBookmarks| Tells the NERDTree whether to display the - bookmarks table on startup. - -|NERDTreeShowFiles| Tells the NERDTree whether to display files in - the tree on startup. - -|NERDTreeShowHidden| Tells the NERDTree whether to display hidden - files on startup. - -|NERDTreeShowLineNumbers| Tells the NERDTree whether to display line - numbers in the tree window. - -|NERDTreeSortOrder| Tell the NERDTree how to sort the nodes in the - tree. - -|NERDTreeStatusline| Set a statusline for NERDTree windows. - -|NERDTreeWinPos| Tells the script where to put the NERDTree - window. - -|NERDTreeWinSize| Sets the window size when the NERDTree is - opened. - -|NERDTreeWinSizeMax| Sets the maximum window size when the NERDTree - is zoomed. - -|NERDTreeMinimalUI| Disables display of the 'Bookmarks' label and - 'Press ? for help' text. - -|NERDTreeMinimalMenu| Use a compact menu that fits on a single line - for adding, copying, deleting, etc - -|NERDTreeCascadeSingleChildDir| - Collapses on the same line directories that have - only one child directory. - -|NERDTreeCascadeOpenSingleChildDir| - Cascade open while selected directory has only - one child that also is a directory. - -|NERDTreeAutoDeleteBuffer| Tells the NERDTree to automatically remove a - buffer when a file is being deleted or renamed - via a context menu command. - -|NERDTreeCreatePrefix| Specify a prefix to be used when creating the - NERDTree window. - -|NERDTreeRemoveFileCmd| Specify a custom shell command to be used when - deleting files. Note that it should include one - space character at the end of the command and it - applies only to files. - -|NERDTreeRemoveDirCmd| Specify a custom shell command to be used when - deleting directories. Note that it should - include one space character at the end of the - command and it applies only to directories. - -|NERDTreeDirArrowCollapsible| These characters indicate when a directory is -|NERDTreeDirArrowExpandable| either collapsible or expandable. - -|NERDTreeNodeDelimiter| A single character that is used to separate the - file or directory name from the rest of the - characters on the line of text. - -|NERDTreeCustomOpenArgs| A dictionary with values that control how a node - is opened with the |NERDTree-| key. - ------------------------------------------------------------------------------- -3.2. Customisation details *NERDTreeSettingsDetails* - -To enable any of the below settings you should put an appropriate > - let = - - let loaded_nerd_tree=1 -< ------------------------------------------------------------------------------- - *NERDTreeAutoCenter* -Values: 0 or 1. -Default: 1 - -If set to 1, the NERDTree window will center around the cursor if it moves to -within |NERDTreeAutoCenterThreshold| lines of the top/bottom of the window. - -This is ONLY done in response to tree navigation mappings, -i.e. |NERDTree-J| |NERDTree-K| |NERDTree-C-J| |NERDTree-C-K| |NERDTree-p| -|NERDTree-P| - -The centering is done with a |zz| operation. - ------------------------------------------------------------------------------- - *NERDTreeAutoCenterThreshold* -Values: Any natural number. -Default: 3 - -This setting controls the "sensitivity" of the NERDTree auto centering. See -|NERDTreeAutoCenter| for details. - ------------------------------------------------------------------------------- - *NERDTreeCaseSensitiveSort* -Values: 0 or 1. -Default: 0. - -By default the NERDTree does not sort nodes case sensitively, i.e. nodes -could appear like this: > - bar.c - Baz.c - blarg.c - boner.c - Foo.c -< -But, if you set this setting to 1 then the case of the nodes will be taken -into account. The above nodes would then be sorted like this: > - Baz.c - Foo.c - bar.c - blarg.c - boner.c -< ------------------------------------------------------------------------------- - *NERDTreeNaturalSort* -Values: 0 or 1. -Default: 0. - -By default the NERDTree does not sort nodes in natural sort order, i.e. nodes -could appear like this: > - z1.txt - z10.txt - z100.txt - z11.txt - z110.txt - z2.txt - z20.txt - z3.txt -< -But if you set this setting to 1 then the natural sort order will be used. The -above nodes would then be sorted like this: > - z1.txt - z2.txt - z3.txt - z10.txt - z11.txt - z20.txt - z100.txt - z110.txt -< ------------------------------------------------------------------------------- - *NERDTreeUseTCD* -Values: 0 or 1. -Default: 0. - -By default, NERDTree will use the `:cd` command to change the current working -directory. If this setting is turned on, and the `:tcd` command is available, it -will be used instead. - ------------------------------------------------------------------------------- - *NERDTreeChDirMode* -Values: 0, 1, 2, or 3. -Default: 0. - -Use this setting to tell the script when (if at all) to change the current -working directory (CWD) for vim. - -If it is set to 0 then the CWD is never changed by the NERDTree. - -If set to 1 then the CWD is changed when the NERDTree is first loaded to the -directory it is initialized in. For example, if you start the NERDTree with > - :NERDTree /home/marty/foobar -< -then the CWD will be changed to /home/marty/foobar and will not be changed -again unless you init another NERDTree with a similar command. - -If the setting is set to 2 then it behaves the same as if set to 1 except that -the CWD is changed whenever the tree root is changed. For example, if the CWD -is /home/marty/foobar and you make the node for /home/marty/foobar/baz the new -root then the CWD will become /home/marty/foobar/baz. - -If the set to 3, then it behaves the same as if set to 2, and the CWD is -changed whenever changing tabs to whatever the tree root is on that tab. - ------------------------------------------------------------------------------- - *NERDTreeHighlightCursorline* -Values: 0 or 1. -Default: 1. - -If set to 1, the current cursor line in the NERDTree buffer will be -highlighted. This is done using the `'cursorline'` Vim option. - ------------------------------------------------------------------------------- - *NERDTreeHijackNetrw* -Values: 0 or 1. -Default: 1. - -If set to 1, doing a > - :edit -< -will open up a window level NERDTree instead of a netrw in the target window. - -Window level trees behaves slightly different from a regular trees in the -following respects: - 1. 'o' will open the selected file in the same window as the tree, - replacing it. - 2. you can have one tree per window - instead of per tab. - ------------------------------------------------------------------------------- - *NERDTreeIgnore* -Values: a list of regular expressions. -Default: ['\~$']. - -This setting is used to specify which files the NERDTree should ignore. It -must be a list of regular expressions. When the NERDTree is rendered, any -files/dirs that match any of the regex's in NERDTreeIgnore won't be -displayed. - -For example if you put the following line in your vimrc: > - let NERDTreeIgnore=['\.vim$', '\~$'] -< -then all files ending in .vim or ~ will be ignored. - -There are 2 magic flags that can be appended to the end of each regular -expression to specify that the regex should match only files or only dirs. -These flags are "[[dir]]" and "[[file]]". Example: > - let NERDTreeIgnore=['\.d$[[dir]]', '\.o$[[file]]'] -< -This will cause all dirs ending in ".d" to be ignored and all files ending in -".o" to be ignored. - -Note: to tell the NERDTree not to ignore any files you must use the following -line: > - let NERDTreeIgnore=[] -< -The file filters can be turned on and off dynamically with the |NERDTree-f| -mapping. - ------------------------------------------------------------------------------- - *NERDTreeRespectWildIgnore* -Values: 0 or 1. -Default: 0. - -If set to 1, the `'wildignore'` setting is respected. - ------------------------------------------------------------------------------- - *NERDTreeBookmarksFile* -Values: a path -Default: $HOME/.NERDTreeBookmarks - -This is where bookmarks are saved. See |NERDTreeBookmarkCommands|. - ------------------------------------------------------------------------------- - *NERDTreeBookmarksSort* -Values: 0, 1, or 2 -Default: 1 - -This setting controls the method by which the list of user bookmarks is -sorted. When sorted, bookmarks will render in alphabetical order by name. - -If set to 0, the bookmarks list is not sorted. -If set to 1, the bookmarks list is sorted in a case-insensitive manner. -If set to 2, the bookmarks list is sorted in a case-sensitive manner. - ------------------------------------------------------------------------------- - *NERDTreeMarkBookmarks* -Values: 0 or 1 -Default: 1 - -If set to 1, Bookmarks will be specially marked whenever the NERDTree is -rendered. Users of the |NERDTreeMinimalUI| setting may prefer to disable -this setting for even less visual clutter. - ------------------------------------------------------------------------------- - *NERDTreeMouseMode* -Values: 1, 2 or 3. -Default: 1. - -If set to 1 then a double click on a node is required to open it. -If set to 2 then a single click will open directory nodes, while a double -click will still be required for file nodes. -If set to 3 then a single click will open any node. - -Note: a double click anywhere on a line that a tree node is on will -activate it, but all single-click activations must be done on name of the node -itself. For example, if you have the following node: > - | | |-application.rb -< -then (to single click activate it) you must click somewhere in -'application.rb'. - ------------------------------------------------------------------------------- - *NERDTreeQuitOnOpen* -Values: 0,1,2 or 3. -Default: 0 - -This setting governs whether the NERDTree window or the bookmarks table closes -after opening a file with the |NERDTree-o|, |NERDTree-i|, |NERDTree-t| and -|NERDTree-T| mappings. - - Value | NERDTree Window Behavior - -------+------------------------------------------------------- - 0 | No change - 1 | Closes after opening a file - 2 | Closes the bookmark table after opening a bookmark - 3(1+2) | Same as both 1 and 2 - ------------------------------------------------------------------------------- - *NERDTreeShowBookmarks* -Values: 0 or 1. -Default: 0. - -If this setting is set to 1 then the bookmarks table will be displayed. - -This setting can be toggled dynamically, per tree, with the |NERDTree-B| -mapping. - ------------------------------------------------------------------------------- - *NERDTreeShowFiles* -Values: 0 or 1. -Default: 1. - -If this setting is set to 1 then files are displayed in the NERDTree. If it -is set to 0 then only directories are displayed. - -This setting can be toggled dynamically, per tree, with the |NERDTree-F| -mapping and is useful for drastically shrinking the tree when you are -navigating to a different part of the tree. - ------------------------------------------------------------------------------- - *NERDTreeShowHidden* -Values: 0 or 1. -Default: 0. - -This setting tells vim whether to display hidden files by default. This -setting can be dynamically toggled, per tree, with the |NERDTree-I| mapping. -Use one of the follow lines for this setting: > - let NERDTreeShowHidden=0 - let NERDTreeShowHidden=1 -< ------------------------------------------------------------------------------- - *NERDTreeShowLineNumbers* -Values: 0 or 1. -Default: 0. - -This setting tells vim whether to display line numbers for the NERDTree -window. Use one of the follow lines for this setting: > - let NERDTreeShowLineNumbers=0 - let NERDTreeShowLineNumbers=1 -< ------------------------------------------------------------------------------- - *NERDTreeSortOrder* -Values: a list of regular expressions. -Default: ['\/$', '*', '\.swp$', '\.bak$', '\~$'] - -This setting is a list of regular expressions which are used to group or sort -the nodes under their parent. - -For example, if the setting is: > - ['\.vim$', '\.c$', '\.h$', '*', 'foobar'] -< -then all .vim files will be grouped at the top, followed by all .c files then -all .h files. All files containing the string 'foobar' will be placed at the -end. The star is a special flag: it tells the script that every node that -doesn't match any of the other regexps should be placed here. - -If no star is present in NERDTreeSortOrder, then one is automatically -appended to the end of the list. - -The regex '\/$' should be used to match directory nodes. - -Files can also be sorted by 1) the modification timestamp, 2) the size, or 3) -the extension. Directories are always sorted by name. To accomplish this, the -following special flags are used: - [[timestamp]] [[-timestamp]] [[size]] [[-size]] [[extension]] -The hyphen specifies a descending sort; extensions are sorted in ascending -order only. If placed at the beginning of the list, files are sorted according -to these flags first, and then grouped by the remaining items in the list. If -the flags are in any other position of the list, this special sorting is done -secondarily. See examples 4, 5, and 6 below. - -After this sorting is done, the files in each group are sorted alphabetically. - -Examples: > - (1) ['*', '\/$'] - (2) [] - (3) ['\/$', '\.rb$', '\.php$', '*', '\.swp$', '\.bak$', '\~$'] - (4) ['[[-size]]'] - (5) ['\/$', '*', '[[timestamp]]'] - (6) ['foo','\/$','[[extension]]'] -< -1. Directories will appear last, everything else will appear above. -2. Everything will simply appear in alphabetical order. -3. Dirs will appear first, then ruby and php. Swap files, bak files and vim - backup files will appear last with everything else preceding them. -4. Everything is sorted by size, largest to smallest, with directories - considered to have size 0 bytes. -5. Directories will appear first alphabetically, followed by files, sorted by - timestamp, oldest first. -6. Files and directories matching 'foo' first, followed by other directories, - then all other files. Each section of files is sorted by file extension. - ------------------------------------------------------------------------------- - *NERDTreeStatusline* -Values: Any valid `'statusline'` setting. -Default: %{exists('b:NERDTree')?b:NERDTree.root.path.str():''} - -Defines the value for the `'statusline'` setting in NERDTree windows. - -Note: The setting is actually applied using |:let-&|, not |:set|, so -escaping spaces is not necessary. - -Setting this to -1 will deactivate it so that your global `'statusline'` -setting is used. - ------------------------------------------------------------------------------- - *NERDTreeWinPos* -Values: "left" or "right" -Default: "left". - -This setting is used to determine where NERDTree window is placed on the -screen. - -This setting makes it possible to use two different explorer plugins -simultaneously. For example, you could have the taglist plugin on the left of -the window and the NERDTree on the right. - ------------------------------------------------------------------------------- - *NERDTreeWinSize* -Values: a positive integer. -Default: 31. - -This setting is used to change the size of the NERDTree when it is loaded. - ------------------------------------------------------------------------------- - *NERDTreeMinimalUI* -Values: 0 or 1 -Default: 0 - -This setting disables the 'Bookmarks' label 'Press ? for help' text. Use one -of the following lines for this setting: > - let NERDTreeMinimalUI=0 - let NERDTreeMinimalUI=1 -< ------------------------------------------------------------------------------- - *NERDTreeMinimalMenu* -Values: 0 or 1 -Default: 0 - -This setting makes NERDTree use a smaller, more compact menu for adding, -copying, deleting nodes. This menu fits on a single line so Vim doesn't need to -scroll down to present it. This setting is recommended for users already -familiar with the menu items. It will look similar to this: - - Menu: [ (a)dd ,m,d,r,o,q,c,l] (Use j/k/enter or shortcut): - -An action can be selected with its shortcut key or with the NERDTreeMenuUp and -NERDTreeMenuDown keys, then pressing enter. - -Use one of the following lines for this setting: > - let NERDTreeMinimalMenu=0 - let NERDTreeMinimalMenu=1 -< ------------------------------------------------------------------------------- - *NERDTreeCascadeSingleChildDir* -Values: 0 or 1 -Default: 1. - -When displaying dir nodes, this setting tells NERDTree to collapse dirs that -have only one child. Use one of the following lines for this setting: > - let NERDTreeCascadeSingleChildDir=0 - let NERDTreeCascadeSingleChildDir=1 -< ------------------------------------------------------------------------------- - *NERDTreeCascadeOpenSingleChildDir* -Values: 0 or 1 -Default: 1. - -When opening dir nodes, this setting tells NERDTree to recursively open dirs -that have only one child which is also a dir. NERDTree will stop when it finds -a dir that contains anything but another single dir. This setting also causes -the |NERDTree-x| mapping to close dirs in the same manner. This setting may be -useful for Java projects. Use one of the following lines for this setting: > - let NERDTreeCascadeOpenSingleChildDir=0 - let NERDTreeCascadeOpenSingleChildDir=1 -< ------------------------------------------------------------------------------- - *NERDTreeAutoDeleteBuffer* -Values: 0 or 1 -Default: 0. - -When using a context menu to delete or rename a file you may also want to -delete the buffer which is no more valid. If the setting is not set you will -see a confirmation if you really want to delete an old buffer. If you always -press 'y' then it's worth it to set this setting to 1. Use one of the -following lines for this setting: > - let NERDTreeAutoDeleteBuffer=0 - let NERDTreeAutoDeleteBuffer=1 -< ------------------------------------------------------------------------------- - *NERDTreeCreatePrefix* -Values: Any valid command prefix. -Default: "silent". - -Internally, NERDTree uses the |:edit| command to create a buffer in which to -display its tree view. You can augment this behavior by specifying a prefix -string such as "keepalt" or similar. For example, to have NERDTree create its -tree window using `silent keepalt keepjumps edit`: > - let NERDTreeCreatePrefix='silent keepalt keepjumps' -< ------------------------------------------------------------------------------- - *NERDTreeDirArrowCollapsible* *NERDTreeDirArrowExpandable* -Values: Any single character. -Defaults: Windows: ~ and + Others: ▾ and ▸ - -These characters indicate whether a directory is collapsible or expandable. -Example: > - let NERDTreeDirArrowExpandable=">" - let NERDTreeDirArrowCollapsible="v" -< -They can be set to "\u00a0" to replace the arrows with a non-breaking space. -If you do this you may need to change the node delimiter. See -|NERDTreeNodeDelimiter|. You cannot use the same character for both the arrows -and the delimiter. - -Alternatively, they can be set to '' (an empty string). This removes the -arrows and the single space that follows them, shifting the entire tree two -character positions to the left. - ------------------------------------------------------------------------------- - *NERDTreeNodeDelimiter* -Values: Any single character. -Default: varies (see below) - -This character is used to separate the file or directory name from the rest of -the characters in the line of text. It allows filenames to contain special -characters that are otherwise used in the NERDTree, such as square brackets, -braces, trailing asterisk, and leading space. For more details, see the -responsible pull request: https://github.com/preservim/nerdtree/pull/868. - -The default value of this variable depends on the features compiled into your -vim and the values of |NERDTreeDirArrowCollapsible| and -|NERDTreeDirArrowExpandable|. - * If your vim is compiled with the +conceal feature, it is the "\x07" (BELL) - character, and it is hidden by setting 'conceallevel' to 3. If you use - autocommands, make sure none of them change that setting in the NERDTree_* - buffers. - * If your vim does NOT have the +conceal feature and you're using "\u00a0" - (non-breaking space) to hide the directory arrows, "\u00b7" (middle dot) - is used as the default delimiter. - * If neither condition above applies, NERDTree uses "\u00a0" (non-breaking - space) as the default delimiter. - -In the 2nd and 3rd cases, NERDTree will use the Ignore highlight group to -"hide" the delimiter. It should appear as an empty space. - -Other plugins can interfere with these defaults, so if you need to change the -delimiter, be sure to choose a character that won't appear in your filenames -or any of the flags set by your installed NERDTree plugins. The suggestions -below are but a few of the many possibilities. Remember to use double quotes -when specifying by hex or Unicode. > - let NERDTreeNodeDelimiter="\x07" "bell - let NERDTreeNodeDelimiter="\u00b7" "middle dot - let NERDTreeNodeDelimiter="\u00a0" "non-breaking space - let NERDTreeNodeDelimiter="😀" "smiley face -< ------------------------------------------------------------------------------- - *NERDTreeCustomOpenArgs* -Values: A nested dictionary, as described below -Default: {'file': {'reuse': 'all', 'where': 'p'}, 'dir': {}} - -This dictionary contains two keys, 'file' and 'dir', whose values each are -another dictionary. The inner dictionary is a set of parameters used by -|NERDTree-| to open a file or directory. Setting these parameters allows you -to customize the way the node is opened. The default value matches what -|NERDTree-o| does. To change that behavior, use these keys and -values in the inner dictionaries: - -'where': specifies whether the node should be opened in a new split ("h" or - "v"), in a new tab ("t") or, in the last window ("p"). -'reuse': if file is already shown in a window, jump there; takes values - "all", "currenttab", or empty -'keepopen': boolean (0 or 1); if true, the tree window will not be closed -'stay': boolean (0 or 1); if true, remain in tree window after opening - -For example: -To open files and directories (creating a new NERDTree) in a new tab, > - {'file':{'where': 't'}, 'dir':{'where':'t'}} -< -To open a file always in the current tab, and expand directories in place, > - {'file': {'reuse':'currenttab', 'where':'p', 'keepopen':1, 'stay':1}} -< -============================================================================== -4. The NERDTree API *NERDTreeAPI* - -The NERDTree script allows you to add custom key mappings and menu items via -a set of API calls. Any scripts that use this API should be placed in -~/.vim/nerdtree_plugin/ (*nix) or ~/vimfiles/nerdtree_plugin (windows). - -The script exposes some prototype objects that can be used to manipulate the -tree and/or get information from it: > - g:NERDTreePath - g:NERDTreeDirNode - g:NERDTreeFileNode - g:NERDTreeBookmark -< -See the code/comments in NERD_tree.vim to find how to use these objects. The -following code conventions are used: - * class members start with a capital letter - * instance members start with a lower case letter - * private members start with an underscore - -See this blog post for more details: - http://got-ravings.blogspot.com/2008/09/vim-pr0n-prototype-based-objects.html - -A number of API functions take a callback argument to call. The callback can -be either a string with the name of a function to call, or a |Funcref| object -which will be called directly. - ------------------------------------------------------------------------------- -4.1. Key map API *NERDTreeKeymapAPI* - -NERDTreeAddKeyMap({options}) *NERDTreeAddKeyMap()* - Adds a new keymapping for all NERDTree buffers. - {options} must be a dictionary, and must contain the following keys: - "key" - the trigger key for the new mapping - "callback" - the function the new mapping will be bound to - "quickhelpText" - the text that will appear in the quickhelp (see - |NERDTree-?|) - "override" - if 1 then this new mapping will override whatever previous - mapping was defined for the key/scope combo. Useful for overriding the - default mappings. - - Additionally, a "scope" argument may be supplied. This constrains the - mapping so that it is only activated if the cursor is on a certain object. - That object is then passed into the handling method. Possible values are: - - "FileNode" .... a file node - "DirNode" ..... a directory node - "Node" ........ a file node OR a directory node - "Bookmark" .... a bookmark - "all" ......... global scope; handler receives no arguments (default) - - Example: > - call NERDTreeAddKeyMap({ - \ 'key': 'foo', - \ 'callback': 'NERDTreeEchoPathHandler', - \ 'quickhelpText': 'echo full path of current node', - \ 'scope': 'DirNode' }) - - function! NERDTreeEchoPathHandler(dirnode) - echo a:dirnode.path.str() - endfunction -< - This code should sit in a file like ~/.vim/nerdtree_plugin/mymapping.vim. - It adds a (redundant) mapping on 'foo' which changes vim's CWD to that of - the current dir node. Note this mapping will only fire when the cursor is - on a directory node. - ------------------------------------------------------------------------------- -4.2. Menu API *NERDTreeMenuAPI* - -NERDTreeAddSubmenu({options}) *NERDTreeAddSubmenu()* - Creates and returns a new submenu. - - {options} must be a dictionary and must contain the following keys: - "text" - the text of the submenu that the user will see - "shortcut" - a shortcut key for the submenu (need not be unique) - - The following keys are optional: - "isActiveCallback" - a function that will be called to determine whether - this submenu item will be displayed or not. The callback function must - return 0 or 1. - "parent" - the parent submenu of the new submenu (returned from a previous - invocation of NERDTreeAddSubmenu()). If this key is left out then the new - submenu will sit under the top level menu. - - See below for an example. - -NERDTreeAddMenuItem({options}) *NERDTreeAddMenuItem()* - Adds a new menu item to the NERDTree menu (see |NERDTreeMenu|). - - {options} must be a dictionary and must contain the - following keys: - "text" - the text of the menu item which the user will see - "shortcut" - a shortcut key for the menu item (need not be unique) - "callback" - the function that will be called when the user activates the - menu item. - - The following keys are optional: - "isActiveCallback" - a function that will be called to determine whether - this menu item will be displayed or not. The callback function must return - 0 or 1. - "parent" - if the menu item belongs under a submenu then this key must be - specified. This value for this key will be the object that - was returned when the submenu was created with |NERDTreeAddSubmenu()|. - - See below for an example. - -NERDTreeAddMenuSeparator([{options}]) *NERDTreeAddMenuSeparator()* - Adds a menu separator (a row of dashes). - - {options} is an optional dictionary that may contain the following keys: - "isActiveCallback" - see description in |NERDTreeAddMenuItem()|. - -Below is an example of the menu API in action. > - call NERDTreeAddMenuSeparator() - - call NERDTreeAddMenuItem({ - \ 'text': 'a (t)op level menu item', - \ 'shortcut': 't', - \ 'callback': 'SomeFunction' }) - - let submenu = NERDTreeAddSubmenu({ - \ 'text': 'a (s)ub menu', - \ 'shortcut': 's' }) - - call NERDTreeAddMenuItem({ - \ 'text': '(n)ested item 1', - \ 'shortcut': 'n', - \ 'callback': 'SomeFunction', - \ 'parent': submenu }) - - call NERDTreeAddMenuItem({ - \ 'text': '(n)ested item 2', - \ 'shortcut': 'n', - \ 'callback': 'SomeFunction', - \ 'parent': submenu }) -< -This will create the following menu: > - -------------------- - a (t)op level menu item - a (s)ub menu -< -Where selecting "a (s)ub menu" will lead to a second menu: > - (n)ested item 1 - (n)ested item 2 -< -When any of the 3 concrete menu items are selected the function "SomeFunction" -will be called. - ------------------------------------------------------------------------------- -4.3 NERDTreeAddPathFilter(callback) *NERDTreeAddPathFilter()* - -Path filters are essentially a more powerful version of |NERDTreeIgnore|. -If the simple regex matching in |NERDTreeIgnore| is not enough then use -|NERDTreeAddPathFilter()| to add a callback function that paths will be -checked against when the decision to ignore them is made. Example > - - call NERDTreeAddPathFilter('MyFilter') - - function! MyFilter(params) - "params is a dict containing keys: 'nerdtree' and 'path' which are - "g:NERDTree and g:NERDTreePath objects - - "return 1 to ignore params['path'] or 0 otherwise - endfunction -< ------------------------------------------------------------------------------- -4.4 Path Listener API *NERDTreePathListenerAPI* - -Use this API if you want to run a callback for events on Path objects. E.G > - - call g:NERDTreePathNotifier.AddListener("init", "MyListener") - - ".... - - function! MyListener(event) - "This function will be called whenever a Path object is created. - - "a:event is an object that contains a bunch of relevant info - - "including the affected path. See lib/nerdtree/event.vim for details. - endfunction -< -Current events supported: - init ~ - refresh ~ - refreshFlags ~ - ------------------------------------------------------------------------------- -NERDTreeRender() *NERDTreeRender()* - Re-renders the NERDTree buffer. Useful if you change the state of the - tree and you want to it to be reflected in the UI. - -============================================================================== -5. About *NERDTreeAbout* - -The author of the NERDTree is a terrible terrible monster called Martyzilla -who gobbles up small children with milk and sugar for breakfast. - -He can be reached at martin.grenfell at gmail dot com. He would love to hear -from you, so feel free to send him suggestions and/or comments about this -plugin. Don't be shy --- the worst he can do is slaughter you and stuff you -in the fridge for later ;) - -Martyzilla recruited two other unwitting accomplices to become his minions in -his quest to conquer the Vim plugin world. While he may still love to receive -your emails, the best way to send suggestions, bug reports, and questions is -to submit an issue at http://github.com/preservim/nerdtree/issues. - -The latest stable and development versions are on Github. - Stable: http://github.com/preservim/nerdtree (master branch) - Development: http://github.com/preservim/nerdtree/branches - -Title Credit: - * http://ascii.co.uk/art/tree - - * Patrick Gillespie's Text ASCII Art Generator - http://patorjk.com/software/taag - http://patorjk.com/software/taag/#p=display&f=Rozzo&t=the%20NERD%20Tree - -============================================================================== -6. License *NERDTreeLicense* - -The NERDTree is released under the wtfpl. -See http://sam.zoy.org/wtfpl/COPYING. - ------------------------------------------------------------------------------- - vim:tw=78:ts=8:ft=help:noet:nospell diff --git a/vim/.vim_runtime/sources_non_forked/nerdtree/nerdtree_plugin/exec_menuitem.vim b/vim/.vim_runtime/sources_non_forked/nerdtree/nerdtree_plugin/exec_menuitem.vim deleted file mode 100644 index fb6c486..0000000 --- a/vim/.vim_runtime/sources_non_forked/nerdtree/nerdtree_plugin/exec_menuitem.vim +++ /dev/null @@ -1,40 +0,0 @@ -" ============================================================================ -" File: exec_menuitem.vim -" Description: plugin for NERD Tree that provides an execute file menu item -" Maintainer: Martin Grenfell -" License: This program is free software. It comes without any warranty, -" to the extent permitted by applicable law. You can redistribute -" it and/or modify it under the terms of the Do What The Fuck You -" Want To Public License, Version 2, as published by Sam Hocevar. -" See http://sam.zoy.org/wtfpl/COPYING for more details. -" -" ============================================================================ -if exists('g:loaded_nerdtree_exec_menuitem') - finish -endif -let g:loaded_nerdtree_exec_menuitem = 1 - -call NERDTreeAddMenuItem({ - \ 'text': '(!)Execute file', - \ 'shortcut': '!', - \ 'callback': 'NERDTreeExecFile', - \ 'isActiveCallback': 'NERDTreeExecFileActive' }) - -function! NERDTreeExecFileActive() - let node = g:NERDTreeFileNode.GetSelected() - return !node.path.isDirectory && node.path.isExecutable -endfunction - -function! NERDTreeExecFile() - let treenode = g:NERDTreeFileNode.GetSelected() - echo "==========================================================\n" - echo "Complete the command to execute (add arguments etc):\n" - let cmd = treenode.path.str({'escape': 1}) - let cmd = input(':!', cmd . ' ') - - if cmd !=# '' - exec ':!' . cmd - else - echo 'Aborted' - endif -endfunction diff --git a/vim/.vim_runtime/sources_non_forked/nerdtree/nerdtree_plugin/fs_menu.vim b/vim/.vim_runtime/sources_non_forked/nerdtree/nerdtree_plugin/fs_menu.vim deleted file mode 100644 index 3073414..0000000 --- a/vim/.vim_runtime/sources_non_forked/nerdtree/nerdtree_plugin/fs_menu.vim +++ /dev/null @@ -1,469 +0,0 @@ -" ============================================================================ -" File: fs_menu.vim -" Description: plugin for the NERD Tree that provides a file system menu -" Maintainer: Martin Grenfell -" License: This program is free software. It comes without any warranty, -" to the extent permitted by applicable law. You can redistribute -" it and/or modify it under the terms of the Do What The Fuck You -" Want To Public License, Version 2, as published by Sam Hocevar. -" See http://sam.zoy.org/wtfpl/COPYING for more details. -" -" ============================================================================ -if exists('g:loaded_nerdtree_fs_menu') - finish -endif -let g:loaded_nerdtree_fs_menu = 1 - -"Automatically delete the buffer after deleting or renaming a file -if !exists('g:NERDTreeAutoDeleteBuffer') - let g:NERDTreeAutoDeleteBuffer = 0 -endif - -call NERDTreeAddMenuItem({'text': '(a)dd a childnode', 'shortcut': 'a', 'callback': 'NERDTreeAddNode'}) -call NERDTreeAddMenuItem({'text': '(m)ove the current node', 'shortcut': 'm', 'callback': 'NERDTreeMoveNode'}) -call NERDTreeAddMenuItem({'text': '(d)elete the current node', 'shortcut': 'd', 'callback': 'NERDTreeDeleteNode'}) - -if has('gui_mac') || has('gui_macvim') || has('mac') - call NERDTreeAddMenuItem({'text': '(r)eveal in Finder the current node', 'shortcut': 'r', 'callback': 'NERDTreeRevealInFinder'}) - call NERDTreeAddMenuItem({'text': '(o)pen the current node with system editor', 'shortcut': 'o', 'callback': 'NERDTreeExecuteFile'}) - call NERDTreeAddMenuItem({'text': '(q)uicklook the current node', 'shortcut': 'q', 'callback': 'NERDTreeQuickLook'}) -endif - -if executable('xdg-open') - call NERDTreeAddMenuItem({'text': '(r)eveal the current node in file manager', 'shortcut': 'r', 'callback': 'NERDTreeRevealFileLinux'}) - call NERDTreeAddMenuItem({'text': '(o)pen the current node with system editor', 'shortcut': 'o', 'callback': 'NERDTreeExecuteFileLinux'}) -endif - -if nerdtree#runningWindows() - call NERDTreeAddMenuItem({'text': '(o)pen the current node with system editor', 'shortcut': 'o', 'callback': 'NERDTreeExecuteFileWindows'}) -endif - -if g:NERDTreePath.CopyingSupported() - call NERDTreeAddMenuItem({'text': '(c)opy the current node', 'shortcut': 'c', 'callback': 'NERDTreeCopyNode'}) -endif -call NERDTreeAddMenuItem({'text': (has('clipboard')?'copy (p)ath to clipboard':'print (p)ath to screen'), 'shortcut': 'p', 'callback': 'NERDTreeCopyPath'}) - -if has('unix') || has('osx') - call NERDTreeAddMenuItem({'text': '(l)ist the current node', 'shortcut': 'l', 'callback': 'NERDTreeListNode'}) -else - call NERDTreeAddMenuItem({'text': '(l)ist the current node', 'shortcut': 'l', 'callback': 'NERDTreeListNodeWin32'}) -endif - -"FUNCTION: s:inputPrompt(action){{{1 -"returns the string that should be prompted to the user for the given action -" -"Args: -"action: the action that is being performed, e.g. 'delete' -function! s:inputPrompt(action) - if a:action ==# 'add' - let title = 'Add a childnode' - let info = "Enter the dir/file name to be created. Dirs end with a '/'" - let minimal = 'Add node:' - - elseif a:action ==# 'copy' - let title = 'Copy the current node' - let info = 'Enter the new path to copy the node to:' - let minimal = 'Copy to:' - - elseif a:action ==# 'delete' - let title = 'Delete the current node' - let info = 'Are you sure you wish to delete the node:' - let minimal = 'Delete?' - - elseif a:action ==# 'deleteNonEmpty' - let title = 'Delete the current node' - let info = "STOP! Directory is not empty! To delete, type 'yes'" - let minimal = 'Delete directory?' - - elseif a:action ==# 'move' - let title = 'Rename the current node' - let info = 'Enter the new path for the node:' - let minimal = 'Move to:' - endif - - if g:NERDTreeMenuController.isMinimal() - redraw! " Clear the menu - return minimal . ' ' - else - let divider = '==========================================================' - return title . "\n" . divider . "\n" . info . "\n" - end -endfunction - -"FUNCTION: s:promptToDelBuffer(bufnum, msg){{{1 -"prints out the given msg and, if the user responds by pushing 'y' then the -"buffer with the given bufnum is deleted -" -"Args: -"bufnum: the buffer that may be deleted -"msg: a message that will be echoed to the user asking them if they wish to -" del the buffer -function! s:promptToDelBuffer(bufnum, msg) - echo a:msg - if g:NERDTreeAutoDeleteBuffer || nr2char(getchar()) ==# 'y' - " 1. ensure that all windows which display the just deleted filename - " now display an empty buffer (so a layout is preserved). - " Is not it better to close single tabs with this file only ? - let s:originalTabNumber = tabpagenr() - let s:originalWindowNumber = winnr() - " Go to the next buffer in buffer list if at least one extra buffer is listed - " Otherwise open a new empty buffer - if v:version >= 800 - let l:listedBufferCount = len(getbufinfo({'buflisted':1})) - elseif v:version >= 702 - let l:listedBufferCount = len(filter(range(1, bufnr('$')), 'buflisted(v:val)')) - else - " Ignore buffer count in this case to make sure we keep the old - " behavior - let l:listedBufferCount = 0 - endif - if l:listedBufferCount > 1 - call nerdtree#exec('tabdo windo if winbufnr(0) ==# ' . a:bufnum . " | exec ':bnext! ' | endif", 1) - else - call nerdtree#exec('tabdo windo if winbufnr(0) ==# ' . a:bufnum . " | exec ':enew! ' | endif", 1) - endif - call nerdtree#exec('tabnext ' . s:originalTabNumber, 1) - call nerdtree#exec(s:originalWindowNumber . 'wincmd w', 1) - " 3. We don't need a previous buffer anymore - call nerdtree#exec('bwipeout! ' . a:bufnum, 0) - endif -endfunction - -"FUNCTION: s:renameBuffer(bufNum, newNodeName, isDirectory){{{1 -"The buffer with the given bufNum is replaced with a new one -" -"Args: -"bufNum: the buffer that may be deleted -"newNodeName: the name given to the renamed node -"isDirectory: determines how to do the create the new filenames -function! s:renameBuffer(bufNum, newNodeName, isDirectory) - if a:isDirectory - let quotedFileName = fnameescape(a:newNodeName . '/' . fnamemodify(bufname(a:bufNum),':t')) - let editStr = g:NERDTreePath.New(a:newNodeName . '/' . fnamemodify(bufname(a:bufNum),':t')).str({'format': 'Edit'}) - else - let quotedFileName = fnameescape(a:newNodeName) - let editStr = g:NERDTreePath.New(a:newNodeName).str({'format': 'Edit'}) - endif - " 1. ensure that a new buffer is loaded - call nerdtree#exec('badd ' . quotedFileName, 0) - " 2. ensure that all windows which display the just deleted filename - " display a buffer for a new filename. - let s:originalTabNumber = tabpagenr() - let s:originalWindowNumber = winnr() - call nerdtree#exec('tabdo windo if winbufnr(0) ==# ' . a:bufNum . " | exec ':e! " . editStr . "' | endif", 0) - call nerdtree#exec('tabnext ' . s:originalTabNumber, 1) - call nerdtree#exec(s:originalWindowNumber . 'wincmd w', 1) - " 3. We don't need a previous buffer anymore - try - call nerdtree#exec('confirm bwipeout ' . a:bufNum, 0) - catch - " This happens when answering Cancel if confirmation is needed. Do nothing. - endtry -endfunction - -"FUNCTION: NERDTreeAddNode(){{{1 -function! NERDTreeAddNode() - let curDirNode = g:NERDTreeDirNode.GetSelected() - let prompt = s:inputPrompt('add') - let newNodeName = input(prompt, curDirNode.path.str() . g:NERDTreePath.Slash(), 'file') - - if newNodeName ==# '' - call nerdtree#echo('Node Creation Aborted.') - return - endif - - try - let newPath = g:NERDTreePath.Create(newNodeName) - let parentNode = b:NERDTree.root.findNode(newPath.getParent()) - - let newTreeNode = g:NERDTreeFileNode.New(newPath, b:NERDTree) - " Emptying g:NERDTreeOldSortOrder forces the sort to - " recalculate the cached sortKey so nodes sort correctly. - let g:NERDTreeOldSortOrder = [] - if empty(parentNode) - call b:NERDTree.root.refresh() - call b:NERDTree.render() - elseif parentNode.isOpen || !empty(parentNode.children) - call parentNode.addChild(newTreeNode, 1) - call NERDTreeRender() - call newTreeNode.putCursorHere(1, 0) - endif - - redraw! - catch /^NERDTree/ - call nerdtree#echoWarning('Node Not Created.') - endtry -endfunction - -"FUNCTION: NERDTreeMoveNode(){{{1 -function! NERDTreeMoveNode() - let curNode = g:NERDTreeFileNode.GetSelected() - let prompt = s:inputPrompt('move') - let newNodePath = input(prompt, curNode.path.str(), 'file') - while filereadable(newNodePath) - call nerdtree#echoWarning('This destination already exists. Try again.') - let newNodePath = input(prompt, curNode.path.str(), 'file') - endwhile - - - if newNodePath ==# '' - call nerdtree#echo('Node Renaming Aborted.') - return - endif - - try - if curNode.path.isDirectory - let l:curPath = escape(curNode.path.str(),'\') . (nerdtree#runningWindows()?'\\':'/') . '.*' - let l:openBuffers = filter(range(1,bufnr('$')),'bufexists(v:val) && fnamemodify(bufname(v:val),":p") =~# "'.escape(l:curPath,'\').'"') - else - let l:openBuffers = filter(range(1,bufnr('$')),'bufexists(v:val) && fnamemodify(bufname(v:val),":p") ==# curNode.path.str()') - endif - - call curNode.rename(newNodePath) - " Emptying g:NERDTreeOldSortOrder forces the sort to - " recalculate the cached sortKey so nodes sort correctly. - let g:NERDTreeOldSortOrder = [] - call b:NERDTree.root.refresh() - call NERDTreeRender() - - " If the file node is open, or files under the directory node are - " open, ask the user if they want to replace the file(s) with the - " renamed files. - if !empty(l:openBuffers) - if curNode.path.isDirectory - echo "\nDirectory renamed.\n\nFiles with the old directory name are open in buffers " . join(l:openBuffers, ', ') . '. Replace these buffers with the new files? (yN)' - else - echo "\nFile renamed.\n\nThe old file is open in buffer " . l:openBuffers[0] . '. Replace this buffer with the new file? (yN)' - endif - if g:NERDTreeAutoDeleteBuffer || nr2char(getchar()) ==# 'y' - for bufNum in l:openBuffers - call s:renameBuffer(bufNum, newNodePath, curNode.path.isDirectory) - endfor - endif - endif - - call curNode.putCursorHere(1, 0) - - redraw! - catch /^NERDTree/ - call nerdtree#echoWarning('Node Not Renamed.') - endtry -endfunction - -" FUNCTION: NERDTreeDeleteNode() {{{1 -function! NERDTreeDeleteNode() - let l:shellslash = &shellslash - let &shellslash = 0 - let currentNode = g:NERDTreeFileNode.GetSelected() - let confirmed = 0 - - if currentNode.path.isDirectory && ((currentNode.isOpen && currentNode.getChildCount() > 0) || - \ (len(currentNode._glob('*', 1)) > 0)) - let prompt = s:inputPrompt('deleteNonEmpty') . currentNode.path.str() . ': ' - let choice = input(prompt) - let confirmed = choice ==# 'yes' - else - let prompt = s:inputPrompt('delete') . currentNode.path.str() . ' (yN): ' - echo prompt - let choice = nr2char(getchar()) - let confirmed = choice ==# 'y' - endif - - if confirmed - try - call currentNode.delete() - call NERDTreeRender() - - "if the node is open in a buffer, ask the user if they want to - "close that buffer - let bufnum = bufnr('^'.currentNode.path.str().'$') - if buflisted(bufnum) - let prompt = "\nNode deleted.\n\nThe file is open in buffer ". bufnum . (bufwinnr(bufnum) ==# -1 ? ' (hidden)' : '') .'. Delete this buffer? (yN)' - call s:promptToDelBuffer(bufnum, prompt) - endif - - redraw! - catch /^NERDTree/ - call nerdtree#echoWarning('Could not remove node') - endtry - else - call nerdtree#echo('delete aborted') - endif - let &shellslash = l:shellslash -endfunction - -" FUNCTION: NERDTreeListNode() {{{1 -function! NERDTreeListNode() - let treenode = g:NERDTreeFileNode.GetSelected() - if !empty(treenode) - let s:uname = system('uname') - let stat_cmd = 'stat -c "%s" ' - - if s:uname =~? 'Darwin' - let stat_cmd = 'stat -f "%z" ' - endif - - let cmd = 'size=$(' . stat_cmd . shellescape(treenode.path.str()) . ') && ' . - \ 'size_with_commas=$(echo $size | sed -e :a -e "s/\(.*[0-9]\)\([0-9]\{3\}\)/\1,\2/;ta") && ' . - \ 'ls -ld ' . shellescape(treenode.path.str()) . ' | sed -e "s/ $size / $size_with_commas /"' - - let metadata = split(system(cmd),'\n') - call nerdtree#echo(metadata[0]) - else - call nerdtree#echo('No information available') - endif -endfunction - -" FUNCTION: NERDTreeListNodeWin32() {{{1 -function! NERDTreeListNodeWin32() - let l:node = g:NERDTreeFileNode.GetSelected() - - if !empty(l:node) - let l:path = l:node.path.str() - call nerdtree#echo(printf('%s:%s MOD:%s BYTES:%d PERMISSIONS:%s', - \ toupper(getftype(l:path)), - \ fnamemodify(l:path, ':t'), - \ strftime('%c', getftime(l:path)), - \ getfsize(l:path), - \ getfperm(l:path))) - return - endif - - call nerdtree#echo('node not recognized') -endfunction - -" FUNCTION: NERDTreeCopyNode() {{{1 -function! NERDTreeCopyNode() - let l:shellslash = &shellslash - let &shellslash = 0 - let currentNode = g:NERDTreeFileNode.GetSelected() - let prompt = s:inputPrompt('copy') - let newNodePath = input(prompt, currentNode.path.str(), 'file') - - if newNodePath !=# '' - "strip trailing slash - let newNodePath = substitute(newNodePath, '\/$', '', '') - - let confirmed = 1 - if currentNode.path.copyingWillOverwrite(newNodePath) - call nerdtree#echo('Warning: copying may overwrite files! Continue? (yN)') - let choice = nr2char(getchar()) - let confirmed = choice ==# 'y' - endif - - if confirmed - try - let newNode = currentNode.copy(newNodePath) - " Emptying g:NERDTreeOldSortOrder forces the sort to - " recalculate the cached sortKey so nodes sort correctly. - let g:NERDTreeOldSortOrder = [] - if empty(newNode) - call b:NERDTree.root.refresh() - call b:NERDTree.render() - else - call NERDTreeRender() - call newNode.putCursorHere(0, 0) - endif - catch /^NERDTree/ - call nerdtree#echoWarning('Could not copy node') - endtry - endif - else - call nerdtree#echo('Copy aborted.') - endif - let &shellslash = l:shellslash - redraw! -endfunction - -" FUNCTION: NERDTreeCopyPath() {{{1 -function! NERDTreeCopyPath() - let l:nodePath = g:NERDTreeFileNode.GetSelected().path.str() - if has('clipboard') - if &clipboard ==# 'unnamedplus' - let @+ = l:nodePath - else - let @* = l:nodePath - endif - call nerdtree#echo('The path [' . l:nodePath . '] was copied to your clipboard.') - else - call nerdtree#echo('The full path is: ' . l:nodePath) - endif -endfunction - -" FUNCTION: NERDTreeQuickLook() {{{1 -function! NERDTreeQuickLook() - let l:node = g:NERDTreeFileNode.GetSelected() - - if empty(l:node) - return - endif - - call system('qlmanage -p 2>/dev/null ' . shellescape(l:node.path.str())) -endfunction - -" FUNCTION: NERDTreeRevealInFinder() {{{1 -function! NERDTreeRevealInFinder() - let l:node = g:NERDTreeFileNode.GetSelected() - - if empty(l:node) - return - endif - - call system('open -R ' . shellescape(l:node.path.str())) -endfunction - -" FUNCTION: NERDTreeExecuteFile() {{{1 -function! NERDTreeExecuteFile() - let l:node = g:NERDTreeFileNode.GetSelected() - - if empty(l:node) - return - endif - - call system('open ' . shellescape(l:node.path.str())) -endfunction - -" FUNCTION: NERDTreeRevealFileLinux() {{{1 -function! NERDTreeRevealFileLinux() - let l:node = g:NERDTreeFileNode.GetSelected() - - if empty(l:node) - return - endif - - " Handle the edge case of "/", which has no parent. - if l:node.path.str() ==# '/' - call system('xdg-open /') - return - endif - - if empty(l:node.parent) - return - endif - - call system('xdg-open ' . shellescape(l:node.parent.path.str())) -endfunction - -" FUNCTION: NERDTreeExecuteFileLinux() {{{1 -function! NERDTreeExecuteFileLinux() - let l:node = g:NERDTreeFileNode.GetSelected() - - if empty(l:node) - return - endif - - call system('xdg-open ' . shellescape(l:node.path.str())) -endfunction - -" FUNCTION: NERDTreeExecuteFileWindows() {{{1 -function! NERDTreeExecuteFileWindows() - let l:node = g:NERDTreeFileNode.GetSelected() - - if empty(l:node) - return - endif - - call system('cmd.exe /c start "" ' . shellescape(l:node.path.str())) -endfunction - -" vim: set sw=4 sts=4 et fdm=marker: diff --git a/vim/.vim_runtime/sources_non_forked/nerdtree/nerdtree_plugin/vcs.vim b/vim/.vim_runtime/sources_non_forked/nerdtree/nerdtree_plugin/vcs.vim deleted file mode 100644 index d20e35e..0000000 --- a/vim/.vim_runtime/sources_non_forked/nerdtree/nerdtree_plugin/vcs.vim +++ /dev/null @@ -1,47 +0,0 @@ -" ============================================================================ -" File: vcs.vim -" Description: NERDTree plugin that provides a command to open on the root of -" a version control system repository. -" Maintainer: Phil Runninger -" License: This program is free software. It comes without any warranty, -" to the extent permitted by applicable law. You can redistribute -" it and/or modify it under the terms of the Do What The Fuck You -" Want To Public License, Version 2, as published by Sam Hocevar. -" See http://sam.zoy.org/wtfpl/COPYING for more details. -" -" ============================================================================ -command! -n=? -complete=dir -bar NERDTreeVCS :call CreateTabTreeVCS('') -command! -n=? -complete=dir -bar NERDTreeToggleVCS :call ToggleTabTreeVCS('') - -" FUNCTION: s:CreateTabTreeVCS(a:name) {{{1 -function! s:CreateTabTreeVCS(name) - let l:path = g:NERDTreeCreator._pathForString(a:name) - let l:path = s:FindParentVCSRoot(l:path) - call g:NERDTreeCreator.createTabTree(empty(l:path) ? '' : l:path._str()) -endfunction - -" FUNCTION: s:ToggleTabTreeVCS(a:name) {{{1 -" Behaves the same as ToggleTabTree except roots directory at VCS root -function! s:ToggleTabTreeVCS(name) - let l:path = g:NERDTreeCreator._pathForString(a:name) - let l:path = s:FindParentVCSRoot(l:path) - call g:NERDTreeCreator.toggleTabTree(empty(l:path) ? '' : l:path._str()) -endfunction - -" FUNCTION: s:FindParentVCSRoot(a:path) {{{1 -" Finds the root version control system folder of the given path. If a:path is -" not part of a repository, return the original path. -function! s:FindParentVCSRoot(path) - let l:path = a:path - while !empty(l:path) && - \ l:path._str() !~# '^\(\a:[\\\/]\|\/\)$' && - \ !isdirectory(l:path._str() . '/.git') && - \ !isdirectory(l:path._str() . '/.svn') && - \ !isdirectory(l:path._str() . '/.hg') && - \ !isdirectory(l:path._str() . '/.bzr') && - \ !isdirectory(l:path._str() . '/_darcs') - let l:path = l:path.getParent() - endwhile - return (empty(l:path) || l:path._str() =~# '^\(\a:[\\\/]\|\/\)$') ? a:path : l:path -endfunction - diff --git a/vim/.vim_runtime/sources_non_forked/nerdtree/plugin/NERD_tree.vim b/vim/.vim_runtime/sources_non_forked/nerdtree/plugin/NERD_tree.vim deleted file mode 100644 index ca8070d..0000000 --- a/vim/.vim_runtime/sources_non_forked/nerdtree/plugin/NERD_tree.vim +++ /dev/null @@ -1,261 +0,0 @@ -" ============================================================================ -" File: NERD_tree.vim -" Maintainer: Martin Grenfell -" License: This program is free software. It comes without any warranty, -" to the extent permitted by applicable law. You can redistribute -" it and/or modify it under the terms of the Do What The Fuck You -" Want To Public License, Version 2, as published by Sam Hocevar. -" See http://sam.zoy.org/wtfpl/COPYING for more details. -" -" ============================================================================ -" -" SECTION: Script init stuff {{{1 -"============================================================ -scriptencoding utf-8 - -if exists('loaded_nerd_tree') - finish -endif -if v:version < 703 - echoerr "NERDTree: this plugin requires vim >= 7.3. DOWNLOAD IT! You'll thank me later!" - finish -endif -let loaded_nerd_tree = 1 - -"for line continuation - i.e dont want C in &cpoptions -let s:old_cpo = &cpoptions -set cpoptions&vim - -"Function: s:initVariable() function {{{2 -"This function is used to initialise a given variable to a given value. The -"variable is only initialised if it does not exist prior -" -"Args: -"var: the name of the var to be initialised -"value: the value to initialise var to -" -"Returns: -"1 if the var is set, 0 otherwise -function! s:initVariable(var, value) - if !exists(a:var) - exec 'let ' . a:var . ' = ' . "'" . substitute(a:value, "'", "''", 'g') . "'" - return 1 - endif - return 0 -endfunction - -"SECTION: Init variable calls and other random constants {{{2 -call s:initVariable('g:NERDTreeAutoCenter', 1) -call s:initVariable('g:NERDTreeAutoCenterThreshold', 3) -call s:initVariable('g:NERDTreeCaseSensitiveSort', 0) -call s:initVariable('g:NERDTreeNaturalSort', 0) -call s:initVariable('g:NERDTreeSortHiddenFirst', 1) -call s:initVariable('g:NERDTreeUseTCD', 0) -call s:initVariable('g:NERDTreeChDirMode', 0) -call s:initVariable('g:NERDTreeCreatePrefix', 'silent') -call s:initVariable('g:NERDTreeMinimalUI', 0) -call s:initVariable('g:NERDTreeMinimalMenu', 0) -if !exists('g:NERDTreeIgnore') - let g:NERDTreeIgnore = ['\~$'] -endif -call s:initVariable('g:NERDTreeBookmarksFile', expand('$HOME') . '/.NERDTreeBookmarks') -call s:initVariable('g:NERDTreeBookmarksSort', 1) -call s:initVariable('g:NERDTreeHighlightCursorline', 1) -call s:initVariable('g:NERDTreeHijackNetrw', 1) -call s:initVariable('g:NERDTreeMarkBookmarks', 1) -call s:initVariable('g:NERDTreeMouseMode', 1) -call s:initVariable('g:NERDTreeNotificationThreshold', 100) -call s:initVariable('g:NERDTreeQuitOnOpen', 0) -call s:initVariable('g:NERDTreeRespectWildIgnore', 0) -call s:initVariable('g:NERDTreeShowBookmarks', 0) -call s:initVariable('g:NERDTreeShowFiles', 1) -call s:initVariable('g:NERDTreeShowHidden', 0) -call s:initVariable('g:NERDTreeShowLineNumbers', 0) -call s:initVariable('g:NERDTreeSortDirs', 1) - -if !nerdtree#runningWindows() && !nerdtree#runningCygwin() - call s:initVariable('g:NERDTreeDirArrowExpandable', '▸') - call s:initVariable('g:NERDTreeDirArrowCollapsible', '▾') -else - call s:initVariable('g:NERDTreeDirArrowExpandable', '+') - call s:initVariable('g:NERDTreeDirArrowCollapsible', '~') -endif - -call s:initVariable('g:NERDTreeCascadeOpenSingleChildDir', 1) -call s:initVariable('g:NERDTreeCascadeSingleChildDir', 1) - -if !exists('g:NERDTreeSortOrder') - let g:NERDTreeSortOrder = ['\/$', '*', '\.swp$', '\.bak$', '\~$'] -endif -let g:NERDTreeOldSortOrder = [] - -call s:initVariable('g:NERDTreeGlyphReadOnly', 'RO') - -if has('conceal') - call s:initVariable('g:NERDTreeNodeDelimiter', "\x07") -elseif (g:NERDTreeDirArrowExpandable ==# "\u00a0" || g:NERDTreeDirArrowCollapsible ==# "\u00a0") - call s:initVariable('g:NERDTreeNodeDelimiter', "\u00b7") -else - call s:initVariable('g:NERDTreeNodeDelimiter', "\u00a0") -endif - -if !exists('g:NERDTreeStatusline') - - "the exists() crap here is a hack to stop vim spazzing out when - "loading a session that was created with an open nerd tree. It spazzes - "because it doesnt store b:NERDTree(its a b: var, and its a hash) - let g:NERDTreeStatusline = "%{exists('b:NERDTree')?b:NERDTree.root.path.str():''}" - -endif -call s:initVariable('g:NERDTreeWinPos', 'left') -call s:initVariable('g:NERDTreeWinSize', 31) - -"init the shell commands that will be used to copy nodes, and remove dir trees -" -"Note: the space after the command is important -if nerdtree#runningWindows() - call s:initVariable('g:NERDTreeRemoveDirCmd', 'rmdir /s /q ') - call s:initVariable('g:NERDTreeCopyDirCmd', 'xcopy /s /e /i /y /q ') - call s:initVariable('g:NERDTreeCopyFileCmd', 'copy /y ') -else - call s:initVariable('g:NERDTreeRemoveDirCmd', 'rm -rf ') - call s:initVariable('g:NERDTreeCopyCmd', 'cp -r ') -endif - - -"SECTION: Init variable calls for key mappings {{{2 -call s:initVariable('g:NERDTreeMapCustomOpen', '') -call s:initVariable('g:NERDTreeMapActivateNode', 'o') -call s:initVariable('g:NERDTreeMapChangeRoot', 'C') -call s:initVariable('g:NERDTreeMapChdir', 'cd') -call s:initVariable('g:NERDTreeMapCloseChildren', 'X') -call s:initVariable('g:NERDTreeMapCloseDir', 'x') -call s:initVariable('g:NERDTreeMapDeleteBookmark', 'D') -call s:initVariable('g:NERDTreeMapMenu', 'm') -call s:initVariable('g:NERDTreeMapHelp', '?') -call s:initVariable('g:NERDTreeMapJumpFirstChild', 'K') -call s:initVariable('g:NERDTreeMapJumpLastChild', 'J') -call s:initVariable('g:NERDTreeMapJumpNextSibling', '') -call s:initVariable('g:NERDTreeMapJumpParent', 'p') -call s:initVariable('g:NERDTreeMapJumpPrevSibling', '') -call s:initVariable('g:NERDTreeMapJumpRoot', 'P') -call s:initVariable('g:NERDTreeMapOpenExpl', 'e') -call s:initVariable('g:NERDTreeMapOpenInTab', 't') -call s:initVariable('g:NERDTreeMapOpenInTabSilent', 'T') -call s:initVariable('g:NERDTreeMapOpenRecursively', 'O') -call s:initVariable('g:NERDTreeMapOpenSplit', 'i') -call s:initVariable('g:NERDTreeMapOpenVSplit', 's') -call s:initVariable('g:NERDTreeMapPreview', 'g' . NERDTreeMapActivateNode) -call s:initVariable('g:NERDTreeMapPreviewSplit', 'g' . NERDTreeMapOpenSplit) -call s:initVariable('g:NERDTreeMapPreviewVSplit', 'g' . NERDTreeMapOpenVSplit) -call s:initVariable('g:NERDTreeMapQuit', 'q') -call s:initVariable('g:NERDTreeMapRefresh', 'r') -call s:initVariable('g:NERDTreeMapRefreshRoot', 'R') -call s:initVariable('g:NERDTreeMapToggleBookmarks', 'B') -call s:initVariable('g:NERDTreeMapToggleFiles', 'F') -call s:initVariable('g:NERDTreeMapToggleFilters', 'f') -call s:initVariable('g:NERDTreeMapToggleHidden', 'I') -call s:initVariable('g:NERDTreeMapToggleZoom', 'A') -call s:initVariable('g:NERDTreeMapUpdir', 'u') -call s:initVariable('g:NERDTreeMapUpdirKeepOpen', 'U') -call s:initVariable('g:NERDTreeMapCWD', 'CD') -call s:initVariable('g:NERDTreeMenuDown', 'j') -call s:initVariable('g:NERDTreeMenuUp', 'k') - -"SECTION: Load class files{{{2 -call nerdtree#loadClassFiles() - -" SECTION: Commands {{{1 -"============================================================ -call nerdtree#ui_glue#setupCommands() - -" SECTION: Auto commands {{{1 -"============================================================ -augroup NERDTree - "Save the cursor position whenever we close the nerd tree - exec 'autocmd BufLeave,WinLeave '. g:NERDTreeCreator.BufNamePrefix() .'* if g:NERDTree.IsOpen() | call b:NERDTree.ui.saveScreenState() | endif' - - "disallow insert mode in the NERDTree - exec 'autocmd BufEnter,WinEnter '. g:NERDTreeCreator.BufNamePrefix() .'* stopinsert' -augroup END - -if g:NERDTreeHijackNetrw - augroup NERDTreeHijackNetrw - autocmd VimEnter * silent! autocmd! FileExplorer - au BufEnter,VimEnter * call nerdtree#checkForBrowse(expand('')) - augroup END -endif - -if g:NERDTreeChDirMode ==# 3 - augroup NERDTreeChDirOnTabSwitch - autocmd TabEnter * if g:NERDTree.ExistsForTab()|call g:NERDTree.ForCurrentTab().getRoot().path.changeToDir()|endif - augroup END -endif - -" SECTION: Public API {{{1 -"============================================================ -function! NERDTreeAddMenuItem(options) - call g:NERDTreeMenuItem.Create(a:options) -endfunction - -function! NERDTreeAddMenuSeparator(...) - let opts = a:0 ? a:1 : {} - call g:NERDTreeMenuItem.CreateSeparator(opts) -endfunction - -function! NERDTreeAddSubmenu(options) - return g:NERDTreeMenuItem.Create(a:options) -endfunction - -function! NERDTreeAddKeyMap(options) - call g:NERDTreeKeyMap.Create(a:options) -endfunction - -function! NERDTreeRender() - call nerdtree#renderView() -endfunction - -function! NERDTreeFocus() - if g:NERDTree.IsOpen() - call g:NERDTree.CursorToTreeWin(0) - else - call g:NERDTreeCreator.ToggleTabTree('') - endif -endfunction - -function! NERDTreeCWD() - - if empty(getcwd()) - call nerdtree#echoWarning('current directory does not exist') - return - endif - - try - let l:cwdPath = g:NERDTreePath.New(getcwd()) - catch /^NERDTree.InvalidArgumentsError/ - call nerdtree#echoWarning('current directory does not exist') - return - endtry - - call NERDTreeFocus() - - if b:NERDTree.root.path.equals(l:cwdPath) - return - endif - - let l:newRoot = g:NERDTreeFileNode.New(l:cwdPath, b:NERDTree) - call b:NERDTree.changeRoot(l:newRoot) - normal! ^ -endfunction - -function! NERDTreeAddPathFilter(callback) - call g:NERDTree.AddPathFilter(a:callback) -endfunction - -" SECTION: Post Source Actions {{{1 -call nerdtree#postSourceActions() - -"reset &cpoptions back to users setting -let &cpoptions = s:old_cpo - -" vim: set sw=4 sts=4 et fdm=marker: diff --git a/vim/.vim_runtime/sources_non_forked/nerdtree/screenshot.png b/vim/.vim_runtime/sources_non_forked/nerdtree/screenshot.png deleted file mode 100644 index c410c5dbb648c394dc74b90393939aa0ea252bb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 87896 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�OkEM>-if5oLqld#XMc7@CEE>NzgY860qx#tdl$~ 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
  • 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 F{67l|-0c7W diff --git a/vim/.vim_runtime/sources_non_forked/nerdtree/syntax/nerdtree.vim b/vim/.vim_runtime/sources_non_forked/nerdtree/syntax/nerdtree.vim deleted file mode 100644 index fc7269e..0000000 --- a/vim/.vim_runtime/sources_non_forked/nerdtree/syntax/nerdtree.vim +++ /dev/null @@ -1,95 +0,0 @@ -let s:tree_up_dir_line = '.. (up a dir)' -syn match NERDTreeIgnore #\~# -exec 'syn match NERDTreeIgnore #\['.g:NERDTreeGlyphReadOnly.'\]#' - -"highlighting for the .. (up dir) line at the top of the tree -execute "syn match NERDTreeUp #\\V". s:tree_up_dir_line .'#' - -"quickhelp syntax elements -syn match NERDTreeHelpKey #" \{1,2\}[^ ]*:#ms=s+2,me=e-1 -syn match NERDTreeHelpKey #" \{1,2\}[^ ]*,#ms=s+2,me=e-1 -syn match NERDTreeHelpTitle #" .*\~$#ms=s+2,me=e-1 -syn match NERDTreeToggleOn #(on)#ms=s+1,he=e-1 -syn match NERDTreeToggleOff #(off)#ms=e-3,me=e-1 -syn match NERDTreeHelpCommand #" :.\{-}\>#hs=s+3 -syn match NERDTreeHelp #^".*# contains=NERDTreeHelpKey,NERDTreeHelpTitle,NERDTreeIgnore,NERDTreeToggleOff,NERDTreeToggleOn,NERDTreeHelpCommand - -"highlighting for sym links -syn match NERDTreeLinkTarget #->.*# containedin=NERDTreeDir,NERDTreeFile -syn match NERDTreeLinkFile #.* ->#me=e-3 containedin=NERDTreeFile -syn match NERDTreeLinkDir #.*/ ->#me=e-3 containedin=NERDTreeDir - -"highlighting to conceal the delimiter around the file/dir name -if has('conceal') - exec 'syn match NERDTreeNodeDelimiters #\%d' . char2nr(g:NERDTreeNodeDelimiter) . '# conceal containedin=ALL' - setlocal conceallevel=2 concealcursor=nvic -else - exec 'syn match NERDTreeNodeDelimiters #\%d' . char2nr(g:NERDTreeNodeDelimiter) . '# containedin=ALL' - hi! link NERDTreeNodeDelimiters Ignore -endif - -"highlighing for directory nodes and file nodes -syn match NERDTreeDirSlash #/# containedin=NERDTreeDir - -if g:NERDTreeDirArrowExpandable !=# '' - exec 'syn match NERDTreeClosable #' . escape(g:NERDTreeDirArrowCollapsible, '~') . '\ze .*/# containedin=NERDTreeDir,NERDTreeFile' - exec 'syn match NERDTreeOpenable #' . escape(g:NERDTreeDirArrowExpandable, '~') . '\ze .*/# containedin=NERDTreeDir,NERDTreeFile' - let s:dirArrows = escape(g:NERDTreeDirArrowCollapsible, '~]\-').escape(g:NERDTreeDirArrowExpandable, '~]\-') - exec 'syn match NERDTreeDir #[^'.s:dirArrows.' ].*/#' - exec 'syn match NERDTreeExecFile #^.*'.g:NERDTreeNodeDelimiter.'\*\($\| \)# contains=NERDTreeRO,NERDTreeBookmark' - exec 'syn match NERDTreeFile #^[^"\.'.s:dirArrows.'] *[^'.s:dirArrows.']*# contains=NERDTreeLink,NERDTreeRO,NERDTreeBookmark,NERDTreeExecFile' -else - exec 'syn match NERDTreeDir #[^'.g:NERDTreeNodeDelimiter.']\{-}/\ze\($\|'.g:NERDTreeNodeDelimiter.'\)#' - exec 'syn match NERDTreeExecFile #[^'.g:NERDTreeNodeDelimiter.']\{-}'.g:NERDTreeNodeDelimiter.'\*\($\| \)# contains=NERDTreeRO,NERDTreeBookmark' - exec 'syn match NERDTreeFile #^.*'.g:NERDTreeNodeDelimiter.'.*[^\/]\($\|'.g:NERDTreeNodeDelimiter.'.*\)# contains=NERDTreeLink,NERDTreeRO,NERDTreeBookmark,NERDTreeExecFile' -endif - -"highlighting for readonly files -exec 'syn match NERDTreeRO #.*'.g:NERDTreeNodeDelimiter.'\zs.*\ze'.g:NERDTreeNodeDelimiter.'.*\['.g:NERDTreeGlyphReadOnly.'\]# contains=NERDTreeIgnore,NERDTreeBookmark,NERDTreeFile' - -exec 'syn match NERDTreeFlags #\[[^\]]*\]\ze'.g:NERDTreeNodeDelimiter.'# containedin=NERDTreeFile,NERDTreeExecFile,NERDTreeDir' - -syn match NERDTreeCWD #^[# -syn match NERDTreeBookmarksHeader #^>-\+Bookmarks-\+$# contains=NERDTreeBookmarksLeader -syn match NERDTreeBookmarkName #^>.\{-} #he=e-1 contains=NERDTreeBookmarksLeader -syn match NERDTreeBookmark #^>.*$# contains=NERDTreeBookmarksLeader,NERDTreeBookmarkName,NERDTreeBookmarksHeader - -hi def link NERDTreePart Special -hi def link NERDTreePartFile Type -hi def link NERDTreeExecFile Title -hi def link NERDTreeDirSlash Identifier - -hi def link NERDTreeBookmarksHeader statement -hi def link NERDTreeBookmarksLeader ignore -hi def link NERDTreeBookmarkName Identifier -hi def link NERDTreeBookmark normal - -hi def link NERDTreeHelp String -hi def link NERDTreeHelpKey Identifier -hi def link NERDTreeHelpCommand Identifier -hi def link NERDTreeHelpTitle Macro -hi def link NERDTreeToggleOn Question -hi def link NERDTreeToggleOff WarningMsg - -hi def link NERDTreeLinkTarget Type -hi def link NERDTreeLinkFile Macro -hi def link NERDTreeLinkDir Macro - -hi def link NERDTreeDir Directory -hi def link NERDTreeUp Directory -hi def link NERDTreeFile Normal -hi def link NERDTreeCWD Statement -hi def link NERDTreeOpenable Directory -hi def link NERDTreeClosable Directory -hi def link NERDTreeIgnore ignore -hi def link NERDTreeRO WarningMsg -hi def link NERDTreeBookmark Statement -hi def link NERDTreeFlags Number - -hi def link NERDTreeCurrentNode Search diff --git a/vim/.vim_runtime/sources_non_forked/nginx.vim/CHANGELOG.md b/vim/.vim_runtime/sources_non_forked/nginx.vim/CHANGELOG.md deleted file mode 100644 index 9860702..0000000 --- a/vim/.vim_runtime/sources_non_forked/nginx.vim/CHANGELOG.md +++ /dev/null @@ -1,21 +0,0 @@ -CHANGELOG.md

    nginx.vim CHANGELOG

    - -

    This file is used to list changes made in each version of the nginx plugin for the Vim editor.

    - -

    1.1.0

    - -
      -
    • Do not highlight SHA ciphers, as usage as HMAC is still considered secure
    • -
    - -

    1.0.1

    - -
      -
    • Highlight gzip on as insecure (as it might be vulnerable to BREACH/ CRIME)
    • -
    - -

    1.0.0

    - -
      -
    • Initial release
    • -
    diff --git a/vim/.vim_runtime/sources_non_forked/nginx.vim/LICENSE b/vim/.vim_runtime/sources_non_forked/nginx.vim/LICENSE deleted file mode 100644 index 536790d..0000000 --- a/vim/.vim_runtime/sources_non_forked/nginx.vim/LICENSE +++ /dev/null @@ -1,675 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - Vim plugin that highlights insecure SSL/TLS cipher suites and protocols. - Copyright (C) 2017 Chris Aumann - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - nginx.vim Copyright (C) 2017 Chris Aumann - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. - diff --git a/vim/.vim_runtime/sources_non_forked/nginx.vim/README.md b/vim/.vim_runtime/sources_non_forked/nginx.vim/README.md deleted file mode 100644 index 83c8e25..0000000 --- a/vim/.vim_runtime/sources_non_forked/nginx.vim/README.md +++ /dev/null @@ -1,77 +0,0 @@ - -README.md

    nginx.vim

    - -

    Description

    - -

    Vim plugin for Nginx

    - -

    Features

    - -

    The plugin is based on the recent vim-plugin distributed with nginx-1.12.0 and additionally features the following syntax improvements:

    - -
      -
    • Highlight IPv4 and IPv6 addresses
    • -
    • Mark insecure ssl_protocols as errors
    • -
    • Inline template syntax highlight for ERB and Jinja
    • -
    • Inline syntax highlight for LUA
    • -
    • Improve integer matching
    • -
    • Syntax highlighting for proxy_next_upstream options
    • -
    • Syntax highlighting for sticky options
    • -
    • Syntax highlighting for upstream server options
    • -
    • More to come!
    • -
    - -

    Furthermore:

    - -
      -
    • Remove annoying delimiters, resulting in strange word-boundaries
    • -
    - -

    Note: Also check out sslsecure.vim: it supports highlighting insecure SSL/TLS cipher suites and protocols in all your files!

    - -

    Screenshots

    - -

    A server block with highlighting of insecure ssl_protocol options: -nginx server block with SSL configuration

    - -

    An upstream block with highlighted options: -nginx upstream configuration

    - -

    Embedded highlighting for ERB and Jinja templates: -Embedded highlighting for ERB and Jinja templates

    - -

    Embedded LUA syntax highlighting: -Embedded LUA syntax highlighting

    - -

    References

    - -
      -
    • Based on the original nginx-1.12.0/contrib/vim
    • -
    • IPv4 and IPv6 address highlighting, based on expressions found in this forum post
    • -
    • Blog post introducing this plugin including some more examples
    • -
    - -

    For help with secure cipher selection, visit Mozillas SSL Configuration Generator

    - -

    Installation

    - -

    Install using any vim plugin manager. If you’re not familiar with any, go with Plug (vim-plug). -Then install this plugin using the your vim’s plugin manager as follows:

    - -

    Plug

    - -
    Plug 'chr4/nginx.vim'
    - -

    Dein.vim

    - -
    call dein#add('chr4/nginx.vim')
    - -

    Vundle

    - -
    Plugin 'chr4/nginx.vim'
    - -

    Pathogen

    - -
    git clone https://github.com/chr4/nginx.vim ~/.vim/bundle/nginx.vim
    - -

    Optionally, if you like Jinja template syntax highlighting, install lepture/vim-jinja, too.

    diff --git a/vim/.vim_runtime/sources_non_forked/nginx.vim/ftdetect/nginx.vim b/vim/.vim_runtime/sources_non_forked/nginx.vim/ftdetect/nginx.vim deleted file mode 100644 index 0916ca8..0000000 --- a/vim/.vim_runtime/sources_non_forked/nginx.vim/ftdetect/nginx.vim +++ /dev/null @@ -1,6 +0,0 @@ -au BufRead,BufNewFile *.nginx set ft=nginx -au BufRead,BufNewFile nginx*.conf set ft=nginx -au BufRead,BufNewFile *nginx.conf set ft=nginx -au BufRead,BufNewFile */etc/nginx/* set ft=nginx -au BufRead,BufNewFile */usr/local/nginx/conf/* set ft=nginx -au BufRead,BufNewFile */nginx/*.conf set ft=nginx diff --git a/vim/.vim_runtime/sources_non_forked/nginx.vim/ftplugin/nginx.vim b/vim/.vim_runtime/sources_non_forked/nginx.vim/ftplugin/nginx.vim deleted file mode 100644 index 463eea9..0000000 --- a/vim/.vim_runtime/sources_non_forked/nginx.vim/ftplugin/nginx.vim +++ /dev/null @@ -1 +0,0 @@ -setlocal commentstring=#\ %s diff --git a/vim/.vim_runtime/sources_non_forked/nginx.vim/indent/nginx.vim b/vim/.vim_runtime/sources_non_forked/nginx.vim/indent/nginx.vim deleted file mode 100644 index 8601366..0000000 --- a/vim/.vim_runtime/sources_non_forked/nginx.vim/indent/nginx.vim +++ /dev/null @@ -1,11 +0,0 @@ -if exists("b:did_indent") - finish -endif -let b:did_indent = 1 - -setlocal indentexpr= - -" cindent actually works for nginx' simple file structure -setlocal cindent -" Just make sure that the comments are not reset as defs would be. -setlocal cinkeys-=0# diff --git a/vim/.vim_runtime/sources_non_forked/nginx.vim/syntax/nginx.vim b/vim/.vim_runtime/sources_non_forked/nginx.vim/syntax/nginx.vim deleted file mode 100644 index 9d3b92e..0000000 --- a/vim/.vim_runtime/sources_non_forked/nginx.vim/syntax/nginx.vim +++ /dev/null @@ -1,2308 +0,0 @@ -" Vim syntax file -" Language: nginx.conf -" Maintainer: Chris Aumann -" Last Change: Apr 15, 2017 - -if exists("b:current_syntax") - finish -end - -let b:current_syntax = "nginx" - -syn match ngxVariable '\$\(\w\+\|{\w\+}\)' -syn match ngxVariableBlock '\$\(\w\+\|{\w\+}\)' contained -syn match ngxVariableString '\$\(\w\+\|{\w\+}\)' contained -syn region ngxBlock start=+^+ end=+{+ skip=+\${\|{{\|{%+ contains=ngxComment,ngxInteger,ngxIPaddr,ngxDirectiveBlock,ngxVariableBlock,ngxString,ngxThirdPartyLuaBlock oneline -syn region ngxString start=+[^:a-zA-Z>!\\@]\z(["']\)+lc=1 end=+\z1+ skip=+\\\\\|\\\z1+ contains=ngxVariableString,ngxSSLCipherInsecure -syn match ngxComment ' *#.*$' - -" These regular expressions where taken (and adapted) from -" http://vim.1045645.n5.nabble.com/IPv6-support-for-quot-dns-quot-zonefile-syntax-highlighting-td1197292.html -syn match ngxInteger '\W\zs\(\d[0-9.]*\|[0-9.]*\d\)\w\?\ze\W' -syn match ngxIPaddr '\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}' -syn match ngxIPaddr '\[\(\x\{1,4}:\)\{6}\(\x\{1,4}:\x\{1,4}\|\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\]' -syn match ngxIPaddr '\[::\(\(\x\{1,4}:\)\{,6}\x\{1,4}\|\(\x\{1,4}:\)\{,5}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\]' -syn match ngxIPaddr '\[\(\x\{1,4}:\)\{1}:\(\(\x\{1,4}:\)\{,5}\x\{1,4}\|\(\x\{1,4}:\)\{,4}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\]' -syn match ngxIPaddr '\[\(\x\{1,4}:\)\{2}:\(\(\x\{1,4}:\)\{,4}\x\{1,4}\|\(\x\{1,4}:\)\{,3}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\]' -syn match ngxIPaddr '\[\(\x\{1,4}:\)\{3}:\(\(\x\{1,4}:\)\{,3}\x\{1,4}\|\(\x\{1,4}:\)\{,2}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\]' -syn match ngxIPaddr '\[\(\x\{1,4}:\)\{4}:\(\(\x\{1,4}:\)\{,2}\x\{1,4}\|\(\x\{1,4}:\)\{,1}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\]' -syn match ngxIPaddr '\[\(\x\{1,4}:\)\{5}:\(\(\x\{1,4}:\)\{,1}\x\{1,4}\|\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\]' -syn match ngxIPaddr '\[\(\x\{1,4}:\)\{6}:\x\{1,4}\]' - -" Highlight wildcard listening signs also as IPaddr -syn match ngxIPaddr '\s\zs\[::]' -syn match ngxIPaddr '\s\zs\*' - -syn keyword ngxBoolean on -syn keyword ngxBoolean off - -syn keyword ngxDirectiveBlock http contained -syn keyword ngxDirectiveBlock mail contained -syn keyword ngxDirectiveBlock events contained -syn keyword ngxDirectiveBlock server contained -syn keyword ngxDirectiveBlock match contained -syn keyword ngxDirectiveBlock types contained -syn keyword ngxDirectiveBlock location contained -syn keyword ngxDirectiveBlock upstream contained -syn keyword ngxDirectiveBlock charset_map contained -syn keyword ngxDirectiveBlock limit_except contained -syn keyword ngxDirectiveBlock if contained -syn keyword ngxDirectiveBlock geo contained -syn keyword ngxDirectiveBlock map contained -syn keyword ngxDirectiveBlock split_clients contained - -syn keyword ngxDirectiveImportant include -syn keyword ngxDirectiveImportant root -syn keyword ngxDirectiveImportant server contained -syn region ngxDirectiveImportantServer matchgroup=ngxDirectiveImportant start=+^\s*\zsserver\ze\s.*;+ skip=+\\\\\|\\\;+ end=+;+he=e-1 contains=ngxUpstreamServerOptions,ngxString,ngxIPaddr,ngxBoolean,ngxInteger,ngxTemplateVar -syn keyword ngxDirectiveImportant server_name -syn keyword ngxDirectiveImportant listen contained -syn region ngxDirectiveImportantListen matchgroup=ngxDirectiveImportant start=+listen+ skip=+\\\\\|\\\;+ end=+;+he=e-1 contains=ngxListenOptions,ngxString,ngxIPaddr,ngxBoolean,ngxInteger,ngxTemplateVar -syn keyword ngxDirectiveImportant internal -syn keyword ngxDirectiveImportant proxy_pass -syn keyword ngxDirectiveImportant memcached_pass -syn keyword ngxDirectiveImportant fastcgi_pass -syn keyword ngxDirectiveImportant scgi_pass -syn keyword ngxDirectiveImportant uwsgi_pass -syn keyword ngxDirectiveImportant try_files -syn keyword ngxDirectiveImportant error_page -syn keyword ngxDirectiveImportant post_action - -syn keyword ngxUpstreamServerOptions weight contained -syn keyword ngxUpstreamServerOptions max_conns contained -syn keyword ngxUpstreamServerOptions max_fails contained -syn keyword ngxUpstreamServerOptions fail_timeout contained -syn keyword ngxUpstreamServerOptions backup contained -syn keyword ngxUpstreamServerOptions down contained -syn keyword ngxUpstreamServerOptions resolve contained -syn keyword ngxUpstreamServerOptions route contained -syn keyword ngxUpstreamServerOptions service contained -syn keyword ngxUpstreamServerOptions default_server contained -syn keyword ngxUpstreamServerOptions slow_start contained - -syn keyword ngxListenOptions default_server contained -syn keyword ngxListenOptions ssl contained -syn keyword ngxListenOptions http2 contained -syn keyword ngxListenOptions spdy contained -syn keyword ngxListenOptions proxy_protocol contained -syn keyword ngxListenOptions setfib contained -syn keyword ngxListenOptions fastopen contained -syn keyword ngxListenOptions backlog contained -syn keyword ngxListenOptions rcvbuf contained -syn keyword ngxListenOptions sndbuf contained -syn keyword ngxListenOptions accept_filter contained -syn keyword ngxListenOptions deferred contained -syn keyword ngxListenOptions bind contained -syn keyword ngxListenOptions ipv6only contained -syn keyword ngxListenOptions reuseport contained -syn keyword ngxListenOptions so_keepalive contained -syn keyword ngxListenOptions keepidle contained - -syn keyword ngxDirectiveControl break -syn keyword ngxDirectiveControl return -syn keyword ngxDirectiveControl rewrite -syn keyword ngxDirectiveControl set - -syn keyword ngxDirectiveDeprecated connections -syn keyword ngxDirectiveDeprecated imap -syn keyword ngxDirectiveDeprecated limit_zone -syn keyword ngxDirectiveDeprecated mysql_test -syn keyword ngxDirectiveDeprecated open_file_cache_retest -syn keyword ngxDirectiveDeprecated optimize_server_names -syn keyword ngxDirectiveDeprecated satisfy_any -syn keyword ngxDirectiveDeprecated so_keepalive - -syn keyword ngxDirective absolute_redirect -syn keyword ngxDirective accept_mutex -syn keyword ngxDirective accept_mutex_delay -syn keyword ngxDirective acceptex_read -syn keyword ngxDirective access_log -syn keyword ngxDirective add_after_body -syn keyword ngxDirective add_before_body -syn keyword ngxDirective add_header -syn keyword ngxDirective addition_types -syn keyword ngxDirective aio -syn keyword ngxDirective aio_write -syn keyword ngxDirective alias -syn keyword ngxDirective allow -syn keyword ngxDirective ancient_browser -syn keyword ngxDirective ancient_browser_value -syn keyword ngxDirective auth_basic -syn keyword ngxDirective auth_basic_user_file -syn keyword ngxDirective auth_http -syn keyword ngxDirective auth_http_header -syn keyword ngxDirective auth_http_pass_client_cert -syn keyword ngxDirective auth_http_timeout -syn keyword ngxDirective auth_jwt -syn keyword ngxDirective auth_jwt_key_file -syn keyword ngxDirective auth_request -syn keyword ngxDirective auth_request_set -syn keyword ngxDirective autoindex -syn keyword ngxDirective autoindex_exact_size -syn keyword ngxDirective autoindex_format -syn keyword ngxDirective autoindex_localtime -syn keyword ngxDirective charset -syn keyword ngxDirective charset_map -syn keyword ngxDirective charset_types -syn keyword ngxDirective chunked_transfer_encoding -syn keyword ngxDirective client_body_buffer_size -syn keyword ngxDirective client_body_in_file_only -syn keyword ngxDirective client_body_in_single_buffer -syn keyword ngxDirective client_body_temp_path -syn keyword ngxDirective client_body_timeout -syn keyword ngxDirective client_header_buffer_size -syn keyword ngxDirective client_header_timeout -syn keyword ngxDirective client_max_body_size -syn keyword ngxDirective connection_pool_size -syn keyword ngxDirective create_full_put_path -syn keyword ngxDirective daemon -syn keyword ngxDirective dav_access -syn keyword ngxDirective dav_methods -syn keyword ngxDirective debug_connection -syn keyword ngxDirective debug_points -syn keyword ngxDirective default_type -syn keyword ngxDirective degradation -syn keyword ngxDirective degrade -syn keyword ngxDirective deny -syn keyword ngxDirective devpoll_changes -syn keyword ngxDirective devpoll_events -syn keyword ngxDirective directio -syn keyword ngxDirective directio_alignment -syn keyword ngxDirective disable_symlinks -syn keyword ngxDirective empty_gif -syn keyword ngxDirective env -syn keyword ngxDirective epoll_events -syn keyword ngxDirective error_log -syn keyword ngxDirective etag -syn keyword ngxDirective eventport_events -syn keyword ngxDirective expires -syn keyword ngxDirective f4f -syn keyword ngxDirective f4f_buffer_size -syn keyword ngxDirective fastcgi_bind -syn keyword ngxDirective fastcgi_buffer_size -syn keyword ngxDirective fastcgi_buffering -syn keyword ngxDirective fastcgi_buffers -syn keyword ngxDirective fastcgi_busy_buffers_size -syn keyword ngxDirective fastcgi_cache -syn keyword ngxDirective fastcgi_cache_bypass -syn keyword ngxDirective fastcgi_cache_key -syn keyword ngxDirective fastcgi_cache_lock -syn keyword ngxDirective fastcgi_cache_lock_age -syn keyword ngxDirective fastcgi_cache_lock_timeout -syn keyword ngxDirective fastcgi_cache_max_range_offset -syn keyword ngxDirective fastcgi_cache_methods -syn keyword ngxDirective fastcgi_cache_min_uses -syn keyword ngxDirective fastcgi_cache_path -syn keyword ngxDirective fastcgi_cache_purge -syn keyword ngxDirective fastcgi_cache_revalidate -syn keyword ngxDirective fastcgi_cache_use_stale -syn keyword ngxDirective fastcgi_cache_valid -syn keyword ngxDirective fastcgi_catch_stderr -syn keyword ngxDirective fastcgi_connect_timeout -syn keyword ngxDirective fastcgi_force_ranges -syn keyword ngxDirective fastcgi_hide_header -syn keyword ngxDirective fastcgi_ignore_client_abort -syn keyword ngxDirective fastcgi_ignore_headers -syn keyword ngxDirective fastcgi_index -syn keyword ngxDirective fastcgi_intercept_errors -syn keyword ngxDirective fastcgi_keep_conn -syn keyword ngxDirective fastcgi_limit_rate -syn keyword ngxDirective fastcgi_max_temp_file_size -syn keyword ngxDirective fastcgi_next_upstream -syn keyword ngxDirective fastcgi_next_upstream_timeout -syn keyword ngxDirective fastcgi_next_upstream_tries -syn keyword ngxDirective fastcgi_no_cache -syn keyword ngxDirective fastcgi_param -syn keyword ngxDirective fastcgi_pass_header -syn keyword ngxDirective fastcgi_pass_request_body -syn keyword ngxDirective fastcgi_pass_request_headers -syn keyword ngxDirective fastcgi_read_timeout -syn keyword ngxDirective fastcgi_request_buffering -syn keyword ngxDirective fastcgi_send_lowat -syn keyword ngxDirective fastcgi_send_timeout -syn keyword ngxDirective fastcgi_split_path_info -syn keyword ngxDirective fastcgi_store -syn keyword ngxDirective fastcgi_store_access -syn keyword ngxDirective fastcgi_temp_file_write_size -syn keyword ngxDirective fastcgi_temp_path -syn keyword ngxDirective flv -syn keyword ngxDirective geoip_city -syn keyword ngxDirective geoip_country -syn keyword ngxDirective geoip_org -syn keyword ngxDirective geoip_proxy -syn keyword ngxDirective geoip_proxy_recursive -syn keyword ngxDirective google_perftools_profiles -syn keyword ngxDirective gunzip -syn keyword ngxDirective gunzip_buffers -syn keyword ngxDirective gzip nextgroup=ngxGzipOn,ngxGzipOff skipwhite -syn keyword ngxGzipOn on contained -syn keyword ngxGzipOff off contained -syn keyword ngxDirective gzip_buffers -syn keyword ngxDirective gzip_comp_level -syn keyword ngxDirective gzip_disable -syn keyword ngxDirective gzip_hash -syn keyword ngxDirective gzip_http_version -syn keyword ngxDirective gzip_min_length -syn keyword ngxDirective gzip_no_buffer -syn keyword ngxDirective gzip_proxied -syn keyword ngxDirective gzip_static -syn keyword ngxDirective gzip_types -syn keyword ngxDirective gzip_vary -syn keyword ngxDirective gzip_window -syn keyword ngxDirective hash -syn keyword ngxDirective health_check -syn keyword ngxDirective health_check_timeout -syn keyword ngxDirective hls -syn keyword ngxDirective hls_buffers -syn keyword ngxDirective hls_forward_args -syn keyword ngxDirective hls_fragment -syn keyword ngxDirective hls_mp4_buffer_size -syn keyword ngxDirective hls_mp4_max_buffer_size -syn keyword ngxDirective http2_chunk_size -syn keyword ngxDirective http2_body_preread_size -syn keyword ngxDirective http2_idle_timeout -syn keyword ngxDirective http2_max_concurrent_streams -syn keyword ngxDirective http2_max_field_size -syn keyword ngxDirective http2_max_header_size -syn keyword ngxDirective http2_max_requests -syn keyword ngxDirective http2_recv_buffer_size -syn keyword ngxDirective http2_recv_timeout -syn keyword ngxDirective if_modified_since -syn keyword ngxDirective ignore_invalid_headers -syn keyword ngxDirective image_filter -syn keyword ngxDirective image_filter_buffer -syn keyword ngxDirective image_filter_interlace -syn keyword ngxDirective image_filter_jpeg_quality -syn keyword ngxDirective image_filter_sharpen -syn keyword ngxDirective image_filter_transparency -syn keyword ngxDirective image_filter_webp_quality -syn keyword ngxDirective imap_auth -syn keyword ngxDirective imap_capabilities -syn keyword ngxDirective imap_client_buffer -syn keyword ngxDirective index -syn keyword ngxDirective iocp_threads -syn keyword ngxDirective ip_hash -syn keyword ngxDirective js_access -syn keyword ngxDirective js_content -syn keyword ngxDirective js_filter -syn keyword ngxDirective js_include -syn keyword ngxDirective js_preread -syn keyword ngxDirective js_set -syn keyword ngxDirective keepalive -syn keyword ngxDirective keepalive_disable -syn keyword ngxDirective keepalive_requests -syn keyword ngxDirective keepalive_timeout -syn keyword ngxDirective kqueue_changes -syn keyword ngxDirective kqueue_events -syn keyword ngxDirective large_client_header_buffers -syn keyword ngxDirective least_conn -syn keyword ngxDirective least_time -syn keyword ngxDirective limit_conn -syn keyword ngxDirective limit_conn_dry_run -syn keyword ngxDirective limit_conn_log_level -syn keyword ngxDirective limit_conn_status -syn keyword ngxDirective limit_conn_zone -syn keyword ngxDirective limit_except -syn keyword ngxDirective limit_rate -syn keyword ngxDirective limit_rate_after -syn keyword ngxDirective limit_req -syn keyword ngxDirective limit_req_dry_run -syn keyword ngxDirective limit_req_log_level -syn keyword ngxDirective limit_req_status -syn keyword ngxDirective limit_req_zone -syn keyword ngxDirective lingering_close -syn keyword ngxDirective lingering_time -syn keyword ngxDirective lingering_timeout -syn keyword ngxDirective load_module -syn keyword ngxDirective lock_file -syn keyword ngxDirective log_format -syn keyword ngxDirective log_not_found -syn keyword ngxDirective log_subrequest -syn keyword ngxDirective map_hash_bucket_size -syn keyword ngxDirective map_hash_max_size -syn keyword ngxDirective master_process -syn keyword ngxDirective max_ranges -syn keyword ngxDirective memcached_bind -syn keyword ngxDirective memcached_buffer_size -syn keyword ngxDirective memcached_connect_timeout -syn keyword ngxDirective memcached_force_ranges -syn keyword ngxDirective memcached_gzip_flag -syn keyword ngxDirective memcached_next_upstream -syn keyword ngxDirective memcached_next_upstream_timeout -syn keyword ngxDirective memcached_next_upstream_tries -syn keyword ngxDirective memcached_read_timeout -syn keyword ngxDirective memcached_send_timeout -syn keyword ngxDirective merge_slashes -syn keyword ngxDirective min_delete_depth -syn keyword ngxDirective modern_browser -syn keyword ngxDirective modern_browser_value -syn keyword ngxDirective mp4 -syn keyword ngxDirective mp4_buffer_size -syn keyword ngxDirective mp4_max_buffer_size -syn keyword ngxDirective mp4_limit_rate -syn keyword ngxDirective mp4_limit_rate_after -syn keyword ngxDirective msie_padding -syn keyword ngxDirective msie_refresh -syn keyword ngxDirective multi_accept -syn keyword ngxDirective ntlm -syn keyword ngxDirective open_file_cache -syn keyword ngxDirective open_file_cache_errors -syn keyword ngxDirective open_file_cache_events -syn keyword ngxDirective open_file_cache_min_uses -syn keyword ngxDirective open_file_cache_valid -syn keyword ngxDirective open_log_file_cache -syn keyword ngxDirective output_buffers -syn keyword ngxDirective override_charset -syn keyword ngxDirective pcre_jit -syn keyword ngxDirective perl -syn keyword ngxDirective perl_modules -syn keyword ngxDirective perl_require -syn keyword ngxDirective perl_set -syn keyword ngxDirective pid -syn keyword ngxDirective pop3_auth -syn keyword ngxDirective pop3_capabilities -syn keyword ngxDirective port_in_redirect -syn keyword ngxDirective post_acceptex -syn keyword ngxDirective postpone_gzipping -syn keyword ngxDirective postpone_output -syn keyword ngxDirective preread_buffer_size -syn keyword ngxDirective preread_timeout -syn keyword ngxDirective protocol nextgroup=ngxMailProtocol skipwhite -syn keyword ngxMailProtocol imap pop3 smtp contained -syn keyword ngxDirective proxy -syn keyword ngxDirective proxy_bind -syn keyword ngxDirective proxy_buffer -syn keyword ngxDirective proxy_buffer_size -syn keyword ngxDirective proxy_buffering -syn keyword ngxDirective proxy_buffers -syn keyword ngxDirective proxy_busy_buffers_size -syn keyword ngxDirective proxy_cache -syn keyword ngxDirective proxy_cache_bypass -syn keyword ngxDirective proxy_cache_convert_head -syn keyword ngxDirective proxy_cache_key -syn keyword ngxDirective proxy_cache_lock -syn keyword ngxDirective proxy_cache_lock_age -syn keyword ngxDirective proxy_cache_lock_timeout -syn keyword ngxDirective proxy_cache_max_range_offset -syn keyword ngxDirective proxy_cache_methods -syn keyword ngxDirective proxy_cache_min_uses -syn keyword ngxDirective proxy_cache_path -syn keyword ngxDirective proxy_cache_purge -syn keyword ngxDirective proxy_cache_revalidate -syn keyword ngxDirective proxy_cache_use_stale -syn keyword ngxDirective proxy_cache_valid -syn keyword ngxDirective proxy_connect_timeout -syn keyword ngxDirective proxy_cookie_domain -syn keyword ngxDirective proxy_cookie_path -syn keyword ngxDirective proxy_download_rate -syn keyword ngxDirective proxy_force_ranges -syn keyword ngxDirective proxy_headers_hash_bucket_size -syn keyword ngxDirective proxy_headers_hash_max_size -syn keyword ngxDirective proxy_hide_header -syn keyword ngxDirective proxy_http_version -syn keyword ngxDirective proxy_ignore_client_abort -syn keyword ngxDirective proxy_ignore_headers -syn keyword ngxDirective proxy_intercept_errors -syn keyword ngxDirective proxy_limit_rate -syn keyword ngxDirective proxy_max_temp_file_size -syn keyword ngxDirective proxy_method -syn keyword ngxDirective proxy_next_upstream contained -syn region ngxDirectiveProxyNextUpstream matchgroup=ngxDirective start=+^\s*\zsproxy_next_upstream\ze\s.*;+ skip=+\\\\\|\\\;+ end=+;+he=e-1 contains=ngxProxyNextUpstreamOptions,ngxString,ngxTemplateVar -syn keyword ngxDirective proxy_next_upstream_timeout -syn keyword ngxDirective proxy_next_upstream_tries -syn keyword ngxDirective proxy_no_cache -syn keyword ngxDirective proxy_pass_error_message -syn keyword ngxDirective proxy_pass_header -syn keyword ngxDirective proxy_pass_request_body -syn keyword ngxDirective proxy_pass_request_headers -syn keyword ngxDirective proxy_protocol -syn keyword ngxDirective proxy_protocol_timeout -syn keyword ngxDirective proxy_read_timeout -syn keyword ngxDirective proxy_redirect -syn keyword ngxDirective proxy_request_buffering -syn keyword ngxDirective proxy_responses -syn keyword ngxDirective proxy_send_lowat -syn keyword ngxDirective proxy_send_timeout -syn keyword ngxDirective proxy_set_body -syn keyword ngxDirective proxy_set_header -syn keyword ngxDirective proxy_ssl_certificate -syn keyword ngxDirective proxy_ssl_certificate_key -syn keyword ngxDirective proxy_ssl_ciphers -syn keyword ngxDirective proxy_ssl_crl -syn keyword ngxDirective proxy_ssl_name -syn keyword ngxDirective proxy_ssl_password_file -syn keyword ngxDirective proxy_ssl_protocols nextgroup=ngxSSLProtocol skipwhite -syn keyword ngxDirective proxy_ssl_server_name -syn keyword ngxDirective proxy_ssl_session_reuse -syn keyword ngxDirective proxy_ssl_trusted_certificate -syn keyword ngxDirective proxy_ssl_verify -syn keyword ngxDirective proxy_ssl_verify_depth -syn keyword ngxDirective proxy_store -syn keyword ngxDirective proxy_store_access -syn keyword ngxDirective proxy_temp_file_write_size -syn keyword ngxDirective proxy_temp_path -syn keyword ngxDirective proxy_timeout -syn keyword ngxDirective proxy_upload_rate -syn keyword ngxDirective queue -syn keyword ngxDirective random_index -syn keyword ngxDirective read_ahead -syn keyword ngxDirective real_ip_header -syn keyword ngxDirective real_ip_recursive -syn keyword ngxDirective recursive_error_pages -syn keyword ngxDirective referer_hash_bucket_size -syn keyword ngxDirective referer_hash_max_size -syn keyword ngxDirective request_pool_size -syn keyword ngxDirective reset_timedout_connection -syn keyword ngxDirective resolver -syn keyword ngxDirective resolver_timeout -syn keyword ngxDirective rewrite_log -syn keyword ngxDirective rtsig_overflow_events -syn keyword ngxDirective rtsig_overflow_test -syn keyword ngxDirective rtsig_overflow_threshold -syn keyword ngxDirective rtsig_signo -syn keyword ngxDirective satisfy -syn keyword ngxDirective scgi_bind -syn keyword ngxDirective scgi_buffer_size -syn keyword ngxDirective scgi_buffering -syn keyword ngxDirective scgi_buffers -syn keyword ngxDirective scgi_busy_buffers_size -syn keyword ngxDirective scgi_cache -syn keyword ngxDirective scgi_cache_bypass -syn keyword ngxDirective scgi_cache_key -syn keyword ngxDirective scgi_cache_lock -syn keyword ngxDirective scgi_cache_lock_age -syn keyword ngxDirective scgi_cache_lock_timeout -syn keyword ngxDirective scgi_cache_max_range_offset -syn keyword ngxDirective scgi_cache_methods -syn keyword ngxDirective scgi_cache_min_uses -syn keyword ngxDirective scgi_cache_path -syn keyword ngxDirective scgi_cache_purge -syn keyword ngxDirective scgi_cache_revalidate -syn keyword ngxDirective scgi_cache_use_stale -syn keyword ngxDirective scgi_cache_valid -syn keyword ngxDirective scgi_connect_timeout -syn keyword ngxDirective scgi_force_ranges -syn keyword ngxDirective scgi_hide_header -syn keyword ngxDirective scgi_ignore_client_abort -syn keyword ngxDirective scgi_ignore_headers -syn keyword ngxDirective scgi_intercept_errors -syn keyword ngxDirective scgi_limit_rate -syn keyword ngxDirective scgi_max_temp_file_size -syn keyword ngxDirective scgi_next_upstream -syn keyword ngxDirective scgi_next_upstream_timeout -syn keyword ngxDirective scgi_next_upstream_tries -syn keyword ngxDirective scgi_no_cache -syn keyword ngxDirective scgi_param -syn keyword ngxDirective scgi_pass_header -syn keyword ngxDirective scgi_pass_request_body -syn keyword ngxDirective scgi_pass_request_headers -syn keyword ngxDirective scgi_read_timeout -syn keyword ngxDirective scgi_request_buffering -syn keyword ngxDirective scgi_send_timeout -syn keyword ngxDirective scgi_store -syn keyword ngxDirective scgi_store_access -syn keyword ngxDirective scgi_temp_file_write_size -syn keyword ngxDirective scgi_temp_path -syn keyword ngxDirective secure_link -syn keyword ngxDirective secure_link_md5 -syn keyword ngxDirective secure_link_secret -syn keyword ngxDirective send_lowat -syn keyword ngxDirective send_timeout -syn keyword ngxDirective sendfile -syn keyword ngxDirective sendfile_max_chunk -syn keyword ngxDirective server_name_in_redirect -syn keyword ngxDirective server_names_hash_bucket_size -syn keyword ngxDirective server_names_hash_max_size -syn keyword ngxDirective server_tokens -syn keyword ngxDirective session_log -syn keyword ngxDirective session_log_format -syn keyword ngxDirective session_log_zone -syn keyword ngxDirective set_real_ip_from -syn keyword ngxDirective slice -syn keyword ngxDirective smtp_auth -syn keyword ngxDirective smtp_capabilities -syn keyword ngxDirective smtp_client_buffer -syn keyword ngxDirective smtp_greeting_delay -syn keyword ngxDirective source_charset -syn keyword ngxDirective spdy_chunk_size -syn keyword ngxDirective spdy_headers_comp -syn keyword ngxDirective spdy_keepalive_timeout -syn keyword ngxDirective spdy_max_concurrent_streams -syn keyword ngxDirective spdy_pool_size -syn keyword ngxDirective spdy_recv_buffer_size -syn keyword ngxDirective spdy_recv_timeout -syn keyword ngxDirective spdy_streams_index_size -syn keyword ngxDirective ssi -syn keyword ngxDirective ssi_ignore_recycled_buffers -syn keyword ngxDirective ssi_last_modified -syn keyword ngxDirective ssi_min_file_chunk -syn keyword ngxDirective ssi_silent_errors -syn keyword ngxDirective ssi_types -syn keyword ngxDirective ssi_value_length -syn keyword ngxDirective ssl -syn keyword ngxDirective ssl_buffer_size -syn keyword ngxDirective ssl_certificate -syn keyword ngxDirective ssl_certificate_key -syn keyword ngxDirective ssl_ciphers -syn keyword ngxDirective ssl_client_certificate -syn keyword ngxDirective ssl_crl -syn keyword ngxDirective ssl_dhparam -syn keyword ngxDirective ssl_ecdh_curve -syn keyword ngxDirective ssl_engine -syn keyword ngxDirective ssl_handshake_timeout -syn keyword ngxDirective ssl_password_file -syn keyword ngxDirective ssl_prefer_server_ciphers nextgroup=ngxSSLPreferServerCiphersOff,ngxSSLPreferServerCiphersOn skipwhite -syn keyword ngxSSLPreferServerCiphersOn on contained -syn keyword ngxSSLPreferServerCiphersOff off contained -syn keyword ngxDirective ssl_preread -syn keyword ngxDirective ssl_protocols nextgroup=ngxSSLProtocol,ngxSSLProtocolDeprecated skipwhite -syn match ngxSSLProtocol 'TLSv1' contained nextgroup=ngxSSLProtocol,ngxSSLProtocolDeprecated skipwhite -syn match ngxSSLProtocol 'TLSv1\.1' contained nextgroup=ngxSSLProtocol,ngxSSLProtocolDeprecated skipwhite -syn match ngxSSLProtocol 'TLSv1\.2' contained nextgroup=ngxSSLProtocol,ngxSSLProtocolDeprecated skipwhite -syn match ngxSSLProtocol 'TLSv1\.3' contained nextgroup=ngxSSLProtocol,ngxSSLProtocolDeprecated skipwhite - -" Do not enable highlighting of insecure protocols if sslecure is loaded -if !exists('g:loaded_sslsecure') - syn keyword ngxSSLProtocolDeprecated SSLv2 SSLv3 contained nextgroup=ngxSSLProtocol,ngxSSLProtocolDeprecated skipwhite -else - syn match ngxSSLProtocol 'SSLv2' contained nextgroup=ngxSSLProtocol,ngxSSLProtocolDeprecated skipwhite - syn match ngxSSLProtocol 'SSLv3' contained nextgroup=ngxSSLProtocol,ngxSSLProtocolDeprecated skipwhite -endif - -syn keyword ngxDirective ssl_session_cache -syn keyword ngxDirective ssl_session_ticket_key -syn keyword ngxDirective ssl_session_tickets nextgroup=ngxSSLSessionTicketsOn,ngxSSLSessionTicketsOff skipwhite -syn keyword ngxSSLSessionTicketsOn on contained -syn keyword ngxSSLSessionTicketsOff off contained -syn keyword ngxDirective ssl_session_timeout -syn keyword ngxDirective ssl_stapling -syn keyword ngxDirective ssl_stapling_file -syn keyword ngxDirective ssl_stapling_responder -syn keyword ngxDirective ssl_stapling_verify -syn keyword ngxDirective ssl_trusted_certificate -syn keyword ngxDirective ssl_verify_client -syn keyword ngxDirective ssl_verify_depth -syn keyword ngxDirective starttls -syn keyword ngxDirective state -syn keyword ngxDirective status -syn keyword ngxDirective status_format -syn keyword ngxDirective status_zone -syn keyword ngxDirective sticky contained -syn keyword ngxDirective sticky_cookie_insert contained -syn region ngxDirectiveSticky matchgroup=ngxDirective start=+^\s*\zssticky\ze\s.*;+ skip=+\\\\\|\\\;+ end=+;+he=e-1 contains=ngxCookieOptions,ngxString,ngxBoolean,ngxInteger,ngxTemplateVar -syn keyword ngxDirective stub_status -syn keyword ngxDirective sub_filter -syn keyword ngxDirective sub_filter_last_modified -syn keyword ngxDirective sub_filter_once -syn keyword ngxDirective sub_filter_types -syn keyword ngxDirective tcp_nodelay -syn keyword ngxDirective tcp_nopush -syn keyword ngxDirective thread_pool -syn keyword ngxDirective thread_stack_size -syn keyword ngxDirective timeout -syn keyword ngxDirective timer_resolution -syn keyword ngxDirective types_hash_bucket_size -syn keyword ngxDirective types_hash_max_size -syn keyword ngxDirective underscores_in_headers -syn keyword ngxDirective uninitialized_variable_warn -syn keyword ngxDirective upstream_conf -syn keyword ngxDirective use -syn keyword ngxDirective user -syn keyword ngxDirective userid -syn keyword ngxDirective userid_domain -syn keyword ngxDirective userid_expires -syn keyword ngxDirective userid_mark -syn keyword ngxDirective userid_name -syn keyword ngxDirective userid_p3p -syn keyword ngxDirective userid_path -syn keyword ngxDirective userid_service -syn keyword ngxDirective uwsgi_bind -syn keyword ngxDirective uwsgi_buffer_size -syn keyword ngxDirective uwsgi_buffering -syn keyword ngxDirective uwsgi_buffers -syn keyword ngxDirective uwsgi_busy_buffers_size -syn keyword ngxDirective uwsgi_cache -syn keyword ngxDirective uwsgi_cache_bypass -syn keyword ngxDirective uwsgi_cache_key -syn keyword ngxDirective uwsgi_cache_lock -syn keyword ngxDirective uwsgi_cache_lock_age -syn keyword ngxDirective uwsgi_cache_lock_timeout -syn keyword ngxDirective uwsgi_cache_methods -syn keyword ngxDirective uwsgi_cache_min_uses -syn keyword ngxDirective uwsgi_cache_path -syn keyword ngxDirective uwsgi_cache_purge -syn keyword ngxDirective uwsgi_cache_revalidate -syn keyword ngxDirective uwsgi_cache_use_stale -syn keyword ngxDirective uwsgi_cache_valid -syn keyword ngxDirective uwsgi_connect_timeout -syn keyword ngxDirective uwsgi_force_ranges -syn keyword ngxDirective uwsgi_hide_header -syn keyword ngxDirective uwsgi_ignore_client_abort -syn keyword ngxDirective uwsgi_ignore_headers -syn keyword ngxDirective uwsgi_intercept_errors -syn keyword ngxDirective uwsgi_limit_rate -syn keyword ngxDirective uwsgi_max_temp_file_size -syn keyword ngxDirective uwsgi_modifier1 -syn keyword ngxDirective uwsgi_modifier2 -syn keyword ngxDirective uwsgi_next_upstream -syn keyword ngxDirective uwsgi_next_upstream_timeout -syn keyword ngxDirective uwsgi_next_upstream_tries -syn keyword ngxDirective uwsgi_no_cache -syn keyword ngxDirective uwsgi_param -syn keyword ngxDirective uwsgi_pass -syn keyword ngxDirective uwsgi_pass_header -syn keyword ngxDirective uwsgi_pass_request_body -syn keyword ngxDirective uwsgi_pass_request_headers -syn keyword ngxDirective uwsgi_read_timeout -syn keyword ngxDirective uwsgi_request_buffering -syn keyword ngxDirective uwsgi_send_timeout -syn keyword ngxDirective uwsgi_ssl_certificate -syn keyword ngxDirective uwsgi_ssl_certificate_key -syn keyword ngxDirective uwsgi_ssl_ciphers -syn keyword ngxDirective uwsgi_ssl_crl -syn keyword ngxDirective uwsgi_ssl_name -syn keyword ngxDirective uwsgi_ssl_password_file -syn keyword ngxDirective uwsgi_ssl_protocols nextgroup=ngxSSLProtocol skipwhite -syn keyword ngxDirective uwsgi_ssl_server_name -syn keyword ngxDirective uwsgi_ssl_session_reuse -syn keyword ngxDirective uwsgi_ssl_trusted_certificate -syn keyword ngxDirective uwsgi_ssl_verify -syn keyword ngxDirective uwsgi_ssl_verify_depth -syn keyword ngxDirective uwsgi_store -syn keyword ngxDirective uwsgi_store_access -syn keyword ngxDirective uwsgi_string -syn keyword ngxDirective uwsgi_temp_file_write_size -syn keyword ngxDirective uwsgi_temp_path -syn keyword ngxDirective valid_referers -syn keyword ngxDirective variables_hash_bucket_size -syn keyword ngxDirective variables_hash_max_size -syn keyword ngxDirective worker_aio_requests -syn keyword ngxDirective worker_connections -syn keyword ngxDirective worker_cpu_affinity -syn keyword ngxDirective worker_priority -syn keyword ngxDirective worker_processes -syn keyword ngxDirective worker_rlimit_core -syn keyword ngxDirective worker_rlimit_nofile -syn keyword ngxDirective worker_rlimit_sigpending -syn keyword ngxDirective worker_threads -syn keyword ngxDirective working_directory -syn keyword ngxDirective xclient -syn keyword ngxDirective xml_entities -syn keyword ngxDirective xslt_last_modified -syn keyword ngxDirective xslt_param -syn keyword ngxDirective xslt_string_param -syn keyword ngxDirective xslt_stylesheet -syn keyword ngxDirective xslt_types -syn keyword ngxDirective zone - -" Do not enable highlighting of insecure ciphers if sslecure is loaded -if !exists('g:loaded_sslsecure') - " Mark insecure SSL Ciphers (Note: List might not not complete) - " Reference: https://www.openssl.org/docs/man1.0.2/apps/ciphers.html - syn match ngxSSLCipherInsecure '[^!]\zsSSLv3' - syn match ngxSSLCipherInsecure '[^!]\zsSSLv2' - syn match ngxSSLCipherInsecure '[^!]\zsHIGH' - syn match ngxSSLCipherInsecure '[^!]\zsMEDIUM' - syn match ngxSSLCipherInsecure '[^!]\zsLOW' - syn match ngxSSLCipherInsecure '[^!]\zsDEFAULT' - syn match ngxSSLCipherInsecure '[^!]\zsCOMPLEMENTOFDEFAULT' - syn match ngxSSLCipherInsecure '[^!]\zsALL' - syn match ngxSSLCipherInsecure '[^!]\zsCOMPLEMENTOFALL' - - " SHA ciphers are only used in HMAC with all known OpenSSL/ LibreSSL cipher suites and MAC - " usage is still considered safe - " syn match ngxSSLCipherInsecure '[^!]\zsSHA\ze\D' " Match SHA1 without matching SHA256+ - " syn match ngxSSLCipherInsecure '[^!]\zsSHA1' - syn match ngxSSLCipherInsecure '[^!]\zsMD5' - syn match ngxSSLCipherInsecure '[^!]\zsRC2' - syn match ngxSSLCipherInsecure '[^!]\zsRC4' - syn match ngxSSLCipherInsecure '[^!]\zs3DES' - syn match ngxSSLCipherInsecure '[^!3]\zsDES' - syn match ngxSSLCipherInsecure '[^!]\zsaDSS' - syn match ngxSSLCipherInsecure '[^!a]\zsDSS' - syn match ngxSSLCipherInsecure '[^!]\zsPSK' - syn match ngxSSLCipherInsecure '[^!]\zsIDEA' - syn match ngxSSLCipherInsecure '[^!]\zsSEED' - syn match ngxSSLCipherInsecure '[^!]\zsEXP\w*' " Match all EXPORT ciphers - syn match ngxSSLCipherInsecure '[^!]\zsaGOST\w*' " Match all GOST ciphers - syn match ngxSSLCipherInsecure '[^!]\zskGOST\w*' - syn match ngxSSLCipherInsecure '[^!ak]\zsGOST\w*' - syn match ngxSSLCipherInsecure '[^!]\zs[kae]\?FZA' " Not implemented - syn match ngxSSLCipherInsecure '[^!]\zsECB' - syn match ngxSSLCipherInsecure '[^!]\zs[aes]NULL' - - " Anonymous cipher suites should never be used - syn match ngxSSLCipherInsecure '[^!ECa]\zsDH\ze[^E]' " Try to match DH without DHE, EDH, EECDH, etc. - syn match ngxSSLCipherInsecure '[^!EA]\zsECDH\ze[^E]' " Do not match EECDH, ECDHE - syn match ngxSSLCipherInsecure '[^!]\zsADH' - syn match ngxSSLCipherInsecure '[^!]\zskDHE' - syn match ngxSSLCipherInsecure '[^!]\zskEDH' - syn match ngxSSLCipherInsecure '[^!]\zskECDHE' - syn match ngxSSLCipherInsecure '[^!]\zskEECDH' - syn match ngxSSLCipherInsecure '[^!E]\zsAECDH' -endif - -syn keyword ngxProxyNextUpstreamOptions error contained -syn keyword ngxProxyNextUpstreamOptions timeout contained -syn keyword ngxProxyNextUpstreamOptions invalid_header contained -syn keyword ngxProxyNextUpstreamOptions http_500 contained -syn keyword ngxProxyNextUpstreamOptions http_502 contained -syn keyword ngxProxyNextUpstreamOptions http_503 contained -syn keyword ngxProxyNextUpstreamOptions http_504 contained -syn keyword ngxProxyNextUpstreamOptions http_403 contained -syn keyword ngxProxyNextUpstreamOptions http_404 contained -syn keyword ngxProxyNextUpstreamOptions http_429 contained -syn keyword ngxProxyNextUpstreamOptions non_idempotent contained -syn keyword ngxProxyNextUpstreamOptions off contained - -syn keyword ngxStickyOptions cookie contained -syn region ngxStickyOptionsCookie matchgroup=ngxStickyOptions start=+^\s*\zssticky\s\s*cookie\ze\s.*;+ skip=+\\\\\|\\\;+ end=+;+he=e-1 contains=ngxCookieOptions,ngxString,ngxBoolean,ngxInteger,ngxTemplateVar -syn keyword ngxStickyOptions route contained -syn keyword ngxStickyOptions learn contained - -syn keyword ngxCookieOptions expires contained -syn keyword ngxCookieOptions domain contained -syn keyword ngxCookieOptions httponly contained -syn keyword ngxCookieOptions secure contained -syn keyword ngxCookieOptions path contained - -" 3rd party module list: -" https://www.nginx.com/resources/wiki/modules/ - -" Accept Language Module -" Parses the Accept-Language header and gives the most suitable locale from a list of supported locales. -syn keyword ngxDirectiveThirdParty set_from_accept_language - -" Access Key Module (DEPRECATED) -" Denies access unless the request URL contains an access key. -syn keyword ngxDirectiveDeprecated accesskey -syn keyword ngxDirectiveDeprecated accesskey_arg -syn keyword ngxDirectiveDeprecated accesskey_hashmethod -syn keyword ngxDirectiveDeprecated accesskey_signature - -" Asynchronous FastCGI Module -" Primarily a modified version of the Nginx FastCGI module which implements multiplexing of connections, allowing a single FastCGI server to handle many concurrent requests. -" syn keyword ngxDirectiveThirdParty fastcgi_bind -" syn keyword ngxDirectiveThirdParty fastcgi_buffer_size -" syn keyword ngxDirectiveThirdParty fastcgi_buffers -" syn keyword ngxDirectiveThirdParty fastcgi_busy_buffers_size -" syn keyword ngxDirectiveThirdParty fastcgi_cache -" syn keyword ngxDirectiveThirdParty fastcgi_cache_key -" syn keyword ngxDirectiveThirdParty fastcgi_cache_methods -" syn keyword ngxDirectiveThirdParty fastcgi_cache_min_uses -" syn keyword ngxDirectiveThirdParty fastcgi_cache_path -" syn keyword ngxDirectiveThirdParty fastcgi_cache_use_stale -" syn keyword ngxDirectiveThirdParty fastcgi_cache_valid -" syn keyword ngxDirectiveThirdParty fastcgi_catch_stderr -" syn keyword ngxDirectiveThirdParty fastcgi_connect_timeout -" syn keyword ngxDirectiveThirdParty fastcgi_hide_header -" syn keyword ngxDirectiveThirdParty fastcgi_ignore_client_abort -" syn keyword ngxDirectiveThirdParty fastcgi_ignore_headers -" syn keyword ngxDirectiveThirdParty fastcgi_index -" syn keyword ngxDirectiveThirdParty fastcgi_intercept_errors -" syn keyword ngxDirectiveThirdParty fastcgi_max_temp_file_size -" syn keyword ngxDirectiveThirdParty fastcgi_next_upstream -" syn keyword ngxDirectiveThirdParty fastcgi_param -" syn keyword ngxDirectiveThirdParty fastcgi_pass -" syn keyword ngxDirectiveThirdParty fastcgi_pass_header -" syn keyword ngxDirectiveThirdParty fastcgi_pass_request_body -" syn keyword ngxDirectiveThirdParty fastcgi_pass_request_headers -" syn keyword ngxDirectiveThirdParty fastcgi_read_timeout -" syn keyword ngxDirectiveThirdParty fastcgi_send_lowat -" syn keyword ngxDirectiveThirdParty fastcgi_send_timeout -" syn keyword ngxDirectiveThirdParty fastcgi_split_path_info -" syn keyword ngxDirectiveThirdParty fastcgi_store -" syn keyword ngxDirectiveThirdParty fastcgi_store_access -" syn keyword ngxDirectiveThirdParty fastcgi_temp_file_write_size -" syn keyword ngxDirectiveThirdParty fastcgi_temp_path -syn keyword ngxDirectiveDeprecated fastcgi_upstream_fail_timeout -syn keyword ngxDirectiveDeprecated fastcgi_upstream_max_fails - -" Akamai G2O Module -" Nginx Module for Authenticating Akamai G2O requests -syn keyword ngxDirectiveThirdParty g2o -syn keyword ngxDirectiveThirdParty g2o_nonce -syn keyword ngxDirectiveThirdParty g2o_key - -" Lua Module -" You can be very simple to execute lua code for nginx -syn keyword ngxDirectiveThirdParty lua_file - -" Array Variable Module -" Add support for array-typed variables to nginx config files -syn keyword ngxDirectiveThirdParty array_split -syn keyword ngxDirectiveThirdParty array_join -syn keyword ngxDirectiveThirdParty array_map -syn keyword ngxDirectiveThirdParty array_map_op - -" Nginx Audio Track for HTTP Live Streaming -" This nginx module generates audio track for hls streams on the fly. -syn keyword ngxDirectiveThirdParty ngx_hls_audio_track -syn keyword ngxDirectiveThirdParty ngx_hls_audio_track_rootpath -syn keyword ngxDirectiveThirdParty ngx_hls_audio_track_output_format -syn keyword ngxDirectiveThirdParty ngx_hls_audio_track_output_header - -" AWS Proxy Module -" Nginx module to proxy to authenticated AWS services -syn keyword ngxDirectiveThirdParty aws_access_key -syn keyword ngxDirectiveThirdParty aws_key_scope -syn keyword ngxDirectiveThirdParty aws_signing_key -syn keyword ngxDirectiveThirdParty aws_endpoint -syn keyword ngxDirectiveThirdParty aws_s3_bucket -syn keyword ngxDirectiveThirdParty aws_sign - -" Backtrace module -" A Nginx module to dump backtrace when a worker process exits abnormally -syn keyword ngxDirectiveThirdParty backtrace_log -syn keyword ngxDirectiveThirdParty backtrace_max_stack_size - -" Brotli Module -" Nginx module for Brotli compression -syn keyword ngxDirectiveThirdParty brotli_static -syn keyword ngxDirectiveThirdParty brotli -syn keyword ngxDirectiveThirdParty brotli_types -syn keyword ngxDirectiveThirdParty brotli_buffers -syn keyword ngxDirectiveThirdParty brotli_comp_level -syn keyword ngxDirectiveThirdParty brotli_window -syn keyword ngxDirectiveThirdParty brotli_min_length - -" Cache Purge Module -" Adds ability to purge content from FastCGI, proxy, SCGI and uWSGI caches. -syn keyword ngxDirectiveThirdParty fastcgi_cache_purge -syn keyword ngxDirectiveThirdParty proxy_cache_purge -" syn keyword ngxDirectiveThirdParty scgi_cache_purge -" syn keyword ngxDirectiveThirdParty uwsgi_cache_purge - -" Chunkin Module (DEPRECATED) -" HTTP 1.1 chunked-encoding request body support for Nginx. -syn keyword ngxDirectiveDeprecated chunkin -syn keyword ngxDirectiveDeprecated chunkin_keepalive -syn keyword ngxDirectiveDeprecated chunkin_max_chunks_per_buf -syn keyword ngxDirectiveDeprecated chunkin_resume - -" Circle GIF Module -" Generates simple circle images with the colors and size specified in the URL. -syn keyword ngxDirectiveThirdParty circle_gif -syn keyword ngxDirectiveThirdParty circle_gif_max_radius -syn keyword ngxDirectiveThirdParty circle_gif_min_radius -syn keyword ngxDirectiveThirdParty circle_gif_step_radius - -" Nginx-Clojure Module -" Parses the Accept-Language header and gives the most suitable locale from a list of supported locales. -syn keyword ngxDirectiveThirdParty jvm_path -syn keyword ngxDirectiveThirdParty jvm_var -syn keyword ngxDirectiveThirdParty jvm_classpath -syn keyword ngxDirectiveThirdParty jvm_classpath_check -syn keyword ngxDirectiveThirdParty jvm_workers -syn keyword ngxDirectiveThirdParty jvm_options -syn keyword ngxDirectiveThirdParty jvm_handler_type -syn keyword ngxDirectiveThirdParty jvm_init_handler_name -syn keyword ngxDirectiveThirdParty jvm_init_handler_code -syn keyword ngxDirectiveThirdParty jvm_exit_handler_name -syn keyword ngxDirectiveThirdParty jvm_exit_handler_code -syn keyword ngxDirectiveThirdParty handlers_lazy_init -syn keyword ngxDirectiveThirdParty auto_upgrade_ws -syn keyword ngxDirectiveThirdParty content_handler_type -syn keyword ngxDirectiveThirdParty content_handler_name -syn keyword ngxDirectiveThirdParty content_handler_code -syn keyword ngxDirectiveThirdParty rewrite_handler_type -syn keyword ngxDirectiveThirdParty rewrite_handler_name -syn keyword ngxDirectiveThirdParty rewrite_handler_code -syn keyword ngxDirectiveThirdParty access_handler_type -syn keyword ngxDirectiveThirdParty access_handler_name -syn keyword ngxDirectiveThirdParty access_handler_code -syn keyword ngxDirectiveThirdParty header_filter_type -syn keyword ngxDirectiveThirdParty header_filter_name -syn keyword ngxDirectiveThirdParty header_filter_code -syn keyword ngxDirectiveThirdParty content_handler_property -syn keyword ngxDirectiveThirdParty rewrite_handler_property -syn keyword ngxDirectiveThirdParty access_handler_property -syn keyword ngxDirectiveThirdParty header_filter_property -syn keyword ngxDirectiveThirdParty always_read_body -syn keyword ngxDirectiveThirdParty shared_map -syn keyword ngxDirectiveThirdParty write_page_size - -" Upstream Consistent Hash -" A load balancer that uses an internal consistent hash ring to select the right backend node. -syn keyword ngxDirectiveThirdParty consistent_hash - -" Nginx Development Kit -" The NDK is an Nginx module that is designed to extend the core functionality of the excellent Nginx webserver in a way that can be used as a basis of other Nginx modules. -" NDK_UPSTREAM_LIST -" This submodule provides a directive that creates a list of upstreams, with optional weighting. This list can then be used by other modules to hash over the upstreams however they choose. -syn keyword ngxDirectiveThirdParty upstream_list - -" Drizzle Module -" Upstream module for talking to MySQL and Drizzle directly -syn keyword ngxDirectiveThirdParty drizzle_server -syn keyword ngxDirectiveThirdParty drizzle_keepalive -syn keyword ngxDirectiveThirdParty drizzle_query -syn keyword ngxDirectiveThirdParty drizzle_pass -syn keyword ngxDirectiveThirdParty drizzle_connect_timeout -syn keyword ngxDirectiveThirdParty drizzle_send_query_timeout -syn keyword ngxDirectiveThirdParty drizzle_recv_cols_timeout -syn keyword ngxDirectiveThirdParty drizzle_recv_rows_timeout -syn keyword ngxDirectiveThirdParty drizzle_buffer_size -syn keyword ngxDirectiveThirdParty drizzle_module_header -syn keyword ngxDirectiveThirdParty drizzle_status - -" Dynamic ETags Module -" Attempt at handling ETag / If-None-Match on proxied content. -syn keyword ngxDirectiveThirdParty dynamic_etags - -" Echo Module -" Bringing the power of "echo", "sleep", "time" and more to Nginx's config file -syn keyword ngxDirectiveThirdParty echo -syn keyword ngxDirectiveThirdParty echo_duplicate -syn keyword ngxDirectiveThirdParty echo_flush -syn keyword ngxDirectiveThirdParty echo_sleep -syn keyword ngxDirectiveThirdParty echo_blocking_sleep -syn keyword ngxDirectiveThirdParty echo_reset_timer -syn keyword ngxDirectiveThirdParty echo_read_request_body -syn keyword ngxDirectiveThirdParty echo_location_async -syn keyword ngxDirectiveThirdParty echo_location -syn keyword ngxDirectiveThirdParty echo_subrequest_async -syn keyword ngxDirectiveThirdParty echo_subrequest -syn keyword ngxDirectiveThirdParty echo_foreach_split -syn keyword ngxDirectiveThirdParty echo_end -syn keyword ngxDirectiveThirdParty echo_request_body -syn keyword ngxDirectiveThirdParty echo_exec -syn keyword ngxDirectiveThirdParty echo_status -syn keyword ngxDirectiveThirdParty echo_before_body -syn keyword ngxDirectiveThirdParty echo_after_body - -" Encrypted Session Module -" Encrypt and decrypt nginx variable values -syn keyword ngxDirectiveThirdParty encrypted_session_key -syn keyword ngxDirectiveThirdParty encrypted_session_iv -syn keyword ngxDirectiveThirdParty encrypted_session_expires -syn keyword ngxDirectiveThirdParty set_encrypt_session -syn keyword ngxDirectiveThirdParty set_decrypt_session - -" Enhanced Memcached Module -" This module is based on the standard Nginx Memcached module, with some additonal features -syn keyword ngxDirectiveThirdParty enhanced_memcached_pass -syn keyword ngxDirectiveThirdParty enhanced_memcached_hash_keys_with_md5 -syn keyword ngxDirectiveThirdParty enhanced_memcached_allow_put -syn keyword ngxDirectiveThirdParty enhanced_memcached_allow_delete -syn keyword ngxDirectiveThirdParty enhanced_memcached_stats -syn keyword ngxDirectiveThirdParty enhanced_memcached_flush -syn keyword ngxDirectiveThirdParty enhanced_memcached_flush_namespace -syn keyword ngxDirectiveThirdParty enhanced_memcached_bind -syn keyword ngxDirectiveThirdParty enhanced_memcached_connect_timeout -syn keyword ngxDirectiveThirdParty enhanced_memcached_send_timeout -syn keyword ngxDirectiveThirdParty enhanced_memcached_buffer_size -syn keyword ngxDirectiveThirdParty enhanced_memcached_read_timeout - -" Events Module (DEPRECATED) -" Provides options for start/stop events. -syn keyword ngxDirectiveDeprecated on_start -syn keyword ngxDirectiveDeprecated on_stop - -" EY Balancer Module -" Adds a request queue to Nginx that allows the limiting of concurrent requests passed to the upstream. -syn keyword ngxDirectiveThirdParty max_connections -syn keyword ngxDirectiveThirdParty max_connections_max_queue_length -syn keyword ngxDirectiveThirdParty max_connections_queue_timeout - -" Upstream Fair Balancer -" Sends an incoming request to the least-busy backend server, rather than distributing requests round-robin. -syn keyword ngxDirectiveThirdParty fair -syn keyword ngxDirectiveThirdParty upstream_fair_shm_size - -" Fancy Indexes Module -" Like the built-in autoindex module, but fancier. -syn keyword ngxDirectiveThirdParty fancyindex -syn keyword ngxDirectiveThirdParty fancyindex_default_sort -syn keyword ngxDirectiveThirdParty fancyindex_directories_first -syn keyword ngxDirectiveThirdParty fancyindex_css_href -syn keyword ngxDirectiveThirdParty fancyindex_exact_size -syn keyword ngxDirectiveThirdParty fancyindex_name_length -syn keyword ngxDirectiveThirdParty fancyindex_footer -syn keyword ngxDirectiveThirdParty fancyindex_header -syn keyword ngxDirectiveThirdParty fancyindex_show_path -syn keyword ngxDirectiveThirdParty fancyindex_ignore -syn keyword ngxDirectiveThirdParty fancyindex_hide_symlinks -syn keyword ngxDirectiveThirdParty fancyindex_localtime -syn keyword ngxDirectiveThirdParty fancyindex_time_format - -" Form Auth Module -" Provides authentication and authorization with credentials submitted via POST request -syn keyword ngxDirectiveThirdParty form_auth -syn keyword ngxDirectiveThirdParty form_auth_pam_service -syn keyword ngxDirectiveThirdParty form_auth_login -syn keyword ngxDirectiveThirdParty form_auth_password -syn keyword ngxDirectiveThirdParty form_auth_remote_user - -" Form Input Module -" Reads HTTP POST and PUT request body encoded in "application/x-www-form-urlencoded" and parses the arguments into nginx variables. -syn keyword ngxDirectiveThirdParty set_form_input -syn keyword ngxDirectiveThirdParty set_form_input_multi - -" GeoIP Module (DEPRECATED) -" Country code lookups via the MaxMind GeoIP API. -syn keyword ngxDirectiveDeprecated geoip_country_file - -" GeoIP 2 Module -" Creates variables with values from the maxmind geoip2 databases based on the client IP -syn keyword ngxDirectiveThirdParty geoip2 - -" GridFS Module -" Nginx module for serving files from MongoDB's GridFS -syn keyword ngxDirectiveThirdParty gridfs - -" Headers More Module -" Set and clear input and output headers...more than "add"! -syn keyword ngxDirectiveThirdParty more_clear_headers -syn keyword ngxDirectiveThirdParty more_clear_input_headers -syn keyword ngxDirectiveThirdParty more_set_headers -syn keyword ngxDirectiveThirdParty more_set_input_headers - -" Health Checks Upstreams Module -" Polls backends and if they respond with HTTP 200 + an optional request body, they are marked good. Otherwise, they are marked bad. -syn keyword ngxDirectiveThirdParty healthcheck_enabled -syn keyword ngxDirectiveThirdParty healthcheck_delay -syn keyword ngxDirectiveThirdParty healthcheck_timeout -syn keyword ngxDirectiveThirdParty healthcheck_failcount -syn keyword ngxDirectiveThirdParty healthcheck_send -syn keyword ngxDirectiveThirdParty healthcheck_expected -syn keyword ngxDirectiveThirdParty healthcheck_buffer -syn keyword ngxDirectiveThirdParty healthcheck_status - -" HTTP Accounting Module -" Add traffic stat function to nginx. Useful for http accounting based on nginx configuration logic -syn keyword ngxDirectiveThirdParty http_accounting -syn keyword ngxDirectiveThirdParty http_accounting_log -syn keyword ngxDirectiveThirdParty http_accounting_id -syn keyword ngxDirectiveThirdParty http_accounting_interval -syn keyword ngxDirectiveThirdParty http_accounting_perturb - -" Nginx Digest Authentication module -" Digest Authentication for Nginx -syn keyword ngxDirectiveThirdParty auth_digest -syn keyword ngxDirectiveThirdParty auth_digest_user_file -syn keyword ngxDirectiveThirdParty auth_digest_timeout -syn keyword ngxDirectiveThirdParty auth_digest_expires -syn keyword ngxDirectiveThirdParty auth_digest_replays -syn keyword ngxDirectiveThirdParty auth_digest_shm_size - -" Auth PAM Module -" HTTP Basic Authentication using PAM. -syn keyword ngxDirectiveThirdParty auth_pam -syn keyword ngxDirectiveThirdParty auth_pam_service_name - -" HTTP Auth Request Module -" Implements client authorization based on the result of a subrequest -" syn keyword ngxDirectiveThirdParty auth_request -" syn keyword ngxDirectiveThirdParty auth_request_set - -" HTTP Concatenation module for Nginx -" A Nginx module for concatenating files in a given context: CSS and JS files usually -syn keyword ngxDirectiveThirdParty concat -syn keyword ngxDirectiveThirdParty concat_types -syn keyword ngxDirectiveThirdParty concat_unique -syn keyword ngxDirectiveThirdParty concat_max_files -syn keyword ngxDirectiveThirdParty concat_delimiter -syn keyword ngxDirectiveThirdParty concat_ignore_file_error - -" HTTP Dynamic Upstream Module -" Update upstreams' config by restful interface -syn keyword ngxDirectiveThirdParty dyups_interface -syn keyword ngxDirectiveThirdParty dyups_read_msg_timeout -syn keyword ngxDirectiveThirdParty dyups_shm_zone_size -syn keyword ngxDirectiveThirdParty dyups_upstream_conf -syn keyword ngxDirectiveThirdParty dyups_trylock - -" HTTP Footer If Filter Module -" The ngx_http_footer_if_filter_module is used to add given content to the end of the response according to the condition specified. -syn keyword ngxDirectiveThirdParty footer_if - -" HTTP Footer Filter Module -" This module implements a body filter that adds a given string to the page footer. -syn keyword ngxDirectiveThirdParty footer -syn keyword ngxDirectiveThirdParty footer_types - -" HTTP Internal Redirect Module -" Make an internal redirect to the uri specified according to the condition specified. -syn keyword ngxDirectiveThirdParty internal_redirect_if -syn keyword ngxDirectiveThirdParty internal_redirect_if_no_postponed - -" HTTP JavaScript Module -" Embedding SpiderMonkey. Nearly full port on Perl module. -syn keyword ngxDirectiveThirdParty js -syn keyword ngxDirectiveThirdParty js_filter -syn keyword ngxDirectiveThirdParty js_filter_types -syn keyword ngxDirectiveThirdParty js_load -syn keyword ngxDirectiveThirdParty js_maxmem -syn keyword ngxDirectiveThirdParty js_require -syn keyword ngxDirectiveThirdParty js_set -syn keyword ngxDirectiveThirdParty js_utf8 - -" HTTP Push Module (DEPRECATED) -" Turn Nginx into an adept long-polling HTTP Push (Comet) server. -syn keyword ngxDirectiveDeprecated push_buffer_size -syn keyword ngxDirectiveDeprecated push_listener -syn keyword ngxDirectiveDeprecated push_message_timeout -syn keyword ngxDirectiveDeprecated push_queue_messages -syn keyword ngxDirectiveDeprecated push_sender - -" HTTP Redis Module -" Redis support. -syn keyword ngxDirectiveThirdParty redis_bind -syn keyword ngxDirectiveThirdParty redis_buffer_size -syn keyword ngxDirectiveThirdParty redis_connect_timeout -syn keyword ngxDirectiveThirdParty redis_next_upstream -syn keyword ngxDirectiveThirdParty redis_pass -syn keyword ngxDirectiveThirdParty redis_read_timeout -syn keyword ngxDirectiveThirdParty redis_send_timeout - -" Iconv Module -" A character conversion nginx module using libiconv -syn keyword ngxDirectiveThirdParty set_iconv -syn keyword ngxDirectiveThirdParty iconv_buffer_size -syn keyword ngxDirectiveThirdParty iconv_filter - -" IP Blocker Module -" An efficient shared memory IP blocking system for nginx. -syn keyword ngxDirectiveThirdParty ip_blocker - -" IP2Location Module -" Allows user to lookup for geolocation information using IP2Location database -syn keyword ngxDirectiveThirdParty ip2location_database - -" JS Module -" Reflect the nginx functionality in JS -syn keyword ngxDirectiveThirdParty js -syn keyword ngxDirectiveThirdParty js_access -syn keyword ngxDirectiveThirdParty js_load -syn keyword ngxDirectiveThirdParty js_set - -" Limit Upload Rate Module -" Limit client-upload rate when they are sending request bodies to you -syn keyword ngxDirectiveThirdParty limit_upload_rate -syn keyword ngxDirectiveThirdParty limit_upload_rate_after - -" Limit Upstream Module -" Limit the number of connections to upstream for NGINX -syn keyword ngxDirectiveThirdParty limit_upstream_zone -syn keyword ngxDirectiveThirdParty limit_upstream_conn -syn keyword ngxDirectiveThirdParty limit_upstream_log_level - -" Log If Module -" Conditional accesslog for nginx -syn keyword ngxDirectiveThirdParty access_log_bypass_if - -" Log Request Speed (DEPRECATED) -" Log the time it took to process each request. -syn keyword ngxDirectiveDeprecated log_request_speed_filter -syn keyword ngxDirectiveDeprecated log_request_speed_filter_timeout - -" Log ZeroMQ Module -" ZeroMQ logger module for nginx -syn keyword ngxDirectiveThirdParty log_zmq_server -syn keyword ngxDirectiveThirdParty log_zmq_endpoint -syn keyword ngxDirectiveThirdParty log_zmq_format -syn keyword ngxDirectiveThirdParty log_zmq_off - -" Lower/UpperCase Module -" This module simply uppercases or lowercases a string and saves it into a new variable. -syn keyword ngxDirectiveThirdParty lower -syn keyword ngxDirectiveThirdParty upper - -" Lua Upstream Module -" Nginx C module to expose Lua API to ngx_lua for Nginx upstreams - -" Lua Module -" Embed the Power of Lua into NGINX HTTP servers -syn keyword ngxDirectiveThirdParty lua_use_default_type -syn keyword ngxDirectiveThirdParty lua_malloc_trim -syn keyword ngxDirectiveThirdParty lua_code_cache -syn keyword ngxDirectiveThirdParty lua_regex_cache_max_entries -syn keyword ngxDirectiveThirdParty lua_regex_match_limit -syn keyword ngxDirectiveThirdParty lua_package_path -syn keyword ngxDirectiveThirdParty lua_package_cpath -syn keyword ngxDirectiveThirdParty init_by_lua -syn keyword ngxDirectiveThirdParty init_by_lua_file -syn keyword ngxDirectiveThirdParty init_worker_by_lua -syn keyword ngxDirectiveThirdParty init_worker_by_lua_file -syn keyword ngxDirectiveThirdParty set_by_lua -syn keyword ngxDirectiveThirdParty set_by_lua_file -syn keyword ngxDirectiveThirdParty content_by_lua -syn keyword ngxDirectiveThirdParty content_by_lua_file -syn keyword ngxDirectiveThirdParty rewrite_by_lua -syn keyword ngxDirectiveThirdParty rewrite_by_lua_file -syn keyword ngxDirectiveThirdParty access_by_lua -syn keyword ngxDirectiveThirdParty access_by_lua_file -syn keyword ngxDirectiveThirdParty header_filter_by_lua -syn keyword ngxDirectiveThirdParty header_filter_by_lua_file -syn keyword ngxDirectiveThirdParty body_filter_by_lua -syn keyword ngxDirectiveThirdParty body_filter_by_lua_file -syn keyword ngxDirectiveThirdParty log_by_lua -syn keyword ngxDirectiveThirdParty log_by_lua_file -syn keyword ngxDirectiveThirdParty balancer_by_lua_file -syn keyword ngxDirectiveThirdParty lua_need_request_body -syn keyword ngxDirectiveThirdParty ssl_certificate_by_lua_file -syn keyword ngxDirectiveThirdParty ssl_session_fetch_by_lua_file -syn keyword ngxDirectiveThirdParty ssl_session_store_by_lua_file -syn keyword ngxDirectiveThirdParty lua_shared_dict -syn keyword ngxDirectiveThirdParty lua_socket_connect_timeout -syn keyword ngxDirectiveThirdParty lua_socket_send_timeout -syn keyword ngxDirectiveThirdParty lua_socket_send_lowat -syn keyword ngxDirectiveThirdParty lua_socket_read_timeout -syn keyword ngxDirectiveThirdParty lua_socket_buffer_size -syn keyword ngxDirectiveThirdParty lua_socket_pool_size -syn keyword ngxDirectiveThirdParty lua_socket_keepalive_timeout -syn keyword ngxDirectiveThirdParty lua_socket_log_errors -syn keyword ngxDirectiveThirdParty lua_ssl_ciphers -syn keyword ngxDirectiveThirdParty lua_ssl_crl -syn keyword ngxDirectiveThirdParty lua_ssl_protocols -syn keyword ngxDirectiveThirdParty lua_ssl_trusted_certificate -syn keyword ngxDirectiveThirdParty lua_ssl_verify_depth -syn keyword ngxDirectiveThirdParty lua_http10_buffering -syn keyword ngxDirectiveThirdParty rewrite_by_lua_no_postpone -syn keyword ngxDirectiveThirdParty access_by_lua_no_postpone -syn keyword ngxDirectiveThirdParty lua_transform_underscores_in_response_headers -syn keyword ngxDirectiveThirdParty lua_check_client_abort -syn keyword ngxDirectiveThirdParty lua_max_pending_timers -syn keyword ngxDirectiveThirdParty lua_max_running_timers - -" MD5 Filter Module -" A content filter for nginx, which returns the md5 hash of the content otherwise returned. -syn keyword ngxDirectiveThirdParty md5_filter - -" Memc Module -" An extended version of the standard memcached module that supports set, add, delete, and many more memcached commands. -syn keyword ngxDirectiveThirdParty memc_buffer_size -syn keyword ngxDirectiveThirdParty memc_cmds_allowed -syn keyword ngxDirectiveThirdParty memc_connect_timeout -syn keyword ngxDirectiveThirdParty memc_flags_to_last_modified -syn keyword ngxDirectiveThirdParty memc_next_upstream -syn keyword ngxDirectiveThirdParty memc_pass -syn keyword ngxDirectiveThirdParty memc_read_timeout -syn keyword ngxDirectiveThirdParty memc_send_timeout -syn keyword ngxDirectiveThirdParty memc_upstream_fail_timeout -syn keyword ngxDirectiveThirdParty memc_upstream_max_fails - -" Mod Security Module -" ModSecurity is an open source, cross platform web application firewall (WAF) engine -syn keyword ngxDirectiveThirdParty ModSecurityConfig -syn keyword ngxDirectiveThirdParty ModSecurityEnabled -syn keyword ngxDirectiveThirdParty pool_context -syn keyword ngxDirectiveThirdParty pool_context_hash_size - -" Mogilefs Module -" MogileFS client for nginx web server. -syn keyword ngxDirectiveThirdParty mogilefs_pass -syn keyword ngxDirectiveThirdParty mogilefs_methods -syn keyword ngxDirectiveThirdParty mogilefs_domain -syn keyword ngxDirectiveThirdParty mogilefs_class -syn keyword ngxDirectiveThirdParty mogilefs_tracker -syn keyword ngxDirectiveThirdParty mogilefs_noverify -syn keyword ngxDirectiveThirdParty mogilefs_connect_timeout -syn keyword ngxDirectiveThirdParty mogilefs_send_timeout -syn keyword ngxDirectiveThirdParty mogilefs_read_timeout - -" Mongo Module -" Upstream module that allows nginx to communicate directly with MongoDB database. -syn keyword ngxDirectiveThirdParty mongo_auth -syn keyword ngxDirectiveThirdParty mongo_pass -syn keyword ngxDirectiveThirdParty mongo_query -syn keyword ngxDirectiveThirdParty mongo_json -syn keyword ngxDirectiveThirdParty mongo_bind -syn keyword ngxDirectiveThirdParty mongo_connect_timeout -syn keyword ngxDirectiveThirdParty mongo_send_timeout -syn keyword ngxDirectiveThirdParty mongo_read_timeout -syn keyword ngxDirectiveThirdParty mongo_buffering -syn keyword ngxDirectiveThirdParty mongo_buffer_size -syn keyword ngxDirectiveThirdParty mongo_buffers -syn keyword ngxDirectiveThirdParty mongo_busy_buffers_size -syn keyword ngxDirectiveThirdParty mongo_next_upstream - -" MP4 Streaming Lite Module -" Will seek to a certain time within H.264/MP4 files when provided with a 'start' parameter in the URL. -" syn keyword ngxDirectiveThirdParty mp4 - -" NAXSI Module -" NAXSI is an open-source, high performance, low rules maintenance WAF for NGINX -syn keyword ngxDirectiveThirdParty DeniedUrl denied_url -syn keyword ngxDirectiveThirdParty LearningMode learning_mode -syn keyword ngxDirectiveThirdParty SecRulesEnabled rules_enabled -syn keyword ngxDirectiveThirdParty SecRulesDisabled rules_disabled -syn keyword ngxDirectiveThirdParty CheckRule check_rule -syn keyword ngxDirectiveThirdParty BasicRule basic_rule -syn keyword ngxDirectiveThirdParty MainRule main_rule -syn keyword ngxDirectiveThirdParty LibInjectionSql libinjection_sql -syn keyword ngxDirectiveThirdParty LibInjectionXss libinjection_xss - -" Nchan Module -" Fast, horizontally scalable, multiprocess pub/sub queuing server and proxy for HTTP, long-polling, Websockets and EventSource (SSE) -syn keyword ngxDirectiveThirdParty nchan_channel_id -syn keyword ngxDirectiveThirdParty nchan_channel_id_split_delimiter -syn keyword ngxDirectiveThirdParty nchan_eventsource_event -syn keyword ngxDirectiveThirdParty nchan_longpoll_multipart_response -syn keyword ngxDirectiveThirdParty nchan_publisher -syn keyword ngxDirectiveThirdParty nchan_publisher_channel_id -syn keyword ngxDirectiveThirdParty nchan_publisher_upstream_request -syn keyword ngxDirectiveThirdParty nchan_pubsub -syn keyword ngxDirectiveThirdParty nchan_subscribe_request -syn keyword ngxDirectiveThirdParty nchan_subscriber -syn keyword ngxDirectiveThirdParty nchan_subscriber_channel_id -syn keyword ngxDirectiveThirdParty nchan_subscriber_compound_etag_message_id -syn keyword ngxDirectiveThirdParty nchan_subscriber_first_message -syn keyword ngxDirectiveThirdParty nchan_subscriber_http_raw_stream_separator -syn keyword ngxDirectiveThirdParty nchan_subscriber_last_message_id -syn keyword ngxDirectiveThirdParty nchan_subscriber_message_id_custom_etag_header -syn keyword ngxDirectiveThirdParty nchan_subscriber_timeout -syn keyword ngxDirectiveThirdParty nchan_unsubscribe_request -syn keyword ngxDirectiveThirdParty nchan_websocket_ping_interval -syn keyword ngxDirectiveThirdParty nchan_authorize_request -syn keyword ngxDirectiveThirdParty nchan_max_reserved_memory -syn keyword ngxDirectiveThirdParty nchan_message_buffer_length -syn keyword ngxDirectiveThirdParty nchan_message_timeout -syn keyword ngxDirectiveThirdParty nchan_redis_idle_channel_cache_timeout -syn keyword ngxDirectiveThirdParty nchan_redis_namespace -syn keyword ngxDirectiveThirdParty nchan_redis_pass -syn keyword ngxDirectiveThirdParty nchan_redis_ping_interval -syn keyword ngxDirectiveThirdParty nchan_redis_server -syn keyword ngxDirectiveThirdParty nchan_redis_storage_mode -syn keyword ngxDirectiveThirdParty nchan_redis_url -syn keyword ngxDirectiveThirdParty nchan_store_messages -syn keyword ngxDirectiveThirdParty nchan_use_redis -syn keyword ngxDirectiveThirdParty nchan_access_control_allow_origin -syn keyword ngxDirectiveThirdParty nchan_channel_group -syn keyword ngxDirectiveThirdParty nchan_channel_group_accounting -syn keyword ngxDirectiveThirdParty nchan_group_location -syn keyword ngxDirectiveThirdParty nchan_group_max_channels -syn keyword ngxDirectiveThirdParty nchan_group_max_messages -syn keyword ngxDirectiveThirdParty nchan_group_max_messages_disk -syn keyword ngxDirectiveThirdParty nchan_group_max_messages_memory -syn keyword ngxDirectiveThirdParty nchan_group_max_subscribers -syn keyword ngxDirectiveThirdParty nchan_subscribe_existing_channels_only -syn keyword ngxDirectiveThirdParty nchan_channel_event_string -syn keyword ngxDirectiveThirdParty nchan_channel_events_channel_id -syn keyword ngxDirectiveThirdParty nchan_stub_status -syn keyword ngxDirectiveThirdParty nchan_max_channel_id_length -syn keyword ngxDirectiveThirdParty nchan_max_channel_subscribers -syn keyword ngxDirectiveThirdParty nchan_channel_timeout -syn keyword ngxDirectiveThirdParty nchan_storage_engine - -" Nginx Notice Module -" Serve static file to POST requests. -syn keyword ngxDirectiveThirdParty notice -syn keyword ngxDirectiveThirdParty notice_type - -" OCSP Proxy Module -" Nginx OCSP processing module designed for response caching -syn keyword ngxDirectiveThirdParty ocsp_proxy -syn keyword ngxDirectiveThirdParty ocsp_cache_timeout - -" Eval Module -" Module for nginx web server evaluates response of proxy or memcached module into variables. -syn keyword ngxDirectiveThirdParty eval -syn keyword ngxDirectiveThirdParty eval_escalate -syn keyword ngxDirectiveThirdParty eval_buffer_size -syn keyword ngxDirectiveThirdParty eval_override_content_type -syn keyword ngxDirectiveThirdParty eval_subrequest_in_memory - -" OpenSSL Version Module -" Nginx OpenSSL version check at startup -syn keyword ngxDirectiveThirdParty openssl_version_minimum -syn keyword ngxDirectiveThirdParty openssl_builddate_minimum - -" Owner Match Module -" Control access for specific owners and groups of files -syn keyword ngxDirectiveThirdParty omallow -syn keyword ngxDirectiveThirdParty omdeny - -" Accept Language Module -" Parses the Accept-Language header and gives the most suitable locale from a list of supported locales. -syn keyword ngxDirectiveThirdParty pagespeed - -" PHP Memcache Standard Balancer Module -" Loadbalancer that is compatible to the standard loadbalancer in the php-memcache module -syn keyword ngxDirectiveThirdParty hash_key - -" PHP Session Module -" Nginx module to parse php sessions -syn keyword ngxDirectiveThirdParty php_session_parse -syn keyword ngxDirectiveThirdParty php_session_strip_formatting - -" Phusion Passenger Module -" Passenger is an open source web application server. -syn keyword ngxDirectiveThirdParty passenger_root -syn keyword ngxDirectiveThirdParty passenger_enabled -syn keyword ngxDirectiveThirdParty passenger_base_uri -syn keyword ngxDirectiveThirdParty passenger_document_root -syn keyword ngxDirectiveThirdParty passenger_ruby -syn keyword ngxDirectiveThirdParty passenger_python -syn keyword ngxDirectiveThirdParty passenger_nodejs -syn keyword ngxDirectiveThirdParty passenger_meteor_app_settings -syn keyword ngxDirectiveThirdParty passenger_app_env -syn keyword ngxDirectiveThirdParty passenger_app_root -syn keyword ngxDirectiveThirdParty passenger_app_group_name -syn keyword ngxDirectiveThirdParty passenger_app_type -syn keyword ngxDirectiveThirdParty passenger_startup_file -syn keyword ngxDirectiveThirdParty passenger_restart_dir -syn keyword ngxDirectiveThirdParty passenger_spawn_method -syn keyword ngxDirectiveThirdParty passenger_env_var -syn keyword ngxDirectiveThirdParty passenger_load_shell_envvars -syn keyword ngxDirectiveThirdParty passenger_rolling_restarts -syn keyword ngxDirectiveThirdParty passenger_resist_deployment_errors -syn keyword ngxDirectiveThirdParty passenger_user_switching -syn keyword ngxDirectiveThirdParty passenger_user -syn keyword ngxDirectiveThirdParty passenger_group -syn keyword ngxDirectiveThirdParty passenger_default_user -syn keyword ngxDirectiveThirdParty passenger_default_group -syn keyword ngxDirectiveThirdParty passenger_show_version_in_header -syn keyword ngxDirectiveThirdParty passenger_friendly_error_pages -syn keyword ngxDirectiveThirdParty passenger_disable_security_update_check -syn keyword ngxDirectiveThirdParty passenger_security_update_check_proxy -syn keyword ngxDirectiveThirdParty passenger_max_pool_size -syn keyword ngxDirectiveThirdParty passenger_min_instances -syn keyword ngxDirectiveThirdParty passenger_max_instances -syn keyword ngxDirectiveThirdParty passenger_max_instances_per_app -syn keyword ngxDirectiveThirdParty passenger_pool_idle_time -syn keyword ngxDirectiveThirdParty passenger_max_preloader_idle_time -syn keyword ngxDirectiveThirdParty passenger_force_max_concurrent_requests_per_process -syn keyword ngxDirectiveThirdParty passenger_start_timeout -syn keyword ngxDirectiveThirdParty passenger_concurrency_model -syn keyword ngxDirectiveThirdParty passenger_thread_count -syn keyword ngxDirectiveThirdParty passenger_max_requests -syn keyword ngxDirectiveThirdParty passenger_max_request_time -syn keyword ngxDirectiveThirdParty passenger_memory_limit -syn keyword ngxDirectiveThirdParty passenger_stat_throttle_rate -syn keyword ngxDirectiveThirdParty passenger_core_file_descriptor_ulimit -syn keyword ngxDirectiveThirdParty passenger_app_file_descriptor_ulimit -syn keyword ngxDirectiveThirdParty passenger_pre_start -syn keyword ngxDirectiveThirdParty passenger_set_header -syn keyword ngxDirectiveThirdParty passenger_max_request_queue_size -syn keyword ngxDirectiveThirdParty passenger_request_queue_overflow_status_code -syn keyword ngxDirectiveThirdParty passenger_sticky_sessions -syn keyword ngxDirectiveThirdParty passenger_sticky_sessions_cookie_name -syn keyword ngxDirectiveThirdParty passenger_abort_websockets_on_process_shutdown -syn keyword ngxDirectiveThirdParty passenger_ignore_client_abort -syn keyword ngxDirectiveThirdParty passenger_intercept_errors -syn keyword ngxDirectiveThirdParty passenger_pass_header -syn keyword ngxDirectiveThirdParty passenger_ignore_headers -syn keyword ngxDirectiveThirdParty passenger_headers_hash_bucket_size -syn keyword ngxDirectiveThirdParty passenger_headers_hash_max_size -syn keyword ngxDirectiveThirdParty passenger_buffer_response -syn keyword ngxDirectiveThirdParty passenger_response_buffer_high_watermark -syn keyword ngxDirectiveThirdParty passenger_buffer_size, passenger_buffers, passenger_busy_buffers_size -syn keyword ngxDirectiveThirdParty passenger_socket_backlog -syn keyword ngxDirectiveThirdParty passenger_log_level -syn keyword ngxDirectiveThirdParty passenger_log_file -syn keyword ngxDirectiveThirdParty passenger_file_descriptor_log_file -syn keyword ngxDirectiveThirdParty passenger_debugger -syn keyword ngxDirectiveThirdParty passenger_instance_registry_dir -syn keyword ngxDirectiveThirdParty passenger_data_buffer_dir -syn keyword ngxDirectiveThirdParty passenger_fly_with -syn keyword ngxDirectiveThirdParty union_station_support -syn keyword ngxDirectiveThirdParty union_station_key -syn keyword ngxDirectiveThirdParty union_station_proxy_address -syn keyword ngxDirectiveThirdParty union_station_filter -syn keyword ngxDirectiveThirdParty union_station_gateway_address -syn keyword ngxDirectiveThirdParty union_station_gateway_port -syn keyword ngxDirectiveThirdParty union_station_gateway_cert -syn keyword ngxDirectiveDeprecated rails_spawn_method -syn keyword ngxDirectiveDeprecated passenger_debug_log_file - -" Postgres Module -" Upstream module that allows nginx to communicate directly with PostgreSQL database. -syn keyword ngxDirectiveThirdParty postgres_server -syn keyword ngxDirectiveThirdParty postgres_keepalive -syn keyword ngxDirectiveThirdParty postgres_pass -syn keyword ngxDirectiveThirdParty postgres_query -syn keyword ngxDirectiveThirdParty postgres_rewrite -syn keyword ngxDirectiveThirdParty postgres_output -syn keyword ngxDirectiveThirdParty postgres_set -syn keyword ngxDirectiveThirdParty postgres_escape -syn keyword ngxDirectiveThirdParty postgres_connect_timeout -syn keyword ngxDirectiveThirdParty postgres_result_timeout - -" Pubcookie Module -" Authorizes users using encrypted cookies -syn keyword ngxDirectiveThirdParty pubcookie_inactive_expire -syn keyword ngxDirectiveThirdParty pubcookie_hard_expire -syn keyword ngxDirectiveThirdParty pubcookie_app_id -syn keyword ngxDirectiveThirdParty pubcookie_dir_depth -syn keyword ngxDirectiveThirdParty pubcookie_catenate_app_ids -syn keyword ngxDirectiveThirdParty pubcookie_app_srv_id -syn keyword ngxDirectiveThirdParty pubcookie_login -syn keyword ngxDirectiveThirdParty pubcookie_login_method -syn keyword ngxDirectiveThirdParty pubcookie_post -syn keyword ngxDirectiveThirdParty pubcookie_domain -syn keyword ngxDirectiveThirdParty pubcookie_granting_cert_file -syn keyword ngxDirectiveThirdParty pubcookie_session_key_file -syn keyword ngxDirectiveThirdParty pubcookie_session_cert_file -syn keyword ngxDirectiveThirdParty pubcookie_crypt_key_file -syn keyword ngxDirectiveThirdParty pubcookie_end_session -syn keyword ngxDirectiveThirdParty pubcookie_encryption -syn keyword ngxDirectiveThirdParty pubcookie_session_reauth -syn keyword ngxDirectiveThirdParty pubcookie_auth_type_names -syn keyword ngxDirectiveThirdParty pubcookie_no_prompt -syn keyword ngxDirectiveThirdParty pubcookie_on_demand -syn keyword ngxDirectiveThirdParty pubcookie_addl_request -syn keyword ngxDirectiveThirdParty pubcookie_no_obscure_cookies -syn keyword ngxDirectiveThirdParty pubcookie_no_clean_creds -syn keyword ngxDirectiveThirdParty pubcookie_egd_device -syn keyword ngxDirectiveThirdParty pubcookie_no_blank -syn keyword ngxDirectiveThirdParty pubcookie_super_debug -syn keyword ngxDirectiveThirdParty pubcookie_set_remote_user - -" Push Stream Module -" A pure stream http push technology for your Nginx setup -syn keyword ngxDirectiveThirdParty push_stream_channels_statistics -syn keyword ngxDirectiveThirdParty push_stream_publisher -syn keyword ngxDirectiveThirdParty push_stream_subscriber -syn keyword ngxDirectiveThirdParty push_stream_shared_memory_size -syn keyword ngxDirectiveThirdParty push_stream_channel_deleted_message_text -syn keyword ngxDirectiveThirdParty push_stream_channel_inactivity_time -syn keyword ngxDirectiveThirdParty push_stream_ping_message_text -syn keyword ngxDirectiveThirdParty push_stream_timeout_with_body -syn keyword ngxDirectiveThirdParty push_stream_message_ttl -syn keyword ngxDirectiveThirdParty push_stream_max_subscribers_per_channel -syn keyword ngxDirectiveThirdParty push_stream_max_messages_stored_per_channel -syn keyword ngxDirectiveThirdParty push_stream_max_channel_id_length -syn keyword ngxDirectiveThirdParty push_stream_max_number_of_channels -syn keyword ngxDirectiveThirdParty push_stream_max_number_of_wildcard_channels -syn keyword ngxDirectiveThirdParty push_stream_wildcard_channel_prefix -syn keyword ngxDirectiveThirdParty push_stream_events_channel_id -syn keyword ngxDirectiveThirdParty push_stream_channels_path -syn keyword ngxDirectiveThirdParty push_stream_store_messages -syn keyword ngxDirectiveThirdParty push_stream_channel_info_on_publish -syn keyword ngxDirectiveThirdParty push_stream_authorized_channels_only -syn keyword ngxDirectiveThirdParty push_stream_header_template_file -syn keyword ngxDirectiveThirdParty push_stream_header_template -syn keyword ngxDirectiveThirdParty push_stream_message_template -syn keyword ngxDirectiveThirdParty push_stream_footer_template -syn keyword ngxDirectiveThirdParty push_stream_wildcard_channel_max_qtd -syn keyword ngxDirectiveThirdParty push_stream_ping_message_interval -syn keyword ngxDirectiveThirdParty push_stream_subscriber_connection_ttl -syn keyword ngxDirectiveThirdParty push_stream_longpolling_connection_ttl -syn keyword ngxDirectiveThirdParty push_stream_websocket_allow_publish -syn keyword ngxDirectiveThirdParty push_stream_last_received_message_time -syn keyword ngxDirectiveThirdParty push_stream_last_received_message_tag -syn keyword ngxDirectiveThirdParty push_stream_last_event_id -syn keyword ngxDirectiveThirdParty push_stream_user_agent -syn keyword ngxDirectiveThirdParty push_stream_padding_by_user_agent -syn keyword ngxDirectiveThirdParty push_stream_allowed_origins -syn keyword ngxDirectiveThirdParty push_stream_allow_connections_to_events_channel - -" rDNS Module -" Make a reverse DNS (rDNS) lookup for incoming connection and provides simple access control of incoming hostname by allow/deny rules -syn keyword ngxDirectiveThirdParty rdns -syn keyword ngxDirectiveThirdParty rdns_allow -syn keyword ngxDirectiveThirdParty rdns_deny - -" RDS CSV Module -" Nginx output filter module to convert Resty-DBD-Streams (RDS) to Comma-Separated Values (CSV) -syn keyword ngxDirectiveThirdParty rds_csv -syn keyword ngxDirectiveThirdParty rds_csv_row_terminator -syn keyword ngxDirectiveThirdParty rds_csv_field_separator -syn keyword ngxDirectiveThirdParty rds_csv_field_name_header -syn keyword ngxDirectiveThirdParty rds_csv_content_type -syn keyword ngxDirectiveThirdParty rds_csv_buffer_size - -" RDS JSON Module -" An output filter that formats Resty DBD Streams generated by ngx_drizzle and others to JSON -syn keyword ngxDirectiveThirdParty rds_json -syn keyword ngxDirectiveThirdParty rds_json_buffer_size -syn keyword ngxDirectiveThirdParty rds_json_format -syn keyword ngxDirectiveThirdParty rds_json_root -syn keyword ngxDirectiveThirdParty rds_json_success_property -syn keyword ngxDirectiveThirdParty rds_json_user_property -syn keyword ngxDirectiveThirdParty rds_json_errcode_key -syn keyword ngxDirectiveThirdParty rds_json_errstr_key -syn keyword ngxDirectiveThirdParty rds_json_ret -syn keyword ngxDirectiveThirdParty rds_json_content_type - -" Redis Module -" Use this module to perform simple caching -syn keyword ngxDirectiveThirdParty redis_pass -syn keyword ngxDirectiveThirdParty redis_bind -syn keyword ngxDirectiveThirdParty redis_connect_timeout -syn keyword ngxDirectiveThirdParty redis_read_timeout -syn keyword ngxDirectiveThirdParty redis_send_timeout -syn keyword ngxDirectiveThirdParty redis_buffer_size -syn keyword ngxDirectiveThirdParty redis_next_upstream -syn keyword ngxDirectiveThirdParty redis_gzip_flag - -" Redis 2 Module -" Nginx upstream module for the Redis 2.0 protocol -syn keyword ngxDirectiveThirdParty redis2_query -syn keyword ngxDirectiveThirdParty redis2_raw_query -syn keyword ngxDirectiveThirdParty redis2_raw_queries -syn keyword ngxDirectiveThirdParty redis2_literal_raw_query -syn keyword ngxDirectiveThirdParty redis2_pass -syn keyword ngxDirectiveThirdParty redis2_connect_timeout -syn keyword ngxDirectiveThirdParty redis2_send_timeout -syn keyword ngxDirectiveThirdParty redis2_read_timeout -syn keyword ngxDirectiveThirdParty redis2_buffer_size -syn keyword ngxDirectiveThirdParty redis2_next_upstream - -" Replace Filter Module -" Streaming regular expression replacement in response bodies -syn keyword ngxDirectiveThirdParty replace_filter -syn keyword ngxDirectiveThirdParty replace_filter_types -syn keyword ngxDirectiveThirdParty replace_filter_max_buffered_size -syn keyword ngxDirectiveThirdParty replace_filter_last_modified -syn keyword ngxDirectiveThirdParty replace_filter_skip - -" Roboo Module -" HTTP Robot Mitigator - -" RRD Graph Module -" This module provides an HTTP interface to RRDtool's graphing facilities. -syn keyword ngxDirectiveThirdParty rrd_graph -syn keyword ngxDirectiveThirdParty rrd_graph_root - -" RTMP Module -" NGINX-based Media Streaming Server -syn keyword ngxDirectiveThirdParty rtmp -" syn keyword ngxDirectiveThirdParty server -" syn keyword ngxDirectiveThirdParty listen -syn keyword ngxDirectiveThirdParty application -" syn keyword ngxDirectiveThirdParty timeout -syn keyword ngxDirectiveThirdParty ping -syn keyword ngxDirectiveThirdParty ping_timeout -syn keyword ngxDirectiveThirdParty max_streams -syn keyword ngxDirectiveThirdParty ack_window -syn keyword ngxDirectiveThirdParty chunk_size -syn keyword ngxDirectiveThirdParty max_queue -syn keyword ngxDirectiveThirdParty max_message -syn keyword ngxDirectiveThirdParty out_queue -syn keyword ngxDirectiveThirdParty out_cork -" syn keyword ngxDirectiveThirdParty allow -" syn keyword ngxDirectiveThirdParty deny -syn keyword ngxDirectiveThirdParty exec_push -syn keyword ngxDirectiveThirdParty exec_pull -syn keyword ngxDirectiveThirdParty exec -syn keyword ngxDirectiveThirdParty exec_options -syn keyword ngxDirectiveThirdParty exec_static -syn keyword ngxDirectiveThirdParty exec_kill_signal -syn keyword ngxDirectiveThirdParty respawn -syn keyword ngxDirectiveThirdParty respawn_timeout -syn keyword ngxDirectiveThirdParty exec_publish -syn keyword ngxDirectiveThirdParty exec_play -syn keyword ngxDirectiveThirdParty exec_play_done -syn keyword ngxDirectiveThirdParty exec_publish_done -syn keyword ngxDirectiveThirdParty exec_record_done -syn keyword ngxDirectiveThirdParty live -syn keyword ngxDirectiveThirdParty meta -syn keyword ngxDirectiveThirdParty interleave -syn keyword ngxDirectiveThirdParty wait_key -syn keyword ngxDirectiveThirdParty wait_video -syn keyword ngxDirectiveThirdParty publish_notify -syn keyword ngxDirectiveThirdParty drop_idle_publisher -syn keyword ngxDirectiveThirdParty sync -syn keyword ngxDirectiveThirdParty play_restart -syn keyword ngxDirectiveThirdParty idle_streams -syn keyword ngxDirectiveThirdParty record -syn keyword ngxDirectiveThirdParty record_path -syn keyword ngxDirectiveThirdParty record_suffix -syn keyword ngxDirectiveThirdParty record_unique -syn keyword ngxDirectiveThirdParty record_append -syn keyword ngxDirectiveThirdParty record_lock -syn keyword ngxDirectiveThirdParty record_max_size -syn keyword ngxDirectiveThirdParty record_max_frames -syn keyword ngxDirectiveThirdParty record_interval -syn keyword ngxDirectiveThirdParty recorder -syn keyword ngxDirectiveThirdParty record_notify -syn keyword ngxDirectiveThirdParty play -syn keyword ngxDirectiveThirdParty play_temp_path -syn keyword ngxDirectiveThirdParty play_local_path -syn keyword ngxDirectiveThirdParty pull -syn keyword ngxDirectiveThirdParty push -syn keyword ngxDirectiveThirdParty push_reconnect -syn keyword ngxDirectiveThirdParty session_relay -syn keyword ngxDirectiveThirdParty on_connect -syn keyword ngxDirectiveThirdParty on_play -syn keyword ngxDirectiveThirdParty on_publish -syn keyword ngxDirectiveThirdParty on_done -syn keyword ngxDirectiveThirdParty on_play_done -syn keyword ngxDirectiveThirdParty on_publish_done -syn keyword ngxDirectiveThirdParty on_record_done -syn keyword ngxDirectiveThirdParty on_update -syn keyword ngxDirectiveThirdParty notify_update_timeout -syn keyword ngxDirectiveThirdParty notify_update_strict -syn keyword ngxDirectiveThirdParty notify_relay_redirect -syn keyword ngxDirectiveThirdParty notify_method -syn keyword ngxDirectiveThirdParty hls -syn keyword ngxDirectiveThirdParty hls_path -syn keyword ngxDirectiveThirdParty hls_fragment -syn keyword ngxDirectiveThirdParty hls_playlist_length -syn keyword ngxDirectiveThirdParty hls_sync -syn keyword ngxDirectiveThirdParty hls_continuous -syn keyword ngxDirectiveThirdParty hls_nested -syn keyword ngxDirectiveThirdParty hls_base_url -syn keyword ngxDirectiveThirdParty hls_cleanup -syn keyword ngxDirectiveThirdParty hls_fragment_naming -syn keyword ngxDirectiveThirdParty hls_fragment_slicing -syn keyword ngxDirectiveThirdParty hls_variant -syn keyword ngxDirectiveThirdParty hls_type -syn keyword ngxDirectiveThirdParty hls_keys -syn keyword ngxDirectiveThirdParty hls_key_path -syn keyword ngxDirectiveThirdParty hls_key_url -syn keyword ngxDirectiveThirdParty hls_fragments_per_key -syn keyword ngxDirectiveThirdParty dash -syn keyword ngxDirectiveThirdParty dash_path -syn keyword ngxDirectiveThirdParty dash_fragment -syn keyword ngxDirectiveThirdParty dash_playlist_length -syn keyword ngxDirectiveThirdParty dash_nested -syn keyword ngxDirectiveThirdParty dash_cleanup -" syn keyword ngxDirectiveThirdParty access_log -" syn keyword ngxDirectiveThirdParty log_format -syn keyword ngxDirectiveThirdParty max_connections -syn keyword ngxDirectiveThirdParty rtmp_stat -syn keyword ngxDirectiveThirdParty rtmp_stat_stylesheet -syn keyword ngxDirectiveThirdParty rtmp_auto_push -syn keyword ngxDirectiveThirdParty rtmp_auto_push_reconnect -syn keyword ngxDirectiveThirdParty rtmp_socket_dir -syn keyword ngxDirectiveThirdParty rtmp_control - -" RTMPT Module -" Module for nginx to proxy rtmp using http protocol -syn keyword ngxDirectiveThirdParty rtmpt_proxy_target -syn keyword ngxDirectiveThirdParty rtmpt_proxy_rtmp_timeout -syn keyword ngxDirectiveThirdParty rtmpt_proxy_http_timeout -syn keyword ngxDirectiveThirdParty rtmpt_proxy -syn keyword ngxDirectiveThirdParty rtmpt_proxy_stat -syn keyword ngxDirectiveThirdParty rtmpt_proxy_stylesheet - -" Syntactically Awesome Module -" Providing on-the-fly compiling of Sass files as an NGINX module. -syn keyword ngxDirectiveThirdParty sass_compile -syn keyword ngxDirectiveThirdParty sass_error_log -syn keyword ngxDirectiveThirdParty sass_include_path -syn keyword ngxDirectiveThirdParty sass_indent -syn keyword ngxDirectiveThirdParty sass_is_indented_syntax -syn keyword ngxDirectiveThirdParty sass_linefeed -syn keyword ngxDirectiveThirdParty sass_precision -syn keyword ngxDirectiveThirdParty sass_output_style -syn keyword ngxDirectiveThirdParty sass_source_comments -syn keyword ngxDirectiveThirdParty sass_source_map_embed - -" Secure Download Module -" Enables you to create links which are only valid until a certain datetime is reached -syn keyword ngxDirectiveThirdParty secure_download -syn keyword ngxDirectiveThirdParty secure_download_secret -syn keyword ngxDirectiveThirdParty secure_download_path_mode - -" Selective Cache Purge Module -" A module to purge cache by GLOB patterns. The supported patterns are the same as supported by Redis. -syn keyword ngxDirectiveThirdParty selective_cache_purge_redis_unix_socket -syn keyword ngxDirectiveThirdParty selective_cache_purge_redis_host -syn keyword ngxDirectiveThirdParty selective_cache_purge_redis_port -syn keyword ngxDirectiveThirdParty selective_cache_purge_redis_database -syn keyword ngxDirectiveThirdParty selective_cache_purge_query - -" Set cconv Module -" Cconv rewrite set commands -syn keyword ngxDirectiveThirdParty set_cconv_to_simp -syn keyword ngxDirectiveThirdParty set_cconv_to_trad -syn keyword ngxDirectiveThirdParty set_pinyin_to_normal - -" Set Hash Module -" Nginx module that allows the setting of variables to the value of a variety of hashes -syn keyword ngxDirectiveThirdParty set_md5 -syn keyword ngxDirectiveThirdParty set_md5_upper -syn keyword ngxDirectiveThirdParty set_murmur2 -syn keyword ngxDirectiveThirdParty set_murmur2_upper -syn keyword ngxDirectiveThirdParty set_sha1 -syn keyword ngxDirectiveThirdParty set_sha1_upper - -" Set Lang Module -" Provides a variety of ways for setting a variable denoting the langauge that content should be returned in. -syn keyword ngxDirectiveThirdParty set_lang -syn keyword ngxDirectiveThirdParty set_lang_method -syn keyword ngxDirectiveThirdParty lang_cookie -syn keyword ngxDirectiveThirdParty lang_get_var -syn keyword ngxDirectiveThirdParty lang_list -syn keyword ngxDirectiveThirdParty lang_post_var -syn keyword ngxDirectiveThirdParty lang_host -syn keyword ngxDirectiveThirdParty lang_referer - -" Set Misc Module -" Various set_xxx directives added to nginx's rewrite module -syn keyword ngxDirectiveThirdParty set_if_empty -syn keyword ngxDirectiveThirdParty set_quote_sql_str -syn keyword ngxDirectiveThirdParty set_quote_pgsql_str -syn keyword ngxDirectiveThirdParty set_quote_json_str -syn keyword ngxDirectiveThirdParty set_unescape_uri -syn keyword ngxDirectiveThirdParty set_escape_uri -syn keyword ngxDirectiveThirdParty set_hashed_upstream -syn keyword ngxDirectiveThirdParty set_encode_base32 -syn keyword ngxDirectiveThirdParty set_base32_padding -syn keyword ngxDirectiveThirdParty set_misc_base32_padding -syn keyword ngxDirectiveThirdParty set_base32_alphabet -syn keyword ngxDirectiveThirdParty set_decode_base32 -syn keyword ngxDirectiveThirdParty set_encode_base64 -syn keyword ngxDirectiveThirdParty set_decode_base64 -syn keyword ngxDirectiveThirdParty set_encode_hex -syn keyword ngxDirectiveThirdParty set_decode_hex -syn keyword ngxDirectiveThirdParty set_sha1 -syn keyword ngxDirectiveThirdParty set_md5 -syn keyword ngxDirectiveThirdParty set_hmac_sha1 -syn keyword ngxDirectiveThirdParty set_random -syn keyword ngxDirectiveThirdParty set_secure_random_alphanum -syn keyword ngxDirectiveThirdParty set_secure_random_lcalpha -syn keyword ngxDirectiveThirdParty set_rotate -syn keyword ngxDirectiveThirdParty set_local_today -syn keyword ngxDirectiveThirdParty set_formatted_gmt_time -syn keyword ngxDirectiveThirdParty set_formatted_local_time - -" SFlow Module -" A binary, random-sampling nginx module designed for: lightweight, centralized, continuous, real-time monitoring of very large and very busy web farms. -syn keyword ngxDirectiveThirdParty sflow - -" Shibboleth Module -" Shibboleth auth request module for nginx -syn keyword ngxDirectiveThirdParty shib_request -syn keyword ngxDirectiveThirdParty shib_request_set -syn keyword ngxDirectiveThirdParty shib_request_use_headers - -" Slice Module -" Nginx module for serving a file in slices (reverse byte-range) -" syn keyword ngxDirectiveThirdParty slice -syn keyword ngxDirectiveThirdParty slice_arg_begin -syn keyword ngxDirectiveThirdParty slice_arg_end -syn keyword ngxDirectiveThirdParty slice_header -syn keyword ngxDirectiveThirdParty slice_footer -syn keyword ngxDirectiveThirdParty slice_header_first -syn keyword ngxDirectiveThirdParty slice_footer_last - -" SlowFS Cache Module -" Module adding ability to cache static files. -syn keyword ngxDirectiveThirdParty slowfs_big_file_size -syn keyword ngxDirectiveThirdParty slowfs_cache -syn keyword ngxDirectiveThirdParty slowfs_cache_key -syn keyword ngxDirectiveThirdParty slowfs_cache_min_uses -syn keyword ngxDirectiveThirdParty slowfs_cache_path -syn keyword ngxDirectiveThirdParty slowfs_cache_purge -syn keyword ngxDirectiveThirdParty slowfs_cache_valid -syn keyword ngxDirectiveThirdParty slowfs_temp_path - -" Small Light Module -" Dynamic Image Transformation Module For nginx. -syn keyword ngxDirectiveThirdParty small_light -syn keyword ngxDirectiveThirdParty small_light_getparam_mode -syn keyword ngxDirectiveThirdParty small_light_material_dir -syn keyword ngxDirectiveThirdParty small_light_pattern_define -syn keyword ngxDirectiveThirdParty small_light_radius_max -syn keyword ngxDirectiveThirdParty small_light_sigma_max -syn keyword ngxDirectiveThirdParty small_light_imlib2_temp_dir -syn keyword ngxDirectiveThirdParty small_light_buffer - -" Sorted Querystring Filter Module -" Nginx module to expose querystring parameters sorted in a variable to be used on cache_key as example -syn keyword ngxDirectiveThirdParty sorted_querystring_filter_parameter - -" Sphinx2 Module -" Nginx upstream module for Sphinx 2.x -syn keyword ngxDirectiveThirdParty sphinx2_pass -syn keyword ngxDirectiveThirdParty sphinx2_bind -syn keyword ngxDirectiveThirdParty sphinx2_connect_timeout -syn keyword ngxDirectiveThirdParty sphinx2_send_timeout -syn keyword ngxDirectiveThirdParty sphinx2_buffer_size -syn keyword ngxDirectiveThirdParty sphinx2_read_timeout -syn keyword ngxDirectiveThirdParty sphinx2_next_upstream - -" HTTP SPNEGO auth Module -" This module implements adds SPNEGO support to nginx(http://nginx.org). It currently supports only Kerberos authentication via GSSAPI -syn keyword ngxDirectiveThirdParty auth_gss -syn keyword ngxDirectiveThirdParty auth_gss_keytab -syn keyword ngxDirectiveThirdParty auth_gss_realm -syn keyword ngxDirectiveThirdParty auth_gss_service_name -syn keyword ngxDirectiveThirdParty auth_gss_authorized_principal -syn keyword ngxDirectiveThirdParty auth_gss_allow_basic_fallback - -" SR Cache Module -" Transparent subrequest-based caching layout for arbitrary nginx locations -syn keyword ngxDirectiveThirdParty srcache_fetch -syn keyword ngxDirectiveThirdParty srcache_fetch_skip -syn keyword ngxDirectiveThirdParty srcache_store -syn keyword ngxDirectiveThirdParty srcache_store_max_size -syn keyword ngxDirectiveThirdParty srcache_store_skip -syn keyword ngxDirectiveThirdParty srcache_store_statuses -syn keyword ngxDirectiveThirdParty srcache_store_ranges -syn keyword ngxDirectiveThirdParty srcache_header_buffer_size -syn keyword ngxDirectiveThirdParty srcache_store_hide_header -syn keyword ngxDirectiveThirdParty srcache_store_pass_header -syn keyword ngxDirectiveThirdParty srcache_methods -syn keyword ngxDirectiveThirdParty srcache_ignore_content_encoding -syn keyword ngxDirectiveThirdParty srcache_request_cache_control -syn keyword ngxDirectiveThirdParty srcache_response_cache_control -syn keyword ngxDirectiveThirdParty srcache_store_no_store -syn keyword ngxDirectiveThirdParty srcache_store_no_cache -syn keyword ngxDirectiveThirdParty srcache_store_private -syn keyword ngxDirectiveThirdParty srcache_default_expire -syn keyword ngxDirectiveThirdParty srcache_max_expire - -" SSSD Info Module -" Retrives additional attributes from SSSD for current authentizated user -syn keyword ngxDirectiveThirdParty sssd_info -syn keyword ngxDirectiveThirdParty sssd_info_output_to -syn keyword ngxDirectiveThirdParty sssd_info_groups -syn keyword ngxDirectiveThirdParty sssd_info_group -syn keyword ngxDirectiveThirdParty sssd_info_group_separator -syn keyword ngxDirectiveThirdParty sssd_info_attributes -syn keyword ngxDirectiveThirdParty sssd_info_attribute -syn keyword ngxDirectiveThirdParty sssd_info_attribute_separator - -" Static Etags Module -" Generate etags for static content -syn keyword ngxDirectiveThirdParty FileETag - -" Statsd Module -" An nginx module for sending statistics to statsd -syn keyword ngxDirectiveThirdParty statsd_server -syn keyword ngxDirectiveThirdParty statsd_sample_rate -syn keyword ngxDirectiveThirdParty statsd_count -syn keyword ngxDirectiveThirdParty statsd_timing - -" Sticky Module -" Add a sticky cookie to be always forwarded to the same upstream server -" syn keyword ngxDirectiveThirdParty sticky - -" Stream Echo Module -" TCP/stream echo module for NGINX (a port of ngx_http_echo_module) -syn keyword ngxDirectiveThirdParty echo -syn keyword ngxDirectiveThirdParty echo_duplicate -syn keyword ngxDirectiveThirdParty echo_flush_wait -syn keyword ngxDirectiveThirdParty echo_sleep -syn keyword ngxDirectiveThirdParty echo_send_timeout -syn keyword ngxDirectiveThirdParty echo_read_bytes -syn keyword ngxDirectiveThirdParty echo_read_line -syn keyword ngxDirectiveThirdParty echo_request_data -syn keyword ngxDirectiveThirdParty echo_discard_request -syn keyword ngxDirectiveThirdParty echo_read_buffer_size -syn keyword ngxDirectiveThirdParty echo_read_timeout -syn keyword ngxDirectiveThirdParty echo_client_error_log_level -syn keyword ngxDirectiveThirdParty echo_lingering_close -syn keyword ngxDirectiveThirdParty echo_lingering_time -syn keyword ngxDirectiveThirdParty echo_lingering_timeout - -" Stream Lua Module -" Embed the power of Lua into Nginx stream/TCP Servers. -syn keyword ngxDirectiveThirdParty lua_resolver -syn keyword ngxDirectiveThirdParty lua_resolver_timeout -syn keyword ngxDirectiveThirdParty lua_lingering_close -syn keyword ngxDirectiveThirdParty lua_lingering_time -syn keyword ngxDirectiveThirdParty lua_lingering_timeout - -" Stream Upsync Module -" Sync upstreams from consul or others, dynamiclly modify backend-servers attribute(weight, max_fails,...), needn't reload nginx. -syn keyword ngxDirectiveThirdParty upsync -syn keyword ngxDirectiveThirdParty upsync_dump_path -syn keyword ngxDirectiveThirdParty upsync_lb -syn keyword ngxDirectiveThirdParty upsync_show - -" Strip Module -" Whitespace remover. -syn keyword ngxDirectiveThirdParty strip - -" Subrange Module -" Split one big HTTP/Range request to multiple subrange requesets -syn keyword ngxDirectiveThirdParty subrange - -" Substitutions Module -" A filter module which can do both regular expression and fixed string substitutions on response bodies. -syn keyword ngxDirectiveThirdParty subs_filter -syn keyword ngxDirectiveThirdParty subs_filter_types - -" Summarizer Module -" Upstream nginx module to get summaries of documents using the summarizer daemon service -syn keyword ngxDirectiveThirdParty smrzr_filename -syn keyword ngxDirectiveThirdParty smrzr_ratio - -" Supervisord Module -" Module providing nginx with API to communicate with supervisord and manage (start/stop) backends on-demand. -syn keyword ngxDirectiveThirdParty supervisord -syn keyword ngxDirectiveThirdParty supervisord_inherit_backend_status -syn keyword ngxDirectiveThirdParty supervisord_name -syn keyword ngxDirectiveThirdParty supervisord_start -syn keyword ngxDirectiveThirdParty supervisord_stop - -" Tarantool Upstream Module -" Tarantool NginX upstream module (REST, JSON API, websockets, load balancing) -syn keyword ngxDirectiveThirdParty tnt_pass -syn keyword ngxDirectiveThirdParty tnt_http_methods -syn keyword ngxDirectiveThirdParty tnt_http_rest_methods -syn keyword ngxDirectiveThirdParty tnt_pass_http_request -syn keyword ngxDirectiveThirdParty tnt_pass_http_request_buffer_size -syn keyword ngxDirectiveThirdParty tnt_method -syn keyword ngxDirectiveThirdParty tnt_http_allowed_methods - experemental -syn keyword ngxDirectiveThirdParty tnt_send_timeout -syn keyword ngxDirectiveThirdParty tnt_read_timeout -syn keyword ngxDirectiveThirdParty tnt_buffer_size -syn keyword ngxDirectiveThirdParty tnt_next_upstream -syn keyword ngxDirectiveThirdParty tnt_connect_timeout -syn keyword ngxDirectiveThirdParty tnt_next_upstream -syn keyword ngxDirectiveThirdParty tnt_next_upstream_tries -syn keyword ngxDirectiveThirdParty tnt_next_upstream_timeout - -" TCP Proxy Module -" Add the feature of tcp proxy with nginx, with health check and status monitor -syn keyword ngxDirectiveBlock tcp -" syn keyword ngxDirectiveThirdParty server -" syn keyword ngxDirectiveThirdParty listen -" syn keyword ngxDirectiveThirdParty allow -" syn keyword ngxDirectiveThirdParty deny -" syn keyword ngxDirectiveThirdParty so_keepalive -" syn keyword ngxDirectiveThirdParty tcp_nodelay -" syn keyword ngxDirectiveThirdParty timeout -" syn keyword ngxDirectiveThirdParty server_name -" syn keyword ngxDirectiveThirdParty resolver -" syn keyword ngxDirectiveThirdParty resolver_timeout -" syn keyword ngxDirectiveThirdParty upstream -syn keyword ngxDirectiveThirdParty check -syn keyword ngxDirectiveThirdParty check_http_send -syn keyword ngxDirectiveThirdParty check_http_expect_alive -syn keyword ngxDirectiveThirdParty check_smtp_send -syn keyword ngxDirectiveThirdParty check_smtp_expect_alive -syn keyword ngxDirectiveThirdParty check_shm_size -syn keyword ngxDirectiveThirdParty check_status -" syn keyword ngxDirectiveThirdParty ip_hash -" syn keyword ngxDirectiveThirdParty proxy_pass -" syn keyword ngxDirectiveThirdParty proxy_buffer -" syn keyword ngxDirectiveThirdParty proxy_connect_timeout -" syn keyword ngxDirectiveThirdParty proxy_read_timeout -syn keyword ngxDirectiveThirdParty proxy_write_timeout - -" Testcookie Module -" NGINX module for L7 DDoS attack mitigation -syn keyword ngxDirectiveThirdParty testcookie -syn keyword ngxDirectiveThirdParty testcookie_name -syn keyword ngxDirectiveThirdParty testcookie_domain -syn keyword ngxDirectiveThirdParty testcookie_expires -syn keyword ngxDirectiveThirdParty testcookie_path -syn keyword ngxDirectiveThirdParty testcookie_secret -syn keyword ngxDirectiveThirdParty testcookie_session -syn keyword ngxDirectiveThirdParty testcookie_arg -syn keyword ngxDirectiveThirdParty testcookie_max_attempts -syn keyword ngxDirectiveThirdParty testcookie_p3p -syn keyword ngxDirectiveThirdParty testcookie_fallback -syn keyword ngxDirectiveThirdParty testcookie_whitelist -syn keyword ngxDirectiveThirdParty testcookie_pass -syn keyword ngxDirectiveThirdParty testcookie_redirect_via_refresh -syn keyword ngxDirectiveThirdParty testcookie_refresh_template -syn keyword ngxDirectiveThirdParty testcookie_refresh_status -syn keyword ngxDirectiveThirdParty testcookie_deny_keepalive -syn keyword ngxDirectiveThirdParty testcookie_get_only -syn keyword ngxDirectiveThirdParty testcookie_https_location -syn keyword ngxDirectiveThirdParty testcookie_refresh_encrypt_cookie -syn keyword ngxDirectiveThirdParty testcookie_refresh_encrypt_cookie_key -syn keyword ngxDirectiveThirdParty testcookie_refresh_encrypt_iv -syn keyword ngxDirectiveThirdParty testcookie_internal -syn keyword ngxDirectiveThirdParty testcookie_httponly_flag -syn keyword ngxDirectiveThirdParty testcookie_secure_flag - -" Types Filter Module -" Change the `Content-Type` output header depending on an extension variable according to a condition specified in the 'if' clause. -syn keyword ngxDirectiveThirdParty types_filter -syn keyword ngxDirectiveThirdParty types_filter_use_default - -" Unzip Module -" Enabling fetching of files that are stored in zipped archives. -syn keyword ngxDirectiveThirdParty file_in_unzip_archivefile -syn keyword ngxDirectiveThirdParty file_in_unzip_extract -syn keyword ngxDirectiveThirdParty file_in_unzip - -" Upload Progress Module -" An upload progress system, that monitors RFC1867 POST upload as they are transmitted to upstream servers -syn keyword ngxDirectiveThirdParty upload_progress -syn keyword ngxDirectiveThirdParty track_uploads -syn keyword ngxDirectiveThirdParty report_uploads -syn keyword ngxDirectiveThirdParty upload_progress_content_type -syn keyword ngxDirectiveThirdParty upload_progress_header -syn keyword ngxDirectiveThirdParty upload_progress_jsonp_parameter -syn keyword ngxDirectiveThirdParty upload_progress_json_output -syn keyword ngxDirectiveThirdParty upload_progress_jsonp_output -syn keyword ngxDirectiveThirdParty upload_progress_template - -" Upload Module -" Parses request body storing all files being uploaded to a directory specified by upload_store directive -syn keyword ngxDirectiveThirdParty upload_pass -syn keyword ngxDirectiveThirdParty upload_resumable -syn keyword ngxDirectiveThirdParty upload_store -syn keyword ngxDirectiveThirdParty upload_state_store -syn keyword ngxDirectiveThirdParty upload_store_access -syn keyword ngxDirectiveThirdParty upload_set_form_field -syn keyword ngxDirectiveThirdParty upload_aggregate_form_field -syn keyword ngxDirectiveThirdParty upload_pass_form_field -syn keyword ngxDirectiveThirdParty upload_cleanup -syn keyword ngxDirectiveThirdParty upload_buffer_size -syn keyword ngxDirectiveThirdParty upload_max_part_header_len -syn keyword ngxDirectiveThirdParty upload_max_file_size -syn keyword ngxDirectiveThirdParty upload_limit_rate -syn keyword ngxDirectiveThirdParty upload_max_output_body_len -syn keyword ngxDirectiveThirdParty upload_tame_arrays -syn keyword ngxDirectiveThirdParty upload_pass_args - -" Upstream Fair Module -" The fair load balancer module for nginx http://nginx.localdomain.pl -syn keyword ngxDirectiveThirdParty fair -syn keyword ngxDirectiveThirdParty upstream_fair_shm_size - -" Upstream Hash Module (DEPRECATED) -" Provides simple upstream load distribution by hashing a configurable variable. -" syn keyword ngxDirectiveDeprecated hash -syn keyword ngxDirectiveDeprecated hash_again - -" Upstream Domain Resolve Module -" A load-balancer that resolves an upstream domain name asynchronously. -syn keyword ngxDirectiveThirdParty jdomain - -" Upsync Module -" Sync upstreams from consul or others, dynamiclly modify backend-servers attribute(weight, max_fails,...), needn't reload nginx -syn keyword ngxDirectiveThirdParty upsync -syn keyword ngxDirectiveThirdParty upsync_dump_path -syn keyword ngxDirectiveThirdParty upsync_lb -syn keyword ngxDirectiveThirdParty upstream_show - -" URL Module -" Nginx url encoding converting module -syn keyword ngxDirectiveThirdParty url_encoding_convert -syn keyword ngxDirectiveThirdParty url_encoding_convert_from -syn keyword ngxDirectiveThirdParty url_encoding_convert_to - -" User Agent Module -" Match browsers and crawlers -syn keyword ngxDirectiveThirdParty user_agent - -" Upstrema Ketama Chash Module -" Nginx load-balancer module implementing ketama consistent hashing. -syn keyword ngxDirectiveThirdParty ketama_chash - -" Video Thumbextractor Module -" Extract thumbs from a video file -syn keyword ngxDirectiveThirdParty video_thumbextractor -syn keyword ngxDirectiveThirdParty video_thumbextractor_video_filename -syn keyword ngxDirectiveThirdParty video_thumbextractor_video_second -syn keyword ngxDirectiveThirdParty video_thumbextractor_image_width -syn keyword ngxDirectiveThirdParty video_thumbextractor_image_height -syn keyword ngxDirectiveThirdParty video_thumbextractor_only_keyframe -syn keyword ngxDirectiveThirdParty video_thumbextractor_next_time -syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_rows -syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_cols -syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_max_rows -syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_max_cols -syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_sample_interval -syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_color -syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_margin -syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_padding -syn keyword ngxDirectiveThirdParty video_thumbextractor_threads -syn keyword ngxDirectiveThirdParty video_thumbextractor_processes_per_worker - -" Eval Module -" Module for nginx web server evaluates response of proxy or memcached module into variables. -syn keyword ngxDirectiveThirdParty eval -syn keyword ngxDirectiveThirdParty eval_escalate -syn keyword ngxDirectiveThirdParty eval_override_content_type - -" VTS Module -" Nginx virtual host traffic status module -syn keyword ngxDirectiveThirdParty vhost_traffic_status -syn keyword ngxDirectiveThirdParty vhost_traffic_status_zone -syn keyword ngxDirectiveThirdParty vhost_traffic_status_display -syn keyword ngxDirectiveThirdParty vhost_traffic_status_display_format -syn keyword ngxDirectiveThirdParty vhost_traffic_status_display_jsonp -syn keyword ngxDirectiveThirdParty vhost_traffic_status_filter -syn keyword ngxDirectiveThirdParty vhost_traffic_status_filter_by_host -syn keyword ngxDirectiveThirdParty vhost_traffic_status_filter_by_set_key -syn keyword ngxDirectiveThirdParty vhost_traffic_status_filter_check_duplicate -syn keyword ngxDirectiveThirdParty vhost_traffic_status_limit -syn keyword ngxDirectiveThirdParty vhost_traffic_status_limit_traffic -syn keyword ngxDirectiveThirdParty vhost_traffic_status_limit_traffic_by_set_key -syn keyword ngxDirectiveThirdParty vhost_traffic_status_limit_check_duplicate - -" XSS Module -" Native support for cross-site scripting (XSS) in an nginx. -syn keyword ngxDirectiveThirdParty xss_get -syn keyword ngxDirectiveThirdParty xss_callback_arg -syn keyword ngxDirectiveThirdParty xss_override_status -syn keyword ngxDirectiveThirdParty xss_check_status -syn keyword ngxDirectiveThirdParty xss_input_types - -" ZIP Module -" ZIP archiver for nginx - -" Contained LUA blocks for embedded syntax highlighting -syn keyword ngxThirdPartyLuaBlock balancer_by_lua_block contained -syn keyword ngxThirdPartyLuaBlock init_by_lua_block contained -syn keyword ngxThirdPartyLuaBlock init_worker_by_lua_block contained -syn keyword ngxThirdPartyLuaBlock set_by_lua_block contained -syn keyword ngxThirdPartyLuaBlock content_by_lua_block contained -syn keyword ngxThirdPartyLuaBlock rewrite_by_lua_block contained -syn keyword ngxThirdPartyLuaBlock access_by_lua_block contained -syn keyword ngxThirdPartyLuaBlock header_filter_by_lua_block contained -syn keyword ngxThirdPartyLuaBlock body_filter_by_lua_block contained -syn keyword ngxThirdPartyLuaBlock log_by_lua_block contained -syn keyword ngxThirdPartyLuaBlock ssl_certificate_by_lua_block contained -syn keyword ngxThirdPartyLuaBlock ssl_session_fetch_by_lua_block contained -syn keyword ngxThirdPartyLuaBlock ssl_session_store_by_lua_block contained - - -" Nested syntax in ERB templating statements -" Subtype needs to be set to '', otherwise recursive errors occur when opening *.nginx files -let b:eruby_subtype = '' -unlet b:current_syntax -syn include @ERB syntax/eruby.vim -syn region ngxTemplate start=+<%[^\=]+ end=+%>+ oneline contains=@ERB -syn region ngxTemplateVar start=+<%=+ end=+%>+ oneline -let b:current_syntax = "nginx" - -" Nested syntax in Jinja templating statements -" This dependend on https://github.com/lepture/vim-jinja -unlet b:current_syntax -try - syn include @JINJA syntax/jinja.vim - syn region ngxTemplate start=+{%+ end=+%}+ oneline contains=@JINJA - syn region ngxTemplateVar start=+{{+ end=+}}+ oneline -catch -endtry -let b:current_syntax = "nginx" - -" Enable nested LUA syntax highlighting -unlet b:current_syntax -syn include @LUA syntax/lua.vim -syn region ngxLua start=+^\s*\w\+_by_lua_block\s*{+ end=+}+me=s-1 contains=ngxBlock,@LUA -let b:current_syntax = "nginx" - - -" Highlight -hi link ngxComment Comment -hi link ngxVariable Identifier -hi link ngxVariableBlock Identifier -hi link ngxVariableString PreProc -hi link ngxBlock Normal -hi link ngxString String -hi link ngxIPaddr Delimiter -hi link ngxBoolean Boolean -hi link ngxInteger Number -hi link ngxDirectiveBlock Statement -hi link ngxDirectiveImportant Type -hi link ngxDirectiveControl Keyword -hi link ngxDirectiveDeprecated Error -hi link ngxDirective Function -hi link ngxDirectiveThirdParty Function -hi link ngxListenOptions PreProc -hi link ngxUpstreamServerOptions PreProc -hi link ngxProxyNextUpstreamOptions PreProc -hi link ngxMailProtocol Keyword -hi link ngxSSLProtocol PreProc -hi link ngxSSLProtocolDeprecated Error -hi link ngxStickyOptions ngxDirective -hi link ngxCookieOptions PreProc -hi link ngxTemplateVar Identifier - -hi link ngxSSLSessionTicketsOff ngxBoolean -hi link ngxSSLSessionTicketsOn Error -hi link ngxSSLPreferServerCiphersOn ngxBoolean -hi link ngxSSLPreferServerCiphersOff Error -hi link ngxGzipOff ngxBoolean -hi link ngxGzipOn Error -hi link ngxSSLCipherInsecure Error - -hi link ngxThirdPartyLuaBlock Function diff --git a/vim/.vim_runtime/sources_non_forked/open_file_under_cursor.vim/plugin/open_file_under_cursor.vim b/vim/.vim_runtime/sources_non_forked/open_file_under_cursor.vim/plugin/open_file_under_cursor.vim deleted file mode 100644 index 107babc..0000000 --- a/vim/.vim_runtime/sources_non_forked/open_file_under_cursor.vim/plugin/open_file_under_cursor.vim +++ /dev/null @@ -1,41 +0,0 @@ -" ----- Emulate 'gf' but recognize :line format ----- -function! GotoFile(w) - let curword = expand("") - if (strlen(curword) == 0) - return - endif - let matchstart = match(curword, ':\d\+$') - if matchstart > 0 - let pos = '+' . strpart(curword, matchstart+1) - let fname = strpart(curword, 0, matchstart) - else - let pos = "" - let fname = curword - endif - - " check exists file. - if filereadable(fname) - let fullname = fname - else - " try find file with prefix by working directory - let fullname = getcwd() . '/' . fname - if ! filereadable(fullname) - " the last try, using current directory based on file opened. - let fullname = expand('%:h') . '/' . fname - endif - endif - - " Open new window if requested - if a:w == "new" - new - endif - " Use 'find' so path is searched like 'gf' would - execute 'find ' . pos . ' ' . fname -endfunction - -set isfname+=: " include colon in filenames - -" Override vim commands 'gf', '^Wf', '^W^F' -nnoremap gf :call GotoFile("") -nnoremap f :call GotoFile("new") -nnoremap :call GotoFile("new") diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/.gitignore b/vim/.vim_runtime/sources_non_forked/rust.vim/.gitignore deleted file mode 100644 index 0a56e3f..0000000 --- a/vim/.vim_runtime/sources_non_forked/rust.vim/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/doc/tags diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/.travis.yml b/vim/.vim_runtime/sources_non_forked/rust.vim/.travis.yml deleted file mode 100644 index fa69300..0000000 --- a/vim/.vim_runtime/sources_non_forked/rust.vim/.travis.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -sudo: required -services: - - docker -language: generic -script: | - cd test && ./run-tests diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/.vintrc.yml b/vim/.vim_runtime/sources_non_forked/rust.vim/.vintrc.yml deleted file mode 100644 index 0914f1b..0000000 --- a/vim/.vim_runtime/sources_non_forked/rust.vim/.vintrc.yml +++ /dev/null @@ -1,10 +0,0 @@ -cmdargs: - # Checking more strictly - severity: style_problem - -policies: - # Disable a violation - ProhibitUnnecessaryDoubleQuote: - enabled: false - ProhibitImplicitScopeVariable: - enabled: false diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/ISSUE_TEMPLATE.md b/vim/.vim_runtime/sources_non_forked/rust.vim/ISSUE_TEMPLATE.md deleted file mode 100644 index 1033a57..0000000 --- a/vim/.vim_runtime/sources_non_forked/rust.vim/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,30 +0,0 @@ -ISSUE_TEMPLATE.md

    - -
      -
    • rust.vim version:
    • -
    - -

    Steps to reproduce:

    - - - -

    ?

    - -

    Expected vs. actual behavior:

    - -

    ?

    - -

    Paste debugging info from the Rust Vim plugin via one of the following -commands: :RustInfo, :RustInfoToClipboard, or :RustInfoToFile <filename>.

    - -

    ?

    diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/LICENSE-APACHE b/vim/.vim_runtime/sources_non_forked/rust.vim/LICENSE-APACHE deleted file mode 100644 index 16fe87b..0000000 --- a/vim/.vim_runtime/sources_non_forked/rust.vim/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/LICENSE-MIT b/vim/.vim_runtime/sources_non_forked/rust.vim/LICENSE-MIT deleted file mode 100644 index e69282e..0000000 --- a/vim/.vim_runtime/sources_non_forked/rust.vim/LICENSE-MIT +++ /dev/null @@ -1,25 +0,0 @@ -Copyright (c) 2015 The Rust Project Developers - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/README.md b/vim/.vim_runtime/sources_non_forked/rust.vim/README.md deleted file mode 100644 index e7c79c1..0000000 --- a/vim/.vim_runtime/sources_non_forked/rust.vim/README.md +++ /dev/null @@ -1,117 +0,0 @@ - -README.md

    rust.vim

    - -

    Description

    - -

    This is a Vim plugin that provides Rust file detection, syntax highlighting, formatting, -Syntastic integration, and more. It requires Vim 8 or higher for full functionality. -Some things may not work on earlier versions.

    - -

    Installation

    - -

    Use one of the following package managers:

    - -
      -
    • Vim8 packages: - -
        -
      • git clone https://github.com/rust-lang/rust.vim ~/.vim/pack/plugins/start/rust.vim
      • -
    • -
    • Vundle: - -
        -
      • Add Plugin 'rust-lang/rust.vim' to ~/.vimrc
      • -
      • :PluginInstall or $ vim +PluginInstall +qall
      • -
      • Note: Vundle will not automatically detect Rust files properly if filetype -on is executed before Vundle. Please check the quickstart for more -details. Errors such as Not an editor command: RustFmt may occur if Vundle -is misconfigured with this plugin.
      • -
    • -
    • Pathogen: - -
        -
      • git clone --depth=1 https://github.com/rust-lang/rust.vim.git ~/.vim/bundle/rust.vim
      • -
    • -
    • vim-plug: - -
        -
      • Add Plug 'rust-lang/rust.vim' to ~/.vimrc
      • -
      • :PlugInstall or $ vim +PlugInstall +qall
      • -
    • -
    • dein.vim: - -
        -
      • Add call dein#add('rust-lang/rust.vim') to ~/.vimrc
      • -
      • :call dein#install()
      • -
    • -
    • NeoBundle: - -
        -
      • Add NeoBundle 'rust-lang/rust.vim' to ~/.vimrc
      • -
      • Re-open vim or execute :source ~/.vimrc
      • -
    • -
    - -

    Features

    - -

    Error checking with Syntastic

    - -

    rust.vim automatically registers cargo as a syntax checker with -Syntastic, if nothing else is specified. See :help rust-syntastic -for more details.

    - -

    Source browsing with Tagbar

    - -

    The installation of Tagbar along with Universal Ctags is recommended -for a good Tagbar experience. For other kinds of setups, rust.vim tries to -configure Tagbar to some degree.

    - -

    Formatting with rustfmt

    - -

    The :RustFmt command will format your code with -rustfmt if installed.

    - -

    Placing let g:rustfmt_autosave = 1 in your ~/.vimrc will -enable automatic running of :RustFmt when you save a buffer.

    - -

    Do :help :RustFmt for further formatting help and customization -options.

    - -

    Playpen integration

    - -

    Note: This feature requires webapi-vim to be installed.

    - -

    The :RustPlay command will send the current selection, or if -nothing is selected the current buffer, to the Rust playpen.

    - -

    If you set g:rust_clip_command RustPlay will copy the url to the clipboard.

    - -
      -
    • Mac:

      - -
      let g:rust_clip_command = 'pbcopy'
    • - -
    • Linux:

      - -
      let g:rust_clip_command = 'xclip -selection clipboard'
    • -
    - -

    Running a test under cursor

    - -

    In cargo project, the :RustTest command will run a test under the cursor. -This is useful when your project is bigger and running all tests take longer time.

    - -

    Help

    - -

    Further help can be found in the documentation with :Helptags then :help rust.

    - -

    Detailed help can be found in the documentation with :help rust. -Helptags (:help helptags) need to be generated for this plugin -in order to navigate the help. Most plugin managers will do this -automatically, but check their documentation if that is not the case.

    - -

    License

    - -

    Like Rust, rust.vim is primarily distributed under the terms of both the MIT -license and the Apache License (Version 2.0). See LICENSE-APACHE and -LICENSE-MIT for details.

    diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/autoload/cargo.vim b/vim/.vim_runtime/sources_non_forked/rust.vim/autoload/cargo.vim deleted file mode 100644 index a95a57f..0000000 --- a/vim/.vim_runtime/sources_non_forked/rust.vim/autoload/cargo.vim +++ /dev/null @@ -1,147 +0,0 @@ -function! cargo#Load() - " Utility call to get this script loaded, for debugging -endfunction - -function! cargo#cmd(args) abort - " Trim trailing spaces. This is necessary since :terminal command parses - " trailing spaces as an empty argument. - let args = substitute(a:args, '\s\+$', '', '') - if exists('g:cargo_shell_command_runner') - let cmd = g:cargo_shell_command_runner - elseif has('terminal') - let cmd = 'terminal' - elseif has('nvim') - let cmd = 'noautocmd new | terminal' - else - let cmd = '!' - endif - execute cmd 'cargo' args -endfunction - -function! s:nearest_cargo(...) abort - " If the second argument is not specified, the first argument determines - " whether we will start from the current directory or the directory of the - " current buffer, otherwise, we start with the provided path on the - " second argument. - - let l:is_getcwd = get(a:, 1, 0) - if l:is_getcwd - let l:starting_path = get(a:, 2, getcwd()) - else - let l:starting_path = get(a:, 2, expand('%:p:h')) - endif - - return findfile('Cargo.toml', l:starting_path . ';') -endfunction - -function! cargo#nearestCargo(is_getcwd) abort - return s:nearest_cargo(a:is_getcwd) -endfunction - -function! cargo#nearestWorkspaceCargo(is_getcwd) abort - let l:nearest = s:nearest_cargo(a:is_getcwd) - while l:nearest !=# '' - for l:line in readfile(l:nearest, '', 0x100) - if l:line =~# '\V[workspace]' - return l:nearest - endif - endfor - let l:next = fnamemodify(l:nearest, ':p:h:h') - let l:nearest = s:nearest_cargo(0, l:next) - endwhile - return '' -endfunction - -function! cargo#nearestRootCargo(is_getcwd) abort - " Try to find a workspace Cargo.toml, and if not found, take the nearest - " regular Cargo.toml - let l:workspace_cargo = cargo#nearestWorkspaceCargo(a:is_getcwd) - if l:workspace_cargo !=# '' - return l:workspace_cargo - endif - return s:nearest_cargo(a:is_getcwd) -endfunction - - -function! cargo#build(args) - call cargo#cmd("build " . a:args) -endfunction - -function! cargo#check(args) - call cargo#cmd("check " . a:args) -endfunction - -function! cargo#clean(args) - call cargo#cmd("clean " . a:args) -endfunction - -function! cargo#doc(args) - call cargo#cmd("doc " . a:args) -endfunction - -function! cargo#new(args) - call cargo#cmd("new " . a:args) - cd `=a:args` -endfunction - -function! cargo#init(args) - call cargo#cmd("init " . a:args) -endfunction - -function! cargo#run(args) - call cargo#cmd("run " . a:args) -endfunction - -function! cargo#test(args) - call cargo#cmd("test " . a:args) -endfunction - -function! cargo#bench(args) - call cargo#cmd("bench " . a:args) -endfunction - -function! cargo#update(args) - call cargo#cmd("update " . a:args) -endfunction - -function! cargo#search(args) - call cargo#cmd("search " . a:args) -endfunction - -function! cargo#publish(args) - call cargo#cmd("publish " . a:args) -endfunction - -function! cargo#install(args) - call cargo#cmd("install " . a:args) -endfunction - -function! cargo#runtarget(args) - let l:filename = expand('%:p') - let l:read_manifest = system('cargo read-manifest') - let l:metadata = json_decode(l:read_manifest) - let l:targets = get(l:metadata, 'targets', []) - let l:did_run = 0 - for l:target in l:targets - let l:src_path = get(l:target, 'src_path', '') - let l:kinds = get(l:target, 'kind', []) - let l:name = get(l:target, 'name', '') - if l:src_path == l:filename - if index(l:kinds, 'example') != -1 - let l:did_run = 1 - call cargo#run("--example " . shellescape(l:name) . " " . a:args) - return - elseif index(l:kinds, 'bin') != -1 - let l:did_run = 1 - call cargo#run("--bin " . shellescape(l:name) . " " . a:args) - return - endif - endif - endfor - if l:did_run != 1 - call cargo#run(a:args) - return - endif -endfunction - -" vim: set et sw=4 sts=4 ts=8: diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/autoload/rust.vim b/vim/.vim_runtime/sources_non_forked/rust.vim/autoload/rust.vim deleted file mode 100644 index 025949c..0000000 --- a/vim/.vim_runtime/sources_non_forked/rust.vim/autoload/rust.vim +++ /dev/null @@ -1,570 +0,0 @@ -" Description: Helper functions for Rust commands/mappings -" Last Modified: May 27, 2014 -" For bugs, patches and license go to https://github.com/rust-lang/rust.vim - -function! rust#Load() - " Utility call to get this script loaded, for debugging -endfunction - -function! rust#GetConfigVar(name, default) - " Local buffer variable with same name takes predeence over global - if has_key(b:, a:name) - return get(b:, a:name) - endif - if has_key(g:, a:name) - return get(g:, a:name) - endif - return a:default -endfunction - -" Include expression {{{1 - -function! rust#IncludeExpr(fname) abort - " Remove leading 'crate::' to deal with 2018 edition style 'use' - " statements - let l:fname = substitute(a:fname, '^crate::', '', '') - - " Remove trailing colons arising from lines like - " - " use foo::{Bar, Baz}; - let l:fname = substitute(l:fname, ':\+$', '', '') - - " Replace '::' with '/' - let l:fname = substitute(l:fname, '::', '/', 'g') - - " When we have - " - " use foo::bar::baz; - " - " we can't tell whether baz is a module or a function; and we can't tell - " which modules correspond to files. - " - " So we work our way up, trying - " - " foo/bar/baz.rs - " foo/bar.rs - " foo.rs - while l:fname !=# '.' - let l:path = findfile(l:fname) - if !empty(l:path) - return l:fname - endif - let l:fname = fnamemodify(l:fname, ':h') - endwhile - return l:fname -endfunction - -" Jump {{{1 - -function! rust#Jump(mode, function) range - let cnt = v:count1 - normal! m' - if a:mode ==# 'v' - norm! gv - endif - let foldenable = &foldenable - set nofoldenable - while cnt > 0 - execute "call Jump_" . a:function . "()" - let cnt = cnt - 1 - endwhile - let &foldenable = foldenable -endfunction - -function! s:Jump_Back() - call search('{', 'b') - keepjumps normal! w99[{ -endfunction - -function! s:Jump_Forward() - normal! j0 - call search('{', 'b') - keepjumps normal! w99[{% - call search('{') -endfunction - -" Run {{{1 - -function! rust#Run(bang, args) - let args = s:ShellTokenize(a:args) - if a:bang - let idx = index(l:args, '--') - if idx != -1 - let rustc_args = idx == 0 ? [] : l:args[:idx-1] - let args = l:args[idx+1:] - else - let rustc_args = l:args - let args = [] - endif - else - let rustc_args = [] - endif - - let b:rust_last_rustc_args = l:rustc_args - let b:rust_last_args = l:args - - call s:WithPath(function("s:Run"), rustc_args, args) -endfunction - -function! s:Run(dict, rustc_args, args) - let exepath = a:dict.tmpdir.'/'.fnamemodify(a:dict.path, ':t:r') - if has('win32') - let exepath .= '.exe' - endif - - let relpath = get(a:dict, 'tmpdir_relpath', a:dict.path) - let rustc_args = [relpath, '-o', exepath] + a:rustc_args - - let rustc = exists("g:rustc_path") ? g:rustc_path : "rustc" - - let pwd = a:dict.istemp ? a:dict.tmpdir : '' - let output = s:system(pwd, shellescape(rustc) . " " . join(map(rustc_args, 'shellescape(v:val)'))) - if output !=# '' - echohl WarningMsg - echo output - echohl None - endif - if !v:shell_error - exe '!' . shellescape(exepath) . " " . join(map(a:args, 'shellescape(v:val)')) - endif -endfunction - -" Expand {{{1 - -function! rust#Expand(bang, args) - let args = s:ShellTokenize(a:args) - if a:bang && !empty(l:args) - let pretty = remove(l:args, 0) - else - let pretty = "expanded" - endif - call s:WithPath(function("s:Expand"), pretty, args) -endfunction - -function! s:Expand(dict, pretty, args) - try - let rustc = exists("g:rustc_path") ? g:rustc_path : "rustc" - - if a:pretty =~? '^\%(everybody_loops$\|flowgraph=\)' - let flag = '--xpretty' - else - let flag = '--pretty' - endif - let relpath = get(a:dict, 'tmpdir_relpath', a:dict.path) - let args = [relpath, '-Z', 'unstable-options', l:flag, a:pretty] + a:args - let pwd = a:dict.istemp ? a:dict.tmpdir : '' - let output = s:system(pwd, shellescape(rustc) . " " . join(map(args, 'shellescape(v:val)'))) - if v:shell_error - echohl WarningMsg - echo output - echohl None - else - new - silent put =output - 1 - d - setl filetype=rust - setl buftype=nofile - setl bufhidden=hide - setl noswapfile - " give the buffer a nice name - let suffix = 1 - let basename = fnamemodify(a:dict.path, ':t:r') - while 1 - let bufname = basename - if suffix > 1 | let bufname .= ' ('.suffix.')' | endif - let bufname .= '.pretty.rs' - if bufexists(bufname) - let suffix += 1 - continue - endif - exe 'silent noautocmd keepalt file' fnameescape(bufname) - break - endwhile - endif - endtry -endfunction - -function! rust#CompleteExpand(lead, line, pos) - if a:line[: a:pos-1] =~# '^RustExpand!\s*\S*$' - " first argument and it has a ! - let list = ["normal", "expanded", "typed", "expanded,identified", "flowgraph=", "everybody_loops"] - if !empty(a:lead) - call filter(list, "v:val[:len(a:lead)-1] == a:lead") - endif - return list - endif - - return glob(escape(a:lead, "*?[") . '*', 0, 1) -endfunction - -" Emit {{{1 - -function! rust#Emit(type, args) - let args = s:ShellTokenize(a:args) - call s:WithPath(function("s:Emit"), a:type, args) -endfunction - -function! s:Emit(dict, type, args) - try - let output_path = a:dict.tmpdir.'/output' - - let rustc = exists("g:rustc_path") ? g:rustc_path : "rustc" - - let relpath = get(a:dict, 'tmpdir_relpath', a:dict.path) - let args = [relpath, '--emit', a:type, '-o', output_path] + a:args - let pwd = a:dict.istemp ? a:dict.tmpdir : '' - let output = s:system(pwd, shellescape(rustc) . " " . join(map(args, 'shellescape(v:val)'))) - if output !=# '' - echohl WarningMsg - echo output - echohl None - endif - if !v:shell_error - new - exe 'silent keepalt read' fnameescape(output_path) - 1 - d - if a:type ==# "llvm-ir" - setl filetype=llvm - let extension = 'll' - elseif a:type ==# "asm" - setl filetype=asm - let extension = 's' - endif - setl buftype=nofile - setl bufhidden=hide - setl noswapfile - if exists('l:extension') - " give the buffer a nice name - let suffix = 1 - let basename = fnamemodify(a:dict.path, ':t:r') - while 1 - let bufname = basename - if suffix > 1 | let bufname .= ' ('.suffix.')' | endif - let bufname .= '.'.extension - if bufexists(bufname) - let suffix += 1 - continue - endif - exe 'silent noautocmd keepalt file' fnameescape(bufname) - break - endwhile - endif - endif - endtry -endfunction - -" Utility functions {{{1 - -" Invokes func(dict, ...) -" Where {dict} is a dictionary with the following keys: -" 'path' - The path to the file -" 'tmpdir' - The path to a temporary directory that will be deleted when the -" function returns. -" 'istemp' - 1 if the path is a file inside of {dict.tmpdir} or 0 otherwise. -" If {istemp} is 1 then an additional key is provided: -" 'tmpdir_relpath' - The {path} relative to the {tmpdir}. -" -" {dict.path} may be a path to a file inside of {dict.tmpdir} or it may be the -" existing path of the current buffer. If the path is inside of {dict.tmpdir} -" then it is guaranteed to have a '.rs' extension. -function! s:WithPath(func, ...) - let buf = bufnr('') - let saved = {} - let dict = {} - try - let saved.write = &write - set write - let dict.path = expand('%') - let pathisempty = empty(dict.path) - - " Always create a tmpdir in case the wrapped command wants it - let dict.tmpdir = tempname() - call mkdir(dict.tmpdir) - - if pathisempty || !saved.write - let dict.istemp = 1 - " if we're doing this because of nowrite, preserve the filename - if !pathisempty - let filename = expand('%:t:r').".rs" - else - let filename = 'unnamed.rs' - endif - let dict.tmpdir_relpath = filename - let dict.path = dict.tmpdir.'/'.filename - - let saved.mod = &modified - set nomodified - - silent exe 'keepalt write! ' . fnameescape(dict.path) - if pathisempty - silent keepalt 0file - endif - else - let dict.istemp = 0 - update - endif - - call call(a:func, [dict] + a:000) - finally - if bufexists(buf) - for [opt, value] in items(saved) - silent call setbufvar(buf, '&'.opt, value) - unlet value " avoid variable type mismatches - endfor - endif - if has_key(dict, 'tmpdir') | silent call s:RmDir(dict.tmpdir) | endif - endtry -endfunction - -function! rust#AppendCmdLine(text) - call setcmdpos(getcmdpos()) - let cmd = getcmdline() . a:text - return cmd -endfunction - -" Tokenize the string according to sh parsing rules -function! s:ShellTokenize(text) - " states: - " 0: start of word - " 1: unquoted - " 2: unquoted backslash - " 3: double-quote - " 4: double-quoted backslash - " 5: single-quote - let l:state = 0 - let l:current = '' - let l:args = [] - for c in split(a:text, '\zs') - if l:state == 0 || l:state == 1 " unquoted - if l:c ==# ' ' - if l:state == 0 | continue | endif - call add(l:args, l:current) - let l:current = '' - let l:state = 0 - elseif l:c ==# '\' - let l:state = 2 - elseif l:c ==# '"' - let l:state = 3 - elseif l:c ==# "'" - let l:state = 5 - else - let l:current .= l:c - let l:state = 1 - endif - elseif l:state == 2 " unquoted backslash - if l:c !=# "\n" " can it even be \n? - let l:current .= l:c - endif - let l:state = 1 - elseif l:state == 3 " double-quote - if l:c ==# '\' - let l:state = 4 - elseif l:c ==# '"' - let l:state = 1 - else - let l:current .= l:c - endif - elseif l:state == 4 " double-quoted backslash - if stridx('$`"\', l:c) >= 0 - let l:current .= l:c - elseif l:c ==# "\n" " is this even possible? - " skip it - else - let l:current .= '\'.l:c - endif - let l:state = 3 - elseif l:state == 5 " single-quoted - if l:c ==# "'" - let l:state = 1 - else - let l:current .= l:c - endif - endif - endfor - if l:state != 0 - call add(l:args, l:current) - endif - return l:args -endfunction - -function! s:RmDir(path) - " sanity check; make sure it's not empty, /, or $HOME - if empty(a:path) - echoerr 'Attempted to delete empty path' - return 0 - elseif a:path ==# '/' || a:path ==# $HOME - let l:path = expand(a:path) - if l:path ==# '/' || l:path ==# $HOME - echoerr 'Attempted to delete protected path: ' . a:path - return 0 - endif - endif - - if !isdirectory(a:path) - return 0 - endif - - " delete() returns 0 when removing file successfully - return delete(a:path, 'rf') == 0 -endfunction - -" Executes {cmd} with the cwd set to {pwd}, without changing Vim's cwd. -" If {pwd} is the empty string then it doesn't change the cwd. -function! s:system(pwd, cmd) - let cmd = a:cmd - if !empty(a:pwd) - let cmd = 'cd ' . shellescape(a:pwd) . ' && ' . cmd - endif - return system(cmd) -endfunction - -" Playpen Support {{{1 -" Parts of gist.vim by Yasuhiro Matsumoto reused -" gist.vim available under the BSD license, available at -" http://github.com/mattn/gist-vim -function! s:has_webapi() - if !exists("*webapi#http#post") - try - call webapi#http#post() - catch - endtry - endif - return exists("*webapi#http#post") -endfunction - -function! rust#Play(count, line1, line2, ...) abort - redraw - - let l:rust_playpen_url = get(g:, 'rust_playpen_url', 'https://play.rust-lang.org/') - let l:rust_shortener_url = get(g:, 'rust_shortener_url', 'https://is.gd/') - - if !s:has_webapi() - echohl ErrorMsg | echomsg ':RustPlay depends on webapi.vim (https://github.com/mattn/webapi-vim)' | echohl None - return - endif - - let bufname = bufname('%') - if a:count < 1 - let content = join(getline(a:line1, a:line2), "\n") - else - let save_regcont = @" - let save_regtype = getregtype('"') - silent! normal! gvy - let content = @" - call setreg('"', save_regcont, save_regtype) - endif - - let url = l:rust_playpen_url."?code=".webapi#http#encodeURI(content) - - if strlen(url) > 5000 - echohl ErrorMsg | echomsg 'Buffer too large, max 5000 encoded characters ('.strlen(url).')' | echohl None - return - endif - - let payload = "format=simple&url=".webapi#http#encodeURI(url) - let res = webapi#http#post(l:rust_shortener_url.'create.php', payload, {}) - if res.status[0] ==# '2' - let url = res.content - endif - - let footer = '' - if exists('g:rust_clip_command') - call system(g:rust_clip_command, url) - if !v:shell_error - let footer = ' (copied to clipboard)' - endif - endif - redraw | echomsg 'Done: '.url.footer -endfunction - -" Run a test under the cursor or all tests {{{1 - -" Finds a test function name under the cursor. Returns empty string when a -" test function is not found. -function! s:SearchTestFunctionNameUnderCursor() abort - let cursor_line = line('.') - - " Find #[test] attribute - if search('\m\C#\[test\]', 'bcW') is 0 - return '' - endif - - " Move to an opening brace of the test function - let test_func_line = search('\m\C^\s*fn\s\+\h\w*\s*(.\+{$', 'eW') - if test_func_line is 0 - return '' - endif - - " Search the end of test function (closing brace) to ensure that the - " cursor position is within function definition - if maparg('(MatchitNormalForward)') ==# '' - keepjumps normal! % - else - " Prefer matchit.vim official plugin to native % since the plugin - " provides better behavior than original % (#391) - " To load the plugin, run: - " :packadd matchit - execute 'keepjumps' 'normal' "\(MatchitNormalForward)" - endif - if line('.') < cursor_line - return '' - endif - - return matchstr(getline(test_func_line), '\m\C^\s*fn\s\+\zs\h\w*') -endfunction - -function! rust#Test(mods, winsize, all, options) abort - let manifest = findfile('Cargo.toml', expand('%:p:h') . ';') - if manifest ==# '' - return rust#Run(1, '--test ' . a:options) - endif - - " defaults to 0, but we prefer an empty string - let winsize = a:winsize ? a:winsize : '' - - if has('terminal') - if has('patch-8.0.910') - let cmd = printf('%s noautocmd %snew | terminal ++curwin ', a:mods, winsize) - else - let cmd = printf('%s terminal ', a:mods) - endif - elseif has('nvim') - let cmd = printf('%s noautocmd %snew | terminal ', a:mods, winsize) - else - let cmd = '!' - let manifest = shellescape(manifest) - endif - - if a:all - if a:options ==# '' - execute cmd . 'cargo test --manifest-path' manifest - else - execute cmd . 'cargo test --manifest-path' manifest a:options - endif - return - endif - - let saved = getpos('.') - try - let func_name = s:SearchTestFunctionNameUnderCursor() - finally - call setpos('.', saved) - endtry - if func_name ==# '' - echohl ErrorMsg - echomsg 'No test function was found under the cursor. Please add ! to command if you want to run all tests' - echohl None - return - endif - if a:options ==# '' - execute cmd . 'cargo test --manifest-path' manifest func_name - else - execute cmd . 'cargo test --manifest-path' manifest func_name a:options - endif -endfunction - -" }}}1 - -" vim: set et sw=4 sts=4 ts=8: diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/autoload/rustfmt.vim b/vim/.vim_runtime/sources_non_forked/rust.vim/autoload/rustfmt.vim deleted file mode 100644 index 4a5f86c..0000000 --- a/vim/.vim_runtime/sources_non_forked/rust.vim/autoload/rustfmt.vim +++ /dev/null @@ -1,260 +0,0 @@ -" Author: Stephen Sugden -" -" Adapted from https://github.com/fatih/vim-go -" For bugs, patches and license go to https://github.com/rust-lang/rust.vim - -if !exists("g:rustfmt_autosave") - let g:rustfmt_autosave = 0 -endif - -if !exists("g:rustfmt_command") - let g:rustfmt_command = "rustfmt" -endif - -if !exists("g:rustfmt_options") - let g:rustfmt_options = "" -endif - -if !exists("g:rustfmt_fail_silently") - let g:rustfmt_fail_silently = 0 -endif - -function! rustfmt#DetectVersion() - " Save rustfmt '--help' for feature inspection - silent let s:rustfmt_help = system(g:rustfmt_command . " --help") - let s:rustfmt_unstable_features = s:rustfmt_help =~# "--unstable-features" - - " Build a comparable rustfmt version varible out of its `--version` output: - silent let l:rustfmt_version_full = system(g:rustfmt_command . " --version") - let l:rustfmt_version_list = matchlist(l:rustfmt_version_full, - \ '\vrustfmt ([0-9]+[.][0-9]+[.][0-9]+)') - if len(l:rustfmt_version_list) < 3 - let s:rustfmt_version = "0" - else - let s:rustfmt_version = l:rustfmt_version_list[1] - endif - return s:rustfmt_version -endfunction - -call rustfmt#DetectVersion() - -if !exists("g:rustfmt_emit_files") - let g:rustfmt_emit_files = s:rustfmt_version >= "0.8.2" -endif - -if !exists("g:rustfmt_file_lines") - let g:rustfmt_file_lines = s:rustfmt_help =~# "--file-lines JSON" -endif - -let s:got_fmt_error = 0 - -function! rustfmt#Load() - " Utility call to get this script loaded, for debugging -endfunction - -function! s:RustfmtWriteMode() - if g:rustfmt_emit_files - return "--emit=files" - else - return "--write-mode=overwrite" - endif -endfunction - -function! s:RustfmtConfigOptions() - let l:rustfmt_toml = findfile('rustfmt.toml', expand('%:p:h') . ';') - if l:rustfmt_toml !=# '' - return '--config-path '.fnamemodify(l:rustfmt_toml, ":p") - endif - - let l:_rustfmt_toml = findfile('.rustfmt.toml', expand('%:p:h') . ';') - if l:_rustfmt_toml !=# '' - return '--config-path '.fnamemodify(l:_rustfmt_toml, ":p") - endif - - " Default to edition 2018 in case no rustfmt.toml was found. - return '--edition 2018' -endfunction - -function! s:RustfmtCommandRange(filename, line1, line2) - if g:rustfmt_file_lines == 0 - echo "--file-lines is not supported in the installed `rustfmt` executable" - return - endif - - let l:arg = {"file": shellescape(a:filename), "range": [a:line1, a:line2]} - let l:write_mode = s:RustfmtWriteMode() - let l:rustfmt_config = s:RustfmtConfigOptions() - - " FIXME: When --file-lines gets to be stable, add version range checking - " accordingly. - let l:unstable_features = s:rustfmt_unstable_features ? '--unstable-features' : '' - - let l:cmd = printf("%s %s %s %s %s --file-lines '[%s]' %s", g:rustfmt_command, - \ l:write_mode, g:rustfmt_options, - \ l:unstable_features, l:rustfmt_config, - \ json_encode(l:arg), shellescape(a:filename)) - return l:cmd -endfunction - -function! s:RustfmtCommand() - let write_mode = g:rustfmt_emit_files ? '--emit=stdout' : '--write-mode=display' - let config = s:RustfmtConfigOptions() - return join([g:rustfmt_command, write_mode, config, g:rustfmt_options]) -endfunction - -function! s:DeleteLines(start, end) abort - silent! execute a:start . ',' . a:end . 'delete _' -endfunction - -function! s:RunRustfmt(command, tmpname, from_writepre) - mkview! - - let l:stderr_tmpname = tempname() - call writefile([], l:stderr_tmpname) - - let l:command = a:command . ' 2> ' . l:stderr_tmpname - - if a:tmpname ==# '' - " Rustfmt in stdin/stdout mode - - " chdir to the directory of the file - let l:has_lcd = haslocaldir() - let l:prev_cd = getcwd() - execute 'lchdir! '.expand('%:h') - - let l:buffer = getline(1, '$') - if exists("*systemlist") - silent let out = systemlist(l:command, l:buffer) - else - silent let out = split(system(l:command, - \ join(l:buffer, "\n")), '\r\?\n') - endif - else - if exists("*systemlist") - silent let out = systemlist(l:command) - else - silent let out = split(system(l:command), '\r\?\n') - endif - endif - - let l:stderr = readfile(l:stderr_tmpname) - - call delete(l:stderr_tmpname) - - let l:open_lwindow = 0 - if v:shell_error == 0 - if a:from_writepre - " remove undo point caused via BufWritePre - try | silent undojoin | catch | endtry - endif - - if a:tmpname ==# '' - let l:content = l:out - else - " take the tmpfile's content, this is better than rename - " because it preserves file modes. - let l:content = readfile(a:tmpname) - endif - - call s:DeleteLines(len(l:content), line('$')) - call setline(1, l:content) - - " only clear location list if it was previously filled to prevent - " clobbering other additions - if s:got_fmt_error - let s:got_fmt_error = 0 - call setloclist(0, []) - let l:open_lwindow = 1 - endif - elseif g:rustfmt_fail_silently == 0 && !a:from_writepre - " otherwise get the errors and put them in the location list - let l:errors = [] - - let l:prev_line = "" - for l:line in l:stderr - " error: expected one of `;` or `as`, found `extern` - " --> src/main.rs:2:1 - let tokens = matchlist(l:line, '^\s\+-->\s\(.\{-}\):\(\d\+\):\(\d\+\)$') - if !empty(tokens) - call add(l:errors, {"filename": @%, - \"lnum": tokens[2], - \"col": tokens[3], - \"text": l:prev_line}) - endif - let l:prev_line = l:line - endfor - - if !empty(l:errors) - call setloclist(0, l:errors, 'r') - echohl Error | echomsg "rustfmt returned error" | echohl None - else - echo "rust.vim: was not able to parse rustfmt messages. Here is the raw output:" - echo "\n" - for l:line in l:stderr - echo l:line - endfor - endif - - let s:got_fmt_error = 1 - let l:open_lwindow = 1 - endif - - " Restore the current directory if needed - if a:tmpname ==# '' - if l:has_lcd - execute 'lchdir! '.l:prev_cd - else - execute 'chdir! '.l:prev_cd - endif - endif - - " Open lwindow after we have changed back to the previous directory - if l:open_lwindow == 1 - lwindow - endif - - silent! loadview -endfunction - -function! rustfmt#FormatRange(line1, line2) - let l:tmpname = tempname() - call writefile(getline(1, '$'), l:tmpname) - let command = s:RustfmtCommandRange(l:tmpname, a:line1, a:line2) - call s:RunRustfmt(command, l:tmpname, v:false) - call delete(l:tmpname) -endfunction - -function! rustfmt#Format() - call s:RunRustfmt(s:RustfmtCommand(), '', v:false) -endfunction - -function! rustfmt#Cmd() - " Mainly for debugging - return s:RustfmtCommand() -endfunction - -function! rustfmt#PreWrite() - if !filereadable(expand("%@")) - return - endif - if rust#GetConfigVar('rustfmt_autosave_if_config_present', 0) - if findfile('rustfmt.toml', '.;') !=# '' || findfile('.rustfmt.toml', '.;') !=# '' - let b:rustfmt_autosave = 1 - let b:_rustfmt_autosave_because_of_config = 1 - endif - else - if has_key(b:, '_rustfmt_autosave_because_of_config') - unlet b:_rustfmt_autosave_because_of_config - unlet b:rustfmt_autosave - endif - endif - - if !rust#GetConfigVar("rustfmt_autosave", 0) - return - endif - - call s:RunRustfmt(s:RustfmtCommand(), '', v:true) -endfunction - - -" vim: set et sw=4 sts=4 ts=8: diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/compiler/cargo.vim b/vim/.vim_runtime/sources_non_forked/rust.vim/compiler/cargo.vim deleted file mode 100644 index 87de609..0000000 --- a/vim/.vim_runtime/sources_non_forked/rust.vim/compiler/cargo.vim +++ /dev/null @@ -1,49 +0,0 @@ -" Vim compiler file -" Compiler: Cargo Compiler -" Maintainer: Damien Radtke -" Latest Revision: 2014 Sep 24 -" For bugs, patches and license go to https://github.com/rust-lang/rust.vim - -if exists('current_compiler') - finish -endif -runtime compiler/rustc.vim -let current_compiler = "cargo" - -" vint: -ProhibitAbbreviationOption -let s:save_cpo = &cpo -set cpo&vim -" vint: +ProhibitAbbreviationOption - -if exists(':CompilerSet') != 2 - command -nargs=* CompilerSet setlocal -endif - -if exists('g:cargo_makeprg_params') - execute 'CompilerSet makeprg=cargo\ '.escape(g:cargo_makeprg_params, ' \|"').'\ $*' -else - CompilerSet makeprg=cargo\ $* -endif - -augroup RustCargoQuickFixHooks - autocmd! - autocmd QuickFixCmdPre make call cargo#quickfix#CmdPre() - autocmd QuickFixCmdPost make call cargo#quickfix#CmdPost() -augroup END - -" Ignore general cargo progress messages -CompilerSet errorformat+= - \%-G%\\s%#Downloading%.%#, - \%-G%\\s%#Compiling%.%#, - \%-G%\\s%#Finished%.%#, - \%-G%\\s%#error:\ Could\ not\ compile\ %.%#, - \%-G%\\s%#To\ learn\ more\\,%.%#, - \%-Gnote:\ Run\ with\ \`RUST_BACKTRACE=%.%#, - \%.%#panicked\ at\ \\'%m\\'\\,\ %f:%l:%c - -" vint: -ProhibitAbbreviationOption -let &cpo = s:save_cpo -unlet s:save_cpo -" vint: +ProhibitAbbreviationOption - -" vim: set et sw=4 sts=4 ts=8: diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/compiler/rustc.vim b/vim/.vim_runtime/sources_non_forked/rust.vim/compiler/rustc.vim deleted file mode 100644 index 9b70732..0000000 --- a/vim/.vim_runtime/sources_non_forked/rust.vim/compiler/rustc.vim +++ /dev/null @@ -1,57 +0,0 @@ -" Vim compiler file -" Compiler: Rust Compiler -" Maintainer: Chris Morgan -" Latest Revision: 2013 Jul 12 -" For bugs, patches and license go to https://github.com/rust-lang/rust.vim - -if exists("current_compiler") - finish -endif -let current_compiler = "rustc" - -" vint: -ProhibitAbbreviationOption -let s:save_cpo = &cpo -set cpo&vim -" vint: +ProhibitAbbreviationOption - -if exists(":CompilerSet") != 2 - command -nargs=* CompilerSet setlocal -endif - -if get(g:, 'rustc_makeprg_no_percent', 0) - CompilerSet makeprg=rustc -else - if has('patch-7.4.191') - CompilerSet makeprg=rustc\ \%:S - else - CompilerSet makeprg=rustc\ \"%\" - endif -endif - -" New errorformat (after nightly 2016/08/10) -CompilerSet errorformat= - \%-G, - \%-Gerror:\ aborting\ %.%#, - \%-Gerror:\ Could\ not\ compile\ %.%#, - \%Eerror:\ %m, - \%Eerror[E%n]:\ %m, - \%Wwarning:\ %m, - \%Inote:\ %m, - \%C\ %#-->\ %f:%l:%c, - \%E\ \ left:%m,%C\ right:%m\ %f:%l:%c,%Z - -" Old errorformat (before nightly 2016/08/10) -CompilerSet errorformat+= - \%f:%l:%c:\ %t%*[^:]:\ %m, - \%f:%l:%c:\ %*\\d:%*\\d\ %t%*[^:]:\ %m, - \%-G%f:%l\ %s, - \%-G%*[\ ]^, - \%-G%*[\ ]^%*[~], - \%-G%*[\ ]... - -" vint: -ProhibitAbbreviationOption -let &cpo = s:save_cpo -unlet s:save_cpo -" vint: +ProhibitAbbreviationOption - -" vim: set et sw=4 sts=4 ts=8: diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/ctags/rust.ctags b/vim/.vim_runtime/sources_non_forked/rust.vim/ctags/rust.ctags deleted file mode 100644 index d4f474e..0000000 --- a/vim/.vim_runtime/sources_non_forked/rust.vim/ctags/rust.ctags +++ /dev/null @@ -1,11 +0,0 @@ ---langdef=Rust ---langmap=Rust:.rs ---regex-Rust=/^[ \t]*(#\[[^\]]\][ \t]*)*(pub[ \t]+)?(extern[ \t]+)?("[^"]+"[ \t]+)?(unsafe[ \t]+)?fn[ \t]+([a-zA-Z0-9_]+)/\6/f,functions,function definitions/ ---regex-Rust=/^[ \t]*(pub[ \t]+)?type[ \t]+([a-zA-Z0-9_]+)/\2/T,types,type definitions/ ---regex-Rust=/^[ \t]*(pub[ \t]+)?enum[ \t]+([a-zA-Z0-9_]+)/\2/g,enum,enumeration names/ ---regex-Rust=/^[ \t]*(pub[ \t]+)?struct[ \t]+([a-zA-Z0-9_]+)/\2/s,structure names/ ---regex-Rust=/^[ \t]*(pub[ \t]+)?mod[ \t]+([a-zA-Z0-9_]+)/\2/m,modules,module names/ ---regex-Rust=/^[ \t]*(pub[ \t]+)?(static|const)[ \t]+([a-zA-Z0-9_]+)/\3/c,consts,static constants/ ---regex-Rust=/^[ \t]*(pub[ \t]+)?trait[ \t]+([a-zA-Z0-9_]+)/\2/t,traits,traits/ ---regex-Rust=/^[ \t]*(pub[ \t]+)?impl([ \t\n]*<[^>]*>)?[ \t]+(([a-zA-Z0-9_:]+)[ \t]*(<[^>]*>)?[ \t]+(for)[ \t]+)?([a-zA-Z0-9_]+)/\4 \6 \7/i,impls,trait implementations/ ---regex-Rust=/^[ \t]*macro_rules![ \t]+([a-zA-Z0-9_]+)/\1/d,macros,macro definitions/ diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/doc/rust.txt b/vim/.vim_runtime/sources_non_forked/rust.vim/doc/rust.txt deleted file mode 100644 index 9d5eb8c..0000000 --- a/vim/.vim_runtime/sources_non_forked/rust.vim/doc/rust.txt +++ /dev/null @@ -1,486 +0,0 @@ -*ft_rust.txt* Filetype plugin for Rust - -============================================================================== -CONTENTS *rust* - -1. Introduction |rust-intro| -2. Settings |rust-settings| -3. Commands |rust-commands| -4. Mappings |rust-mappings| - -============================================================================== -INTRODUCTION *rust-intro* - -This plugin provides syntax and supporting functionality for the Rust -filetype. It requires Vim 8 or higher for full functionality. Some commands -will not work on earlier versions. - -============================================================================== -SETTINGS *rust-settings* - -This plugin has a few variables you can define in your vimrc that change the -behavior of the plugin. - -Some variables can be set buffer local (`:b` prefix), and the buffer local -will take precedence over the global `g:` counterpart. - - *g:rustc_path* -g:rustc_path~ - Set this option to the path to rustc for use in the |:RustRun| and - |:RustExpand| commands. If unset, "rustc" will be located in $PATH: > - let g:rustc_path = $HOME."/bin/rustc" -< - - *g:rustc_makeprg_no_percent* -g:rustc_makeprg_no_percent~ - Set this option to 1 to have 'makeprg' default to "rustc" instead of - "rustc %": > - let g:rustc_makeprg_no_percent = 1 -< - - *g:rust_conceal* -g:rust_conceal~ - Set this option to turn on the basic |conceal| support: > - let g:rust_conceal = 1 -< - - *g:rust_conceal_mod_path* -g:rust_conceal_mod_path~ - Set this option to turn on |conceal| for the path connecting token - "::": > - let g:rust_conceal_mod_path = 1 -< - - *g:rust_conceal_pub* -g:rust_conceal_pub~ - Set this option to turn on |conceal| for the "pub" token: > - let g:rust_conceal_pub = 1 -< - - *g:rust_recommended_style* -g:rust_recommended_style~ - Set this option to enable vim indentation and textwidth settings to - conform to style conventions of the rust standard library (i.e. use 4 - spaces for indents and sets 'textwidth' to 99). This option is enabled - by default. To disable it: > - let g:rust_recommended_style = 0 -< - - *g:rust_fold* -g:rust_fold~ - Set this option to turn on |folding|: > - let g:rust_fold = 1 -< - Value Effect ~ - 0 No folding - 1 Braced blocks are folded. All folds are open by - default. - 2 Braced blocks are folded. 'foldlevel' is left at the - global value (all folds are closed by default). - - *g:rust_bang_comment_leader* -g:rust_bang_comment_leader~ - Set this option to 1 to preserve the leader on multi-line doc comments - using the /*! syntax: > - let g:rust_bang_comment_leader = 1 -< - - *g:rust_use_custom_ctags_defs* -g:rust_use_custom_ctags_defs~ - Set this option to 1 if you have customized ctags definitions for Rust - and do not wish for those included with rust.vim to be used: > - let g:rust_use_custom_ctags_defs = 1 -< - - NOTE: rust.vim's built-in definitions are only used for the Tagbar Vim - plugin, if you have it installed, AND if Universal Ctags is not - detected. This is because Universal Ctags already has built-in - support for Rust when used with Tagbar. - - Also, note that when using ctags other than Universal Ctags, it is not - automatically used when generating |tags| files that Vim can use to - navigate to definitions across different source files. Feel free to - copy `rust.vim/ctags/rust.ctags` into your own `~/.ctags` if you wish - to generate |tags| files. - - - *g:ftplugin_rust_source_path* -g:ftplugin_rust_source_path~ - Set this option to a path that should be prepended to 'path' for Rust - source files: > - let g:ftplugin_rust_source_path = $HOME.'/dev/rust' -< - - *g:rustfmt_command* -g:rustfmt_command~ - Set this option to the name of the 'rustfmt' executable in your $PATH. If - not specified it defaults to 'rustfmt' : > - let g:rustfmt_command = 'rustfmt' -< - *g:rustfmt_autosave* -g:rustfmt_autosave~ - Set this option to 1 to run |:RustFmt| automatically when saving a - buffer. If not specified it defaults to 0 : > - let g:rustfmt_autosave = 0 -< - There is also a buffer-local b:rustfmt_autosave that can be set for - the same purpose, and can override the global setting. - - *g:rustfmt_autosave_if_config_present* -g:rustfmt_autosave_if_config_present~ - Set this option to 1 to have *b:rustfmt_autosave* be set automatically - if a `rustfmt.toml` file is present in any parent directly leading to - the file being edited. If not set, default to 0: > - let g:rustfmt_autosave_if_config_present = 0 -< - This is useful to have `rustfmt` only execute on save, on projects - that have `rustfmt.toml` configuration. - - There is also a buffer-local b:rustfmt_autosave_if_config_present - that can be set for the same purpose, which can overrides the global - setting. - *g:rustfmt_fail_silently* -g:rustfmt_fail_silently~ - Set this option to 1 to prevent 'rustfmt' from populating the - |location-list| with errors. If not specified it defaults to 0: > - let g:rustfmt_fail_silently = 0 -< - *g:rustfmt_options* -g:rustfmt_options~ - Set this option to a string of options to pass to 'rustfmt'. The - write-mode is already set to 'overwrite'. If not specified it - defaults to '' : > - let g:rustfmt_options = '' -< - *g:rustfmt_emit_files* -g:rustfmt_emit_files~ - If not specified rust.vim tries to detect the right parameter to - pass to rustfmt based on its reported version. Otherwise, it - determines whether to run rustfmt with '--emit=files' (when 1 is - provided) instead of '--write-mode=overwrite'. > - let g:rustfmt_emit_files = 0 - - - *g:rust_playpen_url* -g:rust_playpen_url~ - Set this option to override the url for the playpen to use: > - let g:rust_playpen_url = 'https://play.rust-lang.org/' -< - - *g:rust_shortener_url* -g:rust_shortener_url~ - Set this option to override the url for the url shortener: > - let g:rust_shortener_url = 'https://is.gd/' -< - - *g:rust_clip_command* -g:rust_clip_command~ - Set this option to the command used in your OS to copy the Rust Play - url to the clipboard: > - let g:rust_clip_command = 'xclip -selection clipboard' -< - - *g:cargo_makeprg_params* -g:cargo_makeprg_params~ - Set this option to the string of parameters to pass to cargo. If not - specified it defaults to '$*' : > - let g:cargo_makeprg_params = 'build' -< - - *g:cargo_shell_command_runner* -g:cargo_shell_command_runner~ - Set this option to change how to run shell commands for cargo commands - |:Cargo|, |:Cbuild|, |:Crun|, ... - By default, |:terminal| is used to run shell command in terminal window - asynchronously. But if you prefer |:!| for running the commands, it can - be specified: > - let g:cargo_shell_command_runner = '!' -< - - -Integration with Syntastic *rust-syntastic* --------------------------- - -This plugin automatically integrates with the Syntastic checker. There are two -checkers provided: 'rustc', and 'cargo'. The latter invokes 'Cargo' in order to -build code, and the former delivers a single edited '.rs' file as a compilation -target directly to the Rust compiler, `rustc`. - -Because Cargo is almost exclusively being used for building Rust code these -days, 'cargo' is the default checker. > - - let g:syntastic_rust_checkers = ['cargo'] -< -If you would like to change it, you can set `g:syntastic_rust_checkers` to a -different value. - *g:rust_cargo_avoid_whole_workspace* - *b:rust_cargo_avoid_whole_workspace* -g:rust_cargo_avoid_whole_workspace~ - When editing a crate that is part of a Cargo workspace, and this - option is set to 1 (the default), then 'cargo' will be executed - directly in that crate directory instead of in the workspace - directory. Setting 0 prevents this behavior - however be aware that if - you are working in large workspace, Cargo commands may take more time, - plus the Syntastic error list may include all the crates in the - workspace. > - let g:rust_cargo_avoid_whole_workspace = 0 -< - *g:rust_cargo_check_all_targets* - *b:rust_cargo_check_all_targets* -g:rust_cargo_check_all_targets~ - When set to 1, the `--all-targets` option will be passed to cargo when - Syntastic executes it, allowing the linting of all targets under the - package. - The default is 0. - - *g:rust_cargo_check_all_features* - *b:rust_cargo_check_all_features* -g:rust_cargo_check_all_features~ - When set to 1, the `--all-features` option will be passed to cargo when - Syntastic executes it, allowing the linting of all features of the - package. - The default is 0. - - *g:rust_cargo_check_examples* - *b:rust_cargo_check_examples* -g:rust_cargo_check_examples~ - When set to 1, the `--examples` option will be passed to cargo when - Syntastic executes it, to prevent the exclusion of examples from - linting. The examples are normally under the `examples/` directory of - the crate. - The default is 0. - - *g:rust_cargo_check_tests* - *b:rust_cargo_check_tests* -g:rust_cargo_check_tests~ - When set to 1, the `--tests` option will be passed to cargo when - Syntastic executes it, to prevent the exclusion of tests from linting. - The tests are normally under the `tests/` directory of the crate. - The default is 0. - - *g:rust_cargo_check_benches* - *b:rust_cargo_check_benches* -g:rust_cargo_check_benches~ - When set to 1, the `--benches` option will be passed to cargo when - Syntastic executes it. The benches are normally under the `benches/` - directory of the crate. - The default is 0. - -Integration with auto-pairs *rust-auto-pairs* ---------------------------- - -This plugin automatically configures the auto-pairs plugin not to duplicate -single quotes, which are used more often for lifetime annotations than for -single character literals. - - *g:rust_keep_autopairs_default* -g:rust_keep_autopairs_default~ - - Don't override auto-pairs default for the Rust filetype. The default - is 0. - -============================================================================== -COMMANDS *rust-commands* - -Invoking Cargo --------------- - -This plug defines very simple shortcuts for invoking Cargo from with Vim. - -:Cargo *:Cargo* - Runs 'cargo' with the provided arguments. - -:Cbuild *:Cbuild* - Shortcut for 'cargo build`. - -:Cclean *:Cclean* - Shortcut for 'cargo clean`. - -:Cdoc *:Cdoc* - Shortcut for 'cargo doc`. - -:Cinit *:Cinit* - Shortcut for 'cargo init`. - -:Crun *:Crun* - Shortcut for 'cargo run`. - -:Ctest *:Ctest* - Shortcut for 'cargo test`. - -:Cupdate *:Cupdate* - Shortcut for 'cargo update`. - -:Cbench *:Cbench* - Shortcut for 'cargo bench`. - -:Csearch *:Csearch* - Shortcut for 'cargo search`. - -:Cpublish *:Cpublish* - Shortcut for 'cargo publish`. - -:Cinstall *:Cinstall* - Shortcut for 'cargo install`. - -:Cruntarget *:Cruntarget* - Shortcut for 'cargo run --bin' or 'cargo run --example', - depending on the currently open buffer. - -Formatting ----------- - -:RustFmt *:RustFmt* - Runs |g:rustfmt_command| on the current buffer. If - |g:rustfmt_options| is set then those will be passed to the - executable. - - If |g:rustfmt_fail_silently| is 0 (the default) then it - will populate the |location-list| with the errors from - |g:rustfmt_command|. If |g:rustfmt_fail_silently| is set to 1 - then it will not populate the |location-list|. - -:RustFmtRange *:RustFmtRange* - Runs |g:rustfmt_command| with selected range. See - |:RustFmt| for any other information. - - -Playpen integration -------------------- - -:RustPlay *:RustPlay* - This command will only work if you have web-api.vim installed - (available at https://github.com/mattn/webapi-vim). It sends the - current selection, or if nothing is selected, the entirety of the - current buffer to the Rust playpen, and emits a message with the - shortened URL to the playpen. - - |g:rust_playpen_url| is the base URL to the playpen, by default - "https://play.rust-lang.org/". - - |g:rust_shortener_url| is the base url for the shorterner, by - default "https://is.gd/" - - |g:rust_clip_command| is the command to run to copy the - playpen url to the clipboard of your system. - - -Evaluation of a single Rust file --------------------------------- - -NOTE: These commands are useful only when working with standalone Rust files, -which is usually not the case for common Rust development. If you wish to -building Rust crates from with Vim can should use Vim's make, Syntastic, or -functionality from other plugins. - - -:RustRun [args] *:RustRun* -:RustRun! [rustc-args] [--] [args] - Compiles and runs the current file. If it has unsaved changes, - it will be saved first using |:update|. If the current file is - an unnamed buffer, it will be written to a temporary file - first. The compiled binary is always placed in a temporary - directory, but is run from the current directory. - - The arguments given to |:RustRun| will be passed to the - compiled binary. - - If ! is specified, the arguments are passed to rustc instead. - A "--" argument will separate the rustc arguments from the - arguments passed to the binary. - - If |g:rustc_path| is defined, it is used as the path to rustc. - Otherwise it is assumed rustc can be found in $PATH. - -:RustExpand [args] *:RustExpand* -:RustExpand! [TYPE] [args] - Expands the current file using --pretty and displays the - results in a new split. If the current file has unsaved - changes, it will be saved first using |:update|. If the - current file is an unnamed buffer, it will be written to a - temporary file first. - - The arguments given to |:RustExpand| will be passed to rustc. - This is largely intended for specifying various --cfg - configurations. - - If ! is specified, the first argument is the expansion type to - pass to rustc --pretty. Otherwise it will default to - "expanded". - - If |g:rustc_path| is defined, it is used as the path to rustc. - Otherwise it is assumed rustc can be found in $PATH. - -:RustEmitIr [args] *:RustEmitIr* - Compiles the current file to LLVM IR and displays the results - in a new split. If the current file has unsaved changes, it - will be saved first using |:update|. If the current file is an - unnamed buffer, it will be written to a temporary file first. - - The arguments given to |:RustEmitIr| will be passed to rustc. - - If |g:rustc_path| is defined, it is used as the path to rustc. - Otherwise it is assumed rustc can be found in $PATH. - -:RustEmitAsm [args] *:RustEmitAsm* - Compiles the current file to assembly and displays the results - in a new split. If the current file has unsaved changes, it - will be saved first using |:update|. If the current file is an - unnamed buffer, it will be written to a temporary file first. - - The arguments given to |:RustEmitAsm| will be passed to rustc. - - If |g:rustc_path| is defined, it is used as the path to rustc. - Otherwise it is assumed rustc can be found in $PATH. - - -Running test(s) ---------------- - -:[N]RustTest[!] [options] *:RustTest* - Runs a test under the cursor when the current buffer is in a - cargo project with "cargo test" command. If the command did - not find any test function under the cursor, it stops with an - error message. - - When N is given, adjust the size of the new window to N lines - or columns. - - When ! is given, runs all tests regardless of current cursor - position. - - When [options] is given, it is passed to "cargo" command - arguments. - - When the current buffer is outside cargo project, the command - runs "rustc --test" command instead of "cargo test" as - fallback. All tests are run regardless of adding ! since there - is no way to run specific test function with rustc. [options] - is passed to "rustc" command arguments in the case. - - Takes optional modifiers (see ||): > - :tab RustTest - :belowright 16RustTest - :leftabove vert 80RustTest -< -rust.vim Debugging ------------------- - -:RustInfo *:RustInfo* - Emits debugging info of the Vim Rust plugin. - -:RustInfoToClipboard *:RustInfoClipboard* - Saves debugging info of the Vim Rust plugin to the default - register. - -:RustInfoToFile [filename] *:RustInfoToFile* - Saves debugging info of the Vim Rust plugin to the the given - file, overwritting it. - -============================================================================== -MAPPINGS *rust-mappings* - -This plugin defines mappings for |[[| and |]]| to support hanging indents. - -============================================================================== - vim:tw=78:sw=4:noet:ts=8:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/ftdetect/rust.vim b/vim/.vim_runtime/sources_non_forked/rust.vim/ftdetect/rust.vim deleted file mode 100644 index e095093..0000000 --- a/vim/.vim_runtime/sources_non_forked/rust.vim/ftdetect/rust.vim +++ /dev/null @@ -1,15 +0,0 @@ -" vint: -ProhibitAutocmdWithNoGroup - -autocmd BufRead,BufNewFile *.rs call s:set_rust_filetype() - -if has('patch-8.0.613') - autocmd BufRead,BufNewFile Cargo.toml setf FALLBACK cfg -endif - -function! s:set_rust_filetype() abort - if &filetype !=# 'rust' - set filetype=rust - endif -endfunction - -" vim: set et sw=4 sts=4 ts=8: diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/ftplugin/rust.vim b/vim/.vim_runtime/sources_non_forked/rust.vim/ftplugin/rust.vim deleted file mode 100644 index ce48116..0000000 --- a/vim/.vim_runtime/sources_non_forked/rust.vim/ftplugin/rust.vim +++ /dev/null @@ -1,200 +0,0 @@ -" Language: Rust -" Description: Vim ftplugin for Rust -" Maintainer: Chris Morgan -" Last Change: June 08, 2016 -" For bugs, patches and license go to https://github.com/rust-lang/rust.vim - -if exists("b:did_ftplugin") - finish -endif -let b:did_ftplugin = 1 - -" vint: -ProhibitAbbreviationOption -let s:save_cpo = &cpo -set cpo&vim -" vint: +ProhibitAbbreviationOption - -if get(b:, 'current_compiler', '') ==# '' - if strlen(findfile('Cargo.toml', '.;')) > 0 - compiler cargo - else - compiler rustc - endif -endif - -" Variables {{{1 - -" The rust source code at present seems to typically omit a leader on /*! -" comments, so we'll use that as our default, but make it easy to switch. -" This does not affect indentation at all (I tested it with and without -" leader), merely whether a leader is inserted by default or not. -if get(g:, 'rust_bang_comment_leader', 0) - " Why is the `,s0:/*,mb:\ ,ex:*/` there, you ask? I don't understand why, - " but without it, */ gets indented one space even if there were no - " leaders. I'm fairly sure that's a Vim bug. - setlocal comments=s1:/*,mb:*,ex:*/,s0:/*,mb:\ ,ex:*/,:///,://!,:// -else - setlocal comments=s0:/*!,ex:*/,s1:/*,mb:*,ex:*/,:///,://!,:// -endif -setlocal commentstring=//%s -setlocal formatoptions-=t formatoptions+=croqnl -" j was only added in 7.3.541, so stop complaints about its nonexistence -silent! setlocal formatoptions+=j - -" smartindent will be overridden by indentexpr if filetype indent is on, but -" otherwise it's better than nothing. -setlocal smartindent nocindent - -if get(g:, 'rust_recommended_style', 1) - let b:rust_set_style = 1 - setlocal tabstop=8 shiftwidth=4 softtabstop=4 expandtab - setlocal textwidth=99 -endif - -setlocal include=\\v^\\s*(pub\\s+)?use\\s+\\zs(\\f\|:)+ -setlocal includeexpr=rust#IncludeExpr(v:fname) - -setlocal suffixesadd=.rs - -if exists("g:ftplugin_rust_source_path") - let &l:path=g:ftplugin_rust_source_path . ',' . &l:path -endif - -if exists("g:loaded_delimitMate") - if exists("b:delimitMate_excluded_regions") - let b:rust_original_delimitMate_excluded_regions = b:delimitMate_excluded_regions - endif - - augroup rust.vim.DelimitMate - autocmd! - - autocmd User delimitMate_map :call rust#delimitmate#onMap() - autocmd User delimitMate_unmap :call rust#delimitmate#onUnmap() - augroup END -endif - -" Integration with auto-pairs (https://github.com/jiangmiao/auto-pairs) -if exists("g:AutoPairsLoaded") && !get(g:, 'rust_keep_autopairs_default', 0) - let b:AutoPairs = {'(':')', '[':']', '{':'}','"':'"', '`':'`'} -endif - -if has("folding") && get(g:, 'rust_fold', 0) - let b:rust_set_foldmethod=1 - setlocal foldmethod=syntax - if g:rust_fold == 2 - setlocal foldlevel< - else - setlocal foldlevel=99 - endif -endif - -if has('conceal') && get(g:, 'rust_conceal', 0) - let b:rust_set_conceallevel=1 - setlocal conceallevel=2 -endif - -" Motion Commands {{{1 - -" Bind motion commands to support hanging indents -nnoremap [[ :call rust#Jump('n', 'Back') -nnoremap ]] :call rust#Jump('n', 'Forward') -xnoremap [[ :call rust#Jump('v', 'Back') -xnoremap ]] :call rust#Jump('v', 'Forward') -onoremap [[ :call rust#Jump('o', 'Back') -onoremap ]] :call rust#Jump('o', 'Forward') - -" Commands {{{1 - -" See |:RustRun| for docs -command! -nargs=* -complete=file -bang -buffer RustRun call rust#Run(0, ) - -" See |:RustExpand| for docs -command! -nargs=* -complete=customlist,rust#CompleteExpand -bang -buffer RustExpand call rust#Expand(0, ) - -" See |:RustEmitIr| for docs -command! -nargs=* -buffer RustEmitIr call rust#Emit("llvm-ir", ) - -" See |:RustEmitAsm| for docs -command! -nargs=* -buffer RustEmitAsm call rust#Emit("asm", ) - -" See |:RustPlay| for docs -command! -range=% RustPlay :call rust#Play(, , , ) - -" See |:RustFmt| for docs -command! -bar -buffer RustFmt call rustfmt#Format() - -" See |:RustFmtRange| for docs -command! -range -buffer RustFmtRange call rustfmt#FormatRange(, ) - -" See |:RustInfo| for docs -command! -bar RustInfo call rust#debugging#Info() - -" See |:RustInfoToClipboard| for docs -command! -bar RustInfoToClipboard call rust#debugging#InfoToClipboard() - -" See |:RustInfoToFile| for docs -command! -bar -nargs=1 RustInfoToFile call rust#debugging#InfoToFile() - -" See |:RustTest| for docs -command! -buffer -nargs=* -count -bang RustTest call rust#Test(, , 0, ) - -if !exists("b:rust_last_rustc_args") || !exists("b:rust_last_args") - let b:rust_last_rustc_args = [] - let b:rust_last_args = [] -endif - -" Cleanup {{{1 - -let b:undo_ftplugin = " - \ setlocal formatoptions< comments< commentstring< include< includeexpr< suffixesadd< - \|if exists('b:rust_set_style') - \|setlocal tabstop< shiftwidth< softtabstop< expandtab< textwidth< - \|endif - \|if exists('b:rust_original_delimitMate_excluded_regions') - \|let b:delimitMate_excluded_regions = b:rust_original_delimitMate_excluded_regions - \|unlet b:rust_original_delimitMate_excluded_regions - \|else - \|unlet! b:delimitMate_excluded_regions - \|endif - \|if exists('b:rust_set_foldmethod') - \|setlocal foldmethod< foldlevel< - \|unlet b:rust_set_foldmethod - \|endif - \|if exists('b:rust_set_conceallevel') - \|setlocal conceallevel< - \|unlet b:rust_set_conceallevel - \|endif - \|unlet! b:rust_last_rustc_args b:rust_last_args - \|delcommand RustRun - \|delcommand RustExpand - \|delcommand RustEmitIr - \|delcommand RustEmitAsm - \|delcommand RustPlay - \|nunmap [[ - \|nunmap ]] - \|xunmap [[ - \|xunmap ]] - \|ounmap [[ - \|ounmap ]] - \|setlocal matchpairs-=<:> - \|unlet b:match_skip - \" - -" }}}1 - -" Code formatting on save -augroup rust.vim.PreWrite - autocmd! - autocmd BufWritePre *.rs silent! call rustfmt#PreWrite() -augroup END - -setlocal matchpairs+=<:> -" For matchit.vim (rustArrow stops `Fn() -> X` messing things up) -let b:match_skip = 's:comment\|string\|rustCharacter\|rustArrow' - -" vint: -ProhibitAbbreviationOption -let &cpo = s:save_cpo -unlet s:save_cpo -" vint: +ProhibitAbbreviationOption - -" vim: set et sw=4 sts=4 ts=8: diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/indent/rust.vim b/vim/.vim_runtime/sources_non_forked/rust.vim/indent/rust.vim deleted file mode 100644 index 6edce73..0000000 --- a/vim/.vim_runtime/sources_non_forked/rust.vim/indent/rust.vim +++ /dev/null @@ -1,284 +0,0 @@ -" Vim indent file -" Language: Rust -" Author: Chris Morgan -" Last Change: 2018 Jan 10 -" For bugs, patches and license go to https://github.com/rust-lang/rust.vim - -" Only load this indent file when no other was loaded. -if exists("b:did_indent") - finish -endif -let b:did_indent = 1 - -setlocal cindent -setlocal cinoptions=L0,(s,Ws,J1,j1,m1 -setlocal cinkeys=0{,0},!^F,o,O,0[,0],0(,0) -" Don't think cinwords will actually do anything at all... never mind -setlocal cinwords=for,if,else,while,loop,impl,mod,unsafe,trait,struct,enum,fn,extern,macro - -" Some preliminary settings -setlocal nolisp " Make sure lisp indenting doesn't supersede us -setlocal autoindent " indentexpr isn't much help otherwise -" Also do indentkeys, otherwise # gets shoved to column 0 :-/ -setlocal indentkeys=0{,0},!^F,o,O,0[,0],0(,0) - -setlocal indentexpr=GetRustIndent(v:lnum) - -" Only define the function once. -if exists("*GetRustIndent") - finish -endif - -" vint: -ProhibitAbbreviationOption -let s:save_cpo = &cpo -set cpo&vim -" vint: +ProhibitAbbreviationOption - -" Come here when loading the script the first time. - -function! s:get_line_trimmed(lnum) - " Get the line and remove a trailing comment. - " Use syntax highlighting attributes when possible. - " NOTE: this is not accurate; /* */ or a line continuation could trick it - let line = getline(a:lnum) - let line_len = strlen(line) - if has('syntax_items') - " If the last character in the line is a comment, do a binary search for - " the start of the comment. synID() is slow, a linear search would take - " too long on a long line. - if synIDattr(synID(a:lnum, line_len, 1), "name") =~? 'Comment\|Todo' - let min = 1 - let max = line_len - while min < max - let col = (min + max) / 2 - if synIDattr(synID(a:lnum, col, 1), "name") =~? 'Comment\|Todo' - let max = col - else - let min = col + 1 - endif - endwhile - let line = strpart(line, 0, min - 1) - endif - return substitute(line, "\s*$", "", "") - else - " Sorry, this is not complete, nor fully correct (e.g. string "//"). - " Such is life. - return substitute(line, "\s*//.*$", "", "") - endif -endfunction - -function! s:is_string_comment(lnum, col) - if has('syntax_items') - for id in synstack(a:lnum, a:col) - let synname = synIDattr(id, "name") - if synname ==# "rustString" || synname =~# "^rustComment" - return 1 - endif - endfor - else - " without syntax, let's not even try - return 0 - endif -endfunction - -if exists('*shiftwidth') - function! s:shiftwidth() - return shiftwidth() - endfunc -else - function! s:shiftwidth() - return &shiftwidth - endfunc -endif - -function GetRustIndent(lnum) - " Starting assumption: cindent (called at the end) will do it right - " normally. We just want to fix up a few cases. - - let line = getline(a:lnum) - - if has('syntax_items') - let synname = synIDattr(synID(a:lnum, 1, 1), "name") - if synname ==# "rustString" - " If the start of the line is in a string, don't change the indent - return -1 - elseif synname =~? '\(Comment\|Todo\)' - \ && line !~# '^\s*/\*' " not /* opening line - if synname =~? "CommentML" " multi-line - if line !~# '^\s*\*' && getline(a:lnum - 1) =~# '^\s*/\*' - " This is (hopefully) the line after a /*, and it has no - " leader, so the correct indentation is that of the - " previous line. - return GetRustIndent(a:lnum - 1) - endif - endif - " If it's in a comment, let cindent take care of it now. This is - " for cases like "/*" where the next line should start " * ", not - " "* " as the code below would otherwise cause for module scope - " Fun fact: " /*\n*\n*/" takes two calls to get right! - return cindent(a:lnum) - endif - endif - - " cindent gets second and subsequent match patterns/struct members wrong, - " as it treats the comma as indicating an unfinished statement:: - " - " match a { - " b => c, - " d => e, - " f => g, - " }; - - " Search backwards for the previous non-empty line. - let prevlinenum = prevnonblank(a:lnum - 1) - let prevline = s:get_line_trimmed(prevlinenum) - while prevlinenum > 1 && prevline !~# '[^[:blank:]]' - let prevlinenum = prevnonblank(prevlinenum - 1) - let prevline = s:get_line_trimmed(prevlinenum) - endwhile - - " A standalone '{', '}', or 'where' - let l:standalone_open = line =~# '\V\^\s\*{\s\*\$' - let l:standalone_close = line =~# '\V\^\s\*}\s\*\$' - let l:standalone_where = line =~# '\V\^\s\*where\s\*\$' - if l:standalone_open || l:standalone_close || l:standalone_where - " ToDo: we can search for more items than 'fn' and 'if'. - let [l:found_line, l:col, l:submatch] = - \ searchpos('\<\(fn\)\|\(if\)\>', 'bnWp') - if l:found_line !=# 0 - " Now we count the number of '{' and '}' in between the match - " locations and the current line (there is probably a better - " way to compute this). - let l:i = l:found_line - let l:search_line = strpart(getline(l:i), l:col - 1) - let l:opens = 0 - let l:closes = 0 - while l:i < a:lnum - let l:search_line2 = substitute(l:search_line, '\V{', '', 'g') - let l:opens += strlen(l:search_line) - strlen(l:search_line2) - let l:search_line3 = substitute(l:search_line2, '\V}', '', 'g') - let l:closes += strlen(l:search_line2) - strlen(l:search_line3) - let l:i += 1 - let l:search_line = getline(l:i) - endwhile - if l:standalone_open || l:standalone_where - if l:opens ==# l:closes - return indent(l:found_line) - endif - else - " Expect to find just one more close than an open - if l:opens ==# l:closes + 1 - return indent(l:found_line) - endif - endif - endif - endif - - " A standalone 'where' adds a shift. - let l:standalone_prevline_where = prevline =~# '\V\^\s\*where\s\*\$' - if l:standalone_prevline_where - return indent(prevlinenum) + 4 - endif - - " Handle where clauses nicely: subsequent values should line up nicely. - if prevline[len(prevline) - 1] ==# "," - \ && prevline =~# '^\s*where\s' - return indent(prevlinenum) + 6 - endif - - let l:last_prevline_character = prevline[len(prevline) - 1] - - " A line that ends with '.;' is probably an end of a long list - " of method operations. - if prevline =~# '\V\^\s\*.' && l:last_prevline_character ==# ';' - call cursor(a:lnum - 1, 1) - let l:scope_start = searchpair('{\|(', '', '}\|)', 'nbW', - \ 's:is_string_comment(line("."), col("."))') - if l:scope_start != 0 && l:scope_start < a:lnum - return indent(l:scope_start) + 4 - endif - endif - - if l:last_prevline_character ==# "," - \ && s:get_line_trimmed(a:lnum) !~# '^\s*[\[\]{})]' - \ && prevline !~# '^\s*fn\s' - \ && prevline !~# '([^()]\+,$' - \ && s:get_line_trimmed(a:lnum) !~# '^\s*\S\+\s*=>' - " Oh ho! The previous line ended in a comma! I bet cindent will try to - " take this too far... For now, let's normally use the previous line's - " indent. - - " One case where this doesn't work out is where *this* line contains - " square or curly brackets; then we normally *do* want to be indenting - " further. - " - " Another case where we don't want to is one like a function - " definition with arguments spread over multiple lines: - " - " fn foo(baz: Baz, - " baz: Baz) // <-- cindent gets this right by itself - " - " Another case is similar to the previous, except calling a function - " instead of defining it, or any conditional expression that leaves - " an open paren: - " - " foo(baz, - " baz); - " - " if baz && (foo || - " bar) { - " - " Another case is when the current line is a new match arm. - " - " There are probably other cases where we don't want to do this as - " well. Add them as needed. - return indent(prevlinenum) - endif - - if !has("patch-7.4.355") - " cindent before 7.4.355 doesn't do the module scope well at all; e.g.:: - " - " static FOO : &'static [bool] = [ - " true, - " false, - " false, - " true, - " ]; - " - " uh oh, next statement is indented further! - - " Note that this does *not* apply the line continuation pattern properly; - " that's too hard to do correctly for my liking at present, so I'll just - " start with these two main cases (square brackets and not returning to - " column zero) - - call cursor(a:lnum, 1) - if searchpair('{\|(', '', '}\|)', 'nbW', - \ 's:is_string_comment(line("."), col("."))') == 0 - if searchpair('\[', '', '\]', 'nbW', - \ 's:is_string_comment(line("."), col("."))') == 0 - " Global scope, should be zero - return 0 - else - " At the module scope, inside square brackets only - "if getline(a:lnum)[0] == ']' || search('\[', '', '\]', 'nW') == a:lnum - if line =~# "^\\s*]" - " It's the closing line, dedent it - return 0 - else - return &shiftwidth - endif - endif - endif - endif - - " Fall back on cindent, which does it mostly right - return cindent(a:lnum) -endfunction - -" vint: -ProhibitAbbreviationOption -let &cpo = s:save_cpo -unlet s:save_cpo -" vint: +ProhibitAbbreviationOption - -" vim: set et sw=4 sts=4 ts=8: diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/plugin/cargo.vim b/vim/.vim_runtime/sources_non_forked/rust.vim/plugin/cargo.vim deleted file mode 100644 index efc3876..0000000 --- a/vim/.vim_runtime/sources_non_forked/rust.vim/plugin/cargo.vim +++ /dev/null @@ -1,27 +0,0 @@ -if exists('g:loaded_rust_vim_plugin_cargo') - finish -endif -let g:loaded_rust_vim_plugin_cargo = 1 -let s:save_cpo = &cpoptions -set cpoptions&vim - -command! -nargs=+ Cargo call cargo#cmd() -command! -nargs=* Cbuild call cargo#build() -command! -nargs=* Ccheck call cargo#check() -command! -nargs=* Cclean call cargo#clean() -command! -nargs=* Cdoc call cargo#doc() -command! -nargs=+ Cnew call cargo#new() -command! -nargs=* Cinit call cargo#init() -command! -nargs=* Crun call cargo#run() -command! -nargs=* Ctest call cargo#test() -command! -nargs=* Cbench call cargo#bench() -command! -nargs=* Cupdate call cargo#update() -command! -nargs=* Csearch call cargo#search() -command! -nargs=* Cpublish call cargo#publish() -command! -nargs=* Cinstall call cargo#install() -command! -nargs=* Cruntarget call cargo#runtarget() - -let &cpoptions = s:save_cpo -unlet s:save_cpo - -" vim: set et sw=4 sts=4 ts=8: diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/plugin/rust.vim b/vim/.vim_runtime/sources_non_forked/rust.vim/plugin/rust.vim deleted file mode 100644 index 5fe77cc..0000000 --- a/vim/.vim_runtime/sources_non_forked/rust.vim/plugin/rust.vim +++ /dev/null @@ -1,28 +0,0 @@ -" Vim syntastic plugin helper -" Language: Rust -" Maintainer: Andrew Gallant - -if exists('g:loaded_rust_vim') - finish -endif -let g:loaded_rust_vim = 1 -let s:save_cpo = &cpoptions -set cpoptions&vim - -" This is to let Syntastic know about the Rust filetype. -" It enables tab completion for the 'SyntasticInfo' command. -" (This does not actually register the syntax checker.) -if exists('g:syntastic_extra_filetypes') - call add(g:syntastic_extra_filetypes, 'rust') -else - let g:syntastic_extra_filetypes = ['rust'] -endif - -if !exists('g:syntastic_rust_checkers') - let g:syntastic_rust_checkers = ['cargo'] -endif - -let &cpoptions = s:save_cpo -unlet s:save_cpo - -" vim: set et sw=4 sts=4 ts=8: diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/syntax/rust.vim b/vim/.vim_runtime/sources_non_forked/rust.vim/syntax/rust.vim deleted file mode 100644 index 4677e21..0000000 --- a/vim/.vim_runtime/sources_non_forked/rust.vim/syntax/rust.vim +++ /dev/null @@ -1,386 +0,0 @@ -" Vim syntax file -" Language: Rust -" Maintainer: Patrick Walton -" Maintainer: Ben Blum -" Maintainer: Chris Morgan -" Last Change: Feb 24, 2016 -" For bugs, patches and license go to https://github.com/rust-lang/rust.vim - -if version < 600 - syntax clear -elseif exists("b:current_syntax") - finish -endif - -" Syntax definitions {{{1 -" Basic keywords {{{2 -syn keyword rustConditional match if else -syn keyword rustRepeat loop while -" `:syn match` must be used to prioritize highlighting `for` keyword. -syn match rustRepeat /\/ -" Highlight `for` keyword in `impl ... for ... {}` statement. This line must -" be put after previous `syn match` line to overwrite it. -syn match rustKeyword /\%(\.\+\)\@<=\/ -syn keyword rustRepeat in -syn keyword rustTypedef type nextgroup=rustIdentifier skipwhite skipempty -syn keyword rustStructure struct enum nextgroup=rustIdentifier skipwhite skipempty -syn keyword rustUnion union nextgroup=rustIdentifier skipwhite skipempty contained -syn match rustUnionContextual /\/ -syn keyword rustAwait await -syn match rustKeyword /\!\@!/ display - -syn keyword rustPubScopeCrate crate contained -syn match rustPubScopeDelim /[()]/ contained -syn match rustPubScope /([^()]*)/ contained contains=rustPubScopeDelim,rustPubScopeCrate,rustSuper,rustModPath,rustModPathSep,rustSelf transparent - -syn keyword rustExternCrate crate contained nextgroup=rustIdentifier,rustExternCrateString skipwhite skipempty -" This is to get the `bar` part of `extern crate "foo" as bar;` highlighting. -syn match rustExternCrateString /".*"\_s*as/ contained nextgroup=rustIdentifier skipwhite transparent skipempty contains=rustString,rustOperator -syn keyword rustObsoleteExternMod mod contained nextgroup=rustIdentifier skipwhite skipempty - -syn match rustIdentifier contains=rustIdentifierPrime "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" display contained -syn match rustFuncName "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" display contained - -syn region rustMacroRepeat matchgroup=rustMacroRepeatDelimiters start="$(" end="),\=[*+]" contains=TOP -syn match rustMacroVariable "$\w\+" - -" Reserved (but not yet used) keywords {{{2 -syn keyword rustReservedKeyword become do priv typeof unsized abstract virtual final override - -" Built-in types {{{2 -syn keyword rustType isize usize char bool u8 u16 u32 u64 u128 f32 -syn keyword rustType f64 i8 i16 i32 i64 i128 str Self - -" Things from the libstd v1 prelude (src/libstd/prelude/v1.rs) {{{2 -" This section is just straight transformation of the contents of the prelude, -" to make it easy to update. - -" Reexported core operators {{{3 -syn keyword rustTrait Copy Send Sized Sync -syn keyword rustTrait Drop Fn FnMut FnOnce - -" Reexported functions {{{3 -" There’s no point in highlighting these; when one writes drop( or drop::< it -" gets the same highlighting anyway, and if someone writes `let drop = …;` we -" don’t really want *that* drop to be highlighted. -"syn keyword rustFunction drop - -" Reexported types and traits {{{3 -syn keyword rustTrait Box -syn keyword rustTrait ToOwned -syn keyword rustTrait Clone -syn keyword rustTrait PartialEq PartialOrd Eq Ord -syn keyword rustTrait AsRef AsMut Into From -syn keyword rustTrait Default -syn keyword rustTrait Iterator Extend IntoIterator -syn keyword rustTrait DoubleEndedIterator ExactSizeIterator -syn keyword rustEnum Option -syn keyword rustEnumVariant Some None -syn keyword rustEnum Result -syn keyword rustEnumVariant Ok Err -syn keyword rustTrait SliceConcatExt -syn keyword rustTrait String ToString -syn keyword rustTrait Vec - -" Other syntax {{{2 -syn keyword rustSelf self -syn keyword rustBoolean true false - -" If foo::bar changes to foo.bar, change this ("::" to "\."). -" If foo::bar changes to Foo::bar, change this (first "\w" to "\u"). -syn match rustModPath "\w\(\w\)*::[^<]"he=e-3,me=e-3 -syn match rustModPathSep "::" - -syn match rustFuncCall "\w\(\w\)*("he=e-1,me=e-1 -syn match rustFuncCall "\w\(\w\)*::<"he=e-3,me=e-3 " foo::(); - -" This is merely a convention; note also the use of [A-Z], restricting it to -" latin identifiers rather than the full Unicode uppercase. I have not used -" [:upper:] as it depends upon 'noignorecase' -"syn match rustCapsIdent display "[A-Z]\w\(\w\)*" - -syn match rustOperator display "\%(+\|-\|/\|*\|=\|\^\|&\||\|!\|>\|<\|%\)=\?" -" This one isn't *quite* right, as we could have binary-& with a reference -syn match rustSigil display /&\s\+[&~@*][^)= \t\r\n]/he=e-1,me=e-1 -syn match rustSigil display /[&~@*][^)= \t\r\n]/he=e-1,me=e-1 -" This isn't actually correct; a closure with no arguments can be `|| { }`. -" Last, because the & in && isn't a sigil -syn match rustOperator display "&&\|||" -" This is rustArrowCharacter rather than rustArrow for the sake of matchparen, -" so it skips the ->; see http://stackoverflow.com/a/30309949 for details. -syn match rustArrowCharacter display "->" -syn match rustQuestionMark display "?\([a-zA-Z]\+\)\@!" - -syn match rustMacro '\w\(\w\)*!' contains=rustAssert,rustPanic -syn match rustMacro '#\w\(\w\)*' contains=rustAssert,rustPanic - -syn match rustEscapeError display contained /\\./ -syn match rustEscape display contained /\\\([nrt0\\'"]\|x\x\{2}\)/ -syn match rustEscapeUnicode display contained /\\u{\%(\x_*\)\{1,6}}/ -syn match rustStringContinuation display contained /\\\n\s*/ -syn region rustString matchgroup=rustStringDelimiter start=+b"+ skip=+\\\\\|\\"+ end=+"+ contains=rustEscape,rustEscapeError,rustStringContinuation -syn region rustString matchgroup=rustStringDelimiter start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=rustEscape,rustEscapeUnicode,rustEscapeError,rustStringContinuation,@Spell -syn region rustString matchgroup=rustStringDelimiter start='b\?r\z(#*\)"' end='"\z1' contains=@Spell - -" Match attributes with either arbitrary syntax or special highlighting for -" derives. We still highlight strings and comments inside of the attribute. -syn region rustAttribute start="#!\?\[" end="\]" contains=@rustAttributeContents,rustAttributeParenthesizedParens,rustAttributeParenthesizedCurly,rustAttributeParenthesizedBrackets,rustDerive -syn region rustAttributeParenthesizedParens matchgroup=rustAttribute start="\w\%(\w\)*("rs=e end=")"re=s transparent contained contains=rustAttributeBalancedParens,@rustAttributeContents -syn region rustAttributeParenthesizedCurly matchgroup=rustAttribute start="\w\%(\w\)*{"rs=e end="}"re=s transparent contained contains=rustAttributeBalancedCurly,@rustAttributeContents -syn region rustAttributeParenthesizedBrackets matchgroup=rustAttribute start="\w\%(\w\)*\["rs=e end="\]"re=s transparent contained contains=rustAttributeBalancedBrackets,@rustAttributeContents -syn region rustAttributeBalancedParens matchgroup=rustAttribute start="("rs=e end=")"re=s transparent contained contains=rustAttributeBalancedParens,@rustAttributeContents -syn region rustAttributeBalancedCurly matchgroup=rustAttribute start="{"rs=e end="}"re=s transparent contained contains=rustAttributeBalancedCurly,@rustAttributeContents -syn region rustAttributeBalancedBrackets matchgroup=rustAttribute start="\["rs=e end="\]"re=s transparent contained contains=rustAttributeBalancedBrackets,@rustAttributeContents -syn cluster rustAttributeContents contains=rustString,rustCommentLine,rustCommentBlock,rustCommentLineDocError,rustCommentBlockDocError -syn region rustDerive start="derive(" end=")" contained contains=rustDeriveTrait -" This list comes from src/libsyntax/ext/deriving/mod.rs -" Some are deprecated (Encodable, Decodable) or to be removed after a new snapshot (Show). -syn keyword rustDeriveTrait contained Clone Hash RustcEncodable RustcDecodable Encodable Decodable PartialEq Eq PartialOrd Ord Rand Show Debug Default FromPrimitive Send Sync Copy - -" dyn keyword: It's only a keyword when used inside a type expression, so -" we make effort here to highlight it only when Rust identifiers follow it -" (not minding the case of pre-2018 Rust where a path starting with :: can -" follow). -" -" This is so that uses of dyn variable names such as in 'let &dyn = &2' -" and 'let dyn = 2' will not get highlighted as a keyword. -syn match rustKeyword "\/ contains=rustGenericLifetimeCandidate -syn region rustGenericLifetimeCandidate display start=/\%(<\|,\s*\)\@<='/ end=/[[:cntrl:][:space:][:punct:]]\@=\|$/ contains=rustSigil,rustLifetime - -"rustLifetime must appear before rustCharacter, or chars will get the lifetime highlighting -syn match rustLifetime display "\'\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" -syn match rustLabel display "\'\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*:" -syn match rustLabel display "\%(\<\%(break\|continue\)\s*\)\@<=\'\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" -syn match rustCharacterInvalid display contained /b\?'\zs[\n\r\t']\ze'/ -" The groups negated here add up to 0-255 but nothing else (they do not seem to go beyond ASCII). -syn match rustCharacterInvalidUnicode display contained /b'\zs[^[:cntrl:][:graph:][:alnum:][:space:]]\ze'/ -syn match rustCharacter /b'\([^\\]\|\\\(.\|x\x\{2}\)\)'/ contains=rustEscape,rustEscapeError,rustCharacterInvalid,rustCharacterInvalidUnicode -syn match rustCharacter /'\([^\\]\|\\\(.\|x\x\{2}\|u{\%(\x_*\)\{1,6}}\)\)'/ contains=rustEscape,rustEscapeUnicode,rustEscapeError,rustCharacterInvalid - -syn match rustShebang /\%^#![^[].*/ -syn region rustCommentLine start="//" end="$" contains=rustTodo,@Spell -syn region rustCommentLineDoc start="//\%(//\@!\|!\)" end="$" contains=rustTodo,@Spell -syn region rustCommentLineDocError start="//\%(//\@!\|!\)" end="$" contains=rustTodo,@Spell contained -syn region rustCommentBlock matchgroup=rustCommentBlock start="/\*\%(!\|\*[*/]\@!\)\@!" end="\*/" contains=rustTodo,rustCommentBlockNest,@Spell -syn region rustCommentBlockDoc matchgroup=rustCommentBlockDoc start="/\*\%(!\|\*[*/]\@!\)" end="\*/" contains=rustTodo,rustCommentBlockDocNest,rustCommentBlockDocRustCode,@Spell -syn region rustCommentBlockDocError matchgroup=rustCommentBlockDocError start="/\*\%(!\|\*[*/]\@!\)" end="\*/" contains=rustTodo,rustCommentBlockDocNestError,@Spell contained -syn region rustCommentBlockNest matchgroup=rustCommentBlock start="/\*" end="\*/" contains=rustTodo,rustCommentBlockNest,@Spell contained transparent -syn region rustCommentBlockDocNest matchgroup=rustCommentBlockDoc start="/\*" end="\*/" contains=rustTodo,rustCommentBlockDocNest,@Spell contained transparent -syn region rustCommentBlockDocNestError matchgroup=rustCommentBlockDocError start="/\*" end="\*/" contains=rustTodo,rustCommentBlockDocNestError,@Spell contained transparent - -" FIXME: this is a really ugly and not fully correct implementation. Most -" importantly, a case like ``/* */*`` should have the final ``*`` not being in -" a comment, but in practice at present it leaves comments open two levels -" deep. But as long as you stay away from that particular case, I *believe* -" the highlighting is correct. Due to the way Vim's syntax engine works -" (greedy for start matches, unlike Rust's tokeniser which is searching for -" the earliest-starting match, start or end), I believe this cannot be solved. -" Oh you who would fix it, don't bother with things like duplicating the Block -" rules and putting ``\*\@:p:h/rust.vim - unlet b:current_syntax_embed - - " Currently regions marked as ``` will not get - " highlighted at all. In the future, we can do as vim-markdown does and - " highlight with the other syntax. But for now, let's make sure we find - " the closing block marker, because the rules below won't catch it. - syn region rustCommentLinesDocNonRustCode matchgroup=rustCommentDocCodeFence start='^\z(\s*//[!/]\s*```\).\+$' end='^\z1$' keepend contains=rustCommentLineDoc - - " We borrow the rules from rust’s src/librustdoc/html/markdown.rs, so that - " we only highlight as Rust what it would perceive as Rust (almost; it’s - " possible to trick it if you try hard, and indented code blocks aren’t - " supported because Markdown is a menace to parse and only mad dogs and - " Englishmen would try to handle that case correctly in this syntax file). - syn region rustCommentLinesDocRustCode matchgroup=rustCommentDocCodeFence start='^\z(\s*//[!/]\s*```\)[^A-Za-z0-9_-]*\%(\%(should_panic\|no_run\|ignore\|allow_fail\|rust\|test_harness\|compile_fail\|E\d\{4}\|edition201[58]\)\%([^A-Za-z0-9_-]\+\|$\)\)*$' end='^\z1$' keepend contains=@RustCodeInComment,rustCommentLineDocLeader - syn region rustCommentBlockDocRustCode matchgroup=rustCommentDocCodeFence start='^\z(\%(\s*\*\)\?\s*```\)[^A-Za-z0-9_-]*\%(\%(should_panic\|no_run\|ignore\|allow_fail\|rust\|test_harness\|compile_fail\|E\d\{4}\|edition201[58]\)\%([^A-Za-z0-9_-]\+\|$\)\)*$' end='^\z1$' keepend contains=@RustCodeInComment,rustCommentBlockDocStar - " Strictly, this may or may not be correct; this code, for example, would - " mishighlight: - " - " /** - " ```rust - " println!("{}", 1 - " * 1); - " ``` - " */ - " - " … but I don’t care. Balance of probability, and all that. - syn match rustCommentBlockDocStar /^\s*\*\s\?/ contained - syn match rustCommentLineDocLeader "^\s*//\%(//\@!\|!\)" contained -endif - -" Default highlighting {{{1 -hi def link rustDecNumber rustNumber -hi def link rustHexNumber rustNumber -hi def link rustOctNumber rustNumber -hi def link rustBinNumber rustNumber -hi def link rustIdentifierPrime rustIdentifier -hi def link rustTrait rustType -hi def link rustDeriveTrait rustTrait - -hi def link rustMacroRepeatDelimiters Macro -hi def link rustMacroVariable Define -hi def link rustSigil StorageClass -hi def link rustEscape Special -hi def link rustEscapeUnicode rustEscape -hi def link rustEscapeError Error -hi def link rustStringContinuation Special -hi def link rustString String -hi def link rustStringDelimiter String -hi def link rustCharacterInvalid Error -hi def link rustCharacterInvalidUnicode rustCharacterInvalid -hi def link rustCharacter Character -hi def link rustNumber Number -hi def link rustBoolean Boolean -hi def link rustEnum rustType -hi def link rustEnumVariant rustConstant -hi def link rustConstant Constant -hi def link rustSelf Constant -hi def link rustFloat Float -hi def link rustArrowCharacter rustOperator -hi def link rustOperator Operator -hi def link rustKeyword Keyword -hi def link rustDynKeyword rustKeyword -hi def link rustTypedef Keyword " More precise is Typedef, but it doesn't feel right for Rust -hi def link rustStructure Keyword " More precise is Structure -hi def link rustUnion rustStructure -hi def link rustExistential rustKeyword -hi def link rustPubScopeDelim Delimiter -hi def link rustPubScopeCrate rustKeyword -hi def link rustSuper rustKeyword -hi def link rustUnsafeKeyword Exception -hi def link rustReservedKeyword Error -hi def link rustRepeat Conditional -hi def link rustConditional Conditional -hi def link rustIdentifier Identifier -hi def link rustCapsIdent rustIdentifier -hi def link rustModPath Include -hi def link rustModPathSep Delimiter -hi def link rustFunction Function -hi def link rustFuncName Function -hi def link rustFuncCall Function -hi def link rustShebang Comment -hi def link rustCommentLine Comment -hi def link rustCommentLineDoc SpecialComment -hi def link rustCommentLineDocLeader rustCommentLineDoc -hi def link rustCommentLineDocError Error -hi def link rustCommentBlock rustCommentLine -hi def link rustCommentBlockDoc rustCommentLineDoc -hi def link rustCommentBlockDocStar rustCommentBlockDoc -hi def link rustCommentBlockDocError Error -hi def link rustCommentDocCodeFence rustCommentLineDoc -hi def link rustAssert PreCondit -hi def link rustPanic PreCondit -hi def link rustMacro Macro -hi def link rustType Type -hi def link rustTodo Todo -hi def link rustAttribute PreProc -hi def link rustDerive PreProc -hi def link rustDefault StorageClass -hi def link rustStorage StorageClass -hi def link rustObsoleteStorage Error -hi def link rustLifetime Special -hi def link rustLabel Label -hi def link rustExternCrate rustKeyword -hi def link rustObsoleteExternMod Error -hi def link rustQuestionMark Special -hi def link rustAsync rustKeyword -hi def link rustAwait rustKeyword -hi def link rustAsmDirSpec rustKeyword -hi def link rustAsmSym rustKeyword -hi def link rustAsmOptions rustKeyword -hi def link rustAsmOptionsKey rustAttribute - -" Other Suggestions: -" hi rustAttribute ctermfg=cyan -" hi rustDerive ctermfg=cyan -" hi rustAssert ctermfg=yellow -" hi rustPanic ctermfg=red -" hi rustMacro ctermfg=magenta - -syn sync minlines=200 -syn sync maxlines=500 - -let b:current_syntax = "rust" - -" vim: set et sw=4 sts=4 ts=8: diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/test/.gitignore b/vim/.vim_runtime/sources_non_forked/rust.vim/test/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/test/Dockerfile b/vim/.vim_runtime/sources_non_forked/rust.vim/test/Dockerfile deleted file mode 100644 index c84c49e..0000000 --- a/vim/.vim_runtime/sources_non_forked/rust.vim/test/Dockerfile +++ /dev/null @@ -1,34 +0,0 @@ -# This is brought as reference, to be able to reproduce a new image - -FROM alonid/vim-testbed:10 - -RUN install_vim -tag v7.4.052 -name vim74-trusty -build \ - -tag v8.0.1850 -name vim80 -build \ - -tag v8.1.0105 -name vim81 -build \ - -tag neovim:v0.1.7 -build \ - -tag neovim:v0.2.2 -build - -ENV PACKAGES="\ - bash \ - git \ - python \ - python2-pip \ - curl \ -" - -RUN dnf install -y $PACKAGES - -RUN pip install vim-vint==0.3.19 - -RUN export HOME=/rust ; mkdir $HOME ; curl https://sh.rustup.rs -sSf | sh -s -- -y - -RUN chown vimtest.vimtest -R /rust - -RUN (dnf remove -y gcc \*-devel ; \ - dnf install -y gpm msgpack libvterm libtermkey unibilium ) || true -RUN dnf clean all - -RUN echo "export PATH=~/.cargo/bin:$PATH" >> ~/.bashrc - -RUN git clone https://github.com/da-x/vader.vim vader && \ - cd vader && git checkout v2017-12-26 diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/test/coverage.vader b/vim/.vim_runtime/sources_non_forked/rust.vim/test/coverage.vader deleted file mode 100644 index 84734e7..0000000 --- a/vim/.vim_runtime/sources_non_forked/rust.vim/test/coverage.vader +++ /dev/null @@ -1,24 +0,0 @@ -Given rust (Some Rust code): - fn main() { - println!("Hello World\n") - } - -Execute (RustInfo - call it to see that it works): - redir => m - silent RustInfo - redir END - Log m - -Execute (RustEmitAsm - see that we actually get assembly output): - silent! w test.rs - silent! e! test.rs - redir => m - silent! RustEmitAsm - redir END - AssertEqual 'asm', &filetype - normal! ggVGy:q - AssertEqual 1,(@" =~# '\V.section') - bd - call delete('test.rs') - -# TODO: a lot more tests diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/test/indent.vader b/vim/.vim_runtime/sources_non_forked/rust.vim/test/indent.vader deleted file mode 100644 index 91f6580..0000000 --- a/vim/.vim_runtime/sources_non_forked/rust.vim/test/indent.vader +++ /dev/null @@ -1,292 +0,0 @@ -Given rust: - fn main() { - let a = 2; - println!("Hello World\n") - } - -Do: - vip= - -Expect rust (very basic indentation result): - fn main() { - let a = 2; - println!("Hello World\n") - } - -############################################ -# Issue #195 - -Given rust: - fn main() { - let paths: Vec<_> = ({ - fs::read_dir("test_data") - .unwrap() - .cloned() - }) - .collect(); - - println!("Hello World\n"); - } - -Do: - /collect\ - ostatement();\\ - -Expect rust (issue #195): - fn main() { - let paths: Vec<_> = ({ - fs::read_dir("test_data") - .unwrap() - .cloned() - }) - .collect(); - statement(); - - println!("Hello World\n"); - } - -############################################ -# Issue #189 - -Given rust: - impl X for { - pub fn get(&self, key: &Q) -> Option> - where - K: Borrow, - Q: Ord + ?Sized, - { - self.inner.get(key).map(Entry::new) - } - } - -Do: - vip= - -Expect rust (issue #189): - impl X for { - pub fn get(&self, key: &Q) -> Option> - where - K: Borrow, - Q: Ord + ?Sized, - { - self.inner.get(key).map(Entry::new) - } - } - -############################################ -# Issue #189b - -Given rust: - impl X for { - pub fn get(&self, key: &Q) -> Option> - where - K: Borrow, - Q: Ord + ?Sized - { - self.inner.get(key).map(Entry::new) - } - } - -Do: - vip= - -Expect rust (issue #189b): - impl X for { - pub fn get(&self, key: &Q) -> Option> - where - K: Borrow, - Q: Ord + ?Sized - { - self.inner.get(key).map(Entry::new) - } - } - -############################################ -# Issue #189c - -Given rust: - impl X for { - pub fn get(&self, key: &Q) -> Option> - where K: Borrow, Q: Ord + ?Sized - { - self.inner.get(key).map(Entry::new) - } - } - -Do: - vip= - -Expect rust (issue #189b): - impl X for { - pub fn get(&self, key: &Q) -> Option> - where K: Borrow, Q: Ord + ?Sized - { - self.inner.get(key).map(Entry::new) - } - } - - -############################################ -# Issue #149 - -Given rust: - fn test() { - let t = "a - wah"; - } - -Do: - /wah\ - i#\\ - /;\o - statement();\\ - -# Disabled -# Expect rust (issue #149): - fn test() { - let t = "a - #wah"; - statement(); - } - - -############################################ -# Issue #77 - -Given rust: - fn test() { - } - -Do: - of(x, y,\z);\ - f((x, y),\z);\ - -# Disabled -# Expect rust (issue #77): - fn test() { - f(x, y, - z); - f((x, y), - z); - - } - -############################################ -# Issue #44 - -Given rust: - fn main() { - a - - let philosophers = vec![ - Philosopher::new("Judith Butler"), - Philosopher::new("Gilles Deleuze"), - Philosopher::new("Karl Marx"), - Philosopher::new("Emma Goldman"), - Philosopher::new("Michel Foucault"), - ]; - } - -Do: - /let\ - vip= - -# Disabled -# Expect rust (issue #44): - fn main() { - a - - let philosophers = vec![ - Philosopher::new("Judith Butler"), - Philosopher::new("Gilles Deleuze"), - Philosopher::new("Karl Marx"), - Philosopher::new("Emma Goldman"), - Philosopher::new("Michel Foucault"), - ]; - } - -############################################ -# Issue #5 - -Given rust: - fn f() { - if x && - y { - } - } - -Do: - vip= - -Expect rust (issue #5): - fn f() { - if x && - y { - } - } - -############################################ -# Issue #366 - -Given rust: - fn f() { - g(|_| { - h(); - }) - .unwrap(); - h(); - } - -Do: - vip= - -Expect rust (issue #366): - fn f() { - g(|_| { - h(); - }) - .unwrap(); - h(); - } - -Given rust: - fn f() { - let a = g(|_| { - h(); - }) - .unwrap(); - h(); - } - -Do: - vip= - -Expect rust (issue #366, variation #2): - fn f() { - let a = g(|_| { - h(); - }) - .unwrap(); - h(); - } - -############################################ - -Given rust: - fn f() { - let mut state = State::new( - backend, - header.clone(), - ).expect("Something"); - } - -Do: - vip= - -Expect rust (Trailing comma in call): - fn f() { - let mut state = State::new( - backend, - header.clone(), - ).expect("Something"); - } diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/test/run-tests b/vim/.vim_runtime/sources_non_forked/rust.vim/test/run-tests deleted file mode 100644 index a8c63b6..0000000 --- a/vim/.vim_runtime/sources_non_forked/rust.vim/test/run-tests +++ /dev/null @@ -1,105 +0,0 @@ -#!/usr/bin/env python - -import os -import sys - -REPO = "alonid/vim-testbed" -TAG = "10-rust.vim" -IMAGE = "%s:%s" % (REPO, TAG) - -class Error(Exception): - pass - -def system(cmd, capture=False, ok_fail=False): - if capture: - f = os.popen(cmd) - d = f.read() - return d - - res = os.system(cmd) - if res != 0: - if ok_fail: - return res - - raise Error("Error executing: %s" % (cmd, )) - return 0 - -def root(): - return os.path.dirname(os.path.dirname(os.path.realpath(__file__))) - -def prep(): - d = os.path.join(root(), "test") - for i in [".cargo", ".rustup", ".multirust"]: - l = os.path.join(d, i) - if not os.path.lexists(l): - os.symlink("/rust/" + i, l) - - l = os.path.join(root(), "test/.vimrc") - if not os.path.lexists(l): - os.symlink("vimrc", l) - - if not os.path.exists(os.path.join(d, ".profile")): - f = open(os.path.join(d, ".profile"), "w") - f.write('export PATH="$HOME/.cargo/bin:$PATH"\n') - f.close() - -def docker_run(cmd, interactive=False, ok_fail=False): - prep() - d = root() - params = "-v %s:/testplugin -v %s/test:/home/vimtest" % (d, d) - params += " -e HOME=/home/vimtest" - if not interactive: - params += " -a stderr" - params += " -e VADER_OUTPUT_FILE=/dev/stderr" - params += " -u %s" % (os.getuid(), ) - params += " -w /testplugin" - if interactive: - interactive_str = "-it" - else: - interactive_str = "" - return system("docker run %s --rm %s %s %s" % (interactive_str, params, IMAGE, cmd), - ok_fail=ok_fail) - -def image_exists(): - r = system("docker images -q %s" % (IMAGE, ), capture=True) - return len(r.strip().splitlines()) >= 1 - -def tests_on_docker(): - res = docker_run("bash -lc 'python /home/vimtest/run-tests inside-docker'", ok_fail=True) - if res == 0: - print "Tests OK" - else: - print "Tests Failed" - sys.exit(1) - -def inside_docker(): - res = system("/vim-build/bin/vim80 --not-a-term '+Vader! test/*.vader'", ok_fail=True) - if res != 0: - sys.exit(1) - -def run_with_vimrc(vimrc): - res = system("vim -u %s --not-a-term '+Vader! test/*.vader'" % (vimrc, ), ok_fail=True) - if res != 0: - sys.exit(1) - -def main(): - if sys.argv[1:] == ["inside-docker"]: - inside_docker() - return - - if sys.argv[1:2] == ["run-with-vimrc"]: - run_with_vimrc(sys.argv[2]) - return - - if not image_exists(): - print "Need to take image from remote" - system("docker pull %s" % (IMAGE, )) - - if "-i" in sys.argv[1:]: - docker_run("bash -l", interactive=True) - return - - tests_on_docker() - -if __name__ == "__main__": - main() diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/test/sample.rs b/vim/.vim_runtime/sources_non_forked/rust.vim/test/sample.rs deleted file mode 100644 index e69de29..0000000 diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/test/vimrc b/vim/.vim_runtime/sources_non_forked/rust.vim/test/vimrc deleted file mode 100644 index f7f1533..0000000 --- a/vim/.vim_runtime/sources_non_forked/rust.vim/test/vimrc +++ /dev/null @@ -1,30 +0,0 @@ -" vint: -ProhibitSetNoCompatible -" - -set nocompatible -filetype off - -" This script is currently designed to be run from within Docker, the -" following paths are intrinsic to the container: -source /rtp.vim - -" Paths need prepending (instead of what is originally done -" in vim-testbed) in order to supersede the rust.vim that is -" supplied with Vim. -exec 'set runtimepath=/vader,/testplugin,' . &runtimepath -cd /testplugin - -filetype plugin indent on -syntax on - -set nocompatible -set tabstop=8 -set softtabstop=4 -set shiftwidth=4 -set expandtab -set backspace=2 -set nofoldenable -set foldmethod=syntax -set foldlevelstart=10 -set foldnestmax=10 -set ttimeoutlen=0 diff --git a/vim/.vim_runtime/sources_non_forked/rust.vim/triagebot.toml b/vim/.vim_runtime/sources_non_forked/rust.vim/triagebot.toml deleted file mode 100644 index fa0824a..0000000 --- a/vim/.vim_runtime/sources_non_forked/rust.vim/triagebot.toml +++ /dev/null @@ -1 +0,0 @@ -[assign] diff --git a/vim/.vim_runtime/sources_non_forked/tabular/.gitignore b/vim/.vim_runtime/sources_non_forked/tabular/.gitignore deleted file mode 100644 index 0a56e3f..0000000 --- a/vim/.vim_runtime/sources_non_forked/tabular/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/doc/tags diff --git a/vim/.vim_runtime/sources_non_forked/tabular/LICENSE.md b/vim/.vim_runtime/sources_non_forked/tabular/LICENSE.md deleted file mode 100644 index 1aaf5c3..0000000 --- a/vim/.vim_runtime/sources_non_forked/tabular/LICENSE.md +++ /dev/null @@ -1,24 +0,0 @@ -LICENSE.md

    Copyright © 2016, Matthew J. Wozniski -All rights reserved.

    - -

    Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * The names of the contributors may not be used to endorse or promote - products derived from this software without specific prior written - permission.

    - -

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY EXPRESS -OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN -NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, -OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

    diff --git a/vim/.vim_runtime/sources_non_forked/tabular/README.md b/vim/.vim_runtime/sources_non_forked/tabular/README.md deleted file mode 100644 index 1e3aca4..0000000 --- a/vim/.vim_runtime/sources_non_forked/tabular/README.md +++ /dev/null @@ -1,30 +0,0 @@ - -README.md

    Tabular

    - -

    Sometimes, it’s useful to line up text. Naturally, it’s nicer to have the -computer do this for you, since aligning things by hand quickly becomes -unpleasant. While there are other plugins for aligning text, the ones I’ve -tried are either impossibly difficult to understand and use, or too simplistic -to handle complicated tasks. This plugin aims to make the easy things easy -and the hard things possible, without providing an unnecessarily obtuse -interface. It’s still a work in progress, and criticisms are welcome.

    - -

    See Aligning Text with Tabular.vim -for a screencast that shows how Tabular.vim works.

    - -

    See doc/Tabular.txt -for detailed documentation.

    - -

    Installation

    - -

    If you don’t have a preferred installation method, I recommend installing -pathogen.vim, and then simply -copy and paste:

    - -
    mkdir -p ~/.vim/bundle
    -cd ~/.vim/bundle
    -git clone git://github.com/godlygeek/tabular.git
    - -

    Once help tags have been generated (either using Pathogen’s :Helptags -command, or by pointing vim’s :helptags command at the directory where you -installed Tabular), you can view the manual with :help tabular.

    diff --git a/vim/.vim_runtime/sources_non_forked/tabular/autoload/tabular.vim b/vim/.vim_runtime/sources_non_forked/tabular/autoload/tabular.vim deleted file mode 100644 index f60a73c..0000000 --- a/vim/.vim_runtime/sources_non_forked/tabular/autoload/tabular.vim +++ /dev/null @@ -1,409 +0,0 @@ -" Tabular: Align columnar data using regex-designated column boundaries -" Maintainer: Matthew Wozniski (godlygeek@gmail.com) -" Date: Thu, 03 May 2012 20:49:32 -0400 -" Version: 1.0 -" -" Long Description: -" Sometimes, it's useful to line up text. Naturally, it's nicer to have the -" computer do this for you, since aligning things by hand quickly becomes -" unpleasant. While there are other plugins for aligning text, the ones I've -" tried are either impossibly difficult to understand and use, or too simplistic -" to handle complicated tasks. This plugin aims to make the easy things easy -" and the hard things possible, without providing an unnecessarily obtuse -" interface. It's still a work in progress, and criticisms are welcome. -" -" License: -" Copyright (c) 2012, Matthew J. Wozniski -" All rights reserved. -" -" Redistribution and use in source and binary forms, with or without -" modification, are permitted provided that the following conditions are met: -" * Redistributions of source code must retain the above copyright notice, -" this list of conditions and the following disclaimer. -" * Redistributions in binary form must reproduce the above copyright -" notice, this list of conditions and the following disclaimer in the -" documentation and/or other materials provided with the distribution. -" * The names of the contributors may not be used to endorse or promote -" products derived from this software without specific prior written -" permission. -" -" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ``AS IS'' AND ANY EXPRESS -" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN -" NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT, -" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, -" OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -" NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -" Stupid vimscript crap {{{1 -let s:savecpo = &cpo -set cpo&vim - -" Private Functions {{{1 - -" Return the number of bytes in a string after expanding tabs to spaces. {{{2 -" This expansion is done based on the current value of 'tabstop' -if exists('*strdisplaywidth') - " Needs vim 7.3 - let s:Strlen = function("strdisplaywidth") -else - function! s:Strlen(string) - " Implement the tab handling part of strdisplaywidth for vim 7.2 and - " earlier - not much that can be done about handling doublewidth - " characters. - let rv = 0 - let i = 0 - - for char in split(a:string, '\zs') - if char == "\t" - let rv += &ts - i - let i = 0 - else - let rv += 1 - let i = (i + 1) % &ts - endif - endfor - - return rv - endfunction -endif - -" Align a string within a field {{{2 -" These functions do not trim leading and trailing spaces. - -" Right align 'string' in a field of size 'fieldwidth' -function! s:Right(string, fieldwidth) - let spaces = a:fieldwidth - s:Strlen(a:string) - return matchstr(a:string, '^\s*') . repeat(" ", spaces) . substitute(a:string, '^\s*', '', '') -endfunction - -" Left align 'string' in a field of size 'fieldwidth' -function! s:Left(string, fieldwidth) - let spaces = a:fieldwidth - s:Strlen(a:string) - return a:string . repeat(" ", spaces) -endfunction - -" Center align 'string' in a field of size 'fieldwidth' -function! s:Center(string, fieldwidth) - let spaces = a:fieldwidth - s:Strlen(a:string) - let right = spaces / 2 - let left = right + (right * 2 != spaces) - return repeat(" ", left) . a:string . repeat(" ", right) -endfunction - -" Remove spaces around a string {{{2 - -" Remove all trailing spaces from a string. -function! s:StripTrailingSpaces(string) - return matchstr(a:string, '^.\{-}\ze\s*$') -endfunction - -" Remove all leading spaces from a string. -function! s:StripLeadingSpaces(string) - return matchstr(a:string, '^\s*\zs.*$') -endfunction - -" Split a string into fields and delimiters {{{2 -" Like split(), but include the delimiters as elements -" All odd numbered elements are delimiters -" All even numbered elements are non-delimiters (including zero) -function! s:SplitDelim(string, delim) - let rv = [] - let beg = 0 - - let len = len(a:string) - let searchoff = 0 - - while 1 - let mid = match(a:string, a:delim, beg + searchoff, 1) - if mid == -1 || mid == len - break - endif - - let matchstr = matchstr(a:string, a:delim, beg + searchoff, 1) - let length = strlen(matchstr) - - if length == 0 && beg == mid - " Zero-length match for a zero-length delimiter - advance past it - let searchoff += 1 - continue - endif - - if beg == mid - let rv += [ "" ] - else - let rv += [ a:string[beg : mid-1] ] - endif - - let rv += [ matchstr ] - - let beg = mid + length - let searchoff = 0 - endwhile - - let rv += [ strpart(a:string, beg) ] - - return rv -endfunction - -" Replace lines from `start' to `start + len - 1' with the given strings. {{{2 -" If more lines are needed to show all strings, they will be added. -" If there are too few strings to fill all lines, lines will be removed. -function! s:SetLines(start, len, strings) - if a:start > line('$') + 1 || a:start < 1 - throw "Invalid start line!" - endif - - if len(a:strings) > a:len - let fensave = &fen - let view = winsaveview() - call append(a:start + a:len - 1, repeat([''], len(a:strings) - a:len)) - call winrestview(view) - let &fen = fensave - elseif len(a:strings) < a:len - let fensave = &fen - let view = winsaveview() - sil exe (a:start + len(a:strings)) . ',' . (a:start + a:len - 1) . 'd_' - call winrestview(view) - let &fen = fensave - endif - - call setline(a:start, a:strings) -endfunction - -" Runs the given commandstring argument as an expression. {{{2 -" The commandstring expression is expected to reference the a:lines argument. -" If the commandstring expression returns a list the items of that list will -" replace the items in a:lines, otherwise the expression is assumed to have -" modified a:lines itself. -function! s:FilterString(lines, commandstring) - exe 'let rv = ' . a:commandstring - - if type(rv) == type(a:lines) && rv isnot a:lines - call filter(a:lines, 0) - call extend(a:lines, rv) - endif -endfunction - -" Public API {{{1 - -if !exists("g:tabular_default_format") - let g:tabular_default_format = "l1" -endif - -let s:formatelempat = '\%([lrc]\d\+\)' - -function! tabular#ElementFormatPattern() - return s:formatelempat -endfunction - -" Given a list of strings and a delimiter, split each string on every -" occurrence of the delimiter pattern, format each element according to either -" the provided format (optional) or the default format, and join them back -" together with enough space padding to guarantee that the nth delimiter of -" each string is aligned. -function! tabular#TabularizeStrings(strings, delim, ...) - if a:0 > 1 - echoerr "TabularizeStrings accepts only 2 or 3 arguments (got ".(a:0+2).")" - return 1 - endif - - let formatstr = (a:0 ? a:1 : g:tabular_default_format) - - if formatstr !~? s:formatelempat . '\+' - echoerr "Tabular: Invalid format \"" . formatstr . "\" specified!" - return 1 - endif - - let format = split(formatstr, s:formatelempat . '\zs') - - let lines = map(a:strings, 's:SplitDelim(v:val, a:delim)') - - " Strip spaces - " - Only from non-delimiters; spaces in delimiters must have been matched - " intentionally - " - Don't strip leading spaces from the first element; we like indenting. - for line in lines - if len(line) == 1 && s:do_gtabularize - continue " Leave non-matching lines unchanged for GTabularize - endif - - if line[0] !~ '^\s*$' - let line[0] = s:StripTrailingSpaces(line[0]) - endif - if len(line) >= 3 - for i in range(2, len(line)-1, 2) - let line[i] = s:StripLeadingSpaces(s:StripTrailingSpaces(line[i])) - endfor - endif - endfor - - " Find the max length of each field - let maxes = [] - for line in lines - if len(line) == 1 && s:do_gtabularize - continue " non-matching lines don't affect field widths for GTabularize - endif - - for i in range(len(line)) - if i == len(maxes) - let maxes += [ s:Strlen(line[i]) ] - else - let maxes[i] = max( [ maxes[i], s:Strlen(line[i]) ] ) - endif - endfor - endfor - - let lead_blank = empty(filter(copy(lines), 'v:val[0] =~ "\\S"')) - - " Concatenate the fields, according to the format pattern. - for idx in range(len(lines)) - let line = lines[idx] - - if len(line) == 1 && s:do_gtabularize - let lines[idx] = line[0] " GTabularize doesn't change non-matching lines - continue - endif - - for i in range(len(line)) - let how = format[i % len(format)][0] - let pad = format[i % len(format)][1:-1] - - if how =~? 'l' - let field = s:Left(line[i], maxes[i]) - elseif how =~? 'r' - let field = s:Right(line[i], maxes[i]) - elseif how =~? 'c' - let field = s:Center(line[i], maxes[i]) - endif - - let line[i] = field . (lead_blank && i == 0 ? '' : repeat(" ", pad)) - endfor - - let lines[idx] = s:StripTrailingSpaces(join(line, '')) - endfor -endfunction - -" Apply 0 or more filters, in sequence, to selected text in the buffer {{{2 -" The lines to be filtered are determined as follows: -" If the function is called with a range containing multiple lines, then -" those lines will be used as the range. -" If the function is called with no range or with a range of 1 line, then -" if GTabularize mode is being used, -" the range will not be adjusted -" if "includepat" is not specified, -" that 1 line will be filtered, -" if "includepat" is specified and that line does not match it, -" no lines will be filtered -" if "includepat" is specified and that line does match it, -" all contiguous lines above and below the specified line matching the -" pattern will be filtered. -" -" The remaining arguments must each be a filter to apply to the text. -" Each filter must either be a String evaluating to a function to be called. -function! tabular#PipeRange(includepat, ...) range - exe a:firstline . ',' . a:lastline - \ . 'call tabular#PipeRangeWithOptions(a:includepat, a:000, {})' -endfunction - -" Extended version of tabular#PipeRange, which -" 1) Takes the list of filters as an explicit list rather than as varargs -" 2) Supports passing a dictionary of options to control the routine. -" Currently, the only supported option is 'mode', which determines whether -" to behave as :Tabularize or as :GTabularize -" This allows me to add new features here without breaking API compatibility -" in the future. -function! tabular#PipeRangeWithOptions(includepat, filterlist, options) range - let top = a:firstline - let bot = a:lastline - - let s:do_gtabularize = (get(a:options, 'mode', '') ==# 'GTabularize') - - if !s:do_gtabularize - " In the default mode, apply range extension logic - if a:includepat != '' && top == bot - if top < 0 || top > line('$') || getline(top) !~ a:includepat - return - endif - while top > 1 && getline(top-1) =~ a:includepat - let top -= 1 - endwhile - while bot < line('$') && getline(bot+1) =~ a:includepat - let bot += 1 - endwhile - endif - endif - - let lines = map(range(top, bot), 'getline(v:val)') - - for filter in a:filterlist - if type(filter) != type("") - echoerr "PipeRange: Bad filter: " . string(filter) - endif - - call s:FilterString(lines, filter) - - unlet filter - endfor - - call s:SetLines(top, bot - top + 1, lines) -endfunction - -" Part of the public interface so interested pipelines can query this and -" adjust their behavior appropriately. -function! tabular#DoGTabularize() - return s:do_gtabularize -endfunction - -function! s:SplitDelimTest(string, delim, expected) - let result = s:SplitDelim(a:string, a:delim) - - if result !=# a:expected - echomsg 'Test failed!' - echomsg ' string=' . string(a:string) . ' delim=' . string(a:delim) - echomsg ' Returned=' . string(result) - echomsg ' Expected=' . string(a:expected) - endif -endfunction - -function! tabular#SplitDelimUnitTest() - let assignment = '[|&+*/%<>=!~-]\@!=]=\|=\~\)\@![|&+*/%<>=!~-]*=' - let two_spaces = ' ' - let ternary_operator = '^.\{-}\zs?\|:' - let cpp_io = '<<\|>>' - let pascal_assign = ':=' - let trailing_c_comments = '\/\*\|\*\/\|\/\/' - - call s:SplitDelimTest('a+=b', assignment, ['a', '+=', 'b']) - call s:SplitDelimTest('a-=b', assignment, ['a', '-=', 'b']) - call s:SplitDelimTest('a!=b', assignment, ['a!=b']) - call s:SplitDelimTest('a==b', assignment, ['a==b']) - call s:SplitDelimTest('a&=b', assignment, ['a', '&=', 'b']) - call s:SplitDelimTest('a|=b', assignment, ['a', '|=', 'b']) - call s:SplitDelimTest('a=b=c', assignment, ['a', '=', 'b', '=', 'c']) - - call s:SplitDelimTest('a b c', two_spaces, ['a', ' ', 'b', ' ', 'c']) - call s:SplitDelimTest('a b c', two_spaces, ['a b', ' ', ' c']) - call s:SplitDelimTest('ab c', two_spaces, ['ab', ' ', '', ' ', 'c']) - - call s:SplitDelimTest('a?b:c', ternary_operator, ['a', '?', 'b', ':', 'c']) - - call s:SplitDelimTest('a< - :let g:tabular_loaded = 1 - -============================================================================== -1. Description *tabular-intro* - -Sometimes, it's useful to line up text. Naturally, it's nicer to have the -computer do this for you, since aligning things by hand quickly becomes -unpleasant. While there are other plugins for aligning text, the ones I've -tried are either impossibly difficult to understand and use, or too simplistic -to handle complicated tasks. This plugin aims to make the easy things easy -and the hard things possible, without providing an unnecessarily obtuse -interface. It's still a work in progress, and criticisms are welcome. - -============================================================================== -2. Walkthrough *tabular-walkthrough* *:Tabularize* - -Tabular's commands are based largely on regular expressions. The basic -technique used by Tabular is taking some regex to match field delimiters, -splitting the input lines at those delimiters, trimming unnecessary spaces -from the non-delimiter parts, padding the non-delimiter parts of the lines -with spaces to make them the same length, and joining things back together -again. - -For instance, consider starting with the following lines: -> - Some short phrase,some other phrase - A much longer phrase here,and another long phrase -< -Let's say we want to line these lines up at the commas. We can tell -Tabularize to do this by passing a pattern matching , to the Tabularize -command: -> - :Tabularize /, - - Some short phrase , some other phrase - A much longer phrase here , and another long phrase -< -I encourage you to try copying those lines to another buffer and trying to -call :Tabularize. You'll want to take notice of two things quickly: First, -instead of requiring a range, Tabularize tries to figure out what you want to -happen. Since it knows that you want to act on lines matching a comma, it -will look upwards and downwards for lines around the current line that match a -comma, and consider all contiguous lines matching the pattern to be the range -to be acted upon. You can always override this by specifying a range, though. - -The second thing you should notice is that you'll almost certainly be able to -abbreviate :Tabularize to :Tab - using this form in mappings and scripts is -discouraged as it will make conflicts with other scripts more likely, but for -interactive use it's a nice timesaver. Another convenience feature is that -running :Tabularize without providing a new pattern will cause it to reuse the -last pattern it was called with. - -So, anyway, now the commas line up. Splitting the lines on commas, Tabular -realized that 'Some short phrase' would need to be padded with spaces to match -the length of 'A much longer phrase here', and it did that before joining the -lines back together. You'll also notice that, in addition to the spaces -inserting for padding, extra spaces were inserted between fields. That's -because by default, Tabular prints things left-aligned with one space between -fields. If you wanted to print things right-aligned with no spaces between -fields, you would provide a different format to the Tabularize command: -> - :Tabularize /,/r0 - - Some short phrase, some other phrase - A much longer phrase here,and another long phrase -< -A format specifier is either l, r, or c, followed by one or more digits. If -the letter is l, the field will be left aligned, similarly for r and right -aligning and c and center aligning. The number following the letter is the -number of spaces padding to insert before the start of the next field. -Multiple format specifiers can be added to the same command - each field will -be printed with the next format specifier in the list; when they all have been -used the first will be used again, and so on. So, the last command right -aligned every field, then inserted 0 spaces of padding before the next field. -What if we wanted to right align the text before the comma, and left align the -text after the comma? The command would look like this: -> - :Tabularize /,/r1c1l0 - - Some short phrase , some other phrase - A much longer phrase here , and another long phrase -< -That command would be read as "Align the matching text, splitting fields on -commas. Print everything before the first comma right aligned, then 1 space, -then the comma center aligned, then 1 space, then everything after the comma -left aligned." Notice that the alignment of the field the comma is in is -irrelevant - since it's only 1 cell wide, it looks the same whether it's right, -left, or center aligned. Also notice that the 0 padding spaces specified for -the 3rd field are unused - but they would be used if there were enough fields -to require looping through the fields again. For instance: -> - abc,def,ghi - a,b - a,b,c - - :Tabularize /,/r1c1l0 - - abc , def, ghi - a , b - a , b , c -< -Notice that now, the format pattern has been reused; field 4 (the second comma) -is right aligned, field 5 is center aligned. No spaces were inserted between -the 3rd field (containing "def") and the 4th field (the second comma) because -the format specified 'l0'. - -But, what if you only wanted to act on the first comma on the line, rather than -all of the commas on the line? Let's say we want everything before the first -comma right aligned, then the comma, then everything after the comma left -aligned: -> - abc,def,ghi - a,b - a,b,c - - :Tabularize /^[^,]*\zs,/r0c0l0 - - abc,def,ghi - a,b - a,b,c -< -Here, we used a Vim regex that would only match the first comma on the line. -It matches the beginning of the line, followed by all the non-comma characters -up to the first comma, and then forgets about what it matched so far and -pretends that the match starts exactly at the comma. - -But, now that this command does exactly what we want it to, it's become pretty -unwieldy. It would be unpleasant to need to type that more than once or -twice. The solution is to assign a name to it. -> - :AddTabularPattern first_comma /^[^,]*\zs,/r0c0l0 -< -Now, typing ":Tabularize first_comma" will do the same thing as typing the -whole pattern out each time. Of course this is more useful if you store the -name in a file to be used later. - -NOTE: In order to make these new commands available every time vim starts, -you'll need to put those new commands into a .vim file in a plugin directory -somewhere in your 'runtimepath'. In order to make sure that Tabular.vim has -already been loaded before your file tries to use :AddTabularPattern or -:AddTabularPipeline, the new file should be installed in an after/plugin -directory in 'runtimepath'. In general, it will be safe to find out where the -TabularMaps.vim plugin was installed, and place other files extending -Tabular.vim in the same directory as TabularMaps.vim. For more information, -and some suggested best practices, check out the |tabular-scripting| section. - -Lastly, we'll approach the case where tabular cannot achieve your desired goal -just by splitting lines appart, trimming whitespace, padding with whitespace, -and rejoining the lines. As an example, consider the multiple_spaces command -from TabularMaps.vim. The goal is to split using two or more spaces as a -field delimiter, and join fields back together, properly lined up, with only -two spaces between the end of each field and the beginning of the next. -Unfortunately, Tabular can't do this with only the commands we know so far: -> - :Tabularize / / -< -The above function won't work, because it will consider "a b" as 5 fields -delimited by two pairs of 2 spaces ( 'a', ' ', '', ' ', 'b' ) instead of as -3 fields delimited by one set of 2 or more spaces ( 'a', ' ', 'b' ). -> - :Tabularize / \+/ -< -The above function won't work either, because it will leave the delimiter as 4 -spaces when used against "a b", meaning that we would fail at our goal of -collapsing everything down to two spaces between fields. So, we need a new -command to get around this: -> - :AddTabularPipeline multiple_spaces / \{2,}/ - \ map(a:lines, "substitute(v:val, ' \{2,}', ' ', 'g')") - \ | tabular#TabularizeStrings(a:lines, ' ', 'l0') -< -Yeah. I know it looks complicated. Bear with me. I probably will try to add -in some shortcuts for this syntax, but this verbose will be guaranteed to -always work. - -You should already recognize the name being assigned. The next thing to -happen is / \{2,}/ which is a pattern specifying which lines should -automatically be included in the range when no range is given. Without this, -there would be no pattern to use for extending the range. Everything after -that is a | separated list of expressions to be evaluated. In the context in -which they will be evaluated, a:lines will be set to a List of Strings -containing the text of the lines being filtered as they procede through the -pipeline you've set up. The \ at the start of the lines are just vim's line -continuation marker; you needn't worry much about them. So, the first -expression in the pipeline transforms each line by replacing every instance of -2 or more spaces with exactly two spaces. The second command in the pipeline -performs the equivalent of ":Tabularize / /l0"; the only difference is that -it is operating on a List of Strings rather than text in the buffer. At the -end of the pipeline, the Strings in the modified a:lines (or the return value -of the last expression in the pipeline, if it returns a List) will replace the -chosen range. - -============================================================================== -3. Extending *tabular-scripting* - -As mentioned above, the most important consideration when extending Tabular -with new maps or commands is that your plugin must be loaded after Tabular.vim -has finished loading, and only if Tabular.vim has loaded successfully. The -easiest approach to making sure it loads after Tabular.vim is simply putting -the new file (we'll call it "tabular_extra.vim" as an example) into an -"after/plugin/" directory in 'runtimepath', for instance: -> - ~/.vim/after/plugin/tabular_extra.vim -< -The default set of mappings, found in "TabularMaps.vim", is installed in -the after/plugin/ subdirectory of whatever directory Tabular was installed to. - -The other important consideration is making sure that your commands are only -called if Tabular.vim was actually loaded. The easiest way to do this is by -checking for the existence of the :Tabularize command at the start of your -plugin. A short example plugin would look like this: -> - " after/plugin/my_tabular_commands.vim - " Provides extra :Tabularize commands - - if !exists(':Tabularize') - finish " Give up here; the Tabular plugin musn't have been loaded - endif - - " Make line wrapping possible by resetting the 'cpo' option, first saving it - let s:save_cpo = &cpo - set cpo&vim - - AddTabularPattern! asterisk /*/l1 - - AddTabularPipeline! remove_leading_spaces /^ / - \ map(a:lines, "substitute(v:val, '^ *', '', '')") - - " Restore the saved value of 'cpo' - let &cpo = s:save_cpo - unlet s:save_cpo -< -============================================================================== -vim:tw=78:fo=tcq2:isk=!-~,^*,^\|,^\":ts=8:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/tabular/plugin/Tabular.vim b/vim/.vim_runtime/sources_non_forked/tabular/plugin/Tabular.vim deleted file mode 100644 index e73329a..0000000 --- a/vim/.vim_runtime/sources_non_forked/tabular/plugin/Tabular.vim +++ /dev/null @@ -1,346 +0,0 @@ -" Tabular: Align columnar data using regex-designated column boundaries -" Maintainer: Matthew Wozniski (godlygeek@gmail.com) -" Date: Thu, 03 May 2012 20:49:32 -0400 -" Version: 1.0 -" -" Long Description: -" Sometimes, it's useful to line up text. Naturally, it's nicer to have the -" computer do this for you, since aligning things by hand quickly becomes -" unpleasant. While there are other plugins for aligning text, the ones I've -" tried are either impossibly difficult to understand and use, or too simplistic -" to handle complicated tasks. This plugin aims to make the easy things easy -" and the hard things possible, without providing an unnecessarily obtuse -" interface. It's still a work in progress, and criticisms are welcome. -" -" License: -" Copyright (c) 2012, Matthew J. Wozniski -" All rights reserved. -" -" Redistribution and use in source and binary forms, with or without -" modification, are permitted provided that the following conditions are met: -" * Redistributions of source code must retain the above copyright notice, -" this list of conditions and the following disclaimer. -" * Redistributions in binary form must reproduce the above copyright -" notice, this list of conditions and the following disclaimer in the -" documentation and/or other materials provided with the distribution. -" * The names of the contributors may not be used to endorse or promote -" products derived from this software without specific prior written -" permission. -" -" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ``AS IS'' AND ANY EXPRESS -" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN -" NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT, -" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, -" OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -" NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -" Abort if running in vi-compatible mode or the user doesn't want us. -if &cp || exists('g:tabular_loaded') - if &cp && &verbose - echo "Not loading Tabular in compatible mode." - endif - finish -endif - -let g:tabular_loaded = 1 - -" Stupid vimscript crap {{{1 -let s:savecpo = &cpo -set cpo&vim - -" Private Things {{{1 - -" Dictionary of command name to command -let s:TabularCommands = {} - -" Generate tab completion list for :Tabularize {{{2 -" Return a list of commands that match the command line typed so far. -" NOTE: Tries to handle commands with spaces in the name, but Vim doesn't seem -" to handle that terribly well... maybe I should give up on that. -function! s:CompleteTabularizeCommand(argstart, cmdline, cursorpos) - let names = keys(s:TabularCommands) - if exists("b:TabularCommands") - let names += keys(b:TabularCommands) - endif - - let cmdstart = substitute(a:cmdline, '^\s*\S\+\s*', '', '') - - return filter(names, 'v:val =~# ''^\V'' . escape(cmdstart, ''\'')') -endfunction - -" Choose the proper command map from the given command line {{{2 -" Returns [ command map, command line with leading removed ] -function! s:ChooseCommandMap(commandline) - let map = s:TabularCommands - let cmd = a:commandline - - if cmd =~# '^\s\+' - if !exists('b:TabularCommands') - let b:TabularCommands = {} - endif - let map = b:TabularCommands - let cmd = substitute(cmd, '^\s\+', '', '') - endif - - return [ map, cmd ] -endfunction - -" Parse '/pattern/format' into separate pattern and format parts. {{{2 -" If parsing fails, return [ '', '' ] -function! s:ParsePattern(string) - if a:string[0] != '/' - return ['',''] - endif - - let pat = '\\\@ 0)] =~ '^\s*$' - throw "Empty element" - endif - - if end == -1 - let rv = [ a:string ] - else - let rv = [ a:string[0 : end-1] ] + s:SplitCommands(a:string[end+1 : -1]) - endif - - return rv -endfunction - -" Public Things {{{1 - -" Command associating a command name with a simple pattern command {{{2 -" AddTabularPattern[!] [] name /pattern[/format] -" -" If is provided, the command will only be available in the current -" buffer, and will be used instead of any global command with the same name. -" -" If a command with the same name and scope already exists, it is an error, -" unless the ! is provided, in which case the existing command will be -" replaced. -" -" pattern is a regex describing the delimiter to be used. -" -" format describes the format pattern to be used. The default will be used if -" none is provided. -com! -nargs=+ -bang AddTabularPattern - \ call AddTabularPattern(, 0) - -function! AddTabularPattern(command, force) - try - let [ commandmap, rest ] = s:ChooseCommandMap(a:command) - - let name = matchstr(rest, '.\{-}\ze\s*/') - let pattern = substitute(rest, '.\{-}\s*\ze/', '', '') - - let [ pattern, format ] = s:ParsePattern(pattern) - - if empty(name) || empty(pattern) - throw "Invalid arguments!" - endif - - if !a:force && has_key(commandmap, name) - throw string(name) . " is already defined, use ! to overwrite." - endif - - let command = "tabular#TabularizeStrings(a:lines, " . string(pattern) - - if !empty(format) - let command .= ", " . string(format) - endif - - let command .= ")" - - let commandmap[name] = { 'pattern' : pattern, 'commands' : [ command ] } - catch - echohl ErrorMsg - echomsg "AddTabularPattern: " . v:exception - echohl None - endtry -endfunction - -" Command associating a command name with a pipeline of functions {{{2 -" AddTabularPipeline[!] [] name /pattern/ func [ | func2 [ | func3 ] ] -" -" If is provided, the command will only be available in the current -" buffer, and will be used instead of any global command with the same name. -" -" If a command with the same name and scope already exists, it is an error, -" unless the ! is provided, in which case the existing command will be -" replaced. -" -" pattern is a regex that will be used to determine which lines will be -" filtered. If the cursor line doesn't match the pattern, using the command -" will be a no-op, otherwise the cursor and all contiguous lines matching the -" pattern will be filtered. -" -" Each 'func' argument represents a function to be called. This function -" will have access to a:lines, a List containing one String per line being -" filtered. -com! -nargs=+ -bang AddTabularPipeline - \ call AddTabularPipeline(, 0) - -function! AddTabularPipeline(command, force) - try - let [ commandmap, rest ] = s:ChooseCommandMap(a:command) - - let name = matchstr(rest, '.\{-}\ze\s*/') - let pattern = substitute(rest, '.\{-}\s*\ze/', '', '') - - let commands = matchstr(pattern, '^/.\{-}\\\@CompleteTabularizeCommand - \ Tabularize ,call Tabularize() - -function! Tabularize(command, ...) range - let piperange_opt = {} - if a:0 - let piperange_opt = a:1 - endif - - if empty(a:command) - if !exists("s:last_tabularize_command") - echohl ErrorMsg - echomsg "Tabularize hasn't been called yet; no pattern/command to reuse!" - echohl None - return - endif - else - let s:last_tabularize_command = a:command - endif - - let command = s:last_tabularize_command - - let range = a:firstline . ',' . a:lastline - - try - let [ pattern, format ] = s:ParsePattern(command) - - if !empty(pattern) - let cmd = "tabular#TabularizeStrings(a:lines, " . string(pattern) - - if !empty(format) - let cmd .= "," . string(format) - endif - - let cmd .= ")" - - exe range . 'call tabular#PipeRangeWithOptions(pattern, [ cmd ], ' - \ . 'piperange_opt)' - else - if exists('b:TabularCommands') && has_key(b:TabularCommands, command) - let usercmd = b:TabularCommands[command] - elseif has_key(s:TabularCommands, command) - let usercmd = s:TabularCommands[command] - else - throw "Unrecognized command " . string(command) - endif - - exe range . 'call tabular#PipeRangeWithOptions(usercmd["pattern"], ' - \ . 'usercmd["commands"], piperange_opt)' - endif - catch - echohl ErrorMsg - echomsg "Tabularize: " . v:exception - echohl None - return - endtry -endfunction - -" GTabularize /pattern[/format] {{{2 -" GTabularize name -" -" Align text on only matching lines, either using the given pattern, or the -" command associated with the given name. Mnemonically, this is similar to -" the :global command, which takes some action on all rows matching a pattern -" in a range. This command is different from normal :Tabularize in 3 ways: -" 1) If a line in the range does not match the pattern, it will be left -" unchanged, and not in any way affect the outcome of other lines in the -" range (at least, normally - but Pipelines can and will still look at -" non-matching rows unless they are specifically written to be aware of -" tabular#DoGTabularize() and handle it appropriately). -" 2) No automatic range determination - :Tabularize automatically expands -" a single-line range (or a call with no range) to include all adjacent -" matching lines. That behavior does not make sense for this command. -" 3) If called without a range, it will act on all lines in the buffer (like -" :global) rather than only a single line -com! -nargs=* -range=% -complete=customlist,CompleteTabularizeCommand - \ GTabularize , - \ call Tabularize(, { 'mode': 'GTabularize' } ) - -" Stupid vimscript crap, part 2 {{{1 -let &cpo = s:savecpo -unlet s:savecpo - -" vim:set sw=2 sts=2 fdm=marker: diff --git a/vim/.vim_runtime/sources_non_forked/tlib/README b/vim/.vim_runtime/sources_non_forked/tlib/README deleted file mode 100644 index f5a6792..0000000 --- a/vim/.vim_runtime/sources_non_forked/tlib/README +++ /dev/null @@ -1,72 +0,0 @@ -This is a mirror of http://www.vim.org/scripts/script.php?script_id=1863 - -This library provides some utility functions. There isn't much need to -install it unless another plugin requires you to do so. - -The most useful functions provided by this library probably are: - -tlib#input#List(), tlib#input#ListW() - - Display a list - - Dynamically filter items matching a pattern (somethat like google) - - E.g. you filter for "foo -bar": show all entries containing foo but not bar. - - Select items from a list - - Do stuff - - Developers can define keys that trigger some action with the - selected items - - Demo: http://vimsomnia.blogspot.com/2010/11/selecting-items-from-list-with-tlibs.html - -tlib#input#EditList - + Edit a list (copy, cut, paste, delete, edit ...) - -:TLet VAR = VALUE - Set a variable only if it doesn't already exist. - -:TScratch - Open a scratch buffer (a buffer without a file). - -:TVarArg VAR1, [VAR2, DEFAULT2] ... - Handle "rest" (variable) arguments in functions. - EXAMPLES: - function! Foo(...) - TVarArg ['a', 1], 'b' - echo 'a='. a - echo 'b='. b - endf - -TBrowseOutput COMMAND - Every wondered how to effciently browse the output of a command - without redirecting it to a file? This command takes a command as - argument and presents the output via |tlib#input#List()| so that you - can easily search for a keyword (e.g. the name of a variable or - function) and the like. - - If you press enter, the selected line will be copied to the command - line. Press ESC to cancel browsing. - - EXAMPLES: - TBrowseOutput 20verb TeaseTheCulprit - TBrowseOutput let - TBrowseOutput map - - -Related (small) plugins that utilize tlib and thus provide some degree of uniform user experience: - tbibtools (vimscript #1915): bibtex-related utilities (sort, reformat, list contents ...) - tmarks (vimscript #2594): Browse, place, & delete marks - tmboxbrowser (vimscript #1906): A mbox browser -- Read your e-mails with vim - tmru (vimscript #1864): Most Recently Used Files - trag (vimscript #2033): A slightly language-aware alternative to grep - tregisters (vimscript #2017): List, edit, and run/execute registers/clipboards - tselectbuffer (vimscript #1866): A quick buffer selector/switcher - tselectfiles (vimscript #1865): A quick file selector/browser/explorer (sort of) - ttagecho (vimscript #2055): Show current tag information - ttagcomplete (vimscript #2069): Context-sensitive tags-based completion and code skeletons - ttags (vimscript #2018): Tag list browser (List, filter, preview, jump to tags) - ttoc (vimscript #2014): A regexp-based table of contents of the current buffer - vikitasks (vimscript #2894): Search viki files for tasks and display them in a list - - -For full details, please see: -http://github.com/tomtom/tlib_vim/blob/master/doc/tlib.txt - -Also available via git -http://github.com/tomtom/tlib_vim diff --git a/vim/.vim_runtime/sources_non_forked/tlib/autoload/tlib.vim b/vim/.vim_runtime/sources_non_forked/tlib/autoload/tlib.vim deleted file mode 100644 index 5d805ac..0000000 --- a/vim/.vim_runtime/sources_non_forked/tlib/autoload/tlib.vim +++ /dev/null @@ -1,8 +0,0 @@ -" @Author: Tom Link (micathom AT gmail com?subject=[vim]) -" @Website: http://www.vim.org/account/profile.php?user_id=4037 -" @License: GPL (see http://www.gnu.org/licenses/gpl.txt) -" @Revision: 13 - -" :nodefault: -TLet g:tlib#debug = 0 - diff --git a/vim/.vim_runtime/sources_non_forked/tlib/doc/tags b/vim/.vim_runtime/sources_non_forked/tlib/doc/tags deleted file mode 100644 index ddfdf40..0000000 --- a/vim/.vim_runtime/sources_non_forked/tlib/doc/tags +++ /dev/null @@ -1,376 +0,0 @@ -:TBrowseOutput tlib.txt /*:TBrowseOutput* -:TBrowseScriptnames tlib.txt /*:TBrowseScriptnames* -:TLet tlib.txt /*:TLet* -:TScratch tlib.txt /*:TScratch* -:TVarArg tlib.txt /*:TVarArg* -:Tlibassert tlib.txt /*:Tlibassert* -:Tlibtrace tlib.txt /*:Tlibtrace* -:Tlibtraceset tlib.txt /*:Tlibtraceset* -Add() tlib.txt /*Add()* -TestArgs() tlib.txt /*TestArgs()* -TestArgs1() tlib.txt /*TestArgs1()* -TestArgs2() tlib.txt /*TestArgs2()* -TestArgs3() tlib.txt /*TestArgs3()* -TestGetArg() tlib.txt /*TestGetArg()* -TestGetArg1() tlib.txt /*TestGetArg1()* -g:tlib#Filter_glob#char tlib.txt /*g:tlib#Filter_glob#char* -g:tlib#Filter_glob#seq tlib.txt /*g:tlib#Filter_glob#seq* -g:tlib#cache#dont_purge tlib.txt /*g:tlib#cache#dont_purge* -g:tlib#cache#max_filename tlib.txt /*g:tlib#cache#max_filename* -g:tlib#cache#purge_days tlib.txt /*g:tlib#cache#purge_days* -g:tlib#cache#purge_every_days tlib.txt /*g:tlib#cache#purge_every_days* -g:tlib#cache#run_script tlib.txt /*g:tlib#cache#run_script* -g:tlib#cache#script_encoding tlib.txt /*g:tlib#cache#script_encoding* -g:tlib#cache#verbosity tlib.txt /*g:tlib#cache#verbosity* -g:tlib#debug tlib.txt /*g:tlib#debug* -g:tlib#dir#sep tlib.txt /*g:tlib#dir#sep* -g:tlib#file#absolute_filename_rx tlib.txt /*g:tlib#file#absolute_filename_rx* -g:tlib#file#drop tlib.txt /*g:tlib#file#drop* -g:tlib#file#edit_cmds tlib.txt /*g:tlib#file#edit_cmds* -g:tlib#file#use_tabs tlib.txt /*g:tlib#file#use_tabs* -g:tlib#hash#use_adler32 tlib.txt /*g:tlib#hash#use_adler32* -g:tlib#hash#use_crc32 tlib.txt /*g:tlib#hash#use_crc32* -g:tlib#input#and tlib.txt /*g:tlib#input#and* -g:tlib#input#filename_max_width tlib.txt /*g:tlib#input#filename_max_width* -g:tlib#input#filename_padding_r tlib.txt /*g:tlib#input#filename_padding_r* -g:tlib#input#filter_mode tlib.txt /*g:tlib#input#filter_mode* -g:tlib#input#format_filename tlib.txt /*g:tlib#input#format_filename* -g:tlib#input#handlers_EditList tlib.txt /*g:tlib#input#handlers_EditList* -g:tlib#input#higroup tlib.txt /*g:tlib#input#higroup* -g:tlib#input#keyagents_InputList_m tlib.txt /*g:tlib#input#keyagents_InputList_m* -g:tlib#input#keyagents_InputList_s tlib.txt /*g:tlib#input#keyagents_InputList_s* -g:tlib#input#livesearch_threshold tlib.txt /*g:tlib#input#livesearch_threshold* -g:tlib#input#not tlib.txt /*g:tlib#input#not* -g:tlib#input#numeric_chars tlib.txt /*g:tlib#input#numeric_chars* -g:tlib#input#or tlib.txt /*g:tlib#input#or* -g:tlib#input#sortprefs_threshold tlib.txt /*g:tlib#input#sortprefs_threshold* -g:tlib#input#use_popup tlib.txt /*g:tlib#input#use_popup* -g:tlib#input#user_shortcuts tlib.txt /*g:tlib#input#user_shortcuts* -g:tlib#scratch#hidden tlib.txt /*g:tlib#scratch#hidden* -g:tlib#sys#check_cygpath tlib.txt /*g:tlib#sys#check_cygpath* -g:tlib#sys#cygwin_expr tlib.txt /*g:tlib#sys#cygwin_expr* -g:tlib#sys#cygwin_path_rx tlib.txt /*g:tlib#sys#cygwin_path_rx* -g:tlib#sys#null tlib.txt /*g:tlib#sys#null* -g:tlib#sys#special_protocols tlib.txt /*g:tlib#sys#special_protocols* -g:tlib#sys#special_suffixes tlib.txt /*g:tlib#sys#special_suffixes* -g:tlib#sys#system_browser tlib.txt /*g:tlib#sys#system_browser* -g:tlib#sys#system_rx tlib.txt /*g:tlib#sys#system_rx* -g:tlib#sys#windows tlib.txt /*g:tlib#sys#windows* -g:tlib#trace#backtrace tlib.txt /*g:tlib#trace#backtrace* -g:tlib#trace#printf tlib.txt /*g:tlib#trace#printf* -g:tlib#vcs#check tlib.txt /*g:tlib#vcs#check* -g:tlib#vcs#def tlib.txt /*g:tlib#vcs#def* -g:tlib#vcs#executables tlib.txt /*g:tlib#vcs#executables* -g:tlib#vim#simalt_maximize tlib.txt /*g:tlib#vim#simalt_maximize* -g:tlib#vim#simalt_restore tlib.txt /*g:tlib#vim#simalt_restore* -g:tlib#vim#use_vimtweak tlib.txt /*g:tlib#vim#use_vimtweak* -g:tlib#vim#use_wmctrl tlib.txt /*g:tlib#vim#use_wmctrl* -g:tlib_cache tlib.txt /*g:tlib_cache* -g:tlib_inputlist_filename_indicators tlib.txt /*g:tlib_inputlist_filename_indicators* -g:tlib_inputlist_pct tlib.txt /*g:tlib_inputlist_pct* -g:tlib_inputlist_shortmessage tlib.txt /*g:tlib_inputlist_shortmessage* -g:tlib_inputlist_width_filename tlib.txt /*g:tlib_inputlist_width_filename* -g:tlib_persistent tlib.txt /*g:tlib_persistent* -g:tlib_pick_last_item tlib.txt /*g:tlib_pick_last_item* -g:tlib_scratch_pos tlib.txt /*g:tlib_scratch_pos* -g:tlib_scroll_lines tlib.txt /*g:tlib_scroll_lines* -g:tlib_tag_substitute tlib.txt /*g:tlib_tag_substitute* -g:tlib_tags_extra tlib.txt /*g:tlib_tags_extra* -g:tlib_viewline_position tlib.txt /*g:tlib_viewline_position* -o_sp tlib.txt /*o_sp* -standard-paragraph tlib.txt /*standard-paragraph* -tlib#Filter_cnf#New() tlib.txt /*tlib#Filter_cnf#New()* -tlib#Filter_cnfd#New() tlib.txt /*tlib#Filter_cnfd#New()* -tlib#Filter_fuzzy#New() tlib.txt /*tlib#Filter_fuzzy#New()* -tlib#Filter_glob#New() tlib.txt /*tlib#Filter_glob#New()* -tlib#Object#Methods() tlib.txt /*tlib#Object#Methods()* -tlib#Object#New() tlib.txt /*tlib#Object#New()* -tlib#World#New() tlib.txt /*tlib#World#New()* -tlib#agent#AND() tlib.txt /*tlib#agent#AND()* -tlib#agent#Complete() tlib.txt /*tlib#agent#Complete()* -tlib#agent#CompleteAgentNames() tlib.txt /*tlib#agent#CompleteAgentNames()* -tlib#agent#Copy() tlib.txt /*tlib#agent#Copy()* -tlib#agent#CopyItems() tlib.txt /*tlib#agent#CopyItems()* -tlib#agent#Cut() tlib.txt /*tlib#agent#Cut()* -tlib#agent#Debug() tlib.txt /*tlib#agent#Debug()* -tlib#agent#DeleteItems() tlib.txt /*tlib#agent#DeleteItems()* -tlib#agent#DoAtLine() tlib.txt /*tlib#agent#DoAtLine()* -tlib#agent#Down() tlib.txt /*tlib#agent#Down()* -tlib#agent#DownN() tlib.txt /*tlib#agent#DownN()* -tlib#agent#EditFile() tlib.txt /*tlib#agent#EditFile()* -tlib#agent#EditFileInSplit() tlib.txt /*tlib#agent#EditFileInSplit()* -tlib#agent#EditFileInTab() tlib.txt /*tlib#agent#EditFileInTab()* -tlib#agent#EditFileInVSplit() tlib.txt /*tlib#agent#EditFileInVSplit()* -tlib#agent#EditItem() tlib.txt /*tlib#agent#EditItem()* -tlib#agent#EditReturnValue() tlib.txt /*tlib#agent#EditReturnValue()* -tlib#agent#End() tlib.txt /*tlib#agent#End()* -tlib#agent#ExecAgentByName() tlib.txt /*tlib#agent#ExecAgentByName()* -tlib#agent#Exit() tlib.txt /*tlib#agent#Exit()* -tlib#agent#GotoLine() tlib.txt /*tlib#agent#GotoLine()* -tlib#agent#Help() tlib.txt /*tlib#agent#Help()* -tlib#agent#Home() tlib.txt /*tlib#agent#Home()* -tlib#agent#Input() tlib.txt /*tlib#agent#Input()* -tlib#agent#NewItem() tlib.txt /*tlib#agent#NewItem()* -tlib#agent#Null() tlib.txt /*tlib#agent#Null()* -tlib#agent#OR() tlib.txt /*tlib#agent#OR()* -tlib#agent#PageDown() tlib.txt /*tlib#agent#PageDown()* -tlib#agent#PageUp() tlib.txt /*tlib#agent#PageUp()* -tlib#agent#Paste() tlib.txt /*tlib#agent#Paste()* -tlib#agent#PopFilter() tlib.txt /*tlib#agent#PopFilter()* -tlib#agent#PreviewLine() tlib.txt /*tlib#agent#PreviewLine()* -tlib#agent#ReduceFilter() tlib.txt /*tlib#agent#ReduceFilter()* -tlib#agent#Reset() tlib.txt /*tlib#agent#Reset()* -tlib#agent#RestrictView() tlib.txt /*tlib#agent#RestrictView()* -tlib#agent#Select() tlib.txt /*tlib#agent#Select()* -tlib#agent#SelectAll() tlib.txt /*tlib#agent#SelectAll()* -tlib#agent#SelectDown() tlib.txt /*tlib#agent#SelectDown()* -tlib#agent#SelectUp() tlib.txt /*tlib#agent#SelectUp()* -tlib#agent#ShiftLeft() tlib.txt /*tlib#agent#ShiftLeft()* -tlib#agent#ShiftRight() tlib.txt /*tlib#agent#ShiftRight()* -tlib#agent#ShowInfo() tlib.txt /*tlib#agent#ShowInfo()* -tlib#agent#Suspend() tlib.txt /*tlib#agent#Suspend()* -tlib#agent#SuspendToParentWindow() tlib.txt /*tlib#agent#SuspendToParentWindow()* -tlib#agent#ToggleRestrictView() tlib.txt /*tlib#agent#ToggleRestrictView()* -tlib#agent#ToggleScrollbind() tlib.txt /*tlib#agent#ToggleScrollbind()* -tlib#agent#ToggleStickyList() tlib.txt /*tlib#agent#ToggleStickyList()* -tlib#agent#UnrestrictView() tlib.txt /*tlib#agent#UnrestrictView()* -tlib#agent#Up() tlib.txt /*tlib#agent#Up()* -tlib#agent#UpN() tlib.txt /*tlib#agent#UpN()* -tlib#agent#ViewFile() tlib.txt /*tlib#agent#ViewFile()* -tlib#agent#Wildcard() tlib.txt /*tlib#agent#Wildcard()* -tlib#arg#Ex() tlib.txt /*tlib#arg#Ex()* -tlib#arg#Get() tlib.txt /*tlib#arg#Get()* -tlib#arg#GetOpts() tlib.txt /*tlib#arg#GetOpts()* -tlib#arg#Let() tlib.txt /*tlib#arg#Let()* -tlib#arg#StringAsKeyArgs() tlib.txt /*tlib#arg#StringAsKeyArgs()* -tlib#arg#StringAsKeyArgsEqual() tlib.txt /*tlib#arg#StringAsKeyArgsEqual()* -tlib#assert#All() tlib.txt /*tlib#assert#All()* -tlib#assert#Assert() tlib.txt /*tlib#assert#Assert()* -tlib#assert#Disable() tlib.txt /*tlib#assert#Disable()* -tlib#assert#Enable() tlib.txt /*tlib#assert#Enable()* -tlib#assert#Map() tlib.txt /*tlib#assert#Map()* -tlib#autocmdgroup#Init() tlib.txt /*tlib#autocmdgroup#Init()* -tlib#balloon#Expand() tlib.txt /*tlib#balloon#Expand()* -tlib#balloon#Expr() tlib.txt /*tlib#balloon#Expr()* -tlib#balloon#Register() tlib.txt /*tlib#balloon#Register()* -tlib#balloon#Remove() tlib.txt /*tlib#balloon#Remove()* -tlib#bitwise#AND() tlib.txt /*tlib#bitwise#AND()* -tlib#bitwise#Add() tlib.txt /*tlib#bitwise#Add()* -tlib#bitwise#Bits2Num() tlib.txt /*tlib#bitwise#Bits2Num()* -tlib#bitwise#Num2Bits() tlib.txt /*tlib#bitwise#Num2Bits()* -tlib#bitwise#OR() tlib.txt /*tlib#bitwise#OR()* -tlib#bitwise#ShiftLeft() tlib.txt /*tlib#bitwise#ShiftLeft()* -tlib#bitwise#ShiftRight() tlib.txt /*tlib#bitwise#ShiftRight()* -tlib#bitwise#Sub() tlib.txt /*tlib#bitwise#Sub()* -tlib#bitwise#XOR() tlib.txt /*tlib#bitwise#XOR()* -tlib#buffer#BufDo() tlib.txt /*tlib#buffer#BufDo()* -tlib#buffer#CurrentByte() tlib.txt /*tlib#buffer#CurrentByte()* -tlib#buffer#DeleteRange() tlib.txt /*tlib#buffer#DeleteRange()* -tlib#buffer#DisableMRU() tlib.txt /*tlib#buffer#DisableMRU()* -tlib#buffer#EnableMRU() tlib.txt /*tlib#buffer#EnableMRU()* -tlib#buffer#Eval() tlib.txt /*tlib#buffer#Eval()* -tlib#buffer#GetList() tlib.txt /*tlib#buffer#GetList()* -tlib#buffer#HighlightLine() tlib.txt /*tlib#buffer#HighlightLine()* -tlib#buffer#InsertText() tlib.txt /*tlib#buffer#InsertText()* -tlib#buffer#InsertText0() tlib.txt /*tlib#buffer#InsertText0()* -tlib#buffer#KeepCursorPosition() tlib.txt /*tlib#buffer#KeepCursorPosition()* -tlib#buffer#ReplaceRange() tlib.txt /*tlib#buffer#ReplaceRange()* -tlib#buffer#ScratchEnd() tlib.txt /*tlib#buffer#ScratchEnd()* -tlib#buffer#ScratchStart() tlib.txt /*tlib#buffer#ScratchStart()* -tlib#buffer#Set() tlib.txt /*tlib#buffer#Set()* -tlib#buffer#ViewLine() tlib.txt /*tlib#buffer#ViewLine()* -tlib#cache#Dir() tlib.txt /*tlib#cache#Dir()* -tlib#cache#Filename() tlib.txt /*tlib#cache#Filename()* -tlib#cache#Get() tlib.txt /*tlib#cache#Get()* -tlib#cache#ListFilesInCache() tlib.txt /*tlib#cache#ListFilesInCache()* -tlib#cache#MTime() tlib.txt /*tlib#cache#MTime()* -tlib#cache#MaybePurge() tlib.txt /*tlib#cache#MaybePurge()* -tlib#cache#Purge() tlib.txt /*tlib#cache#Purge()* -tlib#cache#Save() tlib.txt /*tlib#cache#Save()* -tlib#cache#Value() tlib.txt /*tlib#cache#Value()* -tlib#char#Get() tlib.txt /*tlib#char#Get()* -tlib#char#GetWithTimeout() tlib.txt /*tlib#char#GetWithTimeout()* -tlib#char#IsAvailable() tlib.txt /*tlib#char#IsAvailable()* -tlib#cmd#BrowseOutput() tlib.txt /*tlib#cmd#BrowseOutput()* -tlib#cmd#BrowseOutputWithCallback() tlib.txt /*tlib#cmd#BrowseOutputWithCallback()* -tlib#cmd#Capture() tlib.txt /*tlib#cmd#Capture()* -tlib#cmd#DefaultBrowseOutput() tlib.txt /*tlib#cmd#DefaultBrowseOutput()* -tlib#cmd#OutputAsList() tlib.txt /*tlib#cmd#OutputAsList()* -tlib#cmd#ParseScriptname() tlib.txt /*tlib#cmd#ParseScriptname()* -tlib#cmd#TBrowseScriptnames() tlib.txt /*tlib#cmd#TBrowseScriptnames()* -tlib#cmd#Time() tlib.txt /*tlib#cmd#Time()* -tlib#cmd#UseVertical() tlib.txt /*tlib#cmd#UseVertical()* -tlib#comments#Comments() tlib.txt /*tlib#comments#Comments()* -tlib#date#DiffInDays() tlib.txt /*tlib#date#DiffInDays()* -tlib#date#Format() tlib.txt /*tlib#date#Format()* -tlib#date#IsDate() tlib.txt /*tlib#date#IsDate()* -tlib#date#Parse() tlib.txt /*tlib#date#Parse()* -tlib#date#SecondsSince1970() tlib.txt /*tlib#date#SecondsSince1970()* -tlib#date#Shift() tlib.txt /*tlib#date#Shift()* -tlib#dictionary#Rev() tlib.txt /*tlib#dictionary#Rev()* -tlib#dir#CD() tlib.txt /*tlib#dir#CD()* -tlib#dir#CanonicName() tlib.txt /*tlib#dir#CanonicName()* -tlib#dir#Ensure() tlib.txt /*tlib#dir#Ensure()* -tlib#dir#MyRuntime() tlib.txt /*tlib#dir#MyRuntime()* -tlib#dir#NativeName() tlib.txt /*tlib#dir#NativeName()* -tlib#dir#PlainName() tlib.txt /*tlib#dir#PlainName()* -tlib#dir#Pop() tlib.txt /*tlib#dir#Pop()* -tlib#dir#Push() tlib.txt /*tlib#dir#Push()* -tlib#eval#Extend() tlib.txt /*tlib#eval#Extend()* -tlib#eval#FormatValue() tlib.txt /*tlib#eval#FormatValue()* -tlib#file#Absolute() tlib.txt /*tlib#file#Absolute()* -tlib#file#Canonic() tlib.txt /*tlib#file#Canonic()* -tlib#file#Edit() tlib.txt /*tlib#file#Edit()* -tlib#file#Glob() tlib.txt /*tlib#file#Glob()* -tlib#file#Globpath() tlib.txt /*tlib#file#Globpath()* -tlib#file#Join() tlib.txt /*tlib#file#Join()* -tlib#file#Relative() tlib.txt /*tlib#file#Relative()* -tlib#file#Split() tlib.txt /*tlib#file#Split()* -tlib#file#With() tlib.txt /*tlib#file#With()* -tlib#fixes#Winpos() tlib.txt /*tlib#fixes#Winpos()* -tlib#grep#Do() tlib.txt /*tlib#grep#Do()* -tlib#grep#List() tlib.txt /*tlib#grep#List()* -tlib#grep#LocList() tlib.txt /*tlib#grep#LocList()* -tlib#grep#QuickFixList() tlib.txt /*tlib#grep#QuickFixList()* -tlib#hash#Adler32() tlib.txt /*tlib#hash#Adler32()* -tlib#hash#Adler32_tlib() tlib.txt /*tlib#hash#Adler32_tlib()* -tlib#hash#Adler32_vim() tlib.txt /*tlib#hash#Adler32_vim()* -tlib#hash#CRC32B() tlib.txt /*tlib#hash#CRC32B()* -tlib#hash#CRC32B_ruby() tlib.txt /*tlib#hash#CRC32B_ruby()* -tlib#hash#CRC32B_vim() tlib.txt /*tlib#hash#CRC32B_vim()* -tlib#hook#Run() tlib.txt /*tlib#hook#Run()* -tlib#input#CommandSelect() tlib.txt /*tlib#input#CommandSelect()* -tlib#input#Dialog() tlib.txt /*tlib#input#Dialog()* -tlib#input#Edit() tlib.txt /*tlib#input#Edit()* -tlib#input#EditList() tlib.txt /*tlib#input#EditList()* -tlib#input#List() tlib.txt /*tlib#input#List()* -tlib#input#ListD() tlib.txt /*tlib#input#ListD()* -tlib#input#ListW() tlib.txt /*tlib#input#ListW()* -tlib#input#Resume() tlib.txt /*tlib#input#Resume()* -tlib#list#All() tlib.txt /*tlib#list#All()* -tlib#list#Any() tlib.txt /*tlib#list#Any()* -tlib#list#Compact() tlib.txt /*tlib#list#Compact()* -tlib#list#Find() tlib.txt /*tlib#list#Find()* -tlib#list#FindAll() tlib.txt /*tlib#list#FindAll()* -tlib#list#Flatten() tlib.txt /*tlib#list#Flatten()* -tlib#list#Inject() tlib.txt /*tlib#list#Inject()* -tlib#list#Remove() tlib.txt /*tlib#list#Remove()* -tlib#list#RemoveAll() tlib.txt /*tlib#list#RemoveAll()* -tlib#list#ToDictionary() tlib.txt /*tlib#list#ToDictionary()* -tlib#list#Uniq() tlib.txt /*tlib#list#Uniq()* -tlib#list#Zip() tlib.txt /*tlib#list#Zip()* -tlib#loclist#Browse() tlib.txt /*tlib#loclist#Browse()* -tlib#map#PumAccept() tlib.txt /*tlib#map#PumAccept()* -tlib#normal#WithRegister() tlib.txt /*tlib#normal#WithRegister()* -tlib#notify#Echo() tlib.txt /*tlib#notify#Echo()* -tlib#notify#TrimMessage() tlib.txt /*tlib#notify#TrimMessage()* -tlib#number#ConvertBase() tlib.txt /*tlib#number#ConvertBase()* -tlib#paragraph#GetMetric() tlib.txt /*tlib#paragraph#GetMetric()* -tlib#paragraph#Move() tlib.txt /*tlib#paragraph#Move()* -tlib#persistent#Dir() tlib.txt /*tlib#persistent#Dir()* -tlib#persistent#Filename() tlib.txt /*tlib#persistent#Filename()* -tlib#persistent#Get() tlib.txt /*tlib#persistent#Get()* -tlib#persistent#MTime() tlib.txt /*tlib#persistent#MTime()* -tlib#persistent#Save() tlib.txt /*tlib#persistent#Save()* -tlib#persistent#Value() tlib.txt /*tlib#persistent#Value()* -tlib#progressbar#Display() tlib.txt /*tlib#progressbar#Display()* -tlib#progressbar#Init() tlib.txt /*tlib#progressbar#Init()* -tlib#progressbar#Restore() tlib.txt /*tlib#progressbar#Restore()* -tlib#qfl#AgentEditLine() tlib.txt /*tlib#qfl#AgentEditLine()* -tlib#qfl#AgentEditQFE() tlib.txt /*tlib#qfl#AgentEditQFE()* -tlib#qfl#AgentGotoQFE() tlib.txt /*tlib#qfl#AgentGotoQFE()* -tlib#qfl#AgentPreviewQFE() tlib.txt /*tlib#qfl#AgentPreviewQFE()* -tlib#qfl#AgentSplitBuffer() tlib.txt /*tlib#qfl#AgentSplitBuffer()* -tlib#qfl#AgentTabBuffer() tlib.txt /*tlib#qfl#AgentTabBuffer()* -tlib#qfl#AgentVSplitBuffer() tlib.txt /*tlib#qfl#AgentVSplitBuffer()* -tlib#qfl#AgentWithSelected() tlib.txt /*tlib#qfl#AgentWithSelected()* -tlib#qfl#Balloon() tlib.txt /*tlib#qfl#Balloon()* -tlib#qfl#Browse() tlib.txt /*tlib#qfl#Browse()* -tlib#qfl#EditLine() tlib.txt /*tlib#qfl#EditLine()* -tlib#qfl#FormatQFLE() tlib.txt /*tlib#qfl#FormatQFLE()* -tlib#qfl#InitListBuffer() tlib.txt /*tlib#qfl#InitListBuffer()* -tlib#qfl#QfeFilename() tlib.txt /*tlib#qfl#QfeFilename()* -tlib#qfl#QflList() tlib.txt /*tlib#qfl#QflList()* -tlib#qfl#RunCmdOnSelected() tlib.txt /*tlib#qfl#RunCmdOnSelected()* -tlib#qfl#SetFollowCursor() tlib.txt /*tlib#qfl#SetFollowCursor()* -tlib#qfl#SetSyntax() tlib.txt /*tlib#qfl#SetSyntax()* -tlib#rx#Escape() tlib.txt /*tlib#rx#Escape()* -tlib#rx#EscapeReplace() tlib.txt /*tlib#rx#EscapeReplace()* -tlib#rx#LooksLikeRegexp() tlib.txt /*tlib#rx#LooksLikeRegexp()* -tlib#rx#Suffixes() tlib.txt /*tlib#rx#Suffixes()* -tlib#scratch#CloseScratch() tlib.txt /*tlib#scratch#CloseScratch()* -tlib#scratch#UseScratch() tlib.txt /*tlib#scratch#UseScratch()* -tlib#signs#ClearAll() tlib.txt /*tlib#signs#ClearAll()* -tlib#signs#ClearBuffer() tlib.txt /*tlib#signs#ClearBuffer()* -tlib#signs#Mark() tlib.txt /*tlib#signs#Mark()* -tlib#string#Chomp() tlib.txt /*tlib#string#Chomp()* -tlib#string#Count() tlib.txt /*tlib#string#Count()* -tlib#string#Format() tlib.txt /*tlib#string#Format()* -tlib#string#Printf1() tlib.txt /*tlib#string#Printf1()* -tlib#string#RemoveBackslashes() tlib.txt /*tlib#string#RemoveBackslashes()* -tlib#string#SplitCommaList() tlib.txt /*tlib#string#SplitCommaList()* -tlib#string#Strip() tlib.txt /*tlib#string#Strip()* -tlib#string#TrimLeft() tlib.txt /*tlib#string#TrimLeft()* -tlib#string#TrimRight() tlib.txt /*tlib#string#TrimRight()* -tlib#syntax#Collect() tlib.txt /*tlib#syntax#Collect()* -tlib#syntax#Names() tlib.txt /*tlib#syntax#Names()* -tlib#sys#ConvertPath() tlib.txt /*tlib#sys#ConvertPath()* -tlib#sys#FileArgs() tlib.txt /*tlib#sys#FileArgs()* -tlib#sys#GetCmd() tlib.txt /*tlib#sys#GetCmd()* -tlib#sys#IsCygwinBin() tlib.txt /*tlib#sys#IsCygwinBin()* -tlib#sys#IsExecutable() tlib.txt /*tlib#sys#IsExecutable()* -tlib#sys#IsSpecial() tlib.txt /*tlib#sys#IsSpecial()* -tlib#sys#MaybeUseCygpath() tlib.txt /*tlib#sys#MaybeUseCygpath()* -tlib#sys#Open() tlib.txt /*tlib#sys#Open()* -tlib#sys#SystemInDir() tlib.txt /*tlib#sys#SystemInDir()* -tlib#tab#BufMap() tlib.txt /*tlib#tab#BufMap()* -tlib#tab#Set() tlib.txt /*tlib#tab#Set()* -tlib#tab#TabWinNr() tlib.txt /*tlib#tab#TabWinNr()* -tlib#tag#Collect() tlib.txt /*tlib#tag#Collect()* -tlib#tag#Format() tlib.txt /*tlib#tag#Format()* -tlib#tag#Retrieve() tlib.txt /*tlib#tag#Retrieve()* -tlib#textobjects#Init() tlib.txt /*tlib#textobjects#Init()* -tlib#time#Diff() tlib.txt /*tlib#time#Diff()* -tlib#time#DiffMSecs() tlib.txt /*tlib#time#DiffMSecs()* -tlib#time#FormatNow() tlib.txt /*tlib#time#FormatNow()* -tlib#time#MSecs() tlib.txt /*tlib#time#MSecs()* -tlib#time#Now() tlib.txt /*tlib#time#Now()* -tlib#trace#Backtrace() tlib.txt /*tlib#trace#Backtrace()* -tlib#trace#Disable() tlib.txt /*tlib#trace#Disable()* -tlib#trace#Enable() tlib.txt /*tlib#trace#Enable()* -tlib#trace#Print() tlib.txt /*tlib#trace#Print()* -tlib#trace#PrintToFile() tlib.txt /*tlib#trace#PrintToFile()* -tlib#trace#Set() tlib.txt /*tlib#trace#Set()* -tlib#type#Are() tlib.txt /*tlib#type#Are()* -tlib#type#Has() tlib.txt /*tlib#type#Has()* -tlib#type#Have() tlib.txt /*tlib#type#Have()* -tlib#type#Is() tlib.txt /*tlib#type#Is()* -tlib#type#IsDictionary() tlib.txt /*tlib#type#IsDictionary()* -tlib#type#IsFuncref() tlib.txt /*tlib#type#IsFuncref()* -tlib#type#IsList() tlib.txt /*tlib#type#IsList()* -tlib#type#IsNumber() tlib.txt /*tlib#type#IsNumber()* -tlib#type#IsString() tlib.txt /*tlib#type#IsString()* -tlib#url#Decode() tlib.txt /*tlib#url#Decode()* -tlib#url#DecodeChar() tlib.txt /*tlib#url#DecodeChar()* -tlib#url#Encode() tlib.txt /*tlib#url#Encode()* -tlib#url#EncodeChar() tlib.txt /*tlib#url#EncodeChar()* -tlib#var#EGet() tlib.txt /*tlib#var#EGet()* -tlib#var#Get() tlib.txt /*tlib#var#Get()* -tlib#var#Let() tlib.txt /*tlib#var#Let()* -tlib#var#List() tlib.txt /*tlib#var#List()* -tlib#vcs#Diff() tlib.txt /*tlib#vcs#Diff()* -tlib#vcs#Executable() tlib.txt /*tlib#vcs#Executable()* -tlib#vcs#FindVCS() tlib.txt /*tlib#vcs#FindVCS()* -tlib#vcs#GitLsPostprocess() tlib.txt /*tlib#vcs#GitLsPostprocess()* -tlib#vcs#Ls() tlib.txt /*tlib#vcs#Ls()* -tlib#vim#CopyFunction() tlib.txt /*tlib#vim#CopyFunction()* -tlib#vim#Maximize() tlib.txt /*tlib#vim#Maximize()* -tlib#vim#RestoreWindow() tlib.txt /*tlib#vim#RestoreWindow()* -tlib#win#GetLayout() tlib.txt /*tlib#win#GetLayout()* -tlib#win#List() tlib.txt /*tlib#win#List()* -tlib#win#Set() tlib.txt /*tlib#win#Set()* -tlib#win#SetLayout() tlib.txt /*tlib#win#SetLayout()* -tlib#win#Width() tlib.txt /*tlib#win#Width()* -tlib#win#WinDo() tlib.txt /*tlib#win#WinDo()* -tlib.txt tlib.txt /*tlib.txt* -v_sp tlib.txt /*v_sp* diff --git a/vim/.vim_runtime/sources_non_forked/tlib/doc/tlib.txt b/vim/.vim_runtime/sources_non_forked/tlib/doc/tlib.txt deleted file mode 100644 index 379dc54..0000000 --- a/vim/.vim_runtime/sources_non_forked/tlib/doc/tlib.txt +++ /dev/null @@ -1,2497 +0,0 @@ -*tlib.txt* tlib -- A library of vim functions - Author: Tom Link, micathom at gmail com - -This library provides some utility functions. There isn't much need to -install it unless another plugin requires you to do so. - -Most of the library is included in autoload files. No autocommands are -created. With the exception of loading ../plugin/02tlib.vim at startup -the library has no impact on startup time or anything else. - -The change-log is included at the bottom of ../plugin/02tlib.vim -(move the cursor over the file name and type gfG) - -Demo of |tlib#input#List()|: -http://vimsomnia.blogspot.com/2010/11/selecting-items-from-list-with-tlibs.html - - ------------------------------------------------------------------------ -Install~ - -Edit the vba file and type: > - - :so % - -See :help vimball for details. If you have difficulties, please make -sure, you have the current version of vimball (vimscript #1502) -installed. - - -======================================================================== -Contents~ - - :TLet .................................. |:TLet| - :TScratch .............................. |:TScratch| - :TVarArg ............................... |:TVarArg| - :TBrowseOutput ......................... |:TBrowseOutput| - :TBrowseScriptnames .................... |:TBrowseScriptnames| - :Tlibtrace ............................. |:Tlibtrace| - :Tlibtraceset .......................... |:Tlibtraceset| - :Tlibassert ............................ |:Tlibassert| - Add .................................... |Add()| - TestGetArg ............................. |TestGetArg()| - TestGetArg1 ............................ |TestGetArg1()| - TestArgs ............................... |TestArgs()| - TestArgs1 .............................. |TestArgs1()| - TestArgs2 .............................. |TestArgs2()| - TestArgs3 .............................. |TestArgs3()| - g:tlib#debug ........................... |g:tlib#debug| - tlib#notify#Echo ....................... |tlib#notify#Echo()| - tlib#notify#TrimMessage ................ |tlib#notify#TrimMessage()| - g:tlib#trace#backtrace ................. |g:tlib#trace#backtrace| - g:tlib#trace#printf .................... |g:tlib#trace#printf| - tlib#trace#PrintToFile ................. |tlib#trace#PrintToFile()| - tlib#trace#Set ......................... |tlib#trace#Set()| - tlib#trace#Backtrace ................... |tlib#trace#Backtrace()| - tlib#trace#Print ....................... |tlib#trace#Print()| - tlib#trace#Enable ...................... |tlib#trace#Enable()| - tlib#trace#Disable ..................... |tlib#trace#Disable()| - tlib#dictionary#Rev .................... |tlib#dictionary#Rev()| - g:tlib_persistent ...................... |g:tlib_persistent| - tlib#persistent#Dir .................... |tlib#persistent#Dir()| - tlib#persistent#Filename ............... |tlib#persistent#Filename()| - tlib#persistent#Get .................... |tlib#persistent#Get()| - tlib#persistent#MTime .................. |tlib#persistent#MTime()| - tlib#persistent#Value .................. |tlib#persistent#Value()| - tlib#persistent#Save ................... |tlib#persistent#Save()| - g:tlib#vim#simalt_maximize ............. |g:tlib#vim#simalt_maximize| - g:tlib#vim#simalt_restore .............. |g:tlib#vim#simalt_restore| - g:tlib#vim#use_vimtweak ................ |g:tlib#vim#use_vimtweak| - tlib#vim#Maximize ...................... |tlib#vim#Maximize()| - tlib#vim#RestoreWindow ................. |tlib#vim#RestoreWindow()| - g:tlib#vim#use_wmctrl .................. |g:tlib#vim#use_wmctrl| - tlib#vim#CopyFunction .................. |tlib#vim#CopyFunction()| - tlib#progressbar#Init .................. |tlib#progressbar#Init()| - tlib#progressbar#Display ............... |tlib#progressbar#Display()| - tlib#progressbar#Restore ............... |tlib#progressbar#Restore()| - tlib#eval#FormatValue .................. |tlib#eval#FormatValue()| - tlib#eval#Extend ....................... |tlib#eval#Extend()| - tlib#list#Inject ....................... |tlib#list#Inject()| - tlib#list#Compact ...................... |tlib#list#Compact()| - tlib#list#Flatten ...................... |tlib#list#Flatten()| - tlib#list#FindAll ...................... |tlib#list#FindAll()| - tlib#list#Find ......................... |tlib#list#Find()| - tlib#list#Any .......................... |tlib#list#Any()| - tlib#list#All .......................... |tlib#list#All()| - tlib#list#Remove ....................... |tlib#list#Remove()| - tlib#list#RemoveAll .................... |tlib#list#RemoveAll()| - tlib#list#Zip .......................... |tlib#list#Zip()| - tlib#list#Uniq ......................... |tlib#list#Uniq()| - tlib#list#ToDictionary ................. |tlib#list#ToDictionary()| - tlib#cmd#OutputAsList .................. |tlib#cmd#OutputAsList()| - tlib#cmd#BrowseOutput .................. |tlib#cmd#BrowseOutput()| - tlib#cmd#BrowseOutputWithCallback ...... |tlib#cmd#BrowseOutputWithCallback()| - tlib#cmd#DefaultBrowseOutput ........... |tlib#cmd#DefaultBrowseOutput()| - tlib#cmd#ParseScriptname ............... |tlib#cmd#ParseScriptname()| - tlib#cmd#TBrowseScriptnames ............ |tlib#cmd#TBrowseScriptnames()| - tlib#cmd#UseVertical ................... |tlib#cmd#UseVertical()| - tlib#cmd#Time .......................... |tlib#cmd#Time()| - tlib#cmd#Capture ....................... |tlib#cmd#Capture()| - tlib#syntax#Collect .................... |tlib#syntax#Collect()| - tlib#syntax#Names ...................... |tlib#syntax#Names()| - tlib#balloon#Register .................. |tlib#balloon#Register()| - tlib#balloon#Remove .................... |tlib#balloon#Remove()| - tlib#balloon#Expr ...................... |tlib#balloon#Expr()| - tlib#balloon#Expand .................... |tlib#balloon#Expand()| - g:tlib#vcs#def ......................... |g:tlib#vcs#def| - g:tlib#vcs#executables ................. |g:tlib#vcs#executables| - g:tlib#vcs#check ....................... |g:tlib#vcs#check| - tlib#vcs#Executable .................... |tlib#vcs#Executable()| - tlib#vcs#FindVCS ....................... |tlib#vcs#FindVCS()| - tlib#vcs#Ls ............................ |tlib#vcs#Ls()| - tlib#vcs#Diff .......................... |tlib#vcs#Diff()| - tlib#vcs#GitLsPostprocess .............. |tlib#vcs#GitLsPostprocess()| - tlib#char#Get .......................... |tlib#char#Get()| - tlib#char#IsAvailable .................. |tlib#char#IsAvailable()| - tlib#char#GetWithTimeout ............... |tlib#char#GetWithTimeout()| - g:tlib#Filter_glob#seq ................. |g:tlib#Filter_glob#seq| - g:tlib#Filter_glob#char ................ |g:tlib#Filter_glob#char| - tlib#Filter_glob#New ................... |tlib#Filter_glob#New()| - g:tlib_scratch_pos ..................... |g:tlib_scratch_pos| - g:tlib#scratch#hidden .................. |g:tlib#scratch#hidden| - tlib#scratch#UseScratch ................ |tlib#scratch#UseScratch()| - tlib#scratch#CloseScratch .............. |tlib#scratch#CloseScratch()| - tlib#autocmdgroup#Init ................. |tlib#autocmdgroup#Init()| - g:tlib_cache ........................... |g:tlib_cache| - g:tlib#cache#purge_days ................ |g:tlib#cache#purge_days| - g:tlib#cache#purge_every_days .......... |g:tlib#cache#purge_every_days| - g:tlib#cache#script_encoding ........... |g:tlib#cache#script_encoding| - g:tlib#cache#run_script ................ |g:tlib#cache#run_script| - g:tlib#cache#verbosity ................. |g:tlib#cache#verbosity| - g:tlib#cache#dont_purge ................ |g:tlib#cache#dont_purge| - g:tlib#cache#max_filename .............. |g:tlib#cache#max_filename| - tlib#cache#Dir ......................... |tlib#cache#Dir()| - tlib#cache#Filename .................... |tlib#cache#Filename()| - tlib#cache#Save ........................ |tlib#cache#Save()| - tlib#cache#MTime ....................... |tlib#cache#MTime()| - tlib#cache#Get ......................... |tlib#cache#Get()| - tlib#cache#Value ....................... |tlib#cache#Value()| - tlib#cache#MaybePurge .................. |tlib#cache#MaybePurge()| - tlib#cache#Purge ....................... |tlib#cache#Purge()| - tlib#cache#ListFilesInCache ............ |tlib#cache#ListFilesInCache()| - tlib#normal#WithRegister ............... |tlib#normal#WithRegister()| - tlib#time#MSecs ........................ |tlib#time#MSecs()| - tlib#time#Now .......................... |tlib#time#Now()| - tlib#time#FormatNow .................... |tlib#time#FormatNow()| - tlib#time#Diff ......................... |tlib#time#Diff()| - tlib#time#DiffMSecs .................... |tlib#time#DiffMSecs()| - tlib#var#Let ........................... |tlib#var#Let()| - tlib#var#EGet .......................... |tlib#var#EGet()| - tlib#var#Get ........................... |tlib#var#Get()| - tlib#var#List .......................... |tlib#var#List()| - g:tlib_scroll_lines .................... |g:tlib_scroll_lines| - tlib#agent#Exit ........................ |tlib#agent#Exit()| - tlib#agent#CopyItems ................... |tlib#agent#CopyItems()| - tlib#agent#PageUp ...................... |tlib#agent#PageUp()| - tlib#agent#PageDown .................... |tlib#agent#PageDown()| - tlib#agent#Home ........................ |tlib#agent#Home()| - tlib#agent#End ......................... |tlib#agent#End()| - tlib#agent#Up .......................... |tlib#agent#Up()| - tlib#agent#Down ........................ |tlib#agent#Down()| - tlib#agent#UpN ......................... |tlib#agent#UpN()| - tlib#agent#DownN ....................... |tlib#agent#DownN()| - tlib#agent#ShiftLeft ................... |tlib#agent#ShiftLeft()| - tlib#agent#ShiftRight .................. |tlib#agent#ShiftRight()| - tlib#agent#Reset ....................... |tlib#agent#Reset()| - tlib#agent#ToggleRestrictView .......... |tlib#agent#ToggleRestrictView()| - tlib#agent#RestrictView ................ |tlib#agent#RestrictView()| - tlib#agent#UnrestrictView .............. |tlib#agent#UnrestrictView()| - tlib#agent#Input ....................... |tlib#agent#Input()| - tlib#agent#SuspendToParentWindow ....... |tlib#agent#SuspendToParentWindow()| - tlib#agent#Suspend ..................... |tlib#agent#Suspend()| - tlib#agent#Help ........................ |tlib#agent#Help()| - tlib#agent#OR .......................... |tlib#agent#OR()| - tlib#agent#AND ......................... |tlib#agent#AND()| - tlib#agent#ReduceFilter ................ |tlib#agent#ReduceFilter()| - tlib#agent#PopFilter ................... |tlib#agent#PopFilter()| - tlib#agent#Debug ....................... |tlib#agent#Debug()| - tlib#agent#Select ...................... |tlib#agent#Select()| - tlib#agent#SelectUp .................... |tlib#agent#SelectUp()| - tlib#agent#SelectDown .................. |tlib#agent#SelectDown()| - tlib#agent#SelectAll ................... |tlib#agent#SelectAll()| - tlib#agent#ToggleStickyList ............ |tlib#agent#ToggleStickyList()| - tlib#agent#EditItem .................... |tlib#agent#EditItem()| - tlib#agent#NewItem ..................... |tlib#agent#NewItem()| - tlib#agent#DeleteItems ................. |tlib#agent#DeleteItems()| - tlib#agent#Cut ......................... |tlib#agent#Cut()| - tlib#agent#Copy ........................ |tlib#agent#Copy()| - tlib#agent#Paste ....................... |tlib#agent#Paste()| - tlib#agent#EditReturnValue ............. |tlib#agent#EditReturnValue()| - tlib#agent#ViewFile .................... |tlib#agent#ViewFile()| - tlib#agent#EditFile .................... |tlib#agent#EditFile()| - tlib#agent#EditFileInSplit ............. |tlib#agent#EditFileInSplit()| - tlib#agent#EditFileInVSplit ............ |tlib#agent#EditFileInVSplit()| - tlib#agent#EditFileInTab ............... |tlib#agent#EditFileInTab()| - tlib#agent#ToggleScrollbind ............ |tlib#agent#ToggleScrollbind()| - tlib#agent#ShowInfo .................... |tlib#agent#ShowInfo()| - tlib#agent#PreviewLine ................. |tlib#agent#PreviewLine()| - tlib#agent#GotoLine .................... |tlib#agent#GotoLine()| - tlib#agent#DoAtLine .................... |tlib#agent#DoAtLine()| - tlib#agent#Wildcard .................... |tlib#agent#Wildcard()| - tlib#agent#Null ........................ |tlib#agent#Null()| - tlib#agent#ExecAgentByName ............. |tlib#agent#ExecAgentByName()| - tlib#agent#CompleteAgentNames .......... |tlib#agent#CompleteAgentNames()| - tlib#agent#Complete .................... |tlib#agent#Complete()| - tlib#bitwise#Num2Bits .................. |tlib#bitwise#Num2Bits()| - tlib#bitwise#Bits2Num .................. |tlib#bitwise#Bits2Num()| - tlib#bitwise#AND ....................... |tlib#bitwise#AND()| - tlib#bitwise#OR ........................ |tlib#bitwise#OR()| - tlib#bitwise#XOR ....................... |tlib#bitwise#XOR()| - tlib#bitwise#ShiftRight ................ |tlib#bitwise#ShiftRight()| - tlib#bitwise#ShiftLeft ................. |tlib#bitwise#ShiftLeft()| - tlib#bitwise#Add ....................... |tlib#bitwise#Add()| - tlib#bitwise#Sub ....................... |tlib#bitwise#Sub()| - tlib#url#Decode ........................ |tlib#url#Decode()| - tlib#url#DecodeChar .................... |tlib#url#DecodeChar()| - tlib#url#EncodeChar .................... |tlib#url#EncodeChar()| - tlib#url#Encode ........................ |tlib#url#Encode()| - tlib#signs#ClearAll .................... |tlib#signs#ClearAll()| - tlib#signs#ClearBuffer ................. |tlib#signs#ClearBuffer()| - tlib#signs#Mark ........................ |tlib#signs#Mark()| - tlib#rx#Escape ......................... |tlib#rx#Escape()| - tlib#rx#EscapeReplace .................. |tlib#rx#EscapeReplace()| - tlib#rx#Suffixes ....................... |tlib#rx#Suffixes()| - tlib#rx#LooksLikeRegexp ................ |tlib#rx#LooksLikeRegexp()| - g:tlib_tags_extra ...................... |g:tlib_tags_extra| - g:tlib_tag_substitute .................. |g:tlib_tag_substitute| - tlib#tag#Retrieve ...................... |tlib#tag#Retrieve()| - tlib#tag#Collect ....................... |tlib#tag#Collect()| - tlib#tag#Format ........................ |tlib#tag#Format()| - tlib#map#PumAccept ..................... |tlib#map#PumAccept()| - tlib#Filter_cnfd#New ................... |tlib#Filter_cnfd#New()| - g:tlib#input#sortprefs_threshold ....... |g:tlib#input#sortprefs_threshold| - g:tlib#input#livesearch_threshold ...... |g:tlib#input#livesearch_threshold| - g:tlib#input#filter_mode ............... |g:tlib#input#filter_mode| - g:tlib#input#higroup ................... |g:tlib#input#higroup| - g:tlib_pick_last_item .................. |g:tlib_pick_last_item| - g:tlib#input#and ....................... |g:tlib#input#and| - g:tlib#input#or ........................ |g:tlib#input#or| - g:tlib#input#not ....................... |g:tlib#input#not| - g:tlib#input#numeric_chars ............. |g:tlib#input#numeric_chars| - g:tlib#input#keyagents_InputList_s ..... |g:tlib#input#keyagents_InputList_s| - g:tlib#input#keyagents_InputList_m ..... |g:tlib#input#keyagents_InputList_m| - g:tlib#input#handlers_EditList ......... |g:tlib#input#handlers_EditList| - g:tlib#input#user_shortcuts ............ |g:tlib#input#user_shortcuts| - g:tlib#input#use_popup ................. |g:tlib#input#use_popup| - g:tlib#input#format_filename ........... |g:tlib#input#format_filename| - g:tlib#input#filename_padding_r ........ |g:tlib#input#filename_padding_r| - g:tlib#input#filename_max_width ........ |g:tlib#input#filename_max_width| - tlib#input#List ........................ |tlib#input#List()| - tlib#input#ListD ....................... |tlib#input#ListD()| - tlib#input#ListW ....................... |tlib#input#ListW()| - tlib#input#EditList .................... |tlib#input#EditList()| - tlib#input#Resume ...................... |tlib#input#Resume()| - tlib#input#CommandSelect ............... |tlib#input#CommandSelect()| - tlib#input#Edit ........................ |tlib#input#Edit()| - tlib#input#Dialog ...................... |tlib#input#Dialog()| - tlib#number#ConvertBase ................ |tlib#number#ConvertBase()| - g:tlib#file#drop ....................... |g:tlib#file#drop| - g:tlib#file#use_tabs ................... |g:tlib#file#use_tabs| - g:tlib#file#edit_cmds .................. |g:tlib#file#edit_cmds| - g:tlib#file#absolute_filename_rx ....... |g:tlib#file#absolute_filename_rx| - tlib#file#Split ........................ |tlib#file#Split()| - tlib#file#Join ......................... |tlib#file#Join()| - tlib#file#Relative ..................... |tlib#file#Relative()| - tlib#file#Absolute ..................... |tlib#file#Absolute()| - tlib#file#Canonic ...................... |tlib#file#Canonic()| - tlib#file#With ......................... |tlib#file#With()| - tlib#file#Edit ......................... |tlib#file#Edit()| - tlib#file#Glob ......................... |tlib#file#Glob()| - tlib#file#Globpath ..................... |tlib#file#Globpath()| - g:tlib#sys#special_protocols ........... |g:tlib#sys#special_protocols| - g:tlib#sys#special_suffixes ............ |g:tlib#sys#special_suffixes| - g:tlib#sys#system_rx ................... |g:tlib#sys#system_rx| - g:tlib#sys#system_browser .............. |g:tlib#sys#system_browser| - g:tlib#sys#windows ..................... |g:tlib#sys#windows| - g:tlib#sys#null ........................ |g:tlib#sys#null| - tlib#sys#IsCygwinBin ................... |tlib#sys#IsCygwinBin()| - tlib#sys#IsExecutable .................. |tlib#sys#IsExecutable()| - g:tlib#sys#check_cygpath ............... |g:tlib#sys#check_cygpath| - g:tlib#sys#cygwin_path_rx .............. |g:tlib#sys#cygwin_path_rx| - g:tlib#sys#cygwin_expr ................. |g:tlib#sys#cygwin_expr| - tlib#sys#GetCmd ........................ |tlib#sys#GetCmd()| - tlib#sys#MaybeUseCygpath ............... |tlib#sys#MaybeUseCygpath()| - tlib#sys#ConvertPath ................... |tlib#sys#ConvertPath()| - tlib#sys#FileArgs ...................... |tlib#sys#FileArgs()| - tlib#sys#IsSpecial ..................... |tlib#sys#IsSpecial()| - tlib#sys#Open .......................... |tlib#sys#Open()| - tlib#sys#SystemInDir ................... |tlib#sys#SystemInDir()| - tlib#paragraph#GetMetric ............... |tlib#paragraph#GetMetric()| - tlib#paragraph#Move .................... |tlib#paragraph#Move()| - g:tlib_inputlist_pct ................... |g:tlib_inputlist_pct| - g:tlib_inputlist_width_filename ........ |g:tlib_inputlist_width_filename| - g:tlib_inputlist_filename_indicators ... |g:tlib_inputlist_filename_indicators| - g:tlib_inputlist_shortmessage .......... |g:tlib_inputlist_shortmessage| - tlib#World#New ......................... |tlib#World#New()| - prototype.PrintLines - prototype.Suspend - tlib#loclist#Browse .................... |tlib#loclist#Browse()| - tlib#tab#BufMap ........................ |tlib#tab#BufMap()| - tlib#tab#TabWinNr ...................... |tlib#tab#TabWinNr()| - tlib#tab#Set ........................... |tlib#tab#Set()| - tlib#date#IsDate ....................... |tlib#date#IsDate()| - tlib#date#Format ....................... |tlib#date#Format()| - tlib#date#DiffInDays ................... |tlib#date#DiffInDays()| - tlib#date#Parse ........................ |tlib#date#Parse()| - tlib#date#SecondsSince1970 ............. |tlib#date#SecondsSince1970()| - tlib#date#Shift ........................ |tlib#date#Shift()| - tlib#type#IsNumber ..................... |tlib#type#IsNumber()| - tlib#type#IsString ..................... |tlib#type#IsString()| - tlib#type#IsFuncref .................... |tlib#type#IsFuncref()| - tlib#type#IsList ....................... |tlib#type#IsList()| - tlib#type#IsDictionary ................. |tlib#type#IsDictionary()| - tlib#type#Is ........................... |tlib#type#Is()| - tlib#type#Are .......................... |tlib#type#Are()| - tlib#type#Has .......................... |tlib#type#Has()| - tlib#type#Have ......................... |tlib#type#Have()| - tlib#Filter_fuzzy#New .................. |tlib#Filter_fuzzy#New()| - tlib#assert#Enable ..................... |tlib#assert#Enable()| - tlib#assert#Disable .................... |tlib#assert#Disable()| - tlib#assert#Assert ..................... |tlib#assert#Assert()| - tlib#assert#Map ........................ |tlib#assert#Map()| - tlib#assert#All ........................ |tlib#assert#All()| - tlib#textobjects#StandardParagraph ..... |standard-paragraph| - tlib#textobjects#Init .................. |tlib#textobjects#Init()| - v_sp ................................... |v_sp| - o_sp ................................... |o_sp| - tlib#arg#Get ........................... |tlib#arg#Get()| - tlib#arg#Let ........................... |tlib#arg#Let()| - tlib#arg#StringAsKeyArgs ............... |tlib#arg#StringAsKeyArgs()| - tlib#arg#StringAsKeyArgsEqual .......... |tlib#arg#StringAsKeyArgsEqual()| - tlib#arg#GetOpts ....................... |tlib#arg#GetOpts()| - tlib#arg#Ex ............................ |tlib#arg#Ex()| - tlib#fixes#Winpos ...................... |tlib#fixes#Winpos()| - g:tlib#dir#sep ......................... |g:tlib#dir#sep| - tlib#dir#CanonicName ................... |tlib#dir#CanonicName()| - tlib#dir#NativeName .................... |tlib#dir#NativeName()| - tlib#dir#PlainName ..................... |tlib#dir#PlainName()| - tlib#dir#Ensure ........................ |tlib#dir#Ensure()| - tlib#dir#MyRuntime ..................... |tlib#dir#MyRuntime()| - tlib#dir#CD ............................ |tlib#dir#CD()| - tlib#dir#Push .......................... |tlib#dir#Push()| - tlib#dir#Pop ........................... |tlib#dir#Pop()| - g:tlib#hash#use_crc32 .................. |g:tlib#hash#use_crc32| - g:tlib#hash#use_adler32 ................ |g:tlib#hash#use_adler32| - tlib#hash#CRC32B ....................... |tlib#hash#CRC32B()| - tlib#hash#CRC32B_ruby .................. |tlib#hash#CRC32B_ruby()| - tlib#hash#CRC32B_vim ................... |tlib#hash#CRC32B_vim()| - tlib#hash#Adler32 ...................... |tlib#hash#Adler32()| - tlib#hash#Adler32_vim .................. |tlib#hash#Adler32_vim()| - tlib#hash#Adler32_tlib ................. |tlib#hash#Adler32_tlib()| - tlib#win#Set ........................... |tlib#win#Set()| - tlib#win#GetLayout ..................... |tlib#win#GetLayout()| - tlib#win#SetLayout ..................... |tlib#win#SetLayout()| - tlib#win#List .......................... |tlib#win#List()| - tlib#win#Width ......................... |tlib#win#Width()| - tlib#win#WinDo ......................... |tlib#win#WinDo()| - tlib#comments#Comments ................. |tlib#comments#Comments()| - tlib#grep#Do ........................... |tlib#grep#Do()| - tlib#grep#LocList ...................... |tlib#grep#LocList()| - tlib#grep#QuickFixList ................. |tlib#grep#QuickFixList()| - tlib#grep#List ......................... |tlib#grep#List()| - tlib#qfl#FormatQFLE .................... |tlib#qfl#FormatQFLE()| - tlib#qfl#QfeFilename ................... |tlib#qfl#QfeFilename()| - tlib#qfl#InitListBuffer ................ |tlib#qfl#InitListBuffer()| - tlib#qfl#SetSyntax ..................... |tlib#qfl#SetSyntax()| - tlib#qfl#Balloon ....................... |tlib#qfl#Balloon()| - tlib#qfl#AgentEditQFE .................. |tlib#qfl#AgentEditQFE()| - tlib#qfl#AgentPreviewQFE ............... |tlib#qfl#AgentPreviewQFE()| - tlib#qfl#AgentGotoQFE .................. |tlib#qfl#AgentGotoQFE()| - tlib#qfl#AgentWithSelected ............. |tlib#qfl#AgentWithSelected()| - tlib#qfl#RunCmdOnSelected .............. |tlib#qfl#RunCmdOnSelected()| - tlib#qfl#AgentSplitBuffer .............. |tlib#qfl#AgentSplitBuffer()| - tlib#qfl#AgentTabBuffer ................ |tlib#qfl#AgentTabBuffer()| - tlib#qfl#AgentVSplitBuffer ............. |tlib#qfl#AgentVSplitBuffer()| - tlib#qfl#AgentEditLine ................. |tlib#qfl#AgentEditLine()| - tlib#qfl#EditLine ...................... |tlib#qfl#EditLine()| - tlib#qfl#SetFollowCursor ............... |tlib#qfl#SetFollowCursor()| - tlib#qfl#QflList ....................... |tlib#qfl#QflList()| - tlib#qfl#Browse ........................ |tlib#qfl#Browse()| - tlib#Filter_cnf#New .................... |tlib#Filter_cnf#New()| - prototype.Pretty - tlib#Object#New ........................ |tlib#Object#New()| - prototype.New - prototype.Inherit - prototype.Extend - prototype.IsA - prototype.IsRelated - prototype.RespondTo - prototype.Super - tlib#Object#Methods .................... |tlib#Object#Methods()| - g:tlib_viewline_position ............... |g:tlib_viewline_position| - tlib#buffer#EnableMRU .................. |tlib#buffer#EnableMRU()| - tlib#buffer#DisableMRU ................. |tlib#buffer#DisableMRU()| - tlib#buffer#Set ........................ |tlib#buffer#Set()| - tlib#buffer#Eval ....................... |tlib#buffer#Eval()| - tlib#buffer#GetList .................... |tlib#buffer#GetList()| - tlib#buffer#ViewLine ................... |tlib#buffer#ViewLine()| - tlib#buffer#HighlightLine .............. |tlib#buffer#HighlightLine()| - tlib#buffer#DeleteRange ................ |tlib#buffer#DeleteRange()| - tlib#buffer#ReplaceRange ............... |tlib#buffer#ReplaceRange()| - tlib#buffer#ScratchStart ............... |tlib#buffer#ScratchStart()| - tlib#buffer#ScratchEnd ................. |tlib#buffer#ScratchEnd()| - tlib#buffer#BufDo ...................... |tlib#buffer#BufDo()| - tlib#buffer#InsertText ................. |tlib#buffer#InsertText()| - tlib#buffer#InsertText0 ................ |tlib#buffer#InsertText0()| - tlib#buffer#CurrentByte ................ |tlib#buffer#CurrentByte()| - tlib#buffer#KeepCursorPosition ......... |tlib#buffer#KeepCursorPosition()| - tlib#hook#Run .......................... |tlib#hook#Run()| - tlib#string#RemoveBackslashes .......... |tlib#string#RemoveBackslashes()| - tlib#string#Chomp ...................... |tlib#string#Chomp()| - tlib#string#Format ..................... |tlib#string#Format()| - tlib#string#Printf1 .................... |tlib#string#Printf1()| - tlib#string#TrimLeft ................... |tlib#string#TrimLeft()| - tlib#string#TrimRight .................. |tlib#string#TrimRight()| - tlib#string#Strip ...................... |tlib#string#Strip()| - tlib#string#Count ...................... |tlib#string#Count()| - tlib#string#SplitCommaList ............. |tlib#string#SplitCommaList()| - - -======================================================================== -plugin/02tlib.vim~ - - *:TLet* -:TLet VAR = VALUE - Set a variable only if it doesn't already exist. - EXAMPLES: > - TLet foo = 1 - TLet foo = 2 - echo foo - => 1 -< - - *:TScratch* -:TScratch - Open a scratch buffer (a buffer without a file). - TScratch ... use split window - TScratch! ... use the whole frame - This command takes an (inner) dictionary as optional argument. - EXAMPLES: > - TScratch 'scratch': '__FOO__' - => Open a scratch buffer named __FOO__ -< - - *:TVarArg* -:TVarArg VAR1, [VAR2, DEFAULT2] ... - A convenience wrapper for |tlib#arg#Let|. - EXAMPLES: > - function! Foo(...) - TVarArg ['a', 1], 'b' - echo 'a='. a - echo 'b='. b - endf -< - - *:TBrowseOutput* -:TBrowseOutput COMMAND - Ever wondered how to efficiently browse the output of a command - without redirecting it to a file? This command takes a command as - argument and presents the output via |tlib#input#List()| so that you - can easily search for a keyword (e.g. the name of a variable or - function) and the like. - - If you press enter, the selected line will be copied to the command - line. Press ESC to cancel browsing. - - EXAMPLES: > - TBrowseOutput 20verb TeaseTheCulprit -< - - *:TBrowseScriptnames* -:TBrowseScriptnames - List all sourced script names (the output of ':scriptnames'). - - When you press enter, the selected script will be opened in the current - window. Press ESC to cancel. - - EXAMPLES: > - TBrowseScriptnames -< - - *:Tlibtrace* -:Tlibtrace GUARD, VAR1, VAR2... - Do nothing unless |tlib#trace#Enable()| was called. - - When |:Tlibtraceset| or |tlib#trace#Enable()| were called: - - If GUARD is a number that evaluates to true or if it is a string that - matches a |regexp|, which was added using Tlibtrace! (with '!'), - display the values of VAR1, VAR2 ... - - *:Tlibtraceset* -:Tlibtraceset - :Tlibtraceset +RX1, -RX2... - If |tlib#trace#Enable()| was called: With the optional , users - can add and remove GUARDs (actually a |regexp|) that should be traced. - - *:Tlibassert* -:Tlibtrace ASSERTION - - -======================================================================== -test/tlib.vim~ - - *Add()* -Add(a,b) - List - - *TestGetArg()* -TestGetArg(...) - Optional arguments - - *TestGetArg1()* -TestGetArg1(...) - - *TestArgs()* -TestArgs(...) - - *TestArgs1()* -TestArgs1(...) - - *TestArgs2()* -TestArgs2(...) - - *TestArgs3()* -TestArgs3(...) - - -======================================================================== -autoload/tlib.vim~ - - *g:tlib#debug* -g:tlib#debug - - -======================================================================== -autoload/tlib/notify.vim~ - - *tlib#notify#Echo()* -tlib#notify#Echo(text, ?style='') - Print text in the echo area. Temporarily disable 'ruler' and 'showcmd' - in order to prevent |press-enter| messages. - - *tlib#notify#TrimMessage()* -tlib#notify#TrimMessage(message) - Contributed by Erik Falor: - If the line containing the message is too long, echoing it will cause - a 'Hit ENTER' prompt to appear. This function cleans up the line so - that does not happen. - The echoed line is too long if it is wider than the width of the - window, minus cmdline space taken up by the ruler and showcmd - features. - - -======================================================================== -autoload/tlib/trace.vim~ - - *g:tlib#trace#backtrace* -g:tlib#trace#backtrace (default: 2) - The length of the backtrace that should be included in - |tlib#trace#Print()|. - - *g:tlib#trace#printf* -g:tlib#trace#printf (default: 'echom %s') - The command used for printing traces from |tlib#trace#Print()|. - - *tlib#trace#PrintToFile()* -tlib#trace#PrintToFile(filename) - Set |g:tlib#trace#printf| to make |tlib#trace#Print()| print to - `filename`. - - *tlib#trace#Set()* -tlib#trace#Set(vars) - Set the tracing |regexp|. See |:Tlibtrace|. - This will also call |tlib#trace#Enable()|. - - Examples: - call tlib#trace#Set(["+foo", "-bar"]) - call tlib#trace#Set("+foo,-bar") - - *tlib#trace#Backtrace()* -tlib#trace#Backtrace(caller) - - *tlib#trace#Print()* -tlib#trace#Print(caller, vars, values) - Print the values of vars. The first value is a "guard" (see - |:Tlibtrace|). - - *tlib#trace#Enable()* -tlib#trace#Enable() - Enable tracing via |:Tlibtrace|. - - *tlib#trace#Disable()* -tlib#trace#Disable() - Disable tracing via |:Tlibtrace|. - - -======================================================================== -autoload/tlib/dictionary.vim~ - - *tlib#dictionary#Rev()* -tlib#dictionary#Rev(dict) - - -======================================================================== -autoload/tlib/persistent.vim~ - - *g:tlib_persistent* -g:tlib_persistent (default: '') - The directory for persistent data files. If empty, use - |tlib#dir#MyRuntime|.'/share'. - - *tlib#persistent#Dir()* -tlib#persistent#Dir(?mode = 'bg') - Return the full directory name for persistent data files. - - *tlib#persistent#Filename()* -tlib#persistent#Filename(type, ?file=%, ?mkdir=0) - - *tlib#persistent#Get()* -tlib#persistent#Get(...) - - *tlib#persistent#MTime()* -tlib#persistent#MTime(cfile) - - *tlib#persistent#Value()* -tlib#persistent#Value(...) - - *tlib#persistent#Save()* -tlib#persistent#Save(cfile, dictionary) - - -======================================================================== -autoload/tlib/vim.vim~ - - *g:tlib#vim#simalt_maximize* -g:tlib#vim#simalt_maximize (default: 'x') - The alt-key for maximizing the window. - CAUTION: The value of this paramter depends on your locale and - maybe the windows version you are running. - - *g:tlib#vim#simalt_restore* -g:tlib#vim#simalt_restore (default: 'r') - The alt-key for restoring the window. - CAUTION: The value of this paramter depends on your locale and - maybe the windows version you are running. - - *g:tlib#vim#use_vimtweak* -g:tlib#vim#use_vimtweak (default: 0) - If true, use the vimtweak.dll for windows. This will enable - tlib to remove the caption for fullscreen windows. - - *tlib#vim#Maximize()* -tlib#vim#Maximize(fullscreen) - Maximize the window. - You might need to redefine |g:tlib#vim#simalt_maximize| if it doesn't - work for you. - - *tlib#vim#RestoreWindow()* -tlib#vim#RestoreWindow() - Restore the original vimsize after having called |tlib#vim#Maximize()|. - - *g:tlib#vim#use_wmctrl* -g:tlib#vim#use_wmctrl (default: executable('wmctrl')) - If true, use wmctrl for X windows to make a window - maximized/fullscreen. - - This is the preferred method for maximizing windows under X - windows. Some window managers have problem coping with the - default method of setting 'lines' and 'columns' to a large - value. - - *tlib#vim#CopyFunction()* -tlib#vim##CopyFunction(old, new, overwrite=0) - - -======================================================================== -autoload/tlib/progressbar.vim~ - - *tlib#progressbar#Init()* -tlib#progressbar#Init(max, ...) - EXAMPLE: > - call tlib#progressbar#Init(20) - try - for i in range(20) - call tlib#progressbar#Display(i) - call DoSomethingThatTakesSomeTime(i) - endfor - finally - call tlib#progressbar#Restore() - endtry -< - - *tlib#progressbar#Display()* -tlib#progressbar#Display(value, ...) - - *tlib#progressbar#Restore()* -tlib#progressbar#Restore() - - -======================================================================== -autoload/tlib/eval.vim~ - - *tlib#eval#FormatValue()* -tlib#eval#FormatValue(value, ...) - - *tlib#eval#Extend()* -tlib#eval#Extend(a, b, ...) - - -======================================================================== -autoload/tlib/list.vim~ - - *tlib#list#Inject()* -tlib#list#Inject(list, initial_value, funcref) - EXAMPLES: > - echo tlib#list#Inject([1,2,3], 0, function('Add') - => 6 -< - - *tlib#list#Compact()* -tlib#list#Compact(list) - EXAMPLES: > - tlib#list#Compact([0,1,2,3,[], {}, ""]) - => [1,2,3] -< - - *tlib#list#Flatten()* -tlib#list#Flatten(list) - EXAMPLES: > - tlib#list#Flatten([0,[1,2,[3,""]]]) - => [0,1,2,3,""] -< - - *tlib#list#FindAll()* -tlib#list#FindAll(list, filter, ?process_expr="") - Basically the same as filter() - - EXAMPLES: > - tlib#list#FindAll([1,2,3], 'v:val >= 2') - => [2, 3] -< - - *tlib#list#Find()* -tlib#list#Find(list, filter, ?default="", ?process_expr="") - - EXAMPLES: > - tlib#list#Find([1,2,3], 'v:val >= 2') - => 2 -< - - *tlib#list#Any()* -tlib#list#Any(list, expr) - EXAMPLES: > - tlib#list#Any([1,2,3], 'v:val >= 2') - => 1 -< - - *tlib#list#All()* -tlib#list#All(list, expr) - EXAMPLES: > - tlib#list#All([1,2,3], 'v:val >= 2') - => 0 -< - - *tlib#list#Remove()* -tlib#list#Remove(list, element) - EXAMPLES: > - tlib#list#Remove([1,2,1,2], 2) - => [1,1,2] -< - - *tlib#list#RemoveAll()* -tlib#list#RemoveAll(list, element) - EXAMPLES: > - tlib#list#RemoveAll([1,2,1,2], 2) - => [1,1] -< - - *tlib#list#Zip()* -tlib#list#Zip(lists, ?default='') - EXAMPLES: > - tlib#list#Zip([[1,2,3], [4,5,6]]) - => [[1,4], [2,5], [3,6]] -< - - *tlib#list#Uniq()* -tlib#list#Uniq(list, ...) - - *tlib#list#ToDictionary()* -tlib#list#ToDictionary(list, default, ...) - - -======================================================================== -autoload/tlib/cmd.vim~ - - *tlib#cmd#OutputAsList()* -tlib#cmd#OutputAsList(command) - - *tlib#cmd#BrowseOutput()* -tlib#cmd#BrowseOutput(command) - See |:TBrowseOutput|. - - *tlib#cmd#BrowseOutputWithCallback()* -tlib#cmd#BrowseOutputWithCallback(callback, command) - Execute COMMAND and present its output in a |tlib#input#List()|; - when a line is selected, execute the function named as the CALLBACK - and pass in that line as an argument. - - The CALLBACK function gives you an opportunity to massage the COMMAND output - and possibly act on it in a meaningful way. For example, if COMMAND listed - all URIs found in the current buffer, CALLBACK could validate and then open - the selected URI in the system's default browser. - - This function is meant to be a tool to help compose the implementations of - powerful commands that use |tlib#input#List()| as a common interface. See - |TBrowseScriptnames| as an example. - - EXAMPLES: > - call tlib#cmd#BrowseOutputWithCallback('tlib#cmd#ParseScriptname', 'scriptnames') -< - - *tlib#cmd#DefaultBrowseOutput()* -tlib#cmd#DefaultBrowseOutput(cmd) - - *tlib#cmd#ParseScriptname()* -tlib#cmd#ParseScriptname(line) - - *tlib#cmd#TBrowseScriptnames()* -tlib#cmd#TBrowseScriptnames() - - *tlib#cmd#UseVertical()* -tlib#cmd#UseVertical(?rx='') - Look at the history whether the command was called with vertical. If - an rx is provided check first if the last entry in the history matches - this rx. - - *tlib#cmd#Time()* -tlib#cmd#Time(cmd) - Print the time in seconds or milliseconds (if your version of VIM - has |+reltime|) a command takes. - - *tlib#cmd#Capture()* -tlib#cmd#Capture(cmd) - - -======================================================================== -autoload/tlib/syntax.vim~ - - *tlib#syntax#Collect()* -tlib#syntax#Collect() - - *tlib#syntax#Names()* -tlib#syntax#Names(?rx='') - - -======================================================================== -autoload/tlib/balloon.vim~ - - *tlib#balloon#Register()* -tlib#balloon#Register(expr) - - *tlib#balloon#Remove()* -tlib#balloon#Remove(expr) - - *tlib#balloon#Expr()* -tlib#balloon#Expr() - - *tlib#balloon#Expand()* -tlib#balloon#Expand(expr) - - -======================================================================== -autoload/tlib/vcs.vim~ - - *g:tlib#vcs#def* -g:tlib#vcs#def {...} - A dictionarie of supported VCS (currently: git, hg, svn, bzr). - - *g:tlib#vcs#executables* -g:tlib#vcs#executables {...} - A dictionary of custom executables for VCS commands. If the value is - empty, support for that VCS will be removed. If no key is present, it - is assumed that the VCS "type" is the name of the executable. - - *g:tlib#vcs#check* -g:tlib#vcs#check (default: has('win16') || has('win32') || has('win64') ? '%s.exe' : '%s') - If non-empty, use it as a format string to check whether a VCS is - installed on your computer. - - *tlib#vcs#Executable()* -tlib#vcs#Executable(type) - - *tlib#vcs#FindVCS()* -tlib#vcs#FindVCS(filename) - - *tlib#vcs#Ls()* -tlib#vcs#Ls(?filename=bufname('%'), ?vcs=[type, dir]) - Return the files under VCS. - - *tlib#vcs#Diff()* -tlib#vcs#Diff(filename, ?vcs=[type, dir]) - Return the diff for "filename" - - *tlib#vcs#GitLsPostprocess()* -tlib#vcs#GitLsPostprocess(filename) - - -======================================================================== -autoload/tlib/char.vim~ - - *tlib#char#Get()* -tlib#char#Get(?timeout=0) - Get a character. - - EXAMPLES: > - echo tlib#char#Get() - echo tlib#char#Get(5) -< - - *tlib#char#IsAvailable()* -tlib#char#IsAvailable() - - *tlib#char#GetWithTimeout()* -tlib#char#GetWithTimeout(timeout, ...) - - -======================================================================== -autoload/tlib/Filter_glob.vim~ - - *g:tlib#Filter_glob#seq* -g:tlib#Filter_glob#seq (default: '*') - A character that should be expanded to '\.\{-}'. - - *g:tlib#Filter_glob#char* -g:tlib#Filter_glob#char (default: '?') - A character that should be expanded to '\.\?'. - - *tlib#Filter_glob#New()* -tlib#Filter_glob#New(...) - The same as |tlib#Filter_cnf#New()| but a a customizable character - |see tlib#Filter_glob#seq| is expanded to '\.\{-}' and - |g:tlib#Filter_glob#char| is expanded to '\.'. - The pattern is a '/\V' very no-'/magic' regexp pattern. - - -======================================================================== -autoload/tlib/scratch.vim~ - - *g:tlib_scratch_pos* -g:tlib_scratch_pos (default: 'botright') - Scratch window position. By default the list window is opened on the - bottom. Set this variable to 'topleft' or '' to change this behaviour. - See |tlib#input#List()|. - - *g:tlib#scratch#hidden* -g:tlib#scratch#hidden (default: 'hide') - If you want the scratch buffer to be fully removed, you might want to - set this variable to 'wipe'. - See also https://github.com/tomtom/tlib_vim/pull/16 - - *tlib#scratch#UseScratch()* -tlib#scratch#UseScratch(?keyargs={}) - Display a scratch buffer (a buffer with no file). See :TScratch for an - example. - Return the scratch buffer's number. - Values for keyargs: - scratch_split ... 1: split, 0: window, -1: tab - - *tlib#scratch#CloseScratch()* -tlib#scratch#CloseScratch(keyargs, ...) - Close a scratch buffer as defined in keyargs (usually a World). - Return 1 if the scratch buffer is closed (or if it already was - closed). - - -======================================================================== -autoload/tlib/autocmdgroup.vim~ - - *tlib#autocmdgroup#Init()* -tlib#autocmdgroup#Init() - - -======================================================================== -autoload/tlib/cache.vim~ - - *g:tlib_cache* -g:tlib_cache (default: '') - The cache directory. If empty, use |tlib#dir#MyRuntime|.'/cache'. - You might want to delete old files from this directory from time to - time with a command like: > - find ~/vimfiles/cache/ -atime +31 -type f -print -delete -< - - *g:tlib#cache#purge_days* -g:tlib#cache#purge_days (default: 31) - |tlib#cache#Purge()|: Remove cache files older than N days. - - *g:tlib#cache#purge_every_days* -g:tlib#cache#purge_every_days (default: 31) - Purge the cache every N days. Disable automatic purging by setting - this value to a negative value. - - *g:tlib#cache#script_encoding* -g:tlib#cache#script_encoding (default: &enc) - The encoding used for the purge-cache script. - Default: 'enc' - - *g:tlib#cache#run_script* -g:tlib#cache#run_script (default: 1) - Whether to run the directory removal script: - 0 ... No - 1 ... Query user - 2 ... Yes - - *g:tlib#cache#verbosity* -g:tlib#cache#verbosity (default: 1) - Verbosity level: - 0 ... Be quiet - 1 ... Display informative message - 2 ... Display detailed messages - - *g:tlib#cache#dont_purge* -g:tlib#cache#dont_purge (default: ['[\/]\.last_purge$']) - A list of regexps that are matched against partial filenames of the - cached files. If a regexp matches, the file won't be removed by - |tlib#cache#Purge()|. - - *g:tlib#cache#max_filename* -g:tlib#cache#max_filename (default: 200) - If the cache filename is longer than N characters, use - |pathshorten()|. - - *tlib#cache#Dir()* -tlib#cache#Dir(?mode = 'bg') - The default cache directory. - - *tlib#cache#Filename()* -tlib#cache#Filename(type, ?file=%, ?mkdir=0, ?dir='') - - *tlib#cache#Save()* -tlib#cache#Save(cfile, dictionary, ...) - - *tlib#cache#MTime()* -tlib#cache#MTime(cfile) - - *tlib#cache#Get()* -tlib#cache#Get(cfile, ...) - - *tlib#cache#Value()* -tlib#cache#Value(cfile, generator, ftime, ?generator_args=[], ?options={}) - Get a cached value from cfile. If it is outdated (compared to ftime) - or does not exist, create it calling a generator function. - - *tlib#cache#MaybePurge()* -tlib#cache#MaybePurge() - Call |tlib#cache#Purge()| if the last purge was done before - |g:tlib#cache#purge_every_days|. - - *tlib#cache#Purge()* -tlib#cache#Purge() - Delete old files. - - *tlib#cache#ListFilesInCache()* -tlib#cache#ListFilesInCache(...) - - -======================================================================== -autoload/tlib/normal.vim~ - - *tlib#normal#WithRegister()* -tlib#normal#WithRegister(cmd, ?register='t', ?norm_cmd='norm!') - Execute a normal command while maintaining all registers. - - -======================================================================== -autoload/tlib/time.vim~ - - *tlib#time#MSecs()* -tlib#time#MSecs() - - *tlib#time#Now()* -tlib#time#Now() - - *tlib#time#FormatNow()* -tlib#time#FormatNow() - - *tlib#time#Diff()* -tlib#time#Diff(a, b, ...) - - *tlib#time#DiffMSecs()* -tlib#time#DiffMSecs(a, b, ...) - - -======================================================================== -autoload/tlib/var.vim~ - - *tlib#var#Let()* -tlib#var#Let(name, val) - Define a variable called NAME if yet undefined. - You can also use the :TLLet command. - - EXAMPLES: > - exec tlib#var#Let('g:foo', 1) - TLet g:foo = 1 -< - - *tlib#var#EGet()* -tlib#var#EGet(var, namespace, ?default='') - Retrieve a variable by searching several namespaces. - - EXAMPLES: > - let g:foo = 1 - let b:foo = 2 - let w:foo = 3 - echo eval(tlib#var#EGet('foo', 'vg')) => 1 - echo eval(tlib#var#EGet('foo', 'bg')) => 2 - echo eval(tlib#var#EGet('foo', 'wbg')) => 3 -< - - *tlib#var#Get()* -tlib#var#Get(var, namespace, ?default='') - Retrieve a variable by searching several namespaces. - - EXAMPLES: > - let g:foo = 1 - let b:foo = 2 - let w:foo = 3 - echo tlib#var#Get('foo', 'bg') => 1 - echo tlib#var#Get('foo', 'bg') => 2 - echo tlib#var#Get('foo', 'wbg') => 3 -< - - *tlib#var#List()* -tlib#var#List(rx, ?prefix='') - Get a list of variables matching rx. - EXAMPLE: - echo tlib#var#List('tlib_', 'g:') - - -======================================================================== -autoload/tlib/agent.vim~ -Various agents for use as key handlers in tlib#input#List() - - *g:tlib_scroll_lines* -g:tlib_scroll_lines (default: 10) - Number of items to move when pressing in the input list window. - - *tlib#agent#Exit()* -tlib#agent#Exit(world, selected) - - *tlib#agent#CopyItems()* -tlib#agent#CopyItems(world, selected) - - *tlib#agent#PageUp()* -tlib#agent#PageUp(world, selected) - - *tlib#agent#PageDown()* -tlib#agent#PageDown(world, selected) - - *tlib#agent#Home()* -tlib#agent#Home(world, selected) - - *tlib#agent#End()* -tlib#agent#End(world, selected) - - *tlib#agent#Up()* -tlib#agent#Up(world, selected, ...) - - *tlib#agent#Down()* -tlib#agent#Down(world, selected, ...) - - *tlib#agent#UpN()* -tlib#agent#UpN(world, selected) - - *tlib#agent#DownN()* -tlib#agent#DownN(world, selected) - - *tlib#agent#ShiftLeft()* -tlib#agent#ShiftLeft(world, selected) - - *tlib#agent#ShiftRight()* -tlib#agent#ShiftRight(world, selected) - - *tlib#agent#Reset()* -tlib#agent#Reset(world, selected) - - *tlib#agent#ToggleRestrictView()* -tlib#agent#ToggleRestrictView(world, selected) - - *tlib#agent#RestrictView()* -tlib#agent#RestrictView(world, selected) - - *tlib#agent#UnrestrictView()* -tlib#agent#UnrestrictView(world, selected) - - *tlib#agent#Input()* -tlib#agent#Input(world, selected) - - *tlib#agent#SuspendToParentWindow()* -tlib#agent#SuspendToParentWindow(world, selected) - Suspend (see |tlib#agent#Suspend|) the input loop and jump back to the - original position in the parent window. - - *tlib#agent#Suspend()* -tlib#agent#Suspend(world, selected) - Suspend lets you temporarily leave the input loop of - |tlib#input#List|. You can resume editing the list by pressing , - . , or in the suspended window. - and will immediatly select the item under the cursor. - < will select the item but the window will remain opened. - - *tlib#agent#Help()* -tlib#agent#Help(world, selected) - - *tlib#agent#OR()* -tlib#agent#OR(world, selected) - - *tlib#agent#AND()* -tlib#agent#AND(world, selected) - - *tlib#agent#ReduceFilter()* -tlib#agent#ReduceFilter(world, selected) - - *tlib#agent#PopFilter()* -tlib#agent#PopFilter(world, selected) - - *tlib#agent#Debug()* -tlib#agent#Debug(world, selected) - - *tlib#agent#Select()* -tlib#agent#Select(world, selected) - - *tlib#agent#SelectUp()* -tlib#agent#SelectUp(world, selected) - - *tlib#agent#SelectDown()* -tlib#agent#SelectDown(world, selected) - - *tlib#agent#SelectAll()* -tlib#agent#SelectAll(world, selected) - - *tlib#agent#ToggleStickyList()* -tlib#agent#ToggleStickyList(world, selected) - - *tlib#agent#EditItem()* -tlib#agent#EditItem(world, selected) - - *tlib#agent#NewItem()* -tlib#agent#NewItem(world, selected) - Insert a new item below the current one. - - *tlib#agent#DeleteItems()* -tlib#agent#DeleteItems(world, selected) - - *tlib#agent#Cut()* -tlib#agent#Cut(world, selected) - - *tlib#agent#Copy()* -tlib#agent#Copy(world, selected) - - *tlib#agent#Paste()* -tlib#agent#Paste(world, selected) - - *tlib#agent#EditReturnValue()* -tlib#agent#EditReturnValue(world, rv) - - *tlib#agent#ViewFile()* -tlib#agent#ViewFile(world, selected) - - *tlib#agent#EditFile()* -tlib#agent#EditFile(world, selected) - - *tlib#agent#EditFileInSplit()* -tlib#agent#EditFileInSplit(world, selected) - - *tlib#agent#EditFileInVSplit()* -tlib#agent#EditFileInVSplit(world, selected) - - *tlib#agent#EditFileInTab()* -tlib#agent#EditFileInTab(world, selected) - - *tlib#agent#ToggleScrollbind()* -tlib#agent#ToggleScrollbind(world, selected) - - *tlib#agent#ShowInfo()* -tlib#agent#ShowInfo(world, selected) - - *tlib#agent#PreviewLine()* -tlib#agent#PreviewLine(world, selected) - - *tlib#agent#GotoLine()* -tlib#agent#GotoLine(world, selected) - If not called from the scratch, we assume/guess that we don't have to - suspend the input-evaluation loop. - - *tlib#agent#DoAtLine()* -tlib#agent#DoAtLine(world, selected) - - *tlib#agent#Wildcard()* -tlib#agent#Wildcard(world, selected) - - *tlib#agent#Null()* -tlib#agent#Null(world, selected) - - *tlib#agent#ExecAgentByName()* -tlib#agent#ExecAgentByName(world, selected) - - *tlib#agent#CompleteAgentNames()* -tlib#agent#CompleteAgentNames(ArgLead, CmdLine, CursorPos) - - *tlib#agent#Complete()* -tlib#agent#Complete(world, selected) - - -======================================================================== -autoload/tlib/bitwise.vim~ - - *tlib#bitwise#Num2Bits()* -tlib#bitwise#Num2Bits(num) - - *tlib#bitwise#Bits2Num()* -tlib#bitwise#Bits2Num(bits, ...) - - *tlib#bitwise#AND()* -tlib#bitwise#AND(num1, num2, ...) - - *tlib#bitwise#OR()* -tlib#bitwise#OR(num1, num2, ...) - - *tlib#bitwise#XOR()* -tlib#bitwise#XOR(num1, num2, ...) - - *tlib#bitwise#ShiftRight()* -tlib#bitwise#ShiftRight(bits, n) - - *tlib#bitwise#ShiftLeft()* -tlib#bitwise#ShiftLeft(bits, n) - - *tlib#bitwise#Add()* -tlib#bitwise#Add(num1, num2, ...) - - *tlib#bitwise#Sub()* -tlib#bitwise#Sub(num1, num2, ...) - - -======================================================================== -autoload/tlib/url.vim~ - - *tlib#url#Decode()* -tlib#url#Decode(url) - Decode an encoded URL. - - *tlib#url#DecodeChar()* -tlib#url#DecodeChar(char) - Decode a single character. - - *tlib#url#EncodeChar()* -tlib#url#EncodeChar(char) - Encode a single character. - - *tlib#url#Encode()* -tlib#url#Encode(url, ...) - Encode an URL. - - -======================================================================== -autoload/tlib/signs.vim~ - - *tlib#signs#ClearAll()* -tlib#signs#ClearAll(sign) - Clear all signs with name SIGN. - - *tlib#signs#ClearBuffer()* -tlib#signs#ClearBuffer(sign, bufnr) - Clear all signs with name SIGN in buffer BUFNR. - - *tlib#signs#Mark()* -tlib#signs#Mark(sign, list) - Add signs for all locations in LIST. LIST must adhere with the - quickfix list format (see |getqflist()|; only the fields lnum and - bufnr are required). - - list:: a quickfix or location list - sign:: a sign defined with |:sign-define| - - -======================================================================== -autoload/tlib/rx.vim~ - - *tlib#rx#Escape()* -tlib#rx#Escape(text, ?magic='m') - magic can be one of: m, M, v, V - See :help 'magic' - - *tlib#rx#EscapeReplace()* -tlib#rx#EscapeReplace(text, ?magic='m') - Escape return |sub-replace-special|. - - *tlib#rx#Suffixes()* -tlib#rx#Suffixes(...) - - *tlib#rx#LooksLikeRegexp()* -tlib#rx#LooksLikeRegexp(text) - - -======================================================================== -autoload/tlib/tag.vim~ - - *g:tlib_tags_extra* -g:tlib_tags_extra (default: '') - Extra tags for |tlib#tag#Retrieve()| (see there). Can also be buffer-local. - - *g:tlib_tag_substitute* -g:tlib_tag_substitute - Filter the tag description through |substitute()| for these filetypes. - This applies only if the tag cmd field (see |taglist()|) is used. - - *tlib#tag#Retrieve()* -tlib#tag#Retrieve(rx, ?extra_tags=0) - Get all tags matching rx. Basically, this function simply calls - |taglist()|, but when extra_tags is true, the list of the tag files - (see 'tags') is temporarily expanded with |g:tlib_tags_extra|. - - Example use: - If you want to include tags for, eg, JDK, normal tags use can become - slow. You could proceed as follows: - 1. Create a tags file for the JDK sources. When creating the tags - file, make sure to include inheritance information and the like - (command-line options like --fields=+iaSm --extra=+q should be ok). - In this example, we want tags only for public methods (there are - most likely better ways to do this): > - ctags -R --fields=+iaSm --extra=+q ${JAVA_HOME}/src - head -n 6 tags > tags0 - grep access:public tags >> tags0 -< 2. Make 'tags' include project specific tags files. In - ~/vimfiles/after/ftplugin/java.vim insert: > - let b:tlib_tags_extra = $JAVA_HOME .'/tags0' -< 3. When this function is invoked as > - echo tlib#tag#Retrieve('print') -< it will return only project-local tags. If it is invoked as > - echo tlib#tag#Retrieve('print', 1) -< tags from the JDK will be included. - - *tlib#tag#Collect()* -tlib#tag#Collect(constraints, ?use_extra=1, ?match_front=1) - Retrieve tags that meet the constraints (a dictionnary of fields and - regexp, with the exception of the kind field which is a list of chars). - For the use of the optional use_extra argument see - |tlib#tag#Retrieve()|. - - *tlib#tag#Format()* -tlib#tag#Format(tag) - - -======================================================================== -autoload/tlib/map.vim~ - - *tlib#map#PumAccept()* -tlib#map#PumAccept(key) - If |pumvisible()| is true, return "\". Otherwise return a:key. - For use in maps like: > - imap tlib#map#PumAccept("\") -< - - -======================================================================== -autoload/tlib/Filter_cnfd.vim~ - - *tlib#Filter_cnfd#New()* -tlib#Filter_cnfd#New(...) - The same as |tlib#Filter_cnf#New()| but a dot is expanded to '\.\{-}'. - As a consequence, patterns cannot match dots. - The pattern is a '/\V' very no-'/magic' regexp pattern. - - -======================================================================== -autoload/tlib/input.vim~ -Input-related, select from a list etc. - - *g:tlib#input#sortprefs_threshold* -g:tlib#input#sortprefs_threshold (default: 200) - If a list is bigger than this value, don't try to be smart when - selecting an item. Be slightly faster instead. - See |tlib#input#List()|. - - *g:tlib#input#livesearch_threshold* -g:tlib#input#livesearch_threshold (default: 1000) - If a list contains more items, |tlib#input#List()| does not perform an - incremental "live search" but uses |input()| to query the user for a - filter. This is useful on slower machines or with very long lists. - - *g:tlib#input#filter_mode* -g:tlib#input#filter_mode (default: 'glob') - Determine how |tlib#input#List()| and related functions work. - Can be "glob", "cnf", "cnfd", "seq", or "fuzzy". See: - glob ... Like cnf but "*" and "?" (see |g:tlib#Filter_glob#seq|, - |g:tlib#Filter_glob#char|) are interpreted as glob-like - |wildcards| (this is the default method) - - Examples: - - "f*o" matches "fo", "fxo", and "fxxxoo", but doesn't match - "far". - - Otherwise it is a derivate of the cnf method (see below). - - See also |tlib#Filter_glob#New()|. - cnfd ... Like cnf but "." is interpreted as a wildcard, i.e. it is - expanded to "\.\{-}" - - A period character (".") acts as a wildcard as if ".\{-}" (see - |/\{-|) were entered. - - Examples: - - "f.o" matches "fo", "fxo", and "fxxxoo", but doesn't match - "far". - - Otherwise it is a derivate of the cnf method (see below). - - See also |tlib#Filter_cnfd#New()|. - cnf .... Match substrings - - A blank creates an AND conjunction, i.e. the next pattern has to - match too. - - A pipe character ("|") creates an OR conjunction, either this or - the next next pattern has to match. - - Patterns are very 'nomagic' |regexp| with a |\V| prefix. - - A pattern starting with "-" makes the filter exclude items - matching that pattern. - - Examples: - - "foo bar" matches items that contain the strings "foo" AND - "bar". - - "foo|bar boo|far" matches items that contain either ("foo" OR - "bar") AND ("boo" OR "far"). - - See also |tlib#Filter_cnf#New()|. - seq .... Match sequences of characters - - |tlib#Filter_seq#New()| - fuzzy .. Match fuzzy character sequences - - |tlib#Filter_fuzzy#New()| - - *g:tlib#input#higroup* -g:tlib#input#higroup (default: 'IncSearch') - The highlight group to use for showing matches in the input list - window. - See |tlib#input#List()|. - - *g:tlib_pick_last_item* -g:tlib_pick_last_item (default: 1) - When 1, automatically select the last remaining item only if the list - had only one item to begin with. - When 2, automatically select a last remaining item after applying - any filters. - See |tlib#input#List()|. - - -Keys for |tlib#input#List|~ - - *g:tlib#input#and* -g:tlib#input#and (default: ' ') - - *g:tlib#input#or* -g:tlib#input#or (default: '|') - - *g:tlib#input#not* -g:tlib#input#not (default: '-') - - *g:tlib#input#numeric_chars* -g:tlib#input#numeric_chars - When editing a list with |tlib#input#List|, typing these numeric chars - (as returned by getchar()) will select an item based on its index, not - based on its name. I.e. in the default setting, typing a "4" will - select the fourth item, not the item called "4". - In order to make keys 0-9 filter the items in the list and make - select an item by its index, remove the keys 48 to 57 from - this dictionary. - Format: [KEY] = BASE ... the number is calculated as KEY - BASE. - - *g:tlib#input#keyagents_InputList_s* -g:tlib#input#keyagents_InputList_s - The default key bindings for single-item-select list views. - - This variable is best customized via the variable - g:tlib_extend_keyagents_InputList_s. If you want to use , - to move the cursor up and down, add these two lines to your |vimrc| - file: - - let g:tlib_extend_keyagents_InputList_s = { - \ 10: 'tlib#agent#Down', - \ 11: 'tlib#agent#Up' - \ } - - *g:tlib#input#keyagents_InputList_m* -g:tlib#input#keyagents_InputList_m - - *g:tlib#input#handlers_EditList* -g:tlib#input#handlers_EditList - - *g:tlib#input#user_shortcuts* -g:tlib#input#user_shortcuts (default: {}) - A dictionary KEY => {'agent': AGENT, 'key_name': KEY_NAME} to - customize keyboard shortcuts in the list view. - - *g:tlib#input#use_popup* -g:tlib#input#use_popup (default: has('menu') && (has('gui_gtk') || has('gui_gtk2') || has('gui_win32'))) - If true, define a popup menu for |tlib#input#List()| and related - functions. - - *g:tlib#input#format_filename* -g:tlib#input#format_filename (default: 'l') - How to format filenames: - l ... Show basenames on the left side, separated from the - directory names - r ... Show basenames on the right side - - *g:tlib#input#filename_padding_r* -g:tlib#input#filename_padding_r (default: '&co / 10') - If g:tlib#input#format_filename == 'r', how much space should be kept - free on the right side. - - *g:tlib#input#filename_max_width* -g:tlib#input#filename_max_width (default: '&co / 2') - If g:tlib#input#format_filename == 'l', an expression that - |eval()|uates to the maximum display width of filenames. - - *tlib#input#List()* -tlib#input#List(type. ?query='', ?list=[], ?handlers=[], ?default="", ?timeout=0) - Select a single or multiple items from a list. Return either the list - of selected elements or its indexes. - - By default, typing numbers will select an item by its index. See - |g:tlib#input#numeric_chars| to find out how to change this. - - The item is automatically selected if the numbers typed equals the - number of digits of the list length. I.e. if a list contains 20 items, - typing 1 will first highlight item 1 but it won't select/use it - because 1 is an ambiguous input in this context. If you press enter, - the first item will be selected. If you press another digit (e.g. 0), - item 10 will be selected. Another way to select item 1 would be to - type 01. If the list contains only 9 items, typing 1 would select the - first item right away. - - type can be: - s ... Return one selected element - si ... Return the index of the selected element - m ... Return a list of selected elements - mi ... Return a list of indexes - - Several pattern matching styles are supported. See - |g:tlib#input#filter_mode|. - - Users can type to complete the current filter with the longest - match. - - EXAMPLES: > - echo tlib#input#List('s', 'Select one item', [100,200,300]) - echo tlib#input#List('si', 'Select one item', [100,200,300]) - echo tlib#input#List('m', 'Select one or more item(s)', [100,200,300]) - echo tlib#input#List('mi', 'Select one or more item(s)', [100,200,300]) - -< See ../samples/tlib/input/tlib_input_list.vim (move the cursor over - the filename and press gf) for a more elaborated example. - - *tlib#input#ListD()* -tlib#input#ListD(dict) - A wrapper for |tlib#input#ListW()| that builds |tlib#World#New| from - dict. - - *tlib#input#ListW()* -tlib#input#ListW(world, ?command='') - The second argument (command) is meant for internal use only. - The same as |tlib#input#List| but the arguments are packed into world - (an instance of tlib#World as returned by |tlib#World#New|). - - *tlib#input#EditList()* -tlib#input#EditList(query, list, ?timeout=0) - Edit a list. - - EXAMPLES: > - echo tlib#input#EditList('Edit:', [100,200,300]) -< - - *tlib#input#Resume()* -tlib#input#Resume(name, pick, bufnr) - - *tlib#input#CommandSelect()* -tlib#input#CommandSelect(command, ?keyargs={}) - Take a command, view the output, and let the user select an item from - its output. - - EXAMPLE: > - command! TMarks exec 'norm! `'. matchstr(tlib#input#CommandSelect('marks'), '^ \+\zs.') - command! TAbbrevs exec 'norm i'. matchstr(tlib#input#CommandSelect('abbrev'), '^\S\+\s\+\zs\S\+') -< - - *tlib#input#Edit()* -tlib#input#Edit(name, value, callback, ?cb_args=[]) - - Edit a value (asynchronously) in a scratch buffer. Use name for - identification. Call callback when done (or on cancel). - In the scratch buffer: - Press or to enter the new value, c to cancel - editing. - EXAMPLES: > - fun! FooContinue(success, text) - if a:success - let b:var = a:text - endif - endf - call tlib#input#Edit('foo', b:var, 'FooContinue') -< - - *tlib#input#Dialog()* -tlib#input#Dialog(text, options, default) - - -======================================================================== -autoload/tlib/number.vim~ - - *tlib#number#ConvertBase()* -tlib#number#ConvertBase(num, base, ...) - - -======================================================================== -autoload/tlib/file.vim~ - - *g:tlib#file#drop* -g:tlib#file#drop (default: has('gui')) - If true, use |:drop| to edit loaded buffers (only available with GUI). - - *g:tlib#file#use_tabs* -g:tlib#file#use_tabs (default: 0) - - *g:tlib#file#edit_cmds* -g:tlib#file#edit_cmds (default: g:tlib#file#use_tabs ? {'buffer': 'tab split | buffer', 'edit': 'tabedit'} : {}) - - *g:tlib#file#absolute_filename_rx* -g:tlib#file#absolute_filename_rx (default: '^\~\?[\/]') - - *tlib#file#Split()* -tlib#file#Split(filename) - EXAMPLES: > - tlib#file#Split('foo/bar/filename.txt') - => ['foo', 'bar', 'filename.txt'] -< - - *tlib#file#Join()* -tlib#file#Join(filename_parts, ?strip_slashes=1, ?maybe_absolute=0) - EXAMPLES: > - tlib#file#Join(['foo', 'bar', 'filename.txt']) - => 'foo/bar/filename.txt' -< - - *tlib#file#Relative()* -tlib#file#Relative(filename, basedir) - EXAMPLES: > - tlib#file#Relative('foo/bar/filename.txt', 'foo') - => 'bar/filename.txt' -< - - *tlib#file#Absolute()* -tlib#file#Absolute(filename, ...) - - *tlib#file#Canonic()* -tlib#file#Canonic(filename, ...) - - *tlib#file#With()* -tlib#file#With(fcmd, bcmd, files, ?world={}) - - *tlib#file#Edit()* -tlib#file#Edit(fileid) - Return 0 if the file isn't readable/doesn't exist. - Otherwise return 1. - - *tlib#file#Glob()* -tlib#file#Glob(pattern) - - *tlib#file#Globpath()* -tlib#file#Globpath(path, pattern) - - -======================================================================== -autoload/tlib/sys.vim~ - - *g:tlib#sys#special_protocols* -g:tlib#sys#special_protocols (default: ['https\?', 'nntp', 'mailto']) - A list of |regexp|s matching protocol names that should be handled - by |g:tlib#sys#system_browser|. - CAVEAT: Must be a |\V| |regexp|. - - *g:tlib#sys#special_suffixes* -g:tlib#sys#special_suffixes (default: ['xlsx\?', 'docx\?', 'pptx\?', 'accdb', 'mdb', 'sqlite', 'pdf', 'jpg', 'png', 'gif']) - A list of |regexp|s matching suffixes that should be handled by - |g:tlib#sys#system_browser|. - CAVEAT: Must be a |\V| |regexp|. - - *g:tlib#sys#system_rx* -g:tlib#sys#system_rx (default: printf('\V\%(\^\%(%s\):\|.\%(%s\)\)', join(g:tlib#sys#special_protocols, '\|'), join(g:tlib#sys#special_suffixes, '\|'))) - Open links matching this |regexp| with |g:tlib#sys#system_browser|. - CAVEAT: Must be a |\V| |regexp|. - - *g:tlib#sys#system_browser* -g:tlib#sys#system_browser (default: ...) - Open files in the system browser. - - *g:tlib#sys#windows* -g:tlib#sys#windows (default: &shell !~ 'sh' && (has('win16') || has('win32') || has('win64'))) - - *g:tlib#sys#null* -g:tlib#sys#null (default: g:tlib#sys#windows ? 'NUL' : (filereadable('/dev/null') ? '/dev/null' : '')) - - *tlib#sys#IsCygwinBin()* -tlib#sys#IsCygwinBin(cmd) - - *tlib#sys#IsExecutable()* -tlib#sys#IsExecutable(cmd, ...) - - *g:tlib#sys#check_cygpath* -g:tlib#sys#check_cygpath (default: g:tlib#sys#windows && tlib#sys#IsExecutable('cygpath', 1)) - If true, check whether we have to convert a path via cyppath -- - see |tlib#sys#MaybeUseCygpath| - - *g:tlib#sys#cygwin_path_rx* -g:tlib#sys#cygwin_path_rx (default: '/cygwin/') - If a full windows filename (with slashes instead of backslashes) - matches this |regexp|, it is assumed to be a cygwin executable. - - *g:tlib#sys#cygwin_expr* -g:tlib#sys#cygwin_expr (default: '"bash -c ''". escape(%s, "''\\") ."''"') - For cygwin binaries, convert command calls using this vim - expression. - - *tlib#sys#GetCmd()* -tlib#sys#GetCmd(cmd) - - *tlib#sys#MaybeUseCygpath()* -tlib#sys#MaybeUseCygpath(cmd) - If cmd seems to be a cygwin executable, use cygpath to convert - filenames. This assumes that cygwin's which command returns full - filenames for non-cygwin executables. - - *tlib#sys#ConvertPath()* -tlib#sys#ConvertPath(converter, filename) - - *tlib#sys#FileArgs()* -tlib#sys#FileArgs(cmd, files) - - *tlib#sys#IsSpecial()* -tlib#sys#IsSpecial(filename) - Check whether filename matches |g:tlib#sys#system_rx|, i.e. whether it - is a special file that should not be opened in vim. - - *tlib#sys#Open()* -tlib#sys#Open(filename) - Open filename with the default OS application (see - |g:tlib#sys#system_browser|), if |tlib#sys#IsSpecial()| return 1. - Returns 1 if successful or 0 otherwise. - - *tlib#sys#SystemInDir()* -tlib#sys#SystemInDir(dir, expr, ?input='') - - -======================================================================== -autoload/tlib/paragraph.vim~ - - *tlib#paragraph#GetMetric()* -tlib#paragraph#GetMetric() - Return an object describing a |paragraph|. - - *tlib#paragraph#Move()* -tlib#paragraph#Move(direction, count) - This function can be used with the tinymode plugin to move around - paragraphs. - - Example configuration: > - - call tinymode#EnterMap("para_move", "gp") - call tinymode#ModeMsg("para_move", "Move paragraph: j/k") - call tinymode#Map("para_move", "j", "silent call tlib#paragraph#Move('Down', '[N]')") - call tinymode#Map("para_move", "k", "silent call tlib#paragraph#Move('Up', '[N]')") - call tinymode#ModeArg("para_move", "owncount", 1) -< - - -======================================================================== -autoload/tlib/World.vim~ -A prototype used by |tlib#input#List|. -Inherits from |tlib#Object#New|. - - *g:tlib_inputlist_pct* -g:tlib_inputlist_pct (default: 50) - Size of the input list window (in percent) from the main size (of &lines). - See |tlib#input#List()|. - - *g:tlib_inputlist_width_filename* -g:tlib_inputlist_width_filename (default: '&co / 3') - Size of filename columns when listing filenames. - See |tlib#input#List()|. - - *g:tlib_inputlist_filename_indicators* -g:tlib_inputlist_filename_indicators (default: 0) - If true, |tlib#input#List()| will show some indicators about the - status of a filename (e.g. buflisted(), bufloaded() etc.). - This is disabled by default because vim checks also for the file on - disk when doing this. - - *g:tlib_inputlist_shortmessage* -g:tlib_inputlist_shortmessage (default: 0) - If not null, display only a short info about the filter. - - *tlib#World#New()* -tlib#World#New(...) - -prototype.PrintLines - -prototype.Suspend - - -======================================================================== -autoload/tlib/loclist.vim~ - - *tlib#loclist#Browse()* -tlib#loclist#Browse(...) - - -======================================================================== -autoload/tlib/tab.vim~ - - *tlib#tab#BufMap()* -tlib#tab#BufMap() - Return a dictionary of bufnumbers => [[tabpage, winnr] ...] - - *tlib#tab#TabWinNr()* -tlib#tab#TabWinNr(buffer) - Find a buffer's window at some tab page. - - *tlib#tab#Set()* -tlib#tab#Set(tabnr) - - -======================================================================== -autoload/tlib/date.vim~ - - *tlib#date#IsDate()* -tlib#date#IsDate(text) - - *tlib#date#Format()* -tlib#date#Format(secs1970) - - *tlib#date#DiffInDays()* -tlib#date#DiffInDays(date1, ?date2=localtime(), ?allow_zero=0) - - *tlib#date#Parse()* -tlib#date#Parse(date, ?allow_zero=0) "{{{3 - - *tlib#date#SecondsSince1970()* -tlib#date#SecondsSince1970(date, ...) - tlib#date#SecondsSince1970(date, ?daysshift=0, ?allow_zero=0) - - *tlib#date#Shift()* -tlib#date#Shift(date, shift) - - -======================================================================== -autoload/tlib/type.vim~ - - *tlib#type#IsNumber()* -tlib#type#IsNumber(expr) - - *tlib#type#IsString()* -tlib#type#IsString(expr) - - *tlib#type#IsFuncref()* -tlib#type#IsFuncref(expr) - - *tlib#type#IsList()* -tlib#type#IsList(expr) - - *tlib#type#IsDictionary()* -tlib#type#IsDictionary(expr) - - *tlib#type#Is()* -tlib#type#Is(val, type) - - *tlib#type#Are()* -tlib#type#Are(vals, type) - - *tlib#type#Has()* -tlib#type#Has(val, lst) - - *tlib#type#Have()* -tlib#type#Have(vals, lst) - - -======================================================================== -autoload/tlib/Filter_fuzzy.vim~ - - *tlib#Filter_fuzzy#New()* -tlib#Filter_fuzzy#New(...) - Support for "fuzzy" pattern matching in |tlib#input#List()|. - Patterns are interpreted as if characters were connected with '.\{-}'. - - In "fuzzy" mode, the pretty printing of filenames is disabled. - - -======================================================================== -autoload/tlib/assert.vim~ - - *tlib#assert#Enable()* -tlib#assert#Enable() - Enable tracing via |:Tlibassert|. - - *tlib#assert#Disable()* -tlib#assert#Disable() - Disable tracing via |:Tlibassert|. - - *tlib#assert#Assert()* -tlib#assert#Assert(caller, check, vals) - - *tlib#assert#Map()* -tlib#assert#Map(vals, expr) - - *tlib#assert#All()* -tlib#assert#All(vals) - - -======================================================================== -autoload/tlib/textobjects.vim~ - - *standard-paragraph* -tlib#textobjects#StandardParagraph() - Select a "Standard Paragraph", i.e. a text block followed by blank - lines. Other than |ap|, the last paragraph in a document is handled - just the same. - - The |text-object| can be accessed as "sp". Example: > - - vsp ... select the current standard paragraph - -< Return 1, if the paragraph is the last one in the document. - - *tlib#textobjects#Init()* -tlib#textobjects#Init() - - *v_sp* -v_sp ... :call tlib#textobjects#StandardParagraph() - sp ... Standard paragraph (for use as |text-objects|). - - *o_sp* -o_sp ... :normal Vsp - - -======================================================================== -autoload/tlib/arg.vim~ - - *tlib#arg#Get()* -tlib#arg#Get(n, var, ?default="", ?test='') - Set a positional argument from a variable argument list. - See tlib#string#RemoveBackslashes() for an example. - - *tlib#arg#Let()* -tlib#arg#Let(list, ?default='') - Set a positional arguments from a variable argument list. - See tlib#input#List() for an example. - - *tlib#arg#StringAsKeyArgs()* -tlib#arg#StringAsKeyArgs(string, ?keys=[], ?evaluate=0, ?sep=':', ?booleans=0) - - *tlib#arg#StringAsKeyArgsEqual()* -tlib#arg#StringAsKeyArgsEqual(string) - - *tlib#arg#GetOpts()* -tlib#arg#GetOpts(args, ?def={}) - Convert a list of strings of command-line arguments into a dictonary. - - The main use case is to pass [], i.e. the command-line - arguments of a command as list, from a command definition to this - function. - - Example: - ['-h'] - => If def contains a 'help' key, invoke |:help| on its value. - - ['-ab', '--foo', '--bar=BAR', 'bla', bla'] - => {'a': 1, 'b': 1, 'foo': 1, 'bar': 'BAR', '__rest__': ['bla', 'bla']} - - ['-ab', '--', '--foo', '--bar=BAR'] - => {'a': 1, 'b': 1, '__rest__': ['--foo', '--bar=BAR']} - - *tlib#arg#Ex()* -tlib#arg#Ex(arg, ?chars='%#! ') - Escape some characters in a string. - - Use |fnamescape()| if available. - - EXAMPLES: > - exec 'edit '. tlib#arg#Ex('foo%#bar.txt') -< - - -======================================================================== -autoload/tlib/fixes.vim~ - - *tlib#fixes#Winpos()* -tlib#fixes#Winpos() - - -======================================================================== -autoload/tlib/dir.vim~ - - *g:tlib#dir#sep* -g:tlib#dir#sep (default: exists('+shellslash') && !&shellslash ? '\' : '/') - TLet g:tlib#dir#sep = '/' - - *tlib#dir#CanonicName()* -tlib#dir#CanonicName(dirname) - EXAMPLES: > - tlib#dir#CanonicName('foo/bar') - => 'foo/bar/' -< - - *tlib#dir#NativeName()* -tlib#dir#NativeName(dirname) - EXAMPLES: > - tlib#dir#NativeName('foo/bar/') - On Windows: - => 'foo\bar\' - On Linux: - => 'foo/bar/' -< - - *tlib#dir#PlainName()* -tlib#dir#PlainName(dirname) - EXAMPLES: > - tlib#dir#PlainName('foo/bar/') - => 'foo/bar' -< - - *tlib#dir#Ensure()* -tlib#dir#Ensure(dir) - Create a directory if it doesn't already exist. - - *tlib#dir#MyRuntime()* -tlib#dir#MyRuntime() - Return the first directory in &rtp. - - *tlib#dir#CD()* -tlib#dir#CD(dir, ?locally=0) - - *tlib#dir#Push()* -tlib#dir#Push(dir, ?locally=0) - - *tlib#dir#Pop()* -tlib#dir#Pop() - - -======================================================================== -autoload/tlib/hash.vim~ - - *g:tlib#hash#use_crc32* -g:tlib#hash#use_crc32 (default: '') - - *g:tlib#hash#use_adler32* -g:tlib#hash#use_adler32 (default: '') - - *tlib#hash#CRC32B()* -tlib#hash#CRC32B(chars) - - *tlib#hash#CRC32B_ruby()* -tlib#hash#CRC32B_ruby(chars) - - *tlib#hash#CRC32B_vim()* -tlib#hash#CRC32B_vim(chars) - - *tlib#hash#Adler32()* -tlib#hash#Adler32(chars) - - *tlib#hash#Adler32_vim()* -tlib#hash#Adler32_vim(chars) - - *tlib#hash#Adler32_tlib()* -tlib#hash#Adler32_tlib(chars) - - -======================================================================== -autoload/tlib/win.vim~ - - *tlib#win#Set()* -tlib#win#Set(winnr) - Return vim code to jump back to the original window. - - *tlib#win#GetLayout()* -tlib#win#GetLayout(?save_view=0) - - *tlib#win#SetLayout()* -tlib#win#SetLayout(layout) - - *tlib#win#List()* -tlib#win#List() - - *tlib#win#Width()* -tlib#win#Width(wnr) - - *tlib#win#WinDo()* -tlib#win#WinDo(ex) - - -======================================================================== -autoload/tlib/comments.vim~ - - *tlib#comments#Comments()* -tlib#comments#Comments(...) - function! tlib#comments#Comments(?rx='') - - -======================================================================== -autoload/tlib/grep.vim~ - - *tlib#grep#Do()* -tlib#grep#Do(cmd, rx, files) - - *tlib#grep#LocList()* -tlib#grep#LocList(rx, files) - - *tlib#grep#QuickFixList()* -tlib#grep#QuickFixList(rx, files) - - *tlib#grep#List()* -tlib#grep#List(rx, files) - - -======================================================================== -autoload/tlib/qfl.vim~ - - *tlib#qfl#FormatQFLE()* -tlib#qfl#FormatQFLE(qfe) - - *tlib#qfl#QfeFilename()* -tlib#qfl#QfeFilename(qfe) - - *tlib#qfl#InitListBuffer()* -tlib#qfl#InitListBuffer(world) - - *tlib#qfl#SetSyntax()* -tlib#qfl#SetSyntax() - - *tlib#qfl#Balloon()* -tlib#qfl#Balloon() - - *tlib#qfl#AgentEditQFE()* -tlib#qfl#AgentEditQFE(world, selected, ...) - - *tlib#qfl#AgentPreviewQFE()* -tlib#qfl#AgentPreviewQFE(world, selected) - - *tlib#qfl#AgentGotoQFE()* -tlib#qfl#AgentGotoQFE(world, selected) - - *tlib#qfl#AgentWithSelected()* -tlib#qfl#AgentWithSelected(world, selected, ...) - - *tlib#qfl#RunCmdOnSelected()* -tlib#qfl#RunCmdOnSelected(world, selected, cmd, ...) - - *tlib#qfl#AgentSplitBuffer()* -tlib#qfl#AgentSplitBuffer(world, selected) - - *tlib#qfl#AgentTabBuffer()* -tlib#qfl#AgentTabBuffer(world, selected) - - *tlib#qfl#AgentVSplitBuffer()* -tlib#qfl#AgentVSplitBuffer(world, selected) - - *tlib#qfl#AgentEditLine()* -tlib#qfl#AgentEditLine(world, selected) - - *tlib#qfl#EditLine()* -tlib#qfl#EditLine(lnum) - - *tlib#qfl#SetFollowCursor()* -tlib#qfl#SetFollowCursor(world, selected) - - *tlib#qfl#QflList()* -tlib#qfl#QflList(list, ...) - - *tlib#qfl#Browse()* -tlib#qfl#Browse(...) - - -======================================================================== -autoload/tlib/Filter_cnf.vim~ - - *tlib#Filter_cnf#New()* -tlib#Filter_cnf#New(...) - The search pattern for |tlib#input#List()| is in conjunctive normal - form: (P1 OR P2 ...) AND (P3 OR P4 ...) ... - The pattern is a '/\V' very no-'/magic' regexp pattern. - - Pressing joins two patterns with AND. - Pressing | joins two patterns with OR. - I.e. In order to get "lala AND (foo OR bar)", you type - "lala foo|bar". - - This is also the base class for other filters. - -prototype.Pretty - - -======================================================================== -autoload/tlib/Object.vim~ -Provides a prototype plus some OO-like methods. - - *tlib#Object#New()* -tlib#Object#New(?fields={}) - This function creates a prototype that provides some kind of - inheritance mechanism and a way to call parent/super methods. - - The usage demonstrated in the following example works best when every - class/prototype is defined in a file of its own. - - The reason for why there is a dedicated constructor function is that - this layout facilitates the use of templates and that methods are - hidden from the user. Other solutions are possible. - - EXAMPLES: > - let s:prototype = tlib#Object#New({ - \ '_class': ['FooBar'], - \ 'foo': 1, - \ 'bar': 2, - \ }) - " Constructor - function! FooBar(...) - let object = s:prototype.New(a:0 >= 1 ? a:1 : {}) - return object - endf - function! s:prototype.babble() { - echo "I think, therefore I am ". (self.foo * self.bar) ." months old." - } - -< This could now be used like this: > - let myfoo = FooBar({'foo': 3}) - call myfoo.babble() - => I think, therefore I am 6 months old. - echo myfoo.IsA('FooBar') - => 1 - echo myfoo.IsA('object') - => 1 - echo myfoo.IsA('Foo') - => 0 - echo myfoo.RespondTo('babble') - => 1 - echo myfoo.RespondTo('speak') - => 0 -< - -prototype.New - -prototype.Inherit - -prototype.Extend - -prototype.IsA - -prototype.IsRelated - -prototype.RespondTo - -prototype.Super - - *tlib#Object#Methods()* -tlib#Object#Methods(object, ...) - - -======================================================================== -autoload/tlib/buffer.vim~ - - *g:tlib_viewline_position* -g:tlib_viewline_position (default: 'zz') - Where to display the line when using |tlib#buffer#ViewLine|. - For possible values for position see |scroll-cursor|. - - *tlib#buffer#EnableMRU()* -tlib#buffer#EnableMRU() - - *tlib#buffer#DisableMRU()* -tlib#buffer#DisableMRU() - - *tlib#buffer#Set()* -tlib#buffer#Set(buffer) - Set the buffer to buffer and return a command as string that can be - evaluated by |:execute| in order to restore the original view. - - *tlib#buffer#Eval()* -tlib#buffer#Eval(buffer, code) - Evaluate CODE in BUFFER. - - EXAMPLES: > - call tlib#buffer#Eval('foo.txt', 'echo b:bar') -< - - *tlib#buffer#GetList()* -tlib#buffer#GetList(?show_hidden=0, ?show_number=0, " ?order='bufnr') - Possible values for the "order" argument: - bufnr :: Default behaviour - mru :: Sort buffers according to most recent use - basename :: Sort by the file's basename (last component) - - NOTE: MRU order works on second invocation only. If you want to always - use MRU order, call tlib#buffer#EnableMRU() in your ~/.vimrc file. - - *tlib#buffer#ViewLine()* -tlib#buffer#ViewLine(line, ?position='z') - line is either a number or a string that begins with a number. - For possible values for position see |scroll-cursor|. - See also |g:tlib_viewline_position|. - - *tlib#buffer#HighlightLine()* -tlib#buffer#HighlightLine(...) - - *tlib#buffer#DeleteRange()* -tlib#buffer#DeleteRange(line1, line2) - Delete the lines in the current buffer. Wrapper for |:delete|. - - *tlib#buffer#ReplaceRange()* -tlib#buffer#ReplaceRange(line1, line2, lines) - Replace a range of lines. - - *tlib#buffer#ScratchStart()* -tlib#buffer#ScratchStart() - Initialize some scratch area at the bottom of the current buffer. - - *tlib#buffer#ScratchEnd()* -tlib#buffer#ScratchEnd() - Remove the in-buffer scratch area. - - *tlib#buffer#BufDo()* -tlib#buffer#BufDo(exec) - Run exec on all buffers via bufdo and return to the original buffer. - - *tlib#buffer#InsertText()* -tlib#buffer#InsertText(text, keyargs) - Keyargs: - 'shift': 0|N - 'col': col('.')|N - 'lineno': line('.')|N - 'indent': 0|1 - 'pos': 'e'|'s' ... Where to locate the cursor (somewhat like s and e in {offset}) - Insert text (a string) in the buffer. - - *tlib#buffer#InsertText0()* -tlib#buffer#InsertText0(text, ...) - - *tlib#buffer#CurrentByte()* -tlib#buffer#CurrentByte() - - *tlib#buffer#KeepCursorPosition()* -tlib#buffer#KeepCursorPosition(cmd) - Evaluate cmd while maintaining the cursor position and jump registers. - - -======================================================================== -autoload/tlib/hook.vim~ - - *tlib#hook#Run()* -tlib#hook#Run(hook, ?dict={}) - Execute dict[hook], w:{hook}, b:{hook}, or g:{hook} if existent. - - -======================================================================== -autoload/tlib/string.vim~ - - *tlib#string#RemoveBackslashes()* -tlib#string#RemoveBackslashes(text, ?chars=' ') - Remove backslashes from text (but only in front of the characters in - chars). - - *tlib#string#Chomp()* -tlib#string#Chomp(string, ?max=0) - - *tlib#string#Format()* -tlib#string#Format(template, dict) - - *tlib#string#Printf1()* -tlib#string#Printf1(format, string) - This function deviates from |printf()| in certain ways. - Additional items: - %{rx} ... insert escaped regexp - %{fuzzyrx} ... insert typo-tolerant regexp - - *tlib#string#TrimLeft()* -tlib#string#TrimLeft(string) - - *tlib#string#TrimRight()* -tlib#string#TrimRight(string) - - *tlib#string#Strip()* -tlib#string#Strip(string) - - *tlib#string#Count()* -tlib#string#Count(string, rx) - - *tlib#string#SplitCommaList()* -tlib#string#SplitCommaList(text, ...) - - - -vim:tw=78:fo=w2croql:isk=!-~,^*,^|,^":ts=8:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/tlib/plugin/02tlib.vim b/vim/.vim_runtime/sources_non_forked/tlib/plugin/02tlib.vim deleted file mode 100644 index cc2c3ca..0000000 --- a/vim/.vim_runtime/sources_non_forked/tlib/plugin/02tlib.vim +++ /dev/null @@ -1,102 +0,0 @@ -" @Author: Tom Link (micathom AT gmail com?subject=[vim]) -" @Created: 2007-04-10. -" @Last Change: 2015-11-23. -" @License: GPL (see http://www.gnu.org/licenses/gpl.txt) -" @Revision: 808 -" @Website: http://www.vim.org/account/profile.php?user_id=4037 -" GetLatestVimScripts: 1863 1 tlib.vim -" tlib.vim -- Some utility functions - -if &cp || exists("g:loaded_tlib") - finish -endif -if v:version < 700 "{{{2 - echoerr "tlib requires Vim >= 7" - finish -endif -let g:loaded_tlib = 117 - -let s:save_cpo = &cpo -set cpo&vim - - -" :display: :TLet VAR = VALUE -" Set a variable only if it doesn't already exist. -" EXAMPLES: > -" TLet foo = 1 -" TLet foo = 2 -" echo foo -" => 1 -command! -nargs=+ TLet if !exists(matchstr(, '^[^=[:space:]]\+')) | exec 'let '. | endif - - -" Open a scratch buffer (a buffer without a file). -" TScratch ... use split window -" TScratch! ... use the whole frame -" This command takes an (inner) dictionary as optional argument. -" EXAMPLES: > -" TScratch 'scratch': '__FOO__' -" => Open a scratch buffer named __FOO__ -command! -bar -nargs=* -bang TScratch call tlib#scratch#UseScratch({'scratch_split': empty(''), }) - - -" :display: :TVarArg VAR1, [VAR2, DEFAULT2] ... -" A convenience wrapper for |tlib#arg#Let|. -" EXAMPLES: > -" function! Foo(...) -" TVarArg ['a', 1], 'b' -" echo 'a='. a -" echo 'b='. b -" endf -command! -nargs=+ TVarArg exec tlib#arg#Let([]) - - -" :display: :TBrowseOutput COMMAND -" Ever wondered how to efficiently browse the output of a command -" without redirecting it to a file? This command takes a command as -" argument and presents the output via |tlib#input#List()| so that you -" can easily search for a keyword (e.g. the name of a variable or -" function) and the like. -" -" If you press enter, the selected line will be copied to the command -" line. Press ESC to cancel browsing. -" -" EXAMPLES: > -" TBrowseOutput 20verb TeaseTheCulprit -command! -nargs=1 -complete=command TBrowseOutput call tlib#cmd#BrowseOutput() - - -" :display: :TBrowseScriptnames -" List all sourced script names (the output of ':scriptnames'). -" -" When you press enter, the selected script will be opened in the current -" window. Press ESC to cancel. -" -" EXAMPLES: > -" TBrowseScriptnames -command! -nargs=0 -complete=command TBrowseScriptnames call tlib#cmd#TBrowseScriptnames() - - -" :display: :Tlibtrace GUARD, VAR1, VAR2... -" Do nothing unless |tlib#trace#Enable()| was called. -" -" When |:Tlibtraceset| or |tlib#trace#Enable()| were called: -" -" If GUARD is a number that evaluates to true or if it is a string that -" matches a |regexp|, which was added using Tlibtrace! (with '!'), -" display the values of VAR1, VAR2 ... -command! -nargs=+ -bang -bar Tlibtrace : - - -" :Tlibtraceset +RX1, -RX2... -" If |tlib#trace#Enable()| was called: With the optional , users -" can add and remove GUARDs (actually a |regexp|) that should be traced. -command! -nargs=+ -bang -bar Tlibtraceset call tlib#trace#Set() - - -" :display: :Tlibtrace ASSERTION -command! -nargs=+ -bang -bar Tlibassert : - - -let &cpo = s:save_cpo -unlet s:save_cpo diff --git a/vim/.vim_runtime/sources_non_forked/tlib/test/tlib.vim b/vim/.vim_runtime/sources_non_forked/tlib/test/tlib.vim deleted file mode 100644 index 2277d36..0000000 --- a/vim/.vim_runtime/sources_non_forked/tlib/test/tlib.vim +++ /dev/null @@ -1,219 +0,0 @@ -" tLib.vim -" @Author: Thomas Link (mailto:micathom AT gmail com?subject=vim-tLib) -" @Website: http://www.vim.org/account/profile.php?user_id=4037 -" @License: GPL (see http://www.gnu.org/licenses/gpl.txt) -" @Created: 2006-12-17. -" @Last Change: 2008-11-23. -" @Revision: 129 - -if !exists("loaded_tassert") - echoerr 'tAssert (vimscript #1730) is required' -endif - - -TAssertBegin! "tlib" - - -" List {{{2 -fun! Add(a,b) - return a:a + a:b -endf -TAssert IsEqual(tlib#list#Inject([], 0, function('Add')), 0) -TAssert IsEqual(tlib#list#Inject([1,2,3], 0, function('Add')), 6) -delfunction Add - -TAssert IsEqual(tlib#list#Compact([]), []) -TAssert IsEqual(tlib#list#Compact([0,1,2,3,[], {}, ""]), [1,2,3]) - -TAssert IsEqual(tlib#list#Flatten([]), []) -TAssert IsEqual(tlib#list#Flatten([1,2,3]), [1,2,3]) -TAssert IsEqual(tlib#list#Flatten([1,2, [1,2,3], 3]), [1,2,1,2,3,3]) -TAssert IsEqual(tlib#list#Flatten([0,[1,2,[3,""]]]), [0,1,2,3,""]) - -TAssert IsEqual(tlib#list#FindAll([1,2,3], 'v:val >= 2'), [2,3]) -TAssert IsEqual(tlib#list#FindAll([1,2,3], 'v:val >= 2', 'v:val * 10'), [20,30]) - -TAssert IsEqual(tlib#list#Find([1,2,3], 'v:val >= 2'), 2) -TAssert IsEqual(tlib#list#Find([1,2,3], 'v:val >= 2', 0, 'v:val * 10'), 20) -TAssert IsEqual(tlib#list#Find([1,2,3], 'v:val >= 5', 10), 10) - -TAssert IsEqual(tlib#list#Any([1,2,3], 'v:val >= 2'), 1) -TAssert IsEqual(tlib#list#Any([1,2,3], 'v:val >= 5'), 0) - -TAssert IsEqual(tlib#list#All([1,2,3], 'v:val < 5'), 1) -TAssert IsEqual(tlib#list#All([1,2,3], 'v:val >= 2'), 0) - -TAssert IsEqual(tlib#list#Remove([1,2,1,2], 2), [1,1,2]) -TAssert IsEqual(tlib#list#RemoveAll([1,2,1,2], 2), [1,1]) - -TAssert IsEqual(tlib#list#Zip([[1,2,3], [4,5,6]]), [[1,4], [2,5], [3,6]]) -TAssert IsEqual(tlib#list#Zip([[1,2,3], [4,5,6,7]]), [[1,4], [2,5], [3,6], ['', 7]]) -TAssert IsEqual(tlib#list#Zip([[1,2,3], [4,5,6,7]], -1), [[1,4], [2,5], [3,6], [-1,7]]) -TAssert IsEqual(tlib#list#Zip([[1,2,3,7], [4,5,6]], -1), [[1,4], [2,5], [3,6], [7,-1]]) - - -" Vars {{{2 -let g:foo = 1 -let g:bar = 2 -let b:bar = 3 -let s:bar = 4 - -TAssert IsEqual(tlib#var#Get('bar', 'bg'), 3) -TAssert IsEqual(tlib#var#Get('bar', 'g'), 2) -TAssert IsEqual(tlib#var#Get('foo', 'bg'), 1) -TAssert IsEqual(tlib#var#Get('foo', 'g'), 1) -TAssert IsEqual(tlib#var#Get('none', 'l'), '') - -TAssert IsEqual(eval(tlib#var#EGet('bar', 'bg')), 3) -TAssert IsEqual(eval(tlib#var#EGet('bar', 'g')), 2) -" TAssert IsEqual(eval(tlib#var#EGet('bar', 'sg')), 4) -TAssert IsEqual(eval(tlib#var#EGet('foo', 'bg')), 1) -TAssert IsEqual(eval(tlib#var#EGet('foo', 'g')), 1) -TAssert IsEqual(eval(tlib#var#EGet('none', 'l')), '') - -unlet g:foo -unlet g:bar -unlet b:bar - - - -" Filenames {{{2 -TAssert IsEqual(tlib#file#Split('foo/bar/filename.txt'), ['foo', 'bar', 'filename.txt']) -TAssert IsEqual(tlib#file#Split('/foo/bar/filename.txt'), ['', 'foo', 'bar', 'filename.txt']) -TAssert IsEqual(tlib#file#Split('ftp://foo/bar/filename.txt'), ['ftp:/', 'foo', 'bar', 'filename.txt']) - -TAssert IsEqual(tlib#file#Join(['foo', 'bar', 'filename.txt']), 'foo/bar/filename.txt') -TAssert IsEqual(tlib#file#Join(['', 'foo', 'bar', 'filename.txt']), '/foo/bar/filename.txt') -TAssert IsEqual(tlib#file#Join(['ftp:/', 'foo', 'bar', 'filename.txt']), 'ftp://foo/bar/filename.txt') - -TAssert IsEqual(tlib#file#Relative('foo/bar/filename.txt', 'foo'), 'bar/filename.txt') -TAssert IsEqual(tlib#file#Relative('foo/bar/filename.txt', 'foo/base'), '../bar/filename.txt') -TAssert IsEqual(tlib#file#Relative('filename.txt', 'foo/base'), '../../filename.txt') -TAssert IsEqual(tlib#file#Relative('/foo/bar/filename.txt', '/boo/base'), '../../foo/bar/filename.txt') -TAssert IsEqual(tlib#file#Relative('/bar/filename.txt', '/boo/base'), '../../bar/filename.txt') -TAssert IsEqual(tlib#file#Relative('/foo/bar/filename.txt', '/base'), '../foo/bar/filename.txt') -TAssert IsEqual(tlib#file#Relative('c:/bar/filename.txt', 'x:/boo/base'), 'c:/bar/filename.txt') - - - -" Prototype-based programming {{{2 -let test = tlib#Test#New() -TAssert test.IsA('Test') -TAssert !test.IsA('foo') -TAssert test.RespondTo('RespondTo') -TAssert !test.RespondTo('RespondToNothing') -let test1 = tlib#Test#New() -TAssert test.IsRelated(test1) -let testworld = tlib#World#New() -TAssert !test.IsRelated(testworld) - -let testc = tlib#TestChild#New() -TAssert IsEqual(testc.Dummy(), 'TestChild.vim') -TAssert IsEqual(testc.Super('Dummy', []), 'Test.vim') - - - -" Optional arguments {{{2 -function! TestGetArg(...) "{{{3 - exec tlib#arg#Get(1, 'foo', 1) - return foo -endf - -function! TestGetArg1(...) "{{{3 - exec tlib#arg#Get(1, 'foo', 1, '!= ""') - return foo -endf - -TAssert IsEqual(TestGetArg(), 1) -TAssert IsEqual(TestGetArg(''), '') -TAssert IsEqual(TestGetArg(2), 2) -TAssert IsEqual(TestGetArg1(), 1) -TAssert IsEqual(TestGetArg1(''), 1) -TAssert IsEqual(TestGetArg1(2), 2) - -function! TestArgs(...) "{{{3 - exec tlib#arg#Let([['foo', "o"], ['bar', 2]]) - return repeat(foo, bar) -endf -TAssert IsEqual(TestArgs(), 'oo') -TAssert IsEqual(TestArgs('a'), 'aa') -TAssert IsEqual(TestArgs('a', 3), 'aaa') - -function! TestArgs1(...) "{{{3 - exec tlib#arg#Let(['foo', ['bar', 2]]) - return repeat(foo, bar) -endf -TAssert IsEqual(TestArgs1(), '') -TAssert IsEqual(TestArgs1('a'), 'aa') -TAssert IsEqual(TestArgs1('a', 3), 'aaa') - -function! TestArgs2(...) "{{{3 - exec tlib#arg#Let(['foo', 'bar'], 1) - return repeat(foo, bar) -endf -TAssert IsEqual(TestArgs2(), '1') -TAssert IsEqual(TestArgs2('a'), 'a') -TAssert IsEqual(TestArgs2('a', 3), 'aaa') - -function! TestArgs3(...) - TVarArg ['a', 1], 'b' - return a . b -endf -TAssert IsEqual(TestArgs3(), '1') -TAssert IsEqual(TestArgs3('a'), 'a') -TAssert IsEqual(TestArgs3('a', 3), 'a3') - -delfunction TestGetArg -delfunction TestGetArg1 -delfunction TestArgs -delfunction TestArgs1 -delfunction TestArgs2 -delfunction TestArgs3 - - - -" Strings {{{2 -TAssert IsString(tlib#string#RemoveBackslashes('foo bar')) -TAssert IsEqual(tlib#string#RemoveBackslashes('foo bar'), 'foo bar') -TAssert IsEqual(tlib#string#RemoveBackslashes('foo\ bar'), 'foo bar') -TAssert IsEqual(tlib#string#RemoveBackslashes('foo\ \\bar'), 'foo \\bar') -TAssert IsEqual(tlib#string#RemoveBackslashes('foo\ \\bar', '\ '), 'foo \bar') - - - -" Regexp {{{2 -for c in split('^$.*+\()|{}[]~', '\zs') - let s = printf('%sfoo%sbar%s', c, c, c) - TAssert (s =~ '\m^'. tlib#rx#Escape(s, 'm') .'$') - TAssert (s =~ '\M^'. tlib#rx#Escape(s, 'M') .'$') - TAssert (s =~ '\v^'. tlib#rx#Escape(s, 'v') .'$') - TAssert (s =~ '\V\^'. tlib#rx#Escape(s, 'V') .'\$') -endfor - - -" Encode, decode -TAssert IsEqual(tlib#url#Decode('http://example.com/foo+bar%25bar'), 'http://example.com/foo bar%bar') -TAssert IsEqual(tlib#url#Decode('Hello%20World.%20%20Good%2c%20bye.'), 'Hello World. Good, bye.') - -TAssert IsEqual(tlib#url#Encode('foo bar%bar'), 'foo+bar%%bar') -TAssert IsEqual(tlib#url#Encode('Hello World. Good, bye.'), 'Hello+World.+Good%2c+bye.') - -TAssertEnd test test1 testc testworld - - -TAssert IsEqual(tlib#string#Count("fooo", "o"), 3) -TAssert IsEqual(tlib#string#Count("***", "\\*"), 3) -TAssert IsEqual(tlib#string#Count("***foo", "\\*"), 3) -TAssert IsEqual(tlib#string#Count("foo***", "\\*"), 3) - - -finish "{{{1 - - -" Input {{{2 -echo tlib#input#List('s', 'Test', ['barfoobar', 'barFoobar']) -echo tlib#input#List('s', 'Test', ['barfoobar', 'bar foo bar', 'barFoobar']) -echo tlib#input#List('s', 'Test', ['barfoobar', 'bar1Foo1bar', 'barFoobar']) -echo tlib#input#EditList('Test', ['bar1', 'bar2', 'bar3', 'foo1', 'foo2', 'foo3']) - - diff --git a/vim/.vim_runtime/sources_non_forked/typescript-vim/README.md b/vim/.vim_runtime/sources_non_forked/typescript-vim/README.md deleted file mode 100644 index f6949c8..0000000 --- a/vim/.vim_runtime/sources_non_forked/typescript-vim/README.md +++ /dev/null @@ -1,118 +0,0 @@ - -README.md

    Typescript Syntax for Vim

    - -

    Syntax file and other settings for TypeScript. The -syntax file is taken from this blog -post.

    - -

    Checkout Tsuquyomi for omni-completion -and other features for TypeScript editing.

    - -

    Install

    - -

    From Vim 8 onward, the plugin can be installed as simply as (Unix/Mac):

    - -
    git clone https://github.com/leafgarland/typescript-vim.git ~/.vim/pack/typescript/start/typescript-vim
    - -

    On Windows/Powershell, use the following:

    - -
    git clone https://github.com/leafgarland/typescript-vim.git $home/vimfiles/pack/typescript/start/typescript-vim
    - -

    For older versions of Vim, the simplest way to install is via a Vim add-in manager such as -Plug, -Vundle or -Pathogen.

    - -

    See the Installation Wiki

    - -

    Pathogen

    - -
    git clone https://github.com/leafgarland/typescript-vim.git ~/.vim/bundle/typescript-vim
    - -

    If you want to install manually then you need to copy the files from this -repository into your vim path, see the vim docs for :help -runtimepath -for more information. This might be as simple as copying the files and -directories to ~/.vim/ but it depends on your Vim install and operating -system.

    - -

    Usage

    - -

    Once the files are installed the syntax highlighting and other settings will be -automatically enabled anytime you edit a .ts file.

    - -

    Indenting

    - -

    This plugin includes a custom indenter (based on pangloss/vim-javascript’s -indenter), -it works pretty well but there are cases where it fails. If these bother you or -want to use other indent settings you can disable it by setting a flag in your -.vimrc:

    - -
    let g:typescript_indent_disable = 1
    - -

    If you want the indenter to automatically indent chained method calls as you type.

    - -
    something
    -    .foo()
    -    .bar();
    -
    - -

    Then add something like setlocal indentkeys+=0. to your .vimrc, see :help -'indentkeys' in vim for more information.

    - -

    If you use the = operator to re-indent code it will always indent -chained method calls - this can be disabled by changing the regex the -indent script uses to identify indented lines. In this case removing ‘.’ -from the regex means that it wont indent lines starting with ‘.’. Note, -this is not ideal as the regex may change making your setting out of date.

    - -
    let g:typescript_opfirst='\%([<>=,?^%|*/&]\|\([-:+]\)\1\@!\|!=\|in\%(stanceof\)\=\>\)'
    - -

    Compiler settings

    - -

    This plugin contains compiler settings to set makeprg and errorformat. -The compiler settings enable you to call the tsc compiler directly from Vim -and display any errors or warnings in Vim’s QuickFix window.

    - -

    To run the compiler, enter :make, this will run tsc against the last saved -version of your currently edited file.

    - -

    The default for makeprg is tsc $* %. You can enter other compiler options into your :make -command line and they will be inserted in place of $*.

    - -

    There are options to change the compiler name and to insert default options.

    - -
    let g:typescript_compiler_binary = 'tsc'
    -let g:typescript_compiler_options = ''
    - -

    These options will be passed to the binary as command arguments. For example, -if g:typescript_compiler_binary = 'tsc' and g:typescript_compiler_options = '--lib es6', -l:makeprg will be: tsc --lib es6 $* %.

    - -

    You can completely override this plugin’s compiler settings with something like -this in your .vimrc, where you can set makeprg to whatever you want.

    - -
      autocmd FileType typescript :set makeprg=tsc
    - -

    Note, this plugin’s compiler settings are not used by Syntastic which has its own -way of changing the options. See https://github.com/scrooloose/syntastic#faqargs.

    - -

    You can use something like this in your .vimrc to make the QuickFix -window automatically appear if :make has any errors.

    - -
    autocmd QuickFixCmdPost [^l]* nested cwindow
    -autocmd QuickFixCmdPost    l* nested lwindow
    - -

    Syntax highlighting

    - -

    Syntax highlighting for TypeScript can be customized by following variables.

    - -
      -
    • g:typescript_ignore_typescriptdoc: When this variable is defined, doccomments will not be -highlighted.
    • -
    • g:typescript_ignore_browserwords: When this variable is set to 1, browser API names such as -window or document will not be highlighted. (default to 0)
    • -
    - -

    Obligatory screenshot

    diff --git a/vim/.vim_runtime/sources_non_forked/typescript-vim/compiler/typescript.vim b/vim/.vim_runtime/sources_non_forked/typescript-vim/compiler/typescript.vim deleted file mode 100644 index 77121eb..0000000 --- a/vim/.vim_runtime/sources_non_forked/typescript-vim/compiler/typescript.vim +++ /dev/null @@ -1,30 +0,0 @@ -if exists("current_compiler") - finish -endif -let current_compiler = "typescript" - -if !exists("g:typescript_compiler_binary") - let g:typescript_compiler_binary = "tsc" -endif - -if !exists("g:typescript_compiler_options") - let g:typescript_compiler_options = "" -endif - -if exists(":CompilerSet") != 2 - command! -nargs=* CompilerSet setlocal -endif - -let s:cpo_save = &cpo -set cpo-=C - -execute 'CompilerSet makeprg=' - \ . escape(g:typescript_compiler_binary, ' ') - \ . '\ ' - \ . escape(g:typescript_compiler_options, ' ') - \ . '\ $*\ %' - -CompilerSet errorformat=%+A\ %#%f\ %#(%l\\\,%c):\ %m,%C%m - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/vim/.vim_runtime/sources_non_forked/typescript-vim/ftdetect/typescript.vim b/vim/.vim_runtime/sources_non_forked/typescript-vim/ftdetect/typescript.vim deleted file mode 100644 index 7c10206..0000000 --- a/vim/.vim_runtime/sources_non_forked/typescript-vim/ftdetect/typescript.vim +++ /dev/null @@ -1,4 +0,0 @@ -" use `set filetype` to override default filetype=xml for *.ts files -autocmd BufNewFile,BufRead *.ts set filetype=typescript -" use `setfiletype` to not override any other plugins like ianks/vim-tsx -autocmd BufNewFile,BufRead *.tsx setfiletype typescript diff --git a/vim/.vim_runtime/sources_non_forked/typescript-vim/ftplugin/typescript.vim b/vim/.vim_runtime/sources_non_forked/typescript-vim/ftplugin/typescript.vim deleted file mode 100644 index da4b1e8..0000000 --- a/vim/.vim_runtime/sources_non_forked/typescript-vim/ftplugin/typescript.vim +++ /dev/null @@ -1,21 +0,0 @@ -if exists("b:did_ftplugin") - finish -endif -let b:did_ftplugin = 1 - -let s:cpo_save = &cpo -set cpo-=C - -compiler typescript -setlocal commentstring=//\ %s - -" 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 - -setlocal suffixesadd+=.ts,.tsx - -let b:undo_ftplugin = "setl fo< ofu< com< cms<" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/vim/.vim_runtime/sources_non_forked/typescript-vim/indent/typescript.vim b/vim/.vim_runtime/sources_non_forked/typescript-vim/indent/typescript.vim deleted file mode 100644 index 3ee9aa0..0000000 --- a/vim/.vim_runtime/sources_non_forked/typescript-vim/indent/typescript.vim +++ /dev/null @@ -1,360 +0,0 @@ -" Vim indent file -" Language: Typescript -" Acknowledgement: Almost direct copy from https://github.com/pangloss/vim-javascript - -" Only load this indent file when no other was loaded. -if exists('b:did_indent') || get(g:, 'typescript_indent_disable', 0) - finish -endif -let b:did_indent = 1 - -" Now, set up our indentation expression and keys that trigger it. -setlocal indentexpr=GetTypescriptIndent() -setlocal autoindent nolisp nosmartindent -setlocal indentkeys+=0],0) - -let b:undo_indent = 'setlocal indentexpr< smartindent< autoindent< indentkeys<' - -" Only define the function once. -if exists('*GetTypescriptIndent') - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -" Get shiftwidth value -if exists('*shiftwidth') - function s:sw() - return shiftwidth() - endfunction -else - function s:sw() - return &sw - endfunction -endif - -" searchpair() wrapper -if has('reltime') - function s:GetPair(start,end,flags,skip,time,...) - return searchpair('\m'.a:start,'','\m'.a:end,a:flags,a:skip,max([prevnonblank(v:lnum) - 2000,0] + a:000),a:time) - endfunction -else - function s:GetPair(start,end,flags,skip,...) - return searchpair('\m'.a:start,'','\m'.a:end,a:flags,a:skip,max([prevnonblank(v:lnum) - 1000,get(a:000,1)])) - endfunction -endif - -" Regex of syntax group names that are or delimit string or are comments. -let s:syng_strcom = 'string\|comment\|regex\|special\|doc\|template\%(braces\)\@!' -let s:syng_str = 'string\|template\|special' -let s:syng_com = 'comment\|doc' -" Expression used to check whether we should skip a match with searchpair(). -let s:skip_expr = "synIDattr(synID(line('.'),col('.'),0),'name') =~? '".s:syng_strcom."'" - -function s:skip_func() - if !s:free || search('\m`\|\${\|\*\/','nW',s:looksyn) - let s:free = !eval(s:skip_expr) - let s:looksyn = line('.') - return !s:free - endif - let s:looksyn = line('.') - return getline('.') =~ '\%<'.col('.').'c\/.\{-}\/\|\%>'.col('.').'c[''"]\|\\$' && - \ eval(s:skip_expr) -endfunction - -function s:alternatePair(stop) - let pos = getpos('.')[1:2] - while search('\m[][(){}]','bW',a:stop) - if !s:skip_func() - let idx = stridx('])}',s:looking_at()) - if idx + 1 - if s:GetPair(['\[','(','{'][idx], '])}'[idx],'bW','s:skip_func()',2000,a:stop) <= 0 - break - endif - else - return - endif - endif - endwhile - call call('cursor',pos) -endfunction - -function s:save_pos(f,...) - let l:pos = getpos('.')[1:2] - let ret = call(a:f,a:000) - call call('cursor',l:pos) - return ret -endfunction - -function s:syn_at(l,c) - return synIDattr(synID(a:l,a:c,0),'name') -endfunction - -function s:looking_at() - return getline('.')[col('.')-1] -endfunction - -function s:token() - return s:looking_at() =~ '\k' ? expand('') : s:looking_at() -endfunction - -function s:previous_token() - let l:n = line('.') - if (s:looking_at() !~ '\k' || search('\m\<','cbW')) && search('\m\S','bW') - if (getline('.')[col('.')-2:col('.')-1] == '*/' || line('.') != l:n && - \ getline('.') =~ '\%<'.col('.').'c\/\/') && s:syn_at(line('.'),col('.')) =~? s:syng_com - while search('\m\/\ze[/*]','cbW') - if !search('\m\S','bW') - break - elseif s:syn_at(line('.'),col('.')) !~? s:syng_com - return s:token() - endif - endwhile - else - return s:token() - endif - endif - return '' -endfunction - -function s:others(p) - return "((line2byte(line('.')) + col('.')) <= ".(line2byte(a:p[0]) + a:p[1]).") || ".s:skip_expr -endfunction - -function s:tern_skip(p) - return s:GetPair('{','}','nbW',s:others(a:p),200,a:p[0]) > 0 -endfunction - -function s:tern_col(p) - return s:GetPair('?',':\@ 0 -endfunction - -function s:label_col() - let pos = getpos('.')[1:2] - let [s:looksyn,s:free] = pos - call s:alternatePair(0) - if s:save_pos('s:IsBlock') - let poss = getpos('.')[1:2] - return call('cursor',pos) || !s:tern_col(poss) - elseif s:looking_at() == ':' - return !s:tern_col([0,0]) - endif -endfunction - -" configurable regexes that define continuation lines, not including (, {, or [. -let s:opfirst = '^' . get(g:,'typescript_opfirst', - \ '\%([<>=,?^%|*/&]\|\([-.:+]\)\1\@!\|!=\|in\%(stanceof\)\=\>\)') -let s:continuation = get(g:,'typescript_continuation', - \ '\%([-+<>=,.~!?/*^%|&:]\|\<\%(typeof\|delete\|void\|in\|instanceof\)\)') . '$' - -function s:continues(ln,con) - return !cursor(a:ln, match(' '.a:con,s:continuation)) && - \ eval( (['s:syn_at(line("."),col(".")) !~? "regex"'] + - \ repeat(['getline(".")[col(".")-2] != tr(s:looking_at(),">","=")'],3) + - \ repeat(['s:previous_token() != "."'],5) + [1])[ - \ index(split('/ > - + typeof in instanceof void delete'),s:token())]) -endfunction - -" get the line of code stripped of comments and move cursor to the last -" non-comment char. -function s:Trim(ln) - call cursor(a:ln+1,1) - call s:previous_token() - return strpart(getline('.'),0,col('.')) -endfunction - -" Find line above 'lnum' that isn't empty or in a comment -function s:PrevCodeLine(lnum) - let l:n = prevnonblank(a:lnum) - while l:n - if getline(l:n) =~ '^\s*\/[/*]' - if (stridx(getline(l:n),'`') > 0 || getline(l:n-1)[-1:] == '\') && - \ s:syn_at(l:n,1) =~? s:syng_str - return l:n - endif - let l:n = prevnonblank(l:n-1) - elseif getline(l:n) =~ '\([/*]\)\1\@![/*]' && s:syn_at(l:n,1) =~? s:syng_com - let l:n = s:save_pos('eval', - \ 'cursor('.l:n.',1) + search(''\m\/\*'',"bW")') - else - return l:n - endif - endwhile -endfunction - -" Check if line 'lnum' has a balanced amount of parentheses. -function s:Balanced(lnum) - let l:open = 0 - let l:line = getline(a:lnum) - let pos = match(l:line, '[][(){}]', 0) - while pos != -1 - if s:syn_at(a:lnum,pos + 1) !~? s:syng_strcom - let l:open += match(' ' . l:line[pos],'[[({]') - if l:open < 0 - return - endif - endif - let pos = match(l:line, '[][(){}]', pos + 1) - endwhile - return !l:open -endfunction - -function s:OneScope(lnum) - let pline = s:Trim(a:lnum) - let kw = 'else do' - if pline[-1:] == ')' && s:GetPair('(', ')', 'bW', s:skip_expr, 100) > 0 - call s:previous_token() - let kw = 'for if let while with' - if index(split('await each'),s:token()) + 1 - call s:previous_token() - let kw = 'for' - endif - endif - return pline[-2:] == '=>' || index(split(kw),s:token()) + 1 && - \ s:save_pos('s:previous_token') != '.' -endfunction - -" returns braceless levels started by 'i' and above lines * &sw. 'num' is the -" lineNr which encloses the entire context, 'cont' if whether line 'i' + 1 is -" a continued expression, which could have started in a braceless context -function s:iscontOne(i,num,cont) - let [l:i, l:num, bL] = [a:i, a:num + !a:num, 0] - let pind = a:num ? indent(l:num) + s:W : 0 - let ind = indent(l:i) + (a:cont ? 0 : s:W) - while l:i >= l:num && (ind > pind || l:i == l:num) - if indent(l:i) < ind && s:OneScope(l:i) - let bL += s:W - let l:i = line('.') - elseif !a:cont || bL || ind < indent(a:i) - break - endif - let ind = min([ind, indent(l:i)]) - let l:i = s:PrevCodeLine(l:i - 1) - endwhile - return bL -endfunction - -" https://github.com/sweet-js/sweet.js/wiki/design#give-lookbehind-to-the-reader -function s:IsBlock() - if s:looking_at() == '{' - let l:n = line('.') - let char = s:previous_token() - if match(s:stack,'xml\|jsx') + 1 && s:syn_at(line('.'),col('.')-1) =~? 'xml\|jsx' - return char != '{' - elseif char =~ '\k' - return index(split('return const let import export yield default delete var await void typeof throw case new in instanceof') - \ ,char) < (line('.') != l:n) || s:previous_token() == '.' - elseif char == '>' - return getline('.')[col('.')-2] == '=' || s:syn_at(line('.'),col('.')) =~? '^jsflow' - elseif char == ':' - return getline('.')[col('.')-2] != ':' && s:label_col() - elseif char == '/' - return s:syn_at(line('.'),col('.')) =~? 'regex' - endif - return char !~ '[=~!<*,?^%|&([]' && - \ (char !~ '[-+]' || l:n != line('.') && getline('.')[col('.')-2] == char) - endif -endfunction - -function GetTypescriptIndent() - let b:js_cache = get(b:,'js_cache',[0,0,0]) - " Get the current line. - call cursor(v:lnum,1) - let l:line = getline('.') - " use synstack as it validates syn state and works in an empty line - let s:stack = synstack(v:lnum,1) - let syns = synIDattr(get(s:stack,-1),'name') - - " start with strings,comments,etc. - if syns =~? s:syng_com - if l:line =~ '^\s*\*' - return cindent(v:lnum) - elseif l:line !~ '^\s*\/[/*]' - return -1 - endif - elseif syns =~? s:syng_str && l:line !~ '^[''"]' - if b:js_cache[0] == v:lnum - 1 && s:Balanced(v:lnum-1) - let b:js_cache[0] = v:lnum - endif - return -1 - endif - let l:lnum = s:PrevCodeLine(v:lnum - 1) - if !l:lnum - return - endif - - let l:line = substitute(l:line,'^\s*','','') - if l:line[:1] == '/*' - let l:line = substitute(l:line,'^\%(\/\*.\{-}\*\/\s*\)*','','') - endif - if l:line =~ '^\/[/*]' - let l:line = '' - endif - - " the containing paren, bracket, curly, or closing '>'. - " Many hacks for performance - let idx = index([']',')','}','>'],l:line[0]) - if b:js_cache[0] >= l:lnum && b:js_cache[0] < v:lnum && - \ (b:js_cache[0] > l:lnum || s:Balanced(l:lnum)) - call call('cursor',b:js_cache[1:]) - else - let [s:looksyn, s:free, top] = [v:lnum - 1, 1, (!indent(l:lnum) && - \ s:syn_at(l:lnum,1) !~? s:syng_str) * l:lnum] - if idx + 1 - call s:GetPair(['\[','(','{'][idx],'])}'[idx],'bW','s:skip_func()',2000,top) - elseif getline(v:lnum) !~ '^\S' && syns =~? 'block' - call s:GetPair('{','}','bW','s:skip_func()',2000,top) - else - call s:alternatePair(top) - endif - endif - - let b:js_cache = [v:lnum] + (line('.') == v:lnum ? [0,0] : getpos('.')[1:2]) - let num = b:js_cache[1] - - let [s:W, isOp, bL, switch_offset] = [s:sw(),0,0,0] - if !num || s:IsBlock() - let ilnum = line('.') - let pline = s:save_pos('s:Trim',l:lnum) - if num && s:looking_at() == ')' && s:GetPair('(', ')', 'bW', s:skip_expr, 100) > 0 - let num = ilnum == num ? line('.') : num - if idx < 0 && s:previous_token() ==# 'switch' && s:previous_token() != '.' - if &cino !~ ':' - let switch_offset = s:W - else - let cinc = matchlist(&cino,'.*:\zs\(-\)\=\(\d*\)\(\.\d\+\)\=\(s\)\=\C') - let switch_offset = max([cinc[0] is '' ? 0 : (cinc[1].1) * - \ ((strlen(cinc[2].cinc[3]) ? str2nr(cinc[2].str2nr(cinc[3][1])) : 10) * - \ (cinc[4] is '' ? 1 : s:W)) / 10, -indent(num)]) - endif - if pline[-1:] != '.' && l:line =~# '^\%(default\|case\)\>' - return indent(num) + switch_offset - endif - endif - endif - if idx < 0 && pline !~ '[{;]$' - if pline =~# ':\@" -hi link shebang Comment - -"" typescript comments"{{{ -syn keyword typescriptCommentTodo TODO FIXME XXX TBD contained -syn match typescriptLineComment "\/\/.*" contains=@Spell,typescriptCommentTodo,typescriptRef -syn match typescriptRefComment /\/\/\/<\(reference\|amd-\(dependency\|module\)\)\s\+.*\/>$/ contains=typescriptRefD,typescriptRefS -syn region typescriptRefD start=+"+ skip=+\\\\\|\\"+ end=+"\|$+ -syn region typescriptRefS start=+'+ skip=+\\\\\|\\'+ end=+'\|$+ - -syn match typescriptCommentSkip "^[ \t]*\*\($\|[ \t]\+\)" -syn region typescriptComment start="/\*" end="\*/" contains=@Spell,typescriptCommentTodo extend -"}}} -"" JSDoc support start"{{{ -if !exists("typescript_ignore_typescriptdoc") - syntax case ignore - -" syntax coloring for JSDoc comments (HTML) -"unlet b:current_syntax - - syntax region typescriptDocComment start="/\*\*\s*$" end="\*/" contains=typescriptDocTags,typescriptCommentTodo,typescriptCvsTag,@typescriptHtml,@Spell fold extend - syntax match typescriptDocTags contained "@\(param\|argument\|requires\|exception\|throws\|type\|class\|extends\|see\|link\|member\|module\|method\|title\|namespace\|optional\|default\|base\|file\|returns\=\)\>" nextgroup=typescriptDocParam,typescriptDocSeeTag skipwhite - syntax match typescriptDocTags contained "@\(beta\|deprecated\|description\|fileoverview\|author\|license\|version\|constructor\|private\|protected\|final\|ignore\|addon\|exec\)\>" - syntax match typescriptDocParam contained "\%(#\|\w\|\.\|:\|\/\)\+" - syntax region typescriptDocSeeTag contained matchgroup=typescriptDocSeeTag start="{" end="}" contains=typescriptDocTags - - syntax case match -endif "" JSDoc end -"}}} -syntax case match - -"" Syntax in the typescript code"{{{ -syn match typescriptSpecial "\\\d\d\d\|\\x\x\{2\}\|\\u\x\{4\}" contained containedin=typescriptStringD,typescriptStringS,typescriptStringB display -syn region typescriptStringD start=+"+ skip=+\\\\\|\\"+ end=+"\|$+ contains=typescriptSpecial,@htmlPreproc extend -syn region typescriptStringS start=+'+ skip=+\\\\\|\\'+ end=+'\|$+ contains=typescriptSpecial,@htmlPreproc extend -syn region typescriptStringB start=+`+ skip=+\\\\\|\\`+ end=+`+ contains=typescriptInterpolation,typescriptSpecial,@htmlPreproc extend - -syn region typescriptInterpolation matchgroup=typescriptInterpolationDelimiter - \ start=/${/ end=/}/ contained - \ contains=@typescriptExpression - -syn match typescriptNumber "-\=\<\d[0-9_]*L\=\>" display -syn match typescriptNumber "-\=\<0[xX][0-9a-fA-F][0-9a-fA-F_]*\>" display -syn match typescriptNumber "-\=\<0[bB][01][01_]*\>" display -syn match typescriptNumber "-\=\<0[oO]\o[0-7_]*\>" display -syn region typescriptRegexpString start=+/[^/*]+me=e-1 skip=+\\\\\|\\/+ end=+/[gi]\{0,2\}\s*$+ end=+/[gi]\{0,2\}\s*[;.,)\]}]+me=e-1 contains=@htmlPreproc oneline -" syntax match typescriptSpecial "\\\d\d\d\|\\x\x\{2\}\|\\u\x\{4\}\|\\." -" syntax region typescriptStringD start=+"+ skip=+\\\\\|\\$"+ end=+"+ contains=typescriptSpecial,@htmlPreproc -" syntax region typescriptStringS start=+'+ skip=+\\\\\|\\$'+ end=+'+ contains=typescriptSpecial,@htmlPreproc -" syntax region typescriptRegexpString start=+/\(\*\|/\)\@!+ skip=+\\\\\|\\/+ end=+/[gim]\{,3}+ contains=typescriptSpecial,@htmlPreproc oneline -" syntax match typescriptNumber /\<-\=\d\+L\=\>\|\<0[xX]\x\+\>/ -syntax match typescriptFloat /\<-\=\%(\d[0-9_]*\.\d[0-9_]*\|\d[0-9_]*\.\|\.\d[0-9]*\)\%([eE][+-]\=\d[0-9_]*\)\=\>/ -" syntax match typescriptLabel /\(?\s*\)\@/ -"}}} -"" typescript Prototype"{{{ -syntax keyword typescriptPrototype contained prototype -"}}} -" DOM, Browser and Ajax Support {{{ -"""""""""""""""""""""""" -if get(g:, 'typescript_ignore_browserwords', 0) - syntax keyword typescriptBrowserObjects window navigator screen history location - - syntax keyword typescriptDOMObjects document event HTMLElement Anchor Area Base Body Button Form Frame Frameset Image Link Meta Option Select Style Table TableCell TableRow Textarea - syntax keyword typescriptDOMMethods contained createTextNode createElement insertBefore replaceChild removeChild appendChild hasChildNodes cloneNode normalize isSupported hasAttributes getAttribute setAttribute removeAttribute getAttributeNode setAttributeNode removeAttributeNode getElementsByTagName hasAttribute getElementById adoptNode close compareDocumentPosition createAttribute createCDATASection createComment createDocumentFragment createElementNS createEvent createExpression createNSResolver createProcessingInstruction createRange createTreeWalker elementFromPoint evaluate getBoxObjectFor getElementsByClassName getSelection getUserData hasFocus importNode - syntax keyword typescriptDOMProperties contained nodeName nodeValue nodeType parentNode childNodes firstChild lastChild previousSibling nextSibling attributes ownerDocument namespaceURI prefix localName tagName - - syntax keyword typescriptAjaxObjects XMLHttpRequest - syntax keyword typescriptAjaxProperties contained readyState responseText responseXML statusText - syntax keyword typescriptAjaxMethods contained onreadystatechange abort getAllResponseHeaders getResponseHeader open send setRequestHeader - - syntax keyword typescriptPropietaryObjects ActiveXObject - syntax keyword typescriptPropietaryMethods contained attachEvent detachEvent cancelBubble returnValue - - syntax keyword typescriptHtmlElemProperties contained className clientHeight clientLeft clientTop clientWidth dir href id innerHTML lang length offsetHeight offsetLeft offsetParent offsetTop offsetWidth scrollHeight scrollLeft scrollTop scrollWidth style tabIndex target title - - syntax keyword typescriptEventListenerKeywords contained blur click focus mouseover mouseout load item - - syntax keyword typescriptEventListenerMethods contained scrollIntoView addEventListener dispatchEvent removeEventListener preventDefault stopPropagation -endif -" }}} -"" Programm Keywords"{{{ -syntax keyword typescriptSource import export from as -syntax keyword typescriptIdentifier arguments this void -syntax keyword typescriptStorageClass let var const -syntax keyword typescriptOperator delete new instanceof typeof -syntax keyword typescriptBoolean true false -syntax keyword typescriptNull null undefined -syntax keyword typescriptMessage alert confirm prompt status -syntax keyword typescriptGlobal self top parent -syntax keyword typescriptDeprecated escape unescape all applets alinkColor bgColor fgColor linkColor vlinkColor xmlEncoding -"}}} -"" Statement Keywords"{{{ -syntax keyword typescriptConditional if else switch -syntax keyword typescriptRepeat do while for in of -syntax keyword typescriptBranch break continue yield await -syntax keyword typescriptLabel case default async readonly -syntax keyword typescriptStatement return with - -syntax keyword typescriptGlobalObjects Array Boolean Date Function Infinity JSON Math Number NaN Object Packages RegExp String Symbol netscape - -syntax keyword typescriptExceptions try catch throw finally Error EvalError RangeError ReferenceError SyntaxError TypeError URIError - -syntax keyword typescriptReserved constructor declare as interface module abstract enum int short export interface static byte extends long super char final native synchronized class float package throws goto private transient debugger implements protected volatile double import public type namespace from get set keyof -"}}} -"" typescript/DOM/HTML/CSS specified things"{{{ - -" typescript Objects"{{{ - syn match typescriptFunction "(super\s*|constructor\s*)" contained nextgroup=typescriptVars - syn region typescriptVars start="(" end=")" contained contains=typescriptParameters transparent keepend - syn match typescriptParameters "([a-zA-Z0-9_?.$][\w?.$]*)\s*:\s*([a-zA-Z0-9_?.$][\w?.$]*)" contained skipwhite -"}}} -" DOM2 Objects"{{{ - syntax keyword typescriptType DOMImplementation DocumentFragment Node NodeList NamedNodeMap CharacterData Attr Element Text Comment CDATASection DocumentType Notation Entity EntityReference ProcessingInstruction void any string boolean number symbol never object unknown - syntax keyword typescriptExceptions DOMException -"}}} -" DOM2 CONSTANT"{{{ - syntax keyword typescriptDomErrNo INDEX_SIZE_ERR DOMSTRING_SIZE_ERR HIERARCHY_REQUEST_ERR WRONG_DOCUMENT_ERR INVALID_CHARACTER_ERR NO_DATA_ALLOWED_ERR NO_MODIFICATION_ALLOWED_ERR NOT_FOUND_ERR NOT_SUPPORTED_ERR INUSE_ATTRIBUTE_ERR INVALID_STATE_ERR SYNTAX_ERR INVALID_MODIFICATION_ERR NAMESPACE_ERR INVALID_ACCESS_ERR - syntax keyword typescriptDomNodeConsts ELEMENT_NODE ATTRIBUTE_NODE TEXT_NODE CDATA_SECTION_NODE ENTITY_REFERENCE_NODE ENTITY_NODE PROCESSING_INSTRUCTION_NODE COMMENT_NODE DOCUMENT_NODE DOCUMENT_TYPE_NODE DOCUMENT_FRAGMENT_NODE NOTATION_NODE -"}}} -" HTML events and internal variables"{{{ - syntax case ignore - syntax keyword typescriptHtmlEvents onblur onclick oncontextmenu ondblclick onfocus onkeydown onkeypress onkeyup onmousedown onmousemove onmouseout onmouseover onmouseup onresize onload onsubmit - syntax case match -"}}} - -" Follow stuff should be highligh within a special context -" While it can't be handled with context depended with Regex based highlight -" So, turn it off by default -if exists("typescript_enable_domhtmlcss") - -" DOM2 things"{{{ - syntax match typescriptDomElemAttrs contained /\%(nodeName\|nodeValue\|nodeType\|parentNode\|childNodes\|firstChild\|lastChild\|previousSibling\|nextSibling\|attributes\|ownerDocument\|namespaceURI\|prefix\|localName\|tagName\)\>/ - syntax match typescriptDomElemFuncs contained /\%(insertBefore\|replaceChild\|removeChild\|appendChild\|hasChildNodes\|cloneNode\|normalize\|isSupported\|hasAttributes\|getAttribute\|setAttribute\|removeAttribute\|getAttributeNode\|setAttributeNode\|removeAttributeNode\|getElementsByTagName\|getAttributeNS\|setAttributeNS\|removeAttributeNS\|getAttributeNodeNS\|setAttributeNodeNS\|getElementsByTagNameNS\|hasAttribute\|hasAttributeNS\)\>/ nextgroup=typescriptParen skipwhite -"}}} -" HTML things"{{{ - syntax match typescriptHtmlElemAttrs contained /\%(className\|clientHeight\|clientLeft\|clientTop\|clientWidth\|dir\|id\|innerHTML\|lang\|length\|offsetHeight\|offsetLeft\|offsetParent\|offsetTop\|offsetWidth\|scrollHeight\|scrollLeft\|scrollTop\|scrollWidth\|style\|tabIndex\|title\)\>/ - syntax match typescriptHtmlElemFuncs contained /\%(blur\|click\|focus\|scrollIntoView\|addEventListener\|dispatchEvent\|removeEventListener\|item\)\>/ nextgroup=typescriptParen skipwhite -"}}} -" CSS Styles in typescript"{{{ - syntax keyword typescriptCssStyles contained color font fontFamily fontSize fontSizeAdjust fontStretch fontStyle fontVariant fontWeight letterSpacing lineBreak lineHeight quotes rubyAlign rubyOverhang rubyPosition - syntax keyword typescriptCssStyles contained textAlign textAlignLast textAutospace textDecoration textIndent textJustify textJustifyTrim textKashidaSpace textOverflowW6 textShadow textTransform textUnderlinePosition - syntax keyword typescriptCssStyles contained unicodeBidi whiteSpace wordBreak wordSpacing wordWrap writingMode - syntax keyword typescriptCssStyles contained bottom height left position right top width zIndex - syntax keyword typescriptCssStyles contained border borderBottom borderLeft borderRight borderTop borderBottomColor borderLeftColor borderTopColor borderBottomStyle borderLeftStyle borderRightStyle borderTopStyle borderBottomWidth borderLeftWidth borderRightWidth borderTopWidth borderColor borderStyle borderWidth borderCollapse borderSpacing captionSide emptyCells tableLayout - syntax keyword typescriptCssStyles contained margin marginBottom marginLeft marginRight marginTop outline outlineColor outlineStyle outlineWidth padding paddingBottom paddingLeft paddingRight paddingTop - syntax keyword typescriptCssStyles contained listStyle listStyleImage listStylePosition listStyleType - syntax keyword typescriptCssStyles contained background backgroundAttachment backgroundColor backgroundImage backgroundPosition backgroundPositionX backgroundPositionY backgroundRepeat - syntax keyword typescriptCssStyles contained clear clip clipBottom clipLeft clipRight clipTop content counterIncrement counterReset cssFloat cursor direction display filter layoutGrid layoutGridChar layoutGridLine layoutGridMode layoutGridType - syntax keyword typescriptCssStyles contained marks maxHeight maxWidth minHeight minWidth opacity MozOpacity overflow overflowX overflowY verticalAlign visibility zoom cssText - syntax keyword typescriptCssStyles contained scrollbar3dLightColor scrollbarArrowColor scrollbarBaseColor scrollbarDarkShadowColor scrollbarFaceColor scrollbarHighlightColor scrollbarShadowColor scrollbarTrackColor -"}}} -endif "DOM/HTML/CSS - -" Highlight ways"{{{ -syntax match typescriptDotNotation "\." nextgroup=typescriptPrototype,typescriptDomElemAttrs,typescriptDomElemFuncs,typescriptDOMMethods,typescriptDOMProperties,typescriptHtmlElemAttrs,typescriptHtmlElemFuncs,typescriptHtmlElemProperties,typescriptAjaxProperties,typescriptAjaxMethods,typescriptPropietaryMethods,typescriptEventListenerMethods skipwhite skipnl -syntax match typescriptDotNotation "\.style\." nextgroup=typescriptCssStyles -"}}} - -"" end DOM/HTML/CSS specified things""}}} - - -"" Code blocks -syntax cluster typescriptAll contains=typescriptComment,typescriptLineComment,typescriptDocComment,typescriptStringD,typescriptStringS,typescriptStringB,typescriptRegexpString,typescriptNumber,typescriptFloat,typescriptDecorators,typescriptLabel,typescriptSource,typescriptType,typescriptOperator,typescriptBoolean,typescriptNull,typescriptFuncKeyword,typescriptConditional,typescriptGlobal,typescriptRepeat,typescriptBranch,typescriptStatement,typescriptGlobalObjects,typescriptMessage,typescriptIdentifier,typescriptStorageClass,typescriptExceptions,typescriptReserved,typescriptDeprecated,typescriptDomErrNo,typescriptDomNodeConsts,typescriptHtmlEvents,typescriptDotNotation,typescriptBrowserObjects,typescriptDOMObjects,typescriptAjaxObjects,typescriptPropietaryObjects,typescriptDOMMethods,typescriptHtmlElemProperties,typescriptDOMProperties,typescriptEventListenerKeywords,typescriptEventListenerMethods,typescriptAjaxProperties,typescriptAjaxMethods,typescriptFuncArg - -if main_syntax == "typescript" - syntax sync clear - syntax sync ccomment typescriptComment minlines=200 -" syntax sync match typescriptHighlight grouphere typescriptBlock /{/ -endif - -syntax keyword typescriptFuncKeyword function -"syntax region typescriptFuncDef start="function" end="\(.*\)" contains=typescriptFuncKeyword,typescriptFuncArg keepend -"syntax match typescriptFuncArg "\(([^()]*)\)" contains=typescriptParens,typescriptFuncComma contained -"syntax match typescriptFuncComma /,/ contained -" syntax region typescriptFuncBlock contained matchgroup=typescriptFuncBlock start="{" end="}" contains=@typescriptAll,typescriptParensErrA,typescriptParensErrB,typescriptParen,typescriptBracket,typescriptBlock fold - -syn match typescriptBraces "[{}\[\]]" -syn match typescriptParens "[()]" -syn match typescriptOpSymbols "=\{1,3}\|!==\|!=\|<\|>\|>=\|<=\|++\|+=\|--\|-=" -syn match typescriptEndColons "[;,]" -syn match typescriptLogicSymbols "\(&&\)\|\(||\)\|\(!\)" - -" typescriptFold Function {{{ - -" function! typescriptFold() - -" skip curly braces inside RegEx's and comments -syn region foldBraces start=/{/ skip=/\(\/\/.*\)\|\(\/.*\/\)/ end=/}/ transparent fold keepend extend - -" setl foldtext=FoldText() -" endfunction - -" au FileType typescript call typescriptFold() - -" }}} - -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already by this script -" For version 5.8 and later: only when an item doesn't have highlighting yet -" For version 8.1.1486 and later: only when not done already by this script (need to override vim's new typescript support) -if version >= 508 || !exists("did_typescript_syn_inits") - if version < 508 || has('patch-8.1.1486') - let did_typescript_syn_inits = 1 - command -nargs=+ HiLink hi link - else - command -nargs=+ HiLink hi def link - endif - - "typescript highlighting - HiLink typescriptParameters Operator - HiLink typescriptSuperBlock Operator - - HiLink typescriptEndColons Exception - HiLink typescriptOpSymbols Operator - HiLink typescriptLogicSymbols Boolean - HiLink typescriptBraces Function - HiLink typescriptParens Operator - HiLink typescriptComment Comment - HiLink typescriptLineComment Comment - HiLink typescriptRefComment Include - HiLink typescriptRefS String - HiLink typescriptRefD String - HiLink typescriptDocComment Comment - HiLink typescriptCommentTodo Todo - HiLink typescriptCvsTag Function - HiLink typescriptDocTags Special - HiLink typescriptDocSeeTag Function - HiLink typescriptDocParam Function - HiLink typescriptStringS String - HiLink typescriptStringD String - HiLink typescriptStringB String - HiLink typescriptInterpolationDelimiter Delimiter - HiLink typescriptRegexpString String - HiLink typescriptGlobal Constant - HiLink typescriptCharacter Character - HiLink typescriptPrototype Type - HiLink typescriptConditional Conditional - HiLink typescriptBranch Conditional - HiLink typescriptIdentifier Identifier - HiLink typescriptStorageClass StorageClass - HiLink typescriptRepeat Repeat - HiLink typescriptStatement Statement - HiLink typescriptFuncKeyword Keyword - HiLink typescriptMessage Keyword - HiLink typescriptDeprecated Exception - HiLink typescriptError Error - HiLink typescriptParensError Error - HiLink typescriptParensErrA Error - HiLink typescriptParensErrB Error - HiLink typescriptParensErrC Error - HiLink typescriptReserved Keyword - HiLink typescriptOperator Operator - HiLink typescriptType Type - HiLink typescriptNull Type - HiLink typescriptNumber Number - HiLink typescriptFloat Number - HiLink typescriptDecorators Special - HiLink typescriptBoolean Boolean - HiLink typescriptLabel Label - HiLink typescriptSpecial Special - HiLink typescriptSource Special - HiLink typescriptGlobalObjects Special - HiLink typescriptExceptions Special - - HiLink typescriptDomErrNo Constant - HiLink typescriptDomNodeConsts Constant - HiLink typescriptDomElemAttrs Label - HiLink typescriptDomElemFuncs PreProc - - HiLink typescriptHtmlElemAttrs Label - HiLink typescriptHtmlElemFuncs PreProc - - HiLink typescriptCssStyles Label - - " Ajax Highlighting - HiLink typescriptBrowserObjects Constant - - HiLink typescriptDOMObjects Constant - HiLink typescriptDOMMethods Function - HiLink typescriptDOMProperties Special - - HiLink typescriptAjaxObjects Constant - HiLink typescriptAjaxMethods Function - HiLink typescriptAjaxProperties Special - - HiLink typescriptFuncDef Title - HiLink typescriptFuncArg Special - HiLink typescriptFuncComma Operator - - HiLink typescriptHtmlEvents Special - HiLink typescriptHtmlElemProperties Special - - HiLink typescriptEventListenerKeywords Keyword - - HiLink typescriptNumber Number - HiLink typescriptPropietaryObjects Constant - - delcommand HiLink -endif - -" Define the htmltypescript for HTML syntax html.vim -"syntax clear htmltypescript -"syntax clear typescriptExpression -syntax cluster htmltypescript contains=@typescriptAll,typescriptBracket,typescriptParen,typescriptBlock,typescriptParenError -syntax cluster typescriptExpression contains=@typescriptAll,typescriptBracket,typescriptParen,typescriptBlock,typescriptParenError,@htmlPreproc - -let b:current_syntax = "typescript" -if main_syntax == 'typescript' - unlet main_syntax -endif - -" vim: ts=4 diff --git a/vim/.vim_runtime/sources_non_forked/typescript-vim/vimshot01.png b/vim/.vim_runtime/sources_non_forked/typescript-vim/vimshot01.png deleted file mode 100644 index 7c2627f978dadd6d6a63fd59e99b3d00031fe128..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19299 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.markdown

    See the contribution guidelines for pathogen.vim.

    diff --git a/vim/.vim_runtime/sources_non_forked/vim-abolish/README.markdown b/vim/.vim_runtime/sources_non_forked/vim-abolish/README.markdown deleted file mode 100644 index 10f2ce0..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-abolish/README.markdown +++ /dev/null @@ -1,150 +0,0 @@ - -README.markdown

    abolish.vim

    - -

    I sat on this plugin for 3 years before releasing it, primarily -because it’s so gosh darn hard to explain. It’s three superficially -unrelated plugins in one that share a common theme: working with -variants of a word.

    - -

    Abbreviation

    - -

    I know how to spell “separate”. I know how to spell “desperate”. My -fingers, however, have trouble distinguishing between the two, and I -invariably have a 50 percent chance of typing “seperate” or “desparate” -each time one of these comes up. At first, I tried abbreviations:

    - -
    :iabbrev  seperate  separate
    -:iabbrev desparate desperate
    - -

    But this falls short at the beginning of a sentence.

    - -
    :iabbrev  Seperate  Separate
    -:iabbrev Desparate Desperate
    - -

    To be really thorough, we need uppercase too!

    - -
    :iabbrev  SEPERATE  SEPARATE
    -:iabbrev DESPARATE DESPERATE
    - -

    Oh, but consider the noun form, and the adverb form!

    - -
    :iabbrev  seperation  separation
    -:iabbrev desparation desperation
    -:iabbrev  seperately  separately
    -:iabbrev desparately desperately
    -:iabbrev  Seperation  separation
    -:iabbrev Desparation Desperation
    -:iabbrev  Seperately  Separately
    -:iabbrev Desparately Desperately
    -:iabbrev  SEPERATION  SEPARATION
    -:iabbrev DESPARATION DESPERATION
    -:iabbrev  SEPERATELY  SEPARATELY
    -:iabbrev DESPARATELY DESPERATELY
    - -

    Wait, there’s also “separates”, “separated”, “separating”, -“separations”, “separator”…

    - -

    Abolish.vim provides a simpler way. The following one command produces -48 abbreviations including all of the above.

    - -
    :Abolish {despa,sepe}rat{e,es,ed,ing,ely,ion,ions,or}  {despe,sepa}rat{}
    - -

    My current configuration has 25 Abolish commands that create hundreds of -corrections my fingers refuse to learn.

    - -

    Substitution

    - -

    One time I had an application with a domain model called -“facility” that needed to be renamed to “building”. So, a simple -search and replace, right?

    - -
    :%s/facility/building/g
    - -

    Oh, but the case variants!

    - -
    :%s/Facility/Building/g
    -:%s/FACILITY/BUILDING/g
    - -

    Wait, the plural is more than “s” so we need to get that too!

    - -
    :%s/facilities/buildings/g
    -:%s/Facilities/Buildings/g
    -:%s/FACILITIES/BUILDINGS/g
    - -

    Abolish.vim has your back. One command to do all six, and you can -repeat it with & too!

    - -
    :%Subvert/facilit{y,ies}/building{,s}/g
    - -

    From a conceptual level, one way to think about how this substitution -works is to imagine that in the braces you are declaring the -requirements for turning that word from singular to plural. In -the facility example, the same base letters in both the singular -and plural form of the word are facilit To turn “facility” to a -plural word you must change the y to ies so you specify -{y,ies} in the braces.

    - -

    To convert the word “building” from singular to plural, again -look at the common letters between the singular and plural forms: -building. In this case you do not need to remove any letter -from building to turn it into plural form and you need to -add an s so the braces should be {,s}.

    - -

    A few more examples:

    - -

    Address to Reference

    - -
    :Subvert/address{,es}/reference{,s}/g
    - -

    Blog to Post (you can just do this with a regular :s also)

    - -
    :Subvert/blog{,s}/post{,s}/g
    - -

    Child to Adult

    - -
    :Subvert/child{,ren}/adult{,s}/g
    - -

    Be amazed as it correctly turns the word children into the word adults!

    - -

    Die to Spinner

    - -
    :Subvert/di{e,ce}/spinner{,s}/g
    - -

    You can abbreviate it as :S, and it accepts the full range of flags -including things like c (confirm).

    - -

    There’s also a variant for searching and a variant for grepping.

    - -

    Coercion

    - -

    Want to turn fooBar into foo_bar? Press crs (coerce to -snake_case). MixedCase (crm), camelCase (crc), snake_case -(crs), UPPER_CASE (cru), dash-case (cr-), dot.case (cr.), -space case (cr<space>), and Title Case (crt) are all just 3 -keystrokes away.

    - -

    Installation

    - -

    If you don’t have a preferred installation method, I recommend -installing pathogen.vim, and -then simply copy and paste:

    - -
    cd ~/.vim/bundle
    -git clone git://github.com/tpope/vim-abolish.git
    - -

    Once help tags have been generated, you can view the manual with -:help abolish.

    - -

    Self-Promotion

    - -

    Like abolish.vim? Follow the repository on -GitHub and vote for it on -vim.org. And if -you’re feeling especially charitable, follow tpope on -Twitter and -GitHub.

    - -

    License

    - -

    Copyright © Tim Pope. Distributed under the same terms as Vim itself. -See :help license.

    diff --git a/vim/.vim_runtime/sources_non_forked/vim-abolish/doc/abolish.txt b/vim/.vim_runtime/sources_non_forked/vim-abolish/doc/abolish.txt deleted file mode 100644 index 91f24da..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-abolish/doc/abolish.txt +++ /dev/null @@ -1,181 +0,0 @@ -*abolish.txt* Language friendly searches, substitutions, and abbreviations - -Author: Tim Pope -License: Same terms as Vim itself (see |license|) - -This plugin is only available if 'compatible' is not set. - -INTRODUCTION *abolish* *:Abolish* *:Subvert* - -Abolish lets you quickly find, substitute, and abbreviate several variations -of a word at once. By default, three case variants (foo, Foo, and FOO) are -operated on by every command. - -Two commands are provided. :Abolish is the most general interface. -:Subvert provides an alternative, more concise syntax for searching and -substituting. -> - :Abolish [options] {abbreviation} {replacement} - :Abolish -delete [options] {abbreviation} - - :Abolish -search [options] {pattern} - :Subvert/{pattern}[/flags] - :Abolish!-search [options] {pattern} - :Subvert?{pattern}[?flags] - - :Abolish -search [options] {pattern} {grep-arguments} - :Subvert /{pattern}/[flags] {grep-options} - :Abolish!-search [options] {pattern} {grep-arguments} - :Subvert!/{pattern}/[flags] {grep-options} - - :[range]Abolish -substitute [options] {pattern} {replacement} - :[range]Subvert/{pattern}/{replacement}[/flags] -< - *:S* -In addition to the :Subvert command, a :S synonym is provided if not -already defined. This will be used in examples below. - -PATTERNS *abolish-patterns* - -Patterns can include brace pairs that contain comma separated alternatives: - - box{,es} => box, boxes, Box, Boxes, BOX, BOXES - -For commands with a replacement, corresponding brace pairs are used in both -halves. If the replacement should be identical to the pattern, an empty -brace pair may be used. If fewer replacements are given than were given in -the pattern, they are looped. That is, {a,b} on the replacement side is the -same as {a,b,a,b,a,b,...} repeated indefinitely. - -The following replaces several different misspellings of "necessary": -> - :%S/{,un}nec{ce,ces,e}sar{y,ily}/{}nec{es}sar{}/g -< -ABBREVIATING *abolish-abbrev* - -By default :Abolish creates abbreviations, which replace words automatically -as you type. This is good for words you frequently misspell, or as -shortcuts for longer words. Since these are just Vim abbreviations, only -whole words will match. -> - :Abolish anomol{y,ies} anomal{} - :Abolish {,in}consistant{,ly} {}consistent{} - :Abolish Tqbf The quick, brown fox jumps over the lazy dog -< -Accepts the following options: - - -buffer: buffer local - -cmdline: work in command line in addition to insert mode - -A good place to define abbreviations is "after/plugin/abolish.vim", -relative to ~\vimfiles on Windows and ~/.vim everywhere else. - -With a bang (:Abolish!) the abbreviation is also appended to the file in -g:abolish_save_file. The default is "after/plugin/abolish.vim", relative -to the install directory. - -Abbreviations can be removed with :Abolish -delete: -> - Abolish -delete -buffer -cmdline anomol{y,ies} -< -SEARCHING *abolish-search* - -The -search command does a search in a manner similar to / key. -search. After searching, you can use |n| and |N| as you would with a normal -search. - -The following will search for box, Box, and BOX: -> - :Abolish -search box -< -When given a single word to operate on, :Subvert defaults to doing a -search as well: -> - :S/box/ -< -This one searches for box, boxes, boxed, boxing, Box, Boxes, Boxed, Boxing, -BOX, BOXES, BOXED, and BOXING: -> - :S/box{,es,ed,ing}/ -< -The following syntaxes search in reverse. -> - :Abolish! -search box - :S?box? -< -Flags can be given with the -flags= option to :Abolish, or by appending them -after the separator to :Subvert. The flags trigger the following behaviors: - - I: Disable case variations (box, Box, BOX) - v: Match inside variable names (match my_box, myBox, but not mybox) - w: Match whole words (like surrounding with \< and \>) - -A |search-offset| may follow the flags. -> - :Abolish -search -flags=avs+1 box - :S?box{,es,ed,ing}?we -< -GREPPING *abolish-grep* - -Grepping works similar to searching, and is invoked when additional options -are given. These options are passed directly to the :grep command. -> - :Abolish -search box{,es} - :S /box{,es}/ * - :S /box/aw *.txt *.html -< -The slash delimiters must both be present if used with :Subvert. They may -both be omitted if no flags are used. - -Both an external grepprg and vimgrep (via grepprg=internal) are supported. -With an external grep, the "v" flag behaves less intelligently, due to the -lack of look ahead and look behind support in grep regexps. - -SUBSTITUTING *abolish-substitute* - -Giving a range switches :Subvert into substitute mode. This command will -change box -> bag, boxes -> bags, Box -> Bag, Boxes -> Bags, BOX -> BAG, -BOXES -> BAGS across the entire document: -> - :%Abolish -substitute -flags=g box{,es} bag{,s} - :%S/box{,es}/bag{,s}/g -< -The "c", "e", "g", and "n" flags can be used from the substitute command -|:s_flags|, along with the "a", "I", "v", and "w" flags from searching. - -COERCION *abolish-coercion* *cr* - -Abolish's case mutating algorithms can be applied to the word under the cursor -using the cr mapping (mnemonic: CoeRce) followed by one of the following -characters: - - c: camelCase - m: MixedCase - _: snake_case - s: snake_case - u: SNAKE_UPPERCASE - U: SNAKE_UPPERCASE - -: dash-case (not usually reversible; see |abolish-coercion-reversible|) - k: kebab-case (not usually reversible; see |abolish-coercion-reversible|) - .: dot.case (not usually reversible; see |abolish-coercion-reversible|) - : space case (not usually reversible; see |abolish-coercion-reversible|) - t: Title Case (not usually reversible; see |abolish-coercion-reversible|) - -For example, cru on a lowercase word is a slightly easier to type equivalent -to gUiw. - -COERCION REVERSIBILITY *abolish-coercion-reversible* - -Some separators, such as "-" and ".", are listed as "not usually reversible". -The reason is that these are not "keyword characters", so vim (and -abolish.vim) will treat them as breaking a word. - -For example: "key_word" is a single keyword. The dash-case version, -"key-word", is treated as two keywords, "key" and "word". - -This behaviour is governed by the 'iskeyword' option. If a separator appears -in 'iskeyword', the corresponding coercion will be reversible. For instance, -dash-case is reversible in 'lisp' files, and dot-case is reversible in R -files. - - vim:tw=78:ts=8:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/vim-abolish/plugin/abolish.vim b/vim/.vim_runtime/sources_non_forked/vim-abolish/plugin/abolish.vim deleted file mode 100644 index 3b71f94..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-abolish/plugin/abolish.vim +++ /dev/null @@ -1,639 +0,0 @@ -" abolish.vim - Language friendly searches, substitutions, and abbreviations -" Maintainer: Tim Pope -" Version: 1.1 -" GetLatestVimScripts: 1545 1 :AutoInstall: abolish.vim - -" Initialization {{{1 - -if exists("g:loaded_abolish") || &cp || v:version < 700 - finish -endif -let g:loaded_abolish = 1 - -if !exists("g:abolish_save_file") - if isdirectory(expand("~/.vim")) - let g:abolish_save_file = expand("~/.vim/after/plugin/abolish.vim") - elseif isdirectory(expand("~/vimfiles")) || has("win32") - let g:abolish_save_file = expand("~/vimfiles/after/plugin/abolish.vim") - else - let g:abolish_save_file = expand("~/.vim/after/plugin/abolish.vim") - endif -endif - -" }}}1 -" Utility functions {{{1 - -function! s:function(name) - return function(substitute(a:name,'^s:',matchstr(expand(''), '\d\+_'),'')) -endfunction - -function! s:send(self,func,...) - if type(a:func) == type('') || type(a:func) == type(0) - let l:Func = get(a:self,a:func,'') - else - let l:Func = a:func - endif - let s = type(a:self) == type({}) ? a:self : {} - if type(Func) == type(function('tr')) - return call(Func,a:000,s) - elseif type(Func) == type({}) && has_key(Func,'apply') - return call(Func.apply,a:000,Func) - elseif type(Func) == type({}) && has_key(Func,'call') - return call(Func.call,a:000,s) - elseif type(Func) == type('') && Func == '' && has_key(s,'function missing') - return call('s:send',[s,'function missing',a:func] + a:000) - else - return Func - endif -endfunction - -let s:object = {} -function! s:object.clone(...) - let sub = deepcopy(self) - return a:0 ? extend(sub,a:1) : sub -endfunction - -if !exists("g:Abolish") - let Abolish = {} -endif -call extend(Abolish, s:object, 'force') -call extend(Abolish, {'Coercions': {}}, 'keep') - -function! s:throw(msg) - let v:errmsg = a:msg - throw "Abolish: ".a:msg -endfunction - -function! s:words() - let words = [] - let lnum = line('w0') - while lnum <= line('w$') - let line = getline(lnum) - let col = 0 - while match(line,'\<\k\k\+\>',col) != -1 - let words += [matchstr(line,'\<\k\k\+\>',col)] - let col = matchend(line,'\<\k\k\+\>',col) - endwhile - let lnum += 1 - endwhile - return words -endfunction - -function! s:extractopts(list,opts) - let i = 0 - while i < len(a:list) - if a:list[i] =~ '^-[^=]' && has_key(a:opts,matchstr(a:list[i],'-\zs[^=]*')) - let key = matchstr(a:list[i],'-\zs[^=]*') - let value = matchstr(a:list[i],'=\zs.*') - if type(get(a:opts,key)) == type([]) - let a:opts[key] += [value] - elseif type(get(a:opts,key)) == type(0) - let a:opts[key] = 1 - else - let a:opts[key] = value - endif - else - let i += 1 - continue - endif - call remove(a:list,i) - endwhile - return a:opts -endfunction - -" }}}1 -" Dictionary creation {{{1 - -function! s:mixedcase(word) - return substitute(s:camelcase(a:word),'^.','\u&','') -endfunction - -function! s:camelcase(word) - let word = substitute(a:word, '-', '_', 'g') - if word !~# '_' && word =~# '\l' - return substitute(word,'^.','\l&','') - else - return substitute(word,'\C\(_\)\=\(.\)','\=submatch(1)==""?tolower(submatch(2)) : toupper(submatch(2))','g') - endif -endfunction - -function! s:snakecase(word) - let word = substitute(a:word,'::','/','g') - let word = substitute(word,'\(\u\+\)\(\u\l\)','\1_\2','g') - let word = substitute(word,'\(\l\|\d\)\(\u\)','\1_\2','g') - let word = substitute(word,'[.-]','_','g') - let word = tolower(word) - return word -endfunction - -function! s:uppercase(word) - return toupper(s:snakecase(a:word)) -endfunction - -function! s:dashcase(word) - return substitute(s:snakecase(a:word),'_','-','g') -endfunction - -function! s:spacecase(word) - return substitute(s:snakecase(a:word),'_',' ','g') -endfunction - -function! s:dotcase(word) - return substitute(s:snakecase(a:word),'_','.','g') -endfunction - -function! s:titlecase(word) - return substitute(s:spacecase(a:word), '\(\<\w\)','\=toupper(submatch(1))','g') -endfunction - -call extend(Abolish, { - \ 'camelcase': s:function('s:camelcase'), - \ 'mixedcase': s:function('s:mixedcase'), - \ 'snakecase': s:function('s:snakecase'), - \ 'uppercase': s:function('s:uppercase'), - \ 'dashcase': s:function('s:dashcase'), - \ 'dotcase': s:function('s:dotcase'), - \ 'spacecase': s:function('s:spacecase'), - \ 'titlecase': s:function('s:titlecase') - \ }, 'keep') - -function! s:create_dictionary(lhs,rhs,opts) - let dictionary = {} - let i = 0 - let expanded = s:expand_braces({a:lhs : a:rhs}) - for [lhs,rhs] in items(expanded) - if get(a:opts,'case',1) - let dictionary[s:mixedcase(lhs)] = s:mixedcase(rhs) - let dictionary[tolower(lhs)] = tolower(rhs) - let dictionary[toupper(lhs)] = toupper(rhs) - endif - let dictionary[lhs] = rhs - endfor - let i += 1 - return dictionary -endfunction - -function! s:expand_braces(dict) - let new_dict = {} - for [key,val] in items(a:dict) - if key =~ '{.*}' - let redo = 1 - let [all,kbefore,kmiddle,kafter;crap] = matchlist(key,'\(.\{-\}\){\(.\{-\}\)}\(.*\)') - let [all,vbefore,vmiddle,vafter;crap] = matchlist(val,'\(.\{-\}\){\(.\{-\}\)}\(.*\)') + ["","","",""] - if all == "" - let [vbefore,vmiddle,vafter] = [val, ",", ""] - endif - let targets = split(kmiddle,',',1) - let replacements = split(vmiddle,',',1) - if replacements == [""] - let replacements = targets - endif - for i in range(0,len(targets)-1) - let new_dict[kbefore.targets[i].kafter] = vbefore.replacements[i%len(replacements)].vafter - endfor - else - let new_dict[key] = val - endif - endfor - if exists("redo") - return s:expand_braces(new_dict) - else - return new_dict - endif -endfunction - -" }}}1 -" Abolish Dispatcher {{{1 - -function! s:SubComplete(A,L,P) - if a:A =~ '^[/?]\k\+$' - let char = strpart(a:A,0,1) - return join(map(s:words(),'char . v:val'),"\n") - elseif a:A =~# '^\k\+$' - return join(s:words(),"\n") - endif -endfunction - -function! s:Complete(A,L,P) - " Vim bug: :Abolish - calls this function with a:A equal to 0 - if a:A =~# '^[^/?-]' && type(a:A) != type(0) - return join(s:words(),"\n") - elseif a:L =~# '^\w\+\s\+\%(-\w*\)\=$' - return "-search\n-substitute\n-delete\n-buffer\n-cmdline\n" - elseif a:L =~# ' -\%(search\|substitute\)\>' - return "-flags=" - else - return "-buffer\n-cmdline" - endif -endfunction - -let s:commands = {} -let s:commands.abstract = s:object.clone() - -function! s:commands.abstract.dispatch(bang,line1,line2,count,args) - return self.clone().go(a:bang,a:line1,a:line2,a:count,a:args) -endfunction - -function! s:commands.abstract.go(bang,line1,line2,count,args) - let self.bang = a:bang - let self.line1 = a:line1 - let self.line2 = a:line2 - let self.count = a:count - return self.process(a:bang,a:line1,a:line2,a:count,a:args) -endfunction - -function! s:dispatcher(bang,line1,line2,count,args) - let i = 0 - let args = copy(a:args) - let command = s:commands.abbrev - while i < len(args) - if args[i] =~# '^-\w\+$' && has_key(s:commands,matchstr(args[i],'-\zs.*')) - let command = s:commands[matchstr(args[i],'-\zs.*')] - call remove(args,i) - break - endif - let i += 1 - endwhile - try - return command.dispatch(a:bang,a:line1,a:line2,a:count,args) - catch /^Abolish: / - echohl ErrorMsg - echo v:errmsg - echohl NONE - return "" - endtry -endfunction - -" }}}1 -" Subvert Dispatcher {{{1 - -function! s:subvert_dispatcher(bang,line1,line2,count,args) - try - return s:parse_subvert(a:bang,a:line1,a:line2,a:count,a:args) - catch /^Subvert: / - echohl ErrorMsg - echo v:errmsg - echohl NONE - return "" - endtry -endfunction - -function! s:parse_subvert(bang,line1,line2,count,args) - if a:args =~ '^\%(\w\|$\)' - let args = (a:bang ? "!" : "").a:args - else - let args = a:args - endif - let separator = matchstr(args,'^.') - let split = split(args,separator,1)[1:] - if a:count || split == [""] - return s:parse_substitute(a:bang,a:line1,a:line2,a:count,split) - elseif len(split) == 1 - return s:find_command(separator,"",split[0]) - elseif len(split) == 2 && split[1] =~# '^[A-Za-z]*n[A-Za-z]*$' - return s:parse_substitute(a:bang,a:line1,a:line2,a:count,[split[0],"",split[1]]) - elseif len(split) == 2 && split[1] =~# '^[A-Za-z]*\%([+-]\d\+\)\=$' - return s:find_command(separator,split[1],split[0]) - elseif len(split) >= 2 && split[1] =~# '^[A-Za-z]* ' - let flags = matchstr(split[1],'^[A-Za-z]*') - let rest = matchstr(join(split[1:],separator),' \zs.*') - return s:grep_command(rest,a:bang,flags,split[0]) - elseif len(split) >= 2 && separator == ' ' - return s:grep_command(join(split[1:],' '),a:bang,"",split[0]) - else - return s:parse_substitute(a:bang,a:line1,a:line2,a:count,split) - endif -endfunction - -function! s:normalize_options(flags) - if type(a:flags) == type({}) - let opts = a:flags - let flags = get(a:flags,"flags","") - else - let opts = {} - let flags = a:flags - endif - if flags =~# 'w' - let opts.boundaries = 2 - elseif flags =~# 'v' - let opts.boundaries = 1 - elseif !has_key(opts,'boundaries') - let opts.boundaries = 0 - endif - let opts.case = (flags !~# 'I' ? get(opts,'case',1) : 0) - let opts.flags = substitute(flags,'\C[avIiw]','','g') - return opts -endfunction - -" }}}1 -" Searching {{{1 - -function! s:subesc(pattern) - return substitute(a:pattern,'[][\\/.*+?~%()&]','\\&','g') -endfunction - -function! s:sort(a,b) - if a:a ==? a:b - return a:a == a:b ? 0 : a:a > a:b ? 1 : -1 - elseif strlen(a:a) == strlen(a:b) - return a:a >? a:b ? 1 : -1 - else - return strlen(a:a) < strlen(a:b) ? 1 : -1 - endif -endfunction - -function! s:pattern(dict,boundaries) - if a:boundaries == 2 - let a = '<' - let b = '>' - elseif a:boundaries - let a = '%(<|_@<=|[[:lower:]]@<=[[:upper:]]@=)' - let b = '%(>|_@=|[[:lower:]]@<=[[:upper:]]@=)' - else - let a = '' - let b = '' - endif - return '\v\C'.a.'%('.join(map(sort(keys(a:dict),function('s:sort')),'s:subesc(v:val)'),'|').')'.b -endfunction - -function! s:egrep_pattern(dict,boundaries) - if a:boundaries == 2 - let a = '\<' - let b = '\>' - elseif a:boundaries - let a = '(\<\|_)' - let b = '(\>\|_\|[[:upper:]][[:lower:]])' - else - let a = '' - let b = '' - endif - return a.'('.join(map(sort(keys(a:dict),function('s:sort')),'s:subesc(v:val)'),'\|').')'.b -endfunction - -function! s:c() - call histdel('search',-1) - return "" -endfunction - -function! s:find_command(cmd,flags,word) - let opts = s:normalize_options(a:flags) - let dict = s:create_dictionary(a:word,"",opts) - " This is tricky. If we use :/pattern, the search drops us at the - " beginning of the line, and we can't use position flags (e.g., /foo/e). - " If we use :norm /pattern, we leave ourselves vulnerable to "press enter" - " prompts (even with :silent). - let cmd = (a:cmd =~ '[?!]' ? '?' : '/') - let @/ = s:pattern(dict,opts.boundaries) - if opts.flags == "" || !search(@/,'n') - return "norm! ".cmd."\" - elseif opts.flags =~ ';[/?]\@!' - call s:throw("E386: Expected '?' or '/' after ';'") - else - return "exe 'norm! ".cmd.cmd.opts.flags."\'|call histdel('search',-1)" - return "" - endif -endfunction - -function! s:grep_command(args,bang,flags,word) - let opts = s:normalize_options(a:flags) - let dict = s:create_dictionary(a:word,"",opts) - if &grepprg == "internal" - let lhs = "'".s:pattern(dict,opts.boundaries)."'" - else - let lhs = "-E '".s:egrep_pattern(dict,opts.boundaries)."'" - endif - return "grep".(a:bang ? "!" : "")." ".lhs." ".a:args -endfunction - -let s:commands.search = s:commands.abstract.clone() -let s:commands.search.options = {"word": 0, "variable": 0, "flags": ""} - -function! s:commands.search.process(bang,line1,line2,count,args) - call s:extractopts(a:args,self.options) - if self.options.word - let self.options.flags .= "w" - elseif self.options.variable - let self.options.flags .= "v" - endif - let opts = s:normalize_options(self.options) - if len(a:args) > 1 - return s:grep_command(join(a:args[1:]," "),a:bang,opts,a:args[0]) - elseif len(a:args) == 1 - return s:find_command(a:bang ? "!" : " ",opts,a:args[0]) - else - call s:throw("E471: Argument required") - endif -endfunction - -" }}}1 -" Substitution {{{1 - -function! Abolished() - return get(g:abolish_last_dict,submatch(0),submatch(0)) -endfunction - -function! s:substitute_command(cmd,bad,good,flags) - let opts = s:normalize_options(a:flags) - let dict = s:create_dictionary(a:bad,a:good,opts) - let lhs = s:pattern(dict,opts.boundaries) - let g:abolish_last_dict = dict - return a:cmd.'/'.lhs.'/\=Abolished()'."/".opts.flags -endfunction - -function! s:parse_substitute(bang,line1,line2,count,args) - if get(a:args,0,'') =~ '^[/?'']' - let separator = matchstr(a:args[0],'^.') - let args = split(join(a:args,' '),separator,1) - call remove(args,0) - else - let args = a:args - endif - if len(args) < 2 - call s:throw("E471: Argument required") - elseif len(args) > 3 - call s:throw("E488: Trailing characters") - endif - let [bad,good,flags] = (args + [""])[0:2] - if a:count == 0 - let cmd = "substitute" - else - let cmd = a:line1.",".a:line2."substitute" - endif - return s:substitute_command(cmd,bad,good,flags) -endfunction - -let s:commands.substitute = s:commands.abstract.clone() -let s:commands.substitute.options = {"word": 0, "variable": 0, "flags": "g"} - -function! s:commands.substitute.process(bang,line1,line2,count,args) - call s:extractopts(a:args,self.options) - if self.options.word - let self.options.flags .= "w" - elseif self.options.variable - let self.options.flags .= "v" - endif - let opts = s:normalize_options(self.options) - if len(a:args) <= 1 - call s:throw("E471: Argument required") - else - let good = join(a:args[1:],"") - let cmd = a:bang ? "." : "%" - return s:substitute_command(cmd,a:args[0],good,self.options) - endif -endfunction - -" }}}1 -" Abbreviations {{{1 - -function! s:badgood(args) - let words = filter(copy(a:args),'v:val !~ "^-"') - call filter(a:args,'v:val =~ "^-"') - if empty(words) - call s:throw("E471: Argument required") - elseif !empty(a:args) - call s:throw("Unknown argument: ".a:args[0]) - endif - let [bad; words] = words - return [bad, join(words," ")] -endfunction - -function! s:abbreviate_from_dict(cmd,dict) - for [lhs,rhs] in items(a:dict) - exe a:cmd lhs rhs - endfor -endfunction - -let s:commands.abbrev = s:commands.abstract.clone() -let s:commands.abbrev.options = {"buffer":0,"cmdline":0,"delete":0} -function! s:commands.abbrev.process(bang,line1,line2,count,args) - let args = copy(a:args) - call s:extractopts(a:args,self.options) - if self.options.delete - let cmd = "unabbrev" - let good = "" - else - let cmd = "noreabbrev" - endif - if !self.options.cmdline - let cmd = "i" . cmd - endif - if self.options.delete - let cmd = "silent! ".cmd - endif - if self.options.buffer - let cmd = cmd . " " - endif - let [bad, good] = s:badgood(a:args) - if substitute(bad, '[{},]', '', 'g') !~# '^\k*$' - call s:throw("E474: Invalid argument (not a keyword: ".string(bad).")") - endif - if !self.options.delete && good == "" - call s:throw("E471: Argument required".a:args[0]) - endif - let dict = s:create_dictionary(bad,good,self.options) - call s:abbreviate_from_dict(cmd,dict) - if a:bang - let i = 0 - let str = "Abolish ".join(args," ") - let file = g:abolish_save_file - if !isdirectory(fnamemodify(file,':h')) - call mkdir(fnamemodify(file,':h'),'p') - endif - - if filereadable(file) - let old = readfile(file) - else - let old = ["\" Exit if :Abolish isn't available.","if !exists(':Abolish')"," finish","endif",""] - endif - call writefile(old + [str],file) - endif - return "" -endfunction - -let s:commands.delete = s:commands.abbrev.clone() -let s:commands.delete.options.delete = 1 - -" }}}1 -" Maps {{{1 - -function! s:unknown_coercion(letter,word) - return a:word -endfunction - -call extend(Abolish.Coercions, { - \ 'c': Abolish.camelcase, - \ 'm': Abolish.mixedcase, - \ 's': Abolish.snakecase, - \ '_': Abolish.snakecase, - \ 'u': Abolish.uppercase, - \ 'U': Abolish.uppercase, - \ '-': Abolish.dashcase, - \ 'k': Abolish.dashcase, - \ '.': Abolish.dotcase, - \ ' ': Abolish.spacecase, - \ 't': Abolish.titlecase, - \ "function missing": s:function("s:unknown_coercion") - \}, "keep") - -function! s:coerce(type) abort - if a:type !~# '^\%(line\|char\|block\)' - let s:transformation = a:type - let &opfunc = matchstr(expand(''), '\w*') - return 'g@' - endif - let selection = &selection - let clipboard = &clipboard - try - set selection=inclusive clipboard-=unnamed clipboard-=unnamedplus - let regbody = getreg('"') - let regtype = getregtype('"') - let c = v:count1 - while c > 0 - let c -= 1 - if a:type ==# 'line' - let move = "'[V']" - elseif a:type ==# 'block' - let move = "`[\`]" - else - let move = "`[v`]" - endif - silent exe 'normal!' move.'y' - let word = @@ - let @@ = s:send(g:Abolish.Coercions,s:transformation,word) - if !exists('begin') - let begin = getpos("'[") - endif - if word !=# @@ - let changed = 1 - exe 'normal!' move.'p' - endif - endwhile - call setreg('"',regbody,regtype) - call setpos("'[",begin) - call setpos(".",begin) - finally - let &selection = selection - let &clipboard = clipboard - endtry -endfunction - -nnoremap (abolish-coerce) coerce(nr2char(getchar())) -nnoremap (abolish-coerce) coerce(nr2char(getchar())) -nnoremap (abolish-coerce-word) coerce(nr2char(getchar())).'iw' - -" }}}1 - -if !exists("g:abolish_no_mappings") || ! g:abolish_no_mappings - nmap cr (abolish-coerce-word) -endif - -command! -nargs=+ -bang -bar -range=0 -complete=custom,s:Complete Abolish - \ :exec s:dispatcher(0,,,,[]) -command! -nargs=1 -bang -bar -range=0 -complete=custom,s:SubComplete Subvert - \ :exec s:subvert_dispatcher(0,,,,) -if exists(':S') != 2 - command -nargs=1 -bang -bar -range=0 -complete=custom,s:SubComplete S - \ :exec s:subvert_dispatcher(0,,,,) -endif - -" vim:set ft=vim sw=2 sts=2: diff --git a/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/.gitignore b/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/.gitignore deleted file mode 100644 index 926ccaa..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/.gitignore +++ /dev/null @@ -1 +0,0 @@ -doc/tags diff --git a/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/buf_utils.vim b/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/buf_utils.vim deleted file mode 100644 index d14d404..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/buf_utils.vim +++ /dev/null @@ -1,24 +0,0 @@ -" buf_identifier is either a buf_nr or a filename -" If any window shows the buffer move to the buffer -" If not show it in current window (by c-w s c^ you can always -" reshow the last buffer -" -" Example: buf_utils#GotoBuf("/tmp/tfile.txt", {'create': 1}) -" returns: The command which was used to switch to the buffer -fun! buf_utils#GotoBuf(buf_identifier, opts) - let buf_nr = bufnr(a:buf_identifier) - if buf_nr == -1 && ( get(a:opts, 'create', 0) || has_key(a:opts, 'create_cmd')) - exec get(a:opts,'create_cmd','e').' '.fnameescape(a:buf_identifier) - return "e" - else - let win_nr = bufwinnr(buf_nr) - if win_nr == -1 - exec 'b '.buf_nr - return "b" - else - exec win_nr.'wincmd w' - return "w" - endif - wincmd w" - endif -endf diff --git a/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/cached_file_contents.vim b/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/cached_file_contents.vim deleted file mode 100644 index 3fc3ce4..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/cached_file_contents.vim +++ /dev/null @@ -1,104 +0,0 @@ -" cached_file_contents.vim -" @License: GPL (see http://www.gnu.org/licenses/gpl.txt) -" @Last Change: 2010-01-03. -" @Revision: 0.3.0 - -"exec vam#DefineAndBind('s:c','g:cache_dir_options','{}') -if !exists('g:cache_dir_options') | let g:cache_dir_options = {} | endif | let s:c = g:cache_dir_options - -let s:c['cache_dir'] = get(s:c, 'cache_dir', expand('$HOME').'/.vim-cache') -let s:c['scanned_files'] = get(s:c, 'scanned_files', {}) -let s:scanned_files = s:c['scanned_files'] - - -let s:define_cache_file = "let this_dir = s:c['cache_dir'].'/cached-file-contents' | let cache_file = expand(this_dir.'/'.substitute(string([func_as_string, a:file]),'[[\\]{}:/\\,''\"# ]\\+','_','g'))" - -" read a file, run function to extract contents and cache the result returned -" by that function in memory. Optionally the result can be cached on disk as -" because VimL can be slow! -" -" file : the file to be read -" func: { 'func': function which will be called by funcref#Call -" , 'version' : if this version changes cache will be invalidate automatically -" , 'ftime_check': optional, default 1. if set to 0 cache isn't updated when file changes and file is in cache -" } -" -" default: what to return if file doesn't exist -" think twice about adding lines. This function is called many times. -function! cached_file_contents#CachedFileContents(file, func, ...) abort - let ignore_ftime = a:0 > 0 ? a:1 : 0 - " using string for default so that is evaluated when needed only - let use_file_cache = get(a:func, 'use_file_cache', 0) - - " simple kind of normalization. necessary when using file caching - " this seems to be slower: - " let file = fnamemodify(a:file, ':p') " simple kind of normalization. necessary when using file caching - " / = assume its an absolute path - " let file = a:file[0] == '/' ? a:file : expand(a:file, ':p') - let file = a:file[0] == '/' ? a:file : fnamemodify(a:file, ':p') " simple kind of normalization. necessary when using file caching - let func_as_string = string(a:func['func']) - - if (!has_key(s:scanned_files, func_as_string)) - let s:scanned_files[func_as_string] = {} - endif - let dict = s:scanned_files[func_as_string] - if use_file_cache && !has_key(dict, a:file) - exec s:define_cache_file - if filereadable(cache_file) - let dict[file] = eval(readfile(cache_file,'b')[0]) - endif - endif - if has_key(dict, a:file) - let d = dict[a:file] - if use_file_cache - \ && (ignore_ftime || getftime(a:file) <= d['ftime']) - \ && d['version'] == a:func['version'] - return dict[a:file]['scan_result'] - endif - endif - let scan_result = funcref#Call(a:func['func'], [a:file] ) - let dict[a:file] = {"ftime": getftime(a:file), 'version': a:func['version'], "scan_result": scan_result } - if use_file_cache - if !exists('cache_file') | exec s:define_cache_file | endif - if !isdirectory(this_dir) | call mkdir(this_dir,'p',0700) | endif - call writefile([string(dict[a:file])], cache_file) - endif - return scan_result -endfunction - -fun! cached_file_contents#ClearScanCache() - let s:c['scanned_files'] = {} - - " Don't run rm -fr. Ask user to run it. It cache_dir may have been set to - " $HOME ! (should nevere be the case but who knows - echoe "run manually in your shell: rm -fr ".shellescape(s:c['cache_dir'])."/*" -endf - -fun! cached_file_contents#Test() - - " usually you use a global option so that the function can be reused - let my_interpreting_func = {'func' : funcref#Function('return len(readfile(ARGS[0]))'), 'version': 2, 'use_file_cache':1} - let my_interpreting_func2 = {'func' : funcref#Function('return ARGS[0]') , 'version': 2, 'use_file_cache':1} - - let tmp = tempname() - call writefile(['some text','2nd line'], tmp) - - let r = [ cached_file_contents#CachedFileContents(tmp, my_interpreting_func) - \ , cached_file_contents#CachedFileContents(tmp, my_interpreting_func2) ] - if r != [2, tmp] - throw "test failed 1, got ".string(r) - endif - unlet r - - sleep 3 - - " now let's change contents - call writefile(['some text','2nd line','3rd line'], tmp) - - let r = cached_file_contents#CachedFileContents(tmp, my_interpreting_func) - if 3 != r - throw "test failed 2, got ".string(r) - endif - - echo "test passed" -endf diff --git a/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/env_reload.vim b/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/env_reload.vim deleted file mode 100644 index d8af33a..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/env_reload.vim +++ /dev/null @@ -1,12 +0,0 @@ -" in sh/bash you can type export to get a list of environment variables -" This function assigns those env vars to Vim. -" Does not delete env vars yet -" Example: env_reload#ReloadEnv(system("sh -c 'export'") -fun! env_reload#ReloadEnv(bash_export_command_output) - for i in split(a:bash_export_command_output,"\n") - let m = matchlist(i, 'export \([^=]\+\)="\(.*\)"') - if empty(m) | continue | endif - " don't care about quoted values right now. - exec 'let $'.m[1].'='.string(m[2]) - endfor -endf diff --git a/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/funcref.vim b/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/funcref.vim deleted file mode 100644 index 20eec54..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/funcref.vim +++ /dev/null @@ -1,95 +0,0 @@ -" funcref.vim -" @License: GPL (see http://www.gnu.org/licenses/gpl.txt) -" @Last Change: 2010-01-03. -" @Revision: 0.1.0 - -" documentation see doc/funcref.txt - -" usage: -" funcref#Function("filename#Function") -" optionally pass arguments: -" funcref#Function("filename#Function",{'args': [2]}) -" optionally define self: -" funcref#Function("filename#Function",{'self': object}) -function! funcref#Function(name,...) - let d = a:0 > 0 ? a:1 : {} - let d['faked_function_reference'] = a:name - return d -endfunction - -" args : same as used for call(f,[args], self) -" f must be either -" - a string which can be evaled (use "return 'value'" to return a value) -" - a Vim function reference created by function('..') -" - a faked function reference created by funcref#Function(..) -" -" the last "self" argument can be overriden by the function reference -" You can pass arguments in a closure like style -function! funcref#Call(...) - let args = copy(a:000) - - " add parameters: - if (len(args) < 2) - call add(args, []) - endif - - - let isDict = type(args[0]) == type({}) - - " prepend parameters which were passed by faked function reference: - if isDict && has_key(args[0], 'args') - let args[1] = args[0]['args']+args[1] - endif - - " always pass self. this way you can call functions from dictionaries not - " refering to self - if (len(args) < 3) - call add(args, {}) - endif - - " the funcref overrides self: - if isDict && has_key(args[0], 'self') - let args[2] = args[0]['self'] - endif - - if type(a:1) == 2 - " funcref: function must have been laoded - return call(function('call'), args) - elseif isDict && has_key(args[0], 'faked_function_reference') - let Fun = args[0]['faked_function_reference'] - if type(Fun) == type('') - \ && (Fun[:len('return ')-1] == 'return ' - \ || Fun[:len('call ')-1] == 'call ' - \ || Fun[:len('if ')-1] == 'if ' - \ || Fun[:len('let ')-1] == 'let ' - \ || Fun[:len('echo ')-1] == 'echo ' - \ || Fun[:len('exec ')-1] == 'exec ' - \ || Fun[:len('debug ')-1] == 'debug ') - " it doesn't make sense to list all vim commands here - " So if you want to execute another action consider using - " funcref#Function('exec '.string('aw')) or such - - " function is a String, call exec - let ARGS = args[1] - let SELF = args[2] - exec Fun - else - " pseudo function, let's load it.. - if type(Fun) == 1 - if !exists('*'.Fun) - " lazily load function - let file = substitute(substitute(Fun,'#[^#]*$','',''),'#','/','g') - exec 'runtime /autoload/'.file.'.vim' - endif - let Fun2 = function(Fun) - else - let Fun2 = Fun - endif - let args[0] = Fun - return call(function('call'), args) - endif - else - " no function, return the value - return args[0] - endif -endfunction diff --git a/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/glob.vim b/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/glob.vim deleted file mode 100644 index 9a0f79a..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/glob.vim +++ /dev/null @@ -1,27 +0,0 @@ -exec vam#DefineAndBind('s:c','g:glob_like', '{}') - -" ignore vcs stuff, Don't think you want those.. -let s:c['regex_ignore_directory'] = '\<\%([_.]darcs\|\.git\|.svn\|.hg\|.cvs\|.bzr\)\>' -let s:c['glob_cache'] = get(s:c, 'glob_cache', {}) -let s:glob_cache = s:c['glob_cache'] - -fun! glob#Glob(pattern, ...) - let pattern = a:pattern - if pattern[0] == '~' - let pattern = $HOME.pattern[1:] - endif - let opts = a:0 > 0 ? a:1 : {} - " never cache current directory. You're very likely to edit files in it. - - let c = getcwd() - let cachable = get(opts, 'cachable', 0) && pattern[:len(c)-1] != c - if cachable && has_key(s:glob_cache, pattern) - return s:glob_cache[pattern] - endif - - " FIXME: don't recurse into \.git directory (thus reimplement glob in vimL!) - let r = filter(split(glob(pattern),"\n"),'v:val !~ '.string(s:c['regex_ignore_directory'])) - if cachable | let s:glob_cache[pattern] = r | endif - return r -endf - diff --git a/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/glob_linux.vim b/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/glob_linux.vim deleted file mode 100644 index e93820c..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/glob_linux.vim +++ /dev/null @@ -1,43 +0,0 @@ - -" TODO refactor: create glob function -" noremap \og :callglob_linux#FileByGlobCurrentDir('**/*'.input('glob open '),"\\.git\\\\.hg\\node_modules\\\\.pyc" ) -" noremap \og :callglob_linux#FileByGlobCurrentDir('**/*'.input('glob open '),"default" ) -function! glob_linux#FileByGlobCurrentDir(glob, exclude_pattern, ...) - let opts = a:0 > 0 ? a:1 : {} - if a:exclude_pattern == "default" - let exclude_pattern = '\.git\|\.hg\|node_modules\|\.pyc' - else - let exclude_pattern = a:exclude_pattern - endif - - " let files = split(glob(a:glob),"\n") - let g = a:glob - let replace = {'**': '.*','*': '[^/\]*','.': '\.'} - let g = substitute(g, '\(\*\*\|\*\|\.\)', '\='.string(replace).'[submatch(1)]','g') - - let exclude = exclude_pattern == '' ? '' : ' | grep -v -e '.shellescape(exclude_pattern) - - let cmd = get(opts, 'cmd_find', 'find'). ' . | grep -e '.shellescape(g).exclude - let files = split(system(cmd),"\n") - " for nom in a:excludes - " call filter(files,nom) - " endfor - if len(files) > 1000 - echoe "more than ".2000." files - would be too slow. Open the file in another way" - else - if empty(files) - echoe "no file found" - elseif len(files) == 1 - exec 'e '.fnameescape(files[0]) - else - let g:abc=7 - call tovl#ui#filter_list#ListView({ - \ 'number' : 1, - \ 'selectByIdOrFilter' : 1, - \ 'Continuation' : funcref#Function('exec "e ".fnameescape(ARGS[0])'), - \ 'items' : files, - \ 'cmds' : ['wincmd J'] - \ }) - endif - endif -endfunction diff --git a/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/tiny_cmd.vim b/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/tiny_cmd.vim deleted file mode 100644 index 052bbe0..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/tiny_cmd.vim +++ /dev/null @@ -1,19 +0,0 @@ -" vim suffers: - -exec vam#DefineAndBind('s:c','g:vim_tiny_cmd', '{}') - -fun! tiny_cmd#Put(a) - let new = get(s:c,'next',0) +1 - let s:c['next'] = new - let s:c[new] = a:a - return new -endf - -fun! tiny_cmd#Get(nr) - return s:c[a:nr] -endf - -" Get and remove item -fun! tiny_cmd#Pop(nr) - let r = s:c[a:nr] | unlet s:c[a:nr] | return r -endf diff --git a/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/doc/cached_file_contents.txt b/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/doc/cached_file_contents.txt deleted file mode 100644 index a47a8cf..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/doc/cached_file_contents.txt +++ /dev/null @@ -1,7 +0,0 @@ -*cached_file_contents* read contents of a file then cache extracted data - Author: Marc Weber, marco-oweber@gmx.de - ------------------------------------------------------------------------ -HOWTO~ - - see cached_file_contents#Test() diff --git a/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/doc/funcref.txt b/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/doc/funcref.txt deleted file mode 100644 index cb366d0..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/doc/funcref.txt +++ /dev/null @@ -1,35 +0,0 @@ -*funcref* create lazier function references. Pass arguments to create closure - like function calls - Author: Marc Weber, marco-oweber@gmx.de - ------------------------------------------------------------------------ -HOWTO~ - -Use *funcref#Function* to create a special dict called -*faked-function-reference* which can be called by *funcref#Call* -> - { 'faked_function_reference': 'file#FuncName' } -< passing some arguments and / or self: > - { 'faked_function_reference': 'MyFunc', 'args': [1,2], 'self' : { a object ] } -< You can also create lambda like functions which will be evaled: > - { 'faked_function_reference': 'return ARGS[1]' } - -REASONS ~ - Creating a Vim funcref pointing to an autoload function will make Vim source - that file. This is not lazy enough. (Seems to be no longer true? Has this changed?) - - A Vim function reference neither allows attaching arguments nor self. - - Don't care about case of variables. Normally when using Vim function - references you have to use variable names starting with an upper case letter - (E704) - -Example: ~ -> - let f = funcref#Function('return ARGS[0].ARGS[1].SELF["key"]',{'args':[3], 'self':{'key': 'value'} }) - echo funcref#Call(f, [2]) - " prints "32value" - - echo funcref#Call('no value') -< - echo funcref#Call(f, [2]) diff --git a/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/doc/tiny_cmd.txt b/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/doc/tiny_cmd.txt deleted file mode 100644 index bc6e002..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/doc/tiny_cmd.txt +++ /dev/null @@ -1,18 +0,0 @@ -*tiny-cmd* make long commands short so that they hopefully no longer trigger "press Enter .. [ok]" - Author: Marc Weber, marco-oweber@gmx.de - ------------------------------------------------------------------------ -HOWTO~ - -Problem: > - exec 'map :silent! let g:g="'.repeat('foobar ',200).'"' -Now run the mapping by pressing and you notice what I'm talking about - -Solution (Example): - - -Example usage: > - let nr = tiny_cmd#Put('let g:g="'.repeat('foobar ',200).'"') - exec 'map :exec tiny_cmd#Get('.nr.')' -< -Use Pop instead of Get if you use this command once only diff --git a/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/vim-addon-mw-utils-addon-info.txt b/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/vim-addon-mw-utils-addon-info.txt deleted file mode 100644 index 0b20bb3..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-addon-mw-utils/vim-addon-mw-utils-addon-info.txt +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name" : "vim-addon-mw-utils", - "version" : "0.0", - "author" : "Marc Weber ", - "maintainer" : "Marc Weber ", - "repository" : {"type": "git", "url": "git://github.com/MarcWeber/vim-addon-manager-known-repositories.git"}, - "dependencies" : {}, - "description" : "various utils such as caching interpreted contents of files or advanced glob like things" -} diff --git a/vim/.vim_runtime/sources_non_forked/vim-bundle-mako/README.md b/vim/.vim_runtime/sources_non_forked/vim-bundle-mako/README.md deleted file mode 100644 index b89f17a..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-bundle-mako/README.md +++ /dev/null @@ -1,25 +0,0 @@ -README.md

    This project is a colleciton of vim scripts that relate to the Mako templating -engine for python. Most of thse are not at all written by me, just packaged -here from the vim-script site. The purpose is to make them easy to use with -pathogen.vim.

    - -

    Useful configuration variables:

    - -
      -
    • g:mako_detect_lang_from_ext: when set to 1 (the default), the ftdetect -script will attempt to figure out the “outer” filetype of the file by -stripping the “.mako” extension (eg: index.html.mako will be treated as HTML, -while script.cpp.mako will be treated as C++). Set to 0 to prevent this -detection.
    • -
    • g:mako_default_outer_lang: if ftdetect cannot detect the “outer” filetype of -the file, this sets the default filetype used. If not set, defaults to “html”.
    • -
    - -

    About mako: http://www.makotemplates.org/

    - -

    Externally sourced scripts:

    - - diff --git a/vim/.vim_runtime/sources_non_forked/vim-bundle-mako/ftdetect/mako.vim b/vim/.vim_runtime/sources_non_forked/vim-bundle-mako/ftdetect/mako.vim deleted file mode 100644 index 3051a43..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-bundle-mako/ftdetect/mako.vim +++ /dev/null @@ -1,11 +0,0 @@ -if !exists("g:mako_detect_lang_from_ext") - let g:mako_detect_lang_from_ext = 1 -endif -if g:mako_detect_lang_from_ext - au BufNewFile *.*.mako execute "do BufNewFile filetypedetect " . expand(":r") | let b:mako_outer_lang = &filetype - " it's important to get this before any of the normal BufRead autocmds execute - " for this file, otherwise a mako tag at the start of the file can cause the - " filetype to be set to mason - au BufReadPre *.*.mako execute "do BufRead filetypedetect " . expand(":r") | let b:mako_outer_lang = &filetype -endif -au BufRead,BufNewFile *.mako set filetype=mako diff --git a/vim/.vim_runtime/sources_non_forked/vim-bundle-mako/ftplugin/mako.vim b/vim/.vim_runtime/sources_non_forked/vim-bundle-mako/ftplugin/mako.vim deleted file mode 100644 index 565defc..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-bundle-mako/ftplugin/mako.vim +++ /dev/null @@ -1,19 +0,0 @@ -" Vim filetype plugin file -" Language: Mako -" Maintainer: Randy Stauner -" Last Change: 2019-09-06 -" Version: 0.2 - -if exists("b:did_ftplugin") | finish | endif -let b:did_ftplugin = 1 - -setlocal comments=:## -setlocal commentstring=##%s - -if exists("loaded_matchit") - let b:match_ignorecase = 1 - let b:match_words = "<:>," . - \ "<\@<=[ou]l\>[^>]*\%(>\|$\):<\@<=li\>:<\@<=/[ou]l>," . - \ "<\@<=dl\>[^>]*\%(>\|$\):<\@<=d[td]\>:<\@<=/dl>," . - \ "<\@<=\([^/][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>" -endif diff --git a/vim/.vim_runtime/sources_non_forked/vim-bundle-mako/indent/mako.vim b/vim/.vim_runtime/sources_non_forked/vim-bundle-mako/indent/mako.vim deleted file mode 100644 index f1f9482..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-bundle-mako/indent/mako.vim +++ /dev/null @@ -1,428 +0,0 @@ -" Vim indent file -" Language: Mako -" Author: Scott Torborg -" Version: 0.4 -" License: Do What The Fuck You Want To Public License (WTFPL) -" -" --------------------------------------------------------------------------- -" -" DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE -" Version 2, December 2004 -" -" Copyright (C) 2004 Sam Hocevar -" -" Everyone is permitted to copy and distribute verbatim or modified -" copies of this license document, and changing it is allowed as long -" as the name is changed. -" -" DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE -" TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION -" -" 0. You just DO WHAT THE FUCK YOU WANT TO. -" -" --------------------------------------------------------------------------- -" -" This script does more useful indenting for Mako HTML templates. It indents -" inside of control blocks, defs, etc. Note that this indenting style will -" sacrifice readability of the output text for the sake of readability of the -" template. -" -" We'll use HTML indenting globally, python inside <% %> blocks. Inspired by -" the excellent PHP + HTML indentation files such as php.vim by Pim Snel. -" -" Changelog: -" 0.4 - 5 March 2010 -" - Added license information -" 0.3 - 15 September 2009 -" - Added explicit indenting for ## comments, fixed unindenting count, -" thanks to Mike Lewis (@MikeRLewis) for this -" 0.2 - 15 June 2009 -" - Fixed issue where opening and closing mako tags on the same line -" would cause incorrect indenting -" 0.1 - 06 June 2009 -" - Initial public release of mako indent file - -if exists("b:did_indent") - finish -endif -let b:did_indent = 1 - -setlocal nosmartindent -setlocal noautoindent -setlocal nocindent -setlocal nolisp -setlocal expandtab -setlocal softtabstop=2 -setlocal shiftwidth=2 - -setlocal indentexpr=GetMakoIndent() -setlocal indentkeys+=*,<>>,,end,: - -" Only define the function once. -if exists("*GetMakoIndent") - finish -endif - -if exists('g:html_indent_tags') - unlet g:html_indent_tags -endif - -function IsInsidePythonBlock(startline) - " Loop until we get a line that's either <% or %> - let lnum = a:startline - while getline(lnum) !~ '\(%>\|<%\)$' && lnum > 0 - let lnum = lnum - 1 - endwhile - - " lnum points to the last control. If it's a <% then we're inside an - " embedded python block, otherwise we're not. - return getline(lnum) =~ '<%$' -endfunction - -function GetMakoIndent() - " Find a non-empty line above the current line - let lnum = prevnonblank(v:lnum - 1) - - " Hit the start of the file, use zero indent. - if lnum == 0 - return 0 - endif - - let line = getline(lnum) " last line - let cline = getline(v:lnum) " current line - let pline = getline(lnum - 1) " previous to last line - let ind = indent(lnum) - if line =~ '^\s*##' - return indent(lnum) - end - - let restore_ic=&ic - let &ic=1 " ignore case - - let ind = HtmlIndentSum(lnum, -1) - let ind = HtmlIndentSum(lnum, -1) - let ind = ind + HtmlIndentSum(v:lnum, 0) - - let &ic=restore_ic - - let ind = indent(lnum) + (&sw * ind) - - " Indent after %anything: or <%anything NOT ending in /> - if line =~ '^\s*%.*:\s*$' - let ind = ind + &sw - endif - - " Unindent before %end* or $' - let scanlnum = lnum - " Scan backwards until we find the beginning of this python block. - while getline(scanlnum) !~ '<%$' && scanlnum > 0 - let scanlnum = scanlnum - 1 - endwhile - let ind = indent(scanlnum) - endif - - " If we're inside a python block and the previous line ends in a colon, - " indent. - if IsInsidePythonBlock(lnum - 1) - " Indent after : - if line =~ '\:$' - let ind = ind + &sw - endif - endif - - return ind -endfunction - - -" [-- helper function to assemble tag list --] -fun! HtmlIndentPush(tag) - if exists('g:html_indent_tags') - let g:html_indent_tags = g:html_indent_tags.'\|'.a:tag - else - let g:html_indent_tags = a:tag - endif -endfun - -fun! MakoIndentPush(tag) - if exists('g:mako_indent_tags') - let g:mako_indent_tags = g:mako_indent_tags.'\|'.a:tag - else - let g:mako_indent_tags = a:tag - endif -endfun - -" [-- --] -call HtmlIndentPush('a') -call HtmlIndentPush('abbr') -call HtmlIndentPush('address') -call HtmlIndentPush('applet') -call HtmlIndentPush('article') -call HtmlIndentPush('aside') -call HtmlIndentPush('audio') -call HtmlIndentPush('b') -call HtmlIndentPush('bdi') -call HtmlIndentPush('bdo') -call HtmlIndentPush('blockquote') -call HtmlIndentPush('button') -call HtmlIndentPush('canvas') -call HtmlIndentPush('caption') -call HtmlIndentPush('cite') -call HtmlIndentPush('code') -call HtmlIndentPush('colgroup') -call HtmlIndentPush('content') -call HtmlIndentPush('data') -call HtmlIndentPush('datalist') -call HtmlIndentPush('del') -call HtmlIndentPush('details') -call HtmlIndentPush('dfn') -call HtmlIndentPush('dialog') -call HtmlIndentPush('dir') -call HtmlIndentPush('div') -call HtmlIndentPush('dl') -call HtmlIndentPush('element') -call HtmlIndentPush('em') -call HtmlIndentPush('fieldset') -call HtmlIndentPush('figcaption') -call HtmlIndentPush('figure') -call HtmlIndentPush('footer') -call HtmlIndentPush('form') -call HtmlIndentPush('h1') -call HtmlIndentPush('h2') -call HtmlIndentPush('h3') -call HtmlIndentPush('h4') -call HtmlIndentPush('h5') -call HtmlIndentPush('h6') -call HtmlIndentPush('header') -call HtmlIndentPush('hgroup') -call HtmlIndentPush('i') -call HtmlIndentPush('iframe') -call HtmlIndentPush('ins') -call HtmlIndentPush('kbd') -call HtmlIndentPush('label') -call HtmlIndentPush('legend') -call HtmlIndentPush('li') -call HtmlIndentPush('main') -call HtmlIndentPush('map') -call HtmlIndentPush('mark') -call HtmlIndentPush('MediaStream') -call HtmlIndentPush('menu') -call HtmlIndentPush('menuitem') -call HtmlIndentPush('meter') -call HtmlIndentPush('nav') -call HtmlIndentPush('noembed') -call HtmlIndentPush('noscript') -call HtmlIndentPush('object') -call HtmlIndentPush('ol') -call HtmlIndentPush('optgroup') -call HtmlIndentPush('option') -call HtmlIndentPush('output') -call HtmlIndentPush('picture') -call HtmlIndentPush('pre') -call HtmlIndentPush('progress') -call HtmlIndentPush('q') -call HtmlIndentPush('rb') -call HtmlIndentPush('rp') -call HtmlIndentPush('rt') -call HtmlIndentPush('rtc') -call HtmlIndentPush('ruby') -call HtmlIndentPush('s') -call HtmlIndentPush('samp') -call HtmlIndentPush('script') -call HtmlIndentPush('section') -call HtmlIndentPush('select') -call HtmlIndentPush('shadow') -call HtmlIndentPush('slot') -call HtmlIndentPush('small') -call HtmlIndentPush('span') -call HtmlIndentPush('strong') -call HtmlIndentPush('style') -call HtmlIndentPush('sub') -call HtmlIndentPush('summary') -call HtmlIndentPush('sup') -call HtmlIndentPush('table') -call HtmlIndentPush('template') -call HtmlIndentPush('textarea') -call HtmlIndentPush('time') -call HtmlIndentPush('title') -call HtmlIndentPush('tt') -call HtmlIndentPush('u') -call HtmlIndentPush('ul') -call HtmlIndentPush('var') -call HtmlIndentPush('video') - -" For some reason the default HTML indentation script doesn't consider these -" elements to be worthy of indentation. -call HtmlIndentPush('p') -call HtmlIndentPush('dt') -call HtmlIndentPush('dd') - - -" [-- --] -if !exists('g:html_indent_strict') - call HtmlIndentPush('body') - call HtmlIndentPush('head') - call HtmlIndentPush('html') - call HtmlIndentPush('tbody') -endif - - -" [-- --] -if !exists('g:html_indent_strict_table') - call HtmlIndentPush('th') - call HtmlIndentPush('td') - call HtmlIndentPush('tr') - call HtmlIndentPush('tfoot') - call HtmlIndentPush('thead') -endif - -" [-- --] -call HtmlIndentPush('abbr') -call HtmlIndentPush('acronym') -call HtmlIndentPush('applet') -call HtmlIndentPush('audio') -call HtmlIndentPush('basefont') -call HtmlIndentPush('bgsound') -call HtmlIndentPush('big') -call HtmlIndentPush('blink') -call HtmlIndentPush('center') -call HtmlIndentPush('command') -call HtmlIndentPush('content') -call HtmlIndentPush('dir') -call HtmlIndentPush('element') -call HtmlIndentPush('embed') -call HtmlIndentPush('font') -call HtmlIndentPush('frame') -call HtmlIndentPush('frameset') -call HtmlIndentPush('image') -call HtmlIndentPush('img') -call HtmlIndentPush('isindex') -call HtmlIndentPush('keygen') -call HtmlIndentPush('listing') -call HtmlIndentPush('marquee') -call HtmlIndentPush('menuitem') -call HtmlIndentPush('multicol') -call HtmlIndentPush('nextid') -call HtmlIndentPush('nobr') -call HtmlIndentPush('noembed') -call HtmlIndentPush('noframes') -call HtmlIndentPush('object') -call HtmlIndentPush('plaintext') -call HtmlIndentPush('shadow') -call HtmlIndentPush('spacer') -call HtmlIndentPush('strike') -call HtmlIndentPush('tt') -call HtmlIndentPush('xmp') - -" [-- --] -call MakoIndentPush('%def') -call MakoIndentPush('%block') -call MakoIndentPush('%call') -call MakoIndentPush('%doc') -call MakoIndentPush('%text') -call MakoIndentPush('%.\+:.\+') - -delfun HtmlIndentPush -delfun MakoIndentPush - -set cpo-=C - -" [-- get number of regex matches in a string --] -fun! MatchCount(expr, pat) - let mpos = 0 - let mcount = 0 - let expr = a:expr - while (mpos > -1) - let mend = matchend(expr, a:pat) - if mend > -1 - let mcount = mcount + 1 - endif - if mend == mpos - let mpos = mpos + 1 - else - let mpos = mend - endif - let expr = strpart(expr, mpos) - endwhile - return mcount -endfun - -" [-- count indent-increasing tags of line a:lnum --] -fun! HtmlIndentOpen(lnum) - let s = substitute('x'.getline(a:lnum), - \ '.\{-}\(\(<\)\('.g:html_indent_tags.'\)\>\)', "\1", 'g') - let s = substitute(s, "[^\1].*$", '', '') - return strlen(s) -endfun - -" [-- count indent-decreasing tags of line a:lnum --] -fun! HtmlIndentClose(lnum) - let s = substitute('x'.getline(a:lnum), - \ '.\{-}\(\(<\)/\('.g:html_indent_tags.'\)\>>\)', "\1", 'g') - let s = substitute(s, "[^\1].*$", '', '') - return strlen(s) -endfun - -" [-- count indent-increasing mako tags of line a:lnum --] -fun! MakoIndentOpen(lnum) - let s = substitute('x'.getline(a:lnum), - \ '.\{-}\(\(<\)\('.g:mako_indent_tags.'\)\>\)', "\1", 'g') - let s = substitute(s, "[^\1].*$", '', '') - return strlen(s) -endfun - -" [-- count indent-decreasing mako tags of line a:lnum --] -fun! MakoIndentClose(lnum) - let mcount = MatchCount(getline(a:lnum), '') - let mcount = mcount + MatchCount(getline(a:lnum), '<\('.g:mako_indent_tags.'\)[^>]*/>') - return mcount -endfun - -" [-- count indent-increasing '{' of (java|css) line a:lnum --] -fun! HtmlIndentOpenAlt(lnum) - return strlen(substitute(getline(a:lnum), '[^{]\+', '', 'g')) -endfun - -" [-- count indent-decreasing '}' of (java|css) line a:lnum --] -fun! HtmlIndentCloseAlt(lnum) - return strlen(substitute(getline(a:lnum), '[^}]\+', '', 'g')) -endfun - -" [-- return the sum of indents respecting the syntax of a:lnum --] -fun! HtmlIndentSum(lnum, style) - let open = HtmlIndentOpen(a:lnum) + MakoIndentOpen(a:lnum) - let close = HtmlIndentClose(a:lnum) + MakoIndentClose(a:lnum) - if a:style == match(getline(a:lnum), '^\s*HtmlIndentOpenAlt(a:lnum) - HtmlIndentCloseAlt(a:lnum) - endif - endif - return 0 -endfun - -" vim: set ts=4 sw=4: diff --git a/vim/.vim_runtime/sources_non_forked/vim-bundle-mako/syntax/mako.vim b/vim/.vim_runtime/sources_non_forked/vim-bundle-mako/syntax/mako.vim deleted file mode 100644 index 8373699..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-bundle-mako/syntax/mako.vim +++ /dev/null @@ -1,103 +0,0 @@ -" Vim syntax file -" Language: Mako -" Maintainer: Armin Ronacher -" URL: http://lucumr.pocoo.org/ -" Last Change: 2013-05-01 -" Version: 0.6.1+ -" -" Thanks to Brine Rue who noticed a bug in the -" delimiter handling. -" -" Known Limitations -" the <%text> block does not have correct attributes - -" For version 5.x: Clear all syntax items -" For version 6.x: Quit when a syntax file was already loaded -if version < 600 - syntax clear -elseif exists("b:current_syntax") - finish -endif - -if !exists("b:mako_outer_lang") - if exists("g:mako_default_outer_lang") - let b:mako_outer_lang = g:mako_default_outer_lang - else - let b:mako_outer_lang = "html" - endif -endif -if !exists("main_syntax") - let main_syntax = b:mako_outer_lang -endif - -"Source the outer syntax file -execute "ru! syntax/" . b:mako_outer_lang . ".vim" -if exists("b:current_syntax") - unlet b:current_syntax -endif - -if b:mako_outer_lang == "html" - " tell html.vim what syntax groups should take precedence (see :help html.vim) - syn cluster htmlPreproc add=makoLine,makoVariable,makoTag,makoDocComment,makoDefEnd,makoText,makoDelim,makoEnd,makoComment,makoEscape -endif - -"Put the python syntax file in @pythonTop -syn include @pythonTop syntax/python.vim - -" End keywords -syn keyword makoEnd contained endfor endwhile endif endtry enddef - -" Block rules -syn region makoLine matchgroup=makoDelim start=#^\s*%# end=#$# keepend contains=@pythonTop,makoEnd -syn region makoBlock matchgroup=makoDelim start=#<%!\?# end=#%># keepend contains=@pythonTop,makoEnd - -" Variables -syn region makoNested start="{" end="}" transparent display contained contains=makoNested,@pythonTop -syn region makoVariable matchgroup=makoDelim start=#\${# end=#}# contains=makoNested,@pythonTop - -" Comments -syn region makoComment start="^\s*##" end="$" -syn region makoDocComment matchgroup=makoDelim start="<%doc>" end="" keepend - -" Literal Blocks -syn region makoText matchgroup=makoDelim start="<%text[^>]*>" end="" - -" Attribute Sublexing -syn match makoAttributeKey containedin=makoTag contained "[a-zA-Z_][a-zA-Z0-9_]*=" -syn region makoAttributeValue containedin=makoTag contained start=/"/ skip=/\\"/ end=/"/ -syn region makoAttributeValue containedin=MakoTag contained start=/'/ skip=/\\'/ end=/'/ - -" Tags -syn region makoTag matchgroup=makoDelim start="<%\(def\|call\|page\|include\|namespace\|inherit\|block\|[a-zA-Z_][a-zA-Z0-9_]*:[a-zA-Z_][a-zA-Z0-9_]*\)\>" end="/\?>" -syn match makoDelim "" - -syn region makoJavaScript matchgroup=makoDelim start=+<%block .*js.*>+ keepend end=++ contains=@htmlJavaScript,htmlCssStyleComment,htmlScriptTag,@htmlPreproc,makoLine,makoBlock,makoVariable -syn region makoCssStyle matchgroup=makoDelim start=+<%block .*css.*>+ keepend end=++ contains=@htmlCss,htmlTag,htmlEndTag,htmlCssStyleComment,@htmlPreproc,makoLine,makoBlock,makoVariable - -" Newline Escapes -syn match makoEscape /\\$/ - -" Default highlighting links -if version >= 508 || !exists("did_mako_syn_inits") - if version < 508 - let did_mako_syn_inits = 1 - com -nargs=+ HiLink hi link - else - com -nargs=+ HiLink hi def link - endif - - HiLink makoDocComment makoComment - HiLink makoDefEnd makoDelim - - HiLink makoAttributeKey Type - HiLink makoAttributeValue String - HiLink makoText Normal - HiLink makoDelim Preproc - HiLink makoEnd Keyword - HiLink makoComment Comment - HiLink makoEscape Special - - delc HiLink -endif - -let b:current_syntax = b:mako_outer_lang diff --git a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/.gitignore b/vim/.vim_runtime/sources_non_forked/vim-coffee-script/.gitignore deleted file mode 100644 index 1ff7b05..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -.*.sw[a-z] -.*.un~ -doc/tags - diff --git a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/Copying.md b/vim/.vim_runtime/sources_non_forked/vim-coffee-script/Copying.md deleted file mode 100644 index 0b882d6..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/Copying.md +++ /dev/null @@ -1,54 +0,0 @@ - -Copying.md

    All files except:

    - -

    ftdetect/vim-literate-coffeescript.vim -indent/litcoffee.vim -syntax/litcoffee.vim -test/test.coffee.md -test/test.litcoffee -test/test.png

    - -

    Issued under WTFPL:

    - -
                DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
    -                    Version 2, December 2004
    -
    - Copyright (C) 2010 to 2014 Mick Koch <mick@kochm.co>
    -
    - Everyone is permitted to copy and distribute verbatim or modified
    - copies of this license document, and changing it is allowed as long
    - as the name is changed.
    -
    -            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
    -   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
    -
    -  0. You just DO WHAT THE FUCK YOU WANT TO.
    - -

    These files issed under this license:

    - -

    ftdetect/vim-literate-coffeescript.vim -indent/litcoffee.vim -syntax/litcoffee.vim -test/test.coffee.md -test/test.litcoffee -test/test.png

    - -

    Copyright © 2013 Michael Smith

    - -

    Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the “Software”), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions:

    - -

    The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software.

    - -

    THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE.

    diff --git a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/Makefile b/vim/.vim_runtime/sources_non_forked/vim-coffee-script/Makefile deleted file mode 100644 index e6ef409..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/Makefile +++ /dev/null @@ -1,25 +0,0 @@ -REF = HEAD -VERSION = $(shell git describe --always $(REF)) - -ARCHIVE = vim-coffee-script-$(VERSION).zip -ARCHIVE_DIRS = after autoload compiler doc ftdetect ftplugin indent syntax - -# Don't do anything by default. -all: - -# Make vim.org zipball. -archive: - git archive $(REF) -o $(ARCHIVE) -- $(ARCHIVE_DIRS) - -# Remove zipball. -clean: - -rm -f $(ARCHIVE) - -# Build the list of syntaxes for @coffeeAll. -coffeeAll: - @grep -E 'syn (match|region)' syntax/coffee.vim |\ - grep -v 'contained' |\ - awk '{print $$3}' |\ - uniq - -.PHONY: all archive clean hash coffeeAll diff --git a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/News.md b/vim/.vim_runtime/sources_non_forked/vim-coffee-script/News.md deleted file mode 100644 index ebac8b3..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/News.md +++ /dev/null @@ -1,24 +0,0 @@ -News.md

    Version 003 (October 10, 2014)

    - -

    Almost 3 years’ worth of fixes and (hopefully) improvements.

    - -

    Version 002 (December 5, 2011)

    - -

    Added binary numbers (0b0101) and fixed some bugs (#9, #62, #63, #65).

    - -

    Version 001 (October 18, 2011)

    - -

    Removed deprecated coffee_folding option, added coffee_compile_vert option, -split out compiler, fixed indentation and syntax bugs, and added Haml support -and omnicompletion.

    - -
      -
    • The coffee compiler is now a proper vim compiler that can be loaded with -:compiler coffee.
    • -
    • The coffee_compile_vert option can now be set to split the CoffeeCompile -buffer vertically by default.
    • -
    • CoffeeScript is now highlighted inside the :coffeescript filter in Haml.
    • -
    • Omnicompletion (:help compl-omni) now uses JavaScript’s dictionary to -complete words.
    • -
    • We now have a fancy version number.
    • -
    diff --git a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/Readme.md b/vim/.vim_runtime/sources_non_forked/vim-coffee-script/Readme.md deleted file mode 100644 index c304c80..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/Readme.md +++ /dev/null @@ -1,588 +0,0 @@ - -Readme.md

    This project adds CoffeeScript support to vim. It covers syntax, indenting, -compiling, and more.

    - -

    Screenshot

    - -

    Table of Contents

    - - - -

    Requirements

    - -
      -
    • vim 7.4 or later
    • -
    • coffee 1.2.0 or later
    • -
    - -

    Install using Pathogen

    - -

    This project uses rolling releases based on git commits, so pathogen is a -natural fit for it. If you’re already using pathogen, you can skip to step 4.

    - -
      -
    1. Install pathogen.vim into ~/.vim/autoload/ (see pathogen’s -readme for more information.)
    2. -
    - -
      -
    1. Enable pathogen in your vimrc. Here’s a bare-minimum vimrc that enables -all the features of vim-coffee-script:
    2. -
    - -
       call pathogen#infect()
    -   syntax enable
    -   filetype plugin indent on
    - -

    If you already have a vimrc built up, just make sure it contains these calls, - in this order.

    - -
      -
    1. Create the directory ~/.vim/bundle/:

      - -
      mkdir ~/.vim/bundle
    2. - -
    3. Clone the vim-coffee-script repo into ~/.vim/bundle/:

      - -
      git clone https://github.com/kchmck/vim-coffee-script.git ~/.vim/bundle/vim-coffee-script/
    4. -
    - -

    Updating takes two steps:

    - -
      -
    1. Change into ~/.vim/bundle/vim-coffee-script/:

      - -
      cd ~/.vim/bundle/vim-coffee-script
    2. - -
    3. Pull in the latest changes:

      - -
      git pull
    4. -
    - -

    Install using Vundle

    - -
      -
    1. Install Vundle into ~/.vim/bundle/.
    2. -
    - -
      -
    1. Configure your vimrc for Vundle. Here’s a bare-minimum vimrc that enables all -the features of vim-coffee-script:
    2. -
    - -
       set nocompatible
    -   filetype off
    -
    -   set rtp+=~/.vim/bundle/vundle/
    -   call vundle#rc()
    -
    -   Plugin 'kchmck/vim-coffee-script'
    -
    -   syntax enable
    -   filetype plugin indent on
    - -

    If you’re adding Vundle to a built-up vimrc, just make sure all these calls - are in there and that they occur in this order.

    - -
      -
    1. Open vim and run :PluginInstall.
    2. -
    - -

    To update, open vim and run :PluginInstall! (notice the bang!)

    - -

    Install from a Zip File

    - -
      -
    1. Download the latest zip file from vim.org.

    2. - -
    3. Extract the archive into ~/.vim/:

      - -
      unzip -od ~/.vim/ ARCHIVE.zip
    4. -
    - -

    This should create the files ~/.vim/autoload/coffee.vim, - ~/.vim/compiler/coffee.vim, etc.

    - -

    You can update the plugin using the same steps.

    - -

    Compile to JavaScript

    - -

    A coffee wrapper for use with :make is enabled automatically for coffee -files if no other compiler is loaded. To enable it manually, run

    - -
    :compiler coffee
    - -

    The :make command is then configured to use the coffee compiler and -recognize its errors. I’ve included a quick reference here but be sure to check -out :help :make for a full reference of the command.

    - -

    make

    - -

    make Result

    - -

    Consider the full signature of a :make call as

    - -
    :[silent] make[!] [COFFEE-OPTIONS]...
    - -

    By default :make shows all compiler output and jumps to the first line -reported as an error. Compiler output can be hidden with a leading :silent:

    - -
    :silent make
    - -

    Line-jumping can be turned off by adding a bang:

    - -
    :make!
    - -

    COFFEE-OPTIONS given to :make are passed along to coffee (see also -coffee_make_options):

    - -
    :make --bare --output /some/dir
    - -

    See the full table of options for a -list of all the options that coffee recognizes.

    - -

    Configuration: coffee_compiler, -coffee_make_options

    - -

    The quickfix window

    - -

    Compiler errors are added to the quickfix list by :make, but the quickfix -window isn’t automatically shown. The :cwindow command will pop up -the quickfix window if there are any errors:

    - -
    :make
    -:cwindow
    - -

    This is usually the desired behavior, so you may want to add an autocmd to your -vimrc to do this automatically:

    - -
    autocmd QuickFixCmdPost * nested cwindow | redraw!
    - -

    The redraw! command is needed to fix a redrawing quirk in terminal vim, but -can removed for gVim.

    - -

    Recompile on write

    - -

    To recompile a file when it’s written, add a BufWritePost autocmd to your -vimrc:

    - -
    autocmd BufWritePost *.coffee silent make!
    - -

    Cake and Cakefiles

    - -

    A cake compiler is also available with the call

    - -
    :compiler cake
    - -

    You can then use :make as above to run your Cakefile and capture any coffee -errors:

    - -
    :silent make build
    - -

    It runs within the current directory, so make sure you’re in the directory of -your Cakefile before calling it.

    - -

    Configuration: coffee_cake, -coffee_cake_options

    - -

    CoffeeCompile: Compile CoffeeScript Snippets

    - -

    CoffeeCompile shows how the current file or a snippet of CoffeeScript is -compiled to JavaScript.

    - -
    :[RANGE] CoffeeCompile [vert[ical]] [WINDOW-SIZE]
    - -

    Calling :CoffeeCompile without a range compiles the whole file:

    - -

    CoffeeCompile

    - -

    CoffeeCompile Result

    - -

    Calling it with a range, like in visual mode, compiles only the selected snippet -of CoffeeScript:

    - -

    CoffeeCompile Snippet

    - -

    Compiled Snippet

    - -

    Each file gets its own CoffeeCompile buffer, and the same buffer is used for all -future calls of :CoffeeCompile on that file. It can be quickly closed by -hitting q in normal mode.

    - -

    Using vert opens the CoffeeCompile buffer vertically instead of horizontally -(see also coffee_compile_vert):

    - -
    :CoffeeCompile vert
    - -

    By default the CoffeeCompile buffer splits the source buffer in half, but this -can be overridden by passing in a WINDOW-SIZE:

    - -
    :CoffeeCompile 4
    - -

    Configuration: coffee_compiler, -coffee_compile_vert

    - -

    Quick syntax checking

    - -

    If compiling a snippet results in a compiler error, CoffeeCompile adds that -error to the quickfix list.

    - -

    Syntax Checking

    - -

    Syntax Checking Result

    - -

    You can use this to quickly check the syntax of a snippet.

    - -

    CoffeeWatch: Live Preview Compiling

    - -

    CoffeeWatch emulates using the Try CoffeeScript preview box on the CoffeeScript -homepage.

    - -

    CoffeeWatch

    - -

    CoffeeWatch Result

    - -

    CoffeeWatch takes the same options as CoffeeCompile:

    - -
    :CoffeeWatch [vert[ical]] [WINDOW-SIZE]
    - -

    After a source buffer is watched, leaving insert mode or saving the file fires -off a recompile of the CoffeeScript:

    - -

    Insert Mode

    - -

    Recompile

    - -

    You can force recompilation by calling :CoffeeWatch.

    - -

    To get synchronized scrolling of the source buffer and CoffeeWatch buffer, set -'scrollbind' -on each:

    - -
    :setl scrollbind
    - -

    Configuration: coffee_compiler, -coffee_watch_vert

    - -

    CoffeeRun: Run CoffeeScript Snippets

    - -

    CoffeeRun compiles the current file or selected snippet and runs the resulting -JavaScript.

    - -

    CoffeeRun

    - -

    CoffeeRun Output

    - -

    The command has two forms:

    - -
    :CoffeeRun [PROGRAM-OPTIONS]...
    - -

    This form applies when no RANGE is given or when the given range is 1,$ -(first line to last line). It allows passing PROGRAM-OPTIONS to your compiled -program. The filename is passed directly to coffee so you must save the file -for your changes to take effect.

    - -
    :RANGE CoffeeRun [COFFEE-OPTIONS]...
    - -

    This form applies with all other ranges. It compiles and runs the lines within -the given RANGE and any extra COFFEE-OPTIONS are passed to coffee.

    - -

    Configuration: coffee_compiler, -coffee_run_vert

    - -

    CoffeeLint: Lint your CoffeeScript

    - -

    CoffeeLint runs coffeelint (version 1.4.0 or later -required) on the current file and adds any issues to the quickfix list.

    - -

    CoffeeLint

    - -

    CoffeeLint Result

    - -
    :[RANGE] CoffeeLint[!] [COFFEELINT-OPTIONS]... [ | cwindow]
    - -

    If a RANGE is given, only those lines are piped to coffeelint. Options given -in COFFEELINT-OPTIONS are passed to coffeelint (see also -coffee_lint_options):

    - -
    :CoffeeLint -f lint.json
    - -

    It behaves very similar to :make, described above.

    - -
    :CoffeeLint! | cwindow
    - -

    Configuration: coffee_linter, -coffee_lint_options

    - -

    Literate CoffeeScript

    - -

    Literate CoffeeScript syntax and indent support is now built in! The Coffee -commands detect when they’re running on a litcoffee file and pass the ---literate flag to their respective tools.

    - -

    Literate CoffeeScript syntax and indent support was written by @mintplant -(Michael Smith). A standalone repo -exists, but you’ll -need to copy the ftplugin/litcoffee.vim file or set up an autocmd to get the -Coffee commands to be automatically loaded for litcoffee files.

    - -

    CoffeeScript in HTML

    - -

    CoffeeScript is highlighted and indented within

    - -
    <script type="text/coffeescript">
    -</script>
    - -

    blocks in html files.

    - -

    CoffeeScript in Haml

    - -

    CoffeeScript is highlighted within the :coffeescript filter in haml files:

    - -
    :coffeescript
    -  console.log "hullo"
    - -

    At this time, coffee indenting doesn’t work in these blocks.

    - -

    Custom Autocmds

    - -

    You can define commands to be ran automatically on these -custom events.

    - -

    In all cases, the name of the command running the event (CoffeeCompile, -CoffeeWatch, or CoffeeRun) is matched by the {pat} argument. -You can match all commands with a * or only specific commands by separating -them with a comma: CoffeeCompile,CoffeeWatch.

    - -

    CoffeeBufNew

    - -

    CoffeeBufNew is ran when a new scratch buffer is created. It’s called from the -new buffer, so it can be used to do additional set up.

    - -
    augroup CoffeeBufNew
    -  autocmd User * set wrap
    -augroup END
    - -

    Used By: CoffeeCompile, CoffeeWatch, CoffeeRun

    - -

    CoffeeBufUpdate

    - -

    CoffeeBufUpdate is ran when a scratch buffer is updated with output from -coffee. It’s called from the scratch buffer, so it can be used to alter the -compiled output.

    - -
    " Switch back to the source buffer after updating.
    -augroup CoffeeBufUpdate
    -  autocmd User CoffeeCompile,CoffeeRun exec bufwinnr(b:coffee_src_buf) 'wincmd w'
    -augroup END
    - -

    For example, to strip off the “Generated by” comment on the first line, put this -in your vimrc:

    - -
    function! s:RemoveGeneratedBy()
    -  " If there was an error compiling, there's no comment to remove.
    -  if v:shell_error
    -    return
    -  endif
    -
    -  " Save cursor position.
    -  let pos = getpos('.')
    -
    -  " Remove first line.
    -  set modifiable
    -  1 delete _
    -  set nomodifiable
    -
    -  " Restore cursor position.
    -  call setpos('.', pos)
    -endfunction
    -
    -augroup CoffeeBufUpdate
    -  autocmd User CoffeeCompile,CoffeeWatch call s:RemoveGeneratedBy()
    -augroup END
    - -

    Used By: CoffeeCompile, CoffeeWatch, CoffeeRun

    - -

    Configuration Variables

    - -

    This is the full list of configuration variables available, with example -settings and default values. Use these in your vimrc to control the default -behavior.

    - -

    coffee_indent_keep_current

    - -

    By default, the indent function matches the indent of the previous line if it -doesn’t find a reason to indent or outdent. To change this behavior so it -instead keeps the current indent of the cursor, use

    - -
    let coffee_indent_keep_current = 1
    - -

    Default: unlet coffee_indent_keep_current

    - -

    Note that if you change this after a coffee file has been loaded, you’ll have to -reload the indent script for the change to take effect:

    - -
    unlet b:did_indent | runtime indent/coffee.vim
    - -

    coffee_compiler

    - -

    Path to the coffee executable used by the Coffee commands:

    - -
    let coffee_compiler = '/usr/bin/coffee'
    - -

    Default: 'coffee' (search $PATH for executable)

    - -

    coffee_make_options

    - -

    Options to pass to coffee with :make:

    - -
    let coffee_make_options = '--bare'
    - -

    Default: '' (nothing)

    - -

    Note that coffee_make_options is embedded into 'makeprg', so :compiler -coffee must be ran after changing coffee_make_options for the changes to take -effect.

    - -

    coffee_cake

    - -

    Path to the cake executable:

    - -
    let coffee_cake = '/opt/bin/cake'
    - -

    Default: 'cake' (search $PATH for executable)

    - -

    coffee_cake_options

    - -

    Options to pass to cake with :make:

    - -
    let coffee_cake_options = 'build'
    - -

    Default: '' (nothing)

    - -

    coffee_linter

    - -

    Path to the coffeelint executable:

    - -
    let coffee_linter = '/opt/bin/coffeelint'
    - -

    Default: 'coffeelint' (search $PATH for executable)

    - -

    coffee_lint_options

    - -

    Options to pass to coffeelint:

    - -
    let coffee_lint_options = '-f lint.json'
    - -

    Default: '' (nothing)

    - -

    coffee_compile_vert

    - -

    Open the CoffeeCompile buffer with a vertical split instead of a horizontal -one:

    - -
    let coffee_compile_vert = 1
    - -

    Default: unlet coffee_compile_vert

    - -

    coffee_watch_vert

    - -

    Open the CoffeeWatch buffer with a vertical split instead of a horizontal -one:

    - -
    let coffee_watch_vert = 1
    - -

    Default: unlet coffee_watch_vert

    - -

    coffee_run_vert

    - -

    Open the CoffeeRun buffer with a vertical split instead of a horizontal -one:

    - -
    let coffee_run_vert = 1
    - -

    Default: unlet coffee_run_vert

    - -

    Configure Syntax Highlighting

    - -

    Add these lines to your vimrc to disable the relevant syntax group.

    - -

    Disable trailing whitespace error

    - -

    Trailing whitespace is highlighted as an error by default. This can be disabled -with:

    - -
    hi link coffeeSpaceError NONE
    - -

    Disable trailing semicolon error

    - -

    Trailing semicolons are considered an error (for help transitioning from -JavaScript.) This can be disabled with:

    - -
    hi link coffeeSemicolonError NONE
    - -

    Disable reserved words error

    - -

    Reserved words like function and var are highlighted as an error where -they’re not allowed in CoffeeScript. This can be disabled with:

    - -
    hi link coffeeReservedError NONE
    - -

    Tune Vim for CoffeeScript

    - -

    Changing these core settings can make vim more CoffeeScript friendly.

    - -

    Fold by indentation

    - -

    Folding by indentation works well for CoffeeScript functions and classes:

    - -

    Folding

    - -

    To fold by indentation in CoffeeScript files, add this line to your vimrc:

    - -
    autocmd BufNewFile,BufReadPost *.coffee setl foldmethod=indent nofoldenable
    - -

    With this, folding is disabled by default but can be quickly toggled per-file -by hitting zi. To enable folding by default, remove nofoldenable:

    - -
    autocmd BufNewFile,BufReadPost *.coffee setl foldmethod=indent
    - -

    Two-space indentation

    - -

    To get standard two-space indentation in CoffeeScript files, add this line to -your vimrc:

    - -
    autocmd BufNewFile,BufReadPost *.coffee setl shiftwidth=2 expandtab
    diff --git a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/Thanks.md b/vim/.vim_runtime/sources_non_forked/vim-coffee-script/Thanks.md deleted file mode 100644 index 95123ae..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/Thanks.md +++ /dev/null @@ -1,45 +0,0 @@ - -Thanks.md

    Thanks to all bug reporters, and special thanks to those who have contributed -code:

    - -
    Brian Egan (brianegan):
    -      Initial compiling support
    -
    -Ches Martin (ches):
    -      Initial vim docs
    -
    -Chris Hoffman (cehoffman):
    -      Add new keywoards from, to, and do
    -      Highlight the - in negative integers
    -      Add here regex highlighting, increase fold level for here docs
    -
    -David Wilhelm (bigfish):
    -      CoffeeRun command
    -
    -Jay Adkisson (jayferd):
    -      Support for eco templates
    -
    -Karl Guertin (grayrest)
    -      Cakefiles are coffeescript
    -
    -Maciej Konieczny (narfdotpl):
    -      Fix funny typo
    -
    -Matt Sacks (mattsa):
    -      Javascript omni-completion
    -      coffee_compile_vert option
    -
    -Nick Stenning (nickstenning):
    -      Fold by indentation for coffeescript
    -
    -Simon Lipp (sloonz):
    -      Trailing spaces are not error on lines containing only spaces
    -
    -Stéphan Kochen (stephank):
    -      Initial HTML CoffeeScript highlighting
    -
    -Sven Felix Oberquelle (Svelix):
    -      Haml CoffeeScript highlighting
    -
    -Wei Dai (clvv):
    -      Fix the use of Vim built-in make command.
    diff --git a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/Todo.md b/vim/.vim_runtime/sources_non_forked/vim-coffee-script/Todo.md deleted file mode 100644 index 74861ed..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/Todo.md +++ /dev/null @@ -1,3 +0,0 @@ -Todo.md

      -
    • Don’t highlight bad operator combinations
    • -
    diff --git a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/autoload/coffee.vim b/vim/.vim_runtime/sources_non_forked/vim-coffee-script/autoload/coffee.vim deleted file mode 100644 index 8d72795..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/autoload/coffee.vim +++ /dev/null @@ -1,54 +0,0 @@ -" Language: CoffeeScript -" Maintainer: Mick Koch -" URL: http://github.com/kchmck/vim-coffee-script -" License: WTFPL - -" Set up some common global/buffer variables. -function! coffee#CoffeeSetUpVariables() - " Path to coffee executable - if !exists('g:coffee_compiler') - let g:coffee_compiler = 'coffee' - endif - - " Options passed to coffee with make - if !exists('g:coffee_make_options') - let g:coffee_make_options = '' - endif - - " Path to cake executable - if !exists('g:coffee_cake') - let g:coffee_cake = 'cake' - endif - - " Extra options passed to cake - if !exists('g:coffee_cake_options') - let g:coffee_cake_options = '' - endif - - " Path to coffeelint executable - if !exists('g:coffee_linter') - let g:coffee_linter = 'coffeelint' - endif - - " Options passed to CoffeeLint - if !exists('g:coffee_lint_options') - let g:coffee_lint_options = '' - endif - - " Pass the litcoffee flag to tools in this buffer if a litcoffee file is open. - " Let the variable be overwritten so it can be updated if a different filetype - " is set. - if &filetype == 'litcoffee' - let b:coffee_litcoffee = '--literate' - else - let b:coffee_litcoffee = '' - endif -endfunction - -function! coffee#CoffeeSetUpErrorFormat() - CompilerSet errorformat=Error:\ In\ %f\\,\ %m\ on\ line\ %l, - \Error:\ In\ %f\\,\ Parse\ error\ on\ line\ %l:\ %m, - \SyntaxError:\ In\ %f\\,\ %m, - \%f:%l:%c:\ error:\ %m, - \%-G%.%# -endfunction diff --git a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/compiler/cake.vim b/vim/.vim_runtime/sources_non_forked/vim-coffee-script/compiler/cake.vim deleted file mode 100644 index b49638e..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/compiler/cake.vim +++ /dev/null @@ -1,15 +0,0 @@ -" Language: CoffeeScript -" Maintainer: Mick Koch -" URL: http://github.com/kchmck/vim-coffee-script -" License: WTFPL - -if exists('current_compiler') - finish -endif - -let current_compiler = 'cake' -call coffee#CoffeeSetUpVariables() - -exec 'CompilerSet makeprg=' . escape(g:coffee_cake . ' ' . -\ g:coffee_cake_options . ' $*', ' ') -call coffee#CoffeeSetUpErrorFormat() diff --git a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/compiler/coffee.vim b/vim/.vim_runtime/sources_non_forked/vim-coffee-script/compiler/coffee.vim deleted file mode 100644 index 5a91457..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/compiler/coffee.vim +++ /dev/null @@ -1,82 +0,0 @@ -" Language: CoffeeScript -" Maintainer: Mick Koch -" URL: http://github.com/kchmck/vim-coffee-script -" License: WTFPL - -" All this is needed to support compiling filenames with spaces, quotes, and -" such. The filename is escaped and embedded into the `makeprg` setting. -" -" Because of this, `makeprg` must be updated on every file rename. And because -" of that, `CompilerSet` can't be used because it doesn't exist when the -" rename autocmd is ran. So, we have to do some checks to see whether `compiler` -" was called locally or globally, and respect that in the rest of the script. - -if exists('current_compiler') - finish -endif - -let current_compiler = 'coffee' -call coffee#CoffeeSetUpVariables() - -" Pattern to check if coffee is the compiler -let s:pat = '^' . current_compiler - -" Get a `makeprg` for the current filename. -function! s:GetMakePrg() - return g:coffee_compiler . - \ ' -c' . - \ ' ' . b:coffee_litcoffee . - \ ' ' . g:coffee_make_options . - \ ' $*' . - \ ' ' . fnameescape(expand('%')) -endfunction - -" Set `makeprg` and return 1 if coffee is still the compiler, else return 0. -function! s:SetMakePrg() - if &l:makeprg =~ s:pat - let &l:makeprg = s:GetMakePrg() - elseif &g:makeprg =~ s:pat - let &g:makeprg = s:GetMakePrg() - else - return 0 - endif - - return 1 -endfunction - -" Set a dummy compiler so we can check whether to set locally or globally. -exec 'CompilerSet makeprg=' . current_compiler -" Then actually set the compiler. -call s:SetMakePrg() -call coffee#CoffeeSetUpErrorFormat() - -function! s:CoffeeMakeDeprecated(bang, args) - echoerr 'CoffeeMake is deprecated! Please use :make instead, its behavior ' . - \ 'is identical.' - sleep 5 - exec 'make' . a:bang a:args -endfunction - -" Compile the current file. -command! -bang -bar -nargs=* CoffeeMake -\ call s:CoffeeMakeDeprecated(, ) - -" Set `makeprg` on rename since we embed the filename in the setting. -augroup CoffeeUpdateMakePrg - autocmd! - - " Update `makeprg` if coffee is still the compiler, else stop running this - " function. - function! s:UpdateMakePrg() - if !s:SetMakePrg() - autocmd! CoffeeUpdateMakePrg - endif - endfunction - - " Set autocmd locally if compiler was set locally. - if &l:makeprg =~ s:pat - autocmd BufWritePre,BufFilePost call s:UpdateMakePrg() - else - autocmd BufWritePre,BufFilePost call s:UpdateMakePrg() - endif -augroup END diff --git a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/doc/coffee-script.txt b/vim/.vim_runtime/sources_non_forked/vim-coffee-script/doc/coffee-script.txt deleted file mode 100644 index 1b43cf3..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/doc/coffee-script.txt +++ /dev/null @@ -1,4 +0,0 @@ -Please see the project readme for up-to-date docs: -https://github.com/kchmck/vim-coffee-script - - vim:tw=78:ts=8:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/ftdetect/coffee.vim b/vim/.vim_runtime/sources_non_forked/vim-coffee-script/ftdetect/coffee.vim deleted file mode 100644 index e6c4d69..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/ftdetect/coffee.vim +++ /dev/null @@ -1,17 +0,0 @@ -" Language: CoffeeScript -" Maintainer: Mick Koch -" URL: http://github.com/kchmck/vim-coffee-script -" License: WTFPL - -autocmd BufNewFile,BufRead *.coffee set filetype=coffee -autocmd BufNewFile,BufRead *Cakefile set filetype=coffee -autocmd BufNewFile,BufRead *.coffeekup,*.ck set filetype=coffee -autocmd BufNewFile,BufRead *._coffee set filetype=coffee - -function! s:DetectCoffee() - if getline(1) =~ '^#!.*\' - set filetype=coffee - endif -endfunction - -autocmd BufNewFile,BufRead * call s:DetectCoffee() diff --git a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/ftdetect/vim-literate-coffeescript.vim b/vim/.vim_runtime/sources_non_forked/vim-coffee-script/ftdetect/vim-literate-coffeescript.vim deleted file mode 100644 index 7f66624..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/ftdetect/vim-literate-coffeescript.vim +++ /dev/null @@ -1,8 +0,0 @@ -" Language: Literate CoffeeScript -" Maintainer: Michael Smith -" URL: https://github.com/mintplant/vim-literate-coffeescript -" License: MIT - -autocmd BufNewFile,BufRead *.litcoffee set filetype=litcoffee -autocmd BufNewFile,BufRead *.coffee.md set filetype=litcoffee - diff --git a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/ftplugin/coffee.vim b/vim/.vim_runtime/sources_non_forked/vim-coffee-script/ftplugin/coffee.vim deleted file mode 100644 index 3f9cd77..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/ftplugin/coffee.vim +++ /dev/null @@ -1,405 +0,0 @@ -" Language: CoffeeScript -" Maintainer: Mick Koch -" URL: http://github.com/kchmck/vim-coffee-script -" License: WTFPL - -if exists('b:did_ftplugin') - finish -endif - -let b:did_ftplugin = 1 -call coffee#CoffeeSetUpVariables() - -setlocal formatoptions-=t formatoptions+=croql -setlocal comments=:# commentstring=#\ %s -setlocal omnifunc=javascriptcomplete#CompleteJS -setlocal suffixesadd+=.coffee - -" Create custom augroups. -augroup CoffeeBufUpdate | augroup END -augroup CoffeeBufNew | augroup END - -" Enable coffee compiler if a compiler isn't set already. -if !len(&l:makeprg) - compiler coffee -endif - -" Switch to the window for buf. -function! s:SwitchWindow(buf) - exec bufwinnr(a:buf) 'wincmd w' -endfunction - -" Create a new scratch buffer and return the bufnr of it. After the function -" returns, vim remains in the scratch buffer so more set up can be done. -function! s:ScratchBufBuild(src, vert, size) - if a:size <= 0 - if a:vert - let size = winwidth(bufwinnr(a:src)) / 2 - else - let size = winheight(bufwinnr(a:src)) / 2 - endif - endif - - if a:vert - vertical belowright new - exec 'vertical resize' size - else - belowright new - exec 'resize' size - endif - - setlocal bufhidden=wipe buftype=nofile nobuflisted noswapfile nomodifiable - nnoremap q :hide - - return bufnr('%') -endfunction - -" Replace buffer contents with text and delete the last empty line. -function! s:ScratchBufUpdate(buf, text) - " Move to the scratch buffer. - call s:SwitchWindow(a:buf) - - " Double check we're in the scratch buffer before overwriting. - if bufnr('%') != a:buf - throw 'unable to change to scratch buffer' - endif - - setlocal modifiable - silent exec '% delete _' - silent put! =a:text - silent exec '$ delete _' - setlocal nomodifiable -endfunction - -" Parse the output of coffee into a qflist entry for src buffer. -function! s:ParseCoffeeError(output, src, startline) - " Coffee error is always on first line? - let match = matchlist(a:output, - \ '^\(\f\+\|\[stdin\]\):\(\d\):\(\d\): error: \(.\{-}\)' . "\n") - - if !len(match) - return - endif - - " Consider the line number from coffee as relative and add it to the beginning - " line number of the range the command was called on, then subtract one for - " zero-based relativity. - call setqflist([{'bufnr': a:src, 'lnum': a:startline + str2nr(match[2]) - 1, - \ 'type': 'E', 'col': str2nr(match[3]), 'text': match[4]}], 'r') -endfunction - -" Reset source buffer variables. -function! s:CoffeeCompileResetVars() - " Variables defined in source buffer: - " b:coffee_compile_buf: bufnr of output buffer - " Variables defined in output buffer: - " b:coffee_src_buf: bufnr of source buffer - " b:coffee_compile_pos: previous cursor position in output buffer - - let b:coffee_compile_buf = -1 -endfunction - -function! s:CoffeeWatchResetVars() - " Variables defined in source buffer: - " b:coffee_watch_buf: bufnr of output buffer - " Variables defined in output buffer: - " b:coffee_src_buf: bufnr of source buffer - " b:coffee_watch_pos: previous cursor position in output buffer - - let b:coffee_watch_buf = -1 -endfunction - -function! s:CoffeeRunResetVars() - " Variables defined in CoffeeRun source buffer: - " b:coffee_run_buf: bufnr of output buffer - " Variables defined in CoffeeRun output buffer: - " b:coffee_src_buf: bufnr of source buffer - " b:coffee_run_pos: previous cursor position in output buffer - - let b:coffee_run_buf = -1 -endfunction - -" Clean things up in the source buffers. -function! s:CoffeeCompileClose() - " Switch to the source buffer if not already in it. - silent! call s:SwitchWindow(b:coffee_src_buf) - call s:CoffeeCompileResetVars() -endfunction - -function! s:CoffeeWatchClose() - silent! call s:SwitchWindow(b:coffee_src_buf) - silent! autocmd! CoffeeAuWatch * - call s:CoffeeWatchResetVars() -endfunction - -function! s:CoffeeRunClose() - silent! call s:SwitchWindow(b:coffee_src_buf) - call s:CoffeeRunResetVars() -endfunction - -" Compile the lines between startline and endline and put the result into buf. -function! s:CoffeeCompileToBuf(buf, startline, endline) - let src = bufnr('%') - let input = join(getline(a:startline, a:endline), "\n") - - " Coffee doesn't like empty input. - if !len(input) - " Function should still return within output buffer. - call s:SwitchWindow(a:buf) - return - endif - - " Pipe lines into coffee. - let output = system(g:coffee_compiler . - \ ' -scb' . - \ ' ' . b:coffee_litcoffee . - \ ' 2>&1', input) - - " Paste output into output buffer. - call s:ScratchBufUpdate(a:buf, output) - - " Highlight as JavaScript if there were no compile errors. - if v:shell_error - call s:ParseCoffeeError(output, src, a:startline) - setlocal filetype= - else - " Clear the quickfix list. - call setqflist([], 'r') - setlocal filetype=javascript - endif -endfunction - -" Peek at compiled CoffeeScript in a scratch buffer. We handle ranges like this -" to prevent the cursor from being moved (and its position saved) before the -" function is called. -function! s:CoffeeCompile(startline, endline, args) - if a:args =~ '\' - echoerr 'CoffeeCompile watch is deprecated! Please use CoffeeWatch instead' - sleep 5 - call s:CoffeeWatch(a:args) - return - endif - - " Switch to the source buffer if not already in it. - silent! call s:SwitchWindow(b:coffee_src_buf) - - " Bail if not in source buffer. - if !exists('b:coffee_compile_buf') - return - endif - - " Build the output buffer if it doesn't exist. - if bufwinnr(b:coffee_compile_buf) == -1 - let src = bufnr('%') - - let vert = exists('g:coffee_compile_vert') || a:args =~ '\' - let size = str2nr(matchstr(a:args, '\<\d\+\>')) - - " Build the output buffer and save the source bufnr. - let buf = s:ScratchBufBuild(src, vert, size) - let b:coffee_src_buf = src - - " Set the buffer name. - exec 'silent! file [CoffeeCompile ' . src . ']' - - " Clean up the source buffer when the output buffer is closed. - autocmd BufWipeout call s:CoffeeCompileClose() - " Save the cursor when leaving the output buffer. - autocmd BufLeave let b:coffee_compile_pos = getpos('.') - - " Run user-defined commands on new buffer. - silent doautocmd CoffeeBufNew User CoffeeCompile - - " Switch back to the source buffer and save the output bufnr. This also - " triggers BufLeave above. - call s:SwitchWindow(src) - let b:coffee_compile_buf = buf - endif - - " Fill the scratch buffer. - call s:CoffeeCompileToBuf(b:coffee_compile_buf, a:startline, a:endline) - " Reset cursor to previous position. - call setpos('.', b:coffee_compile_pos) - - " Run any user-defined commands on the scratch buffer. - silent doautocmd CoffeeBufUpdate User CoffeeCompile -endfunction - -" Update the scratch buffer and switch back to the source buffer. -function! s:CoffeeWatchUpdate() - call s:CoffeeCompileToBuf(b:coffee_watch_buf, 1, '$') - call setpos('.', b:coffee_watch_pos) - silent doautocmd CoffeeBufUpdate User CoffeeWatch - call s:SwitchWindow(b:coffee_src_buf) -endfunction - -" Continually compile a source buffer. -function! s:CoffeeWatch(args) - silent! call s:SwitchWindow(b:coffee_src_buf) - - if !exists('b:coffee_watch_buf') - return - endif - - if bufwinnr(b:coffee_watch_buf) == -1 - let src = bufnr('%') - - let vert = exists('g:coffee_watch_vert') || a:args =~ '\' - let size = str2nr(matchstr(a:args, '\<\d\+\>')) - - let buf = s:ScratchBufBuild(src, vert, size) - let b:coffee_src_buf = src - - exec 'silent! file [CoffeeWatch ' . src . ']' - - autocmd BufWipeout call s:CoffeeWatchClose() - autocmd BufLeave let b:coffee_watch_pos = getpos('.') - - silent doautocmd CoffeeBufNew User CoffeeWatch - - call s:SwitchWindow(src) - let b:coffee_watch_buf = buf - endif - - " Make sure only one watch autocmd is defined on this buffer. - silent! autocmd! CoffeeAuWatch * - - augroup CoffeeAuWatch - autocmd InsertLeave call s:CoffeeWatchUpdate() - autocmd BufWritePost call s:CoffeeWatchUpdate() - augroup END - - call s:CoffeeWatchUpdate() -endfunction - -" Run a snippet of CoffeeScript between startline and endline. -function! s:CoffeeRun(startline, endline, args) - silent! call s:SwitchWindow(b:coffee_src_buf) - - if !exists('b:coffee_run_buf') - return - endif - - if bufwinnr(b:coffee_run_buf) == -1 - let src = bufnr('%') - - let buf = s:ScratchBufBuild(src, exists('g:coffee_run_vert'), 0) - let b:coffee_src_buf = src - - exec 'silent! file [CoffeeRun ' . src . ']' - - autocmd BufWipeout call s:CoffeeRunClose() - autocmd BufLeave let b:coffee_run_pos = getpos('.') - - silent doautocmd CoffeeBufNew User CoffeeRun - - call s:SwitchWindow(src) - let b:coffee_run_buf = buf - endif - - if a:startline == 1 && a:endline == line('$') - let output = system(g:coffee_compiler . - \ ' ' . b:coffee_litcoffee . - \ ' ' . fnameescape(expand('%')) . - \ ' ' . a:args) - else - let input = join(getline(a:startline, a:endline), "\n") - - if !len(input) - return - endif - - let output = system(g:coffee_compiler . - \ ' -s' . - \ ' ' . b:coffee_litcoffee . - \ ' ' . a:args, input) - endif - - call s:ScratchBufUpdate(b:coffee_run_buf, output) - call setpos('.', b:coffee_run_pos) - - silent doautocmd CoffeeBufUpdate User CoffeeRun -endfunction - -" Run coffeelint on a file, and add any errors between startline and endline -" to the quickfix list. -function! s:CoffeeLint(startline, endline, bang, args) - let input = join(getline(a:startline, a:endline), "\n") - - if !len(input) - return - endif - - let output = system(g:coffee_linter . - \ ' -s --reporter csv' . - \ ' ' . b:coffee_litcoffee . - \ ' ' . g:coffee_lint_options . - \ ' ' . a:args . - \ ' 2>&1', input) - - " Convert output into an array and strip off the csv header. - let lines = split(output, "\n")[1:] - let buf = bufnr('%') - let qflist = [] - - for line in lines - let match = matchlist(line, '^stdin,\(\d\+\),\d*,\(error\|warn\),\(.\+\)$') - - " Ignore unmatched lines. - if !len(match) - continue - endif - - " The 'type' will result in either 'E' or 'W'. - call add(qflist, {'bufnr': buf, 'lnum': a:startline + str2nr(match[1]) - 1, - \ 'type': toupper(match[2][0]), 'text': match[3]}) - endfor - - " Replace the quicklist with our items. - call setqflist(qflist, 'r') - - " If not given a bang, jump to first error. - if !len(a:bang) - silent! cc 1 - endif -endfunction - -" Complete arguments for Coffee* commands. -function! s:CoffeeComplete(cmd, cmdline, cursor) - let args = ['vertical'] - - " If no partial command, return all possibilities. - if !len(a:cmd) - return args - endif - - let pat = '^' . a:cmd - - for arg in args - if arg =~ pat - return [arg] - endif - endfor -endfunction - -" Set initial state variables if they don't exist -if !exists('b:coffee_compile_buf') - call s:CoffeeCompileResetVars() -endif - -if !exists('b:coffee_watch_buf') - call s:CoffeeWatchResetVars() -endif - -if !exists('b:coffee_run_buf') - call s:CoffeeRunResetVars() -endif - -command! -buffer -range=% -bar -nargs=* -complete=customlist,s:CoffeeComplete -\ CoffeeCompile call s:CoffeeCompile(, , ) -command! -buffer -bar -nargs=* -complete=customlist,s:CoffeeComplete -\ CoffeeWatch call s:CoffeeWatch() -command! -buffer -range=% -bar -nargs=* CoffeeRun -\ call s:CoffeeRun(, , ) -command! -buffer -range=% -bang -bar -nargs=* CoffeeLint -\ call s:CoffeeLint(, , , ) diff --git a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/ftplugin/litcoffee.vim b/vim/.vim_runtime/sources_non_forked/vim-coffee-script/ftplugin/litcoffee.vim deleted file mode 100644 index febc730..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/ftplugin/litcoffee.vim +++ /dev/null @@ -1 +0,0 @@ -runtime ftplugin/coffee.vim diff --git a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/indent/coffee.vim b/vim/.vim_runtime/sources_non_forked/vim-coffee-script/indent/coffee.vim deleted file mode 100644 index 4f4570a..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/indent/coffee.vim +++ /dev/null @@ -1,428 +0,0 @@ -" Language: CoffeeScript -" Maintainer: Mick Koch -" URL: http://github.com/kchmck/vim-coffee-script -" License: WTFPL - -if exists('b:did_indent') - finish -endif - -let b:did_indent = 1 - -setlocal autoindent -setlocal indentexpr=GetCoffeeIndent(v:lnum) -" Make sure GetCoffeeIndent is run when these are typed so they can be -" indented or outdented. -setlocal indentkeys+=0],0),0.,=else,=when,=catch,=finally - -" If no indenting or outdenting is needed, either keep the indent of the cursor -" (use autoindent) or match the indent of the previous line. -if exists('g:coffee_indent_keep_current') - let s:DEFAULT_LEVEL = '-1' -else - let s:DEFAULT_LEVEL = 'indent(prevnlnum)' -endif - -" Only define the function once. -if exists('*GetCoffeeIndent') - finish -endif - -" Keywords that begin a block -let s:BEGIN_BLOCK_KEYWORD = '\C^\%(if\|unless\|else\|for\|while\|until\|' -\ . 'loop\|switch\|when\|try\|catch\|finally\|' -\ . 'class\)\>\%(\s*:\)\@!' - -" An expression that uses the result of a statement -let s:COMPOUND_EXPRESSION = '\C\%([^-]-\|[^+]+\|[^/]/\|[:=*%&|^<>]\)\s*' -\ . '\%(if\|unless\|for\|while\|until\|loop\|switch\|' -\ . 'try\|class\)\>' - -" Combine the two above -let s:BEGIN_BLOCK = s:BEGIN_BLOCK_KEYWORD . '\|' . s:COMPOUND_EXPRESSION - -" Operators that begin a block but also count as a continuation -let s:BEGIN_BLOCK_OP = '[([{:=]$' - -" Begins a function block -let s:FUNCTION = '[-=]>$' - -" Operators that continue a line onto the next line -let s:CONTINUATION_OP = '\C\%(\<\%(is\|isnt\|and\|or\)\>\|' -\ . '[^-]-\|[^+]+\|[^-=]>\|[^.]\.\|[<*/%&|^,]\)$' - -" Ancestor operators that prevent continuation indenting -let s:CONTINUATION = s:CONTINUATION_OP . '\|' . s:BEGIN_BLOCK_OP - -" A closing bracket by itself on a line followed by a continuation -let s:BRACKET_CONTINUATION = '^\s*[}\])]\s*' . s:CONTINUATION_OP - -" A continuation dot access -let s:DOT_ACCESS = '^\.' - -" Keywords that break out of a block -let s:BREAK_BLOCK_OP = '\C^\%(return\|break\|continue\|throw\)\>' - -" A condition attached to the end of a statement -let s:POSTFIX_CONDITION = '\C\S\s\+\zs\<\%(if\|unless\|when\|while\|until\)\>' - -" A then contained in brackets -let s:CONTAINED_THEN = '\C[(\[].\{-}\.\{-\}[)\]]' - -" An else with a condition attached -let s:ELSE_COND = '\C^\s*else\s\+\<\%(if\|unless\)\>' - -" A single-line else statement (without a condition attached) -let s:SINGLE_LINE_ELSE = '\C^else\s\+\%(\<\%(if\|unless\)\>\)\@!' - -" Pairs of starting and ending keywords, with an initial pattern to match -let s:KEYWORD_PAIRS = [ -\ ['\C^else\>', '\C\<\%(if\|unless\|when\|else\s\+\%(if\|unless\)\)\>', -\ '\C\'], -\ ['\C^catch\>', '\C\', '\C\'], -\ ['\C^finally\>', '\C\', '\C\'] -\] - -" Pairs of starting and ending brackets -let s:BRACKET_PAIRS = {']': '\[', '}': '{', ')': '('} - -" Max lines to look back for a match -let s:MAX_LOOKBACK = 50 - -" Syntax names for strings -let s:SYNTAX_STRING = 'coffee\%(String\|AssignString\|Embed\|Regex\|Heregex\|' -\ . 'Heredoc\)' - -" Syntax names for comments -let s:SYNTAX_COMMENT = 'coffee\%(Comment\|BlockComment\|HeregexComment\)' - -" Syntax names for strings and comments -let s:SYNTAX_STRING_COMMENT = s:SYNTAX_STRING . '\|' . s:SYNTAX_COMMENT - -" Compatibility code for shiftwidth() as recommended by the docs, but modified -" so there isn't as much of a penalty if shiftwidth() exists. -if exists('*shiftwidth') - let s:ShiftWidth = function('shiftwidth') -else - function! s:ShiftWidth() - return &shiftwidth - endfunction -endif - -" Get the linked syntax name of a character. -function! s:SyntaxName(lnum, col) - return synIDattr(synID(a:lnum, a:col, 1), 'name') -endfunction - -" Check if a character is in a comment. -function! s:IsComment(lnum, col) - return s:SyntaxName(a:lnum, a:col) =~ s:SYNTAX_COMMENT -endfunction - -" Check if a character is in a string. -function! s:IsString(lnum, col) - return s:SyntaxName(a:lnum, a:col) =~ s:SYNTAX_STRING -endfunction - -" Check if a character is in a comment or string. -function! s:IsCommentOrString(lnum, col) - return s:SyntaxName(a:lnum, a:col) =~ s:SYNTAX_STRING_COMMENT -endfunction - -" Search a line for a regex until one is found outside a string or comment. -function! s:SearchCode(lnum, regex) - " Start at the first column and look for an initial match (including at the - " cursor.) - call cursor(a:lnum, 1) - let pos = search(a:regex, 'c', a:lnum) - - while pos - if !s:IsCommentOrString(a:lnum, col('.')) - return 1 - endif - - " Move to the match and continue searching (don't accept matches at the - " cursor.) - let pos = search(a:regex, '', a:lnum) - endwhile - - return 0 -endfunction - -" Search for the nearest previous line that isn't a comment. -function! s:GetPrevNormalLine(startlnum) - let curlnum = a:startlnum - - while curlnum - let curlnum = prevnonblank(curlnum - 1) - - " Return the line if the first non-whitespace character isn't a comment. - if !s:IsComment(curlnum, indent(curlnum) + 1) - return curlnum - endif - endwhile - - return 0 -endfunction - -function! s:SearchPair(startlnum, lookback, skip, open, close) - " Go to the first column so a:close will be matched even if it's at the - " beginning of the line. - call cursor(a:startlnum, 1) - return searchpair(a:open, '', a:close, 'bnW', a:skip, max([1, a:lookback])) -endfunction - -" Skip if a match -" - is in a string or comment -" - is a single-line statement that isn't immediately -" adjacent -" - has a postfix condition and isn't an else statement or compound -" expression -function! s:ShouldSkip(startlnum, lnum, col) - return s:IsCommentOrString(a:lnum, a:col) || - \ s:SearchCode(a:lnum, '\C\') && a:startlnum - a:lnum > 1 || - \ s:SearchCode(a:lnum, s:POSTFIX_CONDITION) && - \ getline(a:lnum) !~ s:ELSE_COND && - \ !s:SearchCode(a:lnum, s:COMPOUND_EXPRESSION) -endfunction - -" Search for the nearest and farthest match for a keyword pair. -function! s:SearchMatchingKeyword(startlnum, open, close) - let skip = 's:ShouldSkip(' . a:startlnum . ", line('.'), line('.'))" - - " Search for the nearest match. - let nearestlnum = s:SearchPair(a:startlnum, a:startlnum - s:MAX_LOOKBACK, - \ skip, a:open, a:close) - - if !nearestlnum - return [] - endif - - " Find the nearest previous line with indent less than or equal to startlnum. - let ind = indent(a:startlnum) - let lookback = s:GetPrevNormalLine(a:startlnum) - - while lookback && indent(lookback) > ind - let lookback = s:GetPrevNormalLine(lookback) - endwhile - - " Search for the farthest match. If there are no other matches, then the - " nearest match is also the farthest one. - let matchlnum = nearestlnum - - while matchlnum - let lnum = matchlnum - let matchlnum = s:SearchPair(matchlnum, lookback, skip, a:open, a:close) - endwhile - - return [nearestlnum, lnum] -endfunction - -" Strip a line of a trailing comment and surrounding whitespace. -function! s:GetTrimmedLine(lnum) - " Try to find a comment starting at the first column. - call cursor(a:lnum, 1) - let pos = search('#', 'c', a:lnum) - - " Keep searching until a comment is found or search returns 0. - while pos - if s:IsComment(a:lnum, col('.')) - break - endif - - let pos = search('#', '', a:lnum) - endwhile - - if !pos - " No comment was found so use the whole line. - let line = getline(a:lnum) - else - " Subtract 1 to get to the column before the comment and another 1 for - " column indexing -> zero-based indexing. - let line = getline(a:lnum)[:col('.') - 2] - endif - - return substitute(substitute(line, '^\s\+', '', ''), - \ '\s\+$', '', '') -endfunction - -" Get the indent policy when no special rules are used. -function! s:GetDefaultPolicy(curlnum) - " Check whether equalprg is being ran on existing lines. - if strlen(getline(a:curlnum)) == indent(a:curlnum) - " If not indenting an existing line, use the default policy. - return s:DEFAULT_LEVEL - else - " Otherwise let autoindent determine what to do with an existing line. - return '-1' - endif -endfunction - -function! GetCoffeeIndent(curlnum) - " Get the previous non-blank line (may be a comment.) - let prevlnum = prevnonblank(a:curlnum - 1) - - " Bail if there's no code before. - if !prevlnum - return -1 - endif - - " Bail if inside a multiline string. - if s:IsString(a:curlnum, 1) - let prevnlnum = prevlnum - exec 'return' s:GetDefaultPolicy(a:curlnum) - endif - - " Get the code part of the current line. - let curline = s:GetTrimmedLine(a:curlnum) - " Get the previous non-comment line. - let prevnlnum = s:GetPrevNormalLine(a:curlnum) - - " Check if the current line is the closing bracket in a bracket pair. - if has_key(s:BRACKET_PAIRS, curline[0]) - " Search for a matching opening bracket. - let matchlnum = s:SearchPair(a:curlnum, a:curlnum - s:MAX_LOOKBACK, - \ "s:IsCommentOrString(line('.'), col('.'))", - \ s:BRACKET_PAIRS[curline[0]], curline[0]) - - if matchlnum - " Match the indent of the opening bracket. - return indent(matchlnum) - else - " No opening bracket found (bad syntax), so bail. - exec 'return' s:GetDefaultPolicy(a:curlnum) - endif - endif - - " Check if the current line is the closing keyword in a keyword pair. - for pair in s:KEYWORD_PAIRS - if curline =~ pair[0] - " Find the nearest and farthest matches within the same indent level. - let matches = s:SearchMatchingKeyword(a:curlnum, pair[1], pair[2]) - - if len(matches) - " Don't force indenting/outdenting as long as line is already lined up - " with a valid match - return max([min([indent(a:curlnum), indent(matches[0])]), - \ indent(matches[1])]) - else - " No starting keyword found (bad syntax), so bail. - exec 'return' s:GetDefaultPolicy(a:curlnum) - endif - endif - endfor - - " Check if the current line is a `when` and not the first in a switch block. - if curline =~ '\C^when\>' && !s:SearchCode(prevnlnum, '\C\') - " Look back for a `when`. - while prevnlnum - if getline(prevnlnum) =~ '\C^\s*when\>' - " Indent to match the found `when`, but don't force indenting (for when - " indenting nested switch blocks.) - return min([indent(a:curlnum), indent(prevnlnum)]) - endif - - let prevnlnum = s:GetPrevNormalLine(prevnlnum) - endwhile - - " No matching `when` found (bad syntax), so bail. - exec 'return' s:GetDefaultPolicy(a:curlnum) - endif - - " If the previous line is a comment, use its indentation, but don't force - " indenting. - if prevlnum != prevnlnum - return min([indent(a:curlnum), indent(prevlnum)]) - endif - - let prevline = s:GetTrimmedLine(prevnlnum) - - " Always indent after these operators. - if prevline =~ s:BEGIN_BLOCK_OP - return indent(prevnlnum) + s:ShiftWidth() - endif - - " Indent if the previous line starts a function block, but don't force - " indenting if the line is non-blank (for empty function bodies.) - if prevline =~ s:FUNCTION - if strlen(getline(a:curlnum)) > indent(a:curlnum) - return min([indent(prevnlnum) + s:ShiftWidth(), indent(a:curlnum)]) - else - return indent(prevnlnum) + s:ShiftWidth() - endif - endif - - " Check if continuation indenting is needed. If the line ends in a slash, make - " sure it isn't a regex. - if prevline =~ s:CONTINUATION_OP && - \ !(prevline =~ '/$' && s:IsString(prevnlnum, col([prevnlnum, '$']) - 1)) - " Don't indent if the continuation follows a closing bracket. - if prevline =~ s:BRACKET_CONTINUATION - exec 'return' s:GetDefaultPolicy(a:curlnum) - endif - - let prevprevnlnum = s:GetPrevNormalLine(prevnlnum) - - " Don't indent if not the first continuation. - if prevprevnlnum && s:GetTrimmedLine(prevprevnlnum) =~ s:CONTINUATION - exec 'return' s:GetDefaultPolicy(a:curlnum) - endif - - " Continuation indenting seems to vary between programmers, so if the line - " is non-blank, don't override the indentation - if strlen(getline(a:curlnum)) > indent(a:curlnum) - exec 'return' s:GetDefaultPolicy(a:curlnum) - endif - - " Otherwise indent a level. - return indent(prevnlnum) + s:ShiftWidth() - endif - - " Check if the previous line starts with a keyword that begins a block. - if prevline =~ s:BEGIN_BLOCK - " Indent if the current line doesn't start with `then` and the previous line - " isn't a single-line statement. - if curline !~ '\C^\' && !s:SearchCode(prevnlnum, '\C\') && - \ prevline !~ s:SINGLE_LINE_ELSE - return indent(prevnlnum) + s:ShiftWidth() - else - exec 'return' s:GetDefaultPolicy(a:curlnum) - endif - endif - - " Indent a dot access if it's the first. - if curline =~ s:DOT_ACCESS - if prevline !~ s:DOT_ACCESS - return indent(prevnlnum) + s:ShiftWidth() - else - exec 'return' s:GetDefaultPolicy(a:curlnum) - endif - endif - - " Outdent if a keyword breaks out of a block as long as it doesn't have a - " postfix condition (and the postfix condition isn't a single-line statement.) - if prevline =~ s:BREAK_BLOCK_OP - if !s:SearchCode(prevnlnum, s:POSTFIX_CONDITION) || - \ s:SearchCode(prevnlnum, '\C\') && - \ !s:SearchCode(prevnlnum, s:CONTAINED_THEN) - " Don't force indenting. - return min([indent(a:curlnum), indent(prevnlnum) - s:ShiftWidth()]) - else - exec 'return' s:GetDefaultPolicy(a:curlnum) - endif - endif - - " Check if inside brackets. - let matchlnum = s:SearchPair(a:curlnum, a:curlnum - s:MAX_LOOKBACK, - \ "s:IsCommentOrString(line('.'), col('.'))", - \ '\[\|(\|{', '\]\|)\|}') - - " If inside brackets, indent relative to the brackets, but don't outdent an - " already indented line. - if matchlnum - return max([indent(a:curlnum), indent(matchlnum) + s:ShiftWidth()]) - endif - - " No special rules applied, so use the default policy. - exec 'return' s:GetDefaultPolicy(a:curlnum) -endfunction diff --git a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/indent/litcoffee.vim b/vim/.vim_runtime/sources_non_forked/vim-coffee-script/indent/litcoffee.vim deleted file mode 100644 index 599cbea..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/indent/litcoffee.vim +++ /dev/null @@ -1,22 +0,0 @@ -if exists('b:did_indent') - finish -endif - -runtime! indent/coffee.vim - -let b:did_indent = 1 - -setlocal indentexpr=GetLitCoffeeIndent() - -if exists('*GetLitCoffeeIndent') - finish -endif - -function GetLitCoffeeIndent() - if searchpair('^ \|\t', '', '$', 'bWnm') > 0 - return GetCoffeeIndent(v:lnum) - else - return -1 - endif -endfunc - diff --git a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/syntax/coffee.vim b/vim/.vim_runtime/sources_non_forked/vim-coffee-script/syntax/coffee.vim deleted file mode 100644 index bd8de58..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/syntax/coffee.vim +++ /dev/null @@ -1,221 +0,0 @@ -" Language: CoffeeScript -" Maintainer: Mick Koch -" URL: http://github.com/kchmck/vim-coffee-script -" License: WTFPL - -" Bail if our syntax is already loaded. -if exists('b:current_syntax') && b:current_syntax == 'coffee' - finish -endif - -" Include JavaScript for coffeeEmbed. -syn include @coffeeJS syntax/javascript.vim -silent! unlet b:current_syntax - -" Highlight long strings. -syntax sync fromstart - -" These are `matches` instead of `keywords` because vim's highlighting -" priority for keywords is higher than matches. This causes keywords to be -" highlighted inside matches, even if a match says it shouldn't contain them -- -" like with coffeeAssign and coffeeDot. -syn match coffeeStatement /\<\%(return\|break\|continue\|throw\)\>/ display -hi def link coffeeStatement Statement - -syn match coffeeRepeat /\<\%(for\|while\|until\|loop\)\>/ display -hi def link coffeeRepeat Repeat - -syn match coffeeConditional /\<\%(if\|else\|unless\|switch\|when\|then\)\>/ -\ display -hi def link coffeeConditional Conditional - -syn match coffeeException /\<\%(try\|catch\|finally\)\>/ display -hi def link coffeeException Exception - -syn match coffeeKeyword /\<\%(new\|in\|of\|from\|by\|and\|or\|not\|is\|isnt\|class\|extends\|super\|do\|yield\|debugger\|import\|export\|default\|await\)\>/ -\ display -" The `own` keyword is only a keyword after `for`. -syn match coffeeKeyword /\/ contained containedin=coffeeRepeat -\ display -hi def link coffeeKeyword Keyword - -syn match coffeeOperator /\<\%(instanceof\|typeof\|delete\)\>/ display -hi def link coffeeOperator Operator - -" The first case matches symbol operators only if they have an operand before. -syn match coffeeExtendedOp /\%(\S\s*\)\@<=[+\-*/%&|\^=!<>?.]\{-1,}\|[-=]>\|--\|++\|:/ -\ display -syn match coffeeExtendedOp /\<\%(and\|or\)=/ display -hi def link coffeeExtendedOp coffeeOperator - -" This is separate from `coffeeExtendedOp` to help differentiate commas from -" dots. -syn match coffeeSpecialOp /[,;]/ display -hi def link coffeeSpecialOp SpecialChar - -syn match coffeeBoolean /\<\%(true\|on\|yes\|false\|off\|no\)\>/ display -hi def link coffeeBoolean Boolean - -syn match coffeeGlobal /\<\%(null\|undefined\)\>/ display -hi def link coffeeGlobal Type - -" A special variable -syn match coffeeSpecialVar /\<\%(this\|prototype\|arguments\)\>/ display -hi def link coffeeSpecialVar Special - -" An @-variable -syn match coffeeSpecialIdent /@\%(\%(\I\|\$\)\%(\i\|\$\)*\)\?/ display -hi def link coffeeSpecialIdent Identifier - -" A class-like name that starts with a capital letter -syn match coffeeObject /\<\u\w*\>/ display -hi def link coffeeObject Structure - -" A constant-like name in SCREAMING_CAPS -syn match coffeeConstant /\<\u[A-Z0-9_]\+\>/ display -hi def link coffeeConstant Constant - -" A variable name -syn cluster coffeeIdentifier contains=coffeeSpecialVar,coffeeSpecialIdent, -\ coffeeObject,coffeeConstant - -" A non-interpolated string -syn cluster coffeeBasicString contains=@Spell,coffeeEscape -" An interpolated string -syn cluster coffeeInterpString contains=@coffeeBasicString,coffeeInterp - -" Regular strings -syn region coffeeString start=/"/ skip=/\\\\\|\\"/ end=/"/ -\ contains=@coffeeInterpString -syn region coffeeString start=/'/ skip=/\\\\\|\\'/ end=/'/ -\ contains=@coffeeBasicString -hi def link coffeeString String - -" A integer, including a leading plus or minus -syn match coffeeNumber /\%(\i\|\$\)\@/ display -syn match coffeeNumber /\<0[bB][01]\+\>/ display -syn match coffeeNumber /\<0[oO][0-7]\+\>/ display -syn match coffeeNumber /\<\%(Infinity\|NaN\)\>/ display -hi def link coffeeNumber Number - -" A floating-point number, including a leading plus or minus -syn match coffeeFloat /\%(\i\|\$\)\@/ -\ display -hi def link coffeeReservedError Error - -" A normal object assignment -syn match coffeeObjAssign /@\?\%(\I\|\$\)\%(\i\|\$\)*\s*\ze::\@!/ contains=@coffeeIdentifier display -hi def link coffeeObjAssign Identifier - -syn keyword coffeeTodo TODO FIXME XXX contained -hi def link coffeeTodo Todo - -syn match coffeeComment /#.*/ contains=@Spell,coffeeTodo -hi def link coffeeComment Comment - -syn region coffeeBlockComment start=/####\@!/ end=/###/ -\ contains=@Spell,coffeeTodo -hi def link coffeeBlockComment coffeeComment - -" A comment in a heregex -syn region coffeeHeregexComment start=/#/ end=/\ze\/\/\/\|$/ contained -\ contains=@Spell,coffeeTodo -hi def link coffeeHeregexComment coffeeComment - -" Embedded JavaScript -syn region coffeeEmbed matchgroup=coffeeEmbedDelim -\ start=/`/ skip=/\\\\\|\\`/ end=/`/ keepend -\ contains=@coffeeJS -hi def link coffeeEmbedDelim Delimiter - -syn region coffeeInterp matchgroup=coffeeInterpDelim start=/#{/ end=/}/ contained -\ contains=@coffeeAll -hi def link coffeeInterpDelim PreProc - -" A string escape sequence -syn match coffeeEscape /\\\d\d\d\|\\x\x\{2\}\|\\u\x\{4\}\|\\./ contained display -hi def link coffeeEscape SpecialChar - -" A regex -- must not follow a parenthesis, number, or identifier, and must not -" be followed by a number -syn region coffeeRegex start=#\%(\%()\|\%(\i\|\$\)\@ -" URL: https://github.com/mintplant/vim-literate-coffeescript -" License: MIT - -if exists('b:current_syntax') && b:current_syntax == 'litcoffee' - finish -endif - -syn include @markdown syntax/markdown.vim -syn include @coffee syntax/coffee.vim - -" Partition the file into notCoffee and inlineCoffee. Each line will match -" exactly one of these regions. notCoffee matches with a zero-width -" look-behind. -syn region notCoffee start='^\%( \|\t\)\@> #{ == { { { } } } == } << " -" >> #{ == { abc: { def: 42 } } == } << " diff --git a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/test/test-ops.coffee b/vim/.vim_runtime/sources_non_forked/vim-coffee-script/test/test-ops.coffee deleted file mode 100644 index 54be8db..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/test/test-ops.coffee +++ /dev/null @@ -1,90 +0,0 @@ -# Various operators -abc instanceof def -typeof abc -delete abc -abc::def - -abc + def -abc - def -abc * def -abc / def -abc % def -abc & def -abc | def -abc ^ def -abc >> def -abc << def -abc >>> def -abc ? def -abc && def -abc and def -abc || def -abc or def - -abc += def -abc -= def -abc *= def -abc /= def -abc %= def -abc &= def -abc |= def -abc ^= def -abc >>= def -abc <<= def -abc >>>= def -abc ?= def -abc &&= def -abc ||= def - -abc and= def -abc or= def - -abc.def.ghi -abc?.def?.ghi - -abc < def -abc > def -abc = def -abc == def -abc != def -abc <= def -abc >= def - -abc++ -abc-- -++abc ---abc - -# Nested operators -abc[def] = ghi -abc[def[ghi: jkl]] = 42 -@abc[def] = ghi - -abc["#{def = 42}"] = 42 -abc["#{def.ghi = 42}"] = 42 -abc["#{def[ghi] = 42}"] = 42 -abc["#{def['ghi']}"] = 42 - -# Object assignments -abc = - def: 123 - DEF: 123 - @def: 123 - Def: 123 - 'def': 123 - 42: 123 - -# Operators shouldn't be highlighted -vector= -wand= - -abc+++ -abc--- -abc ** def -abc &&& def -abc ^^ def -abc ===== def -abc <==== def -abc >==== def -abc +== def -abc =^= def diff --git a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/test/test-reserved.coffee b/vim/.vim_runtime/sources_non_forked/vim-coffee-script/test/test-reserved.coffee deleted file mode 100644 index b841760..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/test/test-reserved.coffee +++ /dev/null @@ -1,27 +0,0 @@ -# Should be an error -function = 42 -var = 42 - -# Shouldn't be an error -abc.with = 42 -function: 42 -var: 42 - -# Keywords shouldn't be highlighted -abc.function -abc.do -abc.break -abc.true - -abc::function -abc::do -abc::break -abc::true - -abc:: function -abc. function - -# Numbers should be highlighted -def.42 -def .42 -def::42 diff --git a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.coffee.md b/vim/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.coffee.md deleted file mode 100644 index d1c30c8..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.coffee.md +++ /dev/null @@ -1,117 +0,0 @@ - -test.coffee.md

    The Scope class regulates lexical scoping within CoffeeScript. As you -generate code, you create a tree of scopes in the same shape as the nested -function bodies. Each scope knows about the variables declared within it, -and has a reference to its parent enclosing scope. In this way, we know which -variables are new and need to be declared with var, and which are shared -with external scopes.

    - -

    Import the helpers we plan to use.

    - -
    {extend, last} = require './helpers'
    -
    -exports.Scope = class Scope
    - -

    The root is the top-level Scope object for a given file.

    - -
      @root: null
    - -

    Initialize a scope with its parent, for lookups up the chain, -as well as a reference to the Block node it belongs to, which is -where it should declare its variables, and a reference to the function that -it belongs to.

    - -
      constructor: (@parent, @expressions, @method) ->
    -    @variables = [{name: 'arguments', type: 'arguments'}]
    -    @positions = {}
    -    Scope.root = this unless @parent
    - -

    Adds a new variable or overrides an existing one.

    - -
      add: (name, type, immediate) ->
    -    return @parent.add name, type, immediate if @shared and not immediate
    -    if Object::hasOwnProperty.call @positions, name
    -      @variables[@positions[name]].type = type
    -    else
    -      @positions[name] = @variables.push({name, type}) - 1
    - -

    When super is called, we need to find the name of the current method we’re -in, so that we know how to invoke the same method of the parent class. This -can get complicated if super is being called from an inner function. -namedMethod will walk up the scope tree until it either finds the first -function object that has a name filled in, or bottoms out.

    - -
      namedMethod: ->
    -    return @method if @method.name or !@parent
    -    @parent.namedMethod()
    - -

    Look up a variable name in lexical scope, and declare it if it does not -already exist.

    - -
      find: (name) ->
    -    return yes if @check name
    -    @add name, 'var'
    -    no
    - -

    Reserve a variable name as originating from a function parameter for this -scope. No var required for internal references.

    - -
      parameter: (name) ->
    -    return if @shared and @parent.check name, yes
    -    @add name, 'param'
    - -

    Just check to see if a variable has already been declared, without reserving, -walks up to the root scope.

    - -
      check: (name) ->
    -    !!(@type(name) or @parent?.check(name))
    - -

    Generate a temporary variable name at the given index.

    - -
      temporary: (name, index) ->
    -    if name.length > 1
    -      '_' + name + if index > 1 then index - 1 else ''
    -    else
    -      '_' + (index + parseInt name, 36).toString(36).replace /\d/g, 'a'
    - -

    Gets the type of a variable.

    - -
      type: (name) ->
    -    return v.type for v in @variables when v.name is name
    -    null
    - -

    If we need to store an intermediate result, find an available name for a -compiler-generated variable. _var, _var2, and so on…

    - -
      freeVariable: (name, reserve=true) ->
    -    index = 0
    -    index++ while @check((temp = @temporary name, index))
    -    @add temp, 'var', yes if reserve
    -    temp
    - -

    Ensure that an assignment is made at the top of this scope -(or at the top-level scope, if requested).

    - -
      assign: (name, value) ->
    -    @add name, {value, assigned: yes}, yes
    -    @hasAssignments = yes
    - -

    Does this scope have any declared variables?

    - -
      hasDeclarations: ->
    -    !!@declaredVariables().length
    - -

    Return the list of variables first declared in this scope.

    - -
      declaredVariables: ->
    -    realVars = []
    -    tempVars = []
    -    for v in @variables when v.type is 'var'
    -      (if v.name.charAt(0) is '_' then tempVars else realVars).push v.name
    -    realVars.sort().concat tempVars.sort()
    - -

    Return the list of assignments that are supposed to be made at the top -of this scope.

    - -
      assignedVariables: ->
    -    "#{v.name} = #{v.type.value}" for v in @variables when v.type.assigned
    diff --git a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.haml b/vim/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.haml deleted file mode 100644 index ae19fba..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.haml +++ /dev/null @@ -1,3 +0,0 @@ -:coffeescript - class Hello - # test diff --git a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.html b/vim/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.html deleted file mode 100644 index 0da7b62..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - diff --git a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.litcoffee b/vim/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.litcoffee deleted file mode 100644 index 62b99b7..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.litcoffee +++ /dev/null @@ -1,117 +0,0 @@ -The **Scope** class regulates lexical scoping within CoffeeScript. As you -generate code, you create a tree of scopes in the same shape as the nested -function bodies. Each scope knows about the variables declared within it, -and has a reference to its parent enclosing scope. In this way, we know which -variables are new and need to be declared with `var`, and which are shared -with external scopes. - -Import the helpers we plan to use. - - {extend, last} = require './helpers' - - exports.Scope = class Scope - -The `root` is the top-level **Scope** object for a given file. - - @root: null - -Initialize a scope with its parent, for lookups up the chain, -as well as a reference to the **Block** node it belongs to, which is -where it should declare its variables, and a reference to the function that -it belongs to. - - constructor: (@parent, @expressions, @method) -> - @variables = [{name: 'arguments', type: 'arguments'}] - @positions = {} - Scope.root = this unless @parent - -Adds a new variable or overrides an existing one. - - add: (name, type, immediate) -> - return @parent.add name, type, immediate if @shared and not immediate - if Object::hasOwnProperty.call @positions, name - @variables[@positions[name]].type = type - else - @positions[name] = @variables.push({name, type}) - 1 - -When `super` is called, we need to find the name of the current method we're -in, so that we know how to invoke the same method of the parent class. This -can get complicated if super is being called from an inner function. -`namedMethod` will walk up the scope tree until it either finds the first -function object that has a name filled in, or bottoms out. - - namedMethod: -> - return @method if @method.name or !@parent - @parent.namedMethod() - -Look up a variable name in lexical scope, and declare it if it does not -already exist. - - find: (name) -> - return yes if @check name - @add name, 'var' - no - -Reserve a variable name as originating from a function parameter for this -scope. No `var` required for internal references. - - parameter: (name) -> - return if @shared and @parent.check name, yes - @add name, 'param' - -Just check to see if a variable has already been declared, without reserving, -walks up to the root scope. - - check: (name) -> - !!(@type(name) or @parent?.check(name)) - -Generate a temporary variable name at the given index. - - temporary: (name, index) -> - if name.length > 1 - '_' + name + if index > 1 then index - 1 else '' - else - '_' + (index + parseInt name, 36).toString(36).replace /\d/g, 'a' - -Gets the type of a variable. - - type: (name) -> - return v.type for v in @variables when v.name is name - null - -If we need to store an intermediate result, find an available name for a -compiler-generated variable. `_var`, `_var2`, and so on... - - freeVariable: (name, reserve=true) -> - index = 0 - index++ while @check((temp = @temporary name, index)) - @add temp, 'var', yes if reserve - temp - -Ensure that an assignment is made at the top of this scope -(or at the top-level scope, if requested). - - assign: (name, value) -> - @add name, {value, assigned: yes}, yes - @hasAssignments = yes - -Does this scope have any declared variables? - - hasDeclarations: -> - !!@declaredVariables().length - -Return the list of variables first declared in this scope. - - declaredVariables: -> - realVars = [] - tempVars = [] - for v in @variables when v.type is 'var' - (if v.name.charAt(0) is '_' then tempVars else realVars).push v.name - realVars.sort().concat tempVars.sort() - -Return the list of assignments that are supposed to be made at the top -of this scope. - - assignedVariables: -> - "#{v.name} = #{v.type.value}" for v in @variables when v.type.assigned - diff --git a/vim/.vim_runtime/sources_non_forked/vim-colors-solarized/README.mkd b/vim/.vim_runtime/sources_non_forked/vim-colors-solarized/README.mkd deleted file mode 100644 index a163b02..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-colors-solarized/README.mkd +++ /dev/null @@ -1,267 +0,0 @@ ---- -Title: Solarized Colorscheme for Vim -Description: Precision colors for machines and people -Author: Ethan Schoonover -Colors: light yellow -Created: 2011 Mar 15 -Modified: 2011 Apr 16 - ---- - -Solarized Colorscheme for Vim -============================= - -Developed by Ethan Schoonover - -Visit the [Solarized homepage] ------------------------------- - -See the [Solarized homepage] for screenshots, -details and colorscheme versions for Vim, Mutt, popular terminal emulators and -other applications. - -Screenshots ------------ - -![solarized dark](https://github.com/altercation/solarized/raw/master/img/solarized-vim.png) - -Downloads ---------- - -If you have come across this colorscheme via the [Vim-only repository] on -github, or the [vim.org script] page see the link above to the Solarized -homepage or visit the main [Solarized repository]. - -The [Vim-only repository] is kept in sync with the main [Solarized repository] -and is for installation convenience only (with [Pathogen] or [Vundle], for -instance). Issues, bug reports, changelogs are centralized at the main -[Solarized repository]. - -[Solarized homepage]: http://ethanschoonover.com/solarized -[Solarized repository]: https://github.com/altercation/solarized -[Vim-only repository]: https://github.com/altercation/vim-colors-solarized -[vimorg-script]: http://vim.org/script -[Pathogen]: https://github.com/tpope/vim-pathogen -[Vundle]: https://github.com/gmarik/vundle - -Installation ------------- - -### Option 1: Manual installation - -1. Move `solarized.vim` to your `.vim/colors` directory. After downloading the - vim script or package: - - $ cd vim-colors-solarized/colors - $ mv solarized.vim ~/.vim/colors/ - -### Option 2: Pathogen installation ***(recommended)*** - -1. Download and install Tim Pope's [Pathogen]. - -2. Next, move or clone the `vim-colors-solarized` directory so that it is - a subdirectory of the `.vim/bundle` directory. - - a. **Clone:** - - $ cd ~/.vim/bundle - $ git clone git://github.com/altercation/vim-colors-solarized.git - - b. **Move:** - - In the parent directory of vim-colors-solarized: - - $ mv vim-colors-solarized ~/.vim/bundle/ - -### Modify .vimrc - -After either Option 1 or Option 2 above, put the following two lines in your -.vimrc: - - syntax enable - set background=dark - colorscheme solarized - -or, for the light background mode of Solarized: - - syntax enable - set background=light - colorscheme solarized - -I like to have a different background in GUI and terminal modes, so I can use -the following if-then. However, I find vim's background autodetection to be -pretty good and, at least with MacVim, I can leave this background value -assignment out entirely and get the same results. - - if has('gui_running') - set background=light - else - set background=dark - endif - -See the [Solarized homepage] for screenshots which will help you -select either the light or dark background. - -### IMPORTANT NOTE FOR TERMINAL USERS: - -If you are going to use Solarized in Terminal mode (i.e. not in a GUI version -like gvim or macvim), **please please please** consider setting your terminal -emulator's colorscheme to used the Solarized palette. I've included palettes -for some popular terminal emulator as well as Xdefaults in the official -Solarized download available from [Solarized homepage]. If you use -Solarized *without* these colors, Solarized will need to be told to degrade its -colorscheme to a set compatible with the limited 256 terminal palette (whereas -by using the terminal's 16 ansi color values, you can set the correct, specific -values for the Solarized palette). - -If you do use the custom terminal colors, solarized.vim should work out of the -box for you. If you are using a terminal emulator that supports 256 colors and -don't want to use the custom Solarized terminal colors, you will need to use -the degraded 256 colorscheme. To do so, simply add the following line *before* -the `colorschem solarized` line: - - let g:solarized_termcolors=256 - -Again, I recommend just changing your terminal colors to Solarized values -either manually or via one of the many terminal schemes available for import. - -Advanced Configuration ----------------------- - -Solarized will work out of the box with just the two lines specified above but -does include several other options that can be set in your .vimrc file. - -Set these in your vimrc file prior to calling the colorscheme. -" - option name default optional - ------------------------------------------------ - g:solarized_termcolors= 16 | 256 - g:solarized_termtrans = 0 | 1 - g:solarized_degrade = 0 | 1 - g:solarized_bold = 1 | 0 - g:solarized_underline = 1 | 0 - g:solarized_italic = 1 | 0 - g:solarized_contrast = "normal"| "high" or "low" - g:solarized_visibility= "normal"| "high" or "low" - ------------------------------------------------ - -### Option Details - -* g:solarized_termcolors - - This is set to *16* by default, meaning that Solarized will attempt to use - the standard 16 colors of your terminal emulator. You will need to set - those colors to the correct Solarized values either manually or by - importing one of the many colorscheme available for popular terminal - emulators and Xdefaults. - -* g:solarized_termtrans - - If you use a terminal emulator with a transparent background and Solarized - isn't displaying the background color transparently, set this to 1 and - Solarized will use the default (transparent) background of the terminal - emulator. *urxvt* required this in my testing; iTerm2 did not. - - Note that on Mac OS X Terminal.app, solarized_termtrans is set to 1 by - default as this is almost always the best option. The only exception to - this is if the working terminfo file supports 256 colors (xterm-256color). - -* g:solarized_degrade - - For test purposes only; forces Solarized to use the 256 degraded color mode - to test the approximate color values for accuracy. - -* g:solarized_bold | g:solarized_underline | g:solarized_italic - - If you wish to stop Solarized from displaying bold, underlined or - italicized typefaces, simply assign a zero value to the appropriate - variable, for example: `let g:solarized_italic=0` - -* g:solarized_contrast - - Stick with normal! It's been carefully tested. Setting this option to high - or low does use the same Solarized palette but simply shifts some values up - or down in order to expand or compress the tonal range displayed. - -* g:solarized_visibility - - Special characters such as trailing whitespace, tabs, newlines, when - displayed using `:set list` can be set to one of three levels depending on - your needs. Default value is `normal` with `high` and `low` options. - -Toggle Background Function --------------------------- - -Solarized comes with a Toggle Background plugin that by default will map to - if that mapping is available. If it is not available you will need to -either map the function manually or change your current mapping to -something else. - -To set your own mapping in your .vimrc file, simply add the following line to -support normal, insert and visual mode usage, changing the "" value to the -key or key combination you wish to use: - - call togglebg#map("") - -Note that you'll want to use a single function key or equivalent if you want -the plugin to work in all modes (normal, insert, visual). - -Code Notes ----------- - -Use folding to view the `solarized.vim` script with `foldmethod=marker` turned -on. - -I have attempted to modularize the creation of Vim colorschemes in this script -and, while it could be refactored further, it should be a good foundation for -the creation of any color scheme. By simply changing the sixteen values in the -GUI section and testing in gvim (or mvim) you can rapidly prototype new -colorschemes without diving into the weeds of line-item editing each syntax -highlight declaration. - -The Values ----------- - -L\*a\*b values are canonical (White D65, Reference D50), other values are -matched in sRGB space. - - SOLARIZED HEX 16/8 TERMCOL XTERM/HEX L*A*B sRGB HSB - --------- ------- ---- ------- ----------- ---------- ----------- ----------- - base03 #002b36 8/4 brblack 234 #1c1c1c 15 -12 -12 0 43 54 193 100 21 - base02 #073642 0/4 black 235 #262626 20 -12 -12 7 54 66 192 90 26 - base01 #586e75 10/7 brgreen 240 #4e4e4e 45 -07 -07 88 110 117 194 25 46 - base00 #657b83 11/7 bryellow 241 #585858 50 -07 -07 101 123 131 195 23 51 - base0 #839496 12/6 brblue 244 #808080 60 -06 -03 131 148 150 186 13 59 - base1 #93a1a1 14/4 brcyan 245 #8a8a8a 65 -05 -02 147 161 161 180 9 63 - base2 #eee8d5 7/7 white 254 #d7d7af 92 -00 10 238 232 213 44 11 93 - base3 #fdf6e3 15/7 brwhite 230 #ffffd7 97 00 10 253 246 227 44 10 99 - yellow #b58900 3/3 yellow 136 #af8700 60 10 65 181 137 0 45 100 71 - orange #cb4b16 9/3 brred 166 #d75f00 50 50 55 203 75 22 18 89 80 - red #dc322f 1/1 red 160 #d70000 50 65 45 220 50 47 1 79 86 - magenta #d33682 5/5 magenta 125 #af005f 50 65 -05 211 54 130 331 74 83 - violet #6c71c4 13/5 brmagenta 61 #5f5faf 50 15 -45 108 113 196 237 45 77 - blue #268bd2 4/4 blue 33 #0087ff 55 -10 -45 38 139 210 205 82 82 - cyan #2aa198 6/6 cyan 37 #00afaf 60 -35 -05 42 161 152 175 74 63 - green #859900 2/2 green 64 #5f8700 60 -20 65 133 153 0 68 100 60 - -License -------- -Copyright (c) 2011 Ethan Schoonover - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/vim/.vim_runtime/sources_non_forked/vim-colors-solarized/autoload/togglebg.vim b/vim/.vim_runtime/sources_non_forked/vim-colors-solarized/autoload/togglebg.vim deleted file mode 100644 index 108511f..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-colors-solarized/autoload/togglebg.vim +++ /dev/null @@ -1,55 +0,0 @@ -" Toggle Background -" Modified: 2011 Apr 29 -" Maintainer: Ethan Schoonover -" License: OSI approved MIT license - -if exists("g:loaded_togglebg") - finish -endif -let g:loaded_togglebg = 1 - -" noremap is a bit misleading here if you are unused to vim mapping. -" in fact, there is remapping, but only of script locally defined remaps, in -" this case TogBG. The

    See the contribution guidelines for pathogen.vim.

    diff --git a/vim/.vim_runtime/sources_non_forked/vim-commentary/README.markdown b/vim/.vim_runtime/sources_non_forked/vim-commentary/README.markdown deleted file mode 100644 index 977d504..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-commentary/README.markdown +++ /dev/null @@ -1,52 +0,0 @@ - -README.markdown

    commentary.vim

    - -

    Comment stuff out. Use gcc to comment out a line (takes a count), -gc to comment out the target of a motion (for example, gcap to -comment out a paragraph), gc in visual mode to comment out the selection, -and gc in operator pending mode to target a comment. You can also use -it as a command, either with a range like :7,17Commentary, or as part of a -:global invocation like with :g/TODO/Commentary. That’s it.

    - -

    I wrote this because 5 years after Vim added support for mapping an -operator, I still couldn’t find a commenting plugin that leveraged that -feature (I overlooked -tcomment.vim). Striving for -minimalism, it weighs in at under 100 lines of code.

    - -

    Oh, and it uncomments, too. The above maps actually toggle, and gcgc -uncomments a set of adjacent commented lines.

    - -

    Installation

    - -

    Install using your favorite package manager, or use Vim’s built-in package -support:

    - -
    mkdir -p ~/.vim/pack/tpope/start
    -cd ~/.vim/pack/tpope/start
    -git clone https://tpope.io/vim/commentary.git
    -vim -u NONE -c "helptags commentary/doc" -c q
    - -

    FAQ

    - -
    -

    My favorite file type isn’t supported!

    -
    - -

    Relax! You just have to adjust 'commentstring':

    - -
    autocmd FileType apache setlocal commentstring=#\ %s
    - -

    Self-Promotion

    - -

    Like commentary.vim? Follow the repository on -GitHub and vote for it on -vim.org. And if -you’re feeling especially charitable, follow tpope on -Twitter and -GitHub.

    - -

    License

    - -

    Copyright © Tim Pope. Distributed under the same terms as Vim itself. -See :help license.

    diff --git a/vim/.vim_runtime/sources_non_forked/vim-commentary/doc/commentary.txt b/vim/.vim_runtime/sources_non_forked/vim-commentary/doc/commentary.txt deleted file mode 100644 index 01f73da..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-commentary/doc/commentary.txt +++ /dev/null @@ -1,35 +0,0 @@ -*commentary.txt* Comment stuff out - -Author: Tim Pope -License: Same terms as Vim itself (see |license|) - -Comment stuff out. Then uncomment it later. Relies on 'commentstring' to be -correctly set, or uses b:commentary_format if it is set. - -Assign b:commentary_startofline to insert comment characters at column 1 -regardless of indentation. - - *gc* -gc{motion} Comment or uncomment lines that {motion} moves over. - - *gcc* -gcc Comment or uncomment [count] lines. - - *v_gc* -{Visual}gc Comment or uncomment the highlighted lines. - - *o_gc* -gc Text object for a comment (operator pending mode - only.) - - *gcgc* *gcu* -gcgc Uncomment the current and adjacent commented lines. -gcu - - *:Commentary* -:[range]Commentary Comment or uncomment [range] lines - -The |User| CommentaryPost autocommand fires after a successful operation and -can be used for advanced customization. - - vim:tw=78:et:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/vim-commentary/plugin/commentary.vim b/vim/.vim_runtime/sources_non_forked/vim-commentary/plugin/commentary.vim deleted file mode 100644 index 17c285b..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-commentary/plugin/commentary.vim +++ /dev/null @@ -1,117 +0,0 @@ -" commentary.vim - Comment stuff out -" Maintainer: Tim Pope -" Version: 1.3 -" GetLatestVimScripts: 3695 1 :AutoInstall: commentary.vim - -if exists("g:loaded_commentary") || v:version < 700 - finish -endif -let g:loaded_commentary = 1 - -function! s:surroundings() abort - return split(get(b:, 'commentary_format', substitute(substitute(substitute( - \ &commentstring, '^$', '%s', ''), '\S\zs%s',' %s', '') ,'%s\ze\S', '%s ', '')), '%s', 1) -endfunction - -function! s:strip_white_space(l,r,line) abort - let [l, r] = [a:l, a:r] - if l[-1:] ==# ' ' && stridx(a:line,l) == -1 && stridx(a:line,l[0:-2]) == 0 - let l = l[:-2] - endif - if r[0] ==# ' ' && a:line[-strlen(r):] != r && a:line[1-strlen(r):] == r[1:] - let r = r[1:] - endif - return [l, r] -endfunction - -function! s:go(...) abort - if !a:0 - let &operatorfunc = matchstr(expand(''), '[^. ]*$') - return 'g@' - elseif a:0 > 1 - let [lnum1, lnum2] = [a:1, a:2] - else - let [lnum1, lnum2] = [line("'["), line("']")] - endif - - let [l, r] = s:surroundings() - let uncomment = 2 - for lnum in range(lnum1,lnum2) - let line = matchstr(getline(lnum),'\S.*\s\@ 2 && l.r !~# '\\' - let line = substitute(line, - \'\M' . substitute(l, '\ze\S\s*$', '\\zs\\d\\*\\ze', '') . '\|' . substitute(r, '\S\zs', '\\zs\\d\\*\\ze', ''), - \'\=substitute(submatch(0)+1-uncomment,"^0$\\|^-\\d*$","","")','g') - endif - if uncomment - let line = substitute(line,'\S.*\s\@,) -xnoremap Commentary go() -nnoremap Commentary go() -nnoremap CommentaryLine go() . '_' -onoremap Commentary :call textobject(get(v:, 'operator', '') ==# 'c') -nnoremap ChangeCommentary c:call textobject(1) -nmap CommentaryUndo :echoerr "Change your CommentaryUndo map to CommentaryCommentary" - -if !hasmapto('Commentary') || maparg('gc','n') ==# '' - xmap gc Commentary - nmap gc Commentary - omap gc Commentary - nmap gcc CommentaryLine - if maparg('c','n') ==# '' && !exists('v:operator') - nmap cgc ChangeCommentary - endif - nmap gcu CommentaryCommentary -endif - -" vim:set et sw=2: diff --git a/vim/.vim_runtime/sources_non_forked/vim-expand-region/MIT-LICENSE.txt b/vim/.vim_runtime/sources_non_forked/vim-expand-region/MIT-LICENSE.txt deleted file mode 100644 index dade7aa..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-expand-region/MIT-LICENSE.txt +++ /dev/null @@ -1,20 +0,0 @@ -Copyright 2013 Terry Ma - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vim/.vim_runtime/sources_non_forked/vim-expand-region/README.md b/vim/.vim_runtime/sources_non_forked/vim-expand-region/README.md deleted file mode 100644 index 47fcd74..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-expand-region/README.md +++ /dev/null @@ -1,87 +0,0 @@ - -README.md

    vim-expand-region

    - -

    About

    - -

    vim-expand-region is a Vim plugin that allows you to visually select increasingly larger regions of text using the same key combination. It is similar to features from other editors:

    - - - -

    - vim-expand-region -

    - -

    Installation

    - -

    Install using Pathogen, Vundle, Neobundle, or your favorite Vim package manager.

    - -

    Quick Start

    - -

    Press + to expand the visual selection and _ to shrink it.

    - -

    Mapping

    - -

    Customize the key mapping if you don’t like the default.

    - -
    map K <Plug>(expand_region_expand)
    -map J <Plug>(expand_region_shrink)
    - -

    Setting

    - -

    Customize selected regions

    - -

    The plugin uses your own text objects to determine the expansion. You can customize the text objects the plugin knows about with g:expand_region_text_objects.

    - -
    " Default settings. (NOTE: Remove comments in dictionary before sourcing)
    -let g:expand_region_text_objects = {
    -      \ 'iw'  :0,
    -      \ 'iW'  :0,
    -      \ 'i"'  :0,
    -      \ 'i''' :0,
    -      \ 'i]'  :1, " Support nesting of square brackets
    -      \ 'ib'  :1, " Support nesting of parentheses
    -      \ 'iB'  :1, " Support nesting of braces
    -      \ 'il'  :0, " 'inside line'. Available through https://github.com/kana/vim-textobj-line
    -      \ 'ip'  :0,
    -      \ 'ie'  :0, " 'entire file'. Available through https://github.com/kana/vim-textobj-entire
    -      \ }
    - -

    You can extend the global default dictionary by calling expand_region#custom_text_objects:

    - -
    " Extend the global default (NOTE: Remove comments in dictionary before sourcing)
    -call expand_region#custom_text_objects({
    -      \ "\/\\n\\n\<CR>": 1, " Motions are supported as well. Here's a search motion that finds a blank line
    -      \ 'a]' :1, " Support nesting of 'around' brackets
    -      \ 'ab' :1, " Support nesting of 'around' parentheses
    -      \ 'aB' :1, " Support nesting of 'around' braces
    -      \ 'ii' :0, " 'inside indent'. Available through https://github.com/kana/vim-textobj-indent
    -      \ 'ai' :0, " 'around indent'. Available through https://github.com/kana/vim-textobj-indent
    -      \ })
    - -

    You can further customize the text objects dictionary on a per filetype basis by defining global variables like g:expand_region_text_objects_{ft}.

    - -
    " Use the following setting for ruby. (NOTE: Remove comments in dictionary  before sourcing)
    -let g:expand_region_text_objects_ruby = {
    -      \ 'im' :0, " 'inner method'. Available through https://github.com/vim-ruby/vim-ruby
    -      \ 'am' :0, " 'around method'. Available through https://github.com/vim-ruby/vim-ruby
    -      \ }
    - -

    Note that this completely replaces the default dictionary. To extend the default on a per filetype basis, you can call expand_region#custom_text_objects by passing in the filetype in the first argument:

    - -
    " Use the global default + the following for ruby
    -call expand_region#custom_text_objects('ruby', {
    -      \ 'im' :0,
    -      \ 'am' :0,
    -      \ })
    - -

    Customize selection mode

    - -

    By default, after an expansion, the plugin leaves you in visual mode. If your selectmode(h:selectmode)) contains cmd, then the plugin will respect that setting and leave you in select mode. If you don’t have selectmode set, but would like to default the expansion in select mode, you can use the global setting below:

    - -
    let g:expand_region_use_select_mode = 1
    - -

    Bitdeli Badge

    diff --git a/vim/.vim_runtime/sources_non_forked/vim-expand-region/autoload/expand_region.vim b/vim/.vim_runtime/sources_non_forked/vim-expand-region/autoload/expand_region.vim deleted file mode 100644 index 3bf2f70..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-expand-region/autoload/expand_region.vim +++ /dev/null @@ -1,350 +0,0 @@ -" ============================================================================== -" File: expand_region.vim -" Author: Terry Ma -" Last Modified: March 30, 2013 -" ============================================================================== - -let s:save_cpo = &cpo -set cpo&vim - -" ============================================================================== -" Settings -" ============================================================================== - -" Init global vars -function! expand_region#init() - if exists('g:expand_region_init') && g:expand_region_init - return - endif - let g:expand_region_init = 1 - - " Dictionary of text objects that are supported by default. Note that some of - " the text objects are not available in vanilla vim. '1' indicates that the - " text object is recursive (think of nested parens or brackets) - let g:expand_region_text_objects = get(g:, 'expand_region_text_objects', { - \ 'iw' :0, - \ 'iW' :0, - \ 'i"' :0, - \ 'i''' :0, - \ 'i]' :1, - \ 'ib' :1, - \ 'iB' :1, - \ 'il' :0, - \ 'ip' :0, - \ 'ie' :0, - \}) - - " Option to default to the select mode when selecting a new region - let g:expand_region_use_select_mode = get(g:, 'expand_region_use_select_mode', 0) -endfunction -call expand_region#init() - -" ============================================================================== -" Global Functions -" ============================================================================== - -" Allow user to customize the global dictionary, or the per file type dictionary -function! expand_region#custom_text_objects(...) - if a:0 == 1 - call extend(g:expand_region_text_objects, a:1) - elseif a:0 == 2 - if !exists("g:expand_region_text_objects_".a:1) - let g:expand_region_text_objects_{a:1} = {} - call extend(g:expand_region_text_objects_{a:1}, g:expand_region_text_objects) - endif - call extend(g:expand_region_text_objects_{a:1}, a:2) - endif -endfunction - -" Returns whether we should perform the region highlighting use visual mode or -" select mode -function! expand_region#use_select_mode() - return g:expand_region_use_select_mode || index(split(s:saved_selectmode, ','), 'cmd') != -1 -endfunction - -" Main function -function! expand_region#next(mode, direction) - call s:expand_region(a:mode, a:direction) -endfunction - -" ============================================================================== -" Variables -" ============================================================================== - -" The saved cursor position when user initiates expand. This is the position we -" use to calcuate the region for all of our text objects. This is also used to -" restore the original cursor position when the region is completely shrinked. -let s:saved_pos = [] - -" Index into the list of filtered text objects(s:candidates), the text object -" this points to is the currently selected region. -let s:cur_index = -1 - -" The list of filtered text objects used to expand/shrink the visual selection. -" This is computed when expand-region is called the first time. -" Each item is a dictionary containing the following: -" text_object: The actual text object string -" start_pos: The result of getpos() on the starting position of the text object -" end_pos: The result of getpos() on the ending position of the text object -" length: The number of characters for the text object -let s:candidates = [] - -" This is used to save the user's selectmode setting. If the user's selectmode -" contains 'cmd', then our expansion should result in the region selected under -" select mode. -let s:saved_selectmode = &selectmode - -" ============================================================================== -" Functions -" ============================================================================== - -" Sort the text object by length in ascending order -function! s:sort_text_object(l, r) - return a:l.length - a:r.length -endfunction - -" Compare two position arrays. Each input is the result of getpos(). Return a -" negative value if lhs occurs before rhs, positive value if after, and 0 if -" they are the same. -function! s:compare_pos(l, r) - " If number lines are the same, compare columns - return a:l[1] ==# a:r[1] ? a:l[2] - a:r[2] : a:l[1] - a:r[1] -endfunction - -" Boundary check on the cursor position to make sure it's inside the text object -" region. Return 1 if the cursor is within range, 0 otherwise. -function! s:is_cursor_inside(pos, region) - if s:compare_pos(a:pos, a:region.start_pos) < 0 - return 0 - endif - if s:compare_pos(a:pos, a:region.end_pos) > 0 - return 0 - endif - return 1 -endfunction - -" Remove duplicates from the candidate list. Two candidates are duplicates if -" they cover the exact same region (same length and same starting position) -function! s:remove_duplicate(input) - let i = len(a:input) - 1 - while i >= 1 - if a:input[i].length ==# a:input[i-1].length && - \ a:input[i].start_pos ==# a:input[i-1].start_pos - call remove(a:input, i) - endif - let i-=1 - endwhile -endfunction - -" Return a single candidate dictionary. Each dictionary contains the following: -" text_object: The actual text object string -" start_pos: The result of getpos() on the starting position of the text object -" end_pos: The result of getpos() on the ending position of the text object -" length: The number of characters for the text object -function! s:get_candidate_dict(text_object) - " Store the current view so we can restore it at the end - let winview = winsaveview() - - " Use ! as much as possible - exec 'normal! v' - exec 'silent! normal '.a:text_object - " The double quote is important - exec "normal! \" - - let selection = s:get_visual_selection() - let ret = { - \ "text_object": a:text_object, - \ "start_pos": selection.start_pos, - \ "end_pos": selection.end_pos, - \ "length": selection.length, - \} - - " Restore peace - call winrestview(winview) - return ret -endfunction - - -" Return dictionary of text objects that are to be used for the current -" filetype. Filetype-specific dictionaries will be loaded if they exist -" and the global dictionary will be used as a fallback. -function! s:get_configuration() - let configuration = {} - for ft in split(&ft, '\.') - if exists("g:expand_region_text_objects_".ft) - call extend(configuration, g:expand_region_text_objects_{ft}) - endif - endfor - - if empty(configuration) - call extend(configuration, g:expand_region_text_objects) - endif - - return configuration -endfunction - -" Return list of candidate dictionary. Each dictionary contains the following: -" text_object: The actual text object string -" start_pos: The result of getpos() on the starting position of the text object -" length: The number of characters for the text object -function! s:get_candidate_list() - " Turn off wrap to allow recursive search to work without triggering errors - let save_wrapscan = &wrapscan - set nowrapscan - - let config = s:get_configuration() - - " Generate the candidate list for every defined text object - let candidates = keys(config) - call map(candidates, "s:get_candidate_dict(v:val)") - - " For the ones that are recursive, generate them until they no longer match - " any region - let recursive_candidates = [] - for i in candidates - " Continue if not recursive - if !config[i.text_object] - continue - endif - " If the first level is already empty, no point in going any further - if i.length ==# 0 - continue - endif - let l:count = 2 - let previous = i.length - while 1 - let test = l:count.i.text_object - let candidate = s:get_candidate_dict(test) - if candidate.length ==# 0 - break - endif - " If we're not producing larger regions, end early - if candidate.length ==# previous - break - endif - call add(recursive_candidates, candidate) - let l:count+=1 - let previous = candidate.length - endwhile - endfor - - " Restore wrapscan - let &wrapscan = save_wrapscan - - return extend(candidates, recursive_candidates) -endfunction - -" Return a dictionary containing the start position, end position and length of -" the current visual selection. -function! s:get_visual_selection() - let start_pos = getpos("'<") - let end_pos = getpos("'>") - let [lnum1, col1] = start_pos[1:2] - let [lnum2, col2] = end_pos[1:2] - let lines = getline(lnum1, lnum2) - let lines[-1] = lines[-1][: col2 - 1] - let lines[0] = lines[0][col1 - 1:] - return { - \ 'start_pos': start_pos, - \ 'end_pos': end_pos, - \ 'length': len(join(lines, "\n")) - \} -endfunction - -" Figure out whether we should compute the candidate text objects, or we're in -" the middle of an expand/shrink. -function! s:should_compute_candidates(mode) - if a:mode ==# 'v' - " Check that current visual selection is idential to our last expanded - " region - if s:cur_index >= 0 - let selection = s:get_visual_selection() - if s:candidates[s:cur_index].start_pos ==# selection.start_pos - \ && s:candidates[s:cur_index].length ==# selection.length - return 0 - endif - endif - endif - return 1 -endfunction - -" Computes the list of text object candidates to be used given the current -" cursor position. -function! s:compute_candidates(cursor_pos) - " Reset index into the candidates list - let s:cur_index = -1 - - " Save the current cursor position so we can restore it later - let s:saved_pos = a:cursor_pos - - " Compute a list of candidate regions - let s:candidates = s:get_candidate_list() - - " Sort them and remove the ones with 0 or 1 length - call filter(sort(s:candidates, "s:sort_text_object"), 'v:val.length > 1') - - " Filter out the ones where the cursor falls outside of its region. i" and i' - " can start after the cursor position, and ib can start before, so both checks - " are needed - call filter(s:candidates, 's:is_cursor_inside(s:saved_pos, v:val)') - - " Remove duplicates - call s:remove_duplicate(s:candidates) -endfunction - -" Perform the visual selection at the end. If the user wants to be left in -" select mode, do so -function! s:select_region() - exec 'normal! v' - exec 'normal '.s:candidates[s:cur_index].text_object - if expand_region#use_select_mode() - exec "normal! \" - endif -endfunction - -" Expand or shrink the visual selection to the next candidate in the text object -" list. -function! s:expand_region(mode, direction) - " Save the selectmode setting, and remove the setting so our 'v' command do - " not get interfered - let s:saved_selectmode = &selectmode - let &selectmode="" - - if s:should_compute_candidates(a:mode) - call s:compute_candidates(getpos('.')) - else - call setpos('.', s:saved_pos) - endif - - if a:direction ==# '+' - " Expanding - if s:cur_index ==# len(s:candidates) - 1 - normal! gv - else - let s:cur_index+=1 - " Associate the window view with the text object - let s:candidates[s:cur_index].prev_winview = winsaveview() - call s:select_region() - endif - else - "Shrinking - if s:cur_index <=# 0 - " In visual mode, doing nothing here will return us to normal mode. For - " select mode, the following is needed. - if expand_region#use_select_mode() - exec "normal! gV" - endif - else - " Restore the window view - call winrestview(s:candidates[s:cur_index].prev_winview) - let s:cur_index-=1 - call s:select_region() - endif - endif - - " Restore the selectmode setting - let &selectmode = s:saved_selectmode -endfunction - -let &cpo = s:save_cpo -unlet s:save_cpo diff --git a/vim/.vim_runtime/sources_non_forked/vim-expand-region/doc/expand_region.txt b/vim/.vim_runtime/sources_non_forked/vim-expand-region/doc/expand_region.txt deleted file mode 100644 index 109dd72..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-expand-region/doc/expand_region.txt +++ /dev/null @@ -1,126 +0,0 @@ -*vim-expand-region.txt* Incremental visual selection - - __ _ - ___ _ ______ ____ _____ ____/ / ________ ____ _(_)___ ____ - / _ \| |/_/ __ \/ __ `/ __ \/ __ / / ___/ _ \/ __ `/ / __ \/ __ \ - / __/> - - map K (expand_region_expand) - map J (expand_region_shrink) -< - -============================================================================== -4. Global Options *expand-region-global-options* - - *expand_region_text_objects* -Default: See below -Dictionary containing the text objects the plugin uses to search for the -available regions to expand/shrink to. The value corresponding to each plugin -indicates whether text object is recursive. A recursive text object is -continually expanded until the region no longer gets larger. > - - " Default settings. (NOTE: Remove comments in dictionary before sourcing) - let g:expand_region_text_objects = { - \ 'iw' :0, - \ 'iW' :0, - \ 'i"' :0, - \ 'i''' :0, - \ 'i]' :1, " Support nesting of square brackets - \ 'ib' :1, " Support nesting of parentheses - \ 'iB' :1, " Support nesting of braces - \ 'il' :0, " 'inside line'. Available through https://github.com/kana/vim-textobj-line - \ 'ip' :0, - \ 'ie' :0, " 'entire file'. Available through https://github.com/kana/vim-textobj-entire - \ } -< - -You can extend the global default dictionary by calling -'expand_region#custom_text_objects'. > - - " Extend the global default (NOTE: Remove comments in dictionary before sourcing) - call expand_region#custom_text_objects({ - \ "\/\\n\\n\": 1, " Motions are supported as well. Here's a search motion that finds a blank line - \ 'a]' :1, " Support nesting of 'around' brackets - \ 'ab' :1, " Support nesting of 'around' parentheses - \ 'aB' :1, " Support nesting of 'around' braces - \ 'ii' :0, " 'inside indent'. Available through https://github.com/kana/vim-textobj-indent - \ 'ai' :0, " 'around indent'. Available through https://github.com/kana/vim-textobj-indent - \ }) -< - -You can further customize the text objects dictionary on a per filetype basis -by defining global variables like 'g:expand_region_text_objects_{ft}'. > - - " Use the following setting for ruby. (NOTE: Remove comments in dictionary before sourcing) - let g:expand_region_text_objects_ruby = { - \ 'im' :0, " 'inner method'. Available through https://github.com/vim-ruby/vim-ruby - \ 'am' :0, " 'around method'. Available through https://github.com/vim-ruby/vim-ruby - \ } -< - -Note that this completely replaces the default dictionary. To extend the -default on a per filetype basis, you can call -'expand_region#custom_text_objects' by passing in the filetype in the first -argument: > - - " Use the global default + the following for ruby - call expand_region#custom_text_objects('ruby', { - \ 'im' :0, - \ 'am' :0, - \ }) -< - *expand_region_use_select_mode* -Default: 0 -By default, after an expansion, the plugin leaves you in visual mode. If your -'selectmode' contains "cmd", then the plugin will respect that setting and -leave you in select mode. If you don't have 'selectmode' set, but would -like to default the expansion in select mode, you can use the global setting -below: > - - let g:expand_region_use_select_mode = 1 -< - -============================================================================== -5. About *expand-region-about* -============================================================================== - -Find the latest version of the plugin here: - http://github.com/terryma/vim-expand-region - - vim:tw=78:sw=4:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/vim-expand-region/doc/tags b/vim/.vim_runtime/sources_non_forked/vim-expand-region/doc/tags deleted file mode 100644 index 402a0c4..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-expand-region/doc/tags +++ /dev/null @@ -1,10 +0,0 @@ -expand-region-about expand_region.txt /*expand-region-about* -expand-region-contents expand_region.txt /*expand-region-contents* -expand-region-global-options expand_region.txt /*expand-region-global-options* -expand-region-intro expand_region.txt /*expand-region-intro* -expand-region-mappings expand_region.txt /*expand-region-mappings* -expand-region-usage expand_region.txt /*expand-region-usage* -expand_region_text_objects expand_region.txt /*expand_region_text_objects* -expand_region_use_select_mode expand_region.txt /*expand_region_use_select_mode* -vim-expand-region.txt expand_region.txt /*vim-expand-region.txt* -vim-expand-regions expand_region.txt /*vim-expand-regions* diff --git a/vim/.vim_runtime/sources_non_forked/vim-expand-region/expand-region.gif b/vim/.vim_runtime/sources_non_forked/vim-expand-region/expand-region.gif deleted file mode 100644 index 00aa5b3391997f3cb7a67b32b1239a30cae35bf6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 770749 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%0A|YywY>0ek*H9~La_fj&Lk=S zZ7fQl8|nmtdF5woW_TC!Zq5fO&YjX3w+neh4wr7m#@-0;T)aPjgsjZwdL+q#(v+NW ze(+I+;InzF+4@Z%|I1gi5jc)*3PLQgqB$-oHj~7&zISP*|G5D`j{&5V?E7Is0$-w; zd}#=ILyd`+NQHGHcXZ(m_G}p{qjEkP*P39Y)zT;<+Lw}|>JzULCZm)BOzVdQGYiU1 z;F%X_eF%Mz+9p3=Wz{u~th^f`83*&qkDh3BUooz=V8WJq>J2!qzSlc#{G>|f$A6f_ z7S)B4gHt=yVCF>srNJCRg$3C2*Gd{Wea@TsMd27zeSAfD;q~)5l2iGs2V!^e@AuL~ zc`M7RRNT0_30IO5x7Vy0@cK45qHVhW%%^a+9et1#fI`MXZXxXi98JauS`#)m$w2q$ zA9T;J*F9>m7;@F0Pe@2C?SNtlhWrb^;6-}mAdg> zAGFPv18NbswMMWP*qJgvVS|KkNVdm(0T|{Md`)IAXvhOlsP)N9HZuCO{!BiY^ums zRg=f-d)98{FuN(Dw_R#hj{#4N1!s!C*PXiZe(U}l4d->V&p$)Is1A|f$J=s=ox4sX z=kzEuKlD*JFXrS6bJTv=|J3*Nr563;WW7FlhnZR2zegf_Uag{Ml;rlh?|e?{y=~k} z79ciNhkabv3DUL9Ru=5uc0+08%8usptM5Oj`~4dfm8%ymUV8Rc5PUv4?XcK1Hds`+ zq{Ae=$7ojX+J$JAG|dKNzR}T-Yg{-A)9-wS^u)6Z`xUxlFPEhRu+r{s0*;%`v{Rtu?58VF%b22)N5n;^_Eg`V^1t#LHYzcm4K-8rLS>!@Jwz)FD zAgvVQ@C#294S{TaQX#T60SMCJT1m#uvP}eZc`XBk`s#deR1MbBqXGEC0VMn@*oKc} z$O(9|g!Pn=**;6-bJsL?(jrjaeUx`y1Q0N1SO%M5dYuavIM)`3h*v9t;)Dfj8Y&4* zzW%Mf?0c2^&6NZi*SMae6GAsRHB;;%&>7>c>C;3s#hOuKgvAH)XN1cQB@Ahak-X#; zWA8SoWSXa=^p#!`Wq1t)_ajgQ7n*b4`BWiqrOAFxHh2%i{|+wSp9J3XicQ2w?*V&; z7&&cKa-CarhNF6VhOlTiq{-fAj&0f5U3!MIwnS250emi5WoV-Ns8SF@FT27|Y`tUd z$0(u+h~4G(qP%SJr%gJ|<*dQrng#9@Ob_2Z(2zoV%S+;V!tJbrt9@gkb%=#@7P!$5 ztv&4N#y?~&H`EmwxX~dCsqT<5?94_krWmFkuK3`qnekdVV;LvywPD%=hqPt1$K9ql zmX0EatVJ*)1G{yRy&EdJ`G@cgBYlafH6KoVn#jTo3{lqN9fv>qhU^Vt`B%cKGKak40e9a=jVv~DNB|IC`T>Y2mp-H5yFSnmBJPfi?bYOZ;Ze2k^3zGjgKOou(|n&pp&(B4|R-T8Ug z1nAbcWz=PtKigo>31W?-8UrU>o$r;setC3k=Gc@qBD0<|>U?A-?bvljlzyn8|7+#N zLIS=Nrcvn}+EreCubla#T+(evIH5z4k}vn_Cb$PT#p!zgSKr)C=2fwdG?worH5@i? zh@cj!3b*t2uwEtaUCMH#iULR1h&T%uC<(oHlv(m+`#d^y+7CJoa~hWw9o;n9xU~vN zdJ~3j100k$MH>0i%f zEE6Oz3#(!o^INJiPBbSrEvaf5U3}P@eppcCxQ42``Gk(HaJJ=Ww`0BsZ4p*}RoEsw_gi4BVmof*wPIg=6m+ogfyzwv}`_@Oc2(c;-HYkl$NjIMK&BjmEb z7EDrgJ)F;Q*7(sLN-PPI1eQkS0{CQ1pgFZ|u&Q~A+VI3CFECV8BJ=XEZFu?SAaiGX zRb0!!0@z$~=H#Sq8@&8rXI}NP zk$&^V<<8v_-MTktR#czV`&Do7Hd0jq@GA9DTR;%Q1)3K%_vd+3HP zVZ@VEBF#G~o!cw*eIspdbHuMZ_i#^|F$>n_rSZvp~{+}s>?$$wEi06dDCtBJu)ae z@8ExLfPJp1CLa`Bt~~JWLidfKPUYeD*xBLpnZupG>yOeli^H83gm(Y_2HWr

    U8;`EBC$k-jf2)-!c7Mapa8C_=-gJw4MMm4( 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⋘̸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

    tJJ;q{h@T%RzneJLn+4Zy^RWue!gG!^0 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¥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

    Gist.vim

    - -

    This is a vimscript for creating gists (http://gist.github.com).

    - -

    For the latest version please see https://github.com/mattn/vim-gist.

    - -

    Usage:

    - -
      -
    • Post current buffer to gist, using default privacy option.

      - -
      :Gist
    • - -
    • Post selected text to gist, using default privacy option. -This applies to all permutations listed below (except multi).

      - -
      :'<,'>Gist
    • - -
    • Create a private gist.

      - -
      :Gist -p
    • - -
    • Create a public gist. -(Only relevant if you’ve set gists to be private by default.)

      - -
      :Gist -P
    • -
    - -
    -

    This is only relevant if you’ve set gists to be private by default; -if you get an empty gist list, try “:Gist –abandon”.

    -
    - -
      -
    • Create a gist anonymously.

      - -
      :Gist -a
    • - -
    • Create a gist with all open buffers.

      - -
      :Gist -m
    • - -
    • Edit the gist (you need to have opened the gist buffer first). -You can update the gist with the “:w” command within the gist buffer.

      - -
      :Gist -e
    • - -
    • Edit the gist with name ‘foo.js’ (you need to have opened the gist buffer -first).

      - -
      :Gist -e foo.js
    • - -
    • Post/Edit with the description “ (you need to have opened the gist buffer -first). >

      - -
      :Gist -s something
      -:Gist -e -s something
    • - -
    • Delete the gist (you need to have opened the gist buffer first). -Password authentication is needed.

      - -
      :Gist -d
    • - -
    • Fork the gist (you need to have opened the gist buffer first). -Password authentication is needed.

      - -
      :Gist -f
    • - -
    • Star the gist (you need to have opened the gist buffer first). -Password authentication is needed.

      - -
      :Gist +1
    • - -
    • Unstar the gist (you need to have opened the gist buffer first). -Password authentication is needed.

      - -
      :Gist -1
    • - -
    • Get gist XXXXX.

      - -
      :Gist XXXXX
    • - -
    • Get gist XXXXX and add to clipboard.

      - -
      :Gist -c XXXXX
    • - -
    • List your public gists.

      - -
      :Gist -l
    • - -
    • List gists from user “mattn”.

      - -
      :Gist -l mattn
    • - -
    • List everyone’s gists.

      - -
      :Gist -la
    • - -
    • List gists from your starred gists.

      - -
      :Gist -ls
    • - -
    • Open the gist on browser after you post or update it.

      - -
      :Gist -b
    • -
    - -

    List Feature

    - -
      -
    • Useful mappings on the gist-listing buffer:

      - -
        -
      • Both o or Enter open the gist file in a new buffer, and close the -vim-gist listing one.
      • -
      • b opens the gist file in a browser; this is necessary because -Shift-Enter (as was originally) only works for GUI vim.
      • -
      • y copies the contents of the selected gist to the clipboard, and -closes the vim-gist buffer.
      • -
      • p pastes the contents of the selected gist to the buffer from where -vim-gist was called, and closes the vim-gist buffer.
      • -
      • Hitting Escape or Tab at the vim-gist buffer closes it.
      • -
    • - -
    • Gist listing has fixed-length columns now, more amenable to eye inspection. -Every line on the gist-listing buffer contains the gist id, name and -description, in that order. Columns are now padded and truncated to offer a -faster browsing, in the following way:

      - -
        -
      • The gist id string is fixed at 32 characters.
      • -
      • The length (in characters) of the name of the gist is fixed and -can be set by the user using, for example:
      • -
      - -

      let g:gistvim_namelength = 20

      - -

      The default value for gistvim_namelength is 30. If the gist (file)name -exceeds that length, it is truncated to the specified length. -- Finally, the gist description is truncated in length to fit the remaining -of the line, avoiding wrapped lines that mess up the table layout. -- Note that the gist listing buffer now does not show the field ‘code’ -(not sure what that did in the first place).

    • -
    - -

    Tips:

    - -

    If you set g:gist_clip_command, gist.vim will copy the gist code with option -‘-c’.

    - -
      -
    • Mac:

      - -
      let g:gist_clip_command = 'pbcopy'
    • - -
    • Linux:

      - -
      let g:gist_clip_command = 'xclip -selection clipboard'
    • - -
    • Others (cygwin?):

      - -
      let g:gist_clip_command = 'putclip'
    • -
    - -

    If you want to detect filetype from the filename:

    - -
    let g:gist_detect_filetype = 1
    - -

    If you want to open browser after the post:

    - -
    let g:gist_open_browser_after_post = 1
    - -

    If you want to change the browser:

    - -
    let g:gist_browser_command = 'w3m %URL%'
    - -

    or:

    - -
    let g:gist_browser_command = 'opera %URL% &'
    - -

    On windows, this should work with your user settings.

    - -

    If you want to show your private gists with “:Gist -l”:

    - -
    let g:gist_show_privates = 1
    - -

    If you want your gist to be private by default:

    - -
    let g:gist_post_private = 1
    - -

    If you want your gist to be anonymous by default:

    - -
    let g:gist_post_anonymous = 1
    - -

    If you want to manipulate multiple files in a gist:

    - -
    let g:gist_get_multiplefile = 1
    - -

    If you want to use on GitHub Enterprise:

    - -
    let g:gist_api_url = 'http://your-github-enterprise-domain/api/v3'
    - -

    You need to either set global git config:

    - -
    $ git config --global github.user Username
    - -

    License:

    - -
    Copyright 2010 by Yasuhiro Matsumoto
    -modification, are permitted provided that the following conditions are met:
    -
    -1. Redistributions of source code must retain the above copyright notice,
    -   this list of conditions and the following disclaimer.
    -2. Redistributions in binary form must reproduce the above copyright notice,
    -   this list of conditions and the following disclaimer in the documentation
    -   and/or other materials provided with the distribution.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    -``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
    -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
    -REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
    -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
    -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
    -OF THE POSSIBILITY OF SUCH DAMAGE.
    - -

    Install:

    - -

    Copy it to your plugin directory. -gist.vim will create a curl cookie-jar file in your runtimepath.

    - -
      -
    • rtp: - -
        -
      • autoload/gist.vim
      • -
      • plugin/gist.vim
      • -
    • -
    - -

    If you want to uninstall gist.vim, remember to also remove ~/.gist-vim.

    - -

    You need to install webapi-vim also:

    - -

    http://www.vim.org/scripts/script.php?script_id=4019

    - -

    If you want to use latest one:

    - -

    https://github.com/mattn/webapi-vim

    - -

    Install with Vundle

    - -

    Add the following lines to your .vimrc.

    - -
    Bundle 'mattn/webapi-vim'
    -Bundle 'mattn/vim-gist'
    - -

    Now restart Vim and run :BundleInstall.

    - -

    Install with NeoBundle

    - -

    Add the following line to your .vimrc.

    - -
    NeoBundle 'mattn/vim-gist', {'depends': 'mattn/webapi-vim'}
    - -

    Requirements:

    - - - -

    Setup:

    - -

    This plugin supports both basic and two-factor authentication using GitHub -API v3. The plugin stores its credentials in ~/.gist-vim.

    - -

    First, you need to set your GitHub username in git’s global configuration:

    - -
    $ git config --global github.user <username>
    - -

    Then vim-gist will ask for your password in order to create an access -token. If you have two-factor authentication enabled, vim-gist will also -prompt you to enter the two-factor key you receive.

    - -

    NOTE: -If you want you can set it directly to g:github_user and g:gist_token.

    - -

    Whichever type of authentication you use, your GitHub password will not be -stored, only a OAuth access token produced specifically for vim-gist. The -token is stored in ~/.gist-vim. If you stop using the plugin, you can -easily remove this file. To revoke the associated GitHub token, go to the -list of “Authorized applications” on GitHub’s “Account Settings” -page.

    - -

    Note: the username is optional if you only send anonymous gists.

    diff --git a/vim/.vim_runtime/sources_non_forked/vim-gist/autoload/gist.vim b/vim/.vim_runtime/sources_non_forked/vim-gist/autoload/gist.vim deleted file mode 100644 index 7f803c6..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-gist/autoload/gist.vim +++ /dev/null @@ -1,1165 +0,0 @@ -"============================================================================= -" File: gist.vim -" Author: Yasuhiro Matsumoto -" Last Change: 10-Oct-2016. -" Version: 7.3 -" WebPage: http://github.com/mattn/vim-gist -" License: BSD - -let s:save_cpo = &cpoptions -set cpoptions&vim - -if exists('g:gist_disabled') && g:gist_disabled == 1 - function! gist#Gist(...) abort - endfunction - finish -endif - -if !exists('g:github_user') && !executable('git') - echohl ErrorMsg | echomsg 'Gist: require ''git'' command' | echohl None - finish -endif - -if !executable('curl') - echohl ErrorMsg | echomsg 'Gist: require ''curl'' command' | echohl None - finish -endif - -if globpath(&rtp, 'autoload/webapi/http.vim') ==# '' - echohl ErrorMsg | echomsg 'Gist: require ''webapi'', install https://github.com/mattn/webapi-vim' | echohl None - finish -else - call webapi#json#true() -endif - -let s:gist_token_file = expand(get(g:, 'gist_token_file', '~/.gist-vim')) -let s:system = function(get(g:, 'webapi#system_function', 'system')) - -if !exists('g:github_user') - let g:github_user = substitute(s:system('git config --get github.user'), "\n", '', '') - if strlen(g:github_user) == 0 - let g:github_user = $GITHUB_USER - end -endif - -if !exists('g:gist_api_url') - let g:gist_api_url = substitute(s:system('git config --get github.apiurl'), "\n", '', '') - if strlen(g:gist_api_url) == 0 - let g:gist_api_url = 'https://api.github.com/' - end - if exists('g:github_api_url') && !exists('g:gist_shutup_issue154') - if matchstr(g:gist_api_url, 'https\?://\zs[^/]\+\ze') != matchstr(g:github_api_url, 'https\?://\zs[^/]\+\ze') - echohl WarningMsg - echo '--- Warning ---' - echo 'It seems that you set different URIs for github_api_url/gist_api_url.' - echo 'If you want to remove this message: let g:gist_shutup_issue154 = 1' - echohl None - if confirm('Continue?', '&Yes\n&No') != 1 - let g:gist_disabled = 1 - finish - endif - redraw! - endif - endif -endif -if g:gist_api_url !~# '/$' - let g:gist_api_url .= '/' -endif - -if !exists('g:gist_update_on_write') - let g:gist_update_on_write = 1 -endif - -function! s:get_browser_command() abort - let gist_browser_command = get(g:, 'gist_browser_command', '') - if gist_browser_command ==# '' - if has('win32') || has('win64') - let gist_browser_command = '!start rundll32 url.dll,FileProtocolHandler %URL%' - elseif has('mac') || has('macunix') || has('gui_macvim') || system('uname') =~? '^darwin' - let gist_browser_command = 'open %URL%' - elseif executable('xdg-open') - let gist_browser_command = 'xdg-open %URL%' - elseif executable('firefox') - let gist_browser_command = 'firefox %URL% &' - else - let gist_browser_command = '' - endif - endif - return gist_browser_command -endfunction - -function! s:open_browser(url) abort - let cmd = s:get_browser_command() - if len(cmd) == 0 - redraw - echohl WarningMsg - echo 'It seems that you don''t have general web browser. Open URL below.' - echohl None - echo a:url - return - endif - let quote = &shellxquote == '"' ? "'" : '"' - if cmd =~# '^!' - let cmd = substitute(cmd, '%URL%', '\=quote.a:url.quote', 'g') - silent! exec cmd - elseif cmd =~# '^:[A-Z]' - let cmd = substitute(cmd, '%URL%', '\=a:url', 'g') - exec cmd - else - let cmd = substitute(cmd, '%URL%', '\=quote.a:url.quote', 'g') - call system(cmd) - endif -endfunction - -function! s:shellwords(str) abort - let words = split(a:str, '\%(\([^ \t\''"]\+\)\|''\([^\'']*\)''\|"\(\%([^\"\\]\|\\.\)*\)"\)\zs\s*\ze') - let words = map(words, 'substitute(v:val, ''\\\([\\ ]\)'', ''\1'', "g")') - let words = map(words, 'matchstr(v:val, ''^\%\("\zs\(.*\)\ze"\|''''\zs\(.*\)\ze''''\|.*\)$'')') - return words -endfunction - -function! s:truncate(str, num) - let mx_first = '^\(.\)\(.*\)$' - let str = a:str - let ret = '' - let width = 0 - while 1 - let char = substitute(str, mx_first, '\1', '') - let cells = strdisplaywidth(char) - if cells == 0 || width + cells > a:num - break - endif - let width = width + cells - let ret .= char - let str = substitute(str, mx_first, '\2', '') - endwhile - while width + 1 <= a:num - let ret .= " " - let width = width + 1 - endwhile - return ret -endfunction - -function! s:format_gist(gist) abort - let files = sort(keys(a:gist.files)) - if empty(files) - return '' - endif - let file = a:gist.files[files[0]] - let name = file.filename - if has_key(file, 'content') - let code = file.content - let code = "\n".join(map(split(code, "\n"), '" ".v:val'), "\n") - else - let code = '' - endif - let desc = type(a:gist.description)==0 || a:gist.description ==# '' ? '' : a:gist.description - let name = substitute(name, '[\r\n\t]', ' ', 'g') - let name = substitute(name, ' ', ' ', 'g') - let desc = substitute(desc, '[\r\n\t]', ' ', 'g') - let desc = substitute(desc, ' ', ' ', 'g') - " Display a nice formatted (and truncated if needed) table of gists on screen - " Calculate field lengths for gist-listing formatting on screen - redir =>a |exe "sil sign place buffer=".bufnr('')|redir end - let signlist = split(a, '\n') - let width = winwidth(0) - ((&number||&relativenumber) ? &numberwidth : 0) - &foldcolumn - (len(signlist) > 2 ? 2 : 0) - let idlen = 33 - let namelen = get(g:, 'gist_namelength', 30) - let desclen = width - (idlen + namelen + 10) - return printf('gist: %s %s %s', s:truncate(a:gist.id, idlen), s:truncate(name, namelen), s:truncate(desc, desclen)) -endfunction - -" Note: A colon in the file name has side effects on Windows due to NTFS Alternate Data Streams; avoid it. -let s:bufprefix = 'gist' . (has('unix') ? ':' : '_') -function! s:GistList(gistls, page) abort - if a:gistls ==# '-all' - let url = g:gist_api_url.'gists/public' - elseif get(g:, 'gist_show_privates', 0) && a:gistls ==# 'starred' - let url = g:gist_api_url.'gists/starred' - elseif get(g:, 'gist_show_privates') && a:gistls ==# 'mine' - let url = g:gist_api_url.'gists' - else - let url = g:gist_api_url.'users/'.a:gistls.'/gists' - endif - let winnum = bufwinnr(bufnr(s:bufprefix.a:gistls)) - if winnum != -1 - if winnum != bufwinnr('%') - exe winnum 'wincmd w' - endif - setlocal modifiable - else - if get(g:, 'gist_list_vsplit', 0) - exec 'silent noautocmd vsplit +set\ winfixwidth ' s:bufprefix.a:gistls - elseif get(g:, 'gist_list_rightbelow', 0) - exec 'silent noautocmd rightbelow 5 split +set\ winfixheight ' s:bufprefix.a:gistls - else - exec 'silent noautocmd split' s:bufprefix.a:gistls - endif - endif - if a:page > 1 - let oldlines = getline(0, line('$')) - let url = url . '?page=' . a:page - endif - - setlocal modifiable - let old_undolevels = &undolevels - let oldlines = [] - silent %d _ - - redraw | echon 'Listing gists... ' - let auth = s:GistGetAuthHeader() - if len(auth) == 0 - bw! - redraw - echohl ErrorMsg | echomsg v:errmsg | echohl None - return - endif - let res = webapi#http#get(url, '', { "Authorization": auth }) - if v:shell_error != 0 - bw! - redraw - echohl ErrorMsg | echomsg 'Gists not found' | echohl None - return - endif - let content = webapi#json#decode(res.content) - if type(content) == 4 && has_key(content, 'message') && len(content.message) - bw! - redraw - echohl ErrorMsg | echomsg content.message | echohl None - if content.message ==# 'Bad credentials' - call delete(s:gist_token_file) - endif - return - endif - - let lines = map(filter(content, '!empty(v:val.files)'), 's:format_gist(v:val)') - call setline(1, split(join(lines, "\n"), "\n")) - - $put='more...' - - let b:gistls = a:gistls - let b:page = a:page - setlocal buftype=nofile bufhidden=hide noswapfile - setlocal cursorline - setlocal nomodified - setlocal nomodifiable - syntax match SpecialKey /^gist:/he=e-1 - syntax match Title /^gist: \S\+/hs=s+5 contains=ALL - nnoremap :call GistListAction(0) - nnoremap o :call GistListAction(0) - nnoremap b :call GistListAction(1) - nnoremap y :call GistListAction(2) - nnoremap p :call GistListAction(3) - nnoremap :bw - nnoremap :call GistListAction(1) - - cal cursor(1+len(oldlines),1) - nohlsearch - redraw | echo '' -endfunction - -function! gist#list_recursively(user, ...) abort - let use_cache = get(a:000, 0, 1) - let limit = get(a:000, 1, -1) - let verbose = get(a:000, 2, 1) - if a:user ==# 'mine' - let url = g:gist_api_url . 'gists' - elseif a:user ==# 'starred' - let url = g:gist_api_url . 'gists/starred' - else - let url = g:gist_api_url.'users/'.a:user.'/gists' - endif - - let auth = s:GistGetAuthHeader() - if len(auth) == 0 - " anonymous user cannot get gists to prevent infinite recursive loading - return [] - endif - - if use_cache && exists('g:gist_list_recursively_cache') - if has_key(g:gist_list_recursively_cache, a:user) - return webapi#json#decode(g:gist_list_recursively_cache[a:user]) - endif - endif - - let page = 1 - let gists = [] - let lastpage = -1 - - function! s:get_lastpage(res) abort - let links = split(a:res.header[match(a:res.header, 'Link')], ',') - let link = links[match(links, 'rel=[''"]last[''"]')] - let page = str2nr(matchlist(link, '\%(page=\)\(\d\+\)')[1]) - return page - endfunction - - if verbose > 0 - redraw | echon 'Loading gists...' - endif - - while limit == -1 || page <= limit - let res = webapi#http#get(url.'?page='.page, '', {'Authorization': auth}) - if limit == -1 - " update limit to the last page - let limit = s:get_lastpage(res) - endif - if verbose > 0 - redraw | echon 'Loading gists... ' . page . '/' . limit . ' pages has loaded.' - endif - let gists = gists + webapi#json#decode(res.content) - let page = page + 1 - endwhile - let g:gist_list_recursively_cache = get(g:, 'gist_list_recursively_cache', {}) - let g:gist_list_recursively_cache[a:user] = webapi#json#encode(gists) - return gists -endfunction - -function! gist#list(user, ...) abort - let page = get(a:000, 0, 0) - if a:user ==# '-all' - let url = g:gist_api_url.'gists/public' - elseif get(g:, 'gist_show_privates', 0) && a:user ==# 'starred' - let url = g:gist_api_url.'gists/starred' - elseif get(g:, 'gist_show_privates') && a:user ==# 'mine' - let url = g:gist_api_url.'gists' - else - let url = g:gist_api_url.'users/'.a:user.'/gists' - endif - - let auth = s:GistGetAuthHeader() - if len(auth) == 0 - return [] - endif - let res = webapi#http#get(url, '', { "Authorization": auth }) - return webapi#json#decode(res.content) -endfunction - -function! s:GistGetFileName(gistid) abort - let auth = s:GistGetAuthHeader() - if len(auth) == 0 - return '' - endif - let res = webapi#http#get(g:gist_api_url.'gists/'.a:gistid, '', { "Authorization": auth }) - let gist = webapi#json#decode(res.content) - if has_key(gist, 'files') - return sort(keys(gist.files))[0] - endif - return '' -endfunction - -function! s:GistDetectFiletype(gistid) abort - let auth = s:GistGetAuthHeader() - if len(auth) == 0 - return '' - endif - let res = webapi#http#get(g:gist_api_url.'gists/'.a:gistid, '', { "Authorization": auth }) - let gist = webapi#json#decode(res.content) - let filename = sort(keys(gist.files))[0] - let ext = fnamemodify(filename, ':e') - if has_key(s:extmap, ext) - let type = s:extmap[ext] - else - let type = get(gist.files[filename], 'type', 'text') - endif - silent! exec 'setlocal ft='.tolower(type) -endfunction - -function! s:GistWrite(fname) abort - if substitute(a:fname, '\\', '/', 'g') == expand("%:p:gs@\\@/@") - if g:gist_update_on_write != 2 || v:cmdbang - Gist -e - else - echohl ErrorMsg | echomsg 'Please type ":w!" to update a gist.' | echohl None - endif - else - exe 'w'.(v:cmdbang ? '!' : '') fnameescape(v:cmdarg) fnameescape(a:fname) - silent! exe 'file' fnameescape(a:fname) - silent! au! BufWriteCmd - endif -endfunction - -function! s:GistGet(gistid, clipboard) abort - redraw | echon 'Getting gist... ' - let res = webapi#http#get(g:gist_api_url.'gists/'.a:gistid, '', { "Authorization": s:GistGetAuthHeader() }) - if res.status =~# '^2' - try - let gist = webapi#json#decode(res.content) - catch - redraw - echohl ErrorMsg | echomsg 'Gist seems to be broken' | echohl None - return - endtry - if get(g:, 'gist_get_multiplefile', 0) != 0 - let num_file = len(keys(gist.files)) - else - let num_file = 1 - endif - redraw - if num_file > len(keys(gist.files)) - echohl ErrorMsg | echomsg 'Gist not found' | echohl None - return - endif - augroup GistWrite - au! - augroup END - for n in range(num_file) - try - let old_undolevels = &undolevels - let filename = sort(keys(gist.files))[n] - - let winnum = bufwinnr(bufnr(s:bufprefix.a:gistid.'/'.filename)) - if winnum != -1 - if winnum != bufwinnr('%') - exe winnum 'wincmd w' - endif - setlocal modifiable - else - if num_file == 1 - if get(g:, 'gist_edit_with_buffers', 0) - let found = -1 - for wnr in range(1, winnr('$')) - let bnr = winbufnr(wnr) - if bnr != -1 && !empty(getbufvar(bnr, 'gist')) - let found = wnr - break - endif - endfor - if found != -1 - exe found 'wincmd w' - setlocal modifiable - else - if get(g:, 'gist_list_vsplit', 0) - exec 'silent noautocmd rightbelow vnew' - else - exec 'silent noautocmd rightbelow new' - endif - endif - else - silent only! - if get(g:, 'gist_list_vsplit', 0) - exec 'silent noautocmd rightbelow vnew' - else - exec 'silent noautocmd rightbelow new' - endif - endif - else - if get(g:, 'gist_list_vsplit', 0) - exec 'silent noautocmd rightbelow vnew' - else - exec 'silent noautocmd rightbelow new' - endif - endif - setlocal noswapfile - silent exec 'noautocmd file' s:bufprefix.a:gistid.'/'.fnameescape(filename) - endif - set undolevels=-1 - filetype detect - silent %d _ - - let content = gist.files[filename].content - call setline(1, split(content, "\n")) - let b:gist = { - \ "filename": filename, - \ "id": gist.id, - \ "description": gist.description, - \ "private": gist.public =~ 'true', - \} - catch - let &undolevels = old_undolevels - bw! - redraw - echohl ErrorMsg | echomsg 'Gist contains binary' | echohl None - return - endtry - let &undolevels = old_undolevels - setlocal buftype=acwrite bufhidden=hide noswapfile - setlocal nomodified - doau StdinReadPost,BufRead,BufReadPost - let gist_detect_filetype = get(g:, 'gist_detect_filetype', 0) - if (&ft ==# '' && gist_detect_filetype == 1) || gist_detect_filetype == 2 - call s:GistDetectFiletype(a:gistid) - endif - if a:clipboard - if exists('g:gist_clip_command') - exec 'silent w !'.g:gist_clip_command - elseif has('clipboard') - silent! %yank + - else - %yank - endif - endif - 1 - augroup GistWrite - au! BufWriteCmd call s:GistWrite(expand("")) - augroup END - endfor - else - bw! - redraw - echohl ErrorMsg | echomsg 'Gist not found' | echohl None - return - endif -endfunction - -function! s:GistListAction(mode) abort - let line = getline('.') - let mx = '^gist:\s*\zs\(\w\+\)\ze.*' - if line =~# mx - let gistid = matchstr(line, mx) - if a:mode == 1 - call s:open_browser('https://gist.github.com/' . gistid) - elseif a:mode == 0 - call s:GistGet(gistid, 0) - wincmd w - bw - elseif a:mode == 2 - call s:GistGet(gistid, 1) - " TODO close with buffe rname - bdelete - bdelete - elseif a:mode == 3 - call s:GistGet(gistid, 1) - " TODO close with buffe rname - bdelete - bdelete - normal! "+p - endif - return - endif - if line =~# '^more\.\.\.$' - call s:GistList(b:gistls, b:page+1) - return - endif -endfunction - -function! s:GistUpdate(content, gistid, gistnm, desc) abort - let gist = { "id": a:gistid, "files" : {}, "description": "","public": function('webapi#json#true') } - if exists('b:gist') - if has_key(b:gist, 'filename') && len(a:gistnm) > 0 - let gist.files[b:gist.filename] = { "content": '', "filename": b:gist.filename } - let b:gist.filename = a:gistnm - endif - if has_key(b:gist, 'private') && b:gist.private | let gist['public'] = function('webapi#json#false') | endif - if has_key(b:gist, 'description') | let gist['description'] = b:gist.description | endif - if has_key(b:gist, 'filename') | let filename = b:gist.filename | endif - else - let filename = a:gistnm - if len(filename) == 0 | let filename = s:GistGetFileName(a:gistid) | endif - if len(filename) == 0 | let filename = s:get_current_filename(1) | endif - endif - - let auth = s:GistGetAuthHeader() - if len(auth) == 0 - redraw - echohl ErrorMsg | echomsg v:errmsg | echohl None - return - endif - - " Update description - " If no new description specified, keep the old description - if a:desc !=# ' ' - let gist['description'] = a:desc - else - let res = webapi#http#get(g:gist_api_url.'gists/'.a:gistid, '', { "Authorization": auth }) - if res.status =~# '^2' - let old_gist = webapi#json#decode(res.content) - let gist['description'] = old_gist.description - endif - endif - - let gist.files[filename] = { "content": a:content, "filename": filename } - - redraw | echon 'Updating gist... ' - let res = webapi#http#post(g:gist_api_url.'gists/' . a:gistid, - \ webapi#json#encode(gist), { - \ "Authorization": auth, - \ "Content-Type": "application/json", - \}) - if res.status =~# '^2' - let obj = webapi#json#decode(res.content) - let loc = obj['html_url'] - let b:gist = {"id": a:gistid, "filename": filename} - setlocal nomodified - redraw | echomsg 'Done: '.loc - else - let loc = '' - echohl ErrorMsg | echomsg 'Post failed: ' . res.message | echohl None - endif - return loc -endfunction - -function! s:GistDelete(gistid) abort - let auth = s:GistGetAuthHeader() - if len(auth) == 0 - redraw - echohl ErrorMsg | echomsg v:errmsg | echohl None - return - endif - - redraw | echon 'Deleting gist... ' - let res = webapi#http#post(g:gist_api_url.'gists/'.a:gistid, '', { - \ "Authorization": auth, - \ "Content-Type": "application/json", - \}, 'DELETE') - if res.status =~# '^2' - if exists('b:gist') - unlet b:gist - endif - redraw | echomsg 'Done: ' - else - echohl ErrorMsg | echomsg 'Delete failed: ' . res.message | echohl None - endif -endfunction - -function! s:get_current_filename(no) abort - let filename = expand('%:t') - if len(filename) == 0 && &ft !=# '' - let pair = filter(items(s:extmap), 'v:val[1] == &ft') - if len(pair) > 0 - let filename = printf('gistfile%d%s', a:no, pair[0][0]) - endif - endif - if filename ==# '' - let filename = printf('gistfile%d.txt', a:no) - endif - return filename -endfunction - -function! s:update_GistID(id) abort - let view = winsaveview() - normal! gg - let ret = 0 - if search('\:\s*$') - let line = getline('.') - let line = substitute(line, '\s\+$', '', 'g') - call setline('.', line . ' ' . a:id) - let ret = 1 - endif - call winrestview(view) - return ret -endfunction - -" GistPost function: -" Post new gist to github -" -" if there is an embedded gist url or gist id in your file, -" it will just update it. -" -- by c9s -" -" embedded gist id format: -" -" GistID: 123123 -" -function! s:GistPost(content, private, desc, anonymous) abort - let gist = { "files" : {}, "description": "","public": function('webapi#json#true') } - if a:desc !=# ' ' | let gist['description'] = a:desc | endif - if a:private | let gist['public'] = function('webapi#json#false') | endif - let filename = s:get_current_filename(1) - let gist.files[filename] = { "content": a:content, "filename": filename } - - let header = {"Content-Type": "application/json"} - if !a:anonymous - let auth = s:GistGetAuthHeader() - if len(auth) == 0 - redraw - echohl ErrorMsg | echomsg v:errmsg | echohl None - return - endif - let header['Authorization'] = auth - endif - - redraw | echon 'Posting it to gist... ' - let res = webapi#http#post(g:gist_api_url.'gists', webapi#json#encode(gist), header) - if res.status =~# '^2' - let obj = webapi#json#decode(res.content) - let loc = obj['html_url'] - let b:gist = { - \ "filename": filename, - \ "id": matchstr(loc, '[^/]\+$'), - \ "description": gist['description'], - \ "private": a:private, - \} - if s:update_GistID(b:gist['id']) - Gist -e - endif - redraw | echomsg 'Done: '.loc - else - let loc = '' - echohl ErrorMsg | echomsg 'Post failed: '. res.message | echohl None - endif - return loc -endfunction - -function! s:GistPostBuffers(private, desc, anonymous) abort - let bufnrs = range(1, bufnr('$')) - let bn = bufnr('%') - let query = [] - - let gist = { "files" : {}, "description": "","public": function('webapi#json#true') } - if a:desc !=# ' ' | let gist['description'] = a:desc | endif - if a:private | let gist['public'] = function('webapi#json#false') | endif - - let index = 1 - for bufnr in bufnrs - if !bufexists(bufnr) || buflisted(bufnr) == 0 - continue - endif - echo 'Creating gist content'.index.'... ' - silent! exec 'buffer!' bufnr - let content = join(getline(1, line('$')), "\n") - let filename = s:get_current_filename(index) - let gist.files[filename] = { "content": content, "filename": filename } - let index = index + 1 - endfor - silent! exec 'buffer!' bn - - let header = {"Content-Type": "application/json"} - if !a:anonymous - let auth = s:GistGetAuthHeader() - if len(auth) == 0 - redraw - echohl ErrorMsg | echomsg v:errmsg | echohl None - return - endif - let header['Authorization'] = auth - endif - - redraw | echon 'Posting it to gist... ' - let res = webapi#http#post(g:gist_api_url.'gists', webapi#json#encode(gist), header) - if res.status =~# '^2' - let obj = webapi#json#decode(res.content) - let loc = obj['html_url'] - let b:gist = { - \ "filename": filename, - \ "id": matchstr(loc, '[^/]\+$'), - \ "description": gist['description'], - \ "private": a:private, - \} - if s:update_GistID(b:gist['id']) - Gist -e - endif - redraw | echomsg 'Done: '.loc - else - let loc = '' - echohl ErrorMsg | echomsg 'Post failed: ' . res.message | echohl None - endif - return loc -endfunction - -function! gist#Gist(count, bang, line1, line2, ...) abort - redraw - let bufname = bufname('%') - " find GistID: in content , then we should just update - let gistid = '' - let gistls = '' - let gistnm = '' - let gistdesc = ' ' - let private = get(g:, 'gist_post_private', 0) - let multibuffer = 0 - let clipboard = 0 - let deletepost = 0 - let editpost = 0 - let anonymous = get(g:, 'gist_post_anonymous', 0) - let openbrowser = 0 - let listmx = '^\%(-l\|--list\)\s*\([^\s]\+\)\?$' - let bufnamemx = '^' . s:bufprefix .'\(\zs[0-9a-f]\+\ze\|\zs[0-9a-f]\+\ze[/\\].*\)$' - if strlen(g:github_user) == 0 && anonymous == 0 - echohl ErrorMsg | echomsg 'You have not configured a Github account. Read '':help gist-setup''.' | echohl None - return - endif - if a:bang == '!' - let gistidbuf = '' - elseif bufname =~# bufnamemx - let gistidbuf = matchstr(bufname, bufnamemx) - elseif exists('b:gist') && has_key(b:gist, 'id') - let gistidbuf = b:gist['id'] - else - let gistidbuf = matchstr(join(getline(a:line1, a:line2), "\n"), 'GistID:\s*\zs\w\+') - endif - - let args = (a:0 > 0) ? s:shellwords(a:1) : [] - for arg in args - if arg =~# '^\(-h\|--help\)$\C' - help :Gist - return - elseif arg =~# '^\(-g\|--git\)$\C' && gistidbuf !=# '' && g:gist_api_url ==# 'https://api.github.com/' && has_key(b:, 'gist') && has_key(b:gist, 'id') - echo printf('git clone git@github.com:%s', b:gist['id']) - return - elseif arg =~# '^\(-G\|--gitclone\)$\C' && gistidbuf !=# '' && g:gist_api_url ==# 'https://api.github.com/' && has_key(b:, 'gist') && has_key(b:gist, 'id') - exe '!' printf('git clone git@github.com:%s', b:gist['id']) - return - elseif arg =~# '^\(-la\|--listall\)$\C' - let gistls = '-all' - elseif arg =~# '^\(-ls\|--liststar\)$\C' - let gistls = 'starred' - elseif arg =~# '^\(-l\|--list\)$\C' - if get(g:, 'gist_show_privates') - let gistls = 'mine' - else - let gistls = g:github_user - endif - elseif arg =~# '^\(-m\|--multibuffer\)$\C' - let multibuffer = 1 - elseif arg =~# '^\(-p\|--private\)$\C' - let private = 1 - elseif arg =~# '^\(-P\|--public\)$\C' - let private = 0 - elseif arg =~# '^\(-a\|--anonymous\)$\C' - let anonymous = 1 - elseif arg =~# '^\(-s\|--description\)$\C' - let gistdesc = '' - elseif arg =~# '^\(-c\|--clipboard\)$\C' - let clipboard = 1 - elseif arg =~# '^--rawurl$\C' && gistidbuf !=# '' && g:gist_api_url ==# 'https://api.github.com/' - let gistid = gistidbuf - echo 'https://gist.github.com/raw/'.gistid - return - elseif arg =~# '^\(-d\|--delete\)$\C' && gistidbuf !=# '' - let gistid = gistidbuf - let deletepost = 1 - elseif arg =~# '^\(-e\|--edit\)$\C' - if gistidbuf !=# '' - let gistid = gistidbuf - endif - let editpost = 1 - elseif arg =~# '^\(+1\|--star\)$\C' && gistidbuf !=# '' - let auth = s:GistGetAuthHeader() - if len(auth) == 0 - echohl ErrorMsg | echomsg v:errmsg | echohl None - else - let gistid = gistidbuf - let res = webapi#http#post(g:gist_api_url.'gists/'.gistid.'/star', '', { "Authorization": auth }, 'PUT') - if res.status =~# '^2' - echomsg 'Starred' gistid - else - echohl ErrorMsg | echomsg 'Star failed' | echohl None - endif - endif - return - elseif arg =~# '^\(-1\|--unstar\)$\C' && gistidbuf !=# '' - let auth = s:GistGetAuthHeader() - if len(auth) == 0 - echohl ErrorMsg | echomsg v:errmsg | echohl None - else - let gistid = gistidbuf - let res = webapi#http#post(g:gist_api_url.'gists/'.gistid.'/star', '', { "Authorization": auth }, 'DELETE') - if res.status =~# '^2' - echomsg 'Unstarred' gistid - else - echohl ErrorMsg | echomsg 'Unstar failed' | echohl None - endif - endif - return - elseif arg =~# '^\(-f\|--fork\)$\C' && gistidbuf !=# '' - let auth = s:GistGetAuthHeader() - if len(auth) == 0 - echohl ErrorMsg | echomsg v:errmsg | echohl None - return - else - let gistid = gistidbuf - let res = webapi#http#post(g:gist_api_url.'gists/'.gistid.'/fork', '', { "Authorization": auth }) - if res.status =~# '^2' - let obj = webapi#json#decode(res.content) - let gistid = obj['id'] - else - echohl ErrorMsg | echomsg 'Fork failed' | echohl None - return - endif - endif - elseif arg =~# '^\(-b\|--browser\)$\C' - let openbrowser = 1 - elseif arg !~# '^-' && len(gistnm) == 0 - if gistdesc !=# ' ' - let gistdesc = matchstr(arg, '^\s*\zs.*\ze\s*$') - elseif editpost == 1 || deletepost == 1 - let gistnm = arg - elseif len(gistls) > 0 && arg !=# '^\w\+$\C' - let gistls = arg - elseif arg =~# '^[0-9a-z]\+$\C' - let gistid = arg - else - echohl ErrorMsg | echomsg 'Invalid arguments: '.arg | echohl None - unlet args - return 0 - endif - elseif len(arg) > 0 - echohl ErrorMsg | echomsg 'Invalid arguments: '.arg | echohl None - unlet args - return 0 - endif - endfor - unlet args - "echom "gistid=".gistid - "echom "gistls=".gistls - "echom "gistnm=".gistnm - "echom "gistdesc=".gistdesc - "echom "private=".private - "echom "clipboard=".clipboard - "echom "editpost=".editpost - "echom "deletepost=".deletepost - - if gistidbuf !=# '' && gistid ==# '' && editpost == 0 && deletepost == 0 && anonymous == 0 - let editpost = 1 - let gistid = gistidbuf - endif - - if len(gistls) > 0 - call s:GistList(gistls, 1) - elseif len(gistid) > 0 && editpost == 0 && deletepost == 0 - call s:GistGet(gistid, clipboard) - else - let url = '' - if multibuffer == 1 - let url = s:GistPostBuffers(private, gistdesc, anonymous) - else - if a:count < 1 - let content = join(getline(a:line1, a:line2), "\n") - else - let save_regcont = @" - let save_regtype = getregtype('"') - silent! normal! gvy - let content = @" - call setreg('"', save_regcont, save_regtype) - endif - if editpost == 1 - let url = s:GistUpdate(content, gistid, gistnm, gistdesc) - elseif deletepost == 1 - call s:GistDelete(gistid) - else - let url = s:GistPost(content, private, gistdesc, anonymous) - endif - if a:count >= 1 && get(g:, 'gist_keep_selection', 0) == 1 - silent! normal! gv - endif - endif - if type(url) == 1 && len(url) > 0 - if get(g:, 'gist_open_browser_after_post', 0) == 1 || openbrowser - call s:open_browser(url) - endif - let gist_put_url_to_clipboard_after_post = get(g:, 'gist_put_url_to_clipboard_after_post', 1) - if gist_put_url_to_clipboard_after_post > 0 || clipboard - if gist_put_url_to_clipboard_after_post == 2 - let url = url . "\n" - endif - if exists('g:gist_clip_command') - call system(g:gist_clip_command, url) - elseif has('clipboard') - let @+ = url - else - let @" = url - endif - endif - endif - endif - return 1 -endfunction - -function! s:GistGetAuthHeader() abort - if get(g:, 'gist_use_password_in_gitconfig', 0) != 0 - let password = substitute(system('git config --get github.password'), "\n", '', '') - if password =~# '^!' | let password = system(password[1:]) | endif - return printf('basic %s', webapi#base64#b64encode(g:github_user.':'.password)) - endif - let auth = '' - if !empty(get(g:, 'gist_token', $GITHUB_TOKEN)) - let auth = 'token ' . get(g:, 'gist_token', $GITHUB_TOKEN) - elseif filereadable(s:gist_token_file) - let str = join(readfile(s:gist_token_file), '') - if type(str) == 1 - let auth = str - endif - endif - if len(auth) > 0 - return auth - endif - - redraw - echohl WarningMsg - echo 'Gist.vim requires authorization to use the GitHub API. These settings are stored in "~/.gist-vim". If you want to revoke, do "rm ~/.gist-vim".' - echohl None - let password = inputsecret('GitHub Password for '.g:github_user.':') - if len(password) == 0 - let v:errmsg = 'Canceled' - return '' - endif - let note = 'Gist.vim on '.hostname().' '.strftime('%Y/%m/%d-%H:%M:%S') - let note_url = 'http://www.vim.org/scripts/script.php?script_id=2423' - let insecureSecret = printf('basic %s', webapi#base64#b64encode(g:github_user.':'.password)) - let res = webapi#http#post(g:gist_api_url.'authorizations', webapi#json#encode({ - \ "scopes" : ["gist"], - \ "note" : note, - \ "note_url" : note_url, - \}), { - \ "Content-Type" : "application/json", - \ "Authorization" : insecureSecret, - \}) - let h = filter(res.header, 'stridx(v:val, "X-GitHub-OTP:") == 0') - if len(h) - let otp = inputsecret('OTP:') - if len(otp) == 0 - let v:errmsg = 'Canceled' - return '' - endif - let res = webapi#http#post(g:gist_api_url.'authorizations', webapi#json#encode({ - \ "scopes" : ["gist"], - \ "note" : note, - \ "note_url" : note_url, - \}), { - \ "Content-Type" : "application/json", - \ "Authorization" : insecureSecret, - \ "X-GitHub-OTP" : otp, - \}) - endif - let authorization = webapi#json#decode(res.content) - if has_key(authorization, 'token') - let secret = printf('token %s', authorization.token) - call writefile([secret], s:gist_token_file) - if !(has('win32') || has('win64')) - call system('chmod go= '.s:gist_token_file) - endif - elseif has_key(authorization, 'message') - let secret = '' - let v:errmsg = authorization.message - endif - return secret -endfunction - -let s:extmap = extend({ -\".adb": "ada", -\".ahk": "ahk", -\".arc": "arc", -\".as": "actionscript", -\".asm": "asm", -\".asp": "asp", -\".aw": "php", -\".b": "b", -\".bat": "bat", -\".befunge": "befunge", -\".bmx": "bmx", -\".boo": "boo", -\".c-objdump": "c-objdump", -\".c": "c", -\".cfg": "cfg", -\".cfm": "cfm", -\".ck": "ck", -\".cl": "cl", -\".clj": "clj", -\".cmake": "cmake", -\".coffee": "coffee", -\".cpp": "cpp", -\".cppobjdump": "cppobjdump", -\".cs": "csharp", -\".css": "css", -\".cw": "cw", -\".d-objdump": "d-objdump", -\".d": "d", -\".darcspatch": "darcspatch", -\".diff": "diff", -\".duby": "duby", -\".dylan": "dylan", -\".e": "e", -\".ebuild": "ebuild", -\".eclass": "eclass", -\".el": "lisp", -\".erb": "erb", -\".erl": "erlang", -\".f90": "f90", -\".factor": "factor", -\".feature": "feature", -\".fs": "fs", -\".fy": "fy", -\".go": "go", -\".groovy": "groovy", -\".gs": "gs", -\".gsp": "gsp", -\".haml": "haml", -\".hs": "haskell", -\".html": "html", -\".hx": "hx", -\".ik": "ik", -\".ino": "ino", -\".io": "io", -\".j": "j", -\".java": "java", -\".js": "javascript", -\".json": "json", -\".jsp": "jsp", -\".kid": "kid", -\".lhs": "lhs", -\".lisp": "lisp", -\".ll": "ll", -\".lua": "lua", -\".ly": "ly", -\".m": "objc", -\".mak": "mak", -\".man": "man", -\".mao": "mao", -\".matlab": "matlab", -\".md": "markdown", -\".minid": "minid", -\".ml": "ml", -\".moo": "moo", -\".mu": "mu", -\".mustache": "mustache", -\".mxt": "mxt", -\".myt": "myt", -\".n": "n", -\".nim": "nim", -\".nu": "nu", -\".numpy": "numpy", -\".objdump": "objdump", -\".ooc": "ooc", -\".parrot": "parrot", -\".pas": "pas", -\".pasm": "pasm", -\".pd": "pd", -\".phtml": "phtml", -\".pir": "pir", -\".pl": "perl", -\".po": "po", -\".py": "python", -\".pytb": "pytb", -\".pyx": "pyx", -\".r": "r", -\".raw": "raw", -\".rb": "ruby", -\".rhtml": "rhtml", -\".rkt": "rkt", -\".rs": "rs", -\".rst": "rst", -\".s": "s", -\".sass": "sass", -\".sc": "sc", -\".scala": "scala", -\".scm": "scheme", -\".scpt": "scpt", -\".scss": "scss", -\".self": "self", -\".sh": "sh", -\".sml": "sml", -\".sql": "sql", -\".st": "smalltalk", -\".swift": "swift", -\".tcl": "tcl", -\".tcsh": "tcsh", -\".tex": "tex", -\".textile": "textile", -\".tpl": "smarty", -\".twig": "twig", -\".txt" : "text", -\".v": "verilog", -\".vala": "vala", -\".vb": "vbnet", -\".vhd": "vhdl", -\".vim": "vim", -\".weechatlog": "weechatlog", -\".xml": "xml", -\".xq": "xquery", -\".xs": "xs", -\".yml": "yaml", -\}, get(g:, 'gist_extmap', {})) - -let &cpo = s:save_cpo -unlet s:save_cpo - -" vim:set et: diff --git a/vim/.vim_runtime/sources_non_forked/vim-gist/doc/gist-vim.txt b/vim/.vim_runtime/sources_non_forked/vim-gist/doc/gist-vim.txt deleted file mode 100644 index 88c46d1..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-gist/doc/gist-vim.txt +++ /dev/null @@ -1,358 +0,0 @@ -*Gist.vim* Vimscript for creating gists (http://gist.github.com) - -Usage |vim-gist-usage| -Tips |vim-gist-tips| -License |vim-gist-license| -Install |vim-gist-install| -Requirements |vim-gist-requirements| -Setup |vim-gist-setup| -FAQ |vim-gist-faq| - -This is a vimscript for creating gists (http://gist.github.com) - -For the latest version please see https://github.com/mattn/vim-gist. - -============================================================================== -USAGE *:Gist* *vim-gist-usage* - -- Post current buffer to gist, using default privacy option. > - - :Gist -< -- Post selected text to gist, using default privacy option. - This applies to all permutations listed below (except multi). > - - :'<,'>Gist -< -- Create a private gist. > - - :Gist -p - :Gist --private -< -- Create a public gist. - (Only relevant if you've set gists to be private by default.) > - - :Gist -P - :Gist --public -< -- Post whole text to gist as public. - This is only relevant if you've set gists to be private by default. -> - :Gist -P -< -- Create a gist anonymously. > - - :Gist -a - :Gist --anonymous -< -- Create a gist with all open buffers. > - - :Gist -m - :Gist --multibuffer -< -- Edit the gist (you need to have opened the gist buffer first). - You can update the gist with the {:w} command within the gist buffer. > - - :Gist -e - :Gist --edit -< -- Edit the gist with name "foo.js" (you need to have opened the gist buffer - first). > - - :Gist -e foo.js -< -- Post/Edit with the description " (you need to have opened the gist buffer - first). > - - :Gist -s something - :Gist --description something - :Gist -e -s something -< -- Delete the gist (you need to have opened the gist buffer first). - Password authentication is needed. > - - :Gist -d - :Gist --delete -< -- Fork the gist (you need to have opened the gist buffer first). - Password authentication is needed. > - - :Gist -f - :Gist --fork -< -- Star the gist (you need to have opened the gist buffer first). - Password authentication is needed. -> - :Gist +1 -< -- Unstar the gist (you need to have opened the gist buffer first). - Password authentication is needed. -> - :Gist -1 -< -- Get gist XXXXX. > - - :Gist XXXXX -< -- Get gist XXXXX and add to clipboard. > - - :Gist -c XXXXX -< -- List your public gists. > - - :Gist -l - :Gist --list -< -- List gists from user "mattn". > - - :Gist -l mattn -< -- List everyone's gists. > - - :Gist -la - :Gist --listall -< -- List gists from your starred gists. -> - :Gist -ls - :Gist --liststar - -- While the gist list is visible, the following mappings apply: - - - 'o' or 'Enter' will open the selected gist file in a new buffer - and close the vim-gist listing split. - - 'b' will open the selected gist file in a browser. If you are in - GUI vim you can also achieve this by pressing 'Shift-Enter'. - - 'y' will copy the contents of the selected gist to the clipboard, - and close the vim-gist listing split. - - 'p' will (copy and) paste the contents of the selected gist to the - buffer from which vim-gist was called, and close the vim-gist - listing split. - - 'Esc' will close the vim-gist listing split without performing any - further action. - -- Open the gist on browser after you post or update it. -> - :Gist -b - :Gist --browser -< -- Post as new gist after editing on the buffer. -> - :Gist! -< -============================================================================== -TIPS *vim-gist-tips* - -If you set "g:gist_clip_command", gist.vim will copy the gist code with option -"-c". - - - Mac: > - let g:gist_clip_command = 'pbcopy' -< - - Linux: > - let g:gist_clip_command = 'xclip -selection clipboard' -< - - Others (cygwin?): > - let g:gist_clip_command = 'putclip' -< -If you want to detect filetype from the filename: > - - let g:gist_detect_filetype = 1 -< -If you want to open the browser after the post: > - - let g:gist_open_browser_after_post = 1 -< -If you want to change the browser: > - - let g:gist_browser_command = 'w3m %URL%' -< -or: > - - let g:gist_browser_command = 'opera %URL% &' -< -On windows, this should work with your user settings. - -If you want to show your private gists with ":Gist -l": > - - let g:gist_show_privates = 1 -< -If you want your gist to be private by default: > - - let g:gist_post_private = 1 -< -If you want your gist to be anonymous by default: > - - let g:gist_post_anonymous = 1 -< -If you want to edit all files for gists containing more than one: > - - let g:gist_get_multiplefile = 1 -< -If you want to use on GitHub Enterprise: > - - let g:gist_api_url = 'http://your-github-enterprise-domain/api/v3' -< -If you want to open gist with current editing buffers: > - - let g:gist_edit_with_buffers = 1 - -If you want to open gist list/buffer as vertical split: > - - let g:gist_list_vsplit = 1 - -If you want to modify filetype for the file on github, or add mapping of -filetype/file-extension: > - - let g:gist_extmap = { ".swift": "swift" } -< - key is file-extension, value is filetype. - -If you want to update a gist, embed > - - GistID: xxxxx -> -in your local file, then call > - - :Gist - -The vim-gist listing split lists gists ids, names (filenames) as well as -their description. This is done following a table layout, with fixed space -for each column. For offering quick browsing, vim-gist will truncate all -output exceeding the available horizontal space, assuring that every gist -listed only takes one line on the table. Although the gist id field width is -fixed internally, the user can define the length of the (file)name field on -the vim-gist listing. This can be done by the following declaration: - - let g:gist_namelength = 20 - -Note that the default value for gist_namelength is 30. Again, if the gist -(file)name exceeds the specified number of characters, it will be truncated. - -If you want to update a gist when only |:w!|: > - - " :w and :w! update a gist. - let g:gist_update_on_write = 1 - - " Only :w! updates a gist. - let g:gist_update_on_write = 2 -> -All other values are treated as 1. -This variable's value is 1 by default. - -============================================================================== -LICENSE *vim-gist-license* - - - Copyright 2010 by Yasuhiro Matsumoto - modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - OF THE POSSIBILITY OF SUCH DAMAGE. - -============================================================================== -INSTALL *vim-gist-install* - -Copy following files into your plugin directory. - -rtp: - - autoload/gist.vim - - plugin/gist.vim - -If you want to uninstall gist.vim, remember to also remove `~/.vim-gist`. - -You need to install webapi-vim also: - - http://www.vim.org/scripts/script.php?script_id=4019 - -If you want to use latest one: - - https://github.com/mattn/webapi-vim - -============================================================================== -REQUIREMENTS *vim-gist-requirements* - - - curl command (http://curl.haxx.se/) - - webapi-vim (https://github.com/mattn/webapi-vim) - - and, if you want to use your git profile, the git command-line client. - -============================================================================== -SETUP *vim-gist-setup* - -This plugin uses GitHub API v3. The authentication value is stored in `~/.vim-gist`. -vim-gist provides two ways to authenticate against the GitHub APIs. - -First, you need to set your GitHub username in global git config: -> - $ git config --global github.user Username -< -Then, gist.vim will ask for your password to create an authorization when you -first use it. The password is not stored and only the OAuth access token will -be kept for later use. You can revoke the token at any time from the list of -"Authorized applications" on GitHub's "Account Settings" page. -(https://github.com/settings/applications) - -If you have two-factor authentication enabled on GitHub, you'll see the message -"Must specify two-factor authentication OTP code." In this case, you need to -create a "Personal Access Token" on GitHub's "Account Settings" page -(https://github.com/settings/applications) and place it in a file -named ~/.vim-gist like this: -> - token xxxxx -< -If you happen to have your password already written in ~/.gitconfig like -below: -> - [github] - password = xxxxx -< -Then, add following into your ~/.vimrc -> - let g:gist_use_password_in_gitconfig = 1 -< -This is not secure at all, so strongly discouraged. - -NOTE: the username is optional if you only send anonymous gists. - -============================================================================== -FAQ *vim-gist-faq* - -Q. :Gist returns a Forbidden error -A. Try deleting ~/.vim-gist and authenticating again. - -============================================================================== -THANKS *vim-gist-thanks* - - AD7six - Bruno Bigras - c9s - Daniel Bretoi - Jeremy Michael Cantrell - Kien N - kongo2002 - MATSUU Takuto - Matthew Weier O'Phinney - ornicar - Roland Schilter - steve - tyru - Will Gray - netj - - vim:tw=78:ts=8:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/vim-gist/doc/tags b/vim/.vim_runtime/sources_non_forked/vim-gist/doc/tags deleted file mode 100644 index 68c44ab..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-gist/doc/tags +++ /dev/null @@ -1,10 +0,0 @@ -:Gist gist-vim.txt /*:Gist* -Gist.vim gist-vim.txt /*Gist.vim* -vim-gist-faq gist-vim.txt /*vim-gist-faq* -vim-gist-install gist-vim.txt /*vim-gist-install* -vim-gist-license gist-vim.txt /*vim-gist-license* -vim-gist-requirements gist-vim.txt /*vim-gist-requirements* -vim-gist-setup gist-vim.txt /*vim-gist-setup* -vim-gist-thanks gist-vim.txt /*vim-gist-thanks* -vim-gist-tips gist-vim.txt /*vim-gist-tips* -vim-gist-usage gist-vim.txt /*vim-gist-usage* diff --git a/vim/.vim_runtime/sources_non_forked/vim-gist/plugin/gist.vim b/vim/.vim_runtime/sources_non_forked/vim-gist/plugin/gist.vim deleted file mode 100644 index 4d4efe6..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-gist/plugin/gist.vim +++ /dev/null @@ -1,23 +0,0 @@ -"============================================================================= -" File: gist.vim -" Author: Yasuhiro Matsumoto -" WebPage: http://github.com/mattn/vim-gist -" License: BSD -" GetLatestVimScripts: 2423 1 :AutoInstall: gist.vim -" script type: plugin - -if &compatible || (exists('g:loaded_gist_vim') && g:loaded_gist_vim) - finish -endif -let g:loaded_gist_vim = 1 - -function! s:CompleteArgs(arg_lead,cmdline,cursor_pos) - return filter(copy(["-p", "-P", "-a", "-m", "-e", "-s", "-d", "+1", "-1", "-f", "-c", "-l", "-la", "-ls", "-b", - \ "--listall", "--liststar", "--list", "--multibuffer", "--private", "--public", "--anonymous", "--description", "--clipboard", - \ "--rawurl", "--delete", "--edit", "--star", "--unstar", "--fork", "--browser" - \ ]), 'stridx(v:val, a:arg_lead)==0') -endfunction - -command! -nargs=? -range=% -bang -complete=customlist,s:CompleteArgs Gist :call gist#Gist(, "", , , ) - -" vim:set et: diff --git a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/.github/issue_template.md b/vim/.vim_runtime/sources_non_forked/vim-gitgutter/.github/issue_template.md deleted file mode 100644 index a8335d0..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/.github/issue_template.md +++ /dev/null @@ -1,5 +0,0 @@ -issue_template.md

    -

    What is the latest commit SHA in your installed vim-gitgutter?

    - -

    What vim/nvim version are you on?

    -
    diff --git a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/.gitignore b/vim/.vim_runtime/sources_non_forked/vim-gitgutter/.gitignore deleted file mode 100644 index 82fb253..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/doc/tags -/misc -/test/*.actual -*.log - diff --git a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/LICENCE b/vim/.vim_runtime/sources_non_forked/vim-gitgutter/LICENCE deleted file mode 100644 index 38e2dc2..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/LICENCE +++ /dev/null @@ -1,22 +0,0 @@ -MIT License - -Copyright (c) Andrew Stewart - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - diff --git a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/README.mkd b/vim/.vim_runtime/sources_non_forked/vim-gitgutter/README.mkd deleted file mode 100644 index 350cebe..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/README.mkd +++ /dev/null @@ -1,685 +0,0 @@ -## vim-gitgutter - -A Vim plugin which shows a git diff in the sign column. It shows which lines have been added, modified, or removed. You can also preview, stage, and undo individual hunks; and stage partial hunks. The plugin also provides a hunk text object. - -The signs are always up to date and the plugin never saves your buffer. - -The name "gitgutter" comes from the Sublime Text 3 plugin which inspired this in 2013. - -Features: - -* Shows signs for added, modified, and removed lines. -* Runs the diffs asynchronously where possible. -* Ensures signs are always up to date. -* Never saves the buffer. -* Quick jumping between blocks of changed lines ("hunks"). -* Stage/undo/preview individual hunks. -* Previews highlight intra-line changes. -* Stage partial hunks. -* Provides a hunk text object. -* Diffs against index (default) or any commit. -* Allows folding all unchanged text. -* Provides fold text showing whether folded lines have been changed. -* Can load all hunk locations into quickfix list or the current window's location list. -* Handles line endings correctly, even with repos that do CRLF conversion. -* Optional line highlighting. -* Optional line number highlighting. (Only available in Neovim 0.3.2 or higher) -* Fully customisable (signs, sign column, line (number) highlights, mappings, extra git-diff arguments, etc). -* Can be toggled on/off, globally or per buffer. -* Preserves signs from other plugins. -* Easy to integrate diff stats into status line; built-in integration with [vim-airline](https://github.com/bling/vim-airline/). -* Works with fish shell (in addition to the usual shells). - -Constraints: - -* Supports git only. If you work with other version control systems, I recommend [vim-signify](https://github.com/mhinz/vim-signify). -* Relies on the `FocusGained` event. If your terminal doesn't report focus events, either use something like [Terminus][] or set `let g:gitgutter_terminal_reports_focus=0`. For tmux, `set -g focus-events on` in your tmux.conf. - -Compatibility: - -Compatible back to Vim 7.4, and probably 7.3. - - -### Screenshot - -![screenshot](./screenshot.png?raw=true) - -In the screenshot above you can see: - -* Lines 183-184 are new. -* Lines 186-187 have been modified. -* The preview for the modified lines highlights changed regions within the line. - - -### Installation - -Install using your favourite package manager, or use Vim's built-in package support. - -Vim: - -``` -mkdir -p ~/.vim/pack/airblade/start -cd ~/.vim/pack/airblade/start -git clone https://github.com/airblade/vim-gitgutter.git -vim -u NONE -c "helptags vim-gitgutter/doc" -c q -``` - -Neovim: - - -``` -mkdir -p ~/.config/nvim/pack/airblade/start -cd ~/.config/nvim/pack/airblade/start -git clone https://github.com/airblade/vim-gitgutter.git -nvim -u NONE -c "helptags vim-gitgutter/doc" -c q -``` - - -### Windows - -I recommend configuring vim-gitgutter with the full path to your git executable. For example: - -```viml -let g:gitgutter_git_executable = 'C:\Program Files\Git\bin\git.exe' -``` - -This is to avoid a problem which occurs if you have file named `git.*` (i.e. with any extension in `PATHEXT`) in your current folder. `cmd.exe` prioritises the current folder over folders in `PATH` and will try to execute your file instead of the `git` binary. - - -### Getting started - -When you make a change to a file tracked by git, the diff markers should appear automatically. The delay is governed by vim's `updatetime` option; the default value is `4000`, i.e. 4 seconds, but I suggest reducing it to around 100ms (add `set updatetime=100` to your vimrc). Note `updatetime` also controls the delay before vim writes its swap file (see `:help updatetime`). - -You can jump between hunks with `[c` and `]c`. You can preview, stage, and undo hunks with `hp`, `hs`, and `hu` respectively. - -You cannot unstage a staged hunk. - -After updating the signs, the plugin fires the `GitGutter` User autocommand. - -After staging a hunk or part of a hunk, the plugin fires the `GitGutterStage` User autocommand. - - -#### Activation - -You can explicitly turn vim-gitgutter off and on (defaults to on): - -* turn off with `:GitGutterDisable` -* turn on with `:GitGutterEnable` -* toggle with `:GitGutterToggle`. - -To toggle vim-gitgutter per buffer: - -* turn off with `:GitGutterBufferDisable` -* turn on with `:GitGutterBufferEnable` -* toggle with `:GitGutterBufferToggle` - -You can turn the signs on and off (defaults to on): - -* turn on with `:GitGutterSignsEnable` -* turn off with `:GitGutterSignsDisable` -* toggle with `:GitGutterSignsToggle`. - -And you can turn line highlighting on and off (defaults to off): - -* turn on with `:GitGutterLineHighlightsEnable` -* turn off with `:GitGutterLineHighlightsDisable` -* toggle with `:GitGutterLineHighlightsToggle`. - -Note that if you have line highlighting on and signs off, you will have an empty sign column – more accurately, a sign column with invisible signs. This is because line highlighting requires signs and Vim/NeoVim always shows the sign column when there are signs even if the signs are invisible. - -With Neovim 0.3.2 or higher, you can turn line number highlighting on and off (defaults to off): - -* turn on with `:GitGutterLineNrHighlightsEnable` -* turn off with `:GitGutterLineNrHighlightsDisable` -* toggle with `:GitGutterLineNrHighlightsToggle`. - -The same caveat applies to line number highlighting as to line highlighting just above. - -If you switch off both line highlighting and signs, you won't see the sign column. - -In older Vims (pre 8.1.0614 / Neovim 0.4.0) vim-gitgutter will suppress the signs when a file has more than 500 changes, to avoid slowing down the UI. As soon as the number of changes falls below the limit vim-gitgutter will show the signs again. You can configure the threshold with: - -```viml -let g:gitgutter_max_signs = 500 " default value (Vim < 8.1.0614, Neovim < 0.4.0) -let g:gitgutter_max_signs = -1 " default value (otherwise) -``` - -You can also remove the limit by setting `g:gitgutter_max_signs = -1`. - -#### Hunks - -You can jump between hunks: - -* jump to next hunk (change): `]c` -* jump to previous hunk (change): `[c`. - -Both of those take a preceding count. - -To set your own mappings for these, for example `]h` and `[h`: - -```viml -nmap ]h (GitGutterNextHunk) -nmap [h (GitGutterPrevHunk) -``` - -You can load all your hunks into the quickfix list with `:GitGutterQuickFix`. Note this ignores any unsaved changes in your buffers. If the option `g:gitgutter_use_location_list` is set, this command will load hunks into the current window's location list instead. - -You can stage or undo an individual hunk when your cursor is in it: - -* stage the hunk with `hs` or -* undo it with `hu`. - -To stage part of an additions-only hunk by: - -* either visually selecting the part you want and staging with your mapping, e.g. `hs`; -* or using a range with the `GitGutterStageHunk` command, e.g. `:42,45GitGutterStageHunk`. - -To stage part of any hunk: - -* preview the hunk, e.g. `hp`; -* move to the preview window, e.g. `:wincmd P`; -* delete the lines you do not want to stage; -* stage the remaining lines: either write (`:w`) the window or stage via `hs` or `:GitGutterStageHunk`. - -Note the above workflow is not possible if you have opted in to preview hunks with Vim's popup windows. - -See the FAQ if you want to unstage staged changes. - -The `.` command will work with both these if you install [repeat.vim](https://github.com/tpope/vim-repeat). - -To set your own mappings for these, for example if you prefer `g`-based maps: - -```viml -nmap ghs (GitGutterStageHunk) -nmap ghu (GitGutterUndoHunk) -``` - -And you can preview a hunk's changes with `hp`. The location of the preview window is configured with `g:gitgutter_preview_win_location` (default `'bo'`). You can of course change this mapping, e.g: - -```viml -nmap ghp (GitGutterPreviewHunk) -``` - -A hunk text object is provided which works in visual and operator-pending modes. - -- `ic` operates on all lines in the current hunk. -- `ac` operates on all lines in the current hunk and any trailing empty lines. - -To re-map these, for example to `ih` and `ah`: - -```viml -omap ih (GitGutterTextObjectInnerPending) -omap ah (GitGutterTextObjectOuterPending) -xmap ih (GitGutterTextObjectInnerVisual) -xmap ah (GitGutterTextObjectOuterVisual) -``` - -If you don't want vim-gitgutter to set up any mappings at all, use this: - -```viml -let g:gitgutter_map_keys = 0 -``` - -Finally, you can force vim-gitgutter to update its signs across all visible buffers with `:GitGutterAll`. - -See the customisation section below for how to change the defaults. - - -### Folding - -Use the `GitGutterFold` command to fold all unchanged lines, leaving just the hunks visible. Use `zr` to unfold 3 lines of context above and below a hunk. - -Execute `GitGutterFold` a second time to restore the previous view. - -Use `gitgutter#fold#foldtext()` to augment the default `foldtext()` with an indicator of whether the folded lines have been changed. - -```viml -set foldtext=gitgutter#fold#foldtext() -``` - -For a closed fold with changed lines: - -``` -Default foldtext(): +-- 45 lines: abcdef -gitgutter#fold#foldtext(): +-- 45 lines (*): abcdef -``` - -You can use `gitgutter#fold#is_changed()` in your own `foldtext` expression to find out whether the folded lines have been changed. - - -### Status line - -Call the `GitGutterGetHunkSummary()` function from your status line to get a list of counts of added, modified, and removed lines in the current buffer. For example: - -```viml -" Your vimrc -function! GitStatus() - let [a,m,r] = GitGutterGetHunkSummary() - return printf('+%d ~%d -%d', a, m, r) -endfunction -set statusline+=%{GitStatus()} -``` - - -### Customisation - -You can customise: - -* The sign column's colours -* Whether or not the sign column is shown when there aren't any signs (defaults to no) -* How to handle non-gitgutter signs -* The signs' colours and symbols -* Line highlights -* Whether the diff is relative to the index (default) or working tree. -* The base of the diff -* Extra arguments for `git` when running `git diff` -* Extra arguments for `git diff` -* Key mappings -* Whether vim-gitgutter is on initially (defaults to on) -* Whether signs are shown (defaults to yes) -* Whether line highlighting is on initially (defaults to off) -* Whether line number highlighting is on initially (defaults to off) -* Whether vim-gitgutter runs asynchronously (defaults to yes) -* Whether to clobber or preserve non-gitgutter signs -* The priority of gitgutter's signs. -* Whether to use a floating/popup window for hunk previews -* Whether to populate the quickfix list or a location list with all hunks - -Please note that vim-gitgutter won't override any colours or highlights you've set in your colorscheme. - - -#### Sign column - -Set the `SignColumn` highlight group to change the sign column's colour. For example: - -```viml -" vim-gitgutter used to do this by default: -highlight! link SignColumn LineNr - -" or you could do this: -highlight SignColumn guibg=whatever ctermbg=whatever -``` - -By default the sign column will appear when there are signs to show and disappear when there aren't. To always have the sign column, add to your vimrc: - -```viml -" Vim 7.4.2201 -set signcolumn=yes -``` - -GitGutter can preserve or ignore non-gitgutter signs. For Vim v8.1.0614 and later you can set gitgutter's signs' priorities with `g:gitgutter_sign_priority`, so gitgutter defaults to clobbering other signs. For Neovim v0.4.0 and later you can set an expanding sign column so gitgutter again defaults to clobbering other signs. Otherwise, gitgutter defaults to preserving other signs. You can configure this with: - -```viml -let g:gitgutter_sign_allow_clobber = 1 -``` - - -#### Signs' colours and symbols - -If you or your colourscheme has defined `GitGutter*` highlight groups, the plugin will use them for the signs' colours. - -If you want the background colours to match the sign column, but don't want to update the `GitGutter*` groups yourself, you can get the plugin to do it: - -```viml -let g:gitgutter_set_sign_backgrounds = 1 -``` - -If no `GitGutter*` highlight groups exist, the plugin will check the `Diff*` highlight groups. If their foreground colours differ the plugin will use them; if not, these colours will be used: - -```viml -highlight GitGutterAdd guifg=#009900 ctermfg=2 -highlight GitGutterChange guifg=#bbbb00 ctermfg=3 -highlight GitGutterDelete guifg=#ff2222 ctermfg=1 -``` - -To customise the symbols, add the following to your `~/.vimrc`: - -```viml -let g:gitgutter_sign_added = 'xx' -let g:gitgutter_sign_modified = 'yy' -let g:gitgutter_sign_removed = 'zz' -let g:gitgutter_sign_removed_first_line = '^^' -let g:gitgutter_sign_modified_removed = 'ww' -``` - - -#### Line highlights - -Similarly to the signs' colours, set up the following highlight groups in your colorscheme or `~/.vimrc`: - -```viml -GitGutterAddLine " default: links to DiffAdd -GitGutterChangeLine " default: links to DiffChange -GitGutterDeleteLine " default: links to DiffDelete -GitGutterChangeDeleteLine " default: links to GitGutterChangeLineDefault, i.e. DiffChange -``` - -For example, in some colorschemes the `DiffText` highlight group is easier to read than `DiffChange`. You could use it like this: - -```viml -highlight link GitGutterChangeLine DiffText -``` - - -#### Line number highlights - -NOTE: This feature requires Neovim 0.3.2 or higher. - -Similarly to the signs' colours, set up the following highlight groups in your colorscheme or `~/.vimrc`: - -```viml -GitGutterAddLineNr " default: links to CursorLineNr -GitGutterChangeLineNr " default: links to CursorLineNr -GitGutterDeleteLineNr " default: links to CursorLineNr -GitGutterChangeDeleteLineNr " default: links to CursorLineNr -``` - -Maybe you think `CursorLineNr` is a bit annoying. For example, you could use `Underlined` for this: - -```viml -highlight link GitGutterChangeLineNr Underlined -``` - - -#### Whether the diff is relative to the index or working tree - -By default diffs are relative to the index. How you can make them relative to the working tree: - -```viml -let g:gitgutter_diff_relative_to = 'working_tree' -``` - - -#### The base of the diff - -By default buffers are diffed against the index. However you can diff against any commit by setting: - -```viml -let g:gitgutter_diff_base = '' -``` - -If you are looking at a previous version of a file with Fugitive (e.g. via `:0Gclog`), gitgutter sets the diff base to the parent of the current revision. - -This setting is ignored when the diffs are relative to the working tree. - - -#### Extra arguments for `git` when running `git diff` - -If you want to pass extra arguments to `git` when running `git diff`, do so like this: - -```viml -let g:gitgutter_git_args = '--git-dir-""' -``` - -#### Extra arguments for `git diff` - -If you want to pass extra arguments to `git diff`, for example to ignore whitespace, do so like this: - -```viml -let g:gitgutter_diff_args = '-w' -``` - -#### Key mappings - -To disable all key mappings: - -```viml -let g:gitgutter_map_keys = 0 -``` - -See above for configuring maps for hunk-jumping and staging/undoing. - - -#### Use a custom `grep` command - -If you use an alternative to grep, you can tell vim-gitgutter to use it here. - -```viml -" Default: -let g:gitgutter_grep = 'grep' -``` - -#### To turn off vim-gitgutter by default - -Add `let g:gitgutter_enabled = 0` to your `~/.vimrc`. - - -#### To turn off signs by default - -Add `let g:gitgutter_signs = 0` to your `~/.vimrc`. - - -#### To turn on line highlighting by default - -Add `let g:gitgutter_highlight_lines = 1` to your `~/.vimrc`. - - -#### To turn on line number highlighting by default - -Add `let g:gitgutter_highlight_linenrs = 1` to your `~/.vimrc`. - - -#### To turn off asynchronous updates - -By default diffs are run asynchronously. To run diffs synchronously instead: - -```viml -let g:gitgutter_async = 0 -``` - - -#### To use floating/popup windows for hunk previews - -Add `let g:gitgutter_preview_win_floating = 1` to your `~/.vimrc`. Note that on Vim this prevents you staging (partial) hunks via the preview window. - - -#### To load all hunks into the current window's location list instead of the quickfix list - -Add `let g:gitgutter_use_location_list = 1` to your `~/.vimrc`. - - -### Extensions - -#### Operate on every line in a hunk - -You can map an operator to do whatever you want to every line in a hunk. - -Let's say, for example, you want to remove trailing whitespace. - -```viml -function! CleanUp(...) - if a:0 " opfunc - let [first, last] = [line("'["), line("']")] - else - let [first, last] = [line("'<"), line("'>")] - endif - for lnum in range(first, last) - let line = getline(lnum) - - " clean up the text, e.g.: - let line = substitute(line, '\s\+$', '', '') - - call setline(lnum, line) - endfor -endfunction - -nmap x :set opfunc=CleanUpg@ -``` - -Then place your cursor in a hunk and type `\xic` (assuming a leader of `\`). - -Alternatively you could place your cursor in a hunk, type `vic` to select it, then `:call CleanUp()`. - - -#### Operate on every changed line in a file - -You can write a command to do whatever you want to every changed line in a file. - -```viml -function! GlobalChangedLines(ex_cmd) - for hunk in GitGutterGetHunks() - for lnum in range(hunk[2], hunk[2]+hunk[3]-1) - let cursor = getcurpos() - silent! execute lnum.a:ex_cmd - call setpos('.', cursor) - endfor - endfor -endfunction - -command -nargs=1 Glines call GlobalChangedLines() -``` - -Let's say, for example, you want to remove trailing whitespace from all changed lines: - -```viml -:Glines s/\s\+$// -``` - - -#### Cycle through hunks in current buffer - -This is like `:GitGutterNextHunk` but when it gets to the last hunk in the buffer it cycles around to the first. - -```viml -function! GitGutterNextHunkCycle() - let line = line('.') - silent! GitGutterNextHunk - if line('.') == line - 1 - GitGutterNextHunk - endif -endfunction -``` - - -#### Cycle through hunks in all buffers - -You can use `:GitGutterQuickFix` to load all hunks into the quickfix list or the current window's location list. - -Alternatively, given that`]c` and `[c` jump from one hunk to the next in the current buffer, you can use this code to jump to the next hunk no matter which buffer it's in. - -```viml -function! NextHunkAllBuffers() - let line = line('.') - GitGutterNextHunk - if line('.') != line - return - endif - - let bufnr = bufnr('') - while 1 - bnext - if bufnr('') == bufnr - return - endif - if !empty(GitGutterGetHunks()) - 1 - GitGutterNextHunk - return - endif - endwhile -endfunction - -function! PrevHunkAllBuffers() - let line = line('.') - GitGutterPrevHunk - if line('.') != line - return - endif - - let bufnr = bufnr('') - while 1 - bprevious - if bufnr('') == bufnr - return - endif - if !empty(GitGutterGetHunks()) - normal! G - GitGutterPrevHunk - return - endif - endwhile -endfunction - -nmap ]c :call NextHunkAllBuffers() -nmap [c :call PrevHunkAllBuffers() -``` - - -### FAQ - -> How can I turn off realtime updates? - -Add this to your vim configuration (in an `/after/plugin` directory): - -```viml -" .vim/after/plugin/gitgutter.vim -autocmd! gitgutter CursorHold,CursorHoldI -``` - -> I turned off realtime updates, how can I have signs updated when I save a file? - -If you really want to update the signs when you save a file, add this to your vimrc: - -```viml -autocmd BufWritePost * GitGutter -``` - -> Why can't I unstage staged changes? - -This plugin is for showing changes between the buffer and the index (and staging/undoing those changes). Unstaging a staged hunk would require showing changes between the index and HEAD, which is out of scope. - -> Why are the colours in the sign column weird? - -Your colorscheme is configuring the `SignColumn` highlight group weirdly. Please see the section above on customising the sign column. - -> What happens if I also use another plugin which uses signs (e.g. Syntastic)? - -You can configure whether GitGutter preserves or clobbers other signs using `g:gitgutter_sign_allow_clobber`. Set to `1` to clobber other signs (default on Vim >= 8.1.0614 and NeoVim >= 0.4.0) or `0` to preserve them. - - -### Troubleshooting - -#### When no signs are showing at all - -Here are some things you can check: - -* Try adding `let g:gitgutter_grep=''` to your vimrc. If it works, the problem is grep producing non-plain output; e.g. ANSI escape codes or colours. -* Verify `:echo system("git --version")` succeeds. -* Verify your git config is compatible with the version of git returned by the command above. -* Verify your Vim supports signs (`:echo has('signs')` should give `1`). -* Verify your file is being tracked by git and has unstaged changes. - -#### When the whole file is marked as added - -* If you use zsh, and you set `CDPATH`, make sure `CDPATH` doesn't include the current directory. - -#### When signs take a few seconds to appear - -* Try reducing `updatetime`, e.g. `set updatetime=100`. Note this also controls the delay before vim writes its swap file. - -#### When signs don't update after focusing Vim - -* Your terminal probably isn't reporting focus events. Either try installing [Terminus][] or set `let g:gitgutter_terminal_reports_focus=0`. For tmux, try `set -g focus-events on` in your tmux.conf. - - -### Shameless Plug - -If this plugin has helped you, or you'd like to learn more about Vim, why not check out this screencast I wrote for PeepCode: - -* [Smash Into Vim][siv] - -This was one of PeepCode's all-time top three bestsellers and is now available at Pluralsight. - -You can read reviews on my [website][airblade]. - - -### Intellectual Property - -Copyright Andrew Stewart, AirBlade Software Ltd. Released under the MIT licence. - - - [pathogen]: https://github.com/tpope/vim-pathogen - [siv]: http://pluralsight.com/training/Courses/TableOfContents/smash-into-vim - [airblade]: http://airbladesoftware.com/peepcode-vim - [terminus]: https://github.com/wincent/terminus diff --git a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/autoload/gitgutter.vim b/vim/.vim_runtime/sources_non_forked/vim-gitgutter/autoload/gitgutter.vim deleted file mode 100644 index d56a8d9..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/autoload/gitgutter.vim +++ /dev/null @@ -1,209 +0,0 @@ -" Primary functions {{{ - -function! gitgutter#all(force) abort - let visible = tabpagebuflist() - - for bufnr in range(1, bufnr('$') + 1) - if buflisted(bufnr) - let file = expand('#'.bufnr.':p') - if !empty(file) - if index(visible, bufnr) != -1 - call gitgutter#process_buffer(bufnr, a:force) - elseif a:force - call s:reset_tick(bufnr) - endif - endif - endif - endfor -endfunction - - -function! gitgutter#process_buffer(bufnr, force) abort - " NOTE a:bufnr is not necessarily the current buffer. - - if gitgutter#utility#is_active(a:bufnr) - - if has('patch-7.4.1559') - let l:Callback = function('gitgutter#process_buffer', [a:bufnr, a:force]) - else - let l:Callback = {'function': 'gitgutter#process_buffer', 'arguments': [a:bufnr, a:force]} - endif - let how = s:setup_path(a:bufnr, l:Callback) - if [how] == ['async'] " avoid string-to-number conversion if how is a number - return - endif - - if a:force || s:has_fresh_changes(a:bufnr) - - let diff = 'NOT SET' - try - let diff = gitgutter#diff#run_diff(a:bufnr, g:gitgutter_diff_relative_to, 0) - catch /gitgutter not tracked/ - call gitgutter#debug#log('Not tracked: '.gitgutter#utility#file(a:bufnr)) - catch /gitgutter diff failed/ - call gitgutter#debug#log('Diff failed: '.gitgutter#utility#file(a:bufnr)) - call gitgutter#hunk#reset(a:bufnr) - endtry - - if diff != 'async' && diff != 'NOT SET' - call gitgutter#diff#handler(a:bufnr, diff) - endif - - endif - endif -endfunction - - -function! gitgutter#disable() abort - " get list of all buffers (across all tabs) - for bufnr in range(1, bufnr('$') + 1) - if buflisted(bufnr) - let file = expand('#'.bufnr.':p') - if !empty(file) - call s:clear(bufnr) - endif - endif - endfor - - let g:gitgutter_enabled = 0 -endfunction - -function! gitgutter#enable() abort - let g:gitgutter_enabled = 1 - call gitgutter#all(1) -endfunction - -function! gitgutter#toggle() abort - if g:gitgutter_enabled - call gitgutter#disable() - else - call gitgutter#enable() - endif -endfunction - - -function! gitgutter#buffer_disable() abort - let bufnr = bufnr('') - call gitgutter#utility#setbufvar(bufnr, 'enabled', 0) - call s:clear(bufnr) -endfunction - -function! gitgutter#buffer_enable() abort - let bufnr = bufnr('') - call gitgutter#utility#setbufvar(bufnr, 'enabled', 1) - call gitgutter#process_buffer(bufnr, 1) -endfunction - -function! gitgutter#buffer_toggle() abort - if gitgutter#utility#getbufvar(bufnr(''), 'enabled', 1) - call gitgutter#buffer_disable() - else - call gitgutter#buffer_enable() - endif -endfunction - -" }}} - -function! gitgutter#setup_maps() - if !g:gitgutter_map_keys - return - endif - - " Note hasmapto() and maparg() operate on the current buffer. - - let bufnr = bufnr('') - - if gitgutter#utility#getbufvar(bufnr, 'mapped', 0) - return - endif - - if !hasmapto('(GitGutterPrevHunk)') && maparg('[c', 'n') ==# '' - nmap [c (GitGutterPrevHunk) - endif - if !hasmapto('(GitGutterNextHunk)') && maparg(']c', 'n') ==# '' - nmap ]c (GitGutterNextHunk) - endif - - if !hasmapto('(GitGutterStageHunk)', 'v') && maparg('hs', 'x') ==# '' - xmap hs (GitGutterStageHunk) - endif - if !hasmapto('(GitGutterStageHunk)', 'n') && maparg('hs', 'n') ==# '' - nmap hs (GitGutterStageHunk) - endif - if !hasmapto('(GitGutterUndoHunk)') && maparg('hu', 'n') ==# '' - nmap hu (GitGutterUndoHunk) - endif - if !hasmapto('(GitGutterPreviewHunk)') && maparg('hp', 'n') ==# '' - nmap hp (GitGutterPreviewHunk) - endif - - if !hasmapto('(GitGutterTextObjectInnerPending)') && maparg('ic', 'o') ==# '' - omap ic (GitGutterTextObjectInnerPending) - endif - if !hasmapto('(GitGutterTextObjectOuterPending)') && maparg('ac', 'o') ==# '' - omap ac (GitGutterTextObjectOuterPending) - endif - if !hasmapto('(GitGutterTextObjectInnerVisual)') && maparg('ic', 'x') ==# '' - xmap ic (GitGutterTextObjectInnerVisual) - endif - if !hasmapto('(GitGutterTextObjectOuterVisual)') && maparg('ac', 'x') ==# '' - xmap ac (GitGutterTextObjectOuterVisual) - endif - - call gitgutter#utility#setbufvar(bufnr, 'mapped', 1) -endfunction - -function! s:setup_path(bufnr, continuation) - if gitgutter#utility#has_repo_path(a:bufnr) | return | endif - - return gitgutter#utility#set_repo_path(a:bufnr, a:continuation) -endfunction - -function! s:has_fresh_changes(bufnr) abort - return getbufvar(a:bufnr, 'changedtick') != gitgutter#utility#getbufvar(a:bufnr, 'tick') -endfunction - -function! s:reset_tick(bufnr) abort - call gitgutter#utility#setbufvar(a:bufnr, 'tick', 0) -endfunction - -function! s:clear(bufnr) - call gitgutter#sign#clear_signs(a:bufnr) - call gitgutter#hunk#reset(a:bufnr) - call s:reset_tick(a:bufnr) - call gitgutter#utility#setbufvar(a:bufnr, 'path', '') -endfunction - - -" Note: -" - this runs synchronously -" - it ignores unsaved changes in buffers -" - it does not change to the repo root -function! gitgutter#quickfix() - let locations = [] - let cmd = g:gitgutter_git_executable.' '.g:gitgutter_git_args.' --no-pager '.g:gitgutter_git_args. - \ ' diff --no-ext-diff --no-color -U0 '.g:gitgutter_diff_args. ' '. g:gitgutter_diff_base - let diff = systemlist(cmd) - let lnum = 0 - for line in diff - if line =~ '^diff --git [^"]' - let paths = line[11:] - let mid = (len(paths) - 1) / 2 - let [fnamel, fnamer] = [paths[:mid-1], paths[mid+1:]] - let fname = fnamel ==# fnamer ? fnamel : fnamel[2:] - elseif line =~ '^diff --git "' - let [_, fnamel, _, fnamer] = split(line, '"') - let fname = fnamel ==# fnamer ? fnamel : fnamel[2:] - elseif line =~ '^@@' - let lnum = matchlist(line, '+\(\d\+\)')[1] - elseif lnum > 0 - call add(locations, {'filename': fname, 'lnum': lnum, 'text': line}) - let lnum = 0 - endif - endfor - if !g:gitgutter_use_location_list - call setqflist(locations) - else - call setloclist(0, locations) - endif -endfunction diff --git a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/doc/gitgutter.txt b/vim/.vim_runtime/sources_non_forked/vim-gitgutter/doc/gitgutter.txt deleted file mode 100644 index 2d744a8..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/doc/gitgutter.txt +++ /dev/null @@ -1,658 +0,0 @@ -*gitgutter.txt* A Vim plugin which shows a git diff in the gutter. - - - Vim GitGutter - - -Author: Andy Stewart -Plugin Homepage: - - -=============================================================================== -CONTENTS *gitgutter* - - Introduction ................. |gitgutter-introduction| - Installation ................. |gitgutter-installation| - Windows ................. |gitgutter-windows| - Commands ..................... |gitgutter-commands| - Mappings ..................... |gitgutter-mappings| - Autocommand .................. |gitgutter-autocommand| - Status line .................. |gitgutter-statusline| - Options ...................... |gitgutter-options| - Highlights ................... |gitgutter-highlights| - FAQ .......................... |gitgutter-faq| - TROUBLESHOOTING .............. |gitgutter-troubleshooting| - - -=============================================================================== -INTRODUCTION *gitgutter-introduction* - -GitGutter is a Vim plugin which shows a git diff in the sign column. -It shows which lines have been added, modified, or removed. You can also -preview, stage, and undo individual hunks. The plugin also provides a hunk -text object. - -The signs are always up to date and the plugin never saves your buffer. - -The name "gitgutter" comes from the Sublime Text 3 plugin which inspired this -one in 2013. - - -=============================================================================== -INSTALLATION *gitgutter-installation* - -Use your favourite package manager, or use Vim's built-in package support. - -Vim:~ -> - mkdir -p ~/.vim/pack/airblade/start - cd ~/.vim/pack/airblade/start - git clone https://github.com/airblade/vim-gitgutter.git - vim -u NONE -c "helptags vim-gitgutter/doc" -c q -< - -Neovim:~ -> - mkdir -p ~/.config/nvim/pack/airblade/start - cd ~/.config/nvim/pack/airblade/start - git clone https://github.com/airblade/vim-gitgutter.git - nvim -u NONE -c "helptags vim-gitgutter/doc" -c q -< - - -=============================================================================== -WINDOWS *gitgutter-windows* - -I recommend configuring vim-gitgutter with the full path to your git executable. -For example: -> - let g:gitgutter_git_executable = 'C:\Program Files\Git\bin\git.exe' -< -This is to avoid a problem which occurs if you have file named "git.*" (i.e. -with any extension in "PATHEXT") in your current folder. "cmd.exe" prioritises -the current folder over folders in 'PATH' and will try to execute your file -instead of the "git" binary. - - -=============================================================================== -COMMANDS *gitgutter-commands* - -Commands for turning vim-gitgutter on and off:~ - - *gitgutter-:GitGutterDisable* -:GitGutterDisable Turn vim-gitgutter off for all buffers. - - *gitgutter-:GitGutterEnable* -:GitGutterEnable Turn vim-gitgutter on for all buffers. - - *gitgutter-:GitGutterToggle* -:GitGutterToggle Toggle vim-gitgutter on or off for all buffers. - - *gitgutter-:GitGutter* -:GitGutter Update signs for the current buffer. You shouldn't - need to run this. - - *gitgutter-:GitGutterAll* -:GitGutterAll Update signs for all buffers. You shouldn't need to - run this. - - -Commands for turning signs on and off (defaults to on):~ - - *gitgutter-:GitGutterSignsEnable* -:GitGutterSignsEnable Show signs for the diff. - - *gitgutter-:GitGutterSignsDisable* -:GitGutterSignsDisable Do not show signs for the diff. - - *gitgutter-:GitGutterSignsToggle* -:GitGutterSignsToggle Toggle signs on or off. - - -Commands for turning line highlighting on and off (defaults to off):~ - - *gitgutter-:GitGutterLineHighlightsEnable* -:GitGutterLineHighlightsEnable Turn on line highlighting. - - *gitgutter-:GitGutterLineHighlightsDisable* -:GitGutterLineHighlightsDisable Turn off line highlighting. - - *gitgutter-:GitGutterLineHighlightsToggle* -:GitGutterLineHighlightsToggle Turn line highlighting on or off. - - -Commands for turning line number highlighting on and off (defaults to off):~ -NOTE: This feature requires Neovim 0.3.2 or higher. - - *gitgutter-:GitGutterLineNrHighlightsEnable* -:GitGutterLineNrHighlightsEnable Turn on line highlighting. - - *gitgutter-:GitGutterLineNrHighlightsDisable* -:GitGutterLineNrHighlightsDisable Turn off line highlighting. - - *gitgutter-:GitGutterLineNrHighlightsToggle* -:GitGutterLineNrHighlightsToggle Turn line highlighting on or off. - - -Commands for jumping between hunks:~ - - *gitgutter-:GitGutterNextHunk* -:GitGutterNextHunk Jump to the next [count] hunk. - - *gitgutter-:GitGutterPrevHunk* -:GitGutterPrevHunk Jump to the previous [count] hunk. - - *gitgutter-:GitGutterQuickFix* -:GitGutterQuickFix Load all hunks into the |quickfix| list. Note this - ignores any unsaved changes in your buffers. The - |g:gitgutter_use_location_list| option can be set to - populate the location list of the current window instead - - -Commands for operating on a hunk:~ - - *gitgutter-:GitGutterStageHunk* -:GitGutterStageHunk Stage the hunk the cursor is in. Use a visual selection - to stage part of an (additions-only) hunk; or use a - range. - - To stage part of any hunk, first |GitGutterPreviewHunk| - it, then move to the preview window, delete the lines - you do not want to stage, and |write| or - |GitGutterStageHunk|. - - *gitgutter-:GitGutterUndoHunk* -:GitGutterUndoHunk Undo the hunk the cursor is in. - - *gitgutter-:GitGutterPreviewHunk* -:GitGutterPreviewHunk Preview the hunk the cursor is in. - Use |:pclose| or |CTRL-W_CTRL-Z| to close the preview - window. - - To stage part of the hunk, move to the preview window, - delete any lines you do not want to stage, and - |GitGutterStageHunk|. - -Commands for folds:~ - - *gitgutter-:GitGutterFold* -:GitGutterFold Fold all unchanged lines. Execute again to undo. - - -=============================================================================== -AUTOCOMMANDS *gitgutter-autocommands* - -User GitGutter~ - -After updating a buffer's signs vim-gitgutter fires a |User| |autocmd| with the -event GitGutter. You can listen for this event, for example: -> - autocmd User GitGutter call updateMyStatusLine() -< -A dictionary `g:gitgutter_hook_context` is made available during its execution, -which contains an entry `bufnr` that contains the buffer number being updated. - -User GitGutterStage~ - -After staging a hunk or part of a hunk vim-gitgutter fires a |User| |autocmd| -with the event GitGutterStage. Staging always happens in the current buffer. - -=============================================================================== -MAPPINGS *gitgutter-mappings* - -You can disable all these mappings with: -> - let g:gitgutter_map_keys = 0 -< - -Hunk operations:~ - -These can be repeated with `.` if you have vim-repeat installed. - - *gitgutter-hp* -hp Preview the hunk under the cursor. - - *gitgutter-hs* -hs Stage the hunk under the cursor. - - *gitgutter-hu* -hu Undo the hunk under the cursor. - -You can change these mappings like this: -> - nmap ghp (GitGutterPreviewHunk) - nmap ghs (GitGutterStageHunk) - nmap ghu (GitGutterUndoHunk) -< - -Hunk jumping:~ - - *gitgutter-]c* -]c Jump to the next [count] hunk. - - *gitgutter-[c* -[c Jump to the previous [count] hunk. - -You can change these mappings like this: -> - nmap [c (GitGutterPrevHunk) - nmap ]c (GitGutterNextHunk) -< - -Hunk text object:~ - - *gitgutter-ic* *gitgutter-ac* *gitgutter-text-object* -"ic" operates on the current hunk's lines. "ac" does the same but also includes -trailing empty lines. -> - omap ic (GitGutterTextObjectInnerPending) - omap ac (GitGutterTextObjectOuterPending) - xmap ic (GitGutterTextObjectInnerVisual) - xmap ac (GitGutterTextObjectOuterVisual) -< - - -=============================================================================== -STATUS LINE *gitgutter-statusline* - - -Call the `GitGutterGetHunkSummary()` function from your status line to get a -list of counts of added, modified, and removed lines in the current buffer. -For example: -> - " Your vimrc - function! GitStatus() - let [a,m,r] = GitGutterGetHunkSummary() - return printf('+%d ~%d -%d', a, m, r) - endfunction - set statusline+=%{GitStatus()} -< - - -=============================================================================== -OPTIONS *gitgutter-options* - -The most important option is 'updatetime' which determines how long (in -milliseconds) the plugin will wait after you stop typing before it updates the -signs. Vim's default is 4000. I recommend 100. Note this also controls how -long vim waits before writing its swap file. - -Most important option:~ - - 'updatetime' - -Git:~ - - |g:gitgutter_git_executable| - |g:gitgutter_git_args| - |g:gitgutter_diff_args| - |g:gitgutter_diff_relative_to| - |g:gitgutter_diff_base| - -Grep:~ - - |g:gitgutter_grep| - -Signs:~ - - |g:gitgutter_signs| - |g:gitgutter_highlight_lines| - |g:gitgutter_highlight_linenrs| - |g:gitgutter_max_signs| - |g:gitgutter_sign_priority| - |g:gitgutter_sign_allow_clobber| - |g:gitgutter_sign_added| - |g:gitgutter_sign_modified| - |g:gitgutter_sign_removed| - |g:gitgutter_sign_removed_first_line| - |g:gitgutter_sign_modified_removed| - |g:gitgutter_set_sign_backgrounds| - -Hunk previews:~ - - |g:gitgutter_preview_win_floating| - -Terminal:~ - - |g:gitgutter_terminal_reports_focus| - -General:~ - - |g:gitgutter_enabled| - |g:gitgutter_map_keys| - |g:gitgutter_async| - |g:gitgutter_log| - |g:gitgutter_use_location_list| - - - *g:gitgutter_preview_win_location* -Default: 'bo' - -This option determines where the preview window pops up as a result of the -:GitGutterPreviewHunk command. Other plausible values are 'to', 'bel', 'abo'. -See the end of the |opening-window| docs. - - *g:gitgutter_git_executable* -Default: 'git' - -This option determines what git binary to use. Set this if git is not on your -path. - - *g:gitgutter_git_args* -Default: empty - -Use this option to pass any extra arguments to git when running git-diff. -For example: -> - let g:gitgutter_git_args = '--git-dir=""' -< - - *g:gitgutter_diff_args* -Default: empty - -Use this option to pass any extra arguments to git-diff. For example: -> - let g:gitgutter_diff_args = '-w' -< - - *g:gitgutter_diff_relative_to* -Default: empty - -By default buffers are diffed against the index. Use this option to diff against -the working tree. For example: -> - let g:gitgutter_diff_relative_to = 'working_tree' -< - - *g:gitgutter_diff_base* -Default: empty - -By default buffers are diffed against the index. Use this option to diff against -a revision instead. For example: -> - let g:gitgutter_diff_base = '' -< - -If you are looking at a previous version of a file with Fugitive (e.g. -via :0Gclog), gitgutter sets the diff base to the parent of the current revision. - -This setting is ignore when the diff is relative to the working tree -(|g:gitgutter_diff_relative_to|). - - *g:gitgutter_grep* -Default: 'grep' - -The plugin pipes the output of git-diff into grep to minimise the amount of data -vim has to process. Set this option if grep is not on your path. - -grep must produce plain-text output without any ANSI escape codes or colours. -Use this option to turn off colours if necessary. -> - let g:gitgutter_grep = 'grep --color=never' -< -If you do not want to use grep at all (perhaps to debug why signs are not -showing), set this option to an empty string: -> - let g:gitgutter_grep = '' -< - - *g:gitgutter_signs* -Default: 1 - -Determines whether or not to show signs. - - *g:gitgutter_highlight_lines* -Default: 0 - -Determines whether or not to show line highlights. - - *g:gitgutter_highlight_linenrs* -Default: 0 - -Determines whether or not to show line number highlights. - - *g:gitgutter_max_signs* -Default: 500 (Vim < 8.1.0614, Neovim < 0.4.0) - -1 (otherwise) - -Sets the maximum number of signs to show in a buffer. Vim is slow at updating -signs, so to avoid slowing down the GUI the number of signs is capped. When -the number of changed lines exceeds this value, the plugin removes all signs -and displays a warning message. - -When set to -1 the limit is not applied. - - *g:gitgutter_sign_priority* -Default: 10 - -Sets the |sign-priority| gitgutter assigns to its signs. - - *g:gitgutter_sign_allow_clobber* -Default: 0 (Vim < 8.1.0614, Neovim < 0.4.0) - 1 (otherwise) - -Determines whether gitgutter preserves non-gitgutter signs. When 1, gitgutter -will not preserve non-gitgutter signs. - - *g:gitgutter_sign_added* - *g:gitgutter_sign_modified* - *g:gitgutter_sign_removed* - *g:gitgutter_sign_removed_first_line* - *g:gitgutter_sign_modified_removed* -Defaults: -> - let g:gitgutter_sign_added = '+' - let g:gitgutter_sign_modified = '~' - let g:gitgutter_sign_removed = '_' - let g:gitgutter_sign_removed_first_line = '‾' - let g:gitgutter_sign_modified_removed = '~_' -< -You can use unicode characters but not images. Signs must not take up more than -2 columns. - - *g:gitgutter_set_sign_backgrounds* -Default: 0 - -Only applies to existing GitGutter* highlight groups. See -|gitgutter-highlights|. - -Controls whether to override the signs' background colours to match the -|hl-SignColumn|. - - *g:gitgutter_preview_win_floating* -Default: 0 (Vim) - 0 (NeoVim which does not support floating windows) - 1 (NeoVim which does support floating windows) - -Whether to use floating/popup windows for hunk previews. Note that if you use -popup windows on Vim you will not be able to stage partial hunks via the -preview window. - - *g:gitgutter_terminal_reports_focus* -Default: 1 - -Normally the plugin uses |FocusGained| to force-update all buffers when Vim -receives focus. However some terminals do not report focus events and so the -|FocusGained| autocommand never fires. - -If this applies to you, either install something like Terminus -(https://github.com/wincent/terminus) to make |FocusGained| work or set this -option to 0. - -If you use tmux, try this in your tmux.conf: -> - set -g focus-events on -< - -When this option is 0, the plugin force-updates the buffer on |BufEnter| -(instead of only updating if the buffer's contents has changed since the last -update). - - *g:gitgutter_enabled* -Default: 1 - -Controls whether or not the plugin is on at startup. - - *g:gitgutter_map_keys* -Default: 1 - -Controls whether or not the plugin provides mappings. See |gitgutter-mappings|. - - *g:gitgutter_async* -Default: 1 - -Controls whether or not diffs are run in the background. This has no effect if -your Vim does not support background jobs. - - *g:gitgutter_log* -Default: 0 - -When switched on, the plugin logs to gitgutter.log in the directory where it is -installed. Additionally it logs channel activity to channel.log. - - *g:gitgutter_use_location_list* -Default: 0 - -When switched on, the :GitGutterQuickFix command populates the location list -of the current window instead of the global quickfix list. - - -=============================================================================== -HIGHLIGHTS *gitgutter-highlights* - -To change the signs' colours, specify these highlight groups in your |vimrc|: -> - highlight GitGutterAdd guifg=#009900 ctermfg=2 - highlight GitGutterChange guifg=#bbbb00 ctermfg=3 - highlight GitGutterDelete guifg=#ff2222 ctermfg=1 -< - -See |highlight-guifg| and |highlight-ctermfg| for the values you can use. - -If you do not like the signs' background colours and you do not want to update -the GitGutter* highlight groups yourself, you can get the plugin to do it -|g:gitgutter_set_sign_backgrounds|. - -To change the line highlights, set up the following highlight groups in your -colorscheme or |vimrc|: -> - GitGutterAddLine " default: links to DiffAdd - GitGutterChangeLine " default: links to DiffChange - GitGutterDeleteLine " default: links to DiffDelete - GitGutterChangeDeleteLine " default: links to GitGutterChangeLineDefault -< - -For example, to use |hl-DiffText| instead of |hl-DiffChange|: -> - highlight link GitGutterChangeLine DiffText -< -To change the line number highlights, set up the following highlight groups in -your colorscheme or |vimrc|: -> - GitGutterAddLineNr " default: links to CursorLineNr - GitGutterChangeLineNr " default: links to CursorLineNr - GitGutterDeleteLineNr " default: links to CursorLineNr - GitGutterChangeDeleteLineNr " default: links to CursorLineNr -< -For example, to use |hl-Underlined| instead of |hl-CursorLineNr|: -> - highlight link GitGutterChangeLineNr Underlined -< - - -=============================================================================== -FAQ *gitgutter-faq* - -a. How do I turn off realtime updates? - - Add this to your vim configuration in an |after-directory|: -> - autocmd! gitgutter CursorHold,CursorHoldI -< - -b. I turned off realtime updates, how can I have signs updated when I save a - file? - - If you really want to update the signs when you save a file, add this to your - |vimrc|: -> - autocmd BufWritePost * GitGutter -< - -c. Why can't I unstage staged changes? - - This plugin is for showing changes between the working tree and the index - (and staging/undoing those changes). Unstaging a staged hunk would require - showing changes between the index and HEAD, which is out of scope. - -d. Why are the colours in the sign column weird? - - Your colorscheme is configuring the |hl-SignColumn| highlight group weirdly. - Here are two ways you could change the colours: -> - highlight! link SignColumn LineNr - highlight SignColumn guibg=whatever ctermbg=whatever -< - -e. What happens if I also use another plugin which uses signs (e.g. Syntastic)? - - Vim only allows one sign per line. Vim-gitgutter will not interfere with - signs it did not add. - - -=============================================================================== -TROUBLESHOOTING *gitgutter-troubleshooting* - -When no signs are showing at all:~ - -1. Try bypassing grep with: -> - let g:gitgutter_grep = '' -< - If it works, the problem is grep outputting ANSI escape codes. Use this - option to pass arguments to grep to turn off the escape codes. - -2. Verify git is on your path: -> - :echo system('git --version') -< - -3. Verify your git config is compatible with the version of git return by the - command above. - -4. Verify your Vim supports signs. The following should give 1: -> - :echo has('signs') -< - -5. Check whether the plugin thinks git knows about your file: -> - :echo getbufvar('','gitgutter').path -< - If the result is -2, the plugin thinks your file is not tracked by git. - - -When the whole file is marked as added:~ - -If you use zsh, and you set "CDPATH", make sure "CDPATH" does not include the -current directory. - - -When signs take a few seconds to appear:~ - -Try reducing 'updatetime': -> - set updatetime=100 -< - -Note this also controls how long vim waits before writing its swap file. - - -When signs don't update after focusing Vim:~ - -Your terminal probably isn't reporting focus events. Either try installing -Terminus (https://github.com/wincent/terminus) or set: -> - let g:gitgutter_terminal_reports_focus = 0 -< - diff --git a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/plugin/gitgutter.vim b/vim/.vim_runtime/sources_non_forked/vim-gitgutter/plugin/gitgutter.vim deleted file mode 100644 index 1b62403..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/plugin/gitgutter.vim +++ /dev/null @@ -1,285 +0,0 @@ -scriptencoding utf-8 - -if exists('g:loaded_gitgutter') || !has('signs') || &cp - finish -endif -let g:loaded_gitgutter = 1 - -" Initialisation {{{ - -if v:version < 703 || (v:version == 703 && !has("patch105")) - call gitgutter#utility#warn('requires Vim 7.3.105') - finish -endif - -function! s:set(var, default) abort - if !exists(a:var) - if type(a:default) - execute 'let' a:var '=' string(a:default) - else - execute 'let' a:var '=' a:default - endif - endif -endfunction - -function! s:obsolete(var) - if exists(a:var) - call gitgutter#utility#warn(a:var.' is obsolete and has no effect.') - endif -endfunction - - -call s:set('g:gitgutter_preview_win_location', 'bo') -if exists('*nvim_open_win') - call s:set('g:gitgutter_preview_win_floating', 1) -else - call s:set('g:gitgutter_preview_win_floating', 0) -endif -call s:set('g:gitgutter_enabled', 1) -if exists('*sign_unplace') - call s:set('g:gitgutter_max_signs', -1) -else - call s:set('g:gitgutter_max_signs', 500) -endif -call s:set('g:gitgutter_signs', 1) -call s:set('g:gitgutter_highlight_lines', 0) -call s:set('g:gitgutter_highlight_linenrs', 0) -call s:set('g:gitgutter_sign_priority', 10) -" Nvim 0.4.0 has an expanding sign column -" The sign_place() function supports sign priority. -if (has('nvim-0.4.0') || exists('*sign_place')) && !exists('g:gitgutter_sign_allow_clobber') - let g:gitgutter_sign_allow_clobber = 1 -endif -call s:set('g:gitgutter_sign_allow_clobber', 0) -call s:set('g:gitgutter_set_sign_backgrounds', 0) -call s:set('g:gitgutter_sign_added', '+') -call s:set('g:gitgutter_sign_modified', '~') -call s:set('g:gitgutter_sign_removed', '_') - -if gitgutter#utility#supports_overscore_sign() - call s:set('g:gitgutter_sign_removed_first_line', '‾') -else - call s:set('g:gitgutter_sign_removed_first_line', '_^') -endif - -call s:set('g:gitgutter_sign_removed_above_and_below', '[') -call s:set('g:gitgutter_sign_modified_removed', '~_') -call s:set('g:gitgutter_git_args', '') -call s:set('g:gitgutter_diff_relative_to', 'index') -call s:set('g:gitgutter_diff_args', '') -call s:set('g:gitgutter_diff_base', '') -call s:set('g:gitgutter_map_keys', 1) -call s:set('g:gitgutter_terminal_reports_focus', 1) -call s:set('g:gitgutter_async', 1) -call s:set('g:gitgutter_log', 0) -call s:set('g:gitgutter_use_location_list', 0) - -call s:set('g:gitgutter_git_executable', 'git') -if !executable(g:gitgutter_git_executable) - if g:gitgutter_enabled - call gitgutter#utility#warn('cannot find git. Please set g:gitgutter_git_executable.') - endif - finish -endif - -let default_grep = 'grep' -call s:set('g:gitgutter_grep', default_grep) -if !empty(g:gitgutter_grep) - if executable(split(g:gitgutter_grep)[0]) - if $GREP_OPTIONS =~# '--color=always' - let g:gitgutter_grep .= ' --color=never' - endif - else - if g:gitgutter_grep !=# default_grep - call gitgutter#utility#warn('cannot find '.g:gitgutter_grep.'. Please check g:gitgutter_grep.') - endif - let g:gitgutter_grep = '' - endif -endif - -call gitgutter#highlight#define_highlights() -call gitgutter#highlight#define_signs() - -" Prevent infinite loop where: -" - executing a job in the foreground launches a new window which takes the focus; -" - when the job finishes, focus returns to gvim; -" - the FocusGained event triggers a new job (see below). -if gitgutter#utility#windows() && !(g:gitgutter_async && gitgutter#async#available()) - set noshelltemp -endif - -" }}} - -" Primary functions {{{ - -command! -bar GitGutterAll call gitgutter#all(1) -command! -bar GitGutter call gitgutter#process_buffer(bufnr(''), 1) - -command! -bar GitGutterDisable call gitgutter#disable() -command! -bar GitGutterEnable call gitgutter#enable() -command! -bar GitGutterToggle call gitgutter#toggle() - -command! -bar GitGutterBufferDisable call gitgutter#buffer_disable() -command! -bar GitGutterBufferEnable call gitgutter#buffer_enable() -command! -bar GitGutterBufferToggle call gitgutter#buffer_toggle() - -command! -bar GitGutterQuickFix call gitgutter#quickfix() - -" }}} - -" Line highlights {{{ - -command! -bar GitGutterLineHighlightsDisable call gitgutter#highlight#line_disable() -command! -bar GitGutterLineHighlightsEnable call gitgutter#highlight#line_enable() -command! -bar GitGutterLineHighlightsToggle call gitgutter#highlight#line_toggle() - -" }}} - -" 'number' column highlights {{{ -command! -bar GitGutterLineNrHighlightsDisable call gitgutter#highlight#linenr_disable() -command! -bar GitGutterLineNrHighlightsEnable call gitgutter#highlight#linenr_enable() -command! -bar GitGutterLineNrHighlightsToggle call gitgutter#highlight#linenr_toggle() -" }}} - -" Signs {{{ - -command! -bar GitGutterSignsEnable call gitgutter#sign#enable() -command! -bar GitGutterSignsDisable call gitgutter#sign#disable() -command! -bar GitGutterSignsToggle call gitgutter#sign#toggle() - -" }}} - -" Hunks {{{ - -command! -bar -count=1 GitGutterNextHunk call gitgutter#hunk#next_hunk() -command! -bar -count=1 GitGutterPrevHunk call gitgutter#hunk#prev_hunk() - -command! -bar -range=% GitGutterStageHunk call gitgutter#hunk#stage(,) -command! -bar GitGutterUndoHunk call gitgutter#hunk#undo() -command! -bar GitGutterPreviewHunk call gitgutter#hunk#preview() - -" Hunk text object -onoremap (GitGutterTextObjectInnerPending) :call gitgutter#hunk#text_object(1) -onoremap (GitGutterTextObjectOuterPending) :call gitgutter#hunk#text_object(0) -xnoremap (GitGutterTextObjectInnerVisual) :call gitgutter#hunk#text_object(1) -xnoremap (GitGutterTextObjectOuterVisual) :call gitgutter#hunk#text_object(0) - - -" Returns the git-diff hunks for the file or an empty list if there -" aren't any hunks. -" -" The return value is a list of lists. There is one inner list per hunk. -" -" [ -" [from_line, from_count, to_line, to_count], -" [from_line, from_count, to_line, to_count], -" ... -" ] -" -" where: -" -" `from` - refers to the staged file -" `to` - refers to the working tree's file -" `line` - refers to the line number where the change starts -" `count` - refers to the number of lines the change covers -function! GitGutterGetHunks() - let bufnr = bufnr('') - return gitgutter#utility#is_active(bufnr) ? gitgutter#hunk#hunks(bufnr) : [] -endfunction - -" Returns an array that contains a summary of the hunk status for the current -" window. The format is [ added, modified, removed ], where each value -" represents the number of lines added/modified/removed respectively. -function! GitGutterGetHunkSummary() - return gitgutter#hunk#summary(winbufnr(0)) -endfunction - -" }}} - -" Folds {{{ - -command! -bar GitGutterFold call gitgutter#fold#toggle() - -" }}} - -command! -bar GitGutterDebug call gitgutter#debug#debug() - -" Maps {{{ - -nnoremap (GitGutterNextHunk) &diff ? ']c' : ":\execute v:count1 . 'GitGutterNextHunk'\" -nnoremap GitGutterNextHunk &diff ? ']c' : ":\call gitgutter#utility#warn('please change your map \Plug>GitGutterNextHunk to \Plug>(GitGutterNextHunk)')\" -nnoremap (GitGutterPrevHunk) &diff ? '[c' : ":\execute v:count1 . 'GitGutterPrevHunk'\" -nnoremap GitGutterPrevHunk &diff ? '[c' : ":\call gitgutter#utility#warn('please change your map \Plug>GitGutterPrevHunk to \Plug>(GitGutterPrevHunk)')\" - -xnoremap (GitGutterStageHunk) :GitGutterStageHunk -xnoremap GitGutterStageHunk :call gitgutter#utility#warn('please change your map Plug>GitGutterStageHunk to Plug>(GitGutterStageHunk)') -nnoremap (GitGutterStageHunk) :GitGutterStageHunk -nnoremap GitGutterStageHunk :call gitgutter#utility#warn('please change your map Plug>GitGutterStageHunk to Plug>(GitGutterStageHunk)') -nnoremap (GitGutterUndoHunk) :GitGutterUndoHunk -nnoremap GitGutterUndoHunk :call gitgutter#utility#warn('please change your map Plug>GitGutterUndoHunk to Plug>(GitGutterUndoHunk)') -nnoremap (GitGutterPreviewHunk) :GitGutterPreviewHunk -nnoremap GitGutterPreviewHunk :call gitgutter#utility#warn('please change your map Plug>GitGutterPreviewHunk to Plug>(GitGutterPreviewHunk)') - -" }}} - -function! s:on_bufenter() - call gitgutter#setup_maps() - - if exists('t:gitgutter_didtabenter') && t:gitgutter_didtabenter - let t:gitgutter_didtabenter = 0 - call gitgutter#all(!g:gitgutter_terminal_reports_focus) - else - call gitgutter#process_buffer(bufnr(''), !g:gitgutter_terminal_reports_focus) - endif -endfunction - -" Autocommands {{{ - -augroup gitgutter - autocmd! - - autocmd TabEnter * let t:gitgutter_didtabenter = 1 - - autocmd BufEnter * call s:on_bufenter() - - autocmd CursorHold,CursorHoldI * call gitgutter#process_buffer(bufnr(''), 0) - if exists('*timer_start') && has('lambda') - autocmd FileChangedShellPost * call timer_start(1, {-> gitgutter#process_buffer(bufnr(''), 1)}) - else - autocmd FileChangedShellPost * call gitgutter#process_buffer(bufnr(''), 1) - endif - - " Ensure that all buffers are processed when opening vim with multiple files, e.g.: - " - " vim -o file1 file2 - autocmd VimEnter * if winnr() != winnr('$') | call gitgutter#all(0) | endif - - autocmd ShellCmdPost * call gitgutter#all(1) - autocmd BufLeave term://* call gitgutter#all(1) - - autocmd User FugitiveChanged call gitgutter#all(1) - - autocmd BufFilePre * GitGutterBufferDisable - autocmd BufFilePost * GitGutterBufferEnable - - " Handle all buffers when focus is gained, but only after it was lost. - " FocusGained gets triggered on startup with Neovim at least already. - " Therefore this tracks also if it was lost before. - let s:focus_was_lost = 0 - autocmd FocusGained * if s:focus_was_lost | let focus_was_lost = 0 | call gitgutter#all(1) | endif - autocmd FocusLost * let s:focus_was_lost = 1 - - if exists('##VimResume') - autocmd VimResume * call gitgutter#all(1) - endif - - autocmd ColorScheme * call gitgutter#highlight#define_highlights() - - " Disable during :vimgrep - autocmd QuickFixCmdPre *vimgrep* let g:gitgutter_enabled = 0 - autocmd QuickFixCmdPost *vimgrep* let g:gitgutter_enabled = 1 -augroup END - -" }}} - -" vim:set et sw=2 fdm=marker: diff --git a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/screenshot.png b/vim/.vim_runtime/sources_non_forked/vim-gitgutter/screenshot.png deleted file mode 100644 index 8a0d66b9db7ace319a71e7ef74062e3431eedaa8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 601382 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%0AS$(xA*t+lD+;NxTnFm+D41WUOLF+4 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%0D0hGf5ZH`;R%<0%nhfh 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ⅈ4sFwVw8DfiT^rc`0-yX8(mo-0=m{k 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

    i? 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 z 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 I6R)j<5QqCa@(6_XIoy`+3$Lim8Z`T z+$MZ7E6W!)Rb(Z$^E7uZ&bLysF5@|;`&wf+#$pV-vyb@ezQ_Ga+3KpuydWJ#pG?_ImQAqtC}<$l+W|DhKf3O7csu z518LC0q?W!QE#`&?Vk?DbL`i^A@ax3hj{=}Y3?6}E# zp5&B#;s2-Ce9@TK!0)%$T)NN{L+t@L<|1n8Fgs|!u9rZGJ~ybgK^5Ff zUT6LoP}igwKX?Q?G39yWwtLomU&cIxxR?=sbczyt8Z&;FwR!g@F%w-Z0f>pH%eI^W zWIQV6A|6s1dAX@I$|zMyB_!QBofIvtyCCHlFadW#GxM=Z3Oc>kJpTP4zP~ zQUoq(>~3RR)wJ2zbu)0?o{0vz7gE`p)6-pWw(@Nq()zRt#+rimSVqG zNmu+E>=AvGEZdW5s~lVzBl<89owGUFfxsEu9W2g?W^_2&Rq!BSYts}i8|Rvq_U=}d z4_@5Q>Nwl<0+Yj2@HIKV`+X24}f%Jiu6!O7gUx2w|} zUTT}C<>qr9;Aqkt)&I3Pck*#Xia;Y;NY+vHrye9?i!t)ELPy>Zhj*>01e6=BgX)DA zUV0S;dzzqnTUE+c!yzt@daD(@&$krhr_aJjuOaE~Fq_=s0LHr|z*0OziOI35jcIEKf?*t3bw^v)yXBs%bMLm_ELBtk zC8R?$O~y;^4I7t_sHO2TH+!rtMEq;f)KtX5T9|e5xBUha_h!@Kdhv4P+fXTa9J$uz zd2ijVARMCs7r1<-G-6iW<9#p@oi^3fS${VP|5Q+uhXX0&Yo$6a6BHx4)=-jcWO9;h zLa26`#GL6&joSx!JB5sX%%s!@a`>uUtpyrC!&#~3xx=d-{V^;=NomrN3_g9?`n>?Q zesQxjqxv}(_!84avrpv8^w}pJDsv9sGeW8)neL8#3BDQ%lqVk~6GU(!ZHa5={x@XJ zw17H15Q{2{q^X1D)i4&HjLLjsf-lSLLq2^}Yxyy4xll1RYcb2CDJVM8oF%+VdaYmPp=QnS)Gd z_~m|iWCv4Jdw*RRlplZ58MYy1 zStYF6>f}+E%jMolL3P>1^!Fp|8B5Sm4fAeowNbc4&JD%q-Mj@bmm}gGONY1&Wes|b(LAK{6m4U9eD30q`RkJK?q^l#xQXU z?<-1qYVhv1!8_trNpVp^z5RWb0n*XOifY}O1pwlJ7ZB$I3t0Q4knO8uCy)!+70E@9 zU$CCE@oZ7#fDS$DV)s&TD^!7z$*ngBf(u_I2+9a6-0^u%#rs*8+vtuN%V#y3k9_ZI zsh{!ED_iKtl(*Z1qkc4fw@w@d2p!lT*%$5Ez>1~f_lSqRrL`P_fg=TMP$|~aIp!zh9H6hk20|wEO{6m*lci$D)<^KHg({% z8Y|a$taNTm@Fu8lY^r()y-iZ^S}iwx5ZG@091w$4n@XcBO!095UjP^2N+Qk^*5(>ha3m zu@@%~52w|vltaXZzEOYNowEN)GA_J#De+IcD1Fcq=SZg6)U9df1g(NjK16qeTs>E? zZjl}3e(*l_UFtIV*1eh~izpZ(r0z|)l(=UA@-?B;Y1#&Ubap;ofpM;ve?~B z)EM;ZK5!x22<~EWa6R6hEig7z!NDgM3t@O(uDXKi@3ba)h_egV7~|AX*Z3sFY-|GB zui16Ix-BRf`AA~-_M)2ekL55!!)MRClh(4HJ|k_vo?%e^(?sA*oy5d0a>HifTq9t? zi45M^vWc;t5*H7rn}&R=ID@a^duGMh$mrOvYM8tk)_B+$*8BbEDb2Vg&=joo&IdLz zsRyw^vkx~WgL3ssZ`a_mdh?tiN=0%}Ns_D8ckbkZ9D~?&#O5Mt$xVLZ4+e16WSN&q zbwBvX(?0kzsDH+<2B&1F9(qA;=~|EUt^&L9P%-Qn9d)l=(L-k*7*xK_rngnjtz$S+ zYoYp0Ur%d_0>_Bkg-Sbvhll%xz7NAcEwyaYth_b5 z1eV&&be>V(D^COJ*|+Z{DkFDjwyCy3*hZyonQ}=qRexZTr=?Jt-GWg;6I7B2W<#lQ zXc;bu+8zAJ?7i5A5(Q=?l+mT_$+h@x^^0HAzZ}j>2Ie7>db`$)zooM_#8^j`$Sn5PaVUgyC^LTN`(xmh{wmoQv;=MP@OLnw8wuC*)t` z;J>K4RkEvYprPPl6D8|b@<0zybG7yyb`^GUq5VnW~L&77^e`=*7gSy+C z+scr$2k|2WQopTaI%QhLel4x5E`b4UdNlfy_HcueZ@ovjAr$VJ=OA{{0?4=Uk z(hJ84nIVlA=ewD_t(UFSbj*Bc$$Npb7lqbGn&i`KRn6~a?EIdNDo`7OAZxXQ2ooz8k?MGW zd?|KDmoBLmB`R{VB8i#d4gq zyWVPMbV@6B8TvKUYrz-RpzXFdE(k&{VuTOOqRYC$aalJbIyw|C@S@vXzgUbE_BuO6 zH^v28Um~pvqZXFqYe#LX&~GIc?~=>W+|hh-`vy_y3z{UMdqvH#+zDSE>G4 z-!ST6!fMOhpzf_XTE+#5t(4mP`D_SnyOF=>A9f1N=;=T0vg(*w*c!A0W%i}cos)+&;PR%6 z!*@>XP}<7C z=?X9cE*K7^!x6{|swJ|6LgfHML{X}issnW=+fTXwWnHJY*7%>+b<6W^CCxj9lnMCI zTs_lBVx4blK*arM?nmMAR5H1_mxKYxV;EkA#Tb`$mJx zu^v!W$HXJMJ9HiEFzkgtg&(q{>tAj(i(vkNBD<>jmr-ng9Nz3>UX8 zw_Z@BC&Frmh5Ms)hDv0S>E=Z>lqf+&(34-UsuCu(xQ zOrM>8KNfpFFN}fmfVKY|c*a|wztJ4cQ>oYkVay`wmyUe+Z#}W`UY1FI=$dGk-E83A z8+MM51%NT-Rl@jV?{$~#uXS59d;9$H{%-ua>FfW{I7w8$z7|{w(j7QJFqYg&_9Ymf zqn&w0DuoNw0Z=ijeqtwJkc?lwvH*d(&)-?b zqby$!&c|EUk)pA;UYd{vQP*|5d3>S|V@k4mWiYBemIx5BmNl|I33%XLlS;L1f;TIFc5lrcr?G|ZW9^km#I(<(DpMTUmk%RE0Z@b8B zw66L(Ehuc@bn@kU6;MVPy2w->4LuuZH(tp~o}E;@QfAi#k@AOLOyldT2Rpfz*}xp0 z_uMN97|tG?{FeS)*R2fxqb1X}10{z0J+73a8D9*P+`|?Lm}{%x_WY&;j=b>$ebvyB z?|dnMsdpI@xMuVzT|$h+xhHf3n1eSVY^HXO#e5gUEbb>DZgG>=L815rdO@Ou;Vlxi zODiSptM{}&>8MsR76hxsm`@ufZi2;~tmvoqX2aChC6+ih_Po7pCB;8n_)WWs*%(xZ z*~RozoccRNp9Z8%$?y||y;|o#xX6|sGg;$rN#Q5<+~3m)w9{fVL1*3(4r*h1jh$&% z@N)Tz-JCIJ(q}3gRqgiVilcovvIQ+X=_>V_jq>u5t@?_};*CYKL9$cofU)F#m#S!q z6ttfpeujg;m;CZa&~7U84=af0@Z8!zEkp2icdWz`Q|+?;V;&aJQ~vOog}?vyUlP#x`K?NqZZdfHZDq5cOjtAv;k z-qSM-<@%t>b69n~%4CMk8)wErIsisq7Z|{=TxUYg3Gnw(`W4n|^597I>>ddd&i{%$ zUi}Xzx!TB|PV#8xNKx_5U9V}tN&a~R(5M*fap#nCA2yhX1y^?E-=&WHBZCgXQ*+#H zB_UlPOwKCh?tD8QD#fF$m^BC7F>Me-OoVr!le8}S+x4D5qHf`A@10S?n-^(VAbXTD*2WOdO+1&-BfGcR9xhi!25NB*alss|fkE7KEmiMq?f$$|&hz zzq39H9vm!&cHdWM3vSLP?yBV@+!LkvFN8QWWju7I{w}#w>Fbr>7ah3B&_P!f8pwOeyeMGVabf2~VXMinx6H~hz1 zxCF-k@K8*agi(~vW$3GS-JJjB|06p7SCz(g)mdUm+LUW}%o)oUC0_{=eRMyT+ehQQ zdA+u$Uj@OcsWQXTw)&lv2HkjP7{f6!zEFd4I0815PP?GR*eu7NQ4oJp@Kwe6-W0R3hmmfb;JanE+SoUqC?g^*B^H>l=kG;;miukO?b2C%-5@(m!7 z2TVpKM|`5p^?pnWe}C;(Gf5jePPC+s za`E0xrx;Usy*UAmMCB`Eoe7Av2mq}o_2+NF0SFSAEb!BE!s-))~S{dh@{49rdLD``~2KcQianRzlTbBDdE;78(cNuIW<-Ko;n zjK3Dlpi+0?W4TXSb0XVaG>bYf=4Sc5C-bw$F5m!Z(6Gx{=-J{2~ zGC784q1%>h*F}Hg7MF*c4dp~ZbgfP2%CN*X?b#M^?@MkU-2 zH>D|IF=r62<_Yr)SG|?K>_;CJB;WDgFYm4peRm%KT^K@>KEXB3SPVxxh69ZV{N8lc)4IH02Znhzpxi*flXD$M)bg0q4_T(WBo2Yf&ap zPhD|7pJK=jCa;sHc(+9bSM3l z*4588Ulh2UYGJo1A(q-Diz$R>{7h_L-9+YapK@3m5(D4s&K!Lx_hWlXVXB!XwbMCs&zQ3)gT88}zp)nV?;^&d31pT58YFfsGDgo-;7guy4NYX~_$2NfVfS6sPrju#0 z4qel(Q(NWMK^N0cs6QQ6CA7VDiKPyG-T7Dl7pEz)R1&)H3U$J@C!VZ4Qt?>-yXo=_ zVWRf+HNf@rR%sZUd3mx#sKoUCKRo;QlQfv=PfK>wsb(|XG!y`^fWV?TlX|$I9UVnN zN!%}}TVWI_1h2Ffl#I^?xfQ4@Lu-MFvDnT15WhYSYTh*ModLt0OUsjH#``C7B#tQ>IT4W2^HLGu&pRZY*R^5GZ8&8S;#YC^97kPSYoDVJ>WPI1n z#pK*SqJmNLk{9_T?Jj>{^@8MJk;5P+MHB!!dt!eIc29v_^6OwfKfDv;C4Axwf zC1QbnckXeHBjUTzn&!fFd6%Oqm$<_87{+9RqrGWyb8XjrLy_^0PP?Hv(y`26(*tKC zl&meo`RJC@V(UB)=eC!Y@?20sY?+z8pUY1!$XJobAj4G&{|IyO`B!=Pmb}Yw{)#7! zj$RkH{rQzzP*7Bvlof!i`00HZPdS?O&vu%;Z?{2{@N!g;aLP5puq}AIRCVANt zxL+o1ab5J0PpV0%X5rrMwmhbo4S-nT{nM%>t3x9K?V%qC%-?AxMhyO!%jmBI|KC6K z*<<|Ec~a&)jBSxvnjyVcLF#(LaGS6@|q~c$b)Gq)91JZc+uD*rR5URp)d4Lc$V(dVeV*q>a~y+u;#t;7=4-Ud85iP zQ{*-yB0HBjJ;NPGso%_Wl9{exkqtTN=aS(~a~_E2JCIYeb1K=`@I~(dq6)(JVgjFH z09b)(Ig?Hnt1aeoqOL3BI{R7k73aCxeQ!I2zm}aT`gxfaB79M~H;*L2_0nJx>V)u) zC~{eIC^0%C!H*K}oU6J+3^k8If9KKquctR7sqkf!5%3OMZw#o%eNf%L8B8dk=g(oy zn%UO?&JaEhacYcHhAja>(tQq}28N^xi$8@EJ46XW6g5(ylHs0aIX|!u>xTV6C$F#N z0@uHXph;#}M_*(s^mT7H|58vRWj;3TE_zn@dj`zOv?E)t!)`V3~TVKiHJ zeD~ffKao!kv3|m#dYuuuL)p#pj+*==Y~;(3WFi3)2(_OB=cD%*?I(F4Y|Jt~}#qPR@R+oH({*o5< zvq=dp52gN{Kj{Lp?tXo<%3(Eje?u4Gk9c~qfAcX1OQ2)lBM8r2-w1JuowgdYly3yz z30Y9Bv=jDQzWC5bsMrEVw1hPH*FZlop_!~sM_`-{8GMSb`NW_T_GDFDm-@}jA;v~6 zVt)1LJE#6i@gS1(n@+^J<11<~yAy(qq#(F?K5>4x9&GE%eDBwPD6syeg8FSFc8OUe z(qGl9J{-Nl+;HuYD2+dX)qW;~L-mHy^(mG`b2KD!CPx}P3%2N|U_+8Zpg%&Ki@ibt z&UUAoYXb$>sE zLq8(ckNT;abnEw^+SXmLR-)QSc*O2teC}|g?%uC9R3%IKlvf*40$ zHuSkXDc9}(Of}vV)#T|9Jj*z?mq7Q2R`7ceqwOg8w@V1cEJ1d-Aw>z4N({j5kP*eW zsFwPFKe_Ftr(dcdk=uPoTXURU2Z)XGFoJ?PmhTDd(KEs`RHQo$*qxUVVU;oUu?(hi7<#`p{faELWX#@j<`ZEm_=$Uy)$vd*1+LaF0cJgjHH36TOoq^x%{D z8W03hqPia%Uj`5jIMo}|64wEuLF#X!K_2BjTq*6pi3UpgOLwnbF^vW6wQEDq`Av9l zFnIIHm-e@5e>^NySLx1S0#dw7i&9%|dhc4R6r~R(I;ZoBUza&3e5y&&JW;Q2U+&Vq zvCjx6yL&nN_w~zvO6C&Vek+9h&^bWc6yU_v8`c-z+i!^ortrC;uT`9jeB`@jcR6^)^!xw}P19lcZr)}!F zx4=rMHkC8l4QqPo1w}fC-#hDnIfz9gNomJ1;=uQQ_JP;h&(LFoyy3df&ANL7&pdC!92ob_ zQVu`GCpi~8ywV@#B#^w32oheiR+S9WTht-K#imF%>iROXsw%;c9}@fs+09YovAMsh z3$`f405qJ{hd>H!bZeiaZGYN~0znp>N0YX2Fu=kg+bE1Ry#Cqp>YbMdC-1nRUJ0%J z3_^Wv(D)}Bs(4cl8K?b9O^j6(G3?~E$eGW3O=UP2iTEj@mjU*omxST>6vSqBPe@ zWPj5Jf}ct{VH?%%0owEfnM@t8w?Hexp@4-i9@n0)S76K|gChfYWW+SG4F1|XJ1jRp zE=4n!bv{k0_znf5HHa2dhkiJRQCy9YqYTnk$h=W}g^K7M>5Elj$_gIIAq?1t`zo7$ zE1|;;zRK7;&^fSLj&7$~7}Gz~23B5U2qlM}d*UaAcDF z&fWCo=hl#E6D5igteC?a^{eV&%l;6XMg#c1hQM8GpOR1veTJLf66t6L(sSo2n&6$C zuiaNqmDn19A}i&K(q(NNs2V)Ra&quCN*)@7KJ{vC9!lJOZm!{g(q4Zc1KxgWK~-0L zKp+k#;Q5D9^?!0U>Q5q`IR1GYT2;H&(Z?U((sQ^yXG1%vbEo%S5%&8!AmKI=38GFF$a69ZYp+|yKD!=_R&M#CAlQmJ9XvjM$95mP5Uu}B z!wWk=GZUJh@QoI$1T-TKEEm&tfs*cBloTxY7X9QMr*JA|n1-1x+TMQTgT7teeC=3L zH9E|(Y!jVhG5BDAeUvRx((RGWm=QfH<%%{98Vs`{+jQd+|d$t>1({Aqrn3yDZ*F7bKs=U5Zy@Z zgJJ9qE&_hv;K#;9(^uNws~TKKI)%Hvd7k5@S3#)fDb#wC*$H6eCej2w4V#H%JXwS= zh>|T;6qvo>ao`3V=~*O0X%$%3Zg_~YF%xt#mbuE4d2#48cKQYE#lP(63w(Nn2H!I7 zXoCkVeHQxW(APYv?@8ckVd-9U%3;GluCy{YXv0@BAQ%t}(qC-SbF?ExGE^nUt>vo% zKRu2Ne{!WA;~#D?YzM?^0P4Auix$8x8{(t`*(rc+HFbr)=bEkw7% zQ3ZDff_%}v{`Ca|O%-BJeuVUGFEml^r{VTy-5sh}#-@HbkH*FnWCzbNm4rx!VZ4#? z#Q5cX>gqa#t?tEwcQSoIN}Co*(rHv5a;CYWaZD)Rzm#9bl_`HXe(CQ|=|pBiB7uSL zhGu5iQWt2}WN|qzj84k+3GG;&eM5z^^)NwuWn8d~jO{Hw^GMs?Z?M_M!XVkLwfR)# zWr|sJAsKyn2{C<{roYhocp#F%^%qoH2~b)UO<0UDRX2!^>1Mib+7rycaday*LfWXXsC@f-^lZKa7YKGgpGds%*7tHT{ zLZ)B%Js~%Uc9m{1pKg&&s#f9FADt}R=o^``4cxCP`#P8yrB`$X+HHKYvJ6=t&Xrpx+1OYk9V^cv$`Q7)LXE$M zY5cY=qzFBUDg3}RS>>~K|W?e1s!H;vU7;w84zLSqc0b&q*Y7vmF3j+FlX#i%E9g^{g{)>xw@5t=-{(Q(JG zTq*;WW3QdhEwvfUzC1rZ3XOkWWK1mqnXe!k>qUUm{=uad7mEH!)jIrBH zCA;xWWf|XjaBs;SYrZk-Q7hCmVTBX7h;P4NabxEesWzeHH6T>6FtbG)wysEz>r*ON z^zHp1;}z^^9GSA;8OfYxaNHF81=Er&9PtpU0g-97^m5?sp6|`XuaG)zbA;v?G)Lvm z^*v8%ZBi`@#Z=jH-!28v4*Xi2$*j6O3e?=sL`d`(fBBX^!LPzC`3y^zV%cu+_w-8A z?3FanN9X58g_C)%PsZ7b?IfYQe3}T@S^K;PB;>aG2Tfvn!cqtm zXe9Ma1knKz4&2Jp?h&eru|u!L(@%&GZ?Um_p0q#@9eB9 zd?}4`+^V)zqwR}_T&Q%B!PuGHepu_4XG<;^?4l|`ub1emf$ z<{}8+_{17`SpRJkFVtaJT>xz2X)~GE)9&3KiD03=PagK1rk=I~%IVIVC>>Az?;P-0 zng7lKCo}#UdUE%U=59tK!wFTq=r2W{p$FbhMbQyB%R&wiZy6!XvjDQ7#?0LMUB%tA zH`}HAbxkVF<2lJ}eX3lc?PjF9-%WqxYmdeoM|sOl4EL03mX<`55Shc!Zuv&L3k?eY2og)-2$mfEYP=|pIH|!a!oW;m+S1K4ri_4vl z44N%{b2W)dY1C4jB3yX$)hdOn_Ov42L({(@H;8*GH)wdty z+$_jODZ-?6to|KpZE)4lts@8o{^Yl-P1N#M6^SdQUVj^Kg4Yf2XR{<~U4UT0BJDua z^%6Cfq}~w8u8%N1TUIuo=xZ>3Io&O{6Od!o7??ZWo1OWmC48Auw}(^sJo4eQFW3{q<0#eD@;dre86&kN$KS2N5G-q#1NhdVpK< zKo(PA<7_7C^&^(i+@19W16Y=`MuXAW{l;nhkPyy+x*91lAG;9R|-0=y;vXK>#Mc1F#>xG6J05C9Aq8 zmSg}rs&MX`kQOT6rXL0j{rb>x;(c6iy}X9rKH#Ncx2-geopua`X2d+G@ zN<76NO`c_N$Xx7ZZoCJi&gyXFb#~s%l7gq}BXF2T~Y-Gh14TS>#%>pR1k56KhGJP`> z{?;^#41U6Iy~qfQPy!#6TMcnLWl4Zeu{-m#gisgGd$~QT%Zke*zYQ3tn8jUGm6ZpF zeh^~g>XGSXgB;@i${*vESW&xU%n^vFJ}no?B$}R}J0XXno-DTa_G7fRyl_0M3&7%m1YyhGUm*!Y)i9+MH_lhZHNa6$1*l{%(pd0UAsFcxwIw5qgk>=UNBu} z8@t$xXUe?w8E`XL*%+$dMKO)ht1?J2s3vpb#Z+J-<1%ByLU_rppZb4)8qat_-Y>srFn(>>E1)5k5K_5+ zqOS*sC#URAPB1u{#_i5xAXa|n3IJ~_@L5<;}UX_n`!d0 zuKS~^#qF0A*Wn4Se7RvEYuBu0>NB0^CM{pOvnwe`2RQNlIonq%6WC?Q1@6yU^!*r*^&Fr zW~$bvFT8FcLc>tf;w_Dl-o}BzxEaHQE!^A3q30QmXd>?#>)V$KcIk3RAk3MrtV=<& zp!#LpHcE&sl~1C4P8+|}`9=|orz*x~6kBLNr^=nsj@M@z&dIJ0c27;Ru&32dxHk}X zRHWsI?G!b2{%idL|DC2Ff1etU*2?K_H(uqLKQ}(hLb;7|&nDcY7pc`rQ7J;_4S@;l z{%W5W@@fWWkY#3dLu{dlw|TO2rP2p^~)A2_V9bk z*}I=VZu;>dp;=4_HwM1r)#*i2R|@-+R~E4Q13rfIjk_FmOo0YFsX!ec;25zHG7o7Q zi)SXP9nQ9l7eowlb^~YwHnNBMkhN6uIqdGeh&E zz#BUkj3Q|~v4!?$=~r&K?=FNCti)f^qL{F;s^(`OJSnF4jt-f_a+{`jyP7)9H#>j! z-$gdj$hCdzUY1G1{s4}j^6h@jA&a`qgFUeguxSx8?l9oA;Bw&26I*`-2`_0?XMUdZb7 zvIW-rOR24?67!GgykF5Np%A`EZLk<8q!nBm)h znNr&-nYh^a;2Kz3RHJl+f>3**@eGY7?~Rv=0XaPV5al8&$>8+s_CXY&c8rn06lGPb@>yCMW(SbG%)%(IkpDuyHA zC4^p``FcAFUuJ{G08_6hBjojNPiV)yqL~tH?dyi086;)V5lJQ|jn%bA&{}bGk@2Cj z;#+5)ViZ7?dLR;yR=zBhp$GP}cF5)*M_bJy(PGuKmHEAOWd$>N#WCn{JBj-&;w;2> zIvSdSnu_!JI0dO>3bnR)OkV_EGofl6|5~=IA#|NV&e$)wX z7OaiA*fcnCY|twxGo4$NL_LLvR05GU_nnvpz*UPBaGI&p#b-~RiZhln!VOQuwT~02 zcP)1EFWAk^M*uYpH=Er}=&9HEYD>x&QsJMMTG*#&fqdcD{@~lAC(ezT4t-m($vCu;3-Bhb>h1ZM{ z2kmVr$Snz`O7FJFVejNqLs$3;%#^9fZ5C#{m(~W8xrES+SBlK7Nu;^&nXrvhFMPC} zpW0b2Q|2#*KRU4G1M9pvKj*99+P~{!_@aD;2KsZeY#}9>Y*3o9qo0lq9Et0~T{k^i zys>qfU;#R*bnY0m%%1v(8^x3$;ePHW86SfXPaaL$+EC`h#*&Ut{7NZ3%?5?NYOhxg z;-L&F)jOGPs$gZ2ml-0-%h28)eOgzqcz)mxxbS*1wye^}(2?BsO8fNv`kWBzTqA2} z#uC|4g4`5xK3Txz-ML*0Bzc8gdss8>$FXVK#0IrZtf8lMQc&48lccBL#K(HxD^>5! z!}}bK`DOG*`$zoVw8(KJD}qkY(aG97-|5+VB4l?~yCP{ryF9C?Pc6N6cskXHa{b~& zS2R67gBXQBD{sV3e@*B7?cV(mk3L!dCag6i)8ZFD z0-saP(n^!QFu+rT$^pA%GKvvSGpZ`a$lPI+}%f=*4 zr0`<$ZV$TU5cKd=_Tz9P{_R=d&-E@Hsze)37EXOv?z8MM?KpXTDoVVx`$I8 zui6)JFsJmVuAY>yTG$d?>qEW=I_NbkW4}<909mr~#9Z&fEUJJ_rcIXhMC>!`k~``L zcfmT5Z_MR~QGqQE-wm!D+?Fa<4Lq%_W<2$i{Iqd)-g= zwr%B*O2MC~Sbi)xO=t(LJm>U{Y2Zy8^dLCfxNku}ogU&`#P;qe@Wf%F0Z~Yt^oXsb zcwRWlwkt)5!Hez;KSTR-N95d+fw^$fk<_5_Qm`ev&wfrqmU%oXh{yYso*1=+dnr^; z*wO8+>v-MjGDJjS9QX%XhNpXir;HVkS#zMrUf3Gx;8u zDlo>QXR|_xzWlnX`1}GlqG(k}G9cOEYcDR;&8r>WV2seCk^QNVGyJwg#%S>I7oA=K znxyc(vH zAlIE)>scLOZmu5pDOJ6cj?%ZbaCpgspU51%7n1Ji3GtEq_O?~(24~I_n*_~1N9Dzhn zsx(B+@p`6dP7Q^_)IcnqaL%Hr7NW}mA#DBm;56+x??-E*h6#%8p^nsLQh~iS@+V5_ zWB0aI6>roX-CO}H8r$MzNZz-d*AwN?KFSKc($b0Tr77qC;tmRF>qwS;X?IY$b6 zJ9VD*+t%MuL?Z>Q)D*g7U&(CoFnI4lnaF1-w4`ga5JNI-Qg{)vmfs)m=n3A zI7|8#6sSIels=?6-%W8u7%67{la6-kI-!B&ThkS-|Btcn3~O@TwpCF;>7vpJ#ky#Q zNG}0VP!UmC3J4M*2r4B4(n%ts1f&Ek^dh35QX|qK0RsUc5Ne3@8bS{cAPE6(_P+Z( z=k9aYy?g!q9(V$8zB%VR<`}cQ4>r%4jjw|(J1S6nhI)Hu^UnbTIn3xP%kv`*4bd*i zR+8d2PhTG=^`4vwLIgEN<>Vks<|W^Ve`hMev9#*(!hsX7;Cu_#hHaGwV+0*Ytxl|z zFeEAQ&ca}1wjucr{>|Xalyv8CZq=HcpP^$!s3_`Uwm^N*p$)6|@QfJY37?Mv`8m+* zs+Y7=Zxw53PpZEYfw1|pj0wXFu#vNrbK2|E$?+I!pJp=Qu3>Y<9PMp9X5yO1N!~Yv zpB4+vPAnT4wlvh{hv=t2yOp9pPnO?2@sagRaqa+(r|?NP<ve%6M@c^9vhA;i4D3CT2{x|yaU*B%+n=7+zm zh`7(=)iNA0GYTBYx&N?g@QSEwVts^Xy_Z&}M5c4yXuwsB5bMvL9;97Q&;Z13==;*b zA=FY8G1bq>I{(Nfx0iCb$<>VYVOGC|3IS{Jw1A7f38h-@f@E*$#U>XcqFS!raqGaEg=7 zu?naW1?r4XZoPD>a1hq>nY8R{QPfwnm)1L0cHMZkG;uc(^RgrMSym zlM@=3b%OVLTb-Hr-lkT?!XnQ1XI_)zNfKf+a5JmgW{=NqU|0Mny}U zol;YzUMt#rF~%MWay(P3Vr%Rds4DRB&dQZoyFmjX)-cWKp)nr$xPk-ve+_)E3l^2^ zs&yZhBD@avZ}S{dYe}vd^K6nOxd-1!*BH2-C26f>5V9B)#C{+Ad(PJoEZb8OC<$`C z8Eeml&esT_MvfIvngL+wm$-1`oXxz>Rf_V`Qxbk;>9@)clessF)R31bEOJ0FrlL(< z(!}V;oq|jBV^NGb-96Jc)JLgPKSk6pR&ZzLt5Zr99PW1-Zcb`)_e9uuHs3OO#a#=_ z?J(hRLoZ?#%pHb&*C+b@yq0y$`7=Y@p`K~bSlk*kpL35-`|?#pkIRdw*dC=jg(tqc zU@QghLIm(m7=^NZcF^VvcaH7PI|2C(RRO#B0ZR;79_Hw?d}^%Tkd&4itP4rP4(i;$ z(wB4Z(R+N&ttgayB0%k*ozIkW;9!G6t?8tpm8wc|)RA9r)P!)UAF8Ppp8kTCT8&EY{&cbf00xjZYN>XHVeVjB`%naVYyNA@{reE{c z1Gceyt)@G8`u-gkN$l63#Vr>P{Qe9RKhC~ud5viL3A0{&Ec}B?Bt?1FVG;hyGu+}x zVw8^(i#z8wZs{afIRxeSm56likWiiRp_tT5_%H;e7 zkgI!<(14S9u2G2rcg#l>>vFlDs+RT#h1)HwQocK}Ia*u1xmydh5Po?G%>iSw4zI8m zx+>s1mEXvcz*>)yx~|Yg|JA4t9s`}153M<&jf3~+{vUc<3IEgU$}754sW!V`Z^5)( z;(JSV<251b+2_elX1(XWWpjCq&9lF_b~-J!`YsyEbH?v#&`w9*Qn|C`Qs>j@vl+kA zE!kUo(xZFvMgiCCcWSbOifw}6kGDfEN7r8=-tiX^8Cfq9vHP+S;A41P2e7Fz4sX6LvZFL6CPdub zcqH_La_!F;Mr`!e^fl|ga6mwm%UQ5~SXb`bqRI4cGZ#PHKBZ=k`7>-+vLPk+(TQs@ zH*^#aU4^H|S1^6Py4_>tN<8JR9@jp8$YGzwbaDmpmqo~=(zkT%{Otn0dn~90L;~t^ z&O#cHNoX=Dy_4-Tct*oVk;==>TScYl4L-%RN(7DSmqiPG&EQR0S{-=E|pam)b%}i@aU|;9cPETdq44ZNlvX@}N zE^>495as*&xAmdR_ z^6jVFhqMyXuATn+F)tPn=o05x} z@i>T3iaqqJ4j}}3!@=DcD{9W^KV$!W3psX4YAKxcizjiZlx`?|3ZKq~}iryWw zNH4ik%$h*nJ0o3&pLa*(rp5ScW%tSWZS@_GffT7o445U?En7tHB-aNR<@u!>VCmaa zAUgGhi+a`OHcFyyIxd&CS#xT7#NXpeRHRa6%qMT}l3+YwC*~HS5UJghGUT~aj|m)E z;q>Zrfif6Gk`@_df1PN6>^?D4SzW^GCF8uS_8QKh9QNkxzk&F|6+{odFcIZHV5-1> z@Lvx>P73tFWSlDnw?*_R>5UP{vW}~^03gGdW!4(ll!<P|8G$9{X) zlzTg~Pz8IxLsT}0ydSbUUk7>!dEdH>Y?c?O=M6&0y5?m+5HFx$By!{(c(q$q<)!+T zN=zt$;Yi;&;*D_LyLj@x6d+eSLZn_z&+$Xt^Dsi7hk?~uACyj^rdi6!lO7*C| zGTzY9DPCwFCJbYWnfhyY-;ubM+s!wBEf4G%cB=RIm{VN!dlf8sD20b7>uMk#uoqLa zanklH%qTeYlG0dcFGR2sKB+^#zSag{&ebeUO6BhQ?ZNK*Q@ro|mhtl#>GZqxAZx~4 z*;Bbs2F6~}UpRzsA6pwkw~s0;k>(BPwkr6O1MtsXow z)Kb8fuU;Wz#I{@~u7iT>=GTYYQJ1$@Hc%q}rMtIm~(SUK?gF;)$H-^R!UGfzmUGB@q z4aoR8Y;5P~L7pw|h7Y}7b2M1qM~)tQhNI8$Y(%BI&sG*@Eyy%y`x9*NL%6M+i9(R4 zjvzjB%M*ZD3fvS%Wg8wvcaSO4e#lCfk=s*=(hSin%MUvEUKsO&@RRS7A1&TFZx(i* z9>E#gVk<$FDOHMYlb||glq@r4%s-mIVWt2^!)RXeN~nPoa)zIT3^ligLV-3pF$`%WqhNmTWsU& z``}U0@eq8q%d%~DoC@^{=YC0jMKMKbqr2&IHvqQ`c2z|+YWku3#o;GT7y z$|GW7a#9fv0&FQ#sP33j3K>yx(#(L97m+h`PWk0zcUT_6SAA;ld%L=PQ0X5{9*hRO zY&zPCqmguOgD`xLB%Q(b+z3HVY!CjFn%s{uJR4y2BbDHYdq10gdW}ZjH@Zhku4O^@ z&~p{fmgB0SPSJO4eeXNi5;JduDk&Ud$sYPn%ltMiir}cVwOnv|EQI#acBkv<@_U%1 z6^ygBH%o7Y^TjW0Uf-Dw&vHPi;1+PQonHvYpG{fp_BWK#omT5NJaN69lEMQ;Y9$2@ zj%&nC-W%yOX$gZ#0BjGJP>@%>}lZ=uZE`9E-S{;vSGqN9HJ>^nO;BFXTD zT5~xHeNm6017}E}P~H#@c#8ZDwDuQamH)sQ%>yODzwhAnwzUzbdS<=rg6sMx%P?Ew zUxAf(aDW>=(@GHnokNhRVHWgpX-;r!X4i=wUcES5F>l2mkYosR8rwgfeVLc`vTmE6n`@=R>7FvnkQYeB zwqjl}<`Atrn9>%DcsW-gninCJM@p~M-@29V`~gpvezySm)-7DWnusBs=xK4J^(iY? zvM{GAjGNW1PySZDrEpU8*lXf}U*Uou+o3$d^(+G%|MkU#@9ea{(bu0`7}ae}OvO=v ze8z+K^7Y-W+*~~c-~sUJZ}c*$?hrcJmOH|<Oud}znv;w|ek%-&NL7_@U;VU)izD;%&z{;}S!1i<}KQ+b3 z2!9zox@1Z_lH#4Wd*2{XaEvwY!S6>bV2m=qg#w|j%P{-IH*1hb`)WWa|&Z~-c2drB%)2VScg0}9V6Ge@baSegStNf_ahlwo> z`*qS^@1?jo!aW8+jG!c^{D(4r@a#(Xni)@}`2D0#EJF+bxdhol>s$f^YXd6NUM|-y zixf0&@+l+h{&}6hX2Z?L@quG@E0{9WefJE|FvEQ>PuhE4@;2rb1 zJfIKvZK!R^Z;F%f>e& z2(tBJ+efu2ZW^0~I7N~t_=Pc#2m4f;BX{^CdGl1106IfTj;DvbE3(=Je2dx-Om8n| zZE%;k5zd@`_J!BbcU=ZODrg87-?pY|bQ_jniuMDRLT&_y{W^3j-`7X-csmEWznwX6 zCa7%!B*wc~96cG+JlbvABGLm0UE0St?-9g*o(=?SHa3~-1-w8Fmxo0YbUW)>X_Dkf zk%ip@X=6H38y+#kY$7_|S(bTj!d-B^Ov1IW{{75$7B@oH?VYzJtkQ2rMbN(Q6*&JU z$UeZa9Gr}()cHE@N^|#Ol(r3$^lNu-+9uoJ$(VZUh&KAo|U~t zdJ}$2_W1S-4{TsiqvhCzHZHuI3!(llk##Qfgf0`;A)0l}I53c)w356#o-Mb!Sfl(# z*4?LVlY6To_Q3KLD-axJh zp5VuQ?L`->;g4}gL?iOE^$o)|Bf$0<5OKfC^Zy52{I82#^x%zq2bos!v#mv!4d%hy zxQR5|*eBkQx%*XBQ~fqmnStarM<;~RePHEr93TtX`5RwudmqSYgoL?Rb%pS3fCk1c z4EygjYI#{-X#O2qaBd6G51QF5+&%3_Z?v~rPHZ``GmO(R@U$haay6|YQ~YbUW8hOm z?^FU#P9Ft7-E>a$e2zT?0xIkb%OV)3Yrp}tXy_PTzss~$adI+-Tl9)@lmdA~`n=XWYzAirD^7PO7hYPyba^NNuRCf7SnQ@(?t6R5Zf zI@w*0(7@-^lYB2no+mY~8WOB6?Poj?V?ONV??1fbuQA?IaJ5-t;H|Z>)@V$yvQ-T? zN_cXtN~-gUWz$XB-J~#QPi;k16>K$T9@+A=p!r66(cVyTeF&v&`v-8EaZL@&tacnl zwY&Vd3l$#G+?YD!)tAlIT`k>pSg8wT_NYOC!(ryg=2sfh-kdgDRLgvDxXs`@8KH zvLh@{+Tkdx`u&;8g_m7^p&d84c(`HfGjbaslwUNCT!{n7cyBXc2~=q+5aoK;aclBD{`Mztxi8QbFYs&1ZQXc$evb|-jS67sEuF`!g5oZhEw5*M^kYDn8$yUQ4WQ|rb z&Y%{&DO$r%1#}vRWUY!*YCnH8x{JR^)1$v}~4ik$K zmU1m(Cb&P=WcKWD>z3?1b_AB#)=H@bAJf>CjB z`6+oVX@JAJa{AhQCI*NO?HAG0F#bfW>!gjZz8c584fG*vswCB%8R$Wb95>@sYsgbX3B|H&XgYd*njg}+- zY@y9dK(rmJd>`xEX2NHRL+9s{^IK+X>q~dtc^S6;XqPnO9=C-R$fxO=U2;i$W%;!6 zFOA~Uy;x8<^1bm|G^zNv=e@k${?_)T?7RsNh;gX43`SnnGiZEqVE%~yjqA*d(;FjL zuOa4mKN`Unu-Jj+6g?qk;&8iLM9bn7*yAGeiQx|^Biy$L+oRgX+kTQmto@p>HfB}l z&M$1*Aj;yZ{UDskiI28>U6M&EMc#XhFm$EqaCPVy{b#|L=Az#08|B-G-Lc)bHSGDE zYR`f!piaF@{K4TT>!)D5s42f5J3t77yMYe5MM4J= znZVt4tcRzd{I{V;h`GSM%GEYZwHfrr(DuiPhsbT5*PADd6He&0Sx$(k>5@ z<&>QImjK~l_{H&s?i7Q{ET2k`8J7blvs+aXnFh7>)Xc3B@bFf{JnXWytg+$n5Saqo z-0EFH>=Y2jHskw)!ul;s3dbI9z42z|qLEL6=FcJYv%B38;JOc+tTq)5P#^v2{r5p* zJRh)Vy}o9-C4*Ic2iTE`aDG?A4B3Dtlfq7!m<1+kj1dEAxQd5;>Q7UrVRMa>UUz zh&opmG1oGG%{a{|=20p;G~?mUUeo<}jOV*PA@=sZ7`4G=A z?f}91G7^7fXc#A_mRdn_gT|k{kXOv<+zT6(4V@l!h?D`Zl@J^*bjH}dvF}T9P&sC0 zx~3k2{p}|0H$Bx>DuJB@XRP?#5~@S4?52x|1cohdUF%Q`0N&pi+3PQL-#eANmbfk4 zcPDah+Xa7oZc{E_Xp9lDH=Uw=HW(0w^#)c)Y1{0@hXhRYZwQ*ru|ql)IO&Ol^a(Oq+3LD1#JGL#5*R$}y4(CEDgLI(VpVqWq%`r$k?QF4?Z zUP0-8lnV$Cn}?#C++^AED1X5GHNzG6gxt5R@>AOI6EhU)-Yg;gMMc-9MW6glN=_w$ zOf?f88(16*YI;K~5%GmSDOrki(I-V@m-(&n}?Ie+TQSJ+Gdyz0KTX^oR5i6X|5R9AK3DBsAcHdvYyvK1N zV0vdbu2PUwl2abFMUjE{cQ8kDesAY*#Da@EhxzL#w-Hamk|c!+WQ;i)5;abnkvN^j zT6+5YwSqG!(jM6wOn!cOX^-+atetD<2WZo=b zR$})-)p`y1&w9qNjGyD@O)fGg7m1JEw*8iQt7NQqBX!n4ETqm?P?r7vh0z=~rdUdS zn;aPTu_SC#hoG`tgD^6*t-b$emhJIx_#cgI5ga{n5&XSMK$8ATr4Ourz`h+a8hzR;=Ej9Y zjN19TnFjOR6$77AaT~i ziOr-_VMtdq2PPeoVH`FuP!?mTJ*^A$wk6h={mJ))o~s0wW%2w0=O@gguY%;j#m-Rh zfvnwwaDId?c`S<$sK98tC`@`D3o6&q@f%3B1W(=+2kCqCwy=xLz*8P5jfz%Gcwn5+ z%g&tzlpw@?z9DW(;Y)(A#q5qO9ujv*FZNR=j|-TnK6|r(b)Evr zI6O$L&C;d1BuPAj?)w&;nrKEv*%AsJvk3Aq`L!vuyjIkUlk~fsXTNge){?e6K!?-SZ6$K8%o zT``Xe7S5ar>iTo?yQlPv_MVV=@ZH6SJHhx2C(^s2TOH=3H$`my5{IJX(U0mTYvqTa z%^!aSyTMJtZ03{))|>4o@Z4jboNNeA7)t6nxMSY4S>r#sTrUwzvI|{oG>FU>0q@4C z&PEM8+HYLfI+2Z-zp1s!G?d-bGE!=I(fk7#xb41+>wfKC(_J`>g>LN=MlC$4o)W8k zIbFIz1Z||+w`_ZL1oaC}&o|oyW*HNdz}v>okD}Sl@dJ$1{4*^XuPq{u&69Qwoat9` z{xaoz(cmW>{tyX%rp(E!oMrU#O2?!7q39sSEgU{AAXNut5=xMb(?jTHa$W8qC#A`9 z{`yMJ`jj>HR7A}%Kq58KlFsRB5%Dbpe7>9hCp#gcD#5VqQ;Gge(`mQLQ+Xa9TDbb7 z8w6)7*`@8+xb2e_p(e%I+bNw*rshr_mw9m)#2%DgGCc+h_rCt%oxtnn^Z~1`*cW*w z%#RORN?C_QfNy*46ABOO8T$Wx3&B!uMUHaFXkkq-2+yH6fiyhAq_oMeGjR`EOBKO& z*w$8Ss5Npvq78_GZRPhc zoyzZqHzNx8nSgDEutIRCP%G_mm!F9_@&%U1=rCDS^DuH-+@^kadVZI1CUTdpRCXpp zB!Y7vEqL*U>ZAv>=#(_PR12&LUu4k51K?-gg%=00;_q;O%u|A|+ zBeq+Yw8Muko+G}}Hdxcwat}RQtqv$Xn82HKrb)>GbG{Bs&W9KVLH=B8hk7hgMDeml zxb2%LwU7m+JXXIHNq70MLy(Izk28-Lj}fbD!2_|L;iS(+YW>^GV7tXw?6U#*cT3V( zz*0XxtET1%`^gA4L1jW7o}uDm`?yYPDrSNF#y`fA2F`U`|CS?a(5yb8HfiV8uHn;gYrPA}v230AHu?i*(v^u{gi~ zh-PGnr&NLu2B?lWP@JjdZxFnO-wKI)h4cT?5+FUGUz$0Xi|3oys}=F}>5J5*=;qG8 zuC^Rw7Xy$h@TK404qVWZlc|B@F1K2r`h!Gg=9uA~v)1p}_GMQ1wTNvA<^^xP3gP|j z_v!|Novosq7e9OEz+<8j7_zmf&;MVt-GB2i|69--uSPc%0xOZsag80r%I|eWydt$_ ziI>OreMIj6{pC$Q?zvD1uMujrq0HLU`qSIhSZl`+2}&;BY0RZXme|(q5164OjAikI z`WCVXOBlw&YFDk!H2HV%#`HXv;D>9{L}vF-;f{%UmbqeLCYcwV@wD`&(T)$|o0B zl=Zq7_6Q%63QZqKhCr8#HQ+&2Q+_ycyZ@dx$KVXQ zoVld|(_dy?F?2DVUi8?~`eOmGa3L@BBmi6c#Lp+sg!GH`bjN;e%dCCcZ zU1v{x#qZSa1n)Q1mijCDn%Sq3m6z+1YMT!B>J>p$uhf)3^$H~^C7A#VLUM0 zE8__8{E%M*A7uMDdlKddkHt%elKV`?esXAi5(Yg=;K{e?PEm0NYhuaaqgdh9(j}jS z2@k}SA}T6egH90ZCaNX&}N)uGz+_EpV1GIqz>d=TGu65m|tJywk0xRI8kv~QazEsC8?En zpKaR2#+3knxD!su@H;_vFmu2@kcJg6M8Dzn)W@GuBRZ4Rnqez3^Yb%B0kby>D3_~h`!@Lq%y&-8V0 zc(=@*HOg01{)!2S=fzf1veAhhfv|+%1?K`Bl~Id64N!OC=>%4&>h$y_zHR|U9OfVY z8Fhf5Z*SRJxF5og^sE8Yu_p3a9qpd-ZqQ@3vSJTZT6Kvhn$6WHQgRKy$6az09(<=- zeQ+!tR`umFs)uEkqG9Um;{}37n^gD6!hTL``4YCZ11+zFWnmtgP<&E9hb$;0C;M+2 zHa)P@S=~4nP{PbckM!3_wNFey!zlikXh>-Gy#R+^GUoVfL&{j*OHMj zSnO7gNDv!Lb@^MqG^#~pe3d8&Uz4DAnb)zcS`TwBT<0`M zQ+q1?;{E9OeQ(QUT(#w~gl680e2*jQ1J-CAr1S;}@l-8I3wx5aArxpy;STV6W`k`x ziGy*Ma!XlA`E;35TPg=$sp&6n_EnvYtG=lCpAS49{JcSLy8yUlIR&D67ccefo09Ti zh%G*(*pyasjXHJrMaMVw6$C?xR&W;2wY63SSBA&rKmo^$9FVN9zsd^=H6d9ou{F% z{pLBP`&m(zB;gZcO-cgb#NWy(jLwn6QdhK3$scwI3$sZT`K)mSm{3-6VrsHLPTNWA zjQXHd?sY;K(}XL#4@xwT-%U#1?W#p^;9G#OeYl(dUdr-69Qc3R_S2)vrM}IwBrZkE zYo!+=l>iqhc?}&2Ri?*yF8Xw(H$*zU0?v6fD1*E)xpEbo23>)Wf!4*ihT6R3h>UVp zOy)wO*`O#XOU(aXLH#jCYs!c+FhLC9;)V5&kT>9mlg^O}(E&tDvCG~`!=;CgTBm9p z(bO3T@9ykyQ6{NMIT$G@_ClVnn&xFlypj-jF<`wfI{bR|YEk*0P}TLJvmijQ!kY9L zr!_HAAT`8A8G2gX)o@)ihDU#0)2y}gi_hcxz^&2Ywxd@r{=2vScMZ>fAN+>*!NDR` zSV^YwpAm@tM*LiWRG$D^y!AktRG4La$Vw+vV({Ig*vBOo0e;SCfY0LNV+N!gImGnS zrC7kr&ODh4DtCvn$5wtu1~YXm$Oy8fqrnPMB{Qp#VWkfnKsD&KqZ$?mDM!9Pc)c*q zo6+6qVT}k&sP-{c@BU)uok?*fnMA5ZsI(odrBv64k}tHoWq;JkC>!AwbJ8jrk;+hVsFO^WKA=hG@9 zmgOuwK&izQtE`H3aOt8&ZoS5vN^+6vN_&xNMt;27)Y{$NTYB z*#3{m2hdopdeQAOh275hhL+J+^@quHnj#x8{owT7WT=H_aYjTk5nVXz?iDt*=@h5e z>JA?P7)9vLcfj^O{kbkL9zdx@E_4F`Qyw0i+i}4)U`}52rSwzUC!e0U{PyroHg6av zPv-J6VM6M~C$!!>aXiIH-iPv*-8hrtBL9MK~O{*xus4NV@*ysicm6^%Mhtx7YF z(*RxQ57{QTk6ZGN&=!+3FcJK03nns(ZzHHFoMw|EZe%5x$Jbc=bWhZ~21LfL6>hf$VS1N=&nn6m*>m&QBZq~`_+nDN5GbP9@O z0>}ea-y^%WBnvUlXo}(k^Yv)9#$7IqT-;R$n4D zo=#>TjjNzx2FOxI`XOhDOff#E7cHZ^yxK-s3fi=IjW!ynu!x;M>>LnAaB?Bbh`|!%xFnWmXpcBYdN2 z(;ZjqKDQpU)GN{beMRX+`iCpO4y1OcipVqsC>L8^;JX6gjAITt?t}sRQpY4puUk04 z8w)$o|1}H1&a&yGFm^hiLr_dW?o%hH?n;7BG|yugVzGOpUJ)w#R(Fm2DQ~dciQyQ! zvP4JCKhn8uX8E?TysGwp_Fo153?hG_A#{1Eyk+P~SP}2e!EITF^x~~!25ZHb?#|JJ z9>JmNOcqhspW2YuZa2i&NaAc-MZply;z!dJQ1()JmGALJQj7DCU)9x!@tK7() zRfQ9Z&_<}hR}gM3HQ*O=g#KpPqPkkj&819Che}P%>8+q77B*K8@qB!qV}SzWgIXWm zb3Q|(4rEKEZa7;SqRP`Ef+!$yfF7278uAfXQdxGAn-4o{3+tPcNYXB+tt%nZEk&vt zMGp2@E?uE|^6!|l@4?d~Zn9-z-DrHc>=Gctn1{zj2skuVDusen=34B}u_!hws~3F6 z+`z`LmN4%^%k|I7T+vgs}Z4-#FmmlIfiDq;d)xtcEVrhi)&qa;hnOduHS%z1;+^Ew0 z%Uaq0zGt}*Qa4!4jvL9n%JD-_WEbuxUHH0K*%k8va1pjYYk&9K1osMDc*)LTPxhA? zNdbo`F&UYG=J+_!wj$M44F+hgV{UQSN+@=rH5wHMoCp;;3?WnSpwd$}&a5lDYh-c* z_xgz2eZ#BTmhjvYOL-|$*yq!?-Mzi^TjxVO8T;~yDaEOB&7Dh8Fwg0Ig9BW!M!86s z(;J6lFx}ihIFYKzJ!-{c4+Qy*cHzbn_XnWyf8^Z#$Nd1U$NgSiI?I1B{QsX6G+d2u zxCUL8EAQaZ%B%eT19jjCL!1^&u{CiQ`9z{KWFHYsN3ygK2|I!eI*~?m7mdg%rm&=g zD{ol{?sTQ|rLLwXf((d_#8UL_#X9arbLOUPY+R=-oePSEJl0Dii7;a7vuNbuANEIY zy4V}O!gTL`{1B)-=rS-4N>-3}6XVHm6ceIqU-eZMX-#XeAB0<+?~)x8w^+iTUi zh{$2ic_7A)eU|p8f|md69IP4?6_)Z9^y}ZMhhv-V zRTV_XTt*r$WUmQpYWy*NG(9zio*5e_SijlSolPM;Po_8XT@)dep5TNUmCO21KJ18wlI7O$xE<`& z<0|2eTXpFU_K45CmES*^nvXqqISZrJbT1`ziEukU+m5j-k0lrlJVE~=h3PWFZVAy1pv-15&XgTO(C8k@nq%h>B zOO4MF*WMEg(t!P{0e!W45J@umY)WBAZoGZ9u@P7!$^&wg=@$uF3E8@Zsi&qCP-h}FU8Y*nIH6A*@5NPb z7!nUhEy5p|715;VHW$4S&zLS2s@vcuAQGcY613;5D;G6WO4_iCsd17p?3?O1DZ?C4 zka=qV=$h=2oTpT$cb8RKBI7(_vLxChM(s|ewXDUxx`ErBR9ey4hov@PTQaEbR;rEK zh%F#kpSLN-N_g|Lnr3VLWIj5@t}-}fb^Vo&F;J27Xz^_1JnPXZu6TT`8l(+ow0rF#O}t^&-z0>M4pd zj0<%mdA`r67S@JQoYo?|9dVwaoQw~mx|c-9J zxa-yBil}^f-=Cm5>G&#oYw7!_7!lt!o0yRGcaMmqSYZIa5w@@c)_MO_?I$jDT;QT) zMX~?vz)#;Om*Tj;pYu=m9liYzq-?(EK-rgzZg}2hN@U0?Y%o+5rs|$)xg=xu30(Nb|&C!yc*Uyhj9re{&JiRLRC93r4gm?k88YbW4QtBiAw1 zj`5n7Io5>Yf*XMp#&$*#wG1_vVloG~jGck-d|^!aCDlonl1$B+!eD}I<#!^8dL-)a z#A>5EVgxm+`>6~Aawc_Hyp*`-*l z)a!~XI^&V8uVSqXRC2>lRqMHhYn|36Ku^bSHth?8<}6guX>nKOM0cH7)WK>Ua)K%L zQ4>gqTi_~?$=b*{z4Qey$!wJ{IO7=|q4rX!j_bPI46fnm-*~6K%3QL#wmP7#NOcZi zLcGvIyUfVTFcN1l&agiWJkP@N_Dyl{cXR6eTfBL)1}~7| z!1%cO^I6XcFdr+i06Mbn;2v$E=ds3}EYTffetrFz!B)5}Dw~z~HoIW1=@61p>*46c z<=#!Q{&o=N(u=?Gd}HeZdsn^I$WkM_W0K=T5AeL95K$LeiHJ5;b@QxASa-_T z%Sg{6Op9i+=93)7NH3CzMrt;5@BwL1x9PY5^#(-}PfcI_YHMF2WMrJ*UsYI~5{mSG zX#Y2_ogePRk=qVjTW1`lxtq`hw~rCEah|1$296Qf2qP)~P0gtN8+LTc6bup}buqqV zlelTtl^7$-J_pU4bw)6n+{e-K7lo}ITXpNRd)6J4LB{ZsHo6uVwA=KG2<||I^`1Qc zPs!g${FwSag8zs=#Tp{ZXzCG0dfHiEt;QTmsv>_9*&S@(;!w5^R7r%z#i{v{1-}d& zh9TVi9<8M5(y66+S^0g+NrZtD!RX2Y@&ziwC{FLg;r}cP=vIr_1rvsco+R@>QwB0$8u7!lI95u}RW?NC!g`A05~e@WKFc@?6NkF7?PBqhu>0%vqaTYy`~7O+-zWGP!q~$585V^jpBLRIcCp0jvm683Os{)-_rw` zIRr(e3hh_L(hSaz@ae%6e3b$v%P!@D*}}3R@YX{j{>U}6!O0S*QI7UlUI+)H1r7;| zJ-p%+BR5qrJFk1iA!sK$`u-Lm8_3n3Ipq-|hPsC9f~WsR)^0lPdTIQf%?+u|l_3YN zZoMTkuq)gbR2OOc5%Vz3mLc{?l5)Ys+B#yCXXh|mm`bL8 z*~kAmTye9#ucDL+uc6W{B1oRq0b$`r@5peQaFo3w7_u}_mrX)`^7z?+#rzNXwl1&( zdLFIDyv8?^d&_PbbG18ZaRSgCU6Khu=H^Fh@ibyUh+i`#Hy@5GKI?NabR~R1T~wQH zG#_%A-BFr17s&|(OoyWq94ax~@*_~QDXYfq04zzhwZmSuO#ih`asX}EP%}td2+XZ` ziL!Tai_{xe+-SOehDm$x>@M%ht#EN#bQHF}eg#fKXJ0b*M7vwdE-cn<9DS=Ju08E* zP6AQY*`t*^6q2zI^H;JgqG#*LRkQy@$#Ic%!_`*}U-Pr{Gb+~m7LeOKIL=r`08b}$mkJ*Xyw!Y6WrI)w3 zj4(}&)HQcDK!6Hb`M?dpIuz#Vd2(GwBwe0VHNP=L_goV)(B{(_yX2R2QPH#YlxQnE zuZu@}nrg5Tnc9H@@7tFb{5q58wNv%;w@7J#41Y>=gGlDOhy&NrJK?=soCajsIs=5AjW#o!0{$)jCYFD3u-Z?T!5l!WjO}&8b{v;h zilwdlN>LBc5u-2a#oQPd#;3XUp+i6Xm-V;xv_ICw8G=@&sAnR5!{)pa051jxYV6HM z_~fv}K?#F=^|C;hdTA-1`trvydp}OB8#ov&oKt&a! zHgzdin{on{?93=KfYB=Q$s0uS?Zqmj+jM9Nd_-n6pgX37&4)H-Q|OG|q$vHr^(6@M zKb2`8skN5z#?26ryK^`W1@**wYv4n6!yN;L1kH>RXyTpwnh>U6=PuZUy5m{Bl)>bdsHRax9eT)qkUgYz@9K$3j zVmucumJ$N)TR1*SL!Q1r2|3_(Xrtpu!Uww_G8?a;LRRoZ%;V?B9KGVK1U)1!x&4yG zO46p|KI2Rl@Wbok;((>?djROi2)pz$+;jSL1pOgH%l8Uo>ywavSQK}#M#k1p3G8D3 z7&~*1o@!G8NiU!tN&GtiRB(TBlEF-BzVZ4m@Lnrv#BVlppntO}?vxdfEzA&nqz)W< z`vGSHZqx#4%GePH&wFs&;M($lj&EZmxy&XluKHg5OEn*M!>E2Dl;<)29?rW!NZ+r9 z&%=2c7?-P2h9!=ikk zk-PbO721BKT!oE&>ZlQK6yiYG%IAimbQ99^gy3?!+3wy5nxEQi2iSkU`|7m$sJ{^| z#3e;M%jvL?aF8c4TnM8u`GC(kcjW9BBx6ahYr;CC808-IzZm<{sHV=Y?Y6ekRs@xn zL58SQ&^jO>V1OiARO$e!wG|K{LXfBoDf1A>siGn>1Vsb{k}6eHh8Pf(DN(@$5Qxf* zLWDrV5J*A@nND)P!}Gk~_x*kUuvl3MYmt5KeO>$7*WR~L6e;F?b5~nhmoV98^fT+H z(eE8{%%ggZMXTSf`odiFg&H<~vEPTi71`WWnAF}WGr)Z7AG0CvuragqowcIosLXdw z{Gve2L}8L6ay^DFVoN8}Z`<#9jt<+h+9Qb}8yROS(M zA;0IioAe=lxVdK%IagWBWlr85)K#%!26VD9>EyUAM{tIU^lAU!C=X}9l^jRjjV_Pm zq1_XC0b&R&N9*qCiCNIV2;17}yz_8Ka6Rxk9DB)X73!M-Nzc*`;iv39X6p!t)6bBS z_*mJT|87~cWE~Us+(#g;BUd%t{tt%3N*Z`U8Mbr}1$d0nn5;_f}qhjhpK zwx{StP4Mj7EV}bRugqH3eZ}InCr;*1cZ?sJ#*=w}psqO!Y;D|SMNZ4iSvfKB?V8>2 zs9pJj`~2zZ64LBr+w^i8`QhrI{}pV;ti5#78+q>RyWEe=7WlhaFf~9ViyRf7$QnK2RG{z^*Fmt&kSZ}(+S9U6ag`D;X} z9W#D_(!KW%Q>om7r|ii!7Y!C!x}om$7+4{7IpR#Sy(*ob z7Ck9n%0UMwbB z`R*Pay(sZ;v1}HP%@JAhx3mUfbyMWyRqbUv($L?~EHtKjU-*7ZfD1g+G>!ox=k-v# zdHKPzp3u9?%e&9?^4_KU_JYf&-kHIRE}X&Z<+R%5xnP^!t>D6+mS}Zeug*}NZ{6u@ z8#bRs&=)!s;XSh#UhPx1{{Oc7;-Pylyd(eiyPS|V$@$@c7<1J1Z z7}xJetLtIqq|UQ^EY+wN4#0zr^YYeuPOqVxLZ211++=UEZH{LXs;Xf>VDN95q$`{OZJ8$rmh`4a zF-TvJ$-l)qHXe}Zr?i!8mXkY<7#zWf82pQ_W1j_{Vk^cgUgE&X`(?}Nh>-b8GXWvq zv|w1<>bObKem8M|7%{ZJZ)y(ShNzjN!$Y&zzwtAPf!lo!ELAc&c7wE=*u|eJH;5?8 z=+;ntEAL$(&!)d4{)AZ;HHa~)G>mu+PcI3Yk`?f=IV_c~LqY7p%w{sS330XDUogPe zCId+5>kKnXG05Tzc?fC(QV8x4;*e0M%BP1Ft;?6uhZPrlSl$aVyTGY)J%Ge*KxNB{ zyD#+pK8fk7)f$cN#nh8^;mTMbWs{6AR?#?-GIKpr$TWjf;FL_b==MkJ-MSs`o5@;f znRC0^Z|>Ofo~@grgZP2(yx`{!j3@-#LZ?rPepMDBE@|MY926#uzo#Mr2U`(Dw7ZP_ zu6ryxB23{?Qq38(V9zGUPVS}aN`OojdEwq4Whm8VzCFBiZ<*eu+`92xWfg+l8*&rY z91bw|7=N?wa)?1(_`B>EC%}v}3(SGb>AtdHduzwlI*EFXv(H~e2-HDQBsN>{+$!`D zd>ot@qXnuW5*hS^tNV&(6~htZIymIGoFqiS5c<%&by%r=im7NdMXd7rsp#dHOIgrsi6LojTZ%QsRrUZEh&aAdm;xXW0XT z*Y>q{5vv4t{pVpH3j73w_3<|P`j@G)y~uIxo77HyO?yua!R?wK=GfPT*RmlhdP)QJaMDBv`I$yqhS(PvIsrwTwk0M2i?YWdDe8 z7lBZ4c6xq} z$NxQfc1#bHICg=z6$!Pg^u&7C6?z=~>*7=Jk?mBOh_Aw*TZyMeOp`C~n;nwM(a8N5}pXx!I_{xgKbsmj6c%Mjm=ztVgNs%H{kyRk=Bo1*F({rAC9LsXZ^Z za%dKSvLsPAMX=$}zIyPhyL-=Z%GS;puxLD=PhHHtb%8`nhH+($y#z1{7m5_JNTbE-!-I=F>) zVP4P%Y`=fKd&8mqk?kgHioS{8lUs{)-to6`X#WAdI7G}BIb^t=zm6w=x%0hgnv-2+ zRQC~!l#U1#>|P8sY({2X?Q(Csl$^ad4L?3}e_XRf2EhGOhGTV|p9|yjFveMb0A<{4 zpWMBb%0Fl!f)`0#O!Ka}6DUkxCZ=dJTt?G1gY3bVVCA^fx?F=AfZ=czCN<0dK5}f} zHS>CAcD%BY3g-^+?B51kjF%_V(sS~8sktPSDnl6fS)=o_1teSzoJlQ!Xs{c;+Wfjo z*RA5rBJ+fC&35j*iI`h5`k(IZyl+^SKWZk13Z{#w$ZQixC!B$$X!iYY5B2eYW~ z)alxJh?33lD~A9;V#&BEBZi|mzOlL)QWXvO8x=whUHk=wnIr2A>7~*xN(neH;n)j~ znv%kic6}!P14BzgD1+$10d|(1>osX(X;NSQu&-P6b<^o3dzR)On{QFA8yRU5Czi6o zB=`joH{xGFddGRuJ}#|A4^CSw@b+~Le1|;~o=lE7>b}8MLGgB=In^%5_4T|MnQ)uB z8Kk#<4KCc->+6q4qaC|0dowCW-S_{;UG%BY=>m_SUpI%$4I;#RXPI`UlVl<4hM{)= zF2kM^PZ6|zMLwiOkD-d*J7z7!A7o~|ur8vlq}A2WK0Rc(SvDNq-oM$F9#xo;X60bx z`0p9a?2kV3wzHHWb@E0;F%y{TS)ip%?jh1{dbGh4PPv+3wr7J>dWaCwp22tT#yz>2 zjOqo|`19T}Bg4BeV3saY5v8gdmK{!xee*8GI3V=mQQc>;CR?#_(pAhdvr>UoRsf2u zM1NVFZ2>KDrM4Ux^(HkgLPQ1cc`dQHKaL5=v}?XvNs{TpV^oZk`B|AOqn7{zkhJXQ z%N5&^$)Nib%w1E`@ZW!JqgA|E`2!qoCJn)}O%c@3D*41Jtu{R?h#V~?UwOy__MYFg zr1Q>39W3otFgR;ua&YKpFX)! zz=4{ybdpfjSqJy2)58e-AfAFk^%Zb(OuLrNTy?!5?Cxnemhyvf+p94xK86_zXwmc3oy)}Yy$%Pdr`l3J7I4nFRO78LynGD~S>Q4&;+oy{A_YItR zVvkVC;dZ{P)nnu{c5U$0PnWPl#<@*20jEdX>cM%7)tB)}&DxW~`&$2FT%U(B)GItb zpw#wZ-N{VnH$95$Swlm?tBBqqiwpM-S_chEw;0q52!U9gL$S~W!Pq<~L17pL9axJD z(+!OFbIeKFW^1cTxRj86XZ&9t%4Jial=y!wfJ0k&z{)xFTuFm7s?Z)5fwy+z)z3m6 z5)vrB-1h&EowHi=Q8aC@aRGp;`_gQkCQTgAoYQLKT7(!XLUMYyTKl6}nzHR$%4q4$ zU7ZvrM**%vdUTyBIDfnLT46V__2FD2g28xjIC1qs^5WTJ`b_Ba%_5u?pb8eM#xn*L z!I1>{P$6RU@M3|g*;xfYQ5B9ZVbROlS_&0mt}qm%vpY6IRwn^bhL~~L>55e_o8~(K z({QG<7Ih`to>cihY6_tsg4Mlxe!`~i#>89UcfO|VGxj>sIsVNm^EgSa`Sjnu1&;A; zk~i^d;W;xrJ}~CKtQ#jfKbQGxV$SJ|@3xz`;O{%Gc8@AoW%tYG_*p$eZSVE0wjex;vjw);MLLt%Hi}fz zna^jdZYgj55Vd{z{R!eNCoU240&Aq=Lnue-g%JBNJc_-$|5t(Mn9QG2SHr#*lnuB1Uv=#tkg1YyCoU1LC8x5N zo$PU3dY6nw<+(n!r%CaxwiZ3;hhZ^ zV5i$5#)-i8>I7@p%>6HS=m5KBO}F3U=pmmc4Qc6^P>D>`&!2O9?zl0Bajil(js-zuS=Kw3LL>h?OTz4(^uOTZ_Xc zZh5*X{O_+13vCBS@A$S4CTp`ZSmYt=1XPug|Kq{0#B-S#cjoBBJLa~RBkp`X=H*ve zT<7a@7Mb`o`=ZT|(jZmYX7z?qPMyXoa5>jts&n< zn9q|eQq;Ql2b6Ei(g|m=7K$ojhJbFw%yoLn-@zVub=-ZmYiP_e*jeYok`_wK?s%gx z=#f@`#c5Rreiyt5HK2SFmuja6HA9Q4V#|bRutVy?!&LB8Da7b-328w5E(PkzU1ySG zF6q*O{W3&sX|(R9%y4YgZ~u=zMvdK+aaZszMqZL9d${u3M_G7J!9T(|9%A96-C6&2I-})tzu@!jxhneX5`dZbJqxr2&iZ0Awe&<&R*&W zsX&KYyhTr^MEv1nwi^1(rH0rx*D z7-{lIB@bzZP>r=KxU)z--<>ioP0T9+CRaogopxO6#KWj`!QhlIi@J(E#G4$ zP(?Cv2|zlNQVnWfNiSHl0INAMVmZE9jDZBF!yqfW9euwJ+5eOny(F`n6KVz@8rQ9R zo7koN+2vu(^EvwZ95|rySqH0yDqoMgaaeA-YPgF6OzTb~j{2j2&`x-jK}x zaBy?+*5G~ce!J~I?AeyoqW$f3^M9diiR0(lf%TYLugW>VX@jgZoiK zWoe(g>7PEaTaB4>VaV#6_iEo}eL}&5!spi^H;rw|MZ*5jmMvmc2A7(V@#*vpOIcVL zd2Ta&HD}i?jn6eyTi5=caAvR&+0l<%6Wjh&939dY1xW<3;_^s%#WRu|+ODm=MmS~5 zGu$(2Yf#4bT05EEWk|6=w1W$4{CLHxn;yMjdoo#Sl2*6aM62o%f4N;npvOprmdQ&R zjF|Q3nU}#8Xh;QiqZ3v%%vRDS4zHizl~vqg7Yzoy+4^55nII>Ybi?#sMkxUj7xMob z&M>(&eARI=s?vVN_t#%Jg4!SbAZ<*G5TQK4QEQE~OA4Qm%tgHC zPFbr$j9I#c^fRZSeqHEx?`pf{tMK=kIA*b0)!p4CHNnYRi*ZP)>8(QRw3YewkxiVO z!pTht_f?j4_D$Ca`#Z<0zAVzfIQCDi_temFSiBEcz@rW0*&f{zOCY4W-^lRwoz1%T zHrflOZs45^zviAJ2EESyb`h-(){%0(rUslhhA$!VBKwFJu@>J4Sw{w%XP(N*w)@Iq z=?h`z#mWuYjKVK}-_!N})fXY~LJ$ z!bpbz9&Q(9lYHpzbJlR1zS*;FEN8XR8aJ8d)yZm<6qc@XGz570GR-&3Dr_Uoi7XJ; zZ?(eT({qf4hj|*5#r|2+OIevL^nmwH>7W4uAD7C-THs&$8`WIU!Sga63Ct>i>8KFMeXd65~NZLhX>yhmdKja*z#CN$QOkvp+Zw&Sp28|C?GNL z>B4f&qIIP*B6EjU`(Oyvo-myh(?RVN(wcJ=jYuI>9swxCAj9`McM zz=Zu6nbsX@3GbV0H!PxA{Kmz534YNl;-QLg;q4i_G!FEbm7T~h0Gw@HSFXmIQnyL0 z%Es?%`w4T9tPtzo8NJn(xnLTZ0DK)|L0+Dd{kWNkd;0Ue9DvRR2WH`fQ>56LE@B+SMYgE(S>q^7CEs4r zN+48xnYg%t2TImO3{1#AW%GC9lOr8-8HnLKV`@<%OiVHgkX6%eZE-++h{S# zvm%xBjd4+JaxC1@?ifi8CXy8t{f}19h3PI#*zWGgytSeaOWzEF@MNAGg>kA~;NV2p z*W9bUbAddc+lt?T6Zx)*;RK}Q+8r{kzb(6wXMW%GM!f0Cb>A41^olQemLnXm=v)4@ z?<8grt|LFT%Gj@Pd*ngRkzCva!+2tI`a`D~!p^11OP|eVyRhy!cSUHx&{4r_u4$(P zzXVpkFJ=v?-~?E3fecm(6IJD^MjEp%{n6E+`F5#T)h~Z>&OvdNGd8qbfK*YPy9)Pgkm<9Fk8e#D&1PSx10%q!b zlu1!yyjuv_D!W`Cp~$G5OJd#CL-z5zeyS}QDneis*Wk?qAuSD8^-Gho?v*rlg#}D+ znv%4=8%%89EW^&R4a~?3Jkx{Za2=ki41Qt8voM}n{b^l8?gauFjMypfezm639&Y@s1tw<7 zb}@4AIX-u^Gl=hblM^3%ax0(VY*Tx1=kgc3YUW9>UM@S?yVnNZS#r9^zK#(>h9&%MuvSx~#=nC53Ps2r+Px9MNH? zn_b%85601$I`ukEP!&7$TC#iivjnK^m-uEd_{J#Quqy_?`Q?NJr>zvgv>%s)sa5RH zVbzMC|Bp_x!tsUgg_%@^qYxxr!>&kJ@KK6c_LH0$5p!q6hQ3o`E~xDwebLF|sWcz) zZ~^D8V;wT6Hi77$ z!*8swrY|Q$!hpHZx!T$1>yNq__^tobFXpSN?Z00B!u3n)rlgSUNA=9faRI_FzHCxD zq))TZvd_2`8zG1vZg(G6jtoy%Zo#n}$o4^S-=6iFrrVnXn!LS`9=;0EiME49)W>+4ShPQ)3cn9Mg~7Ai@jACBPFvsan~n}&reo=jGbsuaRi9vcLH275O>Pe zd|4|@v5n(wvX_dqn(M7&tYRQs7q_5C_fl<3=+DFJP_8j*smgb zl}+{xd}OJAn*%zZaKyT;#mBWqK&MlvYc2ZR(q;@8d+p}dRx;*Wud!FmkB-a`>52Ja zm${go9oUqb6DiKM6?SIz?(CfQgV}yf$&6zU9ZJ-#cXhVKStS9`Pib{PE?z_M59)bLtOte=$*(;j=Efni)P- zQvY|LW&eU_i4Fhk=qht^d}~wv%%&8>7MnXc@vN6t{pRQRHz>R|=dqCOp(b=Gzf5g| zX4V6j9{%exFW*5&;}7I>C+FTC#&=hLcyU`zRnZpSr^4XQrj6}@X095M-NCsR-McXS zyhCp&JtP@mq&tRg&HyY4^&8iGnz*y;oN{*Nkr2~zWU`e**ZP5zHIGMM7(?qnW*+iRsbq39gL z5W-!LDRd}q?xJ|$$c|r0V&3zx!(n1x3oxJE0&rX2-XLd8>4Is5Fj8hL~AGLRLV(o zmfC>P1j(-&I;NzGlsZ~VS+aFBt`y3^a5~Qxite-X&VaQF@U7KdyaB%m+^)@FtrZyE z7vFe_-@m$b{cZd=^jC8n!?7S^d3DBi>XL{-BRpDkMy- zR;uWIo;~eKw}>IG$0#uZ4>j-=sX+=w-Y)M4{;HNeM0RZ1sDAHP!SKY5x;DXRVudu zbsc?FLM0l1qx=fx!@czO&G-|v2!{^7%NYBS_Q#Y(tJ|32%d7D9{pHYj`tVSDhMX`# zGcfP9Lc3Z0OVLlcf|-)PKQL|%#Lo^6y1&B`CJ-W*d0q6 z*%>>|<`jc7+#O)-qO~>yC~Tn|3P5ZL%c|pV7Y+>@(86`s9_X{sTLT@2k1b3$^7C4L zU(9|FnzSa)98YP6o3YTa`mHyH1-yW1YVKNbVju=_0xmEvQ}Nq3vNcvpWHXb8m1C{UoTpGp>k&pBm1mk1gNvi!vn zI$rO1AIywYVB=fqcB3Ol_o_z1d*{I-(+-<5L%ZUorEz)LAE}*7w|!C?x0#U%t7z^` z)R5b?=!hN|_R}Sqf4ZM*94=NSjwAZbFYpI_l9s9a60=>%$wB;d8VbKt*9}NFBL+%} zQ$D0G%FM{J_@h+79E-nJoE_{q#rlKz8}9dH&ld*-d*3G>#aeUg}cV%?U6HJQp*+avBPNdVaHr%;Yt#@ZbKcyTkt-bJz_Gw%{9iusk zvpmOg9!@FJj<^17T+1pn^{5ZUP^JIUvTCFO9NI2z&_m#9oxHfTnBCP+<{J{1%eiQ`Z5kC%jU*wo-G0jOdlzsdDI#oUBP|psdjGm?Ec1&G2k6x<}Bq=L^tFY8dU2XOWRi86Xjdblo0uwmkFXJ`y;I`cZY zP=n`TmbIfs}tkAIiBRvq6RTSqYK(~Jb76w|5G=r-i|0%&`~a2oO82#z{wS?P`f;xE+?Cn?y9;3QtzrHQA^xnb zx9i-&@OWlE-*??0haAJ>ixKKHg z{S9rQjhF%!DpeFp`vVv0%+m3a*MGJ0k!J^YipygK<0lz;Z6>g472);2B_ zvXuG_&1-RqHjWUvd4VZ=e6p`@a_b%?Nr|HH`xzJ+mwniV6w(_RFNu_daxZT` zR4HER`!T*ldryb~>NuaN3oq#XxE!Zm?>Yw-at z%+Dz863nO0iQX6Op*{gX{l)aE5?yVS;=6lrv*T$-U$#wG{fdUL2}Ehd#VzyzmnD#EE9LL zNa8UCMYixsL6?R9g-)C-%=e6wiLF-`12p>~1w{-%xfS(_k%ZcvbQX1RS>T9lUc@<+ z5@!cB2+Gd;F7rim0#Y@^F7{qFw zVBvaw=aW)QCpc)kI?)I^KNfP^h-J?wq-TSK=c=E~Zx$&>#;?+W-8d%Gg_Pg?llnMY_||l&Jybbj^~YmFbf+-or@Yd{I$kkQe+y45 zMMCP@(IH9S3E%#_(sRlX+KCi&>J=JOAByrPrgt8EW`vPb0tzI0zV(hWJ!5)h3~2+ z$V$kkVo16LZ47lS38F?RkFL-I0Z5g=F1kV-?Gn?}?Q-q&W_?~7 zj>VL`J-Ni-0IAn=Y(E}t1Pxibkeq7stK4eOVr_V!R7M+>P-dHylSAi#i3(ZRBI`17 zXZYSza#5`Ypp@^MB52>>*?;od1_>f|!YK4cKHWHug@*3A@e$~x<S5T|sj#9t8dudDB*H;1!sh|7lrCBvcPI3bihYKU3uX{Bf z-8(-R3C31y)$M|*>``7pl=uRNcp@aFFOD^o34e#TbPM~D8 zaAhqOm(6hYe{W$sD#C(G!MN$ir>X^0A5bCUvO zxGjUD8sQl|5=7nwvjUi$r9!T}LvNoiYsK!zGC9pSm;Z)G=61a)Mkbb34uP_)G}b7h zr*qEi2~lvSmKv_E8~#bC>QWuELbY;eg|mNE^8o&i_5Rz6JGYlD*e|D))aYp*Rv7Zk zJ{Vp!!r|1)@ep97vKoszilNO`{DcT~Zg;L*)X)tSX8s# z$zXoZErL14;I(J$hhlzjc>qp1e7~6IVJwxGurN!8BBw^TB)6_<_-1s9laiBXo^Z)>6ab)rH^*|eIKS~SM`?81bFB9Ai+AfP0UPKDGkU^&uhQV)HzD zBj;n67!}zYGn12NQ|5{j;!+%jf4@k8>9fPkm3!F_p<23W-WurQ8t4X1pKR(WKZP~6 z35b1zCBip;4-a^XKVC3Ue#}O!UgK-SyTdiBszZ>se*5-OB zZtx7P0&r0NG<(isGlc6Q7XI<`NvC za%vQ+)wWmJS6hmj7d zk8@R+y9y+0qI}gVDgOpmfC4KZx@1_nJtbatPDcukCPB|&~DvtE4gm+>l5D7=ghjc+kUmd0uQIp8p$jjFzG z36tsmQEk44V~AZq_7%xRI*Q_ZmV59-Et1P(qlCZ&Ux6wrUBJcPj}6Ond8iyGREWpM zr|H~8iSR{D!c!uw^E6KOcii8BCYu^zEZpOw`zf;l>8OK(8+5xf4zuH#1nXP( z+-fy+1C70wrw?1tIz$6{L;i> zpHPjXGNxqa+K?s<5XCw-{@HWSFs{!}Ta$F|3mGT?kpMPB z%Q_@?VBvJt@`>hUpRn@_I~L{T&oyHA;?R;CrHS)u(j=`3s=VIKatmv_AM;b7@EGZT z-X!EwF$3*qY^&f6hFl&BP-t3(EKD4;K3%}9q0RDSimW$d7zp-?MHoX3fffFA7D)@FBdQrQ zZ>z}^-8S=aPI(?N+gj5Zo;l|T?g(8Ru0m9c#pLjVL65O1^OD~F$Up+7WxJ7$itTN6 zhk=vI?_KaLE~T=a;op{SWdO_MULG=o7qS@n@JM^Zh{cAd7G?kBe1Ck+7PI-U{wZ2*dZ?F52wW*{AmBo>?!3 zzbpN35$?1c(z{D19w%h#gCO^?v$^6&nnh8t%M^7Sao;6N!ZczroR{AKm7DD^q&g8s z%%SHb|M1_!9yvJ;#@QdMmeax;VS1;HyXJ4y1c?e!P}MhtH&hl0iY<6%Rk^m$@ z%X)zq#4so1^M0#`R`V0zo z`3A*=>@2ZCmwS>@Zweb+C>A4a>3tq%5y3C@<~% z-CZTW3m%QAo4n{0yTB?wrf%%=LoZ+7%P4EvXvsE`R^4<=*qz>~sU3yXp z`hp5r9cRtKRDvHqzcVKO`dc0n8XA%jxHQGW%BcZIWeHrI!h7yz%cW)AuqHu9aZFd2 zDzK#U|C1+EV6k?o^r2fhsr&=;z)DzZ;i6c#K66eN#ainAC-tggSWFkyac{3Q2*{@M zKKo{=aFri{<1|go(fC+Q%Dm`S9J~nCG`8dOW^GJFEZaM!na!!U_tNfZEm8(Kh0epN zDhKPs`;i4yoq`-e(N+Hr;}70~AIXd(R0}H{U03_&p(nymjy&AF4GbRgeMoMMoxn*m zyB)O|mmn|rISHyR}%k$8Oeu%QsyM5DDuefCLZb|I-e?%*-7O9ti;Zo3!L!Pq3 z!%wQ(cDxMwT+XGEzb54D2uxNFt-+wQH`Q?#Mz{cs|C=q)YYK3^S&BhHKldnyzjyl- z%SUV>f{;GBQS!Q-86{&$ZAnifZ=XqVzF|U@-t&=iXpNI~s6i!RZn{z4x}`j8adXp~ za;eX)!2$~u_eWZa?l_pHecQ}2Y873hSLuwDG$|l;(fzk+5kp zBf$&>4<9hE1q4S{$|4xU{#zf7TkJ0eP>WZ(F)$5(3zK#7VuDPZ3Mre!xPcQq97d*< z?acX0RAnEHr%hO)_(3Y1-(~|(E-V0Zozp$B{mySidse6eQ ziIP108oSc64Ax6W#KA4y@n|j;_49Qo~7Y+oy#K%myI7d&K z!+j)WErw_AlIp6$>6cT+xlGCMt8_w&5u$pzk2MiCN7I$JK1}APr%670s%_E5BStj$ z)YRFdS|i96)_`63I9&X*Ov6B>ryM=D1Kl)k02 zr0a=kOIEsR00nQQQbI3;3&RPbF@VrhqoDuEP|&sS#)ek-#TeiWB~Jdkoc`jUBw)y{ z1sV_A;R0(xu>RA{TGqTxva<4=KyeC%w#;P#f?xsD4l2-%I3Q4~ax{Y*!A`X`B+?N1 zzxQZp?%$Wm$*ItmUQqTNTr<#xX&*=WFXA*eAOO0BykX8b5<1a4IFMegl-^*G_e!&O zk+(v&Xf$%K6x;I=vFa_x%}quN+$-%zsco4W6FagL6W)vDAVzDBWAp*5e-d}U*#!f(7J~4ZMgAP<&l*7_Y;_bk0tP<_n%e-Qf?&t zPoNgy)FfUxD7VE#ojeg%vj0=GxPKS6tPw`F$Q=oB1uA;aaSe}Uuff7PCpV|Q@Si>X+23?0UT9rI%W^h5 z$8F<=ZXIUFzu^M$?F6^xv^ai0a{{aHkexYJ%S;hz5|op3#kx#*;gRyuUiO5=wRn8n zF}kl1NQ8OUH<)J8bSur_jqWUua|fE)-jV8N59Zz08XwG=JpSM%_wP0PYlh#^Eaf&> zRy?K>Zt>)nSL?#B9W%ZPl>1V^hSX%jQYpMFXI-ieq-k1#bZsn3)XJEyr-|r z3nJx{b?e#bpDQ=0f5k|?v$uDxU7n)A#!Obfa_LC zqJJ1W&su>7iu~_NN;eRBZwM6A<$Gk}9{s76kofAsfWk@r*=nK&E|qA-FdN@q{A}X^F6hZR$*?pOS z@?>?gvaXdiaswm9Rk7HhKF(t3d$BbbzDw7jbJhvJH%SiwD5x>?`qJ4Zs3(R!{663* zOoU;&CDJyjI7!%W-4r`Tl)iX;>+J4qdiL!V@Hmmv?|LD^*G~SJsEb-)tQ0>rh-J7y z8Z3g_;;`QN-4d) zj5GDIT$Ee(7kimzyEIoo$GIj$e{Y>R_tPuiN0=l^Q|N5tmV!?*3l z^%g}Z@_s=ocd@Ca+xH`He@l>j9};mcXL*%(Dm>7Ra5_=9=6p(o>CDqSmQ87(Yh5e4 zalz*uyBqhmL{waU5$SvJ|@;cqX&=505qN zPk3WnW>+ej5Q^J~%shWE2EBsjBl!8Pr2oUzn?N;ncJJGrtQD=)A|gdeD-~2!6e`G+ z)4mQkLA0n*5uyS{1)+e)z*#N?5V+YHJP@%7=pj_`t7rad<&2Og4zoWDS25 zN2la+YVHUOTF!J&+xL^;@1PG(?y5Hc3Kh0lOS-=3HQZg(pgrch4@yUcnQ*)?W=`MU z`)gYpe^{7Z%AY1x5p{IEEnYJB810?N3vHV~4-<&j_@sRyZ}Sxo>&hn4 zwHlAX#LFJmNboPCM0K!N3Q*c=Om>zn?%GS4TjlR*-93L7-%UoxUoNbS^4~+d8K5+~JE4xz zKVS8?aTz?pXW?QeeRi}?OJd*8;)-c8^6%q+3cHpb4hADFP(=CQIh>P6iqD#h4+ zHb>M{1Rs6G-jOKY4Qn^c7GHCvA;?KcKiosPLRdWR;PoPv750mto^ehr>06vYK|(drP|_MFVqxLF5^N1Q9INi5meA64!Rn@UcG9oe_bG- zDbJZegz{)9vl@27)<~bcM<%PBnjQLA=0%N+GRXtLx;8xQP;?6Ywar8MQOF5;ssC@m z0wHfsKQuM)@z)qUphs@<-bt!OIQG^Rot1v-x~o}n>eS@6@&jKYjtOSl zBu;Cc>+e}_f1KJ8L=2_$PAK!uo(3%L>Mx2j39IWqJ-_(m=0Mk#R1O}Wp z{$ce=FN(bhGljO4rW7rs&7HhA6V%Q!v5ckG>GB5Zx5|L|+G;J3ydxUJbB{fgHAMbt z+S3Eb_?YS!Kjo%;+wu52SZX+rz!Z@xH**{|le205PgZR=dvb9%8yZwBduDp21I8P-a36YGm z31$<(B^9E)bWh9(Y z`Sro$uWDy+5C4hx()c8#3A} zd@97!p|&2K80g9 z92FgcY8p3;EHTt>{eaGcoK*VG@^{z{TW=Q|iM~na-0dQrf7qa-<0GT~{@(a9+iPbf zex&0q{f5?>Tih09ZvuL_x3xr8@+&sAjt%gylUoj#DafI7`3&zaDT!6*{ccBda2K6f zJubbm+61LwwH^W^UM#navwOhX6$$1%4oyp3bd}ZmwGqh|Gi4Uy?tMLDQa>-j%GvG9 zM>*{b(*E!xIQ{N<-_uvDxUqg81yUT@rT?%ctfwOl{gInFBvyM6(oxhUflBZ znBf!kR($f*C_I;F3{1gA} z9lA$W3tq#kowt+p?#MWl{dDYZ{`87aS?e}5(ZsUE@ z?17Eg3ORy1f7-I&VB$yDJZOcSuxDSt85MrKX~g9_e`akadGerRw-r^QP}tuZ_;oC~9}Mjt!LnMuN}Hv;a!O3LDR5yQq+)}E~v zY~3C@SE^K5ohUJZFy)R;i|%;!rp6uJbGDQr)~)k#mIt#_Tr2|8BhXY|sKR!OwaccK zTXA9DZE-#Gb=Is7;gKHi&;eWHE(-k6^uWDb$KI7Sk^_m43FN9N z%?pEC1Q3ca{!QjqCl{Z5slHOh1};31G~`)-&~|n;{CvJ79vJq0$DaB*f}t%}YWI;) z`nE;>TfYej+((!|!*V@2YRb&OhK)Nd-ex?QvXF9+n%)UrXwcsHBIn5E5&D&_x~*(= z?~-g=+FbiWrdJ7IOBRv(kFcWvS7+TKc+~EsRJ@u>tVCL9QCE{4&#e&rL@;|8QDzDF zHi|lZyqn)ukeE!~$6?0=ZZqHV2qEAgX1d0C%9@cHP@=b5{WpBoXvO?_-z@m`k}#&@ zz{}t5js)xrDA9Hdwg0xq#S%N(^o6Ue#`%RbId!GW9>R_HJ!W zfD_iV%06fDa^;L*9XjJ~KnE_!k5)b(HuF;l!`acfnrRc zJ}TCU8@w0LGl7amQXS?AkTfOam2EMwhbPB^4ZtZ`G$uok2AHy5ToKD%<@ z$coYR;&Zm12VbTEGitW^aqhry31h=Z0DQ^!kMEqye? z=Z%xb*aVm)?+<&p^ahir1|Q0eaJayQhvftuW{&rBVb(d}OK^Bi@KB)KXHaL;;~w( zrB8UK4RDYEkxg=gWA==)IH`Mi@@h-15uVwzz}81_IzmKX&a^{MoSgMUB>3Qju?^`} zVsdmH%Oc7}_U>_OS0rlOb)M4fe0mCJ^CfC?_Uq?&|6vzZZ5;h`tId6vSg8KTi**h8 zEk(O`pd%}smn*lNP1m~pwa+AtHJt%nElvt9pe;ATG5c+4dadgXeYc}dt*&S41=Fj{D7gSoI}~_ z;6O93HWIb*LPd|QTucm=qHBj-w*;*{iZ~2dV7_n!NrJ|Mh~THEZH0yL+H|l~*nobQ z37|TT{1ECS&GS&G@v!WwgK=Rgqiqq6Rxh4Pmt5@kRaCH=my<`Rbd~{NRWfm+Y38T+ghM-FrcjuiEiTzn2F? zuPyD7tmEX`A$u6Rz7DkWjk~blevpM@uGA8Nf429 zZ3GttKhdR|fr2>c{mx-PAy=K~AA&&53iG^`7N_p@P79%pEo8dg&#ZE!4ege?BlTf* zWZP; zhAU?1_^;q{345NC`8+#&Zf`s*;xIPAqsNy&KR$G1Q8F{!pdl431i!>QagzJ;yi@`p z{!lSlT%ZK_-2haW*gWa{&itMBqdNipgoV@Y@dvQsg8nY&{x%-Be8}Ag8!wwbwqr1; zJzEINdhJdo;z$-;T;41ElTgW}zOCA>oUH2`|HKWxZQ|GOhg^vis^)-ub^Q_=CH%}p z=VGYe92D{Ag4kXv_Hxy2@^~+%p}l|3LZ`Te@J; zxoa&S7VNUP_hH!s=i-=o1;rf3Vhih5J5G$l-SKfk(dKK)n(vzrE3FSdHZD#NQL6>5 zhw)cDzqWH;eFumdD;G)pZ!_w`StpS}>J&zxC;fCV>R zd|wCo@a9aHhfnM|c=q1yyI&k5QO+;*QhR<~9qeiDLd=XI9^E>e@)PqJX;55KYlHJ_ znMh6cDv`aaXcm>95Ofh5mNVR+M5Bs@i}&CQZ1EYAKnFqn4x52zfJ8=it;DS+>CY|1 zEtbs4#;BJ<-?L{j8;I(YYoG)sWp16J+SYz!nn_lU^6(?|*pQM`b@lv65ziNH^PK$Y z-1#%4NkCc^uRCqHm*fY~w|?iKL(`f{0|7^OD5aKY%69>S)A{In;2=oSTcHr203nvP z3CzItCk8C!I)d0kynE!+(^o$C?zM@)wQ8YAthbV1KWikUInpBvA~04rmz{-Je2{qv z9Vq&ye2)O1ZG)5Xm+63udO^Gsb=n;{%1z`u3f3GyAH_*v9=BI|Rs@W(Oz`U?AK1}c zV*aYO-AUE5sT#WQ_PVCTFX85Trdm++fIXd5L=_ZZ9?j1G#eM#Kd3MYfznJZzdfsr% z7&h7!uBIXXndh7Bc>@u|^}KDHGsR(7*;DfiCBCv!8}4RvpQyBn>>v7S*(Q93pTB<} z@3SfquAmarmgpD3qQ|)+*7k9-Z8lLo&Ug(g>!~a4VyPyOAVL2%GbM4cs{;yrI{r*# zfCJ*KjgS*=4%CYK;?);sNqPtM@YTfcO>fl+L7k14VErF&e%*77-zN%#gQR+SBM>*K z!=8nvftsCFy`cCm5g?N(HJ>!+3Jq(^hmfBC&9<~T_o+@5QC#m3TM-Lt^N`QI+kn6> zN+D}lk#oWB)#d1WAI7mzSMdv{?oq6T+HNSYlQ~#(qCw+2<*Cn| z?7D?t6lb}8*;%NDkcK}x6@0cPTgK0^j}LhFa<4RR;H=2Mt8Ks(oLeYCag_&O?mqI0 z&t5BBF8cwiZQx@wjLKdso&PWMwf;ZC=2y04*DdD#n0e_7*Dp_fafhN899XuAqU^m; z5`R$odBZjVk>x$R1n*WAT=j}SQ0r7Ad3y0gZKjJ-Bin$l#at5@QKhTw%6!!cz#@PCxU*>tOh6X5rHtCc@i2Lp2Ua zJq_GDG9%%UJ5I`af{OW%QxUlMxd0_JP#PQqb_29Dhi+|?q2?Oqt6n7keS|^ItO_#l zHr<93+$x2qzYY?)@}Tn|8zPP#W(NNlbdXAu9t5EcxlSsqgIfBzoOMt_=z8g(cwxn) zN{lj61W$1XqNCId!d!2TS}`8mcsl6Rhd|b5rCu`@m+Oz15VAL}>$*@=(=J>-%k(=k z?l};z76iS=4JLYqXpMQep2kbetg_;V+jd&uz`<-ft~X|Sp*9VN<6;CY*r{zQ4^U;- zG;V4;aC@GQVEGfXzdNqi(M#?X4AdH}8gS4g5jM8u#$}$+=l!0&kCC7HDoeew3)MYV zjPEE-=Y*sL-yOH9IwP{lxAS#VB1F;Ky?FB;j^*e}u7=4R-XC?2`Ccxyr8vIY1#JGo z!`Cx2S5+k$hyMPeX&6>(b5%3Sd$u(6vV0M9nmnUnWDgJNP1HbpPCW}Sv=s`59P-Cc z8hV^c?Ej0l-C9-gHhPpKZ_8Fz|BrL}zn{#eHD}l&*;1&ztsvB38^fEir)I}03&nIU z?|M1=I+0(00L1Rg=T5#5#9v_s+izMzQ#;km!~!7mhmrH`kpOF&+iHz1%`trmB|LTN zs&}P*f3R-4UuqoOMZlXsv>`Q}VPsU9+t_y>xkhk`*ASN3A-Qq6lAoEL=YN53EX47` zMw~2-cyVez7qf9_0QQ(=7O1W@>;QQ~-d$w*KXo%(mcPi{{`rVv%XdoKe6tS;k>c^a z%)&2HL&GzlR>W`~3v1u0p0c+STNIg90!YRJZ1}rG(_(LEB|)9azP*ncx!sXe+L;_! zCVIPeSpbJFPTVou^u)@3!n^Fq1Rx^h^p)G~GAHWT_^NTZ!~|!Dh*+sNl%VKL+Hq53 zMU(Iq5;Doh3lzc{K0Ksxnvs99<1NVp?|E~M+9W*>oN$H;oNxe3xWmoPDug;r7f%8D zVSvZuVo1LVoN`BOrtQV2Q~ptykxO|x6m!?Gl&k3x!spS=P}+oEXEYE!iUnIa>hL-v zn8qojd82!AY$+C;4i`I3InneJyEH8@fNmdsx!1k(`5gdcho2!0!1ieb@! zvqrDg+0rDOgh%kic)rJAJO8jYK;)^vz=7+?`LaM}u$)Dk>b8D;SUvoRrc9vbYMFy3 zc~F)2WFq#3&Z%+L(hoDN_CNbx{UhC6G4aI_U!RqxJsjoJZ1<9ruR-Jcju~jcA z`&{94ZxC1D11_cHu?M%Z>$5TSE{zd9@g$L{4<3c^PlV6MV;^A?F}uvU_9==UBUaCf zg3N(Y|I z$q7|>dkx);8#;!mVzfKKG;Rzm^03CvM1bi?(a>P!WbR~U<#pq3sdU_NfUHjJb$6Ut zLva+!aUl_Pm}(|@bGGHyR9|6d{xeNj=+|FQgA^zMoS}p1|C;JY{-l zO$RgN^Pb*)bLY3WbkSg^le3Ku$9NkV&^B_I?`RWVYFPSU-zaeEpjnCy&ZH?VCHMsz7Lz0I+VU!IO z95LPdq`|2I#vn3O{B^U96VQVj3<}u|+h9~bsgqJj@lt)e7vRGG_0Y$v^TXv*kLfM^ zb|4KP$m?%j-x5}0Ew_eHQ2#@_FIyLXJ4JD4#@+!~WG#qMwx|)w2-`8JDncZ`8$Uy7{tJ#Rn-mgPOKv!qJrDz;-J>aOcuz11?3mlT@6H&*% z;BThC-S=D4c!T-Nu_Xo8C(u6_$3K^|3r_DJ58Refgi%&i05PJUTO8ojKa(zaGvD~7 zD&W?){AW1s4h&8M2ep-Fi@uHIw#zf0&w+{Xu0DXpovxVJHONPIV&f?nkVsbV%>QIIQrW7U+%3HdjIW5-EpNv zCp1q0OP>Cx(&VdN59H42Qq+jr%|K2@*edSy#U#J96APTg~>cl z0jfc}-Nxm&yJ-jSh?)51g>Y7&u}ftaa+jPvwhhswPCm6>54ZM^?Vhax$V@=#NQJopO;tE}qK3CXjL# z$na#@_J{rpD2(FTJ}18d0iUZ4&J~8L+4Wg3BJW;t&R{u_+uSEd`lgt@bMHo(_n!*k zIiQh2T0dQ-h8#3jE#=J}i%!>aY9GWvIc%*8<*2e!;^|o5X*&>@XW}>FR z0YwlX*JL?6+Mh{F+-Sr=c>no!TKHL_?{|YlI?3n5u{WL0 zk18Nn$*R?s0&v<2i|i=+i9w>>GC-frpG@_%7u=&i(rah(`RIfeJ8U;$&_>5aapu77z7s)9BCveITmzM8M>Lf zS9U}XPPaTQxJK4QYi_^W#+8maU|V}aX9U}_p$qNFO!p~Ue4mDmTGECN&xVTf_)6jP zSyECQ=H??764jbt^n4y!MaMsnI6lZ3T)+$lIa+k6jwc!-izir7L!gLSG{aes60oi6 z&yW0ga^a76E-wA`;&$c2fg6vD3cPa8{}!^O_O)2j@yKF4=nEUr17E-A?M?~LNy5?H zL>95gZoz&pjIn^nT}yH=m`Pu=J}~O~!({7_%kd(0Z&|SuQh7?tS`hU;hmf zeZ;_c-2+{oc*=#eZ|{eL!69E&s! z0N&E=dC@*CF)j~pCPEz~5#u*Seh`tLIHQa5)QoKDd1=cG^aRWU9SUT%l7Qyi~E^_K!dPmT_@2w|CFMzU||ozu!3jC^wE_HI!Hp zzzT_rS@zlQgoe}SPOee5$^sbKl1C8$GcF9+Y(b7QAwfrDg15{8fG1`w;MV$6-Hg;x z7w16x@f8J5V7#30IN7FVWT0fgf?p;KJePG`)5fDV@DZZFb~J9=Ylp zDz#X)8Z^bpa1jIS=h*NsmBEf~iq6L3(Sai7zn$QbFT*Q8+NNg0PgJWTHsN!T5+=lW zQUie8@Tbce9_ALF*2=RiRxJ zp!hR`pMyx~PWDWVW-(>?;9+zg_70dr-3pNMLxX%Nf%=caRkbySIxaKrt^h$l<)HWW(p7mZ;cfi$-h_XPOHUvuFVQT6c_J z9fZ_pk%otg-}W>zc5kFT@5R=c_b`8*_u$tpMbL$(-+VgZ}aei6}QCLfm-k>0>Eoe%l*-WniSv0K; zk4pxPsIhla&o_{(dT<}~iof$kZ_YTZ4c;-_o?S(j5il!?zqV2hRILaZUs)!DhE7!D zeLe<`r!;a^8wTK1UA;?qj)6@5NCt0R_%R0V^6MV)f28}T7gQM@=F_ifDt$b_Q$cdb z@UK7O+gbC#BAGkz%99n@*I*m$Zt@LWKQ!&ASdXn$#YSNdqt7vqOq?V#qg*jvac~eSt9`xyc24?W1mi=`3%`Vjf6658j?V@nvDrq1tM@iL_80W zedkLV0S9Q%jJHkUHE5fg#0N2wOAHC`@DGj5|FEsU9-sMSV zY)LxbGiGkwO0R6)-N7~{U^lRDFw7M^RLwu9wG#$^xPCzK%W6J=x{7-WT9X;Ca#_6YOFz?jHFZ2^dp0$}Y#;=cf0gMosN6&|rQ z3@l*Pixrk37Ap;gz9Dz2-h!1Setcv(xJ-;Wd9Qj9sp4Yi4bqcgY}sn|#tn>+aXNjF zoF73oG#_H6F50=?4RRq&=+yu-;(@TFHlS?ySY{wI8fLZ{zeS-gcdrO`EzXDn<}$T|oIYS~QZAkPf8H|Wa9 z?irgL{N`<`4E!CnjhLhk`VKZ)uGNV6NBZBsmA zdtS+T@opQbueRQpxq(34Fh&N8JV2WI62ohuE#9L34hDYCPP?9=OkyuiuH0E* zGZv4z&DDIeb!1{OX?A&hr+x%)=Y*8Yp`lIILS|uZeau19C^JB7sUOg^W3WZ#rjk}n zTZDGww-0Opvw)N#Oy?uUSURRwSkuZ< zBfIFM79fYI$zAU^=(N*uVsD6OGMO+(vbm^XYJs<3BtN$syAr?St@0%~!aO2eD$7PdFWoL6`>+-?Z1$Y;)yA;et zAmy*|&7eX%um2`{R3tlFv!Hy|l;-bpa9Uj#Kd}#M0)r7|iMPq<XEr&+67o(U9XcHD4RIP+%lE;U5uWcnngKs*k24|-(A?q1yJsiO z@tFbXBUpO3Y{e=SLRk5B3Vpp8AD@#Hs^_FCwqQV%SQ#GdCl8$ki_aXNU2|z(rXi|R zU3u;I_-(;vj2Vmavbg8z<6ZdesPDNC*z_99vHFN_bNns_z50qBMszwm{v@+X`=s3i zWT0IZ6jWG;43!=5x8WH2WDj@G;)1^Pb* z5V+8wumCYHu?{sQ`Cw#O6G?AOBB7L}SiQmsN*P|D}JWIETHO}9!vm6oZ zIp}8!1481sBSxVNoyl(5!ZDz@ZKmV~gL89iA;y@M(zzITf7T=|d&F(;kSjUfuOF&Y zo8v8g`c=JabevlLVdQDL3FPdeZPaa+zQEY(fc-=FR4vOgp62te!dfE6nwr7SLZnw6 zMR+~0`P$hPgRfG|xQ?qBse6!_4lL5X5lS+;v)Oe2=iVNFx=zNFwx9n(QF`}=!%V=; zSe_woSwU1Q_GkWt4EKE(FjGRUEAPQ4$wWeV)ZFalRMm`7&J2l3hU@RgEDhb< z3wq=rcL~a|vLrv&0+`DDZSNm9kJ+`2f%PUouK3xp|L7@`$N@v*gv+t33A=o3d7reEG6rK=X&!k`h;5-`-=~{Gz=uGLmu{)S( zb%ZY_nrVSuK%3F{$YHYXx+P_6Hv-I25p#pvjg?vxQgzs)1hbuS^C#z+(polK4P*l0 z?089%${ayhPO{Forp&2bq#?c?Rj`OR*U?(f`~8O==Jxvb+jpw0bMKn&`;8d-r}`rC z@5%PEZyvc*EvW~ltmB$lgeb45nHl<$>#bILYL+>k)N4<~%tBcJ zS7fxC!MzI;f-eyzGmj8kWYdkofLt!Wo@o~_e$STcXf&A)*d58is|zeFOAef0eP=cT zRZb?5^m$w`lBP3XI&CyQJ}VuZ^pNF6p4jrrv7Xnle@Pb&SlsTuAPQx$cRqB3~G4y>PYc^Lt zzluWCtj**$ z9kLtqw5+z?>z=VJTHAb-B|Up@WvA=v#JB3+gT3{5nc%;-c&UjimqL|$=4NcTj(gZH z1xa+0TZgcQoL}rkaf?Y+<_)YxfMY;*z^UnDr@g7Cp0LbN1vbWAQt?-zYNqL$W<6Kt zm{z~>CWCvGgb42Hax{RX5~KFJkx)Tq%F9F(^f8#|78VXwz~(0ynifp&=vFz+|(MWU_=7byT+c)nA`VrF`=fv6GZJY5DDzHF?* zyC6NM8peUk5l64=#P=GaBm>fdL_>WtM5=a1MfX~KR5RW08bo}GQm+I~x$kk%>H3e3 z;j(#itIT!9&xuz^neU%be+d=7VU9pCpoLVtjl^n|Z2$6gU0;W$jSC$Z6n?>x|eb#Ee49R8lL z&O6~0+iTr>KM(c_h-wcy>D$+|^7Qm}Ya^TL8G(FT-|-v4m$!MjRs(6MzI!L=fcYO7 z7o}#JWk~Jo5OudbQg2>nPjPJY)V0IdQNAsW2IMxGg$JOnSE-JyPEc8*4p>c7NSTQ5 zsB3!M%}NTW6?v2v30O1R)@XUI)nmp6l^29=nEHK0vkLQL=KUDc0}6>-7#FW z92EJsqkgj)NYJOoOQWQ=Y;cfcA=%Y%a;-s4`-shqlBO@|QO?I4hzuP(jl2h=YSc?-b$o|d0|&EER7ort!}XF8?0jn z+BcoeO@j5*A&y#;UigPN=EQ22<+apCzWNHCFV*ObeFg(=y$6;Aw#fb;D8r~|vtPrp zKa>kX7`*{o7I@wa|K7Qy_BxTMJy7%D@M-yp{ z2Kmb`F$;%n@WFG+%iD57{F9hD_B;#MqsrYT%(e~!eJTl3G6xyi>QpO?g_>d+;0oPj zm>c+XX}#FP|Kj5|X&vke>U@M0bWp1L;vLh9=sCy=WYG3cf7-bEzh?w4%r?Vh>V)Nh zS12^84hRsP%(FR1)2x~w_FiRtV5{`K;XHoaCqx9o?vUH&Hl8pH+ZxTC)#p0&ed9M6 zZM;S>caX(QZBF8kau9H(C#q8wiJ8H-!D538An8y=udCol()<7??ee0gWqhpr2=YA*8WM0~1|2FH_s@|rS9dCwh zIft+gZ`IGaS>cLY#W~xiV>8-!$=&zcqV$Pl)O(&3Q2T^4Z=yfQZCc2(hM=tBt5XN6 z$G6<<)$DO}U!B#Qk4eEIqLZM^-`~Wn!=Y}q*R%2bIR7m5g=M@m*bDUPcs-WV8VM$U zS1{}ssE;^J6@u)ZrFb%>JqLz^8_QMgI_vGFPw ztVA|}sYc$prp#HnJ*LNEf`rnJS(@tny5}R)bbHjike}^twhRmdTQXu7)vzP=V_QjF}{#z z$W462sXlrOhB7kpCDx&XV+{WR2i%rW_I$8vWMFSrYPbSyf?1pPmLp}?Wwu05LBea0 zP9H5&olj>Xw2 zJlZGK@&T;sZzO!~H%OoX^pjZaD1dHm)sXJ~8C)S!3SzwH z&J6rveG^rT?W07xZTHBOJc})T=q_V4cr@n&4%A|h~(%Rnd%H zxS{c1B&(sTj)J7O4|EaokNow01I57e)W!6!w+4*^6lewy33CKW6@YQ{Dwzg^tGcBC zSiq^?eJZpOMHdZ@qJ9EYUT~MulzPJ)18Fxt{U5i`S)K+^*~*vM$My{$soUY3GmrzM zq{;m}_|_qQSG)!z&#(%~LY~Y|kN!;>+=s~&l@8Z~TC|OAS^puG^gHZ9UwX(oIfr=M zB(MxOhM5FejQ^5z7K{=5T*gfCKFY@)0I$mkUM+7({~96v#IU*B{XvwwY*j|Zuj-!d z9~eRR_x*e-V)p7nyzi8?yKawOKk3R_mOsQN<&D4kc@lGN`}z#U#3OrAmUB@O&Kmd$ z91Gf8xI{qjrlrLz7uoi?P9l?}J=?WlhR936~&>(8bpk_?R zIZ~Y7uhI9Z#9c4GUu}jqxoh~-%+Wt7LQIE#J1J19REV(^;=GZ%X5UmkSm?&a@oNsF z7L!CSk27-83aS5#o-*&{uF(nX#%fiAx5-R{v4Z{i4{X-2{y~`q&gQ)bk{cgn+z4Ki z*%JI_?=3gHkzw2ByKJ>~9FRsFM(RxZvasbuq`sB*!h}hCK}3*u(9jac%n3!wW*K<} zn5nS>j7XXLp#dm<)2bPZc+?i)kPPFKJTdrU8KEf_7VT}oSFLtdPiqV!zEBV6xc;jP z^~s;cv%;m!2zq1KY1FB^brd3}G@JRjidK8&fkYp@Tz9_6N_mP{p_3M0iNgBJ-km43 zMke(27W*A@1vg?4z-;7bFIYzcc4)cs=aEOGQ(gME2JPRX?NA zX3@(6JQ_k7YD?r7!T#zLtXm&-o*1K^7&-1;H`?DUpHM3T~cC7Z>cTc#qi&TvtZB2e2$nvnecq!);G2kDjP|p&w6K& zz*2*A1rsq%t;@NyU@>agYd`3B6*5He(|Cc?|Gj9}T|zQ@f0x?xX_83DTVug7kg(=-x~iYD)rH zVdY6CGOQx5842Q5qGNsSXNt)F@J;Lk{0y^bx5Z>kDz=#CFbYOy(t+6tjgWV|CjJV& zpf4``cty-8R>@JmmM(y=x&toU1F%$;Jd2|FltNj3diTRvmqK?4AM9Smgt zN4GYhdEL>4ob=!k2TTdX{~QsUVuyOD?EE#pNU(X02ok-JVZ9p8q*OJBP4nErgMqUu z`?ncxd>vt!^nW*hzw1Z991vNt8=qSph#vy`rU7*Oy^SJ63Jo`!^)zdw|;8$;dAt2#iCJ+efHaPL<@) zX@ct$LS!Wa@Cy3Y+(D6C`=t?D5pq!(QFmT(GlxI0DuzVGzIhnATWykKsu;fg^M1Ee$VUgT&2&@sn!X9 z@Z?pjQoYsPatL{63V{WVa=R&_S~BOEofUWfxm=YTy5w?nT{l5G zVQeATYh#&Bp4DO|KQG62T>twUuFUCk&wAgqK3^--f-8erxk*@tvy4;#Z zDY4w1)?!Km%U_qROvdeWQ#yWS0nBG*2R0)gx{8~N3ZZalewi)J0AZOX+A{3B>V`XQwis+ARI{*TjNkTYc^t(05PRCtzVe}1?0>xkSc?gq zf{z3LCtx^s^iuc`69p(MP@}NRNFQFEB;~QYc%i+#N-Ram5i*;oOJN$U(3@MIN|uPP$a}^_+_)zLfmN2ouL_y>>Aciii}%B;>3qzR`9nd zZ`Zv3o_wdzt(UPE?A;kZ_jt%OVIpGlTTk|ahHXuWBZ;e%ySIu~c3N~UhBv;L5kLAd z@zH=Sg8bdXeFav3QJUu;k^Nv{d51DppBdthfZ-AWnDR=JA)i_$1{Hj8CkbpE!cCs3 z2k%k=U1`|bV=OT0d2){| zhiRpRdI4P~9GHlg=@v_BN*@|a(758GSZ-!X>hI<0(mpyg7 zqgS{Gds1BVC%Q*spN70pD1CasF5__`G437Fqq#l{wWY}RFgM-@bj>oQ83*XAV9my3 zzN7skTlD>38Wz}(du9$^Mk=th*!q!X&r>j{u%M%e~x5kd3KSBG2 zH({Y4{9oMGaOxqwlfD~4^JrXVi;@kDam6lu*aoJ@`Axr?&0u;urXf7=$E&R84j^!oCBK@mxvZMzd84f z{AGzv#PP4^FZv7rGn0E|HPiXb1kpx|MIVoVl~(LDXS!E?+sgiYZD&yYUP$$d_Faie zVWn!(2->Sd$5lup?F!o6hNaNv;^vTXaT7NLYpj|>Y9QTf>?X5n878yIQ*-`M|AlxX zYtg0fRjBr&NP2bN=yK$XFU*8LEx!f-dQV%9R0`$nYRunCeUmELyP(?jZg7!FtO3mC%~)kB$1w2m5|>-pH^ThO(HgT zOCk;2r`v_`0Tov#6iF-4HP{WffcTm>LJF@XSHTDW??)Aadg~8?AEiNQ6ZF(NA1=0H zq|aN(6#f7|J(^>xXjF-hVr%)m9tr|*Lb1o-|0H0a)?Zw&xI+W)(bUr4(fxMm6`fzw zx!fN~=Ers+8Hq>4G)^SCO5ubKZh|g`WPiEsGUY@2he6$@4D#Y|_V{13TPQxMyWMYn zTaO#Dd`tiG*RO2;D*fTUuH|Nhhk|qKbLoJF*=g+M&3k^2AOb0^t=LiQonlt%qad`9 zaa0pb!K0vd*GRcDq^)lLSo`Q{!*RF@xsuIbfX;zGE@F0ZHdJHw)f4FOK+Le7+;yBo z`uOKOq~9|1tFobaLzlVOXgf{ALK1{G;9D!lZ0f&9YNTw==xu5s*$2@)SJ&{Y6Rbx$ zP+0lm=T~@}>D3aB@uXCMIcVR$rgbZD65%CU5xq-VVfmKdnx(At+m|ul;v36hY9BGG ztXxrv1?KV$dtg&lw5c3tW8;kZLv{4u-7ffujk|VSS$1k*%d^Ju&x$Vdp_&JQZL(k1 zsmN)`rC;@9@y8pT;R~>ofE6%h9em4)+`zPC>e+if;)d}~w&id?lS`5I$=mIt30R@L zQrdxyX*&5CA>(2{ce59k&X~u98RjDvqt8`*7Z{Xk0rvVq5p2=$@eYV?*sV{XXm+8z zTkvbhf;dxv_9)NGqPwv==9CQ(l+5acvjj~v{8z4*6Zy^eHnrj|9jt6f%dcfj&?k)L z`P>d&sFa7D)9zy6!{z2?pN*dF||qhqoex5}hN zD=2x-nrnz%ktri5e-yjl-ga0&$10fQ2hjt~a><4DiHmCSZ#L*BO5G>tFH}|}`p-qe ziYK^%4yntr|JUA^hBc9G?J6K>qXwmwK_DtNju;V9kRd86+JM-tBBN0w4K~s=paKR` z(ujy40b3aqh)OFelL#^#h5{LafQg6@kRdXJFb5JcRZ>;Ag6DkS{hs^p{=JvYAD*hc zt9I?Z)_T{w7Hj)u#hD3cW1%cxQFcA$3F-cTu(e+T6VgiOLplIK#d^r}7h3lk07Zll19N|VQ7KhU#9FQgJ7+)fFux!}Ib2Rt~ z1!76fZx7s{c2NRLK3Tw7;S=`aWTCNy{r5M8NW;qTKz;h{3HQs~j+QbaZ+!CPe7O4% zn{+R3?Ql@URe;8l@4Efq2;G0Mmsn_jF4h&?&7L=o@B0#61$k4tSZNj^SvAl&=QEBj zN`jO(n{dqQv60&0JJd^d_C(2jMC4RA)Fs5BQv}r7VB`rc0SoXC1!4kW@3a+l#WX~| zgb-0DS;JZPn)uT0HSsm*n(@V9Rul62G%{&DJIxA*I`IpQ)bN*bW7GhTjhk1D-UEw} zjRisK%^_iXg`=JVygyU_fNCr*gi=rB;kv|^@`<7@$h%kDi9(k2uGrH%H$5MCc)Z&VjMmql(L4sso zV1xw?%31ru$XYw1w^OBrcnQ5d6+BF z->Sn_L9!-Nsw7y7UI01>!iqn?x+Nu0+nye}`6}!sCSB+xlYH;a-KoLW*4%3DnLP2%WD#z9LR_MX3l zvRx`huXUw2FT)#-*I&#R7M!|mB`=6!)O0KxX+IQ#Z<^s7VHRhkYO<&_(OqnI%;nWkF9$@gIO2)5UbIY zDv!P9KUW3;RAGALju#3~7(0OqP;1}px~HFGmP^#x2>cGmtgs*8P=uUtx^EWv?$vZc zMKKH32VPx}ty=l3P9$psOCB7^gtH(W!#-`woeehQ7I4Aym?|Q>{l;i~tqU}4FFWol z*pYEB_EnJ8Xw=0mcHP;O@s5p!7X+Vp`YVQQh%0=MAMP1YW+&&v3t!=_W`6N*-hG|G zD4VC)&D2{sNP-jD^Tjz3?~#Kj`;-Ca8C_0s28AVB`TOhI5Z`fN1v*cVufz^-=C6{o z5LcTvG>(epL!!)ZE_m+DuXP0yfgtdY4t zZ~RI2*Vn;zjKlbt&B4bL8}T9S#dA8nvMGqpSMZAfmN*59FRpGx%YElRa<*i3()g63 z6#1gSu#C$yk;@4-9_+B0irZGrwxe18qZ%;x8!>&)E@pH6=+lX$61y;&{;lZ^!5fd?1l@AI^7N#ggYuepaM`qKq;ljc4TUQQn%(B zfL@513v7?OU>~A5cxlZ6r;*;;YCeI>5%3)%fNf|B&MiK16K(RHiFW4xqwPMMTD48b*jIVf@aZ0d@Ixf7JLS$ ze@F;FF^GOf-#nZO>|M6^y~t0o7%WCxTTv`=lZ45EC$bfr+=nHdVC%}4YhHubGf!ez z!X56HJMc*a5bTE#ZsiM3hOWKzB%f|wIFIGtVfA-t)quxi?NjBt;66l`J^&$%fBADz zoY#y9Fxuh#=x}zuuZ_s_@Tb?L&8`EY3Hr(?rew^w znu)H3^TLmU&=;;Wp9i=S1sHN7*u2N`s#0NF9=b5OO0u&O1Q8zqWiB^0sEd;cGo7Gv zP0jh=wL9LrOKA<1?F=xJ<_61z6MUK7T)GSud=6Ip!iWGa%(O$=R(=IoB?`LCUqm4O zW44ctua6bQ>-aPIq*;@vzyvwbLJO)0l#qAq6(su%RAkGG)M9smq67H;*(%-$yBsa zmsw2?$*?(>Ui_z(pr& zRBkRH%@s<0y<=TcfU{neu4oG8RMqewV3wU9j^-n;kPUR@l+OURVz>y(g(iz92@%Ov zNWTc=MAJNFFbwC5S;VP1uP=sK(>+)j8QOcadqN@!or$LWb&i4_UKu_a$SCklr%%LWC$5ZvYj(17)Tt|3*IK+d1rzE~QIwQ{2FOAQyQ3UoDSvMfs=V+*w%S z%Lb^P8Fmx|$z5*Rpl~Tb-}ID40Dvhnu6^;2!gCVnio67KBg=Edwbfa4P?Dd=E4`LK z*}d+fk&)V3bb0s~Fj_nOL_bc~PfcK z$REOq8~@C#%)#r8Wl=|~2rR$_bhF9E@9_3*jqE|Mz!E0r*cAHK32*uZ_Rv{V={!8r z+tuijQ4A^yrKc1dcK&&=q>(czqRka6iYNA8WaLA_WT;Sa3KQE0O7qN_z`ZVhQW!KI7TTV-b35)P<#tshOZ8*#wNOPH5WHXm!NXo~FofIBTtp3~UQEf{B1Bt?%E zpMzUk9n`b@`>?_z=Q?ORCcg}xn_Y35S)}t8{~Q>4nppUSc7iGN=D7e;-v!t~5xC5i zVVJ`dGrI9$HDEwEq#;7yaX>7{RJLGTlmWpTk1b-WX{HbGgDZi6dLmT5EHK))}IuW)-r%?Hj3zCX*0U7-oZTf7d5-YeU zK}BDYDN@CUQ_Fuy0U&wc94I9z2*^4~Ks=Ur7p%(0Tu|h)jD~- zSc^=d$s7)R8)@d_VkaD(uXgdJrgO2j=<)Xlo&}uLUuCKz{dD5s@$N3^s=Ez^+u5r!9;l^Pg3LT+xp zQK6B~+)Oj09G|VQb42^rWs>rNEFwHeha>Y*9$;O%7Gpw`=!5dZqm+ed{S56+5Y0z?H^n;o*r=>_Ho+Xlw@H!YH>qyEi-~qk`(M;g6wD9 zxn=^t!rP&%S2|<~Cw_5_6!4^O&?~4yV?M5o>@lP9jAb#N%>=qajk3*^@9xa+jnm&r z-9H>ZheQ15cvFEqGdT|v4kUK-m2GIi4ke!)?2!Q@@i%cG<`yVtLTHDV=8kU(u&&=8~5HBz%Zx zDG)Q(wH3L8Jn7vP9l*D7b?y!P?r$$S)v0vyQ0%~u~WSUH+KSPKB_S5P06^JpXY6s z73q`pkvLVqkD8?#DY+0hoMyvl?(YBwcv_&A;&@_VCb^{(jah`-_%GU`rsc9+LRve$ zyPYVs2urwc>sQ^Ut&x-#;sR+=nokj{JRz8%>eY&P)o9tirdy1`+9G<8-5!dY-g zF^-;-YofC#Q~K|>c5DGV@ePLyCJN7(4{LX!cyD0A!=npuK?k-e`2p;DC#jS4CG(_+ z2Z`aFFPuIG27dv67)?MZ812zPocwi~R$TxiQCF_2E_tM(DtfG9+&mPK>BS31j@B#k6|n`h3D!f0X8cz*i@iE# zC6JseKl{Jwq-x;2>PXuFcmqqFqp%aC^)3|j#Y_kL9*m_i_Nk88hPkl5;wj}#b`)

    ^l z{#ApQgB=k-K`=eQ1u)gcZ;AfyQNQ-i1z!_$v7Cc3I9F20f{;&2c&+@;q6M7It|0=a z;SZGwoQfV{I-k=_bwz~oN(rMnXwDQ*zgZqQI%pMo6_5;8^CTKTw&idk_39Da`fs>h zxH~4ns*CSM=o_o=9BZEUeGryNOJiUhDllji$Tn6Y)2lTt_JIkf*%6c1JsO09X$#pU8I?_ zh*hm3W^;fz6w0Dmwb)nAp^2OQx5%JPE$9FiasyhcfI2f7HX91 z!QVm<1h8r#*a=Cny#9+z^^dkuH*cd2_YZ5RsArD1bsT3dj(NU+S-y1LoiuRmdarDw zu8I^ZnI)c_`M_>ZrorY5S!?ZXWq=A7ESzEdcB0}1$zAM2Xquo4NYBxeXg&nW72|vv zkc06bJtVQiT91ma5%3uqK}m9b2U&2Ur10O$>N}{CQv&z^UJmQoys{`)6u_G!0Hh6K zr2Xuectq#wq#T_mjyx1TzSUi%5lLujsS(3KOBMi}-+4o2F}_XPakcG+^|woP?IKs` z2Q}@#bwbUhCjV{1bD@F!z-*7Bd#}U1@#J$GQ+W_)=Gs*P{3=9TIKKJhTZT+w@(<;| zFjH)E<Urf)A7A<_d!8NCw61w-Xiqa_^vWiad89h%CC084AOjZmqEMyUs*d1n@(n&X+D?S! zo2hM$kxU4e#hK5fY(k1w3cQ6~vWHLMrSOCgIF`9|cJ>+T;Q5P=^qW!HAMI?oQ3#s@65F0ik7Gbk z$1G}pE~HI!yG6SbZ{rck===5GcHAAV@OK)1Zg$^tzr5+>$ZO*DELnnLdrjG_#NFl* z3LDi^=fMd%u~g+1a1W9{T{?R*n|0&><0<#^;?8Y2#{2Gcddy29Pn7V~igjaWS23=^ zrb>8YbUhomMHSl;l*^~|8KX%bFIHJ7hD!_xCql_cQQxsxc{BGFy<4!aR zn~^k#fZWAs&gYS9fHHW&L!zh7J;m0^)a_Wq#|2c&X3{%Jnwl5Y=Ayg~`RDCQG0M{s zR--%fUW3YZXQj2Bu6YFDU2OeAIlw4Q!0#0h%rutQ1vcTsMgv1+b^l6|WoC$$A_cyN zBR4#{fQQui!}MD>agx7F1AEskO;VE;QW{7(ha&c`jUcSv7HN=X*U-IaSM;lpk~Y>q z%lX!#5Y`yV2?`=<*%)TZMF|7@gk?;^TJ=)<`9pb8qq0UD<$5V?#Tw&yrAFloVlYv` z{5%-{DH*FXp)?qi5LOC%<0cy)u@%gA3;|# z>F<0G8GRmf-V$FK{WFBdgXQg6L7|FdsgQK)pfH_fcm3(P-gzJcjzt?4Z^0$?jcft9 z z;3f6dP}_EUYo7-ex`rK~Pv$8jJ<0uj+;Nv0GJA`)&zSu<$#RzM`_tZ`HAoM=<{xJ# z%2T2&(K~zU!BZR;(9}Ri0Zq*Sdx|o^o$%AwhIt+6Z+^E$%LzT`+AR4p1N&!TH$UvTP7`j^J#BMDyEJZZqJ;Zfd3wT4X}14#yITQ zQL<=$cXym{K$-knfW zWp&$k!#AVC{EnbxN21@(h|Bf(A4~I{AGaW-nKw1VMi%f~qE17i04tK!kdVzKap#+OMG&AA?Q!ULix0bz@@ipV>h1PO<$IY?1(t&S9dr#)Trjez{O=o z!ZK-_J=1t{35N=W4ldg{h_Sxw7UPatw;+2>zJ+L}YWk7S0ogGIn6ruB`wzYS_p>E} zz@8pcq-g#S(?75zX&6hQXhlltn7YAVG`2hFsjxj@*=(a?baCT}Ho9zfJv%+nZv!K5 zJ95RT&fe>CqlW>@k~4&NB#cyrbsS1uNLctky8nvw?0uSflclEaBJ=A!nnal;j%Jpt?OJDHq2u2 zqL1AdY~0P)e?Jbp_&*<4+8T2VuwSoMV;H43R<5Voz1(kB&yi=r z)YI~|X5{%yAtj%}3A}!COa2H0ZV7v;GBE$mznN)u?BXu7)EjBG=z-+pt zY>NMr(U5VCHaqUQQ1HTlasV?Qm+@a!0}zcLdiRz7x znPDAtGOsaoXj@maB_XiI3>O1P{jpB}87~{7j~==0$1W9VJizF#ud(6-kI|_2rT5}A zBAOufeC~gqCgU`@+4yZ9nCEqe&t;b1wb-qEP@6rL)T8WVJ#8wd#KlU-{>MA;C1A`Y z5o?n6glF7WFjaWZU5Y|oiBhL;$@3f$@IHmh>uI__^l#!j8L$FI&A zr$CwcX(z(N7To5#?WM%=?a)K&i{)Y1DieZKQp2OL#s1NOtJmS69(+!=wQN($azWeH z!oDy0=R75s@Z7<6>;lmzr|1^ z`G7wHW#HImbIB*{3>?wch-2Yl^T|>3=F0xvl-)U1!Sv^({&$!(qgzze^`a9G#-~^@ z)Cr7`ndSYctnvH`K|z$QsMdw}vZ^7bsQZq$l)q`2T@S|*RMFmwdLF|Poxlbc@)p-$ z5cir5JGq<~Mv127H}eoDjMwwGtFwC%uq*2{;_Y|m>|CfPBf-2$_qWaTqL7P>s<7R3 zxVmlf{6@^OESo;E?l0?Ur*+msJ!{@q%yf2Sy`d@1ME6Zwr)|j2J@ct?r{+R0sG4{+ ztnwRr-)&VyK4+7T_73BG?;KjMcIew>wWW8>bwBS*(%;qd;P7%%kCiX|y80=ZhJ5uc z_wCMxGatO5df@AA@%`^^ePP8=hUXn^46Z4I<*IOgEpnT#85!%q5;1+VJxN@j|~*ue`J6`<+uR1;lE`SFNQ{TGC(Db~GF}FmVf8 z`|NMly^pDuP0bz|J+Zit@MyPfn(vA|qFPK!&KT4kpK5S!Yy8#jZNcBXZd1X}*$NXS%a1-{ZiBEWd#N6us#I!3uzZCa2Mh97kdy`%|8YXCXXth=DdF;*# ztlwiez*=?PmhW;!8q?;LN;NlH-@eNj+KGQgB+pElpH=iFvemi#eb$*g^JU$^Ygg)lUva9+E}I&?rTGZ#Q^5%B}d;SYR2k?{6=>#%0|nY z@H4hQL@n&7R;~5pX<_Bp7(A6`E6>%bsWx41YHw(fJi}ajDs=E-a`!FNu~N-&`j%_& z@YI diff --git a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/test/cp932.txt b/vim/.vim_runtime/sources_non_forked/vim-gitgutter/test/cp932.txt deleted file mode 100644 index 80cb10b..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/test/cp932.txt +++ /dev/null @@ -1,8 +0,0 @@ -The quick brown fox jumps -over the lazy dog - -͂ɂقւƂʂ -킩悽ꂻ‚˂Ȃ -̂܂ӂ -߂݂Ђ - diff --git a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/test/fixture.txt b/vim/.vim_runtime/sources_non_forked/vim-gitgutter/test/fixture.txt deleted file mode 100644 index f5c6aff..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/test/fixture.txt +++ /dev/null @@ -1,11 +0,0 @@ -a -b -c -d -e -f -g -h -i -j - diff --git a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/test/fixture_dos.txt b/vim/.vim_runtime/sources_non_forked/vim-gitgutter/test/fixture_dos.txt deleted file mode 100644 index f5c6aff..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/test/fixture_dos.txt +++ /dev/null @@ -1,11 +0,0 @@ -a -b -c -d -e -f -g -h -i -j - diff --git a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/test/runner.vim b/vim/.vim_runtime/sources_non_forked/vim-gitgutter/test/runner.vim deleted file mode 100644 index 630693c..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/test/runner.vim +++ /dev/null @@ -1,162 +0,0 @@ -" -" Adapted from https://github.com/vim/vim/blob/master/src/testdir/runtest.vim -" -" When debugging tests it can help to write debug output: -" call Log('oh noes') -" - -function RunTest(test) - if exists("*SetUp") - call SetUp() - endif - - try - execute 'call '.a:test - catch - call Exception() - let s:errored = 1 - endtry - - if exists("*TearDown") - call TearDown() - endif -endfunction - -function Log(msg) - if type(a:msg) == type('') - call add(s:messages, a:msg) - elseif type(a:msg) == type([]) - call extend(s:messages, a:msg) - else - call add(v:errors, 'Exception: unsupported type: '.type(a:msg)) - endif -endfunction - -function Exception() - call add(v:errors, v:throwpoint.'..'.'Exception: '.v:exception) -endfunction - -" Shuffles list in place. -function Shuffle(list) - " Fisher-Yates-Durstenfeld-Knuth - let n = len(a:list) - if n < 2 - return a:list - endif - for i in range(0, n-2) - let j = Random(0, n-i-1) - let e = a:list[i] - let a:list[i] = a:list[i+j] - let a:list[i+j] = e - endfor - return a:list -endfunction - -" Returns a pseudorandom integer i such that 0 <= i <= max -function Random(min, max) - if has('unix') - let i = system('echo $RANDOM') " 0 <= i <= 32767 - else - let i = system('echo %RANDOM%') " 0 <= i <= 32767 - endif - return i * (a:max - a:min + 1) / 32768 + a:min -endfunction - -function FriendlyName(test_name) - return substitute(a:test_name[5:-3], '_', ' ', 'g') -endfunction - -function Align(left, right) - if type(a:right) == type([]) - let result = [] - for s in a:right - if empty(result) - call add(result, printf('%-'.s:indent.'S', a:left).s) - else - call add(result, printf('%-'.s:indent.'S', '').s) - endif - endfor - return result - endif - - return printf('%-'.s:indent.'S', a:left).a:right -endfunction - -let g:testname = expand('%') -let s:errored = 0 -let s:done = 0 -let s:fail = 0 -let s:errors = 0 -let s:messages = [] -let s:indent = '' - -call Log(g:testname.':') - -" Source the test script. -try - source % -catch - let s:errors += 1 - call Exception() -endtry - -" Locate the test functions. -set nomore -redir @q -silent function /^Test_ -redir END -let s:tests = split(substitute(@q, 'function \(\k*()\)', '\1', 'g')) - -" If there is another argument, filter test-functions' names against it. -if argc() > 1 - let s:tests = filter(s:tests, 'v:val =~ argv(1)') -endif - -let s:indent = max(map(copy(s:tests), {_, val -> len(FriendlyName(val))})) - -" Run the tests in random order. -for test in Shuffle(s:tests) - call RunTest(test) - let s:done += 1 - - let friendly_name = FriendlyName(test) - if len(v:errors) == 0 - call Log(Align(friendly_name, ' - ok')) - else - if s:errored - let s:errors += 1 - let s:errored = 0 - else - let s:fail += 1 - endif - call Log(Align(friendly_name, ' - not ok')) - - let i = 0 - for error in v:errors - if i != 0 - call Log(Align('',' ! ----')) - endif - for trace in reverse(split(error, '\.\.')) - call Log(Align('', ' ! '.trace)) - endfor - let i += 1 - endfor - - let v:errors = [] - endif -endfor - -let summary = [ - \ s:done.( s:done == 1 ? ' test' : ' tests'), - \ s:errors.(s:errors == 1 ? ' error' : ' errors'), - \ s:fail.( s:fail == 1 ? ' failure' : ' failures'), - \ ] -call Log('') -call Log(join(summary, ', ')) - -split messages.log -call append(line('$'), s:messages) -write - -qall! - diff --git a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/test/test b/vim/.vim_runtime/sources_non_forked/vim-gitgutter/test/test deleted file mode 100644 index cffe927..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/test/test +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -VIM="/Applications/MacVim.app/Contents/MacOS/Vim -v" - -export VIM_GITGUTTER_TEST=1 - -$VIM -u NONE -U NONE -N \ - --cmd 'set rtp+=../' \ - --cmd 'let g:gitgutter_async=0' \ - --cmd 'source ../plugin/gitgutter.vim' \ - -S runner.vim \ - test_*.vim \ - "$@" - -cat messages.log - -grep -q "0 errors, 0 failures" messages.log -status=$? -rm messages.log -exit $status - diff --git a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/test/test_gitgutter.vim b/vim/.vim_runtime/sources_non_forked/vim-gitgutter/test/test_gitgutter.vim deleted file mode 100644 index e75f21b..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-gitgutter/test/test_gitgutter.vim +++ /dev/null @@ -1,1113 +0,0 @@ -let s:current_dir = expand('%:p:h') -let s:test_repo = s:current_dir.'/test-repo' -let s:bufnr = bufnr('') - -" -" Helpers -" - -" Ignores unexpected keys in actual. -function s:assert_list_of_dicts(expected, actual) - if empty(a:expected) - call assert_equal([], a:actual) - return - endif - - let expected_keys = keys(a:expected[0]) - - for dict in a:actual - for k in keys(dict) - if index(expected_keys, k) == -1 - call remove(dict, k) - endif - endfor - endfor - - call assert_equal(a:expected, a:actual) -endfunction - -" Ignores unexpected keys. -" -" expected - list of signs -function s:assert_signs(expected, filename) - let actual = sign_getplaced(a:filename, {'group': 'gitgutter'})[0].signs - call s:assert_list_of_dicts(a:expected, actual) -endfunction - -function s:git_diff(...) - return split(system('git diff -U0 '.(a:0 ? a:1 : 'fixture.txt')), '\n') -endfunction - -function s:git_diff_staged(...) - return split(system('git diff -U0 --staged '.(a:0 ? a:1 : 'fixture.txt')), '\n') -endfunction - -function s:trigger_gitgutter() - doautocmd CursorHold -endfunction - - -" -" SetUp / TearDown -" - -function SetUp() - call system("git init ".s:test_repo. - \ " && cd ".s:test_repo. - \ " && cp ../fixture.txt .". - \ " && cp ../fixture_dos.txt .". - \ " && git add . && git commit -m 'initial'". - \ " && git config diff.mnemonicPrefix false") - execute ':cd' s:test_repo - edit! fixture.txt - call gitgutter#sign#reset() - - " FIXME why won't vim autoload the file? - execute 'source' '../../autoload/gitgutter/diff_highlight.vim' - execute 'source' '../../autoload/gitgutter/fold.vim' -endfunction - -function TearDown() - " delete all buffers except this one - " TODO: move to runner.vim, accounting for multiple test files - if s:bufnr > 1 - silent! execute '1,'.s:bufnr-1.'bdelete!' - endif - silent! execute s:bufnr+1.',$bdelete!' - - execute ':cd' s:current_dir - call system("rm -rf ".s:test_repo) -endfunction - -" -" The tests -" - -function Test_add_lines() - normal ggo* - call s:trigger_gitgutter() - - let expected = [{'lnum': 2, 'name': 'GitGutterLineAdded', 'group': 'gitgutter', 'priority': 10}] - call s:assert_signs(expected, 'fixture.txt') -endfunction - - -function Test_add_lines_fish() - let _shell = &shell - set shell=/usr/local/bin/fish - - normal ggo* - call s:trigger_gitgutter() - - let expected = [{'lnum': 2, 'name': 'GitGutterLineAdded'}] - call s:assert_signs(expected, 'fixture.txt') - - let &shell = _shell -endfunction - - -function Test_modify_lines() - normal ggi* - call s:trigger_gitgutter() - - let expected = [{'lnum': 1, 'name': 'GitGutterLineModified'}] - call s:assert_signs(expected, 'fixture.txt') -endfunction - - -function Test_remove_lines() - execute '5d' - call s:trigger_gitgutter() - - let expected = [{'lnum': 4, 'name': 'GitGutterLineRemoved'}] - call s:assert_signs(expected, 'fixture.txt') -endfunction - - -function Test_remove_first_lines() - execute '1d' - call s:trigger_gitgutter() - - let expected = [{'lnum': 1, 'name': 'GitGutterLineRemovedFirstLine'}] - call s:assert_signs(expected, 'fixture.txt') -endfunction - - -function Test_priority() - let g:gitgutter_sign_priority = 5 - - execute '1d' - call s:trigger_gitgutter() - - call s:assert_signs([{'priority': 5}], 'fixture.txt') - - let g:gitgutter_sign_priority = 10 -endfunction - - -function Test_overlapping_hunks() - execute '3d' - execute '1d' - call s:trigger_gitgutter() - - let expected = [{'lnum': 1, 'name': 'GitGutterLineRemovedAboveAndBelow'}] - call s:assert_signs(expected, 'fixture.txt') -endfunction - - -function Test_edit_file_with_same_name_as_a_branch() - normal 5Gi* - call system('git checkout -b fixture.txt') - call s:trigger_gitgutter() - - let expected = [{'lnum': 5, 'name': 'GitGutterLineModified'}] - call s:assert_signs(expected, 'fixture.txt') -endfunction - - -function Test_file_added_to_git() - let tmpfile = 'fileAddedToGit.tmp' - call system('touch '.tmpfile.' && git add '.tmpfile) - execute 'edit '.tmpfile - normal ihello - call s:trigger_gitgutter() - - let expected = [{'lnum': 1, 'name': 'GitGutterLineAdded'}] - call s:assert_signs(expected, 'fileAddedToGit.tmp') -endfunction - - -function Test_filename_with_equals() - call system('touch =fixture=.txt && git add =fixture=.txt') - edit =fixture=.txt - normal ggo* - call s:trigger_gitgutter() - - let expected = [ - \ {'lnum': 1, 'name': 'GitGutterLineAdded'}, - \ {'lnum': 2, 'name': 'GitGutterLineAdded'} - \ ] - call s:assert_signs(expected, '=fixture=.txt') -endfunction - - -function Test_filename_with_square_brackets() - call system('touch fix[tu]re.txt && git add fix[tu]re.txt') - edit fix[tu]re.txt - normal ggo* - call s:trigger_gitgutter() - - let expected = [ - \ {'lnum': 1, 'name': 'GitGutterLineAdded'}, - \ {'lnum': 2, 'name': 'GitGutterLineAdded'} - \ ] - call s:assert_signs(expected, 'fix[tu]re.txt') -endfunction - - -function Test_filename_leading_dash() - call system('touch -- -fixture.txt && git add -- -fixture.txt') - edit -fixture.txt - normal ggo* - call s:trigger_gitgutter() - - let expected = [ - \ {'lnum': 1, 'name': 'GitGutterLineAdded'}, - \ {'lnum': 2, 'name': 'GitGutterLineAdded'} - \ ] - call s:assert_signs(expected, '-fixture.txt') -endfunction - - -function Test_filename_umlaut() - call system('touch -- fixtüre.txt && git add -- fixtüre.txt') - edit fixtüre.txt - normal ggo* - call s:trigger_gitgutter() - - let expected = [ - \ {'lnum': 1, 'name': 'GitGutterLineAdded'}, - \ {'lnum': 2, 'name': 'GitGutterLineAdded'} - \ ] - call s:assert_signs(expected, 'fixtüre.txt') -endfunction - - -" FIXME: this test fails when it is the first (or only) test to be run -function Test_follow_symlink() - let tmp = 'symlink' - call system('ln -nfs fixture.txt '.tmp) - execute 'edit '.tmp - 6d - call s:trigger_gitgutter() - - let expected = [{'lnum': 5, 'name': 'GitGutterLineRemoved'}] - call s:assert_signs(expected, 'symlink') -endfunction - - -function Test_keep_alt() - enew - execute "normal! \" - - call assert_equal('fixture.txt', bufname('')) - call assert_equal('', bufname('#')) - - normal ggx - call s:trigger_gitgutter() - - call assert_equal('', bufname('#')) -endfunction - - -function Test_keep_modified() - normal 5Go* - call assert_equal(1, getbufvar('', '&modified')) - - call s:trigger_gitgutter() - - call assert_equal(1, getbufvar('', '&modified')) -endfunction - - -function Test_keep_op_marks() - normal 5Go* - call assert_equal([0,6,1,0], getpos("'[")) - call assert_equal([0,6,2,0], getpos("']")) - - call s:trigger_gitgutter() - - call assert_equal([0,6,1,0], getpos("'[")) - call assert_equal([0,6,2,0], getpos("']")) -endfunction - - -function Test_no_modifications() - call s:assert_signs([], 'fixture.txt') -endfunction - - -function Test_orphaned_signs() - execute "normal 5GoX\Y" - call s:trigger_gitgutter() - 6d - call s:trigger_gitgutter() - - let expected = [{'lnum': 6, 'name': 'GitGutterLineAdded'}] - call s:assert_signs(expected, 'fixture.txt') -endfunction - - -function Test_untracked_file_outside_repo() - let tmp = tempname() - call system('touch '.tmp) - execute 'edit '.tmp - - call s:assert_signs([], tmp) -endfunction - - -function Test_untracked_file_within_repo() - let tmp = 'untrackedFileWithinRepo.tmp' - call system('touch '.tmp) - execute 'edit '.tmp - normal ggo* - call s:trigger_gitgutter() - - call s:assert_signs([], tmp) - call assert_equal(-2, b:gitgutter.path) - - call system('rm '.tmp) -endfunction - - -function Test_untracked_file_square_brackets_within_repo() - let tmp = '[un]trackedFileWithinRepo.tmp' - call system('touch '.tmp) - execute 'edit '.tmp - normal ggo* - call s:trigger_gitgutter() - - call s:assert_signs([], tmp) - - call system('rm '.tmp) -endfunction - - -function Test_hunk_outside_noop() - 5 - GitGutterStageHunk - - call s:assert_signs([], 'fixture.txt') - call assert_equal([], s:git_diff()) - call assert_equal([], s:git_diff_staged()) - - GitGutterUndoHunk - - call s:assert_signs([], 'fixture.txt') - call assert_equal([], s:git_diff()) - call assert_equal([], s:git_diff_staged()) -endfunction - - -function Test_preview() - normal 5Gi* - GitGutterPreviewHunk - - wincmd P - call assert_equal(2, line('$')) - call assert_equal('-e', getline(1)) - call assert_equal('+*e', getline(2)) - wincmd p -endfunction - - -function Test_preview_dos() - edit! fixture_dos.txt - - normal 5Gi* - GitGutterPreviewHunk - - wincmd P - call assert_equal(2, line('$')) - call assert_equal('-e', getline(1)) - call assert_equal('+*e', getline(2)) - wincmd p -endfunction - - - - -function Test_hunk_stage() - let _shell = &shell - set shell=foo - - normal 5Gi* - GitGutterStageHunk - - call assert_equal('foo', &shell) - let &shell = _shell - - call s:assert_signs([], 'fixture.txt') - - " Buffer is unsaved - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index ae8e546..f5c6aff 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -5 +5 @@ d', - \ '-*e', - \ '+e' - \ ] - call assert_equal(expected, s:git_diff()) - - " Index has been updated - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index f5c6aff..ae8e546 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -5 +5 @@ d', - \ '-e', - \ '+*e' - \ ] - call assert_equal(expected, s:git_diff_staged()) - - " Save the buffer - write - - call assert_equal([], s:git_diff()) -endfunction - - -function Test_hunk_stage_nearby_hunk() - execute "normal! 2Gox\y\z" - normal 2jdd - normal k - GitGutterStageHunk - - let expected = [ - \ {'lnum': 3, 'name': 'GitGutterLineAdded'}, - \ {'lnum': 4, 'name': 'GitGutterLineAdded'}, - \ {'lnum': 5, 'name': 'GitGutterLineAdded'} - \ ] - call s:assert_signs(expected, 'fixture.txt') - - " Buffer is unsaved - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index 53b13df..f5c6aff 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -3,0 +4 @@ c', - \ '+d', - \ ] - call assert_equal(expected, s:git_diff()) - - " Index has been updated - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index f5c6aff..53b13df 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -4 +3,0 @@ c', - \ '-d', - \ ] - call assert_equal(expected, s:git_diff_staged()) - - " Save the buffer - write - - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index 53b13df..8fdfda7 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -2,0 +3,3 @@ b', - \ '+x', - \ '+y', - \ '+z', - \ ] - call assert_equal(expected, s:git_diff()) -endfunction - - -function Test_hunk_stage_partial_visual_added() - call append(5, ['A','B','C','D']) - execute "normal 7GVj:GitGutterStageHunk\" - - let expected = [ - \ {'lnum': 6, 'name': 'GitGutterLineAdded'}, - \ {'lnum': 9, 'name': 'GitGutterLineAdded'}, - \ ] - call s:assert_signs(expected, 'fixture.txt') - - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index 8a7026e..f5c6aff 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -6,2 +5,0 @@ e', - \ '-B', - \ '-C', - \ ] - call assert_equal(expected, s:git_diff()) - - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index f5c6aff..8a7026e 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -5,0 +6,2 @@ e', - \ '+B', - \ '+C', - \ ] - call assert_equal(expected, s:git_diff_staged()) -endfunction - - -function Test_hunk_stage_partial_cmd_added() - call append(5, ['A','B','C','D']) - 6 - 7,8GitGutterStageHunk - - let expected = [ - \ {'lnum': 6, 'name': 'GitGutterLineAdded'}, - \ {'lnum': 9, 'name': 'GitGutterLineAdded'}, - \ ] - call s:assert_signs(expected, 'fixture.txt') - - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index 8a7026e..f5c6aff 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -6,2 +5,0 @@ e', - \ '-B', - \ '-C', - \ ] - call assert_equal(expected, s:git_diff()) - - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index f5c6aff..8a7026e 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -5,0 +6,2 @@ e', - \ '+B', - \ '+C', - \ ] - call assert_equal(expected, s:git_diff_staged()) -endfunction - - -function Test_hunk_stage_partial_preview_added() - call append(5, ['A','B','C','D']) - 6 - GitGutterPreviewHunk - wincmd P - - " remove C and A so we stage B and D - 3delete - 1delete - - GitGutterStageHunk - write - - let expected = [ - \ {'lnum': 6, 'name': 'GitGutterLineAdded'}, - \ {'lnum': 8, 'name': 'GitGutterLineAdded'}, - \ ] - call s:assert_signs(expected, 'fixture.txt') - - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index 975852f..3dd23a3 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -5,0 +6 @@ e', - \ '+A', - \ '@@ -6,0 +8 @@ B', - \ '+C', - \ ] - call assert_equal(expected, s:git_diff()) - - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index f5c6aff..975852f 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -5,0 +6,2 @@ e', - \ '+B', - \ '+D', - \ ] - call assert_equal(expected, s:git_diff_staged()) -endfunction - - -function Test_hunk_stage_preview_write() - call append(5, ['A','B','C','D']) - 6 - GitGutterPreviewHunk - wincmd P - - " preview window - call feedkeys(":w\", 'tx') - " original window - write - - call s:assert_signs([], 'fixture.txt') - - call assert_equal([], s:git_diff()) - - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index f5c6aff..3dd23a3 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -5,0 +6,4 @@ e', - \ '+A', - \ '+B', - \ '+C', - \ '+D', - \ ] - call assert_equal(expected, s:git_diff_staged()) -endfunction - - -function Test_hunk_stage_partial_preview_added_removed() - 4,5delete - call append(3, ['A','B','C','D']) - 4 - GitGutterPreviewHunk - wincmd P - - " -d - " -e - " +A - " +B - " +C - " +D - - " remove D and d so they do not get staged - 6delete - 1delete - - GitGutterStageHunk - write - - let expected = [ - \ {'lnum': 3, 'name': 'GitGutterLineRemoved'}, - \ {'lnum': 7, 'name': 'GitGutterLineAdded'}, - \ ] - call s:assert_signs(expected, 'fixture.txt') - - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index 9a19589..e63fb0a 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -4 +3,0 @@ c', - \ '-d', - \ '@@ -7,0 +7 @@ C', - \ '+D', - \ ] - call assert_equal(expected, s:git_diff()) - - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index f5c6aff..9a19589 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -5 +5,3 @@ d', - \ '-e', - \ '+A', - \ '+B', - \ '+C', - \ ] - call assert_equal(expected, s:git_diff_staged()) -endfunction - - -function Test_hunk_undo() - let _shell = &shell - set shell=foo - - normal 5Gi* - GitGutterUndoHunk - - call assert_equal('foo', &shell) - let &shell = _shell - - call s:assert_signs([], 'fixture.txt') - call assert_equal([], s:git_diff()) - call assert_equal([], s:git_diff_staged()) - call assert_equal('e', getline(5)) -endfunction - - -function Test_hunk_undo_dos() - edit! fixture_dos.txt - - normal 5Gi* - GitGutterUndoHunk - - call s:assert_signs([], 'fixture_dos.txt') - call assert_equal([], s:git_diff('fixture_dos.txt')) - call assert_equal([], s:git_diff_staged('fixture_dos.txt')) - call assert_equal('e', getline(5)) -endfunction - - -function Test_undo_nearby_hunk() - execute "normal! 2Gox\y\z" - normal 2jdd - normal k - call s:trigger_gitgutter() - GitGutterUndoHunk - call s:trigger_gitgutter() - - let expected = [ - \ {'lnum': 3, 'name': 'GitGutterLineAdded'}, - \ {'lnum': 4, 'name': 'GitGutterLineAdded'}, - \ {'lnum': 5, 'name': 'GitGutterLineAdded'} - \ ] - call s:assert_signs(expected, 'fixture.txt') - - call assert_equal([], s:git_diff()) - - call assert_equal([], s:git_diff_staged()) - - " Save the buffer - write - - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index f5c6aff..3fbde56 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -2,0 +3,3 @@ b', - \ '+x', - \ '+y', - \ '+z', - \ ] - call assert_equal(expected, s:git_diff()) - -endfunction - - -function Test_overlapping_hunk_op() - func Answer(char) - call feedkeys(a:char."\") - endfunc - - " Undo upper - - execute '3d' - execute '1d' - call s:trigger_gitgutter() - normal gg - call timer_start(100, {-> Answer('u')} ) - GitGutterUndoHunk - call s:trigger_gitgutter() - - let expected = [{'lnum': 2, 'name': 'GitGutterLineRemoved'}] - call s:assert_signs(expected, 'fixture.txt') - - " Undo lower - - execute '1d' - call s:trigger_gitgutter() - normal gg - call timer_start(100, {-> Answer('l')} ) - GitGutterUndoHunk - call s:trigger_gitgutter() - - let expected = [{'lnum': 1, 'name': 'GitGutterLineRemovedFirstLine'}] - call s:assert_signs(expected, 'fixture.txt') -endfunction - - -function Test_write_option() - set nowrite - - normal ggo* - call s:trigger_gitgutter() - - let expected = [{'lnum': 2, 'name': 'GitGutterLineAdded'}] - call s:assert_signs(expected, 'fixture.txt') - - set write -endfunction - - -function Test_inner_text_object() - execute "normal! 2Gox\y\z\\" - call s:trigger_gitgutter() - normal dic - call s:trigger_gitgutter() - - call s:assert_signs([], 'fixture.txt') - call assert_equal(readfile('fixture.txt'), getline(1,'$')) - - " Excludes trailing lines - normal 9Gi* - normal 10Gi* - call s:trigger_gitgutter() - execute "normal vic\" - call assert_equal([9, 10], [line("'<"), line("'>")]) -endfunction - - -function Test_around_text_object() - execute "normal! 2Gox\y\z\\" - call s:trigger_gitgutter() - normal dac - call s:trigger_gitgutter() - - call s:assert_signs([], 'fixture.txt') - call assert_equal(readfile('fixture.txt'), getline(1,'$')) - - " Includes trailing lines - normal 9Gi* - normal 10Gi* - call s:trigger_gitgutter() - execute "normal vac\" - call assert_equal([9, 11], [line("'<"), line("'>")]) -endfunction - - -function Test_user_autocmd() - autocmd User GitGutter let s:autocmd_user = g:gitgutter_hook_context.bufnr - - " Verify not fired when nothing changed. - let s:autocmd_user = 0 - call s:trigger_gitgutter() - call assert_equal(0, s:autocmd_user) - - " Verify fired when there was a change. - normal ggo* - let bufnr = bufnr('') - call s:trigger_gitgutter() - call assert_equal(bufnr, s:autocmd_user) -endfunction - - -function Test_fix_file_references() - " No special characters - let hunk_diff = join([ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index f5c6aff..3fbde56 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -2,0 +3,1 @@ b', - \ '+x' - \ ], "\n")."\n" - let filepath = 'blah.txt' - - let expected = join([ - \ 'diff --git a/blah.txt b/blah.txt', - \ 'index f5c6aff..3fbde56 100644', - \ '--- a/blah.txt', - \ '+++ b/blah.txt', - \ '@@ -2,0 +3,1 @@ b', - \ '+x' - \ ], "\n")."\n" - - call assert_equal(expected, gitgutter#hunk#fix_file_references(filepath, hunk_diff)) - - " diff.mnemonicPrefix; spaces in filename - let hunk_diff = join([ - \ 'diff --git i/x/cat dog w/x/cat dog', - \ 'index f5c6aff..3fbde56 100644', - \ '--- i/x/cat dog', - \ '+++ w/x/cat dog', - \ '@@ -2,0 +3,1 @@ b', - \ '+x' - \ ], "\n")."\n" - let filepath = 'blah.txt' - - let expected = join([ - \ 'diff --git i/blah.txt w/blah.txt', - \ 'index f5c6aff..3fbde56 100644', - \ '--- i/blah.txt', - \ '+++ w/blah.txt', - \ '@@ -2,0 +3,1 @@ b', - \ '+x' - \ ], "\n")."\n" - - call assert_equal(expected, gitgutter#hunk#fix_file_references(filepath, hunk_diff)) - - " Backslashes in filename; quotation marks - let hunk_diff = join([ - \ 'diff --git "a/C:\\Users\\FOO~1.PAR\\AppData\\Local\\Temp\\nvimJcmSv9\\11.1.vim" "b/C:\\Users\\FOO~1.PAR\\AppData\\Local\\Temp\\nvimJcmSv9\\12.1.vim"', - \ 'index f42aeb0..4930403 100644', - \ '--- "a/C:\\Users\\FOO~1.PAR\\AppData\\Local\\Temp\\nvimJcmSv9\\11.1.vim"', - \ '+++ "b/C:\\Users\\FOO~1.PAR\\AppData\\Local\\Temp\\nvimJcmSv9\\12.1.vim"', - \ '@@ -172,0 +173 @@ stuff', - \ '+x' - \ ], "\n")."\n" - let filepath = 'init.vim' - - let expected = join([ - \ 'diff --git "a/init.vim" "b/init.vim"', - \ 'index f42aeb0..4930403 100644', - \ '--- "a/init.vim"', - \ '+++ "b/init.vim"', - \ '@@ -172,0 +173 @@ stuff', - \ '+x' - \ ], "\n")."\n" - - call assert_equal(expected, gitgutter#hunk#fix_file_references(filepath, hunk_diff)) -endfunction - - -function Test_encoding() - call system('cp ../cp932.txt . && git add cp932.txt') - edit ++enc=cp932 cp932.txt - - call s:trigger_gitgutter() - - call s:assert_signs([], 'cp932.txt') -endfunction - - -function Test_empty_file() - " 0-byte file - call system('touch empty.txt && git add empty.txt') - edit empty.txt - - call s:trigger_gitgutter() - call s:assert_signs([], 'empty.txt') - - - " File consisting only of a newline - call system('echo "" > newline.txt && git add newline.txt') - edit newline.txt - - call s:trigger_gitgutter() - call s:assert_signs([], 'newline.txt') - - - " 1 line file without newline - " Vim will force a newline unless we tell it not to. - call system('echo -n a > oneline.txt && git add oneline.txt') - set noeol nofixeol - edit! oneline.txt - - call s:trigger_gitgutter() - call s:assert_signs([], 'oneline.txt') - - set eol fixeol -endfunction - - -function Test_quickfix() - call setline(5, ['A', 'B']) - call setline(9, ['C', 'D']) - write - - GitGutterQuickFix - - let expected = [ - \ {'lnum': 5, 'bufnr': bufnr(''), 'text': '-e'}, - \ {'lnum': 9, 'bufnr': bufnr(''), 'text': '-i'} - \ ] - - call s:assert_list_of_dicts(expected, getqflist()) -endfunction - - -function Test_common_prefix() - " zero length - call assert_equal(-1, gitgutter#diff_highlight#common_prefix('', 'foo')) - call assert_equal(-1, gitgutter#diff_highlight#common_prefix('foo', '')) - " nothing in common - call assert_equal(-1, gitgutter#diff_highlight#common_prefix('-abcde', '+pqrst')) - call assert_equal(-1, gitgutter#diff_highlight#common_prefix('abcde', 'pqrst')) - " something in common - call assert_equal(-1, gitgutter#diff_highlight#common_prefix('-abcde', '+abcpq')) - call assert_equal(2, gitgutter#diff_highlight#common_prefix('abcde', 'abcpq')) - call assert_equal(0, gitgutter#diff_highlight#common_prefix('abc', 'apq')) - " everything in common - call assert_equal(-1, gitgutter#diff_highlight#common_prefix('-abcde', '+abcde')) - call assert_equal(4, gitgutter#diff_highlight#common_prefix('abcde', 'abcde')) - " different lengths - call assert_equal(-1, gitgutter#diff_highlight#common_prefix('-abcde', '+abx')) - call assert_equal(1, gitgutter#diff_highlight#common_prefix('abcde', 'abx')) - call assert_equal(-1, gitgutter#diff_highlight#common_prefix('-abx', '+abcde')) - call assert_equal(1, gitgutter#diff_highlight#common_prefix('abx', 'abcde')) - call assert_equal(-1, gitgutter#diff_highlight#common_prefix('-abcde', '+abc')) - call assert_equal(2, gitgutter#diff_highlight#common_prefix('abcde', 'abc')) -endfunction - - -function Test_common_suffix() - " nothing in common - call assert_equal([6,6], gitgutter#diff_highlight#common_suffix('-abcde', '+pqrst', 0)) - " something in common - call assert_equal([3,3], gitgutter#diff_highlight#common_suffix('-abcde', '+pqcde', 0)) - " everything in common - call assert_equal([5,5], gitgutter#diff_highlight#common_suffix('-abcde', '+abcde', 5)) - " different lengths - call assert_equal([4,2], gitgutter#diff_highlight#common_suffix('-abcde', '+xde', 0)) - call assert_equal([2,4], gitgutter#diff_highlight#common_suffix('-xde', '+abcde', 0)) -endfunction - - -" Note the order of lists within the overall returned list does not matter. -function Test_diff_highlight() - " Ignores mismatched number of added and removed lines. - call assert_equal([], gitgutter#diff_highlight#process(['-foo'])) - call assert_equal([], gitgutter#diff_highlight#process(['+foo'])) - call assert_equal([], gitgutter#diff_highlight#process(['-foo','-bar','+baz'])) - - " everything changed - let hunk = ['-foo', '+cat'] - let expected = [] - call assert_equal(expected, gitgutter#diff_highlight#process(hunk)) - - " change in middle - let hunk = ['-foo bar baz', '+foo zip baz'] - let expected = [[1, '-', 6, 8], [2, '+', 6, 8]] - call assert_equal(expected, gitgutter#diff_highlight#process(hunk)) - - " change at start - let hunk = ['-foo bar baz', '+zip bar baz'] - let expected = [[1, '-', 2, 4], [2, '+', 2, 4]] - call assert_equal(expected, gitgutter#diff_highlight#process(hunk)) - - " change at end - let hunk = ['-foo bar baz', '+foo bar zip'] - let expected = [[1, '-', 10, 12], [2, '+', 10, 12]] - call assert_equal(expected, gitgutter#diff_highlight#process(hunk)) - - " removed in middle - let hunk = ['-foo bar baz', '+foo baz'] - let expected = [[1, '-', 8, 11]] - call assert_equal(expected, gitgutter#diff_highlight#process(hunk)) - - " added in middle - let hunk = ['-foo baz', '+foo bar baz'] - let expected = [[2, '+', 8, 11]] - call assert_equal(expected, gitgutter#diff_highlight#process(hunk)) - - " two insertions at start - let hunk = ['-foo bar baz', '+(foo) bar baz'] - let expected = [[2, '+', 2, 2], [2, '+', 6, 6]] - call assert_equal(expected, gitgutter#diff_highlight#process(hunk)) - - " two insertions in middle - let hunk = ['-foo bar baz', '+foo (bar) baz'] - let expected = [[2, '+', 6, 6], [2, '+', 10, 10]] - call assert_equal(expected, gitgutter#diff_highlight#process(hunk)) - - " two insertions at end - let hunk = ['-foo bar baz', '+foo bar (baz)'] - let expected = [[2, '+', 10, 10], [2, '+', 14, 14]] - call assert_equal(expected, gitgutter#diff_highlight#process(hunk)) - - " singular insertion - let hunk = ['-The cat in the hat.', '+The furry cat in the hat.'] - call assert_equal([[2, '+', 6, 11]], gitgutter#diff_highlight#process(hunk)) - - " singular deletion - let hunk = ['-The cat in the hat.', '+The cat.'] - call assert_equal([[1, '-', 9, 19]], gitgutter#diff_highlight#process(hunk)) - - " two insertions - let hunk = ['-The cat in the hat.', '+The furry cat in the teal hat.'] - call assert_equal([[2, '+', 6, 11], [2, '+', 22, 26]], gitgutter#diff_highlight#process(hunk)) - - " two deletions - let hunk = ['-The furry cat in the teal hat.', '+The cat in the hat.'] - call assert_equal([[1, '-', 6, 11], [1, '-', 22, 26]], gitgutter#diff_highlight#process(hunk)) - - " two edits - let hunk = ['-The cat in the hat.', '+The ox in the box.'] - call assert_equal([[1, '-', 6, 8], [2, '+', 6, 7], [1, '-', 17, 19], [2, '+', 16, 18]], gitgutter#diff_highlight#process(hunk)) - - " Requires s:gap_between_regions = 2 to pass. - " let hunk = ['-foo: bar.zap', '+foo: quux(bar)'] - " call assert_equal([[2, '+', 7, 11], [1, '-', 10, 13], [2, '+', 15, 15]], gitgutter#diff_highlight#process(hunk)) - - let hunk = ['-gross_value: transaction.unexplained_amount', '+gross_value: amount(transaction)'] - call assert_equal([[2, '+', 15, 21], [1, '-', 26, 44], [2, '+', 33, 33]], gitgutter#diff_highlight#process(hunk)) - - let hunk = ['-gem "contact_sport", "~> 1.0.2"', '+gem ("contact_sport"), "~> 1.2"'] - call assert_equal([[2, '+', 6, 6], [2, '+', 22, 22], [1, '-', 28, 29]], gitgutter#diff_highlight#process(hunk)) -endfunction - - -function Test_lcs() - call assert_equal('', gitgutter#diff_highlight#lcs('', 'foo')) - call assert_equal('', gitgutter#diff_highlight#lcs('foo', '')) - call assert_equal('bar', gitgutter#diff_highlight#lcs('foobarbaz', 'bbart')) - call assert_equal('transaction', gitgutter#diff_highlight#lcs('transaction.unexplained_amount', 'amount(transaction)')) -endfunction - - -function Test_split() - call assert_equal(['foo', 'baz'], gitgutter#diff_highlight#split('foobarbaz', 'bar')) - call assert_equal(['', 'barbaz'], gitgutter#diff_highlight#split('foobarbaz', 'foo')) - call assert_equal(['foobar', ''], gitgutter#diff_highlight#split('foobarbaz', 'baz')) - call assert_equal(['1', '2'], gitgutter#diff_highlight#split('1~2', '~')) -endfunction - - -function Test_foldtext() - 8d - call s:trigger_gitgutter() - call assert_equal(0, gitgutter#fold#is_changed()) - - let v:foldstart = 5 - let v:foldend = 9 - call assert_equal(1, gitgutter#fold#is_changed()) - call assert_equal('+- 5 lines (*): e', gitgutter#fold#foldtext()) - - let v:foldstart = 1 - let v:foldend = 3 - call assert_equal(0, gitgutter#fold#is_changed()) - call assert_equal('+- 3 lines: a', gitgutter#fold#foldtext()) -endfunction diff --git a/vim/.vim_runtime/sources_non_forked/vim-indent-object/.gitignore b/vim/.vim_runtime/sources_non_forked/vim-indent-object/.gitignore deleted file mode 100644 index 1b19a79..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-indent-object/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -tags - diff --git a/vim/.vim_runtime/sources_non_forked/vim-indent-object/README.md b/vim/.vim_runtime/sources_non_forked/vim-indent-object/README.md deleted file mode 100644 index 2cca8d0..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-indent-object/README.md +++ /dev/null @@ -1,88 +0,0 @@ - -README.md

    vim-indent-object

    - - - - - - - -

    Intro

    - -

    Vim text objects provide a convenient way to select and operate on various -types of objects. These objects include regions surrounded by various types of -brackets and various parts of language (ie sentences, paragraphs, etc).

    - -

    This plugin defines a new text object, based on indentation levels. This is -very useful in languages such as Python, in which the syntax defines scope in -terms of indentation. Using the objects defined in this plugin, an entire if -structure can be quickly selected, for example.

    - -

    Install

    - -
      -
    • vim-plug
    • -
    - -
    Plug 'michaeljsmith/vim-indent-object'
    - -

    Usage

    - -

    This plugin defines two new text objects. These are very similar - they differ -only in whether they include the line below the block or not.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Key bindingsDescription
    <count>aiAn Indentation level and line above.
    <count>iiInner Indentation level (no line above).
    <count>aIAn Indentation level and lines above/below.
    <count>iIInner Indentation level (no lines above/below).
    -

    Note: the iI mapping is mostly included simply for completeness, it is -effectively a synonym for ii.

    - -

    Just like regular text objects, these mappings can be used either with -operators expecting a motion, such as d or c, as well as in visual mode.

    - -

    In visual mode the mapping can be repeated, which has the effect of -iteratively increasing the scope of indentation block selected. Specifying a -count can be used to achieve the same effect.

    - -

    FeedBack

    - -

    vim-indent-object was written by Michael Smith msmith@msmith.id.au. The -project repository is kept at:

    - -

    http://github.com/michaeljsmith/vim-indent-object

    - -

    Any feedback or criticism is welcome, and can be mailed to the author at the -above email address. Alternatively issues can be raised on the project -website.

    diff --git a/vim/.vim_runtime/sources_non_forked/vim-indent-object/doc/indent-object.txt b/vim/.vim_runtime/sources_non_forked/vim-indent-object/doc/indent-object.txt deleted file mode 100644 index 78a37c9..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-indent-object/doc/indent-object.txt +++ /dev/null @@ -1,126 +0,0 @@ -*indent-object.txt* Text objects based on indent levels. - - Copyright (c) 2010 Michael Smith - -Indent Text Objects - -INTRODUCTION |indtobj-introduction| -TEXT OBJECTS |indtobj-objects| -BLANK LINES |indtobj-blanklines| -ABOUT |indtobj-about| - - -============================================================================== -INTRODUCTION *indtobj-introduction* - -Vim text objects provide a convenient way to select and operate on various -types of objects. These objects include regions surrounded by various types of -brackets and various parts of language (ie sentences, paragraphs, etc). - -This plugin defines a new text object, based on indentation levels. This is -very useful in languages such as Python, in which the syntax defines scope in -terms of indentation. Using the objects defined in this plugin, an entire if -structure can be quickly selected, for example. - - -============================================================================== -TEXT OBJECTS *ai* *ii* *aI* *iI* *indtobj-objects* - -This plugin defines two new text objects. These are very similar - they differ -only in whether they include the line below the block or not. - - Key Mapping Description ~ -> - ai (A)n (I)ndentation level and line above. - ii (I)nner (I)ndentation level (no line above). - aI (A)n (I)ndentation level and lines above/below. - iI (I)nner (I)ndentation level (no lines above/below). -< - -Note that the iI mapping is mostly included simply for completeness, it is -effectively a synonym for ii. - -Just like regular text objects, these mappings can be used either with -operators expecting a motion, such as 'd' or 'c', as well as in visual mode. -In visual mode the mapping can be repeated, which has the effect of -iteratively increasing the scope of indentation block selected. Specifying a -count can be used to achieve the same effect. - -The difference between |ai| and |aI| is that |ai| includes the line -immediately above the indentation block, whereas aI includes not only that, -but also the line below. Which of these is most useful largely depends on the -structure of the language being edited. - -For example, when editing the Python code, |ai| is generally more useful, as -the line above the indentation block is usually related to it. For example, in -the following code (* is used to indicate the cursor position): -> - if foo > 3: - log("foo is big") * - foo = 3 - do_something_else() -< -the if clause is logically related to the code block, whereas the function -call below is not. It is unlikely we would want to select the line below when -we are interested in the if block. - -However, in other languages, such as Vim scripts, control structures are -usually terminated with something like 'endif'. Therefore, in this example: -> - if foo > 3 - echo "foo is big" * - let foo = 3 - endif - call do_something_else() -< -we would more likely want to include the endif when we select the if -structure. - - -============================================================================== -BLANK LINES *indtobj-blanklines* - -When scanning code blocks, the plugin usually ignores blank lines. There is an -exception to this, however, when the block being selected is not indented. In -this case if blank lines are ignored, then the entire file would be selected. -Instead when code at the top level is being indented blank lines are -considered to delimit the block. - -This exceptional behaviour can be disabled by executing the following line -> - :let g:indent_object_except_first_level = 0 -< -(default is 1) - - -============================================================================== -ABOUT *indtobj-about* - -vim-indent-object was written by Michael Smith . The -project repository is kept at: - -http://github.com/michaeljsmith/vim-indent-object - -Any feedback or criticism is welcome, and can be mailed to the author at the -above email address. Alternatively issues can be raised on the project -website. - -Licence: - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. diff --git a/vim/.vim_runtime/sources_non_forked/vim-indent-object/plugin/indent-object.vim b/vim/.vim_runtime/sources_non_forked/vim-indent-object/plugin/indent-object.vim deleted file mode 100644 index bd4075e..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-indent-object/plugin/indent-object.vim +++ /dev/null @@ -1,234 +0,0 @@ -"-------------------------------------------------------------------------------- -" -" Copyright (c) 2010 Michael Smith -" -" http://github.com/michaeljsmith/vim-indent-object -" -" Permission is hereby granted, free of charge, to any person obtaining a copy -" of this software and associated documentation files (the "Software"), to -" deal in the Software without restriction, including without limitation the -" rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -" sell copies of the Software, and to permit persons to whom the Software is -" furnished to do so, subject to the following conditions: -" -" The above copyright notice and this permission notice shall be included in -" all copies or substantial portions of the Software. -" -" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -" IN THE SOFTWARE. -" -"-------------------------------------------------------------------------------- - -" Mappings excluding line below. -onoremap ai :cal HandleTextObjectMapping(0, 0, 0, [line("."), line("."), col("."), col(".")]) -onoremap ii :cal HandleTextObjectMapping(1, 0, 0, [line("."), line("."), col("."), col(".")]) -vnoremap ai :cal HandleTextObjectMapping(0, 0, 1, [line("'<"), line("'>"), col("'<"), col("'>")])gv -vnoremap ii :cal HandleTextObjectMapping(1, 0, 1, [line("'<"), line("'>"), col("'<"), col("'>")])gv - -" Mappings including line below. -onoremap aI :cal HandleTextObjectMapping(0, 1, 0, [line("."), line("."), col("."), col(".")]) -onoremap iI :cal HandleTextObjectMapping(1, 1, 0, [line("."), line("."), col("."), col(".")]) -vnoremap aI :cal HandleTextObjectMapping(0, 1, 1, [line("'<"), line("'>"), col("'<"), col("'>")])gv -vnoremap iI :cal HandleTextObjectMapping(1, 1, 1, [line("'<"), line("'>"), col("'<"), col("'>")])gv - -let s:l0 = -1 -let s:l1 = -1 -let s:c0 = -1 -let s:c1 = -1 - -if !exists("g:indent_object_except_first_level") - let g:indent_object_except_first_level = 1 -endif - -function! TextObject(inner, incbelow, vis, range, count) - - " Record the current state of the visual region. - let vismode = "V" - - " Detect if this is a completely new visual selction session. - let new_vis = 0 - let new_vis = new_vis || s:l0 != a:range[0] - let new_vis = new_vis || s:l1 != a:range[1] - let new_vis = new_vis || s:c0 != a:range[2] - let new_vis = new_vis || s:c1 != a:range[3] - - let s:l0 = a:range[0] - let s:l1 = a:range[1] - let s:c0 = a:range[2] - let s:c1 = a:range[3] - - " Repeatedly increase the scope of the selection. - let itr_cnt = 0 - let cnt = a:count - while cnt > 0 - - " Look for the minimum indentation in the current visual region. - let l = s:l0 - let idnt_invalid = 1000 - let idnt = idnt_invalid - while l <= s:l1 - if !(getline(l) =~ "^\\s*$") - let idnt = min([idnt, indent(l)]) - endif - let l += 1 - endwhile - - " Keep track of where the range should be expanded to. - let l_1 = s:l0 - let l_1o = l_1 - let l2 = s:l1 - let l2o = l2 - - " If we are highlighting only blank lines, we may not have found a - " valid indent. In this case we need to look for the next and previous - " non blank lines and check which of those has the largest indent. - if idnt == idnt_invalid - let idnt = 0 - let pnb = prevnonblank(s:l0) - if pnb - let idnt = max([idnt, indent(pnb)]) - let l_1 = pnb - endif - let nnb = nextnonblank(s:l0) - if nnb - let idnt = max([idnt, indent(nnb)]) - endif - - " If we are in whitespace at the beginning of a block, skip over - " it when we are selecting the range. Similarly, if we are in - " whitespace at the end, ignore it. - if idnt > indent(pnb) - let l_1 = nnb - endif - if idnt > indent(nnb) - let l2 = pnb - endif - endif - - " Search backward for the first line with less indent than the target - " indent (skipping blank lines). - let blnk = getline(l_1) =~ "^\\s*$" - while l_1 > 0 && (blnk || indent(l_1) >= idnt) - if g:indent_object_except_first_level && idnt == 0 && blnk - break - endif - if !blnk || !a:inner - let l_1o = l_1 - endif - let l_1 -= 1 - let blnk = getline(l_1) =~ "^\\s*$" - endwhile - - " Search forward for the first line with more indent than the target - " indent (skipping blank lines). - let line_cnt = line("$") - let blnk = getline(l2) =~ "^\\s*$" - while l2 <= line_cnt && (blnk || indent(l2) >= idnt) - if g:indent_object_except_first_level && idnt == 0 && blnk - break - endif - if !blnk || !a:inner - let l2o = l2 - endif - let l2 += 1 - let blnk = getline(l2) =~ "^\\s*$" - endwhile - - " Determine which of these extensions to include. Include neither if - " we are selecting an 'inner' object. Exclude the bottom unless are - " told to include it. - let idnt2 = max([indent(l_1), indent(l2)]) - if indent(l_1) < idnt2 || a:inner - let l_1 = l_1o - endif - if indent(l2) < idnt2 || a:inner || !a:incbelow - let l2 = l2o - endif - let l_1 = max([l_1, 1]) - let l2 = min([l2, line("$")]) - - " Extend the columns to the start and end. - " If inner is selected, set the final cursor pos to the start - " of the text in the line. - let c_1 = 1 - if a:inner - let c_1 = match(getline(l_1), "\\c\\S") + 1 - endif - let c2 = len(getline(l2)) - if !a:inner - let c2 += 1 - endif - - " Make sure there's no change if we haven't really made a - " significant change in linewise mode - this makes sure that - " we can iteratively increase selection in linewise mode. - if itr_cnt == 0 && vismode ==# 'V' && s:l0 == l_1 && s:l1 == l2 - let c_1 = s:c0 - let c2 = s:c1 - endif - - " Check whether the visual region has changed. - let chg = 0 - let chg = chg || s:l0 != l_1 - let chg = chg || s:l1 != l2 - let chg = chg || s:c0 != c_1 - let chg = chg || s:c1 != c2 - - if vismode ==# 'V' && new_vis - let chg = 1 - endif - - " Update the vars. - let s:l0 = l_1 - let s:l1 = l2 - let s:c0 = c_1 - let s:c1 = c2 - - " If there was no change, then don't decrement the count (it didn't - " count because it didn't do anything). - if chg - let cnt = cnt - 1 - else - " Since this didn't work, push the selection back one char. This - " will have the effect of getting the enclosing block. Do it at - " the beginning rather than the end - the beginning is very likely - " to be only one indentation level different. - if s:l0 == 0 - return - endif - let s:l0 -= 1 - let s:c0 = len(getline(s:l0)) - endif - - let itr_cnt += 1 - - endwhile - - " Apply the range we have found. Make sure to use the current visual mode. - call cursor(s:l0, s:c0) - exe "normal! " . vismode - call cursor(s:l1, s:c1) - normal! o - - " Update these static variables - we need to keep these up-to-date between - " invocations because it's the only way we can detect whether it's a new - " visual mode. We need to know if it's a new visual mode because otherwise - " if there's a single line block in visual line mode and we select it with - " "V", we can't tell whether it's already been selected using Vii. - exe "normal! \" - let s:l0 = line("'<") - let s:l1 = line("'>") - let s:c0 = col("'<") - let s:c1 = col("'>") - normal gv0o0 - -endfunction - -function! HandleTextObjectMapping(inner, incbelow, vis, range) - call TextObject(a:inner, a:incbelow, a:vis, a:range, v:count1) -endfunction diff --git a/vim/.vim_runtime/sources_non_forked/vim-javascript/ISSUE_TEMPLATE.md b/vim/.vim_runtime/sources_non_forked/vim-javascript/ISSUE_TEMPLATE.md deleted file mode 100644 index d35d8e6..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-javascript/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,14 +0,0 @@ -ISSUE_TEMPLATE.md

    Requisite minimal reproducible example, formatted as plain text :

    - -
    - -

    Optional: concerning jsx.

    - -

    PLEASE PLEASE PLEASE make sure you have properly -setup and are sourcing this plugin https://github.com/mxw/vim-jsx

    - -

    WE DO NOT support JSX automatically, you need another plugin to add get this -functionality.

    - -

    Make sure the bug still exists if you disable all other javascript plugins -except the one noted above, mxw/vim-jsx

    diff --git a/vim/.vim_runtime/sources_non_forked/vim-javascript/README.md b/vim/.vim_runtime/sources_non_forked/vim-javascript/README.md deleted file mode 100644 index c2a2d5f..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-javascript/README.md +++ /dev/null @@ -1,114 +0,0 @@ - -README.md

    vim-javascript

    - -

    JavaScript bundle for vim, this bundle provides syntax highlighting and -improved indentation.

    - -

    Installation

    - -

    Install with native package manager

    - -
      git clone https://github.com/pangloss/vim-javascript.git ~/.vim/pack/vim-javascript/start/vim-javascript
    - -

    since Vim 8.

    - -

    Install with pathogen

    - -
      git clone https://github.com/pangloss/vim-javascript.git ~/.vim/bundle/vim-javascript
    - -

    alternatively, use a package manager like vim-plug

    - -

    Configuration Variables

    - -

    The following variables control certain syntax highlighting plugins. You can -add them to your .vimrc to enable their features.

    - -
    - -
    let g:javascript_plugin_jsdoc = 1
    - -

    Enables syntax highlighting for JSDocs.

    - -

    Default Value: 0

    - -
    - -
    let g:javascript_plugin_ngdoc = 1
    - -

    Enables some additional syntax highlighting for NGDocs. Requires JSDoc plugin -to be enabled as well.

    - -

    Default Value: 0

    - -
    - -
    let g:javascript_plugin_flow = 1
    - -

    Enables syntax highlighting for Flow.

    - -

    Default Value: 0

    - -
    - -
    augroup javascript_folding
    -    au!
    -    au FileType javascript setlocal foldmethod=syntax
    -augroup END
    - -

    Enables code folding for javascript based on our syntax file.

    - -

    Please note this can have a dramatic effect on performance.

    - -

    Concealing Characters

    - -

    You can customize concealing characters, if your font provides the glyph you want, by defining one or more of the following -variables:

    - -
    let g:javascript_conceal_function             = "ƒ"
    -let g:javascript_conceal_null                 = "ø"
    -let g:javascript_conceal_this                 = "@"
    -let g:javascript_conceal_return               = "⇚"
    -let g:javascript_conceal_undefined            = "¿"
    -let g:javascript_conceal_NaN                  = "ℕ"
    -let g:javascript_conceal_prototype            = "¶"
    -let g:javascript_conceal_static               = "•"
    -let g:javascript_conceal_super                = "Ω"
    -let g:javascript_conceal_arrow_function       = "⇒"
    -let g:javascript_conceal_noarg_arrow_function = "🞅"
    -let g:javascript_conceal_underscore_arrow_function = "🞅"
    - -

    You can enable concealing within VIM with:

    - -
    set conceallevel=1
    - -

    OR if you wish to toggle concealing you may wish to bind a command such as the following which will map <LEADER>l (leader is usually the \ key) to toggling conceal mode:

    - -
    map <leader>l :exec &conceallevel ? "set conceallevel=0" : "set conceallevel=1"<CR>
    - -

    Indentation Specific

    - -
      -
    • :h cino-:
    • -
    • :h cino-=
    • -
    • :h cino-star
    • -
    • :h cino-(
    • -
    • :h cino-w
    • -
    • :h cino-W
    • -
    • :h cino-U
    • -
    • :h cino-m
    • -
    • :h cino-M
    • -
    • :h 'indentkeys'
    • -
    - -

    Contributing

    - -

    Please follow the general code style -guides (read the code) and in your pull request explain the reason for the -proposed change and how it is valuable. All p.r.’s will be reviewed by a -maintainer(s) then, hopefully, merged.

    - -

    Thank you!

    - -

    License

    - -

    Distributed under the same terms as Vim itself. See :help license.

    diff --git a/vim/.vim_runtime/sources_non_forked/vim-javascript/compiler/eslint.vim b/vim/.vim_runtime/sources_non_forked/vim-javascript/compiler/eslint.vim deleted file mode 100644 index 7695a07..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-javascript/compiler/eslint.vim +++ /dev/null @@ -1,16 +0,0 @@ -" Vim compiler plugin -" Language: JavaScript -" Maintainer: vim-javascript community -" URL: https://github.com/pangloss/vim-javascript - -if exists("current_compiler") - finish -endif -let current_compiler = "eslint" - -if exists(":CompilerSet") != 2 - command! -nargs=* CompilerSet setlocal -endif - -CompilerSet makeprg=eslint\ -f\ compact\ % -CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m diff --git a/vim/.vim_runtime/sources_non_forked/vim-javascript/extras/ctags b/vim/.vim_runtime/sources_non_forked/vim-javascript/extras/ctags deleted file mode 100644 index cdc4edc..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-javascript/extras/ctags +++ /dev/null @@ -1,8 +0,0 @@ ---langdef=js ---langmap=js:.js ---regex-js=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*\{/\1/,object/ ---regex-js=/([A-Za-z0-9._$()]+)[ \t]*[:=][ \t]*function[ \t]*\(/\1/,function/ ---regex-js=/function[ \t]+([A-Za-z0-9._$]+)[ \t]*([^)])/\1/,function/ ---regex-js=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*\[/\1/,array/ ---regex-js=/([^= ]+)[ \t]*=[ \t]*[^"]'[^']*/\1/,string/ ---regex-js=/([^= ]+)[ \t]*=[ \t]*[^']"[^"]*/\1/,string/ diff --git a/vim/.vim_runtime/sources_non_forked/vim-javascript/extras/flow.vim b/vim/.vim_runtime/sources_non_forked/vim-javascript/extras/flow.vim deleted file mode 100644 index b34d710..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-javascript/extras/flow.vim +++ /dev/null @@ -1,109 +0,0 @@ -syntax region jsFlowDefinition contained start=/:/ end=/\%(\s*[,=;)\n]\)\@=/ contains=@jsFlowCluster containedin=jsParen -syntax region jsFlowArgumentDef contained start=/:/ end=/\%(\s*[,)]\|=>\@!\)\@=/ contains=@jsFlowCluster -syntax region jsFlowArray contained matchgroup=jsFlowNoise start=/\[/ end=/\]/ contains=@jsFlowCluster,jsComment fold -syntax region jsFlowObject contained matchgroup=jsFlowNoise start=/{/ end=/}/ contains=@jsFlowCluster,jsComment fold -syntax region jsFlowExactObject contained matchgroup=jsFlowNoise start=/{|/ end=/|}/ contains=@jsFlowCluster,jsComment fold -syntax region jsFlowParens contained matchgroup=jsFlowNoise start=/(/ end=/)/ contains=@jsFlowCluster nextgroup=jsFlowArrow skipwhite keepend extend fold -syntax match jsFlowNoise contained /[:;,<>]/ -syntax keyword jsFlowType contained boolean number string null void any mixed JSON array Function object array bool class -syntax keyword jsFlowTypeof contained typeof skipempty skipwhite nextgroup=jsFlowTypeCustom,jsFlowType -syntax match jsFlowTypeCustom contained /[0-9a-zA-Z_.]*/ skipwhite skipempty nextgroup=jsFlowGeneric -syntax region jsFlowGeneric matchgroup=jsFlowNoise start=/\k\@<=/ contains=@jsFlowCluster containedin=@jsExpression,jsFlowDeclareBlock -syntax region jsFlowGeneric contained matchgroup=jsFlowNoise start=/(\@=/ oneline contains=@jsFlowCluster containedin=@jsExpression,jsFlowDeclareBlock -syntax region jsFlowObjectGeneric contained matchgroup=jsFlowNoise start=/\k\@<=/ contains=@jsFlowCluster nextgroup=jsFuncArgs -syntax match jsFlowArrow contained /=>/ skipwhite skipempty nextgroup=jsFlowType,jsFlowTypeCustom,jsFlowParens -syntax match jsFlowObjectKey contained /[0-9a-zA-Z_$?]*\(\s*:\)\@=/ contains=jsFunctionKey,jsFlowMaybe skipwhite skipempty nextgroup=jsObjectValue containedin=jsObject -syntax match jsFlowOrOperator contained /|/ skipwhite skipempty nextgroup=@jsFlowCluster -syntax keyword jsFlowImportType contained type typeof skipwhite skipempty nextgroup=jsModuleAsterisk,jsModuleKeyword,jsModuleGroup -syntax match jsFlowWildcard contained /*/ - -syntax match jsFlowReturn contained /:\s*/ contains=jsFlowNoise skipwhite skipempty nextgroup=@jsFlowReturnCluster,jsFlowArrow,jsFlowReturnParens -syntax region jsFlowReturnObject contained matchgroup=jsFlowNoise start=/{/ end=/}/ contains=@jsFlowCluster skipwhite skipempty nextgroup=jsFuncBlock,jsFlowReturnOrOp extend fold -syntax region jsFlowReturnArray contained matchgroup=jsFlowNoise start=/\[/ end=/\]/ contains=@jsFlowCluster skipwhite skipempty nextgroup=jsFuncBlock,jsFlowReturnOrOp fold -syntax region jsFlowReturnParens contained matchgroup=jsFlowNoise start=/(/ end=/)/ contains=@jsFlowCluster skipwhite skipempty nextgroup=jsFuncBlock,jsFlowReturnOrOp,jsFlowReturnArrow fold -syntax match jsFlowReturnArrow contained /=>/ skipwhite skipempty nextgroup=@jsFlowReturnCluster -syntax match jsFlowReturnKeyword contained /\k\+/ contains=jsFlowType,jsFlowTypeCustom skipwhite skipempty nextgroup=jsFlowReturnGroup,jsFuncBlock,jsFlowReturnOrOp,jsFlowReturnArray -syntax match jsFlowReturnMaybe contained /?/ skipwhite skipempty nextgroup=jsFlowReturnKeyword,jsFlowReturnObject,jsFlowReturnParens -syntax region jsFlowReturnGroup contained matchgroup=jsFlowNoise start=// contains=@jsFlowCluster skipwhite skipempty nextgroup=jsFuncBlock,jsFlowReturnOrOp -syntax match jsFlowReturnOrOp contained /\s*|\s*/ skipwhite skipempty nextgroup=@jsFlowReturnCluster -syntax match jsFlowWildcardReturn contained /*/ skipwhite skipempty nextgroup=jsFuncBlock -syntax keyword jsFlowTypeofReturn contained typeof skipempty skipwhite nextgroup=@jsFlowReturnCluster - -syntax region jsFlowFunctionGroup contained matchgroup=jsFlowNoise start=// contains=@jsFlowCluster skipwhite skipempty nextgroup=jsFuncArgs -syntax region jsFlowClassGroup contained matchgroup=jsFlowNoise start=// contains=@jsFlowCluster skipwhite skipempty nextgroup=jsClassBlock -syntax region jsFlowClassFunctionGroup contained matchgroup=jsFlowNoise start=// contains=@jsFlowCluster skipwhite skipempty nextgroup=jsFuncArgs -syntax match jsFlowObjectFuncName contained /\<\K\k*<\@=/ skipwhite skipempty nextgroup=jsFlowObjectGeneric containedin=jsObject - -syntax region jsFlowTypeStatement start=/\(opaque\s\+\)\?type\%(\s\+\k\)\@=/ end=/=\@=/ contains=jsFlowTypeOperator oneline skipwhite skipempty nextgroup=jsFlowTypeValue keepend -syntax region jsFlowTypeValue contained matchgroup=jsFlowNoise start=/=/ end=/\%(;\|\n\%(\s*|\)\@!\)/ contains=@jsFlowCluster,jsFlowGeneric,jsFlowMaybe -syntax match jsFlowTypeOperator contained /=/ containedin=jsFlowTypeValue -syntax match jsFlowTypeOperator contained /=/ -syntax keyword jsFlowTypeKeyword contained type - -syntax keyword jsFlowDeclare declare skipwhite skipempty nextgroup=jsFlowTypeStatement,jsClassDefinition,jsStorageClass,jsFlowModule,jsFlowInterface -syntax match jsFlowClassProperty contained /\<[0-9a-zA-Z_$]*\>:\@=/ skipwhite skipempty nextgroup=jsFlowClassDef containedin=jsClassBlock -syntax region jsFlowClassDef contained start=/:/ end=/\%(\s*[,=;)\n]\)\@=/ contains=@jsFlowCluster skipwhite skipempty nextgroup=jsClassValue - -syntax region jsFlowModule contained start=/module/ end=/\%({\|:\)\@=/ skipempty skipwhite nextgroup=jsFlowDeclareBlock contains=jsString -syntax region jsFlowInterface contained start=/interface/ end=/{\@=/ skipempty skipwhite nextgroup=jsFlowInterfaceBlock contains=@jsFlowCluster -syntax region jsFlowDeclareBlock contained matchgroup=jsFlowNoise start=/{/ end=/}/ contains=jsFlowDeclare,jsFlowNoise fold - -syntax match jsFlowMaybe contained /?/ -syntax region jsFlowInterfaceBlock contained matchgroup=jsFlowNoise start=/{/ end=/}/ contains=jsObjectKey,jsObjectKeyString,jsObjectKeyComputed,jsObjectSeparator,jsObjectFuncName,jsFlowObjectFuncName,jsObjectMethodType,jsGenerator,jsComment,jsObjectStringKey,jsSpreadExpression,jsFlowNoise,jsFlowParens,jsFlowGeneric keepend fold - -syntax region jsFlowParenAnnotation contained start=/:/ end=/[,=)]\@=/ containedin=jsParen contains=@jsFlowCluster - -syntax cluster jsFlowReturnCluster contains=jsFlowNoise,jsFlowReturnObject,jsFlowReturnArray,jsFlowReturnKeyword,jsFlowReturnGroup,jsFlowReturnMaybe,jsFlowReturnOrOp,jsFlowWildcardReturn,jsFlowReturnArrow,jsFlowTypeofReturn -syntax cluster jsFlowCluster contains=jsFlowArray,jsFlowObject,jsFlowExactObject,jsFlowNoise,jsFlowTypeof,jsFlowType,jsFlowGeneric,jsFlowMaybe,jsFlowParens,jsFlowOrOperator,jsFlowWildcard - -if version >= 508 || !exists("did_javascript_syn_inits") - if version < 508 - let did_javascript_syn_inits = 1 - command -nargs=+ HiLink hi link - else - command -nargs=+ HiLink hi def link - endif - HiLink jsFlowDefinition PreProc - HiLink jsFlowClassDef jsFlowDefinition - HiLink jsFlowArgumentDef jsFlowDefinition - HiLink jsFlowType Type - HiLink jsFlowTypeCustom PreProc - HiLink jsFlowTypeof PreProc - HiLink jsFlowTypeofReturn PreProc - HiLink jsFlowArray PreProc - HiLink jsFlowObject PreProc - HiLink jsFlowExactObject PreProc - HiLink jsFlowParens PreProc - HiLink jsFlowGeneric PreProc - HiLink jsFlowObjectGeneric jsFlowGeneric - HiLink jsFlowReturn PreProc - HiLink jsFlowParenAnnotation PreProc - HiLink jsFlowReturnObject jsFlowReturn - HiLink jsFlowReturnArray jsFlowArray - HiLink jsFlowReturnParens jsFlowParens - HiLink jsFlowReturnGroup jsFlowGeneric - HiLink jsFlowFunctionGroup PreProc - HiLink jsFlowClassGroup PreProc - HiLink jsFlowClassFunctionGroup PreProc - HiLink jsFlowArrow PreProc - HiLink jsFlowReturnArrow PreProc - HiLink jsFlowTypeStatement PreProc - HiLink jsFlowTypeKeyword PreProc - HiLink jsFlowTypeOperator Operator - HiLink jsFlowMaybe PreProc - HiLink jsFlowReturnMaybe PreProc - HiLink jsFlowClassProperty jsClassProperty - HiLink jsFlowDeclare PreProc - HiLink jsFlowModule PreProc - HiLink jsFlowInterface PreProc - HiLink jsFlowNoise Noise - HiLink jsFlowObjectKey jsObjectKey - HiLink jsFlowOrOperator jsOperator - HiLink jsFlowReturnOrOp jsFlowOrOperator - HiLink jsFlowWildcard PreProc - HiLink jsFlowWildcardReturn PreProc - HiLink jsFlowImportType PreProc - HiLink jsFlowTypeValue PreProc - HiLink jsFlowObjectFuncName jsObjectFuncName - delcommand HiLink -endif diff --git a/vim/.vim_runtime/sources_non_forked/vim-javascript/extras/jsdoc.vim b/vim/.vim_runtime/sources_non_forked/vim-javascript/extras/jsdoc.vim deleted file mode 100644 index 92c4b8b..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-javascript/extras/jsdoc.vim +++ /dev/null @@ -1,39 +0,0 @@ -"" syntax coloring for javadoc comments (HTML) -syntax region jsComment matchgroup=jsComment start="/\*\s*" end="\*/" contains=jsDocTags,jsCommentTodo,jsCvsTag,@jsHtml,@Spell fold - -" tags containing a param -syntax match jsDocTags contained "@\(alias\|api\|augments\|borrows\|class\|constructs\|default\|defaultvalue\|emits\|exception\|exports\|extends\|fires\|kind\|link\|listens\|member\|member[oO]f\|mixes\|module\|name\|namespace\|requires\|template\|throws\|var\|variation\|version\)\>" skipwhite nextgroup=jsDocParam -" tags containing type and param -syntax match jsDocTags contained "@\(arg\|argument\|cfg\|param\|property\|prop\|typedef\)\>" skipwhite nextgroup=jsDocType -" tags containing type but no param -syntax match jsDocTags contained "@\(callback\|define\|enum\|external\|implements\|this\|type\|return\|returns\|yields\)\>" skipwhite nextgroup=jsDocTypeNoParam -" tags containing references -syntax match jsDocTags contained "@\(lends\|see\|tutorial\)\>" skipwhite nextgroup=jsDocSeeTag -" other tags (no extra syntax) -syntax match jsDocTags contained "@\(abstract\|access\|accessor\|async\|author\|classdesc\|constant\|const\|constructor\|copyright\|deprecated\|desc\|description\|dict\|event\|example\|file\|file[oO]verview\|final\|function\|global\|ignore\|inherit[dD]oc\|inner\|instance\|interface\|license\|localdoc\|method\|mixin\|nosideeffects\|override\|overview\|preserve\|private\|protected\|public\|readonly\|since\|static\|struct\|todo\|summary\|undocumented\|virtual\)\>" - -syntax region jsDocType contained matchgroup=jsDocTypeBrackets start="{" end="}" contains=jsDocTypeRecord oneline skipwhite nextgroup=jsDocParam -syntax match jsDocType contained "\%(#\|\"\|\w\|\.\|:\|\/\)\+" skipwhite nextgroup=jsDocParam -syntax region jsDocTypeRecord contained start=/{/ end=/}/ contains=jsDocTypeRecord extend -syntax region jsDocTypeRecord contained start=/\[/ end=/\]/ contains=jsDocTypeRecord extend -syntax region jsDocTypeNoParam contained start="{" end="}" oneline -syntax match jsDocTypeNoParam contained "\%(#\|\"\|\w\|\.\|:\|\/\)\+" -syntax match jsDocParam contained "\%(#\|\$\|-\|'\|\"\|{.\{-}}\|\w\|\.\|:\|\/\|\[.\{-}]\|=\)\+" -syntax region jsDocSeeTag contained matchgroup=jsDocSeeTag start="{" end="}" contains=jsDocTags - -if version >= 508 || !exists("did_javascript_syn_inits") - if version < 508 - let did_javascript_syn_inits = 1 - command -nargs=+ HiLink hi link - else - command -nargs=+ HiLink hi def link - endif - HiLink jsDocTags Special - HiLink jsDocSeeTag Function - HiLink jsDocType Type - HiLink jsDocTypeBrackets jsDocType - HiLink jsDocTypeRecord jsDocType - HiLink jsDocTypeNoParam Type - HiLink jsDocParam Label - delcommand HiLink -endif diff --git a/vim/.vim_runtime/sources_non_forked/vim-javascript/extras/ngdoc.vim b/vim/.vim_runtime/sources_non_forked/vim-javascript/extras/ngdoc.vim deleted file mode 100644 index c513d87..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-javascript/extras/ngdoc.vim +++ /dev/null @@ -1,3 +0,0 @@ -syntax match jsDocTags contained /@\(link\|method[oO]f\|ngdoc\|ng[iI]nject\|restrict\)/ nextgroup=jsDocParam skipwhite -syntax match jsDocType contained "\%(#\|\$\|\w\|\"\|-\|\.\|:\|\/\)\+" nextgroup=jsDocParam skipwhite -syntax match jsDocParam contained "\%(#\|\$\|\w\|\"\|-\|\.\|:\|{\|}\|\/\|\[\|]\|=\)\+" diff --git a/vim/.vim_runtime/sources_non_forked/vim-javascript/ftdetect/flow.vim b/vim/.vim_runtime/sources_non_forked/vim-javascript/ftdetect/flow.vim deleted file mode 100644 index 3f1ea65..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-javascript/ftdetect/flow.vim +++ /dev/null @@ -1 +0,0 @@ -autocmd BufNewFile,BufRead *.flow setfiletype flow diff --git a/vim/.vim_runtime/sources_non_forked/vim-javascript/ftdetect/javascript.vim b/vim/.vim_runtime/sources_non_forked/vim-javascript/ftdetect/javascript.vim deleted file mode 100644 index 0048732..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-javascript/ftdetect/javascript.vim +++ /dev/null @@ -1,8 +0,0 @@ -fun! s:SelectJavascript() - if getline(1) =~# '^#!.*/bin/\%(env\s\+\)\?node\>' - set ft=javascript - endif -endfun - -autocmd BufNewFile,BufRead *.{js,mjs,cjs,jsm,es,es6},Jakefile setfiletype javascript -autocmd BufNewFile,BufRead * call s:SelectJavascript() diff --git a/vim/.vim_runtime/sources_non_forked/vim-javascript/indent/javascript.vim b/vim/.vim_runtime/sources_non_forked/vim-javascript/indent/javascript.vim deleted file mode 100644 index b759f0a..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-javascript/indent/javascript.vim +++ /dev/null @@ -1,477 +0,0 @@ -" Vim indent file -" Language: Javascript -" Maintainer: Chris Paul ( https://github.com/bounceme ) -" URL: https://github.com/pangloss/vim-javascript -" Last Change: December 4, 2017 - -" Only load this indent file when no other was loaded. -if exists('b:did_indent') - finish -endif -let b:did_indent = 1 - -" Now, set up our indentation expression and keys that trigger it. -setlocal indentexpr=GetJavascriptIndent() -setlocal autoindent nolisp nosmartindent -setlocal indentkeys+=0],0) -" Testable with something like: -" vim -eNs "+filetype plugin indent on" "+syntax on" "+set ft=javascript" \ -" "+norm! gg=G" '+%print' '+:q!' testfile.js \ -" | diff -uBZ testfile.js - - -let b:undo_indent = 'setlocal indentexpr< smartindent< autoindent< indentkeys<' - -" Only define the function once. -if exists('*GetJavascriptIndent') - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -" indent correctly if inside

    vim-lastplace v3.1.1

    - -

    Intelligently reopen files at your last edit position. By default git, -svn, and mercurial commit messages are ignored because you -probably want to type a new message and not re-edit the previous -one.

    - -

    Advantages

    - -

    Advantages over the snippets that can be found around the net include: -* Commit messages automatically start at the beginning of a file. This is important because many version control systems re-use the same file for commit message editing. -* Maximizes Available Context - - Center the cursor vertically after restoring last edit position. - - Keep as much of the file on screen as possible when last edit position is at the end of the file. -* Opens folds if the last edit position is inside a fold. -* Works properly with new file templates and scripts that jump to a specific line in them.

    - -

    Installation

    - -

    You can use pathogen.vim or other plugin managers to install and use vim-lastplace.

    - -
    cd ~/.vim/bundle
    -git clone git://github.com/farmergreg/vim-lastplace.git
    - -

    Depending on which Vim package you’re using, Vim may be preconfigured with -last-edit-position logic that doesn’t work quite as well as vim-lastplace. -If so, you may want to disable that in favor of vim-lastplace. For example, -for Vim as packaged with Git for Windows, you can edit -C:\Program Files\Git\etc\vimrc and comment out the “Remember positions in files” -autocmd BufReadPost * block.

    - -

    Configuration

    - -

    You can configure what file types to ignore by setting -g:lastplace_ignore in your vimrc. This is a comma separated list. -By default it is set to:

    - -
        let g:lastplace_ignore = "gitcommit,gitrebase,svn,hgcommit"
    - -

    You can configure buffer types to ignore by setting -g:lastplace_ignore_buftype in your vimrc. This is a comma separated list. -By default it is set to:

    - -
        let g:lastplace_ignore_buftype = "quickfix,nofile,help"
    - -

    Folds are automatically opened when jumping to the last edit position. If you -do not like this behavior you can disable it by putting this in your vimrc:

    - -
        let g:lastplace_open_folds = 0
    - -

    Miscellaneous

    - -

    This plugin is complete and stable. Please do not be afraid to try it even -if there is very little recent activity in this repository. If you do find -a bug, please submit a pull request that fixes whatever problem you’re having.

    - -

    Version History

    - -

    vim-lastplace uses semver to manage version numbers.

    - -

    3.1.1

    - -
      -
    • Add ‘nofile’ and ‘help’ to lastplace_ignore_buftype. (Issue #14)
    • -
    • Do not jump when a new file is created (Issue #15, #16)
    • -
    - -

    3.1.0

    - -
      -
    • Add g:lastplace_ignore_buftype setting.
    • -
    • Update github links from username dietsche to farmergreg.
    • -
    - -

    3.0.4

    - -
      -
    • Add g:lastplace_open_folds option.
    • -
    - -

    3.0.3

    - -
      -
    • Point release for Debian packaging. Changes all http links to https. No code changes.
    • -
    - -

    3.0.2

    - -
      -
    • A fix for files that are smaller than the current screen size (issue #8)
    • -
    - -

    3.0.1

    - -
      -
    • A fix for files with modelines.
    • -
    - -

    3.0.0

    - -
      -
    • Open folds if the last edited area is inside a closed fold.
    • -
    - -

    2.0.1

    - -
      -
    • Add gitrebase filetype to the ignore list.
    • -
    - -

    2.0.0

    - -
      -
    • Center the screen when restoring the cursor position.
    • -
    • When at the end of a file, keep as much of it on screen as possible.
    • -
    - -

    1.0.0

    - -
      -
    • Initial version.
    • -
    - -

    About

    - - - -

    Get the latest version, submit pull requests, and file bug reports -on GitHub: -- https://github.com/farmergreg/vim-lastplace

    - -

    If you like this plugin, please star and rate it on these sites:

    - - diff --git a/vim/.vim_runtime/sources_non_forked/vim-lastplace/doc/vim-lastplace.txt b/vim/.vim_runtime/sources_non_forked/vim-lastplace/doc/vim-lastplace.txt deleted file mode 100644 index 3105c27..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-lastplace/doc/vim-lastplace.txt +++ /dev/null @@ -1,36 +0,0 @@ -*vim-lastplace* Intelligently reopen files where you left off. - -Author: Gregory L. Dietsche -License: MIT -Version: 3.1.1 - -INTRODUCTION *vim-lastplace-introduction* - -Intelligently reopen files where you left off. By default git, -svn, and mercurial commit messages are ignored because you -probably want to type a new message and not re-edit the previous -one. - -You can configure what file types to ignore by setting -g:lastplace_ignore in your vimrc. This is a comma separated list. -By default it is set to: - - let g:lastplace_ignore = "gitcommit,gitrebase,svn,hgcommit" - -You can configure buffer types to ignore by setting -g:lastplace_ignore_buftype in your vimrc. This is a comma separated list. -By default it is set to: - - let g:lastplace_ignore_buftype = "quickfix,nofile,help" - -Folds are automatically opened when jumping to the last edit position. If you -do not like this behavior you can disable it by putting this in your vimrc: - - let g:lastplace_open_folds = 0 - -ABOUT *vim-lastplace-about* - -Get the latest version and/or report a bug on GitHub: - https://github.com/farmergreg/vim-lastplace - - vim:tw=78:et:ft=help:norl: diff --git a/vim/.vim_runtime/sources_non_forked/vim-lastplace/plugin/vim-lastplace.vim b/vim/.vim_runtime/sources_non_forked/vim-lastplace/plugin/vim-lastplace.vim deleted file mode 100644 index 8b2478c..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-lastplace/plugin/vim-lastplace.vim +++ /dev/null @@ -1,80 +0,0 @@ -" ============================================================================ -" File: vim-lastplace.vim -" Description: Reopen files where you left off. Configurable. -" Author: Gregory L. Dietsche -" Licence: MIT -" Website: https://www.gregd.org/ -" Version: 3.1.1 -" ============================================================================ - -if exists("b:loaded_lastplace_plugin") || &cp - finish -endif -let b:loaded_lastplace_plugin = 1 - -scriptencoding utf-8 - -if !exists('g:lastplace_ignore') - let g:lastplace_ignore = "gitcommit,gitrebase,svn,hgcommit" -endif - -if !exists('g:lastplace_open_folds') - let g:lastplace_open_folds = 1 -endif - -if !exists('g:lastplace_ignore_buftype') - let g:lastplace_ignore_buftype = "quickfix,nofile,help" -endif - -fu! s:lastplace() - if index(split(g:lastplace_ignore_buftype, ","), &buftype) != -1 - return - endif - - if index(split(g:lastplace_ignore, ","), &filetype) != -1 - return - endif - - try - "if the file does not exist on disk (a new, unsaved file) then do nothing - if empty(glob(@%)) - return - endif - catch - return - endtry - - if line("'\"") > 0 && line("'\"") <= line("$") - "if the last edit position is set and is less than the - "number of lines in this buffer. - - if line("w$") == line("$") - "if the last line in the current buffer is - "also the last line visible in this window - execute "normal! g`\"" - - elseif line("$") - line("'\"") > ((line("w$") - line("w0")) / 2) - 1 - "if we're not at the bottom of the file, center the - "cursor on the screen after we make the jump - execute "normal! g`\"zz" - - else - "otherwise, show as much context as we can by jumping - "to the end of the file and then to the mark. If we - "pressed zz here, there would be blank lines at the - "bottom of the screen. We intentionally leave the - "last line blank by pressing so the user has a - "clue that they are near the end of the file. - execute "normal! \G'\"\" - endif - endif - if foldclosed(".") != -1 && g:lastplace_open_folds - "if we're in a fold, make the current line visible and recenter screen - execute "normal! zvzz" - endif -endf - -augroup lastplace_plugin - autocmd! - autocmd BufWinEnter * call s:lastplace() -augroup END diff --git a/vim/.vim_runtime/sources_non_forked/vim-less/.gitignore b/vim/.vim_runtime/sources_non_forked/vim-less/.gitignore deleted file mode 100644 index 1377554..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-less/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.swp diff --git a/vim/.vim_runtime/sources_non_forked/vim-less/README.md b/vim/.vim_runtime/sources_non_forked/vim-less/README.md deleted file mode 100644 index d1a546a..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-less/README.md +++ /dev/null @@ -1,54 +0,0 @@ - -README.md

    VIM-LESS

    - -

    This vim bundle adds syntax highlighting, indenting and autocompletion for the dynamic stylesheet language LESS.

    - -

    This bundle is compatible with vim-css-color, -vim-css3-syntax and possibly other plugins that place code -in after/syntax/css.vim or after/syntax/css/*.vim.

    - -

    vim-less with vim-css-color and vim-css3-syntax (colorscheme solarized)

    - -

    Installing and Using

    - -
      -
    • Install pathogen into ~/.vim/autoload/ and add the -following line to your ~/.vimrc:

      - -
      call pathogen#infect()
    • - -
    • Make a clone of the vim-less repository:

      - -
      $ mkdir -p ~/.vim/bundle
      -$ cd ~/.vim/bundle
      -$ git clone https://github.com/groenewege/vim-less
    • - -
    • OR use vundle, adding this line to your ~/.vimrc:

      - -
      Plugin 'groenewege/vim-less'
    • - -
    • OR use neobundle, adding this line to your ~/.vimrc:

      - -
      NeoBundle 'groenewege/vim-less'
    • - -
    • OR use git submodules:

      - -
      $ git submodule add https://github.com/groenewege/vim-less.git bundle/vim-less
      -$ git submodule init
    • -
    - -

    Map

    - -

    .less to .css , lessc is required.

    - -
    nnoremap <Leader>m :w <BAR> !lessc % > %:t:r.css<CR><space>
    - -

    Credits

    - -

    Inspiration from vim-haml, -scss-syntax.vim and -vim-less

    - -

    License

    - -

    MIT : groenewege.mit-license.org

    diff --git a/vim/.vim_runtime/sources_non_forked/vim-less/ftdetect/less.vim b/vim/.vim_runtime/sources_non_forked/vim-less/ftdetect/less.vim deleted file mode 100644 index f1cb1d7..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-less/ftdetect/less.vim +++ /dev/null @@ -1 +0,0 @@ -autocmd BufNewFile,BufRead *.less setf less diff --git a/vim/.vim_runtime/sources_non_forked/vim-less/ftplugin/less.vim b/vim/.vim_runtime/sources_non_forked/vim-less/ftplugin/less.vim deleted file mode 100644 index 88a6e7b..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-less/ftplugin/less.vim +++ /dev/null @@ -1,26 +0,0 @@ -" Vim filetype plugin -" Language: LessCSS -" Author: Tim Pope -" Maintainer: Leonard Ehrenfried -" Last Change: 2011 Sep 30 - -" Only do this when not done yet for this buffer -if exists("b:did_ftplugin") - finish -endif -let b:did_ftplugin = 1 - -let b:undo_ftplugin = "setl cms< def< inc< inex< ofu< sua<" - -setlocal iskeyword+=- -setlocal commentstring=//%s -setlocal define=^\\s*\\%(@mixin\\\|=\\) -setlocal includeexpr=substitute(v:fname,'\\%(.*/\\\|^\\)\\zs','_','') -setlocal omnifunc=csscomplete#CompleteCSS -setlocal suffixesadd=.less -setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,:// -setlocal fo=croql - -let &l:include = '^\s*@import\s\+\%(url(\)\=["'']\=' - -" vim:set sw=2: diff --git a/vim/.vim_runtime/sources_non_forked/vim-less/indent/less.vim b/vim/.vim_runtime/sources_non_forked/vim-less/indent/less.vim deleted file mode 100644 index 556c2d0..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-less/indent/less.vim +++ /dev/null @@ -1,10 +0,0 @@ -" Vim indent file -" Language: LessCSS -" Maintainer: Leonard Ehrenfried -" Last Change: 2011 Sep 26 - -if exists("b:did_indent") - finish -endif - -runtime! indent/css.vim \ No newline at end of file diff --git a/vim/.vim_runtime/sources_non_forked/vim-less/screenshot.png b/vim/.vim_runtime/sources_non_forked/vim-less/screenshot.png deleted file mode 100644 index ce25624a83a2a34c2c91a0df3eaff57a86d0e815..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52352 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 -CONTRIBUTING.md

    CONTRIBUTING

    - -

    These contributing guidelines were accepted rather late in the history of this plugin, after much code had already been written.

    - -

    If you find any existing behavior which does not conform to these guidelines, please correct it and send a pull request.

    - -

    General Rules

    - -

    Every non local identifier must start with g:vim_markdown_.

    - -

    Documentation

    - -

    Every new feature must be documented under in the README.md. Documentation must be written in GFM since GitHub itself is the primary to HTML converter used. In particular, remember that GFM adds line breaks at single newlines, so just forget about the 70 characters wide rule.

    - -

    Vim help file doc/vim-markdown.txt will be generated from README.md by make doc using vim-tools.

    - -

    Markdown Flavors

    - -

    There are many flavors of markdown, each one with an unique feature set. This plugin uses the following strategy to deal with all those flavors:

    - -
      -
    • Features from the original markdown are turned on by default. They may not even have an option that turns them off.

    • - -
    • Features from other markdown flavors must have an option that turns them on or off. If the feature is common enough across multiple versions of markdown, it may be turned on by default. This shall be decided by the community when the merge request is done.

    • - -
    • If possible, cite the exact point in the documentation of the flavor where a feature is specified. If the feature is not documented, you may also reference the source code itself of the implementation. This way, people who do not know that flavor can check if your implementation is correct.

    • - -
    • Do not use the name of a flavor for a feature that is used across multiple flavors. Instead, create a separate flavor option, that automatically sets each feature.

      - -

      For example, fenced code blocks (putting code between pairs of three backticks) is not part of the original markdown, but is supported by GFM and Jekyll.

      - -

      Therefore, instead of creating an option g:vim_markdown_gfm_fenced_code_block, and an option g:vim_markdown_jekyll_fenced_code_block, create a single option g:vim_markdown_fenced_code_block.

      - -

      Next, if there are many more than one Jekyll feature options, create a g:vim_markdown_jekyll option that turns them all on at once.

    • -
    - -

    Style

    - -

    When choosing between multiple valid Markdown syntaxes, the default behavior must be that specified at: http://www.cirosantilli.com/markdown-styleguide

    - -

    If you wish to have a behavior that differs from that style guide, add an option to turn it on or off, and leave it off by default.

    - -

    Tests

    - -

    All new features must have unit tests.

    - -

    Issues

    - -

    Issues are tracked within GitHub.

    - -

    When reporting issues, your report is more effective if you include a minimal example file that reproduces the problem. Try to trim out as much as possible, until you have the smallest possible file that still reproduces the issue. Paste the example inline into your issue report, quoted using four spaces at the beginning of each line, like this example from issue #189:

    - -
    Minimal example:
    -
    -    ```
    -    =
    -    ```
    -    bad!
    diff --git a/vim/.vim_runtime/sources_non_forked/vim-markdown/Makefile b/vim/.vim_runtime/sources_non_forked/vim-markdown/Makefile deleted file mode 100644 index 0b287e2..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-markdown/Makefile +++ /dev/null @@ -1,88 +0,0 @@ -VIMDIR=$(DESTDIR)/usr/share/vim -ADDONS=${VIMDIR}/addons -REGISTRY=${VIMDIR}/registry - -all: - -install: - mkdir -pv ${ADDONS}/ftdetect - cp -v ftdetect/markdown.vim ${ADDONS}/ftdetect/markdown.vim - mkdir -pv ${ADDONS}/ftplugin - cp -v ftplugin/markdown.vim ${ADDONS}/ftplugin/markdown.vim - mkdir -pv ${ADDONS}/syntax - cp -v syntax/markdown.vim ${ADDONS}/syntax/markdown.vim - mkdir -pv ${ADDONS}/after/ftplugin - cp -v after/ftplugin/markdown.vim ${ADDONS}/after/ftplugin/markdown.vim - mkdir -pv ${ADDONS}/indent - cp -v indent/markdown.vim ${ADDONS}/indent/markdown.vim - mkdir -pv ${ADDONS}/doc - cp -v doc/vim-markdown.txt ${ADDONS}/doc/vim-markdown.txt - mkdir -pv ${REGISTRY} - cp -v registry/markdown.yaml ${REGISTRY}/markdown.yaml - -test: build/tabular build/vim-toml build/vim-json build/vader.vim - test/run-tests.sh -.PHONY: test - -update: build/tabular build/vim-toml build/vim-json build/vader.vim - cd build/tabular && git pull - cd build/vim-toml && git pull - cd build/vim-json && git pull - cd build/vader.vim && git pull -.PHONY: update - -build/tabular: | build - git clone https://github.com/godlygeek/tabular build/tabular - -build/vim-toml: | build - git clone https://github.com/cespare/vim-toml build/vim-toml - -build/vim-json: | build - git clone https://github.com/elzr/vim-json build/vim-json - -build/vader.vim: | build - git clone https://github.com/junegunn/vader.vim build/vader.vim - -build: - mkdir build - -doc: build/html2vimdoc build/vim-tools - sed -e '/^\[!\[Build Status\]/d' \ - -e '/^1\. \[/d' README.md > doc/tmp.md # remove table of contents - build/html2vimdoc/bin/python build/vim-tools/html2vimdoc.py -f vim-markdown \ - doc/tmp.md | \ - sed -E -e "s/[[:space:]]*$$//" -e "# remove trailing spaces" \ - -e "/^.{79,}\|$$/ {" -e "# wrap table of contents over 79" \ - -e "h" -e "# save the matched line to the hold space" \ - -e "s/^(.*) (\|[^|]*\|)$$/\1/" -e "# make content title" \ - -e "p" -e "# print title" \ - -e "g" -e "# restore the matched line" \ - -e "s/^.* (\|[^|]*\|)$$/ \1/" -e "# make link" \ - -e ":c" -e "s/^(.{1,78})$$/ \1/" -e "tc" -e "# align right" \ - -e "}" \ - -e "/^- '[^']*':( |$$)/ {" \ - -e "h" -e "# save the matched line to the hold space" \ - -e "s/^- '([^']{3,})':.*/ \*\1\*/" -e "# make command reference" \ - -e "s/^- '([^']{1,2})':.*/ \*vim-markdown-\1\*/" -e "# short command" \ - -e ":a" -e "s/^(.{1,78})$$/ \1/" -e "ta" -e "# align right" \ - -e "G" -e "# append the matched line after the command reference" \ - -e "}" \ - -e "/^- 'g:vim_markdown_[[:alnum:]_]*'$$/ {" \ - -e "h" -e "# save the matched line to the hold space" \ - -e "s/^- '([^']*)'$$/ \*\1\*/" -e "# make global variable reference" \ - -e ":g" -e "s/^(.{1,78})$$/ \1/" -e "tg" -e "# align right" \ - -e "G" -e "# append the matched line after the global variable reference" \ - -e "}" > doc/vim-markdown.txt && rm -f doc/tmp.md - -.PHONY: doc - -# Prerequire Python and virtualenv. -# $ sudo pip install virtualenv -# Create the virtual environment. -# Install the dependencies. -build/html2vimdoc: | build - virtualenv build/html2vimdoc - build/html2vimdoc/bin/pip install beautifulsoup coloredlogs==4.0 markdown - -build/vim-tools: | build - git clone https://github.com/xolox/vim-tools.git build/vim-tools diff --git a/vim/.vim_runtime/sources_non_forked/vim-markdown/README.md b/vim/.vim_runtime/sources_non_forked/vim-markdown/README.md deleted file mode 100644 index fe09a13..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-markdown/README.md +++ /dev/null @@ -1,481 +0,0 @@ - -README.md

    Vim Markdown

    - -

    Build Status

    - -

    Syntax highlighting, matching rules and mappings for the original Markdown and extensions.

    - -
      -
    1. Installation
    2. -
    3. Basic usage
    4. -
    5. Options
    6. -
    7. Mappings
    8. -
    9. Commands
    10. -
    11. Credits
    12. -
    13. License
    14. -
    - -

    Installation

    - -

    If you use Vundle, add the following lines to your ~/.vimrc:

    - -
    Plugin 'godlygeek/tabular'
    -Plugin 'plasticboy/vim-markdown'
    - -

    The tabular plugin must come before vim-markdown.

    - -

    Then run inside Vim:

    - -
    :so ~/.vimrc
    -:PluginInstall
    - -

    If you use Pathogen, do this:

    - -
    cd ~/.vim/bundle
    -git clone https://github.com/plasticboy/vim-markdown.git
    - -

    To install without Pathogen using the Debian vim-addon-manager, do this:

    - -
    git clone https://github.com/plasticboy/vim-markdown.git
    -cd vim-markdown
    -sudo make install
    -vim-addon-manager install markdown
    - -

    If you are not using any package manager, download the tarball and do this:

    - -
    cd ~/.vim
    -tar --strip=1 -zxf vim-markdown-master.tar.gz
    - -

    Basic usage

    - -

    Folding

    - -

    Folding is enabled for headers by default.

    - -

    The following commands are useful to open and close folds:

    - -
      -
    • zr: reduces fold level throughout the buffer
    • -
    • zR: opens all folds
    • -
    • zm: increases fold level throughout the buffer
    • -
    • zM: folds everything all the way
    • -
    • za: open a fold your cursor is on
    • -
    • zA: open a fold your cursor is on recursively
    • -
    • zc: close a fold your cursor is on
    • -
    • zC: close a fold your cursor is on recursively
    • -
    - -

    Options are available to disable folding or change folding style.

    - -

    Try :help fold-expr and :help fold-commands for details.

    - -

    Concealing

    - -

    Concealing is set for some syntax such as bold, italic, code block and link.

    - -

    Concealing lets you conceal text with other text. The actual source text is not modified. If you put your cursor on the concealed line, the conceal goes away.

    - -

    Options are available to disable or change concealing.

    - -

    Try :help concealcursor and :help conceallevel for details.

    - -

    Options

    - -

    Disable Folding

    - -
      -
    • g:vim_markdown_folding_disabled

      - -

      Add the following line to your .vimrc to disable the folding configuration:

      - -
      let g:vim_markdown_folding_disabled = 1
      -

      This option only controls Vim Markdown specific folding configuration.

      - -

      To enable/disable folding use Vim’s standard folding configuration.

      - -
      set [no]foldenable
    • -
    - -

    Change fold style

    - -
      -
    • g:vim_markdown_folding_style_pythonic

      - -

      To fold in a style like python-mode, add the following to your .vimrc:

      - -
      let g:vim_markdown_folding_style_pythonic = 1
      -

      g:vim_markdown_folding_level setting (default 1) is set to foldlevel. -Thus level 1 heading which is served as a document title is expanded by default.

    • - -
    • g:vim_markdown_override_foldtext

      - -

      To prevent foldtext from being set add the following to your .vimrc:

      - -
      let g:vim_markdown_override_foldtext = 0
    • -
    - -

    Set header folding level

    - -
      -
    • g:vim_markdown_folding_level

      - -

      Folding level is a number between 1 and 6. By default, if not specified, it is set to 1.

      - -
      let g:vim_markdown_folding_level = 6
      -

      Tip: it can be changed on the fly with:

      - -
      :let g:vim_markdown_folding_level = 1
      -:edit
    • -
    - -

    Disable Default Key Mappings

    - -
      -
    • g:vim_markdown_no_default_key_mappings

      - -

      Add the following line to your .vimrc to disable default key mappings:

      - -
      let g:vim_markdown_no_default_key_mappings = 1
      -

      You can also map them by yourself with <Plug> mappings.

    • -
    - -

    Enable TOC window auto-fit

    - -
      -
    • g:vim_markdown_toc_autofit

      - -

      Allow for the TOC window to auto-fit when it’s possible for it to shrink. -It never increases its default size (half screen), it only shrinks.

      - -
      let g:vim_markdown_toc_autofit = 1
    • -
    - -

    Text emphasis restriction to single-lines

    - -
      -
    • g:vim_markdown_emphasis_multiline

      - -

      By default text emphasis works across multiple lines until a closing token is found. However, it’s possible to restrict text emphasis to a single line (i.e., for it to be applied a closing token must be found on the same line). To do so:

      - -
      let g:vim_markdown_emphasis_multiline = 0
    • -
    - -

    Syntax Concealing

    - -
      -
    • g:vim_markdown_conceal

      - -

      Concealing is set for some syntax.

      - -

      For example, conceal [link text](link url) as just link text. -Also, _italic_ and *italic* will conceal to just italic. -Similarly __bold__, **bold**, ___italic bold___, and ***italic bold*** -will conceal to just bold, bold, italic bold, and italic bold respectively.

      - -

      To enable conceal use Vim’s standard conceal configuration.

      - -
      set conceallevel=2
      -

      To disable conceal regardless of conceallevel setting, add the following to your .vimrc:

      - -
      let g:vim_markdown_conceal = 0
      -

      To disable math conceal with LaTeX math syntax enabled, add the following to your .vimrc:

      - -
      let g:tex_conceal = ""
      -let g:vim_markdown_math = 1
    • - -
    • g:vim_markdown_conceal_code_blocks

      - -

      Disabling conceal for code fences requires an additional setting:

      - -
      let g:vim_markdown_conceal_code_blocks = 0
    • -
    - -

    Fenced code block languages

    - -
      -
    • g:vim_markdown_fenced_languages

      - -

      You can use filetype name as fenced code block languages for syntax highlighting. -If you want to use different name from filetype, you can add it in your .vimrc like so:

      - -
      let g:vim_markdown_fenced_languages = ['csharp=cs']
      -

      This will cause the following to be highlighted using the cs filetype syntax.

      - -
      ```csharp
      -...
      -```
      -

      Default is ['c++=cpp', 'viml=vim', 'bash=sh', 'ini=dosini'].

    • -
    - -

    Follow named anchors

    - -
      -
    • g:vim_markdown_follow_anchor

      - -

      This feature allows the ge command to follow named anchors in links of the form -file#anchor or just #anchor, where file may omit the .md extension as -usual. Two variables control its operation:

      - -
      let g:vim_markdown_follow_anchor = 1
      -

      This tells vim-markdown whether to attempt to follow a named anchor in a link or -not. When it is 1, and only if a link can be split in two parts by the pattern -‘#’, then the first part is interpreted as the file and the second one as the -named anchor. This also includes urls of the form #anchor, for which the first -part is considered empty, meaning that the target file is the current one. After -the file is opened, the anchor will be searched.

      - -

      Default is 0.

    • - -
    • g:vim_markdown_anchorexpr

      - -
      let g:vim_markdown_anchorexpr = "'<<'.v:anchor.'>>'"
      -

      This expression will be evaluated substituting v:anchor with a quoted string -that contains the anchor to visit. The result of the evaluation will become the -real anchor to search in the target file. This is useful in order to convert -anchors of the form, say, my-section-title to searches of the form My Section -Title or <<my-section-title>>.

      - -

      Default is ''.

    • -
    - -

    Syntax extensions

    - -

    The following options control which syntax extensions will be turned on. They are off by default.

    - -

    LaTeX math

    - -
      -
    • g:vim_markdown_math

      - -

      Used as $x^2$, $$x^2$$, escapable as \$x\$ and \$\$x\$\$.

      - -
      let g:vim_markdown_math = 1
    • -
    - -

    YAML Front Matter

    - -
      -
    • g:vim_markdown_frontmatter

      - -

      Highlight YAML front matter as used by Jekyll or Hugo.

      - -
      let g:vim_markdown_frontmatter = 1
    • -
    - -

    TOML Front Matter

    - -
      -
    • g:vim_markdown_toml_frontmatter

      - -

      Highlight TOML front matter as used by Hugo.

      - -

      TOML syntax highlight requires vim-toml.

      - -
      let g:vim_markdown_toml_frontmatter = 1
    • -
    - -

    JSON Front Matter

    - -
      -
    • g:vim_markdown_json_frontmatter

      - -

      Highlight JSON front matter as used by Hugo.

      - -

      JSON syntax highlight requires vim-json.

      - -
      let g:vim_markdown_json_frontmatter = 1
    • -
    - -

    Strikethrough

    - -
      -
    • g:vim_markdown_strikethrough

      - -

      Strikethrough uses two tildes. ~~Scratch this.~~

      - -
      let g:vim_markdown_strikethrough = 1
    • -
    - -

    Adjust new list item indent

    - -
      -
    • g:vim_markdown_new_list_item_indent

      - -

      You can adjust a new list indent. For example, you insert a single line like below:

      - -
      * item1
      -

      Then if you type o to insert new line in vim and type * item2, the result will be:

      - -
      * item1
      -    * item2
      -

      vim-markdown automatically insert the indent. By default, the number of spaces of indent is 4. If you’d like to change the number as 2, just write:

      - -
      let g:vim_markdown_new_list_item_indent = 2
    • -
    - -

    Do not require .md extensions for Markdown links

    - -
      -
    • g:vim_markdown_no_extensions_in_markdown

      - -

      If you want to have a link like this [link text](link-url) and follow it for editing in vim using the ge command, but have it open the file “link-url.md” instead of the file “link-url”, then use this option:

      - -
      let g:vim_markdown_no_extensions_in_markdown = 1
      -

      This is super useful for GitLab and GitHub wiki repositories.

      - -

      Normal behaviour would be that vim-markup required you to do this [link text](link-url.md), but this is not how the Gitlab and GitHub wiki repositories work. So this option adds some consistency between the two.

    • -
    - -

    Auto-write when following link

    - -
      -
    • g:vim_markdown_autowrite

      - -

      If you follow a link like this [link text](link-url) using the ge shortcut, this option will automatically save any edits you made before moving you:

      - -
      let g:vim_markdown_autowrite = 1
    • -
    - -

    Change default file extension

    - -
      -
    • g:vim_markdown_auto_extension_ext

      - -

      If you would like to use a file extension other than .md you may do so using the vim_markdown_auto_extension_ext variable:

      - -
      let g:vim_markdown_auto_extension_ext = 'txt'
    • -
    - -

    Do not automatically insert bulletpoints

    - -
      -
    • g:vim_markdown_auto_insert_bullets

      - -

      Automatically inserting bulletpoints can lead to problems when wrapping text -(see issue #232 for details), so it can be disabled:

      - -
      let g:vim_markdown_auto_insert_bullets = 0
      -

      In that case, you probably also want to set the new list item indent to 0 as -well, or you will have to remove an indent each time you add a new list item:

      - -
      let g:vim_markdown_new_list_item_indent = 0
    • -
    - -

    Change how to open new files

    - -
      -
    • g:vim_markdown_edit_url_in

      - -

      By default when following a link the target file will be opened in your current buffer. This behavior can change if you prefer using splits or tabs by using the vim_markdown_edit_url_in variable. Possible values are tab, vsplit, hsplit, current opening in a new tab, vertical split, horizontal split, and current buffer respectively. Defaults to current buffer if not set:

      - -
      let g:vim_markdown_edit_url_in = 'tab'
    • -
    - -

    Mappings

    - -

    The following work on normal and visual modes:

    - -
      -
    • gx: open the link under the cursor in the same browser as the standard gx command. <Plug>Markdown_OpenUrlUnderCursor

      - -

      The standard gx is extended by allowing you to put your cursor anywhere inside a link.

      - -

      For example, all the following cursor positions will work:

      - -
      [Example](http://example.com)
      -^  ^    ^^   ^       ^
      -1  2    34   5       6
      -
      -
      -<http://example.com>
      -^  ^               ^
      -1  2               3
      -

      Known limitation: does not work for links that span multiple lines.

    • - -
    • ge: open the link under the cursor in Vim for editing. Useful for relative markdown links. <Plug>Markdown_EditUrlUnderCursor

      - -

      The rules for the cursor position are the same as the gx command.

    • - -
    • ]]: go to next header. <Plug>Markdown_MoveToNextHeader

    • - -
    • [[: go to previous header. Contrast with ]c. <Plug>Markdown_MoveToPreviousHeader

    • - -
    • ][: go to next sibling header if any. <Plug>Markdown_MoveToNextSiblingHeader

    • - -
    • []: go to previous sibling header if any. <Plug>Markdown_MoveToPreviousSiblingHeader

    • - -
    • ]c: go to Current header. <Plug>Markdown_MoveToCurHeader

    • - -
    • ]u: go to parent header (Up). <Plug>Markdown_MoveToParentHeader

    • -
    - -

    This plugin follows the recommended Vim plugin mapping interface, so to change the map ]u to asdf, add to your .vimrc:

    - -
    map asdf <Plug>Markdown_MoveToParentHeader
    - -

    To disable a map use:

    - -
    map <Plug> <Plug>Markdown_MoveToParentHeader
    - -

    Commands

    - -

    The following requires :filetype plugin on.

    - -
      -
    • :HeaderDecrease:

      - -

      Decrease level of all headers in buffer: h2 to h1, h3 to h2, etc.

      - -

      If range is given, only operate in the range.

      - -

      If an h1 would be decreased, abort.

      - -

      For simplicity of implementation, Setex headers are converted to Atx.

    • - -
    • :HeaderIncrease: Analogous to :HeaderDecrease, but increase levels instead.

    • - -
    • :SetexToAtx:

      - -

      Convert all Setex style headers in buffer to Atx.

      - -

      If a range is given, e.g. hit : from visual mode, only operate on the range.

    • - -
    • :TableFormat: Format the table under the cursor like this.

      - -

      Requires Tabular.

      - -

      The input table must already have a separator line as the second line of the table. -That line only needs to contain the correct pipes |, nothing else is required.

    • - -
    • :Toc: create a quickfix vertical window navigable table of contents with the headers.

      - -

      Hit <Enter> on a line to jump to the corresponding line of the markdown file.

    • - -
    • :Toch: Same as :Toc but in an horizontal window.

    • - -
    • :Toct: Same as :Toc but in a new tab.

    • - -
    • :Tocv: Same as :Toc for symmetry with :Toch and :Tocv.

    • -
    - -

    Credits

    - -

    The main contributors of vim-markdown are:

    - -
      -
    • Ben Williams (A.K.A. plasticboy). The original developer of vim-markdown. Homepage.
    • -
    - -

    If you feel that your name should be on this list, please make a pull request listing your contributions.

    - -

    License

    - -

    The MIT License (MIT)

    - -

    Copyright © 2012 Benjamin D. Williams

    - -

    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    - -

    The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    - -

    THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

    diff --git a/vim/.vim_runtime/sources_non_forked/vim-markdown/doc/vim-markdown.txt b/vim/.vim_runtime/sources_non_forked/vim-markdown/doc/vim-markdown.txt deleted file mode 100644 index 4d73129..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-markdown/doc/vim-markdown.txt +++ /dev/null @@ -1,663 +0,0 @@ -*vim-markdown* Vim Markdown - -=============================================================================== -Contents ~ - - 1. Introduction |vim-markdown-introduction| - 2. Installation |vim-markdown-installation| - 3. Basic usage |vim-markdown-basic-usage| - 1. Folding |vim-markdown-folding| - 2. Concealing |vim-markdown-concealing| - 4. Options |vim-markdown-options| - 1. Disable Folding |vim-markdown-disable-folding| - 2. Change fold style |vim-markdown-change-fold-style| - 3. Set header folding level |vim-markdown-set-header-folding-level| - 4. Disable Default Key Mappings |vim-markdown-disable-default-key-mappings| - 5. Enable TOC window auto-fit |vim-markdown-enable-toc-window-auto-fit| - 6. Text emphasis restriction to single-lines - |vim-markdown-text-emphasis-restriction-to-single-lines| - 7. Syntax Concealing |vim-markdown-syntax-concealing| - 8. Fenced code block languages |vim-markdown-fenced-code-block-languages| - 9. Follow named anchors |vim-markdown-follow-named-anchors| - 10. Syntax extensions |vim-markdown-syntax-extensions| - 1. LaTeX math |vim-markdown-latex-math| - 2. YAML Front Matter |vim-markdown-yaml-front-matter| - 3. TOML Front Matter |vim-markdown-toml-front-matter| - 4. JSON Front Matter |vim-markdown-json-front-matter| - 5. Strikethrough |vim-markdown-strikethrough| - 11. Adjust new list item indent |vim-markdown-adjust-new-list-item-indent| - 12. Do not require .md extensions for Markdown links - |vim-markdown-do-not-require-.md-extensions-for-markdown-links| - 13. Auto-write when following link - |vim-markdown-auto-write-when-following-link| - 14. Change default file extension - |vim-markdown-change-default-file-extension| - 15. Do not automatically insert bulletpoints - |vim-markdown-do-not-automatically-insert-bulletpoints| - 16. Change how to open new files |vim-markdown-change-how-to-open-new-files| - 5. Mappings |vim-markdown-mappings| - 6. Commands |vim-markdown-commands| - 7. Credits |vim-markdown-credits| - 8. License |vim-markdown-license| - 9. References |vim-markdown-references| - -=============================================================================== - *vim-markdown-introduction* -Introduction ~ - -Syntax highlighting, matching rules and mappings for the original Markdown [1] -and extensions. - -=============================================================================== - *vim-markdown-installation* -Installation ~ - -If you use Vundle [2], add the following lines to your '~/.vimrc': -> - Plugin 'godlygeek/tabular' - Plugin 'plasticboy/vim-markdown' -< -The 'tabular' plugin must come _before_ 'vim-markdown'. - -Then run inside Vim: -> - :so ~/.vimrc - :PluginInstall -< -If you use Pathogen [3], do this: -> - cd ~/.vim/bundle - git clone https://github.com/plasticboy/vim-markdown.git -< -To install without Pathogen using the Debian vim-addon-manager [4], do this: -> - git clone https://github.com/plasticboy/vim-markdown.git - cd vim-markdown - sudo make install - vim-addon-manager install markdown -< -If you are not using any package manager, download the tarball [5] and do this: -> - cd ~/.vim - tar --strip=1 -zxf vim-markdown-master.tar.gz -< -=============================================================================== - *vim-markdown-basic-usage* -Basic usage ~ - -------------------------------------------------------------------------------- - *vim-markdown-folding* -Folding ~ - -Folding is enabled for headers by default. - -The following commands are useful to open and close folds: - - *vim-markdown-zr* -- 'zr': reduces fold level throughout the buffer - *vim-markdown-zR* -- 'zR': opens all folds - *vim-markdown-zm* -- 'zm': increases fold level throughout the buffer - *vim-markdown-zM* -- 'zM': folds everything all the way - *vim-markdown-za* -- 'za': open a fold your cursor is on - *vim-markdown-zA* -- 'zA': open a fold your cursor is on recursively - *vim-markdown-zc* -- 'zc': close a fold your cursor is on - *vim-markdown-zC* -- 'zC': close a fold your cursor is on recursively - -Options are available to disable folding or change folding style. - -Try ':help fold-expr' and ':help fold-commands' for details. - -------------------------------------------------------------------------------- - *vim-markdown-concealing* -Concealing ~ - -Concealing is set for some syntax such as bold, italic, code block and link. - -Concealing lets you conceal text with other text. The actual source text is not -modified. If you put your cursor on the concealed line, the conceal goes away. - -Options are available to disable or change concealing. - -Try ':help concealcursor' and ':help conceallevel' for details. - -=============================================================================== - *vim-markdown-options* -Options ~ - -------------------------------------------------------------------------------- - *vim-markdown-disable-folding* -Disable Folding ~ - - *g:vim_markdown_folding_disabled* -- 'g:vim_markdown_folding_disabled' - - Add the following line to your '.vimrc' to disable the folding - configuration: -> - let g:vim_markdown_folding_disabled = 1 -< - This option only controls Vim Markdown specific folding configuration. - - To enable/disable folding use Vim's standard folding configuration. -> - set [no]foldenable -< -------------------------------------------------------------------------------- - *vim-markdown-change-fold-style* -Change fold style ~ - - *g:vim_markdown_folding_style_pythonic* -- 'g:vim_markdown_folding_style_pythonic' - - To fold in a style like python-mode [6], add the following to your - '.vimrc': -> - let g:vim_markdown_folding_style_pythonic = 1 -< - 'g:vim_markdown_folding_level' setting (default 1) is set to 'foldlevel'. - Thus level 1 heading which is served as a document title is expanded by - default. - - *g:vim_markdown_override_foldtext* -- 'g:vim_markdown_override_foldtext' - - To prevent foldtext from being set add the following to your '.vimrc': -> - let g:vim_markdown_override_foldtext = 0 -< -------------------------------------------------------------------------------- - *vim-markdown-set-header-folding-level* -Set header folding level ~ - - *g:vim_markdown_folding_level* -- 'g:vim_markdown_folding_level' - - Folding level is a number between 1 and 6. By default, if not specified, it - is set to 1. -> - let g:vim_markdown_folding_level = 6 -< - Tip: it can be changed on the fly with: -> - :let g:vim_markdown_folding_level = 1 - :edit -< -------------------------------------------------------------------------------- - *vim-markdown-disable-default-key-mappings* -Disable Default Key Mappings ~ - - *g:vim_markdown_no_default_key_mappings* -- 'g:vim_markdown_no_default_key_mappings' - - Add the following line to your '.vimrc' to disable default key mappings: -> - let g:vim_markdown_no_default_key_mappings = 1 -< - You can also map them by yourself with '' mappings. - -------------------------------------------------------------------------------- - *vim-markdown-enable-toc-window-auto-fit* -Enable TOC window auto-fit ~ - - *g:vim_markdown_toc_autofit* -- 'g:vim_markdown_toc_autofit' - - Allow for the TOC window to auto-fit when it's possible for it to shrink. - It never increases its default size (half screen), it only shrinks. -> - let g:vim_markdown_toc_autofit = 1 -< -------------------------------------------------------------------------------- - *vim-markdown-text-emphasis-restriction-to-single-lines* -Text emphasis restriction to single-lines ~ - - *g:vim_markdown_emphasis_multiline* -- 'g:vim_markdown_emphasis_multiline' - - By default text emphasis works across multiple lines until a closing token - is found. However, it's possible to restrict text emphasis to a single line - (i.e., for it to be applied a closing token must be found on the same - line). To do so: -> - let g:vim_markdown_emphasis_multiline = 0 -< -------------------------------------------------------------------------------- - *vim-markdown-syntax-concealing* -Syntax Concealing ~ - - *g:vim_markdown_conceal* -- 'g:vim_markdown_conceal' - - Concealing is set for some syntax. - - For example, conceal '[link text](link url)' as just 'link text'. Also, - '_italic_' and '*italic*' will conceal to just _italic_. Similarly - '__bold__', '**bold**', '___italic bold___', and '***italic bold***' will - conceal to just **bold**, **bold**, **_italic bold_**, and **_italic - bold_** respectively. - - To enable conceal use Vim's standard conceal configuration. -> - set conceallevel=2 -< - To disable conceal regardless of 'conceallevel' setting, add the following - to your '.vimrc': -> - let g:vim_markdown_conceal = 0 -< - To disable math conceal with LaTeX math syntax enabled, add the following - to your '.vimrc': -> - let g:tex_conceal = "" - let g:vim_markdown_math = 1 -< - *g:vim_markdown_conceal_code_blocks* -- 'g:vim_markdown_conceal_code_blocks' - - Disabling conceal for code fences requires an additional setting: -> - let g:vim_markdown_conceal_code_blocks = 0 -< -------------------------------------------------------------------------------- - *vim-markdown-fenced-code-block-languages* -Fenced code block languages ~ - - *g:vim_markdown_fenced_languages* -- 'g:vim_markdown_fenced_languages' - - You can use filetype name as fenced code block languages for syntax - highlighting. If you want to use different name from filetype, you can add - it in your '.vimrc' like so: -> - let g:vim_markdown_fenced_languages = ['csharp=cs'] -< - This will cause the following to be highlighted using the 'cs' filetype - syntax. -> - ```csharp - ... - ``` -< - Default is "['c++=cpp', 'viml=vim', 'bash=sh', 'ini=dosini']". - -------------------------------------------------------------------------------- - *vim-markdown-follow-named-anchors* -Follow named anchors ~ - - *g:vim_markdown_follow_anchor* -- 'g:vim_markdown_follow_anchor' - - This feature allows the 'ge' command to follow named anchors in links of - the form 'file#anchor' or just '#anchor', where file may omit the '.md' - extension as usual. Two variables control its operation: -> - let g:vim_markdown_follow_anchor = 1 -< - This tells vim-markdown whether to attempt to follow a named anchor in a - link or not. When it is 1, and only if a link can be split in two parts by - the pattern '#', then the first part is interpreted as the file and the - second one as the named anchor. This also includes urls of the form - '#anchor', for which the first part is considered empty, meaning that the - target file is the current one. After the file is opened, the anchor will - be searched. - - Default is '0'. - - *g:vim_markdown_anchorexpr* -- 'g:vim_markdown_anchorexpr' -> - let g:vim_markdown_anchorexpr = "'<<'.v:anchor.'>>'" -< - This expression will be evaluated substituting 'v:anchor' with a quoted - string that contains the anchor to visit. The result of the evaluation will - become the real anchor to search in the target file. This is useful in - order to convert anchors of the form, say, 'my-section-title' to searches - of the form 'My Section Title' or '<>'. - - Default is "''". - -------------------------------------------------------------------------------- - *vim-markdown-syntax-extensions* -Syntax extensions ~ - -The following options control which syntax extensions will be turned on. They -are off by default. - -------------------------------------------------------------------------------- - *vim-markdown-latex-math* -LaTeX math ~ - - *g:vim_markdown_math* -- 'g:vim_markdown_math' - - Used as '$x^2$', '$$x^2$$', escapable as '\$x\$' and '\$\$x\$\$'. -> - let g:vim_markdown_math = 1 -< -------------------------------------------------------------------------------- - *vim-markdown-yaml-front-matter* -YAML Front Matter ~ - - *g:vim_markdown_frontmatter* -- 'g:vim_markdown_frontmatter' - - Highlight YAML front matter as used by Jekyll or Hugo [7]. -> - let g:vim_markdown_frontmatter = 1 -< -------------------------------------------------------------------------------- - *vim-markdown-toml-front-matter* -TOML Front Matter ~ - - *g:vim_markdown_toml_frontmatter* -- 'g:vim_markdown_toml_frontmatter' - - Highlight TOML front matter as used by Hugo [7]. - - TOML syntax highlight requires vim-toml [8]. -> - let g:vim_markdown_toml_frontmatter = 1 -< -------------------------------------------------------------------------------- - *vim-markdown-json-front-matter* -JSON Front Matter ~ - - *g:vim_markdown_json_frontmatter* -- 'g:vim_markdown_json_frontmatter' - - Highlight JSON front matter as used by Hugo [7]. - - JSON syntax highlight requires vim-json [9]. -> - let g:vim_markdown_json_frontmatter = 1 -< -------------------------------------------------------------------------------- - *vim-markdown-strikethrough* -Strikethrough ~ - - *g:vim_markdown_strikethrough* -- 'g:vim_markdown_strikethrough' - - Strikethrough uses two tildes. '~~Scratch this.~~' -> - let g:vim_markdown_strikethrough = 1 -< -------------------------------------------------------------------------------- - *vim-markdown-adjust-new-list-item-indent* -Adjust new list item indent ~ - - *g:vim_markdown_new_list_item_indent* -- 'g:vim_markdown_new_list_item_indent' - - You can adjust a new list indent. For example, you insert a single line - like below: -> - * item1 -< - Then if you type 'o' to insert new line in vim and type '* item2', the - result will be: -> - * item1 - * item2 -< - vim-markdown automatically insert the indent. By default, the number of - spaces of indent is 4. If you'd like to change the number as 2, just write: -> - let g:vim_markdown_new_list_item_indent = 2 -< -------------------------------------------------------------------------------- - *vim-markdown-do-not-require-.md-extensions-for-markdown-links* -Do not require .md extensions for Markdown links ~ - - *g:vim_markdown_no_extensions_in_markdown* -- 'g:vim_markdown_no_extensions_in_markdown' - - If you want to have a link like this '[link text](link-url)' and follow it - for editing in vim using the 'ge' command, but have it open the file "link- - url.md" instead of the file "link-url", then use this option: -> - let g:vim_markdown_no_extensions_in_markdown = 1 -< - This is super useful for GitLab and GitHub wiki repositories. - - Normal behaviour would be that vim-markup required you to do this '[link - text](link-url.md)', but this is not how the Gitlab and GitHub wiki - repositories work. So this option adds some consistency between the two. - -------------------------------------------------------------------------------- - *vim-markdown-auto-write-when-following-link* -Auto-write when following link ~ - - *g:vim_markdown_autowrite* -- 'g:vim_markdown_autowrite' - - If you follow a link like this '[link text](link-url)' using the 'ge' - shortcut, this option will automatically save any edits you made before - moving you: -> - let g:vim_markdown_autowrite = 1 -< -------------------------------------------------------------------------------- - *vim-markdown-change-default-file-extension* -Change default file extension ~ - - *g:vim_markdown_auto_extension_ext* -- 'g:vim_markdown_auto_extension_ext' - - If you would like to use a file extension other than '.md' you may do so - using the 'vim_markdown_auto_extension_ext' variable: -> - let g:vim_markdown_auto_extension_ext = 'txt' -< -------------------------------------------------------------------------------- - *vim-markdown-do-not-automatically-insert-bulletpoints* -Do not automatically insert bulletpoints ~ - - *g:vim_markdown_auto_insert_bullets* -- 'g:vim_markdown_auto_insert_bullets' - - Automatically inserting bulletpoints can lead to problems when wrapping - text (see issue #232 for details), so it can be disabled: -> - let g:vim_markdown_auto_insert_bullets = 0 -< - In that case, you probably also want to set the new list item indent to 0 - as well, or you will have to remove an indent each time you add a new list - item: -> - let g:vim_markdown_new_list_item_indent = 0 -< -------------------------------------------------------------------------------- - *vim-markdown-change-how-to-open-new-files* -Change how to open new files ~ - - *g:vim_markdown_edit_url_in* -- 'g:vim_markdown_edit_url_in' - - By default when following a link the target file will be opened in your - current buffer. This behavior can change if you prefer using splits or tabs - by using the 'vim_markdown_edit_url_in' variable. Possible values are - 'tab', 'vsplit', 'hsplit', 'current' opening in a new tab, vertical split, - horizontal split, and current buffer respectively. Defaults to current - buffer if not set: -> - let g:vim_markdown_edit_url_in = 'tab' -< -=============================================================================== - *vim-markdown-mappings* -Mappings ~ - -The following work on normal and visual modes: - - *vim-markdown-gx* -- 'gx': open the link under the cursor in the same browser as the standard - 'gx' command. 'Markdown_OpenUrlUnderCursor' - - The standard 'gx' is extended by allowing you to put your cursor anywhere - inside a link. - - For example, all the following cursor positions will work: -> - [Example](http://example.com) - ^ ^ ^^ ^ ^ - 1 2 34 5 6 - - - ^ ^ ^ - 1 2 3 -< - Known limitation: does not work for links that span multiple lines. - - *vim-markdown-ge* -- 'ge': open the link under the cursor in Vim for editing. Useful for - relative markdown links. 'Markdown_EditUrlUnderCursor' - - The rules for the cursor position are the same as the 'gx' command. - - *vim-markdown-]]* -- ']]': go to next header. 'Markdown_MoveToNextHeader' - - *vim-markdown-[[* -- '[[': go to previous header. Contrast with ']c'. - 'Markdown_MoveToPreviousHeader' - - *vim-markdown-][* -- '][': go to next sibling header if any. - 'Markdown_MoveToNextSiblingHeader' - - *vim-markdown-[]* -- '[]': go to previous sibling header if any. - 'Markdown_MoveToPreviousSiblingHeader' - - *vim-markdown-]c* -- ']c': go to Current header. 'Markdown_MoveToCurHeader' - - *vim-markdown-]u* -- ']u': go to parent header (Up). 'Markdown_MoveToParentHeader' - -This plugin follows the recommended Vim plugin mapping interface, so to change -the map ']u' to 'asdf', add to your '.vimrc': -> - map asdf Markdown_MoveToParentHeader -< -To disable a map use: -> - map Markdown_MoveToParentHeader -< -=============================================================================== - *vim-markdown-commands* -Commands ~ - -The following requires ':filetype plugin on'. - - *:HeaderDecrease* -- ':HeaderDecrease': - - Decrease level of all headers in buffer: 'h2' to 'h1', 'h3' to 'h2', etc. - - If range is given, only operate in the range. - - If an 'h1' would be decreased, abort. - - For simplicity of implementation, Setex headers are converted to Atx. - - *:HeaderIncrease* -- ':HeaderIncrease': Analogous to ':HeaderDecrease', but increase levels - instead. - - *:SetexToAtx* -- ':SetexToAtx': - - Convert all Setex style headers in buffer to Atx. - - If a range is given, e.g. hit ':' from visual mode, only operate on the - range. - - *:TableFormat* -- ':TableFormat': Format the table under the cursor like this [10]. - - Requires Tabular [11]. - - The input table _must_ already have a separator line as the second line of - the table. That line only needs to contain the correct pipes '|', nothing - else is required. - - *:Toc* -- ':Toc': create a quickfix vertical window navigable table of contents with - the headers. - - Hit '' on a line to jump to the corresponding line of the markdown - file. - - *:Toch* -- ':Toch': Same as ':Toc' but in an horizontal window. - - *:Toct* -- ':Toct': Same as ':Toc' but in a new tab. - - *:Tocv* -- ':Tocv': Same as ':Toc' for symmetry with ':Toch' and ':Tocv'. - -=============================================================================== - *vim-markdown-credits* -Credits ~ - -The main contributors of vim-markdown are: - -- **Ben Williams** (A.K.A. **plasticboy**). The original developer of vim- - markdown. Homepage [12]. - -If you feel that your name should be on this list, please make a pull request -listing your contributions. - -=============================================================================== - *vim-markdown-license* -License ~ - -The MIT License (MIT) - -Copyright (c) 2012 Benjamin D. Williams - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -=============================================================================== - *vim-markdown-references* -References ~ - -[1] http://daringfireball.net/projects/markdown/ -[2] https://github.com/gmarik/vundle -[3] https://github.com/tpope/vim-pathogen -[4] http://packages.qa.debian.org/v/vim-addon-manager.html -[5] https://github.com/plasticboy/vim-markdown/archive/master.tar.gz -[6] https://github.com/klen/python-mode -[7] https://gohugo.io/content/front-matter/ -[8] https://github.com/cespare/vim-toml -[9] https://github.com/elzr/vim-json -[10] http://www.cirosantilli.com/markdown-style-guide/#tables -[11] https://github.com/godlygeek/tabular -[12] http://plasticboy.com/ - -vim: ft=help diff --git a/vim/.vim_runtime/sources_non_forked/vim-markdown/ftdetect/markdown.vim b/vim/.vim_runtime/sources_non_forked/vim-markdown/ftdetect/markdown.vim deleted file mode 100644 index 07682da..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-markdown/ftdetect/markdown.vim +++ /dev/null @@ -1,8 +0,0 @@ -if !has('patch-7.4.480') - " Before this patch, vim used modula2 for .md. - au! filetypedetect BufRead,BufNewFile *.md -endif - -" markdown filetype file -au BufRead,BufNewFile *.{md,mdown,mkd,mkdn,markdown,mdwn} setfiletype markdown -au BufRead,BufNewFile *.{md,mdown,mkd,mkdn,markdown,mdwn}.{des3,des,bf,bfa,aes,idea,cast,rc2,rc4,rc5,desx} setfiletype markdown diff --git a/vim/.vim_runtime/sources_non_forked/vim-markdown/ftplugin/markdown.vim b/vim/.vim_runtime/sources_non_forked/vim-markdown/ftplugin/markdown.vim deleted file mode 100644 index 200293e..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-markdown/ftplugin/markdown.vim +++ /dev/null @@ -1,791 +0,0 @@ -"TODO print messages when on visual mode. I only see VISUAL, not the messages. - -" Function interface phylosophy: -" -" - functions take arbitrary line numbers as parameters. -" Current cursor line is only a suitable default parameter. -" -" - only functions that bind directly to user actions: -" -" - print error messages. -" All intermediate functions limit themselves return `0` to indicate an error. -" -" - move the cursor. All other functions do not move the cursor. -" -" This is how you should view headers for the header mappings: -" -" |BUFFER -" | -" |Outside any header -" | -" a-+# a -" | -" |Inside a -" | -" a-+ -" b-+## b -" | -" |inside b -" | -" b-+ -" c-+### c -" | -" |Inside c -" | -" c-+ -" d-|# d -" | -" |Inside d -" | -" d-+ -" e-|e -" |==== -" | -" |Inside e -" | -" e-+ - -" For each level, contains the regexp that matches at that level only. -" -let s:levelRegexpDict = { - \ 1: '\v^(#[^#]@=|.+\n\=+$)', - \ 2: '\v^(##[^#]@=|.+\n-+$)', - \ 3: '\v^###[^#]@=', - \ 4: '\v^####[^#]@=', - \ 5: '\v^#####[^#]@=', - \ 6: '\v^######[^#]@=' -\ } - -" Maches any header level of any type. -" -" This could be deduced from `s:levelRegexpDict`, but it is more -" efficient to have a single regexp for this. -" -let s:headersRegexp = '\v^(#|.+\n(\=+|-+)$)' - -" Returns the line number of the first header before `line`, called the -" current header. -" -" If there is no current header, return `0`. -" -" @param a:1 The line to look the header of. Default value: `getpos('.')`. -" -function! s:GetHeaderLineNum(...) - if a:0 == 0 - let l:l = line('.') - else - let l:l = a:1 - endif - while(l:l > 0) - if join(getline(l:l, l:l + 1), "\n") =~ s:headersRegexp - return l:l - endif - let l:l -= 1 - endwhile - return 0 -endfunction - -" - if inside a header goes to it. -" Return its line number. -" -" - if on top level outside any headers, -" print a warning -" Return `0`. -" -function! s:MoveToCurHeader() - let l:lineNum = s:GetHeaderLineNum() - if l:lineNum != 0 - call cursor(l:lineNum, 1) - else - echo 'outside any header' - "normal! gg - endif - return l:lineNum -endfunction - -" Move cursor to next header of any level. -" -" If there are no more headers, print a warning. -" -function! s:MoveToNextHeader() - if search(s:headersRegexp, 'W') == 0 - "normal! G - echo 'no next header' - endif -endfunction - -" Move cursor to previous header (before current) of any level. -" -" If it does not exist, print a warning. -" -function! s:MoveToPreviousHeader() - let l:curHeaderLineNumber = s:GetHeaderLineNum() - let l:noPreviousHeader = 0 - if l:curHeaderLineNumber <= 1 - let l:noPreviousHeader = 1 - else - let l:previousHeaderLineNumber = s:GetHeaderLineNum(l:curHeaderLineNumber - 1) - if l:previousHeaderLineNumber == 0 - let l:noPreviousHeader = 1 - else - call cursor(l:previousHeaderLineNumber, 1) - endif - endif - if l:noPreviousHeader - echo 'no previous header' - endif -endfunction - -" - if line is inside a header, return the header level (h1 -> 1, h2 -> 2, etc.). -" -" - if line is at top level outside any headers, return `0`. -" -function! s:GetHeaderLevel(...) - if a:0 == 0 - let l:line = line('.') - else - let l:line = a:1 - endif - let l:linenum = s:GetHeaderLineNum(l:line) - if l:linenum != 0 - return s:GetLevelOfHeaderAtLine(l:linenum) - else - return 0 - endif -endfunction - -" Returns the level of the header at the given line. -" -" If there is no header at the given line, returns `0`. -" -function! s:GetLevelOfHeaderAtLine(linenum) - let l:lines = join(getline(a:linenum, a:linenum + 1), "\n") - for l:key in keys(s:levelRegexpDict) - if l:lines =~ get(s:levelRegexpDict, l:key) - return l:key - endif - endfor - return 0 -endfunction - -" Move cursor to parent header of the current header. -" -" If it does not exit, print a warning and do nothing. -" -function! s:MoveToParentHeader() - let l:linenum = s:GetParentHeaderLineNumber() - if l:linenum != 0 - call cursor(l:linenum, 1) - else - echo 'no parent header' - endif -endfunction - -" Return the line number of the parent header of line `line`. -" -" If it has no parent, return `0`. -" -function! s:GetParentHeaderLineNumber(...) - if a:0 == 0 - let l:line = line('.') - else - let l:line = a:1 - endif - let l:level = s:GetHeaderLevel(l:line) - if l:level > 1 - let l:linenum = s:GetPreviousHeaderLineNumberAtLevel(l:level - 1, l:line) - return l:linenum - endif - return 0 -endfunction - -" Return the line number of the previous header of given level. -" in relation to line `a:1`. If not given, `a:1 = getline()` -" -" `a:1` line is included, and this may return the current header. -" -" If none return 0. -" -function! s:GetNextHeaderLineNumberAtLevel(level, ...) - if a:0 < 1 - let l:line = line('.') - else - let l:line = a:1 - endif - let l:l = l:line - while(l:l <= line('$')) - if join(getline(l:l, l:l + 1), "\n") =~ get(s:levelRegexpDict, a:level) - return l:l - endif - let l:l += 1 - endwhile - return 0 -endfunction - -" Return the line number of the previous header of given level. -" in relation to line `a:1`. If not given, `a:1 = getline()` -" -" `a:1` line is included, and this may return the current header. -" -" If none return 0. -" -function! s:GetPreviousHeaderLineNumberAtLevel(level, ...) - if a:0 == 0 - let l:line = line('.') - else - let l:line = a:1 - endif - let l:l = l:line - while(l:l > 0) - if join(getline(l:l, l:l + 1), "\n") =~ get(s:levelRegexpDict, a:level) - return l:l - endif - let l:l -= 1 - endwhile - return 0 -endfunction - -" Move cursor to next sibling header. -" -" If there is no next siblings, print a warning and don't move. -" -function! s:MoveToNextSiblingHeader() - let l:curHeaderLineNumber = s:GetHeaderLineNum() - let l:curHeaderLevel = s:GetLevelOfHeaderAtLine(l:curHeaderLineNumber) - let l:curHeaderParentLineNumber = s:GetParentHeaderLineNumber() - let l:nextHeaderSameLevelLineNumber = s:GetNextHeaderLineNumberAtLevel(l:curHeaderLevel, l:curHeaderLineNumber + 1) - let l:noNextSibling = 0 - if l:nextHeaderSameLevelLineNumber == 0 - let l:noNextSibling = 1 - else - let l:nextHeaderSameLevelParentLineNumber = s:GetParentHeaderLineNumber(l:nextHeaderSameLevelLineNumber) - if l:curHeaderParentLineNumber == l:nextHeaderSameLevelParentLineNumber - call cursor(l:nextHeaderSameLevelLineNumber, 1) - else - let l:noNextSibling = 1 - endif - endif - if l:noNextSibling - echo 'no next sibling header' - endif -endfunction - -" Move cursor to previous sibling header. -" -" If there is no previous siblings, print a warning and do nothing. -" -function! s:MoveToPreviousSiblingHeader() - let l:curHeaderLineNumber = s:GetHeaderLineNum() - let l:curHeaderLevel = s:GetLevelOfHeaderAtLine(l:curHeaderLineNumber) - let l:curHeaderParentLineNumber = s:GetParentHeaderLineNumber() - let l:previousHeaderSameLevelLineNumber = s:GetPreviousHeaderLineNumberAtLevel(l:curHeaderLevel, l:curHeaderLineNumber - 1) - let l:noPreviousSibling = 0 - if l:previousHeaderSameLevelLineNumber == 0 - let l:noPreviousSibling = 1 - else - let l:previousHeaderSameLevelParentLineNumber = s:GetParentHeaderLineNumber(l:previousHeaderSameLevelLineNumber) - if l:curHeaderParentLineNumber == l:previousHeaderSameLevelParentLineNumber - call cursor(l:previousHeaderSameLevelLineNumber, 1) - else - let l:noPreviousSibling = 1 - endif - endif - if l:noPreviousSibling - echo 'no previous sibling header' - endif -endfunction - -function! s:Toc(...) - if a:0 > 0 - let l:window_type = a:1 - else - let l:window_type = 'vertical' - endif - - - let l:bufnr = bufnr('%') - let l:cursor_line = line('.') - let l:cursor_header = 0 - let l:fenced_block = 0 - let l:front_matter = 0 - let l:header_list = [] - let l:header_max_len = 0 - let l:vim_markdown_toc_autofit = get(g:, "vim_markdown_toc_autofit", 0) - let l:vim_markdown_frontmatter = get(g:, "vim_markdown_frontmatter", 0) - for i in range(1, line('$')) - let l:lineraw = getline(i) - let l:l1 = getline(i+1) - let l:line = substitute(l:lineraw, "#", "\\\#", "g") - if l:line =~ '````*' || l:line =~ '\~\~\~\~*' - if l:fenced_block == 0 - let l:fenced_block = 1 - elseif l:fenced_block == 1 - let l:fenced_block = 0 - endif - elseif l:vim_markdown_frontmatter == 1 - if l:front_matter == 1 - if l:line == '---' - let l:front_matter = 0 - endif - elseif i == 1 - if l:line == '---' - let l:front_matter = 1 - endif - endif - endif - if l:line =~ '^#\+' || (l:l1 =~ '^=\+\s*$' || l:l1 =~ '^-\+\s*$') && l:line =~ '^\S' - let l:is_header = 1 - else - let l:is_header = 0 - endif - if l:is_header == 1 && l:fenced_block == 0 && l:front_matter == 0 - " append line to location list - let l:item = {'lnum': i, 'text': l:line, 'valid': 1, 'bufnr': l:bufnr, 'col': 1} - let l:header_list = l:header_list + [l:item] - " set header number of the cursor position - if l:cursor_header == 0 - if i == l:cursor_line - let l:cursor_header = len(l:header_list) - elseif i > l:cursor_line - let l:cursor_header = len(l:header_list) - 1 - endif - endif - " keep track of the longest header size (heading level + title) - let l:total_len = stridx(l:line, ' ') + strdisplaywidth(l:line) - if l:total_len > l:header_max_len - let l:header_max_len = l:total_len - endif - endif - endfor - call setloclist(0, l:header_list) - if len(l:header_list) == 0 - echom "Toc: No headers." - return - endif - - if l:window_type ==# 'horizontal' - lopen - elseif l:window_type ==# 'vertical' - vertical lopen - " auto-fit toc window when possible to shrink it - if (&columns/2) > l:header_max_len && l:vim_markdown_toc_autofit == 1 - execute 'vertical resize ' . (l:header_max_len + 1) - else - execute 'vertical resize ' . (&columns/2) - endif - elseif l:window_type ==# 'tab' - tab lopen - else - lopen - endif - setlocal modifiable - for i in range(1, line('$')) - " this is the location-list data for the current item - let d = getloclist(0)[i-1] - " atx headers - if match(d.text, "^#") > -1 - let l:level = len(matchstr(d.text, '#*', 'g'))-1 - let d.text = substitute(d.text, '\v^#*[ ]*', '', '') - let d.text = substitute(d.text, '\v[ ]*#*$', '', '') - " setex headers - else - let l:next_line = getbufline(d.bufnr, d.lnum+1) - if match(l:next_line, "=") > -1 - let l:level = 0 - elseif match(l:next_line, "-") > -1 - let l:level = 1 - endif - endif - call setline(i, repeat(' ', l:level). d.text) - endfor - setlocal nomodified - setlocal nomodifiable - execute 'normal! ' . l:cursor_header . 'G' -endfunction - -" Convert Setex headers in range `line1 .. line2` to Atx. -" -" Return the number of conversions. -" -function! s:SetexToAtx(line1, line2) - let l:originalNumLines = line('$') - execute 'silent! ' . a:line1 . ',' . a:line2 . 'substitute/\v(.*\S.*)\n\=+$/# \1/' - execute 'silent! ' . a:line1 . ',' . a:line2 . 'substitute/\v(.*\S.*)\n-+$/## \1/' - return l:originalNumLines - line('$') -endfunction - -" If `a:1` is 0, decrease the level of all headers in range `line1 .. line2`. -" -" Otherwise, increase the level. `a:1` defaults to `0`. -" -function! s:HeaderDecrease(line1, line2, ...) - if a:0 > 0 - let l:increase = a:1 - else - let l:increase = 0 - endif - if l:increase - let l:forbiddenLevel = 6 - let l:replaceLevels = [5, 1] - let l:levelDelta = 1 - else - let l:forbiddenLevel = 1 - let l:replaceLevels = [2, 6] - let l:levelDelta = -1 - endif - for l:line in range(a:line1, a:line2) - if join(getline(l:line, l:line + 1), "\n") =~ s:levelRegexpDict[l:forbiddenLevel] - echomsg 'There is an h' . l:forbiddenLevel . ' at line ' . l:line . '. Aborting.' - return - endif - endfor - let l:numSubstitutions = s:SetexToAtx(a:line1, a:line2) - let l:flags = (&gdefault ? '' : 'g') - for l:level in range(replaceLevels[0], replaceLevels[1], -l:levelDelta) - execute 'silent! ' . a:line1 . ',' . (a:line2 - l:numSubstitutions) . 'substitute/' . s:levelRegexpDict[l:level] . '/' . repeat('#', l:level + l:levelDelta) . '/' . l:flags - endfor -endfunction - -" Format table under cursor. -" -" Depends on Tabularize. -" -function! s:TableFormat() - let l:pos = getpos('.') - normal! { - " Search instead of `normal! j` because of the table at beginning of file edge case. - call search('|') - normal! j - " Remove everything that is not a pipe, colon or hyphen next to a colon othewise - " well formated tables would grow because of addition of 2 spaces on the separator - " line by Tabularize /|. - let l:flags = (&gdefault ? '' : 'g') - execute 's/\(:\@ ' . a:rhs . ' :call ' . a:lhs . '()' - execute 'vn ' . a:rhs . ' :call VisMove(''' . a:lhs . ''')' -endfunction - -" Parameters: -" -" - step +1 for right, -1 for left -" -" TODO: multiple lines. -" -function! s:FindCornerOfSyntax(lnum, col, step) - let l:col = a:col - let l:syn = synIDattr(synID(a:lnum, l:col, 1), 'name') - while synIDattr(synID(a:lnum, l:col, 1), 'name') ==# l:syn - let l:col += a:step - endwhile - return l:col - a:step -endfunction - -" Return the next position of the given syntax name, -" inclusive on the given position. -" -" TODO: multiple lines -" -function! s:FindNextSyntax(lnum, col, name) - let l:col = a:col - let l:step = 1 - while synIDattr(synID(a:lnum, l:col, 1), 'name') !=# a:name - let l:col += l:step - endwhile - return [a:lnum, l:col] -endfunction - -function! s:FindCornersOfSyntax(lnum, col) - return [FindLeftOfSyntax(a:lnum, a:col), FindRightOfSyntax(a:lnum, a:col)] -endfunction - -function! s:FindRightOfSyntax(lnum, col) - return FindCornerOfSyntax(a:lnum, a:col, 1) -endfunction - -function! s:FindLeftOfSyntax(lnum, col) - return FindCornerOfSyntax(a:lnum, a:col, -1) -endfunction - -" Returns: -" -" - a string with the the URL for the link under the cursor -" - an empty string if the cursor is not on a link -" -" TODO -" -" - multiline support -" - give an error if the separator does is not on a link -" -function! s:Markdown_GetUrlForPosition(lnum, col) - let l:lnum = a:lnum - let l:col = a:col - let l:syn = synIDattr(synID(l:lnum, l:col, 1), 'name') - - if l:syn ==# 'mkdInlineURL' || l:syn ==# 'mkdURL' || l:syn ==# 'mkdLinkDefTarget' - " Do nothing. - elseif l:syn ==# 'mkdLink' - let [l:lnum, l:col] = FindNextSyntax(l:lnum, l:col, 'mkdURL') - let l:syn = 'mkdURL' - elseif l:syn ==# 'mkdDelimiter' - let l:line = getline(l:lnum) - let l:char = l:line[col - 1] - if l:char ==# '<' - let l:col += 1 - elseif l:char ==# '>' || l:char ==# ')' - let l:col -= 1 - elseif l:char ==# '[' || l:char ==# ']' || l:char ==# '(' - let [l:lnum, l:col] = FindNextSyntax(l:lnum, l:col, 'mkdURL') - else - return '' - endif - else - return '' - endif - - let [l:left, l:right] = FindCornersOfSyntax(l:lnum, l:col) - return getline(l:lnum)[l:left - 1 : l:right - 1] -endfunction - -" Front end for GetUrlForPosition. -" -function! s:OpenUrlUnderCursor() - let l:url = s:Markdown_GetUrlForPosition(line('.'), col('.')) - if l:url != '' - call s:VersionAwareNetrwBrowseX(l:url) - else - echomsg 'The cursor is not on a link.' - endif -endfunction - -" We need a definition guard because we invoke 'edit' which will reload this -" script while this function is running. We must not replace it. -if !exists('*s:EditUrlUnderCursor') - function s:EditUrlUnderCursor() - let l:url = s:Markdown_GetUrlForPosition(line('.'), col('.')) - if l:url != '' - if get(g:, 'vim_markdown_autowrite', 0) - write - endif - let l:anchor = '' - if get(g:, 'vim_markdown_follow_anchor', 0) - let l:parts = split(l:url, '#', 1) - if len(l:parts) == 2 - let [l:url, l:anchor] = parts - let l:anchorexpr = get(g:, 'vim_markdown_anchorexpr', '') - if l:anchorexpr != '' - let l:anchor = eval(substitute( - \ l:anchorexpr, 'v:anchor', - \ escape('"'.l:anchor.'"', '"'), '')) - endif - endif - endif - if l:url != '' - let l:ext = '' - if get(g:, 'vim_markdown_no_extensions_in_markdown', 0) - " use another file extension if preferred - if exists('g:vim_markdown_auto_extension_ext') - let l:ext = '.'.g:vim_markdown_auto_extension_ext - else - let l:ext = '.md' - endif - endif - let l:url = fnameescape(fnamemodify(expand('%:h').'/'.l:url.l:ext, ':.')) - let l:editmethod = '' - " determine how to open the linked file (split, tab, etc) - if exists('g:vim_markdown_edit_url_in') - if g:vim_markdown_edit_url_in == 'tab' - let l:editmethod = 'tabnew' - elseif g:vim_markdown_edit_url_in == 'vsplit' - let l:editmethod = 'vsp' - elseif g:vim_markdown_edit_url_in == 'hsplit' - let l:editmethod = 'sp' - else - let l:editmethod = 'edit' - endif - else - " default to current buffer - let l:editmethod = 'edit' - endif - execute l:editmethod l:url - endif - if l:anchor != '' - silent! execute '/'.l:anchor - endif - else - echomsg 'The cursor is not on a link.' - endif - endfunction -endif - -function! s:VersionAwareNetrwBrowseX(url) - if has('patch-7.4.567') - call netrw#BrowseX(a:url, 0) - else - call netrw#NetrwBrowseX(a:url, 0) - endif -endf - -function! s:MapNotHasmapto(lhs, rhs) - if !hasmapto('' . a:rhs) - execute 'nmap ' . a:lhs . ' ' . a:rhs - execute 'vmap ' . a:lhs . ' ' . a:rhs - endif -endfunction - -call MapNormVis('Markdown_MoveToNextHeader', 'MoveToNextHeader') -call MapNormVis('Markdown_MoveToPreviousHeader', 'MoveToPreviousHeader') -call MapNormVis('Markdown_MoveToNextSiblingHeader', 'MoveToNextSiblingHeader') -call MapNormVis('Markdown_MoveToPreviousSiblingHeader', 'MoveToPreviousSiblingHeader') -call MapNormVis('Markdown_MoveToParentHeader', 'MoveToParentHeader') -call MapNormVis('Markdown_MoveToCurHeader', 'MoveToCurHeader') -nnoremap Markdown_OpenUrlUnderCursor :call OpenUrlUnderCursor() -nnoremap Markdown_EditUrlUnderCursor :call EditUrlUnderCursor() - -if !get(g:, 'vim_markdown_no_default_key_mappings', 0) - call MapNotHasmapto(']]', 'Markdown_MoveToNextHeader') - call MapNotHasmapto('[[', 'Markdown_MoveToPreviousHeader') - call MapNotHasmapto('][', 'Markdown_MoveToNextSiblingHeader') - call MapNotHasmapto('[]', 'Markdown_MoveToPreviousSiblingHeader') - call MapNotHasmapto(']u', 'Markdown_MoveToParentHeader') - call MapNotHasmapto(']c', 'Markdown_MoveToCurHeader') - call MapNotHasmapto('gx', 'Markdown_OpenUrlUnderCursor') - call MapNotHasmapto('ge', 'Markdown_EditUrlUnderCursor') -endif - -command! -buffer -range=% HeaderDecrease call s:HeaderDecrease(, ) -command! -buffer -range=% HeaderIncrease call s:HeaderDecrease(, , 1) -command! -buffer -range=% SetexToAtx call s:SetexToAtx(, ) -command! -buffer TableFormat call s:TableFormat() -command! -buffer Toc call s:Toc() -command! -buffer Toch call s:Toc('horizontal') -command! -buffer Tocv call s:Toc('vertical') -command! -buffer Toct call s:Toc('tab') - -" Heavily based on vim-notes - http://peterodding.com/code/vim/notes/ -if exists('g:vim_markdown_fenced_languages') - let s:filetype_dict = {} - for s:filetype in g:vim_markdown_fenced_languages - let key = matchstr(s:filetype, "[^=]*") - let val = matchstr(s:filetype, "[^=]*$") - let s:filetype_dict[key] = val - endfor -else - let s:filetype_dict = { - \ 'c++': 'cpp', - \ 'viml': 'vim', - \ 'bash': 'sh', - \ 'ini': 'dosini' - \ } -endif - -function! s:MarkdownHighlightSources(force) - " Syntax highlight source code embedded in notes. - " Look for code blocks in the current file - let filetypes = {} - for line in getline(1, '$') - let ft = matchstr(line, '```\s*\zs[0-9A-Za-z_+-]*') - if !empty(ft) && ft !~ '^\d*$' | let filetypes[ft] = 1 | endif - endfor - if !exists('b:mkd_known_filetypes') - let b:mkd_known_filetypes = {} - endif - if !exists('b:mkd_included_filetypes') - " set syntax file name included - let b:mkd_included_filetypes = {} - endif - if !a:force && (b:mkd_known_filetypes == filetypes || empty(filetypes)) - return - endif - - " Now we're ready to actually highlight the code blocks. - let startgroup = 'mkdCodeStart' - let endgroup = 'mkdCodeEnd' - for ft in keys(filetypes) - if a:force || !has_key(b:mkd_known_filetypes, ft) - if has_key(s:filetype_dict, ft) - let filetype = s:filetype_dict[ft] - else - let filetype = ft - endif - let group = 'mkdSnippet' . toupper(substitute(filetype, "[+-]", "_", "g")) - if !has_key(b:mkd_included_filetypes, filetype) - let include = s:SyntaxInclude(filetype) - let b:mkd_included_filetypes[filetype] = 1 - else - let include = '@' . toupper(filetype) - endif - let command = 'syntax region %s matchgroup=%s start="^\s*```\s*%s$" matchgroup=%s end="\s*```$" keepend contains=%s%s' - execute printf(command, group, startgroup, ft, endgroup, include, has('conceal') && get(g:, 'vim_markdown_conceal', 1) && get(g:, 'vim_markdown_conceal_code_blocks', 1) ? ' concealends' : '') - execute printf('syntax cluster mkdNonListItem add=%s', group) - - let b:mkd_known_filetypes[ft] = 1 - endif - endfor -endfunction - -function! s:SyntaxInclude(filetype) - " Include the syntax highlighting of another {filetype}. - let grouplistname = '@' . toupper(a:filetype) - " Unset the name of the current syntax while including the other syntax - " because some syntax scripts do nothing when "b:current_syntax" is set - if exists('b:current_syntax') - let syntax_save = b:current_syntax - unlet b:current_syntax - endif - try - execute 'syntax include' grouplistname 'syntax/' . a:filetype . '.vim' - execute 'syntax include' grouplistname 'after/syntax/' . a:filetype . '.vim' - catch /E484/ - " Ignore missing scripts - endtry - " Restore the name of the current syntax - if exists('syntax_save') - let b:current_syntax = syntax_save - elseif exists('b:current_syntax') - unlet b:current_syntax - endif - return grouplistname -endfunction - - -function! s:MarkdownRefreshSyntax(force) - if &filetype =~ 'markdown' && line('$') > 1 - call s:MarkdownHighlightSources(a:force) - endif -endfunction - -function! s:MarkdownClearSyntaxVariables() - if &filetype =~ 'markdown' - unlet! b:mkd_included_filetypes - endif -endfunction - -augroup Mkd - " These autocmd calling s:MarkdownRefreshSyntax need to be kept in sync with - " the autocmds calling s:MarkdownSetupFolding in after/ftplugin/markdown.vim. - autocmd! * - autocmd BufWinEnter call s:MarkdownRefreshSyntax(1) - autocmd BufUnload call s:MarkdownClearSyntaxVariables() - autocmd BufWritePost call s:MarkdownRefreshSyntax(0) - autocmd InsertEnter,InsertLeave call s:MarkdownRefreshSyntax(0) - autocmd CursorHold,CursorHoldI call s:MarkdownRefreshSyntax(0) -augroup END diff --git a/vim/.vim_runtime/sources_non_forked/vim-markdown/indent/markdown.vim b/vim/.vim_runtime/sources_non_forked/vim-markdown/indent/markdown.vim deleted file mode 100644 index 2fa4cda..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-markdown/indent/markdown.vim +++ /dev/null @@ -1,75 +0,0 @@ -if exists("b:did_indent") | finish | endif -let b:did_indent = 1 - -setlocal indentexpr=GetMarkdownIndent() -setlocal nolisp -setlocal autoindent - -" Automatically continue blockquote on line break -setlocal formatoptions+=r -setlocal comments=b:> -if get(g:, "vim_markdown_auto_insert_bullets", 1) - " Do not automatically insert bullets when auto-wrapping with text-width - setlocal formatoptions-=c - " Accept various markers as bullets - setlocal comments+=b:*,b:+,b:- -endif - -" Only define the function once -if exists("*GetMarkdownIndent") | finish | endif - -function! s:IsMkdCode(lnum) - let name = synIDattr(synID(a:lnum, 1, 0), 'name') - return (name =~ '^mkd\%(Code$\|Snippet\)' || name != '' && name !~ '^\%(mkd\|html\)') -endfunction - -function! s:IsLiStart(line) - return a:line !~ '^ *\([*-]\)\%( *\1\)\{2}\%( \|\1\)*$' && - \ a:line =~ '^\s*[*+-] \+' -endfunction - -function! s:IsHeaderLine(line) - return a:line =~ '^\s*#' -endfunction - -function! s:IsBlankLine(line) - return a:line =~ '^$' -endfunction - -function! s:PrevNonBlank(lnum) - let i = a:lnum - while i > 1 && s:IsBlankLine(getline(i)) - let i -= 1 - endwhile - return i -endfunction - -function GetMarkdownIndent() - if v:lnum > 2 && s:IsBlankLine(getline(v:lnum - 1)) && s:IsBlankLine(getline(v:lnum - 2)) - return 0 - endif - let list_ind = get(g:, "vim_markdown_new_list_item_indent", 4) - " Find a non-blank line above the current line. - let lnum = s:PrevNonBlank(v:lnum - 1) - " At the start of the file use zero indent. - if lnum == 0 | return 0 | endif - let ind = indent(lnum) - let line = getline(lnum) " Last line - let cline = getline(v:lnum) " Current line - if s:IsLiStart(cline) - " Current line is the first line of a list item, do not change indent - return indent(v:lnum) - elseif s:IsHeaderLine(cline) && !s:IsMkdCode(v:lnum) - " Current line is the header, do not indent - return 0 - elseif s:IsLiStart(line) - if s:IsMkdCode(lnum) - return ind - else - " Last line is the first line of a list item, increase indent - return ind + list_ind - end - else - return ind - endif -endfunction diff --git a/vim/.vim_runtime/sources_non_forked/vim-markdown/registry/markdown.yaml b/vim/.vim_runtime/sources_non_forked/vim-markdown/registry/markdown.yaml deleted file mode 100644 index 4d293ee..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-markdown/registry/markdown.yaml +++ /dev/null @@ -1,9 +0,0 @@ -addon: markdown -description: "Markdown syntax highlighting" -files: - - ftdetect/markdown.vim - - ftplugin/markdown.vim - - syntax/markdown.vim - - after/ftplugin/markdown.vim - - indent/markdown.vim - - doc/vim-markdown.txt diff --git a/vim/.vim_runtime/sources_non_forked/vim-markdown/syntax/markdown.vim b/vim/.vim_runtime/sources_non_forked/vim-markdown/syntax/markdown.vim deleted file mode 100644 index 3999764..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-markdown/syntax/markdown.vim +++ /dev/null @@ -1,184 +0,0 @@ -" Vim syntax file -" Language: Markdown -" Maintainer: Ben Williams -" URL: http://plasticboy.com/markdown-vim-mode/ -" Remark: Uses HTML syntax file -" TODO: Handle stuff contained within stuff (e.g. headings within blockquotes) - - -" Read the HTML syntax to start with -if version < 600 - so :p:h/html.vim -else - runtime! syntax/html.vim - - if exists('b:current_syntax') - unlet b:current_syntax - endif -endif - -if version < 600 - syntax clear -elseif exists("b:current_syntax") - finish -endif - -" don't use standard HiLink, it will not work with included syntax files -if version < 508 - command! -nargs=+ HtmlHiLink hi link -else - command! -nargs=+ HtmlHiLink hi def link -endif - -syn spell toplevel -syn case ignore -syn sync linebreaks=1 - -let s:conceal = '' -let s:concealends = '' -let s:concealcode = '' -if has('conceal') && get(g:, 'vim_markdown_conceal', 1) - let s:conceal = ' conceal' - let s:concealends = ' concealends' -endif -if has('conceal') && get(g:, 'vim_markdown_conceal_code_blocks', 1) - let s:concealcode = ' concealends' -endif - -" additions to HTML groups -if get(g:, 'vim_markdown_emphasis_multiline', 1) - let s:oneline = '' -else - let s:oneline = ' oneline' -endif -syn region mkdItalic matchgroup=mkdItalic start="\%(\*\|_\)" end="\%(\*\|_\)" -syn region mkdBold matchgroup=mkdBold start="\%(\*\*\|__\)" end="\%(\*\*\|__\)" -syn region mkdBoldItalic matchgroup=mkdBoldItalic start="\%(\*\*\*\|___\)" end="\%(\*\*\*\|___\)" -execute 'syn region htmlItalic matchgroup=mkdItalic start="\%(^\|\s\)\zs\*\ze[^\\\*\t ]\%(\%([^*]\|\\\*\|\n\)*[^\\\*\t ]\)\?\*\_W" end="[^\\\*\t ]\zs\*\ze\_W" keepend contains=@Spell' . s:oneline . s:concealends -execute 'syn region htmlItalic matchgroup=mkdItalic start="\%(^\|\s\)\zs_\ze[^\\_\t ]" end="[^\\_\t ]\zs_\ze\_W" keepend contains=@Spell' . s:oneline . s:concealends -execute 'syn region htmlBold matchgroup=mkdBold start="\%(^\|\s\)\zs\*\*\ze\S" end="\S\zs\*\*" keepend contains=@Spell' . s:oneline . s:concealends -execute 'syn region htmlBold matchgroup=mkdBold start="\%(^\|\s\)\zs__\ze\S" end="\S\zs__" keepend contains=@Spell' . s:oneline . s:concealends -execute 'syn region htmlBoldItalic matchgroup=mkdBoldItalic start="\%(^\|\s\)\zs\*\*\*\ze\S" end="\S\zs\*\*\*" keepend contains=@Spell' . s:oneline . s:concealends -execute 'syn region htmlBoldItalic matchgroup=mkdBoldItalic start="\%(^\|\s\)\zs___\ze\S" end="\S\zs___" keepend contains=@Spell' . s:oneline . s:concealends - -" [link](URL) | [link][id] | [link][] | ![image](URL) -syn region mkdFootnotes matchgroup=mkdDelimiter start="\[^" end="\]" -execute 'syn region mkdID matchgroup=mkdDelimiter start="\[" end="\]" contained oneline' . s:conceal -execute 'syn region mkdURL matchgroup=mkdDelimiter start="(" end=")" contained oneline' . s:conceal -execute 'syn region mkdLink matchgroup=mkdDelimiter start="\\\@ ]*>" end=">" - -" Link definitions: [id]: URL (Optional Title) -syn region mkdLinkDef matchgroup=mkdDelimiter start="^ \{,3}\zs\[\^\@!" end="]:" oneline nextgroup=mkdLinkDefTarget skipwhite -syn region mkdLinkDefTarget start="<\?\zs\S" excludenl end="\ze[>[:space:]\n]" contained nextgroup=mkdLinkTitle,mkdLinkDef skipwhite skipnl oneline -syn region mkdLinkTitle matchgroup=mkdDelimiter start=+"+ end=+"+ contained -syn region mkdLinkTitle matchgroup=mkdDelimiter start=+'+ end=+'+ contained -syn region mkdLinkTitle matchgroup=mkdDelimiter start=+(+ end=+)+ contained - -"HTML headings -syn region htmlH1 matchgroup=mkdHeading start="^\s*#" end="$" contains=mkdLink,mkdInlineURL,@Spell -syn region htmlH2 matchgroup=mkdHeading start="^\s*##" end="$" contains=mkdLink,mkdInlineURL,@Spell -syn region htmlH3 matchgroup=mkdHeading start="^\s*###" end="$" contains=mkdLink,mkdInlineURL,@Spell -syn region htmlH4 matchgroup=mkdHeading start="^\s*####" end="$" contains=mkdLink,mkdInlineURL,@Spell -syn region htmlH5 matchgroup=mkdHeading start="^\s*#####" end="$" contains=mkdLink,mkdInlineURL,@Spell -syn region htmlH6 matchgroup=mkdHeading start="^\s*######" end="$" contains=mkdLink,mkdInlineURL,@Spell -syn match htmlH1 /^.\+\n=\+$/ contains=mkdLink,mkdInlineURL,@Spell -syn match htmlH2 /^.\+\n-\+$/ contains=mkdLink,mkdInlineURL,@Spell - -"define Markdown groups -syn match mkdLineBreak / \+$/ -syn region mkdBlockquote start=/^\s*>/ end=/$/ contains=mkdLink,mkdInlineURL,mkdLineBreak,@Spell -execute 'syn region mkdCode matchgroup=mkdCodeDelimiter start=/\(\([^\\]\|^\)\\\)\@]*\\\@" end=""' . s:concealcode -execute 'syn region mkdCode matchgroup=mkdCodeDelimiter start="]*\\\@" end=""' . s:concealcode -syn region mkdFootnote start="\[^" end="\]" -syn match mkdCode /^\s*\n\(\(\s\{8,}[^ ]\|\t\t\+[^\t]\).*\n\)\+/ -syn match mkdCode /\%^\(\(\s\{4,}[^ ]\|\t\+[^\t]\).*\n\)\+/ -syn match mkdCode /^\s*\n\(\(\s\{4,}[^ ]\|\t\+[^\t]\).*\n\)\+/ contained -syn match mkdListItem /^\s*\%([-*+]\|\d\+\.\)\ze\s\+/ contained -syn region mkdListItemLine start="^\s*\%([-*+]\|\d\+\.\)\s\+" end="$" oneline contains=@mkdNonListItem,mkdListItem,@Spell -syn region mkdNonListItemBlock start="\(\%^\(\s*\([-*+]\|\d\+\.\)\s\+\)\@!\|\n\(\_^\_$\|\s\{4,}[^ ]\|\t+[^\t]\)\@!\)" end="^\(\s*\([-*+]\|\d\+\.\)\s\+\)\@=" contains=@mkdNonListItem,@Spell -syn match mkdRule /^\s*\*\s\{0,1}\*\s\{0,1}\*\(\*\|\s\)*$/ -syn match mkdRule /^\s*-\s\{0,1}-\s\{0,1}-\(-\|\s\)*$/ -syn match mkdRule /^\s*_\s\{0,1}_\s\{0,1}_\(_\|\s\)*$/ - -" YAML frontmatter -if get(g:, 'vim_markdown_frontmatter', 0) - syn include @yamlTop syntax/yaml.vim - syn region Comment matchgroup=mkdDelimiter start="\%^---$" end="^\(---\|\.\.\.\)$" contains=@yamlTop keepend - unlet! b:current_syntax -endif - -if get(g:, 'vim_markdown_toml_frontmatter', 0) - try - syn include @tomlTop syntax/toml.vim - syn region Comment matchgroup=mkdDelimiter start="\%^+++$" end="^+++$" transparent contains=@tomlTop keepend - unlet! b:current_syntax - catch /E484/ - syn region Comment matchgroup=mkdDelimiter start="\%^+++$" end="^+++$" - endtry -endif - -if get(g:, 'vim_markdown_json_frontmatter', 0) - try - syn include @jsonTop syntax/json.vim - syn region Comment matchgroup=mkdDelimiter start="\%^{$" end="^}$" contains=@jsonTop keepend - unlet! b:current_syntax - catch /E484/ - syn region Comment matchgroup=mkdDelimiter start="\%^{$" end="^}$" - endtry -endif - -if get(g:, 'vim_markdown_math', 0) - syn include @tex syntax/tex.vim - syn region mkdMath start="\\\@ -README.md

    You can run the tests using the Makefile from the top directory:

    - -
    make test
    - -

    To run them manually please refer to the instructions/commands in the Makefile.

    diff --git a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/folding-toc.vader b/vim/.vim_runtime/sources_non_forked/vim-markdown/test/folding-toc.vader deleted file mode 100644 index 79c5400..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/folding-toc.vader +++ /dev/null @@ -1,178 +0,0 @@ -" Tests atx and setext folding, and :Toc. - -Before: - source ../after/ftplugin/markdown.vim - -After: - setlocal foldexpr=0 - setlocal foldmethod=manual - -Given markdown; -# chap 1 - -hello -world - -```bash -# some bash scripting -pwd - -# this is another comment -# other -echo "foo" -``` - -## chap 1.1 - -- dog -- cat - -~~~~bash -mkdir foo -# comment in ~ -~~~~ - -### chap 1.1.1 - -- dragons -- fenixs - -# chap 2 - -another - -## chap 2.1 - -- uk -- japan -- china - - -# chap 3 - -nothing here - -chap 4 -====== - -setext are evil - -chap 4.1 --------- - -evil indeed - -````bash -# get system info -uname -a -```` - -Execute (fold level): - AssertEqual foldlevel(1), 0, '# chap 1' - AssertEqual foldlevel(3), 1, 'hello' - AssertEqual foldlevel(6), 1, '```bash' - AssertEqual foldlevel(7), 1, '# some bash scripting' - AssertEqual foldlevel(15), 1, '## chap 1.1' - AssertEqual foldlevel(21), 2, 'mkdir foo' - AssertEqual foldlevel(22), 2, 'comment in ~' - AssertEqual foldlevel(25), 2, '### chap 1.1.1' - AssertEqual foldlevel(27), 3, '- dragons' - AssertEqual foldlevel(30), 1, '# chap 2' - AssertEqual foldlevel(32), 1, 'another' - AssertEqual foldlevel(34), 1, '# chap 2.1' - AssertEqual foldlevel(37), 2, '- japan' - AssertEqual foldlevel(41), 1, '# chap 3' - AssertEqual foldlevel(45), 1, 'chap 4\n======' - AssertEqual foldlevel(48), 1, 'setext are evil' - AssertEqual foldlevel(50), 2, 'chap 4.1\n------' - -Execute (fold text result): - AssertEqual foldtextresult(2), '+-- 28 lines: hello' - AssertEqual foldtextresult(31), '+-- 10 lines: another' - AssertEqual foldtextresult(42), '+-- 3 lines: nothing here' - AssertEqual foldtextresult(45), '+-- 14 lines: chap 4' - -Execute (fold level with setting): - let g:vim_markdown_folding_level = 2 - source ../after/ftplugin/markdown.vim - AssertEqual foldlevel(1), 0, '# chap 1' - AssertEqual foldlevel(3), 1, 'hello' - AssertEqual foldlevel(6), 1, '```bash' - AssertEqual foldlevel(7), 1, '# some bash scripting' - AssertEqual foldlevel(15), 0, '## chap 1.1' - AssertEqual foldlevel(21), 2, 'mkdir foo' - AssertEqual foldlevel(22), 2, 'comment in ~' - AssertEqual foldlevel(25), 2, '### chap 1.1.1' - AssertEqual foldlevel(27), 3, '- dragons' - AssertEqual foldlevel(30), 0, '# chap 2' - AssertEqual foldlevel(32), 1, 'another' - AssertEqual foldlevel(34), 0, '# chap 2.1' - AssertEqual foldlevel(37), 2, '- japan' - AssertEqual foldlevel(41), 0, '# chap 3' - AssertEqual foldlevel(45), 1, 'chap 4\n======' - AssertEqual foldlevel(48), 1, 'setext are evil' - AssertEqual foldlevel(50), 1, 'chap 4.1\n------' - let g:vim_markdown_folding_level = 0 - -Execute (check TOC): - :Toc - :lclose - let res = getloclist(0) - let elem = res[0] - AssertEqual elem.lnum, 1 - AssertEqual elem.text, '# chap 1' - let elem = res[1] - AssertEqual elem.lnum, 15 - AssertEqual elem.text, '## chap 1.1' - let elem = res[2] - AssertEqual elem.lnum, 25 - AssertEqual elem.text, '### chap 1.1.1' - let elem = res[3] - AssertEqual elem.lnum, 30 - AssertEqual elem.text, '# chap 2' - let elem = res[4] - AssertEqual elem.lnum, 34 - AssertEqual elem.text, '## chap 2.1' - let elem = res[5] - AssertEqual elem.lnum, 41 - AssertEqual elem.text, '# chap 3' - let elem = res[6] - AssertEqual elem.lnum, 45 - AssertEqual elem.text, 'chap 4' - let elem = res[7] - AssertEqual elem.lnum, 50 - AssertEqual elem.text, 'chap 4.1' - -Given markdown; ---- -layout: article -title: A test of the heading folding when there is YAML frontmatter -tags: markdown yaml vim-markdown ---- -body - -heading -------- - -Execute (fold level of yaml front matter): - let g:vim_markdown_frontmatter = 1 - source ../after/ftplugin/markdown.vim - AssertEqual foldlevel(1), 0, '---' - AssertEqual foldlevel(2), 0, 'layout: article' - AssertEqual foldlevel(4), 0, 'tags: markdown yaml vim-markdown' - AssertEqual foldlevel(5), 0, '---' - AssertEqual foldlevel(6), 0, 'body' - AssertEqual foldlevel(8), 2, 'heading' - AssertEqual foldlevel(9), 2, '-------' - unlet g:vim_markdown_frontmatter - -Execute (check Toc of yaml front matter): - let g:vim_markdown_frontmatter = 1 - :Toc - :lclose - let res = getloclist(0) - AssertEqual len(res), 1 - let elem = res[0] - AssertEqual elem.lnum, 8 - AssertEqual elem.text, 'heading' - unlet g:vim_markdown_frontmatter diff --git a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/folding.vader b/vim/.vim_runtime/sources_non_forked/vim-markdown/test/folding.vader deleted file mode 100644 index ecf5f9b..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/folding.vader +++ /dev/null @@ -1,53 +0,0 @@ -Before: - source ../after/ftplugin/markdown.vim - -After: - setlocal foldexpr=0 - setlocal foldmethod=manual - -Given markdown; -# Title - -## Chapter 1 - -``` -This is code block -# This is just a comment -``` - -## Capter 2 - -foobar - -Execute (fold level # in code block): - AssertEqual foldlevel(1), 0, '# Title' - AssertEqual foldlevel(3), 1, '## Chapter 1' - AssertEqual foldlevel(7), 2, '# This is just a comment' - AssertEqual foldlevel(8), 2, '```' - AssertEqual foldlevel(10), 1, '## Chapter 2' - AssertEqual foldlevel(12), 2, 'foobar' - -Given markdown; -Fold Level 1 -============ -Fold Level 2 ------------- - -Execute (fold level ==, --): - AssertEqual foldlevel(2), 1, '==' - AssertEqual foldlevel(4), 2, '--' - -Given markdown; -# H1 - -## H1.1 - -## H1.2 - -# H2 - -Execute (fold level # in last line): - AssertEqual foldlevel(1), 0, '# H1' - AssertEqual foldlevel(3), 1, '## H1.1' - AssertEqual foldlevel(5), 1, '## H1.2' - AssertEqual foldlevel(7), 0, '# H2' diff --git a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/ge_test.md b/vim/.vim_runtime/sources_non_forked/vim-markdown/test/ge_test.md deleted file mode 100644 index 38e300c..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/ge_test.md +++ /dev/null @@ -1 +0,0 @@ -ge_test.md

    ge test

    diff --git a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/indent-new-list-item.vader b/vim/.vim_runtime/sources_non_forked/vim-markdown/test/indent-new-list-item.vader deleted file mode 100644 index f73d7cc..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/indent-new-list-item.vader +++ /dev/null @@ -1,15 +0,0 @@ -Before: - let g:vim_markdown_new_list_item_indent = 2 - -After: - unlet g:vim_markdown_new_list_item_indent - -Given markdown; -* item1 - -Do (new line from the first item of the list and add the second item): - o* item2 - -Expect (insert 2 spaces to the head of second item): - * item1 - * item2 diff --git a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/indent.md b/vim/.vim_runtime/sources_non_forked/vim-markdown/test/indent.md deleted file mode 100644 index e9e7533..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/indent.md +++ /dev/null @@ -1,33 +0,0 @@ -indent.md

      -
    1. Confirm indent with new line insert after list items
    2. -
    - -

    ’\’ is not list item. -\ foo

    - -

    If only space and three ‘*’ or ‘-’ character are in the line, -this line means horizontal item. -If current line is below horizontal item, it need not to indent. -Following example is horizontal item.

    - -
    - -
    - -
    - -
    - -

    And list item must be specified space after [*-+]. -Following example is list item.

    - -
      -
    • foo
    • -
    • bar
    • -
    • baz
    • -
    - -

    But following example is not list item. -*foo --bar -+baz

    diff --git a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/indent.vader b/vim/.vim_runtime/sources_non_forked/vim-markdown/test/indent.vader deleted file mode 100644 index e0870d5..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/indent.vader +++ /dev/null @@ -1,73 +0,0 @@ -Given markdown; -* item1 - -Do (insert enter at list end): - A\item2 - -Expect (auto insert * and indent level is same): - * item1 - * item2 - -Given markdown; - -Execute: - syntax off - -Do (insert enter at list end with syntax off): - i* item1\item2 - -Expect (auto insert * and indent level is same): - * item1 - * item2 - -Execute: - syntax on - -Given markdown; -``` -* item1 - -Do (insert after list items in code block): - jotext - -Expect (no autoindent in code block): - ``` - * item1 - text - -Given markdown; -* item1 - -a - -Do (insert enter after list): - jji\b - -Expect (no autoindent outside list): - * item1 - - - ba - -Given markdown; -- a - - # b - -Do (insert header after list): - jjwi# - -Expect (no indent header after list): - - a - - ## b - -Given markdown; -* item1 - -Do (new line from the first item of the list and add the second item): - o* item2 - -Expect (insert 4 spaces to the head of second item): - * item1 - * item2 diff --git a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/map.vader b/vim/.vim_runtime/sources_non_forked/vim-markdown/test/map.vader deleted file mode 100644 index 7ecdfad..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/map.vader +++ /dev/null @@ -1,153 +0,0 @@ -Given markdown; -a c - -Execute (gx autolink): - let b:url = 'http://b' - let b:line = getline(1) - let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'Markdown_GetUrlForPosition') - AssertEqual b:func(1, match(b:line, 'a') + 1), '' - AssertEqual b:func(1, match(b:line, '<') + 1), b:url - AssertEqual b:func(1, match(b:line, 'h') + 1), b:url - AssertEqual b:func(1, match(b:line, '>') + 1), b:url - AssertEqual b:func(1, match(b:line, 'c') + 1), '' - -Given markdown; -a http://b.bb c - -Execute (gx implicit autolink): - let b:url = 'http://b.bb' - let b:line = getline(1) - let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'Markdown_GetUrlForPosition') - AssertEqual b:func(1, match(b:line, 'a') + 1), '' - AssertEqual b:func(1, match(b:line, 'h') + 1), b:url - AssertEqual b:func(1, match(b:line, 'c') + 1), '' - -Given markdown; -[a]: http://b "c" - -Execute (gx link reference definition): - let b:url = 'http://b' - let b:line = getline(1) - let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'Markdown_GetUrlForPosition') - " TODO would be cool if all of the following gave the link. - AssertEqual b:func(1, match(b:line, 'a') + 1), '' - AssertEqual b:func(1, match(b:line, 'h') + 1), b:url - AssertEqual b:func(1, match(b:line, 'c') + 1), '' - -Given markdown; -a [b](c) d - -Execute (gx autolink): - let b:url = 'c' - let b:line = getline(1) - let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'Markdown_GetUrlForPosition') - AssertEqual b:func(1, match(b:line, 'a') + 1), '' - AssertEqual b:func(1, match(b:line, '[') + 1), b:url - AssertEqual b:func(1, match(b:line, 'b') + 1), b:url - AssertEqual b:func(1, match(b:line, ']') + 1), b:url - AssertEqual b:func(1, match(b:line, '(') + 1), b:url - AssertEqual b:func(1, match(b:line, 'c') + 1), b:url - AssertEqual b:func(1, match(b:line, ')') + 1), b:url - AssertEqual b:func(1, match(b:line, 'd') + 1), '' - -Given markdown; -[ge_test.md](ge_test.md) - -Execute (ge opens file): - normal ge - AssertEqual @%, 'ge_test.md' - AssertEqual getline(1), 'ge test' - -Given markdown; -[ge_test](ge_test) - -Execute (ge opens file without .md extensions): - let g:vim_markdown_no_extensions_in_markdown = 1 - normal ge - AssertEqual @%, 'ge_test.md' - AssertEqual getline(1), 'ge test' - unlet g:vim_markdown_no_extensions_in_markdown - -Given markdown; -[ge_test.md](ge_test.md) - -Execute (ge does not write before opening file): - normal ia - normal l - normal ge - AssertEqual @%, 'ge_test.md' - AssertEqual getline(1), 'ge test' - -Given markdown; -[ge_test.md](ge_test.md) - -Execute (ge auto-write before opening file): - let g:vim_markdown_autowrite = 1 - normal ia - normal l - AssertThrows normal ge - AssertEqual g:vader_exception, 'Vim(write):E382: Cannot write, ''buftype'' option is set' - unlet g:vim_markdown_autowrite - -Given markdown; -# a - -b - -# c - -d - -Execute (]] same level): - AssertEqual line('.'), 1 - normal ]] - AssertEqual line('.'), 5 - normal [[ - AssertEqual line('.'), 1 - -Given markdown; -# a - -b - -## c - -d - -Execute (]] different levels level): - AssertEqual line('.'), 1 - normal ]] - AssertEqual line('.'), 5 - normal [[ - AssertEqual line('.'), 1 - -Given markdown; -# a - -b - -## c - -d - -# e - -f - -Execute (][ different levels level): - AssertEqual line('.'), 1 - normal ][ - AssertEqual line('.'), 9 - normal [] - AssertEqual line('.'), 1 - -Given markdown; -# a - -b - -Execute (]c): - normal! 3G - AssertEqual line('.'), 3 - normal ]c - AssertEqual line('.'), 1 diff --git a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/python-folding.vader b/vim/.vim_runtime/sources_non_forked/vim-markdown/test/python-folding.vader deleted file mode 100644 index 9196ea6..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/python-folding.vader +++ /dev/null @@ -1,84 +0,0 @@ -Before: - let g:vim_markdown_folding_style_pythonic = 1 - source ../after/ftplugin/markdown.vim - -After: - setlocal foldexpr=0 - setlocal foldmethod=manual - -Given markdown; -# Title - -## Chapter 1 - -``` -This is code block -# This is just a comment -``` - -## Chapter 2 - -foobar - -Execute (fold level # in code block): - AssertEqual foldlevel(1), 1, '# Title' - AssertEqual foldlevel(3), 2, '## Chapter 1' - AssertEqual foldlevel(7), 2, '# This is just a comment' - AssertEqual foldlevel(8), 2, '```' - AssertEqual foldlevel(10), 2, '## Chapter 2' - AssertEqual foldlevel(12), 2, 'foobar' - -Execute (fold text of chapters): - let b:width = winwidth(0) - let b:hyphen = repeat('-', b:width - 18 > 2 ? b:width - 18 : b:width - 9 > 0 ? 3 : 2) - AssertEqual foldtextresult(10), strpart('## Chapter 2', 0, b:width - 9) . ' ' . b:hyphen . ' 2' - -Given markdown; -Fold text 1 -=========== -Fold text 2 ------------ - -Execute (fold level ==, --): - AssertEqual foldlevel(2), 0, '==' - AssertEqual foldlevel(4), 1, '--' - -Execute (fold text of ==, --): - let b:width = winwidth(0) - let b:hyphen = repeat('-', b:width - 17 > 2 ? b:width - 17 : b:width - 9 > 0 ? 3 : 2) - AssertEqual foldtextresult(3), strpart('Fold text 2', 0, b:width - 9) . ' ' . b:hyphen . ' 1' - -Given markdown; -Headline - -foobar - -# Title - -Execute (fold any preamble): - AssertEqual foldlevel(1), 1, 'Headline' - AssertEqual foldlevel(3), 1, 'foobar' - AssertEqual foldlevel(5), 1, '# Title' - -Given markdown; ---- -layout: article -title: A test of the heading folding when there is YAML frontmatter -tags: markdown yaml vim-markdown ---- -body - -heading -------- - -Execute (fold level of yaml front matter): - let g:vim_markdown_frontmatter = 1 - source ../after/ftplugin/markdown.vim - AssertEqual foldlevel(1), 1, '---' - AssertEqual foldlevel(2), 1, 'layout: article' - AssertEqual foldlevel(4), 1, 'tags: markdown yaml vim-markdown' - AssertEqual foldlevel(5), 1, '---' - AssertEqual foldlevel(6), 1, 'body' - AssertEqual foldlevel(8), 1, 'heading' - AssertEqual foldlevel(9), 1, '-------' - unlet g:vim_markdown_frontmatter diff --git a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/run-tests.sh b/vim/.vim_runtime/sources_non_forked/vim-markdown/test/run-tests.sh deleted file mode 100644 index 5c9db06..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/run-tests.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -# Exit on error. -set -e - -cd "$( dirname "${BASH_SOURCE[0]}" )" - -for dep in ../build/tabular ../build/vim-toml ../build/vim-json ../build/vader.vim; do - if [[ ! -d $dep ]]; then - echo "Missing dependency: $dep" - echo "You may just want to use 'make test'." - exit 1 - fi -done - -vim -Nu vimrc -c 'Vader! *' > /dev/null diff --git a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/syntax-singleline.vader b/vim/.vim_runtime/sources_non_forked/vim-markdown/test/syntax-singleline.vader deleted file mode 100644 index 9fde407..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/syntax-singleline.vader +++ /dev/null @@ -1,158 +0,0 @@ -Before: - let g:vim_markdown_emphasis_multiline = 0 - syn off | syn on - -After: - let g:vim_markdown_emphasis_multiline = 1 - syn off | syn on - -Given markdown; -a **b** c - -Execute (bold): - AssertNotEqual SyntaxOf('a'), 'htmlBold' - AssertEqual SyntaxOf('b'), 'htmlBold' - AssertNotEqual SyntaxOf('c'), 'htmlBold' - -Given markdown; -a __b__ c - -Execute (bold): - AssertNotEqual SyntaxOf('a'), 'htmlBold' - AssertEqual SyntaxOf('b'), 'htmlBold' - AssertNotEqual SyntaxOf('c'), 'htmlBold' - -Given markdown; -a *b* c - -Execute (italic): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertEqual SyntaxOf('b'), 'htmlItalic' - AssertNotEqual SyntaxOf('c'), 'htmlItalic' - -Given markdown; -a _b_ c - -Execute (italic): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertEqual SyntaxOf('b'), 'htmlItalic' - AssertNotEqual SyntaxOf('c'), 'htmlItalic' - -Given markdown; -_a_b_ - -Execute (italic text has underscores): - AssertEqual SyntaxOf('a'), 'htmlItalic' - AssertEqual SyntaxOf('b'), 'htmlItalic' - -Given markdown; -a \*b\* c - -Execute (not italic with escaped asterisks): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertNotEqual SyntaxOf('b'), 'htmlItalic' - AssertNotEqual SyntaxOf('c'), 'htmlItalic' - -Given markdown; -a \_b\_ c - -Execute (not italic with escaped underscores): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertNotEqual SyntaxOf('b'), 'htmlItalic' - AssertNotEqual SyntaxOf('c'), 'htmlItalic' - -Given markdown; -a _b\_c_ d - -Execute (italic with escaped underscores): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertEqual SyntaxOf('b'), 'htmlItalic' - AssertEqual SyntaxOf('c'), 'htmlItalic' - AssertNotEqual SyntaxOf('d'), 'htmlItalic' - -Given markdown; -a_b_c - -Execute (not italic underscores within text): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertNotEqual SyntaxOf('b'), 'htmlItalic' - AssertNotEqual SyntaxOf('c'), 'htmlItalic' - -Given markdown; -a *b\*c* d - -Execute (italic with escaped asterisks): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertEqual SyntaxOf('b'), 'htmlItalic' - AssertEqual SyntaxOf('c'), 'htmlItalic' - AssertNotEqual SyntaxOf('d'), 'htmlItalic' - -Given markdown; -a __b\_\_c__ d - -Execute (bold with escaped underscores): - AssertNotEqual SyntaxOf('a'), 'htmlBold' - AssertEqual SyntaxOf('b'), 'htmlBold' - AssertEqual SyntaxOf('c'), 'htmlBold' - AssertNotEqual SyntaxOf('d'), 'htmlBold' - -Given markdown; -_a b -c_ d - -Execute (italic with underscores in multiple lines): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertNotEqual SyntaxOf('b'), 'htmlItalic' - AssertNotEqual SyntaxOf('c'), 'htmlItalic' - AssertNotEqual SyntaxOf('d'), 'htmlItalic' - -Given markdown; -__a b -c__ d - -Execute (bold with underscores in multiple lines): - AssertNotEqual SyntaxOf('a'), 'htmlBold' - AssertNotEqual SyntaxOf('b'), 'htmlBold' - AssertNotEqual SyntaxOf('c'), 'htmlBold' - AssertNotEqual SyntaxOf('d'), 'htmlBold' - -Given markdown; -___a b -c___ d - -Execute (bold italic with underscores in multiple lines): - AssertNotEqual SyntaxOf('a'), 'htmlBoldItalic' - AssertNotEqual SyntaxOf('b'), 'htmlBoldItalic' - AssertNotEqual SyntaxOf('c'), 'htmlBoldItalic' - AssertNotEqual SyntaxOf('d'), 'htmlBoldItalic' - -Given markdown; -*a b -c* d - -Execute (italic with asterisks in multiple lines): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertNotEqual SyntaxOf('b'), 'htmlItalic' - AssertNotEqual SyntaxOf('c'), 'htmlItalic' - AssertNotEqual SyntaxOf('d'), 'htmlItalic' - -Given markdown; -**a b -c** d - -Execute (bold with asterisks in multiple lines): - AssertNotEqual SyntaxOf('a'), 'htmlBold' - AssertNotEqual SyntaxOf('b'), 'htmlBold' - AssertNotEqual SyntaxOf('c'), 'htmlBold' - AssertNotEqual SyntaxOf('d'), 'htmlBold' - -Given markdown; -***a b -c*** d - -Execute (bold italic with asterisks in multiple lines): - AssertNotEqual SyntaxOf('a'), 'htmlBoldItalic' - AssertNotEqual SyntaxOf('b'), 'htmlBoldItalic' - AssertNotEqual SyntaxOf('c'), 'htmlBoldItalic' - AssertNotEqual SyntaxOf('d'), 'htmlBoldItalic' - diff --git a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/syntax.md b/vim/.vim_runtime/sources_non_forked/vim-markdown/test/syntax.md deleted file mode 100644 index 5c6bc86..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/syntax.md +++ /dev/null @@ -1,87 +0,0 @@ - -syntax.md

    Fenced code living in an indented environment is correctly highlighted

    - -
      -
    1. run this command to do this:

      - -
      some command
    2. - -
    3. Subsequent list items are correctly highlighted.

    4. -
    - -

    Fenced code block with language:

    - -
    def f
    -  0
    -end
    - -

    Links

    - -

    a

    - -

    [a]()

    - -

    good spell

    - -

    badd spell

    - -

    a

    - -

    a

    - -

    a (a) b. Fix: https://github.com/plasticboy/vim-markdown/issues/113

    - -

    Escaped:

    - -

    [a](b)

    - -

    a]b

    - -

    Known failures

    - -

    Escape does not work:

    - -

    [a](b)

    - -

    Should not be links because of whitespace:

    - -

    a

    - -

    a

    - -

    a

    - -

    Reference links

    - -

    Single links:

    - -

    [a][b]

    - -

    [good spell][a]

    - -

    [badd spell][a]

    - -

    [a][]

    - -

    [a] []

    - -

    [a][b] c [d][e]

    - -

    Reference link followed by inline link:

    - -

    [a] b

    - -

    Known failures

    - -

    Should be shortcut reference links:

    - -

    [a]

    - -

    [a] b [c]

    - -

    Should be a single link:

    - -

    [a] [b]

    - -

    [a] b c

    diff --git a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/syntax.vader b/vim/.vim_runtime/sources_non_forked/vim-markdown/test/syntax.vader deleted file mode 100644 index d6f5487..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/syntax.vader +++ /dev/null @@ -1,1285 +0,0 @@ -Before: - unlet! b:mkd_known_filetypes - unlet! b:mkd_included_filetypes - unlet! g:vim_markdown_math - -Given markdown; -a **b** c - -Execute (bold): - AssertNotEqual SyntaxOf('a'), 'htmlBold' - AssertEqual SyntaxOf('b'), 'htmlBold' - AssertNotEqual SyntaxOf('c'), 'htmlBold' - -Given markdown; -a __b__ c - -Execute (bold): - AssertNotEqual SyntaxOf('a'), 'htmlBold' - AssertEqual SyntaxOf('b'), 'htmlBold' - AssertNotEqual SyntaxOf('c'), 'htmlBold' - -Given markdown; -a *b* c - -Execute (italic): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertEqual SyntaxOf('b'), 'htmlItalic' - AssertNotEqual SyntaxOf('c'), 'htmlItalic' - -Given markdown; -a _b_ c - -Execute (italic): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertEqual SyntaxOf('b'), 'htmlItalic' - AssertNotEqual SyntaxOf('c'), 'htmlItalic' - -Given markdown; -_a_b_ - -Execute (italic text has underscores): - AssertEqual SyntaxOf('a'), 'htmlItalic' - AssertEqual SyntaxOf('b'), 'htmlItalic' - -Given markdown; -a \*b\* c - -Execute (not italic with escaped asterisks): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertNotEqual SyntaxOf('b'), 'htmlItalic' - AssertNotEqual SyntaxOf('c'), 'htmlItalic' - -Given markdown; -a \_b\_ c - -Execute (not italic with escaped underscores): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertNotEqual SyntaxOf('b'), 'htmlItalic' - AssertNotEqual SyntaxOf('c'), 'htmlItalic' - -Given markdown; -a _b\_c_ d - -Execute (italic with escaped underscores): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertEqual SyntaxOf('b'), 'htmlItalic' - AssertEqual SyntaxOf('c'), 'htmlItalic' - AssertNotEqual SyntaxOf('d'), 'htmlItalic' - -Given markdown; -a_b_c - -Execute (not italic underscores within text): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertNotEqual SyntaxOf('b'), 'htmlItalic' - AssertNotEqual SyntaxOf('c'), 'htmlItalic' - -Given markdown; -a *b\*c* d - -Execute (italic with escaped asterisks): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertEqual SyntaxOf('b'), 'htmlItalic' - AssertEqual SyntaxOf('c'), 'htmlItalic' - AssertNotEqual SyntaxOf('d'), 'htmlItalic' - -Given markdown; -a __b\_\_c__ d - -Execute (bold with escaped underscores): - AssertNotEqual SyntaxOf('a'), 'htmlBold' - AssertEqual SyntaxOf('b'), 'htmlBold' - AssertEqual SyntaxOf('c'), 'htmlBold' - AssertNotEqual SyntaxOf('d'), 'htmlBold' - -Given markdown; -_a b -c_ d - -Execute (italic with underscores in multiple lines): - AssertEqual SyntaxOf('a'), 'htmlItalic' - AssertEqual SyntaxOf('b'), 'htmlItalic' - AssertEqual SyntaxOf('c'), 'htmlItalic' - AssertNotEqual SyntaxOf('d'), 'htmlItalic' - -Given markdown; -__a b -c__ d - -Execute (bold with underscores in multiple lines): - AssertEqual SyntaxOf('a'), 'htmlBold' - AssertEqual SyntaxOf('b'), 'htmlBold' - AssertEqual SyntaxOf('c'), 'htmlBold' - AssertNotEqual SyntaxOf('d'), 'htmlBold' - -Given markdown; -___a b -c___ d - -Execute (bold italic with underscores in multiple lines): - AssertEqual SyntaxOf('a'), 'htmlBoldItalic' - AssertEqual SyntaxOf('b'), 'htmlBoldItalic' - AssertEqual SyntaxOf('c'), 'htmlBoldItalic' - AssertNotEqual SyntaxOf('d'), 'htmlBoldItalic' - -Given markdown; -*a b -c* d - -Execute (italic with asterisks in multiple lines): - AssertEqual SyntaxOf('a'), 'htmlItalic' - AssertEqual SyntaxOf('b'), 'htmlItalic' - AssertEqual SyntaxOf('c'), 'htmlItalic' - AssertNotEqual SyntaxOf('d'), 'htmlItalic' - -Given markdown; -**a b -c** d - -Execute (bold with asterisks in multiple lines): - AssertEqual SyntaxOf('a'), 'htmlBold' - AssertEqual SyntaxOf('b'), 'htmlBold' - AssertEqual SyntaxOf('c'), 'htmlBold' - AssertNotEqual SyntaxOf('d'), 'htmlBold' - -Given markdown; -***a b -c*** d - -Execute (bold italic with asterisks in multiple lines): - AssertEqual SyntaxOf('a'), 'htmlBoldItalic' - AssertEqual SyntaxOf('b'), 'htmlBoldItalic' - AssertEqual SyntaxOf('c'), 'htmlBoldItalic' - AssertNotEqual SyntaxOf('d'), 'htmlBoldItalic' - -Given markdown; -*a - -Execute (not italic with an asterisk): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - -Given markdown; -[__](a) b - -Execute (not bold with double underscores): - AssertNotEqual SyntaxOf('_'), 'htmlBold' - AssertNotEqual SyntaxOf('a'), 'htmlBold' - AssertNotEqual SyntaxOf('b'), 'htmlBold' - -Given markdown; -_a_ - -Execute (conceal italic): - if has('conceal') - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 1 - setlocal conceallevel=0 - endif - -Execute (disable conceal): - if has('conceal') - let g:vim_markdown_conceal=0 - syn off | syn on - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 0 - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 0 - - let g:vim_markdown_conceal=1 - syn off | syn on - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 1 - - setlocal conceallevel=0 - unlet g:vim_markdown_conceal - syn off | syn on - endif - -Given markdown; -*a* - -Execute (conceal italic): - if has('conceal') - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 1 - setlocal conceallevel=0 - endif - -Execute (disable conceal): - if has('conceal') - let g:vim_markdown_conceal=0 - syn off | syn on - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 0 - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 0 - - let g:vim_markdown_conceal=1 - syn off | syn on - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 1 - - setlocal conceallevel=0 - unlet g:vim_markdown_conceal - syn off | syn on - endif - -Given markdown; -__a__ - -Execute (conceal bold): - if has('conceal') - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 1 - AssertEqual synconcealed(1, 3)[0], 0 - AssertEqual synconcealed(1, 4)[0], 1 - AssertEqual synconcealed(1, 5)[0], 1 - setlocal conceallevel=0 - endif - -Execute (disable conceal): - if has('conceal') - let g:vim_markdown_conceal=0 - syn off | syn on - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 0 - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 0 - AssertEqual synconcealed(1, 4)[0], 0 - AssertEqual synconcealed(1, 5)[0], 0 - - let g:vim_markdown_conceal=1 - syn off | syn on - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 1 - AssertEqual synconcealed(1, 3)[0], 0 - AssertEqual synconcealed(1, 4)[0], 1 - AssertEqual synconcealed(1, 5)[0], 1 - - setlocal conceallevel=0 - unlet g:vim_markdown_conceal - syn off | syn on - endif - -Given markdown; -**a** - -Execute (conceal bold): - if has('conceal') - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 1 - AssertEqual synconcealed(1, 3)[0], 0 - AssertEqual synconcealed(1, 4)[0], 1 - AssertEqual synconcealed(1, 5)[0], 1 - setlocal conceallevel=0 - endif - -Execute (disable conceal): - if has('conceal') - let g:vim_markdown_conceal=0 - syn off | syn on - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 0 - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 0 - AssertEqual synconcealed(1, 4)[0], 0 - AssertEqual synconcealed(1, 5)[0], 0 - - let g:vim_markdown_conceal=1 - syn off | syn on - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 1 - AssertEqual synconcealed(1, 3)[0], 0 - AssertEqual synconcealed(1, 4)[0], 1 - AssertEqual synconcealed(1, 5)[0], 1 - - setlocal conceallevel=0 - unlet g:vim_markdown_conceal - syn off | syn on - endif - -Given markdown; -___a___ - -Execute (conceal italic bold): - if has('conceal') - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 1 - AssertEqual synconcealed(1, 3)[0], 1 - AssertEqual synconcealed(1, 4)[0], 0 - AssertEqual synconcealed(1, 5)[0], 1 - AssertEqual synconcealed(1, 6)[0], 1 - AssertEqual synconcealed(1, 7)[0], 1 - setlocal conceallevel=0 - endif - -Execute (disable conceal): - if has('conceal') - let g:vim_markdown_conceal=0 - syn off | syn on - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 0 - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 0 - AssertEqual synconcealed(1, 4)[0], 0 - AssertEqual synconcealed(1, 5)[0], 0 - AssertEqual synconcealed(1, 6)[0], 0 - AssertEqual synconcealed(1, 7)[0], 0 - - let g:vim_markdown_conceal=1 - syn off | syn on - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 1 - AssertEqual synconcealed(1, 3)[0], 1 - AssertEqual synconcealed(1, 4)[0], 0 - AssertEqual synconcealed(1, 5)[0], 1 - AssertEqual synconcealed(1, 6)[0], 1 - AssertEqual synconcealed(1, 7)[0], 1 - - setlocal conceallevel=0 - unlet g:vim_markdown_conceal - syn off | syn on - endif - -Given markdown; -***a*** - -Execute (conceal italic bold): - if has('conceal') - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 1 - AssertEqual synconcealed(1, 3)[0], 1 - AssertEqual synconcealed(1, 4)[0], 0 - AssertEqual synconcealed(1, 5)[0], 1 - AssertEqual synconcealed(1, 6)[0], 1 - AssertEqual synconcealed(1, 7)[0], 1 - setlocal conceallevel=0 - endif - -Execute (disable conceal): - if has('conceal') - let g:vim_markdown_conceal=0 - syn off | syn on - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 0 - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 0 - AssertEqual synconcealed(1, 4)[0], 0 - AssertEqual synconcealed(1, 5)[0], 0 - AssertEqual synconcealed(1, 6)[0], 0 - AssertEqual synconcealed(1, 7)[0], 0 - - let g:vim_markdown_conceal=1 - syn off | syn on - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 1 - AssertEqual synconcealed(1, 3)[0], 1 - AssertEqual synconcealed(1, 4)[0], 0 - AssertEqual synconcealed(1, 5)[0], 1 - AssertEqual synconcealed(1, 6)[0], 1 - AssertEqual synconcealed(1, 7)[0], 1 - - setlocal conceallevel=0 - unlet g:vim_markdown_conceal - syn off | syn on - endif - -# Links - -Given markdown; -[a](b) - -Execute (link with title): - AssertEqual SyntaxOf('a'), 'mkdLink' - AssertEqual SyntaxOf('b'), 'mkdURL' - -Given markdown; -[a -b](c) - -Execute (link text with newline): - AssertEqual SyntaxOf('a'), 'mkdLink' - AssertEqual SyntaxOf('b'), 'mkdLink' - AssertEqual SyntaxOf('c'), 'mkdURL' - -Given markdown; -[a] b [c](d) - -Execute (link text with bracket sections): - AssertNotEqual SyntaxOf('a'), 'mkdLink' - AssertNotEqual SyntaxOf('b'), 'mkdLink' - AssertEqual SyntaxOf('c'), 'mkdLink' - AssertEqual SyntaxOf('d'), 'mkdURL' - -Given markdown; -[^a]: b - -Execute (footnote is not link): - AssertNotEqual SyntaxOf('a'), 'mkdLinkDef' - -Given markdown; -(a) - -(b) - -Execute (parenthesis not in link): - AssertNotEqual SyntaxOf('a'), 'mkdURL' - AssertNotEqual SyntaxOf('b'), 'mkdURL' - -Given markdown; -[a](b) c [d](e) - -Execute (multiple links on a line): - AssertNotEqual SyntaxOf('c'), 'mkdLink' - AssertNotEqual SyntaxOf('c'), 'mkdURL' - -Given markdown; -[a] (b) - -Execute (space is not allowed between link text and parenthesis): - AssertNotEqual SyntaxOf('a'), 'mkdLink' - AssertNotEqual SyntaxOf('b'), 'mkdURL' - -Given markdown; -[a](b) - -Execute (conceal link): - if has('conceal') - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 1 - AssertEqual synconcealed(1, 4)[0], 1 - AssertEqual synconcealed(1, 4)[0], 1 - AssertEqual synconcealed(1, 5)[0], 1 - AssertEqual synconcealed(1, 6)[0], 1 - setlocal conceallevel=0 - endif - -Execute (disable conceal): - if has('conceal') - let g:vim_markdown_conceal=0 - syn off | syn on - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 0 - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 0 - AssertEqual synconcealed(1, 4)[0], 0 - AssertEqual synconcealed(1, 4)[0], 0 - AssertEqual synconcealed(1, 5)[0], 0 - AssertEqual synconcealed(1, 6)[0], 0 - - let g:vim_markdown_conceal=1 - syn off | syn on - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 1 - AssertEqual synconcealed(1, 4)[0], 1 - AssertEqual synconcealed(1, 4)[0], 1 - AssertEqual synconcealed(1, 5)[0], 1 - AssertEqual synconcealed(1, 6)[0], 1 - - setlocal conceallevel=0 - unlet g:vim_markdown_conceal - syn off | syn on - endif - -# Autolinks - -Given markdown; -a c - -Execute (autolink): - AssertNotEqual SyntaxOf('a'), 'mkdInlineURL' - AssertEqual SyntaxOf('<'), 'mkdDelimiter' - AssertEqual SyntaxOf('b'), 'mkdInlineURL' - AssertEqual SyntaxOf('>'), 'mkdDelimiter' - AssertNotEqual SyntaxOf('c'), 'mkdInlineURL' - -Given markdown; -http://12monkeys.foo - -Execute (autolink with domain starting with a number): - AssertEqual SyntaxOf('12monkeys'), 'mkdInlineURL' - -Given markdown; - - -Execute (autolink with scheme case is insensitive): - AssertEqual SyntaxOf('a'), 'mkdInlineURL' - -Given markdown; - - -Execute (autolink without scheme is not a link): - AssertNotEqual SyntaxOf('a'), 'mkdInlineURL' - -Given markdown; -< http://a > - - - -Execute (autolink with space is not a link): - AssertNotEqual SyntaxOf('a'), 'mkdInlineURL' - AssertNotEqual SyntaxOf('b'), 'mkdInlineURL' - AssertNotEqual SyntaxOf('c'), 'mkdInlineURL' - AssertNotEqual SyntaxOf('d'), 'mkdInlineURL' - AssertNotEqual SyntaxOf('e'), 'mkdInlineURL' - -Given markdown; -\ - -Execute (autolinks can be backslash escaped): - AssertNotEqual SyntaxOf('<'), 'mkdDelimiter' - -Given markdown; -a (http://b.bb) c - -Execute (autolink in parenthesis): - AssertNotEqual SyntaxOf('a'), 'mkdInlineURL' - AssertEqual SyntaxOf('('), 'mkdDelimiter' - AssertEqual SyntaxOf('b'), 'mkdInlineURL' - AssertEqual SyntaxOf(')'), 'mkdDelimiter' - AssertNotEqual SyntaxOf('c'), 'mkdInlineURL' - -Given markdown; -[![a](http://b)](http://c) - -Execute (autolink in link text): - AssertEqual SyntaxOf('!'), 'mkdDelimiter' - AssertEqual SyntaxOf('a'), 'mkdLink' - AssertEqual SyntaxOf('b'), 'mkdURL' - AssertEqual SyntaxOf('c'), 'mkdURL' - -Given markdown; -# [h1link](url) - -## [h2link](url) - -### [h3link](url) - -#### [h4link](url) - -##### [h5link](url) - -###### [h6link](url) - -[h1link_b](url) -=============== - -[h2link_b](url) ---------------- - -Execute (link in headers): - AssertEqual SyntaxOf('h1link'), 'mkdLink' - AssertEqual SyntaxOf('h2link'), 'mkdLink' - AssertEqual SyntaxOf('h3link'), 'mkdLink' - AssertEqual SyntaxOf('h4link'), 'mkdLink' - AssertEqual SyntaxOf('h5link'), 'mkdLink' - AssertEqual SyntaxOf('h6link'), 'mkdLink' - AssertEqual SyntaxOf('h1link_b'), 'mkdLink' - AssertEqual SyntaxOf('h2link_b'), 'mkdLink' - -Given markdown; -# http://h1link.foo - -## http://h2link.foo - -### http://h3link.foo - -#### http://h4link.foo - -##### http://h5link.foo - -###### http://h6link.foo - -http://h1link_b.foo -=================== - -http://h2link_b.foo -------------------- - -Execute (inline url in headers): - AssertEqual SyntaxOf('h1link'), 'mkdInlineURL' - AssertEqual SyntaxOf('h2link'), 'mkdInlineURL' - AssertEqual SyntaxOf('h3link'), 'mkdInlineURL' - AssertEqual SyntaxOf('h4link'), 'mkdInlineURL' - AssertEqual SyntaxOf('h5link'), 'mkdInlineURL' - AssertEqual SyntaxOf('h6link'), 'mkdInlineURL' - AssertEqual SyntaxOf('h1link_b'), 'mkdInlineURL' - AssertEqual SyntaxOf('h2link_b'), 'mkdInlineURL' - -Given markdown; -> [a](b) -> http://foo.bar - -Execute (link in blockquote): - AssertEqual SyntaxOf('a'), 'mkdLink' - AssertEqual SyntaxOf('foo'), 'mkdInlineURL' - -Given markdown; -[https://domain.tld](https://domain.com) not_a_link - -Execute (link with url title): - AssertEqual SyntaxOf('https://domain.tld'), 'mkdInlineURL' - AssertNotEqual SyntaxOf(']'), 'mkdInlineURL' - AssertEqual SyntaxOf('https://domain.com'), 'mkdURL' - AssertNotEqual SyntaxOf('not_a_link'), 'mkdInlineURL' - -# Code Blocks - -Given markdown; -~~~ -code -~~~ - -Execute (code blocks can be fenced with tildes): - AssertEqual SyntaxOf('c'), 'mkdCode' - -Given markdown; -~~~~ -code -~~~~~ - -Execute (code blocks can be fenced with tildes longer than 3): - AssertEqual SyntaxOf('c'), 'mkdCode' - -Given markdown; -```` -code -````` - -Execute (code blocks can be fenced with backticks longer than 3): - AssertEqual SyntaxOf('c'), 'mkdCode' - -Given markdown; -~~~ruby -code -~~~ - -Execute (code blocks can have a language specifier): - AssertEqual SyntaxOf('c'), 'mkdCode' - -Given markdown; -```c++ -code -``` - -text - -Execute (code blocks can be fenced with backticks and a language specifier): - AssertEqual SyntaxOf('code'), 'mkdCode' - AssertNotEqual SyntaxOf('text'), 'mkdCode' - -# Indent Code Blocks - -Given markdown; -a - - b - c - -Execute (indent code blocks): - AssertNotEqual SyntaxOf('a'), 'mkdCode' - AssertEqual SyntaxOf('b'), 'mkdCode' - AssertEqual SyntaxOf('c'), 'mkdCode' - -Given markdown; -# a - -b - - c - -Execute (indent code blocks after header): - AssertNotEqual SyntaxOf('a'), 'mkdCode' - AssertNotEqual SyntaxOf('b'), 'mkdCode' - AssertEqual SyntaxOf('c'), 'mkdCode' - -Given markdown; -- a - - b - - c - -Execute (indent code blocks after list): - AssertNotEqual SyntaxOf('a'), 'mkdCode' - AssertNotEqual SyntaxOf('b'), 'mkdCode' - AssertEqual SyntaxOf('c'), 'mkdCode' - -Given markdown; - a - b - -Execute (indent code block at beginning of file): - AssertEqual SyntaxOf('a'), 'mkdCode' - AssertEqual SyntaxOf('b'), 'mkdCode' - -Given markdown; -```c++ -#include -code -``` - -```ruby -def a -end -``` - -Execute (fenced code block syntax with a language specifier): - let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'MarkdownRefreshSyntax') - call b:func(0) - AssertEqual SyntaxOf('include'), 'cInclude' - AssertEqual SyntaxOf('code'), 'mkdSnippetCPP' - AssertEqual SyntaxOf('def'), 'rubyDefine' - -Given markdown; -``` c++ -#include -code -``` - -``` vim -let g:a = 1 -``` - -``` ruby -def a -end -``` - -``` -ruby -class B -end -``` - -Execute (fenced code block syntax with a language specifier after whitespace): - let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'MarkdownRefreshSyntax') - call b:func(0) - AssertEqual SyntaxOf('include'), 'cInclude' - AssertEqual SyntaxOf('code'), 'mkdSnippetCPP' - AssertEqual SyntaxOf('g:a'), 'vimVar' - AssertEqual SyntaxOf('def'), 'rubyDefine' - AssertNotEqual SyntaxOf('class'), 'rubyClass' - -Given markdown; -```vim -let g:a = 1 -``` - -```viml -let g:b = 1 -``` - -Execute (fenced code block syntax with alias language specifier): - let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'MarkdownRefreshSyntax') - call b:func(0) - AssertEqual SyntaxOf('g:a'), 'vimVar' - AssertEqual SyntaxOf('g:b'), 'vimVar' - -Given markdown; -```csharp -var s = "foo"; -``` - -Execute (fenced code block languages setting): - let g:vim_markdown_fenced_languages = ['csharp=cs'] - source ../ftplugin/markdown.vim - let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'MarkdownRefreshSyntax') - call b:func(0) - AssertEqual SyntaxOf('foo'), 'csString' - unlet g:vim_markdown_fenced_languages - -Given markdown; -```vim -let g:a = 1 -``` - -Execute (fenced code block includes language syntax with reopening same buffer): - let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'MarkdownRefreshSyntax') - call b:func(0) - split - quit - edit - set filetype=markdown - execute "normal! i```vim\let g:a = 1\```" - call b:func(1) - AssertEqual SyntaxOf('g:a'), 'vimVar' - -Given markdown; -```a+b- -code -``` - -Execute (fenced code block syntax with an unknown language specifier): - let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'MarkdownRefreshSyntax') - call b:func(0) - AssertEqual SyntaxOf('code'), 'mkdSnippetA_B_' - -Given markdown; -``` -= -a -- -``` - -Execute (first = or - in fenced code block is not setex headers): - AssertEqual SyntaxOf('='), 'mkdCode' - AssertEqual SyntaxOf('-'), 'mkdCode' - -Given markdown; -``` {style=""} -a -``` - -Execute (fenced code block with extended info strings): - AssertEqual SyntaxOf('a'), 'mkdCode' - -# Code Blocks in pre and code tag - -Given markdown; -
    -a
    -
    - -Execute (code block in pre tag): - AssertEqual SyntaxOf('a'), 'mkdCode' - -Given markdown; - -a - - -Execute (code block in code tag): - AssertEqual SyntaxOf('a'), 'mkdCode' - -Given markdown; -\ -a -\ - -Execute (not code block in escaped pre tag): - AssertNotEqual SyntaxOf('a'), 'mkdCode' - -Given markdown; -\ -a -\ - -Execute (not code block in escaped code tag): - AssertNotEqual SyntaxOf('a'), 'mkdCode' - -# Code quotes - -Given markdown; -`a` - -Execute (code in code quotes): - AssertEqual SyntaxOf('a'), 'mkdCode' - -Given markdown; -`a\` b `c\` d - -Execute (code quotes not escaped ending with backslash): - AssertEqual SyntaxOf('a\'), 'mkdCode' - AssertNotEqual SyntaxOf('b'), 'mkdCode' - AssertEqual SyntaxOf('c\'), 'mkdCode' - AssertNotEqual SyntaxOf('d'), 'mkdCode' - -Given markdown; -``a\`` b ``c`\`1`` d - -Execute (double code quotes not escaped ending with backslash): - AssertEqual SyntaxOf('a\'), 'mkdCode' - AssertNotEqual SyntaxOf('b'), 'mkdCode' - AssertEqual SyntaxOf('c`\\`1'), 'mkdCode' - AssertNotEqual SyntaxOf('d'), 'mkdCode' - -# Math - -Given markdown; -a $x$ b -c $$y$$ d -\$e\$ -\$\$f\$\$ - -Execute (math): - AssertNotEqual SyntaxOf('x')[0:2], 'tex' - AssertNotEqual SyntaxOf('y')[0:2], 'tex' - let g:vim_markdown_math=1 - syn off | syn on - AssertNotEqual SyntaxOf('a')[0:2], 'tex' - AssertNotEqual SyntaxOf('b')[0:2], 'tex' - AssertNotEqual SyntaxOf('c')[0:2], 'tex' - AssertNotEqual SyntaxOf('d')[0:2], 'tex' - AssertNotEqual SyntaxOf('e')[0:2], 'tex' - AssertNotEqual SyntaxOf('f')[0:2], 'tex' - AssertEqual SyntaxOf('x')[0:2], 'tex' - AssertEqual SyntaxOf('y')[0:2], 'tex' - let g:vim_markdown_math=0 - syn off | syn on - AssertNotEqual SyntaxOf('x')[0:2], 'tex' - AssertNotEqual SyntaxOf('y')[0:2], 'tex' - -Given markdown; -a - -$ -b -$ - -c - -Execute (multiline math): - let g:vim_markdown_math=1 - syn off | syn on - AssertNotEqual SyntaxOf('a')[0:2], 'tex' - AssertEqual SyntaxOf('b')[0:2], 'tex' - AssertNotEqual SyntaxOf('c')[0:2], 'tex' - -Given markdown; -$ \sqrt{a}{b} $ -$$ \frac{a}{b} $$ - -Execute (math tex highlighting): - let g:vim_markdown_math=0 - syn off | syn on - AssertNotEqual SyntaxOf('sqrt'), 'texStatement' - AssertNotEqual SyntaxOf('frac'), 'texStatement' - let g:vim_markdown_math=1 - syn off | syn on - AssertEqual SyntaxOf('sqrt'), 'texStatement' - AssertEqual SyntaxOf('frac'), 'texStatement' - -Given markdown; -$a b[$ c - -Execute (math ends with $): - let g:vim_markdown_math=1 - syn off | syn on - AssertEqual SyntaxOf('a')[0:2], 'tex' - AssertEqual SyntaxOf('b')[0:2], 'tex' - AssertNotEqual SyntaxOf('c')[0:2], 'tex' - -Given markdown; -$$a b[$$ c - -Execute (math ends with $$): - let g:vim_markdown_math=1 - syn off | syn on - AssertEqual SyntaxOf('a')[0:2], 'tex' - AssertEqual SyntaxOf('b')[0:2], 'tex' - AssertNotEqual SyntaxOf('c')[0:2], 'tex' - -Given markdown; -$(0 \le 1)$ - -Execute (math conceal in $): - if has('conceal') - setlocal conceallevel=2 - let g:vim_markdown_math=1 - syn off | syn on - AssertEqual synconcealed(1, 1)[0], 1, '$' - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 0 - AssertEqual synconcealed(1, 4)[0], 0 - AssertEqual synconcealed(1, 5)[0], 1, '\le' - AssertEqual synconcealed(1, 6)[0], 1 - AssertEqual synconcealed(1, 7)[0], 1 - AssertEqual synconcealed(1, 8)[0], 0 - AssertEqual synconcealed(1, 9)[0], 0 - AssertEqual synconcealed(1, 10)[0], 0 - AssertEqual synconcealed(1, 11)[0], 1, '$' - setlocal conceallevel=0 - endif - -Given markdown; -$$ -\omega -0 \le 1 -$$ - -Execute (math conceal in $$): - if has('conceal') - setlocal conceallevel=2 - let g:vim_markdown_math=1 - syn off | syn on - AssertEqual synconcealed(1, 1)[0], 1, '$$' - AssertEqual synconcealed(2, 1)[0], 1, '\omega' - AssertEqual synconcealed(3, 1)[0], 0, '0' - AssertEqual synconcealed(3, 3)[0], 1, '\le' - AssertEqual synconcealed(3, 7)[0], 0, '1' - AssertEqual synconcealed(4, 1)[0], 1, '$$' - setlocal conceallevel=0 - endif - -# YAML frontmatter - -Given markdown; ---- -a: b ---- - -Execute (YAML frontmatter is controlled by the option): - AssertNotEqual SyntaxOf('a')[0:3], 'yaml' - let g:vim_markdown_frontmatter=1 - syn off | syn on - AssertEqual SyntaxOf('a')[0:3], 'yaml' - let g:vim_markdown_frontmatter=0 - syn off | syn on - AssertNotEqual SyntaxOf('a')[0:3], 'yaml' - -Given markdown; - ---- -a: b ---- - -Execute (YAML frontmatter only works if it's the first thing in the file): - let g:vim_markdown_frontmatter=1 - syn off | syn on - AssertNotEqual SyntaxOf('a')[0:3], 'yaml' - -Given markdown; ---- -a: b ---- - ---- - -Execute (rules are not mistaken by YAML frontmatter delimiters): - let g:vim_markdown_frontmatter=1 - syn off | syn on - AssertEqual SyntaxAt(5, 1), 'mkdRule' - unlet g:vim_markdown_frontmatter - -# TOML frontmatter - -Given markdown; -+++ -a = "b" -+++ - -Execute (TOML frontmatter is controlled by the option): - syn off | syn on - AssertNotEqual SyntaxOf('b'), 'tomlString' - let g:vim_markdown_toml_frontmatter=1 - syn off | syn on - AssertEqual SyntaxOf('b'), 'tomlString' - let g:vim_markdown_toml_frontmatter=0 - syn off | syn on - AssertNotEqual SyntaxOf('b'), 'tomlString' - -Given markdown; - -+++ -a = "b" -+++ - -Execute (TOML frontmatter only works if it's the first thing in the file): - let g:vim_markdown_toml_frontmatter=1 - syn off | syn on - AssertNotEqual SyntaxOf('b'), 'tomlString' - unlet g:vim_markdown_toml_frontmatter - -# JSON frontmatter - -Given markdown; -{ - "a": "b" -} - -Execute (JSON frontmatter is controlled by the option): - syn off | syn on - AssertNotEqual SyntaxOf('a'), 'jsonKeyword' - let g:vim_markdown_json_frontmatter=1 - syn off | syn on - AssertEqual SyntaxOf('a'), 'jsonKeyword' - let g:vim_markdown_json_frontmatter=0 - syn off | syn on - AssertNotEqual SyntaxOf('a'), 'jsonKeyword' - -Given markdown; - -{ - "a": "b" -} - -Execute (JSON frontmatter only works if it's the first thing in the file): - let g:vim_markdown_json_frontmatter=1 - syn off | syn on - AssertNotEqual SyntaxOf('a'), 'jsonKeyword' - unlet g:vim_markdown_json_frontmatter - -# Header - -Given markdown; -# #a -ccc - -## #b -ddd - -Execute (header title starts with #): - AssertEqual SyntaxOf('a'), 'htmlH1' - AssertEqual SyntaxOf('b'), 'htmlH2' - -Given markdown; -# h1 space - -#h1 nospace - -# h1 2 spaces - -# h1 trailing hash # - -## h2 space - -##h2 nospace - -## h2 trailing hash ## - -### h3 space - -###h3 nospace - -### h3 trailing hash ### - -#### h4 - -##### h5 - -###### h6 - -Execute (atx headers): - AssertEqual SyntaxOf(' h1 space'), 'htmlH1' - AssertEqual SyntaxOf('h1 nospace'), 'htmlH1' - AssertEqual SyntaxOf(' h1 2 spaces'), 'htmlH1' - AssertEqual SyntaxOf(' h1 trailing hash '), 'htmlH1' - AssertEqual SyntaxOf(' h2 space'), 'htmlH2' - AssertEqual SyntaxOf('h2 nospace'), 'htmlH2' - AssertEqual SyntaxOf(' h2 trailing hash '), 'htmlH2' - AssertEqual SyntaxOf(' h3 space'), 'htmlH3' - AssertEqual SyntaxOf('h3 nospace'), 'htmlH3' - AssertEqual SyntaxOf(' h3 trailing hash '), 'htmlH3' - AssertEqual SyntaxOf(' h4'), 'htmlH4' - AssertEqual SyntaxOf(' h5'), 'htmlH5' - AssertEqual SyntaxOf(' h6'), 'htmlH6' - -Given markdown; -# h1 before h2 - -## h2 between h1s - -# h1 after h2 - -Execute (atx headers relative positions): - AssertEqual SyntaxOf(' h1 before h2'), 'htmlH1' - AssertEqual SyntaxOf(' h2 between h1s'), 'htmlH2' - AssertEqual SyntaxOf(' h1 after h2'), 'htmlH1' - -Given markdown; -setex h1 -======== - -setex h2 --------- - -setex h1 single punctuation -= - -setex h1 punctuation longer than header -================================ - -Execute (setex headers): - AssertEqual SyntaxOf('setex h1'), 'htmlH1' - AssertEqual SyntaxOf('^========$'), 'htmlH1' - AssertEqual SyntaxOf('setex h2'), 'htmlH2' - AssertEqual SyntaxOf('--------'), 'htmlH2' - AssertEqual SyntaxOf('setex h1 single punctuation'), 'htmlH1' - AssertEqual SyntaxOf('^=$'), 'htmlH1' - AssertEqual SyntaxOf('setex h1 punctuation longer than header'), 'htmlH1' - AssertEqual SyntaxOf('^================================$'), 'htmlH1' - -Given markdown; -- not Setex -- because list - -Execute (prevent list vs Setex confusion): - AssertNotEqual SyntaxOf('- not Setex'), 'htmlH2' - AssertNotEqual SyntaxOf('- becuase list'), 'htmlH2' - -Given markdown; -setex h1 before atx -=================== - -## atx h2 - -### atx h3 - -# atx h1 - -setex h2 ------------------- - -### atx h3 2 - -Execute (mixed atx and setex headers): - AssertEqual SyntaxOf('setex h1 before atx'), 'htmlH1' - AssertEqual SyntaxOf('==================='), 'htmlH1' - AssertEqual SyntaxOf(' atx h2'), 'htmlH2' - AssertEqual SyntaxOf(' atx h3'), 'htmlH3' - AssertEqual SyntaxOf(' atx h1'), 'htmlH1' - AssertEqual SyntaxOf('setex h2'), 'htmlH2' - AssertEqual SyntaxOf('------------------'), 'htmlH2' - -# List - -Given markdown; -- a & b -1. c > d - -Execute (& and > are not marked as htmlError in lists): - AssertEqual SyntaxOf('-'), 'mkdListItem' - AssertEqual SyntaxOf('1.'), 'mkdListItem' - AssertNotEqual SyntaxOf('&'), 'htmlError' - AssertNotEqual SyntaxOf('>'), 'htmlError' - -Given markdown; -1. a -2. b - -Execute (list after line break): - AssertEqual SyntaxOf('1'), 'mkdListItem' - AssertEqual SyntaxOf('2'), 'mkdListItem' - -# HTML - -Given markdown; -a - -

    b

    - -- c - -Execute (HTML tag in text): - AssertEqual SyntaxOf('p'), 'htmlTagName' - AssertEqual SyntaxOf('

    '), 'htmlTag' - AssertEqual SyntaxOf('

    '), 'htmlEndTag' - AssertEqual SyntaxOf('span'), 'htmlTagName' - AssertEqual SyntaxOf(''), 'htmlTag' - AssertEqual SyntaxOf(''), 'htmlEndTag' diff --git a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/table-format.vader b/vim/.vim_runtime/sources_non_forked/vim-markdown/test/table-format.vader deleted file mode 100644 index 2fc06a3..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/table-format.vader +++ /dev/null @@ -1,44 +0,0 @@ -Before: - let &gdefault = 1 - -After: - let &gdefault = 0 - -Given markdown; -| normal |no space| 2 spaces || -| - |-| --- || -| normal |no space| 2 spaces || - -Execute (format unformatted table): - TableFormat - -Expect (table is formatted): - | normal | no space | 2 spaces | | - |--------|----------|----------|--| - | normal | no space | 2 spaces | | - -Given markdown; -| a | b | -|---|---| -| c | d | - -Execute (format well formatted table): - TableFormat - -Expect (table is not modified): - | a | b | - |---|---| - | c | d | - -Given markdown; -| left |right| center || -| :- | --: |:---:|:| -| left |right| center || - -Execute (format table with colons): - TableFormat - -Expect (preserve colons to align text): - | left | right | center | | - |:-----|------:|:------:|:--| - | left | right | center | | diff --git a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/toc-autofit.vader b/vim/.vim_runtime/sources_non_forked/vim-markdown/test/toc-autofit.vader deleted file mode 100644 index 2678997..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/toc-autofit.vader +++ /dev/null @@ -1,53 +0,0 @@ -" Tests toc window auto-fit to longest header, but without exceeding half screen. - -Given markdown; -# chap 1 - -# chap 2 - -# chap 3 - -# chap 4 - -# chap 5 - -# chap 6 - -# chap 7 - -# chap 8 - -# chap 9 - -# chap 10 - -# chap 11 - -# chap 12 - -## chap 12.1 - -### chap 12.1.1 - -#### chap 12.1.1.1 - -##### chap 12.1.1.1.1 - -###### chap 12.1.1.1.1.1 - -# chap 13 - -Execute (toc window autofit width): - set number - let g:vim_markdown_toc_autofit = 1 - let line = '###### chap 12.1.1.1.1.1' - AssertEqual getline('33'), line - :Toc - let real_width = winwidth(0) - :lclose - let expected_width = len(line) + 2*5 + 1 + 3 - 7 - AssertEqual real_width, expected_width - set nonumber -" 2 spaces * 5 additional header levels + 1 space for first header + -" 3 spaces for line numbers - 7 chars ('###### ') that don't show up on the TOC - diff --git a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/toc.vader b/vim/.vim_runtime/sources_non_forked/vim-markdown/test/toc.vader deleted file mode 100644 index 5126952..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/toc.vader +++ /dev/null @@ -1,181 +0,0 @@ -Given markdown; -# a - -Execute (Toc does not set nomodifiable on other files): - " Sanity check. - Assert &modifiable - - :Toc - :lclose - :edit a - - Assert &modifiable - -Given markdown; -header 1 -======== - -test - -header 2 --------- - -test - -### header 3 - -test - -Execute (Toc setex headers): - :Toc - -Expect (setex headers): - header 1 - header 2 - header 3 - -Given markdown; -# header 1 - -test - -## header 2 - -test - -### header 3 - -test - -Execute (Toc atx headers): - :Toc - -Expect (atx headers): - header 1 - header 2 - header 3 - -Given markdown; -ATX tests. - -# h1 space - -#h1 nospace - -# h1 2 spaces - -# h1 trailing hash # - -## h2 space - -##h2 nospace - -## h2 trailing hash ## - -### h3 space - -###h3 nospace - -### h3 trailing hash ### - -#### h4 - -##### h5 - -###### h6 - ---- - -Relative positions. - -# h1 before h2 - -## h2 between h1s - -# h1 after h2 - ---- - -Setex tests. - -setex h1 -======== - -setex h2 --------- - -setex h1 single punctuation -= - -setex h1 punctuation longer than header -================================ - -Prevent list vs Setex confusion: - -- not Setex -- because list - ---- - -Mixed tests. - -setex h1 before atx -=================== - -## atx h2 - -### atx h3 - -# atx h1 - -setex h2 ------------------- - -### atx h3 2 - -Execute (Toc multiple headers): - :Toc - -Expect (multiple headers): - h1 space - h1 nospace - h1 2 spaces - h1 trailing hash - h2 space - h2 nospace - h2 trailing hash - h3 space - h3 nospace - h3 trailing hash - h4 - h5 - h6 - h1 before h2 - h2 between h1s - h1 after h2 - setex h1 - setex h2 - setex h1 single punctuation - setex h1 punctuation longer than header - setex h1 before atx - atx h2 - atx h3 - atx h1 - setex h2 - atx h3 2 - -Execute: - :lclose - -Given markdown; -# header 1 - -## header 2 - -### header 3 - -Execute (Toc cursor on the current header): - normal! G - :Toc - AssertEqual line('.'), 3 - :lclose diff --git a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/vimrc b/vim/.vim_runtime/sources_non_forked/vim-markdown/test/vimrc deleted file mode 100644 index 638ab3f..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-markdown/test/vimrc +++ /dev/null @@ -1,29 +0,0 @@ -set nocompatible -set rtp+=../ -set rtp+=../build/tabular/ -set rtp+=../build/vim-toml/ -set rtp+=../build/vim-json/ -set rtp+=../build/vader.vim/ -set rtp-=~/.vim -set rtp-=~/.vim/after -let $LANG='en_US' -filetype on -filetype plugin on -filetype indent on -syntax on - -function! Markdown_GetScriptID(fname) abort - let l:snlist = '' - redir => l:snlist - silent! scriptnames - redir END - let l:mx = '^\s*\(\d\+\):\s*\(.*\)$' - for l:line in split(l:snlist, "\n") - if stridx(substitute(l:line, '\\', '/', 'g'), a:fname) >= 0 - return substitute(l:line, l:mx, '\1', '') - endif - endfor -endfunction -function! Markdown_GetFunc(fname, funcname) abort - return function('' . Markdown_GetScriptID(a:fname) . '_' . a:funcname) -endfunction diff --git a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/.gitignore b/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/.gitignore deleted file mode 100644 index 0a56e3f..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/doc/tags diff --git a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/.rspec b/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/.rspec deleted file mode 100644 index 397921f..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/.rspec +++ /dev/null @@ -1,2 +0,0 @@ ---color ---format d diff --git a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/.travis.yml b/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/.travis.yml deleted file mode 100644 index 98d432c..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/.travis.yml +++ /dev/null @@ -1,12 +0,0 @@ -os: linux -dist: bionic -language: ruby - -addons: - apt: - packages: - - vim-gtk - - xvfb - -script: - - xvfb-run bundle exec rake diff --git a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/CHANGELOG.md b/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/CHANGELOG.md deleted file mode 100644 index 619f787..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/CHANGELOG.md +++ /dev/null @@ -1,110 +0,0 @@ -CHANGELOG.md

    2.2 (06/10/2013)

    - -

    Bugfixes: - - Fix plugin break in PASTE mode. This fixes #44.

    - -

    2.1 (04/26/2013)

    - -

    Bugfixes: - - Fix 1 regression where cursors could potentially get out of sync in insert mode

    - -

    Features: - - Added some logic to debug latency. Fanning out to 30 cursors in insert mode with my vimrc took over 300ms. It’s like than 20ms with a plain vimrc. Need to debug what setting is causing the slowing down in insert mode and inform users.

    - -

    2.0 (04/24/2013)

    - -

    Bugfixes: - - Fix inconsistent undo behavior. Changes made in multicursor insert mode are now undone together. This fixes #22. - - Single key commands that do not terminate properly no longer cause ghostly cursors to linger on screen. An error message is now displayed informing the user the number of cursor locations that the input cannot be properly played back at. This fixes #28.

    - -

    1.16 (04/23/2013)

    - -

    Features: - - Add integration tests using vimrunner. Hook up travis-ci to run continous integration on commit.

    - -

    1.15 (04/22/2013)

    - -

    Bugfixes: - - Fix plugin causing error bell. This fixes #29.

    - -

    1.14 (04/22/2013)

    - -

    Features: - - Allow users to separate start key from next key. (credit: @xanderman)

    - -

    1.13 (04/22/2013)

    - -

    Bugfixes: - - Add support for switching to visual line mode from inside multicursor mode - - Fix highlight issue where extra character at end of line is highlighted for visual selections covering more than 2 lines.

    - -

    1.12 (04/19/2013)

    - -

    Bugfixes: - - Fix tab character causing highlight errors. This fixes #18 and fixes #32

    - -

    1.11 (04/18/2013)

    - -

    Bugfixes: - - Fix regression where C-n doesn’t exhibit correct behavior when all matches have been found - - Clear echo messages when a new input is received

    - -

    1.10 (04/17/2013)

    - -

    Bugfixes: - - O works now in normal mode. This fixes #24 - - Turn on lazyredraw during multicursor mode to prevent the sluggish screen redraws

    - -

    Features: - - Add command MultipleCursorsFind to add multiple virtual cursors using regexp. This closes #20

    - -

    1.9 (04/17/2013)

    - -

    Bugfixes: - - Fix starting multicursor mode in visual line mode. This fixes #25 - - Major refactoring to avoid getting in and out of visual mode as much as possible

    - -

    1.8 (04/16/2013)

    - -

    Bugfixes: - - Fix regression that causes call stack to explode with too many cursors

    - -

    1.7 (04/15/2013)

    - -

    Bugfixes: - - Finally fix the annoying highlighting problem when the last virtual cursor is on the last character of the line. The solution is a hack, but it should be harmless

    - -

    1.6 (04/15/2013)

    - -

    Bugfixes: - - Stop chaining dictionary function calls. This fixes #10 and #11

    - -

    1.5 (04/15/2013)

    - -

    Bugfixes: - - Exit Vim’s visual mode before waiting for user’s next input. This fixes #14

    - -

    1.4 (04/14/2013)

    - -

    Bugfixes: - - Don’t use clearmatches(). It clears highlighting from other plugins. This fixes #13

    - -

    1.3 (04/14/2013)

    - -

    Bugfixes: - - Change mapping from using expression-quote syntax to using raw strings

    - -

    1.2 (04/14/2013)

    - -

    Bugfixes: - - Restore view when exiting from multicursor mode. This fixes #5 - - Remove the unnecessary user level mapping for ‘prev’ and ‘skip’ in visual mode, since we can purely detect those keys from multicursor mode

    - -

    1.1 (04/14/2013)

    - -

    Bugfixes: - - Stop hijacking escape key in normal mode. This fixes #1, #2, and #3

    - -

    1.0 (04/13/2013)

    - -

    Initial release

    diff --git a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/CONTRIBUTING.md b/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/CONTRIBUTING.md deleted file mode 100644 index 386fbc8..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/CONTRIBUTING.md +++ /dev/null @@ -1,29 +0,0 @@ - -CONTRIBUTING.md

    Problems summary

    - -

    Expected

    - -

    Environment Information

    - -
      -
    • OS:
    • -
    • Neovim/Vim/Gvim version:
    • -
    - -

    Provide a minimal .vimrc with less than 50 lines

    - -
    " Your minimal.vimrc
    - -

    Generate a logfile if appropriate

    - -
      -
    1. export NVIM_PYTHON_LOG_FILE=/tmp/log
    2. -
    3. export NVIM_PYTHON_LOG_LEVEL=DEBUG
    4. -
    5. nvim -u minimal.vimrc
    6. -
    7. recreate your issue
    8. -
    9. cat /tmp/log_{PID}
    10. -
    - -

    Screen shot (if possible)

    - -

    Upload the log file

    diff --git a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/Gemfile b/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/Gemfile deleted file mode 100644 index 7658cb9..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source 'https://rubygems.org' -gem 'vimrunner' -gem 'rake' -gem 'rspec' diff --git a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/Gemfile.lock b/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/Gemfile.lock deleted file mode 100644 index 5e909c4..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/Gemfile.lock +++ /dev/null @@ -1,30 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - diff-lcs (1.2.5) - rake (12.3.3) - rspec (3.4.0) - rspec-core (~> 3.4.0) - rspec-expectations (~> 3.4.0) - rspec-mocks (~> 3.4.0) - rspec-core (3.4.1) - rspec-support (~> 3.4.0) - rspec-expectations (3.4.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.4.0) - rspec-mocks (3.4.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.4.0) - rspec-support (3.4.1) - vimrunner (0.3.1) - -PLATFORMS - ruby - -DEPENDENCIES - rake - rspec - vimrunner - -BUNDLED WITH - 1.10.6 diff --git a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/MIT-LICENSE.txt b/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/MIT-LICENSE.txt deleted file mode 100644 index dade7aa..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/MIT-LICENSE.txt +++ /dev/null @@ -1,20 +0,0 @@ -Copyright 2013 Terry Ma - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/README.md b/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/README.md deleted file mode 100644 index 1d70566..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/README.md +++ /dev/null @@ -1,284 +0,0 @@ - -README.md

    vim-multiple-cursors

    - -

    Build Status

    - -

    Contents

    - - - -

    About

    - -

    There have been many attempts at bringing Sublime Text’s awesome multiple selection feature into Vim, but none so far have been in my opinion a faithful port that is simplistic to use, yet powerful and intuitive enough for an existing Vim user. vim-multiple-cursors is yet another attempt at that.

    - -

    It’s great for quick refactoring

    - -

    Example1

    - -

    Vim command sequence: fp<C-n><C-n><C-n>cname

    - -

    Add a cursor to each line of your visual selection

    - -

    Example2

    - -

    Vim command sequence: vip<C-n>i"<Right><Right><Right>",<Esc>vipgJ$r]Idays = [

    - -

    Match characters from visual selection

    - -

    Example3

    - -

    Vim command sequence: df[$r,0f,v<C-n>…<C-n>c<CR><Up><Del><Right><Right><Right><Del>

    - -

    Use the command to match regexp

    - -

    Example4

    - -

    To see what keystrokes are used for the above examples, see the wiki page.

    - -

    Installation

    - -

    Install using Pathogen, Vundle, Neobundle, vim-plug, or your favorite Vim package manager.

    - -

    Requires vim 7.4 or newer for full functionality.

    - -

    vim-plug instructions

    - -
      -
    1. Paste this block into the top of ~/.vimrc.
    2. -
    - -
    call plug#begin()
    -
    -Plug 'terryma/vim-multiple-cursors'
    -
    -call plug#end()
    - -
      -
    1. Start vim and execute :PlugInstall.
    2. -
    - -

    Quick Start

    - -

    normal mode / visual mode

    - -
      -
    • start: <C-n> start multicursor and add a virtual cursor + selection on the match - -
        -
      • next: <C-n> add a new virtual cursor + selection on the next match
      • -
      • skip: <C-x> skip the next match
      • -
      • prev: <C-p> remove current virtual cursor + selection and go back on previous match
      • -
    • -
    • select all: <A-n> start multicursor and directly select all matches
    • -
    - -

    You can now change the virtual cursors + selection with visual mode commands. -For instance: c, s, I, A work without any issues. -You could also go to normal mode by pressing v and use normal commands there.

    - -

    At any time, you can press <Esc> to exit back to regular Vim.

    - -

    NOTE: start with g<C-n> to match without boundaries (behaves like g* instead of *)

    - -

    visual mode when multiple lines are selected

    - -
      -
    • start: <C-n> add virtual cursors on each line
    • -
    - -

    You can now change the virtual cursors with normal mode commands. -For instance: ciw.

    - -

    command

    - -

    The command MultipleCursorsFind accepts a range and a pattern (regexp), it creates a visual cursor at the end of each match. -If no range is passed in, then it defaults to the entire buffer.

    - -

    Mapping

    - -

    If you don’t like the plugin taking over your key bindings, you can turn it off and reassign them the way you want:

    - -
    let g:multi_cursor_use_default_mapping=0
    -
    -" Default mapping
    -let g:multi_cursor_start_word_key      = '<C-n>'
    -let g:multi_cursor_select_all_word_key = '<A-n>'
    -let g:multi_cursor_start_key           = 'g<C-n>'
    -let g:multi_cursor_select_all_key      = 'g<A-n>'
    -let g:multi_cursor_next_key            = '<C-n>'
    -let g:multi_cursor_prev_key            = '<C-p>'
    -let g:multi_cursor_skip_key            = '<C-x>'
    -let g:multi_cursor_quit_key            = '<Esc>'
    - -

    NOTE: Please make sure to always map something to g:multi_cursor_quit_key, otherwise you’ll have a tough time quitting from multicursor mode.

    - -

    Settings

    - -

    Currently there are four additional global settings one can tweak:

    - -

    g:multi_cursor_support_imap (Default: 1)

    - -

    If set to 0, insert mappings won’t be supported in Insert mode anymore.

    - -

    g:multi_cursor_exit_from_visual_mode (Default: 0)

    - -

    If set to 1, then pressing g:multi_cursor_quit_key in Visual mode will quit and -delete all existing cursors, just skipping normal mode with multiple cursors.

    - -

    g:multi_cursor_exit_from_insert_mode (Default: 0)

    - -

    If set to 1, then pressing g:multi_cursor_quit_key in Insert mode will quit and -delete all existing cursors, just skipping normal mode with multiple cursors.

    - -

    g:multi_cursor_normal_maps (Default: see below)

    - -

    {'@': 1, 'F': 1, 'T': 1, '[': 1, '\': 1, ']': 1, '!': 1, '"': 1, 'c': 1, 'd': 1, 'f': 1, 'g': 1, 'm': 1, 'q': 1, 'r': 1, 't': 1, 'y': 1, 'z': 1, '<': 1, '=': 1, '>': 1}

    - -

    Any key in this map (values are ignored) will cause multi-cursor Normal mode -to pause for map completion just like normal vim. Otherwise keys mapped in -normal mode will “fail to replay” when multiple cursors are active. -For example: {'d':1} makes normal-mode command dw work in multi-cursor mode.

    - -

    The default list contents should work for anybody, unless they have remapped a -key from an operator-pending command to a non-operator-pending command or -vice versa.

    - -

    These keys must be manually listed because vim doesn’t provide a way to -automatically see which keys start mappings, and trying to run motion commands -such as j as if they were operator-pending commands can break things.

    - -

    g:multi_cursor_visual_maps (Default: see below)

    - -

    {'T': 1, 'a': 1, 't': 1, 'F': 1, 'f': 1, 'i': 1}

    - -

    Same principle as g:multi_cursor_normal_maps

    - -

    Interactions with other plugins

    - -

    Multiple_cursors_before/Multiple_cursors_after (Default: nothing)

    - -

    Other plugins may be incompatible in insert mode. -That is why we provide hooks to disable those plug-ins when vim-multiple-cursors is active:

    - -

    For example, if you are using Neocomplete, -add this to your vimrc to prevent conflict:

    - -
    function! Multiple_cursors_before()
    -  if exists(':NeoCompleteLock')==2
    -    exe 'NeoCompleteLock'
    -  endif
    -endfunction
    -
    -function! Multiple_cursors_after()
    -  if exists(':NeoCompleteUnlock')==2
    -    exe 'NeoCompleteUnlock'
    -  endif
    -endfunction
    - -

    Plugins themselves can register User autocommands on MultipleCursorsPre and -MultipleCursorsPost for automatic integration.

    - -

    Highlight

    - -

    The plugin uses the highlight group multiple_cursors_cursor and multiple_cursors_visual to highlight the virtual cursors and their visual selections respectively. You can customize them by putting something similar like the following in your vimrc:

    - -
    " Default highlighting (see help :highlight and help :highlight-link)
    -highlight multiple_cursors_cursor term=reverse cterm=reverse gui=reverse
    -highlight link multiple_cursors_visual Visual
    - -

    FAQ

    - -

    Q Pressing i after selecting words with C-n makes the plugin hang, why?

    - -

    A When selecting words with C-n, the plugin behaves like in visual mode. -Once you pressed i, you can still press I to insert text.

    - -

    Q ALT+n doesn’t seem to work in VIM but works in gVIM, why?

    - -

    A This is a well known terminal/Vim issue, different terminal have different ways to send Alt+key. -Try adding this in your .vimrc and make sure to replace the string:

    - -
    if !has('gui_running')
    -  map "in Insert mode, type Ctrl+v Alt+n here" <A-n>
    -endif
    - -

    Or remap the following:

    - -
    g:multi_cursor_start_key
    -g:multi_cursor_select_all_key
    - -

    Q CTRL+n doesn’t seem to work in gVIM?

    - -

    A Try setting set selection=inclusive in your ~/.gvimrc

    - -

    A Alternatively, you can just temporarily disable exclusive selection whenever the plugin is active:

    - -
    augroup MultipleCursorsSelectionFix
    -    autocmd User MultipleCursorsPre  if &selection ==# 'exclusive' | let g:multi_cursor_save_selection = &selection | set selection=inclusive | endif
    -    autocmd User MultipleCursorsPost if exists('g:multi_cursor_save_selection') | let &selection = g:multi_cursor_save_selection | unlet g:multi_cursor_save_selection | endif
    -augroup END
    - -

    Q deoplete insert giberrish, how to fix this?

    - -

    A use the Multiple_cursors functions, add this in your vimrc:

    - -
        func! Multiple_cursors_before()
    -      if deoplete#is_enabled()
    -        call deoplete#disable()
    -        let g:deoplete_is_enable_before_multi_cursors = 1
    -      else
    -        let g:deoplete_is_enable_before_multi_cursors = 0
    -      endif
    -    endfunc
    -    func! Multiple_cursors_after()
    -      if g:deoplete_is_enable_before_multi_cursors
    -        call deoplete#enable()
    -      endif
    -    endfunc
    - -

    Q is it also working on Mac?

    - -

    A On Mac OS, MacVim is known to work.

    - -

    Q How can I select n keywords with several keystrokes? 200<C-n> does not work.

    - -

    A You can use :MultipleCursorsFind keyword. I have this binding in my vimrc:

    - -
    nnoremap <silent> <M-j> :MultipleCursorsFind <C-R>/<CR>
    -vnoremap <silent> <M-j> :MultipleCursorsFind <C-R>/<CR>
    - -

    This allows one to search for the keyword using * and turn search results into cursors with Alt-j.

    - -

    Contributing

    - -

    Patches and suggestions are always welcome! A list of open feature requests can be found here.

    - -

    Issue Creation

    - -

    Contributor’s time is precious and limited. Please ensure it meets the requirements outlined in CONTRIBUTING.md.

    - -

    Pull Requests

    - -

    Running the test suite requires ruby and rake as well as vim of course. Before submitting PR, please ensure the checks are passing:

    - -
    cd vim-multiple-cursors/spec/
    -bundle exec rake
    - -

    Contributors

    - -

    This is a community supported project. Here is the list of all the Contributors

    - -

    Credit

    - -

    Obviously inspired by Sublime Text’s multiple selection feature, also encouraged by Emac’s multiple cursors implementation by Magnar Sveen

    diff --git a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/Rakefile b/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/Rakefile deleted file mode 100644 index 7150a28..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/Rakefile +++ /dev/null @@ -1,11 +0,0 @@ -require 'rspec/core/rake_task' - -RSpec::Core::RakeTask.new(:spec) do |t| - t.pattern = 'spec/multiple_cursors_spec.rb' -end - -RSpec::Core::RakeTask.new(:benchmark) do |t| - t.pattern = 'spec/benchmark_spec.rb' -end - -task :default => :spec diff --git a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example1.gif b/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example1.gif deleted file mode 100644 index f191985abffc1b3a0f16cf1f63de0b90d0d9236c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103002 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 diff --git a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example1.gifraw=true b/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example1.gifraw=true deleted file mode 100644 index f191985abffc1b3a0f16cf1f63de0b90d0d9236c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103002 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 diff --git a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example2.gif b/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example2.gif deleted file mode 100644 index df14aa3c19ba8705d29128573731a720fbbcc6d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271369 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�m_P6_H!HZEH5{8O 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

    n&^ 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 diff --git a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example2.gifraw=true b/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example2.gifraw=true deleted file mode 100644 index df14aa3c19ba8705d29128573731a720fbbcc6d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271369 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�m_P6_H!HZEH5{8O z4fD-{2JF@wp$!3a9rsdsl|n;rMO~jqaHEgl1ghQ#EZKZ0-FBGu*qFFw9U0>f=D|5H zdO9z(9YGc)8hH@LfiX(J4f96l4~$iP-{-18Id5r z+vp130_Og7M~C-ELK^*)gHBayS`8b+OWoTbR{K_VuOr0AJH#e@qV^qQRP;ieOWjoV zfH#shZUfN>ioh*GBa;oyXa>?3jfz1gUJ!dg@K@MTxzFoV|2E>jU{VxB4VJ%B?hU`j zvv2)-&`AJCr`ZIUAVI$*TV4f1bo?R8CjmGTszVKGN_0F^_#h&&{;WyNr9BzlAmenU zE04smn7DIZ6Ts|n1QuZ$Lk9V9gKfr&oXOxTVsxz2k9HFud{eKzWI~L#re$z6$8(Qb zJ7e|6A6m>$09K_AOSvIFqA+(AsD=fdm92ZEQ+SxugB2^Wy_puGQ@i4VRyRh7VJuX6 zIaH{rS%YjOi-epWqZ1~(<}iTl3xPzsHX(Wl451KtvayUP@2n?w;aJAL*S(tKI(1Jv zUaocsDkyYL0uB}sYCrT;6GRsY(L;jXZ$IHdboM2Q$ly9FVkGFBvTTrGn%`~Q^u?~f0%M(hzY-krLWMKbSKp_pPi-$@mbh+Dg*&sXn3%kzvcP>)(O^^#eV64d=6y_pZB`2>|DQl9!*fS(*0OM4joYs&x7=;Ie_i2@FckbZfhL zAP{sFht`jq`#}`2xj>(vKuJ@L9?t2JsV@QcZdNy9rK_naV| zeVnPjGZhfP+!Pw569+&8u5`1;JxdnPI4-|v+vpLldeJA++lo8ty}{tslo#DG0q&Q% zkrwiDq50(lJGxP4c1@h~TW8iu8P(~ck+U12!Z`tv0!&NfK@o0S1IDl+zbl_OB7D~S1}@#cMhdw;{*=OTb5o_rws zI^K7<*>EB}qZvyLD}LkvEd;9plRe(2FA2VNe_H4{d!)A20vL=u>kPDUP-f1X24;Dv2O=*SLCOjH|e4W78UYOn>&)mD3ewsgbKy5bBVfIbR z?3bEZosn7P)!F!z5(-P|+|%ks!JK8;*45d<*gTa_vmY6}N#2~Fc7CPWo52ahx}V4*`%QGlj}bKVqDf>2m)#@PZ15Peq0 z(i#DOh>0S=g`DHk%!GD)j#^Qj$d)@tND&Y_V&@;7TkE%LOH-&6v!2qK|8{krEGf-K zovU)kjyQE=ey2_cr`lwg7vDO5<;eR{ zS{+{*S0W`>EOP5E9}J%Z8(5?4>ul)~^5WYT*}eM2|r~@?|MP4g}!{$`f?!#nA6%S_x~~@w>c&A<>yD=Jyu5W(bmdu;%FpQOLwbR za@(zD^TE*OYqL!R+pSY$+XQsrG2_V}UE6%IFB7O=ihv!5^Yfxd;ZO(Pu}v!Wj=2%HBE`( z9n0I8f$H@VH;*+Wj4D{XMKb|3jJfQOeOb{0R*Iim+wS`M_M1O7{2Y;(h72w{6}>|2Ab+ zA%lzLp=~V(MXzdV%nx{iBN))MevIvvSWks9=v@UAx0WV-T6^VJi5PBCf-3e_Gughr z4N13*kXpKX?vPdQwKElZRa8!bYSd^4m7zj30`+37MZ^*79QaW_W9e#Z_TvB)lh)l; zVxi|EYw$5s=iE<*T|JFln&Zn?9&>XJWqZ{e)hppX`num*)WdwongM_b2>~Fb<7zy| znIRAuESa7j0;YLrj-5u)BeHXq(aCJ8hQ^gu)iuV3+-%PO=jfxCBS-(Co*9+2)zFZ_ zI%rc&9k6PR=>QSLz`#xi1Ifw3Ve52s3>;is+i_9x;2)y zr~=1{wSs{pzSBPcqMk8wvXZHQl|2VQ&~#iAg}{obfY3_^YP0uD;Gt)?S!hiOfEnzp zT%=mI(gWd=Y-gr$l$ORZGpN`&PE&=Y64<4R1^z=l^Jin*qLggkgpSb`jabH#{VU}% zK#V3lyVFf&&%nY~3=Nryv^0#EmH9@PPTwh}lLA%XrbMMo+gN5nR>U5+jP!$R|0$Pf za9p(i=uHO#$`y;O#rT1tsEIUo-GLAD68x&s5-?D-xJFLv^y~77BrX=mqOe{-a=8Ki zI8pqnI``VUztl5-0c&gN(w|(=^9vRdm8!y-lcQvH?JX`qOjy$UI6;aG7)~Q*;bS4= zn`t_X5(_k5O@d`0cbHS`l1+H^1CCELVC~g!{iP&O9i z1Av!N5=}?b%B1x%vr#T%02$NI6HGl(;1V2-?5!?&Grw9bnC4KBzuZ&%$JzdepV!qaC8Mj4hOlLu*I3A25wIKlUFd5M20vKRpSTg|Tk9Rv!;9y+$psIeW zW21F_%K_AHg*m6IjO&4OvYvvn9v4jmXl8CaMnexqW3I}So`Nu45bg1W%R!rt@rvi+ zhMXrA$^+bz5rlcr>Tcz>mwQ3d))UFU@p&?)1I`#sFUM&lJ0x1-A@w%05u+ZjChOmA; zZq5;^R*62MLt^{jpBW8xehJ^#7(QOg_=lg@C<7vIPl34G$O5X`emY+Gt~!gJ;vN8g zOk;+gI|g6z!G!&6J|o!BzPHzXBtSi&jH?S%s({dbsR4j${d*Y8$D==>YVIHN zj|NH#IlF$wv6jHdi2V)(|9o_6wUXtf!865^tvvcC|KjIe_GPw&(n9;_90127z&!S2j2L^y>#382{cp*P(o((jM1&|EmKiXWaTO{V>egc1$!_cRipy$zD=H#dJ&LCY~&@im1w1so!1?JRPH0v+=dzWoxnBZ&zN)i zOz3@9dTcaCps8n?skyYzsg^<|S{~k?fDj45K>W8oUq$uM8hYGiUF#pS{w-QHD;bHKjY?G>VOZtFrXM)G379a2-Du zl0*7H_4byHk53Kf|KaC_d{!T`e4sAPEzXuTXbqaNitbXZ_cE(@9B8!xg1NKx7YHJf z(vuGg{BKJ+*SpZ1?IDX^VVZ?Dxaw0AHaQcD;hXg|;=aAouL<^;?4xX4ndNjk9oGZM z)dmlh7w;C|?KL`@_C`!jVu(j{hiAc9K#=vPWp z&ouh0;okpI&z$U)eJ1@P_Jk@;J(IE(M2G)CbGCOpZ!fxRsKd6|p%a$6&#U=6R&k?% zrk;t7WAH+8P92LaNaPZv1qk+j3cR3yD0A;XH zxP3=pQ7%%gek=klpBB!%W;GSY(Y~$SPQ@EX;e{Q4HWw`?k3~dWzUv#r3wA0JlC+d8I3wyr<s+Q8?oa0U&P(&aH%7kPY}0pJWWlujGK2buF@XQkf8hM*VfgR<1LwaShME2+{Rc+Q z5ypShe*pip{{a54{RcPz0q+|A;o{$iGU^RAxjq6TM2w5<$z=mcP&Tg*HSEFzx7kl6 z3czoR7-mTRzY!JtUvwBI$I!U=|E~WKvJ5m{`IH(7(4u1FtW+%+h(KK#za@w{M>`BV zvhX1)Ahf8M1>4I|e0TS)Dn44}^cIvybtJs|r6(;a*0>-T{tvTH%`qYm4Y4TCR+KSI z>pw`&kwn3JWk`vve;DrUg#Sdv6#wSp*U+M3-~JWTTNmqklwqn6>XvC?AhnqF1q6`8 ztUVlrIb-Y-DsylK)1QS+;=Da>F%;E`$1paoE)lM>ax51HPkPhLK1;RB#Zli@mrL;U z(ti+(J}YG;@j5T7OLA*9S2Z=HS7~M+TK_@LIA*n~LTPxl`pyG}wVI0mJ}Tx@A1(yr zz@s3^`C#E(O@HCZ%2QP(imCY~B)5IUH z4DN~vOR;9)k%#WEt>t#Pk4uWN0w0%rqGWd@{QFCpG9c* zLyNWi<&MaFcNgvpubY!;H4$@kQ#hw+5mDHjYlr;gSewinOsqX-31B_5Qy(s_hmK~B zLu+WW#`tdRjPdrMg`OwB#F5}9d`w6$^$dSyFhN8yvV?PT1Yn#HEVDO-irb$L)+Hj`fWJq$Hv1czZW3HbYr9#{X*A|FA393iq!tl zV-ed!)dyv(Lx1`YF%MN>y$-r(Bf6-JZujBh_T7gAA9>kakM=l&Pjt=9SC;%fXsW;e zTdLa}qxIwJlWwhF_uhZmleC#X+xA=LYsuQKgd)f>6<^N>>@yE3|Da2Yu6}<4C5J3M z@a{b$lXOwIK^b(A{LDCc2!OhZ_2_Ag5{hBK!JCC1DBhnPB~Vsx>_uX-NJE_8hlV#+ zkd#xFqe=Ef%y#;H_B9ChZa0UCt!kJs>nR(3(S8PTTudoT| z&KBi0OMROxUK7dM^217+*(dn?)5z5dbN(bB{_;G9&CF5801epw79#E?arL9&coB+G zmwrr4n9u<)=ijrk6TPh(>ca?dF;|~Ex{-BG0t2qgAON<%JZzuwOg;##13i+gcQ`9{ zTEiRztzf3(oKmk9_0MFtzuND-YAnsnim5HZxdRSWW?j;CP8EoTCs0fKz6??&tEJ2( ziFNx6M%Tf_dkyZh+!z)&+ZJhKDI@y#?{49h?J5L`p2s5{5x=;E!PtADw(n=|KWJ^e zAzdfwm-Jq0^&3y;=GA+IlOHsGO>*|j`eodV{9q<(_xOHs@LeNi=TK40p>W|IX}_lGqD6Q%9!H;UaJ*OM=n+ z=a=7X9mUYOe}w<2)m&c9v6t=XjPp*ZSdiLyBJKMb-b40+VK&6+0w6l7?FfBp6B6qv zL>0E}FOfZ!qV;Y7zFQ~AP18#2+Zt&%Vc2K+qlK{%dIIb1SeiSj>Ut?mOdgexfZWcM zB2Mb#{lFUN{tL%J3d(-emrfp*EYj(gG#4Ygd`*Ae>rVUes&M^}Qqjl?B#DoE&Y6yn ze1%&Zdm{u6z%M}&yf>D4Lc-YT$#0@QI+K)wHpVQACEeFwt{Qx)xn#RG1VxsX%7;_$ zs7^Llt3cP%eeSsWq#@OH@b{uA@A zdMwD9LI|Dr1`)k3KizyPaq<{$;Ad51voF8@8TP;)IyO$>TZ>!7l7!1KS_aI=DAXhD zE(bMsp#P)`>RTYq?86XOr%N;YoF)#6zv8%h{=b-g%3}lonUt@^KYlJ_*gD4I&3DTo z!@v(^pf}}aA?BZoLRyjY@60>m-(}vp{|Bt-crMmau78txhx{}14*9Q{_k-VX0c=xg zEuNlJx+3oWEKTrpa4ZiS;MNnjf%5sF+UTaA`bY3%)ci+L`2XA>qpC*vE8%t_;^;3{ zbTv7S^Q22B->Lu0io*Xx!tK8sWFlxFq?RkUkK_5jZPHlL8|E+PN+AsW^%w8&;X$;_ z`^9XeHiG_O|EqlE7fj6WBS1(g8Yu{+v7%p8SeQn@lvi-7LPb`1$R|y&&#_WAB$}cy zPSG_U8E2mi0GjB;1XNW`Ia;(~kXz`q-0R>}OOj~F_Pajo8Nvk4+Bs}aZw zz)IUHL>kqb>XFBob>@&_52ZyLXcCrK5fqR`3&vH%Us3B;cvBxvV3w2-9{5(U(dP7& z0RV`>V?9lBs<_^Ea6<Dnbk(5?|KYD@&XbT9mmyXU;;*bgH0ef!I+x`R?+7isB_?e7|@zTJu=TgRE z0JamT9i(XC#%Wi2vYLD!_^9x6mJz=#^{Py0fHih)wf9gU`BYpB2C0fFbh38|03AybPv072C6Lv8L z8>@yug$UD!p|{ksdHfz@O?f#0K%C2e8+2RcO>`uo2tB07&j!f8Pine(uueZwPYa>L ztnMNsbQ?p2(4rd+UFtcqIzyIz*d5Je9|1qQN@-`CXcWh?)= z<#*=n&{4x2B&{(4eOgCDc>UU!-)B5dHlKNzDoMc~tf;!eM&vz@ejmY)pH0133OD3dR2@3NK{P6oqK9 zKZ-&l4w|AcO+=})jP*oDpWq=v;KX4W;#qo=F#jpZXQ-)P5n=t}H)FIH9``5~VfAl( z@ItWHmGdM-qb;2+5e^^9`EK=;T134DxeDCn9}gH*Z2X6Bz&@*I8xj+&SSI-0a`4AO zKy2h&Lms6)LvDJjv{=&$CH1Ny1A38U7&cc#BAi*=YA2(zNmTsNevGqMAk8E`C3!K}LvQ_!E z+NhXQtmbjV;$^KPsiACWbf0*tfFF`fz`)(rEg zY2)Ixr=ulBoDbh{@*u%P`$}Qc%fq@bvff(-jJ2SJNZFhvLhnenPFT<%zZKrX&W0uH zRY}8kEwT^}6Kk+@bcx3iWI>+K7-rZ$>0zA`fex*mv8zscXO`wXqenCg!Vz0n&ljyG zNou@~u+yEeIyT4EzX3f3(Z%3wTFUG06TD#O<(eMch}cl^L4z4Oam`mn^gOOy21XT7 z&84&FWg|;d0t7L&?gI^*%1H?~DwSJ91Mf08zhLG^M z6JROftoE|kPHZ;~81R~pKZ;|C(yx2vX7^;|DKWJBM-`P{H-Y*1wX-Z(q!=UkY5ybJ z#_8i9u1rt46A=?Y(=r}jcfE~u=nIO-b@unLR1zmDH7yV$kX{+@~6OAOKHP)Tl1OkMJa0~RZ&hf)BlKI1O-jNl9Gl#F! zQXf`G+_1cmz2;Ugjmeji)rIss)GbjIxy_DE3nxS*e>?M+qR>{}lbm8vTn|cktAkHL zG#4wi`CkGYye)_u*sp7EyZ$oxMfj}wdYz1&d%DFGq<~tL*=eZ#<@@w;XR%z(EPVZ~I5-FMmIJ5}z=Yo6!!5akQmp0g6!<@;=Y^H%Zy2X|(Y` zqrb18*R@CPWG;{2d;LyOh|LX>-4tb}%O=T=6HFl@cu|4KuJPv%eGOkYx#Hex?l?Ok znxH$#H;>K;@qxcTmbV61q$o0Yg{=|2g2a9n|CGJ+q+xWAdxk~ZRezy?{e7cWA&Od7 z%T$_4^p94)buQH_#Q5jc@{837B%XYN%E_CFu`6Rbl20FQAmO8y*)1Q%-TL)Rd^J6s z`#MZJ7TEE`Gqj7#+`S}?fn~eHj<~GyC}9S?(bC{6u@;aBWtbWw>OysNE;(8#Pi$*W z$bBCE*$&pIudy{2eRBT+Z^@u&@a7F@!1LU>Un;Z5><^RdB00Hgp9kK^GZMy`ig%VYh*kR5g=o z#Eq=*AF`v3%42h3lD~sx?qG?D`w0ddi6*CGbL+NVs0rA+6g%(SNr zYFmu-rbNx9P*k~77wl7)!ctfAQrFs3%a`~zU=shi9r`!&MD*WG%Kx*KAM5{bR(@OM z)qkrnpEjqM{4sOsEzkX#lrLugJtU>GbxlewF-}bj9Xb~79?XE+=U&77y z){_$LwOEaeWTW`^$I!YU!bB!65+#-|;t?f|MTkcIqOJVOISj3Fu5pr8*oio%>#B1} z$egh9M8!$fk>nRmHKj@DF3Gzo82ZP|!0<}miQAfq`*)AhOqCCqQlIf9oX9X5^eWG^ z_mIlW+O%{KOR)2yP0EeIJj}Vw>ig~_lMLEv@loDEViy0sW%ul>y|k5I_8o;{v0x!w zb-|UJc@iZg@ijP0N2yv(d@KQ8S)OHEkbHM-Hh-Zk=lYtrFv|vE6)5;dD}U7N!29y^ zav0}pYX=#t;gV??I^y(v=(>8XI4PP6vo&MAk;ub%rD;g~$@8X7ZW=ESSa9?#NaJ6x zZ=UvugtzQ#N8%e{!44Y*&wQ?IJ&p}#!biZF$ycl9Z#u|z?E2KpMbg8JuU2GCuHWz8 zKL+$bpl31UjvofIo7RB^1@&*q>=Nxs)D z5E;mwrbn4P_a0ppm)ryxajIhv<vM#z%V0Ll%DF z-&!9rTT-qCZ5?_GkyP-dgopL}D+EfeGE6a;65Z(cqW)mL|C%x|_gKRJ4EkKX1Rilw z73k$ew^QY6^9t3Ywm+0i{ftl{mV7@-f7jh{ggNmlGE|fUPHa)VXKfV6Aw2aPlz_%MfM}nRa>kN+~q@tHe7s##_dT6sSsjp~wC? zL%z$I^lI4N9GTC8*F|DMjII!-*0mc4$6eu`s(DU zEDQiMkckmIAdt>95YNWt$aV{>A1?z431R2Na%xE8taAx!Z-t@N_5%w16@(5L8_LZP zcqQuwfSX)J7D%vY?((aaTt&yeld^xHdm#^k?xFxUFsC(`9!k5z!K0t?ZdpWLUbrhd z-!tGMN&#FR>I<*u8EMm~YU!7XDkRygjGSPBh&)pwXkj72Ovo)gW`BXsHLnMox|0+0 z91vE|eY1m)eP>Tshv##5q?x?f;8kif%3Bmf z(LhgCsz-BXy7=?a^QNB8&J-}JmH{PrATC*1GaAtvduL0-1vKY98ou_r7?_1$2RAh~ zfN(ZBBr*~hGZ$->0D&<8$kYPQ0HDKGm}?BK>Qp2mxXMYYH5_z3<_tw|*x8%_ge@ac z=;0U3vJW+;mzwK5pL%NEZL)YGFf7Ct#jJDo(gjsd89h+ z4LlXsiCTf2H?_HF3Jfz zFGpbsFDQ(>B4{sBIslw74HDp~^&0j)Eo(X#D)6=Nv%|S~Pq_Vl_WppUb$`4&@2j9e z-a*ytL!b|QS`1#V2aiS`q}}@b=sXS?;G&@*j2D;|KJyq^8;s8|dN!A*buj!pj|>&S zTZlj5dx0y~M_mjsm6d;2@|GniAXA;=f|Xi-9bHvH{fniT_Q!~0Uc#gY$2>inuaDyW zvV?K9FIYDmj8VUXXqQDMoipUIDZSv5N6%M`mxpv{;13o)e=iZSnKz|f)^Q@6t43Fp z-|iJ{YrDnYKc3W z!|vqqAMg4wt#-L18}RC5Gt=V7Z`R!L-KST3Pg&Bx*}iFWO-1d)$|zm4W+}iZiUGk$ zcZ1K~*@~D#ot0dPW{bi@PWVzldyiTPn`TtCZRVO3E>&BmQK}8a$(<(5xbEY{l2KKE-qj@%e1 zh5jnCPoeJ$vYkp`{np9}eloKNAimAUtZ@T$78mcmpQuIN6sX00dHP{wuj~6!z_(d0 zeZRMHJL0Ypyv2p_Q}OAD557BE#Rcgq12wnrmEf~dcNn|37pwD2h9>)RABlfkG08g^ zkIdh!zvZ!R)MFfTH=Oc-x9a9$^kL5nweJ<5einUn>2T?wvOd88;5nqbbN)Ef?1w#-H?z#u5Fy^%?Du$W-GBl?TLcRc4gJXC(~&Beyl}| zx^-sAV=R7P2z~M`q-#2EUHkg^zF_6txK|`Ov?TOVyO35}@~!csvfC|oWUDD(`De_>*>qi*GpvlVGLUZ9Xeo-|| zCr3V-L6(gQF<*3@nh#@r?uE!#L3`qcucy1_rI&ixZqRO*V@hk5xcgxw)N`+}JsF7v zwDdv1*QpGgZ4`(PGvk%1tBg>4hZ26CsheYcHiyV1k!3yzqJ^^;R0jAeh z6}{CGg1im(#bBYeR|BNdBH@>uYm;K6F2}AW$E#`UVvb-qC1n~}sIEFZ9G;Z)*f7(9 zG2vZWu9~)%l;1(Rv-@sRrQj z#fRP(-dzFyFYFDX(h)f2mYw=z`~P^?hPZhc<*?X4IFsiuicehDw;S#$h>1^p&L zKxw644$21HGfEf?RS@(B0Nv@*G(vo~q`Lk2og>IuM52V_-Pstz(yesYa^BQX_6-6Z0wq+B(vQ<{7Du-wc z{BP{NXH=8zwy*yrp@bfgE+zC1p?3^OZ=zIDFe1_g1eL0W-jUt}481q$MU3>`L_jIh zJ4y#Z;l%fS*B)z~we~(^>~+rn{6CyA@`=IV3wfS7?|c5{btMCh`I^Ba56#lvST>1j zbtFWhw##LQI(OM$ zYvj;OE0(wpdQ+?&fHDn7>9z4gvx#|W-AWRO6AJrEBp!f_5KxMSqTmroG{ZA;IH=7* z{Ee$^e{sp+=4GjBJ8gzUrd73!zbm-Ak7zEfghVT6@hn772BHTi3m8dJ#odcCS$UyZw}?3Afh}#KUurd9&&thS z*Ir$c z8ey09Yx}9)n$V7<{29WA0N#d=L|}hhfR`_qt-rw~yOJCLDMhG1)G9MXgocU&S+)5_ z(#9}b%Hp9f;-w(X2}!3>#?dR9uNG=Q!AhRZf9R%lmp619P~~gX`Vz- zavoYL2OYagES_IadnjXql=QCz>S`Z^lf2*45oZkHKUy7b zWAPCVfN&%n3jcu$$la#TFPl4z9ObH$#u1LP5EYcL)_y z_klr4HcKWp8gM7iN37VCj-f&=c@l1^+QNStBKH&T>TZ{tLbqILf>o(xVI%gda)*(v z^4PwRW8__b`B)kAo?zdepu0XEEj^JlJ<&gVVwig46nYcx_9prErlj|#we;fDOPN1= zF-(2&x?R}=8o?4!;=6rUYbhH_`s!65l`H5swl!4=>cY@qZKs>H3c9%c+c<+e&4RkB zyLd6+yB{KTm~45kxewGQ3~;_37|>PwnE>Fa8TSc-M|IWaj0PEq*;&)02Z!yU6s{0) z4R$q*+5FG+*dxFM#x7d?e8Wkd0y(fM2!296ti%b-mg0${hC9QDuOz5^`S9ujiU)WA z6eJ@cJ;TnH^==zTK-6+%SD9f+WR5sXsi7`%#G4AJMycuKs z@5TgY$Ao{4A(%gkDSni&_$c-KqfEv}xpyD$|A#!C_#abQ#Q%`W`uA`h#QzW1(cu1{ zP-)#Qh{zS*=w}FlH;9TIzp~K!`2)nHuBYmK@W@?hwDJB#o|W4@Zbg_Vs>2kTjO(v zJ5HXS={5wSsl}zTQVQ4MQ8KHAq2ah;CI<(2=5#4W6*tU`WM{$wyh2&%_?~fHW)rOF~X@o%U_;L-q&A(((z1t+Iyjv7)rb zWB#e~RstRRiUc!WXfUxa|MpueN}q5%Duh6p(NJ3UO3jp<@gu%To2^H;ro-Eo>X&J0 zoOzd$N}P3B)Se>mV;L3P8s506ypy+`7Z64T=cx<^f z008#5DGp(~mz}U#fzakPe!veM_yk$vIVpQ8(#88G_pxVnrf)Ar0OwD1Ki{NN9O0hGk4E8VMlKXNy_xE~LIh}Q)_sJEZ^GXJF zT5*rTgdbrywGA1OV8WQYG!{Sdb%U1xXKGa;fvSd~Ju2# za_iC2R15!n>HM%k-9|lqmPUeN#?N}jM}kR;^&nMOq{>yt;4W4MO^Q-UQPd>+m{^?ot+J zGjpYWPo7TFYS}?&DP9 z=8f!PiLSCf#T!z5pPI|!3;iz*ER65abe9q6=UYm?_M<)SuDpnXcJY_op6r{bYkDer z|H^Cl*vUj|?b~v1$dd8P4~8uS+7%r=dG{zjMZY6AaSl@4o~0_8Y7(uha`zFmUgG}T zYb6-f1(ZCj2>d+geOzreCTN$+^<^~exTcPc$HBDU`~&@ZZCO;AldaAjznPl427V!D z>AdOLvtwNN+gVVvNqpf;xbcjHb7gw*UA?0^T==`(B4rv{rghRZ6-DxtVYG7F`=r@x zgTs^X(-0vH-ss=3>N(jzckFDUIs5c`PMrWQl{G1_ru6|{$6ElIk)kw#<9UBC$=%|e ze=KqoNCh3>@_tgEaZZdr^cL8YB&gs`NkSOhrOYzdiy3L7bO7!tN9Oos0Jp>JG+@>k zBAU&5%1dKxh?Y|}w{Z$h{U_e28wvV0ZKvv@!m1%2E$qz4i9IjG++t#Vxw*u>48CP| z$G$1$;jy*qHOh}obWC_C{3!L2Mb}vJN6LQ!ctuyIuj#JIP5&739IDPd8CX-og}>3{ zH5fv@^*@K1PqcVS*O|x~M`gT)b9wYOwC~6bnq7?t0$uHy*`C6v8bS*-^fqzf@9{$Y zKZlvkXP+vgYfEkQw#=t-;qRf^a*x3+%k#5I?D13h-=&)Ha3oLCe~G6L_;*O2LI0ZM znetzdJjwrOl4rZa|80`z|LJ)4(H54Hlo5^Nb~Vkkzhu4fqU;$VK$>uGI1{H;AQ-R5 z&1#B&o}C`(yc2;2<5Epjo%hgqwCf+A)6?S`f%)x>J3OXP=Uz?_=xXzrRq+?`#vo!e!;TAXLNO8&Cx^J5T59*V| zfWr5*TgH_suu5oLmsCH^+gB3vn$bfh5i~W~297&*hWB;)Kr_Kx3H3Q>fp3ip7Dbxi zWo|0va`FaOOI~h_ql-@L7}lmaYQX3Fd-W`SP0&w9HvoL(x+a1pJ)!1fpC zsxI~3re!a6GEF{tlV8ws5=OUhfT zy`hw^eSO*Rm-{7K$1@YyjGoU=D(Tc3a@2{P_)nrwY7Xzl>8F18B+6z;@}RbLeE`uz%`6gy3CPu~ZQft79@gSu~ zH(xB-OVFliFnOqkz66`cXQy6mLo2%^nb9Sy>g;Yu^3!J2m2W5?gbMWEwUMni>3>SB z2i}xRm%rZG=tVr3cHENkI-Rh>mw*f$wN-HKk9f9`m}CD3xQfRJCaXG2@xg@XCiJGV z);K+N881e-cr^WSO^)^~0OUR)&QI6zI=}4Z=o@zI$&@JDpm=9rw zZ_vWeg1>B@MSc5#U% zS&3P<_JjqmBTVa7l5T&K0QK9aCc${qcZ`n^GlQQDk6PH-13f0Sddmodks9|bjFt5? z9V-*HKM)Cyf;;4nt3vonErc*{$#K`BL!ny_uc-O`ZUp=((FfsJXr;fD9-CR9+zs3o z7(ssYv!^@RGTw;K&o)35^l0Rr5Bzu?6LmV;JK`y;enW2;>#=&}Ztg1lJc1`TSL1G6 z$rLC$2y3e!A1r@X-#_~e*9gp$Rd{ym%o_k zSV+x0O+inGaQSGORZ9x;Z)Fr0ApSG*!1G7sf$4wad7A0}=jZAFYnGRbB+Cb@BRR=0 zoNqK8Z6%0Ebqu|ex7wk57r|OV_frvfo|aeJ?ft2Iw7cZ-^t}b{JZ-;G(vCY%8~!@~ zfwR1*g6zm~=jon!zZKr~`2cZIPx3%&6V0(eCQZ$ZAf{*ZuwX`S+?Eq@kS5OZViJdy zsuzh#hXriNG)xE_aM8qxC;ivI22H?Bz>Ab%I7*I5>EWGw!B| zeIBpAB`zEsZQY9t2VY!&hzkdMaR%7r6Xhp6)M@1gUv1*EwSiXh^niYG!m)6tp^deN zPi^ehkk2pd3m^KmJ|JKdr@ytH6(cM)0pjL`kL1MKoH47UIBfEvb~=9Ofd#_DRtpNb zX-%{D=;zl{in`=Xi^2l?KqY(g_Qig0kHaTG%n=b>;{kFUi0|-sfP**@%9c~=~h^8>8`p|MX;VANs3l=A=uvNEJ zVK7sEiY909b^SmHz2}N(gFcu?5HRA@jPUb)lC8`4^x`xKLWr#^h=5pt)UAj08dFtk zk7fE^pN87iGF3czg%5b__Ym%F+@^l}wfxoF;#gr;0Q7+~K=+`BHQ9GRMDcR_P@iyJ zI~sJ|7Oqaig@*|sAiQUxLL@gpS~aBm=IrpZf*RQ}VB{hc3`JlokMK>}$&gc5kfrT; zdO17wx(=+L>j+#(kl2~0S6n>^$Q?1)NrGxn%8I`(9{tetyP+ttz)lLsPSB74avp$H zVCz387hK$0bu#^RJfHR68Q7rwp2~JDv84R`dTG6d^!EGVq0^}==ke#?dg#WRw=yV7 zmA5k}kUqHVNH2&|At&?aF}u)>-D!vnh2o{`N7HN2;~z}Jzs}C^ltx!wG@73hJoUNy zY-#+eSRfav(d)>wZIXHU8J^g|UL+}r8PK7^6TrX;gLqw?W;-?wyD-+J2dFUwAC!?_ znFXJSy+(Jh(|xE43#X(b?F4RlhLJk&22HM`K9Sl;K%=+sYjeEjF*_x4^lA%2kS>a~ ztckuJ)OF%?oSJf)Bw{%OhpI$oi-s0fa8;@2cu2)#J*Ru$^G4 z?JU8_@iyTXdr=e69C(+RSgJC@-+J8Y%A{tQlmkUHI-Q`Nd_g&mVLzre9$ii_idI%7 zxgIHdKbd8o-wg`@PvvN-A-%n3q+^$`Acb6B5rgJJ=6R7(oSTj`7ILFBj+zAP2e&2) z&@JD2l`*h_P`Vvz5Iq)?hc|(_g)IQJI0j*2u!5zvS{8EE)GeHWA}<-l~|lQOv=NXEgNcoD?Y&(h6XK9_1~P0GhK}25$WNBy5FjP#$=WYuj%zeEoi-I z+eNZv?(*O5JHWif*k0T49C9#ONTagXt$`xLdk4Yk(7{3uYKP%_6V4d~Xih>oc&GtR7)DBq|}F~WClC>DTg=o98e z4jqk0A)_|A1I<;l89(J~U3S{*$L`@@M;z(yCKQ`>+Y77o)nu8HIhZ6DlM2HY6Pm#z zW^0>7#ZUlTRYNtXGL#fT2=O@{wSsN9z*H9qhj$4af! zLq?3j!gq87RF11dVzzZD9dBca1D*;7@!OfczJV4_uw(V4A5&$hB2-1vl`D2WxP7ks ztaajn%-tzo4({GtEn>9ID`mnfr*B1BZq~IY(hILYo;JlTJY`rrR~2*L2@x%~leoS{ z(MM~ton{(M<9Ck+JP+=8H~4~~=k=1lspSDb-Me!CH&6gBUH+*IvNL#xKmrCiBc5oT zIuasGp{p+ogZbiPEG|iJ!E>w*_aNyF!v0?iQLB5CAD&)C28I-XICtae&pLLwC0Z7a zszzbN-=?M&DjWB-L|Svlf#vA?%_L9!JB8-vB1kBgzK5Z^FeH0XkEFgnJe6rLCUY}- zzSUfx3gByH`a#)I{$&iMy@oZ+ZJ6!be6JGw2AbWH>SrF7$BL2QuOev;6hcKSWcqAg z6fsGz)$w!UHs;!~KDD%#ien7a$e{y*lNmXGStP0A`Ukws5I=}IqraybLFN<9)ieGx z3^7aKGsROs@u6)Lr-W5Ux@#m25elHrn2_21xq%Em(?4_iX25WASB&w|Sh{dmIF&1a zcR2bgvs}`G@Nz>wK$6-zc!=`eQZehpfTYjj3Qm>oMrazhy6WD#IlVckxK&{ z{Tw>2?wk2=wzR%Y=*aU{MxAk`+=QY0vMFdOo~XgTw*T8$HHX{u-S4)V8S4?gkKVx^ z^8lYWE_5%OA@OflIIT6+jAt!=78*T%iJd2UV`1^BC}*^m`Rn_I$9?C5uF2O*2J^Pw zCnSD8sH{g^$lJjx|^ zp}F4W*s?fx*eTsg?Q^Z`G*ix=HRYry@ZQ!|x+;sC_5QyLN%KjKl85V!YNkfMPNpVU;3jr~l4on6Q6|#W|EQIp; ztb@91Z$3BEw>5TPii}7f}f9lINen_4I|nKql0eVHlA`{6^*7hj7~HN+cA)wwAJ)nHW)f3amrI! zw0q^||0)6VibNgpt08(b)HI5a6yhbI6&gZN#3x*@%@P~aX?EkayXLH?=M|19{59Ee z&sZ!J)HZeFmqcVF+{n2uT3b5q7v?EXSX?l>fdscfxqnPB5D%A)k4#aTqxF+X4G)|L zX>Y^_0SOnp37ogd1gzrKy%LI4o|J?}G5@&3mKy1y5r2kA#J5khZc7kpOlunQaXb`roFzyhHpFJb3d=N zHw8Bmh|(PS(#ke)w$RrC@o8Rs+CEy|&$Y;27rnmM_Bw3ibwqE1KYoF17%ep2tGKC}~__ubixbqRVVI z|9d11Rv`xp+0`;bbdTkONsK;1CBuoXhUZ+*&KZC>YSCUpY8yUCAyNCHBNm?BSd`np zD7Md6vFO8jsayr#ZnqTw$?_H8%4$1+yT@|m1@!tpQyMywTbk)AVB1G@?9dP&wnvvLf#?x45$F zwPlh^1_i|BV!RaH+U4d}@OYb>-DJFxtiP^dx~b_kXXUx5SNvNLRSZ!(Z zV+Y1ieSA)+7>q<~npj8Y{l@+G@bLE+weO*!rbZ9=0u1gaRpI~eEwJh4EAhV z7U$byLgh1!Xy&6ZoIW4uec2fYJ}?-(WL3ys`b1=;BTAEgNrIo=wpi5`>W=>9BX$)a z-b#B{>)I|e!z|Z=6-u$kxoy61f)eg9w<9~$BAGR2J{%|8-@<};MtEV^x1sRT9(bpr z6SMJ5o7T?&HaG`fZBq`8>pAf5K_u&$*+XL#L<$>YW!~*U`kqn{`oq8Y{?+cIJCR9+ zAVxSu%vHTCyl0Y5l*6@^m#4?T$_)NQ!`fOMOB?GC|Bwg|@eXf`(`9?MV!?J;s$q0T zMXodq1%}QGG0k`0B<;>3Wz7y!-tXEBP74O3Bhaalc2XNSt^sJK%DzIM;_M2;XSPxczi43#T9kwGDwkH|h z9_$`{V=NiLcDvO=fz9!pc;O3?a5tC<3sxC%!EO&NfrgVl$84@O%9-6hz1yAwM8o0G z2U9~}Jtn+&Ndy+H^*&H;CgPnYB4G_T1H!&5dT<)W8oII$CKR3;Ve+iP7~B+E+!ltE<|9(ikPzK4k9332g4Pg; z+KnGIh2Tn$RK=q7?R3D4yH7ehcub#<-zHgfkh5>+EO}a-2KJ2$#I@dUx5Z{m4f*<84^NjibYkH?S$DU#1Sqf>{5_ zut%&uv!7m-2|ThTP9P)38!=O+!G+GIUJJd8U>?4c|)1#`gQ20M}r%V~VrmLbGvnGrVFml~HwYwdqr* z>BkmCPyq0B8>Z$!Tt(q+zMI>go!fecrxH1X4AT-s z12KBcvZ@yI`ol!s@(YYH1Q+D1%~@ zGw)jAG%4MMuiVdEFxFpXb~D@yu~y>GK3(cx0M;JQEj-X)dzxwNVfo<3)GByk?Xl9D zzwqMiqkN6y*lWaXpse-#L+epWORt6$JcSGQ#j_<1Hc%I9A}s5v!hJSF3V!_g84x=T zV(mB!vLvOIloy-CRK@VK*wSdjgl`np7fZFyTTuTM(+Az2cekZra=dy_@on<=PReiWB=~9knp#qIo6f( zvUd09?Kuw4yqkh7-$q%!U-(&O^SEA`EBJsv?ahC)Vp+NF)Z< zXY}sX7ki?wSj2I9;P0ROQA$C~`{&Mkh_45v6*pFm4z6iJiQgOu-`LWsI8+)w1hF2D za^tCB77Z!3ja`l)QAgwy5x>q3&oMx5_5tJ2fz?;$Yp>MI@8Q2{p=j?qc4Ikqp*XRA zzvupb|J%G?7!-7mV&~@j%abw66N-wKb=8|!z9;juL#dIc8rSwiUY(9)o!Z>1cs9K~ z0q^i$B)w*E`n~)l#f3TT`yuPfkDguc_WU@o{$}2b9|a;a&tL7kzrp-)6(m5MC0_2= z+&k}yJ!@p$dXGJOb4Tco1}OKY^MpRi(L^WEY)Y$h5Ic-xW96F z^-7kemd}ir+Z^uNZ}$ch6&ol#p{Bd+-8@Rjxr8Ve%;Wms`fS3Wf3dYl|AwUa^VXU4 zA8wuhO${S8PQyt2mxgh0czEm!&Mp4`G>rekE&d-GMmj0f-!zPWAUv1)|4eb69&G)Y z;sOYG=Y3Yla7YSViVJlc5X9X&e@O>$Zt=f{w>Tulvplu zm_VpymZG2&q5s6znp_XX4R6=@dY9w-xD1vO2UJoDO zwv!PVNf_+bp3sG}pqM#cq|<&cZ%%h7{Ad2Qo54NmvHgCD^TPp< z*#u6*NV)yT@b+W}pv8YwqsRhX6ikw3-Fc$2s{Q%!qtWHT<4T)5%w z3zF8FX{BdC)5%cZWTfW&`EFkN2oi$DL8$izUdE{$jA)4b`aQh;b(7gQe(y-K8Ljzk z=AH}kGRl2O0a`-^eGet(EoF(I5(v4re+o%(fu3y&Soss}8xB{FL3TC8s7F8tM>rPO zc^sPqCsKX4f^J!E{=-{NZX)v-7#L-UFXH)uG}AtSDFH*sCzB6jaSgo1pGCA1q5>;N z_zD>4Vx{5iLugfr?4i&YC_8My`7Lf?)Z@72 z#xCv}zb25nKt>D<2h5>`iM*uwYQovucTl<=G;~z~wDkUwiBs7Ovk6EG)p=b)^ddZ$ zJ7RQD^v2VHPUh-_?iasCEs16T-Q2+F>na;B3D7wlT68_haHMv??gFQaQEw8{{G}OR z!UA{Dc<;@(ZGJ)}Wm_>==S7ZLZvb2}v%V7fN94J}4hJ8_mhJzL={!q26hGKtHr zZrmigK@E`t6Gd7cUk)-)2mWWa7Df@}(0~MnsIcYFXb)|vOIe#)v`53u53}h93)Q8) ziL8ucbKqor(TBXZGCo!3vI~q1cn6PVD9<|!J}T0+)&7_!+y(Y`&46>;8fJJ^7c72R z<#I?+!)WUiCc%qu)&`C1P(Lkdb13G@B>sdNbh~17S+-eTUL02HU~F=CFwpdUadD-U zRjD;|;_c3bk(x}qvc&Z~;Z0Mq`Zj3!vtM+U%ziwLtCEI3k5q|Mk0%ZB>nb%0&Yj|tPf%8m}(Qpasr$K2OJcw7G!X6Rr0sZX2(EdWsbA z{*l==!mSH)uJZJ?8R8$*GJNHjCHYh=RB-nJs(152t7R z_>95&r|!6*K=blhF1&< z50k#6YQ(PUTaW5MU|2}$`RZv0L)QC!F`h5>i%P?5!-kt;iMUHx6~U>&U?~bPJH5Rm z2tAhgB90zk84R;E*ONYdlBOW!AVygN&BLX*T-pMSaVaiN20v=lAQ#O?Zym`Pm3`;u zxs;^YpceAF${&6k_aQ~*%~H<>srxXN56^jnhG=n|3iVC9{`CL|23cDsl!Ip-1MXTm zuCB%dQJf-Y6p1y%+M}GAg2n)9yOS{9bSR|s_8h-k;k!K?!*g0?;9@8y0piRKT=}W` zG=u*Q#RYqfn6Kn=+!8y%h3iGbn7LpPmg272W17#Qi_DWcuRV#W$@~?Ty+AU0`qBIE zkaFA+&R#Z^Ggp%OXGBCodSg9?{(-G^6^Ep_(KMF)Cz8V8RnvF@4oPw6*QVKU(?osi z;eQO(al|bEmraA={n_4-|3iBd^6wD0qNs<4hX%$zj(?h%3>g`jnwg#Znhsf9TAWW@ zUf+PMZtr~S+T8jczPER9a{A-!Jm~o6B>*9oSaHFjLqBa6UB{tAl^`$<73xAn2F^15 zK`SApDyRF^{};q9&x6f>a!UGuvm2`ZcN4d8L-ncZW);joTc-c>_6C3f!E3w}<} zM~CsJ^`^@T=H{o%4ww2un-i@bPMaHNB1fB-WaE$u5R&er^D)8v4$c`}>>mmX%ke&d zO7njc%DectO0!G*hA3-RwW-USjvb6bTM3#!Mz_)G#4B`hZ^cmr10~zlyj&QdX1vJ= z4fL3l2nnVL2ViBUgXM1(EhgbO0_%SxlsE5o34H%!sP3WybN${rvE2XtJwTZLkpN8R z^t-)LNP15!9ZAwou95ypg~~Lt?-Ib5AS&-vfnp=jj|loWR9=FeYOSN4LHMyAUFhPKl|vAZ{!KmO zrfk~!o=#!!y$BR(4t;kht5a;1uDU!&YEPcJ5F5sr92etV)9jYBEYos*f~MZ?=~ntp zDBmW`2R#oT%y;wx9XJjRamKS+x-~LgJ7ayde zr?iH9$N(jNd+iM~I3W*xo1)og?KLL2_nd)0+!YNqpKz0fApoK#KTY-1{p7w_WPGMA znLiB}$mZw}jSXXZ$c;{&1CRh*g}nb}wJenWqF=0+B9qh;_I64eSSxLh6DHn&nXDVi_v=%o^;Z^jCY+ zHyZ7Ih-+_(G&QvUE~Jh_haSGV>a*c*#s3kK1$iS`yCLJ6_7NN#P@u>>a>I+k2>h$2 zP+gJ#R=ga55k9&m|J(uX%x?_btSvTp6vc1yOMJZSSfj}D)39;7IsK^~mWr3N#CJ?C z2480EwZkWhyG!1zAnHdEWPUd0bP!10s-h4RqoWQmjH-#7aeD?D1`(IsM~Wr zGBoj8Nve5>T}iI+BKq$z9~~4?SU3W~UnFUc8wCDdllq;G-rOi?HzwXJlpN&JrFR`NUYmA8o_ORHCjwaXUKa3~nM&hNz2(i8xcw{!bwReg31K!+Rh3q0Z) zu*%5>KIoSSaecCKM~4$R34CLpH4hLdUizmB^!?rGYRPx88{1pB3iQfIB^N}e(2phH zAth-emTn=&RUpB=4r)`Uy~|E|+tR%*CXemCZuq~bK!|QZTm_m;hc-!VMYs>0ejBKM zr*x_7GNRJ2^JH|FCF*cY*O3^v=_6g{Jbugc(a|R}2vm9E?r%p1fzs~^go9VV;P-|@ z@zgWRwgDD;xOBYpDLI>Z>Ra; zByFe5876bsl@vqr#+5ja7e%Y-5zc=PudeJCKHsJ#L9PJQqquZ50gEsI0__SHhL4f5 z*X{Q3xX>#;;1%Jm5R$=Fpf*b7Uq@5j$9Bihscs7YPDkS^P@Wm`;>Y^ce6KUt^5Iq- z?0eYe=YGWxuV1@MUt2F+=7#^2WDquR6;rxujL6|CkR2^V>>n%80EXcAnw0l$037GB z)zJK7O^TPa>-bhEJ09MvAfY~5QrrRCUKIeKsJJ7Co_3Zq*bNF#T4FrPcdU$ip?PKt zlBHOGZuY$}<`xjnk)fuWjtRdi#!7oLx6X>`{+|^{vr8;(FVapohjFr}>kq4OWDe8s z3iM?!+H)X><>aplM4AgH)ap@T+>Z&>&1I+S?NOK8kBy1U<>b-o)o#@Qfvc813dd#i zoC)pW4by2n*NWJQL){Vz(3*b|O8Dny|}_x6YSH(B+4grHWdZVk2`+ z@ZY7Qdk1Xf4pK)V^Cb$j1|7@~(*AU03_5!syq+g5km=SMa!Wf%Uk@~a|1DH&_GkZ( zg^{K%0N%waKg|C?(N$)Ht{)iaO%tNx9{T8 z^2+Mk`o`u~JmlN=Z`=E|;G^TCgILIq_LGZC@G03ePvtxu4I<-bFGSF)1ZK>CaMY~I z?u>v?+2IUD5Bwui6#Q|-UF(ua7DERkYfN5$(r5CXbiR+dgXT;wn=@fS+v5>HkgKEu0Lnnw}eMu6Ge^z~8vgYiW2q{Gp2U+E7d5 zLAUW6oj3Z5A~8XqsvW;x9LupoX4)fIDJIU@c9(HWsubf2Szu~@g-v)BE>!yu*PH+4 z+c(Q+`zh}2OZS*p69oT#y}1&q87jj2*Y)P#zkUBu2Ur*N+y*n!+Ox)jcQtZx#NF2G zxf&NjpL2s5k9bxR)RaEQCYn7xKX~5FMq%FGb;VGmaib? z$y_5U)BAXXC&-4NYwd;cMG+<=_&Cfin~1!xFfCe%F)z+l8~678hDU4`N8&WnUhupB zr??7@<;;f&BQ}e(lERD8M9>kwlA5%$Vs!PGTyaVL1)XDgQ#ikB1;_-pT|NsCg~kjZq30fvU z$&C?uN1%$ed2zmY{-|M{v4j5>CZ} zAT>sIoktJ*9}S)lE{lFx_16{dS*JpkfyDeWs)+C<9w9$p=B0n{bp^w)Ei~@~D{i{G zq>I+8G9p}ueb0SA;9a?E;6?-1G^kJ&VZNB}a(mBlWF?v9zb8K~X7QvZX*lXpUHr+K zPy>5JWO>ubEkz{YGF&PX@OXGzN?ZJ7vT_a+qVG&VkJ$pX&&+8Ub`Us|3S}Hf3A&@1 zUq)8%ET%CvtI|j}yY-I{>n-d_oRGtJ8eTP5Ppm{|{<<9DWhHw$MhLI;QU6xjy3?A! zX8UyKw#ZA+q_L-k$JF-LmJ{gN(v6zcTBYvZez&sM$v15#8VVQ6>>(wrr!`UyZH>cD z6#Yzr^lNd=k|i?BJ{q-Y#-dZDB%oeT+R=*xS^phUSJ`%e^krAw&+T%q5n_}-|1${? z9ODVKn@HT3Xok++u)TAgolHLTO%k<%)vym10``<>U>kJ0)MEM8$|H>Ra|&LkLK7^2 zM6bw1Y2x!D@g{nd2p3@P`~wRI$2nE6_2zx<4y2xv!hw&e!@iYGuj40Zx@j_9kp~

    52tLJ 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 PvTZ{x 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

    n&^ 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 diff --git a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example3.gif b/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example3.gif deleted file mode 100644 index 78732585f35c867314c91d291c0a9976f981e6b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180802 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≻QW67mX@8~ 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%0D3%OEt)m@ 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 E0&R41YybcN diff --git a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example3.gifraw=true b/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example3.gifraw=true deleted file mode 100644 index 78732585f35c867314c91d291c0a9976f981e6b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180802 zcmWiec{G&YAIG0(o*BkI#$c=s+1IhJX~@1cc0$IIC`z`Fn6a-J`<}6{X>5hW*te3D zEUBcDw4uJD&9C2o_uO;OJ@?%0yg#q^+swjLTgRInZVB!K06#xJmX8n1C&0%ipsAzv z_U&5%fq!kZw2UGe&HLuf8(uW8kdO!#%Zujb6yQY*@(S@`u^22bhF1`cMq_x`T3cHM zc|Z;xw1T|&r3f^d6U~c8heh*XcwsMJzEo4jvaz#;grh?vF=1ih>=+I`-4g;l?C+jV zX6NJ$_1|l1YLJpvaCLPJ3_CqLH)mmCX=$Q(B{m%+2uMiEMT7;DK*0|SljRM)6)d1^TJ@;4@@S;u=zjNZ&y8yhM@L5h z0Eiv2*_t>yoH8Vus4C$h@c&(Zai>BrhlHH-!(9yw55S#^IUne+OzEY}|sb?wL1T50@}x;)+D#bR(KJ^*XcSvQ?8}6ga!ztiZ1P9Q>*^siLwA6Qz3s*9-P^B*$Pk;Tbuaz(s7>oO%|>h}Pc;tt~!+n;94+31ajW@lrUR7yOrJl9#SOnTK3j!WK@ zO}m-0eP!xq>K6*KDs9iu{8&0i%>gcoyG6S?leaxwEK8uQ7njYl+FN}?WbdFlM+~M@ zV|DP_Y?1YZYcg;IF(c^=PN^NjNP)%PE37J+d+BMEV_;|NXk3AvAL-OpOKnyNs&AzWA(AhZ;B zZnxYThXW75?^PRQ9F$G_kzTPmf!1TPO=S4&7 zm;O(8u6<;c)&7YE-rANAvwYcX{W|!2|Jr%3-EEz`v;UoqxjlrGZrd4Qk6(lsdz{vn z`+_!}?;MR|&$sPPD4!4xX-D&Ws7y)}2klM&j1j&PAnu-iJ5Xj);oAfC)Rs<$g2Si1 zK#d=tzC9w`i&mS`dHySO-dy_D_k}c$>x%=5$Jo`LIJyM?x9F*JU*bNr)dSFvkLqhY z^D7SCUr`U_C~I}QenJtFPU~hY2P_5ucyYefMj2`-TRmT>cyJxR6vcn(;5Fgn2?nQq zi)X6lgYtP`_RFuYjOXmTK1@XXC&uedGwnyiT3>&E3*A;EB!oX=`}5!O`P=p1pSC*Q z-(OEvHaH@!x#ukWc++_M?@v;p@)gUiF6E=&-+A5{e3KrpY7hLm^!4Z{q~GiJ&qgH} zY=?|g$N=-j8HEb-o>U7OTw11pnXjJm@*}?=aomvEFF66n?rp1WZq(j%EAl&i{Gv6(C!}CGhB`<#TfCb}xCnO!8DVBt2^7 z#Rbh^Ad+C3F0JzBwsGhH`-kyVy8$0QZj=v5lCT^GnMNxcFucOdXMJhl+;tc=CuqyF|$AE8mJx`cN9mbagqHm zNKq4oSknlz?lUaAKKI(Tl)#FQqC_ki$(QBez*Is;uo8#~gE&Zd-5btXI$_SV4zgD= z;FqM)CpzaNAsXXk^2nIFCb_s>C7YX>FfJGA5bgf-jXAN945w1-mEO_JfkX81mDC%= z4?g0rwjTb(eNDe+=?729(95c^iuM|n*1pnt3c@CUyeH<2PK5!fOavJ75%z+$z8n9= zZO1(4H8B?Vp9{tNmde~Ra1L5tF@6tToKfc^Yon9byj|a77fbfsx&v@+f4Lp6(V}q8 zqV87(H*h;a9?L}^?I#yBX=&7|xu_N*D=^uzC!{Q<-jU~YNe~NmTEVax9dOgQ?1y*T zUg!maeA%sbZTE@*~3qvx#YB+ShD&00##!eY>XAlzwlKdIRH1SE? zvC2<6#}q}CLejwX4HjkE2=+!OQ)~|)9SgEKk|@xZRflqkmEo8xR}euPJxpwU(}j}! z1@*D75EWNyHIgL(JQHRKge zyvSouWElC=XE&P0;Ny^TFLTMg-EfEu?%kLz z8k$6?E(*nK4Fl|C04{Ristip;4OzY1y%nSX9x+6o;BMdXQW4%T&(RK$S%*s@K{kO9 zhSpVdXdIWwx}UAe@S*3WnjaOVECGfKB6A3Vkv{tIVF08ul9b;@KN_6*G3blmOZ2V0 zh%sZC@4NIPN&07ctJE-S93kpxWHb}5KGo=deuTna!V0qOe7~-Zzgq1;eqU=q9*lVT z-@Qy{fRjX7XS;lWd5YV;hhUvcr$;1y(_d02z}aK26EihTE{@L*zt77Cnwb&MmY(c8K(=$eLXW%OZ%y0t$ZVJGS zXb6J|^oSIX7O&ExS-ht->^XmkTD9QzV*HQ0l;dIuk9D%rIw->pVhNDvI&>1n^uW|5 zKqAbP1lN?-Jr;0ueK|E+6*TKP?xous_N|BVq&AYtm5gkHn<3#S8ItpUIAg+De>mPy zD_oF%U8W?0kVc8Tdp*7}+JPKrj)Pkv;nq9w&Z3wAt@CgqoDc#xCS9Hc!#%JGhgxpG zeo(%>k1^bd7a+v-7=t!D2qRjOWk{Nz4BQ9>fmemqonZR3w13*Q+54DbxC8%Gsvt7x z=hZXqV)5VKOGIKr4#m=v(%{TZNd#I_mbMEI5>qOZ^i50q5&|gqhiUFy6ii7qtk%TP zuI2g2NdZv&DVP!X*wnBt8j>WzojeYebmb4qI6asEzGF{#$zbJ-G ziAQjE8eH?L$xt4`r#J3%qmk8r8A{xSyZo1`1L6(I@!30w4zQ0LWIyk|*CE?zbE^f{v>Kg5tnsa;#Qg?yeqR`>aa049N29+pf zXRFv@rXG;UJr!>l6(Ov}V}Q-{yqe5#PJ+{^kOjh=Ol5VW=DP--Mn;@4^LH4{(bGf_Ti=oM;c_j?iFU96FZf=J0=u^Ej$X4 zP?&-vOAy`!CT{@Yh>FXaI>p(IrkaQ4yQXvf2b8$x8ug~%Tc%W{75%4mlwtQh=*nS! zcwliq<+mu;}#Pr?;K4TyOf-{CFm%{^{q}a_r%j(b1 z`@2hZs6F}fjTeS!SJuq;F$r3@lT9_co+6uJ-(m$Zp=_xXuj|9GpnH>>IA9 zMyZVGKGlH)_qU>d?4vQwVG@%CB8~h-eilp&@YD`u2}DR!Z*l;NC#oycc$N5?a+y=} z%>;P7j8nsxqJ@hECFyXEfUv(#Xvp>76G;7QV(gVqldX2(l?+qAdIJRV|Jy3T_Lbn4 zQ_q&z@3CBb|KsKl@v6Ue1$I#Ydb@BZ3jIbPTq`=aVXS1T`KU<35cF<>J2HUda#c@i zQzX2r_|BQ?NdQB5+j`erQ5@~6Yp}dn{BP%*zjdr6=V1hViZ=u7xC3BGz$pgeTCt}5W|oi)sSUQ7!s&g)J4+*Nc(BE zKcvd~qKLe>y8Tl@r%yrZ>%eQq1s6)R6HugT@@NCnh)awRiK}f-&*;}u zstymUf3wuf?^Xq@)LoxUhw$W+ER?Y0w~nij*^%`6m{0`*w9}8q;=p9UNemyRp#>=v z{L?svQjH}&`_<)9uvSUlH*&?Mvb#f#SKINOz0L&$C4V=0)pK+|e3-H(m?%P*n6o%Z}|cra=Jul6lUIqr;$94e)G#nR!jv6_Ap+#UKFf zq~ZCqRD>dmBDOnj<#zY%=A=euNmO!|?NaT@@8U7WG(2@Ed~)co6~YP+6`Fto>#&lF zX->B~*@m#G=_>2CGb{>I-X1+f!vuqM$ax*?mjpZ|ZtIvp@O4=N$n&5 z4~xTYctnVUQ*ZfX{xbaZ@1cTN0G%wCkX4cNV7z9xS4A)ASQu}(Lr1YYRL06vc25vf z0b`{G!|MSVGIR_V%SP-+(_!%cz;Vf7J`^N`6XhYn(6<2meEA(ckYPrYK|yYh%_P@h z%A|RO)4V*n+b;zaTX$1E@kGV5Q&;RhD?R(EmGZNX4_1~sppW-Y;}J$=IOAFPQx=5n z`8KR#m^>AJ5(l@&FY-}g_nCW|_Yf942rCBM?p9jT5=@9}`uj&b(`I~}OIc$*gA|lQ zjzyz_Ci2u%1@MdJWMDAQos$4qQ{kQrxvIOs=ta;$anV79KPKhq_9S~(_G%&D9>xDU zIR1q3+w#0C2|m~N@7h2d%t0kIaJPge+G_pKsasDYaJdD#1FZy z{wwKqEN6zUKUxv+{w+1K>h9-OSDX4kB9YJD*_ft5TrF8!N>+rQL_vo7bUbnOpb{<* zz}&ngbnY@>46xujteSmv>gjW%r5C)^3(WY31~fQ+9So~Cx}8;ZK>|v;y4v^$lBEsQ zXpEc*UiHylJiGjNGtQvo+@Qu%q|{+G#`qWf0W?C zK^yhJS`X}g1Hkq<>u`(>(m3n%0^(c0=x_THEm^@zg$V&*tBMEW1;md-mli>N0h>EU z1G2%OFd>%DXUNtl>&shPMf`_?IhYWgNBh3OE_H{Ka>gkX@Ooc&va{zZEF>U=I8}B?mo=$xtFn)R`A31&7ML0>QkJ2tVk|F@Wl$g?* z(N}EN!afT&Ad}z605%~nU(4Agx~3U~91XgW5vi{5@VnB2GpSu$9XCF2RL(IpTlw!9 zAj@@cKyu0(3{b4c>x6N_e&JL>iFjQ-fc4AAREd z{o>=A%Pd>=9^z{ z^3B7L^8hay)SHLhcLsEcK4@CPfKIDT|_WLp=Gd4Wrf~&EdMe7y!OUrs?#M39T*c#IVeaZzWKTLxAjon6 z-1M#~Xtw{~C%eDlovQ$X3Px)XoM4M8vkYuDW!Vgef)r{d3^MKwy}irU)> z-tP1rNr;CJ#_r}K3Ng}-1sJeqH1T#kYw+uZ|K`{6uI9{e8zw5>ZOSq^J5%$PAf57j z5VsODvp{t^nGk{`+c5U?WeyC{{jt zGBi}z4Rn4mXM@3*h_sz`@XnhXefna)-_QbdB^hiQYS_L|&VB&c1>Y@1;MM$pJ6>=n zJn`>5&wOgCU+nQ&CX&S!5I)WI3XWwjMmaGEESQitHX0Ce-CW10B7Y8)^dqd=dRpvO zppAM}Q8HE>?=WXah@=FLV*{kZ7>T0gQ(Uqo1c*%m$6)vjb!*IXDpCnXY=_u+=d%_Z z04tNK%npTh0Fw%`AB&|iSlRReRt2Ow%7{fc1P3xuBo_eUgNQYTJdC4eG8_MaxVr)y8TJ5H zFtTOEf;V5tCwYyLbJ;|3BgUwUHdF@cWDo@b@+z3hiW`OJQXqq}qg~A(M;Vvu)CIoRdYGsiyBf(H}aq`l{Su=$asFE8ZpI>;uH$Xn`m)QQaJ4_b_Di z3S`WU_Xr7M(cdZJV`|JDO*)Z~W!79bRG|-sPWyaht4H;9lkWrT@`cdT8(T7lt1soI zV3#hDr?^f7*P9dToBzvnGadVHw)5luJ)nEq;HY-5F4s21rt1bWCF%Bl(0d4Fq^&44 zX|Ps?fP~nY6(M$fN{@*N*89xEW&|NY zdI5ILJ!1Ba?fKSF)Yb z@$YbUuLDE=I}3QbTvlLy#t5zH0*V-t09%;^R1#j^b=eYW6GDKP5@fw>aulK6%GoqA z@_aGO21DoDKRYwC}T|9e)u9CD@NWugg|SzziMY~7MX@>~6+ zmdi^eGv%={YbxkeppaX_@zC1)D3mVOl&M*;;hZ*G^YN>jCSK#_4RUOC(h)wmoBQU^ z(ed;I!Fe2rLK0%pfYN2uqbMvvRJY(gjm zz%Xn|2jn60B2=j2Orbl^uo9$%tZGJ;QC%W7t@DP?o+v^S#~2a3Lm#!vA`VZDn5v|d zn^TUewK7X(h33cwdAJ%b0dPoK0>&ztMhG!jLf9|>VHd$S&b`+&kJE&iF=n6?X$+_g^8gRrh12n*@ni*W2HMVM@EAwwr{ znFEQCWA9_cu6->Juk@tB%*5|MD(5sJR;*>YSvi{+{?{>}oP;>L*E=3rS-4z8l7k}m z6i?7=wl@9X;LP4dhxC{=cQoRz+vh_N%Y_ zu=iPJwN03bvg>IDcbUBkI0hy$XRG_1>75sd`;>y1=`oEj*%W)WmUx0lX(?Xc=H2=1 z%dC6n^p^*fDx%|A)xmFsFMrPb-VjZdUQd7R3S;*pkMQ_giixNLUTh?QD+a%lt5(g( zmYpavM2w!waXXzI*pzRPw7ITubK_BaKK!NV4{7?yc@8{a-Q&c2qOstS^v*Xt^ia18 z1CFNhnbv?^0bj)2PZ;xh6?A_&&PrTeINMeh#Eum2J@O%39Jn;>e6N2`@9`N6u^0;L zS%MQHEe%=;U_&J3Ji9PYvPJ|LB7UE5Vd-8+v@$t@2J?yR_>pVE>y1AT`#w#4QFyNt zKap!~0m3n2+%_eGZE@zHAn7f$H{Ou04%EH1Sf2;pn}QoVXF3+u)ll)wnnKZe(xPL! zdJX=mp_dmsHCCyni$)3(pa4hnjqJd;0AcNp2xTvqT1B1pv`TUakv7i zwgV3F0zf=Q@nKQmh#y?~F~T$|NnQr&qUvQ%03@jxvk@OgsK0E1&p@F+0v7S2D@w%9Sa3trD-o4EW&@V%72KjCghu z(<{CtXqlTpg1<{4x0oDd#`|WX4iXr+G;JyV%v6eG4P~_cvZyNu8zy0j7vLt?dl9uB za0{yHR($ z`L8X8Z|CMi%jw@XeGd{iHfXl+WjIL%QSlfMrf2ZZXDFq6bZBQ@u*>9+%#?*B0c0~*R`1v2^FFo^2)_pO+!60WMOm?69$Au+zXPmT0Dk3xK@1q206SkVp}6k)Sq&JgacPUJI+(tY-0Avv*~on<{1OX0T<64m zC-|r{z8($Ul!QCbY~}NXJ()R$spLZxAo!t_+clM=L7tNl($(c}WRiFIj54l)TEKD` z&~U@w5Z~W{wY5s48-QmZW@6$rbcO&x|?}Wa@Uu~2T3HOCJM!9@619_>@ z6{&C)Y6RmT)J4`&qrZCo{iW=QYguuT*$(iYlI4GK9t0z!2} z!v#)+yP|%IH(WJ``{ufP`31SE3cGCkg1YQ|g_bu-4h@|&!w}UM`);nVf7=NNk#UQ8 zmJuJoaexx9OTs+SR23Au8GtFw5S$bP|58wFtO(cf=tWf&7XuuWP_hlry&G6`emUjV z-ORy26hr4)upuz<2|pP0efh*67V1uF^$4D}!40AqKwuGo zWHn_Wwg?dlxn=+bId~t26Jyz!yidmJ)-Lcvx}@W}>+SUxN4KZNYlKS_B?SQvA}G^R z!$Pq1dIB@xX3tisWikZuRG4N$_KJzPjtk6+#`8lON$)|pll|=Id}s#XNUC$#x%RW> z_y#fJ1`bg#3CGjx9N;G$woh=)c1qwod>=O}ek;^}pX|w+5-XK*r;pF)LZKzG!9S*% z+|jAX23?SgxDt(te#4fpOL|yCw+L(8dv=0L&q#ut?IcffMY@*M~FpbA0ls(#DLYAqJL=khavo7}QUYiV2UxqU{f zTc&j~DYGZ0mHs23lV9tSY1TG$Y>AOV@s-O!AKm2l19%9~M!$rp3+%y6#jQ>yVcJQf zz3c;3!@X}H-wueN!#?z0Jgo)n;La@U z>*~EPKdNAXn0-M7(su*N^-~oT4k8ul5~=Wy3!lOp%SpF(H_$! zn(l7@gAopGD?k(l>V-(6b8D_xfWrBHDL9d$P|1ru#Z1+<=z$C0M@N`)ot*o4jfjva zQO|W9DkEf~aO#`DKY}DeM}ZA_z^)y8BHqCR4{h!moTKro*L!A85`I{;ix$+oK2Ij^ zCI=Z7dAdud>DBcOBlLri&EJkp{+WC4`pbi68!r87P&-%rh#H0^hDWXntO~VBc23}9 z!MGBI@hieg_ONaGac~FuWd!cP2;u7(ZJZK-ask#eq~6~Au|WsT8r=Wy0Y3luQYBA-cbA-A`dC-C0uEa&h0Db7wjF0l?%r-#}P zgR%NT)wozECyx*vS_6C4KU07wgevs$1m==p*$UGf3gcuNh9T1z> z1dRt+iGarZgehnQqXM|DI7AXCLDOMs`VAy$+a0&3z2K=u50w1g5z5=U0>4~Ms zs5}8+%8<08X}dUvoqj?P&K|$rSbwLCw@5&Nl;z=rJo$2h1#=3&fWMXJ6I~^HS5hV@#I(^?PVQ{z{d8+zAe9LLg3ZeHl;GNsg}|hVG{ME|g#)W=H@8@NoZF`92OXi%RD!E9b0uyj|_&%`tT^S@Fc) z6Ir1JUYC)(Xt;#tSzT`V%NR~11?lw-u0rs!^N-H`{aE+2nF!yh$NC#D&b6BlE7hS? zoDD(uKioE1ijvl1+U;*lCs^%S*m7{EU4efVCZH4&?a;OgV}16fjNQ5XNZEa$-v34N z{z1J<=OWu1nCBo|kDZ_Wm&vJ@t5JU@V*cC#PehX)7P-`tuf+oc{=PQ^`Av$%z9qH&Zu7c~pUFERwku=A`(Nno07}F29E8`QUZ1(YAhYJRu zhjwP4-2E)+7^siZLWpQ%=V4kQRmX_0Y9dv8d|-RNe`Hb6av8XwVmqt?n%g@qh_UlX zKp*EWobr)Uru?=wE6h&*h-&h;Gj||qwy*)n|Fc>QHw*?~Y(2~gIYySQ4j=$Q0Du)R zF*P%0DTc6cbAvN#r7Zw6b89JBc)OIDgGU>2?3l6?@2#5ju949e%qeU0f0%ZZX~K(O zN;S0cGIHeLf?&lgOb(tmatsX2J(Y}wImSMhyy$WwR%WHS z&5ylQ)&I5<_xCGZuK9+JSp6x#e}EHff&&dV5(v_c!2Y;k_u)y3hWW;_T)AGdi(|}JOiveCK z%UohtWWI_olhp{X?82Q1w|>_b=Q7SOiasdm@G+V96UXaFCQJ4KhK3hjou^B)md4ry zK>wg$y_HRdTFaSguW@_7k%{(mD7<8qL91B~Mk;_#q5!p#g6pH1%tNQ;{zLKvbej*0 zPNa)Ssrscw1Sb3u`M8pgJ0iY@gD?RPR3Qk#X(%TBtr{aHHe{kGlLCVPyY{Jv{(z;? zu2C%Fzt^}NRzBBx2oipvVU^NqjRLVGRBi@%3n$KiDWE|nAXNfQ!Pt{k5Ew!Vn1W#% zk)Xge=5R9rx@~#GqLo%(q0kk=0Ab2g4g}WywXW=FAs8;1N5LS($k{gql)%{Rm`h=$ z1G*kcvVC73DFO7ksXj)?Y$|rGcea3|Nw}{KQ)QE` zWdvLA?Q%v+#@l>hg(bhdslY9OMeHS>D}2F1s4QYRa8d*U)O%-O+V6wDRe39|lOeIB zb%MO)Z(*kvZX$h{$uN}wR${bw7@=lM1BtAx7}_YJrJ;oJ$mTKuBouXj+FKblp0o#p z`01qEqf@%8a25$VPy(Ck1Q1xN=NGV5k^Y?tOPZ&R(nN_rd;}5mHZZ>-pLV$;N47+e zy+4+0#D40S=gUqeCDOTcM@uD&I1BsSFevlXZkl|!HhvAkm^RCza6AdW{@L95`=^$+dL!Hrlvb zcjh+-@&0r235tb&z=Yqi_JYU7uso#bo$#{f1mg>;V#nPi(8bNe=kDzVPFay~Cov1d zs++xLkt93+7v3a0j=qc^HcD5jDiAN8K7k3KW{8|r1pL+Ax^~gf=7lmqN@l*B21>*& zv(qT+0@gEj7JRLx`QZc8PdiQU4Wo=rx%d8Hv~>qezEH-sT-QN3eUsj)Ixoi(X<2}s zGPr(yjzzO`DPh>Svgon-3JJ|teCE-uN7u}D2PTPRPM|Z+lSxaC&A#*t(bB%AEZXsK z@VMrecD3q7yc+k4tj|_!wcACbNS(qN#SZ)13b&5l7RWEMe0T1#gjc#3J1l#Da=NPF zD5n2BV)?E9v%coaPr;*aZJOa2zN-6Y-)LJ&zF0XO7dbAIiYGp!**vLBd^l#;GX>Od z^50D2Q1q5Ael}~O!jCBNnOYupy8Y$dkW!+B`$g_u;XD zp5BZ5w`C?i&+1YYHf&Q(o!hf_<@fc}j+A(%KuJ~86|3bYP9nH>Kt^ouZr&SlsJzJ+ zQ4*E*svCCq!gjeu=(l29X)B9&QWacZ)gEbG!W)W=QN-F5tP;t;)g==k8ZBk$0BH6=lnkA5X^I4$E76$Xg)9_c_qzm(^x+)S8dWC7%+3iq5F| zAAX^4*)`tF+i_7_Rr_gY=8;XaPSMUfK+i5l(S=3brn znzrt?#c{Zod(XYA$3tqi>hJVxvxwd7_*g|DXWgchir%jd&611EhhJFk6O1q4e{81Y z)BdsS!yk@c_8jY7ReiR9cFb5>KdxpSWF8GJ?!THp_;&B;H=E|s?t7EX$MHZwJoGOD z+Z)0%6@M+9>|jV{i!xctHL2&L{A8x^MO~ORjq@+2w81TV-cy8w+ z0?QUzA%G%zkT8Nu{7FxcmP}MuqnH=QX=4S|mlJ<>Q@(2@Dr^N24p>h{X<8t?rK6G- zY7#EKPm&5qw8xU2v_-76*_6`IZoTBK^A}uPHRAYExTTT=o>IgElAM;4@1-Q#n5RrQ zB-$ZU*|k%{vA#i53DMfAf9|FN2gz5lX@cev*BX-Fy2i&~(gUJW$x-Pyr^NiRM?NKK328FPnZ52Z%V|};tW@*#)?S6OgN)NMnUPIN z?b;a?O^Lq|Dc#GN;?8c&5gE%&3EnbUS4uLB-(}uSOPX!U;#$s{Ya(}VrFNJnB`l{u zZp!+0HRYLk##mJH#8zTVN!HwQMo&rhqo{v|Y<8!4_WV@FjkN5K+Bx4{bM~Wh{t?@s zy*XBmnY>dufB+SyLxsChnWCxOGC9aTD*FnR^N@-X$enAVqTO=&qI0pOxq^MU3kh*y zm>a?ZdEz>G5^i}?vWcS6>e^7A^h%!6VIE!}Up3J2@3Kg6o$r8lzHVRszu>IFVV+k2 zAoY*g%)_L1^36*NEc=cMtOKca6EG7Ha?vWp(?j8^$9vw!+VmBAtQ4L-ER5gE`4=jX z!Wa6pKmxfeECk5SMV53}6e3U@s#7c?TeN*8LW%*{M@O7OaOp50B?2T&D-3rlNr^5= zTgg9tSgcPj!cc*0A7Bc2O?7!?J^ef*lY#<;}uFKIR`Cp~wJw$ffkda)v;~h(OBe6)(`~*j1gvJe`tzS`~AL z74rg>GOiV8-%D-{1E*GCZg&Bbjq-)V%5{O88#*FSr-SFeOY7*|-0r*iY31f9@#d|@ zWQ7kmzq=h(?H?BIxas>wRsCM6`um~m&`tNIdexB|jVXpEC_qE@)7V#O2eL)#zBf5_ zt1)M)b(?8?Wz~ZH)hw*lW@=Z21#850YdStuqb+M>%4+0vbFlq2NjI!U*wJ}jm&%Cag# zupxT2F;1}ZT3JK9Zc`E~&7ZX);Y?FTe^cs*hMFhZ`Vu~@lT8I@nlqxC)K7(6F*Uw3 z>{0adsF}8!7tw-bCqVkR$B)x zsXhJ0eJoI`_b~t^=9}I!)Zg|%F4?utb;%zL50#)|a2{Jk5zu_{3bypj&tlgKLu_1C4i55Vbl>E7!SvhU)G?3yX+(%0)YF6XjlKCUHsB-tJj zX7aq-*1cGz*2G-M!P3h8;77M>d5=nN-kIk;XFsZX{Oa-1yW`4z$M4#m0Cy1$3$?)K zcP?GLb4lo~7u(%X_q(oEcO%R18fV^(d45-I_HLX|uNYfzf_pD$)tge@`!b_9<9YAw zOz#b$zE0M@Jomn8%f6!WzJiRtvgdtCGkrIO`lDIAXuv2V4inOvz2em?KQQyF%8T`1@|E5{eW$sT z>rVH;Gpkx_W^iPNj^ANzNC#Asqn7jrg@3lq>lPwW032WVo13>dEJA^C?ycU@P`4gs ztwZFRMLQcAd|w9o`bL;cmlLdp;QH0Pvm)0@!5_Nd2rC2+DT7m;jNBQRPdAyf{sHEH z6KQ~?W8Anl#}zGNJI>ti) z@BkzQm|8NO)bJSl8$GFDCB;sK1x}?6Op%(WvVKpwf0&}`Pg}@N7sO8M2Tqp^Osg~>O;`M$?$({4>CYH^ zn68VR5t*4(OPpzA&u>_pq5r0u4*+t*BX+#Ay$Z8hzqP7s9P`U&84p@~+X%ppNTk{9 zO~HTAJjeV2IKc*~Q@N)H9z3cm_if zZoFQbyMIssJb;i4@Z+@zl@KXK_Oe%>=6(yORRunBTO9rLYv}RwM@))yKGP)vIOna$ zjQ5tnuh@C?=Qf|xVIc+QMw7Ww-N(Y$)5llz|H(Z&aKx?ghRF2=Ti1#X=xQMzMDC2j zNhi3o7t|}MHNQ`{-YL_#|3u+nO#7j;=fo2ujwG2_VBh;l^pghT)cvPtduL5gfadpu zEFV5~tc-UX7ze0M+~;Q$j%S~qF9ly;&f@U?X}FyEVma@=W6rJR zg^SDi51(RSE5(&7H?uV{KCq(eOI4n$rn90o!As|ZSKIE_?YFMRzgX>5WZ!gO?z;Z` zkPf>Y{Ji(Y^AS3%--eR=`T1BS3*!Ye@?vG&b8WJ6t?vHX%@=EW2W#^uRu*opmUzDS z68pmcz7|{Ei>`+++{faWXv6O6PuBlD+xW~r?N+c__Oc=P2prCKd|Xs+GL18<<&^&D zv~%m_w})QWnk$9N<79&(R9-m!seHDQdW!nVkB-F(XM-E7g*mCY6jGF-n;G_jO zM)b)W4&QET-duDmejOQ%jD}82{ExjikB9Pa`~S~b4F+Rh)7Y2LShJ-eBop9k1hfKVSDAA%dqbKAY~j=Tq7QmZi>lmK;^3XZRQ(w4@>8;!I}zlmJ>j*y!W_ z`5&h=fMMAYZ~Gr=_%R>;*<_=cfvdCr{NPVthD3{~ABWaQhFp+y_+x@6a5Is?!;_ch zVi||x59i_zzkA61BpCm^boJ-s63XbdFH_P;&1tp&g zgY$~*=k*yE-W+}&GFqs}{9M^H|Gs{Z^bE|Mb*yT9!BG0Uv=2Nuc)r z|I7R;NN(kqdk-KjWNdo6sh_{I``ThSzv(+(I{%N0-^M$>C;VF9tAQH;-!wt#eoHLh zASZl&ZF`md?0SP(QJ6fj+*u3mHvV$&()X>p?#(yA%lYLAsqY!r%0TsXYG^v~7KkV* zn2xgCaBmr?eacSASd!(*f8WDd+SPq;Ip`}r6M5nSHw3`;RzLYB)Z0Ay>=|=M@T?@+ z@>H)4&-!zzab_aqOb?bt4KRTf&Oc)uxacwKU zq`#{%)H-_1p+yY!OO5c0=?sNjl!IO1g_u4&^c({#6TmN3N_p>>@lyalR#1LBSn0y# zmPx%b9^$7_%B!Kyns|$u01S?RuUUEl6&piQGeSd%aGVTW7a zKaTyLweLRIdfrOCAYP{gQopeD+3OnRD)oYKf2;JL?*B(0KV%+TNZ6)+thPt zup%15w)5vvwP4vk>ZE7!ulur&DUChbTW1v7I{|?|SM6Gl{-dwjEvpkCLw_Dx{cR=o zIwhG80SN3uVE}OK2qb|3`XE|=KoZA7!$RSFp~z#>;s0%rM8&(xs`u43wRL~?lAD@8 zwzRgjcXW1j_w-UJ5(A+C>)`O$kx?o|;yZa_a%y_!$L!qC`GsGLOUo;(YwH`EeUZl? zLy)cChZF!p$EQckY6wHHO4_v%vzww&Li!ncZ(e+i<&yUtYkQN^nutCd!}k|RLPSLW zKLSax;xmsx5+h4ue?St8N{$UVbOt&4&-5z_KNnfO%`D3P1CmhVVxWQ~tP9~ig_k;& zX2GCPig?^H?d;-jH34d>xBSrm43dauJz?Kf^=7J-@XsKLuJ> zr61;zRAz~(Pz?QuJ0o4yDX{EA&M@s(bR$Q$=phWl4C?aeY4$I2+0$^VS_(#uxUaM! zj+vuL*U!2yzO=DvdPcl;{dQ6Q*Zdh%HRB5NwvIqqeUiw2v`E{+e5)lndXgEdYZI4zs`aqS9^dTHt`y{eHH%p6# z&PuSXx&XrmL;xXO3{8wihHd%?#jeS-upVD$czU=b0(6o%rdb`Hu|nH)xJ6{BFR+u+ zW0!x-tIrxQb)ua_;&Os2gXfU?%_-*Uqbjb;WBLuPd{TMjw1A4>B5PCRKv-1(VdY*& z)61RH%;sde7XfNXCZVcIX8t5aaRvoq&h<)%{(Z;9NMvX5VPO9aqZ=kUfs(CWQ(%$T zqf6D&xh-GDI+`4x6M)$yJ|3F9oEN;5n7AtGHk#}~I^0I`freoV!j?gwB`Mr%@OhKf zM6<{lWfm%}qQD+V8$1=-<*xhvhTV3$812rnv)-@MOz(!~Fytr`*u|6^GJUWQVBv0n zR!+D^hgXvuYC0TC2}W>Fj;T^25-iV$4e(a*9iwm7V79&v9FVu>h*Uk9xvjKt!VyA z3y7sL{K-Y=YPm6}CnYovrz90Rj$k*GqYV=#RXFu^j`3dB`XIi>^|(trwB;Owfoj>M zL-EVWG6fyJ-+cLVr>&&Oaze{bEN`2}sqL6hSc_9-8iN~go-@YJo z%HpybdjS9oj;77~Eyv#=d|ay0!qCeV{Ny!0UtZW;@11fo*I*Y^~8}RVQm>gGEs!XVk~Oo zruNyQmUmfcrK0SMhPo#Q__q|m*N^q3pYc;QEsI-XrZsdt>(0%TDC!a#9+0Lm3u?*q zorH(4kW54Oo@Gb6s^6ffF~Fj$Y4t;{^PZ-ECc@ZsPEdiVm@V=!dK zNQt>jn34idf*ki7qiW+xu_l#n+s9ixILRD0=%Tit=N^64#t-1?vt~!PfkA>)h2*CP zCopkb01vlmV7-903%lGvaIUKqpxkYO>|}Jd=V1LJE2^B3`_(A!OKBB$Mvk;@GiLun zy||TY4zs|akBV7WD(lG| zZ|2C=@QVjz`p&B3GPeyAt{XbDj9T5K46i1Bl$+xJ;NK=?FPkVPL21Pj|cAjo+pZb^TDP+3og8c$+b6IIB9k+Y`|9 zHgmgcR%3s+7tdIpMPoFl#kvwKcgZSNByp*&a2=%+rF_mS39o_DJIr*Y8U zKo(;~!8xOOv!{E51;!PHmfiCfHG7|l2^Fv1j23K0_r6s1RFwF4FWB$z4Urh%5u=QL zUFO{%ZZm#Y_L$QB%T;avYhS{<@_eI3Puu;G;huNzD!Ui21?`WL8T~W;(M!Hh_s8ap zE31dPmu}bC_LbeMtUY$w5a`_>-|4BW-|k)x-rxTYFjbLgj8{T=56B3Usz%P9l_QV@ zDzU0r%y>1%_F$5$x2ok-&uT)@!4#V5ecL(XwTDj+ro~O(cUbnUrPdtG@IDdha z(?2$IuTG`gC~G}aO;F8ZOQkJLX5$4f6^~(3-T$~}BTw!3Ph4X4V7~EYq3!Q^tKRA_ zl|7p!LBAIqnQDexjkn64{{H1|QZq8tv-Pg#_o7c?&De!!-T>z zD+8?KScYA^k*Rz=F=FXYy z^*=q_C@`s;x9r{fQggUTOsxCmX0ksrdbm~9Tesx@J)wW?a4>WKcj5MerpFJA=e zR}-1M#^;=OyY6qw#2)`WZ%f%5?ycXd?ESqIMA;`Zeb{L=Ib3^6IhZr~us76uxK%^> zy^{FhVAh1PH%d9&>HToH-Ag&#r}TVWzaJ}VR40Om2jCHDc)BV)av0CJgGX_NuqcPH zSy3JC5U#Wko~jVO;Sm0v5Hwe)pmM0NRj6n{sCZhaWL2otaHz~qD5d}p;|l8*5!5~x z#=B;3Z4eozn`))5Y$}1L)z}F;&H>O9IC4YHwXK{GWVV{}a9luu3TMP|_&xK02&=RR zD(1{?IKqA>!jUWTvT~%0RitY`qYC-eSIa$aL0p#+)|;Y{j=;*QT-{;ig{*GS@JCeZf8t#%*KZvvC9tW!y3Op7?vcdl2f+279?s&%p!*!vCHn`aLUja=uoJh3-8~ zJwMugb1$LfM2R+pExJg?Q2+wwf249Dx-O&oj+agkas?A9(_7)bB0ZfusKz8_X622kT``u4h{YxyCXJG<;+*%04 zoR4TQCI!{-6wl*(B`ds|HQzzi5x{~mD=1eOgF0?9+>68WmB`E@O0I`sR3Rb6 zNxc^JogQP3mPq$xG3&`EiV6a-H{dCc;!wWAv-d=6G0q@K46*P5ulg)d(#8}0S{h8Z z#$6WG=mUbwHAh*~8`;2{;J(tfMP=hZ)}%^q1Y@x$nLSA%ft{6}H+V#1^*~{@ zeRhpi2(eFqjOuHUp~$77*By~nQe!t4y6nt4`f%Qaj}*9f@fF@0`mk1v19+fa{6p7C zK!ldy_bFER^xJGe&+l!2ueo=_N2xJP&K0^`Tu2|Q@(WV<@Of(@arj=9){UZMFj6qyuN$D{@(acB8>@YzWK@3w|4pgPp1Z^$nJDo=wBc8lLSFxt8~m{xa$Y&s`dti{Qp?Hgc3a zxQp%^xWxGwbt4=zX@(YzF7(j>KkfSjg}SGCp^SsA%$pf6^f%RCJ*Pq=em>$09N!{v z<@0)svJLIV9EF51 zLawTYM@u^cHZ{j*`q&L~U1X-O4E0F(vce~QOE_I>C`m-syw#$=cBux#g107+;_*rvE9%X5$4{cY*Gyj!y}J8#!o( zS9<64`yZxn74tAAG^H zS)gZBX!f{cFi&;!6)wKeJYWBFq0MHY6{Wk-qO#+2N#JIYBSVo@tNxd=^v&1qMnyJ5 z9bev6Zx;K+7un6~4^@wBmIQPc*>86Y)$eVV;u&5$(ijXk@@x^Kjb2~o>>O@U-Fica zf9)b>@U_Ect1PYiwd<+QuRVcVZ?hPR-Om|}^rvr?7Z??LT6T_nsots}#ut0L8H|pM zY`v@MF23g9IXb?#RY_tf@rg1Ro8;N9YBMVFecUaR*iLvaOEziWzrf2S48SVo94oEGHWZPPO@d-%9( zT2yVf9hXp+l5aR8Y5SMtROADAxLgHnQ$1Ci)Gvmile>)W#XnJe;F{};7I(Y0Zg!5v zP33q+=J?z7XFm)6XOgp+A58ckNKXC#OmaSZSVEPY+hr$2{=MYf|F)7)SvzaA960(< zl5^B7go;i5<7feYp;18qm81#=YlHrF8wyCV06c&UWEcS86fBFAo)k}FTdr@rx9ao0 z0zds?o6_Oew>uXDKahz5hB8lk=gI@Suho2Csk&=iI=Z}58{E6RPr-*Asg=m6=>I~k z1OVE3%ocgMf00&m;AMZQ6-$sU99~q@cw~^JgLN8AI$Qr3WOwoa5DkqbKtJ%uAhW2m z5QTp3o;)(hn%XTHm#7BWRxvXz6lQvS`^X@(Q*gvH!z_3d(5L8*KAO3r{u86^RMP4fgZI7}T~yMle$J~axjhsrYPF09D5cX9(uts= zRtF#AbD;?uwA@I~0jfjhOZTdx$kKl<@>#)(cH_`n_jp>ePcu(zxzAKbw|+?UV9d?+ z`EUE8xeWrhcIo&HxjIcjYlswas#+2723fExxL#|!Bs#|DHGa1Mt#k`1b(7yHJ<;uP z|G_1h?&=E5&n3>C79F>?I2nOx-vjTOQ&pe!WOg#md``_zv^~!jpJZx(FpUd@MQ1Qp zZ(ifY!g`N0(?llofK`xV_q4h{zM=eAa+PBiL1ufMxq8|7HFTp0XYeoB#9 zi#cS~jeMSly7uP^fd!DmtQCDo+9(Tm0Z|j9tqYiPyE%%}S?1?YC6?x>HS<@(e4py zbz!MyrRBtO?Zy|c<+`1}P^$~e9{?Ju6%v%wd!^wo)at2UD@~|#Qmf5umfov>kyiQq zf33Enqomf_{*YG1^IxxZNLBt?>%{yatqyswcPr1nUhh%=Lt3Sg-sscjyt?t}4{6o# z)Z)ef?ws`I;2+Yem0R)V7d!vO%^}Aq>8;^Eq*eF);;j+y%EhfwpH}JZF~1|yYQSvq z_W0fH#qIBS8krq(IA?-_G#i_{@?9CFrJX6lIhoz*6w4#hs$0qKj|~5%-Px=tnY}qG zX?5>sL4L{J{Oii4y#>v`7YX{K9z+263ONn}pcJ3>^F?*a3-m3+j^YU}9+~ciCEg45 zK2p7YSHB08EZ<$GV4pjI0jao#|Ds-$PMF63qh54}!+7ufqh1)n{?XlBqD%T4nK>qz zmFDT+$jtK3GV}k9%zRWY1fJb}|IdbcD5$XgZ-)B6bT<_=&*>qw9ANO&k)eKnhGlO4 z*Xqvh-oD-X>`(SDtGq{sI{)E3tk(Zez0eVc>S;PQQw?>V40jW%q25f1!FxB{m}pBD z_j+LX;Dw7$q!bm+{G@XR8mmBUZ|-#DK{M2;jyhfYEI3P>ie?^Z6*tSn<>()qV*4>j ztrupm3XdFh&8ko;npq0@#&v+|sK2AGjZ^EzpYEn6V12&ZEcg2NIy~h0#)2i4%=}*) z>ikC4OwL)fEdvMCZ;-qndY%qg6K-#=C1Om%o$3=#LxMR;^C8C7*EUseQjb z+m~bT+_@Wq*;)~+q40kQp4#17mv1Tk zKyf-egjI1;@L&#i&JegL7iTD)QX5AYqplT4IE%#`djyAT0DC0Q?KZY3{z&o3XyH`% z$p_+j)OsQHZf-Ib(;_}atrzZ7NA+SVL49j(DiI5pm?mg*cu?zw=&NaJz4$pztrrqA z{~xXwl>dFf_hH6(;OdsxCSmb!HJ~d$F`(OE;Bebrs@I(OY3ObwOQ# zWi2U=dlo>biN^hT^(9`$ifbg>EP`2;G}z{n8bZSOIM@acBZI&U^e1eHJKc3P{%;!| zWr&UkG(wSbxkYV0lMPe?jK<&(A^?U$z$gr2f?Pvo@4sUkM>Rc38iBHDqn?3P&HKiw z_!VN7<>tL)JeDyWMULdVokr=!Yq44B+Je)fK;XCc00<0j$OZ~L^~@*Kn9Ya81mgcu zASB7YSOAaajMjrc5M{ye(#cxg!UD7HxTkTfirQhQ<2&v%kDeeNh;U&&C0bY}q(VTx z$I%ZOppL$MkK*L!-_1~=>?#J2r=EaZ)wxiFj3@436ksV^_5`1C1Z7t>LW|lxa|^dl z&Ri3rB|#y=fV1{hU1C!<70Uif(63}d9Ih~icA&Q~r6wCBIR%0tv>S@ru;*W>Qo$#@ zqlJZ47!T1tt*o4UOLFjsBUGeK5?Wk!Bo!Rys^O(d?KEd$j8gb9sW2++ zIZ_Uon^PnhB(WP{CRq|W_wKh$OhfGSkD`{#CTnShcl3 z#X_SDG%=(Yy#v#(-;&2aPxgMyE5+7yPo-+CCD z>uVy^PgDS~9+hhCm)zst8=o#4=9c%XsfL)b8sruEsRP<8 zO{|M-nug+6sZt?RPGmzz^iy*)nCC53D)`80-h$pUo-R1g!}N@0Jp6m|?TM(lV~KYz z8W3I7@i~556Va9lj5DdcEeuvq{Fm-re|qz9cP^Kcqx$j7{E}+7xDu*VAhycv|0*B4 zM%iDinl0I1s@*=KveTSASZU_Gez4jmR(i13bwp+FJ9qN;#-Qc(KUDVLTVwvqzqhGW z_QRd&$JeQkJ%Y0Ts$4$YU-7z`p0hf1^7p~&aOsEjot%0KrD4Hg0no#eX^D6Q+c=1| zjWjMz3_&%2g9zz0d^IA5a`}CO$+v0tUnPd2yT)kF>S;B`6T`*rMrkj!Y2_9ZBQUSO z(mU%l@rLfFIXP8HH)gQKETDjV9VG0C~31A zW7YM7qq6OzOyFv)BQl4pRj)-ZeKpSAFo$QTtwpJNHQpyKhi_J|Rds~2nh?;H!@u3u zslt%~`Km)yW21Wg z*-Bi#`t14Mz!9pk(Uq^U-A*+&)}I3m1y~yWzEB>jv0+r8#Yr_bR5!9w|0j%%n*XV@ z(Ovi(UhsdPvB7gwEmMcj{j5RNr-xhD@=i;Snibhpym?n)6C~}OBs%()NBZxEJGJ$t z0mP}lXIw{Om(cb{>~_~s{+-x8;PL&t*d=BC`NeCShGqRP&9NgIFX|Nezc$CELIwwS z|6Oyek@Y2dn(lqSJ~9! zSOYCCeRI?tD?&aETDEuAcYmgCkMKeUpa5Zf20K*8_Tk5`#Xj7{kWxvq_!-Li$f z-zT@e9?iBdRvaA3%;5r^?1mAQ=PPx{tvD&>h{P>AEy?= zH`yf4qZpEtqR!)8@8xN`GpSboX^;X{?4EdP++Dpne$*UaqYt8rT~n{A|AyH0`rcDl zv%O3`BYB+K9Ph5r4HP-_*4OQCuT0T1o?^^A*x#}3qj5a*fkF}bHFTVUhjOHa;AyxE z$e{?CxvWqI4e^Ql%*O87ciHU=oPxNo%?Sh^3l^UY5J+%;;V+U|aQU`G$(-OV>3Z?0 zo3cIbIlhYH|G(J%f2}!w-;YC%Fv*er%jTFGLlP}kvNIV+jU4%x=2-1N?~ZfPK#)&a z@1gDDyY0xJrJBW_{j2p94cnE*R^7X+#X5i2#~%Nrk7+1)kN>?Tb`(C8PeW7ikMN;? z4Dc!o>#5;G|F$#M1@EEmjQw+q`vRB*$p6?GE1&vnXN;Zm;T+(*!d&~97sbXPPRYhllKk#xA36>SABpjlv15H z<7wR1>#COw8F|nxkNK)nfCH(Fb}H>aTt7Ad8S9mefSImOR;cb2D_>+VFQ%iOv$jvmDM!tKx1>)ZP?eHDn`62)qrrlW(+tdo^VGKsh$Yha|1@wqjfGoZ7`j zi@9lWn7G0hzZo(clfn*dVEINsvF&kt%ned_Q%Jt&samS7r!YFfle7)8(+He zMgQPpuD&Y>G0Xz=O(<$Is=K5)(Ib%ogHe=nmJqY@^OzyXE7O#IaF#UTi#@HL?x3aR z?|hUC9PMxIVNImtH6d&XSFUN= zfGT9_ICF(h)`=NinliPfH<8%>T8 zU|)a@owZC0Ihl15vcs&+3|C;whH4g#}@OG z;L_+Da9YdPaxIA(5BUa6_G^HAkP{wYzch!1-kW)3=-08>Pkv@A;UtI`*h=SWxXhM9 z&_rUSn9m|9zJSe}!EyOVv7nQ97jR5o3XdJ1_qWYYQrAB#pN`JzLR_R*#sd?Ptylo! z!n5L|?N(yGK4veEG|?Zg&)TOs9%tL&H3z@{OG3K}(}-AB;?+U5+8Tk7CpL&$bO;}S ziC#kcgBCqofFhj`?3d+2Q<+n_wan2wF9)v^@ z*^BKGTttH$khiUv%p#{aN{_ko!TS^+jLFe@PoDhdq|KTT&~TVI)2>~55p zgbWq`jo`SCBtPcint|ylf1tzVLZLvYLjDtd8*l^75Hu83j#7xM3O~KZ5+Vm90vk`t zzy;zU&hnq3Ss$-S(2xLzYEt;|X1w^*_9z2%j^^R+J!q5xKW&s}k{kC1jvwoUdGSC`WsN+Jd$(%D9vB7xC-#Q02SVZ5CmUV9F%0OpTa(vler#_FhraLO&3@j5eryK9`u{j3BcJ`%rs^MFgH^0G+Go? zD7`xQy@!ryMu+)0_Cb4_iPq%;?iH+|1i@TD>f)oK!51=JtL$lKSE)Xh)2onh)NU*gvN+qp?+5T{sd~u^)JK(EC z)NhuDmp2P6_uqWFBa!^%=cqM26FWL$mW|L82eW$`jNYzpM=wvjQodJR8`iIQJhiIu zj2AiNMU^%?R~wdDc^GM#|OC;t3p}k4UZewy%Tv+s;fdP5zn&G2fPX5$Ht7mRXm~J~pxwWjo7dL}6l;i64E4)bS`eto*N>2tyG41HQro^R2l;&x-ouU{TB+|r3@B=kcG#9S9ILXWr&RwCX& za%Fwjj@&|Dqsf0$+f%&JW4e1!xIn%Y_+J#sR{efxk;Uxob6r9YOTZq~(#K zL6f$UZ%%MKlhWPEu6KxYKTRxE2hM5CX8Jyga{0`5X6v=fnbsMJLLYp#*N)p~HgAs` zN>^i3(ozdp=~6Yb733bhx;8X_swpXp8_0U4FO722ON#*%;vJ!sYpxsZDpvpoccAm) z00hFqW&Tu)*s$2aGh=JN+qrYY!u~8=k_J^nEY722%xwX!itK}O8QB7{m-ugRvOWv@ zx*@a0BN=$dXg)|Zh4GMmL0wU|n}`Lp9W6V`lr(Kr3i-E3f` z^UV{d-@eqM!(9M{mVXRl@&TKXVARBm^v~9AZ{1M<1=KeUzJ!OJ-huLkf?}0Gw*^e7 zSrLocfL&i0H335w1JO=mzmp4Ex!}cP#ZmF**3E61UzT>4beY~L1fF!}#!f)h@!`!1 zATBc0jsU}veN_}e%zXeO3BasC4ToVe1P~)uAWhTQ@nZyR#+xD3|FRI!=jUo7%x$!O zk_HXK5cL5O5iSyNff#-!KgyU4sKPF>k`#V_3Hy_H0TfPa+6v&z_4Ji2?#1Wng!O^g zPa$ej;bIuBRXoV~Tp$hh_!W0k#T1ZrA50?$g4+Znn4Q9dp30d1`Ysc;D^U;%Y})RP^k z0TwEP29?}oNBTt04Z~21F>}!gOuOuK5JO7A{gMm5wvPdjc&rD&7K!I9M1>u?z)Jjp zCj!82SspNfN9YO60I$G;0%2yM&IH&6M<7WKq=1f>CnlVk4gaRi@nJe~xXt%83zMmZ zm3+RpU;(SJGGoA}hhGpk?X6DsiCANSM_PEO9;*WmfNiot-Gri|VW-cNprI;fIk2Yz zywz=45Ol@KflL7#;^CoBE^?4g?<<4uD42^kfll~?t;9WT0z!4pg08EaCsxKf>v2sa zgF^2>o7q6LSl|qanqmPkq6A`TJXhK9WdtNX;r6JoL+ zILuDRtO6OtXo3e32*YJmA(*PgBR|Z>%0lDLDx_&(b)|_o`mD6$TM*-wIA)9$HCQ7! zpMNRrNz<#489k=4;rMuTDscPilrmaEPEG^|nLD4z%JW3a(IlgQzc(yXE*J^C(!uS(HeZao%99Pf~Ei$B-jhisbSBOixCIC5;^|a>e3mYon zm3S4o;xxAls}e~Id5~$>XXh#l%8~%oY=Rnx3>2&pNu~&1aX?K1Le0crx}(Admh_k9 zVZee4pFnl8QVe&~sVJ{Y=tr+)FU0*!d!uqz3-jd5XPW|%GfI)1SKk5X0u9$Ysme*I z3#|J3KTOqxto2DSW84K96j*cekU$2_wE`wM6C(n^N+>m`IA>X*Z-CQaB}8lJ!p>Pi z3#SWH!Z<%nrMW4+)+6XI(LVp=<|g>rb+jN)#oBnV13`IE4AN(Y(3!HTy>=knaQ<=P zlI(?nTb|(p0Z_6@@OJ*UO`8`g7CnOo{ONE=AN9Y+N7jSQaAq-w>MU9auIB5{ztq== zhEaFeoyfq2P>?8<%R35lynP{~fL&3rc)8JVJzYM-4e{z?uFa~UU7tTSOF|Y5(6R_X z$_R1+MbsdQ`Hz~XJ_@e30S3dc%9(QS8NQzXLB zwEy!7KI7G(R^8ja2>Gjz3X%kst0HVC(qVQ4*A{&X#~_dt3+%F^op}WN)4)rabb?uQ z91^k+OJWV0s8SOIOM-dI6H3RLVTL3lq9n9zL<&g&yMKW>VuCMXU<;qE>r{aUa}ZrJ z1c$0K!@}u`F18gaei*HB(1d=lJ=v4}X3NL0y0fOfrslLw`ekLVk@Uc3HZ~*2t23M+ z?TO0sWQY|Oei0Mwh=mnyXl+cW&e4CMORmqgen&tvv*1CBToA6ljJHrImD)Zs3kfQB z7a>sB>0m~fU^5?5?;d>`}? zs;n@d2P~+5R*QrBM#=+2Q^2*2a{N?fZ?HI(5jCW1-liOku3na zWqtJ3WjRO$;Z(%RsYx`<0QdNe4^$cpuuT9=eb4>&p)TY)GaSqX50jn;vjHakwj}#3 zeH;!}_PSLb|C;?mJ*Q7Ss+Qw@C{w@<#2#&avcdJsdF@clH8#Tg!qxnpAgiH93wed7 zj$+k^&2{7S^+nU*Q@ZslyeCn7lo}8T^md`G!hp4MK}AaI%JmID-`AR>`4E0bGd&c< ziUhTNREr~@=$4~qbiEc`d4Wx;y$F$mW4pBouvWIj)mf8dD~{+0s|wJqPyy75vaGnR zz%8F*7q<@+16{e3#Roy)dTLM%;HuRJ<;`M;shQ9OnnX2LewIbt-3I^=t;r7#HtO$= z0!#o4xWD_zFATE*Ot~?T$@bn?wqR|6%vBL66I-wd8GP*)R34L=rVEH&v0k?3cqpJk zzk(JOWJCI9#BUwTW$gkv^0)|c$EzL7Qz^qHnLk8CynR?Jb&E?r0;ccSW`#5=Z#H@> z@Cg$7iMQJ00pYg3ImPU4F4SK?z~G~1uqAsaIzZjA-Q5ewc@tG(TW* z;tqYr!gLzMdW;81>H+i+^9Mm9ea^NxD3t@8gMgs%ATBg#c{aa7pVXDLd;lFdVa4}c zodZ65*{*`!nv30p^ApFt0g0Bk(d;2fvMR(OXWN5XYe(4ocu*>HV)xklaZgi0&x_nZ zg?yVBo%DU1)1M9vK+!XNQkPGx2ZW(sgNcemSGi&%a#O_Mh^jPt(qWf6nG=gHp>XQvjCcGhyA35 ziDV7RM1WE=E-K=<92DMQ_cj|_;Ne}K7f7Azt2{$IsEPao-8vW(j2~FYN_m5l?N{D0O20fMjj~GlH zi6CFKZ?+-ahXxlckWRk8RL}|Onex05Z8mOk2xeDK5g(E+X_&@SH)g}lR|>?CCB}sV zm$97v(gL(B>bC#B-1QB(Rw8aHIGI;+Yu_i26*HglO_}{J>Cn7xvm6}5HqM6`A2J)C z(4!0liCrr4gYm7jCo214eXJdvcru;2AS(G+_NCrop~k+Mn>{avEsqr+>a5Jk7TWRJ3-Crwv#E5OgA!%k1@nG zo6DV)Dam*O82yIgh)~H7(2X=0$0n2sciY!6@m7pI37S^cywWnYXunmE6J>oq&tTw`mhYb_WT$JsJv>v&~7;I{e)xZ{H5Qusb%+4nk92 zR+?d$aol<9W%myG>KK^rY+Vz2q?4>`_iy$fkQ@`8Sv& zgnjkYePjD;5BinIz6hPV&!jD3FZqHc3~zPa^g+g%OV?&hvW{O&epBo+%K-xVG1oFa zDPB6$_pWtNTGYoi^6}Dje%|U06=x5tas%IEd%s;yFEf}fb8#^7JYClOc2f(0v9Bz1 zu&+oo0Opvp!3Qod#a!PU>H7)*0Vq*9+ zAT>RW3aUKH6G~2c#zu`3Dqs(%rU@Ay!7Aw?##MS}&YVBr)NELF3CWaHPD!G9o*fPb zzj)zsbmYRLw~y9{XpXeevetGuBU|}{T`W>ZLr6K}YNjQ>=;L4DUKM&zzMEICah0!DzSPNazPpyQ(0UUz!#Ag6eF&wYfhk%3x zP-BFYQ39dacVes*2ZhUDnCgy|M?BPZqAR%}udnxLK1(ai0D1=iORo{%3!6=lKDx${19=GNr%jDe+@{US<}qv-mn`)s`P$J5tWL*8h8uFCPG3I1QlUN( zM_?U}pLsYAftnB2r9V)WOX#!J70I;T;{?sRSg zHS1|1J)a!7H#UTD+Tng_gBUK&aq5EUGq7V&Gapbm%OzjsfuHZAbNv#pUV|Af)l?|Z12jHpRtSh11;cvDFXUr_`qJ=6R)$(G22cMR!aUIf zK5O=7spZ2utS~JB9lA3vrX5V0-c%fDYkOEk!s#umCZudxI26Q)bREDdk7?_}vTo9gFvTia)rs63*F z^hSfnuav(hYw8Fvzb6?PPHTgr;&NT4qv92O9tBE-JY@DtB1URLp?;d9!F-rRoZdMeMZwR*STLSD;;g#7(m zOdGEt>j;-|^2XppA(%OII6p!=JL2YAQFKFz*+Ul*;eNmI2W17rFalZXzGJSKlt+QuH|fKCE`_~m1`JpkKMzqZ*aL)VG=Y=#E_AZKxWLg&KzCT9d@iJ3pW=bt$#Db6< zJ2)tt$BA#+%-xKoD zfOzcnGj_u0_tHJf21(kkZ&Dj4UQ-Sa77{lpBLQ3#7ZuD@j>xYyH91|aN%m6pm(Z|(;j^@NVRCXy z@R7pOCH`sBIUdaOj(CFln=oc@_pnyOuBk|R`g!3uazOu+9-e};lSXVJ0{0)$I2w3Q z7AmuG6g|shIqnn>jX*)6pX2E?9JNsTWNJK$tg_6*o-1*rNAy@}ClU3DQFpT`oM1gS(ekT|IZg%My|;RZ6^k>DBxqqkjJu;Z)gmTW&RQ<-%%ngzxdA~J9}G>Fy= zfcO>8vGgd=^-x^|4rUg%#8^!h-!}X)UA&jRdqV-&jT&0OP&I6zS?5-k=`m6k=gko} zo&tB2i);v;sQ~Fr4E`fqDjsAm4&Gr|sdWn%kzy$L2qN`Ggpo)ljDQf+yto+SZy6ZR zOhKS8j}{ldF=2|AZ3_7j`7KV)A+{Mn#^Irz5^o-I>YSjxyQf|6F?sVT-Lrhv_Ap$x zIUC4|0*K?ZLTcu<0VMXtFFvght`$Eb#_^(+IXD1bD6Ma^cMeq`w0h**8aa4P&|{!%1_Pnl zLBRBJG51|a5Q%Bd&X}9g=RUKZW+iBXMD2iMc8(FjNDm#|!kC9FjoBJfZnPF^2{hC| zCJ{$_2REGNyhu-Ieh9s-tn35C1?mabf@TU8TYn0ajp&*Tp;@_*b)U}(ZkQ6<U2= z+QE3m>C56US06c<0Bpj$V(=~=C06%x_Bu-*kx|l7KZp3JDLQsx5_x_|4~d{}AoqfO zS|i+HI`944W8**G1*vSU5}!<`L`n|~_n)?4ounf@SbdvHG`^5Pu<+LLyf}q18E)iz zVPV5XAkhs!MzIbzw2~?dY0+8Oc{%)35Qa))5&WppW~i?rofPfk-ut*7dx(~Jz$4&j zuv}R2f}4Co)NtYfgxQ>#u?r7PBQ$HSUE7y3{gnP-Qm7{@95NXDVVj!7bQpW`O!rxb z{Ygua{rI8y0Nf)w^-X83fJUS`;Uerlfi>mkN=du(6w_Ux)w~mvx!g!`de;3)lV(B_ zW)Depk!q^9+iPXABZ)%m-~f~i0zX{;B+MZJ{64IV@KShi>=Y-<&D!=ec%L_|r#1QQ zbmjaE$l-SpAv81y5ZEMbHJMQ;7r8>h3%aEN{~JlttC=%o#$l4vYl49Cr55 z+Q;aKarYX3$!~s16s6MzvEdL;(kJx!2(Umj!1O~TTogx&RLcqtE-S~Y8;{e-G-iP4 z%y@O?)S)6)kCLs~efgI6Ws=gGCsjQ0Lx>xYhxtY`C(o$LQ1JF`J()~|o6L(rMrzNd zHe)IjL#}dd@+gl5W2*8^?%j*2ar!Ay37vz3=p3^`xVWfmYUamnSkREOWH4)tqk?ap z>kDbGm1jcI0jJxsAg^9o5o%jyiu*=hXi|@0hH?`?1}iWfQgDY47|#kqy3pxUZB-l| z3P4QI7maZ2<3wZB&HKCg&Q?vF$t3rdGViMsfUX#nnjrxOOtKy_vFL@!l3=?8kOwu; zh6Fwy20g;)_d#V=n9dDd@fW6J$@a?#2YI>${LbfmJk4YN*wxBXFQV+$vhOj90Fw*= zhPRnVWW&DV_{pp13<>~mF@M75?T{~CS9B@v2^X0sQb4kpDE0z@bB?k%xgb(RR%;QD zFF1^T^!>!p735Fty3Twt68=a>4=_b&!tQWE z+*tzL-PuCY?zewFmqfU%<#-#1j$w~B*hPtf{}1-wgR9B*-S&M_NgzN79RZUNdXXxi zh@p2xih`h06%iG&fdxYd5PImn7Xj&@6cGbb0)iA#K`8-|rXqGwG$;7J@4u|I_86<~ zv(Fj(D?DR7_kCaUnsfeeKvf2>K>^hP;9`xydQRGI8lLIDr7KOA&j6c_e!Kd#Id%|n z{CT9-CzG9D4<3Jc(rEhI4FD5jkh0eifEv=bJMbCA9R^rfRj6E=$-$3iGKnLRHdLGy z)vJ8;yo$FZY{}!>{JvR{_%5_lb|4rz!jDRVx#Cb;8xTg_PLDgGlG?-%I)TSM0$cgm z8D^(mLl&%pZmfh;)}XtEB*F@0*=V15MJ#GG34~JxP*{)%5$=qIepXG|KVoC#Yj)5~ ztmgym#-Zp_I+r3GE^!20k}bU?En}vHgufL=Nu2_DCi9*&lk_sz@d=8!nT8DLlNbMh zxRbR1;$c2PCZOyN>cXO^s%c(G$X>o6vrukt=OCS4T-v&Q{>ij1;tnDSW~&NG9`Sa& zqy%Scr0Xz85-e-Nqsl!-YB3J4n?^t%Y8Z>0yp>$xYjImAc-AQW6POKFO-B`~i!%4Y zTfvD2F!KP%2OCG{oX$8sJs^&-m!`!IiDWmd#113k&=5$IhsS+1a(rEkTi_6Wj>W0j zA~;$Ey&`gLNE(o&U=nF^KZu5R!yw_`z%oo(CZEMGPfIR4_oK8+nFTwH0Iq0xxGof*P#xoyhxnlfG>A|M?QH29N>r_F30E)xN>NFxR`d%bnq#4 zfJcs>-Q%P%FH?6%aQ`B>xC9}ts<;%I^Hn!Dz+1KaHIO+TkpY~JI3)GXpkxC}vCSe4 zsuxt_Z(R9MydhdLnv98{!H$+fITfJhcH0bGJuyQ>LGTRXsyUhkRT|ADu5hF3phrnc z#0aP!J>J|`@=I|3%Y(Uw9woDzDA#Dc%dLWzc2KJg;7~)+G>rp5gO|)IIpOWPV)be;JG$@i*yr413O*G4NA+^?%!ui(|m~I9G-`I*xhy*fojn98Uye% zp@JxNh>ab)MNdZRN~%+0dlSdTG|dar%=QXB5Ll44<$%4N8&L@fkUJ`5F(Y85s>@X+X zRtmZA5ZIk~+fEhM60OPcBR;0GhUW)}lT?*bUubHe%v+~P8bBO)dRw|rQrr%9TBAv{ z4sj>#)|GmI&DPz}Zj^N2)!ox5y)JA+YIt>|CPauY!2t%zZg6J`3vt088bsgDsP%Jb zN_2001~k6SstUazFhlZmJblM*q&8uJ`{u#wV_bJFAj0=v+-6yVDz4VmbS6Kev5D6p zp#t#63g%_*T?uU7Z#x1%L~8fCLiDYTH4w^-ZaZa~I=Bw-v=01~wR;3#~aI zVp#X)T;u5qvyIrbCGVj+BGL|TX{JI~Y%^HUhDj+sP;5hxTZcygbFOP=>p`Q6_tZ#x zIE|DsSmQP>w;6ZjDM!(Ty?{&VegRs$Kpij%818!^e^u~aqZLSrP|wm({Ce7;giop# zXC``(?+(#etiAKg0zx^6g4M(57SPq|EIA&cPdawYW&`pm!n+DF^lKdo1}Y2}*;KT# z*jw+)h#fW}?8r;eJ=bq>B}A~B%8%7j6dmp9z`4=G_leF~ z=4hgGE%wSSH9W=wJD8!sQrk-5sh3^Cn^uG?-Ptagd;tdS;)w)ieMdkHy<9JlI~EBz zmQ~d^HU$Xs*$M1{N$Dv`szy-Y^fZ~VM{S3COqbCpoEa*V!3@kuM+@m+C@L1j2SUXb z?QNyob{`gMd|fB-|qMoD=>*>=krNDXru17N$Eb7y*<86a+mVBX#kbX~d5UB_*vhI}b8 z^-#H3fudTUMWCJ;a^*I;aI~G7g#5q_yg;YkC=q!OH#;*uzVd;u-twu${L{oc&X>+m z&ido6-Y{kDDBUI+gIp@lEheNSK!Hlb=YCRR_w7shIk9klc6$0bN1mj;(c|8rQ7%On zGwRTLZ!PnS#`eXJOy_pZ5ErU)7gpz9ygw*;@xtI;jc0OZ5;S*>L|{4@>*m74S)swO zoj_&zzXH?22s$`zi}iHlUKK-`lb|wuGYCnw2|RYT2Q$~LnR_?ZZm${21x|$cgb2z; zjvN=~o7l9yP}rt#)E~Z2`0Ew|Q#3C&C&AF`9P9=w(Lg>&_&%ndIS!IE9n+ng*D#x) zJ-*ee0eMvEe*!zdbb?2?Bo-OiorbfQ)Ym}9-ss-zy5#gL9!^|55n?U$bk?pL?LaWw zEbdROD;zp3(AaV4#;>KjA3H%!7o8qgT?&19x9rrN20|xefMA z4eL3AO&F#>QO_}~b=!;xxzCy|^2;B5l;P_S=6F;|$@3nMEl_j)Qkaz?D0hWqdB+Da zK|7FEhopT|c`BOm$#+>HUia!KF2hU-iOBzM&!e?sYt? zCL8WoUMop-x>efChIH<*BwRSl{ip+<*M2Da>u&7%K&C{*xc*A8ljraqK3Fi(D zA)a%Def^rUk&(ZdHM@{_oR6G8*x<5}z5jdEgN@vq-^+JymL+_@UAsSpH}~Q&u4Mm@ zri9H3-nXY%i-qr5?RRE>q`v&#ymPCIx0hb~{gLzD`eEI-uYU~AZmptX)S7sqc*yx*7}#xZt%aeuJ&?D((6o4>dveoClUjwk$D8|I#U@blw-7AHR| z_Z+Lla_+~cUt7G0e_^qWU~`93Qj=0M0C;9jF56h2$H9>U0@2DVDsNZCW*64gvyJtC zv)Fdz*FNZa*wESCcejjDQ2kemG$uXsc~0-6rsC3DPv_=GUQYelk(2fAedFu(DKPlW ztKSyek;$~=J^k4nbXOUNpBM$U*Y>xuo-<{chBG<(g|#OCPafO;-z7Q!RxjhWv7VhG z-8R<$F3A~as@RT_{jHbLZ+hT&FXO{#c8Zi8C1aQ5{Oc6y^rPl~e=Xzh6loFwmAAU_ zJ4I^Ia7^NNinMfyhbaF$MauhP+I2fcYQ}#ucRNLzly1aMk?!$WdDeJ(R$qAUZ)5!z zm2JWHV1F^&SijHi%i60)`7Dh7&mS9~t~If0AF!SEPu4k@Y-2rxN`lLjV?)`-dS)2f zRBnzUaL9KqT;xRg96L+4JQs=m|6Pid#gO@T$Ikz^r%3il0D z>z)1`vGc#OWPgv6X>)b#MP6UG<~h)w)Vnjm`{Tfl{_CHN^?C2p#t!g$WB)9zfc=r& zG1yM-u$}g>zdP-zd_V#_Qy2SZm^>ZG&daAjzzHA_6#^-U#8g(-q;kM80x)=Ob2GTK zsGNGYu%bY`pe!K)o?B3yP!6U%AlJ8*h5_T`k%(L_7>%0CS25Z0J5d_Opm5jZ&a7;= zvsONO9)axaug362K3+w3@2+#NfFk&nnY+t{%i-^cAfoB01OO7@&%_&trZvW8Gw)|R z)|IeN0d8d?T&46;x~j0mNGaFTQ0K@EpDy7i3oUt-C~=Xm>IJ2cgtJ{g1Y#2*(1o0% z3o<05K3H!Wn0*Q;-Zf*jM?Wobu$!#s;Y`6`SIe*xv#iTxajPpzkICk6weFO{>=DQt zBKO3Ps6(W(v^^gLD1!deeHrLFQiaE;CnMvyDCujXN-rRiu8#CNcQ#Z!()>h+z~wKc z_kuM}UQ*OCDC8ffjqV{BQ+bW}lr5^iysLWC7TSF1&_$O-bYq#gWPXTvlg8a6uF9ro z%(cF}ujDDQ5fy*(_Ff)*LWZ)JzG!wAF)+A@!Oy3>}a%_rOA#PdOGex)QeuMzP?QPC$ghJVO%7DDD%tgy=Msf*+i$unU zD%smVBW2hS0Hf~&PcDyCJG*BTEipq!5b>DYF_!d>v?m_Yl5#M5@`n~x1{vU^A~>!| zKjikXMB}{@Sc@)%j1Q`>w z?p#T3iXOX7ZYn#iMcI-$Bg3UMv5XHZYpPK=DR{mHFRq6#k&7HTQXF>Ivk1m-Nop$+ z`E&qbl@aarZlr$F{;#Qyd(5Jn}ZlpG-hh2UniPUCP%H5MF_K?b*$U5C+(^ zUxL^5TE}Eg@HJs0=1VrBe8Lhh%i-EDn^Dcw5X}X zSykTnvmRFHwUn`d4i?a2FQR3=6Xl~0MjMFvYgLrQD>D#PDK^wd*#eR>qTo@0$Nb4@ zH||}V&jhr@4)O`qMHj{29Xz10x~nsUpMUOLd$& zVPH)(^ds$gO0|!4&c0w^f*6`7vVai(B4Btd%?`QCI99yV!zb~@O6AkR#ypOz9QtRv zjd^s;wHzDqmatJuD$>wDf+1}jiXTPQKma-Ea(py)JXefdGJ7>v?xQ0D=Tzhz)_D9x z4otz{V43R7>Y<(Q`kb@b9RXs)X!H)MqY#utrRWX(j();}VT+4KyOl}b87CMZdH`Rd zx1UyQl;}N^x7x!|1U%RT(dlW3)WYUwmKbRrnR0UIM*~;~F`d)a0v2J^MXyS_y(Kk; z4_t>kEJi9NH+hx%*mqC*3%129-xB6v`YZavNR0|kw<2g=Xm8JP6TM-6KBnRc_0I_} zvSfE`Fe7Y}S_Si#t$+v1o*-3HsvW8ZICcIRSv_z%$r?<$!$fNBG7z~RZ&H%))IW=u zV??0Anr@Rl0N_4jGQJz9QNgDm-hf`=F+8)Fm~#a`cC`Kqr>*vc zwVs9M$!DCyP?x(CCCXcOFcrl)IqUZo+|zQ6lJFNd`;{XscT}#V&346Zw7XS zp&p~&eD#QFOHH%T^{DYZy`WLd^y^%cM!dD>)bVW@xum%@vnzv(ztqvlw5A%)^qe5P z@<)gcG3xa;Ugg2uUNvWs81@@RI#gmWZd!}8rObs|$9$w%8ua#RPj}JY;}+=B4K=(f z7{swF0KIaQ&z9**{VC?6I@Yd^yI7CB>)+d}re{Z;@=6;}Sw9*w^f?#tn(fP{kA}a2 zUW|FJtakI&BgaKc2Qa=kVcqK>XZI)P+jriyO-;r}HLy1*XQ*#dUffO1P!H#1rJ|}; z#YFrq!fiQ4-{gtQh)D7u3@>&oZ;j;~`k)n_srZ}=vK8i1xSI>NyPdC`yjL17XR>$Z z)X^(da@epPbhqBUUdb6rLLibQ-V8pVbTO= zPl@MD^7oDw#>`ijj!kDMsVXHd2N&RbW=5)TyUD!!!@m0Fv<->~7E2p?6fMAf&DyS6 z{afvq?X;z8maLE&+c>UWBs&^%xAZ=vLKxgZhT?4vzmDBXScK749t4) z^9#G3HT5d%=MNT35q}fVAwh%0!Oq+5tQliBIoa*3ElQ{j61$xhe4Zr0Zf9-L<;&P^ zXSJ>mm1MWGvJX_9?RHj+Uere9U+t_SVd^?zn$BUngTiz&SYdlw!t^G>*uAVo5sIM> z#n_o*8bmSApjft0tS2b88x%W{aC@C_N9XWE|G{?F%R!Mr8If08BCk(GhHONVM5tsP zD#e)^5k#eCP@`L@u@ltz4Ju6}DoH0Q#W^Z1C@Lc(DytpB$vNh3P)tikOj}D#`$SB~Mhsmfwo50r+c~y3D3*~C zJJ1q4$mWl2#Eyu>jp@XVJI6f>ikrxYd(jfd_F>O##4$zU=XF@|3(oP2YyeqC{Ax@5 z+llzKjretugpdEsAlsTq__gs*3^GI}jq@KEWEkBxERb0s`558L2npOHdt48-~ooIHU@Lyd3|BH!&$_I;yijRVaK@$F) zD6+#7*&Q`uTw!p4pPvJhkXJ}9uCA+3;AkpsXl?+3*sDb#K88OG3~qrzx-vM(Rn?#- zjt)@NlgQez2UPf7*id+TY&$r)mz~{BfGjNM$1S~_e!2eo&0BVM_gx1+U(@Dxon46# zNd(3j&x66AsG89>o8&Y`nOL!1;z*1@%LI2?Tfk~Gx44Bp?P1bpd!bu@gEZmzUu4eh@ICloGV6W~xuQ zcK3ai`y@HTDRYz{cg}t+x23UQI9MKu6jYOkKJ7+!4(i#Fp|3SLe3gU`;;y*h8;%!^ ze0smja|&AtlXkmb{PnA_B4oenecUgwfjf^&2@>lZ;+(lVHK-1%hO+#HGmp9uqE$2^ z6@AA(pF#?aD1hX=6ShK12h1Obl|}gsDthZKBXpdUfy|Mx8mUSbe3nn2W;^^ZSvrq#fXNx=gvy1CU zlLu|qe0$5VZ7rY6N-~Y3`{7v|7D*X%Kl_}4%%2;KxCl;iIPTS)z!+e!^HHe0+T+VdL3aL?;mk)*g)i zP!X+#i(Bq{6>D37=Wu)rISi%{jx0&0fgZ-J_%ono7Ixrq3h6CI4RvRsW+Y1Ue$;q( zgTijl{r7@*Ph>Mr*x*c-G=@yfIVPV5M6^~$KO;$JHGAj&IvdL*G9SpZcXAIl*6aV*=(3oK$xb0-;p20sJLf;f<>weGe=U4&9Ho`r$EEg2Qh^w>MUy)RJ zyNQppybw&C2r;DBiF2w;z~5J)O0Jt&~ zgb^q*W@ThTtv(t_V-~z6tR;PdMz}%a%KV%c$il(=nzCYG3z({7)vu&ztrx|Skd-0{ zE;a4V=_0D(UN4!tmcF^B^A{pT=8E&q^W*FykSwC@+PWNi-!G|9hmY9Z9mSca<*Zoe zs2R2;ZjOke60Ssz0HVNYjItND0SJJOS=iQ<8-G?!bA4$p$7r&&_QeR_8H5VP&fPlh z>En7?D%_{;Yk?88dS9N^*cbhS=*ElOLX+4Msk9HORrLB)azHjDu`e4S;ep~C=Bvz~9DX0O8l{toozCacn zkH4kx?fd}dO<h=IK)}{F-x~HDX!0(I+nd z4b@!l#(BFc@7usHy0qOjmjMrIRIYSkxr}iGPhn-rzBEmapm`(_f4*3Ni#2UrRuffd zhS1vkMU}22nbiKugpjea{D|O);V+PkklGUi-L*%$)pq$~&5mHWQR4T6sD!o$C7H59mu~ZBqBX9YQ0XfDtSd^8+3%>KbWNt7(`)Cssh276&crdERP?Kb=>C~x zswYWBKEtEeI8T^#aHCgIXEWDT!<)Etw(BBaJ;QTWfywsKXrrtJSek(+FsD?7WcN&& z9#RAGUK-Kd3$Lm%eQ=nX)`j%$GOSJ#vbHg@B^;su96qVGHUH&>?~Rt*w#S~SHP?!u zk2!#jTd(b~H&*gd{B-nftQC30Eah?`YWm%I?&!%122=+BE8@yN!&ge@yLJrBS-?G@ zJf5e%<^JY9=b_?)De&L2+(z-*4W7X2W--KX?ycxeEFJ;5`5?nt$*f#CE0s z!F$+q<$sd*&~bTpkjzQ|oA)py)@(D%<~=ALoL0NcF5j)Tx2?`*^B%M(m`BgvVDlav z=d{_phX5q9oy~jL@Z+gr^B&qsU*o?$l(jwo@U_#tAe;BF&t@%-&3pLfuEXX%1p1q{ z&q^N%erQs|<~_7mO5AK6Jh@hw@nmaJXSnt8mB*j*erzofdD})JZU3vhhyQaXivKL{ zfdz<=!0d^_`M=D2_@{}Y_y6pPA|pUaHM-?cbeZpI_E6DuH@Zsh^!8986w|Qm#~v!G zF2}T#`-T2hOY@s6K>!RO;(zB#u$!7GT-#iU7=fsyk(ws&TCRTJy~v3Zq^GOHBW6|#*o8&wv75B{Ai@#^K{@uesC7XF4Z`>?qD?cRhK z0Fc@5V<=+EtQM<-uFUWa}cJ|VQT^Rp0TcUBw9f1sxQ`EP-Wps#*u)Amlllau5yb`TgOoJ zX?uN_%<;N=Xs-~G*M-y^90)F+vCDeG!ze2jZ=wlwTF4i#zezva_A&JS57{IpO+4@& z^1R2pnWGr(c=0UG*Mqrcvg3P4-+k_KE!w4-&Ht_F+?+ONP`-5vr)L{?Ln`nCY0i6I zKsylj2{`I;`0~d9)bc*((Etm5G1qV)cW9k%TGt0qFNaBLCst>NiJs_woGMp^!2x{ zkJh@y2kxoozLLgS5QpL>W&G1~N|?NaB=4c?@;*qj08B96*cut8$}^g@`L?DX2y-t{p2yFMUnKdYWATcj&p znix;D&}~=0!IG`44e{VJ5CfI9q+UG0X*yN&P(HOI;X)1kfNy!{oiN9@;Co~{aI}v5 z9z%3#P@hrwWoVh6mtFXcd6GL0UJ8Q9pK(JY9Z@L0eeazN$!Q|9ex9BkDuoGX(~N}9 zyUoaNao`Y`Kp$k})4hPHTC}Z*F%QT2<^m)R84eU(#CX*i$<+i^+adM~kTc*yuR`Au z-Q>TkDR82hHoQT3CgY0+mZWuu8mtF0-yv0k+Y@vMNyd?#qPTv6rIcKXgpTs<=hiF$ zM`56tW7@p>o>;I+lLRi}GH}el5D_*?0^L1C)xBIV!G!?a>q1HA#8*|LmdU$15U5;# z5=(#=IJ59uegC3Xq#Klejt80WoKu;~S4u;_B>!E}Zaongckp?5PKz(J=AX z33~}HsaM9$PR|+`bF)B?SJfUy6{;p4MP0ss`Ho@i${=k&4vqGwJLG+CH`jJ=J#gIG z82xMNubZ$gA;F~G`vQJZtv z{s46xO_25x8ExHj$q$fwQAmF~!)Mlq@~RfB&esXrgA9+qfIh%RgHDk7a(_t^0Afy) zrw+ArjgYhflGob`6tJ06rEoJ-Yz9}NQFM!jq76SI3&+RxX?FTy#M4Fu;Q8h8p6afa zB3#ufcbnxra1@qcFH_C{F4NGwf)o#Fv3Nj0-Ee++70XUY%A7Lv5C|Ya3I+&g?W7wG zVTvbvmL`X@RGT>H)N^0Nc%8*wA;Q;}8o(K@!N%vTyHcT0OFE!Xz~Br+9|*qkBgy#c z66nfHtS%y@s&!78Ur9Xi#H{A@6Q}2GCt%T+LzBiYsZtusnaM1y0v1Gf^r%T^3ggOC zj~O|-V@KRV-H-;yXRd}31d};-=+=84u;y&sCAuEK^|l6b^H8qF$dXIr=>rbvuR9JI z$era(RML-l7@kLpOFW}4oW@PgBxAv#^u)xSR`QVNbcBx64o$gpMWBQ4dL!5*l^cXQ zVY#EZewsvz_zpmhQ~wh!JSNbz+6_;F29M-RGr zl(hP5juOr6)q&Sviu*F;4)5i5PTarC$aT+3fV6<2fb~78krLk~Jut=3*4tVx`e^S3 zZM8Rjs*Cs|yNzuuJ$&jWGX)aTkSG=N6*%UOUYgtoRdZIZ_w-uHQ_LB9VM;~8dv3fG z=ZB~USKO+VYM?B)Mz@V~)*C~)vo9ZfjTit_wYt}bv7Nn_bq^qt~wp`l#tfv*`PE?RS1=|53sN$w!< zI-`a1nJYROgE|x8pUtiq$4`TWMyHDFs?h;$TRTZ{aPTi@>IGcU=w^*)n zK1`jlEtc!eh3U#|i{(rr#hfjcFY{PVY>VYH>lAyoSWZQ;X=ZGc*(||Php~+^tEPo} zvQcITPVb;?lvx@r!k>*YGe?{iiM-enaltt8EDNJoXmN=nKL4qJEogE?vnc~ICmm5 z_eE>&)MW0=W-e1SZ(cWV!6k1oIBz*K@2#E1YX8l*lX>62<*i5E{HUA%^>F@Ii<=vn z`5&9}w~#k~ZRW52qe5@TZtHyy#sa@RKYTC>7v*0AXJ8PRKnx!c2hZFdV<-Xzu*zH2 zWneG>N`qvVa#R=9L>IJCIJg^Qz{Qn7ALVY5Dt(PRFOOVY_`s*Po?}hH=eU9$`8( zN>BbelhRh|BdYPCDet|fE@u`pT(+tEDe0Y60-mgsqj=R6IyLY0cx~c>!>Ii0#SZf( zX{7%7Taq`|f=+T{F6r7ED+&g{=y0m4`wkd~T4%bWBi8V^*LanYO-Pjcd2{mk=E>;@ zSnQJdd1_06`8gI&ncj@c(WtEeyF#4nzj@FSe)_uhXoDma;A!nmJt?Qyw$Y9ytF!H)Y74XAu3HSk9o zuKMbjn=;=|7=z69kVrj+fs`js~N2rMRFF5qHw9YSJpT+%uI#t*gh(8_CoO?d>mM5@^%V zN%@!jTosn|qhke5t#mb)(sm;|QAD3*{dH)z?P{`@i_ER!NIV{WX@TwCLyxpc$v>J5l zCB4S_icnYCa)YW(LDj2_U8TDXmG;_Mpce?cgIkk?MNG2a(auKesVA3WZwU>QifgTT z^`int0Vx>sQ(N@g!vk2p5tlJ1uz5SeSQxL_S?tJeh#j|4ClxEWtYDwsH{5TiuFvR|uM(cXoh8~IE+&IVD&BPWJ@;e03uO+Rm@enlS5dHI_hdh?Nb zJ8aOJswd#BAN7h-pc{3{`qF$b;fuoOJ<_xbeJZ#{lNhLvz-_SgYnod;vW$vmEk2|l zCV$77i2u;KqVH{vhBY3r-+L1-g$Wgat>-yDjLgWr&H{C1yI4KH)r1w?c&4-;FEuZF zh=MN3#HLo+!ugL_ng}L!yG_eadg~9uM!i2pjRxx>~4on!El`RzSZ?#wQbV zahMi0Al-fOHQkts*KQ-u4v`2_h_|=mc>NK=_X6+NI3L8k8i?WhcAoT@D5V)m_j1mY zBTZ8(4>6@81PbTthU~)kUh|rDJnI#$`yE~l_&Fk6z{N59@g)jLkSQ6m6sM;MF;Njj zvM~&nu=)i_tdc7>lyS+lo8r)hP+t3t^u?L3H(-iJN*&?4=z&Y?!Z+M3fSgn5BmO?3 zvw*ZCy^AWmR=4YDCgJYPgtl_u%6$+}rNDH&zt&djjdD27WGvFXlF$?|?oXadZ zx-+hvLpox2-|8K2B5}eTUb!YQcsjJTyc2!k2%1#)%0@5j;xg^>nU_4~!l@*XF^y(* zb7#zBLXhSm>3g1QnnPC|7y45tkNRsOz<+rS*PkMHr8 z-NK{+Ov!!kX7!mV6Hf6{kB=t5Ut`LukFyRn?Q(OO7IpYj(cXziDoW?bY>~mR^Jl3 z)RY9;$>L)p9 z2cWyP=%E^lKii(uC{qfIJ{jHof<^oy2!H>sGmdmz=kd*E8esfQ)qR{l7swG^F|7$&|_stn4usFQ`u zT9xvC`TR|#d%E)o{h?eW{(L9ZX)D%~>M`}v#yVn(ky}2bN~i63dsXAA67O{XBN#u~ zK#Tmw3{zY zr3DQ|nN1>&0uyR0+*W-jvxbl_950x<6*sqWYfmSf(P6L)Dm=f*e7fpD#^Q`aqM0z7;9BmI?q`wj%gC~|j927>nrpa_3rBSe8%`SP z0NKhf?-f)tl+v0XxQ6vRjCvVTAl!uFo%cK?c6D~$-(PLXvi8z;Fp;%KgKvBpAHTvl z#9tl%6g0WZUhl^(@dpUlfz2Ai7Yf)-HCj{e!1YqX#!D!NXVLu+^#to$G*jVoA5~y8 zLG>zE9s!I^Q17?ldjLw(%Sb00Z4!yEyYUE*3g%d zvOPYeQG%th2ZR`CV%?M|=CjcIVPrHO!Bo}*p~Y#mpd#&G^RXut>2`hx6_pLcasE&{ z<<(S^+k=VmNtTJY3uJzMjA>MM7Qr3e+69EeSRoFD1v|C2IUwpg1@yK#AeK?+q=4%G zy&Mo9zI`KtY!1k{78$#2AUt6AN?O3Z*uUKPhpru!y)qhH|OOX zqsD(OSyhs^JZw1{8Ie+|djFQCm!-p1_U29J#*)p2fhQ?#<0bpJ{WPyAj2A^Dmz&xs zXeUI$A#Ue~I!k$>Zo-0ob|IBcx z07@!sniw9U^n0FD`Fn~1_8Ry* z?z};OOGRLgYjI(DnF62P1_H7(9Q6Y7LfcWUO&Ni=pSS0^x&ni<0!jjM1qFo``6k2#=+m&~u1^ z8Y@v@gsWlUW>2y;X>1hxN+eMX``Pb zStDQ6owa$LAVuWhb&{dUwk3a9YG3|6b!9%P=vaN2cF-`sc|Cx2O+p&UM}T0C8D_cR75tyydYQ( zS6&c^`Y4EmtG0|3a#^>mr(xBEjCN2{gZdCbDgmlT0fVQ8Oki>jF#$ET4J5Ik<`Nl9 za*Bm>Z1i!LAGeA)?@Jp~L_t`JC5Njz_eeGRO=V*>|N3FDo8EOqSml z<(cAYvw}eDFWdD~+`@GkPP0KwbKxk}k(aoqL-O*3K+gG|5;Al&6f0X7wq$;_M#w2F zc>}$SJu)(ZC=3_F9I<)AZQorQrW(Cc-E!z-MU-8GX(fTUY;J)HD`z}KzGnnPWvZYp zjcZ0E$-YfwYi4Qgy@FaF+0*_kLf2y^xo+@#QEf-h zV4n?VxbtYY)c)~w0e8(k>We6 zq%Nhd@k-FNVgmV*xHtel>ppoXr%2kgol!F4&0T2oFhwt$c-?StiIfqpnLGG|!{i2i z9HzWwY2E5G^r_usuP3ySHK)_G+v+6&$sv6B4E5!}hCFTR;;R-X=;7u|X|0^jvE^iG*rrChaw=I2H!O4V!wBK$m+r zsVlt&$7riNhLjPlRZNKq+PJXJ4~`dSbNiR-yc(_<xahXu^^p^Z-#30*phQQ>iyWEt`QOxI>bTVn8ot6=zGc~ zU>_!0d;=~5C*;?5H7N42cAt#GFUtXNqKG^@!@((Tvja`&j+GoGaS*uq1eB7Vyf906 zS<)4fA(roBxJ;=2vg=}4`KZtLr+nvdiK366!1-N1RPdJcL3h`QV6qG94aAAm1E}H~ z=pG|Fqm)C{*8pXU&Q$W_joKmLrJ^nszcD2f8rVI$Y#j=EHQ1waB{BUSCQU-L2U@HvkNF=Ua>*&+*qe1G7EQ14sP z<3MsoJRX^3XgFmWSu*G&RoOBiwfZr=4Ukd|3$+?rZ%E(A{|ZDD-7D;UE90TDr*g2G zRRgmE$FM%3xlIKV3j-_G6`lHxJ1@g?m6vI6Q^AtRFa&j*3U(maa5#6H3TBcRAM*7A zXm#S&HWkbQbs#KphooD?NfPld6Txp*mMYK(LjN`qK>v1Hhv`C1!wzuA{G*8=%{Bj@ zOa#T2wcEkln7Ei@cmJB*GIbN&9{$O2j7lI||5o27CZo(>{Kh@sF&%~T%rCFRaIC%? zwvP|vSz7xtqh|Z@?bof2g(!jV$nis-Y}jc-5g*-74%-zuByLVN{~(}Z0D&I_?CRP0 zRxk&<4(OV^x4DUc!G+tu zURzDPoTWP!&npkM)W7PZNm=DtZxgLDG)}XLR*g%;1#F_#e+b_i!Y+;h_GVhWe=XiN zvodkgDIxFvz1#1e-;Xhag|r8MBt$GsR&-Qw?=$?TEQvSX=#|4Ft5j{oJ8rW9TYhr%%&<^P;ce?U*?sO#+M?fdg5 z86JtNqCg;{&$sJDr?!8Rm@2-fbAP7O-wh)nTp%z6fCKC&4M5pi+cuH2pEOL3)2ccn zFZ*bPosnoM%N+CiA{+aNluHWPhy zDihHgfm97b2)-b9h9>B-C2IChvPVP!QzA!9U5!DBujyX=BbS5m9TE9o6A+S0;n!s6z&ItGS)%YTDE@@R`o^q z_asOkP1@nH^)};p@R0q8CFt{!lJafF@wK$o>(x6Sz+HYbj^zz{-hHpVKiavZVDY#; zxO8qK&`4ipB6xy}olZXoy>b2n=lGX1Z0wuf#M;>L(}L$_PDOuR&n#w1>L1@KwOxDj zZQt?c4`05%yXC-7Q4JuI5J}HwF9Od}um=Ri*%0jr<#NeDfigm<{Oh;RJtEL98#^Pg zX^veH`ATMST9OUUMFx2C^8)i-SzqUFXg`y)i~XWo?sZDHOL!q+ZCytyk=RBpW+j;m zSr}-sDND17HbN1`IHRm|pVVa{tTg3Uzd1hL<7jIU$u&tdKGCakB{egwL|1a(*@lNF zE?ruzxRsZ^Z=H0-gGW^~@0yUGTw=B^k!?mPr#(ADz8hR_gF~?Oj^qYS%CgU^J=f&Q#L8Qqy;F^qGq0%U1SxahbQ*WFJT0=54wQZ&_>q z-0Nd-MbpXkeaDtc53%F>SH*R@_7JqL1S(s#ZnPnnO$~dk@+T6V_20rozi9D`xPf1vI1%YZkVm!~c!>t2}-;t#$u zb3MJ~$}DOB#uX;zjdsu+HTz1?eC+AwpjR}FZ$S(Hsc`y#jC0ERSD@3rU97Fo&(E=b z{sus8eS6Pl?V<_*4s$wKY@LL#E&vNN==aF@?$Y23no6*U0bv+D= zDnyu>cVV*DDRS0@oQD}*LT&5espo%ZzVebu9Kym<^TumhZ!SVbjXuSimSWQH{ zj#(FEt&%e*x4Btj>5Y!WQnBR zD5=M6YDiHxo8wt?qac8UDEq>Kv9P#!?^Aicl{NlvIs%l2Fa8VesR=2t!gx>qNcrDM-!&OFwZFgD za?{nJv$xaMTCUsHzI?yYo(J%}XOaHko_gMhjQ-;S40ea7B&M+owb|cG`9?_YA68Q@ zxD}T`)h)Kwlzjo_0qi2Z-wJ=6WwS`f@0tFXB^cbr_^t434uJWeY+r!g930J-$Q@JL z-z$BF$p=9$Z_o6XIJoH$@TYA8qVvo*Husc$0mcKMjHbOHdcng;Gz{;!{Mh&*b$h1o zU3k=+fHmTIvthb@0a~#Vtsd}-J_5B&5ic)_rlgfe zHLWxj+al$qJ2fkxCOXxEv-aR`KdWslAU}QRM0sBCYZGO2n|~1C)SDdGcjt0Vj{dn< zFQ#8ss2tzzv$-XaBQNN&Cv;fy*kDjWGY4%alsVGU;1ip$(`{yOl3DGVYZUYBo9Of9 zC*^Tn7DH`XO>{Q*G(zkDA@4r?nrydx;oqr*9zw5%9;$Q@P(u$@s!}WgL5hfgNVSB} zLJz%23B8JdNE0*^1*D3Kh^T-_SFwVX_r}L(&+IvS&z>{0XU=)w_g~0|d$F$TTI>6> zdAISj-RRNS=*=zM^sOjn&BYLqXK_iBJ8@u8jhn|nH3eCYPA zU7ltA#rUqy0w8g_I*Zp_Br5%+^A4U-gEB>K&0U&{KB9*bh~d-rD2e6|-hL1(61&1l z5zF@CjF+m+#U#kK@?jDc@8)tOsZ6b)lQoub=oIbGgnTECuQ>OEx@_L=`;0_t+%-%U zR~Iv^jb&bC+8_3QmF0M<=2iC5;MG?-#8{c7T=#76r97|7nx%Z-*3~62>04&GAZW^a zxiEC8X1VCX=hfw65>j@Bwwv@_LXoOnDNWK?TPdR&%dVDZ9`;$S$URlNS_vk7uU64w zW!I|9vwhZTsw->PYU^9q*6JGX%C6V9>?VD;FV(I$bbVf1zeY#OZ8Y}toZe{q8#>F* zjp*I&2I?M8hsW}kl3u~J$0{~n%YYc}XHnDia`k9n3~{{W{%N&EEj&nj9k z7j419Iaj_VS$);5EEYMmR(rcIe0@3kuj+&(SSJJ_f3JQ{*9Q;34!`|p{S+k@`u(b( zf7F9ZyY=&TJ&2=_PbVfN#{Z=u&Q8t;a(B6=-FgsxCBI^qYXV2lbE~Qwe{)S%&B-_a zxZ@*rU%vy6o`ZLMW&^jzeaLV`WM$!nuiY{_XdEe?z?wfs=E#E|=%l zZ4%=0w)OVrv%9&USVwc8WJ6$_5|^!s+uq9$-f3hQoRRa794gzTbUDg2oU zA~fZ(z8i|)|0Y-u4k96|yDMzwOvkV_ zzT>0S!t%@EYqgC(NfE4578IghB$=1re&XQ;IL}J@MKNLO9spF7$*g;+);%zo0H`&| zziKsxb6`n305fxgjc}|)c6%D(G;v}~hnnoQkf;O>Z6v8pdA&^5TKcEwAWI7`er%a3 zB8^Q~*+ufmzN8iK*RI4+es-*s!8Mpx%hQ3^>y{x3Ad{TODk_H;(u2??Gqtf@+MPl|tIl;9UEN>Z$sL%%#)Du{sovsgiP zaVRa|APlwJ)DW?MyQ#U|0}$i|QU}YyTR19mj07~-J74>wh$Z&!HZ?Ecy*;96HhlHc zA5G1I23W+_0l-U|{nBm|7@u$;JTWEp9La|IYk%fMGHA~2Cl&o_YQ(No*3?31;+%E6 zO^su9OIx;gM*HsAf;5@lNAWh0K=l7HwxG+w2@WY>CVrjj>6{OM$IpH>ffO1ru=4An z!uaa7_rGGDANGFz37+b;%TAetMGVCmEI=gXLt=JM^@ApKgCktO9xA{l5NnX|`&4hY zQwvtH-KOT`y@G$qb>3}i{>$cEr53W9_WU+!X!F>BV&i<@apX56@al`>PK>a5k&vO` zi@{9Q(+!X?@ajuhJ4(dzYxK%wwP~@{X!wV&Qq^-iWEPG8-PMM^n*1KTiz+eDLD~tYIp@F3B{0-6WHdf1VNk!4%M65svCz z|MKoPbdM@A{Cf)MU*7#*%+1Ts|LZf=?z>+MG#Y??{Cg?szc0z|fM=@Ro&fxu=5X>f zd~>;JIXz1|q1~^k6X%Gt#z%sJV;UxA9;n_G9Ah!gb5Y<; z@-^8;X8?%+;+^>cL7qtx1Of*DESB^X#;_w*AdH`)Ke;hBXAEq9#*_3;4^KMZ1vhI#$MQm*;-eg{3xhW?n$W5Nz@OTKg*?VdP4hmq80>}LdzANBBUC9;lzTI; z5cU$ckjN_hAlbz!ni<;4Dv{yyKI-^T^M)ATA`p$atVtg{s=^RE604D>gSRmh zC4FT7gJ=9Zn;P`z;Ye;$UVaw=E80KZBxC!gGb1QB{tIWB>EH(q;N7M9_NSSm(5yn= zfN><0uh_HkF{Rxh6)n61e4VpLNdT@vX6-~IA}yD`Xcc(X20LQxkTvRx@WA97u8^#w z6?DffV~F}$)?0jZC4b)f2FRm95cEh%bKWLrYI_r3Sqh}G-k*bCNh%ZGPkM?|C9D2+g#6ZnWo zKS3^Vhw+Ongw1mjMM;e&%01?21`8T?kXOS@YXU7mrCm$EE-Rttc0j+}MQXU3awBtO zC;I5>(OUal*dE7bjvcu@&hSMAw~?f9aH<;HsFg6J77#{lnsBFTb+4@|bH{yzh@PR! zf8{RCO|^M6A?0eMPh}5gP&=hW3@trme<)jnvM6=fVZV{c{e6!xhN^o@%mpBEj>=`x zYI*^KdIf=y@MZ`S{^82()dck}d&6X=X)8yuM%9`Aqov4)V^iIVNf8p!lPDWZ$$rM@ z`X;pa;PR+fIy&=+-n?9X2#SSH&x~qxh8=N|0Vd}7u5~S8y=3@%Gwqx-wEIuKUmZVD zT1wN%?SZmTF~^wPa$P?x9^sqNa%(liygXXYq2SEIE`*iW?20z?WHb(BE4`Alb27s% zoF~30{5-_4LeG?;6;L=f1Q7~71aB|1l2$Qy@BMD?EUyZYA(TMI-Re?P zb2Fr}#dSqe@ssyenlSA>qqEb@sKXSqiP^D2$w&Uy;%v-Rf#iV@CRVoG)iBfiJN?~wM5Tj-ZNM2$ z^A32lkrEjT-tJ)dN|_Y_2!f9@lFLjm2Tmqk08Lm>b+D?!~?7@^J` ziIDdaMM`Vw-87U!jTzH@ljn+F_|?=5%ary8rPmZ3%@{X-?*WDTN2Y{y!2_Lq`-U?c zSY_#jmOtL-l%_#>7qlgTa#YW4QFsDFWQ-!Jmr3#z{U}#SjC|;m;lrpGZbJi|q&McZ z-w=ZDM8pyNC_U8Sb^yjRA>~s+z-&1$i)tAwkwnO8?_21HmBM9hc*GeJx1pk71pGNm z;yqJr_F-wjNUxp5ICS!HYT;AV%Hg4LgP+moW#&!@8qOf4x8IP@P`!-`DpK?haNs3Z zB0u}}0&A~CU=MA*1r0?Z6GnTGp)|PU!?~Wfk zM|+BTI*Mz4sooyVWRRSmrz^?GGHr9A1)_0s8)jsFRIyjkurh-lAWYd;cRjmq8aLnl z1I*#o4?oAO>z{3&Ro%N3Y*=*U0%cDN2}%!e!Cyysv7quNVwTpFGU*6uE(l6-lg`Cc z=(2K`PB!CfVC|%D=3Z;!Y~kJ)37_*G>}Cnw`TH>G zmUPMVgQ*q0Bq}#_9$5nCtM7Pt0KDbzq#|}&cCbjF`7t=AFgd5UgU=&4Ih9r~IS zMeKYSmlr))YHyoF!2VBl3_8V`7rq86%)!4ZSMq$vQF*zgChb zOG#UM0%f^useumdRDn@x!Nu5+wlrZwC1pho4V^wPUKV)YgE+XUYuku=q6}cRC38+j zF4{=*uc(TiJfMt6-9Cb%^InL??;sr-4;GWzkD34{=x{voA{meP&Kc(SKrJ8x;#?*Z z`cUl(JuG%EEX6v!qEar094SCy6kQ}x>2}i@!HIK#iN4#<5VIc53uhd#&IA;sk*xmS z?u;60&IZEWxW`5kCFupLa)&9o9U%h97%alUn&O}YQ=QQBeM!=w1M{Blj8t+EE+V=S zZl)ARZses`I&4j$yt$8O_=~1b6XL8%SI&{{Dj_T;;u7Xa1R^vR7fu0UN&nVJPnpUXlMK7Qq#P{ zg|vN=(KgjMmameG%yS5fP2D}AKnEFqBQ!DAS}LiLKW##K&Xt%2QAc?Tb4|bp1|h_z zol9hC)Pw`H*3oTYOA)Oh4l@xcwXxm|;qi;4${Ql4kc2Nd@&Pcm(;q6qk^1ALFFOwa z20sTlx#dJf50UfEDXV9Dn!JEt&Z1G{UA3d|h}dRSa|jSs6S5+~lr=9c;DiFhbis8r zJtOstUa=&-^m`rY2Q!36`Bkf<;;yLhL^DE4_0nEQKpYt1FSlWNcVTMySe6s4s+xHizfpSL-6kDOQ~|>Na@3qJj}po~m+vTlcrlb$5`d}1X!|b| zq9=GOy;ROJvb=8dXO0Qc01)2BsDs|Hy(eJ-9Xv<0P&2%Ys*{d)dk%e5*`a0f`Mr08 zd2GqQxAo0#g`3k(no|*%%B2p#L^3c`S21b$S3zYBlpzlFh940<0kD&Hv)>~%E3&f@ zyyXa0f9dwEgIPVok`vG<;uY8cIluIP^q}w)av|fF92S2-P8QV-k>qgG^*e&s?93E< za`<(tdH=FPDug#;8)YDalIG9hqKSng(l+4L3vooxri{;=DeNn0haXzui~%L4|7a-ip=PQ>ZT#&uBalH3#RLbBR*AVur#dOq5i< zFS+fXf#&nk*hJ_POHuv6p*dgKa7W(e((#w2!*?>(5(E*3JGM77%WQCacg{ft#8Iz5 zz`(fqt5ZHJi?yWdGOO>(!ykz~R7W{mqYh8Nt9aaIC*y>ci*k{03o29Y zL-aH;9I_@^^hoAc#(9B#4|rrvdauN8MpS`GA3QCL88sN{b-P}%OAsj}Rrq9&w3d&1 zhiTo~yuccN3l@Q5N0`)h!_912i#!_L3xT0j@@auT?W3WRr?L@@hC0f(lPXF3XK7- zGCQBqqXKAR`WNo&b`0U&1WWiF@cmVlpC)5ov(OD^eo{VDXqc%E)1@LPqYP9((tP3x?bdO;K>nj`)OXac*Bs3j0^|#-s)L36OZ?YwN!1Py41P|HT8y> z^7N-&!>5JdU%ei+1C~UjF*@g!+j)jZCT5}MH71hoh2@gXu-YX5mFaa!8=5Xq+sKn^j$-#uvD!pTK7r@7NWmK0;20tQUg0d8 z4&Z&>ggQKSf~eBsf~&l2*%(DNfgF_GIUgKJygJyKt*+EqC(=Be*zI_;8&?p6w_KM) zb;#{=U%#ow)1|J`mC=|H@|02YV|U~ufra(F092WnXqKH6%1-H^-C_8oGirx3j9St? zTX+7-zFY00y~CoCLc_&Pg_~N7s@#>PgS2$q6wllGE`)- z=XOA@ITpUdYrd_HlKYnOmV#lXDXluY^q;?3H_RB)3rW+jDp9(*Db+93?~tnBuO$O< z(jE2lm3gUoYoBZvM22x8et+G}j?_avY@)RZ@!eH~z!>1fFDVZoH7f2o-Q3$reKHKY zUX%P{#5vg?qpnYD5EbyR_mSy6Z~PTj%{W?9uEdTGeixzP5^FV*D2O0%8O~$9>X<3W zG9~Cm7%*f_1sIG`Q*m~EnbFa-AzGIRMz@C*d(UGll01Ph^EbOd)&|pcJ|4!hUxD(l z4DePS`TXsa5%IDmspy9|YP)85M{X2`-NU7nu)@R(9!j#%JgPX9HUJCz(AOf!C>U%e zqd)32E5NRUk^x|kXZuy^uJ|DspZTKhz{gfB_9Ri|mo^0Fg)-JgTp-wbvi04co+ybm z+J~d#s^`YZaG3V99mDVSIuJ1>Kmh_pi^8ueT?(H_wS}y?cPm^(Wi9Sak1!V%!eR}blZPC@-1Q^ z@fH@eo)J(ig0@I=s*9K@*D}j- zjRwd<_SO>LT)Di-)L%PMtu)AVf(Cc-zsycOeEWM=9QE+Wmmn+y7=3>Md!HAiml`#p zA5Ggi%I=uL+qeGI^219%Ch`wkKj5GVWq(jdvQA}8;>WL*2PI?S5%8Y>O zdNCI3zP_{nm2{o%n~RKHMGz(YUS<681Udv=tN8LT{`pi_djLU5}nyPo|#GlVT=A({BD?95Y7jY(>V;0}gYDJx@@vmzLIlxJ_B@ znI7|FEr_bChMStGl-~uMs1YL?>`>!gR;X$t&vXUqbwY%AUs$~tL;@X* zD}K*=D4y^0`+>fOHyuz`*`q}}K5VZx-WXogN~I>htvv7|8$ZrtaAIB0lSSlF{X>=2 zM_Fmnb79~LgB@NFh==qTeduzByJ?SR0HcPcnzOdU5v{?|jg5N^Wtb-cJA9`;-Cx$* z)wDPHlOjs+g(<9A;l~y?gs$+E2?f4>k|j0bDEfG#V|pxH5C{VUA4LO?rx+Q>k#`?) zVK6cTnw?!%4L;)55snoC7=|)V#%gXd2Uj*Lg-pq-E6{*JONQ`uh7 zK*$-zWyO-ZW@d32X?|mU!+_l@Yp`)>vfNAq zZI#}*iAFLb4xoO_mBJy)+WjNH+eglF`>Wa%KxA#^-IB>I5w3^R{0(7#f=|Srj$m2&ueJc-FgIDtp z+>ZoG61=dcsvSKvYeh#AaDRcbwp_a|LjOp#Dd)-;?RP_yJB&o6zZe-jr+ZnKpOtTg zgs#1H|LTi|^l{S-^lDtxaa|Ul9<&hHxd{PnQ_A{LAJi$cBU|;4h|bF{m+|+Gni~qR z1zHteZS9Na)y%###Rd2RhO{ekoc+cL(zaUnM_}w5YCK{(M#KkN`+sm{TI2fXxREM2 zTBfx{n&&ghAtL|}ZJ#EJX~q$}Ksq6pmqkp;4S{vQvDq^LW%5)20Z<90`>)DVc^LFs zRrbi@MdnDU_WUH2sGxlZB#E(FEeqlrsSytd)~5q1JI_K3q>WQ5ZGgCKt#M%e26+Jr zke3;g1i$Cv)17+rQte?Zp%j=e(-VslJJ%i9b6}q${bl4N%}dNdMwHxB1fdP;0V*OU zdTezCc}Wl`3%w^J2)aF6W;C;}7V@@5MNjp%D*%&a<1!v>u)VW{OK`BIdO|T33n#Pq zh!cxOLoK~MI!Hsi7fvT)nXOOCX?d%Ia}NTg4>j)oPTB$)fBuikc-i zmnI9q(e832AR4@PQV~g&e<~Vnc!742ffP>w1KkT0?i6P-^*{voEG*+%ti23s_I&e| z5|y&j2HhMgw@R|8rd!ijby=~}v z^1*)HOy$gekCf(j;i|ThYMbLIwwe6sGbg9yKLs$~d)aAqmRnYuFxl}mjb?wKe1r9U z_|M0S?GY z-LX-s++;XgXzns&w*v>?6SEuyOO%G*-;Rlt=VB0YA_6ifXVeg&)@Uex zKliRf2`As32$c9dvhRVzq}AExS*#lC|$75@=$%gGp1Rnt3M(dC?|Y_ zsgIe-o(2^j-to~_4V(nv%fvVfmd1p&|!?afJIfDaKAYLHr(xN*;}3( zbVWJsV|AC0x{ zK97dT&vOh+^y93Wu+m2teu_D^eRF6^^6a{bdN5t)=>}?1BQHh1+u^QLwqTcs-oq7eZ&Nit0o>c%yLj*RYID}3 zq$TyT+|h6@U$PNmS>q|c+WF5y8Ev}50_?pbB(|XHH(f;i^(PaQ&xS>-x^6O_w!`r$ zK^gpAD?^7nC+>2!R1V9p+MJ&e$@v*XGDu!F9_GKB#B-yT-O^1{r~TxW6!p9#uMare zO-~(>Qm+%-Seelmcuc?bsruNc$JWr-Y0=gj4IW(^#NzGIN=4c8KQ=aqnlAVID_fe< zMqm3ye0w^_*492?`6dvgaaXL`Iv;~H?#*w{Hd8o_H})Ix@+U|hP@8nP1`tb)b-)VTN3+syYGtIy@EeC zqYrj1@D^|NtNwgPHM#jx{Lq(sCojIw9`9O8OZhSy@$A;r^2EI&vClVOA0SnC}@RQ6sGIt(lT0OZ825x-Q%(BnBd^jv?D<{j@ z>GIJhSs%7QL+mmbxbgN#_NgbAz`%|5wrt$eb9rDocS<@pZb3|g4ozardn}y`C*{2zfL_T{iXX~b z7=TKLWt8S!x=AtK6Og}{lV2a7e{JIX`*;k(N z7W8&p1P!q#Aq9hB7ePbp(c^-#e-{uNoQ5s_0>sujiZ%;Li z%KZoA-N~=-gp#t|u+dg1eRuFn!Q001UFq&L`B;6B&t zBo7x0ywL21&p@f;NfFDn7P$w7hrzJXb*0l&hSvb>r+ZW5RyFZENl26uo^-7FT~cty z3|@HFVO!!!9iLW#Q$4uo|C&j>ADc~H@^K`!HQ!0CXEK;EX`h`hjnBB`1%buJRO~ft z+orc5qVym*mm+X{b$Q&t;G13#U_jwEcd(}`Mb=Gn$*6stz>})ZgzEQxdK3y&ANOxR zclKG~E~?zKiz-Le{6dxE>%V-_-ZTHRvzT2@$Kn~T^D_IvTi+)?#I%^~(cWbBnlt>| z9eo1HwNaJHw4gj!Y`a_$LeoJUuNF06>}(-M&F$x#kG@o}OC|df<}|O>td!z}eGtRW zI1)gLx`fv%3Xt>*D8(L9BT=yS=yVbQv!F%pq^AJ%MXXa&Daw5>50nIQ)&7Ozs$Pw$ zzH5V0FAfr=R4XMMQP3zXrXXxIC`oIXtPuP}{Ydb3Bp`NKXA>8dnyBPDm?mI|9)ccH zB*#hvaJ+|y?vKI2@K^x<1mN%;BIKM%fc1#EvDr&0G{<8Z0S>|(rDVf@Vi3Z{LWUQf ze;zM*iFcdFEoC9iQ-nrF{W6c0Df=xdJ)>jDxch_km9ytv(_++0P;fK~pGS+)(m_>a z#C%v4YY5+G-7zFVU!*4aH&NIR7-~{#m;3V>TT1%3SL9C1Y(^pE8Y?rQa*jkj$Za#( zXtor0)4^0*f?i@vwvAc*jy)8waX425Whz=C9wZ>JAXTvmz{g z^_|W;pPg*>Qy%V$k<>bEJvSzxb>x-&a~>uVT*a~L`d#y77#-Mij`Ne)Id>TG8e9&aY;;+FZqfg`}$EZ z0cT}V=?m>neqidn2XOQoMnz3@TVSDaU$x2PCn-*rOQx?>--mt)%XjhG+ZJstsCbm9 za+AJNp4ss6sQ}+o`VPd3EB&>Y1;eGW*Rc1`zB#U)?A5(JmcvTJa!ud|p(V_vmnCNt z5ibhvViG>-+d2}6`D#?Wt@V)N+bAR6PHY!M=n#y*8vj6Gim~d62k8*(gv@7dJAZAD9Z`;CBoIBI)hWj}Jx2A* z(*vLC8e{juhxIJd&|GRK_C0GFHvVWECob=F$B(Sl+w8#*$@_1}G_z z*vw?CkI<9Sh962@!PG{^h#1IXvP`T)0!YYd4C6uPqvG1NjI;5Zd;-2thrEU;H5kJR z@f|flHDG&^{Q@4M>M>;SAS~g^fxT51I3?@LmF>gvYCLT8dA8tf#d*{C`tCuJ!;%=k zyL*b@JyrN&Q`a1^&KBT!)+&Oc-|DUr=;{3|&*6%)WLLw>tMx=E<`nl4SfkmQO{X3v zHKkGIOZpIUK*@zbs+kNU{H7WJnb>Sdxgs#xRQ`kWse&V6)g zWCmj=Y}@rnd#j_Nk=tBklf*a&H0=r1W09RZfKYfJXe=ImA^RycR)4Dt_oZIi2bF7R z^%#N*)pN76j^qq#yL$KPi4g%+%5AvujTP2LQdNNPr&DgQhTf~P<;(!Y8bBU*0Ct$% z@R95S9C`2lx#_@?B}Ye~rbdAG{X+G5;I zDIv2-LM~7;C5U)fN(s!$*+TGJ)J1su+Wk;OA~jN&MK6rJly!09wRQD~JJ^GHymT68 zWC1|!tvNCFa}cvzO34{DuB<{WVz^t)1w(Fk9FDF6`f30(nodTx8{W;8yc4jc)2V4E zF?P->$bo6yUi2K@1{o^B&@zO{1V<$Gd_#Zp@{G)@#?;L&Dx~habwcq&K6Am6#(3E6fQAo64_{3ohA0!EV|3cengYKZur& zjsLy;`M)#R{jYOIYIOe==rkY?N4@wrgWXFEAAapgfXiP0xLe*G?EY7K62I3Z>X0m? zT_Pk`5j^|?-8 zIGTcwzYB;Nq9yd8a?_CDx&%M3>vbSxe6FGC~ClcHe0!*^?t4iihISW_jttHuE#?s$y^-i7N71L#>iH<RGB`r^|T z3>vm`2L@hO(xl%ftMLZYt&QmjGDrq!mV`YrvjU_@&gz2tDgqFaXzn=W${-=#0{632 zED_#5IJ$EY9(o5Z$AO`e7$3PBK)8~0SHTyZR%75o;ZY6Sv@VpW^O*I|(1?(})F zv&JulBw`hMJ#=;Sk>yf?)rL!o>5R>K#fvL#_iXcI=Ee(OFSgDUWiRfdlw*J7O-9%A zp*=OWlye!&jupXV?6ULi4QZ{u0^steSOvK3byt=>H;*I=E`Mel)=36bgO5Xw%4DZ`VT1lZ!UlS$CkbR zv%6mZ!}@`Kxyj9D(YxX0eIj2sCf`OoSH2mYph zFqz&RRw3_cI_y02KD&LSLNR1$`1sfNIdqmvr8v_OH-QhigBD9j805E+2d0uj012?9 zj{ISs|EVq^fL%}~IpH5fH<78=TY#p&7IW_u-xy4}`!8bdqn@Fmso$W?{K5>CV|R5n ziJg5l=?wsZK%p=HEUA4dNWMIs36c$oft3wzVd4s5VEg#pbQhEXFCd1L#oUadV)=OC zELcqc$ym-eeD02U^FUnEpPOd}$&_|JW#}RaZbRN2u@)6(;FCjov=4#m68Q3p8Fp%p zIz-bqL1!HiV?gWaXA^|YTkD@(_X_Z<4_9BAV0yo!w5VhYA9~yp`eE(aFz+4*j{SST zv&@vhY>Xv|eEbsS*M6x>&p&By&S7KNVFZgK*6A`Cf2d1hwF33AN744t^Q9OJtiy$r zPz}HwpI{`$Ti$|>)JrIuS{_S>Hg+D!Q*2_#9;)2Ni80~dIJ{#)qJQnv=Tl%(h(O=DC?%U0ktnHZtbDS3BOT7EwSbL& zD>RXX3Asa@BMSwu%*SQxs?dRyBrUg?V^0tZ3G%JmuHw=M#MmXEeoc-LNyEND%4Yk@ z%T)Yfn0UMj5--l;0+bl-$e6J-yU6IUO`N1sD?ITj_NPoaG_DT@^JY8m?$bZkwUx?A zsb7v_6Cs)I?$gH~!>7%u3FUjURY$X_S`bMEB%h(43`9964wr;VMIPpmg;tQta&R}ipAE}*59kGBSVDH z>kWAXY|lQ=12f!>gHp`PRrH6QdDRI2l8u&!ozp9O#{z>-!XJU_^jh$sb659{+0yZ% zFE4@X^mdGmg;-4VQoT8&L?h|^<0i1A-u2gc(#6oPC3YLmJDaGIzHc2>h1A?=%wGk|U;Q{~q51lsT2f8lYLpEonY_9F(pX>d%PR@HG5Mu} z$Mqer3geD%E|=yUP+6_4dZV;f+cvg$ye)aVy-z{(gTgEu6Q0;Gu-ja7TvW`@r*3yY)oq>|q<0qEIvG~}WF zkV^ibx^B|Pz)-y1GzoC2H+AAENOk>^UB;ee8ZntH{nkf^R(%$mZmBU%#{a6UX;8i(J8F0Ju4ni4Y%NxDjf>B#pZj@wv)6-4 z1y@|@%vpyW21c|JEB#Sh=rRHuM5O7q#>_5_@*J6%?F?a%V_SCcC3Q1>RV?Zv1XlD- zZrDB-YH&F@Mq^ahA_QZWyz&j|q?T#LbB{XM9J7OFoP4I+3r*22s`Kl!H{=zWOsj*h zKc!~~UOz%_3v`Afx$O;)Dn1*DFFt+k(-qgP*EeegZ>4DKY=2mJPbb^TW>Ys!=-nb%KCj-DH`y^y3?gma44IpBf)-3qbpey|eY zR)6oW50>@!2TNw&eT(_WDVAk_KgF{8@1$5h`8O$+Z+BBHk-#_L1*>}w|Mt#2eatn)~^|FZSk z{P0y=rB;RXIiHq#R_gRGTd%KgbIsEH##tBfC>r(;fHK~T3^Y!s&eR?(8JdPVO>mAN zQ@`IMcYg9{C&T+674TkNzESccNu$@9GH0cK^!kSMO5Enl!8?;({trHTwq7Gdx#BYv#rU#--d04o?qJ&jzxjwzG&okO$I2(voL2GEpg`sA*S@ijI9CEp#`2IX1kO z52S_2PU6a^i^QX_SSgSea%b}~D|;A(n8ThZObFkL>Nd5*~-?cF*}5j4%C3O zP;s3x%;1n;uQo^v9dMFUQ_@1y0k_XS8%>Ho*GwAw*yu9N6UN_)o7M zbXh1I0D)s0CapgVw>%g(K69hR?%>5wQ%_DEQ-4exUpqhTF0K>&#Ov*@tyi{d>xFy; zZ9Q>q(AFE@we?avKwD4e3ux;NXzkj1p`fjIvK_SbOccNTPuO}x{{>3q|BS77pZkOk zc)E0CWU5H}b-GN{DBX8g9{szzNdWTl02bi-jiF2Yr5*Y8(j0}P{%cD3S6{czTXDP zj}%6&CN&(ZQ5XLH4CHk^!y}I+@wtZL$v8b@&uVNYG)Y9_FqQJX<&{URlKzF~qo5pm zA`%Q#vHlvg#+KZ@8>kXblbpaz-}=!kh13(f^b1a_n(Ip}6N&sD9mqG9w(U4oLj73% zu&%G&O6=y=E}V9I%~Cn64=PWZ@voD~iQT|EWW=OAoMC-BXZ_{9?0{A`(yrKY$x`MIddsP6!Y1MmQjQHOv#~xL}yJZ|t69V|? zbA91trFV=aRoHwlOTm%N6%bCVy{EZhp#;%t8e_uetT2iaSeU|X$;W9lQ?iF&Y$mA= zG)8=-=8rOsRg66k$20E3mefhRr*E#y^dInk&@{a3rhx#bf|gnQgH;|Ep&3T@K4bPcr6Df4trkZR(2G%R6WPcjy|OF>=w26i9|Ii&(irs zvinp2w;vN4k6*rCfMGV+3|8%zrRt+daa3}med;l_sQ_s|OpVph#*G}>nq{+vjJ49+ zxpo_3=v@LAxqX4AqZa&3oNW?6cHz+S7Lo!n+&+dqlM=A(7w31=Ac9w48+a%yic`N> zMgIykcq&HRZn;+Q?e)mPmT!R)^rzboR66i_a6as2?~H>cc+jJzSw%j55OuVkr3u&X zzaOd6#TKzOH?a4z`c3BZ^&P{-XTe>aqeM2SMy}cTk_jDppzIO@Womh_^)}a0I>6;s zY_SMC2m|HNo72KtvKsqxT4+!{rJm1lJ{=ZN4sD;9(;S5AKJ5aK{8(U#P`!@}Jm_5$ zE3}=QRPsWvBk)~GP%}!Om;eXYO}l$G-ve}s6YClV_46Fy-I;my#Dy%U9tP6x-C0_q zZ(S+hz%+{6Eee4m?B1OjtEZvLM;>7LZ!KC^`mmRn^VGWaO3Gtdt%uW+C|9p(I#+4ei0yv%Cj#@crZ)&zGVEDB^H#P+!>x zH-hUge07C&8D1(BP9s%DC=%;cOH#VUZ-JWSQsTE`2xfSQiq6< zLQVt_)&!4Vzq+~8(@2@n)iZbtJ=ODBSS*#!!XWPzoG3jQ6$R7JkVU+L4NaCr`yIHG zWe}g9Xcuyfn@e6!l%+WV_~?W3t#5K?@HW4ans@$M({$2TkLqep185$ zY-UMI|W@0eFngeQLrU;E67B$X_xkR_0`Q*KiZ}x{!?pqz*;@v!0Vb98LvEjGpMRCe}M|Xwwd#hv5XPwmP zAH{En6kT7khq`Ob;U?3cSQUf-HPJ$)TB{2DIw zp_{0W@LQD@yfnTNM^I$dBGH-GxT(-c1SS|uM&4n7h3=uDqhNX7aju3PhNPl!rlVU= z6~)u1C*eHRTlz@uj|SX{3T&C?P*gRsk6FUrU*G%5vm9~lj)^{K2~@t{BMsnE_E=1t z+R%ppLb^b7OblM}!7 zvzAcf_6MuUZ2MP#wK$*%AOQacmtEEq=m%beHoUzcVkGWz7IfI+v&sU8e4C@ks)J^} zasUtOgPG|VucyB-Uc1ce;iG2FFZ?lwc|cq?RL0=p=(m9&C1x(hn9FgNNM=fsl;d$- zYBJa(IYDzF`Dk=@ks>tzN?~z@3_GNxw6b2hwC-w?SZ!nTRVe&gYZDkC*8#cpJ22+& zPUHPG#=H4W>v;af_i19E(ziZ*fqecRIPtA*?_6Rez}kyuhTp{>;&YgWSajIqJ_50fZfLeU}1jkF@S>C*{R_hUkl?ti*+!oGggCZ)*rh`sSt`KicYD_+^D?9%&2Wle6Adots4p8SyVJ+gj>Tg zr~BzKH^@gV<@j5Dk7?$0?ZarHlMWl=c4@Q0arLeZr)e5q_;G4R`jvr)J7X;(Vk3EVsH^ zJWdQ@ap){@Ch2V`TM}=Y1Jrn|#8xC>Nf)H&*BpB`cf-nV`H& zt$sIVTv#2 zPds2#xWsGe`TaWYRf8j9$u4&fxVv$EVkr#7#&@aL8}#$z?L+Rr=W<`y*Lm#i39+MC z(i;?T1PX*`XN3^Xh~52XckoIis3N2cQ6J`&R($2TV^q&nEzLI1F|4`|v_43TZ~l@-6~ zxig(HBNwVQLcx#ZTmd0QOozhSK>GO8N|N_IC(XOQAb3)n=5An!&HXT11_GK5oxqlo zl$4Ue7MYoKjzWmYzUt3F3-14e8FhtNZb5y6R(|6R#)A?77Q9X>uCAp&vw6TOjEPYi zap+)1eF)JzJWHnBXY!mo2fWi{d;03b3%Z%N8y?Qk#m^>aD6qV`_F=tmYYoM>v#dn| zS_`%Y-ra(MaT1643MuH z?~m8fYFBgfAtUz{WDa>u+IPa>NJYmB(+TqWCRqCGWgq$IAbRrtN2;Mr5?y=Wotm~|| z^yP*HU-Zq|xdaO(p2pRx?pw`|pP&z4|1$i*?8&$FfZMGucO8fSGew1brv~u%Q(!C* z^ygOk$5YY{hAlNO*J~r{b^Q%Q-7e=jo5KiS`x8w6otXL?M19r4*XBV0$Z!pH@%Ili zgE~jW5x|KE*g+?wlhE-X!}U~94jJ4=2lb{zj4dDZa?}{*)j#@umV#k(?X5V*re5p1 zK7*KnLDv?+r{&(3opVIUr9u3w@MpuUb&4b+XA-wCPRp=dPB`MxRQ)u;>ZSS9F|T-aKv#fBssY zZk)hhwNnv8PPw_)wGy`g(njE5WEy?GYGo0!(pbXP>~;dd6ppH15zM6M|6 zX;^97jK6*+Twj3ICT|O#wK-+f*7##L_}pq|eyHsCnOg737;hg4*al=V3r`Oo+nKx;m2VH1{P(!CizQEvV8tf2G6`b+oPr z;J`RuKP_+WcPZaQzPF*BZ!L+Yx)I*yS$!)Hq$H2bS+@7(rrUt;z7pIN@&D0Q`Wu*DCiQX{>v&bG(k^4@=#WOtv+1gjb zO*iYGc%#ee2+9K=8_GjM)#b`o%N%buK5H6~Ynkkqc5MDOcj{B)_pFfHPgmB_74^Fc zH~z!%G5Fk*=JHqL2_E4g;N_AAA_lhUKmRTRBB4ivvBUA8O;@{(A!Rrxg+y~4%>o-z z1;1fC#tq)FoXL`eOS7KmOk=R$Wm89TSFGg@JIZB!G8OXl4LneVo=45A!< z;8s(07h+)vi#ZH|LWBTFB7r6~Rv8VAWQLO;=ZmGJL}V0{l|STksBq1zsc*Q!8PQk{ zML)4^u5OEYdWxq@`eOg%o}o+J@WIir5e=@1scD(4B*?3oKil-B+be4osQaZKzqBbb ze%&tL+Sv_;&b93Qk?Z)6rkS^_x3anfa^xJ~wSUS0*?fs2A%A@l)F0>d)-6x^` zaTxnYGGz!2kZ_Rt@h7$ZU>KXmhXTzPlIu;V1CyOoa)BACrdaqf zTKegonZhFuDS(99&wjpv?3zuW96C`wS|W%+X0$R_Cs6!c1}lc%x(_aYeYK``Joi-6 zaZt!;pm^r=V}5Q`iT;|&;5-v;e(k2{tKqKZ=`FsbNwOkZgCl!_(B7Dl&a58_qFX;%A z?Tqr;wIPb8Zt33FYB0s(Zp zl^$u;(s;-E3IBU9<0qbF%ZD}0Uk_h?aS?$)SG|}6sr4r3*jx0XgtVb(uH46uPhUCr zgH2G$9~mv={cU9nAwfCQBN+unv=T=j-+s#g@}8C1J&5|BcM`{Rx$p&dB#A&TWsU6!#VIK-Mh;IDv?KVOodX#bA;`D; zF-@1kYZubkIzo}ahE|QEhd(v zk{lTF@@P(i>KJyC44SovN>&|gN?WChiIu|+A1rF;{-qR)zutzMrS7!Ky#LscMM9Gr z-sVjQH!c@_xFx!#u)W?A-FfQMlgP=?Ppu)#1D~D-?4UQOP^P`xZ8V=ko!htN1~*z5 zPp;kSWXV6}BHgtJs>Qnb?yY_9!3N2E=@m(I`qC$nU-G42rhe_q0Io;o>!9LGrz3#R zUxzeUQOICLxeo|~{ch4fTnZvd;Qajnv@XMjx8$msuTWOQXwkx`_Xck@hc6?5oAa%o zJe*aE^4{%}4DHU`W%CIl>v-LP1xEyj+C|0&dEbLT;$rW*ryT4%WA?1vs{(n2W(D_o z2%JS8C6zUL{QTJJ+P^Xe!SonHLU&g0zZVd9AJX`eorF*lTiA<-9-LAl>TooFQv@PV8qXVeiLa8RECa?tslI+{3!(a?>v5I ztOFzdooYFj#_9m>Zd;TTgQ&QVV;+J~xWWj5m2ze;~25K#^vhfxR!_yK*j(FQ^$| zW!X@9EzXYqKC{%|@H*KEA4U zSq>XAt$6F0r_wh6Gm=1uKA^j2%=nv3c0N+wDdnQB8qj5N)*lqOPvFzbVPLW8TNdE{ z04<}~EV})E>&*PG%!A09lTpVGJuQEAR-T)3jucIg!vj#03!IF!d^jJU{p)@jeoShZ zw4)3~+h~72odVR|FbvtiGiV;$7LdDhK1+2>OM+@yD8r=>KnzKKFb;{R*Ad^M>)QY& zv4S@uiY%@qxIfoU$iBU}Z$WUFTT~#UD=Oh*15~AbcNXDLF63sEpO~ z)AwvJAO_9fH<$1;?#Ne=*ErU9>zZqIn=*R^jbS#_%|pMiVGtil7~2R6EsYwyNXiOr zcV5LFG9oNXXXywzN;br>ovVr{sq@A1g?*J)8Jub_Do&sp42Mh&PKD+qEcZKlzYQR1 zV*EU?PO@EJa?jC5QXdeAT*xectSoL4ul#NS2W^=qWAzX;7c5R?J6c(jY&wp%i!uVo zgv#rZ={Gj^rO=0u5L%SeoJDaotTDjD#kq@RSRO5U{e)V;Ah;{X(sHPKqGjN7i!a2d zgJWAkFRY)kx69B5^G`#KreecxUZFq!1vl<%SRyWl`=nXj$^U2%U5$@yaqK(MK6<-f zi=YxZ5Nj$MGH51#r#9aY$$z?;>+L*@MQ?sX6SvyUZ}9Z?opX=}dGKMBe<>r*NhF13 zd_&k3JzAFH^!l2zgl%OSUA50hqQvBn;BbZKan9J4w>1U)A@?7mUBBbX4`-iy>$d2; zja~jV-t;tQ)XPVSXFjTJ{slW@Ka@{wbXk;ZRI+z5Vzf16wZO~3a4mY1UjLo#<8~F{ z3_q*a`+dq$LnwHw$v*0XKanYHx5(~S@K(h0*I+;DjUSa_v=pL>wh-y6JW)uA=-7h4Y{^cav&dA&WCTu`Tsgbm{MSsd7) zLbPqvo1_6|1~VgO+cVm-SEH>H=S5^l6u6u+gjThqjSblbKRUd0Qg6eDrNSim{FE`< z_YYlscLXamY+TsYJmB~6L>Q=xWaAxxek5K7VHWTP{(xAtE+_F zh=4}EX&0PyQzipi(nw|tF=5<>k&c}YGhE9TGrnTzmegeziL(`V4f3P2S!0|13jfI$ z4Krt1cpSd5WPU5ik9((*|A)W7z(r=6dwB%ZQ8xI|LxKq1(O$fhTj!IS8yp;Y?RjxX zaj}9s!#dPwJRZB9rzKtb_wFcW5%7 zRAY+EvPSJ$B`N_x?>uI+py=cro%;O*r;}+K1DDETICz+cS!+Gv;UR25>ji6B`4cp> zx47w^Sz8wr*hxv_0KYO8->_&B15BWz+@j<>>rXBE>zZ`^uE;k?S-k~$J2M8t-g5L*dzg?oqpp!v_lZW-FrRbr;&-MpwAp# z7MyXOT0=QH)fAV2MN2_8rF`m4O>br80t7jWRhX~)b(VaC(S2yv67uB&kQuY%BxW4n zu3LyJdt(&Diy9-@I1u6#=VvD5E}H^qf8Go|S-S?OLt7`bG0I2XP}@A6gx0-=8VcZxhx z<}3ERj#y%PtYgfdXw#3A{eHemWIpMT-Gp|h6FV;1-SmD#2Eawvh`6!Roj(20=53J$n@9|MYQn_;ZSq##@ZdtLfhPlNz39;Hqg)ve=U zW7Zoby?ZL;(01!ERw~mju{0dxHaY;-eKme=omsy%CI;E>8#0g~i*SqRsf*AFsuF+-fQr~-r zrB=@~=~0fd<0^SHxWc`U6Z+05(soI^^wZKo7pcph!aP9Pk}Ampd++mc7v~$!lopOx z>k-h_z{fvD3|Z1?@C_ZZ**68!5+5~1ixOv#?Kc_=L-B?;D!z$Mm#iE&6DH7yGh!0; zkuuQK+lVdW0YUJ`}@}Q=vX);{JPn& zhz;AunN>Eey{~!>oOFBu@4y5@>oK%;E+C14@^C>V0h{C($gT@lm%8j?E6ix{k_jZ& zvH7b*7(oY{6UH=dQTOiRT~IVbw7D*^L0_sn-5f2KoA!~9qKv2Gc zhc;B`Dy+&ConCUHF4a3FV@;;;MoO*^^_(>x72r%^LhG4s%A=MI6!OVQa%6!nZKrV? zE|_rLv$Y}^aUC5FL!AV1T-yX31}}a!=a?@k$c)Q%GMDKZ7y7zh=!-F*o#@b%KtD4L}Qi!2-4nDz_DCVM1M}%-vcobeqn{%UQ zSsiNeQjNa*l0P|7W3CUSt;H`Vp?t=!1h+l#B}(++xuK(2@nEv@XejJ++-H1>|ELs` zHYz6CGu@s6@eP?544de(D&S^GGzBD`ApkL6Kw15$3jOSz)QTuB`M1bW7vIS5Vs2Nl zZ^TlAaNZ0Gkl43Ti7MuH7bFI7_px~@=QPu{Fnng(*0i{c*w5h=DmU9cV+X}pwI`tL zB#77sRLwWC3#XahOGgvMffd58cZs=5Fr^(!9kvnwnJC}vlBQ(GQR*JjN=-k86n(vd zK8#0}1)~>U*}juRrl=s{QP5szuJ0@8%06UU=23VNOX4OJ7X?8QBad4@R`0t>#d60g z?b`q$rbiVZ5#Ny!$%4YGoHQ|bB^-m<^DE`-nb1s?+?vdU(abJNWPDq~0x>0Vg+lWt z=di!#;nCa{q3jOagZb}t&;?$delEog_HpN&?D!m7*SL?=9Lb#AIOoi#*xYvQ+&9GB z2t+I6z&Qi{W|rMvURu&bql1c$8Pl67bHU)=j;&27HL zVnx|3CG0+>H57pAU;c~-#baH*Ln*7KmOZ7EyRwv{<;#~+m|nz| zbF`IL&6l?V6@YZb6278$qry3sbt0u=*#S*Ijb=nw(g{}97ctR3s1&fM5_?c3ky<6y zTqQGICAV9JUWUae?Rt@NN;Ikj4~xms2ZTy?y; z#-h3IL32ZDb5nD3%XD+=ZZnm)rTutIr$tNmgO=Xrrn;1t!ReOa-Ih__C*#MTJhymq z;X&Pt)F(?Az7vH{=60XV^R_M=Z+&ag`tCvNa%$^pbL-l4>-ui%2Jh1^$DeLmJpK0I z=}zj?AI(qqrl0=WeG2eVp=wmPC6&gDicF)@wNUA2sEm753|||_I%czMyD06*Vc8a+ z+(vI{&&Nj{`PPQuUWKhE)2GqrFHdA7g+9f z5&62U)w*pgyKTL??b5m(TDqNPx^L}uJM;Cps`a>8_PBfXc%=1sw)A+-^my;}kobCi z)q4Fcdjq|C$!WbIExlngy%Br8p`qHRHn9oZ=m>iUX9m4gCU(_)IfA`9+nJK0epiy`deh`1{EOdFbN8Jd|Hn%nCen&%r{P#b=0IsDFRcsXr& zwPpB(+*9tBR8G&=LS!n8_qsA{`uU5 zf8y+k3De6H7amTSrB9eYnXsIlu=+VcdDJGy^Pclg2S4h^3#J-_V# zgXvB_!1`ZKcNzluVPmlW$#my4G3(z=cTPnCzo$Fzj{KI41lv=6b=f_@QEm-5-O-D+ zD#<*s`Osb?91xuFunVBBHsqEMpuv{Il0~fr4U_}ks;Z>A(&>8VKU@Q4v(3K^l=bDW zpMpFU0mB9`yN}E&Z3SlcE%xxY)P;=tDA=3@6dY+t@v(3X2mUj4UQ#3y;0yAK(&f#i zfh(dXJe(bs1c996Hr}9xb_5vHu>!(=5nI-9!>UVoHo{=qn}5`0K2BYAsZm%~ZS`^wo*S2*4BObjzWx+2Bs z-0l!XAqi)(-j@Qp9^XmW>mf7gZzZB>S1!j;d~4MjVrU}6Ml}!|1T%fJA(UR9ec0Pk zAC|BNoh)IoEUqi!P_kVlQZz#X??l~^=nI<7;nLra%;9=PAN6u(QZK?lNH|yjqHDYL zokR&q;c)*+uAGQ$Tq9H5IXeBfhmGB%aX)9_CQWJ)&s5JbfesnHHjcXbFy~j!&iTr^o zph%WF=-*kkN9vo&4=>w2jxHk zKPc<%@lZ^s6&0VF?Y4_*%Qkd;UK=Np$+#abpltnF{C%E9cylar2HCqiZ-LGTUz@%y zjCrYttmMbFX(g4pXr3ORnrvK>-2E2gBKqE4_st1>Ck}}rs(+CcmPcY@fupS8D1_hQ z*%jst5l%(sO%A_1Qf!u-VVz-V&iWkNTC?GkgG33%S7BZZ#&v!oANAP3xMN8<(WVbi zJ^T_6ZJ3#mcvF|)v=2RoqlvBAku|$Ps8VJ-^#vjM2->qP7j%cYsyA9>w(2#hI0pZY znQ1{wqEC<+gP2~OzAJh>|3%vxW#h7{a*#49>{Z~}TQV-t$;7dA$TI;YWa;FW_Y`^fFjckDI&?&v`eF7H6 znJ?S3ea%W(4oN}7A^sE%DD-Wkm0Diq2@T~n=9ds)xO2SqrruSy+E8t{Otm_pMC=jg z7Y)Sa1V+;L1((8kYJ|0XyYAo`9st3tW{`G`wQ`Q1*Sa2hzC%m9QLXJ@R>CnAmC5PS z2w&XkuLXf}Yo*dk5+z!&8`>OSzT0ACEwSnfJL$ml4Hk+;fSL6%v|OEUSPXeVEGOoK z)qL3@6}D@4-t}fc*%p1`H!chNzUVGx8|7QRL_MvlOx7ZA2t4zP+w~l$L*j{gag%Ad zx!y?SBHsu%Hh=z(ww{K)%6&ecJ$tfDm5 z`MbzT|M$)6S=qL@*{vg$4utWiX2M|klS);pxgPvyQX>pCyg5n z#Ec*6_o5NAN6^>GW3AHlGKB8f0>4;MbWGm-gYt^o(j2Tkmbv6 zYIj~>Dm0?K9qo&>KW-$XXUnYqCq}wn$&$eQXaL! zq#YVf8i2+zb72R5cDj*_YHVg(-Q^4-qv>K0|EKpr3CD_ZVq z-|tM_&{Y!A3ltY~Lg8&`MlD!$hZyM`V< zKJk6m`=4|m0^k{P%)jM-;6*XvVp_GQJ%){?`3AD-6SM z<`w@%?<%XRl5oizo&7X#suDg4**bY}3lrt^l6wpjk6IX=;nP2&{HlcO*ln1Nd&E-A ze)J91=G+n62sq`vngWS_YQ$D$vj_f!S*3${Ea;5l(GB_)1B)NyNy9aH$A(snAN+Vm zVXQ6CHCjEJ`s4X;g459Ih2|d3~^vD5c|L|nIw z|JTvAn|a57u9zI4YmK*xEPnn**VYejl|48>*EUZU8~Ig!vaGi~bU)_Vx+`nN&v!l1 zo70?f+l|vd*F6r)hMz*{a2idh2zrG}a z?Al`^--khVEhWg~lIF=zW3lRUo5%kvcJ2QXU3<+M!GVRN2btEk@}qy2=sf*#tdg{6 z1k`Qx)a;68DlJSN+W(&KaPspb2-y+9lMuc3yvL9-7-GZ*D=vyuR`-a-%!k9nhbzg4 zr@@DB(nny&2g~Ivr0gqV<}2pmE0N?Y)!-{L>HAOU+UsYkY?M8?5HX&|cl_{N{sd)z zEi-=~4FGxF-=M+YaMIs+$KQl2;H+|hsaXJsZ!${?FmDL3oD8tq2_SL>S}Obk_W9x+GRH~xpi9v~o;z%i3cxJ-XiW)*n zCPQvA|7DjD0A%1GT1o3qw35JqBEgqQ;C}@orTq6G(thMWXXehs1P(Z)U;kya(lR}l z89t^RN+)q9Mkbj>wD%x^xr8A3RV?PH49gAczC=t2qUrf2^4eK2oxq zjzJGqIn4HN`JF2`-=Spsc8C;2vpQJSBwjeD4gmX%BG7rN-OFZkb~W~a`cJ209K}~2 z@YX|Sn#?}W{amd-Xk*KfsxC~G3(cO#@N+Y#^^|LPmefm}wiPZu5mbY}8RW@`bat?K z+#HlyV_#}4-#a(7e)QApFuUp2kL-cB=6gH78)v8iq~cDO4!xn4A9YJJTxR?4_&hfk zp4Wdp>t?x^%Pl~Y8p)YD3Hda3rr1@e7a_x}34u#I&0z7|`g#5tM4V+up&jYha%|@2 zmrCExhmiGeSNz{nyY!$PcHj#fl%DwNo^gQg8*-1KUe+-VrC3OifSjEN^3P|+&b&6DsL+HdfUR$Y%HKO+;3~ZkXA2~sT1)?{Y^Eu6o$`nXJmpIyO z5(n4J^g{Y;-nRvf$TUsq@)Acse@E(~KtX^D4Sm z4ddzfCgKV$KCTQyg!+o2V7Gp#n#LdYh$7Gln2pAlt+z<6;n_{GdYmIx!kl)@b_Vob zbU7F(ji7%NwCs}nbVTk1i->j85tmdb0*rH`HdrPPL?o{+TvglHcQ$c&$y#DKY!7!B1_+URUca6F?3~|KX07 zualY&pB$aO@##eW>^at7``d4;kE^FI<&S*%K2}lwYj>mP@c!QB%iH@ucixxp|JvLB zw7(C~Qvg~$DwJn~gfyf;IeV!zs$k^gKbv1QEE^Eu`wsiM>orGHa(GPxLWuwJa8u*iKQ^N_iu%EVd4o zE=hBFsq-ya9FJnUWIaENUfu)kVgK*ZO8fsM2jss*E9EI9_6^#qeoYO6hEa*zJ7Ys%NOWy5^cmwm(TO<&VD!t&ML>yLO&ea+Yz%vay; z8}a_}^)bLufTuMW_2t>5AdLzLoc*JLs+*aZ@B%GygRv0v%`C2=0-a<1V-cR4*;s}` zJzazGn3T;N38O-Ti~ZvXO`Ey6@Iu2I2G3HaHuIE+3XSjeKg;;BnU6<^Gt46rvuGx~ zwNFf*ndpIFx}6JOJ5nKObmzYx4KF(X^g16}QT{xu?bbse%Jl5hl-8Vx_!2v#V)K{% zFY21MN}a=tE#DiwY?|6C^B5|&+U|eZ`eUn{#85({JvG_R^R0qxRAS9JFxjp8tuiXS z#76wotA6uuRY^l7w#Nou4SRm8rZAM+>7JSzPx)3;U{vaGabW62)3@4+@KUE6r>3V4 zV3$Lsx9$y0&;9sTPi45JStB~Lz_Z=ZYgFc%I56`L1d)!0m$~Jinq4*DZkik_bFUwm zUH9B>o@cPb{+&vQ20YVn;K}kg3!wOKN$&q2;Z1>B@87YleiK-xXJ*SmTHxH`KjH#A zX}|mrgg5^IE>N@*0&|LY262HycX8L}K;g}ME&4+1AAANi5=SWo{ydlapYxFN;sCV( zgW95rn`g_xGp)AxWjRcR#4mkD@|7-uGi@m$9*EL9xBn2aEc#*3}>|R6FtNv#~tP;Mx&gGi1_wLUX0o7Rpc|M{Z&l5;Y zP=i3!oOY(;%JT<^%8eHll;8vn9Hd|3J$fn{;vsgk#M4X}fduN!%M@#imqMq-`>=KxhEG-3r5b)+1q zvYX?AyzytN)6@yLJd}sxGQS)2CTQ2rL;q%`59nKY25h9+O4Kb|OS;6{>BAVPB0liL z?+UWTPaBD*g~gM_d&A|F>KCIEYT{q-i^*i!iNu(w6U-!V+8B*EGuy(Y1WWgor9|QZ z+sY>4z_XH9_%6k%ZsmY&CHX$h?S=jObdPt1?=!r;BshRThyObSmi_+|1QxlSd4JAZJ8#J1Wd{V7^&JrCz*wss4`l8-Zg3=m&ZADk#5|#)B75Kh}KsD?|2A zI^Gc;r=5yxTH$|5_YC-stL}Lm;Q7I>_<6$F>*@(d?i>I|^H1v^z4>i-`#`#<7i&u| z#g;z~((%BqIIPep-}Db?f@rZ+FnUnwKNW+;W8n|3zpGktMsuorC}#r@8fn^5-i6!cZQ-XbUiMNIdOJXS zEI)O!Y5UWBa{~7A55Khykm2-NWzOpR*AE~ak4Zs7*}3xZv)3a}PqwEV&cPDtq;_7U zKLY7^6jez{&}NSbjPkuombH5mz@_tyNC#X}%Dh8sE3rTpNr?gOA5um}0lZ$lmxFQL z5{qKuO^HH5K*e&F{g2N9Z6FdRn88xXd!B#-RgBbqGz}eygfZ0ys5d`gf|=;#O|TFe z1rsyDIAUP1DSVC1JrXKqiPM0>XQHliI-#-Jc`2lUoJCE31P=THL8qwszW-9`q7b3D&SX4S1qDM5Q# zO&>pQb@)(v|4c^v81*rjDhqqsGM_ z>yB^}@$U11yEpMO36ATH%XuIjZ>y zlu2LQ{xVqCJ)*X7nURScV80ow?QP#gJU2P=Km~kH0NKcApcrd+{Wm+;fJNqMC$6bvw+Y93Bydf zi@og}O&bBYuuS?JdL2CfH64%K$&Leoqo)3>*?#~>Pul<-+#G*h=V1o|X(hl8$^rne zXe3T;0@tr!{6zV~Q1d=fBErT#!>*{z>4Q7nW{ca+-#+P2`&7!mvkm_CRt|jpo7ZW% z#uIb|zXlB$#-LAnrv)@%?CygG3_nY_KWG~a5dfeN2s-pXhK4Fd(9sltWl<4=`g?Du z2Jjww7+mGPUenC4|7ew=G`D0%{wJ$E$@P1c&NjoOl{6-s(sp z%U(=Sdmu)*%0r?uOPiVPu)_>lP)``dMe}>m>wj77jggSeFzl;()1QE2Xbsc9b4bGt zoN4?PUjL&5wEqvbDOkP1{;wDmUO!3s>+FIacuaJ_k1GWL(EYf`!hw%W*=aRXq1AIO zyG(%#dI|4>^K2+}>*$^@hA+Q`zyFa@xyM9L7u1>cnQSPPIGFbp6>gCKyl5+A$f16w zY#YrO+Vi&Rdzf+Y%eA^)hRA{Un@v9>Mm}usweB-H_A(;QftgO1#PN`8u#@r2ovh`nbJ&Y$$kBD7~e0N3f|5`4mcadGSFL0A!{%=hkFDX>9Lkh=V{O zh1DPjgNdngY`nfLmz8x0gLyVHJ5dlrg}sdWhm4+O7&I%V;c;`#>|Swl+^%XDPesY& zHp{lwSJn9&l#X+~Dc2Pao?(Ny3K{h7%1+mXVO5UGu&)CWu3ygnNgc<%@kt@0UiL=O z9`SMLj?I^et#n?Xmngh(`le1Sih-L*tUkApAjf_Tvw8xE$+4v`Sd%J9I^e>cs&ksW zyzg|&u({B?y-`iM34G+zIXpXI~*3IA}eAU!JJ%^6w7Bx9gnqG@Trm$}7YElIMsTszc z7YNT|H()StSfq}<&$?%4c#i>2@IHKCvid1&-jn01r&2hmb{efM-@h)|%V1Cs8l_-E zJ=u?MX9VopZAtXzpFZj5w>w7eIrK=;kiti5bgps!Z##riD^nxx;JyIznf zH14!4D8xEM)TaHz{$3Tu;~J!4XCT35DNmr~ArnFSdj!rG$xmhu2yG|p2}Md|^Zf?Q4mi0VMk|l#X%^C5(W*q7S5d(RUl>9uT02Jg7Rpw z4I8EO$1B=S6@*)QuB?b9@2J?ND+p|FJ6Xf@QL6Ou=HAkY&?in5B1C@QrUG z=U-kHYg7oW0K(eW0F;@heYn#4WLpi7Ws~Hs*GY6Fr686&^Z;84ZK5@>#{r2y0vR<- z6QWOXY#~`qX;j2IEr`nYDW02!u$jJ;%NiHCF#@S+d=LzI6!6ONiQkKY>~MA04buLN zllH!0Cu?ggSj9JPLW60Azo~xgm~_CbK4GV?peoGY{8EyU>%S&;gn$x-usn7E50?g{XpZc_nSFr*z1h{X2sI*3q!8Z9U+MwVYhq63|X~`+J6f`^(uT1c}x^b>p__8D3!Nh#liP1@S*1vER`Y zbem_FsT`DSLOVU-fwGdQmxg~(klH4`7!uBW++7g#OGp>ZYvMW+ZnM3_Wk+QS}L3fQ0v2T1VpiUA8L8&j71nTelv*NQk$Xmh?ErYX!rZMJE zF-|Z6XDfs!my^`uSrn3l5R=Gk-C}PKe>Cb3*IRfndVSz+j0WT|P6KH&Klfd+O(Qn^ z2v9d*=;vF-Kr69kTIdxt74gM%~fhYd&eKKEeyRqCIw{RVEfQ|;b*G$V8VjWuR4l9c1i7&nE= zQxfW;vveuBVp+v?5p+{*_%Ovq1>m9t=}n>(BOe+@Zl~RK{VuN%(|9k>ckn38xZ5yp z3`I9OKVcbV6gdlS3=&~o~=%P?d+RPzGM#jq@bc{Al z<|Y{cI9XzonPNU+>A6s>QZeWuxxu}mI*u}(BPF1Ho@(JIlb!0WT)mRzVq;S(n-VtX zrjUBB$whheL9xQVy8#~DPrg$!GH@xon2%2H%{)vYbTnq_R3S(IN!?$?OvZ8d=4E{X z-lJhmmZxvhV@Vvy3NQ-Fk@eJj_?7m0z(+h;%&Px8`(A{d-_u!u9A!d^hTPUe!j zgzk_!H)e)Y6yW=${8D|6-|cBim&ip*-|V0QB|HnR0<=F18WKq49_dsnPv&jxA@y?O zZ)#n0&AdB&=LwzqvgTu@PrewM9}ZV(ur=9h=p{s*<;I7^d5nB@SQ$ap(JOY`#!}R?vGBxO7 zdc8nWtpoc8T$ctRFb~NF2%;v?BRE(URpk8*wU0eema}r}?c&Up0-@I)ELp2@yEz+H zKadTuI}>9J1-!xouWMcOayNx4U~flJyf66pu~A6S3dpE9N1E6}g2uziN(XU(PAKSM zlPf}!#?x#`&N2?BLxTU*<~zv>^esUz%|lHzF$^2JR#AvkIM~Y#RumODM@5)zgkGM9 z8apdD$pi52vzN7m>1qA1p7jWjI4y+HG)^=vkJe?Wxgnbmf4KySb@pJ3f;^c-Jk{Gr z$N|vYIJw1nUM?&|lZsfFL|nq_zqoGF(SCPk!ldw>MQ)Y~TkVbbqZU2DHJNKnvb1pR zsF0xwdM?08eH1|)g|F{~p2onUOnI7nVdcF5A0TW@iatkSSRB>fY7dgTYm9o~tibLs z!g7@X2%qToFr@;>So5R3DA`2tZ$-l~(PnrAuEMC$7m&lnX|8}vBK9^U~QP*97v3115*jyNpRVjYDL?KcD5~6py8+e$S<~#k>qF-ijXY<@c{8vdh2L_hgsfnYc;#E_zByYb_ zh#&EmzjMHT0p7%3>D+hNIihlh0$~0M#qJDP5+R$(E_6|F$tXy(1PVokRu!f`j?XZ} ze(ke7 zwPDFN%97HTeDh7R?NzlvJW2!ewl4fT$(@i; zLk~?u?-&G>CMNVIgd$B!XaWj~hzckgddEx z$bhC;Z5SREzX#VR!{_dCW2Qh8xvX8PZDmdHb>^LOWtkve?9*%+|5q9pE%vqzj~b)i zoN^XV2A#0!dc+*QDd2iGOkOeFbSu=*1=$^n%#VPdx?&S5)VMMtZRgzV$_(`|M0g>r zOJoQ)E{A!}VolC+L({4*K_6teTBCFAfjV>aJL4DJYAYY!sTSP=3D#L#XlH zMp-UK2~RoX`drRpgXLx`);cHO)v9e20xAoV_0+sEUvC&~13VO{C9Tm13vXaUSkqly z&{6H%=NyB(WPDODgm#sPSg4?3LHErSK6mvg%Eo5FuL{F3bf|{0hb{vmO^1Im$~cqN zS(gI8`?K>$CHyWoWPJ}_m;)zKd(3eSb`f@MY*0bElwoien<4YL3eD~UEz};&O5%45 zs9(pAeP5!ocfid7_)A5&4-tIh>?*3&#%7@sCX%IWfM#d(7L{prU4?gs-XZ|qIGXtp z{caJX**xR69D4m7R4UDj~MtWY|e%_yaHM|dR5Z1 zOByBz79v84!Jg(*Fl92JgNI<~2bLHj!Nv%f68z*8=tL>e-8#q}9Ci{n zY)iUoiyb%_9KT}6C5!HBUuGA5)k}m~9A4||Uxr-nZnd3)-UQlE43O2ejfDseSq>B0 z0@}CJ@-KTr-*>{h;ra|HbWlQ#goIJsQx*BsEd(-Y@e{a$Zf^-qiSg~7nj*#8UTwii zMzrEgwDBEqe?<0y7I+*>0~wHAERw9-bATc86bLBmgb~))8^?7~CqlYPbb<}U;R2HJW)i;&dB_rshCYGS*o zn%BJ~ioGSwW32c{p1bSLdL%bysI9mHHK}l3p8|j2tcx}5YGE8!aY`Br?ERGU7@* zF!~NgBti}Zhn3Toc8mgeBp`>e*G(32v${85b+VPB4|h1x@=1?*BxOA>F8}%!`J;=< zs^tYS#L3m^62H5HA!9o#ZAw-5EP9!cpAPujHW#8G)C~# zE>YQF3&$1$h52=27Erwl#fuA`+tp&AYygV*WdUtiJ7cBXjlUxD&7 zz-TO}xsbc)7R z=yF^}uoyge^Vy40*Tw8KQoul1RgRGo-k|j!BkCBe4k?&)ksXSivUW^DR3Wo|zo_ru zKO8dw-~d{ghDRB{@na%Se^$h0tL%C6dm&*m%L>5+B9w;_aKnbnJ2u>TRW>wwf+uTU z)|vB0J)Lvv{FR?H*)0@X$5RtDd@0LH4M9hI=Te6VZPC{?SJypC1fR=p+|e5^Oj#^0 z9IwO72A;D&_ei#~prrH7NrG^LC!Zry4ITLi^-JaXC7w;|@=bOsT%Kd}I0=4&IbS28 zsSVGsKHD+hhqYLNk8w!Y!#8ZSrQ0gY>Yi$T5|_7aWi`3nzo)$Y`SAD~vA_#gfbzQ9 zSFAXp@hN^Bva_VEhF`C@f$=Lw>(`^zi_Hq699cF)InoTkS2Hktp?)qXf@5o65XMkW zJpV!9IZ7=bxAgqn(DPL#HKcU#unz!VYXFZ^VXyxvsE)!swoc-Iz>evTWRg(Zf8x{^ z%qAq>mQW5(jVg3{zX!Lg({WquAAq0F>3h;BwnLzlFP0m>di2Qlbr~Mst=;9QZEWeb z&#JPB-bTS$SE}|-c;<%BCl5X>B3lMvI%r&^X`K#l|C!ln^% z`mr$4UZF4~=UjUTuWYh-v}b>L74aZ{cngCY@HemY1O+6PThEo4`{3IxvZHuFikv4x zrFOX*t~Xk2(e^O`isR$?OWpsC?`0q##<^sWnJFD}sti=5BYtkVYLMEC#4e=b| zS-wQ_Zay)A#cPg&X1q9>_d}V(2DE*@kZkEL7lpW#7V+tV-P1chC|(&)fqDUl!Aty$ zQvo``QC3%x~B0M@&y;hCHG_NB^MqFAzBbv(kgGstwIDA!{IK*QN|oNIWj0s zjv5lsZwa0`qkL^TQ?Rkm!H8GwNoba{)(0s=Yakm5kRj30%i&$B>-JtEx;qns&SRN2 zl7B8q;sLLW^;wF)_$utw3!K0$H=psir}3?K{@#6je6sMbyN~#^Z>8t5o#)x)@`L6V z{Yo=@?VLdB5!mgr-}_UsA)>)FdO2IWT3HZOVv+THuV)6Fw=BqXt@6ZP5jfTmHuwGT*Vg}2!JlDJkn*~0H5B*x*|h-mQC z;rq^}Zt5-&G{oFsaCXv

    02x(aGO#rSmDQixg8vzV%q|_b=Y`W7LUT-p=2`B*{Ot73GzoZPxcQEwFTjx>K*6aK_$E`z z@{%D7BGnABOy-qYk~e6$VBd6;K(hRW7rh!NwJgr7df1B~CrBK3Y5IknI6RxG!EL}9 z=OCq%GIP=GxJUuOB9~Vo#JpuxnwTj#Eq~1O^qCunlV#=bFs0PHs3TEm!MrW$@v;4J z__jY8CWEHAi<0fzep=i?sArr^6lZ;BW5JriZz>XA%#I{?{A`?8(y!<<9sMqC4hKKg|5TkCH-@5xUe277~!1 zJr&I+$}r0y3x5{H!Nf4BUb@W~-e@w!I1{Rq^YY=yR6+$7T?!_s4%qQv0Uj@3HX%7e z1F=Q^U_?UfAF9vg&iF-# zi!P9LkaXs!>`5jv3FQ$Oh6PBIVSHqMNEjJV-}8;bhKR7oF;B9FNC+M}o%b3MlveVB z07zsyb9s9JPlxaYvmhjJ)&f&Jg*co(_jPm(+H%Csl2UY1SIsEcep>hSSXuMJK+5T; z1`J8cO<6M-koWH+=~j~&`m|%0!c}lVKE7JC|lur?^01$}0MpeN&+uG`lQ@9%EbfIj1b2|*?l}N_3fqO)dPb~FJ4vSS_el@sqsh#c z5~pf|TmhYLT8H}i!o2w6_;MLA>1(|0cHf~YeCm31P=m%NUMu=$fumxBQ{N)TQGUxN zg`JK?sA2*35Op}acOG2kaEZh65vcPnh1Fsd2dSjToj|UlxEMg}h3z^=8Wh#lsFQIH~+14^^ns^7)%D2 zt-2ST=OY}{;?KDh@N{BB`$HYY$@T7>OV{MnbQt@)-A`O!EsH+RS3w*zqxrf?v2nji z@WkgAWu)2jq-4LvVKxiXYba5?mI>^qzp#va&xI=|27fPSsP3An&mIsJwfEz_CXq43kJF;}4-229p zLtKH+ad-VD|b^}|`hVtFZ}M4Dh9 zT$A;=fqgTWzkjXdEsKA|ANmCyNd7~LFs9xf10%x$Ki*?E40Wlt_hK1uo#$Ner&rZ0 z4@ctj6}XNUx>{YoHQ@U3uxug$1BfiS%DrB&oaUqAZ{Q|Kh!0h+3AUFcf6N|d|0)ZY zZwW?A+IMna`oMzt00kZ(MARsk%rq>eiEtmr4I)4$VaYsXMGmqA-{y^earj=9Ot8s` z0^Wca#KI}auLYbnp3BbvT-))Rlj4jpZU2T5DNbK0Q;_rh2fIN7#DwZi}|3O85N zjrV>xCb6uMap5dmqEo7IB)mxLh3lJWHZ`n2b4mI6^$kxvXiJ1#@#Bhih}stt-Q=sM6lyAYEgL{evr4P8ii%rtOS2kRo9ramMz%rcE2V^YV$NJGk#bau{Eh4R*h@gj)X_*XG+ zG;@egIq&c0JQ%=^U^opt`KI;tIKB9!3~l`{037bqE^R zNEkyh^Y5dt$rp%bW;EyWiE2R-1~98@+27j_I=;#OXv@)q*G(wj4-VGPx)_o*{6$V&#c7p@aOusxB1*XQtPu8XSRUqHvMtDeRa|N*vxIfY#P?fD zidl5wp0Vrw(5hXIC#3ABu{TpXl2@Ghgw>?vTMA%_8J97I=G-Nwix|ED%f{J)YAHTR zIAE>HcLD065niNOTcll}zBR_WlXT@*xXJz=R(VYIOSI<3o=|=q)kYrsB3yoTF_U** zytlpNI{yJfuiIZq)Uz|?PYg@(3VZ@@(NDB=e9;S4X9$H03S|wemxcOYlQB<`)0Rq&I+-6= z$~t~KCidjeLP;tF9~xa=X0EQ|QX9HKH3x_FO2|;50I#$xDtwEWw6D}=hi?3w)L5XnS$!z=j9yzo zW2ZLx<%J_j+Gx5$eTVa%6a}yA!hWP59I;yHqmYEh$y_Lfd$YBNp19;$v))0t0Z==;% z1yHOang^DSO1acTTiZzFY|^+ynnDXPC1h5s!nTO6Hgz=L(b;=J5-oTbt8`~ue3y?6 zNhJDgmUMJm!n>9RBKMdAK1B!5^0l2($k`xuKBP`YkObd|?g(eoa4ihUsgsFQ?Bws` zM8a7wF;AHklNxop&R=L_?pObUD}`Mm0|kJ{ewQJHwM(bF>y&cTh0Zlcwr?ig6Bb~? zh~=oFIu!?-wCGl&$Iulqg2bNr9JhzI~e-L5&na(RLg~NO3K=lzHM&% z&LRm>)XQ(#wM)BaxtM(-zwg|1{{GuO6ni_@Vh2XCFQB&M;VzwE$B}=j@GG0jpNPI% zzFe=pu3t5|+VANP!CW=V0sgg4>`KUy)YC?mZ5%&(SJ(OlUHfb1#AUAamz~kDST?Z` zQMam>xwe?Ae74@?m*dB6^bNE6wYDKc!hW-8x1_u1aC6}xQ(TE{8Z^C}<{dvA!Zu|4 z9&Psv9j1$S(7h+1SUkBqVl-p_@NL04rQt?aPTz?tKPCK`i9RO4a#VgKuV{>zF?7Qy zBZ$4bcXP=8N7IN-ZKUpSzBxXABJ{3yLS*3B{+as~zj~l^BfYSPBQ;~4N+U(@OA`YJ zN-f9BMcXUu>Gr#|jYSUvT1Wg8`rF?Na{PLj**^YjPq6LR#F37N|0S;cFW}1il}8_c zJ=zj|yz?L6%8%~HzgGUQ;L860Ca#FhNF1Aya+{HfoRKS@QRtabdN!l-dj=;qd-&L_ zy4&oL$XU(eS?!)#-Dk6Uzh~LSsy>?a;oatpBj?^J&9SBaBd*+?G(RzC{g1e^A@am9 z@E>u-Ey*cpVnKA?>)5=H+x+RsdH>@1fZtEfJexoFdp=m~X~?msp+WP3ZcoFCpGNdN zz4q+s_2Q>jem{*qwh-&K5FfdasN5r&Gm-RcA^rCPMQkxMvM=h`Vs7MOUh!f<&tgp1 z0%>xQDz;R1Y^h@MX^z`cb@5Vd&r-eEaMiOVn%HvlvE`P#3kH)5_luW1dzQO7FiVZk zmg!FFv`{=Y2foK?={P)r6EeZw3_Jo-^dj8@`FQZ^0cj@Kko4<*HQVFJk_fPG} zD6D8FdhPo@6Z>tcu$)4M!PWWD)1D&a5ZFbO+!iIL*Pcr(Ez#d!vOKv#O4QVzG93-b z!QpbWW`1&R27qkGl+q1@|NNS)U3h%UL?2nB3|m)~GqHeTz3d~hXRHmmmg?+ATV?HKm~=DsNz^--49@HeM2j4ABPQIRwk5UavE$33h-nyOj1ZlbJYy& zmV?XiF-)G$r8m_^tE+(D_z}?PUSweuTae15nrq>Dpa8DC<~F+^UU!j_F#lPz`tafK zmg@Lekz*vV0{;oBr_?d?aBeEf*F}+6;kucISJ%1e-uP!$mlc)^hRy4!>rJF9$V8Lu zvSOuOj(#_#1Gy6T6UpGbX+i>c3%L)%?WYpGsx563d1FPfKvu#plV@DmYmTGmr-^dO zVS68(yd|(RpI>U89%t6mSRID0%iHoW&toi+A^1YfS7%fjZNcBPpeAf?P0=_rIY`Sc9}C` z@0Rq3KjgBUmsC4CnobHx%=@mJmYNwUa_(k-BVwRMA?QXXeG{cbSJ5Di$&jZebydcP zK7v$D^?X5=zW1|aU7GUkDxM#5?MKV40rKTz8fKK&CpdD=Db8K3ndJl7N7e_gS$wMg z^~k|V;H2^-SoKsPb^l$V++AJO<^aOz=UtiGIuaU3uO3@-u%1(pEw8(xC-=%vf=Tb1 zKK^rkTJx*Wn$aJmyK0_(RNL51+g(@*K-9pKcDZ;-wOHKsn2wV6^TDzHxq(XGSl<`- zAL6BAWjEG2=|V4~i%Fi`n`L;nUnI2HtK8LgO5#g$xoBSDAe1wgu+GoTTdx@R4RM&i z>QXdh_~j6b#%PXRqNkutp6L5(C$dzgSJKzb>8e`79n+PY$tyMa{5m$nHuV!2k|DUh z#Uedv)1Puq6fiBwq$Z@Mt8%XlJyj?*_8Uy%y+$ZgAC4ZeR8Nn6kSH0@%Cuv9-t(lf z!<{7P2d{=1?@P%;AAYiIXOrNV5lfJgYI8ufdL(&EWVZ;}ZZ?&v=H3x~C4op7eu8>H z;St)X6;~k%Jq*CW`8fQ^yj=nnX7~_6yA~7WTN#=DROZr9-yd6%G&sjhcQ(B(<=W?x)|^WbNoPc>8!t9A3xJEJiOj>)n+5aZ$qY%LQJg z{I;>eO_|7?knKv%A(ZLGzd71aK0&mR*>&@|GGPrJ0TF-Of$+IX?JqU%r)oWNS&7vy zUuvBsjUHMxjX!D7J6Y$>QRj4l)uvC^>u-*BXT0{2e&ETw@yP$Gxnjihq~3dsO)@9}>j@r}1` zL1F*yw7A2ud6O-B=H0*Qsz!tR(Hh2vMRFZO8nfwyZlxO#4R(+#Ki>eieH(0m^C`Y!tXYXeX_ccoxgeH+nl6 zI_L9+r$+o{nuK;R770T{15hNAm{CD(5KR$C#3<{71mPg_`B|KxZB!8wGDA zlsQ7)W!O{QhfacvSIb5n@qulD)Pss&-K0^ZG+i>swepFnd}XajQ*)R5)v)I(qGi$I zvM@_J9qWwC%wp+|l|^zTbZdI5@LNIiK-l4#rI?9!91<>Y-4@)x+7pX;&b6}Ol!mS( zk?|4+JefRcU8Wu0s>f`h6%uCWVg|+0oiC*otY#$aA#+VTi?>pVG#SM!0;aOcp2=o1 z?h-RI8}jx_wr+}=ADt76fA59(L8Q?;abuH2Cuwx};4KbAqqWt8Qa6Y2+!;JJpG6!X6~>;k3=G*GB1)ln*JoWjb6RzXj)%_ zc|H-rOP(IePrI6)xE4$OsG*j=FV!KQef#3xN;G?q#*4yGtGpKzzB$uFPl%*$Ed44? z_~Z!XM3}fHZ^*3(n68JS*S&*0M{#XuU;OwOF1yyX??FG`4}o){Q#s(=frqN!#ycHH zI`Uk~IPsp>my1KZOmX(uWS6AjceHBnR2Yf;AlO~vz!q>X@SX5?yTm`QwvX%M8UZl) z*+%D)L{HSzAw(URJx;i_T2BoaB4Q;l)wG>78gNRpNI_tP{r3=(n++;|Yiw zKru9;olui;(P4k6<|EqEWX5~*$Wv--vggX!ZlDYj^zGyMjz@LMN#Nt+NAMfT=7wQHyz%uC5M91MFrAR#X?(`!m?!b~j1#_oh6 zjenGBc9suLfi(v;3tk00HFp&i*%JWT!TnSzT|@B)JRBB?4}t;WDg6@}qbB~*(k?tt z{)`)A&l=*m3n#p!^}unnJX^Gd62ciVi_+|DvWTaOy5>C^blr1S4M*c`^ZC14Fi#@5?6RVVO}j2?Xt)&-oBSoLb{k67wmInWY6NH z`n{lYZ`QQ~rMWd54jB%F>8cW~U8QOkLA&zS^v|E@N)zHh8#CtvIQtj^fgo{=&SCJTZYeH=g$s8qBM0 zZjH}X?!>AQ)6Q5Fn?I>_xo=_nXR?;q$ebGy8a$~sZyiU>=j-C{|D79-Pr@DUGyMe% z-@1#8|Cjzk6M?-U@X~!+ap2im`T2#V%d~ruAA+vbEv(Gvw$Y!|osY3_eZ<+;KHBsC zLe@jqF_pHCsi5~4%Prgnt=c*lhCVp@7e4#Q^R@FiM`LhX-Kp(@wi?E<#)xMH&%bou zs_%VLd+oKwiyuqhdcRLLUjO#+#h)MF9sry)GK(bxD)OC8Ou?v~S!r)9Gf81q z{xD3NE0_(=j*+g56LhHzdGEiyDN+v$+nq$I;JwqMkZjKPyJjubHWxLs){?ifHUVl@ z?18`WJ=Hr-zCyt$^4aMsTe#jj>WQsWskbUCzc7{_!@{yZ>s5d&RR)oe^>fV6b{~LF zse7#FT25vAr=l$UpB7GV*R4acUw2DuLBZY~XV9SV`@y$-o3YN?$;YpsTb>9Gjx z*i8&AmD#eB&%d3!a-L;$vyJ-VDNTBMLxj>Qvs5RY>+Zg}`{C8P3+%Q4=~c}tH1z!Z zfXzwG6-X z3A^+wOuk__)7SRo{Ua3jv116gyuA7vXW)wR2Fkx7sdYNf$JV#fDfNz){rSM_Yp30U zLnItRe6vPF+!3wwRH?OE7o zy8e9NrTV<3@|ES;_{>B@=WqzR_v=fF_1xu|;K%cL(9$M&2q_l&u>&a)_Hhp>nMg34 zugSjztXTJOSguQrpT>u0%JJ-dXn!zsWQJB)mbW2E=Ilfap2hy!mH@eppo;-csHd+k zu%_J4IiNgail7z!{JIj;YzmE+|HZrisdTibV|$3@d^d8a@zC%NbPDbXWKD0_R#(@b z1#V;-V*k*xrrf_FMvvG{_DjQ@$WSeM6sSb^aM!`NNdaVdV0z>SUdWpz!R{IEC@2c) zi4^*N_q-MzBK?Z>k5eD{E~!D$ZIShit1KS6M3F&c!vP*N1c4?4GGqw5B^f~U)2`_> zF_886Sau%7=Hy8 z=4K|TMAwhf$o#mU8jz~bXF`c$RSy&hwe&52Z;D~XQg70Bz2%i{?m?ue6hWFapMjsL znJW=?b2o}B7H=snSBf;nNAtu2v8P!HY-(E;;jy+gn$JcLafh+m?Z&8=RI4I|b<35F zggTus$L0K+B&u)E1aF9zp)9E*!gSs&kFIr|i{Tc*m#Mda@4n~;N?f#XHmm8v6JGX$ zIN5e=K|}rqq;@R7l^UnwSwxS26B5rtGeQ$?m_^jh7QT>zcYs( z*M?q@!BiRRp%eKM6mXLHj;*PDpT`?UfeZSOVf`1#yzNuVh$4Cf4;6sr;^9h~ZEVhR z(ob98S`)A5+}kTP1P%X15`Ee%@C-ybcIaE)zVgA({abAxcJOlR{hlECxE4V67Z&9q z=M{|Fia8kC*KSfM59!^4$snUp$kY9-BnG*dbU96UQ(<4YQN;72l~)&Ik`{k-V%2mo zxRT+b2su|U`}{(G!><+Jv+`RmFMAF_?8WdlL522QNWa7VzoXH?T>>oXt1SA|=nJ2` z09N%?Hgg=5N3;O0^c{~fO^ixAsB7Ms+#7dJY4L2#TR8AyX+p;e8HVe`Pfhks?w6K@MZEa|3Syezv68#ze(Jg+Xl z*c-fT=gXdUB@9yOoE=Pn6B#kG(c;U?zHbRf=mO09k|^9wbR5TfM6CK|G}m=B;_5M@ zC`Jj`ektP7$-K~H2Q?Sm4Ls_ol#RC#uCJN;^rmdfg5@G{mAv)ObLHVA>=y^VBnnFhmLof^~AyvMHx5MZ8cY?G%5Zd)MixaZNkSC{uU&7a=?t#LJ*kFtMXueh*~X*Kx1D2j=?~p6a@zMYXpUX| z?|#C4kCd{GT3_Gk!^Xvb=y_9nvv>E-gX5wn%1-_C?#oa4er>^V`)hxU7T|MW>v{R_ z9Te_Nzs5};@j)t7ydL<)%ec$)#_eSu?)UDu$2T4v+`P^~Bq&XpfWa5KJb~rdv#l)G zsgl=Uja<#TaxvF0_-)(e04caD-cp$e3EdXB>v_I{h4shN8%$aAb-X8v#?Ldy&%ywl zUmtaSih|O}>~i+mIB&I){b*hd9zI&QDV`Zl;6qaYqg%mg-T*VMq0fL#4eG{wowSHSJiFp!*VPYXIhjlb>?m%NbD zJL;RdV4^{?rp4OH;#qGoh0f~uKuwQBJA%?=zzJZ+MZn*2BxhpUWUdno3%9^pBEP~E zr}jOVr#;6hDUSzI9<-;wUvNW^LOvnRD^nnqq3y8EnCek9ueuh@6;$8&6r{ zgF(AsAB$lC3;|?bDl?;6*OA~vti3e=Q=@8s$jcCRc2KcNQU?qPAPmIAxPqZ27}l}s z)ICj976NfT<8X_3fDamBhejCUV7354dr#o#EG0_-ffqvf(61%NW{8Amn=V>0_r`2f zcs1X|JCw})_RN0Ou(ll@))vSm=8xUJhU!gw64<-cPx*hf3%D zdtH?6oF7(}cUARPn&YjTZ%`R1^)CPXGOYsqjzR%F?|XYvtz@(ZtRTy*fF@K};aPCI zG@mq*e;Jj3cMR1iU)Z}>xI;YNAK(OyEeNeCc%#XBX}us0RrF}D=sB+FOO|$iczn&9 zybk9GDmH%-Rs4Lfc#T-pDs*|FLqDHZ)V)~D=qPzV#=aI%JmOs9URHP@tK>uY?eAvD zp9Tj^+N0wMhhAUOE1QK#l61jZy}@$boOaFmj031V?V4@*LadIskF$o~MK-bknkM4v zoThJX^5 z`Nsp42Z3iHf>3+~VoTuLJptxMG{@}RFL6GK#_69mE*6F$I~^!A(6-BlT*=jS+%iyS z0PX}4A-YkbfyJ^GfT6&~Dqw18adaibU8Cw;ONCWIRpQw3bpqt$kyIRp`ZE+N8%&6C zsjg6i5`w|s_oGYfdjl+s(5@93yRD)M$p{M* zaJbrTPe`6~(QmplRvyHRs@M$+THBrFp#&{ohF5>Sv4+UkkAmO;P!Fj32K5vJ%u86U zD(oRd4WL5%?wyDj8Eooyu3H(|t3lX^76CL1?}Ke}pa#y@ivJ?WNYI}G9|(t>DNuHw zRvtW4KicUuK3@N7w|?6E?yrK3`%S<{gtacUc4@r!=iFV_2uM@sSt1%V4z5?D0oBu4 z7)pb2FnBN&#Td>m-cmm61l7Vfs?i0}ILJZfJA1BP7-u^*p7#4kb8H6np7c#v+SpDPUs(xyxern1oiB|Lz{!_`#N%NzhxcKhpB+C( zpfNZB7o;`&RO@2FJ=S+Xs%>}V47b)W7JWUOEN@Abyw|j zlDi-=Gr7gu`ks~;74pe0^mQVH8xOZ6gLnXTfCzOZfyPtN16zF44&ZR?-|S@EJD4dw zh;K?eGy~o`6wA5-FRupCis!!7IzCPD<;Uq*PxnZqM!XQ|W!p0Mp9eM+uWr_r6&m;{ zPeDVDKyga@14?h*d49oE$q*zFG=YQbZy(@Ep!*OYKV@kTAT;ISCn@md_$$r67BaYQ zA`Yf$7GO;73syL%hK8S*0)>Jh5Nd$?3dou-Ca&9mX64F@hX5>CFj(X2i;!M;VeiQn z!lr?C@vL4Y430p+gCg4Xbzr_!ZzG~PHyNTzySk`hXN!fI(;gha61sIpmFA-htH4vg zcwc_SXX4JC6&)u(9lmklt`wcbZ#WXosx1?~2jftQ&uFH@X4i|*D z2HP`}J|q6P=hZ`56BK!XZV{Yu-57GAdTgR7)cA~;J`z%PZPMBVrZhFoOO332xDRQK z?NkC>9SW-R5=RDKo-I2a`bWga_)@wRJ&M;}F>c{J?(=*Ma8k@-M*EHgOae>|9i z$c1y_AHNx=v*eOg?mqZa1QcEwjWiycK{OqIsW$VOm-E@Id+Q_;2az;}_U7EtVHh+g z0PHlFIScFXoAD7?d7KhRF;2F_!o`c>Zw0}x4-*LQVD{9>+$Vv}> zJA3Z;75p)X7M6C|?&;A>VV4J>Ih%7AQBV4_s5ay%og;8z?yr0t-TU?Rw;< z=~nNyuyiih$M=>&3_dTQ>GZR;i#86B0uU%&Sfoa-9AKH#;~SWmTxl9!d62V|KwJ7T zzw}%V92*3KU7#Sv^15k|v-e?p06Y$icDo6j3j=IPeRx{b`s#z>w3VG_7qUOA$6e@e zKKdwP6*-rtdzYiRO|*qe1F|>_c0o_@5}PrM5&KDi6RYFuoOB8jq&sE#MHo0LIHt{j ze15jNiQpS8#MczPU`$|sJ$qWO{J@6(ELs$%Mj7QPY74I2KY?K$Fe`!D6iBowgp+t$ zo=65QfstL912tz};3b~6dZ71JZ7UG>1n`b}Avl>M-l2FdV@- zs5YgXNrYP92JL&mD$}EGB+I->uT|TCu~*QlQMk20OVH%2h)2HXbcLQttzS1-FPnN{ zqx`^-2xZ4TCp`lWo%7lI89cJWFHMHn;ggr=J>Zqz=Hx}oX@CzvI1#(^8o>C%S0z2K zs~gTV=05!*7vuQx1)c8{ngVwt!wEzP*VbbfGTdnE`lO`D%5QL7DnlQip^9@p<>@?~ z2PZ6BIx(OI3|Ecdw>9n`+>QW-!epDhw{ai$-PxGMx=H~D7SdMTGr5HU9wJmrD@%V7 zoDe)gya$ZMK`^wB`Za@=u5gFI55Jy!ntETX#BbiXyY|9LaOak|DhSw@7+TBmaaZMV zwwyL?1I|wiu=7Dh$PkA2Ey&cT1N&~LN;OZOySeq|Y2z=w7k~KpDdPP*uaX4?PC+1< z5~qUgw+Hmg&&ffcTid#y+{hBQq;Ic%;x$HQUpO6*E8!upZ`1q*wjL=?IGZ65H2vBB zkjrro%@w^ZgX2fUoyz^Ucg=4AmdAyx4)MjUiygK7a>m2KQEStAf1GKKa|AfGh#x0r zsO0d7bL5M2Bs-n%_)5NQ8+0@C{7u4z9HSAMw6F`lEl)4~p0AOWfW6F?!QV_x{;_JF2IN;FS!4*B4H5<_e#9qFQyR^mZa@ z`b=*2?O%+WQV+SFJbG~6;5Oqh7ys;Wh^zPSv!zmtH&s?1r#(OPZ1u)IYE|=4skI^- zQcO}zSW-A4R#;3z!pjB)gJeR08~_IU3udvfIFZS5U^t%Z$+ zKL^$VD`DY)|4(pj|9=tJ`q=$l$3$Bd!@>k28Td_VnXJ{Ih`5Al-oZSz zv(JA?8pYQ--aDtUe&21ug7;a5MxES;rBX>Wechs~b^pV1`^9(9gMwHX!ZE0q+V52^ zbeBN{ko?o7)m39T1K&w&uta9BNHUgN0!-wV#J8Ze7}%D1Ry0d}-77O58RuH|`Wt?^ z;Y)*o`8SWyyOf56?D?*bThq)Z|SA&Yh_@)DG4bG<02dlc$RaD@!Ti=K`$yet~x zKg9kjzwIOpGJ4BQiKTtyp=^S*g9pnuX^IESPwwi!8{5s7H)VuOp-|DeWXur4T@w6eLFAT}^_-k4F~-mFRu3kCZL) zZ4H&ENx&=5h!WX&_ka>!i_oZ89&;==2#dcP1A*G-mBP4lid^&&_MtWd>>WzMes_;N zcZq8J_4VDS2Y@WBp4k#;R}Bo;mQ}kvL`*~CScvGGh#VuGp!=@wSMjZEc_TwymH;G{ zM;}M%m)+pmg7bP9vXQ$$TwiS1mjVq_7xb&T7rl^g?>|4re@2oi$}Mylmogm>V?oK* zVz?1V?A(Bn#y*MeV{RlK1adod-r;fKc!f&N4*fNhFz>5s)VBI(Dwf6+?eW~kqJ&t_ z{A^qsx69Pkq#lE5Z92G@M$5TI_y^ow*4RDYmq9mRUsvz3(^YY@X+dzNQ1&(+BTDZB zu2(0)h4Vq<$%_Xi2=RQhqfv1@$J>FnmC)t1Z$QNCvnxGnXl^4uLyQKUeZZuTj!HZF z>DT9}ivx5}|3Ks}NwtV!0pq|Z0@i}@hyHvQOjZeWyj61jxm1w&FD>#5uJ}IYThLfSCmC-PGV@M?!x%F~g{y7zN=96T+N#G&o$gok23#5&X<3flLo<&Kfq{K;#6B>zUi+cx;xddzwu;yQrnMPV`-B-JAT2$jhmc32UEO zSzqDvc12@zhwM>y6j3Zx0Rcs@ zV43p9x#n7X?eEy%-{j|bM!Uy#pJxZ%$|U1+jctmYN=H0Bt$G*_2a@p!{3Jy=t5WpW zf|XtV4Bz%=o#VF|HYU_)xNQ&IEWDQ!Z=3q#`$UaBlOb<5qRzl7>KSK>AY6CIlDE0* zG(`0=ofQdGKXGNA*9UC(Fgp%MS?D4T#NPI5e4H$4@pRbhJANjcPad*yYo?zELE^d7 z`=-^Jl8)PWmxtCu4ex<7>$f0aTV8yK9^8~+iOC>CWq5Ep;ZpU%xkxim9>Y(EP`~0v zN3n%G3HG?QZE&DLQ3_c^u-7smQFgL-{1&@1wvD*E3*(rzNAAqX=iD@Mu@bY1>&-L0 z;C$vIrkE|jy<=+SJPAldPTx^|rt}IAIyQHI>cL7J5Gx#oGz%~5u_sAH;cR0tj-?16 ztO0i|K30&?(Er=2DY5*N*`b0yTjdLnAn2gzU|U2t&k>rcCi1K=bM zCDwI3>p^c;!c#-yfNiSE^1BvJfkDkKwKqyp5(@yrHgWLbx)4lq0ijuD4(6faMXp`~ z)J~8g{Ue4zh2@&|W`-Ftg-3F35dn&dGYaKwr5h!kYjmn{4&GHY;>52TAB(JrtK2C4 z9t9Y+_i?8&T}WMm8}ZgceAj-rNZ}uB*cS?=6g#a|x%4M~@7{RYnED0ekTP~Mts@4<8-=|VKb;uH^i#THBrF;z(4rdOC(!;=+ytrkdomSLOEP@=Zi>wN{N^^f?#f>|>vqbjs&I zOWJ>d4Sve-I7ZAo_{f6!Dx7*khVcAS-D$IJYZ$~=hMhvp++(b3Qm6b zb9~qP>RHe+)XAv~V>!Ev!ur@tmYKnvvL=(_5R3IX-a2e{C5mpPoDDrpVxXljdGe4%}D_n^V5O2lD#n0(F?x zn%KArp@V&^h3+B|wOdZ!WENqzn75{B30Gg3qifIo_0Z$VU)nZ6Oa{`afDd(1sNd{4 zH5#Rrw_3e${=$A^_twdA^hJlp^57gzR%dCwB&ox65vtR*s+&jR_QJYmufb)`s!d*j z0utM*0BOcGx#~JbRi5#j^fA}vGeu}S^is(Q4ktrqWmm;hZxFls@z)@Ex;@Peu^#739LwlIWxenL}CkGc6XhFZHgp%eOoMjb{hwvxswoSTgl9jvMnGw|aeDzOL2ip2xAOaU=e#X!^&8`%#= z`+mZI>j|p~1LseQU9OC;ka2b26BZ;u@PNBnCdmJ5tWDqXOg&sPH9EkHB1lW>%u7_{Lq2Ix^e&~Xoudn=GCB4`h1fZ_Pm1bzY4-0+4u zwuV*z%v_g+m)>xpYHW`$K{mD>BZ^ z?afCVi2r6^1aLT42FOQfGoy9R`Pt4J;Oi2ZQiM!rfaPcc1y#zXBOBT7EAxhWKIIw8 zz$J_H!p1~4BL)qrcSP`D4Hx;NZ>f1ZMkJkfB(?xqcyT0?sb$VAH1A38+Ud>p(`Gag z7h>eLD-nJIxp}g=SbxAwR_mz`LJ=k+&B*0j$!&AW{`?u(EWKFFpP;iN>LwfAypT5z z&*zlQuhz@oT0VC%KmTFAg-OkUT=X+A^b|rL4B=%QcdF#3hrly(qGz&9M{~Ik!bO!D zBX51<6`+Cc<@+kd$f@oZF1@ho5j2s^2blSRcV^%r*-Wt^&T%tkIkW4=`}wUkY|l0z z&uh5P3Lbs+g7&5+I1U`X>_YDf$vQ>@7FZoTno5RhieAogIz$wF7A≻QW67mX@8~ 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%0D3%OEt)m@ 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 E0&R41YybcN diff --git a/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example4.gif b/vim/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example4.gif deleted file mode 100644 index 062e0ca7137ebc374ea2f1116aa0eac7a3f8128f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 545119 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

    X#)=$o_r^b7zAeuJra??KDX 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 z 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 z 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

    52tLJ z4ncS;H223+){!eQ>JoxwW2vOH;^e#{M17q`+W^drcLcWL+Un*; zmvc27mAOW3QE3AK-eQ`7F)V-_fq+o13st}clnDiY7 z$SW#1_4a&{vMN~co?4~Y0&x!3CMIk6N!WvpdWqpzRh|O8$@v(L}&>E^YIP< zdu`kfA=9EuV}v+ex3JSk2gr)73qUdQjg%H1z%YO!2BAS907KclXvspHsd#RW0l-i=*7XU;cLFSm zGJT?@B!fS-m~ns*?r$$et4fK+f^bso?!YO))Rdj{-6Qr=b`$^^Xqw{`VeoMJq)eHw zyTX5`5vp#0en}H(N|yV!;^ilF3ci3;&0|BKn(E5BU{1AcrUH#@W*6^JiU^X^s7tI4gmdwZW`fvCAo43_B%0o!r5frzI& z%?$jAU9pa5ZmIr;6DuO;G+)Z*_PO?q?@Qm2gV481HOTz50J+W+rLmllmHH_2Iz)^N zwMrK=Fh5{Ow!ebiRwba1Vo@+Y7`8^{K>JBk>4(MNk?cri$$&l2kti z!Voy2#M_{Zle^$CBY})Ge4s|g2TX$3q!(n;1jYUTRoatA$z0eCW=X%&;2lAn_22kB zjXAi)+`;1X1ZN{^0FG%Vho75SSG1%ALU{aek%EB?nF;JEQRClhooOdtuA+EIKP(5+ zd6UQNI_8{rKcb2Oh>}LYB)jv?*W=Nk#Z1sg?&nM8$2YvyMsPsN=v4qKr?y48$&`yC zlt;enb;p7Uas`i-f4<^$tORAa;J%)B7(c#n@oI+L`$}!{Z6>}16xZnGF`tH=&t}+c ze}h>IyP-^OvwK7&yE7jC$;aK)0{`LmZUYvhs*PoABCJf+o3YXf#WtPX;5mt*U@9M%w%8Clp61wd+Odf3}D}1(j+Q*|W4Fhu}gEcV_Qw-$J zF1WV)rC62^jfc%Q?DILo7hgDp#OZB3q|HoH0w$~;DWp6?*#LXeG87|WYAClXneaT% z@HieeG5WAA=^z5$5TX<|_I=}CAR@gM0!sn=0}v3xCtw6Divf`=T}s{O04YDQ+Mxn* zSBk~%0szY9Eiwdmje|o&_DbIgj0Xy@h;SwcGgrR)nFu_50H#EtGR6f#mG^*ouyBm} z4>eBPBWMn7#{IGdqAu6mzjAv2O~^h^x)lI0m=-2Em5cT_k@WqpJyA@$Pwpk09U zv!InVikn-}-U!&CiU$y}=?_8j25~Op5rfY>Do-6Y*J2Y^$)keg?>_;EV*p|R_@(J^ z87gPffxvJ(#A?KBfu(lFs0fMtZ8{`~5Q+{3O0TIwEgrG{4lD)dwI@B$xyR@*e>QU=g60 za8)D#ohPNl*lv45Z9U#lV?l!cG*$3dhlQz6Q+1ctqY;S2CtQ*`w*bx&Pl85myb({5 z4e-vGC&K~?VF3O{Es%Tt#?8~$9?6%nfifYai!#GosWVHiJTO0KpLJ!fDt}W0p*0>)RxQM7ZZ>B?3A!koWuuD>3yM> zl$D_cz6CrNgW*|G`+P%yl?{q^cY$jFgbE4b!jcf~Le8I}t27D*-CkFua7L{~GaBa9 z(5Jr*u=&Le?k-C0O}*6RMByQMARM~@H~ba^hNoPa_u`8u=dS(tLUn6#U}j1fUifUs zA2XU;0NpKm3@O4LnjtBGLH_xxCdfm{1JFuo?vdyE7c)*YzU~x2;_edcNShz z{_VPdreNp+X%L2P7(yBy>6VZdr9nVMKm@FzyF0|8OS(fDLK*}?K~NY0X%GPkK{=zp z-+SJ7?{}ZI_S);LbN+|t`L64}ulxF3)F3jSwbG|t>8}RvEToEXnRzAhWoKLfabp1% z3{(PbRxt%-`F&I=cEtgREdj`EYIErz5@^W%*XV?S=uvY_4gZCT2sMOHijwwi5ph2X z8_)oK_1i|MbV33*kY)R$nidaI^@QjnVIA+R2nD}vXwYbW^2dlQ@o|6y1Jyyn#u;4l zzhtMDg}IbJp;S*l8b}#b=jJu2yUkxxQ7$v8;VO))e_3>%HG2WXgM^5(KySRG;U^RU z9Y20skoLf(;JWOCx>wRyL*lEmBANM{plZR{H)eq6f3qej^ zo1E~}ODe=~)A%NA1{q_ZAKac%zo$_Vz&sGjA=>1DpOTZZV8QZmNfcZK54G`x8)!m< z2<`I;5C<8kESAKQF1~lz!DQ8pBl^mwYTdorb1j5@yPBsvEABb5EX{n+A;U?au*symP%V6)gBkQ%O_EPEw=Y?R-*9QbTm$<|v&RM{?|2^X zXWwXagw>0Jw2re|PBN8Yt_ud~B_?2io>p=XSxV3~x_3 z&q#XNuv~hBnB$E>7L=pIku#y^w!sbHuL1lON3;x}IUn1p58G3i>uVweYcpo2!Yziu-<-M|<;`d8|cuWkdqUqJgT z(C>un!47R#85yA^N*#j{MYP%Gl;7nWP!0ny6w%U~HmHb%_`8Gn5_(wxY0+;uh{C{y z7#_M8WI`J7Lw>jd5^mxNcbJBTAjTf4f@6`j*=Wv6RE1M2NNccoXs}o6;{Z|S=zV5? zPq1r%z%cos9ruH$g78)i7q3wru~FX1$7&^^ypz%ZL^bKM)^OrRx|O^7ZLPXU6AaWL z9Y(hFPQVj<9S2-O!hV>I?(9O0JwudM>qyBb1W~ZF$Ob49qBstyI8Tioc|Rq8tt$d1 zLAy`_@1i%@xA@M}>E1i#&K2vG4a6w67#UB*PXlO;SEP@gswBX+mj+)qK?c&eMZOIp zG=1JmHUwUD3VR$)6`DzB>IP2$8YShaJlpEd(m|e=N4p;@9f1w!faSR+$8fM@FxVIY z8Mp{RM7S45*{!k65Th{$A|2Ak1L8`PXiFFu5*Dse2vsk6;tC#4vpU>*bXTXI^u_dm zI#j<9usaRsFqpMv47*Gg4L+O#GYTDFd`AL%6KG~DG5Vk`Hs1M@x2iVS$JAgthguE_ z%JT&$h65lxI4&K^ha84#x!02UJk9u!K-|C_JPT(0bgK7>Nr{K$F%<&_3Pro`%YhddVenK>l${=cO6F-APhh zf+)h;$mX+n0_-XZ%!Pw$j(a~#;}%PU3Dtn_nLluN1@2c9le2schKN!cEGx%>R4JDw zLayAj_N78X`{*07_up%ZxPWcI>L@5*!WSzx=uHoh3Ic2>Z~=+~D2?z1hoBx?^6eb5n=42ur4--d26L(M!xRFIHo zN)IW3*${i_!cX903P5Ob-7(i+gnGkK)Ld&5eOYwXxp6}xMc2q7AlDH(`)Ygk*E!Uz zZjNQ#n>rS1frCcn!tw^BZ}&o1a$ywX;E_AhULjjfJFO$Hz};Cxc&`oRU!XHel{E>l z1R|@y2_%e2RRusElUlB-L`LYHm9a0n_#HkhOaiGc`WhRa`=Zo1n)2J74Gw0L}w zvl%pRe3*%8zIh%2ws@up7#N}FUGO#<1r14n1SPaV(Ox3sK#Wca6+m=D3~qS^ zF8mlPiiXe1a$Y=wr?<+m16F|$SqYIzc8ugF-^nDs;oUFGz$XC!=90Of~|94 zSMVSSYG138)vtIl%BEXqVTN9XiS+v`pX-i3afv>xzQ&kIPRzmn?qQTUj`SHz9gQS6x+w+{*5Mn&u1@0316exw{9%8lhr4oNghf_BkJrI+v z;hB7}vtb9_lvVn`ketfP;4*puap??TIsjh#g7cIlpSyd#eqtG5PeqK8ejXrrpGuxF z%$7q%;yt^l1u@(NfzVeG5s{PQi{?|H=imeY2qcM%MIk~{6a|J5AwVQ-Y$;eU5w{M7 zf?yC)3Y?gYhzQ(VOblrT7p8RLy1KFQObko|>r4CQIjo1~4J#v>FnwSboo8NTRX|VfH6#-o;;Ru zK$wmbhp`or=Hjq6$su$}sCFbD8+PxdBU&JVB=VV4#%<}(p=?+jl!n_{vKOI7`z-{K z8)K{wrN$^jskhPSUcLRPb8o7vmvlc|b4%KlHIVJ^+S8G%Lxtc~(n#%d1i-Wf4F{n(+g20-$IzrH3iIajDmQEu^dvFiO~K>SEWj)jL_ZeVFO0~6yrc}&*jZtR#LIP zV_{O^h8hTWs&9E}eIE?z2V_~67pqHLv$1t_;FG&XlAysR_j$|&j4n9iKGgx|q>mJV zeCij6JX8F}s!_z6rh;7(7j&CIR8UkXErm^T4~JYY8Unfd*&a*^78Zx}t5wq*uQxJd zP6}X)_5r5PZ)z8Vgv=;6hM{+%l8*MB;H#i|s?j$U;xm|B5*ijNh*!;M0fsCkhd%ps>cem6?XrHe$_AhhTko>@OQi^LTP(cq6o zo6TvzkJ}fn`pkd5V(I2#@1cBs<*pRA_8kKQk<87}N)N`ixu3^}FRB2Kh$Q|S4zGx$ zUyD@T3-x3t=hYh2I@IPIP6iqM2t|%p=F^!Vt(ny_ybfI?nvBfS z*zv#?-6ay)fl0b>n+_nxz&~zJV_&^2b?x?@fXD+|HEk2+SlpI;+WLsG`MS1w6ISY6 z4xpj zN3<{nf}VO@BDUV(4HS+*Q{Z6TkL0flN0AeeSUgbfEkf9`+1d8&-Kz-g8h8HAh=zKY zWHI#O3;ERqXm&q$j^3jbBH3m4GPPs9q;w%tszMoYlO~u?-nQfllOClMnm`%Wj~38# zC0F)L$x11K31dJBeXRhQ!5!mQsz_5O=7};tk+{lweJPXM{V|K;Zd{988um*;(7||O z#&XvA@yt$TFPQP=8(cou`{kWQca*`NH}vHJ@@u{MUP$=bJjm5$GTLoQ*olFnQj@#XHQmq~GCc$4iTZET3e$+%wBmUw=6sCi2=w?*) z2eJxvDTUO+7%T}zY2F1FHGpvd3orVhOv{=RN`!Ys4n}XgzqGSDf34OGm^3 zdEjk);=LV)S_4U$Jsy8n=M!$Ke>y?ep6a;jJ9_%ba!y|8^Xu+_QHib}KLUi;Qk5xy z`(z%>VL>d)U9e|1HpiUYaP?#Q$4`G&Uez^9c|I%g=GOePYM7u6IToLVT1+eSU>eU_J)zS}uRo^Qxjx;>9(%yM47@J7rOO zyw2yRP~ZJkhMCHMNv_5NAR!dcz~6xCS-^qdeFYH0z>wUbenZS~x@|p0^F?UaC#&pV z2VDc-t0*kVT(3yYT+&qd?sov(%VdUC1~5Eanse(v*PZ)*yX>(Yui)W@p{;z7>5PT3 zvCY$d`=LU(GMx4^)rqIS@i%%IaUBM7MuRRmUZxuiA76b+{ODnBfBW*~V>V8e^s*47b`T^{3A5f5C*uKH!-FUrBRJ?9A1h(~Wer_5<2&B|n5{w@KA~g`|v{m$F zxb2n(?uG(BD*|u9kRZuH*ZM?##OEMa!6ssvidxSuLD zQqGeWh2VewU5yXrHP=kn;}X-K5i=wnsIg*8-@;Xyp>e4{khM|u>yoLFtR=!gTGl)0 zv9ZX$OUyvVEuE5hy?$9qMlHhkPc6%6r7)vqnJ#7=D#DMBq0GEO8|Z8k>@a~P75_{U zY9IQ6-yd%ShGoJU5TGRo@H@1}17h7XJk@iWuzUt;3X7Nlb6Jv5CAw0jNoopI4U}gW z@)=JC$0w~BxgPgHAJUo(+L9$shd-Nkea92Akz&m(;TGYSR$LO{Mhz5aTw9`zB|o6I zH;n8KkId2pzKGKY??R5RN8O2p4M{(meXsc`O*|g(mylAR{=W>)@sq zQUL>~1n%hq0wKH$Wldl;v$gHkjM2tIzr(ZoYhz|7V}3AF_<2)IU*{|w7Zj*byNVWC zKctbX0TruhEsSUCpw4N*D6nw?1z~x@jRuE#xmZHu(Q;WD23g-{SdV2rB_ZZ#j297D5N{gWcxaKJ;hqm0N%Vow=f?UBY zHE?;R+Y&Y)0i0TV8I8GQSZ7TxiEDhLCxHi_7;Xl;g2=ldi2b4kWz^0uG$DZ^FtKuK zgd&f`!SI7J@8^7JS0k;u@FGv;imqE0nFbVbNCEcuu9;)AU;De5u;I2rZ@Y5=|7u7zLBWL-XFNetUU75}BK&CW3*M2tp_@ z`2yNWO^tMo*ouD5Bw=Mg$f{MYda&p?>*zgm@(KRvaVPUyC>aW}MOs;jhi(m3_1lZg zlw(sJlTOSpmidsB(LtDTRZlG`xbx(&OR=@H(C%Q*x5pgowyf2Wr4op0NmSXi(Rp=p z6ctr|H4hXuKBaV;0RH7#{*)OKhQZW)znJA&u8-6)NUu<0)RqdD(e&neC6y-fuGl=Q zUcS9vanqn{{Hi^u*n+dzDX+*W@uoS(g?`t#0VlWc793-k)`>1k)h-cpE@9!b@n;rM zvQ=oKWsOU_;12~|1&D^|g#5ku;na^2=&Y(zT^OZiQ>=g5>HL$fL zh=0D07A9ZL_hD>UeqgjqV{#lXp&)|@;2&>F8mc&U4beFv?GmKwag{S@LiIE28-YOP znIvimA$kl{WEVcQk^i1lJ}DbJ8-@HR*gWq`rjIjSEN2aGyuj>Fmn(lx6q!v@L(^jK z8Af;7_939U*n#`UMlDN%<%6Ua?jPV4`@4lW=;VXUz=wRby){SD)a!vzU$U0A<%~0$ zR*$({#tM1niuj9Go^PyFT&&uhoGz0aQeN8CicDy-nX79Qw-z4;OR|t$5~7xwtB2>{ zNMGPSW9YAKlqsU<(~=nlQIKwDde#I+10njm%+!>j5a-X~mr{ER8gKfaLkgl8F7n%myBR6g%5y4`zNdMQ=GH%x$T z8{f^ZTg$`rS|H~#1)6Gc+0+zy*>?_LLBRsk^qq3(vSoYKSWWCD+Fz$DX)Z$bVxSz3 zbmX-qES`F6<heF?kQJvPu4ekqPZ+BXU=gZO84hzS-LfAVFl%jI^HYGGeI#E(3_6 zCv1x7mXo-#=WLpZkS~uSZBcy&g())43CIirDt*pj`UVq7X?tDNg>W?z#Gy9bHq@-f zg*@T;)E>YJfG7N+>Ug#zy5{&t+$NqcDNL`kD%o?roOovfd3P|uaS_UeP PvTZ{x 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

    _|YTUe823|6=KbuypC(2 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 ZT4(N(expand_region_expand)') - nmap + (expand_region_expand) - vmap + (expand_region_expand) -endif -if !hasmapto('(expand_region_shrink)') - vmap _ (expand_region_shrink) - nmap _ (expand_region_shrink) -endif - -nnoremap (expand_region_expand) - \ :call expand_region#next('n', '+') -" Map keys differently depending on which mode is desired -if expand_region#use_select_mode() - snoremap (expand_region_expand) - \ :call expand_region#next('v', '+') - snoremap (expand_region_shrink) - \ :call expand_region#next('v', '-') -else - xnoremap (expand_region_expand) - \ :call expand_region#next('v', '+') - xnoremap (expand_region_shrink) - \ :call expand_region#next('v', '-') -endif - -let &cpo = s:save_cpo -unlet s:save_cpo diff --git a/vim/.vim_runtime/sources_non_forked/vim-flake8/LICENSE b/vim/.vim_runtime/sources_non_forked/vim-flake8/LICENSE deleted file mode 100644 index 4380242..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-flake8/LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -Copyright (c) 2014, Vincent Driessen -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - diff --git a/vim/.vim_runtime/sources_non_forked/vim-flake8/README.mdown b/vim/.vim_runtime/sources_non_forked/vim-flake8/README.mdown deleted file mode 100644 index 338e445..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-flake8/README.mdown +++ /dev/null @@ -1,199 +0,0 @@ -vim-flake8 -========== -`vim-flake8` is a Vim plugin that runs the currently open file through Flake8, -a static syntax and style checker for Python source code. It supersedes both -[vim-pyflakes](https://github.com/nvie/vim-pyflakes) and -[vim-pep8](https://github.com/nvie/vim-pep8). - -[Flake8](https://pypi.python.org/pypi/flake8/) is a wrapper around PyFlakes -(static syntax checker), PEP8 (style checker) and Ned's MacCabe script -(complexity checker). - - -Installation ------------- - -Make sure you've installed the -[flake8](https://pypi.python.org/pypi/flake8/) package. - -If you use vim >= 8, install this plugin with: -``` -mkdir -p ~/.vim/pack/flake8/start/ -cd ~/.vim/pack/flake8/start/ -git clone https://github.com/nvie/vim-flake8.git -``` - -Otherwise, install [vim-pathogen](https://github.com/tpope/vim-pathogen) -if you're not using it already. Then, simply put the -contents of this repository in your `~/.vim/bundle` directory. - -Usage ------ -1. Open a Python file -2. Press `` to run `flake8` on it - -It shows the errors inside a quickfix window, which will allow your to quickly -jump to the error locations by simply pressing [Enter]. - -If any of `g:flake8_show_in_gutter` or `g:flake8_show_in_file` are set to `1`, call: - - call flake8#Flake8UnplaceMarkers() - -To remove all markers. No default mapping is provided. - -Customization -------------- -If you don't want to use the `` key for flake8-checking, simply remap it to -another key. It autodetects whether it has been remapped and won't register -the `` key if so. For example, to remap it to `` instead, use: - - autocmd FileType python map :call flake8#Flake8() - -For flake8 configuration options please consult the following page: - -http://flake8.pycqa.org/en/latest/user/configuration.html - -To customize the location of your flake8 binary, set `g:flake8_cmd`: - - let g:flake8_cmd="/opt/strangebin/flake8000" - -To customize the location of quick fix window, set `g:flake8_quickfix_location`: - - let g:flake8_quickfix_location="topleft" - -To customize the height of quick fix window, set `g:flake8_quickfix_height`: - - let g:flake8_quickfix_height=7 - -To customize whether the quickfix window opens, set `g:flake8_show_quickfix`: - - let g:flake8_show_quickfix=0 " don't show - let g:flake8_show_quickfix=1 " show (default) - -To customize whether the show signs in the gutter, set `g:flake8_show_in_gutter`: - - let g:flake8_show_in_gutter=0 " don't show (default) - let g:flake8_show_in_gutter=1 " show - -To customize whether the show marks in the file, set `g:flake8_show_in_file`: - - let g:flake8_show_in_file=0 " don't show (default) - let g:flake8_show_in_file=1 " show - -To customize the number of marks to show, set `g:flake8_max_markers`: - - let g:flake8_max_markers=500 " (default) - -To customize the gutter markers, set any of `flake8_error_marker`, `flake8_warning_marker`, -`flake8_pyflake_marker`, `flake8_complexity_marker`, `flake8_naming_marker`. Setting one to -the empty string disables it. Ex.: - - flake8_error_marker='EE' " set error marker to 'EE' - flake8_warning_marker='WW' " set warning marker to 'WW' - flake8_pyflake_marker='' " disable PyFlakes warnings - flake8_complexity_marker='' " disable McCabe complexity warnings - flake8_naming_marker='' " disable naming warnings - -To customize the colors used for markers, define the highlight groups, `Flake8_Error`, -`Flake8_Warning`, `Flake8_PyFlake`, `Flake8_Complexity`, `Flake8_Naming`: - - " to use colors defined in the colorscheme - highlight link Flake8_Error Error - highlight link Flake8_Warning WarningMsg - highlight link Flake8_Complexity WarningMsg - highlight link Flake8_Naming WarningMsg - highlight link Flake8_PyFlake WarningMsg - -To show the error message of the current line in the ruler, call `flake8#ShowError()`: - - " add binding to call the function - nnoremap :call flake8#Flake8ShowError() - - -Tips ----- -A tip might be to run the Flake8 check every time you write a Python file, to -enable this, add the following line to your `.vimrc` file (thanks -[Godefroid](https://github.com/gotcha)!): - - autocmd BufWritePost *.py call flake8#Flake8() - -This plugin goes well together with the following plugin: - -- [PyUnit](https://github.com/nvie/vim-pyunit) (unit test helper under `` - and ``) - - -Max line lengths ----------------- - -One particular customization a lot of people like to make is relaxing the -maximum line length default. This is a config setting that should be set in -flake8 itself. (vim-flake8 "just" invokes it and deals with showing the output -in Vim's quickfix window.) - -To do so, put the following into your `~/.config/flake8` file: - - [flake8] - max-line-length = 120 - - -History -------- -1.6: Deprecated configuring flake8 options through Vim settings. Instead, -advise users to use the `~/.config/flake8` config file. - - - Decprecated options: - - `g:flake8_builtins` - - `g:flake8_ignore` - - `g:flake8_max_line_length` - - `g:flake8_max_complexity` - - - New options: - - `g:flake8_quickfix_height` - -1.5: Added markers and the option to don't show the quickfix window, also split -functions into a autoload file. Added: - - - Options: - - `g:flake8_show_quickfix` - - `g:flake8_show_in_gutter` - - `g:flake8_show_in_file` - - `g:flake8_max_markers` - - `flake8_error_marker` - - `flake8_warning_marker` - - `flake8_pyflake_marker` - - `flake8_complexity_marker` - - `flake8_naming_marker` - - Functions: - - `flake8#Flake8UnplaceMarkers()` - - `flake8#Flake8()` - - Highlighting: - - `Flake8_Error` - - `Flake8_Warning` - - `Flake8_Complexity` - - `Flake8_Naming` - - `Flake8_PyFlake` - -1.4: Suppress output to stdout. - -1.3: Added the following options: - - - `g:flake8_builtins="_,apply"` - - `g:flake8_max_complexity=10` - -1.2: Added the following options: - - - `g:flake8_cmd="/opt/strangebin/flake8000"` - - `g:flake8_max_line_length=120` - - `g:flake8_ignore="E501,W293"` - -1.1: Added `g:flake8_ignore` option. - -1.0: Initial version. - - -License -------- - -Liberally licensed under BSD terms. diff --git a/vim/.vim_runtime/sources_non_forked/vim-flake8/autoload/flake8.vim b/vim/.vim_runtime/sources_non_forked/vim-flake8/autoload/flake8.vim deleted file mode 100644 index 180bcad..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-flake8/autoload/flake8.vim +++ /dev/null @@ -1,298 +0,0 @@ -" -" Python filetype plugin for running flake8 -" Language: Python (ft=python) -" Maintainer: Vincent Driessen -" Version: Vim 7 (may work with lower Vim versions, but not tested) -" URL: http://github.com/nvie/vim-flake8 - -let s:save_cpo = &cpo -set cpo&vim - -"" ** external ** {{{ - -function! flake8#Flake8() - call s:Flake8() - call s:Warnings() -endfunction - -function! flake8#Flake8UnplaceMarkers() - call s:UnplaceMarkers() - call s:Warnings() -endfunction - -function! flake8#Flake8ShowError() - call s:ShowErrorMessage() -endfunction - -"" }}} - -"" ** internal ** {{{ - -"" warnings - -let s:displayed_warnings = 0 -function s:Warnings() - if !s:displayed_warnings - let l:show_website_url = 0 - - let l:msg = "has been deprecated in favour of flake8 config files" - for setting_name in ['g:flake8_ignore', 'g:flake8_builtins', 'g:flake8_max_line_length', 'g:flake8_max_complexity'] - if exists(setting_name) - echohl WarningMsg | echom setting_name l:msg | echohl None - let l:show_website_url = 1 - endif - endfor - - if l:show_website_url - let l:url = "http://flake8.readthedocs.org/en/latest/config.html" - echohl WarningMsg | echom l:url | echohl None - endif - let s:displayed_warnings = 1 - endif -endfunction - -"" config - -function! s:DeclareOption(name, globalPrefix, default) " {{{ - if !exists('g:'.a:name) - if a:default != '' - execute 'let s:'.a:name.'='.a:default - else - execute 'let s:'.a:name.'=""' - endif - else - execute 'let l:global="g:".a:name' - if l:global != '' - execute 'let s:'.a:name.'="'.a:globalPrefix.'".g:'.a:name - else - execute 'let s:'.a:name.'=""' - endif - endif -endfunction " }}} - -function! s:Setup() " {{{ - "" read options - - " flake8 command - call s:DeclareOption('flake8_cmd', '', '"flake8"') - " quickfix - call s:DeclareOption('flake8_quickfix_location', '', '"belowright"') - call s:DeclareOption('flake8_quickfix_height', '', 5) - call s:DeclareOption('flake8_show_quickfix', '', 1) - " markers to show - call s:DeclareOption('flake8_show_in_gutter', '', 0) - call s:DeclareOption('flake8_show_in_file', '', 0) - call s:DeclareOption('flake8_max_markers', '', 500) - " marker signs - call s:DeclareOption('flake8_error_marker', '', '"E>"') - call s:DeclareOption('flake8_warning_marker', '', '"W>"') - call s:DeclareOption('flake8_pyflake_marker', '', '"F>"') - call s:DeclareOption('flake8_complexity_marker', '', '"C>"') - call s:DeclareOption('flake8_naming_marker', '', '"N>"') - - "" setup markerdata - - if !exists('s:markerdata') - let s:markerdata = {} - let s:markerdata['E'] = {'name': 'Flake8_Error'} - let s:markerdata['W'] = {'name': 'Flake8_Warning'} - let s:markerdata['F'] = {'name': 'Flake8_PyFlake'} - let s:markerdata['C'] = {'name': 'Flake8_Complexity'} - let s:markerdata['N'] = {'name': 'Flake8_Nameing'} - endif - let s:markerdata['E'].marker = s:flake8_error_marker - let s:markerdata['W'].marker = s:flake8_warning_marker - let s:markerdata['F'].marker = s:flake8_pyflake_marker - let s:markerdata['C'].marker = s:flake8_complexity_marker - let s:markerdata['N'].marker = s:flake8_naming_marker - -endfunction " }}} - -"" do flake8 - -function! s:Flake8() " {{{ - " read config - call s:Setup() - - let l:executable = split(s:flake8_cmd)[0] - - if !executable(l:executable) - echoerr "File " . l:executable . " not found. Please install it first." - return - endif - - " clear old - call s:UnplaceMarkers() - let s:matchids = [] - let s:signids = [] - - " store old grep settings (to restore later) - let l:old_gfm=&grepformat - let l:old_gp=&grepprg - let l:old_shellpipe=&shellpipe - let l:old_t_ti=&t_ti - let l:old_t_te=&t_te - - " write any changes before continuing - if &readonly == 0 - update - endif - - set lazyredraw " delay redrawing - - " prevent terminal from blinking - set shellpipe=> - set t_ti= - set t_te= - - " perform the grep itself - let &grepformat="%f:%l:%c: %m\,%f:%l: %m" - let &grepprg=s:flake8_cmd - silent! grep! "%" - " close any existing cwindows, - " placed after 'grep' in case quickfix is open on autocmd QuickFixCmdPost - cclose - - " restore grep settings - let &grepformat=l:old_gfm - let &grepprg=l:old_gp - let &shellpipe=l:old_shellpipe - let &t_ti=l:old_t_ti - let &t_te=l:old_t_te - " store mapping of line number to error string - - " process results - let s:resultDict = {} - - let l:results=getqflist() - let l:has_results=results != [] - if l:has_results - " save line number of each error message - for result in l:results - let linenum = result.lnum - let s:resultDict[linenum] = result.text - endfor - - " markers - if !s:flake8_show_in_gutter == 0 || !s:flake8_show_in_file == 0 - call s:PlaceMarkers(l:results) - endif - " quickfix - if !s:flake8_show_quickfix == 0 - " open cwindow - execute s:flake8_quickfix_location." copen".s:flake8_quickfix_height - setlocal wrap - nnoremap c :cclose - nnoremap q :cclose - endif - endif - - set nolazyredraw - redraw! - - " Show status - if l:has_results == 0 - echon "Flake8 check OK" - else - echon "Flake8 found issues" - endif -endfunction " }}} - - - -"" markers -function! s:PlaceMarkers(results) " {{{ - " in gutter? - if !s:flake8_show_in_gutter == 0 - " define signs - for val in values(s:markerdata) - if val.marker != '' - execute "sign define ".val.name." text=".val.marker." texthl=".val.name - endif - endfor - endif - - " place - let l:index0 = 100 - let l:index = l:index0 - for result in a:results - if l:index >= (s:flake8_max_markers+l:index0) - break - endif - let l:type = strpart(result.text, 0, 1) - if has_key(s:markerdata, l:type) && s:markerdata[l:type].marker != '' - " file markers - if !s:flake8_show_in_file == 0 - if !has_key(s:markerdata[l:type], 'matchstr') - let s:markerdata[l:type].matchstr = '\%(' - else - let s:markerdata[l:type].matchstr .= '\|' - endif - let s:markerdata[l:type].matchstr .= '\%'.result.lnum.'l\%'.result.col.'c' - endif - " gutter markers - if !s:flake8_show_in_gutter == 0 - execute ":sign place ".index." name=".s:markerdata[l:type].name - \ . " line=".result.lnum." file=".expand("%:p") - let s:signids += [l:index] - endif - let l:index += 1 - endif - endfor - - " in file? - if !s:flake8_show_in_file == 0 - for l:val in values(s:markerdata) - if l:val.marker != '' && has_key(l:val, 'matchstr') - let l:val.matchid = matchadd(l:val.name, l:val.matchstr.'\)') - endif - endfor - endif -endfunction " }}} - -function! s:UnplaceMarkers() " {{{ - " gutter markers - if exists('s:signids') - for i in s:signids - execute ":sign unplace ".i - endfor - unlet s:signids - endif - " file markers - for l:val in values(s:markerdata) - if has_key(l:val, 'matchid') - call matchdelete(l:val.matchid) - unlet l:val.matchid - unlet l:val.matchstr - endif - endfor -endfunction " }}} - -function! s:ShowErrorMessage() " {{{ - let l:cursorPos = getpos(".") - if !exists('s:resultDict') - return - endif - - " if there is a message on the current line, - " then echo it - if has_key(s:resultDict, l:cursorPos[1]) - let l:errorText = get(s:resultDict, l:cursorPos[1]) - echo strpart(l:errorText, 0, &columns-1) - let b:showing_message = 1 - endif - - " if a message is already being shown, - " then clear it - if !b:showing_message == 0 - echo - let b:showing_message = 0 - endif - -endfunction " }}} - -"" }}} - -let &cpo = s:save_cpo -unlet s:save_cpo - diff --git a/vim/.vim_runtime/sources_non_forked/vim-flake8/ftplugin/python_flake8.vim b/vim/.vim_runtime/sources_non_forked/vim-flake8/ftplugin/python_flake8.vim deleted file mode 100644 index dd062d9..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-flake8/ftplugin/python_flake8.vim +++ /dev/null @@ -1,55 +0,0 @@ -" -" Python filetype plugin for running flake8 -" Language: Python (ft=python) -" Maintainer: Vincent Driessen -" Version: Vim 7 (may work with lower Vim versions, but not tested) -" URL: http://github.com/nvie/vim-flake8 -" -" Only do this when not done yet for this buffer -if exists("b:loaded_flake8_ftplugin") - finish -endif -let b:loaded_flake8_ftplugin=1 - -let s:save_cpo = &cpo -set cpo&vim - -"" Highlight groups for errors -" pep8 errors -highlight default Flake8_Error - \ ctermbg=DarkRed ctermfg=Red cterm=bold - \ guibg=DarkRed guifg=Red gui=bold -" pep8 warnings -highlight default Flake8_Warning - \ ctermbg=Yellow ctermfg=DarkYellow cterm=bold - \ guibg=Yellow guifg=DarkYellow gui=bold -" PyFlakes codes -highlight default Flake8_PyFlake - \ ctermbg=DarkBlue ctermfg=Blue cterm=bold - \ guibg=DarkBlue guifg=Blue gui=bold -" McCabe complexity warnings -highlight default Flake8_Complexity - \ ctermbg=DarkBlue ctermfg=Blue cterm=bold - \ guibg=DarkBlue guifg=Blue gui=bold -" naming conventions -highlight default Flake8_Naming - \ ctermbg=DarkBlue ctermfg=Blue cterm=bold - \ guibg=DarkBlue guifg=Blue gui=bold - -" to not break with old versions -function! Flake8() - call flake8#Flake8() -endfunction - -" Add mappings, unless the user didn't want this. -" The default mapping is registered under to by default, unless the user -" remapped it already (or a mapping exists already for ) -if !exists("no_plugin_maps") && !exists("no_flake8_maps") - if !hasmapto('Flake8(') && !hasmapto('flake8#Flake8(') - noremap :call flake8#Flake8() - endif -endif - -let &cpo = s:save_cpo -unlet s:save_cpo - diff --git a/vim/.vim_runtime/sources_non_forked/vim-fugitive/autoload/fugitive.vim b/vim/.vim_runtime/sources_non_forked/vim-fugitive/autoload/fugitive.vim deleted file mode 100644 index 1106aea..0000000 --- a/vim/.vim_runtime/sources_non_forked/vim-fugitive/autoload/fugitive.vim +++ /dev/null @@ -1,6422 +0,0 @@ -" Location: autoload/fugitive.vim -" Maintainer: Tim Pope - -if exists('g:autoloaded_fugitive') - finish -endif -let g:autoloaded_fugitive = 1 - -if !exists('g:fugitive_git_executable') - let g:fugitive_git_executable = 'git' -elseif g:fugitive_git_executable =~# '^\w\+=' - let g:fugitive_git_executable = 'env ' . g:fugitive_git_executable -endif - -" Section: Utility - -function! s:function(name) abort - return function(substitute(a:name,'^s:',matchstr(expand(''), '.*\zs\d\+_'),'')) -endfunction - -function! s:sub(str,pat,rep) abort - return substitute(a:str,'\v\C'.a:pat,a:rep,'') -endfunction - -function! s:gsub(str,pat,rep) abort - return substitute(a:str,'\v\C'.a:pat,a:rep,'g') -endfunction - -function! s:Uniq(list) abort - let i = 0 - let seen = {} - while i < len(a:list) - let str = string(a:list[i]) - if has_key(seen, str) - call remove(a:list, i) - else - let seen[str] = 1 - let i += 1 - endif - endwhile - return a:list -endfunction - -function! s:winshell() abort - return has('win32') && &shellcmdflag !~# '^-' -endfunction - -function! s:WinShellEsc(arg) abort - if type(a:arg) == type([]) - return join(map(copy(a:arg), 's:shellesc(v:val)')) - elseif a:arg =~# '^[A-Za-z0-9_/:.-]\+$' - return a:arg - else - return '"' . s:gsub(s:gsub(a:arg, '"', '""'), '\%', '"%"') . '"' - endif -endfunction - -function! s:shellesc(arg) abort - if type(a:arg) == type([]) - return join(map(copy(a:arg), 's:shellesc(v:val)')) - elseif a:arg =~# '^[A-Za-z0-9_/:.-]\+$' - return a:arg - elseif s:winshell() - return '"' . s:gsub(s:gsub(a:arg, '"', '""'), '\%', '"%"') . '"' - else - return shellescape(a:arg) - endif -endfunction - -let s:fnameescape = " \t\n*?[{`$\\%#'\"|!<" -function! s:fnameescape(file) abort - if type(a:file) == type([]) - return join(map(copy(a:file), 's:fnameescape(v:val)')) - elseif exists('*fnameescape') - return fnameescape(a:file) - else - return escape(a:file, s:fnameescape) - endif -endfunction - -function! s:throw(string) abort - throw 'fugitive: '.a:string -endfunction - -function! s:DirCheck(...) abort - if !empty(a:0 ? s:Dir(a:1) : s:Dir()) - return '' - elseif empty(bufname('')) - return 'return ' . string('echoerr "fugitive: working directory does not belong to a Git repository"') - else - return 'return ' . string('echoerr "fugitive: file does not belong to a Git repository"') - endif -endfunction - -function! s:Mods(mods, ...) abort - let mods = substitute(a:mods, '\C', '', '') - let mods = mods =~# '\S$' ? mods . ' ' : mods - if a:0 && mods !~# '\<\%(aboveleft\|belowright\|leftabove\|rightbelow\|topleft\|botright\|tab\)\>' - let mods = a:1 . ' ' . mods - endif - return substitute(mods, '\s\+', ' ', 'g') -endfunction - -function! s:Slash(path) abort - if exists('+shellslash') - return tr(a:path, '\', '/') - else - return a:path - endif -endfunction - -function! s:Resolve(path) abort - let path = resolve(a:path) - if has('win32') - let path = FugitiveVimPath(fnamemodify(fnamemodify(path, ':h'), ':p') . fnamemodify(path, ':t')) - endif - return path -endfunction - -function! s:FileIgnoreCase(for_completion) abort - return (exists('+fileignorecase') && &fileignorecase) - \ || (a:for_completion && exists('+wildignorecase') && &wildignorecase) -endfunction - -function! s:cpath(path, ...) abort - if s:FileIgnoreCase(0) - let path = FugitiveVimPath(tolower(a:path)) - else - let path = FugitiveVimPath(a:path) - endif - return a:0 ? path ==# s:cpath(a:1) : path -endfunction - -let s:executables = {} - -function! s:executable(binary) abort - if !has_key(s:executables, a:binary) - let s:executables[a:binary] = executable(a:binary) - endif - return s:executables[a:binary] -endfunction - -if !exists('s:temp_scripts') - let s:temp_scripts = {} -endif -function! s:TempScript(...) abort - let body = join(a:000, "\n") - if !has_key(s:temp_scripts, body) - let temp = tempname() . '.sh' - call writefile(['#!/bin/sh'] + a:000, temp) - let s:temp_scripts[body] = temp - endif - return FugitiveGitPath(s:temp_scripts[body]) -endfunction - -function! s:DoAutocmd(cmd) abort - if v:version >= 704 || (v:version == 703 && has('patch442')) - return 'doautocmd ' . a:cmd - elseif &modelines > 0 - return 'try|set modelines=0|doautocmd ' . a:cmd . '|finally|set modelines=' . &modelines . '|endtry' - else - return 'doautocmd ' . a:cmd - endif -endfunction - -let s:nowait = v:version >= 704 ? '' : '' - -function! s:Map(mode, lhs, rhs, ...) abort - for mode in split(a:mode, '\zs') - let flags = (a:0 ? a:1 : '') . (a:rhs =~# '' ? '' : '

    aA9nnd_+8vN!favw7ooCc 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